Files
NoN-Site/nonpacks/static/vendor/blockbench/dist/bundle.js
T

16421 lines
7.9 MiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var I6=Object.create;var Nf=Object.defineProperty;var D6=Object.getOwnPropertyDescriptor;var V6=Object.getOwnPropertyNames;var F6=Object.getPrototypeOf,U6=Object.prototype.hasOwnProperty;var OB=i=>{throw TypeError(i)};var O6=(i,e,t)=>e in i?Nf(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var or=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var L6=(i,e)=>()=>(i&&(e=i(i=0)),e);var Ft=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),cu=(i,e)=>{for(var t in e)Nf(i,t,{get:e[t],enumerable:!0})},LB=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of V6(e))!U6.call(i,a)&&a!==t&&Nf(i,a,{get:()=>e[a],enumerable:!(n=D6(e,a))||n.enumerable});return i};var Vl=(i,e,t)=>(t=i!=null?I6(F6(i)):{},LB(e||!i||!i.__esModule?Nf(t,"default",{value:i,enumerable:!0}):t,i)),N6=i=>LB(Nf({},"__esModule",{value:!0}),i);var W=(i,e,t)=>O6(i,typeof e!="symbol"?e+"":e,t),H6=(i,e,t)=>e.has(i)||OB("Cannot "+t);var Mp=(i,e,t)=>e.has(i)?OB("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t);var pd=(i,e,t)=>(H6(i,e,"access private method"),t);var eR=Ft((QB,Xy)=>{(function(i,e){"use strict";typeof Xy=="object"&&typeof Xy.exports=="object"?Xy.exports=i.document?e(i,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return e(t)}:e(i)})(typeof window<"u"?window:QB,function(i,e){"use strict";var t=[],n=Object.getPrototypeOf,a=t.slice,o=t.flat?function(M){return t.flat.call(M)}:function(M){return t.concat.apply([],M)},r=t.push,s=t.indexOf,l={},c=l.toString,d=l.hasOwnProperty,u=d.toString,p=u.call(Object),m={},_=function(D){return typeof D=="function"&&typeof D.nodeType!="number"&&typeof D.item!="function"},f=function(D){return D!=null&&D===D.window},g=i.document,v={type:!0,src:!0,nonce:!0,noModule:!0};function b(M,D,N){N=N||g;var Y,ae,oe=N.createElement("script");if(oe.text=M,D)for(Y in v)ae=D[Y]||D.getAttribute&&D.getAttribute(Y),ae&&oe.setAttribute(Y,ae);N.head.appendChild(oe).parentNode.removeChild(oe)}function x(M){return M==null?M+"":typeof M=="object"||typeof M=="function"?l[c.call(M)]||"object":typeof M}var w="3.7.1",E=/HTML$/i,y=function(M,D){return new y.fn.init(M,D)};y.fn=y.prototype={jquery:w,constructor:y,length:0,toArray:function(){return a.call(this)},get:function(M){return M==null?a.call(this):M<0?this[M+this.length]:this[M]},pushStack:function(M){var D=y.merge(this.constructor(),M);return D.prevObject=this,D},each:function(M){return y.each(this,M)},map:function(M){return this.pushStack(y.map(this,function(D,N){return M.call(D,N,D)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(y.grep(this,function(M,D){return(D+1)%2}))},odd:function(){return this.pushStack(y.grep(this,function(M,D){return D%2}))},eq:function(M){var D=this.length,N=+M+(M<0?D:0);return this.pushStack(N>=0&&N<D?[this[N]]:[])},end:function(){return this.prevObject||this.constructor()},push:r,sort:t.sort,splice:t.splice},y.extend=y.fn.extend=function(){var M,D,N,Y,ae,oe,fe=arguments[0]||{},Ne=1,De=arguments.length,Ze=!1;for(typeof fe=="boolean"&&(Ze=fe,fe=arguments[Ne]||{},Ne++),typeof fe!="object"&&!_(fe)&&(fe={}),Ne===De&&(fe=this,Ne--);Ne<De;Ne++)if((M=arguments[Ne])!=null)for(D in M)Y=M[D],!(D==="__proto__"||fe===Y)&&(Ze&&Y&&(y.isPlainObject(Y)||(ae=Array.isArray(Y)))?(N=fe[D],ae&&!Array.isArray(N)?oe=[]:!ae&&!y.isPlainObject(N)?oe={}:oe=N,ae=!1,fe[D]=y.extend(Ze,oe,Y)):Y!==void 0&&(fe[D]=Y));return fe},y.extend({expando:"jQuery"+(w+Math.random()).replace(/\D/g,""),isReady:!0,error:function(M){throw new Error(M)},noop:function(){},isPlainObject:function(M){var D,N;return!M||c.call(M)!=="[object Object]"?!1:(D=n(M),D?(N=d.call(D,"constructor")&&D.constructor,typeof N=="function"&&u.call(N)===p):!0)},isEmptyObject:function(M){var D;for(D in M)return!1;return!0},globalEval:function(M,D,N){b(M,{nonce:D&&D.nonce},N)},each:function(M,D){var N,Y=0;if(A(M))for(N=M.length;Y<N&&D.call(M[Y],Y,M[Y])!==!1;Y++);else for(Y in M)if(D.call(M[Y],Y,M[Y])===!1)break;return M},text:function(M){var D,N="",Y=0,ae=M.nodeType;if(!ae)for(;D=M[Y++];)N+=y.text(D);return ae===1||ae===11?M.textContent:ae===9?M.documentElement.textContent:ae===3||ae===4?M.nodeValue:N},makeArray:function(M,D){var N=D||[];return M!=null&&(A(Object(M))?y.merge(N,typeof M=="string"?[M]:M):r.call(N,M)),N},inArray:function(M,D,N){return D==null?-1:s.call(D,M,N)},isXMLDoc:function(M){var D=M&&M.namespaceURI,N=M&&(M.ownerDocument||M).documentElement;return!E.test(D||N&&N.nodeName||"HTML")},merge:function(M,D){for(var N=+D.length,Y=0,ae=M.length;Y<N;Y++)M[ae++]=D[Y];return M.length=ae,M},grep:function(M,D,N){for(var Y,ae=[],oe=0,fe=M.length,Ne=!N;oe<fe;oe++)Y=!D(M[oe],oe),Y!==Ne&&ae.push(M[oe]);return ae},map:function(M,D,N){var Y,ae,oe=0,fe=[];if(A(M))for(Y=M.length;oe<Y;oe++)ae=D(M[oe],oe,N),ae!=null&&fe.push(ae);else for(oe in M)ae=D(M[oe],oe,N),ae!=null&&fe.push(ae);return o(fe)},guid:1,support:m}),typeof Symbol=="function"&&(y.fn[Symbol.iterator]=t[Symbol.iterator]),y.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(M,D){l["[object "+D+"]"]=D.toLowerCase()});function A(M){var D=!!M&&"length"in M&&M.length,N=x(M);return _(M)||f(M)?!1:N==="array"||D===0||typeof D=="number"&&D>0&&D-1 in M}function R(M,D){return M.nodeName&&M.nodeName.toLowerCase()===D.toLowerCase()}var j=t.pop,F=t.sort,O=t.splice,L="[\\x20\\t\\r\\n\\f]",U=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g");y.contains=function(M,D){var N=D&&D.parentNode;return M===N||!!(N&&N.nodeType===1&&(M.contains?M.contains(N):M.compareDocumentPosition&&M.compareDocumentPosition(N)&16))};var J=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function ie(M,D){return D?M==="\0"?"\uFFFD":M.slice(0,-1)+"\\"+M.charCodeAt(M.length-1).toString(16)+" ":"\\"+M}y.escapeSelector=function(M){return(M+"").replace(J,ie)};var te=g,me=r;(function(){var M,D,N,Y,ae,oe=me,fe,Ne,De,Ze,gt,wt=y.expando,rt=0,Pt=0,qi=l_(),Cn=l_(),tn=l_(),tr=l_(),La=function(Pe,$e){return Pe===$e&&(ae=!0),0},dl="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",Is="(?:\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",hn="\\["+L+"*("+Is+")(?:"+L+"*([*^$|!~]?=)"+L+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+Is+"))|)"+L+"*\\]",Do=":("+Is+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+hn+")*)|.*)\\)|)",Dn=new RegExp(L+"+","g"),Na=new RegExp("^"+L+"*,"+L+"*"),bp=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),Bf=new RegExp(L+"|>"),ul=new RegExp(Do),yp=new RegExp("^"+Is+"$"),pl={ID:new RegExp("^#("+Is+")"),CLASS:new RegExp("^\\.("+Is+")"),TAG:new RegExp("^("+Is+"|[*])"),ATTR:new RegExp("^"+hn),PSEUDO:new RegExp("^"+Do),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+dl+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},hc=/^(?:input|select|textarea|button)$/i,fc=/^h\d$/i,gs=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Rf=/[+~]/,Il=new RegExp("\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\([^\\r\\n\\f])","g"),ml=function(Pe,$e){var at="0x"+Pe.slice(1)-65536;return $e||(at<0?String.fromCharCode(at+65536):String.fromCharCode(at>>10|55296,at&1023|56320))},K1=function(){Dl()},Ay=au(function(Pe){return Pe.disabled===!0&&R(Pe,"fieldset")},{dir:"parentNode",next:"legend"});function iu(){try{return fe.activeElement}catch{}}try{oe.apply(t=a.call(te.childNodes),te.childNodes),t[te.childNodes.length].nodeType}catch{oe={apply:function($e,at){me.apply($e,a.call(at))},call:function($e){me.apply($e,a.call(arguments,1))}}}function On(Pe,$e,at,ht){var kt,Ot,oi,mi,Zt,fn,Wi,Yi=$e&&$e.ownerDocument,kn=$e?$e.nodeType:9;if(at=at||[],typeof Pe!="string"||!Pe||kn!==1&&kn!==9&&kn!==11)return at;if(!ht&&(Dl($e),$e=$e||fe,De)){if(kn!==11&&(Zt=gs.exec(Pe)))if(kt=Zt[1]){if(kn===9)if(oi=$e.getElementById(kt)){if(oi.id===kt)return oe.call(at,oi),at}else return at;else if(Yi&&(oi=Yi.getElementById(kt))&&On.contains($e,oi)&&oi.id===kt)return oe.call(at,oi),at}else{if(Zt[2])return oe.apply(at,$e.getElementsByTagName(Pe)),at;if((kt=Zt[3])&&$e.getElementsByClassName)return oe.apply(at,$e.getElementsByClassName(kt)),at}if(!tr[Pe+" "]&&(!Ze||!Ze.test(Pe))){if(Wi=Pe,Yi=$e,kn===1&&(Bf.test(Pe)||bp.test(Pe))){for(Yi=Rf.test(Pe)&&c_($e.parentNode)||$e,(Yi!=$e||!m.scope)&&((mi=$e.getAttribute("id"))?mi=y.escapeSelector(mi):$e.setAttribute("id",mi=wt)),fn=nu(Pe),Ot=fn.length;Ot--;)fn[Ot]=(mi?"#"+mi:":scope")+" "+u_(fn[Ot]);Wi=fn.join(",")}try{return oe.apply(at,Yi.querySelectorAll(Wi)),at}catch{tr(Pe,!0)}finally{mi===wt&&$e.removeAttribute("id")}}}return Ry(Pe.replace(U,"$1"),$e,at,ht)}function l_(){var Pe=[];function $e(at,ht){return Pe.push(at+" ")>D.cacheLength&&delete $e[Pe.shift()],$e[at+" "]=ht}return $e}function cr(Pe){return Pe[wt]=!0,Pe}function Jr(Pe){var $e=fe.createElement("fieldset");try{return!!Pe($e)}catch{return!1}finally{$e.parentNode&&$e.parentNode.removeChild($e),$e=null}}function jf(Pe){return function($e){return R($e,"input")&&$e.type===Pe}}function $1(Pe){return function($e){return(R($e,"input")||R($e,"button"))&&$e.type===Pe}}function Cy(Pe){return function($e){return"form"in $e?$e.parentNode&&$e.disabled===!1?"label"in $e?"label"in $e.parentNode?$e.parentNode.disabled===Pe:$e.disabled===Pe:$e.isDisabled===Pe||$e.isDisabled!==!Pe&&Ay($e)===Pe:$e.disabled===Pe:"label"in $e?$e.disabled===Pe:!1}}function gc(Pe){return cr(function($e){return $e=+$e,cr(function(at,ht){for(var kt,Ot=Pe([],at.length,$e),oi=Ot.length;oi--;)at[kt=Ot[oi]]&&(at[kt]=!(ht[kt]=at[kt]))})})}function c_(Pe){return Pe&&typeof Pe.getElementsByTagName<"u"&&Pe}function Dl(Pe){var $e,at=Pe?Pe.ownerDocument||Pe:te;return at==fe||at.nodeType!==9||!at.documentElement||(fe=at,Ne=fe.documentElement,De=!y.isXMLDoc(fe),gt=Ne.matches||Ne.webkitMatchesSelector||Ne.msMatchesSelector,Ne.msMatchesSelector&&te!=fe&&($e=fe.defaultView)&&$e.top!==$e&&$e.addEventListener("unload",K1),m.getById=Jr(function(ht){return Ne.appendChild(ht).id=y.expando,!fe.getElementsByName||!fe.getElementsByName(y.expando).length}),m.disconnectedMatch=Jr(function(ht){return gt.call(ht,"*")}),m.scope=Jr(function(){return fe.querySelectorAll(":scope")}),m.cssHas=Jr(function(){try{return fe.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),m.getById?(D.filter.ID=function(ht){var kt=ht.replace(Il,ml);return function(Ot){return Ot.getAttribute("id")===kt}},D.find.ID=function(ht,kt){if(typeof kt.getElementById<"u"&&De){var Ot=kt.getElementById(ht);return Ot?[Ot]:[]}}):(D.filter.ID=function(ht){var kt=ht.replace(Il,ml);return function(Ot){var oi=typeof Ot.getAttributeNode<"u"&&Ot.getAttributeNode("id");return oi&&oi.value===kt}},D.find.ID=function(ht,kt){if(typeof kt.getElementById<"u"&&De){var Ot,oi,mi,Zt=kt.getElementById(ht);if(Zt){if(Ot=Zt.getAttributeNode("id"),Ot&&Ot.value===ht)return[Zt];for(mi=kt.getElementsByName(ht),oi=0;Zt=mi[oi++];)if(Ot=Zt.getAttributeNode("id"),Ot&&Ot.value===ht)return[Zt]}return[]}}),D.find.TAG=function(ht,kt){return typeof kt.getElementsByTagName<"u"?kt.getElementsByTagName(ht):kt.querySelectorAll(ht)},D.find.CLASS=function(ht,kt){if(typeof kt.getElementsByClassName<"u"&&De)return kt.getElementsByClassName(ht)},Ze=[],Jr(function(ht){var kt;Ne.appendChild(ht).innerHTML="<a id='"+wt+"' href='' disabled='disabled'></a><select id='"+wt+"-\r\\' disabled='disabled'><option selected=''></option></select>",ht.querySelectorAll("[selected]").length||Ze.push("\\["+L+"*(?:value|"+dl+")"),ht.querySelectorAll("[id~="+wt+"-]").length||Ze.push("~="),ht.querySelectorAll("a#"+wt+"+*").length||Ze.push(".#.+[+~]"),ht.querySelectorAll(":checked").length||Ze.push(":checked"),kt=fe.createElement("input"),kt.setAttribute("type","hidden"),ht.appendChild(kt).setAttribute("name","D"),Ne.appendChild(ht).disabled=!0,ht.querySelectorAll(":disabled").length!==2&&Ze.push(":enabled",":disabled"),kt=fe.createElement("input"),kt.setAttribute("name",""),ht.appendChild(kt),ht.querySelectorAll("[name='']").length||Ze.push("\\["+L+"*name"+L+"*="+L+`*(?:''|"")`)}),m.cssHas||Ze.push(":has"),Ze=Ze.length&&new RegExp(Ze.join("|")),La=function(ht,kt){if(ht===kt)return ae=!0,0;var Ot=!ht.compareDocumentPosition-!kt.compareDocumentPosition;return Ot||(Ot=(ht.ownerDocument||ht)==(kt.ownerDocument||kt)?ht.compareDocumentPosition(kt):1,Ot&1||!m.sortDetached&&kt.compareDocumentPosition(ht)===Ot?ht===fe||ht.ownerDocument==te&&On.contains(te,ht)?-1:kt===fe||kt.ownerDocument==te&&On.contains(te,kt)?1:Y?s.call(Y,ht)-s.call(Y,kt):0:Ot&4?-1:1)}),fe}On.matches=function(Pe,$e){return On(Pe,null,null,$e)},On.matchesSelector=function(Pe,$e){if(Dl(Pe),De&&!tr[$e+" "]&&(!Ze||!Ze.test($e)))try{var at=gt.call(Pe,$e);if(at||m.disconnectedMatch||Pe.document&&Pe.document.nodeType!==11)return at}catch{tr($e,!0)}return On($e,fe,null,[Pe]).length>0},On.contains=function(Pe,$e){return(Pe.ownerDocument||Pe)!=fe&&Dl(Pe),y.contains(Pe,$e)},On.attr=function(Pe,$e){(Pe.ownerDocument||Pe)!=fe&&Dl(Pe);var at=D.attrHandle[$e.toLowerCase()],ht=at&&d.call(D.attrHandle,$e.toLowerCase())?at(Pe,$e,!De):void 0;return ht!==void 0?ht:Pe.getAttribute($e)},On.error=function(Pe){throw new Error("Syntax error, unrecognized expression: "+Pe)},y.uniqueSort=function(Pe){var $e,at=[],ht=0,kt=0;if(ae=!m.sortStable,Y=!m.sortStable&&a.call(Pe,0),F.call(Pe,La),ae){for(;$e=Pe[kt++];)$e===Pe[kt]&&(ht=at.push(kt));for(;ht--;)O.call(Pe,at[ht],1)}return Y=null,Pe},y.fn.uniqueSort=function(){return this.pushStack(y.uniqueSort(a.apply(this)))},D=y.expr={cacheLength:50,createPseudo:cr,match:pl,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(Pe){return Pe[1]=Pe[1].replace(Il,ml),Pe[3]=(Pe[3]||Pe[4]||Pe[5]||"").replace(Il,ml),Pe[2]==="~="&&(Pe[3]=" "+Pe[3]+" "),Pe.slice(0,4)},CHILD:function(Pe){return Pe[1]=Pe[1].toLowerCase(),Pe[1].slice(0,3)==="nth"?(Pe[3]||On.error(Pe[0]),Pe[4]=+(Pe[4]?Pe[5]+(Pe[6]||1):2*(Pe[3]==="even"||Pe[3]==="odd")),Pe[5]=+(Pe[7]+Pe[8]||Pe[3]==="odd")):Pe[3]&&On.error(Pe[0]),Pe},PSEUDO:function(Pe){var $e,at=!Pe[6]&&Pe[2];return pl.CHILD.test(Pe[0])?null:(Pe[3]?Pe[2]=Pe[4]||Pe[5]||"":at&&ul.test(at)&&($e=nu(at,!0))&&($e=at.indexOf(")",at.length-$e)-at.length)&&(Pe[0]=Pe[0].slice(0,$e),Pe[2]=at.slice(0,$e)),Pe.slice(0,3))}},filter:{TAG:function(Pe){var $e=Pe.replace(Il,ml).toLowerCase();return Pe==="*"?function(){return!0}:function(at){return R(at,$e)}},CLASS:function(Pe){var $e=qi[Pe+" "];return $e||($e=new RegExp("(^|"+L+")"+Pe+"("+L+"|$)"))&&qi(Pe,function(at){return $e.test(typeof at.className=="string"&&at.className||typeof at.getAttribute<"u"&&at.getAttribute("class")||"")})},ATTR:function(Pe,$e,at){return function(ht){var kt=On.attr(ht,Pe);return kt==null?$e==="!=":$e?(kt+="",$e==="="?kt===at:$e==="!="?kt!==at:$e==="^="?at&&kt.indexOf(at)===0:$e==="*="?at&&kt.indexOf(at)>-1:$e==="$="?at&&kt.slice(-at.length)===at:$e==="~="?(" "+kt.replace(Dn," ")+" ").indexOf(at)>-1:$e==="|="?kt===at||kt.slice(0,at.length+1)===at+"-":!1):!0}},CHILD:function(Pe,$e,at,ht,kt){var Ot=Pe.slice(0,3)!=="nth",oi=Pe.slice(-4)!=="last",mi=$e==="of-type";return ht===1&&kt===0?function(Zt){return!!Zt.parentNode}:function(Zt,fn,Wi){var Yi,kn,Vi,Ui,Vr,ir=Ot!==oi?"nextSibling":"previousSibling",kr=Zt.parentNode,Ds=mi&&Zt.nodeName.toLowerCase(),vc=!Wi&&!mi,dr=!1;if(kr){if(Ot){for(;ir;){for(Vi=Zt;Vi=Vi[ir];)if(mi?R(Vi,Ds):Vi.nodeType===1)return!1;Vr=ir=Pe==="only"&&!Vr&&"nextSibling"}return!0}if(Vr=[oi?kr.firstChild:kr.lastChild],oi&&vc){for(kn=kr[wt]||(kr[wt]={}),Yi=kn[Pe]||[],Ui=Yi[0]===rt&&Yi[1],dr=Ui&&Yi[2],Vi=Ui&&kr.childNodes[Ui];Vi=++Ui&&Vi&&Vi[ir]||(dr=Ui=0)||Vr.pop();)if(Vi.nodeType===1&&++dr&&Vi===Zt){kn[Pe]=[rt,Ui,dr];break}}else if(vc&&(kn=Zt[wt]||(Zt[wt]={}),Yi=kn[Pe]||[],Ui=Yi[0]===rt&&Yi[1],dr=Ui),dr===!1)for(;(Vi=++Ui&&Vi&&Vi[ir]||(dr=Ui=0)||Vr.pop())&&!((mi?R(Vi,Ds):Vi.nodeType===1)&&++dr&&(vc&&(kn=Vi[wt]||(Vi[wt]={}),kn[Pe]=[rt,dr]),Vi===Zt)););return dr-=kt,dr===ht||dr%ht===0&&dr/ht>=0}}},PSEUDO:function(Pe,$e){var at,ht=D.pseudos[Pe]||D.setFilters[Pe.toLowerCase()]||On.error("unsupported pseudo: "+Pe);return ht[wt]?ht($e):ht.length>1?(at=[Pe,Pe,"",$e],D.setFilters.hasOwnProperty(Pe.toLowerCase())?cr(function(kt,Ot){for(var oi,mi=ht(kt,$e),Zt=mi.length;Zt--;)oi=s.call(kt,mi[Zt]),kt[oi]=!(Ot[oi]=mi[Zt])}):function(kt){return ht(kt,0,at)}):ht}},pseudos:{not:cr(function(Pe){var $e=[],at=[],ht=p_(Pe.replace(U,"$1"));return ht[wt]?cr(function(kt,Ot,oi,mi){for(var Zt,fn=ht(kt,null,mi,[]),Wi=kt.length;Wi--;)(Zt=fn[Wi])&&(kt[Wi]=!(Ot[Wi]=Zt))}):function(kt,Ot,oi){return $e[0]=kt,ht($e,null,oi,at),$e[0]=null,!at.pop()}}),has:cr(function(Pe){return function($e){return On(Pe,$e).length>0}}),contains:cr(function(Pe){return Pe=Pe.replace(Il,ml),function($e){return($e.textContent||y.text($e)).indexOf(Pe)>-1}}),lang:cr(function(Pe){return yp.test(Pe||"")||On.error("unsupported lang: "+Pe),Pe=Pe.replace(Il,ml).toLowerCase(),function($e){var at;do if(at=De?$e.lang:$e.getAttribute("xml:lang")||$e.getAttribute("lang"))return at=at.toLowerCase(),at===Pe||at.indexOf(Pe+"-")===0;while(($e=$e.parentNode)&&$e.nodeType===1);return!1}}),target:function(Pe){var $e=i.location&&i.location.hash;return $e&&$e.slice(1)===Pe.id},root:function(Pe){return Pe===Ne},focus:function(Pe){return Pe===iu()&&fe.hasFocus()&&!!(Pe.type||Pe.href||~Pe.tabIndex)},enabled:Cy(!1),disabled:Cy(!0),checked:function(Pe){return R(Pe,"input")&&!!Pe.checked||R(Pe,"option")&&!!Pe.selected},selected:function(Pe){return Pe.parentNode&&Pe.parentNode.selectedIndex,Pe.selected===!0},empty:function(Pe){for(Pe=Pe.firstChild;Pe;Pe=Pe.nextSibling)if(Pe.nodeType<6)return!1;return!0},parent:function(Pe){return!D.pseudos.empty(Pe)},header:function(Pe){return fc.test(Pe.nodeName)},input:function(Pe){return hc.test(Pe.nodeName)},button:function(Pe){return R(Pe,"input")&&Pe.type==="button"||R(Pe,"button")},text:function(Pe){var $e;return R(Pe,"input")&&Pe.type==="text"&&(($e=Pe.getAttribute("type"))==null||$e.toLowerCase()==="text")},first:gc(function(){return[0]}),last:gc(function(Pe,$e){return[$e-1]}),eq:gc(function(Pe,$e,at){return[at<0?at+$e:at]}),even:gc(function(Pe,$e){for(var at=0;at<$e;at+=2)Pe.push(at);return Pe}),odd:gc(function(Pe,$e){for(var at=1;at<$e;at+=2)Pe.push(at);return Pe}),lt:gc(function(Pe,$e,at){var ht;for(at<0?ht=at+$e:at>$e?ht=$e:ht=at;--ht>=0;)Pe.push(ht);return Pe}),gt:gc(function(Pe,$e,at){for(var ht=at<0?at+$e:at;++ht<$e;)Pe.push(ht);return Pe})}},D.pseudos.nth=D.pseudos.eq;for(M in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})D.pseudos[M]=jf(M);for(M in{submit:!0,reset:!0})D.pseudos[M]=$1(M);function d_(){}d_.prototype=D.filters=D.pseudos,D.setFilters=new d_;function nu(Pe,$e){var at,ht,kt,Ot,oi,mi,Zt,fn=Cn[Pe+" "];if(fn)return $e?0:fn.slice(0);for(oi=Pe,mi=[],Zt=D.preFilter;oi;){(!at||(ht=Na.exec(oi)))&&(ht&&(oi=oi.slice(ht[0].length)||oi),mi.push(kt=[])),at=!1,(ht=bp.exec(oi))&&(at=ht.shift(),kt.push({value:at,type:ht[0].replace(U," ")}),oi=oi.slice(at.length));for(Ot in D.filter)(ht=pl[Ot].exec(oi))&&(!Zt[Ot]||(ht=Zt[Ot](ht)))&&(at=ht.shift(),kt.push({value:at,type:Ot,matches:ht}),oi=oi.slice(at.length));if(!at)break}return $e?oi.length:oi?On.error(Pe):Cn(Pe,mi).slice(0)}function u_(Pe){for(var $e=0,at=Pe.length,ht="";$e<at;$e++)ht+=Pe[$e].value;return ht}function au(Pe,$e,at){var ht=$e.dir,kt=$e.next,Ot=kt||ht,oi=at&&Ot==="parentNode",mi=Pt++;return $e.first?function(Zt,fn,Wi){for(;Zt=Zt[ht];)if(Zt.nodeType===1||oi)return Pe(Zt,fn,Wi);return!1}:function(Zt,fn,Wi){var Yi,kn,Vi=[rt,mi];if(Wi){for(;Zt=Zt[ht];)if((Zt.nodeType===1||oi)&&Pe(Zt,fn,Wi))return!0}else for(;Zt=Zt[ht];)if(Zt.nodeType===1||oi)if(kn=Zt[wt]||(Zt[wt]={}),kt&&R(Zt,kt))Zt=Zt[ht]||Zt;else{if((Yi=kn[Ot])&&Yi[0]===rt&&Yi[1]===mi)return Vi[2]=Yi[2];if(kn[Ot]=Vi,Vi[2]=Pe(Zt,fn,Wi))return!0}return!1}}function xp(Pe){return Pe.length>1?function($e,at,ht){for(var kt=Pe.length;kt--;)if(!Pe[kt]($e,at,ht))return!1;return!0}:Pe[0]}function Py(Pe,$e,at){for(var ht=0,kt=$e.length;ht<kt;ht++)On(Pe,$e[ht],at);return at}function kp(Pe,$e,at,ht,kt){for(var Ot,oi=[],mi=0,Zt=Pe.length,fn=$e!=null;mi<Zt;mi++)(Ot=Pe[mi])&&(!at||at(Ot,ht,kt))&&(oi.push(Ot),fn&&$e.push(mi));return oi}function ou(Pe,$e,at,ht,kt,Ot){return ht&&!ht[wt]&&(ht=ou(ht)),kt&&!kt[wt]&&(kt=ou(kt,Ot)),cr(function(oi,mi,Zt,fn){var Wi,Yi,kn,Vi,Ui=[],Vr=[],ir=mi.length,kr=oi||Py($e||"*",Zt.nodeType?[Zt]:Zt,[]),Ds=Pe&&(oi||!$e)?kp(kr,Ui,Pe,Zt,fn):kr;if(at?(Vi=kt||(oi?Pe:ir||ht)?[]:mi,at(Ds,Vi,Zt,fn)):Vi=Ds,ht)for(Wi=kp(Vi,Vr),ht(Wi,[],Zt,fn),Yi=Wi.length;Yi--;)(kn=Wi[Yi])&&(Vi[Vr[Yi]]=!(Ds[Vr[Yi]]=kn));if(oi){if(kt||Pe){if(kt){for(Wi=[],Yi=Vi.length;Yi--;)(kn=Vi[Yi])&&Wi.push(Ds[Yi]=kn);kt(null,Vi=[],Wi,fn)}for(Yi=Vi.length;Yi--;)(kn=Vi[Yi])&&(Wi=kt?s.call(oi,kn):Ui[Yi])>-1&&(oi[Wi]=!(mi[Wi]=kn))}}else Vi=kp(Vi===mi?Vi.splice(ir,Vi.length):Vi),kt?kt(null,mi,Vi,fn):oe.apply(mi,Vi)})}function wp(Pe){for(var $e,at,ht,kt=Pe.length,Ot=D.relative[Pe[0].type],oi=Ot||D.relative[" "],mi=Ot?1:0,Zt=au(function(Yi){return Yi===$e},oi,!0),fn=au(function(Yi){return s.call($e,Yi)>-1},oi,!0),Wi=[function(Yi,kn,Vi){var Ui=!Ot&&(Vi||kn!=N)||(($e=kn).nodeType?Zt(Yi,kn,Vi):fn(Yi,kn,Vi));return $e=null,Ui}];mi<kt;mi++)if(at=D.relative[Pe[mi].type])Wi=[au(xp(Wi),at)];else{if(at=D.filter[Pe[mi].type].apply(null,Pe[mi].matches),at[wt]){for(ht=++mi;ht<kt&&!D.relative[Pe[ht].type];ht++);return ou(mi>1&&xp(Wi),mi>1&&u_(Pe.slice(0,mi-1).concat({value:Pe[mi-2].type===" "?"*":""})).replace(U,"$1"),at,mi<ht&&wp(Pe.slice(mi,ht)),ht<kt&&wp(Pe=Pe.slice(ht)),ht<kt&&u_(Pe))}Wi.push(at)}return xp(Wi)}function By(Pe,$e){var at=$e.length>0,ht=Pe.length>0,kt=function(Ot,oi,mi,Zt,fn){var Wi,Yi,kn,Vi=0,Ui="0",Vr=Ot&&[],ir=[],kr=N,Ds=Ot||ht&&D.find.TAG("*",fn),vc=rt+=kr==null?1:Math.random()||.1,dr=Ds.length;for(fn&&(N=oi==fe||oi||fn);Ui!==dr&&(Wi=Ds[Ui])!=null;Ui++){if(ht&&Wi){for(Yi=0,!oi&&Wi.ownerDocument!=fe&&(Dl(Wi),mi=!De);kn=Pe[Yi++];)if(kn(Wi,oi||fe,mi)){oe.call(Zt,Wi);break}fn&&(rt=vc)}at&&((Wi=!kn&&Wi)&&Vi--,Ot&&Vr.push(Wi))}if(Vi+=Ui,at&&Ui!==Vi){for(Yi=0;kn=$e[Yi++];)kn(Vr,ir,oi,mi);if(Ot){if(Vi>0)for(;Ui--;)Vr[Ui]||ir[Ui]||(ir[Ui]=j.call(Zt));ir=kp(ir)}oe.apply(Zt,ir),fn&&!Ot&&ir.length>0&&Vi+$e.length>1&&y.uniqueSort(Zt)}return fn&&(rt=vc,N=kr),Vr};return at?cr(kt):kt}function p_(Pe,$e){var at,ht=[],kt=[],Ot=tn[Pe+" "];if(!Ot){for($e||($e=nu(Pe)),at=$e.length;at--;)Ot=wp($e[at]),Ot[wt]?ht.push(Ot):kt.push(Ot);Ot=tn(Pe,By(kt,ht)),Ot.selector=Pe}return Ot}function Ry(Pe,$e,at,ht){var kt,Ot,oi,mi,Zt,fn=typeof Pe=="function"&&Pe,Wi=!ht&&nu(Pe=fn.selector||Pe);if(at=at||[],Wi.length===1){if(Ot=Wi[0]=Wi[0].slice(0),Ot.length>2&&(oi=Ot[0]).type==="ID"&&$e.nodeType===9&&De&&D.relative[Ot[1].type]){if($e=(D.find.ID(oi.matches[0].replace(Il,ml),$e)||[])[0],$e)fn&&($e=$e.parentNode);else return at;Pe=Pe.slice(Ot.shift().value.length)}for(kt=pl.needsContext.test(Pe)?0:Ot.length;kt--&&(oi=Ot[kt],!D.relative[mi=oi.type]);)if((Zt=D.find[mi])&&(ht=Zt(oi.matches[0].replace(Il,ml),Rf.test(Ot[0].type)&&c_($e.parentNode)||$e))){if(Ot.splice(kt,1),Pe=ht.length&&u_(Ot),!Pe)return oe.apply(at,ht),at;break}}return(fn||p_(Pe,Wi))(ht,$e,!De,at,!$e||Rf.test(Pe)&&c_($e.parentNode)||$e),at}m.sortStable=wt.split("").sort(La).join("")===wt,Dl(),m.sortDetached=Jr(function(Pe){return Pe.compareDocumentPosition(fe.createElement("fieldset"))&1}),y.find=On,y.expr[":"]=y.expr.pseudos,y.unique=y.uniqueSort,On.compile=p_,On.select=Ry,On.setDocument=Dl,On.tokenize=nu,On.escape=y.escapeSelector,On.getText=y.text,On.isXML=y.isXMLDoc,On.selectors=y.expr,On.support=y.support,On.uniqueSort=y.uniqueSort})();var Q=function(M,D,N){for(var Y=[],ae=N!==void 0;(M=M[D])&&M.nodeType!==9;)if(M.nodeType===1){if(ae&&y(M).is(N))break;Y.push(M)}return Y},H=function(M,D){for(var N=[];M;M=M.nextSibling)M.nodeType===1&&M!==D&&N.push(M);return N},re=y.expr.match.needsContext,K=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function pe(M,D,N){return _(D)?y.grep(M,function(Y,ae){return!!D.call(Y,ae,Y)!==N}):D.nodeType?y.grep(M,function(Y){return Y===D!==N}):typeof D!="string"?y.grep(M,function(Y){return s.call(D,Y)>-1!==N}):y.filter(D,M,N)}y.filter=function(M,D,N){var Y=D[0];return N&&(M=":not("+M+")"),D.length===1&&Y.nodeType===1?y.find.matchesSelector(Y,M)?[Y]:[]:y.find.matches(M,y.grep(D,function(ae){return ae.nodeType===1}))},y.fn.extend({find:function(M){var D,N,Y=this.length,ae=this;if(typeof M!="string")return this.pushStack(y(M).filter(function(){for(D=0;D<Y;D++)if(y.contains(ae[D],this))return!0}));for(N=this.pushStack([]),D=0;D<Y;D++)y.find(M,ae[D],N);return Y>1?y.uniqueSort(N):N},filter:function(M){return this.pushStack(pe(this,M||[],!1))},not:function(M){return this.pushStack(pe(this,M||[],!0))},is:function(M){return!!pe(this,typeof M=="string"&&re.test(M)?y(M):M||[],!1).length}});var xe,le=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Be=y.fn.init=function(M,D,N){var Y,ae;if(!M)return this;if(N=N||xe,typeof M=="string")if(M[0]==="<"&&M[M.length-1]===">"&&M.length>=3?Y=[null,M,null]:Y=le.exec(M),Y&&(Y[1]||!D))if(Y[1]){if(D=D instanceof y?D[0]:D,y.merge(this,y.parseHTML(Y[1],D&&D.nodeType?D.ownerDocument||D:g,!0)),K.test(Y[1])&&y.isPlainObject(D))for(Y in D)_(this[Y])?this[Y](D[Y]):this.attr(Y,D[Y]);return this}else return ae=g.getElementById(Y[2]),ae&&(this[0]=ae,this.length=1),this;else return!D||D.jquery?(D||N).find(M):this.constructor(D).find(M);else{if(M.nodeType)return this[0]=M,this.length=1,this;if(_(M))return N.ready!==void 0?N.ready(M):M(y)}return y.makeArray(M,this)};Be.prototype=y.fn,xe=y(g);var X=/^(?:parents|prev(?:Until|All))/,ne={children:!0,contents:!0,next:!0,prev:!0};y.fn.extend({has:function(M){var D=y(M,this),N=D.length;return this.filter(function(){for(var Y=0;Y<N;Y++)if(y.contains(this,D[Y]))return!0})},closest:function(M,D){var N,Y=0,ae=this.length,oe=[],fe=typeof M!="string"&&y(M);if(!re.test(M)){for(;Y<ae;Y++)for(N=this[Y];N&&N!==D;N=N.parentNode)if(N.nodeType<11&&(fe?fe.index(N)>-1:N.nodeType===1&&y.find.matchesSelector(N,M))){oe.push(N);break}}return this.pushStack(oe.length>1?y.uniqueSort(oe):oe)},index:function(M){return M?typeof M=="string"?s.call(y(M),this[0]):s.call(this,M.jquery?M[0]:M):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(M,D){return this.pushStack(y.uniqueSort(y.merge(this.get(),y(M,D))))},addBack:function(M){return this.add(M==null?this.prevObject:this.prevObject.filter(M))}});function Me(M,D){for(;(M=M[D])&&M.nodeType!==1;);return M}y.each({parent:function(M){var D=M.parentNode;return D&&D.nodeType!==11?D:null},parents:function(M){return Q(M,"parentNode")},parentsUntil:function(M,D,N){return Q(M,"parentNode",N)},next:function(M){return Me(M,"nextSibling")},prev:function(M){return Me(M,"previousSibling")},nextAll:function(M){return Q(M,"nextSibling")},prevAll:function(M){return Q(M,"previousSibling")},nextUntil:function(M,D,N){return Q(M,"nextSibling",N)},prevUntil:function(M,D,N){return Q(M,"previousSibling",N)},siblings:function(M){return H((M.parentNode||{}).firstChild,M)},children:function(M){return H(M.firstChild)},contents:function(M){return M.contentDocument!=null&&n(M.contentDocument)?M.contentDocument:(R(M,"template")&&(M=M.content||M),y.merge([],M.childNodes))}},function(M,D){y.fn[M]=function(N,Y){var ae=y.map(this,D,N);return M.slice(-5)!=="Until"&&(Y=N),Y&&typeof Y=="string"&&(ae=y.filter(Y,ae)),this.length>1&&(ne[M]||y.uniqueSort(ae),X.test(M)&&ae.reverse()),this.pushStack(ae)}});var Ue=/[^\x20\t\r\n\f]+/g;function et(M){var D={};return y.each(M.match(Ue)||[],function(N,Y){D[Y]=!0}),D}y.Callbacks=function(M){M=typeof M=="string"?et(M):y.extend({},M);var D,N,Y,ae,oe=[],fe=[],Ne=-1,De=function(){for(ae=ae||M.once,Y=D=!0;fe.length;Ne=-1)for(N=fe.shift();++Ne<oe.length;)oe[Ne].apply(N[0],N[1])===!1&&M.stopOnFalse&&(Ne=oe.length,N=!1);M.memory||(N=!1),D=!1,ae&&(N?oe=[]:oe="")},Ze={add:function(){return oe&&(N&&!D&&(Ne=oe.length-1,fe.push(N)),function gt(wt){y.each(wt,function(rt,Pt){_(Pt)?(!M.unique||!Ze.has(Pt))&&oe.push(Pt):Pt&&Pt.length&&x(Pt)!=="string"&&gt(Pt)})}(arguments),N&&!D&&De()),this},remove:function(){return y.each(arguments,function(gt,wt){for(var rt;(rt=y.inArray(wt,oe,rt))>-1;)oe.splice(rt,1),rt<=Ne&&Ne--}),this},has:function(gt){return gt?y.inArray(gt,oe)>-1:oe.length>0},empty:function(){return oe&&(oe=[]),this},disable:function(){return ae=fe=[],oe=N="",this},disabled:function(){return!oe},lock:function(){return ae=fe=[],!N&&!D&&(oe=N=""),this},locked:function(){return!!ae},fireWith:function(gt,wt){return ae||(wt=wt||[],wt=[gt,wt.slice?wt.slice():wt],fe.push(wt),D||De()),this},fire:function(){return Ze.fireWith(this,arguments),this},fired:function(){return!!Y}};return Ze};function Qe(M){return M}function Ge(M){throw M}function Ie(M,D,N,Y){var ae;try{M&&_(ae=M.promise)?ae.call(M).done(D).fail(N):M&&_(ae=M.then)?ae.call(M,D,N):D.apply(void 0,[M].slice(Y))}catch(oe){N.apply(void 0,[oe])}}y.extend({Deferred:function(M){var D=[["notify","progress",y.Callbacks("memory"),y.Callbacks("memory"),2],["resolve","done",y.Callbacks("once memory"),y.Callbacks("once memory"),0,"resolved"],["reject","fail",y.Callbacks("once memory"),y.Callbacks("once memory"),1,"rejected"]],N="pending",Y={state:function(){return N},always:function(){return ae.done(arguments).fail(arguments),this},catch:function(oe){return Y.then(null,oe)},pipe:function(){var oe=arguments;return y.Deferred(function(fe){y.each(D,function(Ne,De){var Ze=_(oe[De[4]])&&oe[De[4]];ae[De[1]](function(){var gt=Ze&&Ze.apply(this,arguments);gt&&_(gt.promise)?gt.promise().progress(fe.notify).done(fe.resolve).fail(fe.reject):fe[De[0]+"With"](this,Ze?[gt]:arguments)})}),oe=null}).promise()},then:function(oe,fe,Ne){var De=0;function Ze(gt,wt,rt,Pt){return function(){var qi=this,Cn=arguments,tn=function(){var La,dl;if(!(gt<De)){if(La=rt.apply(qi,Cn),La===wt.promise())throw new TypeError("Thenable self-resolution");dl=La&&(typeof La=="object"||typeof La=="function")&&La.then,_(dl)?Pt?dl.call(La,Ze(De,wt,Qe,Pt),Ze(De,wt,Ge,Pt)):(De++,dl.call(La,Ze(De,wt,Qe,Pt),Ze(De,wt,Ge,Pt),Ze(De,wt,Qe,wt.notifyWith))):(rt!==Qe&&(qi=void 0,Cn=[La]),(Pt||wt.resolveWith)(qi,Cn))}},tr=Pt?tn:function(){try{tn()}catch(La){y.Deferred.exceptionHook&&y.Deferred.exceptionHook(La,tr.error),gt+1>=De&&(rt!==Ge&&(qi=void 0,Cn=[La]),wt.rejectWith(qi,Cn))}};gt?tr():(y.Deferred.getErrorHook?tr.error=y.Deferred.getErrorHook():y.Deferred.getStackHook&&(tr.error=y.Deferred.getStackHook()),i.setTimeout(tr))}}return y.Deferred(function(gt){D[0][3].add(Ze(0,gt,_(Ne)?Ne:Qe,gt.notifyWith)),D[1][3].add(Ze(0,gt,_(oe)?oe:Qe)),D[2][3].add(Ze(0,gt,_(fe)?fe:Ge))}).promise()},promise:function(oe){return oe!=null?y.extend(oe,Y):Y}},ae={};return y.each(D,function(oe,fe){var Ne=fe[2],De=fe[5];Y[fe[1]]=Ne.add,De&&Ne.add(function(){N=De},D[3-oe][2].disable,D[3-oe][3].disable,D[0][2].lock,D[0][3].lock),Ne.add(fe[3].fire),ae[fe[0]]=function(){return ae[fe[0]+"With"](this===ae?void 0:this,arguments),this},ae[fe[0]+"With"]=Ne.fireWith}),Y.promise(ae),M&&M.call(ae,ae),ae},when:function(M){var D=arguments.length,N=D,Y=Array(N),ae=a.call(arguments),oe=y.Deferred(),fe=function(Ne){return function(De){Y[Ne]=this,ae[Ne]=arguments.length>1?a.call(arguments):De,--D||oe.resolveWith(Y,ae)}};if(D<=1&&(Ie(M,oe.done(fe(N)).resolve,oe.reject,!D),oe.state()==="pending"||_(ae[N]&&ae[N].then)))return oe.then();for(;N--;)Ie(ae[N],fe(N),oe.reject);return oe.promise()}});var Ke=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;y.Deferred.exceptionHook=function(M,D){i.console&&i.console.warn&&M&&Ke.test(M.name)&&i.console.warn("jQuery.Deferred exception: "+M.message,M.stack,D)},y.readyException=function(M){i.setTimeout(function(){throw M})};var z=y.Deferred();y.fn.ready=function(M){return z.then(M).catch(function(D){y.readyException(D)}),this},y.extend({isReady:!1,readyWait:1,ready:function(M){(M===!0?--y.readyWait:y.isReady)||(y.isReady=!0,!(M!==!0&&--y.readyWait>0)&&z.resolveWith(g,[y]))}}),y.ready.then=z.then;function C(){g.removeEventListener("DOMContentLoaded",C),i.removeEventListener("load",C),y.ready()}g.readyState==="complete"||g.readyState!=="loading"&&!g.documentElement.doScroll?i.setTimeout(y.ready):(g.addEventListener("DOMContentLoaded",C),i.addEventListener("load",C));var S=function(M,D,N,Y,ae,oe,fe){var Ne=0,De=M.length,Ze=N==null;if(x(N)==="object"){ae=!0;for(Ne in N)S(M,D,Ne,N[Ne],!0,oe,fe)}else if(Y!==void 0&&(ae=!0,_(Y)||(fe=!0),Ze&&(fe?(D.call(M,Y),D=null):(Ze=D,D=function(gt,wt,rt){return Ze.call(y(gt),rt)})),D))for(;Ne<De;Ne++)D(M[Ne],N,fe?Y:Y.call(M[Ne],Ne,D(M[Ne],N)));return ae?M:Ze?D.call(M):De?D(M[0],N):oe},P=/^-ms-/,V=/-([a-z])/g;function ee(M,D){return D.toUpperCase()}function ce(M){return M.replace(P,"ms-").replace(V,ee)}var be=function(M){return M.nodeType===1||M.nodeType===9||!+M.nodeType};function ge(){this.expando=y.expando+ge.uid++}ge.uid=1,ge.prototype={cache:function(M){var D=M[this.expando];return D||(D={},be(M)&&(M.nodeType?M[this.expando]=D:Object.defineProperty(M,this.expando,{value:D,configurable:!0}))),D},set:function(M,D,N){var Y,ae=this.cache(M);if(typeof D=="string")ae[ce(D)]=N;else for(Y in D)ae[ce(Y)]=D[Y];return ae},get:function(M,D){return D===void 0?this.cache(M):M[this.expando]&&M[this.expando][ce(D)]},access:function(M,D,N){return D===void 0||D&&typeof D=="string"&&N===void 0?this.get(M,D):(this.set(M,D,N),N!==void 0?N:D)},remove:function(M,D){var N,Y=M[this.expando];if(Y!==void 0){if(D!==void 0)for(Array.isArray(D)?D=D.map(ce):(D=ce(D),D=D in Y?[D]:D.match(Ue)||[]),N=D.length;N--;)delete Y[D[N]];(D===void 0||y.isEmptyObject(Y))&&(M.nodeType?M[this.expando]=void 0:delete M[this.expando])}},hasData:function(M){var D=M[this.expando];return D!==void 0&&!y.isEmptyObject(D)}};var Se=new ge,He=new ge,Ae=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,de=/[A-Z]/g;function Oe(M){return M==="true"?!0:M==="false"?!1:M==="null"?null:M===+M+""?+M:Ae.test(M)?JSON.parse(M):M}function Je(M,D,N){var Y;if(N===void 0&&M.nodeType===1)if(Y="data-"+D.replace(de,"-$&").toLowerCase(),N=M.getAttribute(Y),typeof N=="string"){try{N=Oe(N)}catch{}He.set(M,D,N)}else N=void 0;return N}y.extend({hasData:function(M){return He.hasData(M)||Se.hasData(M)},data:function(M,D,N){return He.access(M,D,N)},removeData:function(M,D){He.remove(M,D)},_data:function(M,D,N){return Se.access(M,D,N)},_removeData:function(M,D){Se.remove(M,D)}}),y.fn.extend({data:function(M,D){var N,Y,ae,oe=this[0],fe=oe&&oe.attributes;if(M===void 0){if(this.length&&(ae=He.get(oe),oe.nodeType===1&&!Se.get(oe,"hasDataAttrs"))){for(N=fe.length;N--;)fe[N]&&(Y=fe[N].name,Y.indexOf("data-")===0&&(Y=ce(Y.slice(5)),Je(oe,Y,ae[Y])));Se.set(oe,"hasDataAttrs",!0)}return ae}return typeof M=="object"?this.each(function(){He.set(this,M)}):S(this,function(Ne){var De;if(oe&&Ne===void 0)return De=He.get(oe,M),De!==void 0||(De=Je(oe,M),De!==void 0)?De:void 0;this.each(function(){He.set(this,M,Ne)})},null,D,arguments.length>1,null,!0)},removeData:function(M){return this.each(function(){He.remove(this,M)})}}),y.extend({queue:function(M,D,N){var Y;if(M)return D=(D||"fx")+"queue",Y=Se.get(M,D),N&&(!Y||Array.isArray(N)?Y=Se.access(M,D,y.makeArray(N)):Y.push(N)),Y||[]},dequeue:function(M,D){D=D||"fx";var N=y.queue(M,D),Y=N.length,ae=N.shift(),oe=y._queueHooks(M,D),fe=function(){y.dequeue(M,D)};ae==="inprogress"&&(ae=N.shift(),Y--),ae&&(D==="fx"&&N.unshift("inprogress"),delete oe.stop,ae.call(M,fe,oe)),!Y&&oe&&oe.empty.fire()},_queueHooks:function(M,D){var N=D+"queueHooks";return Se.get(M,N)||Se.access(M,N,{empty:y.Callbacks("once memory").add(function(){Se.remove(M,[D+"queue",N])})})}}),y.fn.extend({queue:function(M,D){var N=2;return typeof M!="string"&&(D=M,M="fx",N--),arguments.length<N?y.queue(this[0],M):D===void 0?this:this.each(function(){var Y=y.queue(this,M,D);y._queueHooks(this,M),M==="fx"&&Y[0]!=="inprogress"&&y.dequeue(this,M)})},dequeue:function(M){return this.each(function(){y.dequeue(this,M)})},clearQueue:function(M){return this.queue(M||"fx",[])},promise:function(M,D){var N,Y=1,ae=y.Deferred(),oe=this,fe=this.length,Ne=function(){--Y||ae.resolveWith(oe,[oe])};for(typeof M!="string"&&(D=M,M=void 0),M=M||"fx";fe--;)N=Se.get(oe[fe],M+"queueHooks"),N&&N.empty&&(Y++,N.empty.add(Ne));return Ne(),ae.promise(D)}});var dt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ue=new RegExp("^(?:([+-])=|)("+dt+")([a-z%]*)$","i"),Fe=["Top","Right","Bottom","Left"],Ee=g.documentElement,xt=function(M){return y.contains(M.ownerDocument,M)},_e={composed:!0};Ee.getRootNode&&(xt=function(M){return y.contains(M.ownerDocument,M)||M.getRootNode(_e)===M.ownerDocument});var je=function(M,D){return M=D||M,M.style.display==="none"||M.style.display===""&&xt(M)&&y.css(M,"display")==="none"};function We(M,D,N,Y){var ae,oe,fe=20,Ne=Y?function(){return Y.cur()}:function(){return y.css(M,D,"")},De=Ne(),Ze=N&&N[3]||(y.cssNumber[D]?"":"px"),gt=M.nodeType&&(y.cssNumber[D]||Ze!=="px"&&+De)&&ue.exec(y.css(M,D));if(gt&&gt[3]!==Ze){for(De=De/2,Ze=Ze||gt[3],gt=+De||1;fe--;)y.style(M,D,gt+Ze),(1-oe)*(1-(oe=Ne()/De||.5))<=0&&(fe=0),gt=gt/oe;gt=gt*2,y.style(M,D,gt+Ze),N=N||[]}return N&&(gt=+gt||+De||0,ae=N[1]?gt+(N[1]+1)*N[2]:+N[2],Y&&(Y.unit=Ze,Y.start=gt,Y.end=ae)),ae}var pt={};function At(M){var D,N=M.ownerDocument,Y=M.nodeName,ae=pt[Y];return ae||(D=N.body.appendChild(N.createElement(Y)),ae=y.css(D,"display"),D.parentNode.removeChild(D),ae==="none"&&(ae="block"),pt[Y]=ae,ae)}function Rt(M,D){for(var N,Y,ae=[],oe=0,fe=M.length;oe<fe;oe++)Y=M[oe],Y.style&&(N=Y.style.display,D?(N==="none"&&(ae[oe]=Se.get(Y,"display")||null,ae[oe]||(Y.style.display="")),Y.style.display===""&&je(Y)&&(ae[oe]=At(Y))):N!=="none"&&(ae[oe]="none",Se.set(Y,"display",N)));for(oe=0;oe<fe;oe++)ae[oe]!=null&&(M[oe].style.display=ae[oe]);return M}y.fn.extend({show:function(){return Rt(this,!0)},hide:function(){return Rt(this)},toggle:function(M){return typeof M=="boolean"?M?this.show():this.hide():this.each(function(){je(this)?y(this).show():y(this).hide()})}});var Xt=/^(?:checkbox|radio)$/i,Yt=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,fi=/^$|^module$|\/(?:java|ecma)script/i;(function(){var M=g.createDocumentFragment(),D=M.appendChild(g.createElement("div")),N=g.createElement("input");N.setAttribute("type","radio"),N.setAttribute("checked","checked"),N.setAttribute("name","t"),D.appendChild(N),m.checkClone=D.cloneNode(!0).cloneNode(!0).lastChild.checked,D.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!D.cloneNode(!0).lastChild.defaultValue,D.innerHTML="<option></option>",m.option=!!D.lastChild})();var vi={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};vi.tbody=vi.tfoot=vi.colgroup=vi.caption=vi.thead,vi.th=vi.td,m.option||(vi.optgroup=vi.option=[1,"<select multiple='multiple'>","</select>"]);function ri(M,D){var N;return typeof M.getElementsByTagName<"u"?N=M.getElementsByTagName(D||"*"):typeof M.querySelectorAll<"u"?N=M.querySelectorAll(D||"*"):N=[],D===void 0||D&&R(M,D)?y.merge([M],N):N}function ji(M,D){for(var N=0,Y=M.length;N<Y;N++)Se.set(M[N],"globalEval",!D||Se.get(D[N],"globalEval"))}var bi=/<|&#?\w+;/;function Ni(M,D,N,Y,ae){for(var oe,fe,Ne,De,Ze,gt,wt=D.createDocumentFragment(),rt=[],Pt=0,qi=M.length;Pt<qi;Pt++)if(oe=M[Pt],oe||oe===0)if(x(oe)==="object")y.merge(rt,oe.nodeType?[oe]:oe);else if(!bi.test(oe))rt.push(D.createTextNode(oe));else{for(fe=fe||wt.appendChild(D.createElement("div")),Ne=(Yt.exec(oe)||["",""])[1].toLowerCase(),De=vi[Ne]||vi._default,fe.innerHTML=De[1]+y.htmlPrefilter(oe)+De[2],gt=De[0];gt--;)fe=fe.lastChild;y.merge(rt,fe.childNodes),fe=wt.firstChild,fe.textContent=""}for(wt.textContent="",Pt=0;oe=rt[Pt++];){if(Y&&y.inArray(oe,Y)>-1){ae&&ae.push(oe);continue}if(Ze=xt(oe),fe=ri(wt.appendChild(oe),"script"),Ze&&ji(fe),N)for(gt=0;oe=fe[gt++];)fi.test(oe.type||"")&&N.push(oe)}return wt}var xa=/^([^.]*)(?:\.(.+)|)/;function da(){return!0}function po(){return!1}function Te(M,D,N,Y,ae,oe){var fe,Ne;if(typeof D=="object"){typeof N!="string"&&(Y=Y||N,N=void 0);for(Ne in D)Te(M,Ne,N,Y,D[Ne],oe);return M}if(Y==null&&ae==null?(ae=N,Y=N=void 0):ae==null&&(typeof N=="string"?(ae=Y,Y=void 0):(ae=Y,Y=N,N=void 0)),ae===!1)ae=po;else if(!ae)return M;return oe===1&&(fe=ae,ae=function(De){return y().off(De),fe.apply(this,arguments)},ae.guid=fe.guid||(fe.guid=y.guid++)),M.each(function(){y.event.add(this,D,ae,Y,N)})}y.event={global:{},add:function(M,D,N,Y,ae){var oe,fe,Ne,De,Ze,gt,wt,rt,Pt,qi,Cn,tn=Se.get(M);if(be(M))for(N.handler&&(oe=N,N=oe.handler,ae=oe.selector),ae&&y.find.matchesSelector(Ee,ae),N.guid||(N.guid=y.guid++),(De=tn.events)||(De=tn.events=Object.create(null)),(fe=tn.handle)||(fe=tn.handle=function(tr){return typeof y<"u"&&y.event.triggered!==tr.type?y.event.dispatch.apply(M,arguments):void 0}),D=(D||"").match(Ue)||[""],Ze=D.length;Ze--;)Ne=xa.exec(D[Ze])||[],Pt=Cn=Ne[1],qi=(Ne[2]||"").split(".").sort(),Pt&&(wt=y.event.special[Pt]||{},Pt=(ae?wt.delegateType:wt.bindType)||Pt,wt=y.event.special[Pt]||{},gt=y.extend({type:Pt,origType:Cn,data:Y,handler:N,guid:N.guid,selector:ae,needsContext:ae&&y.expr.match.needsContext.test(ae),namespace:qi.join(".")},oe),(rt=De[Pt])||(rt=De[Pt]=[],rt.delegateCount=0,(!wt.setup||wt.setup.call(M,Y,qi,fe)===!1)&&M.addEventListener&&M.addEventListener(Pt,fe)),wt.add&&(wt.add.call(M,gt),gt.handler.guid||(gt.handler.guid=N.guid)),ae?rt.splice(rt.delegateCount++,0,gt):rt.push(gt),y.event.global[Pt]=!0)},remove:function(M,D,N,Y,ae){var oe,fe,Ne,De,Ze,gt,wt,rt,Pt,qi,Cn,tn=Se.hasData(M)&&Se.get(M);if(!(!tn||!(De=tn.events))){for(D=(D||"").match(Ue)||[""],Ze=D.length;Ze--;){if(Ne=xa.exec(D[Ze])||[],Pt=Cn=Ne[1],qi=(Ne[2]||"").split(".").sort(),!Pt){for(Pt in De)y.event.remove(M,Pt+D[Ze],N,Y,!0);continue}for(wt=y.event.special[Pt]||{},Pt=(Y?wt.delegateType:wt.bindType)||Pt,rt=De[Pt]||[],Ne=Ne[2]&&new RegExp("(^|\\.)"+qi.join("\\.(?:.*\\.|)")+"(\\.|$)"),fe=oe=rt.length;oe--;)gt=rt[oe],(ae||Cn===gt.origType)&&(!N||N.guid===gt.guid)&&(!Ne||Ne.test(gt.namespace))&&(!Y||Y===gt.selector||Y==="**"&&gt.selector)&&(rt.splice(oe,1),gt.selector&&rt.delegateCount--,wt.remove&&wt.remove.call(M,gt));fe&&!rt.length&&((!wt.teardown||wt.teardown.call(M,qi,tn.handle)===!1)&&y.removeEvent(M,Pt,tn.handle),delete De[Pt])}y.isEmptyObject(De)&&Se.remove(M,"handle events")}},dispatch:function(M){var D,N,Y,ae,oe,fe,Ne=new Array(arguments.length),De=y.event.fix(M),Ze=(Se.get(this,"events")||Object.create(null))[De.type]||[],gt=y.event.special[De.type]||{};for(Ne[0]=De,D=1;D<arguments.length;D++)Ne[D]=arguments[D];if(De.delegateTarget=this,!(gt.preDispatch&&gt.preDispatch.call(this,De)===!1)){for(fe=y.event.handlers.call(this,De,Ze),D=0;(ae=fe[D++])&&!De.isPropagationStopped();)for(De.currentTarget=ae.elem,N=0;(oe=ae.handlers[N++])&&!De.isImmediatePropagationStopped();)(!De.rnamespace||oe.namespace===!1||De.rnamespace.test(oe.namespace))&&(De.handleObj=oe,De.data=oe.data,Y=((y.event.special[oe.origType]||{}).handle||oe.handler).apply(ae.elem,Ne),Y!==void 0&&(De.result=Y)===!1&&(De.preventDefault(),De.stopPropagation()));return gt.postDispatch&&gt.postDispatch.call(this,De),De.result}},handlers:function(M,D){var N,Y,ae,oe,fe,Ne=[],De=D.delegateCount,Ze=M.target;if(De&&Ze.nodeType&&!(M.type==="click"&&M.button>=1)){for(;Ze!==this;Ze=Ze.parentNode||this)if(Ze.nodeType===1&&!(M.type==="click"&&Ze.disabled===!0)){for(oe=[],fe={},N=0;N<De;N++)Y=D[N],ae=Y.selector+" ",fe[ae]===void 0&&(fe[ae]=Y.needsContext?y(ae,this).index(Ze)>-1:y.find(ae,this,null,[Ze]).length),fe[ae]&&oe.push(Y);oe.length&&Ne.push({elem:Ze,handlers:oe})}}return Ze=this,De<D.length&&Ne.push({elem:Ze,handlers:D.slice(De)}),Ne},addProp:function(M,D){Object.defineProperty(y.Event.prototype,M,{enumerable:!0,configurable:!0,get:_(D)?function(){if(this.originalEvent)return D(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[M]},set:function(N){Object.defineProperty(this,M,{enumerable:!0,configurable:!0,writable:!0,value:N})}})},fix:function(M){return M[y.expando]?M:new y.Event(M)},special:{load:{noBubble:!0},click:{setup:function(M){var D=this||M;return Xt.test(D.type)&&D.click&&R(D,"input")&&lt(D,"click",!0),!1},trigger:function(M){var D=this||M;return Xt.test(D.type)&&D.click&&R(D,"input")&&lt(D,"click"),!0},_default:function(M){var D=M.target;return Xt.test(D.type)&&D.click&&R(D,"input")&&Se.get(D,"click")||R(D,"a")}},beforeunload:{postDispatch:function(M){M.result!==void 0&&M.originalEvent&&(M.originalEvent.returnValue=M.result)}}}};function lt(M,D,N){if(!N){Se.get(M,D)===void 0&&y.event.add(M,D,da);return}Se.set(M,D,!1),y.event.add(M,D,{namespace:!1,handler:function(Y){var ae,oe=Se.get(this,D);if(Y.isTrigger&1&&this[D]){if(oe)(y.event.special[D]||{}).delegateType&&Y.stopPropagation();else if(oe=a.call(arguments),Se.set(this,D,oe),this[D](),ae=Se.get(this,D),Se.set(this,D,!1),oe!==ae)return Y.stopImmediatePropagation(),Y.preventDefault(),ae}else oe&&(Se.set(this,D,y.event.trigger(oe[0],oe.slice(1),this)),Y.stopPropagation(),Y.isImmediatePropagationStopped=da)}})}y.removeEvent=function(M,D,N){M.removeEventListener&&M.removeEventListener(D,N)},y.Event=function(M,D){if(!(this instanceof y.Event))return new y.Event(M,D);M&&M.type?(this.originalEvent=M,this.type=M.type,this.isDefaultPrevented=M.defaultPrevented||M.defaultPrevented===void 0&&M.returnValue===!1?da:po,this.target=M.target&&M.target.nodeType===3?M.target.parentNode:M.target,this.currentTarget=M.currentTarget,this.relatedTarget=M.relatedTarget):this.type=M,D&&y.extend(this,D),this.timeStamp=M&&M.timeStamp||Date.now(),this[y.expando]=!0},y.Event.prototype={constructor:y.Event,isDefaultPrevented:po,isPropagationStopped:po,isImmediatePropagationStopped:po,isSimulated:!1,preventDefault:function(){var M=this.originalEvent;this.isDefaultPrevented=da,M&&!this.isSimulated&&M.preventDefault()},stopPropagation:function(){var M=this.originalEvent;this.isPropagationStopped=da,M&&!this.isSimulated&&M.stopPropagation()},stopImmediatePropagation:function(){var M=this.originalEvent;this.isImmediatePropagationStopped=da,M&&!this.isSimulated&&M.stopImmediatePropagation(),this.stopPropagation()}},y.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},y.event.addProp),y.each({focus:"focusin",blur:"focusout"},function(M,D){function N(Y){if(g.documentMode){var ae=Se.get(this,"handle"),oe=y.event.fix(Y);oe.type=Y.type==="focusin"?"focus":"blur",oe.isSimulated=!0,ae(Y),oe.target===oe.currentTarget&&ae(oe)}else y.event.simulate(D,Y.target,y.event.fix(Y))}y.event.special[M]={setup:function(){var Y;if(lt(this,M,!0),g.documentMode)Y=Se.get(this,D),Y||this.addEventListener(D,N),Se.set(this,D,(Y||0)+1);else return!1},trigger:function(){return lt(this,M),!0},teardown:function(){var Y;if(g.documentMode)Y=Se.get(this,D)-1,Y?Se.set(this,D,Y):(this.removeEventListener(D,N),Se.remove(this,D));else return!1},_default:function(Y){return Se.get(Y.target,M)},delegateType:D},y.event.special[D]={setup:function(){var Y=this.ownerDocument||this.document||this,ae=g.documentMode?this:Y,oe=Se.get(ae,D);oe||(g.documentMode?this.addEventListener(D,N):Y.addEventListener(M,N,!0)),Se.set(ae,D,(oe||0)+1)},teardown:function(){var Y=this.ownerDocument||this.document||this,ae=g.documentMode?this:Y,oe=Se.get(ae,D)-1;oe?Se.set(ae,D,oe):(g.documentMode?this.removeEventListener(D,N):Y.removeEventListener(M,N,!0),Se.remove(ae,D))}}}),y.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(M,D){y.event.special[M]={delegateType:D,bindType:D,handle:function(N){var Y,ae=this,oe=N.relatedTarget,fe=N.handleObj;return(!oe||oe!==ae&&!y.contains(ae,oe))&&(N.type=fe.origType,Y=fe.handler.apply(this,arguments),N.type=D),Y}}}),y.fn.extend({on:function(M,D,N,Y){return Te(this,M,D,N,Y)},one:function(M,D,N,Y){return Te(this,M,D,N,Y,1)},off:function(M,D,N){var Y,ae;if(M&&M.preventDefault&&M.handleObj)return Y=M.handleObj,y(M.delegateTarget).off(Y.namespace?Y.origType+"."+Y.namespace:Y.origType,Y.selector,Y.handler),this;if(typeof M=="object"){for(ae in M)this.off(ae,D,M[ae]);return this}return(D===!1||typeof D=="function")&&(N=D,D=void 0),N===!1&&(N=po),this.each(function(){y.event.remove(this,M,N,D)})}});var ot=/<script|<style|<link/i,ft=/checked\s*(?:[^=]|=\s*.checked.)/i,Et=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Ai(M,D){return R(M,"table")&&R(D.nodeType!==11?D:D.firstChild,"tr")&&y(M).children("tbody")[0]||M}function Ii(M){return M.type=(M.getAttribute("type")!==null)+"/"+M.type,M}function Wt(M){return(M.type||"").slice(0,5)==="true/"?M.type=M.type.slice(5):M.removeAttribute("type"),M}function ti(M,D){var N,Y,ae,oe,fe,Ne,De;if(D.nodeType===1){if(Se.hasData(M)&&(oe=Se.get(M),De=oe.events,De)){Se.remove(D,"handle events");for(ae in De)for(N=0,Y=De[ae].length;N<Y;N++)y.event.add(D,ae,De[ae][N])}He.hasData(M)&&(fe=He.access(M),Ne=y.extend({},fe),He.set(D,Ne))}}function Jt(M,D){var N=D.nodeName.toLowerCase();N==="input"&&Xt.test(M.type)?D.checked=M.checked:(N==="input"||N==="textarea")&&(D.defaultValue=M.defaultValue)}function Ci(M,D,N,Y){D=o(D);var ae,oe,fe,Ne,De,Ze,gt=0,wt=M.length,rt=wt-1,Pt=D[0],qi=_(Pt);if(qi||wt>1&&typeof Pt=="string"&&!m.checkClone&&ft.test(Pt))return M.each(function(Cn){var tn=M.eq(Cn);qi&&(D[0]=Pt.call(this,Cn,tn.html())),Ci(tn,D,N,Y)});if(wt&&(ae=Ni(D,M[0].ownerDocument,!1,M,Y),oe=ae.firstChild,ae.childNodes.length===1&&(ae=oe),oe||Y)){for(fe=y.map(ri(ae,"script"),Ii),Ne=fe.length;gt<wt;gt++)De=ae,gt!==rt&&(De=y.clone(De,!0,!0),Ne&&y.merge(fe,ri(De,"script"))),N.call(M[gt],De,gt);if(Ne)for(Ze=fe[fe.length-1].ownerDocument,y.map(fe,Wt),gt=0;gt<Ne;gt++)De=fe[gt],fi.test(De.type||"")&&!Se.access(De,"globalEval")&&y.contains(Ze,De)&&(De.src&&(De.type||"").toLowerCase()!=="module"?y._evalUrl&&!De.noModule&&y._evalUrl(De.src,{nonce:De.nonce||De.getAttribute("nonce")},Ze):b(De.textContent.replace(Et,""),De,Ze))}return M}function zi(M,D,N){for(var Y,ae=D?y.filter(D,M):M,oe=0;(Y=ae[oe])!=null;oe++)!N&&Y.nodeType===1&&y.cleanData(ri(Y)),Y.parentNode&&(N&&xt(Y)&&ji(ri(Y,"script")),Y.parentNode.removeChild(Y));return M}y.extend({htmlPrefilter:function(M){return M},clone:function(M,D,N){var Y,ae,oe,fe,Ne=M.cloneNode(!0),De=xt(M);if(!m.noCloneChecked&&(M.nodeType===1||M.nodeType===11)&&!y.isXMLDoc(M))for(fe=ri(Ne),oe=ri(M),Y=0,ae=oe.length;Y<ae;Y++)Jt(oe[Y],fe[Y]);if(D)if(N)for(oe=oe||ri(M),fe=fe||ri(Ne),Y=0,ae=oe.length;Y<ae;Y++)ti(oe[Y],fe[Y]);else ti(M,Ne);return fe=ri(Ne,"script"),fe.length>0&&ji(fe,!De&&ri(M,"script")),Ne},cleanData:function(M){for(var D,N,Y,ae=y.event.special,oe=0;(N=M[oe])!==void 0;oe++)if(be(N)){if(D=N[Se.expando]){if(D.events)for(Y in D.events)ae[Y]?y.event.remove(N,Y):y.removeEvent(N,Y,D.handle);N[Se.expando]=void 0}N[He.expando]&&(N[He.expando]=void 0)}}}),y.fn.extend({detach:function(M){return zi(this,M,!0)},remove:function(M){return zi(this,M)},text:function(M){return S(this,function(D){return D===void 0?y.text(this):this.empty().each(function(){(this.nodeType===1||this.nodeType===11||this.nodeType===9)&&(this.textContent=D)})},null,M,arguments.length)},append:function(){return Ci(this,arguments,function(M){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var D=Ai(this,M);D.appendChild(M)}})},prepend:function(){return Ci(this,arguments,function(M){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var D=Ai(this,M);D.insertBefore(M,D.firstChild)}})},before:function(){return Ci(this,arguments,function(M){this.parentNode&&this.parentNode.insertBefore(M,this)})},after:function(){return Ci(this,arguments,function(M){this.parentNode&&this.parentNode.insertBefore(M,this.nextSibling)})},empty:function(){for(var M,D=0;(M=this[D])!=null;D++)M.nodeType===1&&(y.cleanData(ri(M,!1)),M.textContent="");return this},clone:function(M,D){return M=M??!1,D=D??M,this.map(function(){return y.clone(this,M,D)})},html:function(M){return S(this,function(D){var N=this[0]||{},Y=0,ae=this.length;if(D===void 0&&N.nodeType===1)return N.innerHTML;if(typeof D=="string"&&!ot.test(D)&&!vi[(Yt.exec(D)||["",""])[1].toLowerCase()]){D=y.htmlPrefilter(D);try{for(;Y<ae;Y++)N=this[Y]||{},N.nodeType===1&&(y.cleanData(ri(N,!1)),N.innerHTML=D);N=0}catch{}}N&&this.empty().append(D)},null,M,arguments.length)},replaceWith:function(){var M=[];return Ci(this,arguments,function(D){var N=this.parentNode;y.inArray(this,M)<0&&(y.cleanData(ri(this)),N&&N.replaceChild(D,this))},M)}}),y.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(M,D){y.fn[M]=function(N){for(var Y,ae=[],oe=y(N),fe=oe.length-1,Ne=0;Ne<=fe;Ne++)Y=Ne===fe?this:this.clone(!0),y(oe[Ne])[D](Y),r.apply(ae,Y.get());return this.pushStack(ae)}});var en=new RegExp("^("+dt+")(?!px)[a-z%]+$","i"),Un=/^--/,Ji=function(M){var D=M.ownerDocument.defaultView;return(!D||!D.opener)&&(D=i),D.getComputedStyle(M)},jo=function(M,D,N){var Y,ae,oe={};for(ae in D)oe[ae]=M.style[ae],M.style[ae]=D[ae];Y=N.call(M);for(ae in D)M.style[ae]=oe[ae];return Y},An=new RegExp(Fe.join("|"),"i");(function(){function M(){if(Ze){De.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",Ze.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",Ee.appendChild(De).appendChild(Ze);var gt=i.getComputedStyle(Ze);N=gt.top!=="1%",Ne=D(gt.marginLeft)===12,Ze.style.right="60%",oe=D(gt.right)===36,Y=D(gt.width)===36,Ze.style.position="absolute",ae=D(Ze.offsetWidth/3)===12,Ee.removeChild(De),Ze=null}}function D(gt){return Math.round(parseFloat(gt))}var N,Y,ae,oe,fe,Ne,De=g.createElement("div"),Ze=g.createElement("div");Ze.style&&(Ze.style.backgroundClip="content-box",Ze.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle=Ze.style.backgroundClip==="content-box",y.extend(m,{boxSizingReliable:function(){return M(),Y},pixelBoxStyles:function(){return M(),oe},pixelPosition:function(){return M(),N},reliableMarginLeft:function(){return M(),Ne},scrollboxSize:function(){return M(),ae},reliableTrDimensions:function(){var gt,wt,rt,Pt;return fe==null&&(gt=g.createElement("table"),wt=g.createElement("tr"),rt=g.createElement("div"),gt.style.cssText="position:absolute;left:-11111px;border-collapse:separate",wt.style.cssText="box-sizing:content-box;border:1px solid",wt.style.height="1px",rt.style.height="9px",rt.style.display="block",Ee.appendChild(gt).appendChild(wt).appendChild(rt),Pt=i.getComputedStyle(wt),fe=parseInt(Pt.height,10)+parseInt(Pt.borderTopWidth,10)+parseInt(Pt.borderBottomWidth,10)===wt.offsetHeight,Ee.removeChild(gt)),fe}}))})();function ua(M,D,N){var Y,ae,oe,fe,Ne=Un.test(D),De=M.style;return N=N||Ji(M),N&&(fe=N.getPropertyValue(D)||N[D],Ne&&fe&&(fe=fe.replace(U,"$1")||void 0),fe===""&&!xt(M)&&(fe=y.style(M,D)),!m.pixelBoxStyles()&&en.test(fe)&&An.test(D)&&(Y=De.width,ae=De.minWidth,oe=De.maxWidth,De.minWidth=De.maxWidth=De.width=fe,fe=N.width,De.width=Y,De.minWidth=ae,De.maxWidth=oe)),fe!==void 0?fe+"":fe}function jn(M,D){return{get:function(){if(M()){delete this.get;return}return(this.get=D).apply(this,arguments)}}}var _n=["Webkit","Moz","ms"],Ea=g.createElement("div").style,ja={};function xr(M){for(var D=M[0].toUpperCase()+M.slice(1),N=_n.length;N--;)if(M=_n[N]+D,M in Ea)return M}function mo(M){var D=y.cssProps[M]||ja[M];return D||(M in Ea?M:ja[M]=xr(M)||M)}var Qo=/^(none|table(?!-c[ea]).+)/,Io={position:"absolute",visibility:"hidden",display:"block"},er={letterSpacing:"0",fontWeight:"400"};function ui(M,D,N){var Y=ue.exec(D);return Y?Math.max(0,Y[2]-(N||0))+(Y[3]||"px"):D}function Ei(M,D,N,Y,ae,oe){var fe=D==="width"?1:0,Ne=0,De=0,Ze=0;if(N===(Y?"border":"content"))return 0;for(;fe<4;fe+=2)N==="margin"&&(Ze+=y.css(M,N+Fe[fe],!0,ae)),Y?(N==="content"&&(De-=y.css(M,"padding"+Fe[fe],!0,ae)),N!=="margin"&&(De-=y.css(M,"border"+Fe[fe]+"Width",!0,ae))):(De+=y.css(M,"padding"+Fe[fe],!0,ae),N!=="padding"?De+=y.css(M,"border"+Fe[fe]+"Width",!0,ae):Ne+=y.css(M,"border"+Fe[fe]+"Width",!0,ae));return!Y&&oe>=0&&(De+=Math.max(0,Math.ceil(M["offset"+D[0].toUpperCase()+D.slice(1)]-oe-De-Ne-.5))||0),De+Ze}function dn(M,D,N){var Y=Ji(M),ae=!m.boxSizingReliable()||N,oe=ae&&y.css(M,"boxSizing",!1,Y)==="border-box",fe=oe,Ne=ua(M,D,Y),De="offset"+D[0].toUpperCase()+D.slice(1);if(en.test(Ne)){if(!N)return Ne;Ne="auto"}return(!m.boxSizingReliable()&&oe||!m.reliableTrDimensions()&&R(M,"tr")||Ne==="auto"||!parseFloat(Ne)&&y.css(M,"display",!1,Y)==="inline")&&M.getClientRects().length&&(oe=y.css(M,"boxSizing",!1,Y)==="border-box",fe=De in M,fe&&(Ne=M[De])),Ne=parseFloat(Ne)||0,Ne+Ei(M,D,N||(oe?"border":"content"),fe,Y,Ne)+"px"}y.extend({cssHooks:{opacity:{get:function(M,D){if(D){var N=ua(M,"opacity");return N===""?"1":N}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(M,D,N,Y){if(!(!M||M.nodeType===3||M.nodeType===8||!M.style)){var ae,oe,fe,Ne=ce(D),De=Un.test(D),Ze=M.style;if(De||(D=mo(Ne)),fe=y.cssHooks[D]||y.cssHooks[Ne],N!==void 0){if(oe=typeof N,oe==="string"&&(ae=ue.exec(N))&&ae[1]&&(N=We(M,D,ae),oe="number"),N==null||N!==N)return;oe==="number"&&!De&&(N+=ae&&ae[3]||(y.cssNumber[Ne]?"":"px")),!m.clearCloneStyle&&N===""&&D.indexOf("background")===0&&(Ze[D]="inherit"),(!fe||!("set"in fe)||(N=fe.set(M,N,Y))!==void 0)&&(De?Ze.setProperty(D,N):Ze[D]=N)}else return fe&&"get"in fe&&(ae=fe.get(M,!1,Y))!==void 0?ae:Ze[D]}},css:function(M,D,N,Y){var ae,oe,fe,Ne=ce(D),De=Un.test(D);return De||(D=mo(Ne)),fe=y.cssHooks[D]||y.cssHooks[Ne],fe&&"get"in fe&&(ae=fe.get(M,!0,N)),ae===void 0&&(ae=ua(M,D,Y)),ae==="normal"&&D in er&&(ae=er[D]),N===""||N?(oe=parseFloat(ae),N===!0||isFinite(oe)?oe||0:ae):ae}}),y.each(["height","width"],function(M,D){y.cssHooks[D]={get:function(N,Y,ae){if(Y)return Qo.test(y.css(N,"display"))&&(!N.getClientRects().length||!N.getBoundingClientRect().width)?jo(N,Io,function(){return dn(N,D,ae)}):dn(N,D,ae)},set:function(N,Y,ae){var oe,fe=Ji(N),Ne=!m.scrollboxSize()&&fe.position==="absolute",De=Ne||ae,Ze=De&&y.css(N,"boxSizing",!1,fe)==="border-box",gt=ae?Ei(N,D,ae,Ze,fe):0;return Ze&&Ne&&(gt-=Math.ceil(N["offset"+D[0].toUpperCase()+D.slice(1)]-parseFloat(fe[D])-Ei(N,D,"border",!1,fe)-.5)),gt&&(oe=ue.exec(Y))&&(oe[3]||"px")!=="px"&&(N.style[D]=Y,Y=y.css(N,D)),ui(N,Y,gt)}}}),y.cssHooks.marginLeft=jn(m.reliableMarginLeft,function(M,D){if(D)return(parseFloat(ua(M,"marginLeft"))||M.getBoundingClientRect().left-jo(M,{marginLeft:0},function(){return M.getBoundingClientRect().left}))+"px"}),y.each({margin:"",padding:"",border:"Width"},function(M,D){y.cssHooks[M+D]={expand:function(N){for(var Y=0,ae={},oe=typeof N=="string"?N.split(" "):[N];Y<4;Y++)ae[M+Fe[Y]+D]=oe[Y]||oe[Y-2]||oe[0];return ae}},M!=="margin"&&(y.cssHooks[M+D].set=ui)}),y.fn.extend({css:function(M,D){return S(this,function(N,Y,ae){var oe,fe,Ne={},De=0;if(Array.isArray(Y)){for(oe=Ji(N),fe=Y.length;De<fe;De++)Ne[Y[De]]=y.css(N,Y[De],!1,oe);return Ne}return ae!==void 0?y.style(N,Y,ae):y.css(N,Y)},M,D,arguments.length>1)}});function ai(M,D,N,Y,ae){return new ai.prototype.init(M,D,N,Y,ae)}y.Tween=ai,ai.prototype={constructor:ai,init:function(M,D,N,Y,ae,oe){this.elem=M,this.prop=N,this.easing=ae||y.easing._default,this.options=D,this.start=this.now=this.cur(),this.end=Y,this.unit=oe||(y.cssNumber[N]?"":"px")},cur:function(){var M=ai.propHooks[this.prop];return M&&M.get?M.get(this):ai.propHooks._default.get(this)},run:function(M){var D,N=ai.propHooks[this.prop];return this.options.duration?this.pos=D=y.easing[this.easing](M,this.options.duration*M,0,1,this.options.duration):this.pos=D=M,this.now=(this.end-this.start)*D+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),N&&N.set?N.set(this):ai.propHooks._default.set(this),this}},ai.prototype.init.prototype=ai.prototype,ai.propHooks={_default:{get:function(M){var D;return M.elem.nodeType!==1||M.elem[M.prop]!=null&&M.elem.style[M.prop]==null?M.elem[M.prop]:(D=y.css(M.elem,M.prop,""),!D||D==="auto"?0:D)},set:function(M){y.fx.step[M.prop]?y.fx.step[M.prop](M):M.elem.nodeType===1&&(y.cssHooks[M.prop]||M.elem.style[mo(M.prop)]!=null)?y.style(M.elem,M.prop,M.now+M.unit):M.elem[M.prop]=M.now}}},ai.propHooks.scrollTop=ai.propHooks.scrollLeft={set:function(M){M.elem.nodeType&&M.elem.parentNode&&(M.elem[M.prop]=M.now)}},y.easing={linear:function(M){return M},swing:function(M){return .5-Math.cos(M*Math.PI)/2},_default:"swing"},y.fx=ai.prototype.init,y.fx.step={};var Xn,Ma,pc=/^(?:toggle|show|hide)$/,Rl=/queueHooks$/;function fs(){Ma&&(g.hidden===!1&&i.requestAnimationFrame?i.requestAnimationFrame(fs):i.setTimeout(fs,y.fx.interval),y.fx.tick())}function mc(){return i.setTimeout(function(){Xn=void 0}),Xn=Date.now()}function jl(M,D){var N,Y=0,ae={height:M};for(D=D?1:0;Y<4;Y+=2-D)N=Fe[Y],ae["margin"+N]=ae["padding"+N]=M;return D&&(ae.opacity=ae.width=M),ae}function fp(M,D,N){for(var Y,ae=(Dr.tweeners[D]||[]).concat(Dr.tweeners["*"]),oe=0,fe=ae.length;oe<fe;oe++)if(Y=ae[oe].call(N,D,M))return Y}function o_(M,D,N){var Y,ae,oe,fe,Ne,De,Ze,gt,wt="width"in D||"height"in D,rt=this,Pt={},qi=M.style,Cn=M.nodeType&&je(M),tn=Se.get(M,"fxshow");N.queue||(fe=y._queueHooks(M,"fx"),fe.unqueued==null&&(fe.unqueued=0,Ne=fe.empty.fire,fe.empty.fire=function(){fe.unqueued||Ne()}),fe.unqueued++,rt.always(function(){rt.always(function(){fe.unqueued--,y.queue(M,"fx").length||fe.empty.fire()})}));for(Y in D)if(ae=D[Y],pc.test(ae)){if(delete D[Y],oe=oe||ae==="toggle",ae===(Cn?"hide":"show"))if(ae==="show"&&tn&&tn[Y]!==void 0)Cn=!0;else continue;Pt[Y]=tn&&tn[Y]||y.style(M,Y)}if(De=!y.isEmptyObject(D),!(!De&&y.isEmptyObject(Pt))){wt&&M.nodeType===1&&(N.overflow=[qi.overflow,qi.overflowX,qi.overflowY],Ze=tn&&tn.display,Ze==null&&(Ze=Se.get(M,"display")),gt=y.css(M,"display"),gt==="none"&&(Ze?gt=Ze:(Rt([M],!0),Ze=M.style.display||Ze,gt=y.css(M,"display"),Rt([M]))),(gt==="inline"||gt==="inline-block"&&Ze!=null)&&y.css(M,"float")==="none"&&(De||(rt.done(function(){qi.display=Ze}),Ze==null&&(gt=qi.display,Ze=gt==="none"?"":gt)),qi.display="inline-block")),N.overflow&&(qi.overflow="hidden",rt.always(function(){qi.overflow=N.overflow[0],qi.overflowX=N.overflow[1],qi.overflowY=N.overflow[2]})),De=!1;for(Y in Pt)De||(tn?"hidden"in tn&&(Cn=tn.hidden):tn=Se.access(M,"fxshow",{display:Ze}),oe&&(tn.hidden=!Cn),Cn&&Rt([M],!0),rt.done(function(){Cn||Rt([M]),Se.remove(M,"fxshow");for(Y in Pt)y.style(M,Y,Pt[Y])})),De=fp(Cn?tn[Y]:0,Y,rt),Y in tn||(tn[Y]=De.start,Cn&&(De.end=De.start,De.start=0))}}function wf(M,D){var N,Y,ae,oe,fe;for(N in M)if(Y=ce(N),ae=D[Y],oe=M[N],Array.isArray(oe)&&(ae=oe[1],oe=M[N]=oe[0]),N!==Y&&(M[Y]=oe,delete M[N]),fe=y.cssHooks[Y],fe&&"expand"in fe){oe=fe.expand(oe),delete M[Y];for(N in oe)N in M||(M[N]=oe[N],D[N]=ae)}else D[Y]=ae}function Dr(M,D,N){var Y,ae,oe=0,fe=Dr.prefilters.length,Ne=y.Deferred().always(function(){delete De.elem}),De=function(){if(ae)return!1;for(var wt=Xn||mc(),rt=Math.max(0,Ze.startTime+Ze.duration-wt),Pt=rt/Ze.duration||0,qi=1-Pt,Cn=0,tn=Ze.tweens.length;Cn<tn;Cn++)Ze.tweens[Cn].run(qi);return Ne.notifyWith(M,[Ze,qi,rt]),qi<1&&tn?rt:(tn||Ne.notifyWith(M,[Ze,1,0]),Ne.resolveWith(M,[Ze]),!1)},Ze=Ne.promise({elem:M,props:y.extend({},D),opts:y.extend(!0,{specialEasing:{},easing:y.easing._default},N),originalProperties:D,originalOptions:N,startTime:Xn||mc(),duration:N.duration,tweens:[],createTween:function(wt,rt){var Pt=y.Tween(M,Ze.opts,wt,rt,Ze.opts.specialEasing[wt]||Ze.opts.easing);return Ze.tweens.push(Pt),Pt},stop:function(wt){var rt=0,Pt=wt?Ze.tweens.length:0;if(ae)return this;for(ae=!0;rt<Pt;rt++)Ze.tweens[rt].run(1);return wt?(Ne.notifyWith(M,[Ze,1,0]),Ne.resolveWith(M,[Ze,wt])):Ne.rejectWith(M,[Ze,wt]),this}}),gt=Ze.props;for(wf(gt,Ze.opts.specialEasing);oe<fe;oe++)if(Y=Dr.prefilters[oe].call(Ze,M,gt,Ze.opts),Y)return _(Y.stop)&&(y._queueHooks(Ze.elem,Ze.opts.queue).stop=Y.stop.bind(Y)),Y;return y.map(gt,fp,Ze),_(Ze.opts.start)&&Ze.opts.start.call(M,Ze),Ze.progress(Ze.opts.progress).done(Ze.opts.done,Ze.opts.complete).fail(Ze.opts.fail).always(Ze.opts.always),y.fx.timer(y.extend(De,{elem:M,anim:Ze,queue:Ze.opts.queue})),Ze}y.Animation=y.extend(Dr,{tweeners:{"*":[function(M,D){var N=this.createTween(M,D);return We(N.elem,M,ue.exec(D),N),N}]},tweener:function(M,D){_(M)?(D=M,M=["*"]):M=M.match(Ue);for(var N,Y=0,ae=M.length;Y<ae;Y++)N=M[Y],Dr.tweeners[N]=Dr.tweeners[N]||[],Dr.tweeners[N].unshift(D)},prefilters:[o_],prefilter:function(M,D){D?Dr.prefilters.unshift(M):Dr.prefilters.push(M)}}),y.speed=function(M,D,N){var Y=M&&typeof M=="object"?y.extend({},M):{complete:N||!N&&D||_(M)&&M,duration:M,easing:N&&D||D&&!_(D)&&D};return y.fx.off?Y.duration=0:typeof Y.duration!="number"&&(Y.duration in y.fx.speeds?Y.duration=y.fx.speeds[Y.duration]:Y.duration=y.fx.speeds._default),(Y.queue==null||Y.queue===!0)&&(Y.queue="fx"),Y.old=Y.complete,Y.complete=function(){_(Y.old)&&Y.old.call(this),Y.queue&&y.dequeue(this,Y.queue)},Y},y.fn.extend({fadeTo:function(M,D,N,Y){return this.filter(je).css("opacity",0).show().end().animate({opacity:D},M,N,Y)},animate:function(M,D,N,Y){var ae=y.isEmptyObject(M),oe=y.speed(D,N,Y),fe=function(){var Ne=Dr(this,y.extend({},M),oe);(ae||Se.get(this,"finish"))&&Ne.stop(!0)};return fe.finish=fe,ae||oe.queue===!1?this.each(fe):this.queue(oe.queue,fe)},stop:function(M,D,N){var Y=function(ae){var oe=ae.stop;delete ae.stop,oe(N)};return typeof M!="string"&&(N=D,D=M,M=void 0),D&&this.queue(M||"fx",[]),this.each(function(){var ae=!0,oe=M!=null&&M+"queueHooks",fe=y.timers,Ne=Se.get(this);if(oe)Ne[oe]&&Ne[oe].stop&&Y(Ne[oe]);else for(oe in Ne)Ne[oe]&&Ne[oe].stop&&Rl.test(oe)&&Y(Ne[oe]);for(oe=fe.length;oe--;)fe[oe].elem===this&&(M==null||fe[oe].queue===M)&&(fe[oe].anim.stop(N),ae=!1,fe.splice(oe,1));(ae||!N)&&y.dequeue(this,M)})},finish:function(M){return M!==!1&&(M=M||"fx"),this.each(function(){var D,N=Se.get(this),Y=N[M+"queue"],ae=N[M+"queueHooks"],oe=y.timers,fe=Y?Y.length:0;for(N.finish=!0,y.queue(this,M,[]),ae&&ae.stop&&ae.stop.call(this,!0),D=oe.length;D--;)oe[D].elem===this&&oe[D].queue===M&&(oe[D].anim.stop(!0),oe.splice(D,1));for(D=0;D<fe;D++)Y[D]&&Y[D].finish&&Y[D].finish.call(this);delete N.finish})}}),y.each(["toggle","show","hide"],function(M,D){var N=y.fn[D];y.fn[D]=function(Y,ae,oe){return Y==null||typeof Y=="boolean"?N.apply(this,arguments):this.animate(jl(D,!0),Y,ae,oe)}}),y.each({slideDown:jl("show"),slideUp:jl("hide"),slideToggle:jl("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(M,D){y.fn[M]=function(N,Y,ae){return this.animate(D,N,Y,ae)}}),y.timers=[],y.fx.tick=function(){var M,D=0,N=y.timers;for(Xn=Date.now();D<N.length;D++)M=N[D],!M()&&N[D]===M&&N.splice(D--,1);N.length||y.fx.stop(),Xn=void 0},y.fx.timer=function(M){y.timers.push(M),y.fx.start()},y.fx.interval=13,y.fx.start=function(){Ma||(Ma=!0,fs())},y.fx.stop=function(){Ma=null},y.fx.speeds={slow:600,fast:200,_default:400},y.fn.delay=function(M,D){return M=y.fx&&y.fx.speeds[M]||M,D=D||"fx",this.queue(D,function(N,Y){var ae=i.setTimeout(N,M);Y.stop=function(){i.clearTimeout(ae)}})},function(){var M=g.createElement("input"),D=g.createElement("select"),N=D.appendChild(g.createElement("option"));M.type="checkbox",m.checkOn=M.value!=="",m.optSelected=N.selected,M=g.createElement("input"),M.value="t",M.type="radio",m.radioValue=M.value==="t"}();var _c,js=y.expr.attrHandle;y.fn.extend({attr:function(M,D){return S(this,y.attr,M,D,arguments.length>1)},removeAttr:function(M){return this.each(function(){y.removeAttr(this,M)})}}),y.extend({attr:function(M,D,N){var Y,ae,oe=M.nodeType;if(!(oe===3||oe===8||oe===2)){if(typeof M.getAttribute>"u")return y.prop(M,D,N);if((oe!==1||!y.isXMLDoc(M))&&(ae=y.attrHooks[D.toLowerCase()]||(y.expr.match.bool.test(D)?_c:void 0)),N!==void 0){if(N===null){y.removeAttr(M,D);return}return ae&&"set"in ae&&(Y=ae.set(M,N,D))!==void 0?Y:(M.setAttribute(D,N+""),N)}return ae&&"get"in ae&&(Y=ae.get(M,D))!==null?Y:(Y=y.find.attr(M,D),Y??void 0)}},attrHooks:{type:{set:function(M,D){if(!m.radioValue&&D==="radio"&&R(M,"input")){var N=M.value;return M.setAttribute("type",D),N&&(M.value=N),D}}}},removeAttr:function(M,D){var N,Y=0,ae=D&&D.match(Ue);if(ae&&M.nodeType===1)for(;N=ae[Y++];)M.removeAttribute(N)}}),_c={set:function(M,D,N){return D===!1?y.removeAttr(M,N):M.setAttribute(N,N),N}},y.each(y.expr.match.bool.source.match(/\w+/g),function(M,D){var N=js[D]||y.find.attr;js[D]=function(Y,ae,oe){var fe,Ne,De=ae.toLowerCase();return oe||(Ne=js[De],js[De]=fe,fe=N(Y,ae,oe)!=null?De:null,js[De]=Ne),fe}});var Vt=/^(?:input|select|textarea|button)$/i,Ce=/^(?:a|area)$/i;y.fn.extend({prop:function(M,D){return S(this,y.prop,M,D,arguments.length>1)},removeProp:function(M){return this.each(function(){delete this[y.propFix[M]||M]})}}),y.extend({prop:function(M,D,N){var Y,ae,oe=M.nodeType;if(!(oe===3||oe===8||oe===2))return(oe!==1||!y.isXMLDoc(M))&&(D=y.propFix[D]||D,ae=y.propHooks[D]),N!==void 0?ae&&"set"in ae&&(Y=ae.set(M,N,D))!==void 0?Y:M[D]=N:ae&&"get"in ae&&(Y=ae.get(M,D))!==null?Y:M[D]},propHooks:{tabIndex:{get:function(M){var D=y.find.attr(M,"tabindex");return D?parseInt(D,10):Vt.test(M.nodeName)||Ce.test(M.nodeName)&&M.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(y.propHooks.selected={get:function(M){var D=M.parentNode;return D&&D.parentNode&&D.parentNode.selectedIndex,null},set:function(M){var D=M.parentNode;D&&(D.selectedIndex,D.parentNode&&D.parentNode.selectedIndex)}}),y.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){y.propFix[this.toLowerCase()]=this});function nt(M){var D=M.match(Ue)||[];return D.join(" ")}function Mt(M){return M.getAttribute&&M.getAttribute("class")||""}function pi(M){return Array.isArray(M)?M:typeof M=="string"?M.match(Ue)||[]:[]}y.fn.extend({addClass:function(M){var D,N,Y,ae,oe,fe;return _(M)?this.each(function(Ne){y(this).addClass(M.call(this,Ne,Mt(this)))}):(D=pi(M),D.length?this.each(function(){if(Y=Mt(this),N=this.nodeType===1&&" "+nt(Y)+" ",N){for(oe=0;oe<D.length;oe++)ae=D[oe],N.indexOf(" "+ae+" ")<0&&(N+=ae+" ");fe=nt(N),Y!==fe&&this.setAttribute("class",fe)}}):this)},removeClass:function(M){var D,N,Y,ae,oe,fe;return _(M)?this.each(function(Ne){y(this).removeClass(M.call(this,Ne,Mt(this)))}):arguments.length?(D=pi(M),D.length?this.each(function(){if(Y=Mt(this),N=this.nodeType===1&&" "+nt(Y)+" ",N){for(oe=0;oe<D.length;oe++)for(ae=D[oe];N.indexOf(" "+ae+" ")>-1;)N=N.replace(" "+ae+" "," ");fe=nt(N),Y!==fe&&this.setAttribute("class",fe)}}):this):this.attr("class","")},toggleClass:function(M,D){var N,Y,ae,oe,fe=typeof M,Ne=fe==="string"||Array.isArray(M);return _(M)?this.each(function(De){y(this).toggleClass(M.call(this,De,Mt(this),D),D)}):typeof D=="boolean"&&Ne?D?this.addClass(M):this.removeClass(M):(N=pi(M),this.each(function(){if(Ne)for(oe=y(this),ae=0;ae<N.length;ae++)Y=N[ae],oe.hasClass(Y)?oe.removeClass(Y):oe.addClass(Y);else(M===void 0||fe==="boolean")&&(Y=Mt(this),Y&&Se.set(this,"__className__",Y),this.setAttribute&&this.setAttribute("class",Y||M===!1?"":Se.get(this,"__className__")||""))}))},hasClass:function(M){var D,N,Y=0;for(D=" "+M+" ";N=this[Y++];)if(N.nodeType===1&&(" "+nt(Mt(N))+" ").indexOf(D)>-1)return!0;return!1}});var Fi=/\r/g;y.fn.extend({val:function(M){var D,N,Y,ae=this[0];return arguments.length?(Y=_(M),this.each(function(oe){var fe;this.nodeType===1&&(Y?fe=M.call(this,oe,y(this).val()):fe=M,fe==null?fe="":typeof fe=="number"?fe+="":Array.isArray(fe)&&(fe=y.map(fe,function(Ne){return Ne==null?"":Ne+""})),D=y.valHooks[this.type]||y.valHooks[this.nodeName.toLowerCase()],(!D||!("set"in D)||D.set(this,fe,"value")===void 0)&&(this.value=fe))})):ae?(D=y.valHooks[ae.type]||y.valHooks[ae.nodeName.toLowerCase()],D&&"get"in D&&(N=D.get(ae,"value"))!==void 0?N:(N=ae.value,typeof N=="string"?N.replace(Fi,""):N??"")):void 0}}),y.extend({valHooks:{option:{get:function(M){var D=y.find.attr(M,"value");return D??nt(y.text(M))}},select:{get:function(M){var D,N,Y,ae=M.options,oe=M.selectedIndex,fe=M.type==="select-one",Ne=fe?null:[],De=fe?oe+1:ae.length;for(oe<0?Y=De:Y=fe?oe:0;Y<De;Y++)if(N=ae[Y],(N.selected||Y===oe)&&!N.disabled&&(!N.parentNode.disabled||!R(N.parentNode,"optgroup"))){if(D=y(N).val(),fe)return D;Ne.push(D)}return Ne},set:function(M,D){for(var N,Y,ae=M.options,oe=y.makeArray(D),fe=ae.length;fe--;)Y=ae[fe],(Y.selected=y.inArray(y.valHooks.option.get(Y),oe)>-1)&&(N=!0);return N||(M.selectedIndex=-1),oe}}}}),y.each(["radio","checkbox"],function(){y.valHooks[this]={set:function(M,D){if(Array.isArray(D))return M.checked=y.inArray(y(M).val(),D)>-1}},m.checkOn||(y.valHooks[this].get=function(M){return M.getAttribute("value")===null?"on":M.value})});var Di=i.location,ka={guid:Date.now()},Qa=/\?/;y.parseXML=function(M){var D,N;if(!M||typeof M!="string")return null;try{D=new i.DOMParser().parseFromString(M,"text/xml")}catch{}return N=D&&D.getElementsByTagName("parsererror")[0],(!D||N)&&y.error("Invalid XML: "+(N?y.map(N.childNodes,function(Y){return Y.textContent}).join(`
`):M)),D};var lr=/^(?:focusinfocus|focusoutblur)$/,eo=function(M){M.stopPropagation()};y.extend(y.event,{trigger:function(M,D,N,Y){var ae,oe,fe,Ne,De,Ze,gt,wt,rt=[N||g],Pt=d.call(M,"type")?M.type:M,qi=d.call(M,"namespace")?M.namespace.split("."):[];if(oe=wt=fe=N=N||g,!(N.nodeType===3||N.nodeType===8)&&!lr.test(Pt+y.event.triggered)&&(Pt.indexOf(".")>-1&&(qi=Pt.split("."),Pt=qi.shift(),qi.sort()),De=Pt.indexOf(":")<0&&"on"+Pt,M=M[y.expando]?M:new y.Event(Pt,typeof M=="object"&&M),M.isTrigger=Y?2:3,M.namespace=qi.join("."),M.rnamespace=M.namespace?new RegExp("(^|\\.)"+qi.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,M.result=void 0,M.target||(M.target=N),D=D==null?[M]:y.makeArray(D,[M]),gt=y.event.special[Pt]||{},!(!Y&&gt.trigger&&gt.trigger.apply(N,D)===!1))){if(!Y&&!gt.noBubble&&!f(N)){for(Ne=gt.delegateType||Pt,lr.test(Ne+Pt)||(oe=oe.parentNode);oe;oe=oe.parentNode)rt.push(oe),fe=oe;fe===(N.ownerDocument||g)&&rt.push(fe.defaultView||fe.parentWindow||i)}for(ae=0;(oe=rt[ae++])&&!M.isPropagationStopped();)wt=oe,M.type=ae>1?Ne:gt.bindType||Pt,Ze=(Se.get(oe,"events")||Object.create(null))[M.type]&&Se.get(oe,"handle"),Ze&&Ze.apply(oe,D),Ze=De&&oe[De],Ze&&Ze.apply&&be(oe)&&(M.result=Ze.apply(oe,D),M.result===!1&&M.preventDefault());return M.type=Pt,!Y&&!M.isDefaultPrevented()&&(!gt._default||gt._default.apply(rt.pop(),D)===!1)&&be(N)&&De&&_(N[Pt])&&!f(N)&&(fe=N[De],fe&&(N[De]=null),y.event.triggered=Pt,M.isPropagationStopped()&&wt.addEventListener(Pt,eo),N[Pt](),M.isPropagationStopped()&&wt.removeEventListener(Pt,eo),y.event.triggered=void 0,fe&&(N[De]=fe)),M.result}},simulate:function(M,D,N){var Y=y.extend(new y.Event,N,{type:M,isSimulated:!0});y.event.trigger(Y,null,D)}}),y.fn.extend({trigger:function(M,D){return this.each(function(){y.event.trigger(M,D,this)})},triggerHandler:function(M,D){var N=this[0];if(N)return y.event.trigger(M,D,N,!0)}});var ta=/\[\]$/,to=/\r?\n/g,Sf=/^(?:submit|button|image|reset|file)$/i,zy=/^(?:input|select|textarea|keygen)/i;function zf(M,D,N,Y){var ae;if(Array.isArray(D))y.each(D,function(oe,fe){N||ta.test(M)?Y(M,fe):zf(M+"["+(typeof fe=="object"&&fe!=null?oe:"")+"]",fe,N,Y)});else if(!N&&x(D)==="object")for(ae in D)zf(M+"["+ae+"]",D[ae],N,Y);else Y(M,D)}y.param=function(M,D){var N,Y=[],ae=function(oe,fe){var Ne=_(fe)?fe():fe;Y[Y.length]=encodeURIComponent(oe)+"="+encodeURIComponent(Ne??"")};if(M==null)return"";if(Array.isArray(M)||M.jquery&&!y.isPlainObject(M))y.each(M,function(){ae(this.name,this.value)});else for(N in M)zf(N,M[N],D,ae);return Y.join("&")},y.fn.extend({serialize:function(){return y.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var M=y.prop(this,"elements");return M?y.makeArray(M):this}).filter(function(){var M=this.type;return this.name&&!y(this).is(":disabled")&&zy.test(this.nodeName)&&!Sf.test(M)&&(this.checked||!Xt.test(M))}).map(function(M,D){var N=y(this).val();return N==null?null:Array.isArray(N)?y.map(N,function(Y){return{name:D.name,value:Y.replace(to,`\r
`)}}):{name:D.name,value:N.replace(to,`\r
`)}}).get()}});var H1=/%20/g,G1=/#.*$/,Ey=/([?&])_=[^&]*/,Ef=/^(.*?):[ \t]*([^\r\n]*)$/mg,My=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,sd=/^(?:GET|HEAD)$/,Ty=/^\/\//,Mf={},gp={},Tf="*/".concat("*"),Xr=g.createElement("a");Xr.href=Di.href;function cl(M){return function(D,N){typeof D!="string"&&(N=D,D="*");var Y,ae=0,oe=D.toLowerCase().match(Ue)||[];if(_(N))for(;Y=oe[ae++];)Y[0]==="+"?(Y=Y.slice(1)||"*",(M[Y]=M[Y]||[]).unshift(N)):(M[Y]=M[Y]||[]).push(N)}}function r_(M,D,N,Y){var ae={},oe=M===gp;function fe(Ne){var De;return ae[Ne]=!0,y.each(M[Ne]||[],function(Ze,gt){var wt=gt(D,N,Y);if(typeof wt=="string"&&!oe&&!ae[wt])return D.dataTypes.unshift(wt),fe(wt),!1;if(oe)return!(De=wt)}),De}return fe(D.dataTypes[0])||!ae["*"]&&fe("*")}function Qd(M,D){var N,Y,ae=y.ajaxSettings.flatOptions||{};for(N in D)D[N]!==void 0&&((ae[N]?M:Y||(Y={}))[N]=D[N]);return Y&&y.extend(!0,M,Y),M}function Af(M,D,N){for(var Y,ae,oe,fe,Ne=M.contents,De=M.dataTypes;De[0]==="*";)De.shift(),Y===void 0&&(Y=M.mimeType||D.getResponseHeader("Content-Type"));if(Y){for(ae in Ne)if(Ne[ae]&&Ne[ae].test(Y)){De.unshift(ae);break}}if(De[0]in N)oe=De[0];else{for(ae in N){if(!De[0]||M.converters[ae+" "+De[0]]){oe=ae;break}fe||(fe=ae)}oe=oe||fe}if(oe)return oe!==De[0]&&De.unshift(oe),N[oe]}function Cf(M,D,N,Y){var ae,oe,fe,Ne,De,Ze={},gt=M.dataTypes.slice();if(gt[1])for(fe in M.converters)Ze[fe.toLowerCase()]=M.converters[fe];for(oe=gt.shift();oe;)if(M.responseFields[oe]&&(N[M.responseFields[oe]]=D),!De&&Y&&M.dataFilter&&(D=M.dataFilter(D,M.dataType)),De=oe,oe=gt.shift(),oe){if(oe==="*")oe=De;else if(De!=="*"&&De!==oe){if(fe=Ze[De+" "+oe]||Ze["* "+oe],!fe){for(ae in Ze)if(Ne=ae.split(" "),Ne[1]===oe&&(fe=Ze[De+" "+Ne[0]]||Ze["* "+Ne[0]],fe)){fe===!0?fe=Ze[ae]:Ze[ae]!==!0&&(oe=Ne[0],gt.unshift(Ne[1]));break}}if(fe!==!0)if(fe&&M.throws)D=fe(D);else try{D=fe(D)}catch(wt){return{state:"parsererror",error:fe?wt:"No conversion from "+De+" to "+oe}}}}return{state:"success",data:D}}y.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Di.href,type:"GET",isLocal:My.test(Di.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Tf,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":y.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(M,D){return D?Qd(Qd(M,y.ajaxSettings),D):Qd(y.ajaxSettings,M)},ajaxPrefilter:cl(Mf),ajaxTransport:cl(gp),ajax:function(M,D){typeof M=="object"&&(D=M,M=void 0),D=D||{};var N,Y,ae,oe,fe,Ne,De,Ze,gt,wt,rt=y.ajaxSetup({},D),Pt=rt.context||rt,qi=rt.context&&(Pt.nodeType||Pt.jquery)?y(Pt):y.event,Cn=y.Deferred(),tn=y.Callbacks("once memory"),tr=rt.statusCode||{},La={},dl={},Is="canceled",hn={readyState:0,getResponseHeader:function(Dn){var Na;if(De){if(!oe)for(oe={};Na=Ef.exec(ae);)oe[Na[1].toLowerCase()+" "]=(oe[Na[1].toLowerCase()+" "]||[]).concat(Na[2]);Na=oe[Dn.toLowerCase()+" "]}return Na==null?null:Na.join(", ")},getAllResponseHeaders:function(){return De?ae:null},setRequestHeader:function(Dn,Na){return De==null&&(Dn=dl[Dn.toLowerCase()]=dl[Dn.toLowerCase()]||Dn,La[Dn]=Na),this},overrideMimeType:function(Dn){return De==null&&(rt.mimeType=Dn),this},statusCode:function(Dn){var Na;if(Dn)if(De)hn.always(Dn[hn.status]);else for(Na in Dn)tr[Na]=[tr[Na],Dn[Na]];return this},abort:function(Dn){var Na=Dn||Is;return N&&N.abort(Na),Do(0,Na),this}};if(Cn.promise(hn),rt.url=((M||rt.url||Di.href)+"").replace(Ty,Di.protocol+"//"),rt.type=D.method||D.type||rt.method||rt.type,rt.dataTypes=(rt.dataType||"*").toLowerCase().match(Ue)||[""],rt.crossDomain==null){Ne=g.createElement("a");try{Ne.href=rt.url,Ne.href=Ne.href,rt.crossDomain=Xr.protocol+"//"+Xr.host!=Ne.protocol+"//"+Ne.host}catch{rt.crossDomain=!0}}if(rt.data&&rt.processData&&typeof rt.data!="string"&&(rt.data=y.param(rt.data,rt.traditional)),r_(Mf,rt,D,hn),De)return hn;Ze=y.event&&rt.global,Ze&&y.active++===0&&y.event.trigger("ajaxStart"),rt.type=rt.type.toUpperCase(),rt.hasContent=!sd.test(rt.type),Y=rt.url.replace(G1,""),rt.hasContent?rt.data&&rt.processData&&(rt.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(rt.data=rt.data.replace(H1,"+")):(wt=rt.url.slice(Y.length),rt.data&&(rt.processData||typeof rt.data=="string")&&(Y+=(Qa.test(Y)?"&":"?")+rt.data,delete rt.data),rt.cache===!1&&(Y=Y.replace(Ey,"$1"),wt=(Qa.test(Y)?"&":"?")+"_="+ka.guid+++wt),rt.url=Y+wt),rt.ifModified&&(y.lastModified[Y]&&hn.setRequestHeader("If-Modified-Since",y.lastModified[Y]),y.etag[Y]&&hn.setRequestHeader("If-None-Match",y.etag[Y])),(rt.data&&rt.hasContent&&rt.contentType!==!1||D.contentType)&&hn.setRequestHeader("Content-Type",rt.contentType),hn.setRequestHeader("Accept",rt.dataTypes[0]&&rt.accepts[rt.dataTypes[0]]?rt.accepts[rt.dataTypes[0]]+(rt.dataTypes[0]!=="*"?", "+Tf+"; q=0.01":""):rt.accepts["*"]);for(gt in rt.headers)hn.setRequestHeader(gt,rt.headers[gt]);if(rt.beforeSend&&(rt.beforeSend.call(Pt,hn,rt)===!1||De))return hn.abort();if(Is="abort",tn.add(rt.complete),hn.done(rt.success),hn.fail(rt.error),N=r_(gp,rt,D,hn),!N)Do(-1,"No Transport");else{if(hn.readyState=1,Ze&&qi.trigger("ajaxSend",[hn,rt]),De)return hn;rt.async&&rt.timeout>0&&(fe=i.setTimeout(function(){hn.abort("timeout")},rt.timeout));try{De=!1,N.send(La,Do)}catch(Dn){if(De)throw Dn;Do(-1,Dn)}}function Do(Dn,Na,bp,Bf){var ul,yp,pl,hc,fc,gs=Na;De||(De=!0,fe&&i.clearTimeout(fe),N=void 0,ae=Bf||"",hn.readyState=Dn>0?4:0,ul=Dn>=200&&Dn<300||Dn===304,bp&&(hc=Af(rt,hn,bp)),!ul&&y.inArray("script",rt.dataTypes)>-1&&y.inArray("json",rt.dataTypes)<0&&(rt.converters["text script"]=function(){}),hc=Cf(rt,hc,hn,ul),ul?(rt.ifModified&&(fc=hn.getResponseHeader("Last-Modified"),fc&&(y.lastModified[Y]=fc),fc=hn.getResponseHeader("etag"),fc&&(y.etag[Y]=fc)),Dn===204||rt.type==="HEAD"?gs="nocontent":Dn===304?gs="notmodified":(gs=hc.state,yp=hc.data,pl=hc.error,ul=!pl)):(pl=gs,(Dn||!gs)&&(gs="error",Dn<0&&(Dn=0))),hn.status=Dn,hn.statusText=(Na||gs)+"",ul?Cn.resolveWith(Pt,[yp,gs,hn]):Cn.rejectWith(Pt,[hn,gs,pl]),hn.statusCode(tr),tr=void 0,Ze&&qi.trigger(ul?"ajaxSuccess":"ajaxError",[hn,rt,ul?yp:pl]),tn.fireWith(Pt,[hn,gs]),Ze&&(qi.trigger("ajaxComplete",[hn,rt]),--y.active||y.event.trigger("ajaxStop")))}return hn},getJSON:function(M,D,N){return y.get(M,D,N,"json")},getScript:function(M,D){return y.get(M,void 0,D,"script")}}),y.each(["get","post"],function(M,D){y[D]=function(N,Y,ae,oe){return _(Y)&&(oe=oe||ae,ae=Y,Y=void 0),y.ajax(y.extend({url:N,type:D,dataType:oe,data:Y,success:ae},y.isPlainObject(N)&&N))}}),y.ajaxPrefilter(function(M){var D;for(D in M.headers)D.toLowerCase()==="content-type"&&(M.contentType=M.headers[D]||"")}),y._evalUrl=function(M,D,N){return y.ajax({url:M,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(Y){y.globalEval(Y,D,N)}})},y.fn.extend({wrapAll:function(M){var D;return this[0]&&(_(M)&&(M=M.call(this[0])),D=y(M,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&D.insertBefore(this[0]),D.map(function(){for(var N=this;N.firstElementChild;)N=N.firstElementChild;return N}).append(this)),this},wrapInner:function(M){return _(M)?this.each(function(D){y(this).wrapInner(M.call(this,D))}):this.each(function(){var D=y(this),N=D.contents();N.length?N.wrapAll(M):D.append(M)})},wrap:function(M){var D=_(M);return this.each(function(N){y(this).wrapAll(D?M.call(this,N):M)})},unwrap:function(M){return this.parent(M).not("body").each(function(){y(this).replaceWith(this.childNodes)}),this}}),y.expr.pseudos.hidden=function(M){return!y.expr.pseudos.visible(M)},y.expr.pseudos.visible=function(M){return!!(M.offsetWidth||M.offsetHeight||M.getClientRects().length)},y.ajaxSettings.xhr=function(){try{return new i.XMLHttpRequest}catch{}};var eu={0:200,1223:204},tu=y.ajaxSettings.xhr();m.cors=!!tu&&"withCredentials"in tu,m.ajax=tu=!!tu,y.ajaxTransport(function(M){var D,N;if(m.cors||tu&&!M.crossDomain)return{send:function(Y,ae){var oe,fe=M.xhr();if(fe.open(M.type,M.url,M.async,M.username,M.password),M.xhrFields)for(oe in M.xhrFields)fe[oe]=M.xhrFields[oe];M.mimeType&&fe.overrideMimeType&&fe.overrideMimeType(M.mimeType),!M.crossDomain&&!Y["X-Requested-With"]&&(Y["X-Requested-With"]="XMLHttpRequest");for(oe in Y)fe.setRequestHeader(oe,Y[oe]);D=function(Ne){return function(){D&&(D=N=fe.onload=fe.onerror=fe.onabort=fe.ontimeout=fe.onreadystatechange=null,Ne==="abort"?fe.abort():Ne==="error"?typeof fe.status!="number"?ae(0,"error"):ae(fe.status,fe.statusText):ae(eu[fe.status]||fe.status,fe.statusText,(fe.responseType||"text")!=="text"||typeof fe.responseText!="string"?{binary:fe.response}:{text:fe.responseText},fe.getAllResponseHeaders()))}},fe.onload=D(),N=fe.onerror=fe.ontimeout=D("error"),fe.onabort!==void 0?fe.onabort=N:fe.onreadystatechange=function(){fe.readyState===4&&i.setTimeout(function(){D&&N()})},D=D("abort");try{fe.send(M.hasContent&&M.data||null)}catch(Ne){if(D)throw Ne}},abort:function(){D&&D()}}}),y.ajaxPrefilter(function(M){M.crossDomain&&(M.contents.script=!1)}),y.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(M){return y.globalEval(M),M}}}),y.ajaxPrefilter("script",function(M){M.cache===void 0&&(M.cache=!1),M.crossDomain&&(M.type="GET")}),y.ajaxTransport("script",function(M){if(M.crossDomain||M.scriptAttrs){var D,N;return{send:function(Y,ae){D=y("<script>").attr(M.scriptAttrs||{}).prop({charset:M.scriptCharset,src:M.url}).on("load error",N=function(oe){D.remove(),N=null,oe&&ae(oe.type==="error"?404:200,oe.type)}),g.head.appendChild(D[0])},abort:function(){N&&N()}}}});var s_=[],vp=/(=)\?(?=&|$)|\?\?/;y.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var M=s_.pop()||y.expando+"_"+ka.guid++;return this[M]=!0,M}}),y.ajaxPrefilter("json jsonp",function(M,D,N){var Y,ae,oe,fe=M.jsonp!==!1&&(vp.test(M.url)?"url":typeof M.data=="string"&&(M.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&vp.test(M.data)&&"data");if(fe||M.dataTypes[0]==="jsonp")return Y=M.jsonpCallback=_(M.jsonpCallback)?M.jsonpCallback():M.jsonpCallback,fe?M[fe]=M[fe].replace(vp,"$1"+Y):M.jsonp!==!1&&(M.url+=(Qa.test(M.url)?"&":"?")+M.jsonp+"="+Y),M.converters["script json"]=function(){return oe||y.error(Y+" was not called"),oe[0]},M.dataTypes[0]="json",ae=i[Y],i[Y]=function(){oe=arguments},N.always(function(){ae===void 0?y(i).removeProp(Y):i[Y]=ae,M[Y]&&(M.jsonpCallback=D.jsonpCallback,s_.push(Y)),oe&&_(ae)&&ae(oe[0]),oe=ae=void 0}),"script"}),m.createHTMLDocument=function(){var M=g.implementation.createHTMLDocument("").body;return M.innerHTML="<form></form><form></form>",M.childNodes.length===2}(),y.parseHTML=function(M,D,N){if(typeof M!="string")return[];typeof D=="boolean"&&(N=D,D=!1);var Y,ae,oe;return D||(m.createHTMLDocument?(D=g.implementation.createHTMLDocument(""),Y=D.createElement("base"),Y.href=g.location.href,D.head.appendChild(Y)):D=g),ae=K.exec(M),oe=!N&&[],ae?[D.createElement(ae[1])]:(ae=Ni([M],D,oe),oe&&oe.length&&y(oe).remove(),y.merge([],ae.childNodes))},y.fn.load=function(M,D,N){var Y,ae,oe,fe=this,Ne=M.indexOf(" ");return Ne>-1&&(Y=nt(M.slice(Ne)),M=M.slice(0,Ne)),_(D)?(N=D,D=void 0):D&&typeof D=="object"&&(ae="POST"),fe.length>0&&y.ajax({url:M,type:ae||"GET",dataType:"html",data:D}).done(function(De){oe=arguments,fe.html(Y?y("<div>").append(y.parseHTML(De)).find(Y):De)}).always(N&&function(De,Ze){fe.each(function(){N.apply(this,oe||[De.responseText,Ze,De])})}),this},y.expr.pseudos.animated=function(M){return y.grep(y.timers,function(D){return M===D.elem}).length},y.offset={setOffset:function(M,D,N){var Y,ae,oe,fe,Ne,De,Ze,gt=y.css(M,"position"),wt=y(M),rt={};gt==="static"&&(M.style.position="relative"),Ne=wt.offset(),oe=y.css(M,"top"),De=y.css(M,"left"),Ze=(gt==="absolute"||gt==="fixed")&&(oe+De).indexOf("auto")>-1,Ze?(Y=wt.position(),fe=Y.top,ae=Y.left):(fe=parseFloat(oe)||0,ae=parseFloat(De)||0),_(D)&&(D=D.call(M,N,y.extend({},Ne))),D.top!=null&&(rt.top=D.top-Ne.top+fe),D.left!=null&&(rt.left=D.left-Ne.left+ae),"using"in D?D.using.call(M,rt):wt.css(rt)}},y.fn.extend({offset:function(M){if(arguments.length)return M===void 0?this:this.each(function(ae){y.offset.setOffset(this,M,ae)});var D,N,Y=this[0];if(Y)return Y.getClientRects().length?(D=Y.getBoundingClientRect(),N=Y.ownerDocument.defaultView,{top:D.top+N.pageYOffset,left:D.left+N.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var M,D,N,Y=this[0],ae={top:0,left:0};if(y.css(Y,"position")==="fixed")D=Y.getBoundingClientRect();else{for(D=this.offset(),N=Y.ownerDocument,M=Y.offsetParent||N.documentElement;M&&(M===N.body||M===N.documentElement)&&y.css(M,"position")==="static";)M=M.parentNode;M&&M!==Y&&M.nodeType===1&&(ae=y(M).offset(),ae.top+=y.css(M,"borderTopWidth",!0),ae.left+=y.css(M,"borderLeftWidth",!0))}return{top:D.top-ae.top-y.css(Y,"marginTop",!0),left:D.left-ae.left-y.css(Y,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var M=this.offsetParent;M&&y.css(M,"position")==="static";)M=M.offsetParent;return M||Ee})}}),y.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(M,D){var N=D==="pageYOffset";y.fn[M]=function(Y){return S(this,function(ae,oe,fe){var Ne;if(f(ae)?Ne=ae:ae.nodeType===9&&(Ne=ae.defaultView),fe===void 0)return Ne?Ne[D]:ae[oe];Ne?Ne.scrollTo(N?Ne.pageXOffset:fe,N?fe:Ne.pageYOffset):ae[oe]=fe},M,Y,arguments.length)}}),y.each(["top","left"],function(M,D){y.cssHooks[D]=jn(m.pixelPosition,function(N,Y){if(Y)return Y=ua(N,D),en.test(Y)?y(N).position()[D]+"px":Y})}),y.each({Height:"height",Width:"width"},function(M,D){y.each({padding:"inner"+M,content:D,"":"outer"+M},function(N,Y){y.fn[Y]=function(ae,oe){var fe=arguments.length&&(N||typeof ae!="boolean"),Ne=N||(ae===!0||oe===!0?"margin":"border");return S(this,function(De,Ze,gt){var wt;return f(De)?Y.indexOf("outer")===0?De["inner"+M]:De.document.documentElement["client"+M]:De.nodeType===9?(wt=De.documentElement,Math.max(De.body["scroll"+M],wt["scroll"+M],De.body["offset"+M],wt["offset"+M],wt["client"+M])):gt===void 0?y.css(De,Ze,Ne):y.style(De,Ze,gt,Ne)},D,fe?ae:void 0,fe)}})}),y.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(M,D){y.fn[D]=function(N){return this.on(D,N)}}),y.fn.extend({bind:function(M,D,N){return this.on(M,null,D,N)},unbind:function(M,D){return this.off(M,null,D)},delegate:function(M,D,N,Y){return this.on(D,M,N,Y)},undelegate:function(M,D,N){return arguments.length===1?this.off(M,"**"):this.off(D,M||"**",N)},hover:function(M,D){return this.on("mouseenter",M).on("mouseleave",D||M)}}),y.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(M,D){y.fn[D]=function(N,Y){return arguments.length>0?this.on(D,null,N,Y):this.trigger(D)}});var q1=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;y.proxy=function(M,D){var N,Y,ae;if(typeof D=="string"&&(N=M[D],D=M,M=N),!!_(M))return Y=a.call(arguments,2),ae=function(){return M.apply(D||this,Y.concat(a.call(arguments)))},ae.guid=M.guid=M.guid||y.guid++,ae},y.holdReady=function(M){M?y.readyWait++:y.ready(!0)},y.isArray=Array.isArray,y.parseJSON=JSON.parse,y.nodeName=R,y.isFunction=_,y.isWindow=f,y.camelCase=ce,y.type=x,y.now=Date.now,y.isNumeric=function(M){var D=y.type(M);return(D==="number"||D==="string")&&!isNaN(M-parseFloat(M))},y.trim=function(M){return M==null?"":(M+"").replace(q1,"$1")},typeof define=="function"&&define.amd&&define("jquery",[],function(){return y});var W1=i.jQuery,Pf=i.$;return y.noConflict=function(M){return i.$===y&&(i.$=Pf),M&&i.jQuery===y&&(i.jQuery=W1),y},typeof e>"u"&&(i.jQuery=i.$=y),y})});var wI=Ft((OE,LE)=>{(function(i,e){typeof OE=="object"&&typeof LE<"u"?LE.exports=e():typeof define=="function"&&define.amd?define(e):(i=typeof globalThis<"u"?globalThis:i||self).Vue=e()})(OE,function(){"use strict";var i=Object.freeze({}),e=Array.isArray;function t(k){return k==null}function n(k){return k!=null}function a(k){return k===!0}function o(k){return typeof k=="string"||typeof k=="number"||typeof k=="symbol"||typeof k=="boolean"}function r(k){return typeof k=="function"}function s(k){return k!==null&&typeof k=="object"}var l=Object.prototype.toString;function c(k){return l.call(k)==="[object Object]"}function d(k){var T=parseFloat(String(k));return T>=0&&Math.floor(T)===T&&isFinite(k)}function u(k){return n(k)&&typeof k.then=="function"&&typeof k.catch=="function"}function p(k){return k==null?"":Array.isArray(k)||c(k)&&k.toString===l?JSON.stringify(k,m,2):String(k)}function m(k,T){return T&&T.__v_isRef?T.value:T}function _(k){var T=parseFloat(k);return isNaN(T)?k:T}function f(k,T){for(var B=Object.create(null),I=k.split(","),q=0;q<I.length;q++)B[I[q]]=!0;return T?function(G){return B[G.toLowerCase()]}:function(G){return B[G]}}var g=f("slot,component",!0),v=f("key,ref,slot,slot-scope,is");function b(k,T){var B=k.length;if(B){if(T===k[B-1])return void(k.length=B-1);var I=k.indexOf(T);if(I>-1)return k.splice(I,1)}}var x=Object.prototype.hasOwnProperty;function w(k,T){return x.call(k,T)}function E(k){var T=Object.create(null);return function(B){return T[B]||(T[B]=k(B))}}var y=/-(\w)/g,A=E(function(k){return k.replace(y,function(T,B){return B?B.toUpperCase():""})}),R=E(function(k){return k.charAt(0).toUpperCase()+k.slice(1)}),j=/\B([A-Z])/g,F=E(function(k){return k.replace(j,"-$1").toLowerCase()}),O=Function.prototype.bind?function(k,T){return k.bind(T)}:function(k,T){function B(I){var q=arguments.length;return q?q>1?k.apply(T,arguments):k.call(T,I):k.call(T)}return B._length=k.length,B};function L(k,T){T=T||0;for(var B=k.length-T,I=new Array(B);B--;)I[B]=k[B+T];return I}function U(k,T){for(var B in T)k[B]=T[B];return k}function J(k){for(var T={},B=0;B<k.length;B++)k[B]&&U(T,k[B]);return T}function ie(k,T,B){}var te=function(k,T,B){return!1},me=function(k){return k};function Q(k,T){if(k===T)return!0;var B=s(k),I=s(T);if(!B||!I)return!B&&!I&&String(k)===String(T);try{var q=Array.isArray(k),G=Array.isArray(T);if(q&&G)return k.length===T.length&&k.every(function(ve,qe){return Q(ve,T[qe])});if(k instanceof Date&&T instanceof Date)return k.getTime()===T.getTime();if(q||G)return!1;var se=Object.keys(k),ye=Object.keys(T);return se.length===ye.length&&se.every(function(ve){return Q(k[ve],T[ve])})}catch{return!1}}function H(k,T){for(var B=0;B<k.length;B++)if(Q(k[B],T))return B;return-1}function re(k){var T=!1;return function(){T||(T=!0,k.apply(this,arguments))}}function K(k,T){return k===T?k===0&&1/k!=1/T:k==k||T==T}var pe="data-server-rendered",xe=["component","directive","filter"],le=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],Be={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:te,isReservedAttr:te,isUnknownElement:te,getTagNamespace:ie,parsePlatformTagName:me,mustUseProp:te,async:!0,_lifecycleHooks:le},X=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function ne(k){var T=(k+"").charCodeAt(0);return T===36||T===95}function Me(k,T,B,I){Object.defineProperty(k,T,{value:B,enumerable:!!I,writable:!0,configurable:!0})}var Ue=new RegExp("[^".concat(X.source,".$_\\d]")),et="__proto__"in{},Qe=typeof window<"u",Ge=Qe&&window.navigator.userAgent.toLowerCase(),Ie=Ge&&/msie|trident/.test(Ge),Ke=Ge&&Ge.indexOf("msie 9.0")>0,z=Ge&&Ge.indexOf("edge/")>0;Ge&&Ge.indexOf("android");var C=Ge&&/iphone|ipad|ipod|ios/.test(Ge);Ge&&/chrome\/\d+/.test(Ge),Ge&&/phantomjs/.test(Ge);var S,P=Ge&&Ge.match(/firefox\/(\d+)/),V={}.watch,ee=!1;if(Qe)try{var ce={};Object.defineProperty(ce,"passive",{get:function(){ee=!0}}),window.addEventListener("test-passive",null,ce)}catch{}var be=function(){return S===void 0&&(S=!Qe&&typeof global<"u"&&global.process&&global.process.env.VUE_ENV==="server"),S},ge=Qe&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Se(k){return typeof k=="function"&&/native code/.test(k.toString())}var He,Ae=typeof Symbol<"u"&&Se(Symbol)&&typeof Reflect<"u"&&Se(Reflect.ownKeys);He=typeof Set<"u"&&Se(Set)?Set:function(){function k(){this.set=Object.create(null)}return k.prototype.has=function(T){return this.set[T]===!0},k.prototype.add=function(T){this.set[T]=!0},k.prototype.clear=function(){this.set=Object.create(null)},k}();var de=null;function Oe(k){k===void 0&&(k=null),k||de&&de._scope.off(),de=k,k&&k._scope.on()}var Je=function(){function k(T,B,I,q,G,se,ye,ve){this.tag=T,this.data=B,this.children=I,this.text=q,this.elm=G,this.ns=void 0,this.context=se,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=B&&B.key,this.componentOptions=ye,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=ve,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(k.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),k}(),dt=function(k){k===void 0&&(k="");var T=new Je;return T.text=k,T.isComment=!0,T};function ue(k){return new Je(void 0,void 0,void 0,String(k))}function Fe(k){var T=new Je(k.tag,k.data,k.children&&k.children.slice(),k.text,k.elm,k.context,k.componentOptions,k.asyncFactory);return T.ns=k.ns,T.isStatic=k.isStatic,T.key=k.key,T.isComment=k.isComment,T.fnContext=k.fnContext,T.fnOptions=k.fnOptions,T.fnScopeId=k.fnScopeId,T.asyncMeta=k.asyncMeta,T.isCloned=!0,T}typeof SuppressedError=="function"&&SuppressedError;var Ee=0,xt=[],_e=function(){for(var k=0;k<xt.length;k++){var T=xt[k];T.subs=T.subs.filter(function(B){return B}),T._pending=!1}xt.length=0},je=function(){function k(){this._pending=!1,this.id=Ee++,this.subs=[]}return k.prototype.addSub=function(T){this.subs.push(T)},k.prototype.removeSub=function(T){this.subs[this.subs.indexOf(T)]=null,this._pending||(this._pending=!0,xt.push(this))},k.prototype.depend=function(T){k.target&&k.target.addDep(this)},k.prototype.notify=function(T){for(var B=this.subs.filter(function(G){return G}),I=0,q=B.length;I<q;I++)B[I].update()},k}();je.target=null;var We=[];function pt(k){We.push(k),je.target=k}function At(){We.pop(),je.target=We[We.length-1]}var Rt=Array.prototype,Xt=Object.create(Rt);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(k){var T=Rt[k];Me(Xt,k,function(){for(var B=[],I=0;I<arguments.length;I++)B[I]=arguments[I];var q,G=T.apply(this,B),se=this.__ob__;switch(k){case"push":case"unshift":q=B;break;case"splice":q=B.slice(2)}return q&&se.observeArray(q),se.dep.notify(),G})});var Yt=Object.getOwnPropertyNames(Xt),fi={},vi=!0;function ri(k){vi=k}var ji={notify:ie,depend:ie,addSub:ie,removeSub:ie},bi=function(){function k(T,B,I){if(B===void 0&&(B=!1),I===void 0&&(I=!1),this.value=T,this.shallow=B,this.mock=I,this.dep=I?ji:new je,this.vmCount=0,Me(T,"__ob__",this),e(T)){if(!I)if(et)T.__proto__=Xt;else for(var q=0,G=Yt.length;q<G;q++)Me(T,ye=Yt[q],Xt[ye]);B||this.observeArray(T)}else{var se=Object.keys(T);for(q=0;q<se.length;q++){var ye;xa(T,ye=se[q],fi,void 0,B,I)}}}return k.prototype.observeArray=function(T){for(var B=0,I=T.length;B<I;B++)Ni(T[B],!1,this.mock)},k}();function Ni(k,T,B){return k&&w(k,"__ob__")&&k.__ob__ instanceof bi?k.__ob__:!vi||!B&&be()||!e(k)&&!c(k)||!Object.isExtensible(k)||k.__v_skip||Wt(k)||k instanceof Je?void 0:new bi(k,T,B)}function xa(k,T,B,I,q,G,se){se===void 0&&(se=!1);var ye=new je,ve=Object.getOwnPropertyDescriptor(k,T);if(!ve||ve.configurable!==!1){var qe=ve&&ve.get,Ye=ve&&ve.set;qe&&!Ye||B!==fi&&arguments.length!==2||(B=k[T]);var Re=q?B&&B.__ob__:Ni(B,!1,G);return Object.defineProperty(k,T,{enumerable:!0,configurable:!0,get:function(){var tt=qe?qe.call(k):B;return je.target&&(ye.depend(),Re&&(Re.dep.depend(),e(tt)&&Te(tt))),Wt(tt)&&!q?tt.value:tt},set:function(tt){var st=qe?qe.call(k):B;if(K(st,tt)){if(Ye)Ye.call(k,tt);else{if(qe)return;if(!q&&Wt(st)&&!Wt(tt))return void(st.value=tt);B=tt}Re=q?tt&&tt.__ob__:Ni(tt,!1,G),ye.notify()}}}),ye}}function da(k,T,B){if(!Ai(k)){var I=k.__ob__;return e(k)&&d(T)?(k.length=Math.max(k.length,T),k.splice(T,1,B),I&&!I.shallow&&I.mock&&Ni(B,!1,!0),B):T in k&&!(T in Object.prototype)?(k[T]=B,B):k._isVue||I&&I.vmCount?B:I?(xa(I.value,T,B,void 0,I.shallow,I.mock),I.dep.notify(),B):(k[T]=B,B)}}function po(k,T){if(e(k)&&d(T))k.splice(T,1);else{var B=k.__ob__;k._isVue||B&&B.vmCount||Ai(k)||w(k,T)&&(delete k[T],B&&B.dep.notify())}}function Te(k){for(var T=void 0,B=0,I=k.length;B<I;B++)(T=k[B])&&T.__ob__&&T.__ob__.dep.depend(),e(T)&&Te(T)}function lt(k){return ot(k,!0),Me(k,"__v_isShallow",!0),k}function ot(k,T){Ai(k)||Ni(k,T,be())}function ft(k){return Ai(k)?ft(k.__v_raw):!(!k||!k.__ob__)}function Et(k){return!(!k||!k.__v_isShallow)}function Ai(k){return!(!k||!k.__v_isReadonly)}var Ii="__v_isRef";function Wt(k){return!(!k||k.__v_isRef!==!0)}function ti(k,T){if(Wt(k))return k;var B={};return Me(B,Ii,!0),Me(B,"__v_isShallow",T),Me(B,"dep",xa(B,"value",k,null,T,be())),B}function Jt(k,T,B){Object.defineProperty(k,B,{enumerable:!0,configurable:!0,get:function(){var I=T[B];if(Wt(I))return I.value;var q=I&&I.__ob__;return q&&q.dep.depend(),I},set:function(I){var q=T[B];Wt(q)&&!Wt(I)?q.value=I:T[B]=I}})}function Ci(k,T,B){var I=k[T];if(Wt(I))return I;var q={get value(){var G=k[T];return G===void 0?B:G},set value(G){k[T]=G}};return Me(q,Ii,!0),q}var zi="__v_rawToReadonly",en="__v_rawToShallowReadonly";function Un(k){return Ji(k,!1)}function Ji(k,T){if(!c(k)||Ai(k))return k;var B=T?en:zi,I=k[B];if(I)return I;var q=Object.create(Object.getPrototypeOf(k));Me(k,B,q),Me(q,"__v_isReadonly",!0),Me(q,"__v_raw",k),Wt(k)&&Me(q,Ii,!0),(T||Et(k))&&Me(q,"__v_isShallow",!0);for(var G=Object.keys(k),se=0;se<G.length;se++)jo(q,k,G[se],T);return q}function jo(k,T,B,I){Object.defineProperty(k,B,{enumerable:!0,configurable:!0,get:function(){var q=T[B];return I||!c(q)?q:Un(q)},set:function(){}})}var An=E(function(k){var T=k.charAt(0)==="&",B=(k=T?k.slice(1):k).charAt(0)==="~",I=(k=B?k.slice(1):k).charAt(0)==="!";return{name:k=I?k.slice(1):k,once:B,capture:I,passive:T}});function ua(k,T){function B(){var I=B.fns;if(!e(I))return Ze(I,null,arguments,T,"v-on handler");for(var q=I.slice(),G=0;G<q.length;G++)Ze(q[G],null,arguments,T,"v-on handler")}return B.fns=k,B}function jn(k,T,B,I,q,G){var se,ye,ve,qe;for(se in k)ye=k[se],ve=T[se],qe=An(se),t(ye)||(t(ve)?(t(ye.fns)&&(ye=k[se]=ua(ye,G)),a(qe.once)&&(ye=k[se]=q(qe.name,ye,qe.capture)),B(qe.name,ye,qe.capture,qe.passive,qe.params)):ye!==ve&&(ve.fns=ye,k[se]=ve));for(se in T)t(k[se])&&I((qe=An(se)).name,T[se],qe.capture)}function _n(k,T,B){var I;k instanceof Je&&(k=k.data.hook||(k.data.hook={}));var q=k[T];function G(){B.apply(this,arguments),b(I.fns,G)}t(q)?I=ua([G]):n(q.fns)&&a(q.merged)?(I=q).fns.push(G):I=ua([q,G]),I.merged=!0,k[T]=I}function Ea(k,T,B,I,q){if(n(T)){if(w(T,B))return k[B]=T[B],q||delete T[B],!0;if(w(T,I))return k[B]=T[I],q||delete T[I],!0}return!1}function ja(k){return o(k)?[ue(k)]:e(k)?mo(k):void 0}function xr(k){return n(k)&&n(k.text)&&k.isComment===!1}function mo(k,T){var B,I,q,G,se=[];for(B=0;B<k.length;B++)t(I=k[B])||typeof I=="boolean"||(G=se[q=se.length-1],e(I)?I.length>0&&(xr((I=mo(I,"".concat(T||"","_").concat(B)))[0])&&xr(G)&&(se[q]=ue(G.text+I[0].text),I.shift()),se.push.apply(se,I)):o(I)?xr(G)?se[q]=ue(G.text+I):I!==""&&se.push(ue(I)):xr(I)&&xr(G)?se[q]=ue(G.text+I.text):(a(k._isVList)&&n(I.tag)&&t(I.key)&&n(T)&&(I.key="__vlist".concat(T,"_").concat(B,"__")),se.push(I)));return se}var Qo=1,Io=2;function er(k,T,B,I,q,G){return(e(B)||o(B))&&(q=I,I=B,B=void 0),a(G)&&(q=Io),function(se,ye,ve,qe,Ye){if(n(ve)&&n(ve.__ob__)||(n(ve)&&n(ve.is)&&(ye=ve.is),!ye))return dt();e(qe)&&r(qe[0])&&((ve=ve||{}).scopedSlots={default:qe[0]},qe.length=0),Ye===Io?qe=ja(qe):Ye===Qo&&(qe=function(ut){for(var Tt=0;Tt<ut.length;Tt++)if(e(ut[Tt]))return Array.prototype.concat.apply([],ut);return ut}(qe));var Re,tt;if(typeof ye=="string"){var st=void 0;tt=se.$vnode&&se.$vnode.ns||Be.getTagNamespace(ye),Re=Be.isReservedTag(ye)?new Je(Be.parsePlatformTagName(ye),ve,qe,void 0,void 0,se):ve&&ve.pre||!n(st=Zt(se.$options,"components",ye))?new Je(ye,ve,qe,void 0,void 0,se):p_(st,ve,se,qe,ye)}else Re=p_(ye,ve,se,qe);return e(Re)?Re:n(Re)?(n(tt)&&ui(Re,tt),n(ve)&&function(ut){s(ut.style)&&iu(ut.style),s(ut.class)&&iu(ut.class)}(ve),Re):dt()}(k,T,B,I,q)}function ui(k,T,B){if(k.ns=T,k.tag==="foreignObject"&&(T=void 0,B=!0),n(k.children))for(var I=0,q=k.children.length;I<q;I++){var G=k.children[I];n(G.tag)&&(t(G.ns)||a(B)&&G.tag!=="svg")&&ui(G,T,B)}}function Ei(k,T){var B,I,q,G,se=null;if(e(k)||typeof k=="string")for(se=new Array(k.length),B=0,I=k.length;B<I;B++)se[B]=T(k[B],B);else if(typeof k=="number")for(se=new Array(k),B=0;B<k;B++)se[B]=T(B+1,B);else if(s(k))if(Ae&&k[Symbol.iterator]){se=[];for(var ye=k[Symbol.iterator](),ve=ye.next();!ve.done;)se.push(T(ve.value,se.length)),ve=ye.next()}else for(q=Object.keys(k),se=new Array(q.length),B=0,I=q.length;B<I;B++)G=q[B],se[B]=T(k[G],G,B);return n(se)||(se=[]),se._isVList=!0,se}function dn(k,T,B,I){var q,G=this.$scopedSlots[k];G?(B=B||{},I&&(B=U(U({},I),B)),q=G(B)||(r(T)?T():T)):q=this.$slots[k]||(r(T)?T():T);var se=B&&B.slot;return se?this.$createElement("template",{slot:se},q):q}function ai(k){return Zt(this.$options,"filters",k)||me}function Xn(k,T){return e(k)?k.indexOf(T)===-1:k!==T}function Ma(k,T,B,I,q){var G=Be.keyCodes[T]||B;return q&&I&&!Be.keyCodes[T]?Xn(q,I):G?Xn(G,k):I?F(I)!==T:k===void 0}function pc(k,T,B,I,q){if(B&&s(B)){e(B)&&(B=J(B));var G=void 0,se=function(ve){if(ve==="class"||ve==="style"||v(ve))G=k;else{var qe=k.attrs&&k.attrs.type;G=I||Be.mustUseProp(T,qe,ve)?k.domProps||(k.domProps={}):k.attrs||(k.attrs={})}var Ye=A(ve),Re=F(ve);Ye in G||Re in G||(G[ve]=B[ve],q&&((k.on||(k.on={}))["update:".concat(ve)]=function(tt){B[ve]=tt}))};for(var ye in B)se(ye)}return k}function Rl(k,T){var B=this._staticTrees||(this._staticTrees=[]),I=B[k];return I&&!T||mc(I=B[k]=this.$options.staticRenderFns[k].call(this._renderProxy,this._c,this),"__static__".concat(k),!1),I}function fs(k,T,B){return mc(k,"__once__".concat(T).concat(B?"_".concat(B):""),!0),k}function mc(k,T,B){if(e(k))for(var I=0;I<k.length;I++)k[I]&&typeof k[I]!="string"&&jl(k[I],"".concat(T,"_").concat(I),B);else jl(k,T,B)}function jl(k,T,B){k.isStatic=!0,k.key=T,k.isOnce=B}function fp(k,T){if(T&&c(T)){var B=k.on=k.on?U({},k.on):{};for(var I in T){var q=B[I],G=T[I];B[I]=q?[].concat(q,G):G}}return k}function o_(k,T,B,I){T=T||{$stable:!B};for(var q=0;q<k.length;q++){var G=k[q];e(G)?o_(G,T,B):G&&(G.proxy&&(G.fn.proxy=!0),T[G.key]=G.fn)}return I&&(T.$key=I),T}function wf(k,T){for(var B=0;B<T.length;B+=2){var I=T[B];typeof I=="string"&&I&&(k[T[B]]=T[B+1])}return k}function Dr(k,T){return typeof k=="string"?T+k:k}function _c(k){k._o=fs,k._n=_,k._s=p,k._l=Ei,k._t=dn,k._q=Q,k._i=H,k._m=Rl,k._f=ai,k._k=Ma,k._b=pc,k._v=ue,k._e=dt,k._u=o_,k._g=fp,k._d=wf,k._p=Dr}function js(k,T){if(!k||!k.length)return{};for(var B={},I=0,q=k.length;I<q;I++){var G=k[I],se=G.data;if(se&&se.attrs&&se.attrs.slot&&delete se.attrs.slot,G.context!==T&&G.fnContext!==T||!se||se.slot==null)(B.default||(B.default=[])).push(G);else{var ye=se.slot,ve=B[ye]||(B[ye]=[]);G.tag==="template"?ve.push.apply(ve,G.children||[]):ve.push(G)}}for(var qe in B)B[qe].every(Vt)&&delete B[qe];return B}function Vt(k){return k.isComment&&!k.asyncFactory||k.text===" "}function Ce(k){return k.isComment&&k.asyncFactory}function nt(k,T,B,I){var q,G=Object.keys(B).length>0,se=T?!!T.$stable:!G,ye=T&&T.$key;if(T){if(T._normalized)return T._normalized;if(se&&I&&I!==i&&ye===I.$key&&!G&&!I.$hasNormal)return I;for(var ve in q={},T)T[ve]&&ve[0]!=="$"&&(q[ve]=Mt(k,B,ve,T[ve]))}else q={};for(var qe in B)qe in q||(q[qe]=pi(B,qe));return T&&Object.isExtensible(T)&&(T._normalized=q),Me(q,"$stable",se),Me(q,"$key",ye),Me(q,"$hasNormal",G),q}function Mt(k,T,B,I){var q=function(){var G=de;Oe(k);var se=arguments.length?I.apply(null,arguments):I({}),ye=(se=se&&typeof se=="object"&&!e(se)?[se]:ja(se))&&se[0];return Oe(G),se&&(!ye||se.length===1&&ye.isComment&&!Ce(ye))?void 0:se};return I.proxy&&Object.defineProperty(T,B,{get:q,enumerable:!0,configurable:!0}),q}function pi(k,T){return function(){return k[T]}}function Fi(k){return{get attrs(){if(!k._attrsProxy){var T=k._attrsProxy={};Me(T,"_v_attr_proxy",!0),Di(T,k.$attrs,i,k,"$attrs")}return k._attrsProxy},get listeners(){return k._listenersProxy||Di(k._listenersProxy={},k.$listeners,i,k,"$listeners"),k._listenersProxy},get slots(){return function(T){return T._slotsProxy||Qa(T._slotsProxy={},T.$scopedSlots),T._slotsProxy}(k)},emit:O(k.$emit,k),expose:function(T){T&&Object.keys(T).forEach(function(B){return Jt(k,T,B)})}}}function Di(k,T,B,I,q){var G=!1;for(var se in T)se in k?T[se]!==B[se]&&(G=!0):(G=!0,ka(k,se,I,q));for(var se in k)se in T||(G=!0,delete k[se]);return G}function ka(k,T,B,I){Object.defineProperty(k,T,{enumerable:!0,configurable:!0,get:function(){return B[I][T]}})}function Qa(k,T){for(var B in T)k[B]=T[B];for(var B in k)B in T||delete k[B]}function lr(){var k=de;return k._setupContext||(k._setupContext=Fi(k))}var eo,ta,to=null;function Sf(k,T){return(k.__esModule||Ae&&k[Symbol.toStringTag]==="Module")&&(k=k.default),s(k)?T.extend(k):k}function zy(k){if(e(k))for(var T=0;T<k.length;T++){var B=k[T];if(n(B)&&(n(B.componentOptions)||Ce(B)))return B}}function zf(k,T){eo.$on(k,T)}function H1(k,T){eo.$off(k,T)}function G1(k,T){var B=eo;return function I(){T.apply(null,arguments)!==null&&B.$off(k,I)}}function Ey(k,T,B){eo=k,jn(T,B||{},zf,H1,G1,k),eo=void 0}var Ef=function(){function k(T){T===void 0&&(T=!1),this.detached=T,this.active=!0,this.effects=[],this.cleanups=[],this.parent=ta,!T&&ta&&(this.index=(ta.scopes||(ta.scopes=[])).push(this)-1)}return k.prototype.run=function(T){if(this.active){var B=ta;try{return ta=this,T()}finally{ta=B}}},k.prototype.on=function(){ta=this},k.prototype.off=function(){ta=this.parent},k.prototype.stop=function(T){if(this.active){var B=void 0,I=void 0;for(B=0,I=this.effects.length;B<I;B++)this.effects[B].teardown();for(B=0,I=this.cleanups.length;B<I;B++)this.cleanups[B]();if(this.scopes)for(B=0,I=this.scopes.length;B<I;B++)this.scopes[B].stop(!0);if(!this.detached&&this.parent&&!T){var q=this.parent.scopes.pop();q&&q!==this&&(this.parent.scopes[this.index]=q,q.index=this.index)}this.parent=void 0,this.active=!1}},k}();function My(){return ta}var sd=null;function Ty(k){var T=sd;return sd=k,function(){sd=T}}function Mf(k){for(;k&&(k=k.$parent);)if(k._inactive)return!0;return!1}function gp(k,T){if(T){if(k._directInactive=!1,Mf(k))return}else if(k._directInactive)return;if(k._inactive||k._inactive===null){k._inactive=!1;for(var B=0;B<k.$children.length;B++)gp(k.$children[B]);Xr(k,"activated")}}function Tf(k,T){if(!(T&&(k._directInactive=!0,Mf(k))||k._inactive)){k._inactive=!0;for(var B=0;B<k.$children.length;B++)Tf(k.$children[B]);Xr(k,"deactivated")}}function Xr(k,T,B,I){I===void 0&&(I=!0),pt();var q=de,G=My();I&&Oe(k);var se=k.$options[T],ye="".concat(T," hook");if(se)for(var ve=0,qe=se.length;ve<qe;ve++)Ze(se[ve],k,B||null,k,ye);k._hasHookEvent&&k.$emit("hook:"+T),I&&(Oe(q),G&&G.on()),At()}var cl=[],r_=[],Qd={},Af=!1,Cf=!1,eu=0,tu=0,s_=Date.now;if(Qe&&!Ie){var vp=window.performance;vp&&typeof vp.now=="function"&&s_()>document.createEvent("Event").timeStamp&&(s_=function(){return vp.now()})}var q1=function(k,T){if(k.post){if(!T.post)return 1}else if(T.post)return-1;return k.id-T.id};function W1(){var k,T;for(tu=s_(),Cf=!0,cl.sort(q1),eu=0;eu<cl.length;eu++)(k=cl[eu]).before&&k.before(),T=k.id,Qd[T]=null,k.run();var B=r_.slice(),I=cl.slice();eu=cl.length=r_.length=0,Qd={},Af=Cf=!1,function(q){for(var G=0;G<q.length;G++)q[G]._inactive=!0,gp(q[G],!0)}(B),function(q){for(var G=q.length;G--;){var se=q[G],ye=se.vm;ye&&ye._watcher===se&&ye._isMounted&&!ye._isDestroyed&&Xr(ye,"updated")}}(I),_e(),ge&&Be.devtools&&ge.emit("flush")}function Pf(k){var T=k.id;if(Qd[T]==null&&(k!==je.target||!k.noRecurse)){if(Qd[T]=!0,Cf){for(var B=cl.length-1;B>eu&&cl[B].id>k.id;)B--;cl.splice(B+1,0,k)}else cl.push(k);Af||(Af=!0,hn(W1))}}var M="watcher",D="".concat(M," callback"),N="".concat(M," getter"),Y="".concat(M," cleanup");function ae(k,T){return fe(k,null,{flush:"post"})}var oe={};function fe(k,T,B){var I=B===void 0?i:B,q=I.immediate,G=I.deep,se=I.flush,ye=se===void 0?"pre":se;I.onTrack,I.onTrigger;var ve,qe,Ye=de,Re=function(Nt,Pn,Hi){Hi===void 0&&(Hi=null);var Oi=Ze(Nt,null,Hi,Ye,Pn);return G&&Oi&&Oi.__ob__&&Oi.__ob__.dep.depend(),Oi},tt=!1,st=!1;if(Wt(k)?(ve=function(){return k.value},tt=Et(k)):ft(k)?(ve=function(){return k.__ob__.dep.depend(),k},G=!0):e(k)?(st=!0,tt=k.some(function(Nt){return ft(Nt)||Et(Nt)}),ve=function(){return k.map(function(Nt){return Wt(Nt)?Nt.value:ft(Nt)?(Nt.__ob__.dep.depend(),iu(Nt)):r(Nt)?Re(Nt,N):void 0})}):ve=r(k)?T?function(){return Re(k,N)}:function(){if(!Ye||!Ye._isDestroyed)return qe&&qe(),Re(k,M,[Tt])}:ie,T&&G){var ut=ve;ve=function(){return iu(ut())}}var Tt=function(Nt){qe=St.onStop=function(){Re(Nt,Y)}};if(be())return Tt=ie,T?q&&Re(T,D,[ve(),st?[]:void 0,Tt]):ve(),ie;var St=new cr(de,ve,ie,{lazy:!0});St.noRecurse=!T;var ii=st?[]:oe;return St.run=function(){if(St.active)if(T){var Nt=St.get();(G||tt||(st?Nt.some(function(Pn,Hi){return K(Pn,ii[Hi])}):K(Nt,ii)))&&(qe&&qe(),Re(T,D,[Nt,ii===oe?void 0:ii,Tt]),ii=Nt)}else St.get()},ye==="sync"?St.update=St.run:ye==="post"?(St.post=!0,St.update=function(){return Pf(St)}):St.update=function(){if(Ye&&Ye===de&&!Ye._isMounted){var Nt=Ye._preWatchers||(Ye._preWatchers=[]);Nt.indexOf(St)<0&&Nt.push(St)}else Pf(St)},T?q?St.run():ii=St.get():ye==="post"&&Ye?Ye.$once("hook:mounted",function(){return St.get()}):St.get(),function(){St.teardown()}}function Ne(k){var T=k._provided,B=k.$parent&&k.$parent._provided;return B===T?k._provided=Object.create(B):T}function De(k,T,B){pt();try{if(T)for(var I=T;I=I.$parent;){var q=I.$options.errorCaptured;if(q)for(var G=0;G<q.length;G++)try{if(q[G].call(I,k,T,B)===!1)return}catch(se){gt(se,I,"errorCaptured hook")}}gt(k,T,B)}finally{At()}}function Ze(k,T,B,I,q){var G;try{(G=B?k.apply(T,B):k.call(T))&&!G._isVue&&u(G)&&!G._handled&&(G.catch(function(se){return De(se,I,q+" (Promise/async)")}),G._handled=!0)}catch(se){De(se,I,q)}return G}function gt(k,T,B){if(Be.errorHandler)try{return Be.errorHandler.call(null,k,T,B)}catch(I){I!==k&&wt(I)}wt(k)}function wt(k,T,B){if(!Qe||typeof console>"u")throw k;console.error(k)}var rt,Pt=!1,qi=[],Cn=!1;function tn(){Cn=!1;var k=qi.slice(0);qi.length=0;for(var T=0;T<k.length;T++)k[T]()}if(typeof Promise<"u"&&Se(Promise)){var tr=Promise.resolve();rt=function(){tr.then(tn),C&&setTimeout(ie)},Pt=!0}else if(Ie||typeof MutationObserver>"u"||!Se(MutationObserver)&&MutationObserver.toString()!=="[object MutationObserverConstructor]")rt=typeof setImmediate<"u"&&Se(setImmediate)?function(){setImmediate(tn)}:function(){setTimeout(tn,0)};else{var La=1,dl=new MutationObserver(tn),Is=document.createTextNode(String(La));dl.observe(Is,{characterData:!0}),rt=function(){La=(La+1)%2,Is.data=String(La)},Pt=!0}function hn(k,T){var B;if(qi.push(function(){if(k)try{k.call(T)}catch(I){De(I,T,"nextTick")}else B&&B(T)}),Cn||(Cn=!0,rt()),!k&&typeof Promise<"u")return new Promise(function(I){B=I})}function Do(k){return function(T,B){if(B===void 0&&(B=de),B)return function(I,q,G){var se=I.$options;se[q]=kt(se[q],G)}(B,k,T)}}var Dn=Do("beforeMount"),Na=Do("mounted"),bp=Do("beforeUpdate"),Bf=Do("updated"),ul=Do("beforeDestroy"),yp=Do("destroyed"),pl=Do("activated"),hc=Do("deactivated"),fc=Do("serverPrefetch"),gs=Do("renderTracked"),Rf=Do("renderTriggered"),Il=Do("errorCaptured"),ml="2.7.16",K1=Object.freeze({__proto__:null,version:ml,defineComponent:function(k){return k},ref:function(k){return ti(k,!1)},shallowRef:function(k){return ti(k,!0)},isRef:Wt,toRef:Ci,toRefs:function(k){var T=e(k)?new Array(k.length):{};for(var B in k)T[B]=Ci(k,B);return T},unref:function(k){return Wt(k)?k.value:k},proxyRefs:function(k){if(ft(k))return k;for(var T={},B=Object.keys(k),I=0;I<B.length;I++)Jt(T,k,B[I]);return T},customRef:function(k){var T=new je,B=k(function(){T.depend()},function(){T.notify()}),I=B.get,q=B.set,G={get value(){return I()},set value(se){q(se)}};return Me(G,Ii,!0),G},triggerRef:function(k){k.dep&&k.dep.notify()},reactive:function(k){return ot(k,!1),k},isReactive:ft,isReadonly:Ai,isShallow:Et,isProxy:function(k){return ft(k)||Ai(k)},shallowReactive:lt,markRaw:function(k){return Object.isExtensible(k)&&Me(k,"__v_skip",!0),k},toRaw:function k(T){var B=T&&T.__v_raw;return B?k(B):T},readonly:Un,shallowReadonly:function(k){return Ji(k,!0)},computed:function(k,T){var B,I,q=r(k);q?(B=k,I=ie):(B=k.get,I=k.set);var G=be()?null:new cr(de,B,ie,{lazy:!0}),se={effect:G,get value(){return G?(G.dirty&&G.evaluate(),je.target&&G.depend(),G.value):B()},set value(ye){I(ye)}};return Me(se,Ii,!0),Me(se,"__v_isReadonly",q),se},watch:function(k,T,B){return fe(k,T,B)},watchEffect:function(k,T){return fe(k,null,T)},watchPostEffect:ae,watchSyncEffect:function(k,T){return fe(k,null,{flush:"sync"})},EffectScope:Ef,effectScope:function(k){return new Ef(k)},onScopeDispose:function(k){ta&&ta.cleanups.push(k)},getCurrentScope:My,provide:function(k,T){de&&(Ne(de)[k]=T)},inject:function(k,T,B){B===void 0&&(B=!1);var I=de;if(I){var q=I.$parent&&I.$parent._provided;if(q&&k in q)return q[k];if(arguments.length>1)return B&&r(T)?T.call(I):T}},h:function(k,T,B){return er(de,k,T,B,2,!0)},getCurrentInstance:function(){return de&&{proxy:de}},useSlots:function(){return lr().slots},useAttrs:function(){return lr().attrs},useListeners:function(){return lr().listeners},mergeDefaults:function(k,T){var B=e(k)?k.reduce(function(G,se){return G[se]={},G},{}):k;for(var I in T){var q=B[I];q?e(q)||r(q)?B[I]={type:q,default:T[I]}:q.default=T[I]:q===null&&(B[I]={default:T[I]})}return B},nextTick:hn,set:da,del:po,useCssModule:function(k){return i},useCssVars:function(k){if(Qe){var T=de;T&&ae(function(){var B=T.$el,I=k(T,T._setupProxy);if(B&&B.nodeType===1){var q=B.style;for(var G in I)q.setProperty("--".concat(G),I[G])}})}},defineAsyncComponent:function(k){r(k)&&(k={loader:k});var T=k.loader,B=k.loadingComponent,I=k.errorComponent,q=k.delay,G=q===void 0?200:q,se=k.timeout;k.suspensible;var ye=k.onError,ve=null,qe=0,Ye=function(){var Re;return ve||(Re=ve=T().catch(function(tt){if(tt=tt instanceof Error?tt:new Error(String(tt)),ye)return new Promise(function(st,ut){ye(tt,function(){return st((qe++,ve=null,Ye()))},function(){return ut(tt)},qe+1)});throw tt}).then(function(tt){return Re!==ve&&ve?ve:(tt&&(tt.__esModule||tt[Symbol.toStringTag]==="Module")&&(tt=tt.default),tt)}))};return function(){return{component:Ye(),delay:G,timeout:se,error:I,loading:B}}},onBeforeMount:Dn,onMounted:Na,onBeforeUpdate:bp,onUpdated:Bf,onBeforeUnmount:ul,onUnmounted:yp,onActivated:pl,onDeactivated:hc,onServerPrefetch:fc,onRenderTracked:gs,onRenderTriggered:Rf,onErrorCaptured:function(k,T){T===void 0&&(T=de),Il(k,T)}}),Ay=new He;function iu(k){return On(k,Ay),Ay.clear(),k}function On(k,T){var B,I,q=e(k);if(!(!q&&!s(k)||k.__v_skip||Object.isFrozen(k)||k instanceof Je)){if(k.__ob__){var G=k.__ob__.dep.id;if(T.has(G))return;T.add(G)}if(q)for(B=k.length;B--;)On(k[B],T);else if(Wt(k))On(k.value,T);else for(B=(I=Object.keys(k)).length;B--;)On(k[I[B]],T)}}var l_=0,cr=function(){function k(T,B,I,q,G){(function(se,ye){ye===void 0&&(ye=ta),ye&&ye.active&&ye.effects.push(se)})(this,ta&&!ta._vm?ta:T?T._scope:void 0),(this.vm=T)&&G&&(T._watcher=this),q?(this.deep=!!q.deep,this.user=!!q.user,this.lazy=!!q.lazy,this.sync=!!q.sync,this.before=q.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=I,this.id=++l_,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new He,this.newDepIds=new He,this.expression="",r(B)?this.getter=B:(this.getter=function(se){if(!Ue.test(se)){var ye=se.split(".");return function(ve){for(var qe=0;qe<ye.length;qe++){if(!ve)return;ve=ve[ye[qe]]}return ve}}}(B),this.getter||(this.getter=ie)),this.value=this.lazy?void 0:this.get()}return k.prototype.get=function(){var T;pt(this);var B=this.vm;try{T=this.getter.call(B,B)}catch(I){if(!this.user)throw I;De(I,B,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&iu(T),At(),this.cleanupDeps()}return T},k.prototype.addDep=function(T){var B=T.id;this.newDepIds.has(B)||(this.newDepIds.add(B),this.newDeps.push(T),this.depIds.has(B)||T.addSub(this))},k.prototype.cleanupDeps=function(){for(var T=this.deps.length;T--;){var B=this.deps[T];this.newDepIds.has(B.id)||B.removeSub(this)}var I=this.depIds;this.depIds=this.newDepIds,this.newDepIds=I,this.newDepIds.clear(),I=this.deps,this.deps=this.newDeps,this.newDeps=I,this.newDeps.length=0},k.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Pf(this)},k.prototype.run=function(){if(this.active){var T=this.get();if(T!==this.value||s(T)||this.deep){var B=this.value;if(this.value=T,this.user){var I='callback for watcher "'.concat(this.expression,'"');Ze(this.cb,this.vm,[T,B],this.vm,I)}else this.cb.call(this.vm,T,B)}}},k.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},k.prototype.depend=function(){for(var T=this.deps.length;T--;)this.deps[T].depend()},k.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&b(this.vm._scope.effects,this),this.active){for(var T=this.deps.length;T--;)this.deps[T].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},k}(),Jr={enumerable:!0,configurable:!0,get:ie,set:ie};function jf(k,T,B){Jr.get=function(){return this[T][B]},Jr.set=function(I){this[T][B]=I},Object.defineProperty(k,B,Jr)}function $1(k){var T=k.$options;if(T.props&&function(I,q){var G=I.$options.propsData||{},se=I._props=lt({}),ye=I.$options._propKeys=[],ve=!I.$parent;ve||ri(!1);var qe=function(Re){ye.push(Re);var tt=fn(Re,q,G,I);xa(se,Re,tt,void 0,!0),Re in I||jf(I,"_props",Re)};for(var Ye in q)qe(Ye);ri(!0)}(k,T.props),function(I){var q=I.$options,G=q.setup;if(G){var se=I._setupContext=Fi(I);Oe(I),pt();var ye=Ze(G,null,[I._props||lt({}),se],I,"setup");if(At(),Oe(),r(ye))q.render=ye;else if(s(ye))if(I._setupState=ye,ye.__sfc){var ve=I._setupProxy={};for(var qe in ye)qe!=="__sfc"&&Jt(ve,ye,qe)}else for(var qe in ye)ne(qe)||Jt(I,ye,qe)}}(k),T.methods&&function(I,q){for(var G in I.$options.props,q)I[G]=typeof q[G]!="function"?ie:O(q[G],I)}(k,T.methods),T.data)(function(I){var q=I.$options.data;q=I._data=r(q)?function(Ye,Re){pt();try{return Ye.call(Re,Re)}catch(tt){return De(tt,Re,"data()"),{}}finally{At()}}(q,I):q||{},c(q)||(q={});var G=Object.keys(q),se=I.$options.props;I.$options.methods;for(var ye=G.length;ye--;){var ve=G[ye];se&&w(se,ve)||ne(ve)||jf(I,"_data",ve)}var qe=Ni(q);qe&&qe.vmCount++})(k);else{var B=Ni(k._data={});B&&B.vmCount++}T.computed&&function(I,q){var G=I._computedWatchers=Object.create(null),se=be();for(var ye in q){var ve=q[ye],qe=r(ve)?ve:ve.get;se||(G[ye]=new cr(I,qe||ie,ie,Cy)),ye in I||gc(I,ye,ve)}}(k,T.computed),T.watch&&T.watch!==V&&function(I,q){for(var G in q){var se=q[G];if(e(se))for(var ye=0;ye<se.length;ye++)d_(I,G,se[ye]);else d_(I,G,se)}}(k,T.watch)}var Cy={lazy:!0};function gc(k,T,B){var I=!be();r(B)?(Jr.get=I?c_(T):Dl(B),Jr.set=ie):(Jr.get=B.get?I&&B.cache!==!1?c_(T):Dl(B.get):ie,Jr.set=B.set||ie),Object.defineProperty(k,T,Jr)}function c_(k){return function(){var T=this._computedWatchers&&this._computedWatchers[k];if(T)return T.dirty&&T.evaluate(),je.target&&T.depend(),T.value}}function Dl(k){return function(){return k.call(this,this)}}function d_(k,T,B,I){return c(B)&&(I=B,B=B.handler),typeof B=="string"&&(B=k[B]),k.$watch(T,B,I)}function nu(k,T){if(k){for(var B=Object.create(null),I=Ae?Reflect.ownKeys(k):Object.keys(k),q=0;q<I.length;q++){var G=I[q];if(G!=="__ob__"){var se=k[G].from;if(se in T._provided)B[G]=T._provided[se];else if("default"in k[G]){var ye=k[G].default;B[G]=r(ye)?ye.call(T):ye}}}return B}}var u_=0;function au(k){var T=k.options;if(k.super){var B=au(k.super);if(B!==k.superOptions){k.superOptions=B;var I=function(q){var G,se=q.options,ye=q.sealedOptions;for(var ve in se)se[ve]!==ye[ve]&&(G||(G={}),G[ve]=se[ve]);return G}(k);I&&U(k.extendOptions,I),(T=k.options=mi(B,k.extendOptions)).name&&(T.components[T.name]=k)}}return T}function xp(k,T,B,I,q){var G,se=this,ye=q.options;w(I,"_uid")?(G=Object.create(I))._original=I:(G=I,I=I._original);var ve=a(ye._compiled),qe=!ve;this.data=k,this.props=T,this.children=B,this.parent=I,this.listeners=k.on||i,this.injections=nu(ye.inject,I),this.slots=function(){return se.$slots||nt(I,k.scopedSlots,se.$slots=js(B,I)),se.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return nt(I,k.scopedSlots,this.slots())}}),ve&&(this.$options=ye,this.$slots=this.slots(),this.$scopedSlots=nt(I,k.scopedSlots,this.$slots)),ye._scopeId?this._c=function(Ye,Re,tt,st){var ut=er(G,Ye,Re,tt,st,qe);return ut&&!e(ut)&&(ut.fnScopeId=ye._scopeId,ut.fnContext=I),ut}:this._c=function(Ye,Re,tt,st){return er(G,Ye,Re,tt,st,qe)}}function Py(k,T,B,I,q){var G=Fe(k);return G.fnContext=B,G.fnOptions=I,T.slot&&((G.data||(G.data={})).slot=T.slot),G}function kp(k,T){for(var B in T)k[A(B)]=T[B]}function ou(k){return k.name||k.__name||k._componentTag}_c(xp.prototype);var wp={init:function(k,T){if(k.componentInstance&&!k.componentInstance._isDestroyed&&k.data.keepAlive){var B=k;wp.prepatch(B,B)}else(k.componentInstance=function(I,q){var G={_isComponent:!0,_parentVnode:I,parent:q},se=I.data.inlineTemplate;return n(se)&&(G.render=se.render,G.staticRenderFns=se.staticRenderFns),new I.componentOptions.Ctor(G)}(k,sd)).$mount(T?k.elm:void 0,T)},prepatch:function(k,T){var B=T.componentOptions;(function(I,q,G,se,ye){var ve=se.data.scopedSlots,qe=I.$scopedSlots,Ye=!!(ve&&!ve.$stable||qe!==i&&!qe.$stable||ve&&I.$scopedSlots.$key!==ve.$key||!ve&&I.$scopedSlots.$key),Re=!!(ye||I.$options._renderChildren||Ye),tt=I.$vnode;I.$options._parentVnode=se,I.$vnode=se,I._vnode&&(I._vnode.parent=se),I.$options._renderChildren=ye;var st=se.data.attrs||i;I._attrsProxy&&Di(I._attrsProxy,st,tt.data&&tt.data.attrs||i,I,"$attrs")&&(Re=!0),I.$attrs=st,G=G||i;var ut=I.$options._parentListeners;if(I._listenersProxy&&Di(I._listenersProxy,G,ut||i,I,"$listeners"),I.$listeners=I.$options._parentListeners=G,Ey(I,G,ut),q&&I.$options.props){ri(!1);for(var Tt=I._props,St=I.$options._propKeys||[],ii=0;ii<St.length;ii++){var Nt=St[ii],Pn=I.$options.props;Tt[Nt]=fn(Nt,Pn,q,I)}ri(!0),I.$options.propsData=q}Re&&(I.$slots=js(ye,se.context),I.$forceUpdate())})(T.componentInstance=k.componentInstance,B.propsData,B.listeners,T,B.children)},insert:function(k){var T,B=k.context,I=k.componentInstance;I._isMounted||(I._isMounted=!0,Xr(I,"mounted")),k.data.keepAlive&&(B._isMounted?((T=I)._inactive=!1,r_.push(T)):gp(I,!0))},destroy:function(k){var T=k.componentInstance;T._isDestroyed||(k.data.keepAlive?Tf(T,!0):T.$destroy())}},By=Object.keys(wp);function p_(k,T,B,I,q){if(!t(k)){var G=B.$options._base;if(s(k)&&(k=G.extend(k)),typeof k=="function"){var se;if(t(k.cid)&&(k=function(Re,tt){if(a(Re.error)&&n(Re.errorComp))return Re.errorComp;if(n(Re.resolved))return Re.resolved;var st=to;if(st&&n(Re.owners)&&Re.owners.indexOf(st)===-1&&Re.owners.push(st),a(Re.loading)&&n(Re.loadingComp))return Re.loadingComp;if(st&&!n(Re.owners)){var ut=Re.owners=[st],Tt=!0,St=null,ii=null;st.$on("hook:destroyed",function(){return b(ut,st)});var Nt=function(gn){for(var it=0,mt=ut.length;it<mt;it++)ut[it].$forceUpdate();gn&&(ut.length=0,St!==null&&(clearTimeout(St),St=null),ii!==null&&(clearTimeout(ii),ii=null))},Pn=re(function(gn){Re.resolved=Sf(gn,tt),Tt?ut.length=0:Nt(!0)}),Hi=re(function(gn){n(Re.errorComp)&&(Re.error=!0,Nt(!0))}),Oi=Re(Pn,Hi);return s(Oi)&&(u(Oi)?t(Re.resolved)&&Oi.then(Pn,Hi):u(Oi.component)&&(Oi.component.then(Pn,Hi),n(Oi.error)&&(Re.errorComp=Sf(Oi.error,tt)),n(Oi.loading)&&(Re.loadingComp=Sf(Oi.loading,tt),Oi.delay===0?Re.loading=!0:St=setTimeout(function(){St=null,t(Re.resolved)&&t(Re.error)&&(Re.loading=!0,Nt(!1))},Oi.delay||200)),n(Oi.timeout)&&(ii=setTimeout(function(){ii=null,t(Re.resolved)&&Hi(null)},Oi.timeout)))),Tt=!1,Re.loading?Re.loadingComp:Re.resolved}}(se=k,G),k===void 0))return function(Re,tt,st,ut,Tt){var St=dt();return St.asyncFactory=Re,St.asyncMeta={data:tt,context:st,children:ut,tag:Tt},St}(se,T,B,I,q);T=T||{},au(k),n(T.model)&&function(Re,tt){var st=Re.model&&Re.model.prop||"value",ut=Re.model&&Re.model.event||"input";(tt.attrs||(tt.attrs={}))[st]=tt.model.value;var Tt=tt.on||(tt.on={}),St=Tt[ut],ii=tt.model.callback;n(St)?(e(St)?St.indexOf(ii)===-1:St!==ii)&&(Tt[ut]=[ii].concat(St)):Tt[ut]=ii}(k.options,T);var ye=function(Re,tt,st){var ut=tt.options.props;if(!t(ut)){var Tt={},St=Re.attrs,ii=Re.props;if(n(St)||n(ii))for(var Nt in ut){var Pn=F(Nt);Ea(Tt,ii,Nt,Pn,!0)||Ea(Tt,St,Nt,Pn,!1)}return Tt}}(T,k);if(a(k.options.functional))return function(Re,tt,st,ut,Tt){var St=Re.options,ii={},Nt=St.props;if(n(Nt))for(var Pn in Nt)ii[Pn]=fn(Pn,Nt,tt||i);else n(st.attrs)&&kp(ii,st.attrs),n(st.props)&&kp(ii,st.props);var Hi=new xp(st,ii,Tt,ut,Re),Oi=St.render.call(null,Hi._c,Hi);if(Oi instanceof Je)return Py(Oi,st,Hi.parent,St);if(e(Oi)){for(var gn=ja(Oi)||[],it=new Array(gn.length),mt=0;mt<gn.length;mt++)it[mt]=Py(gn[mt],st,Hi.parent,St);return it}}(k,ye,T,B,I);var ve=T.on;if(T.on=T.nativeOn,a(k.options.abstract)){var qe=T.slot;T={},qe&&(T.slot=qe)}(function(Re){for(var tt=Re.hook||(Re.hook={}),st=0;st<By.length;st++){var ut=By[st],Tt=tt[ut],St=wp[ut];Tt===St||Tt&&Tt._merged||(tt[ut]=Tt?Ry(St,Tt):St)}})(T);var Ye=ou(k.options)||q;return new Je("vue-component-".concat(k.cid).concat(Ye?"-".concat(Ye):""),T,void 0,void 0,void 0,B,{Ctor:k,propsData:ye,listeners:ve,tag:q,children:I},se)}}}function Ry(k,T){var B=function(I,q){k(I,q),T(I,q)};return B._merged=!0,B}var Pe=ie,$e=Be.optionMergeStrategies;function at(k,T,B){if(B===void 0&&(B=!0),!T)return k;for(var I,q,G,se=Ae?Reflect.ownKeys(T):Object.keys(T),ye=0;ye<se.length;ye++)(I=se[ye])!=="__ob__"&&(q=k[I],G=T[I],B&&w(k,I)?q!==G&&c(q)&&c(G)&&at(q,G):da(k,I,G));return k}function ht(k,T,B){return B?function(){var I=r(T)?T.call(B,B):T,q=r(k)?k.call(B,B):k;return I?at(I,q):q}:T?k?function(){return at(r(T)?T.call(this,this):T,r(k)?k.call(this,this):k)}:T:k}function kt(k,T){var B=T?k?k.concat(T):e(T)?T:[T]:k;return B&&function(I){for(var q=[],G=0;G<I.length;G++)q.indexOf(I[G])===-1&&q.push(I[G]);return q}(B)}function Ot(k,T,B,I){var q=Object.create(k||null);return T?U(q,T):q}$e.data=function(k,T,B){return B?ht(k,T,B):T&&typeof T!="function"?k:ht(k,T)},le.forEach(function(k){$e[k]=kt}),xe.forEach(function(k){$e[k+"s"]=Ot}),$e.watch=function(k,T,B,I){if(k===V&&(k=void 0),T===V&&(T=void 0),!T)return Object.create(k||null);if(!k)return T;var q={};for(var G in U(q,k),T){var se=q[G],ye=T[G];se&&!e(se)&&(se=[se]),q[G]=se?se.concat(ye):e(ye)?ye:[ye]}return q},$e.props=$e.methods=$e.inject=$e.computed=function(k,T,B,I){if(!k)return T;var q=Object.create(null);return U(q,k),T&&U(q,T),q},$e.provide=function(k,T){return k?function(){var B=Object.create(null);return at(B,r(k)?k.call(this):k),T&&at(B,r(T)?T.call(this):T,!1),B}:T};var oi=function(k,T){return T===void 0?k:T};function mi(k,T,B){if(r(T)&&(T=T.options),function(ve,qe){var Ye=ve.props;if(Ye){var Re,tt,st={};if(e(Ye))for(Re=Ye.length;Re--;)typeof(tt=Ye[Re])=="string"&&(st[A(tt)]={type:null});else if(c(Ye))for(var ut in Ye)tt=Ye[ut],st[A(ut)]=c(tt)?tt:{type:tt};ve.props=st}}(T),function(ve,qe){var Ye=ve.inject;if(Ye){var Re=ve.inject={};if(e(Ye))for(var tt=0;tt<Ye.length;tt++)Re[Ye[tt]]={from:Ye[tt]};else if(c(Ye))for(var st in Ye){var ut=Ye[st];Re[st]=c(ut)?U({from:st},ut):{from:ut}}}}(T),function(ve){var qe=ve.directives;if(qe)for(var Ye in qe){var Re=qe[Ye];r(Re)&&(qe[Ye]={bind:Re,update:Re})}}(T),!T._base&&(T.extends&&(k=mi(k,T.extends,B)),T.mixins))for(var I=0,q=T.mixins.length;I<q;I++)k=mi(k,T.mixins[I],B);var G,se={};for(G in k)ye(G);for(G in T)w(k,G)||ye(G);function ye(ve){var qe=$e[ve]||oi;se[ve]=qe(k[ve],T[ve],B,ve)}return se}function Zt(k,T,B,I){if(typeof B=="string"){var q=k[T];if(w(q,B))return q[B];var G=A(B);if(w(q,G))return q[G];var se=R(G);return w(q,se)?q[se]:q[B]||q[G]||q[se]}}function fn(k,T,B,I){var q=T[k],G=!w(B,k),se=B[k],ye=Vi(Boolean,q.type);if(ye>-1){if(G&&!w(q,"default"))se=!1;else if(se===""||se===F(k)){var ve=Vi(String,q.type);(ve<0||ye<ve)&&(se=!0)}}if(se===void 0){se=function(Ye,Re,tt){if(w(Re,"default")){var st=Re.default;return Ye&&Ye.$options.propsData&&Ye.$options.propsData[tt]===void 0&&Ye._props[tt]!==void 0?Ye._props[tt]:r(st)&&Yi(Re.type)!=="Function"?st.call(Ye):st}}(I,q,k);var qe=vi;ri(!0),Ni(se),ri(qe)}return se}var Wi=/^\s*function (\w+)/;function Yi(k){var T=k&&k.toString().match(Wi);return T?T[1]:""}function kn(k,T){return Yi(k)===Yi(T)}function Vi(k,T){if(!e(T))return kn(T,k)?0:-1;for(var B=0,I=T.length;B<I;B++)if(kn(T[B],k))return B;return-1}function Ui(k){this._init(k)}function Vr(k){k.cid=0;var T=1;k.extend=function(B){B=B||{};var I=this,q=I.cid,G=B._Ctor||(B._Ctor={});if(G[q])return G[q];var se=ou(B)||ou(I.options),ye=function(ve){this._init(ve)};return(ye.prototype=Object.create(I.prototype)).constructor=ye,ye.cid=T++,ye.options=mi(I.options,B),ye.super=I,ye.options.props&&function(ve){var qe=ve.options.props;for(var Ye in qe)jf(ve.prototype,"_props",Ye)}(ye),ye.options.computed&&function(ve){var qe=ve.options.computed;for(var Ye in qe)gc(ve.prototype,Ye,qe[Ye])}(ye),ye.extend=I.extend,ye.mixin=I.mixin,ye.use=I.use,xe.forEach(function(ve){ye[ve]=I[ve]}),se&&(ye.options.components[se]=ye),ye.superOptions=I.options,ye.extendOptions=B,ye.sealedOptions=U({},ye.options),G[q]=ye,ye}}function ir(k){return k&&(ou(k.Ctor.options)||k.tag)}function kr(k,T){return e(k)?k.indexOf(T)>-1:typeof k=="string"?k.split(",").indexOf(T)>-1:(B=k,l.call(B)==="[object RegExp]"&&k.test(T));var B}function Ds(k,T){var B=k.cache,I=k.keys,q=k._vnode,G=k.$vnode;for(var se in B){var ye=B[se];if(ye){var ve=ye.name;ve&&!T(ve)&&vc(B,se,I,q)}}G.componentOptions.children=void 0}function vc(k,T,B,I){var q=k[T];!q||I&&q.tag===I.tag||q.componentInstance.$destroy(),k[T]=null,b(B,T)}(function(k){k.prototype._init=function(T){var B=this;B._uid=u_++,B._isVue=!0,B.__v_skip=!0,B._scope=new Ef(!0),B._scope.parent=void 0,B._scope._vm=!0,T&&T._isComponent?function(I,q){var G=I.$options=Object.create(I.constructor.options),se=q._parentVnode;G.parent=q.parent,G._parentVnode=se;var ye=se.componentOptions;G.propsData=ye.propsData,G._parentListeners=ye.listeners,G._renderChildren=ye.children,G._componentTag=ye.tag,q.render&&(G.render=q.render,G.staticRenderFns=q.staticRenderFns)}(B,T):B.$options=mi(au(B.constructor),T||{},B),B._renderProxy=B,B._self=B,function(I){var q=I.$options,G=q.parent;if(G&&!q.abstract){for(;G.$options.abstract&&G.$parent;)G=G.$parent;G.$children.push(I)}I.$parent=G,I.$root=G?G.$root:I,I.$children=[],I.$refs={},I._provided=G?G._provided:Object.create(null),I._watcher=null,I._inactive=null,I._directInactive=!1,I._isMounted=!1,I._isDestroyed=!1,I._isBeingDestroyed=!1}(B),function(I){I._events=Object.create(null),I._hasHookEvent=!1;var q=I.$options._parentListeners;q&&Ey(I,q)}(B),function(I){I._vnode=null,I._staticTrees=null;var q=I.$options,G=I.$vnode=q._parentVnode,se=G&&G.context;I.$slots=js(q._renderChildren,se),I.$scopedSlots=G?nt(I.$parent,G.data.scopedSlots,I.$slots):i,I._c=function(ve,qe,Ye,Re){return er(I,ve,qe,Ye,Re,!1)},I.$createElement=function(ve,qe,Ye,Re){return er(I,ve,qe,Ye,Re,!0)};var ye=G&&G.data;xa(I,"$attrs",ye&&ye.attrs||i,null,!0),xa(I,"$listeners",q._parentListeners||i,null,!0)}(B),Xr(B,"beforeCreate",void 0,!1),function(I){var q=nu(I.$options.inject,I);q&&(ri(!1),Object.keys(q).forEach(function(G){xa(I,G,q[G])}),ri(!0))}(B),$1(B),function(I){var q=I.$options.provide;if(q){var G=r(q)?q.call(I):q;if(!s(G))return;for(var se=Ne(I),ye=Ae?Reflect.ownKeys(G):Object.keys(G),ve=0;ve<ye.length;ve++){var qe=ye[ve];Object.defineProperty(se,qe,Object.getOwnPropertyDescriptor(G,qe))}}}(B),Xr(B,"created"),B.$options.el&&B.$mount(B.$options.el)}})(Ui),function(k){var T={get:function(){return this._data}},B={get:function(){return this._props}};Object.defineProperty(k.prototype,"$data",T),Object.defineProperty(k.prototype,"$props",B),k.prototype.$set=da,k.prototype.$delete=po,k.prototype.$watch=function(I,q,G){var se=this;if(c(q))return d_(se,I,q,G);(G=G||{}).user=!0;var ye=new cr(se,I,q,G);if(G.immediate){var ve='callback for immediate watcher "'.concat(ye.expression,'"');pt(),Ze(q,se,[ye.value],se,ve),At()}return function(){ye.teardown()}}}(Ui),function(k){var T=/^hook:/;k.prototype.$on=function(B,I){var q=this;if(e(B))for(var G=0,se=B.length;G<se;G++)q.$on(B[G],I);else(q._events[B]||(q._events[B]=[])).push(I),T.test(B)&&(q._hasHookEvent=!0);return q},k.prototype.$once=function(B,I){var q=this;function G(){q.$off(B,G),I.apply(q,arguments)}return G.fn=I,q.$on(B,G),q},k.prototype.$off=function(B,I){var q=this;if(!arguments.length)return q._events=Object.create(null),q;if(e(B)){for(var G=0,se=B.length;G<se;G++)q.$off(B[G],I);return q}var ye,ve=q._events[B];if(!ve)return q;if(!I)return q._events[B]=null,q;for(var qe=ve.length;qe--;)if((ye=ve[qe])===I||ye.fn===I){ve.splice(qe,1);break}return q},k.prototype.$emit=function(B){var I=this,q=I._events[B];if(q){q=q.length>1?L(q):q;for(var G=L(arguments,1),se='event handler for "'.concat(B,'"'),ye=0,ve=q.length;ye<ve;ye++)Ze(q[ye],I,G,I,se)}return I}}(Ui),function(k){k.prototype._update=function(T,B){var I=this,q=I.$el,G=I._vnode,se=Ty(I);I._vnode=T,I.$el=G?I.__patch__(G,T):I.__patch__(I.$el,T,B,!1),se(),q&&(q.__vue__=null),I.$el&&(I.$el.__vue__=I);for(var ye=I;ye&&ye.$vnode&&ye.$parent&&ye.$vnode===ye.$parent._vnode;)ye.$parent.$el=ye.$el,ye=ye.$parent},k.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},k.prototype.$destroy=function(){var T=this;if(!T._isBeingDestroyed){Xr(T,"beforeDestroy"),T._isBeingDestroyed=!0;var B=T.$parent;!B||B._isBeingDestroyed||T.$options.abstract||b(B.$children,T),T._scope.stop(),T._data.__ob__&&T._data.__ob__.vmCount--,T._isDestroyed=!0,T.__patch__(T._vnode,null),Xr(T,"destroyed"),T.$off(),T.$el&&(T.$el.__vue__=null),T.$vnode&&(T.$vnode.parent=null)}}}(Ui),function(k){_c(k.prototype),k.prototype.$nextTick=function(T){return hn(T,this)},k.prototype._render=function(){var T=this,B=T.$options,I=B.render,q=B._parentVnode;q&&T._isMounted&&(T.$scopedSlots=nt(T.$parent,q.data.scopedSlots,T.$slots,T.$scopedSlots),T._slotsProxy&&Qa(T._slotsProxy,T.$scopedSlots)),T.$vnode=q;var G,se=de,ye=to;try{Oe(T),to=T,G=I.call(T._renderProxy,T.$createElement)}catch(ve){De(ve,T,"render"),G=T._vnode}finally{to=ye,Oe(se)}return e(G)&&G.length===1&&(G=G[0]),G instanceof Je||(G=dt()),G.parent=q,G}}(Ui);var dr=[String,RegExp,Array],Z5={name:"keep-alive",abstract:!0,props:{include:dr,exclude:dr,max:[String,Number]},methods:{cacheVNode:function(){var k=this,T=k.cache,B=k.keys,I=k.vnodeToCache,q=k.keyToCache;if(I){var G=I.tag,se=I.componentInstance,ye=I.componentOptions;T[q]={name:ir(ye),tag:G,componentInstance:se},B.push(q),this.max&&B.length>parseInt(this.max)&&vc(T,B[0],B,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var k in this.cache)vc(this.cache,k,this.keys)},mounted:function(){var k=this;this.cacheVNode(),this.$watch("include",function(T){Ds(k,function(B){return kr(T,B)})}),this.$watch("exclude",function(T){Ds(k,function(B){return!kr(T,B)})})},updated:function(){this.cacheVNode()},render:function(){var k=this.$slots.default,T=zy(k),B=T&&T.componentOptions;if(B){var I=ir(B),q=this.include,G=this.exclude;if(q&&(!I||!kr(q,I))||G&&I&&kr(G,I))return T;var se=this.cache,ye=this.keys,ve=T.key==null?B.Ctor.cid+(B.tag?"::".concat(B.tag):""):T.key;se[ve]?(T.componentInstance=se[ve].componentInstance,b(ye,ve),ye.push(ve)):(this.vnodeToCache=T,this.keyToCache=ve),T.data.keepAlive=!0}return T||k&&k[0]}},Q5={KeepAlive:Z5};(function(k){var T={get:function(){return Be}};Object.defineProperty(k,"config",T),k.util={warn:Pe,extend:U,mergeOptions:mi,defineReactive:xa},k.set=da,k.delete=po,k.nextTick=hn,k.observable=function(B){return Ni(B),B},k.options=Object.create(null),xe.forEach(function(B){k.options[B+"s"]=Object.create(null)}),k.options._base=k,U(k.options.components,Q5),function(B){B.use=function(I){var q=this._installedPlugins||(this._installedPlugins=[]);if(q.indexOf(I)>-1)return this;var G=L(arguments,1);return G.unshift(this),r(I.install)?I.install.apply(I,G):r(I)&&I.apply(null,G),q.push(I),this}}(k),function(B){B.mixin=function(I){return this.options=mi(this.options,I),this}}(k),Vr(k),function(B){xe.forEach(function(I){B[I]=function(q,G){return G?(I==="component"&&c(G)&&(G.name=G.name||q,G=this.options._base.extend(G)),I==="directive"&&r(G)&&(G={bind:G,update:G}),this.options[I+"s"][q]=G,G):this.options[I+"s"][q]}})}(k)})(Ui),Object.defineProperty(Ui.prototype,"$isServer",{get:be}),Object.defineProperty(Ui.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ui,"FunctionalRenderContext",{value:xp}),Ui.version=ml;var eN=f("style,class"),tN=f("input,textarea,option,select,progress"),oP=function(k,T,B){return B==="value"&&tN(k)&&T!=="button"||B==="selected"&&k==="option"||B==="checked"&&k==="input"||B==="muted"&&k==="video"},rP=f("contenteditable,draggable,spellcheck"),iN=f("events,caret,typing,plaintext-only"),nN=function(k,T){return jy(T)||T==="false"?"false":k==="contenteditable"&&iN(T)?T:"true"},aN=f("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Y1="http://www.w3.org/1999/xlink",X1=function(k){return k.charAt(5)===":"&&k.slice(0,5)==="xlink"},sP=function(k){return X1(k)?k.slice(6,k.length):""},jy=function(k){return k==null||k===!1};function oN(k){for(var T=k.data,B=k,I=k;n(I.componentInstance);)(I=I.componentInstance._vnode)&&I.data&&(T=lP(I.data,T));for(;n(B=B.parent);)B&&B.data&&(T=lP(T,B.data));return function(q,G){return n(q)||n(G)?J1(q,Z1(G)):""}(T.staticClass,T.class)}function lP(k,T){return{staticClass:J1(k.staticClass,T.staticClass),class:n(k.class)?[k.class,T.class]:T.class}}function J1(k,T){return k?T?k+" "+T:k:T||""}function Z1(k){return Array.isArray(k)?function(T){for(var B,I="",q=0,G=T.length;q<G;q++)n(B=Z1(T[q]))&&B!==""&&(I&&(I+=" "),I+=B);return I}(k):s(k)?function(T){var B="";for(var I in T)T[I]&&(B&&(B+=" "),B+=I);return B}(k):typeof k=="string"?k:""}var rN={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},sN=f("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Q1=f("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),eS=function(k){return sN(k)||Q1(k)};function cP(k){return Q1(k)?"svg":k==="math"?"math":void 0}var Iy=Object.create(null),tS=f("text,number,password,search,email,tel,url");function iS(k){if(typeof k=="string"){var T=document.querySelector(k);return T||document.createElement("div")}return k}var lN=Object.freeze({__proto__:null,createElement:function(k,T){var B=document.createElement(k);return k!=="select"||T.data&&T.data.attrs&&T.data.attrs.multiple!==void 0&&B.setAttribute("multiple","multiple"),B},createElementNS:function(k,T){return document.createElementNS(rN[k],T)},createTextNode:function(k){return document.createTextNode(k)},createComment:function(k){return document.createComment(k)},insertBefore:function(k,T,B){k.insertBefore(T,B)},removeChild:function(k,T){k.removeChild(T)},appendChild:function(k,T){k.appendChild(T)},parentNode:function(k){return k.parentNode},nextSibling:function(k){return k.nextSibling},tagName:function(k){return k.tagName},setTextContent:function(k,T){k.textContent=T},setStyleScope:function(k,T){k.setAttribute(T,"")}}),cN={create:function(k,T){m_(T)},update:function(k,T){k.data.ref!==T.data.ref&&(m_(k,!0),m_(T))},destroy:function(k){m_(k,!0)}};function m_(k,T){var B=k.data.ref;if(n(B)){var I=k.context,q=k.componentInstance||k.elm,G=T?null:q,se=T?void 0:q;if(r(B))Ze(B,I,[G],I,"template ref function");else{var ye=k.data.refInFor,ve=typeof B=="string"||typeof B=="number",qe=Wt(B),Ye=I.$refs;if(ve||qe){if(ye){var Re=ve?Ye[B]:B.value;T?e(Re)&&b(Re,q):e(Re)?Re.includes(q)||Re.push(q):ve?(Ye[B]=[q],dP(I,B,Ye[B])):B.value=[q]}else if(ve){if(T&&Ye[B]!==q)return;Ye[B]=se,dP(I,B,G)}else if(qe){if(T&&B.value!==q)return;B.value=G}}}}}function dP(k,T,B){var I=k._setupState;I&&w(I,T)&&(Wt(I[T])?I[T].value=B:I[T]=B)}var ru=new Je("",{},[]),If=["create","activate","update","remove","destroy"];function Sp(k,T){return k.key===T.key&&k.asyncFactory===T.asyncFactory&&(k.tag===T.tag&&k.isComment===T.isComment&&n(k.data)===n(T.data)&&function(B,I){if(B.tag!=="input")return!0;var q,G=n(q=B.data)&&n(q=q.attrs)&&q.type,se=n(q=I.data)&&n(q=q.attrs)&&q.type;return G===se||tS(G)&&tS(se)}(k,T)||a(k.isAsyncPlaceholder)&&t(T.asyncFactory.error))}function dN(k,T,B){var I,q,G={};for(I=T;I<=B;++I)n(q=k[I].key)&&(G[q]=I);return G}var uN={create:nS,update:nS,destroy:function(k){nS(k,ru)}};function nS(k,T){(k.data.directives||T.data.directives)&&function(B,I){var q,G,se,ye=B===ru,ve=I===ru,qe=uP(B.data.directives,B.context),Ye=uP(I.data.directives,I.context),Re=[],tt=[];for(q in Ye)G=qe[q],se=Ye[q],G?(se.oldValue=G.value,se.oldArg=G.arg,Df(se,"update",I,B),se.def&&se.def.componentUpdated&&tt.push(se)):(Df(se,"bind",I,B),se.def&&se.def.inserted&&Re.push(se));if(Re.length){var st=function(){for(var ut=0;ut<Re.length;ut++)Df(Re[ut],"inserted",I,B)};ye?_n(I,"insert",st):st()}if(tt.length&&_n(I,"postpatch",function(){for(var ut=0;ut<tt.length;ut++)Df(tt[ut],"componentUpdated",I,B)}),!ye)for(q in qe)Ye[q]||Df(qe[q],"unbind",B,B,ve)}(k,T)}var pN=Object.create(null);function uP(k,T){var B,I,q=Object.create(null);if(!k)return q;for(B=0;B<k.length;B++){if((I=k[B]).modifiers||(I.modifiers=pN),q[mN(I)]=I,T._setupState&&T._setupState.__sfc){var G=I.def||Zt(T,"_setupState","v-"+I.name);I.def=typeof G=="function"?{bind:G,update:G}:G}I.def=I.def||Zt(T.$options,"directives",I.name)}return q}function mN(k){return k.rawName||"".concat(k.name,".").concat(Object.keys(k.modifiers||{}).join("."))}function Df(k,T,B,I,q){var G=k.def&&k.def[T];if(G)try{G(B.elm,k,B,I,q)}catch(se){De(se,B.context,"directive ".concat(k.name," ").concat(T," hook"))}}var _N=[cN,uN];function pP(k,T){var B=T.componentOptions;if(!(n(B)&&B.Ctor.options.inheritAttrs===!1||t(k.data.attrs)&&t(T.data.attrs))){var I,q,G=T.elm,se=k.data.attrs||{},ye=T.data.attrs||{};for(I in(n(ye.__ob__)||a(ye._v_attr_proxy))&&(ye=T.data.attrs=U({},ye)),ye)q=ye[I],se[I]!==q&&mP(G,I,q,T.data.pre);for(I in(Ie||z)&&ye.value!==se.value&&mP(G,"value",ye.value),se)t(ye[I])&&(X1(I)?G.removeAttributeNS(Y1,sP(I)):rP(I)||G.removeAttribute(I))}}function mP(k,T,B,I){I||k.tagName.indexOf("-")>-1?_P(k,T,B):aN(T)?jy(B)?k.removeAttribute(T):(B=T==="allowfullscreen"&&k.tagName==="EMBED"?"true":T,k.setAttribute(T,B)):rP(T)?k.setAttribute(T,nN(T,B)):X1(T)?jy(B)?k.removeAttributeNS(Y1,sP(T)):k.setAttributeNS(Y1,T,B):_P(k,T,B)}function _P(k,T,B){if(jy(B))k.removeAttribute(T);else{if(Ie&&!Ke&&k.tagName==="TEXTAREA"&&T==="placeholder"&&B!==""&&!k.__ieph){var I=function(q){q.stopImmediatePropagation(),k.removeEventListener("input",I)};k.addEventListener("input",I),k.__ieph=!0}k.setAttribute(T,B)}}var hN={create:pP,update:pP};function hP(k,T){var B=T.elm,I=T.data,q=k.data;if(!(t(I.staticClass)&&t(I.class)&&(t(q)||t(q.staticClass)&&t(q.class)))){var G=oN(T),se=B._transitionClasses;n(se)&&(G=J1(G,Z1(se))),G!==B._prevClass&&(B.setAttribute("class",G),B._prevClass=G)}}var aS,fP,Dy,su,Vy,oS,fN={create:hP,update:hP},gN=/[\w).+\-_$\]]/;function rS(k){var T,B,I,q,G,se=!1,ye=!1,ve=!1,qe=!1,Ye=0,Re=0,tt=0,st=0;for(I=0;I<k.length;I++)if(B=T,T=k.charCodeAt(I),se)T===39&&B!==92&&(se=!1);else if(ye)T===34&&B!==92&&(ye=!1);else if(ve)T===96&&B!==92&&(ve=!1);else if(qe)T===47&&B!==92&&(qe=!1);else if(T!==124||k.charCodeAt(I+1)===124||k.charCodeAt(I-1)===124||Ye||Re||tt){switch(T){case 34:ye=!0;break;case 39:se=!0;break;case 96:ve=!0;break;case 40:tt++;break;case 41:tt--;break;case 91:Re++;break;case 93:Re--;break;case 123:Ye++;break;case 125:Ye--}if(T===47){for(var ut=I-1,Tt=void 0;ut>=0&&(Tt=k.charAt(ut))===" ";ut--);Tt&&gN.test(Tt)||(qe=!0)}}else q===void 0?(st=I+1,q=k.slice(0,I).trim()):St();function St(){(G||(G=[])).push(k.slice(st,I).trim()),st=I+1}if(q===void 0?q=k.slice(0,I).trim():st!==0&&St(),G)for(I=0;I<G.length;I++)q=vN(q,G[I]);return q}function vN(k,T){var B=T.indexOf("(");if(B<0)return'_f("'.concat(T,'")(').concat(k,")");var I=T.slice(0,B),q=T.slice(B+1);return'_f("'.concat(I,'")(').concat(k).concat(q!==")"?","+q:q)}function gP(k,T){console.error("[Vue compiler]: ".concat(k))}function Vf(k,T){return k?k.map(function(B){return B[T]}).filter(function(B){return B}):[]}function zp(k,T,B,I,q){(k.props||(k.props=[])).push(Ff({name:T,value:B,dynamic:q},I)),k.plain=!1}function sS(k,T,B,I,q){(q?k.dynamicAttrs||(k.dynamicAttrs=[]):k.attrs||(k.attrs=[])).push(Ff({name:T,value:B,dynamic:q},I)),k.plain=!1}function lS(k,T,B,I){k.attrsMap[T]=B,k.attrsList.push(Ff({name:T,value:B},I))}function bN(k,T,B,I,q,G,se,ye){(k.directives||(k.directives=[])).push(Ff({name:T,rawName:B,value:I,arg:q,isDynamicArg:G,modifiers:se},ye)),k.plain=!1}function cS(k,T,B){return B?"_p(".concat(T,',"').concat(k,'")'):k+T}function ld(k,T,B,I,q,G,se,ye){var ve;(I=I||i).right?ye?T="(".concat(T,")==='click'?'contextmenu':(").concat(T,")"):T==="click"&&(T="contextmenu",delete I.right):I.middle&&(ye?T="(".concat(T,")==='click'?'mouseup':(").concat(T,")"):T==="click"&&(T="mouseup")),I.capture&&(delete I.capture,T=cS("!",T,ye)),I.once&&(delete I.once,T=cS("~",T,ye)),I.passive&&(delete I.passive,T=cS("&",T,ye)),I.native?(delete I.native,ve=k.nativeEvents||(k.nativeEvents={})):ve=k.events||(k.events={});var qe=Ff({value:B.trim(),dynamic:ye},se);I!==i&&(qe.modifiers=I);var Ye=ve[T];Array.isArray(Ye)?q?Ye.unshift(qe):Ye.push(qe):ve[T]=Ye?q?[qe,Ye]:[Ye,qe]:qe,k.plain=!1}function _l(k,T,B){var I=Vo(k,":"+T)||Vo(k,"v-bind:"+T);if(I!=null)return rS(I);if(B!==!1){var q=Vo(k,T);if(q!=null)return JSON.stringify(q)}}function Vo(k,T,B){var I;if((I=k.attrsMap[T])!=null){for(var q=k.attrsList,G=0,se=q.length;G<se;G++)if(q[G].name===T){q.splice(G,1);break}}return B&&delete k.attrsMap[T],I}function vP(k,T){for(var B=k.attrsList,I=0,q=B.length;I<q;I++){var G=B[I];if(T.test(G.name))return B.splice(I,1),G}}function Ff(k,T){return T&&(T.start!=null&&(k.start=T.start),T.end!=null&&(k.end=T.end)),k}function bP(k,T,B){var I=B||{},q=I.number,G="$$v",se=G;I.trim&&(se="(typeof ".concat(G," === 'string'")+"? ".concat(G,".trim()")+": ".concat(G,")")),q&&(se="_n(".concat(se,")"));var ye=lu(T,se);k.model={value:"(".concat(T,")"),expression:JSON.stringify(T),callback:"function (".concat(G,") {").concat(ye,"}")}}function lu(k,T){var B=function(I){if(I=I.trim(),aS=I.length,I.indexOf("[")<0||I.lastIndexOf("]")<aS-1)return(su=I.lastIndexOf("."))>-1?{exp:I.slice(0,su),key:'"'+I.slice(su+1)+'"'}:{exp:I,key:null};for(fP=I,su=Vy=oS=0;!uS();)yP(Dy=dS())?xP(Dy):Dy===91&&yN(Dy);return{exp:I.slice(0,Vy),key:I.slice(Vy+1,oS)}}(k);return B.key===null?"".concat(k,"=").concat(T):"$set(".concat(B.exp,", ").concat(B.key,", ").concat(T,")")}function dS(){return fP.charCodeAt(++su)}function uS(){return su>=aS}function yP(k){return k===34||k===39}function yN(k){var T=1;for(Vy=su;!uS();)if(yP(k=dS()))xP(k);else if(k===91&&T++,k===93&&T--,T===0){oS=su;break}}function xP(k){for(var T=k;!uS()&&(k=dS())!==T;);}var Uf,Fy="__r",pS="__c";function xN(k,T,B){var I=Uf;return function q(){T.apply(null,arguments)!==null&&kP(k,q,B,I)}}var kN=Pt&&!(P&&Number(P[1])<=53);function wN(k,T,B,I){if(kN){var q=tu,G=T;T=G._wrapper=function(se){if(se.target===se.currentTarget||se.timeStamp>=q||se.timeStamp<=0||se.target.ownerDocument!==document)return G.apply(this,arguments)}}Uf.addEventListener(k,T,ee?{capture:B,passive:I}:B)}function kP(k,T,B,I){(I||Uf).removeEventListener(k,T._wrapper||T,B)}function mS(k,T){if(!t(k.data.on)||!t(T.data.on)){var B=T.data.on||{},I=k.data.on||{};Uf=T.elm||k.elm,function(q){if(n(q[Fy])){var G=Ie?"change":"input";q[G]=[].concat(q[Fy],q[G]||[]),delete q[Fy]}n(q[pS])&&(q.change=[].concat(q[pS],q.change||[]),delete q[pS])}(B),jn(B,I,wN,kP,xN,T.context),Uf=void 0}}var _S,SN={create:mS,update:mS,destroy:function(k){return mS(k,ru)}};function wP(k,T){if(!t(k.data.domProps)||!t(T.data.domProps)){var B,I,q=T.elm,G=k.data.domProps||{},se=T.data.domProps||{};for(B in(n(se.__ob__)||a(se._v_attr_proxy))&&(se=T.data.domProps=U({},se)),G)B in se||(q[B]="");for(B in se){if(I=se[B],B==="textContent"||B==="innerHTML"){if(T.children&&(T.children.length=0),I===G[B])continue;q.childNodes.length===1&&q.removeChild(q.childNodes[0])}if(B==="value"&&q.tagName!=="PROGRESS"){q._value=I;var ye=t(I)?"":String(I);zN(q,ye)&&(q.value=ye)}else if(B==="innerHTML"&&Q1(q.tagName)&&t(q.innerHTML)){(_S=_S||document.createElement("div")).innerHTML="<svg>".concat(I,"</svg>");for(var ve=_S.firstChild;q.firstChild;)q.removeChild(q.firstChild);for(;ve.firstChild;)q.appendChild(ve.firstChild)}else if(I!==G[B])try{q[B]=I}catch{}}}}function zN(k,T){return!k.composing&&(k.tagName==="OPTION"||function(B,I){var q=!0;try{q=document.activeElement!==B}catch{}return q&&B.value!==I}(k,T)||function(B,I){var q=B.value,G=B._vModifiers;if(n(G)){if(G.number)return _(q)!==_(I);if(G.trim)return q.trim()!==I.trim()}return q!==I}(k,T))}var EN={create:wP,update:wP},SP=E(function(k){var T={},B=/:(.+)/;return k.split(/;(?![^(]*\))/g).forEach(function(I){if(I){var q=I.split(B);q.length>1&&(T[q[0].trim()]=q[1].trim())}}),T});function hS(k){var T=zP(k.style);return k.staticStyle?U(k.staticStyle,T):T}function zP(k){return Array.isArray(k)?J(k):typeof k=="string"?SP(k):k}var Uy,MN=/^--/,EP=/\s*!important$/,MP=function(k,T,B){if(MN.test(T))k.style.setProperty(T,B);else if(EP.test(B))k.style.setProperty(F(T),B.replace(EP,""),"important");else{var I=TN(T);if(Array.isArray(B))for(var q=0,G=B.length;q<G;q++)k.style[I]=B[q];else k.style[I]=B}},TP=["Webkit","Moz","ms"],TN=E(function(k){if(Uy=Uy||document.createElement("div").style,(k=A(k))!=="filter"&&k in Uy)return k;for(var T=k.charAt(0).toUpperCase()+k.slice(1),B=0;B<TP.length;B++){var I=TP[B]+T;if(I in Uy)return I}});function AP(k,T){var B=T.data,I=k.data;if(!(t(B.staticStyle)&&t(B.style)&&t(I.staticStyle)&&t(I.style))){var q,G,se=T.elm,ye=I.staticStyle,ve=I.normalizedStyle||I.style||{},qe=ye||ve,Ye=zP(T.data.style)||{};T.data.normalizedStyle=n(Ye.__ob__)?U({},Ye):Ye;var Re=function(tt,st){var ut,Tt={};if(st)for(var St=tt;St.componentInstance;)(St=St.componentInstance._vnode)&&St.data&&(ut=hS(St.data))&&U(Tt,ut);(ut=hS(tt.data))&&U(Tt,ut);for(var ii=tt;ii=ii.parent;)ii.data&&(ut=hS(ii.data))&&U(Tt,ut);return Tt}(T,!0);for(G in qe)t(Re[G])&&MP(se,G,"");for(G in Re)q=Re[G],MP(se,G,q??"")}}var AN={create:AP,update:AP},CP=/\s+/;function PP(k,T){if(T&&(T=T.trim()))if(k.classList)T.indexOf(" ")>-1?T.split(CP).forEach(function(I){return k.classList.add(I)}):k.classList.add(T);else{var B=" ".concat(k.getAttribute("class")||""," ");B.indexOf(" "+T+" ")<0&&k.setAttribute("class",(B+T).trim())}}function BP(k,T){if(T&&(T=T.trim()))if(k.classList)T.indexOf(" ")>-1?T.split(CP).forEach(function(q){return k.classList.remove(q)}):k.classList.remove(T),k.classList.length||k.removeAttribute("class");else{for(var B=" ".concat(k.getAttribute("class")||""," "),I=" "+T+" ";B.indexOf(I)>=0;)B=B.replace(I," ");(B=B.trim())?k.setAttribute("class",B):k.removeAttribute("class")}}function RP(k){if(k){if(typeof k=="object"){var T={};return k.css!==!1&&U(T,jP(k.name||"v")),U(T,k),T}return typeof k=="string"?jP(k):void 0}}var jP=E(function(k){return{enterClass:"".concat(k,"-enter"),enterToClass:"".concat(k,"-enter-to"),enterActiveClass:"".concat(k,"-enter-active"),leaveClass:"".concat(k,"-leave"),leaveToClass:"".concat(k,"-leave-to"),leaveActiveClass:"".concat(k,"-leave-active")}}),IP=Qe&&!Ke,__="transition",fS="animation",Oy="transition",Ly="transitionend",gS="animation",DP="animationend";IP&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(Oy="WebkitTransition",Ly="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(gS="WebkitAnimation",DP="webkitAnimationEnd"));var VP=Qe?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(k){return k()};function FP(k){VP(function(){VP(k)})}function Ep(k,T){var B=k._transitionClasses||(k._transitionClasses=[]);B.indexOf(T)<0&&(B.push(T),PP(k,T))}function cd(k,T){k._transitionClasses&&b(k._transitionClasses,T),BP(k,T)}function UP(k,T,B){var I=OP(k,T),q=I.type,G=I.timeout,se=I.propCount;if(!q)return B();var ye=q===__?Ly:DP,ve=0,qe=function(){k.removeEventListener(ye,Ye),B()},Ye=function(Re){Re.target===k&&++ve>=se&&qe()};setTimeout(function(){ve<se&&qe()},G+1),k.addEventListener(ye,Ye)}var CN=/\b(transform|all)(,|$)/;function OP(k,T){var B,I=window.getComputedStyle(k),q=(I[Oy+"Delay"]||"").split(", "),G=(I[Oy+"Duration"]||"").split(", "),se=LP(q,G),ye=(I[gS+"Delay"]||"").split(", "),ve=(I[gS+"Duration"]||"").split(", "),qe=LP(ye,ve),Ye=0,Re=0;return T===__?se>0&&(B=__,Ye=se,Re=G.length):T===fS?qe>0&&(B=fS,Ye=qe,Re=ve.length):Re=(B=(Ye=Math.max(se,qe))>0?se>qe?__:fS:null)?B===__?G.length:ve.length:0,{type:B,timeout:Ye,propCount:Re,hasTransform:B===__&&CN.test(I[Oy+"Property"])}}function LP(k,T){for(;k.length<T.length;)k=k.concat(k);return Math.max.apply(null,T.map(function(B,I){return NP(B)+NP(k[I])}))}function NP(k){return 1e3*Number(k.slice(0,-1).replace(",","."))}function vS(k,T){var B=k.elm;n(B._leaveCb)&&(B._leaveCb.cancelled=!0,B._leaveCb());var I=RP(k.data.transition);if(!t(I)&&!n(B._enterCb)&&B.nodeType===1){for(var q=I.css,G=I.type,se=I.enterClass,ye=I.enterToClass,ve=I.enterActiveClass,qe=I.appearClass,Ye=I.appearToClass,Re=I.appearActiveClass,tt=I.beforeEnter,st=I.enter,ut=I.afterEnter,Tt=I.enterCancelled,St=I.beforeAppear,ii=I.appear,Nt=I.afterAppear,Pn=I.appearCancelled,Hi=I.duration,Oi=sd,gn=sd.$vnode;gn&&gn.parent;)Oi=gn.context,gn=gn.parent;var it=!Oi._isMounted||!k.isRootInsert;if(!it||ii||ii===""){var mt=it&&qe?qe:se,Ht=it&&Re?Re:ve,ni=it&&Ye?Ye:ye,sn=it&&St||tt,Jn=it&&r(ii)?ii:st,Ln=it&&Nt||ut,Hn=it&&Pn||Tt,io=_(s(Hi)?Hi.enter:Hi),ia=q!==!1&&!Ke,Wn=bS(Jn),Ha=B._enterCb=re(function(){ia&&(cd(B,ni),cd(B,Ht)),Ha.cancelled?(ia&&cd(B,mt),Hn&&Hn(B)):Ln&&Ln(B),B._enterCb=null});k.data.show||_n(k,"insert",function(){var wa=B.parentNode,na=wa&&wa._pending&&wa._pending[k.key];na&&na.tag===k.tag&&na.elm._leaveCb&&na.elm._leaveCb(),Jn&&Jn(B,Ha)}),sn&&sn(B),ia&&(Ep(B,mt),Ep(B,Ht),FP(function(){cd(B,mt),Ha.cancelled||(Ep(B,ni),Wn||(GP(io)?setTimeout(Ha,io):UP(B,G,Ha)))})),k.data.show&&(T&&T(),Jn&&Jn(B,Ha)),ia||Wn||Ha()}}}function HP(k,T){var B=k.elm;n(B._enterCb)&&(B._enterCb.cancelled=!0,B._enterCb());var I=RP(k.data.transition);if(t(I)||B.nodeType!==1)return T();if(!n(B._leaveCb)){var q=I.css,G=I.type,se=I.leaveClass,ye=I.leaveToClass,ve=I.leaveActiveClass,qe=I.beforeLeave,Ye=I.leave,Re=I.afterLeave,tt=I.leaveCancelled,st=I.delayLeave,ut=I.duration,Tt=q!==!1&&!Ke,St=bS(Ye),ii=_(s(ut)?ut.leave:ut),Nt=B._leaveCb=re(function(){B.parentNode&&B.parentNode._pending&&(B.parentNode._pending[k.key]=null),Tt&&(cd(B,ye),cd(B,ve)),Nt.cancelled?(Tt&&cd(B,se),tt&&tt(B)):(T(),Re&&Re(B)),B._leaveCb=null});st?st(Pn):Pn()}function Pn(){Nt.cancelled||(!k.data.show&&B.parentNode&&((B.parentNode._pending||(B.parentNode._pending={}))[k.key]=k),qe&&qe(B),Tt&&(Ep(B,se),Ep(B,ve),FP(function(){cd(B,se),Nt.cancelled||(Ep(B,ye),St||(GP(ii)?setTimeout(Nt,ii):UP(B,G,Nt)))})),Ye&&Ye(B,Nt),Tt||St||Nt())}}function GP(k){return typeof k=="number"&&!isNaN(k)}function bS(k){if(t(k))return!1;var T=k.fns;return n(T)?bS(Array.isArray(T)?T[0]:T):(k._length||k.length)>1}function qP(k,T){T.data.show!==!0&&vS(T)}var PN=function(k){var T,B,I={},q=k.modules,G=k.nodeOps;for(T=0;T<If.length;++T)for(I[If[T]]=[],B=0;B<q.length;++B)n(q[B][If[T]])&&I[If[T]].push(q[B][If[T]]);function se(it){var mt=G.parentNode(it);n(mt)&&G.removeChild(mt,it)}function ye(it,mt,Ht,ni,sn,Jn,Ln){if(n(it.elm)&&n(Jn)&&(it=Jn[Ln]=Fe(it)),it.isRootInsert=!sn,!function(Wn,Ha,wa,na){var nr=Wn.data;if(n(nr)){var g_=n(Wn.componentInstance)&&nr.keepAlive;if(n(nr=nr.hook)&&n(nr=nr.init)&&nr(Wn,!1),n(Wn.componentInstance))return ve(Wn,Ha),qe(wa,Wn.elm,na),a(g_)&&function(bc,Of,Lf,yc){for(var ar,Zr=bc;Zr.componentInstance;)if(n(ar=(Zr=Zr.componentInstance._vnode).data)&&n(ar=ar.transition)){for(ar=0;ar<I.activate.length;++ar)I.activate[ar](ru,Zr);Of.push(Zr);break}qe(Lf,bc.elm,yc)}(Wn,Ha,wa,na),!0}}(it,mt,Ht,ni)){var Hn=it.data,io=it.children,ia=it.tag;n(ia)?(it.elm=it.ns?G.createElementNS(it.ns,ia):G.createElement(ia,it),st(it),Ye(it,io,mt),n(Hn)&&tt(it,mt),qe(Ht,it.elm,ni)):a(it.isComment)?(it.elm=G.createComment(it.text),qe(Ht,it.elm,ni)):(it.elm=G.createTextNode(it.text),qe(Ht,it.elm,ni))}}function ve(it,mt){n(it.data.pendingInsert)&&(mt.push.apply(mt,it.data.pendingInsert),it.data.pendingInsert=null),it.elm=it.componentInstance.$el,Re(it)?(tt(it,mt),st(it)):(m_(it),mt.push(it))}function qe(it,mt,Ht){n(it)&&(n(Ht)?G.parentNode(Ht)===it&&G.insertBefore(it,mt,Ht):G.appendChild(it,mt))}function Ye(it,mt,Ht){if(e(mt))for(var ni=0;ni<mt.length;++ni)ye(mt[ni],Ht,it.elm,null,!0,mt,ni);else o(it.text)&&G.appendChild(it.elm,G.createTextNode(String(it.text)))}function Re(it){for(;it.componentInstance;)it=it.componentInstance._vnode;return n(it.tag)}function tt(it,mt){for(var Ht=0;Ht<I.create.length;++Ht)I.create[Ht](ru,it);n(T=it.data.hook)&&(n(T.create)&&T.create(ru,it),n(T.insert)&&mt.push(it))}function st(it){var mt;if(n(mt=it.fnScopeId))G.setStyleScope(it.elm,mt);else for(var Ht=it;Ht;)n(mt=Ht.context)&&n(mt=mt.$options._scopeId)&&G.setStyleScope(it.elm,mt),Ht=Ht.parent;n(mt=sd)&&mt!==it.context&&mt!==it.fnContext&&n(mt=mt.$options._scopeId)&&G.setStyleScope(it.elm,mt)}function ut(it,mt,Ht,ni,sn,Jn){for(;ni<=sn;++ni)ye(Ht[ni],Jn,it,mt,!1,Ht,ni)}function Tt(it){var mt,Ht,ni=it.data;if(n(ni))for(n(mt=ni.hook)&&n(mt=mt.destroy)&&mt(it),mt=0;mt<I.destroy.length;++mt)I.destroy[mt](it);if(n(mt=it.children))for(Ht=0;Ht<it.children.length;++Ht)Tt(it.children[Ht])}function St(it,mt,Ht){for(;mt<=Ht;++mt){var ni=it[mt];n(ni)&&(n(ni.tag)?(ii(ni),Tt(ni)):se(ni.elm))}}function ii(it,mt){if(n(mt)||n(it.data)){var Ht,ni=I.remove.length+1;for(n(mt)?mt.listeners+=ni:mt=function(sn,Jn){function Ln(){--Ln.listeners==0&&se(sn)}return Ln.listeners=Jn,Ln}(it.elm,ni),n(Ht=it.componentInstance)&&n(Ht=Ht._vnode)&&n(Ht.data)&&ii(Ht,mt),Ht=0;Ht<I.remove.length;++Ht)I.remove[Ht](it,mt);n(Ht=it.data.hook)&&n(Ht=Ht.remove)?Ht(it,mt):mt()}else se(it.elm)}function Nt(it,mt,Ht,ni){for(var sn=Ht;sn<ni;sn++){var Jn=mt[sn];if(n(Jn)&&Sp(it,Jn))return sn}}function Pn(it,mt,Ht,ni,sn,Jn){if(it!==mt){n(mt.elm)&&n(ni)&&(mt=ni[sn]=Fe(mt));var Ln=mt.elm=it.elm;if(a(it.isAsyncPlaceholder))n(mt.asyncFactory.resolved)?gn(it.elm,mt,Ht):mt.isAsyncPlaceholder=!0;else if(a(mt.isStatic)&&a(it.isStatic)&&mt.key===it.key&&(a(mt.isCloned)||a(mt.isOnce)))mt.componentInstance=it.componentInstance;else{var Hn,io=mt.data;n(io)&&n(Hn=io.hook)&&n(Hn=Hn.prepatch)&&Hn(it,mt);var ia=it.children,Wn=mt.children;if(n(io)&&Re(mt)){for(Hn=0;Hn<I.update.length;++Hn)I.update[Hn](it,mt);n(Hn=io.hook)&&n(Hn=Hn.update)&&Hn(it,mt)}t(mt.text)?n(ia)&&n(Wn)?ia!==Wn&&function(Ha,wa,na,nr,g_){for(var bc,Of,Lf,yc=0,ar=0,Zr=wa.length-1,Vs=wa[0],xc=wa[Zr],kc=na.length-1,vs=na[0],v_=na[kc],US=!g_;yc<=Zr&&ar<=kc;)t(Vs)?Vs=wa[++yc]:t(xc)?xc=wa[--Zr]:Sp(Vs,vs)?(Pn(Vs,vs,nr,na,ar),Vs=wa[++yc],vs=na[++ar]):Sp(xc,v_)?(Pn(xc,v_,nr,na,kc),xc=wa[--Zr],v_=na[--kc]):Sp(Vs,v_)?(Pn(Vs,v_,nr,na,kc),US&&G.insertBefore(Ha,Vs.elm,G.nextSibling(xc.elm)),Vs=wa[++yc],v_=na[--kc]):Sp(xc,vs)?(Pn(xc,vs,nr,na,ar),US&&G.insertBefore(Ha,xc.elm,Vs.elm),xc=wa[--Zr],vs=na[++ar]):(t(bc)&&(bc=dN(wa,yc,Zr)),t(Of=n(vs.key)?bc[vs.key]:Nt(vs,wa,yc,Zr))?ye(vs,nr,Ha,Vs.elm,!1,na,ar):Sp(Lf=wa[Of],vs)?(Pn(Lf,vs,nr,na,ar),wa[Of]=void 0,US&&G.insertBefore(Ha,Lf.elm,Vs.elm)):ye(vs,nr,Ha,Vs.elm,!1,na,ar),vs=na[++ar]);yc>Zr?ut(Ha,t(na[kc+1])?null:na[kc+1].elm,na,ar,kc,nr):ar>kc&&St(wa,yc,Zr)}(Ln,ia,Wn,Ht,Jn):n(Wn)?(n(it.text)&&G.setTextContent(Ln,""),ut(Ln,null,Wn,0,Wn.length-1,Ht)):n(ia)?St(ia,0,ia.length-1):n(it.text)&&G.setTextContent(Ln,""):it.text!==mt.text&&G.setTextContent(Ln,mt.text),n(io)&&n(Hn=io.hook)&&n(Hn=Hn.postpatch)&&Hn(it,mt)}}}function Hi(it,mt,Ht){if(a(Ht)&&n(it.parent))it.parent.data.pendingInsert=mt;else for(var ni=0;ni<mt.length;++ni)mt[ni].data.hook.insert(mt[ni])}var Oi=f("attrs,class,staticClass,staticStyle,key");function gn(it,mt,Ht,ni){var sn,Jn=mt.tag,Ln=mt.data,Hn=mt.children;if(ni=ni||Ln&&Ln.pre,mt.elm=it,a(mt.isComment)&&n(mt.asyncFactory))return mt.isAsyncPlaceholder=!0,!0;if(n(Ln)&&(n(sn=Ln.hook)&&n(sn=sn.init)&&sn(mt,!0),n(sn=mt.componentInstance)))return ve(mt,Ht),!0;if(n(Jn)){if(n(Hn))if(it.hasChildNodes())if(n(sn=Ln)&&n(sn=sn.domProps)&&n(sn=sn.innerHTML)){if(sn!==it.innerHTML)return!1}else{for(var io=!0,ia=it.firstChild,Wn=0;Wn<Hn.length;Wn++){if(!ia||!gn(ia,Hn[Wn],Ht,ni)){io=!1;break}ia=ia.nextSibling}if(!io||ia)return!1}else Ye(mt,Hn,Ht);if(n(Ln)){var Ha=!1;for(var wa in Ln)if(!Oi(wa)){Ha=!0,tt(mt,Ht);break}!Ha&&Ln.class&&iu(Ln.class)}}else it.data!==mt.text&&(it.data=mt.text);return!0}return function(it,mt,Ht,ni){if(!t(mt)){var sn,Jn=!1,Ln=[];if(t(it))Jn=!0,ye(mt,Ln);else{var Hn=n(it.nodeType);if(!Hn&&Sp(it,mt))Pn(it,mt,Ln,null,null,ni);else{if(Hn){if(it.nodeType===1&&it.hasAttribute(pe)&&(it.removeAttribute(pe),Ht=!0),a(Ht)&&gn(it,mt,Ln))return Hi(mt,Ln,!0),it;sn=it,it=new Je(G.tagName(sn).toLowerCase(),{},[],void 0,sn)}var io=it.elm,ia=G.parentNode(io);if(ye(mt,Ln,io._leaveCb?null:ia,G.nextSibling(io)),n(mt.parent))for(var Wn=mt.parent,Ha=Re(mt);Wn;){for(var wa=0;wa<I.destroy.length;++wa)I.destroy[wa](Wn);if(Wn.elm=mt.elm,Ha){for(var na=0;na<I.create.length;++na)I.create[na](ru,Wn);var nr=Wn.data.hook.insert;if(nr.merged)for(var g_=nr.fns.slice(1),bc=0;bc<g_.length;bc++)g_[bc]()}else m_(Wn);Wn=Wn.parent}n(ia)?St([it],0,0):n(it.tag)&&Tt(it)}}return Hi(mt,Ln,Jn),mt.elm}n(it)&&Tt(it)}}({nodeOps:lN,modules:[hN,fN,SN,EN,AN,Qe?{create:qP,activate:qP,remove:function(k,T){k.data.show!==!0?HP(k,T):T()}}:{}].concat(_N)});Ke&&document.addEventListener("selectionchange",function(){var k=document.activeElement;k&&k.vmodel&&yS(k,"input")});var WP={inserted:function(k,T,B,I){B.tag==="select"?(I.elm&&!I.elm._vOptions?_n(B,"postpatch",function(){WP.componentUpdated(k,T,B)}):KP(k,T,B.context),k._vOptions=[].map.call(k.options,Ny)):(B.tag==="textarea"||tS(k.type))&&(k._vModifiers=T.modifiers,T.modifiers.lazy||(k.addEventListener("compositionstart",BN),k.addEventListener("compositionend",XP),k.addEventListener("change",XP),Ke&&(k.vmodel=!0)))},componentUpdated:function(k,T,B){if(B.tag==="select"){KP(k,T,B.context);var I=k._vOptions,q=k._vOptions=[].map.call(k.options,Ny);q.some(function(G,se){return!Q(G,I[se])})&&(k.multiple?T.value.some(function(G){return YP(G,q)}):T.value!==T.oldValue&&YP(T.value,q))&&yS(k,"change")}}};function KP(k,T,B){$P(k,T),(Ie||z)&&setTimeout(function(){$P(k,T)},0)}function $P(k,T,B){var I=T.value,q=k.multiple;if(!q||Array.isArray(I)){for(var G,se,ye=0,ve=k.options.length;ye<ve;ye++)if(se=k.options[ye],q)G=H(I,Ny(se))>-1,se.selected!==G&&(se.selected=G);else if(Q(Ny(se),I))return void(k.selectedIndex!==ye&&(k.selectedIndex=ye));q||(k.selectedIndex=-1)}}function YP(k,T){return T.every(function(B){return!Q(B,k)})}function Ny(k){return"_value"in k?k._value:k.value}function BN(k){k.target.composing=!0}function XP(k){k.target.composing&&(k.target.composing=!1,yS(k.target,"input"))}function yS(k,T){var B=document.createEvent("HTMLEvents");B.initEvent(T,!0,!0),k.dispatchEvent(B)}function xS(k){return!k.componentInstance||k.data&&k.data.transition?k:xS(k.componentInstance._vnode)}var RN={bind:function(k,T,B){var I=T.value,q=(B=xS(B)).data&&B.data.transition,G=k.__vOriginalDisplay=k.style.display==="none"?"":k.style.display;I&&q?(B.data.show=!0,vS(B,function(){k.style.display=G})):k.style.display=I?G:"none"},update:function(k,T,B){var I=T.value;!I!=!T.oldValue&&((B=xS(B)).data&&B.data.transition?(B.data.show=!0,I?vS(B,function(){k.style.display=k.__vOriginalDisplay}):HP(B,function(){k.style.display="none"})):k.style.display=I?k.__vOriginalDisplay:"none")},unbind:function(k,T,B,I,q){q||(k.style.display=k.__vOriginalDisplay)}},jN={model:WP,show:RN},JP={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function kS(k){var T=k&&k.componentOptions;return T&&T.Ctor.options.abstract?kS(zy(T.children)):k}function ZP(k){var T={},B=k.$options;for(var I in B.propsData)T[I]=k[I];var q=B._parentListeners;for(var I in q)T[A(I)]=q[I];return T}function QP(k,T){if(/\d-keep-alive$/.test(T.tag))return k("keep-alive",{props:T.componentOptions.propsData})}var IN=function(k){return k.tag||Ce(k)},DN=function(k){return k.name==="show"},VN={name:"transition",props:JP,abstract:!0,render:function(k){var T=this,B=this.$slots.default;if(B&&(B=B.filter(IN)).length){var I=this.mode,q=B[0];if(function(st){for(;st=st.parent;)if(st.data.transition)return!0}(this.$vnode))return q;var G=kS(q);if(!G)return q;if(this._leaving)return QP(k,q);var se="__transition-".concat(this._uid,"-");G.key=G.key==null?G.isComment?se+"comment":se+G.tag:o(G.key)?String(G.key).indexOf(se)===0?G.key:se+G.key:G.key;var ye=(G.data||(G.data={})).transition=ZP(this),ve=this._vnode,qe=kS(ve);if(G.data.directives&&G.data.directives.some(DN)&&(G.data.show=!0),qe&&qe.data&&!function(st,ut){return ut.key===st.key&&ut.tag===st.tag}(G,qe)&&!Ce(qe)&&(!qe.componentInstance||!qe.componentInstance._vnode.isComment)){var Ye=qe.data.transition=U({},ye);if(I==="out-in")return this._leaving=!0,_n(Ye,"afterLeave",function(){T._leaving=!1,T.$forceUpdate()}),QP(k,q);if(I==="in-out"){if(Ce(G))return ve;var Re,tt=function(){Re()};_n(ye,"afterEnter",tt),_n(ye,"enterCancelled",tt),_n(Ye,"delayLeave",function(st){Re=st})}}return q}}},eB=U({tag:String,moveClass:String},JP);delete eB.mode;var FN={props:eB,beforeMount:function(){var k=this,T=this._update;this._update=function(B,I){var q=Ty(k);k.__patch__(k._vnode,k.kept,!1,!0),k._vnode=k.kept,q(),T.call(k,B,I)}},render:function(k){for(var T=this.tag||this.$vnode.data.tag||"span",B=Object.create(null),I=this.prevChildren=this.children,q=this.$slots.default||[],G=this.children=[],se=ZP(this),ye=0;ye<q.length;ye++)(Ye=q[ye]).tag&&Ye.key!=null&&String(Ye.key).indexOf("__vlist")!==0&&(G.push(Ye),B[Ye.key]=Ye,(Ye.data||(Ye.data={})).transition=se);if(I){var ve=[],qe=[];for(ye=0;ye<I.length;ye++){var Ye;(Ye=I[ye]).data.transition=se,Ye.data.pos=Ye.elm.getBoundingClientRect(),B[Ye.key]?ve.push(Ye):qe.push(Ye)}this.kept=k(T,null,ve),this.removed=qe}return k(T,null,G)},updated:function(){var k=this.prevChildren,T=this.moveClass||(this.name||"v")+"-move";k.length&&this.hasMove(k[0].elm,T)&&(k.forEach(UN),k.forEach(ON),k.forEach(LN),this._reflow=document.body.offsetHeight,k.forEach(function(B){if(B.data.moved){var I=B.elm,q=I.style;Ep(I,T),q.transform=q.WebkitTransform=q.transitionDuration="",I.addEventListener(Ly,I._moveCb=function G(se){se&&se.target!==I||se&&!/transform$/.test(se.propertyName)||(I.removeEventListener(Ly,G),I._moveCb=null,cd(I,T))})}}))},methods:{hasMove:function(k,T){if(!IP)return!1;if(this._hasMove)return this._hasMove;var B=k.cloneNode();k._transitionClasses&&k._transitionClasses.forEach(function(q){BP(B,q)}),PP(B,T),B.style.display="none",this.$el.appendChild(B);var I=OP(B);return this.$el.removeChild(B),this._hasMove=I.hasTransform}}};function UN(k){k.elm._moveCb&&k.elm._moveCb(),k.elm._enterCb&&k.elm._enterCb()}function ON(k){k.data.newPos=k.elm.getBoundingClientRect()}function LN(k){var T=k.data.pos,B=k.data.newPos,I=T.left-B.left,q=T.top-B.top;if(I||q){k.data.moved=!0;var G=k.elm.style;G.transform=G.WebkitTransform="translate(".concat(I,"px,").concat(q,"px)"),G.transitionDuration="0s"}}var NN={Transition:VN,TransitionGroup:FN};Ui.config.mustUseProp=oP,Ui.config.isReservedTag=eS,Ui.config.isReservedAttr=eN,Ui.config.getTagNamespace=cP,Ui.config.isUnknownElement=function(k){if(!Qe)return!0;if(eS(k))return!1;if(k=k.toLowerCase(),Iy[k]!=null)return Iy[k];var T=document.createElement(k);return k.indexOf("-")>-1?Iy[k]=T.constructor===window.HTMLUnknownElement||T.constructor===window.HTMLElement:Iy[k]=/HTMLUnknownElement/.test(T.toString())},U(Ui.options.directives,jN),U(Ui.options.components,NN),Ui.prototype.__patch__=Qe?PN:ie,Ui.prototype.$mount=function(k,T){return function(B,I,q){var G;B.$el=I,B.$options.render||(B.$options.render=dt),Xr(B,"beforeMount"),G=function(){B._update(B._render(),q)},new cr(B,G,ie,{before:function(){B._isMounted&&!B._isDestroyed&&Xr(B,"beforeUpdate")}},!0),q=!1;var se=B._preWatchers;if(se)for(var ye=0;ye<se.length;ye++)se[ye].run();return B.$vnode==null&&(B._isMounted=!0,Xr(B,"mounted")),B}(this,k=k&&Qe?iS(k):void 0,T)},Qe&&setTimeout(function(){Be.devtools&&ge&&ge.emit("init",Ui)},0);var HN=/\{\{((?:.|\r?\n)+?)\}\}/g,tB=/[-.*+?^${}()|[\]\/\\]/g,GN=E(function(k){var T=k[0].replace(tB,"\\$&"),B=k[1].replace(tB,"\\$&");return new RegExp(T+"((?:.|\\n)+?)"+B,"g")}),qN={staticKeys:["staticClass"],transformNode:function(k,T){T.warn;var B=Vo(k,"class");B&&(k.staticClass=JSON.stringify(B.replace(/\s+/g," ").trim()));var I=_l(k,"class",!1);I&&(k.classBinding=I)},genData:function(k){var T="";return k.staticClass&&(T+="staticClass:".concat(k.staticClass,",")),k.classBinding&&(T+="class:".concat(k.classBinding,",")),T}},wS,WN={staticKeys:["staticStyle"],transformNode:function(k,T){T.warn;var B=Vo(k,"style");B&&(k.staticStyle=JSON.stringify(SP(B)));var I=_l(k,"style",!1);I&&(k.styleBinding=I)},genData:function(k){var T="";return k.staticStyle&&(T+="staticStyle:".concat(k.staticStyle,",")),k.styleBinding&&(T+="style:(".concat(k.styleBinding,"),")),T}},KN=function(k){return(wS=wS||document.createElement("div")).innerHTML=k,wS.textContent},$N=f("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),YN=f("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),XN=f("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),JN=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ZN=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,iB="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(X.source,"]*"),nB="((?:".concat(iB,"\\:)?").concat(iB,")"),aB=new RegExp("^<".concat(nB)),QN=/^\s*(\/?)>/,oB=new RegExp("^<\\/".concat(nB,"[^>]*>")),e6=/^<!DOCTYPE [^>]+>/i,rB=/^<!\--/,sB=/^<!\[/,lB=f("script,style,textarea",!0),cB={},t6={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":`
`,"&#9;":" ","&#39;":"'"},i6=/&(?:lt|gt|quot|amp|#39);/g,n6=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,a6=f("pre,textarea",!0),dB=function(k,T){return k&&a6(k)&&T[0]===`
`};function o6(k,T){var B=T?n6:i6;return k.replace(B,function(I){return t6[I]})}function r6(k,T){for(var B,I,q=[],G=T.expectHTML,se=T.isUnaryTag||te,ye=T.canBeLeftOpenTag||te,ve=0,qe=function(){if(B=k,I&&lB(I)){var tt=0,st=I.toLowerCase(),ut=cB[st]||(cB[st]=new RegExp("([\\s\\S]*?)(</"+st+"[^>]*>)","i"));it=k.replace(ut,function(Ht,ni,sn){return tt=sn.length,lB(st)||st==="noscript"||(ni=ni.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),dB(st,ni)&&(ni=ni.slice(1)),T.chars&&T.chars(ni),""}),ve+=k.length-it.length,k=it,Re(st,ve-tt,ve)}else{var Tt=k.indexOf("<");if(Tt===0){if(rB.test(k)){var St=k.indexOf("-->");if(St>=0)return T.shouldKeepComment&&T.comment&&T.comment(k.substring(4,St),ve,ve+St+3),Ye(St+3),"continue"}if(sB.test(k)){var ii=k.indexOf("]>");if(ii>=0)return Ye(ii+2),"continue"}var Nt=k.match(e6);if(Nt)return Ye(Nt[0].length),"continue";var Pn=k.match(oB);if(Pn){var Hi=ve;return Ye(Pn[0].length),Re(Pn[1],Hi,ve),"continue"}var Oi=function(){var Ht=k.match(aB);if(Ht){var ni={tagName:Ht[1],attrs:[],start:ve};Ye(Ht[0].length);for(var sn=void 0,Jn=void 0;!(sn=k.match(QN))&&(Jn=k.match(ZN)||k.match(JN));)Jn.start=ve,Ye(Jn[0].length),Jn.end=ve,ni.attrs.push(Jn);if(sn)return ni.unarySlash=sn[1],Ye(sn[0].length),ni.end=ve,ni}}();if(Oi)return function(Ht){var ni=Ht.tagName,sn=Ht.unarySlash;G&&(I==="p"&&XN(ni)&&Re(I),ye(ni)&&I===ni&&Re(ni));for(var Jn=se(ni)||!!sn,Ln=Ht.attrs.length,Hn=new Array(Ln),io=0;io<Ln;io++){var ia=Ht.attrs[io],Wn=ia[3]||ia[4]||ia[5]||"",Ha=ni==="a"&&ia[1]==="href"?T.shouldDecodeNewlinesForHref:T.shouldDecodeNewlines;Hn[io]={name:ia[1],value:o6(Wn,Ha)}}Jn||(q.push({tag:ni,lowerCasedTag:ni.toLowerCase(),attrs:Hn,start:Ht.start,end:Ht.end}),I=ni),T.start&&T.start(ni,Hn,Jn,Ht.start,Ht.end)}(Oi),dB(Oi.tagName,k)&&Ye(1),"continue"}var gn=void 0,it=void 0,mt=void 0;if(Tt>=0){for(it=k.slice(Tt);!(oB.test(it)||aB.test(it)||rB.test(it)||sB.test(it)||(mt=it.indexOf("<",1))<0);)Tt+=mt,it=k.slice(Tt);gn=k.substring(0,Tt)}Tt<0&&(gn=k),gn&&Ye(gn.length),T.chars&&gn&&T.chars(gn,ve-gn.length,ve)}if(k===B)return T.chars&&T.chars(k),"break"};k&&qe()!=="break";);function Ye(tt){ve+=tt,k=k.substring(tt)}function Re(tt,st,ut){var Tt,St;if(st==null&&(st=ve),ut==null&&(ut=ve),tt)for(St=tt.toLowerCase(),Tt=q.length-1;Tt>=0&&q[Tt].lowerCasedTag!==St;Tt--);else Tt=0;if(Tt>=0){for(var ii=q.length-1;ii>=Tt;ii--)T.end&&T.end(q[ii].tag,st,ut);q.length=Tt,I=Tt&&q[Tt-1].tag}else St==="br"?T.start&&T.start(tt,[],!0,st,ut):St==="p"&&(T.start&&T.start(tt,[],!1,st,ut),T.end&&T.end(tt,st,ut))}Re()}var uB,pB,SS,zS,ES,MS,TS,mB,_B=/^@|^v-on:/,AS=/^v-|^@|^:|^#/,s6=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,hB=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,l6=/^\(|\)$/g,Hy=/^\[.*\]$/,c6=/:(.*)$/,fB=/^:|^\.|^v-bind:/,gB=/\.[^.\]]+(?=[^\]]*$)/g,CS=/^v-slot(:|$)|^#/,d6=/[\r\n]/,u6=/[ \f\t\r\n]+/g,p6=E(KN),Gy="_empty_";function PS(k,T,B){return{type:1,tag:k,attrsList:T,attrsMap:h6(T),rawAttrsMap:{},parent:B,children:[]}}function m6(k,T){uB=T.warn||gP,MS=T.isPreTag||te,TS=T.mustUseProp||te,mB=T.getTagNamespace||te,T.isReservedTag,SS=Vf(T.modules,"transformNode"),zS=Vf(T.modules,"preTransformNode"),ES=Vf(T.modules,"postTransformNode"),pB=T.delimiters;var B,I,q=[],G=T.preserveWhitespace!==!1,se=T.whitespace,ye=!1,ve=!1;function qe(Re){if(Ye(Re),ye||Re.processed||(Re=qy(Re,T)),q.length||Re===B||B.if&&(Re.elseif||Re.else)&&h_(B,{exp:Re.elseif,block:Re}),I&&!Re.forbidden)if(Re.elseif||Re.else)st=Re,ut=function(St){for(var ii=St.length;ii--;){if(St[ii].type===1)return St[ii];St.pop()}}(I.children),ut&&ut.if&&h_(ut,{exp:st.elseif,block:st});else{if(Re.slotScope){var tt=Re.slotTarget||'"default"';(I.scopedSlots||(I.scopedSlots={}))[tt]=Re}I.children.push(Re),Re.parent=I}var st,ut;Re.children=Re.children.filter(function(St){return!St.slotScope}),Ye(Re),Re.pre&&(ye=!1),MS(Re.tag)&&(ve=!1);for(var Tt=0;Tt<ES.length;Tt++)ES[Tt](Re,T)}function Ye(Re){if(!ve)for(var tt=void 0;(tt=Re.children[Re.children.length-1])&&tt.type===3&&tt.text===" ";)Re.children.pop()}return r6(k,{warn:uB,expectHTML:T.expectHTML,isUnaryTag:T.isUnaryTag,canBeLeftOpenTag:T.canBeLeftOpenTag,shouldDecodeNewlines:T.shouldDecodeNewlines,shouldDecodeNewlinesForHref:T.shouldDecodeNewlinesForHref,shouldKeepComment:T.comments,outputSourceRange:T.outputSourceRange,start:function(Re,tt,st,ut,Tt){var St=I&&I.ns||mB(Re);Ie&&St==="svg"&&(tt=function(Hi){for(var Oi=[],gn=0;gn<Hi.length;gn++){var it=Hi[gn];f6.test(it.name)||(it.name=it.name.replace(g6,""),Oi.push(it))}return Oi}(tt));var ii,Nt=PS(Re,tt,I);St&&(Nt.ns=St),(ii=Nt).tag!=="style"&&(ii.tag!=="script"||ii.attrsMap.type&&ii.attrsMap.type!=="text/javascript")||be()||(Nt.forbidden=!0);for(var Pn=0;Pn<zS.length;Pn++)Nt=zS[Pn](Nt,T)||Nt;ye||(function(Hi){Vo(Hi,"v-pre")!=null&&(Hi.pre=!0)}(Nt),Nt.pre&&(ye=!0)),MS(Nt.tag)&&(ve=!0),ye?function(Hi){var Oi=Hi.attrsList,gn=Oi.length;if(gn)for(var it=Hi.attrs=new Array(gn),mt=0;mt<gn;mt++)it[mt]={name:Oi[mt].name,value:JSON.stringify(Oi[mt].value)},Oi[mt].start!=null&&(it[mt].start=Oi[mt].start,it[mt].end=Oi[mt].end);else Hi.pre||(Hi.plain=!0)}(Nt):Nt.processed||(vB(Nt),function(Hi){var Oi=Vo(Hi,"v-if");if(Oi)Hi.if=Oi,h_(Hi,{exp:Oi,block:Hi});else{Vo(Hi,"v-else")!=null&&(Hi.else=!0);var gn=Vo(Hi,"v-else-if");gn&&(Hi.elseif=gn)}}(Nt),function(Hi){var Oi=Vo(Hi,"v-once");Oi!=null&&(Hi.once=!0)}(Nt)),B||(B=Nt),st?qe(Nt):(I=Nt,q.push(Nt))},end:function(Re,tt,st){var ut=q[q.length-1];q.length-=1,I=q[q.length-1],qe(ut)},chars:function(Re,tt,st){if(I&&(!Ie||I.tag!=="textarea"||I.attrsMap.placeholder!==Re)){var ut,Tt=I.children;if(Re=ve||Re.trim()?(ut=I).tag==="script"||ut.tag==="style"?Re:p6(Re):Tt.length?se?se==="condense"&&d6.test(Re)?"":" ":G?" ":"":""){ve||se!=="condense"||(Re=Re.replace(u6," "));var St=void 0,ii=void 0;!ye&&Re!==" "&&(St=function(Nt,Pn){var Hi=Pn?GN(Pn):HN;if(Hi.test(Nt)){for(var Oi,gn,it,mt=[],Ht=[],ni=Hi.lastIndex=0;Oi=Hi.exec(Nt);){(gn=Oi.index)>ni&&(Ht.push(it=Nt.slice(ni,gn)),mt.push(JSON.stringify(it)));var sn=rS(Oi[1].trim());mt.push("_s(".concat(sn,")")),Ht.push({"@binding":sn}),ni=gn+Oi[0].length}return ni<Nt.length&&(Ht.push(it=Nt.slice(ni)),mt.push(JSON.stringify(it))),{expression:mt.join("+"),tokens:Ht}}}(Re,pB))?ii={type:2,expression:St.expression,tokens:St.tokens,text:Re}:Re===" "&&Tt.length&&Tt[Tt.length-1].text===" "||(ii={type:3,text:Re}),ii&&Tt.push(ii)}}},comment:function(Re,tt,st){if(I){var ut={type:3,text:Re,isComment:!0};I.children.push(ut)}}}),B}function qy(k,T){var B,I;(I=_l(B=k,"key"))&&(B.key=I),k.plain=!k.key&&!k.scopedSlots&&!k.attrsList.length,function(G){var se=_l(G,"ref");se&&(G.ref=se,G.refInFor=function(ye){for(var ve=ye;ve;){if(ve.for!==void 0)return!0;ve=ve.parent}return!1}(G))}(k),function(G){var se;G.tag==="template"?(se=Vo(G,"scope"),G.slotScope=se||Vo(G,"slot-scope")):(se=Vo(G,"slot-scope"))&&(G.slotScope=se);var ye=_l(G,"slot");if(ye&&(G.slotTarget=ye==='""'?'"default"':ye,G.slotTargetDynamic=!(!G.attrsMap[":slot"]&&!G.attrsMap["v-bind:slot"]),G.tag==="template"||G.slotScope||sS(G,"slot",ye,function(St,ii){return St.rawAttrsMap[":"+ii]||St.rawAttrsMap["v-bind:"+ii]||St.rawAttrsMap[ii]}(G,"slot"))),G.tag==="template"){if(Re=vP(G,CS)){var ve=bB(Re),qe=ve.name,Ye=ve.dynamic;G.slotTarget=qe,G.slotTargetDynamic=Ye,G.slotScope=Re.value||Gy}}else{var Re;if(Re=vP(G,CS)){var tt=G.scopedSlots||(G.scopedSlots={}),st=bB(Re),ut=st.name,Tt=(Ye=st.dynamic,tt[ut]=PS("template",[],G));Tt.slotTarget=ut,Tt.slotTargetDynamic=Ye,Tt.children=G.children.filter(function(St){if(!St.slotScope)return St.parent=Tt,!0}),Tt.slotScope=Re.value||Gy,G.children=[],G.plain=!1}}}(k),function(G){G.tag==="slot"&&(G.slotName=_l(G,"name"))}(k),function(G){var se;(se=_l(G,"is"))&&(G.component=se),Vo(G,"inline-template")!=null&&(G.inlineTemplate=!0)}(k);for(var q=0;q<SS.length;q++)k=SS[q](k,T)||k;return function(G){var se,ye,ve,qe,Ye,Re,tt,st,ut=G.attrsList;for(se=0,ye=ut.length;se<ye;se++)if(ve=qe=ut[se].name,Ye=ut[se].value,AS.test(ve))if(G.hasBindings=!0,(Re=_6(ve.replace(AS,"")))&&(ve=ve.replace(gB,"")),fB.test(ve))ve=ve.replace(fB,""),Ye=rS(Ye),(st=Hy.test(ve))&&(ve=ve.slice(1,-1)),Re&&(Re.prop&&!st&&(ve=A(ve))==="innerHtml"&&(ve="innerHTML"),Re.camel&&!st&&(ve=A(ve)),Re.sync&&(tt=lu(Ye,"$event"),st?ld(G,'"update:"+('.concat(ve,")"),tt,null,!1,0,ut[se],!0):(ld(G,"update:".concat(A(ve)),tt,null,!1,0,ut[se]),F(ve)!==A(ve)&&ld(G,"update:".concat(F(ve)),tt,null,!1,0,ut[se])))),Re&&Re.prop||!G.component&&TS(G.tag,G.attrsMap.type,ve)?zp(G,ve,Ye,ut[se],st):sS(G,ve,Ye,ut[se],st);else if(_B.test(ve))ve=ve.replace(_B,""),(st=Hy.test(ve))&&(ve=ve.slice(1,-1)),ld(G,ve,Ye,Re,!1,0,ut[se],st);else{var Tt=(ve=ve.replace(AS,"")).match(c6),St=Tt&&Tt[1];st=!1,St&&(ve=ve.slice(0,-(St.length+1)),Hy.test(St)&&(St=St.slice(1,-1),st=!0)),bN(G,ve,qe,Ye,St,st,Re,ut[se])}else sS(G,ve,JSON.stringify(Ye),ut[se]),!G.component&&ve==="muted"&&TS(G.tag,G.attrsMap.type,ve)&&zp(G,ve,"true",ut[se])}(k),k}function vB(k){var T;if(T=Vo(k,"v-for")){var B=function(I){var q=I.match(s6);if(q){var G={};G.for=q[2].trim();var se=q[1].trim().replace(l6,""),ye=se.match(hB);return ye?(G.alias=se.replace(hB,"").trim(),G.iterator1=ye[1].trim(),ye[2]&&(G.iterator2=ye[2].trim())):G.alias=se,G}}(T);B&&U(k,B)}}function h_(k,T){k.ifConditions||(k.ifConditions=[]),k.ifConditions.push(T)}function bB(k){var T=k.name.replace(CS,"");return T||k.name[0]!=="#"&&(T="default"),Hy.test(T)?{name:T.slice(1,-1),dynamic:!0}:{name:'"'.concat(T,'"'),dynamic:!1}}function _6(k){var T=k.match(gB);if(T){var B={};return T.forEach(function(I){B[I.slice(1)]=!0}),B}}function h6(k){for(var T={},B=0,I=k.length;B<I;B++)T[k[B].name]=k[B].value;return T}var f6=/^xmlns:NS\d+/,g6=/^NS\d+:/;function BS(k){return PS(k.tag,k.attrsList.slice(),k.parent)}var yB=[qN,WN,{preTransformNode:function(k,T){if(k.tag==="input"){var B=k.attrsMap;if(!B["v-model"])return;var I=void 0;if((B[":type"]||B["v-bind:type"])&&(I=_l(k,"type")),B.type||I||!B["v-bind"]||(I="(".concat(B["v-bind"],").type")),I){var q=Vo(k,"v-if",!0),G=q?"&&(".concat(q,")"):"",se=Vo(k,"v-else",!0)!=null,ye=Vo(k,"v-else-if",!0),ve=BS(k);vB(ve),lS(ve,"type","checkbox"),qy(ve,T),ve.processed=!0,ve.if="(".concat(I,")==='checkbox'")+G,h_(ve,{exp:ve.if,block:ve});var qe=BS(k);Vo(qe,"v-for",!0),lS(qe,"type","radio"),qy(qe,T),h_(ve,{exp:"(".concat(I,")==='radio'")+G,block:qe});var Ye=BS(k);return Vo(Ye,"v-for",!0),lS(Ye,":type",I),qy(Ye,T),h_(ve,{exp:q,block:Ye}),se?ve.else=!0:ye&&(ve.elseif=ye),ve}}}}],xB,RS,v6={model:function(k,T,B){var I=T.value,q=T.modifiers,G=k.tag,se=k.attrsMap.type;if(k.component)return bP(k,I,q),!1;if(G==="select")(function(ye,ve,qe){var Ye=qe&&qe.number,Re='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;'+"return ".concat(Ye?"_n(val)":"val","})"),tt="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",st="var $$selectedVal = ".concat(Re,";");st="".concat(st," ").concat(lu(ve,tt)),ld(ye,"change",st,null,!0)})(k,I,q);else if(G==="input"&&se==="checkbox")(function(ye,ve,qe){var Ye=qe&&qe.number,Re=_l(ye,"value")||"null",tt=_l(ye,"true-value")||"true",st=_l(ye,"false-value")||"false";zp(ye,"checked","Array.isArray(".concat(ve,")")+"?_i(".concat(ve,",").concat(Re,")>-1")+(tt==="true"?":(".concat(ve,")"):":_q(".concat(ve,",").concat(tt,")"))),ld(ye,"change","var $$a=".concat(ve,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(tt,"):(").concat(st,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(Ye?"_n("+Re+")":Re,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(lu(ve,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(lu(ve,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(lu(ve,"$$c"),"}"),null,!0)})(k,I,q);else if(G==="input"&&se==="radio")(function(ye,ve,qe){var Ye=qe&&qe.number,Re=_l(ye,"value")||"null";Re=Ye?"_n(".concat(Re,")"):Re,zp(ye,"checked","_q(".concat(ve,",").concat(Re,")")),ld(ye,"change",lu(ve,Re),null,!0)})(k,I,q);else if(G==="input"||G==="textarea")(function(ye,ve,qe){var Ye=ye.attrsMap.type,Re=qe||{},tt=Re.lazy,st=Re.number,ut=Re.trim,Tt=!tt&&Ye!=="range",St=tt?"change":Ye==="range"?Fy:"input",ii="$event.target.value";ut&&(ii="$event.target.value.trim()"),st&&(ii="_n(".concat(ii,")"));var Nt=lu(ve,ii);Tt&&(Nt="if($event.target.composing)return;".concat(Nt)),zp(ye,"value","(".concat(ve,")")),ld(ye,St,Nt,null,!0),(ut||st)&&ld(ye,"blur","$forceUpdate()")})(k,I,q);else if(!Be.isReservedTag(G))return bP(k,I,q),!1;return!0},text:function(k,T){T.value&&zp(k,"textContent","_s(".concat(T.value,")"),T)},html:function(k,T){T.value&&zp(k,"innerHTML","_s(".concat(T.value,")"),T)}},b6={expectHTML:!0,modules:yB,directives:v6,isPreTag:function(k){return k==="pre"},isUnaryTag:$N,mustUseProp:oP,canBeLeftOpenTag:YN,isReservedTag:eS,getTagNamespace:cP,staticKeys:function(k){return k.reduce(function(T,B){return T.concat(B.staticKeys||[])},[]).join(",")}(yB)},y6=E(function(k){return f("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(k?","+k:""))});function x6(k,T){k&&(xB=y6(T.staticKeys||""),RS=T.isReservedTag||te,jS(k),IS(k,!1))}function jS(k){if(k.static=function(G){return G.type===2?!1:G.type===3?!0:!(!G.pre&&(G.hasBindings||G.if||G.for||g(G.tag)||!RS(G.tag)||function(se){for(;se.parent;){if((se=se.parent).tag!=="template")return!1;if(se.for)return!0}return!1}(G)||!Object.keys(G).every(xB)))}(k),k.type===1){if(!RS(k.tag)&&k.tag!=="slot"&&k.attrsMap["inline-template"]==null)return;for(var T=0,B=k.children.length;T<B;T++){var I=k.children[T];jS(I),I.static||(k.static=!1)}if(k.ifConditions)for(T=1,B=k.ifConditions.length;T<B;T++){var q=k.ifConditions[T].block;jS(q),q.static||(k.static=!1)}}}function IS(k,T){if(k.type===1){if((k.static||k.once)&&(k.staticInFor=T),k.static&&k.children.length&&(k.children.length!==1||k.children[0].type!==3))return void(k.staticRoot=!0);if(k.staticRoot=!1,k.children)for(var B=0,I=k.children.length;B<I;B++)IS(k.children[B],T||!!k.for);if(k.ifConditions)for(B=1,I=k.ifConditions.length;B<I;B++)IS(k.ifConditions[B].block,T)}}var k6=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,w6=/\([^)]*?\);*$/,kB=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,wB={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},S6={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},dd=function(k){return"if(".concat(k,")return null;")},SB={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:dd("$event.target !== $event.currentTarget"),ctrl:dd("!$event.ctrlKey"),shift:dd("!$event.shiftKey"),alt:dd("!$event.altKey"),meta:dd("!$event.metaKey"),left:dd("'button' in $event && $event.button !== 0"),middle:dd("'button' in $event && $event.button !== 1"),right:dd("'button' in $event && $event.button !== 2")};function zB(k,T){var B=T?"nativeOn:":"on:",I="",q="";for(var G in k){var se=EB(k[G]);k[G]&&k[G].dynamic?q+="".concat(G,",").concat(se,","):I+='"'.concat(G,'":').concat(se,",")}return I="{".concat(I.slice(0,-1),"}"),q?B+"_d(".concat(I,",[").concat(q.slice(0,-1),"])"):B+I}function EB(k){if(!k)return"function(){}";if(Array.isArray(k))return"[".concat(k.map(function(Ye){return EB(Ye)}).join(","),"]");var T=kB.test(k.value),B=k6.test(k.value),I=kB.test(k.value.replace(w6,""));if(k.modifiers){var q="",G="",se=[],ye=function(Ye){if(SB[Ye])G+=SB[Ye],wB[Ye]&&se.push(Ye);else if(Ye==="exact"){var Re=k.modifiers;G+=dd(["ctrl","shift","alt","meta"].filter(function(tt){return!Re[tt]}).map(function(tt){return"$event.".concat(tt,"Key")}).join("||"))}else se.push(Ye)};for(var ve in k.modifiers)ye(ve);se.length&&(q+=function(Ye){return"if(!$event.type.indexOf('key')&&"+"".concat(Ye.map(z6).join("&&"),")return null;")}(se)),G&&(q+=G);var qe=T?"return ".concat(k.value,".apply(null, arguments)"):B?"return (".concat(k.value,").apply(null, arguments)"):I?"return ".concat(k.value):k.value;return"function($event){".concat(q).concat(qe,"}")}return T||B?k.value:"function($event){".concat(I?"return ".concat(k.value):k.value,"}")}function z6(k){var T=parseInt(k,10);if(T)return"$event.keyCode!==".concat(T);var B=wB[k],I=S6[k];return"_k($event.keyCode,"+"".concat(JSON.stringify(k),",")+"".concat(JSON.stringify(B),",")+"$event.key,"+"".concat(JSON.stringify(I))+")"}var E6={on:function(k,T){k.wrapListeners=function(B){return"_g(".concat(B,",").concat(T.value,")")}},bind:function(k,T){k.wrapData=function(B){return"_b(".concat(B,",'").concat(k.tag,"',").concat(T.value,",").concat(T.modifiers&&T.modifiers.prop?"true":"false").concat(T.modifiers&&T.modifiers.sync?",true":"",")")}},cloak:ie},M6=function(k){this.options=k,this.warn=k.warn||gP,this.transforms=Vf(k.modules,"transformCode"),this.dataGenFns=Vf(k.modules,"genData"),this.directives=U(U({},E6),k.directives);var T=k.isReservedTag||te;this.maybeComponent=function(B){return!!B.component||!T(B.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function MB(k,T){var B=new M6(T),I=k?k.tag==="script"?"null":ud(k,B):'_c("div")';return{render:"with(this){return ".concat(I,"}"),staticRenderFns:B.staticRenderFns}}function ud(k,T){if(k.parent&&(k.pre=k.pre||k.parent.pre),k.staticRoot&&!k.staticProcessed)return TB(k,T);if(k.once&&!k.onceProcessed)return AB(k,T);if(k.for&&!k.forProcessed)return PB(k,T);if(k.if&&!k.ifProcessed)return DS(k,T);if(k.tag!=="template"||k.slotTarget||T.pre){if(k.tag==="slot")return function(qe,Ye){var Re=qe.slotName||'"default"',tt=f_(qe,Ye),st="_t(".concat(Re).concat(tt?",function(){return ".concat(tt,"}"):""),ut=qe.attrs||qe.dynamicAttrs?Wy((qe.attrs||[]).concat(qe.dynamicAttrs||[]).map(function(St){return{name:A(St.name),value:St.value,dynamic:St.dynamic}})):null,Tt=qe.attrsMap["v-bind"];return!ut&&!Tt||tt||(st+=",null"),ut&&(st+=",".concat(ut)),Tt&&(st+="".concat(ut?"":",null",",").concat(Tt)),st+")"}(k,T);var B=void 0;if(k.component)B=function(qe,Ye,Re){var tt=Ye.inlineTemplate?null:f_(Ye,Re,!0);return"_c(".concat(qe,",").concat(BB(Ye,Re)).concat(tt?",".concat(tt):"",")")}(k.component,k,T);else{var I=void 0,q=T.maybeComponent(k);(!k.plain||k.pre&&q)&&(I=BB(k,T));var G=void 0,se=T.options.bindings;q&&se&&se.__isScriptSetup!==!1&&(G=function(qe,Ye){var Re=A(Ye),tt=R(Re),st=function(St){return qe[Ye]===St?Ye:qe[Re]===St?Re:qe[tt]===St?tt:void 0},ut=st("setup-const")||st("setup-reactive-const");if(ut)return ut;var Tt=st("setup-let")||st("setup-ref")||st("setup-maybe-ref");if(Tt)return Tt}(se,k.tag)),G||(G="'".concat(k.tag,"'"));var ye=k.inlineTemplate?null:f_(k,T,!0);B="_c(".concat(G).concat(I?",".concat(I):"").concat(ye?",".concat(ye):"",")")}for(var ve=0;ve<T.transforms.length;ve++)B=T.transforms[ve](k,B);return B}return f_(k,T)||"void 0"}function TB(k,T){k.staticProcessed=!0;var B=T.pre;return k.pre&&(T.pre=k.pre),T.staticRenderFns.push("with(this){return ".concat(ud(k,T),"}")),T.pre=B,"_m(".concat(T.staticRenderFns.length-1).concat(k.staticInFor?",true":"",")")}function AB(k,T){if(k.onceProcessed=!0,k.if&&!k.ifProcessed)return DS(k,T);if(k.staticInFor){for(var B="",I=k.parent;I;){if(I.for){B=I.key;break}I=I.parent}return B?"_o(".concat(ud(k,T),",").concat(T.onceId++,",").concat(B,")"):ud(k,T)}return TB(k,T)}function DS(k,T,B,I){return k.ifProcessed=!0,CB(k.ifConditions.slice(),T,B,I)}function CB(k,T,B,I){if(!k.length)return I||"_e()";var q=k.shift();return q.exp?"(".concat(q.exp,")?").concat(G(q.block),":").concat(CB(k,T,B,I)):"".concat(G(q.block));function G(se){return B?B(se,T):se.once?AB(se,T):ud(se,T)}}function PB(k,T,B,I){var q=k.for,G=k.alias,se=k.iterator1?",".concat(k.iterator1):"",ye=k.iterator2?",".concat(k.iterator2):"";return k.forProcessed=!0,"".concat(I||"_l","((").concat(q,"),")+"function(".concat(G).concat(se).concat(ye,"){")+"return ".concat((B||ud)(k,T))+"})"}function BB(k,T){var B="{",I=function(se,ye){var ve=se.directives;if(ve){var qe,Ye,Re,tt,st="directives:[",ut=!1;for(qe=0,Ye=ve.length;qe<Ye;qe++){Re=ve[qe],tt=!0;var Tt=ye.directives[Re.name];Tt&&(tt=!!Tt(se,Re,ye.warn)),tt&&(ut=!0,st+='{name:"'.concat(Re.name,'",rawName:"').concat(Re.rawName,'"').concat(Re.value?",value:(".concat(Re.value,"),expression:").concat(JSON.stringify(Re.value)):"").concat(Re.arg?",arg:".concat(Re.isDynamicArg?Re.arg:'"'.concat(Re.arg,'"')):"").concat(Re.modifiers?",modifiers:".concat(JSON.stringify(Re.modifiers)):"","},"))}if(ut)return st.slice(0,-1)+"]"}}(k,T);I&&(B+=I+","),k.key&&(B+="key:".concat(k.key,",")),k.ref&&(B+="ref:".concat(k.ref,",")),k.refInFor&&(B+="refInFor:true,"),k.pre&&(B+="pre:true,"),k.component&&(B+='tag:"'.concat(k.tag,'",'));for(var q=0;q<T.dataGenFns.length;q++)B+=T.dataGenFns[q](k);if(k.attrs&&(B+="attrs:".concat(Wy(k.attrs),",")),k.props&&(B+="domProps:".concat(Wy(k.props),",")),k.events&&(B+="".concat(zB(k.events,!1),",")),k.nativeEvents&&(B+="".concat(zB(k.nativeEvents,!0),",")),k.slotTarget&&!k.slotScope&&(B+="slot:".concat(k.slotTarget,",")),k.scopedSlots&&(B+="".concat(function(se,ye,ve){var qe=se.for||Object.keys(ye).some(function(st){var ut=ye[st];return ut.slotTargetDynamic||ut.if||ut.for||RB(ut)}),Ye=!!se.if;if(!qe)for(var Re=se.parent;Re;){if(Re.slotScope&&Re.slotScope!==Gy||Re.for){qe=!0;break}Re.if&&(Ye=!0),Re=Re.parent}var tt=Object.keys(ye).map(function(st){return VS(ye[st],ve)}).join(",");return"scopedSlots:_u([".concat(tt,"]").concat(qe?",null,true":"").concat(!qe&&Ye?",null,false,".concat(function(st){for(var ut=5381,Tt=st.length;Tt;)ut=33*ut^st.charCodeAt(--Tt);return ut>>>0}(tt)):"",")")}(k,k.scopedSlots,T),",")),k.model&&(B+="model:{value:".concat(k.model.value,",callback:").concat(k.model.callback,",expression:").concat(k.model.expression,"},")),k.inlineTemplate){var G=function(se,ye){var ve=se.children[0];if(ve&&ve.type===1){var qe=MB(ve,ye.options);return"inlineTemplate:{render:function(){".concat(qe.render,"},staticRenderFns:[").concat(qe.staticRenderFns.map(function(Ye){return"function(){".concat(Ye,"}")}).join(","),"]}")}}(k,T);G&&(B+="".concat(G,","))}return B=B.replace(/,$/,"")+"}",k.dynamicAttrs&&(B="_b(".concat(B,',"').concat(k.tag,'",').concat(Wy(k.dynamicAttrs),")")),k.wrapData&&(B=k.wrapData(B)),k.wrapListeners&&(B=k.wrapListeners(B)),B}function RB(k){return k.type===1&&(k.tag==="slot"||k.children.some(RB))}function VS(k,T){var B=k.attrsMap["slot-scope"];if(k.if&&!k.ifProcessed&&!B)return DS(k,T,VS,"null");if(k.for&&!k.forProcessed)return PB(k,T,VS);var I=k.slotScope===Gy?"":String(k.slotScope),q="function(".concat(I,"){")+"return ".concat(k.tag==="template"?k.if&&B?"(".concat(k.if,")?").concat(f_(k,T)||"undefined",":undefined"):f_(k,T)||"undefined":ud(k,T),"}"),G=I?"":",proxy:true";return"{key:".concat(k.slotTarget||'"default"',",fn:").concat(q).concat(G,"}")}function f_(k,T,B,I,q){var G=k.children;if(G.length){var se=G[0];if(G.length===1&&se.for&&se.tag!=="template"&&se.tag!=="slot"){var ye=B?T.maybeComponent(se)?",1":",0":"";return"".concat((I||ud)(se,T)).concat(ye)}var ve=B?function(Ye,Re){for(var tt=0,st=0;st<Ye.length;st++){var ut=Ye[st];if(ut.type===1){if(jB(ut)||ut.ifConditions&&ut.ifConditions.some(function(Tt){return jB(Tt.block)})){tt=2;break}(Re(ut)||ut.ifConditions&&ut.ifConditions.some(function(Tt){return Re(Tt.block)}))&&(tt=1)}}return tt}(G,T.maybeComponent):0,qe=q||T6;return"[".concat(G.map(function(Ye){return qe(Ye,T)}).join(","),"]").concat(ve?",".concat(ve):"")}}function jB(k){return k.for!==void 0||k.tag==="template"||k.tag==="slot"}function T6(k,T){return k.type===1?ud(k,T):k.type===3&&k.isComment?function(B){return"_e(".concat(JSON.stringify(B.text),")")}(k):function(B){return"_v(".concat(B.type===2?B.expression:IB(JSON.stringify(B.text)),")")}(k)}function Wy(k){for(var T="",B="",I=0;I<k.length;I++){var q=k[I],G=IB(q.value);q.dynamic?B+="".concat(q.name,",").concat(G,","):T+='"'.concat(q.name,'":').concat(G,",")}return T="{".concat(T.slice(0,-1),"}"),B?"_d(".concat(T,",[").concat(B.slice(0,-1),"])"):T}function IB(k){return k.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function DB(k,T){try{return new Function(k)}catch(B){return T.push({err:B,code:k}),ie}}function A6(k){var T=Object.create(null);return function(B,I,q){(I=U({},I)).warn,delete I.warn;var G=I.delimiters?String(I.delimiters)+B:B;if(T[G])return T[G];var se=k(B,I),ye={},ve=[];return ye.render=DB(se.render,ve),ye.staticRenderFns=se.staticRenderFns.map(function(qe){return DB(qe,ve)}),T[G]=ye}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");var VB,FS,C6=(VB=function(k,T){var B=m6(k.trim(),T);T.optimize!==!1&&x6(B,T);var I=MB(B,T);return{ast:B,render:I.render,staticRenderFns:I.staticRenderFns}},function(k){function T(B,I){var q=Object.create(k),G=[],se=[];if(I)for(var ye in I.modules&&(q.modules=(k.modules||[]).concat(I.modules)),I.directives&&(q.directives=U(Object.create(k.directives||null),I.directives)),I)ye!=="modules"&&ye!=="directives"&&(q[ye]=I[ye]);q.warn=function(qe,Ye,Re){(Re?se:G).push(qe)};var ve=VB(B.trim(),q);return ve.errors=G,ve.tips=se,ve}return{compile:T,compileToFunctions:A6(T)}}),FB=C6(b6).compileToFunctions;function UB(k){return(FS=FS||document.createElement("div")).innerHTML=k?`<a href="
"/>`:`<div a="
"/>`,FS.innerHTML.indexOf("&#10;")>0}var P6=!!Qe&&UB(!1),B6=!!Qe&&UB(!0),R6=E(function(k){var T=iS(k);return T&&T.innerHTML}),j6=Ui.prototype.$mount;return Ui.prototype.$mount=function(k,T){if((k=k&&iS(k))===document.body||k===document.documentElement)return this;var B=this.$options;if(!B.render){var I=B.template;if(I)if(typeof I=="string")I.charAt(0)==="#"&&(I=R6(I));else{if(!I.nodeType)return this;I=I.innerHTML}else k&&(I=function(ye){if(ye.outerHTML)return ye.outerHTML;var ve=document.createElement("div");return ve.appendChild(ye.cloneNode(!0)),ve.innerHTML}(k));if(I){var q=FB(I,{outputSourceRange:!1,shouldDecodeNewlines:P6,shouldDecodeNewlinesForHref:B6,delimiters:B.delimiters,comments:B.comments},this),G=q.render,se=q.staticRenderFns;B.render=G,B.staticRenderFns=se}}return j6.call(this,k,T)},Ui.compile=FB,U(Ui,K1),Ui.effect=function(k,T){var B=new cr(de,k,ie,{sync:!0});T&&(B.update=function(){T(function(){return B.run()})})},Ui})});var Ev=Ft((_oe,NE)=>{"use strict";typeof process>"u"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0?NE.exports={nextTick:mK}:NE.exports=process;function mK(i,e,t,n){if(typeof i!="function")throw new TypeError('"callback" argument must be a function');var a=arguments.length,o,r;switch(a){case 0:case 1:return process.nextTick(i);case 2:return process.nextTick(function(){i.call(null,e)});case 3:return process.nextTick(function(){i.call(null,e,t)});case 4:return process.nextTick(function(){i.call(null,e,t,n)});default:for(o=new Array(a-1),r=0;r<o.length;)o[r++]=arguments[r];return process.nextTick(function(){i.apply(null,o)})}}});var zI=Ft((hoe,SI)=>{var _K={}.toString;SI.exports=Array.isArray||function(i){return _K.call(i)=="[object Array]"}});var HE=Ft((foe,EI)=>{EI.exports=or("stream")});var Mv=Ft((GE,TI)=>{var Yk=or("buffer"),Ad=Yk.Buffer;function MI(i,e){for(var t in i)e[t]=i[t]}Ad.from&&Ad.alloc&&Ad.allocUnsafe&&Ad.allocUnsafeSlow?TI.exports=Yk:(MI(Yk,GE),GE.Buffer=_h);function _h(i,e,t){return Ad(i,e,t)}MI(Ad,_h);_h.from=function(i,e,t){if(typeof i=="number")throw new TypeError("Argument must not be a number");return Ad(i,e,t)};_h.alloc=function(i,e,t){if(typeof i!="number")throw new TypeError("Argument must be a number");var n=Ad(i);return e!==void 0?typeof t=="string"?n.fill(e,t):n.fill(e):n.fill(0),n};_h.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return Ad(i)};_h.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return Yk.SlowBuffer(i)}});var hh=Ft(Hr=>{function hK(i){return Array.isArray?Array.isArray(i):Xk(i)==="[object Array]"}Hr.isArray=hK;function fK(i){return typeof i=="boolean"}Hr.isBoolean=fK;function gK(i){return i===null}Hr.isNull=gK;function vK(i){return i==null}Hr.isNullOrUndefined=vK;function bK(i){return typeof i=="number"}Hr.isNumber=bK;function yK(i){return typeof i=="string"}Hr.isString=yK;function xK(i){return typeof i=="symbol"}Hr.isSymbol=xK;function kK(i){return i===void 0}Hr.isUndefined=kK;function wK(i){return Xk(i)==="[object RegExp]"}Hr.isRegExp=wK;function SK(i){return typeof i=="object"&&i!==null}Hr.isObject=SK;function zK(i){return Xk(i)==="[object Date]"}Hr.isDate=zK;function EK(i){return Xk(i)==="[object Error]"||i instanceof Error}Hr.isError=EK;function MK(i){return typeof i=="function"}Hr.isFunction=MK;function TK(i){return i===null||typeof i=="boolean"||typeof i=="number"||typeof i=="string"||typeof i=="symbol"||typeof i>"u"}Hr.isPrimitive=TK;Hr.isBuffer=Buffer.isBuffer;function Xk(i){return Object.prototype.toString.call(i)}});var AI=Ft((voe,qE)=>{typeof Object.create=="function"?qE.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:qE.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}});var fh=Ft((boe,KE)=>{try{if(WE=or("util"),typeof WE.inherits!="function")throw"";KE.exports=WE.inherits}catch{KE.exports=AI()}var WE});var PI=Ft((yoe,$E)=>{"use strict";function AK(i,e){if(!(i instanceof e))throw new TypeError("Cannot call a class as a function")}var CI=Mv().Buffer,Tv=or("util");function CK(i,e,t){i.copy(e,t)}$E.exports=function(){function i(){AK(this,i),this.head=null,this.tail=null,this.length=0}return i.prototype.push=function(t){var n={data:t,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length},i.prototype.unshift=function(t){var n={data:t,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length},i.prototype.shift=function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},i.prototype.clear=function(){this.head=this.tail=null,this.length=0},i.prototype.join=function(t){if(this.length===0)return"";for(var n=this.head,a=""+n.data;n=n.next;)a+=t+n.data;return a},i.prototype.concat=function(t){if(this.length===0)return CI.alloc(0);for(var n=CI.allocUnsafe(t>>>0),a=this.head,o=0;a;)CK(a.data,n,o),o+=a.data.length,a=a.next;return n},i}();Tv&&Tv.inspect&&Tv.inspect.custom&&($E.exports.prototype[Tv.inspect.custom]=function(){var i=Tv.inspect({length:this.length});return this.constructor.name+" "+i})});var YE=Ft((xoe,BI)=>{"use strict";var Jk=Ev();function PK(i,e){var t=this,n=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return n||a?(e?e(i):i&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,Jk.nextTick(Zk,this,i)):Jk.nextTick(Zk,this,i)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(i||null,function(o){!e&&o?t._writableState?t._writableState.errorEmitted||(t._writableState.errorEmitted=!0,Jk.nextTick(Zk,t,o)):Jk.nextTick(Zk,t,o):e&&e(o)}),this)}function BK(){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)}function Zk(i,e){i.emit("error",e)}BI.exports={destroy:PK,undestroy:BK}});var jI=Ft((koe,RI)=>{RI.exports=or("util").deprecate});var JE=Ft((woe,HI)=>{"use strict";var cm=Ev();HI.exports=Ho;function DI(i){var e=this;this.next=null,this.entry=null,this.finish=function(){XK(e,i)}}var RK=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:cm.nextTick,gh;Ho.WritableState=Cv;var VI=Object.create(hh());VI.inherits=fh();var jK={deprecate:jI()},FI=HE(),e0=Mv().Buffer,IK=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function DK(i){return e0.from(i)}function VK(i){return e0.isBuffer(i)||i instanceof IK}var OI=YE();VI.inherits(Ho,FI);function FK(){}function Cv(i,e){gh=gh||dm(),i=i||{};var t=e instanceof gh;this.objectMode=!!i.objectMode,t&&(this.objectMode=this.objectMode||!!i.writableObjectMode);var n=i.highWaterMark,a=i.writableHighWaterMark,o=this.objectMode?16:16*1024;n||n===0?this.highWaterMark=n:t&&(a||a===0)?this.highWaterMark=a:this.highWaterMark=o,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var r=i.decodeStrings===!1;this.decodeStrings=!r,this.defaultEncoding=i.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(s){qK(e,s)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new DI(this)}Cv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(Cv.prototype,"buffer",{get:jK.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Qk;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Qk=Function.prototype[Symbol.hasInstance],Object.defineProperty(Ho,Symbol.hasInstance,{value:function(i){return Qk.call(this,i)?!0:this!==Ho?!1:i&&i._writableState instanceof Cv}})):Qk=function(i){return i instanceof this};function Ho(i){if(gh=gh||dm(),!Qk.call(Ho,this)&&!(this instanceof gh))return new Ho(i);this._writableState=new Cv(i,this),this.writable=!0,i&&(typeof i.write=="function"&&(this._write=i.write),typeof i.writev=="function"&&(this._writev=i.writev),typeof i.destroy=="function"&&(this._destroy=i.destroy),typeof i.final=="function"&&(this._final=i.final)),FI.call(this)}Ho.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function UK(i,e){var t=new Error("write after end");i.emit("error",t),cm.nextTick(e,t)}function OK(i,e,t,n){var a=!0,o=!1;return t===null?o=new TypeError("May not write null values to stream"):typeof t!="string"&&t!==void 0&&!e.objectMode&&(o=new TypeError("Invalid non-string/buffer chunk")),o&&(i.emit("error",o),cm.nextTick(n,o),a=!1),a}Ho.prototype.write=function(i,e,t){var n=this._writableState,a=!1,o=!n.objectMode&&VK(i);return o&&!e0.isBuffer(i)&&(i=DK(i)),typeof e=="function"&&(t=e,e=null),o?e="buffer":e||(e=n.defaultEncoding),typeof t!="function"&&(t=FK),n.ended?UK(this,t):(o||OK(this,n,i,t))&&(n.pendingcb++,a=NK(this,n,o,i,e,t)),a};Ho.prototype.cork=function(){var i=this._writableState;i.corked++};Ho.prototype.uncork=function(){var i=this._writableState;i.corked&&(i.corked--,!i.writing&&!i.corked&&!i.bufferProcessing&&i.bufferedRequest&&LI(this,i))};Ho.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this};function LK(i,e,t){return!i.objectMode&&i.decodeStrings!==!1&&typeof e=="string"&&(e=e0.from(e,t)),e}Object.defineProperty(Ho.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function NK(i,e,t,n,a,o){if(!t){var r=LK(e,n,a);n!==r&&(t=!0,a="buffer",n=r)}var s=e.objectMode?1:n.length;e.length+=s;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:a,isBuf:t,callback:o,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else XE(i,e,!1,s,n,a,o);return l}function XE(i,e,t,n,a,o,r){e.writelen=n,e.writecb=r,e.writing=!0,e.sync=!0,t?i._writev(a,e.onwrite):i._write(a,o,e.onwrite),e.sync=!1}function HK(i,e,t,n,a){--e.pendingcb,t?(cm.nextTick(a,n),cm.nextTick(Av,i,e),i._writableState.errorEmitted=!0,i.emit("error",n)):(a(n),i._writableState.errorEmitted=!0,i.emit("error",n),Av(i,e))}function GK(i){i.writing=!1,i.writecb=null,i.length-=i.writelen,i.writelen=0}function qK(i,e){var t=i._writableState,n=t.sync,a=t.writecb;if(GK(t),e)HK(i,t,n,e,a);else{var o=NI(t);!o&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&LI(i,t),n?RK(II,i,t,o,a):II(i,t,o,a)}}function II(i,e,t,n){t||WK(i,e),e.pendingcb--,n(),Av(i,e)}function WK(i,e){e.length===0&&e.needDrain&&(e.needDrain=!1,i.emit("drain"))}function LI(i,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(i._writev&&t&&t.next){var n=e.bufferedRequestCount,a=new Array(n),o=e.corkedRequestsFree;o.entry=t;for(var r=0,s=!0;t;)a[r]=t,t.isBuf||(s=!1),t=t.next,r+=1;a.allBuffers=s,XE(i,e,!0,e.length,a,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new DI(e),e.bufferedRequestCount=0}else{for(;t;){var l=t.chunk,c=t.encoding,d=t.callback,u=e.objectMode?1:l.length;if(XE(i,e,!1,u,l,c,d),t=t.next,e.bufferedRequestCount--,e.writing)break}t===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}Ho.prototype._write=function(i,e,t){t(new Error("_write() is not implemented"))};Ho.prototype._writev=null;Ho.prototype.end=function(i,e,t){var n=this._writableState;typeof i=="function"?(t=i,i=null,e=null):typeof e=="function"&&(t=e,e=null),i!=null&&this.write(i,e),n.corked&&(n.corked=1,this.uncork()),n.ending||YK(this,n,t)};function NI(i){return i.ending&&i.length===0&&i.bufferedRequest===null&&!i.finished&&!i.writing}function KK(i,e){i._final(function(t){e.pendingcb--,t&&i.emit("error",t),e.prefinished=!0,i.emit("prefinish"),Av(i,e)})}function $K(i,e){!e.prefinished&&!e.finalCalled&&(typeof i._final=="function"?(e.pendingcb++,e.finalCalled=!0,cm.nextTick(KK,i,e)):(e.prefinished=!0,i.emit("prefinish")))}function Av(i,e){var t=NI(e);return t&&($K(i,e),e.pendingcb===0&&(e.finished=!0,i.emit("finish"))),t}function YK(i,e,t){e.ending=!0,Av(i,e),t&&(e.finished?cm.nextTick(t):i.once("finish",t)),e.ended=!0,i.writable=!1}function XK(i,e,t){var n=i.entry;for(i.entry=null;n;){var a=n.callback;e.pendingcb--,a(t),n=n.next}e.corkedRequestsFree.next=i}Object.defineProperty(Ho.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(i){this._writableState&&(this._writableState.destroyed=i)}});Ho.prototype.destroy=OI.destroy;Ho.prototype._undestroy=OI.undestroy;Ho.prototype._destroy=function(i,e){this.end(),e(i)}});var dm=Ft((Soe,KI)=>{"use strict";var GI=Ev(),JK=Object.keys||function(i){var e=[];for(var t in i)e.push(t);return e};KI.exports=Cd;var qI=Object.create(hh());qI.inherits=fh();var WI=eM(),QE=JE();qI.inherits(Cd,WI);for(ZE=JK(QE.prototype),t0=0;t0<ZE.length;t0++)i0=ZE[t0],Cd.prototype[i0]||(Cd.prototype[i0]=QE.prototype[i0]);var ZE,i0,t0;function Cd(i){if(!(this instanceof Cd))return new Cd(i);WI.call(this,i),QE.call(this,i),i&&i.readable===!1&&(this.readable=!1),i&&i.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,i&&i.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",ZK)}Object.defineProperty(Cd.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function ZK(){this.allowHalfOpen||this._writableState.ended||GI.nextTick(QK,this)}function QK(i){i.end()}Object.defineProperty(Cd.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(i){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=i,this._writableState.destroyed=i)}});Cd.prototype._destroy=function(i,e){this.push(null),this.end(),GI.nextTick(e,i)}});var nM=Ft(YI=>{"use strict";var iM=Mv().Buffer,$I=iM.isEncoding||function(i){switch(i=""+i,i&&i.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 e$(i){if(!i)return"utf8";for(var e;;)switch(i){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 i;default:if(e)return;i=(""+i).toLowerCase(),e=!0}}function t$(i){var e=e$(i);if(typeof e!="string"&&(iM.isEncoding===$I||!$I(i)))throw new Error("Unknown encoding: "+i);return e||i}YI.StringDecoder=Pv;function Pv(i){this.encoding=t$(i);var e;switch(this.encoding){case"utf16le":this.text=s$,this.end=l$,e=4;break;case"utf8":this.fillLast=a$,e=4;break;case"base64":this.text=c$,this.end=d$,e=3;break;default:this.write=u$,this.end=p$;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=iM.allocUnsafe(e)}Pv.prototype.write=function(i){if(i.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(i),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<i.length?e?e+this.text(i,t):this.text(i,t):e||""};Pv.prototype.end=r$;Pv.prototype.text=o$;Pv.prototype.fillLast=function(i){if(this.lastNeed<=i.length)return i.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);i.copy(this.lastChar,this.lastTotal-this.lastNeed,0,i.length),this.lastNeed-=i.length};function tM(i){return i<=127?0:i>>5===6?2:i>>4===14?3:i>>3===30?4:i>>6===2?-1:-2}function i$(i,e,t){var n=e.length-1;if(n<t)return 0;var a=tM(e[n]);return a>=0?(a>0&&(i.lastNeed=a-1),a):--n<t||a===-2?0:(a=tM(e[n]),a>=0?(a>0&&(i.lastNeed=a-2),a):--n<t||a===-2?0:(a=tM(e[n]),a>=0?(a>0&&(a===2?a=0:i.lastNeed=a-3),a):0))}function n$(i,e,t){if((e[0]&192)!==128)return i.lastNeed=0,"\uFFFD";if(i.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return i.lastNeed=1,"\uFFFD";if(i.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return i.lastNeed=2,"\uFFFD"}}function a$(i){var e=this.lastTotal-this.lastNeed,t=n$(this,i,e);if(t!==void 0)return t;if(this.lastNeed<=i.length)return i.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);i.copy(this.lastChar,e,0,i.length),this.lastNeed-=i.length}function o$(i,e){var t=i$(this,i,e);if(!this.lastNeed)return i.toString("utf8",e);this.lastTotal=t;var n=i.length-(t-this.lastNeed);return i.copy(this.lastChar,0,n),i.toString("utf8",e,n)}function r$(i){var e=i&&i.length?this.write(i):"";return this.lastNeed?e+"\uFFFD":e}function s$(i,e){if((i.length-e)%2===0){var t=i.toString("utf16le",e);if(t){var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=i[i.length-2],this.lastChar[1]=i[i.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=i[i.length-1],i.toString("utf16le",e,i.length-1)}function l$(i){var e=i&&i.length?this.write(i):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function c$(i,e){var t=(i.length-e)%3;return t===0?i.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=i[i.length-1]:(this.lastChar[0]=i[i.length-2],this.lastChar[1]=i[i.length-1]),i.toString("base64",e,i.length-t))}function d$(i){var e=i&&i.length?this.write(i):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function u$(i){return i.toString(this.encoding)}function p$(i){return i&&i.length?this.write(i):""}});var eM=Ft((Moe,sD)=>{"use strict";var bh=Ev();sD.exports=Va;var m$=zI(),Bv;Va.ReadableState=iD;var Eoe=or("events").EventEmitter,QI=function(i,e){return i.listeners(e).length},lM=HE(),Rv=Mv().Buffer,_$=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function h$(i){return Rv.from(i)}function f$(i){return Rv.isBuffer(i)||i instanceof _$}var eD=Object.create(hh());eD.inherits=fh();var aM=or("util"),Zn=void 0;aM&&aM.debuglog?Zn=aM.debuglog("stream"):Zn=function(){};var g$=PI(),tD=YE(),vh;eD.inherits(Va,lM);var oM=["error","close","destroy","pause","resume"];function v$(i,e,t){if(typeof i.prependListener=="function")return i.prependListener(e,t);!i._events||!i._events[e]?i.on(e,t):m$(i._events[e])?i._events[e].unshift(t):i._events[e]=[t,i._events[e]]}function iD(i,e){Bv=Bv||dm(),i=i||{};var t=e instanceof Bv;this.objectMode=!!i.objectMode,t&&(this.objectMode=this.objectMode||!!i.readableObjectMode);var n=i.highWaterMark,a=i.readableHighWaterMark,o=this.objectMode?16:16*1024;n||n===0?this.highWaterMark=n:t&&(a||a===0)?this.highWaterMark=a:this.highWaterMark=o,this.highWaterMark=Math.floor(this.highWaterMark),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.destroyed=!1,this.defaultEncoding=i.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,i.encoding&&(vh||(vh=nM().StringDecoder),this.decoder=new vh(i.encoding),this.encoding=i.encoding)}function Va(i){if(Bv=Bv||dm(),!(this instanceof Va))return new Va(i);this._readableState=new iD(i,this),this.readable=!0,i&&(typeof i.read=="function"&&(this._read=i.read),typeof i.destroy=="function"&&(this._destroy=i.destroy)),lM.call(this)}Object.defineProperty(Va.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(i){this._readableState&&(this._readableState.destroyed=i)}});Va.prototype.destroy=tD.destroy;Va.prototype._undestroy=tD.undestroy;Va.prototype._destroy=function(i,e){this.push(null),e(i)};Va.prototype.push=function(i,e){var t=this._readableState,n;return t.objectMode?n=!0:typeof i=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(i=Rv.from(i,e),e=""),n=!0),nD(this,i,e,!1,n)};Va.prototype.unshift=function(i){return nD(this,i,null,!0,!1)};function nD(i,e,t,n,a){var o=i._readableState;if(e===null)o.reading=!1,k$(i,o);else{var r;a||(r=b$(o,e)),r?i.emit("error",r):o.objectMode||e&&e.length>0?(typeof e!="string"&&!o.objectMode&&Object.getPrototypeOf(e)!==Rv.prototype&&(e=h$(e)),n?o.endEmitted?i.emit("error",new Error("stream.unshift() after end event")):rM(i,o,e,!0):o.ended?i.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!t?(e=o.decoder.write(e),o.objectMode||e.length!==0?rM(i,o,e,!1):aD(i,o)):rM(i,o,e,!1))):n||(o.reading=!1)}return y$(o)}function rM(i,e,t,n){e.flowing&&e.length===0&&!e.sync?(i.emit("data",t),i.read(0)):(e.length+=e.objectMode?1:t.length,n?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&n0(i)),aD(i,e)}function b$(i,e){var t;return!f$(e)&&typeof e!="string"&&e!==void 0&&!i.objectMode&&(t=new TypeError("Invalid non-string/buffer chunk")),t}function y$(i){return!i.ended&&(i.needReadable||i.length<i.highWaterMark||i.length===0)}Va.prototype.isPaused=function(){return this._readableState.flowing===!1};Va.prototype.setEncoding=function(i){return vh||(vh=nM().StringDecoder),this._readableState.decoder=new vh(i),this._readableState.encoding=i,this};var XI=8388608;function x$(i){return i>=XI?i=XI:(i--,i|=i>>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i++),i}function JI(i,e){return i<=0||e.length===0&&e.ended?0:e.objectMode?1:i!==i?e.flowing&&e.length?e.buffer.head.data.length:e.length:(i>e.highWaterMark&&(e.highWaterMark=x$(i)),i<=e.length?i:e.ended?e.length:(e.needReadable=!0,0))}Va.prototype.read=function(i){Zn("read",i),i=parseInt(i,10);var e=this._readableState,t=i;if(i!==0&&(e.emittedReadable=!1),i===0&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return Zn("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?sM(this):n0(this),null;if(i=JI(i,e),i===0&&e.ended)return e.length===0&&sM(this),null;var n=e.needReadable;Zn("need readable",n),(e.length===0||e.length-i<e.highWaterMark)&&(n=!0,Zn("length less than watermark",n)),e.ended||e.reading?(n=!1,Zn("reading or ended",n)):n&&(Zn("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(i=JI(t,e)));var a;return i>0?a=oD(i,e):a=null,a===null?(e.needReadable=!0,i=0):e.length-=i,e.length===0&&(e.ended||(e.needReadable=!0),t!==i&&e.ended&&sM(this)),a!==null&&this.emit("data",a),a};function k$(i,e){if(!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,n0(i)}}function n0(i){var e=i._readableState;e.needReadable=!1,e.emittedReadable||(Zn("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?bh.nextTick(ZI,i):ZI(i))}function ZI(i){Zn("emit readable"),i.emit("readable"),cM(i)}function aD(i,e){e.readingMore||(e.readingMore=!0,bh.nextTick(w$,i,e))}function w$(i,e){for(var t=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(Zn("maybeReadMore read 0"),i.read(0),t!==e.length);)t=e.length;e.readingMore=!1}Va.prototype._read=function(i){this.emit("error",new Error("_read() is not implemented"))};Va.prototype.pipe=function(i,e){var t=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=i;break;case 1:n.pipes=[n.pipes,i];break;default:n.pipes.push(i);break}n.pipesCount+=1,Zn("pipe count=%d opts=%j",n.pipesCount,e);var a=(!e||e.end!==!1)&&i!==process.stdout&&i!==process.stderr,o=a?s:g;n.endEmitted?bh.nextTick(o):t.once("end",o),i.on("unpipe",r);function r(v,b){Zn("onunpipe"),v===t&&b&&b.hasUnpiped===!1&&(b.hasUnpiped=!0,d())}function s(){Zn("onend"),i.end()}var l=S$(t);i.on("drain",l);var c=!1;function d(){Zn("cleanup"),i.removeListener("close",_),i.removeListener("finish",f),i.removeListener("drain",l),i.removeListener("error",m),i.removeListener("unpipe",r),t.removeListener("end",s),t.removeListener("end",g),t.removeListener("data",p),c=!0,n.awaitDrain&&(!i._writableState||i._writableState.needDrain)&&l()}var u=!1;t.on("data",p);function p(v){Zn("ondata"),u=!1;var b=i.write(v);b===!1&&!u&&((n.pipesCount===1&&n.pipes===i||n.pipesCount>1&&rD(n.pipes,i)!==-1)&&!c&&(Zn("false write response, pause",n.awaitDrain),n.awaitDrain++,u=!0),t.pause())}function m(v){Zn("onerror",v),g(),i.removeListener("error",m),QI(i,"error")===0&&i.emit("error",v)}v$(i,"error",m);function _(){i.removeListener("finish",f),g()}i.once("close",_);function f(){Zn("onfinish"),i.removeListener("close",_),g()}i.once("finish",f);function g(){Zn("unpipe"),t.unpipe(i)}return i.emit("pipe",t),n.flowing||(Zn("pipe resume"),t.resume()),i};function S$(i){return function(){var e=i._readableState;Zn("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,e.awaitDrain===0&&QI(i,"data")&&(e.flowing=!0,cM(i))}}Va.prototype.unpipe=function(i){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return i&&i!==e.pipes?this:(i||(i=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,i&&i.emit("unpipe",this,t),this);if(!i){var n=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<a;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var r=rD(e.pipes,i);return r===-1?this:(e.pipes.splice(r,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),i.emit("unpipe",this,t),this)};Va.prototype.on=function(i,e){var t=lM.prototype.on.call(this,i,e);if(i==="data")this._readableState.flowing!==!1&&this.resume();else if(i==="readable"){var n=this._readableState;!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&n0(this):bh.nextTick(z$,this))}return t};Va.prototype.addListener=Va.prototype.on;function z$(i){Zn("readable nexttick read 0"),i.read(0)}Va.prototype.resume=function(){var i=this._readableState;return i.flowing||(Zn("resume"),i.flowing=!0,E$(this,i)),this};function E$(i,e){e.resumeScheduled||(e.resumeScheduled=!0,bh.nextTick(M$,i,e))}function M$(i,e){e.reading||(Zn("resume read 0"),i.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,i.emit("resume"),cM(i),e.flowing&&!e.reading&&i.read(0)}Va.prototype.pause=function(){return Zn("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Zn("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function cM(i){var e=i._readableState;for(Zn("flow",e.flowing);e.flowing&&i.read()!==null;);}Va.prototype.wrap=function(i){var e=this,t=this._readableState,n=!1;i.on("end",function(){if(Zn("wrapped end"),t.decoder&&!t.ended){var r=t.decoder.end();r&&r.length&&e.push(r)}e.push(null)}),i.on("data",function(r){if(Zn("wrapped data"),t.decoder&&(r=t.decoder.write(r)),!(t.objectMode&&r==null)&&!(!t.objectMode&&(!r||!r.length))){var s=e.push(r);s||(n=!0,i.pause())}});for(var a in i)this[a]===void 0&&typeof i[a]=="function"&&(this[a]=function(r){return function(){return i[r].apply(i,arguments)}}(a));for(var o=0;o<oM.length;o++)i.on(oM[o],this.emit.bind(this,oM[o]));return this._read=function(r){Zn("wrapped _read",r),n&&(n=!1,i.resume())},this};Object.defineProperty(Va.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Va._fromList=oD;function oD(i,e){if(e.length===0)return null;var t;return e.objectMode?t=e.buffer.shift():!i||i>=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.head.data:t=e.buffer.concat(e.length),e.buffer.clear()):t=T$(i,e.buffer,e.decoder),t}function T$(i,e,t){var n;return i<e.head.data.length?(n=e.head.data.slice(0,i),e.head.data=e.head.data.slice(i)):i===e.head.data.length?n=e.shift():n=t?A$(i,e):C$(i,e),n}function A$(i,e){var t=e.head,n=1,a=t.data;for(i-=a.length;t=t.next;){var o=t.data,r=i>o.length?o.length:i;if(r===o.length?a+=o:a+=o.slice(0,i),i-=r,i===0){r===o.length?(++n,t.next?e.head=t.next:e.head=e.tail=null):(e.head=t,t.data=o.slice(r));break}++n}return e.length-=n,a}function C$(i,e){var t=Rv.allocUnsafe(i),n=e.head,a=1;for(n.data.copy(t),i-=n.data.length;n=n.next;){var o=n.data,r=i>o.length?o.length:i;if(o.copy(t,t.length-i,0,r),i-=r,i===0){r===o.length?(++a,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(r));break}++a}return e.length-=a,t}function sM(i){var e=i._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,bh.nextTick(P$,e,i))}function P$(i,e){!i.endEmitted&&i.length===0&&(i.endEmitted=!0,e.readable=!1,e.emit("end"))}function rD(i,e){for(var t=0,n=i.length;t<n;t++)if(i[t]===e)return t;return-1}});var dM=Ft((Toe,dD)=>{"use strict";dD.exports=Pd;var a0=dm(),cD=Object.create(hh());cD.inherits=fh();cD.inherits(Pd,a0);function B$(i,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));t.writechunk=null,t.writecb=null,e!=null&&this.push(e),n(i);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function Pd(i){if(!(this instanceof Pd))return new Pd(i);a0.call(this,i),this._transformState={afterTransform:B$.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,i&&(typeof i.transform=="function"&&(this._transform=i.transform),typeof i.flush=="function"&&(this._flush=i.flush)),this.on("prefinish",R$)}function R$(){var i=this;typeof this._flush=="function"?this._flush(function(e,t){lD(i,e,t)}):lD(this,null,null)}Pd.prototype.push=function(i,e){return this._transformState.needTransform=!1,a0.prototype.push.call(this,i,e)};Pd.prototype._transform=function(i,e,t){throw new Error("_transform() is not implemented")};Pd.prototype._write=function(i,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=i,n.writeencoding=e,!n.transforming){var a=this._readableState;(n.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};Pd.prototype._read=function(i){var e=this._transformState;e.writechunk!==null&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};Pd.prototype._destroy=function(i,e){var t=this;a0.prototype._destroy.call(this,i,function(n){e(n),t.emit("close")})};function lD(i,e,t){if(e)return i.emit("error",e);if(t!=null&&i.push(t),i._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(i._transformState.transforming)throw new Error("Calling transform done when still transforming");return i.push(null)}});var _D=Ft((Aoe,mD)=>{"use strict";mD.exports=jv;var uD=dM(),pD=Object.create(hh());pD.inherits=fh();pD.inherits(jv,uD);function jv(i){if(!(this instanceof jv))return new jv(i);uD.call(this,i)}jv.prototype._transform=function(i,e,t){t(null,i)}});var uM=Ft((Mr,o0)=>{var Pc=or("stream");process.env.READABLE_STREAM==="disable"&&Pc?(o0.exports=Pc,Mr=o0.exports=Pc.Readable,Mr.Readable=Pc.Readable,Mr.Writable=Pc.Writable,Mr.Duplex=Pc.Duplex,Mr.Transform=Pc.Transform,Mr.PassThrough=Pc.PassThrough,Mr.Stream=Pc):(Mr=o0.exports=eM(),Mr.Stream=Pc||Mr,Mr.Readable=Mr,Mr.Writable=JE(),Mr.Duplex=dm(),Mr.Transform=dM(),Mr.PassThrough=_D())});var Bd=Ft(Ws=>{"use strict";Ws.base64=!0;Ws.array=!0;Ws.string=!0;Ws.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u";Ws.nodebuffer=typeof Buffer<"u";Ws.uint8array=typeof Uint8Array<"u";if(typeof ArrayBuffer>"u")Ws.blob=!1;else{pM=new ArrayBuffer(0);try{Ws.blob=new Blob([pM],{type:"application/zip"}).size===0}catch{try{hD=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,mM=new hD,mM.append(pM),Ws.blob=mM.getBlob("application/zip").size===0}catch{Ws.blob=!1}}}var pM,hD,mM;try{Ws.nodestream=!!uM().Readable}catch{Ws.nodestream=!1}});var hM=Ft(_M=>{"use strict";var j$=oo(),I$=Bd(),Bc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";_M.encode=function(i){for(var e=[],t,n,a,o,r,s,l,c=0,d=i.length,u=d,p=j$.getTypeOf(i)!=="string";c<i.length;)u=d-c,p?(t=i[c++],n=c<d?i[c++]:0,a=c<d?i[c++]:0):(t=i.charCodeAt(c++),n=c<d?i.charCodeAt(c++):0,a=c<d?i.charCodeAt(c++):0),o=t>>2,r=(t&3)<<4|n>>4,s=u>1?(n&15)<<2|a>>6:64,l=u>2?a&63:64,e.push(Bc.charAt(o)+Bc.charAt(r)+Bc.charAt(s)+Bc.charAt(l));return e.join("")};_M.decode=function(i){var e,t,n,a,o,r,s,l=0,c=0,d="data:";if(i.substr(0,d.length)===d)throw new Error("Invalid base64 input, it looks like a data url.");i=i.replace(/[^A-Za-z0-9+/=]/g,"");var u=i.length*3/4;if(i.charAt(i.length-1)===Bc.charAt(64)&&u--,i.charAt(i.length-2)===Bc.charAt(64)&&u--,u%1!==0)throw new Error("Invalid base64 input, bad content length.");var p;for(I$.uint8array?p=new Uint8Array(u|0):p=new Array(u|0);l<i.length;)a=Bc.indexOf(i.charAt(l++)),o=Bc.indexOf(i.charAt(l++)),r=Bc.indexOf(i.charAt(l++)),s=Bc.indexOf(i.charAt(l++)),e=a<<2|o>>4,t=(o&15)<<4|r>>2,n=(r&3)<<6|s,p[c++]=e,r!==64&&(p[c++]=t),s!==64&&(p[c++]=n);return p}});var Iv=Ft((Boe,fD)=>{"use strict";fD.exports={isNode:typeof Buffer<"u",newBufferFrom:function(i,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(i,e);if(typeof i=="number")throw new Error('The "data" argument must not be a number');return new Buffer(i,e)},allocBuffer:function(i){if(Buffer.alloc)return Buffer.alloc(i);var e=new Buffer(i);return e.fill(0),e},isBuffer:function(i){return Buffer.isBuffer(i)},isStream:function(i){return i&&typeof i.on=="function"&&typeof i.pause=="function"&&typeof i.resume=="function"}}});var yD=Ft((Roe,bD)=>{"use strict";var gD=global.MutationObserver||global.WebKitMutationObserver,yh;process.browser?gD?(fM=0,vD=new gD(Dv),gM=global.document.createTextNode(""),vD.observe(gM,{characterData:!0}),yh=function(){gM.data=fM=++fM%2}):!global.setImmediate&&typeof global.MessageChannel<"u"?(vM=new global.MessageChannel,vM.port1.onmessage=Dv,yh=function(){vM.port2.postMessage(0)}):"document"in global&&"onreadystatechange"in global.document.createElement("script")?yh=function(){var i=global.document.createElement("script");i.onreadystatechange=function(){Dv(),i.onreadystatechange=null,i.parentNode.removeChild(i),i=null},global.document.documentElement.appendChild(i)}:yh=function(){setTimeout(Dv,0)}:yh=function(){process.nextTick(Dv)};var fM,vD,gM,vM,bM,Vv=[];function Dv(){bM=!0;for(var i,e,t=Vv.length;t;){for(e=Vv,Vv=[],i=-1;++i<t;)e[i]();t=Vv.length}bM=!1}bD.exports=D$;function D$(i){Vv.push(i)===1&&!bM&&yh()}});var MD=Ft((joe,ED)=>{"use strict";var xD=yD();function xh(){}var Gr={},kD=["REJECTED"],yM=["FULFILLED"],wD=["PENDING"];process.browser||(Fv=["UNHANDLED"]);var Fv;ED.exports=Iu;function Iu(i){if(typeof i!="function")throw new TypeError("resolver must be a function");this.state=wD,this.queue=[],this.outcome=void 0,process.browser||(this.handled=Fv),i!==xh&&SD(this,i)}Iu.prototype.finally=function(i){if(typeof i!="function")return this;var e=this.constructor;return this.then(t,n);function t(a){function o(){return a}return e.resolve(i()).then(o)}function n(a){function o(){throw a}return e.resolve(i()).then(o)}};Iu.prototype.catch=function(i){return this.then(null,i)};Iu.prototype.then=function(i,e){if(typeof i!="function"&&this.state===yM||typeof e!="function"&&this.state===kD)return this;var t=new this.constructor(xh);if(process.browser||this.handled===Fv&&(this.handled=null),this.state!==wD){var n=this.state===yM?i:e;xM(t,n,this.outcome)}else this.queue.push(new Uv(t,i,e));return t};function Uv(i,e,t){this.promise=i,typeof e=="function"&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),typeof t=="function"&&(this.onRejected=t,this.callRejected=this.otherCallRejected)}Uv.prototype.callFulfilled=function(i){Gr.resolve(this.promise,i)};Uv.prototype.otherCallFulfilled=function(i){xM(this.promise,this.onFulfilled,i)};Uv.prototype.callRejected=function(i){Gr.reject(this.promise,i)};Uv.prototype.otherCallRejected=function(i){xM(this.promise,this.onRejected,i)};function xM(i,e,t){xD(function(){var n;try{n=e(t)}catch(a){return Gr.reject(i,a)}n===i?Gr.reject(i,new TypeError("Cannot resolve promise with itself")):Gr.resolve(i,n)})}Gr.resolve=function(i,e){var t=zD(V$,e);if(t.status==="error")return Gr.reject(i,t.value);var n=t.value;if(n)SD(i,n);else{i.state=yM,i.outcome=e;for(var a=-1,o=i.queue.length;++a<o;)i.queue[a].callFulfilled(e)}return i};Gr.reject=function(i,e){i.state=kD,i.outcome=e,process.browser||i.handled===Fv&&xD(function(){i.handled===Fv&&process.emit("unhandledRejection",e,i)});for(var t=-1,n=i.queue.length;++t<n;)i.queue[t].callRejected(e);return i};function V$(i){var e=i&&i.then;if(i&&(typeof i=="object"||typeof i=="function")&&typeof e=="function")return function(){e.apply(i,arguments)}}function SD(i,e){var t=!1;function n(s){t||(t=!0,Gr.reject(i,s))}function a(s){t||(t=!0,Gr.resolve(i,s))}function o(){e(a,n)}var r=zD(o);r.status==="error"&&n(r.value)}function zD(i,e){var t={};try{t.value=i(e),t.status="success"}catch(n){t.status="error",t.value=n}return t}Iu.resolve=F$;function F$(i){return i instanceof this?i:Gr.resolve(new this(xh),i)}Iu.reject=U$;function U$(i){var e=new this(xh);return Gr.reject(e,i)}Iu.all=O$;function O$(i){var e=this;if(Object.prototype.toString.call(i)!=="[object Array]")return this.reject(new TypeError("must be an array"));var t=i.length,n=!1;if(!t)return this.resolve([]);for(var a=new Array(t),o=0,r=-1,s=new this(xh);++r<t;)l(i[r],r);return s;function l(c,d){e.resolve(c).then(u,function(p){n||(n=!0,Gr.reject(s,p))});function u(p){a[d]=p,++o===t&&!n&&(n=!0,Gr.resolve(s,a))}}}Iu.race=L$;function L$(i){var e=this;if(Object.prototype.toString.call(i)!=="[object Array]")return this.reject(new TypeError("must be an array"));var t=i.length,n=!1;if(!t)return this.resolve([]);for(var a=-1,o=new this(xh);++a<t;)r(i[a]);return o;function r(s){e.resolve(s).then(function(l){n||(n=!0,Gr.resolve(o,l))},function(l){n||(n=!0,Gr.reject(o,l))})}}});var kh=Ft((Ioe,TD)=>{"use strict";var kM=null;typeof Promise<"u"?kM=Promise:kM=MD();TD.exports={Promise:kM}});var CD=Ft(AD=>{(function(i,e){"use strict";if(i.setImmediate)return;var t=1,n={},a=!1,o=i.document,r;function s(b){typeof b!="function"&&(b=new Function(""+b));for(var x=new Array(arguments.length-1),w=0;w<x.length;w++)x[w]=arguments[w+1];var E={callback:b,args:x};return n[t]=E,r(t),t++}function l(b){delete n[b]}function c(b){var x=b.callback,w=b.args;switch(w.length){case 0:x();break;case 1:x(w[0]);break;case 2:x(w[0],w[1]);break;case 3:x(w[0],w[1],w[2]);break;default:x.apply(e,w);break}}function d(b){if(a)setTimeout(d,0,b);else{var x=n[b];if(x){a=!0;try{c(x)}finally{l(b),a=!1}}}}function u(){r=function(b){process.nextTick(function(){d(b)})}}function p(){if(i.postMessage&&!i.importScripts){var b=!0,x=i.onmessage;return i.onmessage=function(){b=!1},i.postMessage("","*"),i.onmessage=x,b}}function m(){var b="setImmediate$"+Math.random()+"$",x=function(w){w.source===i&&typeof w.data=="string"&&w.data.indexOf(b)===0&&d(+w.data.slice(b.length))};i.addEventListener?i.addEventListener("message",x,!1):i.attachEvent("onmessage",x),r=function(w){i.postMessage(b+w,"*")}}function _(){var b=new MessageChannel;b.port1.onmessage=function(x){var w=x.data;d(w)},r=function(x){b.port2.postMessage(x)}}function f(){var b=o.documentElement;r=function(x){var w=o.createElement("script");w.onreadystatechange=function(){d(x),w.onreadystatechange=null,b.removeChild(w),w=null},b.appendChild(w)}}function g(){r=function(b){setTimeout(d,0,b)}}var v=Object.getPrototypeOf&&Object.getPrototypeOf(i);v=v&&v.setTimeout?v:i,{}.toString.call(i.process)==="[object process]"?u():p()?m():i.MessageChannel?_():o&&"onreadystatechange"in o.createElement("script")?f():g(),v.setImmediate=s,v.clearImmediate=l})(typeof self>"u"?typeof global>"u"?AD:global:self)});var oo=Ft(Go=>{"use strict";var Du=Bd(),N$=hM(),wh=Iv(),wM=kh();CD();function H$(i){var e=null;return Du.uint8array?e=new Uint8Array(i.length):e=new Array(i.length),s0(i,e)}Go.newBlob=function(i,e){Go.checkSupport("blob");try{return new Blob([i],{type:e})}catch{try{var t=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,n=new t;return n.append(i),n.getBlob(e)}catch{throw new Error("Bug : can't construct the Blob.")}}};function Ov(i){return i}function s0(i,e){for(var t=0;t<i.length;++t)e[t]=i.charCodeAt(t)&255;return e}var r0={stringifyByChunk:function(i,e,t){var n=[],a=0,o=i.length;if(o<=t)return String.fromCharCode.apply(null,i);for(;a<o;)e==="array"||e==="nodebuffer"?n.push(String.fromCharCode.apply(null,i.slice(a,Math.min(a+t,o)))):n.push(String.fromCharCode.apply(null,i.subarray(a,Math.min(a+t,o)))),a+=t;return n.join("")},stringifyByChar:function(i){for(var e="",t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return e},applyCanBeUsed:{uint8array:function(){try{return Du.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return Du.nodebuffer&&String.fromCharCode.apply(null,wh.allocBuffer(1)).length===1}catch{return!1}}()}};function Lv(i){var e=65536,t=Go.getTypeOf(i),n=!0;if(t==="uint8array"?n=r0.applyCanBeUsed.uint8array:t==="nodebuffer"&&(n=r0.applyCanBeUsed.nodebuffer),n)for(;e>1;)try{return r0.stringifyByChunk(i,t,e)}catch{e=Math.floor(e/2)}return r0.stringifyByChar(i)}Go.applyFromCharCode=Lv;function l0(i,e){for(var t=0;t<i.length;t++)e[t]=i[t];return e}var Vu={};Vu.string={string:Ov,array:function(i){return s0(i,new Array(i.length))},arraybuffer:function(i){return Vu.string.uint8array(i).buffer},uint8array:function(i){return s0(i,new Uint8Array(i.length))},nodebuffer:function(i){return s0(i,wh.allocBuffer(i.length))}};Vu.array={string:Lv,array:Ov,arraybuffer:function(i){return new Uint8Array(i).buffer},uint8array:function(i){return new Uint8Array(i)},nodebuffer:function(i){return wh.newBufferFrom(i)}};Vu.arraybuffer={string:function(i){return Lv(new Uint8Array(i))},array:function(i){return l0(new Uint8Array(i),new Array(i.byteLength))},arraybuffer:Ov,uint8array:function(i){return new Uint8Array(i)},nodebuffer:function(i){return wh.newBufferFrom(new Uint8Array(i))}};Vu.uint8array={string:Lv,array:function(i){return l0(i,new Array(i.length))},arraybuffer:function(i){return i.buffer},uint8array:Ov,nodebuffer:function(i){return wh.newBufferFrom(i)}};Vu.nodebuffer={string:Lv,array:function(i){return l0(i,new Array(i.length))},arraybuffer:function(i){return Vu.nodebuffer.uint8array(i).buffer},uint8array:function(i){return l0(i,new Uint8Array(i.length))},nodebuffer:Ov};Go.transformTo=function(i,e){if(e||(e=""),!i)return e;Go.checkSupport(i);var t=Go.getTypeOf(e),n=Vu[t][i](e);return n};Go.resolve=function(i){for(var e=i.split("/"),t=[],n=0;n<e.length;n++){var a=e[n];a==="."||a===""&&n!==0&&n!==e.length-1||(a===".."?t.pop():t.push(a))}return t.join("/")};Go.getTypeOf=function(i){if(typeof i=="string")return"string";if(Object.prototype.toString.call(i)==="[object Array]")return"array";if(Du.nodebuffer&&wh.isBuffer(i))return"nodebuffer";if(Du.uint8array&&i instanceof Uint8Array)return"uint8array";if(Du.arraybuffer&&i instanceof ArrayBuffer)return"arraybuffer"};Go.checkSupport=function(i){var e=Du[i.toLowerCase()];if(!e)throw new Error(i+" is not supported by this platform")};Go.MAX_VALUE_16BITS=65535;Go.MAX_VALUE_32BITS=-1;Go.pretty=function(i){var e="",t,n;for(n=0;n<(i||"").length;n++)t=i.charCodeAt(n),e+="\\x"+(t<16?"0":"")+t.toString(16).toUpperCase();return e};Go.delay=function(i,e,t){setImmediate(function(){i.apply(t||null,e||[])})};Go.inherits=function(i,e){var t=function(){};t.prototype=e.prototype,i.prototype=new t};Go.extend=function(){var i={},e,t;for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&typeof i[t]>"u"&&(i[t]=arguments[e][t]);return i};Go.prepareContent=function(i,e,t,n,a){var o=wM.Promise.resolve(e).then(function(r){var s=Du.blob&&(r instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(r))!==-1);return s&&typeof FileReader<"u"?new wM.Promise(function(l,c){var d=new FileReader;d.onload=function(u){l(u.target.result)},d.onerror=function(u){c(u.target.error)},d.readAsArrayBuffer(r)}):r});return o.then(function(r){var s=Go.getTypeOf(r);return s?(s==="arraybuffer"?r=Go.transformTo("uint8array",r):s==="string"&&(a?r=N$.decode(r):t&&n!==!0&&(r=H$(r))),r):wM.Promise.reject(new Error("Can't read the data of '"+i+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}});var Ks=Ft((Foe,BD)=>{"use strict";function PD(i){this.name=i||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}PD.prototype={push:function(i){this.emit("data",i)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(i){this.emit("error",i)}return!0},error:function(i){return this.isFinished?!1:(this.isPaused?this.generatedError=i:(this.isFinished=!0,this.emit("error",i),this.previous&&this.previous.error(i),this.cleanUp()),!0)},on:function(i,e){return this._listeners[i].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(i,e){if(this._listeners[i])for(var t=0;t<this._listeners[i].length;t++)this._listeners[i][t].call(this,e)},pipe:function(i){return i.registerPrevious(this)},registerPrevious:function(i){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=i.streamInfo,this.mergeStreamInfo(),this.previous=i;var e=this;return i.on("data",function(t){e.processChunk(t)}),i.on("end",function(){e.end()}),i.on("error",function(t){e.error(t)}),this},pause:function(){return this.isPaused||this.isFinished?!1:(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var i=!1;return this.generatedError&&(this.error(this.generatedError),i=!0),this.previous&&this.previous.resume(),!i},flush:function(){},processChunk:function(i){this.push(i)},withStreamInfo:function(i,e){return this.extraStreamInfo[i]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var i in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,i)&&(this.streamInfo[i]=this.extraStreamInfo[i])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var i="Worker "+this.name;return this.previous?this.previous+" -> "+i:i}};BD.exports=PD});var zh=Ft(Fu=>{"use strict";var Sh=oo(),um=Bd(),G$=Iv(),c0=Ks(),Nv=new Array(256);for(Rd=0;Rd<256;Rd++)Nv[Rd]=Rd>=252?6:Rd>=248?5:Rd>=240?4:Rd>=224?3:Rd>=192?2:1;var Rd;Nv[254]=Nv[254]=1;var q$=function(i){var e,t,n,a,o,r=i.length,s=0;for(a=0;a<r;a++)t=i.charCodeAt(a),(t&64512)===55296&&a+1<r&&(n=i.charCodeAt(a+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),a++)),s+=t<128?1:t<2048?2:t<65536?3:4;for(um.uint8array?e=new Uint8Array(s):e=new Array(s),o=0,a=0;o<s;a++)t=i.charCodeAt(a),(t&64512)===55296&&a+1<r&&(n=i.charCodeAt(a+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),a++)),t<128?e[o++]=t:t<2048?(e[o++]=192|t>>>6,e[o++]=128|t&63):t<65536?(e[o++]=224|t>>>12,e[o++]=128|t>>>6&63,e[o++]=128|t&63):(e[o++]=240|t>>>18,e[o++]=128|t>>>12&63,e[o++]=128|t>>>6&63,e[o++]=128|t&63);return e},W$=function(i,e){var t;for(e=e||i.length,e>i.length&&(e=i.length),t=e-1;t>=0&&(i[t]&192)===128;)t--;return t<0||t===0?e:t+Nv[i[t]]>e?t:e},K$=function(i){var e,t,n,a,o=i.length,r=new Array(o*2);for(t=0,e=0;e<o;){if(n=i[e++],n<128){r[t++]=n;continue}if(a=Nv[n],a>4){r[t++]=65533,e+=a-1;continue}for(n&=a===2?31:a===3?15:7;a>1&&e<o;)n=n<<6|i[e++]&63,a--;if(a>1){r[t++]=65533;continue}n<65536?r[t++]=n:(n-=65536,r[t++]=55296|n>>10&1023,r[t++]=56320|n&1023)}return r.length!==t&&(r.subarray?r=r.subarray(0,t):r.length=t),Sh.applyFromCharCode(r)};Fu.utf8encode=function(e){return um.nodebuffer?G$.newBufferFrom(e,"utf-8"):q$(e)};Fu.utf8decode=function(e){return um.nodebuffer?Sh.transformTo("nodebuffer",e).toString("utf-8"):(e=Sh.transformTo(um.uint8array?"uint8array":"array",e),K$(e))};function d0(){c0.call(this,"utf-8 decode"),this.leftOver=null}Sh.inherits(d0,c0);d0.prototype.processChunk=function(i){var e=Sh.transformTo(um.uint8array?"uint8array":"array",i.data);if(this.leftOver&&this.leftOver.length){if(um.uint8array){var t=e;e=new Uint8Array(t.length+this.leftOver.length),e.set(this.leftOver,0),e.set(t,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var n=W$(e),a=e;n!==e.length&&(um.uint8array?(a=e.subarray(0,n),this.leftOver=e.subarray(n,e.length)):(a=e.slice(0,n),this.leftOver=e.slice(n,e.length))),this.push({data:Fu.utf8decode(a),meta:i.meta})};d0.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:Fu.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)};Fu.Utf8DecodeWorker=d0;function SM(){c0.call(this,"utf-8 encode")}Sh.inherits(SM,c0);SM.prototype.processChunk=function(i){this.push({data:Fu.utf8encode(i.data),meta:i.meta})};Fu.Utf8EncodeWorker=SM});var DD=Ft((Ooe,ID)=>{"use strict";var RD=Ks(),jD=oo();function zM(i){RD.call(this,"ConvertWorker to "+i),this.destType=i}jD.inherits(zM,RD);zM.prototype.processChunk=function(i){this.push({data:jD.transformTo(this.destType,i.data),meta:i.meta})};ID.exports=zM});var UD=Ft((Loe,FD)=>{"use strict";var VD=uM().Readable,$$=oo();$$.inherits(EM,VD);function EM(i,e,t){VD.call(this,e),this._helper=i;var n=this;i.on("data",function(a,o){n.push(a)||n._helper.pause(),t&&t(o)}).on("error",function(a){n.emit("error",a)}).on("end",function(){n.push(null)})}EM.prototype._read=function(){this._helper.resume()};FD.exports=EM});var MM=Ft((Noe,ND)=>{"use strict";var pm=oo(),Y$=DD(),X$=Ks(),J$=hM(),Z$=Bd(),Q$=kh(),OD=null;if(Z$.nodestream)try{OD=UD()}catch{}function eY(i,e,t){switch(i){case"blob":return pm.newBlob(pm.transformTo("arraybuffer",e),t);case"base64":return J$.encode(e);default:return pm.transformTo(i,e)}}function tY(i,e){var t,n=0,a=null,o=0;for(t=0;t<e.length;t++)o+=e[t].length;switch(i){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(a=new Uint8Array(o),t=0;t<e.length;t++)a.set(e[t],n),n+=e[t].length;return a;case"nodebuffer":return Buffer.concat(e);default:throw new Error("concat : unsupported type '"+i+"'")}}function iY(i,e){return new Q$.Promise(function(t,n){var a=[],o=i._internalType,r=i._outputType,s=i._mimeType;i.on("data",function(l,c){a.push(l),e&&e(c)}).on("error",function(l){a=[],n(l)}).on("end",function(){try{var l=eY(r,tY(o,a),s);t(l)}catch(c){n(c)}a=[]}).resume()})}function LD(i,e,t){var n=e;switch(e){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string";break}try{this._internalType=n,this._outputType=e,this._mimeType=t,pm.checkSupport(n),this._worker=i.pipe(new Y$(n)),i.lock()}catch(a){this._worker=new X$("error"),this._worker.error(a)}}LD.prototype={accumulate:function(i){return iY(this,i)},on:function(i,e){var t=this;return i==="data"?this._worker.on(i,function(n){e.call(t,n.data,n.meta)}):this._worker.on(i,function(){pm.delay(e,arguments,t)}),this},resume:function(){return pm.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(i){if(pm.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new OD(this,{objectMode:this._outputType!=="nodebuffer"},i)}};ND.exports=LD});var TM=Ft(Kl=>{"use strict";Kl.base64=!1;Kl.binary=!1;Kl.dir=!1;Kl.createFolders=!0;Kl.date=null;Kl.compression=null;Kl.compressionOptions=null;Kl.comment=null;Kl.unixPermissions=null;Kl.dosPermissions=null});var AM=Ft((Goe,HD)=>{"use strict";var u0=oo(),p0=Ks(),nY=16*1024;function Eh(i){p0.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,i.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=u0.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}u0.inherits(Eh,p0);Eh.prototype.cleanUp=function(){p0.prototype.cleanUp.call(this),this.data=null};Eh.prototype.resume=function(){return p0.prototype.resume.call(this)?(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,u0.delay(this._tickAndRepeat,[],this)),!0):!1};Eh.prototype._tickAndRepeat=function(){this._tickScheduled=!1,!(this.isPaused||this.isFinished)&&(this._tick(),this.isFinished||(u0.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))};Eh.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var i=nY,e=null,t=Math.min(this.max,this.index+i);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t);break}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})};HD.exports=Eh});var m0=Ft((qoe,qD)=>{"use strict";var aY=oo();function oY(){for(var i,e=[],t=0;t<256;t++){i=t;for(var n=0;n<8;n++)i=i&1?3988292384^i>>>1:i>>>1;e[t]=i}return e}var GD=oY();function rY(i,e,t,n){var a=GD,o=n+t;i=i^-1;for(var r=n;r<o;r++)i=i>>>8^a[(i^e[r])&255];return i^-1}function sY(i,e,t,n){var a=GD,o=n+t;i=i^-1;for(var r=n;r<o;r++)i=i>>>8^a[(i^e.charCodeAt(r))&255];return i^-1}qD.exports=function(e,t){if(typeof e>"u"||!e.length)return 0;var n=aY.getTypeOf(e)!=="string";return n?rY(t|0,e,e.length,0):sY(t|0,e,e.length,0)}});var PM=Ft((Woe,KD)=>{"use strict";var WD=Ks(),lY=m0(),cY=oo();function CM(){WD.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}cY.inherits(CM,WD);CM.prototype.processChunk=function(i){this.streamInfo.crc32=lY(i.data,this.streamInfo.crc32||0),this.push(i)};KD.exports=CM});var YD=Ft((Koe,$D)=>{"use strict";var dY=oo(),BM=Ks();function RM(i){BM.call(this,"DataLengthProbe for "+i),this.propName=i,this.withStreamInfo(i,0)}dY.inherits(RM,BM);RM.prototype.processChunk=function(i){if(i){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+i.data.length}BM.prototype.processChunk.call(this,i)};$D.exports=RM});var _0=Ft(($oe,ZD)=>{"use strict";var XD=kh(),JD=AM(),uY=PM(),jM=YD();function IM(i,e,t,n,a){this.compressedSize=i,this.uncompressedSize=e,this.crc32=t,this.compression=n,this.compressedContent=a}IM.prototype={getContentWorker:function(){var i=new JD(XD.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new jM("data_length")),e=this;return i.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),i},getCompressedWorker:function(){return new JD(XD.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}};IM.createWorkerFrom=function(i,e,t){return i.pipe(new uY).pipe(new jM("uncompressedSize")).pipe(e.compressWorker(t)).pipe(new jM("compressedSize")).withStreamInfo("compression",e)};ZD.exports=IM});var iV=Ft((Yoe,tV)=>{"use strict";var pY=MM(),mY=AM(),DM=zh(),VM=_0(),QD=Ks(),FM=function(i,e,t){this.name=i,this.dir=t.dir,this.date=t.date,this.comment=t.comment,this.unixPermissions=t.unixPermissions,this.dosPermissions=t.dosPermissions,this._data=e,this._dataBinary=t.binary,this.options={compression:t.compression,compressionOptions:t.compressionOptions}};FM.prototype={internalStream:function(i){var e=null,t="string";try{if(!i)throw new Error("No output type specified.");t=i.toLowerCase();var n=t==="string"||t==="text";(t==="binarystring"||t==="text")&&(t="string"),e=this._decompressWorker();var a=!this._dataBinary;a&&!n&&(e=e.pipe(new DM.Utf8EncodeWorker)),!a&&n&&(e=e.pipe(new DM.Utf8DecodeWorker))}catch(o){e=new QD("error"),e.error(o)}return new pY(e,t,"")},async:function(i,e){return this.internalStream(i).accumulate(e)},nodeStream:function(i,e){return this.internalStream(i||"nodebuffer").toNodejsStream(e)},_compressWorker:function(i,e){if(this._data instanceof VM&&this._data.compression.magic===i.magic)return this._data.getCompressedWorker();var t=this._decompressWorker();return this._dataBinary||(t=t.pipe(new DM.Utf8EncodeWorker)),VM.createWorkerFrom(t,i,e)},_decompressWorker:function(){return this._data instanceof VM?this._data.getContentWorker():this._data instanceof QD?this._data:new mY(this._data)}};var eV=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],_Y=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")};for(h0=0;h0<eV.length;h0++)FM.prototype[eV[h0]]=_Y;var h0;tV.exports=FM});var jd=Ft(ns=>{"use strict";var hY=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function fY(i,e){return Object.prototype.hasOwnProperty.call(i,e)}ns.assign=function(i){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(var n in t)fY(t,n)&&(i[n]=t[n])}}return i};ns.shrinkBuf=function(i,e){return i.length===e?i:i.subarray?i.subarray(0,e):(i.length=e,i)};var gY={arraySet:function(i,e,t,n,a){if(e.subarray&&i.subarray){i.set(e.subarray(t,t+n),a);return}for(var o=0;o<n;o++)i[a+o]=e[t+o]},flattenChunks:function(i){var e,t,n,a,o,r;for(n=0,e=0,t=i.length;e<t;e++)n+=i[e].length;for(r=new Uint8Array(n),a=0,e=0,t=i.length;e<t;e++)o=i[e],r.set(o,a),a+=o.length;return r}},vY={arraySet:function(i,e,t,n,a){for(var o=0;o<n;o++)i[a+o]=e[t+o]},flattenChunks:function(i){return[].concat.apply([],i)}};ns.setTyped=function(i){i?(ns.Buf8=Uint8Array,ns.Buf16=Uint16Array,ns.Buf32=Int32Array,ns.assign(ns,gY)):(ns.Buf8=Array,ns.Buf16=Array,ns.Buf32=Array,ns.assign(ns,vY))};ns.setTyped(hY)});var zV=Ft(Ah=>{"use strict";var bY=jd(),yY=4,nV=0,aV=1,xY=2;function Th(i){for(var e=i.length;--e>=0;)i[e]=0}var kY=0,dV=1,wY=2,SY=3,zY=258,qM=29,$v=256,Gv=$v+1+qM,Mh=30,WM=19,uV=2*Gv+1,mm=15,UM=16,EY=7,KM=256,pV=16,mV=17,_V=18,HM=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],f0=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],MY=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],hV=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],TY=512,Id=new Array((Gv+2)*2);Th(Id);var Hv=new Array(Mh*2);Th(Hv);var qv=new Array(TY);Th(qv);var Wv=new Array(zY-SY+1);Th(Wv);var $M=new Array(qM);Th($M);var g0=new Array(Mh);Th(g0);function OM(i,e,t,n,a){this.static_tree=i,this.extra_bits=e,this.extra_base=t,this.elems=n,this.max_length=a,this.has_stree=i&&i.length}var fV,gV,vV;function LM(i,e){this.dyn_tree=i,this.max_code=0,this.stat_desc=e}function bV(i){return i<256?qv[i]:qv[256+(i>>>7)]}function Kv(i,e){i.pending_buf[i.pending++]=e&255,i.pending_buf[i.pending++]=e>>>8&255}function bs(i,e,t){i.bi_valid>UM-t?(i.bi_buf|=e<<i.bi_valid&65535,Kv(i,i.bi_buf),i.bi_buf=e>>UM-i.bi_valid,i.bi_valid+=t-UM):(i.bi_buf|=e<<i.bi_valid&65535,i.bi_valid+=t)}function Rc(i,e,t){bs(i,t[e*2],t[e*2+1])}function yV(i,e){var t=0;do t|=i&1,i>>>=1,t<<=1;while(--e>0);return t>>>1}function AY(i){i.bi_valid===16?(Kv(i,i.bi_buf),i.bi_buf=0,i.bi_valid=0):i.bi_valid>=8&&(i.pending_buf[i.pending++]=i.bi_buf&255,i.bi_buf>>=8,i.bi_valid-=8)}function CY(i,e){var t=e.dyn_tree,n=e.max_code,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,r=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,l=e.stat_desc.max_length,c,d,u,p,m,_,f=0;for(p=0;p<=mm;p++)i.bl_count[p]=0;for(t[i.heap[i.heap_max]*2+1]=0,c=i.heap_max+1;c<uV;c++)d=i.heap[c],p=t[t[d*2+1]*2+1]+1,p>l&&(p=l,f++),t[d*2+1]=p,!(d>n)&&(i.bl_count[p]++,m=0,d>=s&&(m=r[d-s]),_=t[d*2],i.opt_len+=_*(p+m),o&&(i.static_len+=_*(a[d*2+1]+m)));if(f!==0){do{for(p=l-1;i.bl_count[p]===0;)p--;i.bl_count[p]--,i.bl_count[p+1]+=2,i.bl_count[l]--,f-=2}while(f>0);for(p=l;p!==0;p--)for(d=i.bl_count[p];d!==0;)u=i.heap[--c],!(u>n)&&(t[u*2+1]!==p&&(i.opt_len+=(p-t[u*2+1])*t[u*2],t[u*2+1]=p),d--)}}function xV(i,e,t){var n=new Array(mm+1),a=0,o,r;for(o=1;o<=mm;o++)n[o]=a=a+t[o-1]<<1;for(r=0;r<=e;r++){var s=i[r*2+1];s!==0&&(i[r*2]=yV(n[s]++,s))}}function PY(){var i,e,t,n,a,o=new Array(mm+1);for(t=0,n=0;n<qM-1;n++)for($M[n]=t,i=0;i<1<<HM[n];i++)Wv[t++]=n;for(Wv[t-1]=n,a=0,n=0;n<16;n++)for(g0[n]=a,i=0;i<1<<f0[n];i++)qv[a++]=n;for(a>>=7;n<Mh;n++)for(g0[n]=a<<7,i=0;i<1<<f0[n]-7;i++)qv[256+a++]=n;for(e=0;e<=mm;e++)o[e]=0;for(i=0;i<=143;)Id[i*2+1]=8,i++,o[8]++;for(;i<=255;)Id[i*2+1]=9,i++,o[9]++;for(;i<=279;)Id[i*2+1]=7,i++,o[7]++;for(;i<=287;)Id[i*2+1]=8,i++,o[8]++;for(xV(Id,Gv+1,o),i=0;i<Mh;i++)Hv[i*2+1]=5,Hv[i*2]=yV(i,5);fV=new OM(Id,HM,$v+1,Gv,mm),gV=new OM(Hv,f0,0,Mh,mm),vV=new OM(new Array(0),MY,0,WM,EY)}function kV(i){var e;for(e=0;e<Gv;e++)i.dyn_ltree[e*2]=0;for(e=0;e<Mh;e++)i.dyn_dtree[e*2]=0;for(e=0;e<WM;e++)i.bl_tree[e*2]=0;i.dyn_ltree[KM*2]=1,i.opt_len=i.static_len=0,i.last_lit=i.matches=0}function wV(i){i.bi_valid>8?Kv(i,i.bi_buf):i.bi_valid>0&&(i.pending_buf[i.pending++]=i.bi_buf),i.bi_buf=0,i.bi_valid=0}function BY(i,e,t,n){wV(i),n&&(Kv(i,t),Kv(i,~t)),bY.arraySet(i.pending_buf,i.window,e,t,i.pending),i.pending+=t}function oV(i,e,t,n){var a=e*2,o=t*2;return i[a]<i[o]||i[a]===i[o]&&n[e]<=n[t]}function NM(i,e,t){for(var n=i.heap[t],a=t<<1;a<=i.heap_len&&(a<i.heap_len&&oV(e,i.heap[a+1],i.heap[a],i.depth)&&a++,!oV(e,n,i.heap[a],i.depth));)i.heap[t]=i.heap[a],t=a,a<<=1;i.heap[t]=n}function rV(i,e,t){var n,a,o=0,r,s;if(i.last_lit!==0)do n=i.pending_buf[i.d_buf+o*2]<<8|i.pending_buf[i.d_buf+o*2+1],a=i.pending_buf[i.l_buf+o],o++,n===0?Rc(i,a,e):(r=Wv[a],Rc(i,r+$v+1,e),s=HM[r],s!==0&&(a-=$M[r],bs(i,a,s)),n--,r=bV(n),Rc(i,r,t),s=f0[r],s!==0&&(n-=g0[r],bs(i,n,s)));while(o<i.last_lit);Rc(i,KM,e)}function GM(i,e){var t=e.dyn_tree,n=e.stat_desc.static_tree,a=e.stat_desc.has_stree,o=e.stat_desc.elems,r,s,l=-1,c;for(i.heap_len=0,i.heap_max=uV,r=0;r<o;r++)t[r*2]!==0?(i.heap[++i.heap_len]=l=r,i.depth[r]=0):t[r*2+1]=0;for(;i.heap_len<2;)c=i.heap[++i.heap_len]=l<2?++l:0,t[c*2]=1,i.depth[c]=0,i.opt_len--,a&&(i.static_len-=n[c*2+1]);for(e.max_code=l,r=i.heap_len>>1;r>=1;r--)NM(i,t,r);c=o;do r=i.heap[1],i.heap[1]=i.heap[i.heap_len--],NM(i,t,1),s=i.heap[1],i.heap[--i.heap_max]=r,i.heap[--i.heap_max]=s,t[c*2]=t[r*2]+t[s*2],i.depth[c]=(i.depth[r]>=i.depth[s]?i.depth[r]:i.depth[s])+1,t[r*2+1]=t[s*2+1]=c,i.heap[1]=c++,NM(i,t,1);while(i.heap_len>=2);i.heap[--i.heap_max]=i.heap[1],CY(i,e),xV(t,l,i.bl_count)}function sV(i,e,t){var n,a=-1,o,r=e[1],s=0,l=7,c=4;for(r===0&&(l=138,c=3),e[(t+1)*2+1]=65535,n=0;n<=t;n++)o=r,r=e[(n+1)*2+1],!(++s<l&&o===r)&&(s<c?i.bl_tree[o*2]+=s:o!==0?(o!==a&&i.bl_tree[o*2]++,i.bl_tree[pV*2]++):s<=10?i.bl_tree[mV*2]++:i.bl_tree[_V*2]++,s=0,a=o,r===0?(l=138,c=3):o===r?(l=6,c=3):(l=7,c=4))}function lV(i,e,t){var n,a=-1,o,r=e[1],s=0,l=7,c=4;for(r===0&&(l=138,c=3),n=0;n<=t;n++)if(o=r,r=e[(n+1)*2+1],!(++s<l&&o===r)){if(s<c)do Rc(i,o,i.bl_tree);while(--s!==0);else o!==0?(o!==a&&(Rc(i,o,i.bl_tree),s--),Rc(i,pV,i.bl_tree),bs(i,s-3,2)):s<=10?(Rc(i,mV,i.bl_tree),bs(i,s-3,3)):(Rc(i,_V,i.bl_tree),bs(i,s-11,7));s=0,a=o,r===0?(l=138,c=3):o===r?(l=6,c=3):(l=7,c=4)}}function RY(i){var e;for(sV(i,i.dyn_ltree,i.l_desc.max_code),sV(i,i.dyn_dtree,i.d_desc.max_code),GM(i,i.bl_desc),e=WM-1;e>=3&&i.bl_tree[hV[e]*2+1]===0;e--);return i.opt_len+=3*(e+1)+5+5+4,e}function jY(i,e,t,n){var a;for(bs(i,e-257,5),bs(i,t-1,5),bs(i,n-4,4),a=0;a<n;a++)bs(i,i.bl_tree[hV[a]*2+1],3);lV(i,i.dyn_ltree,e-1),lV(i,i.dyn_dtree,t-1)}function IY(i){var e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&i.dyn_ltree[t*2]!==0)return nV;if(i.dyn_ltree[18]!==0||i.dyn_ltree[20]!==0||i.dyn_ltree[26]!==0)return aV;for(t=32;t<$v;t++)if(i.dyn_ltree[t*2]!==0)return aV;return nV}var cV=!1;function DY(i){cV||(PY(),cV=!0),i.l_desc=new LM(i.dyn_ltree,fV),i.d_desc=new LM(i.dyn_dtree,gV),i.bl_desc=new LM(i.bl_tree,vV),i.bi_buf=0,i.bi_valid=0,kV(i)}function SV(i,e,t,n){bs(i,(kY<<1)+(n?1:0),3),BY(i,e,t,!0)}function VY(i){bs(i,dV<<1,3),Rc(i,KM,Id),AY(i)}function FY(i,e,t,n){var a,o,r=0;i.level>0?(i.strm.data_type===xY&&(i.strm.data_type=IY(i)),GM(i,i.l_desc),GM(i,i.d_desc),r=RY(i),a=i.opt_len+3+7>>>3,o=i.static_len+3+7>>>3,o<=a&&(a=o)):a=o=t+5,t+4<=a&&e!==-1?SV(i,e,t,n):i.strategy===yY||o===a?(bs(i,(dV<<1)+(n?1:0),3),rV(i,Id,Hv)):(bs(i,(wY<<1)+(n?1:0),3),jY(i,i.l_desc.max_code+1,i.d_desc.max_code+1,r+1),rV(i,i.dyn_ltree,i.dyn_dtree)),kV(i),n&&wV(i)}function UY(i,e,t){return i.pending_buf[i.d_buf+i.last_lit*2]=e>>>8&255,i.pending_buf[i.d_buf+i.last_lit*2+1]=e&255,i.pending_buf[i.l_buf+i.last_lit]=t&255,i.last_lit++,e===0?i.dyn_ltree[t*2]++:(i.matches++,e--,i.dyn_ltree[(Wv[t]+$v+1)*2]++,i.dyn_dtree[bV(e)*2]++),i.last_lit===i.lit_bufsize-1}Ah._tr_init=DY;Ah._tr_stored_block=SV;Ah._tr_flush_block=FY;Ah._tr_tally=UY;Ah._tr_align=VY});var YM=Ft((Zoe,EV)=>{"use strict";function OY(i,e,t,n){for(var a=i&65535|0,o=i>>>16&65535|0,r=0;t!==0;){r=t>2e3?2e3:t,t-=r;do a=a+e[n++]|0,o=o+a|0;while(--r);a%=65521,o%=65521}return a|o<<16|0}EV.exports=OY});var XM=Ft((Qoe,MV)=>{"use strict";function LY(){for(var i,e=[],t=0;t<256;t++){i=t;for(var n=0;n<8;n++)i=i&1?3988292384^i>>>1:i>>>1;e[t]=i}return e}var NY=LY();function HY(i,e,t,n){var a=NY,o=n+t;i^=-1;for(var r=n;r<o;r++)i=i>>>8^a[(i^e[r])&255];return i^-1}MV.exports=HY});var v0=Ft((ere,TV)=>{"use strict";TV.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var VV=Ft(Dc=>{"use strict";var as=jd(),bl=zV(),BV=YM(),Uu=XM(),GY=v0(),gm=0,qY=1,WY=3,Gu=4,AV=5,Ic=0,CV=1,yl=-2,KY=-3,JM=-5,$Y=-1,YY=1,b0=2,XY=3,JY=4,ZY=0,QY=2,w0=8,eX=9,tX=15,iX=8,nX=29,aX=256,QM=aX+1+nX,oX=30,rX=19,sX=2*QM+1,lX=15,Vn=3,Nu=258,$l=Nu+Vn+1,cX=32,S0=42,eT=69,y0=73,x0=91,k0=103,_m=113,Xv=666,sr=1,Jv=2,hm=3,Bh=4,dX=3;function Hu(i,e){return i.msg=GY[e],e}function PV(i){return(i<<1)-(i>4?9:0)}function Lu(i){for(var e=i.length;--e>=0;)i[e]=0}function Ou(i){var e=i.state,t=e.pending;t>i.avail_out&&(t=i.avail_out),t!==0&&(as.arraySet(i.output,e.pending_buf,e.pending_out,t,i.next_out),i.next_out+=t,e.pending_out+=t,i.total_out+=t,i.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))}function Tr(i,e){bl._tr_flush_block(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,e),i.block_start=i.strstart,Ou(i.strm)}function $n(i,e){i.pending_buf[i.pending++]=e}function Yv(i,e){i.pending_buf[i.pending++]=e>>>8&255,i.pending_buf[i.pending++]=e&255}function uX(i,e,t,n){var a=i.avail_in;return a>n&&(a=n),a===0?0:(i.avail_in-=a,as.arraySet(e,i.input,i.next_in,a,t),i.state.wrap===1?i.adler=BV(i.adler,e,a,t):i.state.wrap===2&&(i.adler=Uu(i.adler,e,a,t)),i.next_in+=a,i.total_in+=a,a)}function RV(i,e){var t=i.max_chain_length,n=i.strstart,a,o,r=i.prev_length,s=i.nice_match,l=i.strstart>i.w_size-$l?i.strstart-(i.w_size-$l):0,c=i.window,d=i.w_mask,u=i.prev,p=i.strstart+Nu,m=c[n+r-1],_=c[n+r];i.prev_length>=i.good_match&&(t>>=2),s>i.lookahead&&(s=i.lookahead);do if(a=e,!(c[a+r]!==_||c[a+r-1]!==m||c[a]!==c[n]||c[++a]!==c[n+1])){n+=2,a++;do;while(c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&c[++n]===c[++a]&&n<p);if(o=Nu-(p-n),n=p-Nu,o>r){if(i.match_start=e,r=o,o>=s)break;m=c[n+r-1],_=c[n+r]}}while((e=u[e&d])>l&&--t!==0);return r<=i.lookahead?r:i.lookahead}function fm(i){var e=i.w_size,t,n,a,o,r;do{if(o=i.window_size-i.lookahead-i.strstart,i.strstart>=e+(e-$l)){as.arraySet(i.window,i.window,e,e,0),i.match_start-=e,i.strstart-=e,i.block_start-=e,n=i.hash_size,t=n;do a=i.head[--t],i.head[t]=a>=e?a-e:0;while(--n);n=e,t=n;do a=i.prev[--t],i.prev[t]=a>=e?a-e:0;while(--n);o+=e}if(i.strm.avail_in===0)break;if(n=uX(i.strm,i.window,i.strstart+i.lookahead,o),i.lookahead+=n,i.lookahead+i.insert>=Vn)for(r=i.strstart-i.insert,i.ins_h=i.window[r],i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+1])&i.hash_mask;i.insert&&(i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+Vn-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++,i.insert--,!(i.lookahead+i.insert<Vn)););}while(i.lookahead<$l&&i.strm.avail_in!==0)}function pX(i,e){var t=65535;for(t>i.pending_buf_size-5&&(t=i.pending_buf_size-5);;){if(i.lookahead<=1){if(fm(i),i.lookahead===0&&e===gm)return sr;if(i.lookahead===0)break}i.strstart+=i.lookahead,i.lookahead=0;var n=i.block_start+t;if((i.strstart===0||i.strstart>=n)&&(i.lookahead=i.strstart-n,i.strstart=n,Tr(i,!1),i.strm.avail_out===0)||i.strstart-i.block_start>=i.w_size-$l&&(Tr(i,!1),i.strm.avail_out===0))return sr}return i.insert=0,e===Gu?(Tr(i,!0),i.strm.avail_out===0?hm:Bh):(i.strstart>i.block_start&&(Tr(i,!1),i.strm.avail_out===0),sr)}function ZM(i,e){for(var t,n;;){if(i.lookahead<$l){if(fm(i),i.lookahead<$l&&e===gm)return sr;if(i.lookahead===0)break}if(t=0,i.lookahead>=Vn&&(i.ins_h=(i.ins_h<<i.hash_shift^i.window[i.strstart+Vn-1])&i.hash_mask,t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),t!==0&&i.strstart-t<=i.w_size-$l&&(i.match_length=RV(i,t)),i.match_length>=Vn)if(n=bl._tr_tally(i,i.strstart-i.match_start,i.match_length-Vn),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=Vn){i.match_length--;do i.strstart++,i.ins_h=(i.ins_h<<i.hash_shift^i.window[i.strstart+Vn-1])&i.hash_mask,t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart;while(--i.match_length!==0);i.strstart++}else i.strstart+=i.match_length,i.match_length=0,i.ins_h=i.window[i.strstart],i.ins_h=(i.ins_h<<i.hash_shift^i.window[i.strstart+1])&i.hash_mask;else n=bl._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++;if(n&&(Tr(i,!1),i.strm.avail_out===0))return sr}return i.insert=i.strstart<Vn-1?i.strstart:Vn-1,e===Gu?(Tr(i,!0),i.strm.avail_out===0?hm:Bh):i.last_lit&&(Tr(i,!1),i.strm.avail_out===0)?sr:Jv}function Ch(i,e){for(var t,n,a;;){if(i.lookahead<$l){if(fm(i),i.lookahead<$l&&e===gm)return sr;if(i.lookahead===0)break}if(t=0,i.lookahead>=Vn&&(i.ins_h=(i.ins_h<<i.hash_shift^i.window[i.strstart+Vn-1])&i.hash_mask,t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),i.prev_length=i.match_length,i.prev_match=i.match_start,i.match_length=Vn-1,t!==0&&i.prev_length<i.max_lazy_match&&i.strstart-t<=i.w_size-$l&&(i.match_length=RV(i,t),i.match_length<=5&&(i.strategy===YY||i.match_length===Vn&&i.strstart-i.match_start>4096)&&(i.match_length=Vn-1)),i.prev_length>=Vn&&i.match_length<=i.prev_length){a=i.strstart+i.lookahead-Vn,n=bl._tr_tally(i,i.strstart-1-i.prev_match,i.prev_length-Vn),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=a&&(i.ins_h=(i.ins_h<<i.hash_shift^i.window[i.strstart+Vn-1])&i.hash_mask,t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart);while(--i.prev_length!==0);if(i.match_available=0,i.match_length=Vn-1,i.strstart++,n&&(Tr(i,!1),i.strm.avail_out===0))return sr}else if(i.match_available){if(n=bl._tr_tally(i,0,i.window[i.strstart-1]),n&&Tr(i,!1),i.strstart++,i.lookahead--,i.strm.avail_out===0)return sr}else i.match_available=1,i.strstart++,i.lookahead--}return i.match_available&&(n=bl._tr_tally(i,0,i.window[i.strstart-1]),i.match_available=0),i.insert=i.strstart<Vn-1?i.strstart:Vn-1,e===Gu?(Tr(i,!0),i.strm.avail_out===0?hm:Bh):i.last_lit&&(Tr(i,!1),i.strm.avail_out===0)?sr:Jv}function mX(i,e){for(var t,n,a,o,r=i.window;;){if(i.lookahead<=Nu){if(fm(i),i.lookahead<=Nu&&e===gm)return sr;if(i.lookahead===0)break}if(i.match_length=0,i.lookahead>=Vn&&i.strstart>0&&(a=i.strstart-1,n=r[a],n===r[++a]&&n===r[++a]&&n===r[++a])){o=i.strstart+Nu;do;while(n===r[++a]&&n===r[++a]&&n===r[++a]&&n===r[++a]&&n===r[++a]&&n===r[++a]&&n===r[++a]&&n===r[++a]&&a<o);i.match_length=Nu-(o-a),i.match_length>i.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=Vn?(t=bl._tr_tally(i,1,i.match_length-Vn),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(t=bl._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),t&&(Tr(i,!1),i.strm.avail_out===0))return sr}return i.insert=0,e===Gu?(Tr(i,!0),i.strm.avail_out===0?hm:Bh):i.last_lit&&(Tr(i,!1),i.strm.avail_out===0)?sr:Jv}function _X(i,e){for(var t;;){if(i.lookahead===0&&(fm(i),i.lookahead===0)){if(e===gm)return sr;break}if(i.match_length=0,t=bl._tr_tally(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,t&&(Tr(i,!1),i.strm.avail_out===0))return sr}return i.insert=0,e===Gu?(Tr(i,!0),i.strm.avail_out===0?hm:Bh):i.last_lit&&(Tr(i,!1),i.strm.avail_out===0)?sr:Jv}function jc(i,e,t,n,a){this.good_length=i,this.max_lazy=e,this.nice_length=t,this.max_chain=n,this.func=a}var Ph;Ph=[new jc(0,0,0,0,pX),new jc(4,4,8,4,ZM),new jc(4,5,16,8,ZM),new jc(4,6,32,32,ZM),new jc(4,4,16,16,Ch),new jc(8,16,32,32,Ch),new jc(8,16,128,128,Ch),new jc(8,32,128,256,Ch),new jc(32,128,258,1024,Ch),new jc(32,258,258,4096,Ch)];function hX(i){i.window_size=2*i.w_size,Lu(i.head),i.max_lazy_match=Ph[i.level].max_lazy,i.good_match=Ph[i.level].good_length,i.nice_match=Ph[i.level].nice_length,i.max_chain_length=Ph[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=Vn-1,i.match_available=0,i.ins_h=0}function fX(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=w0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new as.Buf16(sX*2),this.dyn_dtree=new as.Buf16((2*oX+1)*2),this.bl_tree=new as.Buf16((2*rX+1)*2),Lu(this.dyn_ltree),Lu(this.dyn_dtree),Lu(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new as.Buf16(lX+1),this.heap=new as.Buf16(2*QM+1),Lu(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new as.Buf16(2*QM+1),Lu(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function jV(i){var e;return!i||!i.state?Hu(i,yl):(i.total_in=i.total_out=0,i.data_type=QY,e=i.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?S0:_m,i.adler=e.wrap===2?0:1,e.last_flush=gm,bl._tr_init(e),Ic)}function IV(i){var e=jV(i);return e===Ic&&hX(i.state),e}function gX(i,e){return!i||!i.state||i.state.wrap!==2?yl:(i.state.gzhead=e,Ic)}function DV(i,e,t,n,a,o){if(!i)return yl;var r=1;if(e===$Y&&(e=6),n<0?(r=0,n=-n):n>15&&(r=2,n-=16),a<1||a>eX||t!==w0||n<8||n>15||e<0||e>9||o<0||o>JY)return Hu(i,yl);n===8&&(n=9);var s=new fX;return i.state=s,s.strm=i,s.wrap=r,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=a+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Vn-1)/Vn),s.window=new as.Buf8(s.w_size*2),s.head=new as.Buf16(s.hash_size),s.prev=new as.Buf16(s.w_size),s.lit_bufsize=1<<a+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new as.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=e,s.strategy=o,s.method=t,IV(i)}function vX(i,e){return DV(i,e,w0,tX,iX,ZY)}function bX(i,e){var t,n,a,o;if(!i||!i.state||e>AV||e<0)return i?Hu(i,yl):yl;if(n=i.state,!i.output||!i.input&&i.avail_in!==0||n.status===Xv&&e!==Gu)return Hu(i,i.avail_out===0?JM:yl);if(n.strm=i,t=n.last_flush,n.last_flush=e,n.status===S0)if(n.wrap===2)i.adler=0,$n(n,31),$n(n,139),$n(n,8),n.gzhead?($n(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),$n(n,n.gzhead.time&255),$n(n,n.gzhead.time>>8&255),$n(n,n.gzhead.time>>16&255),$n(n,n.gzhead.time>>24&255),$n(n,n.level===9?2:n.strategy>=b0||n.level<2?4:0),$n(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&($n(n,n.gzhead.extra.length&255),$n(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(i.adler=Uu(i.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=eT):($n(n,0),$n(n,0),$n(n,0),$n(n,0),$n(n,0),$n(n,n.level===9?2:n.strategy>=b0||n.level<2?4:0),$n(n,dX),n.status=_m);else{var r=w0+(n.w_bits-8<<4)<<8,s=-1;n.strategy>=b0||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,r|=s<<6,n.strstart!==0&&(r|=cX),r+=31-r%31,n.status=_m,Yv(n,r),n.strstart!==0&&(Yv(n,i.adler>>>16),Yv(n,i.adler&65535)),i.adler=1}if(n.status===eT)if(n.gzhead.extra){for(a=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),Ou(i),a=n.pending,n.pending===n.pending_buf_size));)$n(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=y0)}else n.status=y0;if(n.status===y0)if(n.gzhead.name){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),Ou(i),a=n.pending,n.pending===n.pending_buf_size)){o=1;break}n.gzindex<n.gzhead.name.length?o=n.gzhead.name.charCodeAt(n.gzindex++)&255:o=0,$n(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),o===0&&(n.gzindex=0,n.status=x0)}else n.status=x0;if(n.status===x0)if(n.gzhead.comment){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),Ou(i),a=n.pending,n.pending===n.pending_buf_size)){o=1;break}n.gzindex<n.gzhead.comment.length?o=n.gzhead.comment.charCodeAt(n.gzindex++)&255:o=0,$n(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(i.adler=Uu(i.adler,n.pending_buf,n.pending-a,a)),o===0&&(n.status=k0)}else n.status=k0;if(n.status===k0&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Ou(i),n.pending+2<=n.pending_buf_size&&($n(n,i.adler&255),$n(n,i.adler>>8&255),i.adler=0,n.status=_m)):n.status=_m),n.pending!==0){if(Ou(i),i.avail_out===0)return n.last_flush=-1,Ic}else if(i.avail_in===0&&PV(e)<=PV(t)&&e!==Gu)return Hu(i,JM);if(n.status===Xv&&i.avail_in!==0)return Hu(i,JM);if(i.avail_in!==0||n.lookahead!==0||e!==gm&&n.status!==Xv){var l=n.strategy===b0?_X(n,e):n.strategy===XY?mX(n,e):Ph[n.level].func(n,e);if((l===hm||l===Bh)&&(n.status=Xv),l===sr||l===hm)return i.avail_out===0&&(n.last_flush=-1),Ic;if(l===Jv&&(e===qY?bl._tr_align(n):e!==AV&&(bl._tr_stored_block(n,0,0,!1),e===WY&&(Lu(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ou(i),i.avail_out===0))return n.last_flush=-1,Ic}return e!==Gu?Ic:n.wrap<=0?CV:(n.wrap===2?($n(n,i.adler&255),$n(n,i.adler>>8&255),$n(n,i.adler>>16&255),$n(n,i.adler>>24&255),$n(n,i.total_in&255),$n(n,i.total_in>>8&255),$n(n,i.total_in>>16&255),$n(n,i.total_in>>24&255)):(Yv(n,i.adler>>>16),Yv(n,i.adler&65535)),Ou(i),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Ic:CV)}function yX(i){var e;return!i||!i.state?yl:(e=i.state.status,e!==S0&&e!==eT&&e!==y0&&e!==x0&&e!==k0&&e!==_m&&e!==Xv?Hu(i,yl):(i.state=null,e===_m?Hu(i,KY):Ic))}function xX(i,e){var t=e.length,n,a,o,r,s,l,c,d;if(!i||!i.state||(n=i.state,r=n.wrap,r===2||r===1&&n.status!==S0||n.lookahead))return yl;for(r===1&&(i.adler=BV(i.adler,e,t,0)),n.wrap=0,t>=n.w_size&&(r===0&&(Lu(n.head),n.strstart=0,n.block_start=0,n.insert=0),d=new as.Buf8(n.w_size),as.arraySet(d,e,t-n.w_size,n.w_size,0),e=d,t=n.w_size),s=i.avail_in,l=i.next_in,c=i.input,i.avail_in=t,i.next_in=0,i.input=e,fm(n);n.lookahead>=Vn;){a=n.strstart,o=n.lookahead-(Vn-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[a+Vn-1])&n.hash_mask,n.prev[a&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=a,a++;while(--o);n.strstart=a,n.lookahead=Vn-1,fm(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Vn-1,n.match_available=0,i.next_in=l,i.input=c,i.avail_in=s,n.wrap=r,Ic}Dc.deflateInit=vX;Dc.deflateInit2=DV;Dc.deflateReset=IV;Dc.deflateResetKeep=jV;Dc.deflateSetHeader=gX;Dc.deflate=bX;Dc.deflateEnd=yX;Dc.deflateSetDictionary=xX;Dc.deflateInfo="pako deflate (from Nodeca project)"});var tT=Ft(Rh=>{"use strict";var z0=jd(),FV=!0,UV=!0;try{String.fromCharCode.apply(null,[0])}catch{FV=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{UV=!1}var Zv=new z0.Buf8(256);for(Dd=0;Dd<256;Dd++)Zv[Dd]=Dd>=252?6:Dd>=248?5:Dd>=240?4:Dd>=224?3:Dd>=192?2:1;var Dd;Zv[254]=Zv[254]=1;Rh.string2buf=function(i){var e,t,n,a,o,r=i.length,s=0;for(a=0;a<r;a++)t=i.charCodeAt(a),(t&64512)===55296&&a+1<r&&(n=i.charCodeAt(a+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),a++)),s+=t<128?1:t<2048?2:t<65536?3:4;for(e=new z0.Buf8(s),o=0,a=0;o<s;a++)t=i.charCodeAt(a),(t&64512)===55296&&a+1<r&&(n=i.charCodeAt(a+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),a++)),t<128?e[o++]=t:t<2048?(e[o++]=192|t>>>6,e[o++]=128|t&63):t<65536?(e[o++]=224|t>>>12,e[o++]=128|t>>>6&63,e[o++]=128|t&63):(e[o++]=240|t>>>18,e[o++]=128|t>>>12&63,e[o++]=128|t>>>6&63,e[o++]=128|t&63);return e};function OV(i,e){if(e<65534&&(i.subarray&&UV||!i.subarray&&FV))return String.fromCharCode.apply(null,z0.shrinkBuf(i,e));for(var t="",n=0;n<e;n++)t+=String.fromCharCode(i[n]);return t}Rh.buf2binstring=function(i){return OV(i,i.length)};Rh.binstring2buf=function(i){for(var e=new z0.Buf8(i.length),t=0,n=e.length;t<n;t++)e[t]=i.charCodeAt(t);return e};Rh.buf2string=function(i,e){var t,n,a,o,r=e||i.length,s=new Array(r*2);for(n=0,t=0;t<r;){if(a=i[t++],a<128){s[n++]=a;continue}if(o=Zv[a],o>4){s[n++]=65533,t+=o-1;continue}for(a&=o===2?31:o===3?15:7;o>1&&t<r;)a=a<<6|i[t++]&63,o--;if(o>1){s[n++]=65533;continue}a<65536?s[n++]=a:(a-=65536,s[n++]=55296|a>>10&1023,s[n++]=56320|a&1023)}return OV(s,n)};Rh.utf8border=function(i,e){var t;for(e=e||i.length,e>i.length&&(e=i.length),t=e-1;t>=0&&(i[t]&192)===128;)t--;return t<0||t===0?e:t+Zv[i[t]]>e?t:e}});var iT=Ft((nre,LV)=>{"use strict";function kX(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}LV.exports=kX});var qV=Ft(tb=>{"use strict";var Qv=VV(),eb=jd(),aT=tT(),oT=v0(),wX=iT(),GV=Object.prototype.toString,SX=0,nT=4,jh=0,NV=1,HV=2,zX=-1,EX=0,MX=8;function vm(i){if(!(this instanceof vm))return new vm(i);this.options=eb.assign({level:zX,method:MX,chunkSize:16384,windowBits:15,memLevel:8,strategy:EX,to:""},i||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wX,this.strm.avail_out=0;var t=Qv.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==jh)throw new Error(oT[t]);if(e.header&&Qv.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(typeof e.dictionary=="string"?n=aT.string2buf(e.dictionary):GV.call(e.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(e.dictionary):n=e.dictionary,t=Qv.deflateSetDictionary(this.strm,n),t!==jh)throw new Error(oT[t]);this._dict_set=!0}}vm.prototype.push=function(i,e){var t=this.strm,n=this.options.chunkSize,a,o;if(this.ended)return!1;o=e===~~e?e:e===!0?nT:SX,typeof i=="string"?t.input=aT.string2buf(i):GV.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new eb.Buf8(n),t.next_out=0,t.avail_out=n),a=Qv.deflate(t,o),a!==NV&&a!==jh)return this.onEnd(a),this.ended=!0,!1;(t.avail_out===0||t.avail_in===0&&(o===nT||o===HV))&&(this.options.to==="string"?this.onData(aT.buf2binstring(eb.shrinkBuf(t.output,t.next_out))):this.onData(eb.shrinkBuf(t.output,t.next_out)))}while((t.avail_in>0||t.avail_out===0)&&a!==NV);return o===nT?(a=Qv.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===jh):(o===HV&&(this.onEnd(jh),t.avail_out=0),!0)};vm.prototype.onData=function(i){this.chunks.push(i)};vm.prototype.onEnd=function(i){i===jh&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=eb.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function rT(i,e){var t=new vm(e);if(t.push(i,!0),t.err)throw t.msg||oT[t.err];return t.result}function TX(i,e){return e=e||{},e.raw=!0,rT(i,e)}function AX(i,e){return e=e||{},e.gzip=!0,rT(i,e)}tb.Deflate=vm;tb.deflate=rT;tb.deflateRaw=TX;tb.gzip=AX});var KV=Ft((ore,WV)=>{"use strict";var E0=30,CX=12;WV.exports=function(e,t){var n,a,o,r,s,l,c,d,u,p,m,_,f,g,v,b,x,w,E,y,A,R,j,F,O;n=e.state,a=e.next_in,F=e.input,o=a+(e.avail_in-5),r=e.next_out,O=e.output,s=r-(t-e.avail_out),l=r+(e.avail_out-257),c=n.dmax,d=n.wsize,u=n.whave,p=n.wnext,m=n.window,_=n.hold,f=n.bits,g=n.lencode,v=n.distcode,b=(1<<n.lenbits)-1,x=(1<<n.distbits)-1;e:do{f<15&&(_+=F[a++]<<f,f+=8,_+=F[a++]<<f,f+=8),w=g[_&b];t:for(;;){if(E=w>>>24,_>>>=E,f-=E,E=w>>>16&255,E===0)O[r++]=w&65535;else if(E&16){y=w&65535,E&=15,E&&(f<E&&(_+=F[a++]<<f,f+=8),y+=_&(1<<E)-1,_>>>=E,f-=E),f<15&&(_+=F[a++]<<f,f+=8,_+=F[a++]<<f,f+=8),w=v[_&x];i:for(;;){if(E=w>>>24,_>>>=E,f-=E,E=w>>>16&255,E&16){if(A=w&65535,E&=15,f<E&&(_+=F[a++]<<f,f+=8,f<E&&(_+=F[a++]<<f,f+=8)),A+=_&(1<<E)-1,A>c){e.msg="invalid distance too far back",n.mode=E0;break e}if(_>>>=E,f-=E,E=r-s,A>E){if(E=A-E,E>u&&n.sane){e.msg="invalid distance too far back",n.mode=E0;break e}if(R=0,j=m,p===0){if(R+=d-E,E<y){y-=E;do O[r++]=m[R++];while(--E);R=r-A,j=O}}else if(p<E){if(R+=d+p-E,E-=p,E<y){y-=E;do O[r++]=m[R++];while(--E);if(R=0,p<y){E=p,y-=E;do O[r++]=m[R++];while(--E);R=r-A,j=O}}}else if(R+=p-E,E<y){y-=E;do O[r++]=m[R++];while(--E);R=r-A,j=O}for(;y>2;)O[r++]=j[R++],O[r++]=j[R++],O[r++]=j[R++],y-=3;y&&(O[r++]=j[R++],y>1&&(O[r++]=j[R++]))}else{R=r-A;do O[r++]=O[R++],O[r++]=O[R++],O[r++]=O[R++],y-=3;while(y>2);y&&(O[r++]=O[R++],y>1&&(O[r++]=O[R++]))}}else if((E&64)===0){w=v[(w&65535)+(_&(1<<E)-1)];continue i}else{e.msg="invalid distance code",n.mode=E0;break e}break}}else if((E&64)===0){w=g[(w&65535)+(_&(1<<E)-1)];continue t}else if(E&32){n.mode=CX;break e}else{e.msg="invalid literal/length code",n.mode=E0;break e}break}}while(a<o&&r<l);y=f>>3,a-=y,f-=y<<3,_&=(1<<f)-1,e.next_in=a,e.next_out=r,e.avail_in=a<o?5+(o-a):5-(a-o),e.avail_out=r<l?257+(l-r):257-(r-l),n.hold=_,n.bits=f}});var eF=Ft((rre,QV)=>{"use strict";var $V=jd(),Ih=15,YV=852,XV=592,JV=0,sT=1,ZV=2,PX=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],BX=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],RX=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],jX=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];QV.exports=function(e,t,n,a,o,r,s,l){var c=l.bits,d=0,u=0,p=0,m=0,_=0,f=0,g=0,v=0,b=0,x=0,w,E,y,A,R,j=null,F=0,O,L=new $V.Buf16(Ih+1),U=new $V.Buf16(Ih+1),J=null,ie=0,te,me,Q;for(d=0;d<=Ih;d++)L[d]=0;for(u=0;u<a;u++)L[t[n+u]]++;for(_=c,m=Ih;m>=1&&L[m]===0;m--);if(_>m&&(_=m),m===0)return o[r++]=1<<24|64<<16|0,o[r++]=1<<24|64<<16|0,l.bits=1,0;for(p=1;p<m&&L[p]===0;p++);for(_<p&&(_=p),v=1,d=1;d<=Ih;d++)if(v<<=1,v-=L[d],v<0)return-1;if(v>0&&(e===JV||m!==1))return-1;for(U[1]=0,d=1;d<Ih;d++)U[d+1]=U[d]+L[d];for(u=0;u<a;u++)t[n+u]!==0&&(s[U[t[n+u]]++]=u);if(e===JV?(j=J=s,O=19):e===sT?(j=PX,F-=257,J=BX,ie-=257,O=256):(j=RX,J=jX,O=-1),x=0,u=0,d=p,R=r,f=_,g=0,y=-1,b=1<<_,A=b-1,e===sT&&b>YV||e===ZV&&b>XV)return 1;for(;;){te=d-g,s[u]<O?(me=0,Q=s[u]):s[u]>O?(me=J[ie+s[u]],Q=j[F+s[u]]):(me=96,Q=0),w=1<<d-g,E=1<<f,p=E;do E-=w,o[R+(x>>g)+E]=te<<24|me<<16|Q|0;while(E!==0);for(w=1<<d-1;x&w;)w>>=1;if(w!==0?(x&=w-1,x+=w):x=0,u++,--L[d]===0){if(d===m)break;d=t[n+s[u]]}if(d>_&&(x&A)!==y){for(g===0&&(g=_),R+=p,f=d-g,v=1<<f;f+g<m&&(v-=L[f+g],!(v<=0));)f++,v<<=1;if(b+=1<<f,e===sT&&b>YV||e===ZV&&b>XV)return 1;y=x&A,o[y]=_<<24|f<<16|R-r|0}}return x!==0&&(o[R+x]=d-g<<24|64<<16|0),l.bits=_,0}});var IF=Ft(Yl=>{"use strict";var $s=jd(),mT=YM(),Vc=XM(),IX=KV(),ib=eF(),DX=0,EF=1,MF=2,tF=4,VX=5,M0=6,bm=0,FX=1,UX=2,xl=-2,TF=-3,_T=-4,OX=-5,iF=8,AF=1,nF=2,aF=3,oF=4,rF=5,sF=6,lF=7,cF=8,dF=9,uF=10,C0=11,Vd=12,lT=13,pF=14,cT=15,mF=16,_F=17,hF=18,fF=19,T0=20,A0=21,gF=22,vF=23,bF=24,yF=25,xF=26,dT=27,kF=28,wF=29,Wa=30,hT=31,LX=32,NX=852,HX=592,GX=15,qX=GX;function SF(i){return(i>>>24&255)+(i>>>8&65280)+((i&65280)<<8)+((i&255)<<24)}function WX(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new $s.Buf16(320),this.work=new $s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function CF(i){var e;return!i||!i.state?xl:(e=i.state,i.total_in=i.total_out=e.total=0,i.msg="",e.wrap&&(i.adler=e.wrap&1),e.mode=AF,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new $s.Buf32(NX),e.distcode=e.distdyn=new $s.Buf32(HX),e.sane=1,e.back=-1,bm)}function PF(i){var e;return!i||!i.state?xl:(e=i.state,e.wsize=0,e.whave=0,e.wnext=0,CF(i))}function BF(i,e){var t,n;return!i||!i.state||(n=i.state,e<0?(t=0,e=-e):(t=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?xl:(n.window!==null&&n.wbits!==e&&(n.window=null),n.wrap=t,n.wbits=e,PF(i))}function RF(i,e){var t,n;return i?(n=new WX,i.state=n,n.window=null,t=BF(i,e),t!==bm&&(i.state=null),t):xl}function KX(i){return RF(i,qX)}var zF=!0,uT,pT;function $X(i){if(zF){var e;for(uT=new $s.Buf32(512),pT=new $s.Buf32(32),e=0;e<144;)i.lens[e++]=8;for(;e<256;)i.lens[e++]=9;for(;e<280;)i.lens[e++]=7;for(;e<288;)i.lens[e++]=8;for(ib(EF,i.lens,0,288,uT,0,i.work,{bits:9}),e=0;e<32;)i.lens[e++]=5;ib(MF,i.lens,0,32,pT,0,i.work,{bits:5}),zF=!1}i.lencode=uT,i.lenbits=9,i.distcode=pT,i.distbits=5}function jF(i,e,t,n){var a,o=i.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new $s.Buf8(o.wsize)),n>=o.wsize?($s.arraySet(o.window,e,t-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>n&&(a=n),$s.arraySet(o.window,e,t-n,a,o.wnext),n-=a,n?($s.arraySet(o.window,e,t-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}function YX(i,e){var t,n,a,o,r,s,l,c,d,u,p,m,_,f,g=0,v,b,x,w,E,y,A,R,j=new $s.Buf8(4),F,O,L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!i||!i.state||!i.output||!i.input&&i.avail_in!==0)return xl;t=i.state,t.mode===Vd&&(t.mode=lT),r=i.next_out,a=i.output,l=i.avail_out,o=i.next_in,n=i.input,s=i.avail_in,c=t.hold,d=t.bits,u=s,p=l,R=bm;e:for(;;)switch(t.mode){case AF:if(t.wrap===0){t.mode=lT;break}for(;d<16;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(t.wrap&2&&c===35615){t.check=0,j[0]=c&255,j[1]=c>>>8&255,t.check=Vc(t.check,j,2,0),c=0,d=0,t.mode=nF;break}if(t.flags=0,t.head&&(t.head.done=!1),!(t.wrap&1)||(((c&255)<<8)+(c>>8))%31){i.msg="incorrect header check",t.mode=Wa;break}if((c&15)!==iF){i.msg="unknown compression method",t.mode=Wa;break}if(c>>>=4,d-=4,A=(c&15)+8,t.wbits===0)t.wbits=A;else if(A>t.wbits){i.msg="invalid window size",t.mode=Wa;break}t.dmax=1<<A,i.adler=t.check=1,t.mode=c&512?uF:Vd,c=0,d=0;break;case nF:for(;d<16;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(t.flags=c,(t.flags&255)!==iF){i.msg="unknown compression method",t.mode=Wa;break}if(t.flags&57344){i.msg="unknown header flags set",t.mode=Wa;break}t.head&&(t.head.text=c>>8&1),t.flags&512&&(j[0]=c&255,j[1]=c>>>8&255,t.check=Vc(t.check,j,2,0)),c=0,d=0,t.mode=aF;case aF:for(;d<32;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.head&&(t.head.time=c),t.flags&512&&(j[0]=c&255,j[1]=c>>>8&255,j[2]=c>>>16&255,j[3]=c>>>24&255,t.check=Vc(t.check,j,4,0)),c=0,d=0,t.mode=oF;case oF:for(;d<16;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.head&&(t.head.xflags=c&255,t.head.os=c>>8),t.flags&512&&(j[0]=c&255,j[1]=c>>>8&255,t.check=Vc(t.check,j,2,0)),c=0,d=0,t.mode=rF;case rF:if(t.flags&1024){for(;d<16;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.length=c,t.head&&(t.head.extra_len=c),t.flags&512&&(j[0]=c&255,j[1]=c>>>8&255,t.check=Vc(t.check,j,2,0)),c=0,d=0}else t.head&&(t.head.extra=null);t.mode=sF;case sF:if(t.flags&1024&&(m=t.length,m>s&&(m=s),m&&(t.head&&(A=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),$s.arraySet(t.head.extra,n,o,m,A)),t.flags&512&&(t.check=Vc(t.check,n,m,o)),s-=m,o+=m,t.length-=m),t.length))break e;t.length=0,t.mode=lF;case lF:if(t.flags&2048){if(s===0)break e;m=0;do A=n[o+m++],t.head&&A&&t.length<65536&&(t.head.name+=String.fromCharCode(A));while(A&&m<s);if(t.flags&512&&(t.check=Vc(t.check,n,m,o)),s-=m,o+=m,A)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=cF;case cF:if(t.flags&4096){if(s===0)break e;m=0;do A=n[o+m++],t.head&&A&&t.length<65536&&(t.head.comment+=String.fromCharCode(A));while(A&&m<s);if(t.flags&512&&(t.check=Vc(t.check,n,m,o)),s-=m,o+=m,A)break e}else t.head&&(t.head.comment=null);t.mode=dF;case dF:if(t.flags&512){for(;d<16;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(c!==(t.check&65535)){i.msg="header crc mismatch",t.mode=Wa;break}c=0,d=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),i.adler=t.check=0,t.mode=Vd;break;case uF:for(;d<32;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}i.adler=t.check=SF(c),c=0,d=0,t.mode=C0;case C0:if(t.havedict===0)return i.next_out=r,i.avail_out=l,i.next_in=o,i.avail_in=s,t.hold=c,t.bits=d,UX;i.adler=t.check=1,t.mode=Vd;case Vd:if(e===VX||e===M0)break e;case lT:if(t.last){c>>>=d&7,d-=d&7,t.mode=dT;break}for(;d<3;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}switch(t.last=c&1,c>>>=1,d-=1,c&3){case 0:t.mode=pF;break;case 1:if($X(t),t.mode=T0,e===M0){c>>>=2,d-=2;break e}break;case 2:t.mode=_F;break;case 3:i.msg="invalid block type",t.mode=Wa}c>>>=2,d-=2;break;case pF:for(c>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if((c&65535)!==(c>>>16^65535)){i.msg="invalid stored block lengths",t.mode=Wa;break}if(t.length=c&65535,c=0,d=0,t.mode=cT,e===M0)break e;case cT:t.mode=mF;case mF:if(m=t.length,m){if(m>s&&(m=s),m>l&&(m=l),m===0)break e;$s.arraySet(a,n,o,m,r),s-=m,o+=m,l-=m,r+=m,t.length-=m;break}t.mode=Vd;break;case _F:for(;d<14;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(t.nlen=(c&31)+257,c>>>=5,d-=5,t.ndist=(c&31)+1,c>>>=5,d-=5,t.ncode=(c&15)+4,c>>>=4,d-=4,t.nlen>286||t.ndist>30){i.msg="too many length or distance symbols",t.mode=Wa;break}t.have=0,t.mode=hF;case hF:for(;t.have<t.ncode;){for(;d<3;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.lens[L[t.have++]]=c&7,c>>>=3,d-=3}for(;t.have<19;)t.lens[L[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,F={bits:t.lenbits},R=ib(DX,t.lens,0,19,t.lencode,0,t.work,F),t.lenbits=F.bits,R){i.msg="invalid code lengths set",t.mode=Wa;break}t.have=0,t.mode=fF;case fF:for(;t.have<t.nlen+t.ndist;){for(;g=t.lencode[c&(1<<t.lenbits)-1],v=g>>>24,b=g>>>16&255,x=g&65535,!(v<=d);){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(x<16)c>>>=v,d-=v,t.lens[t.have++]=x;else{if(x===16){for(O=v+2;d<O;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(c>>>=v,d-=v,t.have===0){i.msg="invalid bit length repeat",t.mode=Wa;break}A=t.lens[t.have-1],m=3+(c&3),c>>>=2,d-=2}else if(x===17){for(O=v+3;d<O;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}c>>>=v,d-=v,A=0,m=3+(c&7),c>>>=3,d-=3}else{for(O=v+7;d<O;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}c>>>=v,d-=v,A=0,m=11+(c&127),c>>>=7,d-=7}if(t.have+m>t.nlen+t.ndist){i.msg="invalid bit length repeat",t.mode=Wa;break}for(;m--;)t.lens[t.have++]=A}}if(t.mode===Wa)break;if(t.lens[256]===0){i.msg="invalid code -- missing end-of-block",t.mode=Wa;break}if(t.lenbits=9,F={bits:t.lenbits},R=ib(EF,t.lens,0,t.nlen,t.lencode,0,t.work,F),t.lenbits=F.bits,R){i.msg="invalid literal/lengths set",t.mode=Wa;break}if(t.distbits=6,t.distcode=t.distdyn,F={bits:t.distbits},R=ib(MF,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,F),t.distbits=F.bits,R){i.msg="invalid distances set",t.mode=Wa;break}if(t.mode=T0,e===M0)break e;case T0:t.mode=A0;case A0:if(s>=6&&l>=258){i.next_out=r,i.avail_out=l,i.next_in=o,i.avail_in=s,t.hold=c,t.bits=d,IX(i,p),r=i.next_out,a=i.output,l=i.avail_out,o=i.next_in,n=i.input,s=i.avail_in,c=t.hold,d=t.bits,t.mode===Vd&&(t.back=-1);break}for(t.back=0;g=t.lencode[c&(1<<t.lenbits)-1],v=g>>>24,b=g>>>16&255,x=g&65535,!(v<=d);){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(b&&(b&240)===0){for(w=v,E=b,y=x;g=t.lencode[y+((c&(1<<w+E)-1)>>w)],v=g>>>24,b=g>>>16&255,x=g&65535,!(w+v<=d);){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}c>>>=w,d-=w,t.back+=w}if(c>>>=v,d-=v,t.back+=v,t.length=x,b===0){t.mode=xF;break}if(b&32){t.back=-1,t.mode=Vd;break}if(b&64){i.msg="invalid literal/length code",t.mode=Wa;break}t.extra=b&15,t.mode=gF;case gF:if(t.extra){for(O=t.extra;d<O;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.length+=c&(1<<t.extra)-1,c>>>=t.extra,d-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=vF;case vF:for(;g=t.distcode[c&(1<<t.distbits)-1],v=g>>>24,b=g>>>16&255,x=g&65535,!(v<=d);){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if((b&240)===0){for(w=v,E=b,y=x;g=t.distcode[y+((c&(1<<w+E)-1)>>w)],v=g>>>24,b=g>>>16&255,x=g&65535,!(w+v<=d);){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}c>>>=w,d-=w,t.back+=w}if(c>>>=v,d-=v,t.back+=v,b&64){i.msg="invalid distance code",t.mode=Wa;break}t.offset=x,t.extra=b&15,t.mode=bF;case bF:if(t.extra){for(O=t.extra;d<O;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}t.offset+=c&(1<<t.extra)-1,c>>>=t.extra,d-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){i.msg="invalid distance too far back",t.mode=Wa;break}t.mode=yF;case yF:if(l===0)break e;if(m=p-l,t.offset>m){if(m=t.offset-m,m>t.whave&&t.sane){i.msg="invalid distance too far back",t.mode=Wa;break}m>t.wnext?(m-=t.wnext,_=t.wsize-m):_=t.wnext-m,m>t.length&&(m=t.length),f=t.window}else f=a,_=r-t.offset,m=t.length;m>l&&(m=l),l-=m,t.length-=m;do a[r++]=f[_++];while(--m);t.length===0&&(t.mode=A0);break;case xF:if(l===0)break e;a[r++]=t.length,l--,t.mode=A0;break;case dT:if(t.wrap){for(;d<32;){if(s===0)break e;s--,c|=n[o++]<<d,d+=8}if(p-=l,i.total_out+=p,t.total+=p,p&&(i.adler=t.check=t.flags?Vc(t.check,a,p,r-p):mT(t.check,a,p,r-p)),p=l,(t.flags?c:SF(c))!==t.check){i.msg="incorrect data check",t.mode=Wa;break}c=0,d=0}t.mode=kF;case kF:if(t.wrap&&t.flags){for(;d<32;){if(s===0)break e;s--,c+=n[o++]<<d,d+=8}if(c!==(t.total&4294967295)){i.msg="incorrect length check",t.mode=Wa;break}c=0,d=0}t.mode=wF;case wF:R=FX;break e;case Wa:R=TF;break e;case hT:return _T;case LX:default:return xl}return i.next_out=r,i.avail_out=l,i.next_in=o,i.avail_in=s,t.hold=c,t.bits=d,(t.wsize||p!==i.avail_out&&t.mode<Wa&&(t.mode<dT||e!==tF))&&jF(i,i.output,i.next_out,p-i.avail_out)?(t.mode=hT,_T):(u-=i.avail_in,p-=i.avail_out,i.total_in+=u,i.total_out+=p,t.total+=p,t.wrap&&p&&(i.adler=t.check=t.flags?Vc(t.check,a,p,i.next_out-p):mT(t.check,a,p,i.next_out-p)),i.data_type=t.bits+(t.last?64:0)+(t.mode===Vd?128:0)+(t.mode===T0||t.mode===cT?256:0),(u===0&&p===0||e===tF)&&R===bm&&(R=OX),R)}function XX(i){if(!i||!i.state)return xl;var e=i.state;return e.window&&(e.window=null),i.state=null,bm}function JX(i,e){var t;return!i||!i.state||(t=i.state,(t.wrap&2)===0)?xl:(t.head=e,e.done=!1,bm)}function ZX(i,e){var t=e.length,n,a,o;return!i||!i.state||(n=i.state,n.wrap!==0&&n.mode!==C0)?xl:n.mode===C0&&(a=1,a=mT(a,e,t,0),a!==n.check)?TF:(o=jF(i,e,t,t),o?(n.mode=hT,_T):(n.havedict=1,bm))}Yl.inflateReset=PF;Yl.inflateReset2=BF;Yl.inflateResetKeep=CF;Yl.inflateInit=KX;Yl.inflateInit2=RF;Yl.inflate=YX;Yl.inflateEnd=XX;Yl.inflateGetHeader=JX;Yl.inflateSetDictionary=ZX;Yl.inflateInfo="pako inflate (from Nodeca project)"});var fT=Ft((lre,DF)=>{"use strict";DF.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var FF=Ft((cre,VF)=>{"use strict";function QX(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}VF.exports=QX});var OF=Ft(ab=>{"use strict";var Dh=IF(),nb=jd(),P0=tT(),Mo=fT(),gT=v0(),eJ=iT(),tJ=FF(),UF=Object.prototype.toString;function ym(i){if(!(this instanceof ym))return new ym(i);this.options=nb.assign({chunkSize:16384,windowBits:0,to:""},i||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(i&&i.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15)===0&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eJ,this.strm.avail_out=0;var t=Dh.inflateInit2(this.strm,e.windowBits);if(t!==Mo.Z_OK)throw new Error(gT[t]);if(this.header=new tJ,Dh.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=P0.string2buf(e.dictionary):UF.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=Dh.inflateSetDictionary(this.strm,e.dictionary),t!==Mo.Z_OK)))throw new Error(gT[t])}ym.prototype.push=function(i,e){var t=this.strm,n=this.options.chunkSize,a=this.options.dictionary,o,r,s,l,c,d=!1;if(this.ended)return!1;r=e===~~e?e:e===!0?Mo.Z_FINISH:Mo.Z_NO_FLUSH,typeof i=="string"?t.input=P0.binstring2buf(i):UF.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new nb.Buf8(n),t.next_out=0,t.avail_out=n),o=Dh.inflate(t,Mo.Z_NO_FLUSH),o===Mo.Z_NEED_DICT&&a&&(o=Dh.inflateSetDictionary(this.strm,a)),o===Mo.Z_BUF_ERROR&&d===!0&&(o=Mo.Z_OK,d=!1),o!==Mo.Z_STREAM_END&&o!==Mo.Z_OK)return this.onEnd(o),this.ended=!0,!1;t.next_out&&(t.avail_out===0||o===Mo.Z_STREAM_END||t.avail_in===0&&(r===Mo.Z_FINISH||r===Mo.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=P0.utf8border(t.output,t.next_out),l=t.next_out-s,c=P0.buf2string(t.output,s),t.next_out=l,t.avail_out=n-l,l&&nb.arraySet(t.output,t.output,s,l,0),this.onData(c)):this.onData(nb.shrinkBuf(t.output,t.next_out))),t.avail_in===0&&t.avail_out===0&&(d=!0)}while((t.avail_in>0||t.avail_out===0)&&o!==Mo.Z_STREAM_END);return o===Mo.Z_STREAM_END&&(r=Mo.Z_FINISH),r===Mo.Z_FINISH?(o=Dh.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===Mo.Z_OK):(r===Mo.Z_SYNC_FLUSH&&(this.onEnd(Mo.Z_OK),t.avail_out=0),!0)};ym.prototype.onData=function(i){this.chunks.push(i)};ym.prototype.onEnd=function(i){i===Mo.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=nb.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function vT(i,e){var t=new ym(e);if(t.push(i,!0),t.err)throw t.msg||gT[t.err];return t.result}function iJ(i,e){return e=e||{},e.raw=!0,vT(i,e)}ab.Inflate=ym;ab.inflate=vT;ab.inflateRaw=iJ;ab.ungzip=vT});var HF=Ft((ure,NF)=>{"use strict";var nJ=jd().assign,aJ=qV(),oJ=OF(),rJ=fT(),LF={};nJ(LF,aJ,oJ,rJ);NF.exports=LF});var qF=Ft(R0=>{"use strict";var sJ=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",lJ=HF(),GF=oo(),B0=Ks(),cJ=sJ?"uint8array":"array";R0.magic="\b\0";function xm(i,e){B0.call(this,"FlateWorker/"+i),this._pako=null,this._pakoAction=i,this._pakoOptions=e,this.meta={}}GF.inherits(xm,B0);xm.prototype.processChunk=function(i){this.meta=i.meta,this._pako===null&&this._createPako(),this._pako.push(GF.transformTo(cJ,i.data),!1)};xm.prototype.flush=function(){B0.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)};xm.prototype.cleanUp=function(){B0.prototype.cleanUp.call(this),this._pako=null};xm.prototype._createPako=function(){this._pako=new lJ[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var i=this;this._pako.onData=function(e){i.push({data:e,meta:i.meta})}};R0.compressWorker=function(i){return new xm("Deflate",i)};R0.uncompressWorker=function(){return new xm("Inflate",{})}});var yT=Ft(bT=>{"use strict";var WF=Ks();bT.STORE={magic:"\0\0",compressWorker:function(){return new WF("STORE compression")},uncompressWorker:function(){return new WF("STORE decompression")}};bT.DEFLATE=qF()});var xT=Ft(km=>{"use strict";km.LOCAL_FILE_HEADER="PK";km.CENTRAL_FILE_HEADER="PK";km.CENTRAL_DIRECTORY_END="PK";km.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07";km.ZIP64_CENTRAL_DIRECTORY_END="PK";km.DATA_DESCRIPTOR="PK\x07\b"});var XF=Ft((hre,YF)=>{"use strict";var Vh=oo(),Fh=Ks(),kT=zh(),KF=m0(),j0=xT(),Ca=function(i,e){var t="",n;for(n=0;n<e;n++)t+=String.fromCharCode(i&255),i=i>>>8;return t},dJ=function(i,e){var t=i;return i||(t=e?16893:33204),(t&65535)<<16},uJ=function(i){return(i||0)&63},$F=function(i,e,t,n,a,o){var r=i.file,s=i.compression,l=o!==kT.utf8encode,c=Vh.transformTo("string",o(r.name)),d=Vh.transformTo("string",kT.utf8encode(r.name)),u=r.comment,p=Vh.transformTo("string",o(u)),m=Vh.transformTo("string",kT.utf8encode(u)),_=d.length!==r.name.length,f=m.length!==u.length,g,v,b="",x="",w="",E=r.dir,y=r.date,A={crc32:0,compressedSize:0,uncompressedSize:0};(!e||t)&&(A.crc32=i.crc32,A.compressedSize=i.compressedSize,A.uncompressedSize=i.uncompressedSize);var R=0;e&&(R|=8),!l&&(_||f)&&(R|=2048);var j=0,F=0;E&&(j|=16),a==="UNIX"?(F=798,j|=dJ(r.unixPermissions,E)):(F=20,j|=uJ(r.dosPermissions,E)),g=y.getUTCHours(),g=g<<6,g=g|y.getUTCMinutes(),g=g<<5,g=g|y.getUTCSeconds()/2,v=y.getUTCFullYear()-1980,v=v<<4,v=v|y.getUTCMonth()+1,v=v<<5,v=v|y.getUTCDate(),_&&(x=Ca(1,1)+Ca(KF(c),4)+d,b+="up"+Ca(x.length,2)+x),f&&(w=Ca(1,1)+Ca(KF(p),4)+m,b+="uc"+Ca(w.length,2)+w);var O="";O+=`
\0`,O+=Ca(R,2),O+=s.magic,O+=Ca(g,2),O+=Ca(v,2),O+=Ca(A.crc32,4),O+=Ca(A.compressedSize,4),O+=Ca(A.uncompressedSize,4),O+=Ca(c.length,2),O+=Ca(b.length,2);var L=j0.LOCAL_FILE_HEADER+O+c+b,U=j0.CENTRAL_FILE_HEADER+Ca(F,2)+O+Ca(p.length,2)+"\0\0\0\0"+Ca(j,4)+Ca(n,4)+c+b+p;return{fileRecord:L,dirRecord:U}},pJ=function(i,e,t,n,a){var o="",r=Vh.transformTo("string",a(n));return o=j0.CENTRAL_DIRECTORY_END+"\0\0\0\0"+Ca(i,2)+Ca(i,2)+Ca(e,4)+Ca(t,4)+Ca(r.length,2)+r,o},mJ=function(i){var e="";return e=j0.DATA_DESCRIPTOR+Ca(i.crc32,4)+Ca(i.compressedSize,4)+Ca(i.uncompressedSize,4),e};function Xl(i,e,t,n){Fh.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=t,this.encodeFileName=n,this.streamFiles=i,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Vh.inherits(Xl,Fh);Xl.prototype.push=function(i){var e=i.meta.percent||0,t=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(i):(this.bytesWritten+=i.data.length,Fh.prototype.push.call(this,{data:i.data,meta:{currentFile:this.currentFile,percent:t?(e+100*(t-n-1))/t:100}}))};Xl.prototype.openedSource=function(i){this.currentSourceOffset=this.bytesWritten,this.currentFile=i.file.name;var e=this.streamFiles&&!i.file.dir;if(e){var t=$F(i,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:t.fileRecord,meta:{percent:0}})}else this.accumulate=!0};Xl.prototype.closedSource=function(i){this.accumulate=!1;var e=this.streamFiles&&!i.file.dir,t=$F(i,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(t.dirRecord),e)this.push({data:mJ(i),meta:{percent:100}});else for(this.push({data:t.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null};Xl.prototype.flush=function(){for(var i=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var t=this.bytesWritten-i,n=pJ(this.dirRecords.length,t,i,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})};Xl.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()};Xl.prototype.registerPrevious=function(i){this._sources.push(i);var e=this;return i.on("data",function(t){e.processChunk(t)}),i.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),i.on("error",function(t){e.error(t)}),this};Xl.prototype.resume=function(){if(!Fh.prototype.resume.call(this))return!1;if(!this.previous&&this._sources.length)return this.prepareNextSource(),!0;if(!this.previous&&!this._sources.length&&!this.generatedError)return this.end(),!0};Xl.prototype.error=function(i){var e=this._sources;if(!Fh.prototype.error.call(this,i))return!1;for(var t=0;t<e.length;t++)try{e[t].error(i)}catch{}return!0};Xl.prototype.lock=function(){Fh.prototype.lock.call(this);for(var i=this._sources,e=0;e<i.length;e++)i[e].lock()};YF.exports=Xl});var ZF=Ft(JF=>{"use strict";var _J=yT(),hJ=XF(),fJ=function(i,e){var t=i||e,n=_J[t];if(!n)throw new Error(t+" is not a valid compression method !");return n};JF.generateWorker=function(i,e,t){var n=new hJ(e.streamFiles,t,e.platform,e.encodeFileName),a=0;try{i.forEach(function(o,r){a++;var s=fJ(r.options.compression,e.compression),l=r.options.compressionOptions||e.compressionOptions||{},c=r.dir,d=r.date;r._compressWorker(s,l).withStreamInfo("file",{name:o,dir:c,date:d,comment:r.comment||"",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(n)}),n.entriesCount=a}catch(o){n.error(o)}return n}});var eU=Ft((gre,QF)=>{"use strict";var gJ=oo(),I0=Ks();function ob(i,e){I0.call(this,"Nodejs stream input adapter for "+i),this._upstreamEnded=!1,this._bindStream(e)}gJ.inherits(ob,I0);ob.prototype._bindStream=function(i){var e=this;this._stream=i,i.pause(),i.on("data",function(t){e.push({data:t,meta:{percent:0}})}).on("error",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end()})};ob.prototype.pause=function(){return I0.prototype.pause.call(this)?(this._stream.pause(),!0):!1};ob.prototype.resume=function(){return I0.prototype.resume.call(this)?(this._upstreamEnded?this.end():this._stream.resume(),!0):!1};QF.exports=ob});var dU=Ft((vre,cU)=>{"use strict";var vJ=zh(),rb=oo(),aU=Ks(),bJ=MM(),oU=TM(),tU=_0(),yJ=iV(),xJ=ZF(),iU=Iv(),kJ=eU(),rU=function(i,e,t){var n=rb.getTypeOf(e),a,o=rb.extend(t||{},oU);o.date=o.date||new Date,o.compression!==null&&(o.compression=o.compression.toUpperCase()),typeof o.unixPermissions=="string"&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&o.unixPermissions&16384&&(o.dir=!0),o.dosPermissions&&o.dosPermissions&16&&(o.dir=!0),o.dir&&(i=sU(i)),o.createFolders&&(a=wJ(i))&&lU.call(this,a,!0);var r=n==="string"&&o.binary===!1&&o.base64===!1;(!t||typeof t.binary>"u")&&(o.binary=!r);var s=e instanceof tU&&e.uncompressedSize===0;(s||o.dir||!e||e.length===0)&&(o.base64=!1,o.binary=!0,e="",o.compression="STORE",n="string");var l=null;e instanceof tU||e instanceof aU?l=e:iU.isNode&&iU.isStream(e)?l=new kJ(i,e):l=rb.prepareContent(i,e,o.binary,o.optimizedBinaryString,o.base64);var c=new yJ(i,l,o);this.files[i]=c},wJ=function(i){i.slice(-1)==="/"&&(i=i.substring(0,i.length-1));var e=i.lastIndexOf("/");return e>0?i.substring(0,e):""},sU=function(i){return i.slice(-1)!=="/"&&(i+="/"),i},lU=function(i,e){return e=typeof e<"u"?e:oU.createFolders,i=sU(i),this.files[i]||rU.call(this,i,null,{dir:!0,createFolders:e}),this.files[i]};function nU(i){return Object.prototype.toString.call(i)==="[object RegExp]"}var SJ={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(i){var e,t,n;for(e in this.files)n=this.files[e],t=e.slice(this.root.length,e.length),t&&e.slice(0,this.root.length)===this.root&&i(t,n)},filter:function(i){var e=[];return this.forEach(function(t,n){i(t,n)&&e.push(n)}),e},file:function(i,e,t){if(arguments.length===1)if(nU(i)){var n=i;return this.filter(function(o,r){return!r.dir&&n.test(o)})}else{var a=this.files[this.root+i];return a&&!a.dir?a:null}else i=this.root+i,rU.call(this,i,e,t);return this},folder:function(i){if(!i)return this;if(nU(i))return this.filter(function(a,o){return o.dir&&i.test(a)});var e=this.root+i,t=lU.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(i){i=this.root+i;var e=this.files[i];if(e||(i.slice(-1)!=="/"&&(i+="/"),e=this.files[i]),e&&!e.dir)delete this.files[i];else for(var t=this.filter(function(a,o){return o.name.slice(0,i.length)===i}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(i){var e,t={};try{if(t=rb.extend(i||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:vJ.utf8encode}),t.type=t.type.toLowerCase(),t.compression=t.compression.toUpperCase(),t.type==="binarystring"&&(t.type="string"),!t.type)throw new Error("No output type specified.");rb.checkSupport(t.type),(t.platform==="darwin"||t.platform==="freebsd"||t.platform==="linux"||t.platform==="sunos")&&(t.platform="UNIX"),t.platform==="win32"&&(t.platform="DOS");var n=t.comment||this.comment||"";e=xJ.generateWorker(this,t,n)}catch(a){e=new aU("error"),e.error(a)}return new bJ(e,t.type||"string",t.mimeType)},generateAsync:function(i,e){return this.generateInternalStream(i).accumulate(e)},generateNodeStream:function(i,e){return i=i||{},i.type||(i.type="nodebuffer"),this.generateInternalStream(i).toNodejsStream(e)}};cU.exports=SJ});var wT=Ft((bre,pU)=>{"use strict";var zJ=oo();function uU(i){this.data=i,this.length=i.length,this.index=0,this.zero=0}uU.prototype={checkOffset:function(i){this.checkIndex(this.index+i)},checkIndex:function(i){if(this.length<this.zero+i||i<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+i+"). Corrupted zip ?")},setIndex:function(i){this.checkIndex(i),this.index=i},skip:function(i){this.setIndex(this.index+i)},byteAt:function(){},readInt:function(i){var e=0,t;for(this.checkOffset(i),t=this.index+i-1;t>=this.index;t--)e=(e<<8)+this.byteAt(t);return this.index+=i,e},readString:function(i){return zJ.transformTo("string",this.readData(i))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var i=this.readInt(4);return new Date(Date.UTC((i>>25&127)+1980,(i>>21&15)-1,i>>16&31,i>>11&31,i>>5&63,(i&31)<<1))}};pU.exports=uU});var ST=Ft((yre,_U)=>{"use strict";var mU=wT(),EJ=oo();function Uh(i){mU.call(this,i);for(var e=0;e<this.data.length;e++)i[e]=i[e]&255}EJ.inherits(Uh,mU);Uh.prototype.byteAt=function(i){return this.data[this.zero+i]};Uh.prototype.lastIndexOfSignature=function(i){for(var e=i.charCodeAt(0),t=i.charCodeAt(1),n=i.charCodeAt(2),a=i.charCodeAt(3),o=this.length-4;o>=0;--o)if(this.data[o]===e&&this.data[o+1]===t&&this.data[o+2]===n&&this.data[o+3]===a)return o-this.zero;return-1};Uh.prototype.readAndCheckSignature=function(i){var e=i.charCodeAt(0),t=i.charCodeAt(1),n=i.charCodeAt(2),a=i.charCodeAt(3),o=this.readData(4);return e===o[0]&&t===o[1]&&n===o[2]&&a===o[3]};Uh.prototype.readData=function(i){if(this.checkOffset(i),i===0)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,e};_U.exports=Uh});var gU=Ft((xre,fU)=>{"use strict";var hU=wT(),MJ=oo();function Oh(i){hU.call(this,i)}MJ.inherits(Oh,hU);Oh.prototype.byteAt=function(i){return this.data.charCodeAt(this.zero+i)};Oh.prototype.lastIndexOfSignature=function(i){return this.data.lastIndexOf(i)-this.zero};Oh.prototype.readAndCheckSignature=function(i){var e=this.readData(4);return i===e};Oh.prototype.readData=function(i){this.checkOffset(i);var e=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,e};fU.exports=Oh});var ET=Ft((kre,bU)=>{"use strict";var vU=ST(),TJ=oo();function zT(i){vU.call(this,i)}TJ.inherits(zT,vU);zT.prototype.readData=function(i){if(this.checkOffset(i),i===0)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+i);return this.index+=i,e};bU.exports=zT});var kU=Ft((wre,xU)=>{"use strict";var yU=ET(),AJ=oo();function MT(i){yU.call(this,i)}AJ.inherits(MT,yU);MT.prototype.readData=function(i){this.checkOffset(i);var e=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,e};xU.exports=MT});var TT=Ft((Sre,SU)=>{"use strict";var D0=oo(),wU=Bd(),CJ=ST(),PJ=gU(),BJ=kU(),RJ=ET();SU.exports=function(i){var e=D0.getTypeOf(i);return D0.checkSupport(e),e==="string"&&!wU.uint8array?new PJ(i):e==="nodebuffer"?new BJ(i):wU.uint8array?new RJ(D0.transformTo("uint8array",i)):new CJ(D0.transformTo("array",i))}});var TU=Ft((zre,MU)=>{"use strict";var AT=TT(),qu=oo(),jJ=_0(),zU=m0(),V0=zh(),F0=yT(),IJ=Bd(),DJ=0,VJ=3,FJ=function(i){for(var e in F0)if(Object.prototype.hasOwnProperty.call(F0,e)&&F0[e].magic===i)return F0[e];return null};function EU(i,e){this.options=i,this.loadOptions=e}EU.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function(i){var e,t;if(i.skip(22),this.fileNameLength=i.readInt(2),t=i.readInt(2),this.fileName=i.readData(this.fileNameLength),i.skip(t),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(e=FJ(this.compressionMethod),e===null)throw new Error("Corrupted zip : compression "+qu.pretty(this.compressionMethod)+" unknown (inner file : "+qu.transformTo("string",this.fileName)+")");this.decompressed=new jJ(this.compressedSize,this.uncompressedSize,this.crc32,e,i.readData(this.compressedSize))},readCentralPart:function(i){this.versionMadeBy=i.readInt(2),i.skip(2),this.bitFlag=i.readInt(2),this.compressionMethod=i.readString(2),this.date=i.readDate(),this.crc32=i.readInt(4),this.compressedSize=i.readInt(4),this.uncompressedSize=i.readInt(4);var e=i.readInt(2);if(this.extraFieldsLength=i.readInt(2),this.fileCommentLength=i.readInt(2),this.diskNumberStart=i.readInt(2),this.internalFileAttributes=i.readInt(2),this.externalFileAttributes=i.readInt(4),this.localHeaderOffset=i.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");i.skip(e),this.readExtraFields(i),this.parseZIP64ExtraField(i),this.fileComment=i.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var i=this.versionMadeBy>>8;this.dir=!!(this.externalFileAttributes&16),i===DJ&&(this.dosPermissions=this.externalFileAttributes&63),i===VJ&&(this.unixPermissions=this.externalFileAttributes>>16&65535),!this.dir&&this.fileNameStr.slice(-1)==="/"&&(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var i=AT(this.extraFields[1].value);this.uncompressedSize===qu.MAX_VALUE_32BITS&&(this.uncompressedSize=i.readInt(8)),this.compressedSize===qu.MAX_VALUE_32BITS&&(this.compressedSize=i.readInt(8)),this.localHeaderOffset===qu.MAX_VALUE_32BITS&&(this.localHeaderOffset=i.readInt(8)),this.diskNumberStart===qu.MAX_VALUE_32BITS&&(this.diskNumberStart=i.readInt(4))}},readExtraFields:function(i){var e=i.index+this.extraFieldsLength,t,n,a;for(this.extraFields||(this.extraFields={});i.index+4<e;)t=i.readInt(2),n=i.readInt(2),a=i.readData(n),this.extraFields[t]={id:t,length:n,value:a};i.setIndex(e)},handleUTF8:function(){var i=IJ.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=V0.utf8decode(this.fileName),this.fileCommentStr=V0.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(e!==null)this.fileNameStr=e;else{var t=qu.transformTo(i,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(t)}var n=this.findExtraFieldUnicodeComment();if(n!==null)this.fileCommentStr=n;else{var a=qu.transformTo(i,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(a)}}},findExtraFieldUnicodePath:function(){var i=this.extraFields[28789];if(i){var e=AT(i.value);return e.readInt(1)!==1||zU(this.fileName)!==e.readInt(4)?null:V0.utf8decode(e.readData(i.length-5))}return null},findExtraFieldUnicodeComment:function(){var i=this.extraFields[25461];if(i){var e=AT(i.value);return e.readInt(1)!==1||zU(this.fileComment)!==e.readInt(4)?null:V0.utf8decode(e.readData(i.length-5))}return null}};MU.exports=EU});var PU=Ft((Ere,CU)=>{"use strict";var UJ=TT(),Fd=oo(),Jl=xT(),OJ=TU(),LJ=Bd();function AU(i){this.files=[],this.loadOptions=i}AU.prototype={checkSignature:function(i){if(!this.reader.readAndCheckSignature(i)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+Fd.pretty(e)+", expected "+Fd.pretty(i)+")")}},isSignature:function(i,e){var t=this.reader.index;this.reader.setIndex(i);var n=this.reader.readString(4),a=n===e;return this.reader.setIndex(t),a},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var i=this.reader.readData(this.zipCommentLength),e=LJ.uint8array?"uint8array":"array",t=Fd.transformTo(e,i);this.zipComment=this.loadOptions.decodeFileName(t)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var i=this.zip64EndOfCentralSize-44,e=0,t,n,a;e<i;)t=this.reader.readInt(2),n=this.reader.readInt(4),a=this.reader.readData(n),this.zip64ExtensibleData[t]={id:t,length:n,value:a}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var i,e;for(i=0;i<this.files.length;i++)e=this.files[i],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(Jl.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var i;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(Jl.CENTRAL_FILE_HEADER);)i=new OJ({zip64:this.zip64},this.loadOptions),i.readCentralPart(this.reader),this.files.push(i);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var i=this.reader.lastIndexOfSignature(Jl.CENTRAL_DIRECTORY_END);if(i<0){var e=!this.isSignature(0,Jl.LOCAL_FILE_HEADER);throw e?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory")}this.reader.setIndex(i);var t=i;if(this.checkSignature(Jl.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===Fd.MAX_VALUE_16BITS||this.diskWithCentralDirStart===Fd.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===Fd.MAX_VALUE_16BITS||this.centralDirRecords===Fd.MAX_VALUE_16BITS||this.centralDirSize===Fd.MAX_VALUE_32BITS||this.centralDirOffset===Fd.MAX_VALUE_32BITS){if(this.zip64=!0,i=this.reader.lastIndexOfSignature(Jl.ZIP64_CENTRAL_DIRECTORY_LOCATOR),i<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(i),this.checkSignature(Jl.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,Jl.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(Jl.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(Jl.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var a=t-n;if(a>0)this.isSignature(t,Jl.CENTRAL_FILE_HEADER)||(this.reader.zero=a);else if(a<0)throw new Error("Corrupted zip: missing "+Math.abs(a)+" bytes.")},prepareReader:function(i){this.reader=UJ(i)},load:function(i){this.prepareReader(i),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}};CU.exports=AU});var jU=Ft((Mre,RU)=>{"use strict";var CT=oo(),U0=kh(),NJ=zh(),HJ=PU(),GJ=PM(),BU=Iv();function qJ(i){return new U0.Promise(function(e,t){var n=i.decompressed.getContentWorker().pipe(new GJ);n.on("error",function(a){t(a)}).on("end",function(){n.streamInfo.crc32!==i.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}RU.exports=function(i,e){var t=this;return e=CT.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:NJ.utf8decode}),BU.isNode&&BU.isStream(i)?U0.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):CT.prepareContent("the loaded zip file",i,!0,e.optimizedBinaryString,e.base64).then(function(n){var a=new HJ(e);return a.load(n),a}).then(function(a){var o=[U0.Promise.resolve(a)],r=a.files;if(e.checkCRC32)for(var s=0;s<r.length;s++)o.push(qJ(r[s]));return U0.Promise.all(o)}).then(function(a){for(var o=a.shift(),r=o.files,s=0;s<r.length;s++){var l=r[s],c=l.fileNameStr,d=CT.resolve(l.fileNameStr);t.file(d,l.decompressed,{binary:!0,optimizedBinaryString:!0,date:l.date,dir:l.dir,comment:l.fileCommentStr.length?l.fileCommentStr:null,unixPermissions:l.unixPermissions,dosPermissions:l.dosPermissions,createFolders:e.createFolders}),l.dir||(t.file(d).unsafeOriginalName=c)}return o.zipComment.length&&(t.comment=o.zipComment),t})}});var DU=Ft((Tre,IU)=>{"use strict";function kl(){if(!(this instanceof kl))return new kl;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var i=new kl;for(var e in this)typeof this[e]!="function"&&(i[e]=this[e]);return i}}kl.prototype=dU();kl.prototype.loadAsync=jU();kl.support=Bd();kl.defaults=TM();kl.version="3.10.1";kl.loadAsync=function(i,e){return new kl().loadAsync(i,e)};kl.external=kh();IU.exports=kl});var VU=Ft((Are,O0)=>{var WJ=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var Mi=function(i){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},a={manual:i.Prism&&i.Prism.manual,disableWorkerMessageHandler:i.Prism&&i.Prism.disableWorkerMessageHandler,util:{encode:function f(g){return g instanceof o?new o(g.type,f(g.content),g.alias):Array.isArray(g)?g.map(f):g.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(f){return Object.prototype.toString.call(f).slice(8,-1)},objId:function(f){return f.__id||Object.defineProperty(f,"__id",{value:++t}),f.__id},clone:function f(g,v){v=v||{};var b,x;switch(a.util.type(g)){case"Object":if(x=a.util.objId(g),v[x])return v[x];b={},v[x]=b;for(var w in g)g.hasOwnProperty(w)&&(b[w]=f(g[w],v));return b;case"Array":return x=a.util.objId(g),v[x]?v[x]:(b=[],v[x]=b,g.forEach(function(E,y){b[y]=f(E,v)}),b);default:return g}},getLanguage:function(f){for(;f;){var g=e.exec(f.className);if(g)return g[1].toLowerCase();f=f.parentElement}return"none"},setLanguage:function(f,g){f.className=f.className.replace(RegExp(e,"gi"),""),f.classList.add("language-"+g)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(b){var f=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(b.stack)||[])[1];if(f){var g=document.getElementsByTagName("script");for(var v in g)if(g[v].src==f)return g[v]}return null}},isActive:function(f,g,v){for(var b="no-"+g;f;){var x=f.classList;if(x.contains(g))return!0;if(x.contains(b))return!1;f=f.parentElement}return!!v}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(f,g){var v=a.util.clone(a.languages[f]);for(var b in g)v[b]=g[b];return v},insertBefore:function(f,g,v,b){b=b||a.languages;var x=b[f],w={};for(var E in x)if(x.hasOwnProperty(E)){if(E==g)for(var y in v)v.hasOwnProperty(y)&&(w[y]=v[y]);v.hasOwnProperty(E)||(w[E]=x[E])}var A=b[f];return b[f]=w,a.languages.DFS(a.languages,function(R,j){j===A&&R!=f&&(this[R]=w)}),w},DFS:function f(g,v,b,x){x=x||{};var w=a.util.objId;for(var E in g)if(g.hasOwnProperty(E)){v.call(g,E,g[E],b||E);var y=g[E],A=a.util.type(y);A==="Object"&&!x[w(y)]?(x[w(y)]=!0,f(y,v,null,x)):A==="Array"&&!x[w(y)]&&(x[w(y)]=!0,f(y,v,E,x))}}},plugins:{},highlightAll:function(f,g){a.highlightAllUnder(document,f,g)},highlightAllUnder:function(f,g,v){var b={callback:v,container:f,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",b),b.elements=Array.prototype.slice.apply(b.container.querySelectorAll(b.selector)),a.hooks.run("before-all-elements-highlight",b);for(var x=0,w;w=b.elements[x++];)a.highlightElement(w,g===!0,b.callback)},highlightElement:function(f,g,v){var b=a.util.getLanguage(f),x=a.languages[b];a.util.setLanguage(f,b);var w=f.parentElement;w&&w.nodeName.toLowerCase()==="pre"&&a.util.setLanguage(w,b);var E=f.textContent,y={element:f,language:b,grammar:x,code:E};function A(j){y.highlightedCode=j,a.hooks.run("before-insert",y),y.element.innerHTML=y.highlightedCode,a.hooks.run("after-highlight",y),a.hooks.run("complete",y),v&&v.call(y.element)}if(a.hooks.run("before-sanity-check",y),w=y.element.parentElement,w&&w.nodeName.toLowerCase()==="pre"&&!w.hasAttribute("tabindex")&&w.setAttribute("tabindex","0"),!y.code){a.hooks.run("complete",y),v&&v.call(y.element);return}if(a.hooks.run("before-highlight",y),!y.grammar){A(a.util.encode(y.code));return}if(g&&i.Worker){var R=new Worker(a.filename);R.onmessage=function(j){A(j.data)},R.postMessage(JSON.stringify({language:y.language,code:y.code,immediateClose:!0}))}else A(a.highlight(y.code,y.grammar,y.language))},highlight:function(f,g,v){var b={code:f,grammar:g,language:v};if(a.hooks.run("before-tokenize",b),!b.grammar)throw new Error('The language "'+b.language+'" has no grammar.');return b.tokens=a.tokenize(b.code,b.grammar),a.hooks.run("after-tokenize",b),o.stringify(a.util.encode(b.tokens),b.language)},tokenize:function(f,g){var v=g.rest;if(v){for(var b in v)g[b]=v[b];delete g.rest}var x=new l;return c(x,x.head,f),s(f,x,g,x.head,0),u(x)},hooks:{all:{},add:function(f,g){var v=a.hooks.all;v[f]=v[f]||[],v[f].push(g)},run:function(f,g){var v=a.hooks.all[f];if(!(!v||!v.length))for(var b=0,x;x=v[b++];)x(g)}},Token:o};i.Prism=a;function o(f,g,v,b){this.type=f,this.content=g,this.alias=v,this.length=(b||"").length|0}o.stringify=function f(g,v){if(typeof g=="string")return g;if(Array.isArray(g)){var b="";return g.forEach(function(A){b+=f(A,v)}),b}var x={type:g.type,content:f(g.content,v),tag:"span",classes:["token",g.type],attributes:{},language:v},w=g.alias;w&&(Array.isArray(w)?Array.prototype.push.apply(x.classes,w):x.classes.push(w)),a.hooks.run("wrap",x);var E="";for(var y in x.attributes)E+=" "+y+'="'+(x.attributes[y]||"").replace(/"/g,"&quot;")+'"';return"<"+x.tag+' class="'+x.classes.join(" ")+'"'+E+">"+x.content+"</"+x.tag+">"};function r(f,g,v,b){f.lastIndex=g;var x=f.exec(v);if(x&&b&&x[1]){var w=x[1].length;x.index+=w,x[0]=x[0].slice(w)}return x}function s(f,g,v,b,x,w){for(var E in v)if(!(!v.hasOwnProperty(E)||!v[E])){var y=v[E];y=Array.isArray(y)?y:[y];for(var A=0;A<y.length;++A){if(w&&w.cause==E+","+A)return;var R=y[A],j=R.inside,F=!!R.lookbehind,O=!!R.greedy,L=R.alias;if(O&&!R.pattern.global){var U=R.pattern.toString().match(/[imsuy]*$/)[0];R.pattern=RegExp(R.pattern.source,U+"g")}for(var J=R.pattern||R,ie=b.next,te=x;ie!==g.tail&&!(w&&te>=w.reach);te+=ie.value.length,ie=ie.next){var me=ie.value;if(g.length>f.length)return;if(!(me instanceof o)){var Q=1,H;if(O){if(H=r(J,te,f,F),!H||H.index>=f.length)break;var xe=H.index,re=H.index+H[0].length,K=te;for(K+=ie.value.length;xe>=K;)ie=ie.next,K+=ie.value.length;if(K-=ie.value.length,te=K,ie.value instanceof o)continue;for(var pe=ie;pe!==g.tail&&(K<re||typeof pe.value=="string");pe=pe.next)Q++,K+=pe.value.length;Q--,me=f.slice(te,K),H.index-=te}else if(H=r(J,0,me,F),!H)continue;var xe=H.index,le=H[0],Be=me.slice(0,xe),X=me.slice(xe+le.length),ne=te+me.length;w&&ne>w.reach&&(w.reach=ne);var Me=ie.prev;Be&&(Me=c(g,Me,Be),te+=Be.length),d(g,Me,Q);var Ue=new o(E,j?a.tokenize(le,j):le,L,le);if(ie=c(g,Me,Ue),X&&c(g,ie,X),Q>1){var et={cause:E+","+A,reach:ne};s(f,g,v,ie.prev,te,et),w&&et.reach>w.reach&&(w.reach=et.reach)}}}}}}function l(){var f={value:null,prev:null,next:null},g={value:null,prev:f,next:null};f.next=g,this.head=f,this.tail=g,this.length=0}function c(f,g,v){var b=g.next,x={value:v,prev:g,next:b};return g.next=x,b.prev=x,f.length++,x}function d(f,g,v){for(var b=g.next,x=0;x<v&&b!==f.tail;x++)b=b.next;g.next=b,b.prev=g,f.length-=x}function u(f){for(var g=[],v=f.head.next;v!==f.tail;)g.push(v.value),v=v.next;return g}if(!i.document)return i.addEventListener&&(a.disableWorkerMessageHandler||i.addEventListener("message",function(f){var g=JSON.parse(f.data),v=g.language,b=g.code,x=g.immediateClose;i.postMessage(a.highlight(b,a.languages[v],v)),x&&i.close()},!1)),a;var p=a.util.currentScript();p&&(a.filename=p.src,p.hasAttribute("data-manual")&&(a.manual=!0));function m(){a.manual||a.highlightAll()}if(!a.manual){var _=document.readyState;_==="loading"||_==="interactive"&&p&&p.defer?document.addEventListener("DOMContentLoaded",m):window.requestAnimationFrame?window.requestAnimationFrame(m):window.setTimeout(m,16)}return a}(WJ);typeof O0<"u"&&O0.exports&&(O0.exports=Mi);typeof global<"u"&&(global.Prism=Mi);Mi.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Mi.languages.markup.tag.inside["attr-value"].inside.entity=Mi.languages.markup.entity;Mi.languages.markup.doctype.inside["internal-subset"].inside=Mi.languages.markup;Mi.hooks.add("wrap",function(i){i.type==="entity"&&(i.attributes.title=i.content.replace(/&amp;/,"&"))});Object.defineProperty(Mi.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Mi.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:Mi.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},Mi.languages.insertBefore("markup","cdata",o)}});Object.defineProperty(Mi.languages.markup.tag,"addAttribute",{value:function(i,e){Mi.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+i+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Mi.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Mi.languages.html=Mi.languages.markup;Mi.languages.mathml=Mi.languages.markup;Mi.languages.svg=Mi.languages.markup;Mi.languages.xml=Mi.languages.extend("markup",{});Mi.languages.ssml=Mi.languages.xml;Mi.languages.atom=Mi.languages.xml;Mi.languages.rss=Mi.languages.xml;(function(i){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;i.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+e.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},i.languages.css.atrule.inside.rest=i.languages.css;var t=i.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))})(Mi);Mi.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Mi.languages.javascript=Mi.languages.extend("clike",{"class-name":[Mi.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Mi.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Mi.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Mi.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Mi.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Mi.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Mi.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Mi.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Mi.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Mi.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Mi.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Mi.languages.markup&&(Mi.languages.markup.tag.addInlined("script","javascript"),Mi.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Mi.languages.js=Mi.languages.javascript;(function(){if(typeof Mi>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var i="Loading\u2026",e=function(p,m){return"\u2716 Error "+p+" while fetching file: "+m},t="\u2716 Error: File does not exist or is empty",n={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},a="data-src-status",o="loading",r="loaded",s="failed",l="pre[data-src]:not(["+a+'="'+r+'"]):not(['+a+'="'+o+'"])';function c(p,m,_){var f=new XMLHttpRequest;f.open("GET",p,!0),f.onreadystatechange=function(){f.readyState==4&&(f.status<400&&f.responseText?m(f.responseText):f.status>=400?_(e(f.status,f.statusText)):_(t))},f.send(null)}function d(p){var m=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(p||"");if(m){var _=Number(m[1]),f=m[2],g=m[3];return f?g?[_,Number(g)]:[_,void 0]:[_,_]}}Mi.hooks.add("before-highlightall",function(p){p.selector+=", "+l}),Mi.hooks.add("before-sanity-check",function(p){var m=p.element;if(m.matches(l)){p.code="",m.setAttribute(a,o);var _=m.appendChild(document.createElement("CODE"));_.textContent=i;var f=m.getAttribute("data-src"),g=p.language;if(g==="none"){var v=(/\.(\w+)$/.exec(f)||[,"none"])[1];g=n[v]||v}Mi.util.setLanguage(_,g),Mi.util.setLanguage(m,g);var b=Mi.plugins.autoloader;b&&b.loadLanguages(g),c(f,function(x){m.setAttribute(a,r);var w=d(m.getAttribute("data-range"));if(w){var E=x.split(/\r\n?|\n/g),y=w[0],A=w[1]==null?E.length:w[1];y<0&&(y+=E.length),y=Math.max(0,Math.min(y-1,E.length)),A<0&&(A+=E.length),A=Math.max(0,Math.min(A,E.length)),x=E.slice(y,A).join(`
`),m.hasAttribute("data-start")||m.setAttribute("data-start",String(y+1))}_.textContent=x,Mi.highlightElement(_)},function(x){m.setAttribute(a,s),_.textContent=x})}}),Mi.plugins.fileHighlight={highlight:function(m){for(var _=(m||document).querySelectorAll(l),f=0,g;g=_[f++];)Mi.highlightElement(g)}};var u=!1;Mi.fileHighlight=function(){u||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),u=!0),Mi.plugins.fileHighlight.highlight.apply(this,arguments)}})()});var lO={};cu(lO,{MultiDrag:()=>SZ,Sortable:()=>Xi,Swap:()=>kZ,default:()=>JT});function FU(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(i,a).enumerable})),t.push.apply(t,n)}return t}function Uc(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?FU(Object(t),!0).forEach(function(n){KJ(i,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):FU(Object(t)).forEach(function(n){Object.defineProperty(i,n,Object.getOwnPropertyDescriptor(t,n))})}return i}function K0(i){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?K0=function(e){return typeof e}:K0=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K0(i)}function KJ(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Sl(){return Sl=Object.assign||function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=t[n])}return i},Sl.apply(this,arguments)}function $J(i,e){if(i==null)return{};var t={},n=Object.keys(i),a,o;for(o=0;o<n.length;o++)a=n[o],!(e.indexOf(a)>=0)&&(t[a]=i[a]);return t}function YJ(i,e){if(i==null)return{};var t=$J(i,e),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(i);for(a=0;a<o.length;a++)n=o[a],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(i,n)&&(t[n]=i[n])}return t}function XJ(i){return JJ(i)||ZJ(i)||QJ(i)||eZ()}function JJ(i){if(Array.isArray(i))return LT(i)}function ZJ(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function QJ(i,e){if(i){if(typeof i=="string")return LT(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(i);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return LT(i,e)}}function LT(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=i[t];return n}function eZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ud(i){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(i)}function wn(i,e,t){i.addEventListener(e,t,!Od&&XU)}function vn(i,e,t){i.removeEventListener(e,t,!Od&&XU)}function Z0(i,e){if(e){if(e[0]===">"&&(e=e.substring(1)),i)try{if(i.matches)return i.matches(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e)}catch{return!1}return!1}}function JU(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function ks(i,e,t,n){if(i){t=t||document;do{if(e!=null&&(e[0]===">"?i.parentNode===t&&Z0(i,e):Z0(i,e))||n&&i===t)return i;if(i===t)break}while(i=JU(i))}return null}function so(i,e,t){if(i&&e)if(i.classList)i.classList[t?"add":"remove"](e);else{var n=(" "+i.className+" ").replace(OU," ").replace(" "+e+" "," ");i.className=(n+(t?" "+e:"")).replace(OU," ")}}function ki(i,e,t){var n=i&&i.style;if(n){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(t=i.currentStyle),e===void 0?t:t[e];!(e in n)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),n[e]=t+(typeof t=="string"?"":"px")}}function Em(i,e){var t="";if(typeof i=="string")t=i;else do{var n=ki(i,"transform");n&&n!=="none"&&(t=n+" "+t)}while(!e&&(i=i.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return a&&new a(t)}function ZU(i,e,t){if(i){var n=i.getElementsByTagName(e),a=0,o=n.length;if(t)for(;a<o;a++)t(n[a],a);return n}return[]}function Fc(){var i=document.scrollingElement;return i||document.documentElement}function Fa(i,e,t,n,a){if(!(!i.getBoundingClientRect&&i!==window)){var o,r,s,l,c,d,u;if(i!==window&&i.parentNode&&i!==Fc()?(o=i.getBoundingClientRect(),r=o.top,s=o.left,l=o.bottom,c=o.right,d=o.height,u=o.width):(r=0,s=0,l=window.innerHeight,c=window.innerWidth,d=window.innerHeight,u=window.innerWidth),(e||t)&&i!==window&&(a=a||i.parentNode,!Od))do if(a&&a.getBoundingClientRect&&(ki(a,"transform")!=="none"||t&&ki(a,"position")!=="static")){var p=a.getBoundingClientRect();r-=p.top+parseInt(ki(a,"border-top-width")),s-=p.left+parseInt(ki(a,"border-left-width")),l=r+o.height,c=s+o.width;break}while(a=a.parentNode);if(n&&i!==window){var m=Em(a||i),_=m&&m.a,f=m&&m.d;m&&(r/=f,s/=_,u/=_,d/=f,l=r+d,c=s+u)}return{top:r,left:s,bottom:l,right:c,width:u,height:d}}}function LU(i,e,t){for(var n=$u(i,!0),a=Fa(i)[e];n;){var o=Fa(n)[t],r=void 0;if(t==="top"||t==="left"?r=a>=o:r=a<=o,!r)return n;if(n===Fc())break;n=$u(n,!1)}return!1}function Wh(i,e,t,n){for(var a=0,o=0,r=i.children;o<r.length;){if(r[o].style.display!=="none"&&r[o]!==Xi.ghost&&(n||r[o]!==Xi.dragged)&&ks(r[o],t.draggable,i,!1)){if(a===e)return r[o];a++}o++}return null}function KT(i,e){for(var t=i.lastElementChild;t&&(t===Xi.ghost||ki(t,"display")==="none"||e&&!Z0(t,e));)t=t.previousElementSibling;return t||null}function go(i,e){var t=0;if(!i||!i.parentNode)return-1;for(;i=i.previousElementSibling;)i.nodeName.toUpperCase()!=="TEMPLATE"&&i!==Xi.clone&&(!e||Z0(i,e))&&t++;return t}function NU(i){var e=0,t=0,n=Fc();if(i)do{var a=Em(i),o=a.a,r=a.d;e+=i.scrollLeft*o,t+=i.scrollTop*r}while(i!==n&&(i=i.parentNode));return[e,t]}function iZ(i,e){for(var t in i)if(i.hasOwnProperty(t)){for(var n in e)if(e.hasOwnProperty(n)&&e[n]===i[t][n])return Number(t)}return-1}function $u(i,e){if(!i||!i.getBoundingClientRect)return Fc();var t=i,n=!1;do if(t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight){var a=ki(t);if(t.clientWidth<t.scrollWidth&&(a.overflowX=="auto"||a.overflowX=="scroll")||t.clientHeight<t.scrollHeight&&(a.overflowY=="auto"||a.overflowY=="scroll")){if(!t.getBoundingClientRect||t===document.body)return Fc();if(n||e)return t;n=!0}}while(t=t.parentNode);return Fc()}function nZ(i,e){if(i&&e)for(var t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return i}function PT(i,e){return Math.round(i.top)===Math.round(e.top)&&Math.round(i.left)===Math.round(e.left)&&Math.round(i.height)===Math.round(e.height)&&Math.round(i.width)===Math.round(e.width)}function QU(i,e){return function(){if(!hb){var t=arguments,n=this;t.length===1?i.call(n,t[0]):i.apply(n,t),hb=setTimeout(function(){hb=void 0},e)}}}function aZ(){clearTimeout(hb),hb=void 0}function eO(i,e,t){i.scrollLeft+=e,i.scrollTop+=t}function $T(i){var e=window.Polymer,t=window.jQuery||window.Zepto;return e&&e.dom?e.dom(i).cloneNode(!0):t?t(i).clone(!0)[0]:i.cloneNode(!0)}function HU(i,e){ki(i,"position","absolute"),ki(i,"top",e.top),ki(i,"left",e.left),ki(i,"width",e.width),ki(i,"height",e.height)}function BT(i){ki(i,"position",""),ki(i,"top",""),ki(i,"left",""),ki(i,"width",""),ki(i,"height","")}function tO(i,e,t){var n={};return Array.from(i.children).forEach(function(a){var o,r,s,l;if(!(!ks(a,e.draggable,i,!1)||a.animated||a===t)){var c=Fa(a);n.left=Math.min((o=n.left)!==null&&o!==void 0?o:1/0,c.left),n.top=Math.min((r=n.top)!==null&&r!==void 0?r:1/0,c.top),n.right=Math.max((s=n.right)!==null&&s!==void 0?s:-1/0,c.right),n.bottom=Math.max((l=n.bottom)!==null&&l!==void 0?l:-1/0,c.bottom)}}),n.width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function oZ(){var i=[],e;return{captureAnimationState:function(){if(i=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(a){if(!(ki(a,"display")==="none"||a===Xi.ghost)){i.push({target:a,rect:Fa(a)});var o=Uc({},i[i.length-1].rect);if(a.thisAnimationDuration){var r=Em(a,!0);r&&(o.top-=r.f,o.left-=r.e)}a.fromRect=o}})}},addAnimationState:function(n){i.push(n)},removeAnimationState:function(n){i.splice(iZ(i,{target:n}),1)},animateAll:function(n){var a=this;if(!this.options.animation){clearTimeout(e),typeof n=="function"&&n();return}var o=!1,r=0;i.forEach(function(s){var l=0,c=s.target,d=c.fromRect,u=Fa(c),p=c.prevFromRect,m=c.prevToRect,_=s.rect,f=Em(c,!0);f&&(u.top-=f.f,u.left-=f.e),c.toRect=u,c.thisAnimationDuration&&PT(p,u)&&!PT(d,u)&&(_.top-u.top)/(_.left-u.left)===(d.top-u.top)/(d.left-u.left)&&(l=sZ(_,p,m,a.options)),PT(u,d)||(c.prevFromRect=d,c.prevToRect=u,l||(l=a.options.animation),a.animate(c,_,u,l)),l&&(o=!0,r=Math.max(r,l),clearTimeout(c.animationResetTimer),c.animationResetTimer=setTimeout(function(){c.animationTime=0,c.prevFromRect=null,c.fromRect=null,c.prevToRect=null,c.thisAnimationDuration=null},l),c.thisAnimationDuration=l)}),clearTimeout(e),o?e=setTimeout(function(){typeof n=="function"&&n()},r):typeof n=="function"&&n(),i=[]},animate:function(n,a,o,r){if(r){ki(n,"transition",""),ki(n,"transform","");var s=Em(this.el),l=s&&s.a,c=s&&s.d,d=(a.left-o.left)/(l||1),u=(a.top-o.top)/(c||1);n.animatingX=!!d,n.animatingY=!!u,ki(n,"transform","translate3d("+d+"px,"+u+"px,0)"),this.forRepaintDummy=rZ(n),ki(n,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),ki(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){ki(n,"transition",""),ki(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},r)}}}}function rZ(i){return i.offsetWidth}function sZ(i,e,t,n){return Math.sqrt(Math.pow(e.top-i.top,2)+Math.pow(e.left-i.left,2))/Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))*n.animation}function db(i){var e=i.sortable,t=i.rootEl,n=i.name,a=i.targetEl,o=i.cloneEl,r=i.toEl,s=i.fromEl,l=i.oldIndex,c=i.newIndex,d=i.oldDraggableIndex,u=i.newDraggableIndex,p=i.originalEvent,m=i.putSortable,_=i.extraEventProperties;if(e=e||t&&t[Cr],!!e){var f,g=e.options,v="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!Od&&!bb?f=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(f=document.createEvent("Event"),f.initEvent(n,!0,!0)),f.to=r||t,f.from=s||t,f.item=a||t,f.clone=o,f.oldIndex=l,f.newIndex=c,f.oldDraggableIndex=d,f.newDraggableIndex=u,f.originalEvent=p,f.pullMode=m?m.lastPutMode:void 0;var b=Uc(Uc({},_),yb.getEventProperties(n,e));for(var x in b)f[x]=b[x];t&&t.dispatchEvent(f),g[v]&&g[v].call(e,f)}}function os(i){db(Uc({putSortable:Ar,cloneEl:ro,targetEl:Lt,rootEl:Ka,oldIndex:qh,oldDraggableIndex:fb,newIndex:Xs,newDraggableIndex:Wu},i))}function Xi(i,e){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=e=Sl({},e),i[Cr]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return nO(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,s){r.setData("Text",s.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Xi.supportPointer!==!1&&"PointerEvent"in window&&(!_b||WT),emptyInsertThreshold:5};yb.initializePlugins(this,i,t);for(var n in t)!(n in e)&&(e[n]=t[n]);aO(e);for(var a in this)a.charAt(0)==="_"&&typeof this[a]=="function"&&(this[a]=this[a].bind(this));this.nativeDraggable=e.forceFallback?!1:cZ,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?wn(i,"pointerdown",this._onTapStart):(wn(i,"mousedown",this._onTapStart),wn(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(wn(i,"dragover",this),wn(i,"dragenter",this)),ew.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Sl(this,oZ())}function mZ(i){i.dataTransfer&&(i.dataTransfer.dropEffect="move"),i.cancelable&&i.preventDefault()}function G0(i,e,t,n,a,o,r,s){var l,c=i[Cr],d=c.options.onMove,u;return window.CustomEvent&&!Od&&!bb?l=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(l=document.createEvent("Event"),l.initEvent("move",!0,!0)),l.to=e,l.from=i,l.dragged=t,l.draggedRect=n,l.related=a||e,l.relatedRect=o||Fa(e),l.willInsertAfter=s,l.originalEvent=r,i.dispatchEvent(l),d&&(u=d.call(c,l,r)),u}function VT(i){i.draggable=!1}function _Z(){NT=!1}function hZ(i,e,t){var n=Fa(Wh(t.el,0,t.options,!0)),a=tO(t.el,t.options,on),o=10;return e?i.clientX<a.left-o||i.clientY<n.top&&i.clientX<n.right:i.clientY<a.top-o||i.clientY<n.bottom&&i.clientX<n.left}function fZ(i,e,t){var n=Fa(KT(t.el,t.options.draggable)),a=tO(t.el,t.options,on),o=10;return e?i.clientX>a.right+o||i.clientY>n.bottom&&i.clientX>n.left:i.clientY>a.bottom+o||i.clientX>n.right&&i.clientY>n.top}function gZ(i,e,t,n,a,o,r,s){var l=n?i.clientY:i.clientX,c=n?t.height:t.width,d=n?t.top:t.left,u=n?t.bottom:t.right,p=!1;if(!r){if(s&&Y0<c*a){if(!vb&&(gb===1?l>d+c*o/2:l<u-c*o/2)&&(vb=!0),vb)p=!0;else if(gb===1?l<d+Y0:l>u-Y0)return-gb}else if(l>d+c*(1-a)/2&&l<u-c*(1-a)/2)return vZ(e)}return p=p||r,p&&(l<d+c*o/2||l>u-c*o/2)?l>d+c/2?1:-1:0}function vZ(i){return go(Lt)<go(i)?1:-1}function bZ(i){for(var e=i.tagName+i.className+i.src+i.href+i.textContent,t=e.length,n=0;t--;)n+=e.charCodeAt(t);return n.toString(36)}function yZ(i){tw.length=0;for(var e=i.getElementsByTagName("input"),t=e.length;t--;){var n=e[t];n.checked&&tw.push(n)}}function X0(i){return setTimeout(i,0)}function HT(i){return clearTimeout(i)}function xZ(){function i(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return i.prototype={dragStarted:function(t){var n=t.originalEvent;this.sortable.nativeDraggable?wn(document,"dragover",this._handleAutoScroll):this.options.supportPointer?wn(document,"pointermove",this._handleFallbackAutoScroll):n.touches?wn(document,"touchmove",this._handleFallbackAutoScroll):wn(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var n=t.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?vn(document,"dragover",this._handleAutoScroll):(vn(document,"pointermove",this._handleFallbackAutoScroll),vn(document,"touchmove",this._handleFallbackAutoScroll),vn(document,"mousemove",this._handleFallbackAutoScroll)),KU(),J0(),aZ()},nulling:function(){iw=GT=pb=qT=mb=FT=UT=null,qo.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,n){var a=this,o=(t.touches?t.touches[0]:t).clientX,r=(t.touches?t.touches[0]:t).clientY,s=document.elementFromPoint(o,r);if(iw=t,n||this.options.forceAutoScrollFallback||bb||Od||_b){OT(t,this.options,s,n);var l=$u(s,!0);qT&&(!mb||o!==FT||r!==UT)&&(mb&&KU(),mb=setInterval(function(){var c=$u(document.elementFromPoint(o,r),!0);c!==l&&(l=c,J0()),OT(t,a.options,c,n)},10),FT=o,UT=r)}else{if(!this.options.bubbleScroll||$u(s,!0)===Fc()){J0();return}OT(t,this.options,$u(s,!1),!1)}}},Sl(i,{pluginName:"scroll",initializeByDefault:!0})}function J0(){qo.forEach(function(i){clearInterval(i.pid)}),qo=[]}function KU(){clearInterval(mb)}function YT(){}function XT(){}function kZ(){function i(){this.defaults={swapClass:"sortable-swap-highlight"}}return i.prototype={dragStart:function(t){var n=t.dragEl;wl=n},dragOverValid:function(t){var n=t.completed,a=t.target,o=t.onMove,r=t.activeSortable,s=t.changed,l=t.cancel;if(r.options.swap){var c=this.sortable.el,d=this.options;if(a&&a!==c){var u=wl;o(a)!==!1?(so(a,d.swapClass,!0),wl=a):wl=null,u&&u!==wl&&so(u,d.swapClass,!1)}s(),n(!0),l()}},drop:function(t){var n=t.activeSortable,a=t.putSortable,o=t.dragEl,r=a||this.sortable,s=this.options;wl&&so(wl,s.swapClass,!1),wl&&(s.swap||a&&a.options.swap)&&o!==wl&&(r.captureAnimationState(),r!==n&&n.captureAnimationState(),wZ(o,wl),r.animateAll(),r!==n&&n.animateAll())},nulling:function(){wl=null}},Sl(i,{pluginName:"swap",eventProperties:function(){return{swapItem:wl}}})}function wZ(i,e){var t=i.parentNode,n=e.parentNode,a,o;!t||!n||t.isEqualNode(e)||n.isEqualNode(i)||(a=go(i),o=go(e),t.isEqualNode(n)&&a<o&&o++,t.insertBefore(e,t.children[a]),n.insertBefore(i,n.children[o]))}function SZ(){function i(e){for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this));e.options.avoidImplicitDeselect||(e.options.supportPointer?wn(document,"pointerup",this._deselectMultiDrag):(wn(document,"mouseup",this._deselectMultiDrag),wn(document,"touchend",this._deselectMultiDrag))),wn(document,"keydown",this._checkKeyDown),wn(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(a,o){var r="";an.length&&Ql===e?an.forEach(function(s,l){r+=(l?", ":"")+s.textContent}):r=o.textContent,a.setData("Text",r)}}}return i.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(t){var n=t.dragEl;Pa=n},delayEnded:function(){this.isMultiDrag=~an.indexOf(Pa)},setupClone:function(t){var n=t.sortable,a=t.cancel;if(this.isMultiDrag){for(var o=0;o<an.length;o++)Ys.push($T(an[o])),Ys[o].sortableIndex=an[o].sortableIndex,Ys[o].draggable=!1,Ys[o].style["will-change"]="",so(Ys[o],this.options.selectedClass,!1),an[o]===Pa&&so(Ys[o],this.options.chosenClass,!1);n._hideClone(),a()}},clone:function(t){var n=t.sortable,a=t.rootEl,o=t.dispatchSortableEvent,r=t.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||an.length&&Ql===n&&($U(!0,a),o("clone"),r()))},showClone:function(t){var n=t.cloneNowShown,a=t.rootEl,o=t.cancel;this.isMultiDrag&&($U(!1,a),Ys.forEach(function(r){ki(r,"display","")}),n(),q0=!1,o())},hideClone:function(t){var n=this,a=t.sortable,o=t.cloneNowHidden,r=t.cancel;this.isMultiDrag&&(Ys.forEach(function(s){ki(s,"display","none"),n.options.removeCloneOnHide&&s.parentNode&&s.parentNode.removeChild(s)}),o(),q0=!0,r())},dragStartGlobal:function(t){var n=t.sortable;!this.isMultiDrag&&Ql&&Ql.multiDrag._deselectMultiDrag(),an.forEach(function(a){a.sortableIndex=go(a)}),an=an.sort(function(a,o){return a.sortableIndex-o.sortableIndex}),Hh=!0},dragStarted:function(t){var n=this,a=t.sortable;if(this.isMultiDrag){if(this.options.sort&&(a.captureAnimationState(),this.options.animation)){an.forEach(function(r){r!==Pa&&ki(r,"position","absolute")});var o=Fa(Pa,!1,!0,!0);an.forEach(function(r){r!==Pa&&HU(r,o)}),xs=!0,lb=!0}a.animateAll(function(){xs=!1,lb=!1,n.options.animation&&an.forEach(function(r){BT(r)}),n.options.sort&&W0()})}},dragOver:function(t){var n=t.target,a=t.completed,o=t.cancel;xs&&~an.indexOf(n)&&(a(!1),o())},revert:function(t){var n=t.fromSortable,a=t.rootEl,o=t.sortable,r=t.dragRect;an.length>1&&(an.forEach(function(s){o.addAnimationState({target:s,rect:xs?Fa(s):r}),BT(s),s.fromRect=r,n.removeAnimationState(s)}),xs=!1,zZ(!this.options.removeCloneOnHide,a))},dragOverCompleted:function(t){var n=t.sortable,a=t.isOwner,o=t.insertion,r=t.activeSortable,s=t.parentEl,l=t.putSortable,c=this.options;if(o){if(a&&r._hideClone(),lb=!1,c.animation&&an.length>1&&(xs||!a&&!r.options.sort&&!l)){var d=Fa(Pa,!1,!0,!0);an.forEach(function(p){p!==Pa&&(HU(p,d),s.appendChild(p))}),xs=!0}if(!a)if(xs||W0(),an.length>1){var u=q0;r._showClone(n),r.options.animation&&!q0&&u&&Ys.forEach(function(p){r.addAnimationState({target:p,rect:cb}),p.fromRect=cb,p.thisAnimationDuration=null})}else r._showClone(n)}},dragOverAnimationCapture:function(t){var n=t.dragRect,a=t.isOwner,o=t.activeSortable;if(an.forEach(function(s){s.thisAnimationDuration=null}),o.options.animation&&!a&&o.multiDrag.isMultiDrag){cb=Sl({},n);var r=Em(Pa,!0);cb.top-=r.f,cb.left-=r.e}},dragOverAnimationComplete:function(){xs&&(xs=!1,W0())},drop:function(t){var n=t.originalEvent,a=t.rootEl,o=t.parentEl,r=t.sortable,s=t.dispatchSortableEvent,l=t.oldIndex,c=t.putSortable,d=c||this.sortable;if(n){var u=this.options,p=o.children;if(!Hh)if(u.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),so(Pa,u.selectedClass,!~an.indexOf(Pa)),~an.indexOf(Pa))an.splice(an.indexOf(Pa),1),sb=null,db({sortable:r,rootEl:a,name:"deselect",targetEl:Pa,originalEvent:n});else{if(an.push(Pa),db({sortable:r,rootEl:a,name:"select",targetEl:Pa,originalEvent:n}),n.shiftKey&&sb&&r.el.contains(sb)){var m=go(sb),_=go(Pa);~m&&~_&&m!==_&&function(){var b,x;_>m?(x=m,b=_):(x=_,b=m+1);for(var w=u.filter;x<b;x++)if(!~an.indexOf(p[x])&&ks(p[x],u.draggable,o,!1)){var E=w&&(typeof w=="function"?w.call(r,n,p[x],r):w.split(",").some(function(y){return ks(p[x],y.trim(),o,!1)}));E||(so(p[x],u.selectedClass,!0),an.push(p[x]),db({sortable:r,rootEl:a,name:"select",targetEl:p[x],originalEvent:n}))}}()}else sb=Pa;Ql=d}if(Hh&&this.isMultiDrag){if(xs=!1,(o[Cr].options.sort||o!==a)&&an.length>1){var f=Fa(Pa),g=go(Pa,":not(."+this.options.selectedClass+")");if(!lb&&u.animation&&(Pa.thisAnimationDuration=null),d.captureAnimationState(),!lb&&(u.animation&&(Pa.fromRect=f,an.forEach(function(b){if(b.thisAnimationDuration=null,b!==Pa){var x=xs?Fa(b):f;b.fromRect=x,d.addAnimationState({target:b,rect:x})}})),W0(),an.forEach(function(b){p[g]?o.insertBefore(b,p[g]):o.appendChild(b),g++}),l===go(Pa))){var v=!1;an.forEach(function(b){if(b.sortableIndex!==go(b)){v=!0;return}}),v&&(s("update"),s("sort"))}an.forEach(function(b){BT(b)}),d.animateAll()}Ql=d}(a===o||c&&c.lastPutMode!=="clone")&&Ys.forEach(function(b){b.parentNode&&b.parentNode.removeChild(b)})}},nullingGlobal:function(){this.isMultiDrag=Hh=!1,Ys.length=0},destroyGlobal:function(){this._deselectMultiDrag(),vn(document,"pointerup",this._deselectMultiDrag),vn(document,"mouseup",this._deselectMultiDrag),vn(document,"touchend",this._deselectMultiDrag),vn(document,"keydown",this._checkKeyDown),vn(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(typeof Hh<"u"&&Hh)&&Ql===this.sortable&&!(t&&ks(t.target,this.options.draggable,this.sortable.el,!1))&&!(t&&t.button!==0))for(;an.length;){var n=an[0];so(n,this.options.selectedClass,!1),an.shift(),db({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvent:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Sl(i,{pluginName:"multiDrag",utils:{select:function(t){var n=t.parentNode[Cr];!n||!n.options.multiDrag||~an.indexOf(t)||(Ql&&Ql!==n&&(Ql.multiDrag._deselectMultiDrag(),Ql=n),so(t,n.options.selectedClass,!0),an.push(t))},deselect:function(t){var n=t.parentNode[Cr],a=an.indexOf(t);!n||!n.options.multiDrag||!~a||(so(t,n.options.selectedClass,!1),an.splice(a,1))}},eventProperties:function(){var t=this,n=[],a=[];return an.forEach(function(o){n.push({multiDragElement:o,index:o.sortableIndex});var r;xs&&o!==Pa?r=-1:xs?r=go(o,":not(."+t.options.selectedClass+")"):r=go(o),a.push({multiDragElement:o,index:r})}),{items:XJ(an),clones:[].concat(Ys),oldIndicies:n,newIndicies:a}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),t==="ctrl"?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function zZ(i,e){an.forEach(function(t,n){var a=e.children[t.sortableIndex+(i?Number(n):0)];a?e.insertBefore(t,a):e.appendChild(t)})}function $U(i,e){Ys.forEach(function(t,n){var a=e.children[t.sortableIndex+(i?Number(n):0)];a?e.insertBefore(t,a):e.appendChild(t)})}function W0(){an.forEach(function(i){i!==Pa&&i.parentNode&&i.parentNode.removeChild(i)})}var tZ,Od,bb,UU,_b,WT,YU,XU,OU,hb,Cr,Lh,RT,yb,lZ,ys,Lt,fo,on,Ka,zm,$0,ro,Ku,qh,Xs,fb,Wu,L0,Ar,Gh,Q0,ew,wm,Zl,jT,IT,GU,qU,ub,Nh,gb,vb,N0,Y0,qr,DT,NT,tw,nw,H0,WU,cZ,iO,nO,dZ,uZ,aO,oO,rO,Sm,pZ,qo,pb,GT,qT,FT,UT,iw,mb,OT,sO,wl,an,Ys,sb,Ql,lb,xs,Hh,Pa,cb,q0,JT,ZT=L6(()=>{tZ="1.15.6";Od=Ud(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),bb=Ud(/Edge/i),UU=Ud(/firefox/i),_b=Ud(/safari/i)&&!Ud(/chrome/i)&&!Ud(/android/i),WT=Ud(/iP(ad|od|hone)/i),YU=Ud(/chrome/i)&&Ud(/android/i),XU={capture:!1,passive:!1};OU=/\s+/g;Cr="Sortable"+new Date().getTime();Lh=[],RT={initializeByDefault:!0},yb={mount:function(e){for(var t in RT)RT.hasOwnProperty(t)&&!(t in e)&&(e[t]=RT[t]);Lh.forEach(function(n){if(n.pluginName===e.pluginName)throw"Sortable: Cannot mount plugin ".concat(e.pluginName," more than once")}),Lh.push(e)},pluginEvent:function(e,t,n){var a=this;this.eventCanceled=!1,n.cancel=function(){a.eventCanceled=!0};var o=e+"Global";Lh.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][o]&&t[r.pluginName][o](Uc({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](Uc({sortable:t},n)))})},initializePlugins:function(e,t,n,a){Lh.forEach(function(s){var l=s.pluginName;if(!(!e.options[l]&&!s.initializeByDefault)){var c=new s(e,t,e.options);c.sortable=e,c.options=e.options,e[l]=c,Sl(n,c.defaults)}});for(var o in e.options)if(e.options.hasOwnProperty(o)){var r=this.modifyOption(e,o,e.options[o]);typeof r<"u"&&(e.options[o]=r)}},getEventProperties:function(e,t){var n={};return Lh.forEach(function(a){typeof a.eventProperties=="function"&&Sl(n,a.eventProperties.call(t[a.pluginName],e))}),n},modifyOption:function(e,t,n){var a;return Lh.forEach(function(o){e[o.pluginName]&&o.optionListeners&&typeof o.optionListeners[t]=="function"&&(a=o.optionListeners[t].call(e[o.pluginName],n))}),a}};lZ=["evt"],ys=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=n.evt,o=YJ(n,lZ);yb.pluginEvent.bind(Xi)(e,t,Uc({dragEl:Lt,parentEl:fo,ghostEl:on,rootEl:Ka,nextEl:zm,lastDownEl:$0,cloneEl:ro,cloneHidden:Ku,dragStarted:ub,putSortable:Ar,activeSortable:Xi.active,originalEvent:a,oldIndex:qh,oldDraggableIndex:fb,newIndex:Xs,newDraggableIndex:Wu,hideGhostForTarget:oO,unhideGhostForTarget:rO,cloneNowHidden:function(){Ku=!0},cloneNowShown:function(){Ku=!1},dispatchSortableEvent:function(s){os({sortable:t,name:s,originalEvent:a})}},o))};Gh=!1,Q0=!1,ew=[],vb=!1,N0=!1,DT=[],NT=!1,tw=[],nw=typeof document<"u",H0=WT,WU=bb||Od?"cssFloat":"float",cZ=nw&&!YU&&!WT&&"draggable"in document.createElement("div"),iO=function(){if(nw){if(Od)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),nO=function(e,t){var n=ki(e),a=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Wh(e,0,t),r=Wh(e,1,t),s=o&&ki(o),l=r&&ki(r),c=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Fa(o).width,d=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Fa(r).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&s.float&&s.float!=="none"){var u=s.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===u)?"vertical":"horizontal"}return o&&(s.display==="block"||s.display==="flex"||s.display==="table"||s.display==="grid"||c>=a&&n[WU]==="none"||r&&n[WU]==="none"&&c+d>a)?"vertical":"horizontal"},dZ=function(e,t,n){var a=n?e.left:e.top,o=n?e.right:e.bottom,r=n?e.width:e.height,s=n?t.left:t.top,l=n?t.right:t.bottom,c=n?t.width:t.height;return a===s||o===l||a+r/2===s+c/2},uZ=function(e,t){var n;return ew.some(function(a){var o=a[Cr].options.emptyInsertThreshold;if(!(!o||KT(a))){var r=Fa(a),s=e>=r.left-o&&e<=r.right+o,l=t>=r.top-o&&t<=r.bottom+o;if(s&&l)return n=a}}),n},aO=function(e){function t(o,r){return function(s,l,c,d){var u=s.options.group.name&&l.options.group.name&&s.options.group.name===l.options.group.name;if(o==null&&(r||u))return!0;if(o==null||o===!1)return!1;if(r&&o==="clone")return o;if(typeof o=="function")return t(o(s,l,c,d),r)(s,l,c,d);var p=(r?s:l).options.group.name;return o===!0||typeof o=="string"&&o===p||o.join&&o.indexOf(p)>-1}}var n={},a=e.group;(!a||K0(a)!="object")&&(a={name:a}),n.name=a.name,n.checkPull=t(a.pull,!0),n.checkPut=t(a.put),n.revertClone=a.revertClone,e.group=n},oO=function(){!iO&&on&&ki(on,"display","none")},rO=function(){!iO&&on&&ki(on,"display","")};nw&&!YU&&document.addEventListener("click",function(i){if(Q0)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),Q0=!1,!1},!0);Sm=function(e){if(Lt){e=e.touches?e.touches[0]:e;var t=uZ(e.clientX,e.clientY);if(t){var n={};for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[Cr]._onDragOver(n)}}},pZ=function(e){Lt&&Lt.parentNode[Cr]._isOutsideThisEl(e.target)};Xi.prototype={constructor:Xi,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Nh=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,Lt):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,a=this.options,o=a.preventOnFilter,r=e.type,s=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,l=(s||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,d=a.filter;if(yZ(n),!Lt&&!(/mousedown|pointerdown/.test(r)&&e.button!==0||a.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&_b&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=ks(l,a.draggable,n,!1),!(l&&l.animated)&&$0!==l)){if(qh=go(l),fb=go(l,a.draggable),typeof d=="function"){if(d.call(this,e,l,this)){os({sortable:t,rootEl:c,name:"filter",targetEl:l,toEl:n,fromEl:n}),ys("filter",t,{evt:e}),o&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(u){if(u=ks(c,u.trim(),n,!1),u)return os({sortable:t,rootEl:u,name:"filter",targetEl:l,fromEl:n,toEl:n}),ys("filter",t,{evt:e}),!0}),d)){o&&e.preventDefault();return}a.handle&&!ks(c,a.handle,n,!1)||this._prepareDragStart(e,s,l)}}},_prepareDragStart:function(e,t,n){var a=this,o=a.el,r=a.options,s=o.ownerDocument,l;if(n&&!Lt&&n.parentNode===o){var c=Fa(n);if(Ka=o,Lt=n,fo=Lt.parentNode,zm=Lt.nextSibling,$0=n,L0=r.group,Xi.dragged=Lt,wm={target:Lt,clientX:(t||e).clientX,clientY:(t||e).clientY},GU=wm.clientX-c.left,qU=wm.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,Lt.style["will-change"]="all",l=function(){if(ys("delayEnded",a,{evt:e}),Xi.eventCanceled){a._onDrop();return}a._disableDelayedDragEvents(),!UU&&a.nativeDraggable&&(Lt.draggable=!0),a._triggerDragStart(e,t),os({sortable:a,name:"choose",originalEvent:e}),so(Lt,r.chosenClass,!0)},r.ignore.split(",").forEach(function(d){ZU(Lt,d.trim(),VT)}),wn(s,"dragover",Sm),wn(s,"mousemove",Sm),wn(s,"touchmove",Sm),r.supportPointer?(wn(s,"pointerup",a._onDrop),!this.nativeDraggable&&wn(s,"pointercancel",a._onDrop)):(wn(s,"mouseup",a._onDrop),wn(s,"touchend",a._onDrop),wn(s,"touchcancel",a._onDrop)),UU&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Lt.draggable=!0),ys("delayStart",this,{evt:e}),r.delay&&(!r.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(bb||Od))){if(Xi.eventCanceled){this._onDrop();return}r.supportPointer?(wn(s,"pointerup",a._disableDelayedDrag),wn(s,"pointercancel",a._disableDelayedDrag)):(wn(s,"mouseup",a._disableDelayedDrag),wn(s,"touchend",a._disableDelayedDrag),wn(s,"touchcancel",a._disableDelayedDrag)),wn(s,"mousemove",a._delayedDragTouchMoveHandler),wn(s,"touchmove",a._delayedDragTouchMoveHandler),r.supportPointer&&wn(s,"pointermove",a._delayedDragTouchMoveHandler),a._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Lt&&VT(Lt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;vn(e,"mouseup",this._disableDelayedDrag),vn(e,"touchend",this._disableDelayedDrag),vn(e,"touchcancel",this._disableDelayedDrag),vn(e,"pointerup",this._disableDelayedDrag),vn(e,"pointercancel",this._disableDelayedDrag),vn(e,"mousemove",this._delayedDragTouchMoveHandler),vn(e,"touchmove",this._delayedDragTouchMoveHandler),vn(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?wn(document,"pointermove",this._onTouchMove):t?wn(document,"touchmove",this._onTouchMove):wn(document,"mousemove",this._onTouchMove):(wn(Lt,"dragend",this),wn(Ka,"dragstart",this._onDragStart));try{document.selection?X0(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Gh=!1,Ka&&Lt){ys("dragStarted",this,{evt:t}),this.nativeDraggable&&wn(document,"dragover",pZ);var n=this.options;!e&&so(Lt,n.dragClass,!1),so(Lt,n.ghostClass,!0),Xi.active=this,e&&this._appendGhost(),os({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(Zl){this._lastX=Zl.clientX,this._lastY=Zl.clientY,oO();for(var e=document.elementFromPoint(Zl.clientX,Zl.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Zl.clientX,Zl.clientY),e!==t);)t=e;if(Lt.parentNode[Cr]._isOutsideThisEl(e),t)do{if(t[Cr]){var n=void 0;if(n=t[Cr]._onDragOver({clientX:Zl.clientX,clientY:Zl.clientY,target:e,rootEl:t}),n&&!this.options.dragoverBubble)break}e=t}while(t=JU(t));rO()}},_onTouchMove:function(e){if(wm){var t=this.options,n=t.fallbackTolerance,a=t.fallbackOffset,o=e.touches?e.touches[0]:e,r=on&&Em(on,!0),s=on&&r&&r.a,l=on&&r&&r.d,c=H0&&qr&&NU(qr),d=(o.clientX-wm.clientX+a.x)/(s||1)+(c?c[0]-DT[0]:0)/(s||1),u=(o.clientY-wm.clientY+a.y)/(l||1)+(c?c[1]-DT[1]:0)/(l||1);if(!Xi.active&&!Gh){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(on){r?(r.e+=d-(jT||0),r.f+=u-(IT||0)):r={a:1,b:0,c:0,d:1,e:d,f:u};var p="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");ki(on,"webkitTransform",p),ki(on,"mozTransform",p),ki(on,"msTransform",p),ki(on,"transform",p),jT=d,IT=u,Zl=o}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!on){var e=this.options.fallbackOnBody?document.body:Ka,t=Fa(Lt,!0,H0,!0,e),n=this.options;if(H0){for(qr=e;ki(qr,"position")==="static"&&ki(qr,"transform")==="none"&&qr!==document;)qr=qr.parentNode;qr!==document.body&&qr!==document.documentElement?(qr===document&&(qr=Fc()),t.top+=qr.scrollTop,t.left+=qr.scrollLeft):qr=Fc(),DT=NU(qr)}on=Lt.cloneNode(!0),so(on,n.ghostClass,!1),so(on,n.fallbackClass,!0),so(on,n.dragClass,!0),ki(on,"transition",""),ki(on,"transform",""),ki(on,"box-sizing","border-box"),ki(on,"margin",0),ki(on,"top",t.top),ki(on,"left",t.left),ki(on,"width",t.width),ki(on,"height",t.height),ki(on,"opacity","0.8"),ki(on,"position",H0?"absolute":"fixed"),ki(on,"zIndex","100000"),ki(on,"pointerEvents","none"),Xi.ghost=on,e.appendChild(on),ki(on,"transform-origin",GU/parseInt(on.style.width)*100+"% "+qU/parseInt(on.style.height)*100+"%")}},_onDragStart:function(e,t){var n=this,a=e.dataTransfer,o=n.options;if(ys("dragStart",this,{evt:e}),Xi.eventCanceled){this._onDrop();return}ys("setupClone",this),Xi.eventCanceled||(ro=$T(Lt),ro.removeAttribute("id"),ro.draggable=!1,ro.style["will-change"]="",this._hideClone(),so(ro,this.options.chosenClass,!1),Xi.clone=ro),n.cloneId=X0(function(){ys("clone",n),!Xi.eventCanceled&&(n.options.removeCloneOnHide||Ka.insertBefore(ro,Lt),n._hideClone(),os({sortable:n,name:"clone"}))}),!t&&so(Lt,o.dragClass,!0),t?(Q0=!0,n._loopId=setInterval(n._emulateDragOver,50)):(vn(document,"mouseup",n._onDrop),vn(document,"touchend",n._onDrop),vn(document,"touchcancel",n._onDrop),a&&(a.effectAllowed="move",o.setData&&o.setData.call(n,a,Lt)),wn(document,"drop",n),ki(Lt,"transform","translateZ(0)")),Gh=!0,n._dragStartId=X0(n._dragStarted.bind(n,t,e)),wn(document,"selectstart",n),ub=!0,window.getSelection().removeAllRanges(),_b&&ki(document.body,"user-select","none")},_onDragOver:function(e){var t=this.el,n=e.target,a,o,r,s=this.options,l=s.group,c=Xi.active,d=L0===l,u=s.sort,p=Ar||c,m,_=this,f=!1;if(NT)return;function g(Q,H){ys(Q,_,Uc({evt:e,isOwner:d,axis:m?"vertical":"horizontal",revert:r,dragRect:a,targetRect:o,canSort:u,fromSortable:p,target:n,completed:b,onMove:function(K,pe){return G0(Ka,t,Lt,a,K,Fa(K),e,pe)},changed:x},H))}function v(){g("dragOverAnimationCapture"),_.captureAnimationState(),_!==p&&p.captureAnimationState()}function b(Q){return g("dragOverCompleted",{insertion:Q}),Q&&(d?c._hideClone():c._showClone(_),_!==p&&(so(Lt,Ar?Ar.options.ghostClass:c.options.ghostClass,!1),so(Lt,s.ghostClass,!0)),Ar!==_&&_!==Xi.active?Ar=_:_===Xi.active&&Ar&&(Ar=null),p===_&&(_._ignoreWhileAnimating=n),_.animateAll(function(){g("dragOverAnimationComplete"),_._ignoreWhileAnimating=null}),_!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(n===Lt&&!Lt.animated||n===t&&!n.animated)&&(Nh=null),!s.dragoverBubble&&!e.rootEl&&n!==document&&(Lt.parentNode[Cr]._isOutsideThisEl(e.target),!Q&&Sm(e)),!s.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),f=!0}function x(){Xs=go(Lt),Wu=go(Lt,s.draggable),os({sortable:_,name:"change",toEl:t,newIndex:Xs,newDraggableIndex:Wu,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),n=ks(n,s.draggable,t,!0),g("dragOver"),Xi.eventCanceled)return f;if(Lt.contains(e.target)||n.animated&&n.animatingX&&n.animatingY||_._ignoreWhileAnimating===n)return b(!1);if(Q0=!1,c&&!s.disabled&&(d?u||(r=fo!==Ka):Ar===this||(this.lastPutMode=L0.checkPull(this,c,Lt,e))&&l.checkPut(this,c,Lt,e))){if(m=this._getDirection(e,n)==="vertical",a=Fa(Lt),g("dragOverValid"),Xi.eventCanceled)return f;if(r)return fo=Ka,v(),this._hideClone(),g("revert"),Xi.eventCanceled||(zm?Ka.insertBefore(Lt,zm):Ka.appendChild(Lt)),b(!0);var w=KT(t,s.draggable);if(!w||fZ(e,m,this)&&!w.animated){if(w===Lt)return b(!1);if(w&&t===e.target&&(n=w),n&&(o=Fa(n)),G0(Ka,t,Lt,a,n,o,e,!!n)!==!1)return v(),w&&w.nextSibling?t.insertBefore(Lt,w.nextSibling):t.appendChild(Lt),fo=t,x(),b(!0)}else if(w&&hZ(e,m,this)){var E=Wh(t,0,s,!0);if(E===Lt)return b(!1);if(n=E,o=Fa(n),G0(Ka,t,Lt,a,n,o,e,!1)!==!1)return v(),t.insertBefore(Lt,E),fo=t,x(),b(!0)}else if(n.parentNode===t){o=Fa(n);var y=0,A,R=Lt.parentNode!==t,j=!dZ(Lt.animated&&Lt.toRect||a,n.animated&&n.toRect||o,m),F=m?"top":"left",O=LU(n,"top","top")||LU(Lt,"top","top"),L=O?O.scrollTop:void 0;Nh!==n&&(A=o[F],vb=!1,N0=!j&&s.invertSwap||R),y=gZ(e,n,o,m,j?1:s.swapThreshold,s.invertedSwapThreshold==null?s.swapThreshold:s.invertedSwapThreshold,N0,Nh===n);var U;if(y!==0){var J=go(Lt);do J-=y,U=fo.children[J];while(U&&(ki(U,"display")==="none"||U===on))}if(y===0||U===n)return b(!1);Nh=n,gb=y;var ie=n.nextElementSibling,te=!1;te=y===1;var me=G0(Ka,t,Lt,a,n,o,e,te);if(me!==!1)return(me===1||me===-1)&&(te=me===1),NT=!0,setTimeout(_Z,30),v(),te&&!ie?t.appendChild(Lt):n.parentNode.insertBefore(Lt,te?ie:n),O&&eO(O,0,L-O.scrollTop),fo=Lt.parentNode,A!==void 0&&!N0&&(Y0=Math.abs(A-Fa(n)[F])),x(),b(!0)}if(t.contains(Lt))return b(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){vn(document,"mousemove",this._onTouchMove),vn(document,"touchmove",this._onTouchMove),vn(document,"pointermove",this._onTouchMove),vn(document,"dragover",Sm),vn(document,"mousemove",Sm),vn(document,"touchmove",Sm)},_offUpEvents:function(){var e=this.el.ownerDocument;vn(e,"mouseup",this._onDrop),vn(e,"touchend",this._onDrop),vn(e,"pointerup",this._onDrop),vn(e,"pointercancel",this._onDrop),vn(e,"touchcancel",this._onDrop),vn(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;if(Xs=go(Lt),Wu=go(Lt,n.draggable),ys("drop",this,{evt:e}),fo=Lt&&Lt.parentNode,Xs=go(Lt),Wu=go(Lt,n.draggable),Xi.eventCanceled){this._nulling();return}Gh=!1,N0=!1,vb=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),HT(this.cloneId),HT(this._dragStartId),this.nativeDraggable&&(vn(document,"drop",this),vn(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),_b&&ki(document.body,"user-select",""),ki(Lt,"transform",""),e&&(ub&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),on&&on.parentNode&&on.parentNode.removeChild(on),(Ka===fo||Ar&&Ar.lastPutMode!=="clone")&&ro&&ro.parentNode&&ro.parentNode.removeChild(ro),Lt&&(this.nativeDraggable&&vn(Lt,"dragend",this),VT(Lt),Lt.style["will-change"]="",ub&&!Gh&&so(Lt,Ar?Ar.options.ghostClass:this.options.ghostClass,!1),so(Lt,this.options.chosenClass,!1),os({sortable:this,name:"unchoose",toEl:fo,newIndex:null,newDraggableIndex:null,originalEvent:e}),Ka!==fo?(Xs>=0&&(os({rootEl:fo,name:"add",toEl:fo,fromEl:Ka,originalEvent:e}),os({sortable:this,name:"remove",toEl:fo,originalEvent:e}),os({rootEl:fo,name:"sort",toEl:fo,fromEl:Ka,originalEvent:e}),os({sortable:this,name:"sort",toEl:fo,originalEvent:e})),Ar&&Ar.save()):Xs!==qh&&Xs>=0&&(os({sortable:this,name:"update",toEl:fo,originalEvent:e}),os({sortable:this,name:"sort",toEl:fo,originalEvent:e})),Xi.active&&((Xs==null||Xs===-1)&&(Xs=qh,Wu=fb),os({sortable:this,name:"end",toEl:fo,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){ys("nulling",this),Ka=Lt=fo=on=zm=ro=$0=Ku=wm=Zl=ub=Xs=Wu=qh=fb=Nh=gb=Ar=L0=Xi.dragged=Xi.ghost=Xi.clone=Xi.active=null,tw.forEach(function(e){e.checked=!0}),tw.length=jT=IT=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":Lt&&(this._onDragOver(e),mZ(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,n=this.el.children,a=0,o=n.length,r=this.options;a<o;a++)t=n[a],ks(t,r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||bZ(t));return e},sort:function(e,t){var n={},a=this.el;this.toArray().forEach(function(o,r){var s=a.children[r];ks(s,this.options.draggable,a,!1)&&(n[o]=s)},this),t&&this.captureAnimationState(),e.forEach(function(o){n[o]&&(a.removeChild(n[o]),a.appendChild(n[o]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return ks(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var n=this.options;if(t===void 0)return n[e];var a=yb.modifyOption(this,e,t);typeof a<"u"?n[e]=a:n[e]=t,e==="group"&&aO(n)},destroy:function(){ys("destroy",this);var e=this.el;e[Cr]=null,vn(e,"mousedown",this._onTapStart),vn(e,"touchstart",this._onTapStart),vn(e,"pointerdown",this._onTapStart),this.nativeDraggable&&(vn(e,"dragover",this),vn(e,"dragenter",this)),Array.prototype.forEach.call(e.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),ew.splice(ew.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!Ku){if(ys("hideClone",this),Xi.eventCanceled)return;ki(ro,"display","none"),this.options.removeCloneOnHide&&ro.parentNode&&ro.parentNode.removeChild(ro),Ku=!0}},_showClone:function(e){if(e.lastPutMode!=="clone"){this._hideClone();return}if(Ku){if(ys("showClone",this),Xi.eventCanceled)return;Lt.parentNode==Ka&&!this.options.group.revertClone?Ka.insertBefore(ro,Lt):zm?Ka.insertBefore(ro,zm):Ka.appendChild(ro),this.options.group.revertClone&&this.animate(Lt,ro),ki(ro,"display",""),Ku=!1}}};nw&&wn(document,"touchmove",function(i){(Xi.active||Gh)&&i.cancelable&&i.preventDefault()});Xi.utils={on:wn,off:vn,css:ki,find:ZU,is:function(e,t){return!!ks(e,t,e,!1)},extend:nZ,throttle:QU,closest:ks,toggleClass:so,clone:$T,index:go,nextTick:X0,cancelNextTick:HT,detectDirection:nO,getChild:Wh,expando:Cr};Xi.get=function(i){return i[Cr]};Xi.mount=function(){for(var i=arguments.length,e=new Array(i),t=0;t<i;t++)e[t]=arguments[t];e[0].constructor===Array&&(e=e[0]),e.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(Xi.utils=Uc(Uc({},Xi.utils),n.utils)),yb.mount(n)})};Xi.create=function(i,e){return new Xi(i,e)};Xi.version=tZ;qo=[],qT=!1;OT=QU(function(i,e,t,n){if(e.scroll){var a=(i.touches?i.touches[0]:i).clientX,o=(i.touches?i.touches[0]:i).clientY,r=e.scrollSensitivity,s=e.scrollSpeed,l=Fc(),c=!1,d;GT!==t&&(GT=t,J0(),pb=e.scroll,d=e.scrollFn,pb===!0&&(pb=$u(t,!0)));var u=0,p=pb;do{var m=p,_=Fa(m),f=_.top,g=_.bottom,v=_.left,b=_.right,x=_.width,w=_.height,E=void 0,y=void 0,A=m.scrollWidth,R=m.scrollHeight,j=ki(m),F=m.scrollLeft,O=m.scrollTop;m===l?(E=x<A&&(j.overflowX==="auto"||j.overflowX==="scroll"||j.overflowX==="visible"),y=w<R&&(j.overflowY==="auto"||j.overflowY==="scroll"||j.overflowY==="visible")):(E=x<A&&(j.overflowX==="auto"||j.overflowX==="scroll"),y=w<R&&(j.overflowY==="auto"||j.overflowY==="scroll"));var L=E&&(Math.abs(b-a)<=r&&F+x<A)-(Math.abs(v-a)<=r&&!!F),U=y&&(Math.abs(g-o)<=r&&O+w<R)-(Math.abs(f-o)<=r&&!!O);if(!qo[u])for(var J=0;J<=u;J++)qo[J]||(qo[J]={});(qo[u].vx!=L||qo[u].vy!=U||qo[u].el!==m)&&(qo[u].el=m,qo[u].vx=L,qo[u].vy=U,clearInterval(qo[u].pid),(L!=0||U!=0)&&(c=!0,qo[u].pid=setInterval(function(){n&&this.layer===0&&Xi.active._onTouchMove(iw);var ie=qo[this.layer].vy?qo[this.layer].vy*s:0,te=qo[this.layer].vx?qo[this.layer].vx*s:0;typeof d=="function"&&d.call(Xi.dragged.parentNode[Cr],te,ie,i,iw,qo[this.layer].el)!=="continue"||eO(qo[this.layer].el,te,ie)}.bind({layer:u}),24))),u++}while(e.bubbleScroll&&p!==l&&(p=$u(p,!1)));qT=c}},30),sO=function(e){var t=e.originalEvent,n=e.putSortable,a=e.dragEl,o=e.activeSortable,r=e.dispatchSortableEvent,s=e.hideGhostForTarget,l=e.unhideGhostForTarget;if(t){var c=n||o;s();var d=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,u=document.elementFromPoint(d.clientX,d.clientY);l(),c&&!c.el.contains(u)&&(r("spill"),this.onSpill({dragEl:a,putSortable:n}))}};YT.prototype={startIndex:null,dragStart:function(e){var t=e.oldDraggableIndex;this.startIndex=t},onSpill:function(e){var t=e.dragEl,n=e.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var a=Wh(this.sortable.el,this.startIndex,this.options);a?this.sortable.el.insertBefore(t,a):this.sortable.el.appendChild(t),this.sortable.animateAll(),n&&n.animateAll()},drop:sO};Sl(YT,{pluginName:"revertOnSpill"});XT.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable,a=n||this.sortable;a.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),a.animateAll()},drop:sO};Sl(XT,{pluginName:"removeOnSpill"});an=[],Ys=[],lb=!1,xs=!1,Hh=!1;Xi.mount(new xZ);Xi.mount(XT,YT);JT=Xi});var uO=Ft((cO,dO)=>{(function(){var i={},e=typeof or=="function"?(ZT(),N6(lO)):window.Sortable;if(!e)throw new Error("[vue-sortable] cannot locate Sortable.js.");i.config={},i.install=function(t){t.directive("sortable",function(n){n=n||{};var a=new e(this.el,n);this.arg&&!this.vm.sortable&&(this.vm.sortable={}),this.arg&&this.vm.sortable[this.arg]?console.warn("[vue-sortable] cannot set already defined sortable id: '"+this.arg+"'"):this.arg&&(this.vm.sortable[this.arg]=a)})},typeof cO=="object"?dO.exports=i:typeof define=="function"&&define.amd?define([],function(){return i}):window.Vue&&(window.vSortable=i,Vue.use(i))})()});var fw=Ft(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.handleWarning=Ju.DecodeWarning=Ju.DecodeError=void 0;var gA=class extends Error{constructor(e,t,n){super(t),this.offset=n,this.partiallyDecodedImage={details:{header:e.header,footer:e.footer,imageId:e.identificationField,developerDirectory:e.developerDirectory,extensionArea:e.extensionArea},warnings:e.warnings}}};Ju.DecodeError=gA;var vA=class extends Error{constructor(e,t){super(e),this.offset=t}};Ju.DecodeWarning=vA;function KQ(i,e){if(i.options.strictMode)throw e;i.warnings.push(e)}Ju.handleWarning=KQ});var QO=Ft(gw=>{"use strict";Object.defineProperty(gw,"__esModule",{value:!0});gw.ByteStreamReader=void 0;var bA=class{constructor(e,t){this.data=e,this._le=t,this.offset=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}readUint8(){return this.view.getUint8(this.offset++)}readUint16(){let e=this.view.getUint16(this.offset,this._le);return this.offset+=2,e}readUint32(){let e=this.view.getUint32(this.offset,this._le);return this.offset+=4,e}};gw.ByteStreamReader=bA});var tL=Ft(vw=>{"use strict";Object.defineProperty(vw,"__esModule",{value:!0});vw.readText=void 0;var eL=fw();function $Q(i,e,t,n){let a=[],o=0,r=0,s=i.reader.offset;for(;r<t;r++){try{o=i.reader.view.getUint8(i.reader.offset)}catch(l){throw l instanceof Error&&l.message==="Offset is outside the bounds of the DataView"&&(0,eL.handleWarning)(i,new eL.DecodeWarning("EOF while reading text",i.reader.offset)),l}if(!n&&o===0)break;i.reader.offset++,a.push(o)}return i.reader.offset=s+t,e?e.decode(new Uint8Array(a)):String.fromCharCode(...a)}vw.readText=$Q});var iL=Ft(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.isValidBitDepth=Zu.isValidColorMapDepth=Zu.isValidImageType=void 0;function YQ(i){return i===1||i===2||i===3||i===9||i===10||i===11}Zu.isValidImageType=YQ;function XQ(i){return i===15||i===16||i===24||i===32}Zu.isValidColorMapDepth=XQ;function JQ(i,e){return e===1||e===9?i===8:e===3||e===11?i===8||i===16:i===15||i===16||i===24||i===32}Zu.isValidBitDepth=JQ});var rL=Ft(yw=>{"use strict";Object.defineProperty(yw,"__esModule",{value:!0});yw.decodeTga=void 0;var Ao=fw(),ZQ=QO(),Pm=tL(),yA=iL();async function QQ(i,e={}){let t={reader:new ZQ.ByteStreamReader(i,!0),hasAlpha:!1,ambiguousAlpha:!1,options:e,warnings:[]},n=eee(t),a={...t,header:n};a.identificationField=(0,Pm.readText)(a,void 0,a.header.idLength);let o=a.reader.offset;return a.footer=uee(a),a.extensionArea=see(a),a.developerDirectory=lee(a),a.reader.offset=o,a.header.colorMap?.type===1&&(a.colorMap=tee(a,a.header.colorMap)),a.hasAlpha=a.colorMap&&a.header.colorMap?.depth===32||(a.header.attributeBitsPerPixel>0||a.header.bitDepth===32)&&(a.extensionArea===void 0||a.extensionArea.attributesType>2),a.ambiguousAlpha=a.hasAlpha&&a.header.attributeBitsPerPixel===0,a.image=iee(a,a.reader.offset),{image:a.image,details:{header:a.header,imageId:a.identificationField,footer:a.footer,extensionArea:a.extensionArea,developerDirectory:a.developerDirectory},warnings:a.warnings}}yw.decodeTga=QQ;function eee(i){let e=i.reader.readUint8(),t=i.reader.readUint8(),n;t===0||t===1?n=t:((0,Ao.handleWarning)(i,new Ao.DecodeWarning("Color map type unrecognized",i.reader.offset-1)),n=2);let a=i.reader.readUint8();if(!(0,yA.isValidImageType)(a))throw new Ao.DecodeError(i,`Invalid image type "${a}"`,i.reader.offset-1);n===1&&a!==1&&a!==9&&(0,Ao.handleWarning)(i,new Ao.DecodeWarning(`Image type "${a}" cannot have a color map`,i.reader.offset-2));let o=i.reader.readUint16(),r=i.reader.readUint16(),s=i.reader.readUint8();if(n===1&&(o>=r&&(0,Ao.handleWarning)(i,new Ao.DecodeWarning(`Color map origin "${o}" is greater than color map length "${r}"`,i.reader.offset-5)),!(0,yA.isValidColorMapDepth)(s)))throw new Ao.DecodeError(i,`Unsupported color map bit depth "${s}"`,i.reader.offset-1);let l=i.reader.readUint16(),c=i.reader.readUint16(),d=i.reader.readUint16(),u=i.reader.readUint16(),p=i.reader.readUint8();if(!(0,yA.isValidBitDepth)(p,a))throw new Ao.DecodeError(i,`Unsupported TGA bit depth "${p}" with image type ${a}`,16);let m=i.reader.readUint8(),_=(m&15)>>0,f=(m&48)>>4;return f===1&&(0,Ao.handleWarning)(i,new Ao.DecodeWarning("This image is encoded using a bottom right screen origin, many image editors won't read this correctly",i.reader.offset-1)),f===3&&(0,Ao.handleWarning)(i,new Ao.DecodeWarning("This image is encoded using a top right screen origin, many image editors won't read this correctly",i.reader.offset-1)),{idLength:e,colorMap:n!==0?{type:n,depth:s,length:r,origin:o}:void 0,imageType:a,origin:{x:l,y:c},width:d,height:u,bitDepth:p,imageDescriptor:m,attributeBitsPerPixel:_,screenOrigin:f}}function tee(i,e){let t=i.reader.offset,n=Math.ceil(e.depth/8);i.reader.offset+=e.length*n;let a;switch(e.depth){case 15:a=bw;break;case 16:i.hasAlpha?a=nL:a=bw;break;case 24:a=aL;break;case 32:a=oL;break}return(o,r,s,l)=>{let c=s.getUint8(l);return a(o,r,i.reader.view,t+c*n),1}}function iee(i,e){let t={width:i.header.width,height:i.header.height,data:new Uint8Array(i.header.width*i.header.height*4)},n;if(i.colorMap)n=i.colorMap;else switch(i.header.bitDepth){case 8:n=aee;break;case 15:n=bw;break;case 16:i.header.imageType===11||i.header.imageType===3?n=oee:i.hasAlpha?n=nL:n=bw;break;case 24:n=aL;break;case 32:i.hasAlpha?n=oL:n=ree;break}let a=i.reader.view;if(i.header.imageType&8){let o=nee(i);a=new DataView(o.buffer,o.byteOffset,o.length),e=0}switch(i.header.screenOrigin){case 0:{let o=0;for(let r=t.height-1;r>=0;r--){o=i.header.width*r*4;for(let s=0;s<t.width;s++)e+=n(t.data,o,a,e),o+=4}break}case 1:{let o=0;for(let r=t.height-1;r>=0;r--){o=(i.header.width*r+(i.header.width-1))*4;for(let s=0;s<t.width;s++)e+=n(t.data,o,a,e),o-=4}break}case 2:{let o=0;for(let r=0;r<t.height;r++)for(let s=0;s<t.width;s++)e+=n(t.data,o,a,e),o+=4;break}case 3:{let o=0;for(let r=0;r<t.height;r++){o=(i.header.width*r+(i.header.width-1))*4;for(let s=0;s<t.width;s++)e+=n(t.data,o,a,e),o-=4}break}}if(i.ambiguousAlpha&&!i.options.strictMode&&i.options.detectAmbiguousAlphaChannel){let o=!1;for(let r=3;r<t.width*t.height*4;r+=4)t.data[r]>0&&(o=!0);if(!o){(0,Ao.handleWarning)(i,new Ao.DecodeWarning("Image has ambiguous alpha and is fully transparent, alpha has been disabled",-1));for(let r=3;r<t.width*t.height*4;r+=4)t.data[r]=255}}return t}function nee(i){let e=Math.ceil(i.header.bitDepth/8),t=new Uint8Array(i.header.width*i.header.height*e),n=0,a=0,o=0,r=0,s=0;for(;o<t.length;)if(n=i.reader.readUint8(),a=(n&127)+1,n&128){for(r=0;r<e;r++)for(n=i.reader.readUint8(),s=0;s<a;s++)t[o+s*e+r]=n;o+=a*e}else{a*=e;for(let l=0;l<a;l++)t[o++]=i.reader.readUint8()}return t}function aee(i,e,t,n){return i[e]=t.getUint8(n),i[e+1]=i[e],i[e+2]=i[e],i[e+3]=255,1}function oee(i,e,t,n){return i[e]=t.getUint8(n),i[e+1]=i[e],i[e+2]=i[e],i[e+3]=t.getUint8(n+1),2}var Ld=0;function bw(i,e,t,n){return Ld=t.getUint16(n,!0),i[e]=Ld>>10&31,i[e+1]=Ld>>5&31,i[e+2]=Ld&31,i[e]=i[e]<<3|i[e]>>2,i[e+1]=i[e+1]<<3|i[e+1]>>2,i[e+2]=i[e+2]<<3|i[e+2]>>2,i[e+3]=255,2}function nL(i,e,t,n){return Ld=t.getUint16(n,!0),i[e]=Ld>>10&31,i[e+1]=Ld>>5&31,i[e+2]=Ld&31,i[e]=i[e]<<3|i[e]>>2,i[e+1]=i[e+1]<<3|i[e+1]>>2,i[e+2]=i[e+2]<<3|i[e+2]>>2,i[e+3]=Ld&32768?0:255,2}function aL(i,e,t,n){return i[e]=t.getUint8(n+2),i[e+1]=t.getUint8(n+1),i[e+2]=t.getUint8(n),i[e+3]=255,3}function oL(i,e,t,n){return i[e]=t.getUint8(n+2),i[e+1]=t.getUint8(n+1),i[e+2]=t.getUint8(n),i[e+3]=t.getUint8(n+3),4}function ree(i,e,t,n){return i[e]=t.getUint8(n+2),i[e+1]=t.getUint8(n+1),i[e+2]=t.getUint8(n),i[e+3]=255,4}function see(i){if(i.footer?.extensionAreaOffset===void 0||i.footer.extensionAreaOffset===0)return;i.reader.offset=i.footer.extensionAreaOffset;let e=i.reader.readUint16();e!==495&&(0,Ao.handleWarning)(i,new Ao.DecodeWarning("TGA file is a version other than v2",i.reader.offset-2));let t=(0,Pm.readText)(i,void 0,41).trim()||void 0,n=(0,Pm.readText)(i,void 0,324).trim()||void 0,a=cee(i),o=(0,Pm.readText)(i,void 0,41).trim()||void 0,r=dee(i),s=(0,Pm.readText)(i,void 0,41).trim()||void 0,l=i.reader.readUint8()/100,c=(0,Pm.readText)(i,void 0,2),d;l===0&&(c===" "||c.length===0)?d=void 0:d=`${l}${c}`;let u=i.reader.readUint8(),p=i.reader.readUint8(),m=i.reader.readUint8(),_=i.reader.readUint8(),f;u===0&&p===0&&m===0&&_===0?f=void 0:f=new Uint8Array([p,m,_,u]);let g=i.reader.readUint16(),v=i.reader.readUint16(),b;v===0?b=void 0:b=g/v;let x=i.reader.readUint16(),w=i.reader.readUint16(),E;w===0?E=void 0:E=x/w;let y=i.reader.readUint32(),A=i.reader.readUint32(),R=i.reader.readUint32(),j=i.reader.readUint8();return{extensionSize:e,authorName:t,authorComments:n,dateTimestamp:a,jobName:o,jobTime:r,softwareId:s,softwareVersion:d,keyColor:f,aspectRatio:b,gamma:E,colorCorrectionOffset:y,postageStampOffset:A,scanLineOffset:R,attributesType:j}}function lee(i){if(i.footer?.developerDirectoryOffset===void 0||i.footer.developerDirectoryOffset===0)return[];i.reader.offset=i.footer.developerDirectoryOffset;let e=i.reader.readUint16(),t=[];for(let n=0;n<e;n++){let a=i.reader.readUint16(),o=i.reader.readUint32(),r=i.reader.readUint32();t.push({tag:a,offset:o,length:r})}return t}function cee(i){let e=i.reader.readUint16(),t=i.reader.readUint16(),n=i.reader.readUint16(),a=i.reader.readUint16(),o=i.reader.readUint16(),r=i.reader.readUint16();if(!(e===0&&t===0&&n===0&&a===0&&o===0&&r===0))return new Date(n,e,t,a,o,r)}function dee(i){let e=i.reader.readUint16(),t=i.reader.readUint16(),n=i.reader.readUint16();if(!(e===0&&t===0&&n===0))return{hours:e,minutes:t,seconds:n}}function uee(i){if(i.reader.offset=i.reader.view.byteLength-26+8,(0,Pm.readText)(i,void 0,17)!=="TRUEVISION-XFILE."||i.reader.readUint8()!==0)return{extensionAreaOffset:0,developerDirectoryOffset:0};i.reader.offset=i.reader.view.byteLength-26;let t=i.reader.readUint32();t>=i.reader.view.byteLength&&((0,Ao.handleWarning)(i,new Ao.DecodeWarning(`Extension area offset "${t}" is invalid`,i.reader.offset-4)),t=0);let n=i.reader.readUint32();return n>=i.reader.view.byteLength&&((0,Ao.handleWarning)(i,new Ao.DecodeWarning(`Developer directory offset "${n}" is invalid`,i.reader.offset-4)),n=0),{extensionAreaOffset:t,developerDirectoryOffset:n}}});var wA=Ft(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.handleWarning=Qu.EncodeWarning=Qu.EncodeError=void 0;var xA=class extends Error{constructor(e,t){super(e),this.offset=t}};Qu.EncodeError=xA;var kA=class extends Error{constructor(e,t){super(e),this.offset=t}};Qu.EncodeWarning=kA;function pee(i,e){if(i.options.strictMode)throw e;i.warnings.push(e)}Qu.handleWarning=pee});var lL=Ft(kw=>{"use strict";Object.defineProperty(kw,"__esModule",{value:!0});kw.analyze=void 0;var ls=wA();function mee(i,e={}){let t=[],n=[],a={options:e,warnings:t};if(i.width>65535)throw new ls.EncodeError(`Image width is out of range (${i.width} > 65535)`,-1);if(i.height>65535)throw new ls.EncodeError(`Image height is out of range (${i.height} > 65535)`,-1);if(i.data.length!==i.width*i.height*4)throw new ls.EncodeError(`Provided image data length (${i.data.length}) is not expected length (${i.width*i.height*4})`,Math.min(i.data.length,i.width*i.height*4)-1);if(e.imageId&&e.imageId.length>255)throw new ls.EncodeError(`Image ID length is out of range (${e.imageId.length} > 255)`,-1);if(e.origin&&(e.origin.x||0)>65535)throw new ls.EncodeError(`X origin is out of range (${e.origin.x} > 65535)`,-1);if(e.origin&&(e.origin.y||0)>65535)throw new ls.EncodeError(`Y origin is out of range (${e.origin.y} > 65535)`,-1);if(e.screenOrigin===1&&(0,ls.handleWarning)(a,new ls.EncodeWarning("This image is encoded using a bottom right screen origin, many image editors won't read this correctly",17)),e.screenOrigin===3&&(0,ls.handleWarning)(a,new ls.EncodeWarning("This image is encoded using a top right screen origin, many image editors won't read this correctly",17)),e.bitDepth!==void 0&&e.imageType===void 0||e.bitDepth===void 0&&e.imageType!==void 0&&e.imageType>=0)throw new ls.EncodeError("Bit depth and image type options must be used together",-1);let o=e.imageType,r,s;o!==void 0&&(o===-2||o===-1?s=o:r=o);let l=e.bitDepth,c;if(l===24&&_ee(i)&&(0,ls.handleWarning)({options:e,warnings:t},new ls.EncodeWarning("Cannot encode 24 bit image without data loss as it contains transparent colors",0)),r===9||r===1){let d=sL(i,s);if(!d.colorMap)throw new ls.EncodeError("Image has too many colors to encode using a color map",-1);c=d.colorMap}if(!l||s!==void 0){let d=sL(i,s);if(l&&l<d.bitDepth)throw new ls.EncodeError("Image cannot be encoded using specified bit depth",-1);l=d.bitDepth,r=d.imageType,c=d.colorMap}if(!r)throw new Error("No ImageType set");return{bitDepth:l,imageType:r,colorMap:c,imageId:e.imageId||"",options:e,warnings:t,info:n,image:i}}kw.analyze=mee;function _ee(i){let t=i.width*i.height*4,n=!1;for(let a=0;a<t;a+=4)n||(n=i.data[a+3]<255);return n}function sL(i,e){let n=i.width*i.height*4,a=!1,o=!1,r=!1,s=!1,l=new Set;for(let c=0;c<n;c+=4)a||(a=i.data[c+3]>0&&i.data[c+3]<255),o||(o=i.data[c+3]<255),r||r||(r=!xw(i.data[c])||!xw(i.data[c+1])||!xw(i.data[c+2])||!xw(i.data[c+3])),s||(s=i.data[c]!==i.data[c+1]||i.data[c]!==i.data[c+2]),l.size<256&&l.add((i.data[c]<<24)+(i.data[c+1]<<16)+(i.data[c+2]<<8)+i.data[c+3]);if(l.size<255){let c=new Map,d=0;for(let p of l)c.set(p,d++);let u;return r?o?u={colorToIndexMap:c,bitDepth:32}:u={colorToIndexMap:c,bitDepth:24}:o?u={colorToIndexMap:c,bitDepth:32}:u={colorToIndexMap:c,bitDepth:15},{imageType:ep(9,e),bitDepth:8,colorMap:u}}return s?r?o?{imageType:ep(10,e),bitDepth:32}:{imageType:ep(10,e),bitDepth:24}:o?a?{imageType:ep(10,e),bitDepth:32}:{imageType:ep(10,e),bitDepth:16}:{imageType:ep(10,e),bitDepth:15}:o?{imageType:ep(11,e),bitDepth:16}:{imageType:ep(11,e),bitDepth:8}}function ep(i,e){if(e===void 0)return i;switch(i){case 1:case 9:return e===-2?9:1;case 2:case 10:return e===-2?10:2;case 3:case 11:return e===-2?11:3}}function xw(i){return(i>>5&7)===(i&7)}});var cL=Ft(ww=>{"use strict";Object.defineProperty(ww,"__esModule",{value:!0});ww.ByteStream=void 0;var SA=class{constructor(e,t){this._le=t,this.offset=0,this.array=new Uint8Array(e),this.view=new DataView(this.array.buffer,this.array.byteOffset,this.array.byteLength)}writeUint8(e){this.view.setUint8(this.offset,e),this.offset+=1}writeUint16(e){this.view.setUint16(this.offset,e,this._le),this.offset+=2}assertAtEnd(){if(this.offset!==this.array.length)throw new Error("Writing finished before expected length of stream")}};ww.ByteStream=SA});var uL=Ft(Sw=>{"use strict";Object.defineProperty(Sw,"__esModule",{value:!0});Sw.encodeRunLengthEncoding=void 0;var dL=wA();function hee(i,e){let t=Math.ceil(i.bitDepth/8),n=t+1,a=new Uint8Array(i.image.width*i.image.height*n),o=0,r=0,s=1,l=0,c=!1,d=0,u=0,p=!1;for(let m=t;m<e.length;m+=t){let _=!1;for(l=0;l<t;l++)_||(_=e[r+l]!==e[m+l]);if(_){for(;s>0;){for(c=s===1,p&&c?(d=a[u]&127,d<127?a[u]=d+1:(a[o]=Math.min(s,128)-1,u=o,o++)):(a[o]=Math.min(s,128)-1|(c?0:128),u=o,o++),l=0;l<t;l++)a[o+l]=e[r+l];o+=t,p=c,s-=128}r=m,s=1}else s++}for(;s>0;){for(c=s===1,p&&c?(d=a[u]&127,d<127?a[u]=d+1:(a[o]=Math.min(s,128)-1,u=o,o++)):(a[o]=Math.min(s,128)-1|(c?0:128),u=o,o++),l=0;l<t;l++)a[o+l]=e[r+l];o+=t,s-=128}return o-1>e.length&&(0,dL.handleWarning)(i,new dL.EncodeWarning("RLE encoded was used but it is larger than unencoded would be",-1)),a.slice(0,o)}Sw.encodeRunLengthEncoding=hee});var fL=Ft(Ew=>{"use strict";Object.defineProperty(Ew,"__esModule",{value:!0});Ew.encodeTga=void 0;var fee=lL(),zw=cL(),gee=uL();async function vee(i,e={}){let t=(0,fee.analyze)(i,e),n=[];n.push(bee(t)),t.imageId.length>0&&n.push(yee(t)),t.colorMap&&n.push(xee(t)),n.push(kee(t));let a=n.reduce((s,l)=>s+l.length,0),o=new Uint8Array(a),r=0;for(let s of n)o.set(s,r),r+=s.length;return{data:o,warnings:t.warnings,info:t.info}}Ew.encodeTga=vee;function bee(i){let e=new zw.ByteStream(18,!0);e.writeUint8(i.imageId.length),e.writeUint8(i.colorMap?1:0),e.writeUint8(i.imageType),e.writeUint16(0),e.writeUint16(i.colorMap?.colorToIndexMap.size??0),e.writeUint8(i.colorMap?.bitDepth??0),e.writeUint16(i.options.origin?.x||0),e.writeUint16(i.options.origin?.y||0),e.writeUint16(i.image.width),e.writeUint16(i.image.height),e.writeUint8(i.bitDepth);let t=0;i.bitDepth===32&&(t=8);let n=t&15|(i.options.screenOrigin??0)<<4&48;return e.writeUint8(n),e.assertAtEnd(),e.array}function yee(i){let e=new zw.ByteStream(i.imageId.length,!0);for(let t=0;t<i.imageId.length;t++)e.writeUint8(i.imageId.charCodeAt(t));return e.assertAtEnd(),e.array}function xee(i){let e=i.colorMap;if(!e)throw new Error("Cannot write color map undefined");let t=Math.ceil(e.bitDepth/8),n=new zw.ByteStream(e.colorToIndexMap.size*t,!0),a;switch(e.bitDepth){case 15:a=pL;break;case 16:a=mL;break;case 24:a=_L;break;case 32:a=hL;break;default:throw new Error(`Unsupported bit depth for color map "${e.bitDepth}"`)}let o=Array.from(e.colorToIndexMap.entries()).sort((r,s)=>r[1]-s[1]).map(r=>r[0]);for(let r of o)a(n,new Uint8Array([r>>24&255,r>>16&255,r>>8&255,r&255]),0);return n.assertAtEnd(),n.array}function kee(i){let e=Math.ceil(i.bitDepth/8),t=new zw.ByteStream(i.image.width*i.image.height*e,!0),n=0,a;if(i.colorMap){let o=i.colorMap;a=(r,s,l)=>{let c=o.colorToIndexMap.get((s[l]<<24)+(s[l+1]<<16)+(s[l+2]<<8)+s[l+3]);r.writeUint8(c)}}else switch(i.bitDepth){case 8:if(i.imageType===3||i.imageType===11)a=wee;else throw new Error(`Unsupported image type (${i.imageType}) with bit depth (${i.bitDepth})`);break;case 15:a=pL;break;case 16:i.imageType===3||i.imageType===11?a=See:a=mL;break;case 24:a=_L;break;case 32:a=hL;break;default:throw new Error("NYI")}switch(i.options.screenOrigin??0){case 0:for(let o=i.image.height-1;o>=0;o--){n=i.image.width*o*4;for(let r=0;r<i.image.width;r++)a(t,i.image.data,n),n+=4}break;case 1:for(let o=i.image.height-1;o>=0;o--){n=(i.image.width*o+(i.image.width-1))*4;for(let r=0;r<i.image.width;r++)a(t,i.image.data,n),n-=4}break;case 2:for(let o=0;o<i.image.height;o++){n=i.image.width*o*4;for(let r=0;r<i.image.width;r++)a(t,i.image.data,n),n+=4}break;case 3:for(let o=0;o<i.image.height;o++){n=(i.image.width*o+(i.image.width-1))*4;for(let r=0;r<i.image.width;r++)a(t,i.image.data,n),n-=4}break}return t.assertAtEnd(),i.imageType&8?(0,gee.encodeRunLengthEncoding)(i,t.array):t.array}function wee(i,e,t){i.writeUint8(e[t])}function pL(i,e,t){i.writeUint16((e[t+0]>>3&31)<<10|(e[t+1]>>3&31)<<5|(e[t+2]>>3&31)<<0)}function mL(i,e,t){i.writeUint16((e[t+0]>>3&31)<<10|(e[t+1]>>3&31)<<5|(e[t+2]>>3&31)<<0|(e[t+3]===255?32768:0))}function See(i,e,t){i.writeUint8(e[t]),i.writeUint8(e[t+3])}function _L(i,e,t){i.writeUint8(e[t+2]),i.writeUint8(e[t+1]),i.writeUint8(e[t+0])}function hL(i,e,t){i.writeUint8(e[t+2]),i.writeUint8(e[t+1]),i.writeUint8(e[t+0]),i.writeUint8(e[t+3])}});var Mw=Ft(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.encodeTga=Nc.decodeTga=Nc.DecodeWarning=Nc.DecodeError=void 0;var gL=fw();Object.defineProperty(Nc,"DecodeError",{enumerable:!0,get:function(){return gL.DecodeError}});Object.defineProperty(Nc,"DecodeWarning",{enumerable:!0,get:function(){return gL.DecodeWarning}});async function zee(i,e){return(await Promise.resolve().then(()=>rL())).decodeTga(i,e)}Nc.decodeTga=zee;async function Eee(i,e){return(await Promise.resolve().then(()=>fL())).encodeTga(i,e)}Nc.encodeTga=Eee});var YL=Ft((VA,FA)=>{(function(i,e){typeof define=="function"&&define.amd?define([],e):typeof VA<"u"?e():(e(),i.FileSaver={})})(VA,function(){"use strict";function i(s,l){return typeof l>"u"?l={autoBom:!1}:typeof l!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),l={autoBom:!l}),l.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(s.type)?new Blob(["\uFEFF",s],{type:s.type}):s}function e(s,l,c){var d=new XMLHttpRequest;d.open("GET",s),d.responseType="blob",d.onload=function(){r(d.response,l,c)},d.onerror=function(){console.error("could not download file")},d.send()}function t(s){var l=new XMLHttpRequest;l.open("HEAD",s,!1);try{l.send()}catch{}return 200<=l.status&&299>=l.status}function n(s){try{s.dispatchEvent(new MouseEvent("click"))}catch{var l=document.createEvent("MouseEvents");l.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),s.dispatchEvent(l)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(s,l,c){var d=a.URL||a.webkitURL,u=document.createElement("a");l=l||s.name||"download",u.download=l,u.rel="noopener",typeof s=="string"?(u.href=s,u.origin===location.origin?n(u):t(u.href)?e(s,l,c):n(u,u.target="_blank")):(u.href=d.createObjectURL(s),setTimeout(function(){d.revokeObjectURL(u.href)},4e4),setTimeout(function(){n(u)},0))}:"msSaveOrOpenBlob"in navigator?function(s,l,c){if(l=l||s.name||"download",typeof s!="string")navigator.msSaveOrOpenBlob(i(s,c),l);else if(t(s))e(s,l,c);else{var d=document.createElement("a");d.href=s,d.target="_blank",setTimeout(function(){n(d)})}}:function(s,l,c,d){if(d=d||open("","_blank"),d&&(d.document.title=d.document.body.innerText="downloading..."),typeof s=="string")return e(s,l,c);var u=s.type==="application/octet-stream",p=/constructor/i.test(a.HTMLElement)||a.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||u&&p||o)&&typeof FileReader<"u"){var _=new FileReader;_.onloadend=function(){var v=_.result;v=m?v:v.replace(/^data:[^;]*;/,"data:attachment/file;"),d?d.location.href=v:location=v,d=null},_.readAsDataURL(s)}else{var f=a.URL||a.webkitURL,g=f.createObjectURL(s);d?d.location=g:location.href=g,d=null,setTimeout(function(){f.revokeObjectURL(g)},4e4)}});a.saveAs=r.saveAs=r,typeof FA<"u"&&(FA.exports=r)})});var W2=Ft((Lpe,q2)=>{"use strict";var Bt={};Bt.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)};Bt.localCName=Bt.generateIdentifier();Bt.splitLines=function(i){return i.trim().split(`
`).map(e=>e.trim())};Bt.splitSections=function(i){return i.split(`
m=`).map((t,n)=>(n>0?"m="+t:t).trim()+`\r
`)};Bt.getDescription=function(i){let e=Bt.splitSections(i);return e&&e[0]};Bt.getMediaSections=function(i){let e=Bt.splitSections(i);return e.shift(),e};Bt.matchPrefix=function(i,e){return Bt.splitLines(i).filter(t=>t.indexOf(e)===0)};Bt.parseCandidate=function(i){let e;i.indexOf("a=candidate:")===0?e=i.substring(12).split(" "):e=i.substring(10).split(" ");let t={foundation:e[0],component:{1:"rtp",2:"rtcp"}[e[1]]||e[1],protocol:e[2].toLowerCase(),priority:parseInt(e[3],10),ip:e[4],address:e[4],port:parseInt(e[5],10),type:e[7]};for(let n=8;n<e.length;n+=2)switch(e[n]){case"raddr":t.relatedAddress=e[n+1];break;case"rport":t.relatedPort=parseInt(e[n+1],10);break;case"tcptype":t.tcpType=e[n+1];break;case"ufrag":t.ufrag=e[n+1],t.usernameFragment=e[n+1];break;default:t[e[n]]===void 0&&(t[e[n]]=e[n+1]);break}return t};Bt.writeCandidate=function(i){let e=[];e.push(i.foundation);let t=i.component;t==="rtp"?e.push(1):t==="rtcp"?e.push(2):e.push(t),e.push(i.protocol.toUpperCase()),e.push(i.priority),e.push(i.address||i.ip),e.push(i.port);let n=i.type;return e.push("typ"),e.push(n),n!=="host"&&i.relatedAddress&&i.relatedPort&&(e.push("raddr"),e.push(i.relatedAddress),e.push("rport"),e.push(i.relatedPort)),i.tcpType&&i.protocol.toLowerCase()==="tcp"&&(e.push("tcptype"),e.push(i.tcpType)),(i.usernameFragment||i.ufrag)&&(e.push("ufrag"),e.push(i.usernameFragment||i.ufrag)),"candidate:"+e.join(" ")};Bt.parseIceOptions=function(i){return i.substring(14).split(" ")};Bt.parseRtpMap=function(i){let e=i.substring(9).split(" "),t={payloadType:parseInt(e.shift(),10)};return e=e[0].split("/"),t.name=e[0],t.clockRate=parseInt(e[1],10),t.channels=e.length===3?parseInt(e[2],10):1,t.numChannels=t.channels,t};Bt.writeRtpMap=function(i){let e=i.payloadType;i.preferredPayloadType!==void 0&&(e=i.preferredPayloadType);let t=i.channels||i.numChannels||1;return"a=rtpmap:"+e+" "+i.name+"/"+i.clockRate+(t!==1?"/"+t:"")+`\r
`};Bt.parseExtmap=function(i){let e=i.substring(9).split(" ");return{id:parseInt(e[0],10),direction:e[0].indexOf("/")>0?e[0].split("/")[1]:"sendrecv",uri:e[1],attributes:e.slice(2).join(" ")}};Bt.writeExtmap=function(i){return"a=extmap:"+(i.id||i.preferredId)+(i.direction&&i.direction!=="sendrecv"?"/"+i.direction:"")+" "+i.uri+(i.attributes?" "+i.attributes:"")+`\r
`};Bt.parseFmtp=function(i){let e={},t,n=i.substring(i.indexOf(" ")+1).split(";");for(let a=0;a<n.length;a++)t=n[a].trim().split("="),e[t[0].trim()]=t[1];return e};Bt.writeFmtp=function(i){let e="",t=i.payloadType;if(i.preferredPayloadType!==void 0&&(t=i.preferredPayloadType),i.parameters&&Object.keys(i.parameters).length){let n=[];Object.keys(i.parameters).forEach(a=>{i.parameters[a]!==void 0?n.push(a+"="+i.parameters[a]):n.push(a)}),e+="a=fmtp:"+t+" "+n.join(";")+`\r
`}return e};Bt.parseRtcpFb=function(i){let e=i.substring(i.indexOf(" ")+1).split(" ");return{type:e.shift(),parameter:e.join(" ")}};Bt.writeRtcpFb=function(i){let e="",t=i.payloadType;return i.preferredPayloadType!==void 0&&(t=i.preferredPayloadType),i.rtcpFeedback&&i.rtcpFeedback.length&&i.rtcpFeedback.forEach(n=>{e+="a=rtcp-fb:"+t+" "+n.type+(n.parameter&&n.parameter.length?" "+n.parameter:"")+`\r
`}),e};Bt.parseSsrcMedia=function(i){let e=i.indexOf(" "),t={ssrc:parseInt(i.substring(7,e),10)},n=i.indexOf(":",e);return n>-1?(t.attribute=i.substring(e+1,n),t.value=i.substring(n+1)):t.attribute=i.substring(e+1),t};Bt.parseSsrcGroup=function(i){let e=i.substring(13).split(" ");return{semantics:e.shift(),ssrcs:e.map(t=>parseInt(t,10))}};Bt.getMid=function(i){let e=Bt.matchPrefix(i,"a=mid:")[0];if(e)return e.substring(6)};Bt.parseFingerprint=function(i){let e=i.substring(14).split(" ");return{algorithm:e[0].toLowerCase(),value:e[1].toUpperCase()}};Bt.getDtlsParameters=function(i,e){return{role:"auto",fingerprints:Bt.matchPrefix(i+e,"a=fingerprint:").map(Bt.parseFingerprint)}};Bt.writeDtlsParameters=function(i,e){let t="a=setup:"+e+`\r
`;return i.fingerprints.forEach(n=>{t+="a=fingerprint:"+n.algorithm+" "+n.value+`\r
`}),t};Bt.parseCryptoLine=function(i){let e=i.substring(9).split(" ");return{tag:parseInt(e[0],10),cryptoSuite:e[1],keyParams:e[2],sessionParams:e.slice(3)}};Bt.writeCryptoLine=function(i){return"a=crypto:"+i.tag+" "+i.cryptoSuite+" "+(typeof i.keyParams=="object"?Bt.writeCryptoKeyParams(i.keyParams):i.keyParams)+(i.sessionParams?" "+i.sessionParams.join(" "):"")+`\r
`};Bt.parseCryptoKeyParams=function(i){if(i.indexOf("inline:")!==0)return null;let e=i.substring(7).split("|");return{keyMethod:"inline",keySalt:e[0],lifeTime:e[1],mkiValue:e[2]?e[2].split(":")[0]:void 0,mkiLength:e[2]?e[2].split(":")[1]:void 0}};Bt.writeCryptoKeyParams=function(i){return i.keyMethod+":"+i.keySalt+(i.lifeTime?"|"+i.lifeTime:"")+(i.mkiValue&&i.mkiLength?"|"+i.mkiValue+":"+i.mkiLength:"")};Bt.getCryptoParameters=function(i,e){return Bt.matchPrefix(i+e,"a=crypto:").map(Bt.parseCryptoLine)};Bt.getIceParameters=function(i,e){let t=Bt.matchPrefix(i+e,"a=ice-ufrag:")[0],n=Bt.matchPrefix(i+e,"a=ice-pwd:")[0];return t&&n?{usernameFragment:t.substring(12),password:n.substring(10)}:null};Bt.writeIceParameters=function(i){let e="a=ice-ufrag:"+i.usernameFragment+`\r
a=ice-pwd:`+i.password+`\r
`;return i.iceLite&&(e+=`a=ice-lite\r
`),e};Bt.parseRtpParameters=function(i){let e={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=Bt.splitLines(i)[0].split(" ");e.profile=n[2];for(let o=3;o<n.length;o++){let r=n[o],s=Bt.matchPrefix(i,"a=rtpmap:"+r+" ")[0];if(s){let l=Bt.parseRtpMap(s),c=Bt.matchPrefix(i,"a=fmtp:"+r+" ");switch(l.parameters=c.length?Bt.parseFmtp(c[0]):{},l.rtcpFeedback=Bt.matchPrefix(i,"a=rtcp-fb:"+r+" ").map(Bt.parseRtcpFb),e.codecs.push(l),l.name.toUpperCase()){case"RED":case"ULPFEC":e.fecMechanisms.push(l.name.toUpperCase());break;default:break}}}Bt.matchPrefix(i,"a=extmap:").forEach(o=>{e.headerExtensions.push(Bt.parseExtmap(o))});let a=Bt.matchPrefix(i,"a=rtcp-fb:* ").map(Bt.parseRtcpFb);return e.codecs.forEach(o=>{a.forEach(r=>{o.rtcpFeedback.find(l=>l.type===r.type&&l.parameter===r.parameter)||o.rtcpFeedback.push(r)})}),e};Bt.writeRtpDescription=function(i,e){let t="";t+="m="+i+" ",t+=e.codecs.length>0?"9":"0",t+=" "+(e.profile||"UDP/TLS/RTP/SAVPF")+" ",t+=e.codecs.map(a=>a.preferredPayloadType!==void 0?a.preferredPayloadType:a.payloadType).join(" ")+`\r
`,t+=`c=IN IP4 0.0.0.0\r
`,t+=`a=rtcp:9 IN IP4 0.0.0.0\r
`,e.codecs.forEach(a=>{t+=Bt.writeRtpMap(a),t+=Bt.writeFmtp(a),t+=Bt.writeRtcpFb(a)});let n=0;return e.codecs.forEach(a=>{a.maxptime>n&&(n=a.maxptime)}),n>0&&(t+="a=maxptime:"+n+`\r
`),e.headerExtensions&&e.headerExtensions.forEach(a=>{t+=Bt.writeExtmap(a)}),t};Bt.parseRtpEncodingParameters=function(i){let e=[],t=Bt.parseRtpParameters(i),n=t.fecMechanisms.indexOf("RED")!==-1,a=t.fecMechanisms.indexOf("ULPFEC")!==-1,o=Bt.matchPrefix(i,"a=ssrc:").map(d=>Bt.parseSsrcMedia(d)).filter(d=>d.attribute==="cname"),r=o.length>0&&o[0].ssrc,s,l=Bt.matchPrefix(i,"a=ssrc-group:FID").map(d=>d.substring(17).split(" ").map(p=>parseInt(p,10)));l.length>0&&l[0].length>1&&l[0][0]===r&&(s=l[0][1]),t.codecs.forEach(d=>{if(d.name.toUpperCase()==="RTX"&&d.parameters.apt){let u={ssrc:r,codecPayloadType:parseInt(d.parameters.apt,10)};r&&s&&(u.rtx={ssrc:s}),e.push(u),n&&(u=JSON.parse(JSON.stringify(u)),u.fec={ssrc:r,mechanism:a?"red+ulpfec":"red"},e.push(u))}}),e.length===0&&r&&e.push({ssrc:r});let c=Bt.matchPrefix(i,"b=");return c.length&&(c[0].indexOf("b=TIAS:")===0?c=parseInt(c[0].substring(7),10):c[0].indexOf("b=AS:")===0?c=parseInt(c[0].substring(5),10)*1e3*.95-2e3*8:c=void 0,e.forEach(d=>{d.maxBitrate=c})),e};Bt.parseRtcpParameters=function(i){let e={},t=Bt.matchPrefix(i,"a=ssrc:").map(o=>Bt.parseSsrcMedia(o)).filter(o=>o.attribute==="cname")[0];t&&(e.cname=t.value,e.ssrc=t.ssrc);let n=Bt.matchPrefix(i,"a=rtcp-rsize");e.reducedSize=n.length>0,e.compound=n.length===0;let a=Bt.matchPrefix(i,"a=rtcp-mux");return e.mux=a.length>0,e};Bt.writeRtcpParameters=function(i){let e="";return i.reducedSize&&(e+=`a=rtcp-rsize\r
`),i.mux&&(e+=`a=rtcp-mux\r
`),i.ssrc!==void 0&&i.cname&&(e+="a=ssrc:"+i.ssrc+" cname:"+i.cname+`\r
`),e};Bt.parseMsid=function(i){let e,t=Bt.matchPrefix(i,"a=msid:");if(t.length===1)return e=t[0].substring(7).split(" "),{stream:e[0],track:e[1]};let n=Bt.matchPrefix(i,"a=ssrc:").map(a=>Bt.parseSsrcMedia(a)).filter(a=>a.attribute==="msid");if(n.length>0)return e=n[0].value.split(" "),{stream:e[0],track:e[1]}};Bt.parseSctpDescription=function(i){let e=Bt.parseMLine(i),t=Bt.matchPrefix(i,"a=max-message-size:"),n;t.length>0&&(n=parseInt(t[0].substring(19),10)),isNaN(n)&&(n=65536);let a=Bt.matchPrefix(i,"a=sctp-port:");if(a.length>0)return{port:parseInt(a[0].substring(12),10),protocol:e.fmt,maxMessageSize:n};let o=Bt.matchPrefix(i,"a=sctpmap:");if(o.length>0){let r=o[0].substring(10).split(" ");return{port:parseInt(r[0],10),protocol:r[1],maxMessageSize:n}}};Bt.writeSctpDescription=function(i,e){let t=[];return i.protocol!=="DTLS/SCTP"?t=["m="+i.kind+" 9 "+i.protocol+" "+e.protocol+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctp-port:"+e.port+`\r
`]:t=["m="+i.kind+" 9 "+i.protocol+" "+e.port+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctpmap:"+e.port+" "+e.protocol+` 65535\r
`],e.maxMessageSize!==void 0&&t.push("a=max-message-size:"+e.maxMessageSize+`\r
`),t.join("")};Bt.generateSessionId=function(){return Math.random().toString().substr(2,22)};Bt.writeSessionBoilerplate=function(i,e,t){let n,a=e!==void 0?e:2;return i?n=i:n=Bt.generateSessionId(),`v=0\r
o=`+(t||"thisisadapterortc")+" "+n+" "+a+` IN IP4 127.0.0.1\r
s=-\r
t=0 0\r
`};Bt.getDirection=function(i,e){let t=Bt.splitLines(i);for(let n=0;n<t.length;n++)switch(t[n]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return t[n].substring(2);default:}return e?Bt.getDirection(e):"sendrecv"};Bt.getKind=function(i){return Bt.splitLines(i)[0].split(" ")[0].substring(2)};Bt.isRejected=function(i){return i.split(" ",2)[1]==="0"};Bt.parseMLine=function(i){let t=Bt.splitLines(i)[0].substring(2).split(" ");return{kind:t[0],port:parseInt(t[1],10),protocol:t[2],fmt:t.slice(3).join(" ")}};Bt.parseOLine=function(i){let t=Bt.matchPrefix(i,"o=")[0].substring(2).split(" ");return{username:t[0],sessionId:t[1],sessionVersion:parseInt(t[2],10),netType:t[3],addressType:t[4],address:t[5]}};Bt.isValidSDP=function(i){if(typeof i!="string"||i.length===0)return!1;let e=Bt.splitLines(i);for(let t=0;t<e.length;t++)if(e[t].length<2||e[t].charAt(1)!=="=")return!1;return!0};typeof q2=="object"&&(q2.exports=Bt)});var HS={};cu(HS,{GIFEncoder:()=>JB,applyPalette:()=>Z6,default:()=>lH,nearestColor:()=>iH,nearestColorIndex:()=>YB,nearestColorIndexWithDistance:()=>XB,prequantize:()=>J6,quantize:()=>Y6,snapColorsToPalette:()=>tH});var G6={signature:"GIF",version:"89a",trailer:59,extensionIntroducer:33,applicationExtensionLabel:255,graphicControlExtensionLabel:249,imageSeparator:44,signatureSize:3,versionSize:3,globalColorTableFlagMask:128,colorResolutionMask:112,sortFlagMask:8,globalColorTableSizeMask:7,applicationIdentifierSize:8,applicationAuthCodeSize:3,disposalMethodMask:28,userInputFlagMask:2,transparentColorFlagMask:1,localColorTableFlagMask:128,interlaceFlagMask:64,idSortFlagMask:32,localColorTableSizeMask:7};function qB(i=256){let e=0,t=new Uint8Array(i);return{get buffer(){return t.buffer},reset(){e=0},bytesView(){return t.subarray(0,e)},bytes(){return t.slice(0,e)},writeByte(a){n(e+1),t[e]=a,e++},writeBytes(a,o=0,r=a.length){n(e+r);for(let s=0;s<r;s++)t[e++]=a[s+o]},writeBytesView(a,o=0,r=a.byteLength){n(e+r),t.set(a.subarray(o,o+r),e),e+=r}};function n(a){var o=t.length;if(o>=a)return;var r=1024*1024;a=Math.max(a,o*(o<r?2:1.125)>>>0),o!=0&&(a=Math.max(a,256));let s=t;t=new Uint8Array(a),e>0&&t.set(s.subarray(0,e),0)}}var OS=12,NB=5003,q6=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];function W6(i,e,t,n,a=qB(512),o=new Uint8Array(256),r=new Int32Array(NB),s=new Int32Array(NB)){let l=r.length,c=Math.max(2,n);o.fill(0),s.fill(0),r.fill(-1);let d=0,u=0,p=c+1,m=p,_=!1,f=m,g=(1<<f)-1,v=1<<p-1,b=v+1,x=v+2,w=0,E=t[0],y=0;for(let j=l;j<65536;j*=2)++y;y=8-y,a.writeByte(c),R(v);let A=t.length;for(let j=1;j<A;j++)e:{let F=t[j],O=(F<<OS)+E,L=F<<y^E;if(r[L]===O){E=s[L];break e}let U=L===0?1:l-L;for(;r[L]>=0;)if(L-=U,L<0&&(L+=l),r[L]===O){E=s[L];break e}R(E),E=F,x<1<<OS?(s[L]=x++,r[L]=O):(r.fill(-1),x=v+2,_=!0,R(v))}return R(E),R(b),a.writeByte(0),a.bytesView();function R(j){for(d&=q6[u],u>0?d|=j<<u:d=j,u+=f;u>=8;)o[w++]=d&255,w>=254&&(a.writeByte(w),a.writeBytesView(o,0,w),w=0),d>>=8,u-=8;if((x>g||_)&&(_?(f=m,g=(1<<f)-1,_=!1):(++f,g=f===OS?1<<f:(1<<f)-1)),j==b){for(;u>0;)o[w++]=d&255,w>=254&&(a.writeByte(w),a.writeBytesView(o,0,w),w=0),d>>=8,u-=8;w>0&&(a.writeByte(w),a.writeBytesView(o,0,w),w=0)}}}var K6=W6;function WB(i,e,t){return i<<8&63488|e<<2&992|t>>3}function KB(i,e,t,n){return i>>4|e&240|(t&240)<<4|(n&240)<<8}function $B(i,e,t){return i>>4<<8|e&240|t>>4}function Ky(i,e,t){return i<e?e:i>t?t:i}function Hf(i){return i*i}function HB(i,e,t){var n=0,a=1e100;let o=i[e],r=o.cnt,s=o.ac,l=o.rc,c=o.gc,d=o.bc;for(var u=o.fw;u!=0;u=i[u].fw){let m=i[u],_=m.cnt,f=r*_/(r+_);if(!(f>=a)){var p=0;t&&(p+=f*Hf(m.ac-s),p>=a)||(p+=f*Hf(m.rc-l),!(p>=a)&&(p+=f*Hf(m.gc-c),!(p>=a)&&(p+=f*Hf(m.bc-d),!(p>=a)&&(a=p,n=u))))}}o.err=a,o.nn=n}function LS(){return{ac:0,rc:0,gc:0,bc:0,cnt:0,nn:0,fw:0,bk:0,tm:0,mtm:0,err:0}}function $6(i,e){let t=e==="rgb444"?4096:65536,n=new Array(t),a=i.length;if(e==="rgba4444")for(let o=0;o<a;++o){let r=i[o],s=r>>24&255,l=r>>16&255,c=r>>8&255,d=r&255,u=KB(d,c,l,s),p=u in n?n[u]:n[u]=LS();p.rc+=d,p.gc+=c,p.bc+=l,p.ac+=s,p.cnt++}else if(e==="rgb444")for(let o=0;o<a;++o){let r=i[o],s=r>>16&255,l=r>>8&255,c=r&255,d=$B(c,l,s),u=d in n?n[d]:n[d]=LS();u.rc+=c,u.gc+=l,u.bc+=s,u.cnt++}else for(let o=0;o<a;++o){let r=i[o],s=r>>16&255,l=r>>8&255,c=r&255,d=WB(c,l,s),u=d in n?n[d]:n[d]=LS();u.rc+=c,u.gc+=l,u.bc+=s,u.cnt++}return n}function Y6(i,e,t={}){let{format:n="rgb565",clearAlpha:a=!0,clearAlphaColor:o=0,clearAlphaThreshold:r=0,oneBitAlpha:s=!1}=t;if(!i||!i.buffer)throw new Error("quantize() expected RGBA Uint8Array data");if(!(i instanceof Uint8Array)&&!(i instanceof Uint8ClampedArray))throw new Error("quantize() expected RGBA Uint8Array data");let l=new Uint32Array(i.buffer),c=t.useSqrt!==!1,d=n==="rgba4444",u=$6(l,n),p=u.length,m=p-1,_=new Uint32Array(p+1);for(var f=0,g=0;g<p;++g){let J=u[g];if(J!=null){var v=1/J.cnt;d&&(J.ac*=v),J.rc*=v,J.gc*=v,J.bc*=v,u[f++]=J}}Hf(e)/f<.022&&(c=!1);for(var g=0;g<f-1;++g)u[g].fw=g+1,u[g+1].bk=g,c&&(u[g].cnt=Math.sqrt(u[g].cnt));c&&(u[g].cnt=Math.sqrt(u[g].cnt));var b,x,w;for(g=0;g<f;++g){HB(u,g,!1);var E=u[g].err;for(x=++_[0];x>1&&(w=x>>1,!(u[b=_[w]].err<=E));x=w)_[x]=b;_[x]=g}var y=f-e;for(g=0;g<y;){for(var A;;){var R=_[1];if(A=u[R],A.tm>=A.mtm&&u[A.nn].mtm<=A.tm)break;A.mtm==m?R=_[1]=_[_[0]--]:(HB(u,R,!1),A.tm=g);var E=u[R].err;for(x=1;(w=x+x)<=_[0]&&(w<_[0]&&u[_[w]].err>u[_[w+1]].err&&w++,!(E<=u[b=_[w]].err));x=w)_[x]=b;_[x]=R}var j=u[A.nn],F=A.cnt,O=j.cnt,v=1/(F+O);d&&(A.ac=v*(F*A.ac+O*j.ac)),A.rc=v*(F*A.rc+O*j.rc),A.gc=v*(F*A.gc+O*j.gc),A.bc=v*(F*A.bc+O*j.bc),A.cnt+=j.cnt,A.mtm=++g,u[j.bk].fw=j.fw,u[j.fw].bk=j.bk,j.mtm=m}let L=[];var U=0;for(g=0;;++U){let J=Ky(Math.round(u[g].rc),0,255),ie=Ky(Math.round(u[g].gc),0,255),te=Ky(Math.round(u[g].bc),0,255),me=255;d&&(me=Ky(Math.round(u[g].ac),0,255),s&&(me=me<=(typeof s=="number"?s:127)?0:255),a&&me<=r&&(J=ie=te=o,me=0));let Q=d?[J,ie,te,me]:[J,ie,te];if(X6(L,Q)||L.push(Q),(g=u[g].fw)==0)break}return L}function X6(i,e){for(let t=0;t<i.length;t++){let n=i[t],a=n[0]===e[0]&&n[1]===e[1]&&n[2]===e[2],o=n.length>=4&&e.length>=4?n[3]===e[3]:!0;if(a&&o)return!0}return!1}function Yy(i,e){var t=0,n;for(n=0;n<i.length;n++){let a=i[n]-e[n];t+=a*a}return t}function $y(i,e){return e>1?Math.round(i/e)*e:i}function J6(i,{roundRGB:e=5,roundAlpha:t=10,oneBitAlpha:n=null}={}){let a=new Uint32Array(i.buffer);for(let o=0;o<a.length;o++){let r=a[o],s=r>>24&255,l=r>>16&255,c=r>>8&255,d=r&255;s=$y(s,t),n&&(s=s<=(typeof n=="number"?n:127)?0:255),d=$y(d,e),c=$y(c,e),l=$y(l,e),a[o]=s<<24|l<<16|c<<8|d<<0}}function Z6(i,e,t="rgb565"){if(!i||!i.buffer)throw new Error("quantize() expected RGBA Uint8Array data");if(!(i instanceof Uint8Array)&&!(i instanceof Uint8ClampedArray))throw new Error("quantize() expected RGBA Uint8Array data");if(e.length>256)throw new Error("applyPalette() only works with 256 colors or less");let n=new Uint32Array(i.buffer),a=n.length,o=t==="rgb444"?4096:65536,r=new Uint8Array(a),s=new Array(o),l=t==="rgba4444";if(t==="rgba4444")for(let c=0;c<a;c++){let d=n[c],u=d>>24&255,p=d>>16&255,m=d>>8&255,_=d&255,f=KB(_,m,p,u),g=f in s?s[f]:s[f]=Q6(_,m,p,u,e);r[c]=g}else{let c=t==="rgb444"?$B:WB;for(let d=0;d<a;d++){let u=n[d],p=u>>16&255,m=u>>8&255,_=u&255,f=c(_,m,p),g=f in s?s[f]:s[f]=eH(_,m,p,e);r[d]=g}}return r}function Q6(i,e,t,n,a){let o=0,r=1e100;for(let s=0;s<a.length;s++){let l=a[s],c=l[3],d=Tp(c-n);if(d>r)continue;let u=l[0];if(d+=Tp(u-i),d>r)continue;let p=l[1];if(d+=Tp(p-e),d>r)continue;let m=l[2];d+=Tp(m-t),!(d>r)&&(r=d,o=s)}return o}function eH(i,e,t,n){let a=0,o=1e100;for(let r=0;r<n.length;r++){let s=n[r],l=s[0],c=Tp(l-i);if(c>o)continue;let d=s[1];if(c+=Tp(d-e),c>o)continue;let u=s[2];c+=Tp(u-t),!(c>o)&&(o=c,a=r)}return a}function tH(i,e,t=5){if(!i.length||!e.length)return;let n=i.map(r=>r.slice(0,3)),a=t*t,o=i[0].length;for(let r=0;r<e.length;r++){let s=e[r];s.length<o?s=[s[0],s[1],s[2],255]:s.length>o?s=s.slice(0,3):s=s.slice();let l=XB(n,s.slice(0,3),Yy),c=l[0],d=l[1];d>0&&d<=a&&(i[c]=s)}}function Tp(i){return i*i}function YB(i,e,t=Yy){let n=1/0,a=-1;for(let o=0;o<i.length;o++){let r=i[o],s=t(e,r);s<n&&(n=s,a=o)}return a}function XB(i,e,t=Yy){let n=1/0,a=-1;for(let o=0;o<i.length;o++){let r=i[o],s=t(e,r);s<n&&(n=s,a=o)}return[a,n]}function iH(i,e,t=Yy){return i[YB(i,e,t)]}function JB(i={}){let{initialCapacity:e=4096,auto:t=!0}=i,n=qB(e),a=5003,o=new Uint8Array(256),r=new Int32Array(a),s=new Int32Array(a),l=!1;return{reset(){n.reset(),l=!1},finish(){n.writeByte(G6.trailer)},bytes(){return n.bytes()},bytesView(){return n.bytesView()},get buffer(){return n.buffer},get stream(){return n},writeHeader:c,writeFrame(d,u,p,m={}){let{transparent:_=!1,transparentIndex:f=0,delay:g=0,palette:v=null,repeat:b=0,colorDepth:x=8,dispose:w=-1}=m,E=!1;if(t?l||(E=!0,c(),l=!0):E=!!m.first,u=Math.max(0,Math.floor(u)),p=Math.max(0,Math.floor(p)),E){if(!v)throw new Error("First frame must include a { palette } option");aH(n,u,p,v,x),GB(n,v),b>=0&&oH(n,b)}let y=Math.round(g/10);nH(n,w,y,_,f);let A=!!v&&!E;rH(n,u,p,A?v:null),A&&GB(n,v),sH(n,d,u,p,x,o,r,s)}};function c(){ZB(n,"GIF89a")}}function nH(i,e,t,n,a){i.writeByte(33),i.writeByte(249),i.writeByte(4),a<0&&(a=0,n=!1);var o,r;n?(o=1,r=2):(o=0,r=0),e>=0&&(r=e&7),r<<=2,i.writeByte(0|r|0|o),du(i,t),i.writeByte(a||0),i.writeByte(0)}function aH(i,e,t,n,a=8){let o=1,r=0,s=NS(n.length)-1,l=o<<7|a-1<<4|r<<3|s;du(i,e),du(i,t),i.writeBytes([l,0,0])}function oH(i,e){i.writeByte(33),i.writeByte(255),i.writeByte(11),ZB(i,"NETSCAPE2.0"),i.writeByte(3),i.writeByte(1),du(i,e),i.writeByte(0)}function GB(i,e){let t=1<<NS(e.length);for(let n=0;n<t;n++){let a=[0,0,0];n<e.length&&(a=e[n]),i.writeByte(a[0]),i.writeByte(a[1]),i.writeByte(a[2])}}function rH(i,e,t,n){if(i.writeByte(44),du(i,0),du(i,0),du(i,e),du(i,t),n){let a=0,o=0,r=NS(n.length)-1;i.writeByte(128|a|o|0|r)}else i.writeByte(0)}function sH(i,e,t,n,a=8,o,r,s){K6(t,n,e,a,i,o,r,s)}function du(i,e){i.writeByte(e&255),i.writeByte(e>>8&255)}function ZB(i,e){for(var t=0;t<e.length;t++)i.writeByte(e.charCodeAt(t))}function NS(i){return Math.max(Math.ceil(Math.log2(i)),1)}var lH=JB;var fA=Vl(eR(),1);var rm={};cu(rm,{ACESFilmicToneMapping:()=>$j,AddEquation:()=>Vp,AddOperation:()=>Gj,AdditiveAnimationBlendMode:()=>wE,AdditiveBlending:()=>lg,AlphaFormat:()=>i3,AlwaysDepth:()=>Vj,AlwaysStencilFunc:()=>X3,AmbientLight:()=>cv,AmbientLightProbe:()=>wk,AnimationClip:()=>Yp,AnimationLoader:()=>Kz,AnimationMixer:()=>Tk,AnimationObjectGroup:()=>Mk,AnimationUtils:()=>Ia,ArcCurve:()=>ev,ArrayCamera:()=>yg,ArrowHelper:()=>hE,Audio:()=>fv,AudioAnalyser:()=>zk,AudioContext:()=>AE,AudioListener:()=>Qz,AudioLoader:()=>xk,AxesHelper:()=>Dk,AxisHelper:()=>G7,BackSide:()=>Fo,BasicDepthPacking:()=>K3,BasicShadowMap:()=>mH,BinaryTextureLoader:()=>Y7,Bone:()=>ih,BooleanKeyframeTrack:()=>Ed,BoundingBoxHelper:()=>q7,Box2:()=>Ru,Box3:()=>Or,Box3Helper:()=>mE,BoxBufferGeometry:()=>Su,BoxGeometry:()=>Su,BoxHelper:()=>Ik,BufferAttribute:()=>un,BufferGeometry:()=>Ki,BufferGeometryLoader:()=>vk,ByteType:()=>Xj,Cache:()=>Xp,Camera:()=>Hp,CameraHelper:()=>pE,CanvasRenderer:()=>J7,CanvasTexture:()=>ak,CatmullRomCurve3:()=>tv,CineonToneMapping:()=>Kj,CircleBufferGeometry:()=>Eg,CircleGeometry:()=>Eg,ClampToEdgeWrapping:()=>zr,Clock:()=>Sk,Color:()=>si,ColorKeyframeTrack:()=>Zg,CompressedTexture:()=>zg,CompressedTextureLoader:()=>$z,ConeBufferGeometry:()=>Mg,ConeGeometry:()=>Mg,CubeCamera:()=>$_,CubeReflectionMapping:()=>vv,CubeRefractionMapping:()=>bv,CubeTexture:()=>zu,CubeTextureLoader:()=>ck,CubeUVReflectionMapping:()=>ch,CubeUVRefractionMapping:()=>yv,CubicBezierCurve:()=>Td,CubicBezierCurve3:()=>iv,CubicInterpolant:()=>rk,CullFaceBack:()=>zz,CullFaceFront:()=>kj,CullFaceFrontBack:()=>pH,CullFaceNone:()=>xj,Curve:()=>is,CurvePath:()=>mk,CustomBlending:()=>Sj,CustomToneMapping:()=>Yj,CylinderBufferGeometry:()=>Wp,CylinderGeometry:()=>Wp,Cylindrical:()=>rE,DataTexture:()=>Tu,DataTexture2DArray:()=>vg,DataTexture3D:()=>bg,DataTextureLoader:()=>dk,DataUtils:()=>fE,DecrementStencilOp:()=>SH,DecrementWrapStencilOp:()=>EH,DefaultLoadingManager:()=>fI,DepthFormat:()=>Lp,DepthStencilFormat:()=>N_,DepthTexture:()=>ok,DirectionalLight:()=>lv,DirectionalLightHelper:()=>uE,DiscreteInterpolant:()=>sk,DodecahedronBufferGeometry:()=>Tg,DodecahedronGeometry:()=>Tg,DoubleSide:()=>nm,DstAlphaFactor:()=>Pj,DstColorFactor:()=>Rj,DynamicBufferAttribute:()=>j7,DynamicCopyUsage:()=>OH,DynamicDrawUsage:()=>G_,DynamicReadUsage:()=>VH,EdgesGeometry:()=>Ag,EdgesHelper:()=>W7,EllipseCurve:()=>Jp,EqualDepth:()=>Uj,EqualStencilFunc:()=>CH,EquirectangularReflectionMapping:()=>Lx,EquirectangularRefractionMapping:()=>Nx,Euler:()=>kd,EventDispatcher:()=>Mc,ExtrudeBufferGeometry:()=>Ac,ExtrudeGeometry:()=>Ac,FaceColors:()=>w7,FileLoader:()=>gl,FlatShading:()=>bE,Float16BufferAttribute:()=>Zx,Float32Attribute:()=>N7,Float32BufferAttribute:()=>_i,Float64Attribute:()=>H7,Float64BufferAttribute:()=>Qx,FloatType:()=>vd,Fog:()=>kg,FogExp2:()=>xg,Font:()=>hv,FontLoader:()=>Jz,FrontSide:()=>wu,Frustum:()=>Gp,GLBufferAttribute:()=>Pk,GLSL1:()=>NH,GLSL3:()=>Oz,GammaEncoding:()=>Uk,GreaterDepth:()=>Lj,GreaterEqualDepth:()=>Oj,GreaterEqualStencilFunc:()=>jH,GreaterStencilFunc:()=>BH,GridHelper:()=>jk,Group:()=>bd,HalfFloatType:()=>pg,HemisphereLight:()=>av,HemisphereLightHelper:()=>cE,HemisphereLightProbe:()=>kk,IcosahedronBufferGeometry:()=>Rg,IcosahedronGeometry:()=>Rg,ImageBitmapLoader:()=>bk,ImageLoader:()=>sh,ImageUtils:()=>xd,ImmediateRenderObject:()=>Bk,IncrementStencilOp:()=>wH,IncrementWrapStencilOp:()=>zH,InstancedBufferAttribute:()=>_v,InstancedBufferGeometry:()=>mv,InstancedInterleavedBuffer:()=>Ck,InstancedMesh:()=>wg,Int16Attribute:()=>F7,Int16BufferAttribute:()=>Xx,Int32Attribute:()=>O7,Int32BufferAttribute:()=>Jx,Int8Attribute:()=>I7,Int8BufferAttribute:()=>Kx,IntType:()=>Zj,InterleavedBuffer:()=>wd,InterleavedBufferAttribute:()=>Mu,Interpolant:()=>ql,InterpolateDiscrete:()=>mg,InterpolateLinear:()=>_g,InterpolateSmooth:()=>Fx,InvertStencilOp:()=>MH,JSONLoader:()=>Z7,KeepStencilOp:()=>Ux,KeyframeTrack:()=>Gs,LOD:()=>tk,LatheBufferGeometry:()=>jg,LatheGeometry:()=>jg,Layers:()=>gg,LensFlare:()=>eK,LessDepth:()=>Fj,LessEqualDepth:()=>Ox,LessEqualStencilFunc:()=>PH,LessStencilFunc:()=>AH,Light:()=>qs,LightProbe:()=>tm,Line:()=>Gl,Line3:()=>im,LineBasicMaterial:()=>No,LineCurve:()=>Zp,LineCurve3:()=>pk,LineDashedMaterial:()=>Xg,LineLoop:()=>Sg,LinePieces:()=>x7,LineSegments:()=>Nr,LineStrip:()=>y7,LinearEncoding:()=>es,LinearFilter:()=>rr,LinearInterpolant:()=>Jg,LinearMipMapLinearFilter:()=>vH,LinearMipMapNearestFilter:()=>gH,LinearMipmapLinearFilter:()=>am,LinearMipmapNearestFilter:()=>kE,LinearToneMapping:()=>qj,Loader:()=>pr,LoaderUtils:()=>pv,LoadingManager:()=>Qg,LogLuvEncoding:()=>W3,LoopOnce:()=>N3,LoopPingPong:()=>G3,LoopRepeat:()=>H3,LuminanceAlphaFormat:()=>a3,LuminanceFormat:()=>n3,MOUSE:()=>dH,Material:()=>Lo,MaterialLoader:()=>gk,Math:()=>i8,MathUtils:()=>i8,Matrix3:()=>Eo,Matrix4:()=>Ti,MaxEquation:()=>Az,Mesh:()=>Ga,MeshBasicMaterial:()=>Hl,MeshDepthMaterial:()=>X_,MeshDistanceMaterial:()=>J_,MeshFaceMaterial:()=>z7,MeshLambertMaterial:()=>$g,MeshMatcapMaterial:()=>Yg,MeshNormalMaterial:()=>Kg,MeshPhongMaterial:()=>qg,MeshPhysicalMaterial:()=>Gg,MeshStandardMaterial:()=>rh,MeshToonMaterial:()=>Wg,MinEquation:()=>Tz,MirroredRepeatWrapping:()=>dg,MixOperation:()=>Hj,MultiMaterial:()=>E7,MultiplyBlending:()=>Mz,MultiplyOperation:()=>gv,NearestFilter:()=>no,NearestMipMapLinearFilter:()=>fH,NearestMipMapNearestFilter:()=>hH,NearestMipmapLinearFilter:()=>Gx,NearestMipmapNearestFilter:()=>Hx,NeverDepth:()=>Dj,NeverStencilFunc:()=>TH,NoBlending:()=>yd,NoColors:()=>k7,NoToneMapping:()=>Op,NormalAnimationBlendMode:()=>Fk,NormalBlending:()=>bu,NotEqualDepth:()=>Nj,NotEqualStencilFunc:()=>RH,NumberKeyframeTrack:()=>Kp,Object3D:()=>pn,ObjectLoader:()=>Xz,ObjectSpaceNormalMap:()=>Y3,OctahedronBufferGeometry:()=>nh,OctahedronGeometry:()=>nh,OneFactor:()=>Tj,OneMinusDstAlphaFactor:()=>Bj,OneMinusDstColorFactor:()=>jj,OneMinusSrcAlphaFactor:()=>xE,OneMinusSrcColorFactor:()=>Cj,OrthographicCamera:()=>em,PCFShadowMap:()=>vE,PCFSoftShadowMap:()=>wj,PMREMGenerator:()=>gE,ParametricBufferGeometry:()=>Ig,ParametricGeometry:()=>Ig,Particle:()=>T7,ParticleBasicMaterial:()=>P7,ParticleSystem:()=>A7,ParticleSystemMaterial:()=>B7,Path:()=>Qp,PerspectiveCamera:()=>Uo,Plane:()=>Ur,PlaneBufferGeometry:()=>Eu,PlaneGeometry:()=>Eu,PlaneHelper:()=>_E,PointCloud:()=>M7,PointCloudMaterial:()=>C7,PointLight:()=>sv,PointLightHelper:()=>lE,Points:()=>qp,PointsMaterial:()=>Sd,PolarGridHelper:()=>dE,PolyhedronBufferGeometry:()=>zd,PolyhedronGeometry:()=>zd,PositionalAudio:()=>eE,PropertyBinding:()=>pa,PropertyMixer:()=>Ek,QuadraticBezierCurve:()=>lh,QuadraticBezierCurve3:()=>nv,Quaternion:()=>Da,QuaternionKeyframeTrack:()=>Pu,QuaternionLinearInterpolant:()=>lk,REVISION:()=>cH,RGBADepthPacking:()=>$3,RGBAFormat:()=>Os,RGBAIntegerFormat:()=>u3,RGBA_ASTC_10x10_Format:()=>S3,RGBA_ASTC_10x5_Format:()=>x3,RGBA_ASTC_10x6_Format:()=>k3,RGBA_ASTC_10x8_Format:()=>w3,RGBA_ASTC_12x10_Format:()=>z3,RGBA_ASTC_12x12_Format:()=>E3,RGBA_ASTC_4x4_Format:()=>m3,RGBA_ASTC_5x4_Format:()=>_3,RGBA_ASTC_5x5_Format:()=>h3,RGBA_ASTC_6x5_Format:()=>f3,RGBA_ASTC_6x6_Format:()=>g3,RGBA_ASTC_8x5_Format:()=>v3,RGBA_ASTC_8x6_Format:()=>b3,RGBA_ASTC_8x8_Format:()=>y3,RGBA_BPTC_Format:()=>M3,RGBA_ETC2_EAC_Format:()=>Uz,RGBA_PVRTC_2BPPV1_Format:()=>Vz,RGBA_PVRTC_4BPPV1_Format:()=>Dz,RGBA_S3TC_DXT1_Format:()=>Pz,RGBA_S3TC_DXT3_Format:()=>Bz,RGBA_S3TC_DXT5_Format:()=>Rz,RGBDEncoding:()=>EE,RGBEEncoding:()=>Ok,RGBEFormat:()=>o3,RGBFormat:()=>yu,RGBIntegerFormat:()=>d3,RGBM16Encoding:()=>zE,RGBM7Encoding:()=>SE,RGB_ETC1_Format:()=>p3,RGB_ETC2_Format:()=>Fz,RGB_PVRTC_2BPPV1_Format:()=>Iz,RGB_PVRTC_4BPPV1_Format:()=>jz,RGB_S3TC_DXT1_Format:()=>Cz,RGFormat:()=>l3,RGIntegerFormat:()=>c3,RawShaderMaterial:()=>Cu,Ray:()=>Tc,Raycaster:()=>nE,RectAreaLight:()=>dv,RedFormat:()=>r3,RedIntegerFormat:()=>s3,ReinhardToneMapping:()=>Wj,RepeatWrapping:()=>cg,ReplaceStencilOp:()=>kH,ReverseSubtractEquation:()=>Ej,RingBufferGeometry:()=>Dg,RingGeometry:()=>Dg,SRGB8_ALPHA8_ASTC_10x10_Format:()=>U3,SRGB8_ALPHA8_ASTC_10x5_Format:()=>D3,SRGB8_ALPHA8_ASTC_10x6_Format:()=>V3,SRGB8_ALPHA8_ASTC_10x8_Format:()=>F3,SRGB8_ALPHA8_ASTC_12x10_Format:()=>O3,SRGB8_ALPHA8_ASTC_12x12_Format:()=>L3,SRGB8_ALPHA8_ASTC_4x4_Format:()=>T3,SRGB8_ALPHA8_ASTC_5x4_Format:()=>A3,SRGB8_ALPHA8_ASTC_5x5_Format:()=>C3,SRGB8_ALPHA8_ASTC_6x5_Format:()=>P3,SRGB8_ALPHA8_ASTC_6x6_Format:()=>B3,SRGB8_ALPHA8_ASTC_8x5_Format:()=>R3,SRGB8_ALPHA8_ASTC_8x6_Format:()=>j3,SRGB8_ALPHA8_ASTC_8x8_Format:()=>I3,Scene:()=>Z_,SceneUtils:()=>Q7,ShaderChunk:()=>Bn,ShaderLib:()=>Nl,ShaderMaterial:()=>Hs,ShadowMaterial:()=>Hg,Shape:()=>Ec,ShapeBufferGeometry:()=>ah,ShapeGeometry:()=>ah,ShapePath:()=>yk,ShapeUtils:()=>zc,ShortType:()=>Jj,Skeleton:()=>ik,SkeletonHelper:()=>Rk,SkinnedMesh:()=>th,SmoothShading:()=>_H,Sphere:()=>fl,SphereBufferGeometry:()=>oh,SphereGeometry:()=>oh,Spherical:()=>oE,SphericalHarmonics3:()=>uv,SplineCurve:()=>Bu,SpotLight:()=>rv,SpotLightHelper:()=>sE,Sprite:()=>eh,SpriteMaterial:()=>Q_,SrcAlphaFactor:()=>yE,SrcAlphaSaturateFactor:()=>Ij,SrcColorFactor:()=>Aj,StaticCopyUsage:()=>UH,StaticDrawUsage:()=>H_,StaticReadUsage:()=>DH,StereoCamera:()=>Zz,StreamCopyUsage:()=>LH,StreamDrawUsage:()=>IH,StreamReadUsage:()=>FH,StringKeyframeTrack:()=>Md,SubtractEquation:()=>zj,SubtractiveBlending:()=>Ez,TOUCH:()=>uH,TangentSpaceNormalMap:()=>om,TetrahedronBufferGeometry:()=>Vg,TetrahedronGeometry:()=>Vg,TextBufferGeometry:()=>Fg,TextGeometry:()=>Fg,Texture:()=>Oo,TextureLoader:()=>uk,TorusBufferGeometry:()=>Ug,TorusGeometry:()=>Ug,TorusKnotBufferGeometry:()=>Og,TorusKnotGeometry:()=>Og,Triangle:()=>Er,TriangleFanDrawMode:()=>yH,TriangleStripDrawMode:()=>bH,TrianglesDrawMode:()=>q3,TubeBufferGeometry:()=>Lg,TubeGeometry:()=>Lg,UVMapping:()=>Vk,Uint16Attribute:()=>U7,Uint16BufferAttribute:()=>q_,Uint32Attribute:()=>L7,Uint32BufferAttribute:()=>W_,Uint8Attribute:()=>D7,Uint8BufferAttribute:()=>$x,Uint8ClampedAttribute:()=>V7,Uint8ClampedBufferAttribute:()=>Yx,Uniform:()=>Ak,UniformsLib:()=>Qt,UniformsUtils:()=>tI,UnsignedByteType:()=>dh,UnsignedInt248Type:()=>O_,UnsignedIntType:()=>ng,UnsignedShort4444Type:()=>Qj,UnsignedShort5551Type:()=>e3,UnsignedShort565Type:()=>t3,UnsignedShortType:()=>ug,VSMShadowMap:()=>F_,Vector2:()=>zt,Vector3:()=>we,Vector4:()=>Kn,VectorKeyframeTrack:()=>$p,Vertex:()=>R7,VertexColors:()=>S7,VideoTexture:()=>nk,WebGL1Renderer:()=>ek,WebGLCubeRenderTarget:()=>Y_,WebGLMultipleRenderTargets:()=>qx,WebGLMultisampleRenderTarget:()=>Wx,WebGLRenderTarget:()=>Ns,WebGLRenderTargetCube:()=>X7,WebGLRenderer:()=>ba,WebGLUtils:()=>uI,WireframeGeometry:()=>Ng,WireframeHelper:()=>K7,WrapAroundEnding:()=>hg,XHRLoader:()=>$7,ZeroCurvatureEnding:()=>Fp,ZeroFactor:()=>Mj,ZeroSlopeEnding:()=>Up,ZeroStencilOp:()=>xH,sRGBEncoding:()=>xv});var cH="129",dH={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},uH={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},xj=0,zz=1,kj=2,pH=3,mH=0,vE=1,wj=2,F_=3,wu=0,Fo=1,nm=2,bE=1,_H=2,yd=0,bu=1,lg=2,Ez=3,Mz=4,Sj=5,Vp=100,zj=101,Ej=102,Tz=103,Az=104,Mj=200,Tj=201,Aj=202,Cj=203,yE=204,xE=205,Pj=206,Bj=207,Rj=208,jj=209,Ij=210,Dj=0,Vj=1,Fj=2,Ox=3,Uj=4,Oj=5,Lj=6,Nj=7,gv=0,Hj=1,Gj=2,Op=0,qj=1,Wj=2,Kj=3,$j=4,Yj=5,Vk=300,vv=301,bv=302,Lx=303,Nx=304,ch=306,yv=307,cg=1e3,zr=1001,dg=1002,no=1003,Hx=1004,hH=1004,Gx=1005,fH=1005,rr=1006,kE=1007,gH=1007,am=1008,vH=1008,dh=1009,Xj=1010,Jj=1011,ug=1012,Zj=1013,ng=1014,vd=1015,pg=1016,Qj=1017,e3=1018,t3=1019,O_=1020,i3=1021,yu=1022,Os=1023,n3=1024,a3=1025,o3=Os,Lp=1026,N_=1027,r3=1028,s3=1029,l3=1030,c3=1031,d3=1032,u3=1033,Cz=33776,Pz=33777,Bz=33778,Rz=33779,jz=35840,Iz=35841,Dz=35842,Vz=35843,p3=36196,Fz=37492,Uz=37496,m3=37808,_3=37809,h3=37810,f3=37811,g3=37812,v3=37813,b3=37814,y3=37815,x3=37816,k3=37817,w3=37818,S3=37819,z3=37820,E3=37821,M3=36492,T3=37840,A3=37841,C3=37842,P3=37843,B3=37844,R3=37845,j3=37846,I3=37847,D3=37848,V3=37849,F3=37850,U3=37851,O3=37852,L3=37853,N3=2200,H3=2201,G3=2202,mg=2300,_g=2301,Fx=2302,Fp=2400,Up=2401,hg=2402,Fk=2500,wE=2501,q3=0,bH=1,yH=2,es=3e3,xv=3001,Uk=3007,Ok=3002,W3=3003,SE=3004,zE=3005,EE=3006,K3=3200,$3=3201,om=0,Y3=1,xH=0,Ux=7680,kH=7681,wH=7682,SH=7683,zH=34055,EH=34056,MH=5386,TH=512,AH=513,CH=514,PH=515,BH=516,RH=517,jH=518,X3=519,H_=35044,G_=35048,IH=35040,DH=35045,VH=35049,FH=35041,UH=35046,OH=35050,LH=35042,NH="100",Oz="300 es",Mc=class{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});let n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;let n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;let a=this._listeners[e];if(a!==void 0){let o=a.indexOf(t);o!==-1&&a.splice(o,1)}}dispatchEvent(e){if(this._listeners===void 0)return;let n=this._listeners[e.type];if(n!==void 0){e.target=this;let a=n.slice(0);for(let o=0,r=a.length;o<r;o++)a[o].call(this,e);e.target=null}}},wr=[];for(let i=0;i<256;i++)wr[i]=(i<16?"0":"")+i.toString(16);var Jy=1234567,Np=Math.PI/180,fg=180/Math.PI;function Ls(){let i=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,n=Math.random()*4294967295|0;return(wr[i&255]+wr[i>>8&255]+wr[i>>16&255]+wr[i>>24&255]+"-"+wr[e&255]+wr[e>>8&255]+"-"+wr[e>>16&15|64]+wr[e>>24&255]+"-"+wr[t&63|128]+wr[t>>8&255]+"-"+wr[t>>16&255]+wr[t>>24&255]+wr[n&255]+wr[n>>8&255]+wr[n>>16&255]+wr[n>>24&255]).toUpperCase()}function Sr(i,e,t){return Math.max(e,Math.min(t,i))}function ME(i,e){return(i%e+e)%e}function HH(i,e,t,n,a){return n+(i-e)*(a-n)/(t-e)}function GH(i,e,t){return i!==e?(t-i)/(e-i):0}function ag(i,e,t){return(1-t)*i+t*e}function qH(i,e,t,n){return ag(i,e,1-Math.exp(-t*n))}function WH(i,e=1){return e-Math.abs(ME(i,e*2)-e)}function KH(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function $H(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function YH(i,e){return i+Math.floor(Math.random()*(e-i+1))}function XH(i,e){return i+Math.random()*(e-i)}function JH(i){return i*(.5-Math.random())}function ZH(i){return i!==void 0&&(Jy=i%2147483647),Jy=Jy*16807%2147483647,(Jy-1)/2147483646}function QH(i){return i*Np}function e8(i){return i*fg}function Lz(i){return(i&i-1)===0&&i!==0}function J3(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function Z3(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function t8(i,e,t,n,a){let o=Math.cos,r=Math.sin,s=o(t/2),l=r(t/2),c=o((e+n)/2),d=r((e+n)/2),u=o((e-n)/2),p=r((e-n)/2),m=o((n-e)/2),_=r((n-e)/2);switch(a){case"XYX":i.set(s*d,l*u,l*p,s*c);break;case"YZY":i.set(l*p,s*d,l*u,s*c);break;case"ZXZ":i.set(l*u,l*p,s*d,s*c);break;case"XZX":i.set(s*d,l*_,l*m,s*c);break;case"YXY":i.set(l*m,s*d,l*_,s*c);break;case"ZYZ":i.set(l*_,l*m,s*d,s*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+a)}}var i8=Object.freeze({__proto__:null,DEG2RAD:Np,RAD2DEG:fg,generateUUID:Ls,clamp:Sr,euclideanModulo:ME,mapLinear:HH,inverseLerp:GH,lerp:ag,damp:qH,pingpong:WH,smoothstep:KH,smootherstep:$H,randInt:YH,randFloat:XH,randFloatSpread:JH,seededRandom:ZH,degToRad:QH,radToDeg:e8,isPowerOfTwo:Lz,ceilPowerOfTwo:J3,floorPowerOfTwo:Z3,setQuaternionFromProperEuler:t8}),zt=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,a=e.elements;return this.x=a[0]*t+a[3]*n+a[6],this.y=a[1]*t+a[4]*n+a[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),a=Math.sin(t),o=this.x-e.x,r=this.y-e.y;return this.x=o*n-r*a+e.x,this.y=o*a+r*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}};zt.prototype.isVector2=!0;var Eo=class{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,a,o,r,s,l,c){let d=this.elements;return d[0]=e,d[1]=a,d[2]=s,d[3]=t,d[4]=o,d[5]=l,d[6]=n,d[7]=r,d[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,a=t.elements,o=this.elements,r=n[0],s=n[3],l=n[6],c=n[1],d=n[4],u=n[7],p=n[2],m=n[5],_=n[8],f=a[0],g=a[3],v=a[6],b=a[1],x=a[4],w=a[7],E=a[2],y=a[5],A=a[8];return o[0]=r*f+s*b+l*E,o[3]=r*g+s*x+l*y,o[6]=r*v+s*w+l*A,o[1]=c*f+d*b+u*E,o[4]=c*g+d*x+u*y,o[7]=c*v+d*w+u*A,o[2]=p*f+m*b+_*E,o[5]=p*g+m*x+_*y,o[8]=p*v+m*w+_*A,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],a=e[2],o=e[3],r=e[4],s=e[5],l=e[6],c=e[7],d=e[8];return t*r*d-t*s*c-n*o*d+n*s*l+a*o*c-a*r*l}invert(){let e=this.elements,t=e[0],n=e[1],a=e[2],o=e[3],r=e[4],s=e[5],l=e[6],c=e[7],d=e[8],u=d*r-s*c,p=s*l-d*o,m=c*o-r*l,_=t*u+n*p+a*m;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);let f=1/_;return e[0]=u*f,e[1]=(a*c-d*n)*f,e[2]=(s*n-a*r)*f,e[3]=p*f,e[4]=(d*t-a*l)*f,e[5]=(a*o-s*t)*f,e[6]=m*f,e[7]=(n*l-c*t)*f,e[8]=(r*t-n*o)*f,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,a,o,r,s){let l=Math.cos(o),c=Math.sin(o);return this.set(n*l,n*c,-n*(l*r+c*s)+r+e,-a*c,a*l,-a*(-c*r+l*s)+s+t,0,0,1),this}scale(e,t){let n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this}rotate(e){let t=Math.cos(e),n=Math.sin(e),a=this.elements,o=a[0],r=a[3],s=a[6],l=a[1],c=a[4],d=a[7];return a[0]=t*o+n*l,a[3]=t*r+n*c,a[6]=t*s+n*d,a[1]=-n*o+t*l,a[4]=-n*r+t*c,a[7]=-n*s+t*d,this}translate(e,t){let n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this}equals(e){let t=this.elements,n=e.elements;for(let a=0;a<9;a++)if(t[a]!==n[a])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}};Eo.prototype.isMatrix3=!0;var b_,xd=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{b_===void 0&&(b_=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),b_.width=e.width,b_.height=e.height;let n=b_.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=b_}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}},n8=0,Oo=class i extends Mc{constructor(e=i.DEFAULT_IMAGE,t=i.DEFAULT_MAPPING,n=zr,a=zr,o=rr,r=am,s=Os,l=dh,c=1,d=es){super(),Object.defineProperty(this,"id",{value:n8++}),this.uuid=Ls(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=a,this.magFilter=o,this.minFilter=r,this.anisotropy=c,this.format=s,this.internalFormat=null,this.type=l,this.offset=new zt(0,0),this.repeat=new zt(1,1),this.center=new zt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Eo,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=d,this.version=0,this.onUpdate=null}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this}toJSON(e){let t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(this.image!==void 0){let a=this.image;if(a.uuid===void 0&&(a.uuid=Ls()),!t&&e.images[a.uuid]===void 0){let o;if(Array.isArray(a)){o=[];for(let r=0,s=a.length;r<s;r++)a[r].isDataTexture?o.push(GS(a[r].image)):o.push(GS(a[r]))}else o=GS(a);e.images[a.uuid]={uuid:a.uuid,url:o}}n.image=a.uuid}return t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Vk)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case cg:e.x=e.x-Math.floor(e.x);break;case zr:e.x=e.x<0?0:1;break;case dg:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case cg:e.y=e.y-Math.floor(e.y);break;case zr:e.y=e.y<0?0:1;break;case dg:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};Oo.DEFAULT_IMAGE=void 0;Oo.DEFAULT_MAPPING=Vk;Oo.prototype.isTexture=!0;function GS(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&i instanceof ImageBitmap?xd.getDataURL(i):i.data?{data:Array.prototype.slice.call(i.data),width:i.width,height:i.height,type:i.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var Kn=class{constructor(e=0,t=0,n=0,a=1){this.x=e,this.y=t,this.z=n,this.w=a}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,a){return this.x=e,this.y=t,this.z=n,this.w=a,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,a=this.z,o=this.w,r=e.elements;return this.x=r[0]*t+r[4]*n+r[8]*a+r[12]*o,this.y=r[1]*t+r[5]*n+r[9]*a+r[13]*o,this.z=r[2]*t+r[6]*n+r[10]*a+r[14]*o,this.w=r[3]*t+r[7]*n+r[11]*a+r[15]*o,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,a,o,l=e.elements,c=l[0],d=l[4],u=l[8],p=l[1],m=l[5],_=l[9],f=l[2],g=l[6],v=l[10];if(Math.abs(d-p)<.01&&Math.abs(u-f)<.01&&Math.abs(_-g)<.01){if(Math.abs(d+p)<.1&&Math.abs(u+f)<.1&&Math.abs(_+g)<.1&&Math.abs(c+m+v-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;let x=(c+1)/2,w=(m+1)/2,E=(v+1)/2,y=(d+p)/4,A=(u+f)/4,R=(_+g)/4;return x>w&&x>E?x<.01?(n=0,a=.707106781,o=.707106781):(n=Math.sqrt(x),a=y/n,o=A/n):w>E?w<.01?(n=.707106781,a=0,o=.707106781):(a=Math.sqrt(w),n=y/a,o=R/a):E<.01?(n=.707106781,a=.707106781,o=0):(o=Math.sqrt(E),n=A/o,a=R/o),this.set(n,a,o,t),this}let b=Math.sqrt((g-_)*(g-_)+(u-f)*(u-f)+(p-d)*(p-d));return Math.abs(b)<.001&&(b=1),this.x=(g-_)/b,this.y=(u-f)/b,this.z=(p-d)/b,this.w=Math.acos((c+m+v-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}};Kn.prototype.isVector4=!0;var Ns=class extends Mc{constructor(e,t,n){super(),this.width=e,this.height=t,this.depth=1,this.scissor=new Kn(0,0,e,t),this.scissorTest=!1,this.viewport=new Kn(0,0,e,t),n=n||{},this.texture=new Oo(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.image={},this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=1,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:rr,this.depthBuffer=n.depthBuffer!==void 0?n.depthBuffer:!0,this.stencilBuffer=n.stencilBuffer!==void 0?n.stencilBuffer:!1,this.depthTexture=n.depthTexture!==void 0?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth},this.texture=e}setSize(e,t,n=1){(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.image={...this.texture.image},this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}};Ns.prototype.isWebGLRenderTarget=!0;var qx=class extends Ns{constructor(e,t,n){super(e,t);let a=this.texture;this.texture=[];for(let o=0;o<n;o++)this.texture[o]=a.clone()}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e,this.height=t,this.depth=n;for(let a=0,o=this.texture.length;a<o;a++)this.texture[a].image.width=e,this.texture[a].image.height=t,this.texture[a].image.depth=n;this.dispose()}return this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t),this}copy(e){this.dispose(),this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone();return this}};qx.prototype.isWebGLMultipleRenderTargets=!0;var Wx=class extends Ns{constructor(e,t,n){super(e,t,n),this.samples=4}copy(e){return super.copy.call(this,e),this.samples=e.samples,this}};Wx.prototype.isWebGLMultisampleRenderTarget=!0;var Da=class{constructor(e=0,t=0,n=0,a=1){this._x=e,this._y=t,this._z=n,this._w=a}static slerp(e,t,n,a){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),n.slerpQuaternions(e,t,a)}static slerpFlat(e,t,n,a,o,r,s){let l=n[a+0],c=n[a+1],d=n[a+2],u=n[a+3],p=o[r+0],m=o[r+1],_=o[r+2],f=o[r+3];if(s===0){e[t+0]=l,e[t+1]=c,e[t+2]=d,e[t+3]=u;return}if(s===1){e[t+0]=p,e[t+1]=m,e[t+2]=_,e[t+3]=f;return}if(u!==f||l!==p||c!==m||d!==_){let g=1-s,v=l*p+c*m+d*_+u*f,b=v>=0?1:-1,x=1-v*v;if(x>Number.EPSILON){let E=Math.sqrt(x),y=Math.atan2(E,v*b);g=Math.sin(g*y)/E,s=Math.sin(s*y)/E}let w=s*b;if(l=l*g+p*w,c=c*g+m*w,d=d*g+_*w,u=u*g+f*w,g===1-s){let E=1/Math.sqrt(l*l+c*c+d*d+u*u);l*=E,c*=E,d*=E,u*=E}}e[t]=l,e[t+1]=c,e[t+2]=d,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,a,o,r){let s=n[a],l=n[a+1],c=n[a+2],d=n[a+3],u=o[r],p=o[r+1],m=o[r+2],_=o[r+3];return e[t]=s*_+d*u+l*m-c*p,e[t+1]=l*_+d*p+c*u-s*m,e[t+2]=c*_+d*m+s*p-l*u,e[t+3]=d*_-s*u-l*p-c*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,a){return this._x=e,this._y=t,this._z=n,this._w=a,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let n=e._x,a=e._y,o=e._z,r=e._order,s=Math.cos,l=Math.sin,c=s(n/2),d=s(a/2),u=s(o/2),p=l(n/2),m=l(a/2),_=l(o/2);switch(r){case"XYZ":this._x=p*d*u+c*m*_,this._y=c*m*u-p*d*_,this._z=c*d*_+p*m*u,this._w=c*d*u-p*m*_;break;case"YXZ":this._x=p*d*u+c*m*_,this._y=c*m*u-p*d*_,this._z=c*d*_-p*m*u,this._w=c*d*u+p*m*_;break;case"ZXY":this._x=p*d*u-c*m*_,this._y=c*m*u+p*d*_,this._z=c*d*_+p*m*u,this._w=c*d*u-p*m*_;break;case"ZYX":this._x=p*d*u-c*m*_,this._y=c*m*u+p*d*_,this._z=c*d*_-p*m*u,this._w=c*d*u+p*m*_;break;case"YZX":this._x=p*d*u+c*m*_,this._y=c*m*u+p*d*_,this._z=c*d*_-p*m*u,this._w=c*d*u-p*m*_;break;case"XZY":this._x=p*d*u-c*m*_,this._y=c*m*u-p*d*_,this._z=c*d*_+p*m*u,this._w=c*d*u+p*m*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+r)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,a=Math.sin(n);return this._x=e.x*a,this._y=e.y*a,this._z=e.z*a,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],a=t[4],o=t[8],r=t[1],s=t[5],l=t[9],c=t[2],d=t[6],u=t[10],p=n+s+u;if(p>0){let m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(d-l)*m,this._y=(o-c)*m,this._z=(r-a)*m}else if(n>s&&n>u){let m=2*Math.sqrt(1+n-s-u);this._w=(d-l)/m,this._x=.25*m,this._y=(a+r)/m,this._z=(o+c)/m}else if(s>u){let m=2*Math.sqrt(1+s-n-u);this._w=(o-c)/m,this._x=(a+r)/m,this._y=.25*m,this._z=(l+d)/m}else{let m=2*Math.sqrt(1+u-n-s);this._w=(r-a)/m,this._x=(o+c)/m,this._y=(l+d)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<Number.EPSILON?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Sr(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let a=Math.min(1,t/n);return this.slerp(e,a),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,a=e._y,o=e._z,r=e._w,s=t._x,l=t._y,c=t._z,d=t._w;return this._x=n*d+r*s+a*c-o*l,this._y=a*d+r*l+o*s-n*c,this._z=o*d+r*c+n*l-a*s,this._w=r*d-n*s-a*l-o*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,a=this._y,o=this._z,r=this._w,s=r*e._w+n*e._x+a*e._y+o*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=r,this._x=n,this._y=a,this._z=o,this;let l=1-s*s;if(l<=Number.EPSILON){let m=1-t;return this._w=m*r+t*this._w,this._x=m*n+t*this._x,this._y=m*a+t*this._y,this._z=m*o+t*this._z,this.normalize(),this._onChangeCallback(),this}let c=Math.sqrt(l),d=Math.atan2(c,s),u=Math.sin((1-t)*d)/c,p=Math.sin(t*d)/c;return this._w=r*u+this._w*p,this._x=n*u+this._x*p,this._y=a*u+this._y*p,this._z=o*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};Da.prototype.isQuaternion=!0;var we=class{constructor(e=0,t=0,n=0){this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(tR.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(tR.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,a=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*a,this.y=o[1]*t+o[4]*n+o[7]*a,this.z=o[2]*t+o[5]*n+o[8]*a,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,a=this.z,o=e.elements,r=1/(o[3]*t+o[7]*n+o[11]*a+o[15]);return this.x=(o[0]*t+o[4]*n+o[8]*a+o[12])*r,this.y=(o[1]*t+o[5]*n+o[9]*a+o[13])*r,this.z=(o[2]*t+o[6]*n+o[10]*a+o[14])*r,this}applyQuaternion(e){let t=this.x,n=this.y,a=this.z,o=e.x,r=e.y,s=e.z,l=e.w,c=l*t+r*a-s*n,d=l*n+s*t-o*a,u=l*a+o*n-r*t,p=-o*t-r*n-s*a;return this.x=c*l+p*-o+d*-s-u*-r,this.y=d*l+p*-r+u*-o-c*-s,this.z=u*l+p*-s+c*-r-d*-o,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,a=this.z,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*a,this.y=o[1]*t+o[5]*n+o[9]*a,this.z=o[2]*t+o[6]*n+o[10]*a,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,a=e.y,o=e.z,r=t.x,s=t.y,l=t.z;return this.x=a*l-o*s,this.y=o*r-n*l,this.z=n*s-a*r,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return qS.copy(this).projectOnVector(e),this.sub(qS)}reflect(e){return this.sub(qS.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Sr(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,a=this.z-e.z;return t*t+n*n+a*a}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let a=Math.sin(t)*e;return this.x=a*Math.sin(n),this.y=Math.cos(t)*e,this.z=a*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),a=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=a,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}};we.prototype.isVector3=!0;var qS=new we,tR=new Da,Or=class{constructor(e=new we(1/0,1/0,1/0),t=new we(-1/0,-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,n=1/0,a=1/0,o=-1/0,r=-1/0,s=-1/0;for(let l=0,c=e.length;l<c;l+=3){let d=e[l],u=e[l+1],p=e[l+2];d<t&&(t=d),u<n&&(n=u),p<a&&(a=p),d>o&&(o=d),u>r&&(r=u),p>s&&(s=p)}return this.min.set(t,n,a),this.max.set(o,r,s),this}setFromBufferAttribute(e){let t=1/0,n=1/0,a=1/0,o=-1/0,r=-1/0,s=-1/0;for(let l=0,c=e.count;l<c;l++){let d=e.getX(l),u=e.getY(l),p=e.getZ(l);d<t&&(t=d),u<n&&(n=u),p<a&&(a=p),d>o&&(o=d),u>r&&(r=u),p>s&&(s=p)}return this.min.set(t,n,a),this.max.set(o,r,s),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=Gf.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}setFromObject(e){return this.makeEmpty(),this.expandByObject(e)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return e===void 0&&(console.warn("THREE.Box3: .getCenter() target is now required"),e=new we),this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return e===void 0&&(console.warn("THREE.Box3: .getSize() target is now required"),e=new we),this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e){e.updateWorldMatrix(!1,!1);let t=e.geometry;t!==void 0&&(t.boundingBox===null&&t.computeBoundingBox(),WS.copy(t.boundingBox),WS.applyMatrix4(e.matrixWorld),this.union(WS));let n=e.children;for(let a=0,o=n.length;a<o;a++)this.expandByObject(n[a]);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t===void 0&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new we),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Gf),Gf.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(qf),Zy.subVectors(this.max,qf),y_.subVectors(e.a,qf),x_.subVectors(e.b,qf),k_.subVectors(e.c,qf),uu.subVectors(x_,y_),pu.subVectors(k_,x_),Ap.subVectors(y_,k_);let t=[0,-uu.z,uu.y,0,-pu.z,pu.y,0,-Ap.z,Ap.y,uu.z,0,-uu.x,pu.z,0,-pu.x,Ap.z,0,-Ap.x,-uu.y,uu.x,0,-pu.y,pu.x,0,-Ap.y,Ap.x,0];return!KS(t,y_,x_,k_,Zy)||(t=[1,0,0,0,1,0,0,0,1],!KS(t,y_,x_,k_,Zy))?!1:(Qy.crossVectors(uu,pu),t=[Qy.x,Qy.y,Qy.z],KS(t,y_,x_,k_,Zy))}clampPoint(e,t){return t===void 0&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new we),t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return Gf.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return e===void 0&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(e.center),e.radius=this.getSize(Gf).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(md[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),md[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),md[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),md[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),md[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),md[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),md[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),md[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(md),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};Or.prototype.isBox3=!0;var md=[new we,new we,new we,new we,new we,new we,new we,new we],Gf=new we,WS=new Or,y_=new we,x_=new we,k_=new we,uu=new we,pu=new we,Ap=new we,qf=new we,Zy=new we,Qy=new we,Cp=new we;function KS(i,e,t,n,a){for(let o=0,r=i.length-3;o<=r;o+=3){Cp.fromArray(i,o);let s=a.x*Math.abs(Cp.x)+a.y*Math.abs(Cp.y)+a.z*Math.abs(Cp.z),l=e.dot(Cp),c=t.dot(Cp),d=n.dot(Cp);if(Math.max(-Math.max(l,c,d),Math.min(l,c,d))>s)return!1}return!0}var a8=new Or,iR=new we,$S=new we,YS=new we,fl=class{constructor(e=new we,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t!==void 0?n.copy(t):a8.setFromPoints(e).getCenter(n);let a=0;for(let o=0,r=e.length;o<r;o++)a=Math.max(a,n.distanceToSquared(e[o]));return this.radius=Math.sqrt(a),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){let t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){let n=this.center.distanceToSquared(e);return t===void 0&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),t=new we),t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return e===void 0&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),e=new Or),this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){YS.subVectors(e,this.center);let t=YS.lengthSq();if(t>this.radius*this.radius){let n=Math.sqrt(t),a=(n-this.radius)*.5;this.center.add(YS.multiplyScalar(a/n)),this.radius+=a}return this}union(e){return $S.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(iR.copy(e.center).add($S)),this.expandByPoint(iR.copy(e.center).sub($S)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}},_d=new we,XS=new we,ex=new we,mu=new we,JS=new we,tx=new we,ZS=new we,Tc=class{constructor(e=new we,t=new we(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t===void 0&&(console.warn("THREE.Ray: .at() target is now required"),t=new we),t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,_d)),this}closestPointToPoint(e,t){t===void 0&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),t=new we),t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=_d.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(_d.copy(this.direction).multiplyScalar(t).add(this.origin),_d.distanceToSquared(e))}distanceSqToSegment(e,t,n,a){XS.copy(e).add(t).multiplyScalar(.5),ex.copy(t).sub(e).normalize(),mu.copy(this.origin).sub(XS);let o=e.distanceTo(t)*.5,r=-this.direction.dot(ex),s=mu.dot(this.direction),l=-mu.dot(ex),c=mu.lengthSq(),d=Math.abs(1-r*r),u,p,m,_;if(d>0)if(u=r*l-s,p=r*s-l,_=o*d,u>=0)if(p>=-_)if(p<=_){let f=1/d;u*=f,p*=f,m=u*(u+r*p+2*s)+p*(r*u+p+2*l)+c}else p=o,u=Math.max(0,-(r*p+s)),m=-u*u+p*(p+2*l)+c;else p=-o,u=Math.max(0,-(r*p+s)),m=-u*u+p*(p+2*l)+c;else p<=-_?(u=Math.max(0,-(-r*o+s)),p=u>0?-o:Math.min(Math.max(-o,-l),o),m=-u*u+p*(p+2*l)+c):p<=_?(u=0,p=Math.min(Math.max(-o,-l),o),m=p*(p+2*l)+c):(u=Math.max(0,-(r*o+s)),p=u>0?o:Math.min(Math.max(-o,-l),o),m=-u*u+p*(p+2*l)+c);else p=r>0?-o:o,u=Math.max(0,-(r*p+s)),m=-u*u+p*(p+2*l)+c;return n&&n.copy(this.direction).multiplyScalar(u).add(this.origin),a&&a.copy(ex).multiplyScalar(p).add(XS),m}intersectSphere(e,t){_d.subVectors(e.center,this.origin);let n=_d.dot(this.direction),a=_d.dot(_d)-n*n,o=e.radius*e.radius;if(a>o)return null;let r=Math.sqrt(o-a),s=n-r,l=n+r;return s<0&&l<0?null:s<0?this.at(l,t):this.at(s,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,a,o,r,s,l,c=1/this.direction.x,d=1/this.direction.y,u=1/this.direction.z,p=this.origin;return c>=0?(n=(e.min.x-p.x)*c,a=(e.max.x-p.x)*c):(n=(e.max.x-p.x)*c,a=(e.min.x-p.x)*c),d>=0?(o=(e.min.y-p.y)*d,r=(e.max.y-p.y)*d):(o=(e.max.y-p.y)*d,r=(e.min.y-p.y)*d),n>r||o>a||((o>n||n!==n)&&(n=o),(r<a||a!==a)&&(a=r),u>=0?(s=(e.min.z-p.z)*u,l=(e.max.z-p.z)*u):(s=(e.max.z-p.z)*u,l=(e.min.z-p.z)*u),n>l||s>a)||((s>n||n!==n)&&(n=s),(l<a||a!==a)&&(a=l),a<0)?null:this.at(n>=0?n:a,t)}intersectsBox(e){return this.intersectBox(e,_d)!==null}intersectTriangle(e,t,n,a,o){JS.subVectors(t,e),tx.subVectors(n,e),ZS.crossVectors(JS,tx);let r=this.direction.dot(ZS),s;if(r>0){if(a)return null;s=1}else if(r<0)s=-1,r=-r;else return null;mu.subVectors(this.origin,e);let l=s*this.direction.dot(tx.crossVectors(mu,tx));if(l<0)return null;let c=s*this.direction.dot(JS.cross(mu));if(c<0||l+c>r)return null;let d=-s*mu.dot(ZS);return d<0?null:this.at(d/r,o)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Ti=class i{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,a,o,r,s,l,c,d,u,p,m,_,f,g){let v=this.elements;return v[0]=e,v[4]=t,v[8]=n,v[12]=a,v[1]=o,v[5]=r,v[9]=s,v[13]=l,v[2]=c,v[6]=d,v[10]=u,v[14]=p,v[3]=m,v[7]=_,v[11]=f,v[15]=g,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new i().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,a=1/w_.setFromMatrixColumn(e,0).length(),o=1/w_.setFromMatrixColumn(e,1).length(),r=1/w_.setFromMatrixColumn(e,2).length();return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=0,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=0,t[8]=n[8]*r,t[9]=n[9]*r,t[10]=n[10]*r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,n=e.x,a=e.y,o=e.z,r=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),d=Math.cos(o),u=Math.sin(o);if(e.order==="XYZ"){let p=r*d,m=r*u,_=s*d,f=s*u;t[0]=l*d,t[4]=-l*u,t[8]=c,t[1]=m+_*c,t[5]=p-f*c,t[9]=-s*l,t[2]=f-p*c,t[6]=_+m*c,t[10]=r*l}else if(e.order==="YXZ"){let p=l*d,m=l*u,_=c*d,f=c*u;t[0]=p+f*s,t[4]=_*s-m,t[8]=r*c,t[1]=r*u,t[5]=r*d,t[9]=-s,t[2]=m*s-_,t[6]=f+p*s,t[10]=r*l}else if(e.order==="ZXY"){let p=l*d,m=l*u,_=c*d,f=c*u;t[0]=p-f*s,t[4]=-r*u,t[8]=_+m*s,t[1]=m+_*s,t[5]=r*d,t[9]=f-p*s,t[2]=-r*c,t[6]=s,t[10]=r*l}else if(e.order==="ZYX"){let p=r*d,m=r*u,_=s*d,f=s*u;t[0]=l*d,t[4]=_*c-m,t[8]=p*c+f,t[1]=l*u,t[5]=f*c+p,t[9]=m*c-_,t[2]=-c,t[6]=s*l,t[10]=r*l}else if(e.order==="YZX"){let p=r*l,m=r*c,_=s*l,f=s*c;t[0]=l*d,t[4]=f-p*u,t[8]=_*u+m,t[1]=u,t[5]=r*d,t[9]=-s*d,t[2]=-c*d,t[6]=m*u+_,t[10]=p-f*u}else if(e.order==="XZY"){let p=r*l,m=r*c,_=s*l,f=s*c;t[0]=l*d,t[4]=-u,t[8]=c*d,t[1]=p*u+f,t[5]=r*d,t[9]=m*u-_,t[2]=_*u-m,t[6]=s*d,t[10]=f*u+p}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(o8,e,r8)}lookAt(e,t,n){let a=this.elements;return Fs.subVectors(e,t),Fs.lengthSq()===0&&(Fs.z=1),Fs.normalize(),_u.crossVectors(n,Fs),_u.lengthSq()===0&&(Math.abs(n.z)===1?Fs.x+=1e-4:Fs.z+=1e-4,Fs.normalize(),_u.crossVectors(n,Fs)),_u.normalize(),ix.crossVectors(Fs,_u),a[0]=_u.x,a[4]=ix.x,a[8]=Fs.x,a[1]=_u.y,a[5]=ix.y,a[9]=Fs.y,a[2]=_u.z,a[6]=ix.z,a[10]=Fs.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,a=t.elements,o=this.elements,r=n[0],s=n[4],l=n[8],c=n[12],d=n[1],u=n[5],p=n[9],m=n[13],_=n[2],f=n[6],g=n[10],v=n[14],b=n[3],x=n[7],w=n[11],E=n[15],y=a[0],A=a[4],R=a[8],j=a[12],F=a[1],O=a[5],L=a[9],U=a[13],J=a[2],ie=a[6],te=a[10],me=a[14],Q=a[3],H=a[7],re=a[11],K=a[15];return o[0]=r*y+s*F+l*J+c*Q,o[4]=r*A+s*O+l*ie+c*H,o[8]=r*R+s*L+l*te+c*re,o[12]=r*j+s*U+l*me+c*K,o[1]=d*y+u*F+p*J+m*Q,o[5]=d*A+u*O+p*ie+m*H,o[9]=d*R+u*L+p*te+m*re,o[13]=d*j+u*U+p*me+m*K,o[2]=_*y+f*F+g*J+v*Q,o[6]=_*A+f*O+g*ie+v*H,o[10]=_*R+f*L+g*te+v*re,o[14]=_*j+f*U+g*me+v*K,o[3]=b*y+x*F+w*J+E*Q,o[7]=b*A+x*O+w*ie+E*H,o[11]=b*R+x*L+w*te+E*re,o[15]=b*j+x*U+w*me+E*K,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],a=e[8],o=e[12],r=e[1],s=e[5],l=e[9],c=e[13],d=e[2],u=e[6],p=e[10],m=e[14],_=e[3],f=e[7],g=e[11],v=e[15];return _*(+o*l*u-a*c*u-o*s*p+n*c*p+a*s*m-n*l*m)+f*(+t*l*m-t*c*p+o*r*p-a*r*m+a*c*d-o*l*d)+g*(+t*c*u-t*s*m-o*r*u+n*r*m+o*s*d-n*c*d)+v*(-a*s*d-t*l*u+t*s*p+a*r*u-n*r*p+n*l*d)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let a=this.elements;return e.isVector3?(a[12]=e.x,a[13]=e.y,a[14]=e.z):(a[12]=e,a[13]=t,a[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],a=e[2],o=e[3],r=e[4],s=e[5],l=e[6],c=e[7],d=e[8],u=e[9],p=e[10],m=e[11],_=e[12],f=e[13],g=e[14],v=e[15],b=u*g*c-f*p*c+f*l*m-s*g*m-u*l*v+s*p*v,x=_*p*c-d*g*c-_*l*m+r*g*m+d*l*v-r*p*v,w=d*f*c-_*u*c+_*s*m-r*f*m-d*s*v+r*u*v,E=_*u*l-d*f*l-_*s*p+r*f*p+d*s*g-r*u*g,y=t*b+n*x+a*w+o*E;if(y===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let A=1/y;return e[0]=b*A,e[1]=(f*p*o-u*g*o-f*a*m+n*g*m+u*a*v-n*p*v)*A,e[2]=(s*g*o-f*l*o+f*a*c-n*g*c-s*a*v+n*l*v)*A,e[3]=(u*l*o-s*p*o-u*a*c+n*p*c+s*a*m-n*l*m)*A,e[4]=x*A,e[5]=(d*g*o-_*p*o+_*a*m-t*g*m-d*a*v+t*p*v)*A,e[6]=(_*l*o-r*g*o-_*a*c+t*g*c+r*a*v-t*l*v)*A,e[7]=(r*p*o-d*l*o+d*a*c-t*p*c-r*a*m+t*l*m)*A,e[8]=w*A,e[9]=(_*u*o-d*f*o-_*n*m+t*f*m+d*n*v-t*u*v)*A,e[10]=(r*f*o-_*s*o+_*n*c-t*f*c-r*n*v+t*s*v)*A,e[11]=(d*s*o-r*u*o-d*n*c+t*u*c+r*n*m-t*s*m)*A,e[12]=E*A,e[13]=(d*f*a-_*u*a+_*n*p-t*f*p-d*n*g+t*u*g)*A,e[14]=(_*s*a-r*f*a-_*n*l+t*f*l+r*n*g-t*s*g)*A,e[15]=(r*u*a-d*s*a+d*n*l-t*u*l-r*n*p+t*s*p)*A,this}scale(e){let t=this.elements,n=e.x,a=e.y,o=e.z;return t[0]*=n,t[4]*=a,t[8]*=o,t[1]*=n,t[5]*=a,t[9]*=o,t[2]*=n,t[6]*=a,t[10]*=o,t[3]*=n,t[7]*=a,t[11]*=o,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],a=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,a))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),a=Math.sin(t),o=1-n,r=e.x,s=e.y,l=e.z,c=o*r,d=o*s;return this.set(c*r+n,c*s-a*l,c*l+a*s,0,c*s+a*l,d*s+n,d*l-a*r,0,c*l-a*s,d*l+a*r,o*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,a,o,r){return this.set(1,n,o,0,e,1,r,0,t,a,1,0,0,0,0,1),this}compose(e,t,n){let a=this.elements,o=t._x,r=t._y,s=t._z,l=t._w,c=o+o,d=r+r,u=s+s,p=o*c,m=o*d,_=o*u,f=r*d,g=r*u,v=s*u,b=l*c,x=l*d,w=l*u,E=n.x,y=n.y,A=n.z;return a[0]=(1-(f+v))*E,a[1]=(m+w)*E,a[2]=(_-x)*E,a[3]=0,a[4]=(m-w)*y,a[5]=(1-(p+v))*y,a[6]=(g+b)*y,a[7]=0,a[8]=(_+x)*A,a[9]=(g-b)*A,a[10]=(1-(p+f))*A,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,this}decompose(e,t,n){let a=this.elements,o=w_.set(a[0],a[1],a[2]).length(),r=w_.set(a[4],a[5],a[6]).length(),s=w_.set(a[8],a[9],a[10]).length();this.determinant()<0&&(o=-o),e.x=a[12],e.y=a[13],e.z=a[14],Fl.copy(this);let c=1/o,d=1/r,u=1/s;return Fl.elements[0]*=c,Fl.elements[1]*=c,Fl.elements[2]*=c,Fl.elements[4]*=d,Fl.elements[5]*=d,Fl.elements[6]*=d,Fl.elements[8]*=u,Fl.elements[9]*=u,Fl.elements[10]*=u,t.setFromRotationMatrix(Fl),n.x=o,n.y=r,n.z=s,this}makePerspective(e,t,n,a,o,r){r===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let s=this.elements,l=2*o/(t-e),c=2*o/(n-a),d=(t+e)/(t-e),u=(n+a)/(n-a),p=-(r+o)/(r-o),m=-2*r*o/(r-o);return s[0]=l,s[4]=0,s[8]=d,s[12]=0,s[1]=0,s[5]=c,s[9]=u,s[13]=0,s[2]=0,s[6]=0,s[10]=p,s[14]=m,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,t,n,a,o,r){let s=this.elements,l=1/(t-e),c=1/(n-a),d=1/(r-o),u=(t+e)*l,p=(n+a)*c,m=(r+o)*d;return s[0]=2*l,s[4]=0,s[8]=0,s[12]=-u,s[1]=0,s[5]=2*c,s[9]=0,s[13]=-p,s[2]=0,s[6]=0,s[10]=-2*d,s[14]=-m,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let a=0;a<16;a++)if(t[a]!==n[a])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}};Ti.prototype.isMatrix4=!0;var w_=new we,Fl=new Ti,o8=new we(0,0,0),r8=new we(1,1,1),_u=new we,ix=new we,Fs=new we,nR=new Ti,aR=new Da,kd=class i{constructor(e=0,t=0,n=0,a=i.DefaultOrder){this._x=e,this._y=t,this._z=n,this._order=a}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,a){return this._x=e,this._y=t,this._z=n,this._order=a||this._order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t,n){let a=e.elements,o=a[0],r=a[4],s=a[8],l=a[1],c=a[5],d=a[9],u=a[2],p=a[6],m=a[10];switch(t=t||this._order,t){case"XYZ":this._y=Math.asin(Sr(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-d,m),this._z=Math.atan2(-r,o)):(this._x=Math.atan2(p,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Sr(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(s,m),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,o),this._z=0);break;case"ZXY":this._x=Math.asin(Sr(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-u,m),this._z=Math.atan2(-r,c)):(this._y=0,this._z=Math.atan2(l,o));break;case"ZYX":this._y=Math.asin(-Sr(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(p,m),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-r,c));break;case"YZX":this._z=Math.asin(Sr(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,c),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(s,m));break;case"XZY":this._z=Math.asin(-Sr(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(p,c),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-d,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n!==!1&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return nR.makeRotationFromQuaternion(e),this.setFromRotationMatrix(nR,t,n)}setFromVector3(e,t){return this.set(e.x,e.y,e.z,t||this._order)}reorder(e){return aR.setFromEuler(this),this.setFromQuaternion(aR,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new we(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};kd.prototype.isEuler=!0;kd.DefaultOrder="XYZ";kd.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var gg=class{constructor(){this.mask=1}set(e){this.mask=1<<e|0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}},s8=0,oR=new we,S_=new Da,hd=new Ti,nx=new we,Wf=new we,l8=new we,c8=new Da,rR=new we(1,0,0),sR=new we(0,1,0),lR=new we(0,0,1),d8={type:"added"},cR={type:"removed"},pn=class i extends Mc{constructor(){super(),Object.defineProperty(this,"id",{value:s8++}),this.uuid=Ls(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=i.DefaultUp.clone();let e=new we,t=new kd,n=new Da,a=new we(1,1,1);function o(){n.setFromEuler(t,!1)}function r(){t.setFromQuaternion(n,void 0,!1)}t._onChange(o),n._onChange(r),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:a},modelViewMatrix:{value:new Ti},normalMatrix:{value:new Eo}}),this.matrix=new Ti,this.matrixWorld=new Ti,this.matrixAutoUpdate=i.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new gg,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return S_.setFromAxisAngle(e,t),this.quaternion.multiply(S_),this}rotateOnWorldAxis(e,t){return S_.setFromAxisAngle(e,t),this.quaternion.premultiply(S_),this}rotateX(e){return this.rotateOnAxis(rR,e)}rotateY(e){return this.rotateOnAxis(sR,e)}rotateZ(e){return this.rotateOnAxis(lR,e)}translateOnAxis(e,t){return oR.copy(e).applyQuaternion(this.quaternion),this.position.add(oR.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(rR,e)}translateY(e){return this.translateOnAxis(sR,e)}translateZ(e){return this.translateOnAxis(lR,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(hd.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?nx.copy(e):nx.set(e,t,n);let a=this.parent;this.updateWorldMatrix(!0,!1),Wf.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?hd.lookAt(Wf,nx,this.up):hd.lookAt(nx,Wf,this.up),this.quaternion.setFromRotationMatrix(hd),a&&(hd.extractRotation(a.matrixWorld),S_.setFromRotationMatrix(hd),this.quaternion.premultiply(S_.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.parent!==null&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(d8)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let n=0;n<arguments.length;n++)this.remove(arguments[n]);return this}let t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(cR)),this}removeFromParent(){let e=this.parent;return e!==null&&e.remove(this),this}clear(){for(let e=0;e<this.children.length;e++){let t=this.children[e];t.parent=null,t.dispatchEvent(cR)}return this.children.length=0,this}attach(e){return this.updateWorldMatrix(!0,!1),hd.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),hd.multiply(e.parent.matrixWorld)),e.applyMatrix4(hd),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,a=this.children.length;n<a;n++){let r=this.children[n].getObjectByProperty(e,t);if(r!==void 0)return r}}getWorldPosition(e){return e===void 0&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),e=new we),this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return e===void 0&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),e=new Da),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Wf,e,l8),e}getWorldScale(e){return e===void 0&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),e=new we),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Wf,c8,e),e}getWorldDirection(e){e===void 0&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),e=new we),this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);let t=this.children;for(let n=0,a=t.length;n<a;n++)t[n].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);let t=this.children;for(let n=0,a=t.length;n<a;n++)t[n].traverseVisible(e)}traverseAncestors(e){let t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);let t=this.children;for(let n=0,a=t.length;n<a;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){let n=this.parent;if(e===!0&&n!==null&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),t===!0){let a=this.children;for(let o=0,r=a.length;o<r;o++)a[o].updateWorldMatrix(!1,!0)}}toJSON(e){let t=e===void 0||typeof e=="string",n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});let a={};a.uuid=this.uuid,a.type=this.type,this.name!==""&&(a.name=this.name),this.castShadow===!0&&(a.castShadow=!0),this.receiveShadow===!0&&(a.receiveShadow=!0),this.visible===!1&&(a.visible=!1),this.frustumCulled===!1&&(a.frustumCulled=!1),this.renderOrder!==0&&(a.renderOrder=this.renderOrder),JSON.stringify(this.userData)!=="{}"&&(a.userData=this.userData),a.layers=this.layers.mask,a.matrix=this.matrix.toArray(),this.matrixAutoUpdate===!1&&(a.matrixAutoUpdate=!1),this.isInstancedMesh&&(a.type="InstancedMesh",a.count=this.count,a.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(a.instanceColor=this.instanceColor.toJSON()));function o(s,l){return s[l.uuid]===void 0&&(s[l.uuid]=l.toJSON(e)),l.uuid}if(this.isMesh||this.isLine||this.isPoints){a.geometry=o(e.geometries,this.geometry);let s=this.geometry.parameters;if(s!==void 0&&s.shapes!==void 0){let l=s.shapes;if(Array.isArray(l))for(let c=0,d=l.length;c<d;c++){let u=l[c];o(e.shapes,u)}else o(e.shapes,l)}}if(this.isSkinnedMesh&&(a.bindMode=this.bindMode,a.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(o(e.skeletons,this.skeleton),a.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let s=[];for(let l=0,c=this.material.length;l<c;l++)s.push(o(e.materials,this.material[l]));a.material=s}else a.material=o(e.materials,this.material);if(this.children.length>0){a.children=[];for(let s=0;s<this.children.length;s++)a.children.push(this.children[s].toJSON(e).object)}if(this.animations.length>0){a.animations=[];for(let s=0;s<this.animations.length;s++){let l=this.animations[s];a.animations.push(o(e.animations,l))}}if(t){let s=r(e.geometries),l=r(e.materials),c=r(e.textures),d=r(e.images),u=r(e.shapes),p=r(e.skeletons),m=r(e.animations);s.length>0&&(n.geometries=s),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),d.length>0&&(n.images=d),u.length>0&&(n.shapes=u),p.length>0&&(n.skeletons=p),m.length>0&&(n.animations=m)}return n.object=a,n;function r(s){let l=[];for(let c in s){let d=s[c];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n<e.children.length;n++){let a=e.children[n];this.add(a.clone())}return this}};pn.DefaultUp=new we(0,1,0);pn.DefaultMatrixAutoUpdate=!0;pn.prototype.isObject3D=!0;var QS=new we,u8=new we,p8=new Eo,Ur=class{constructor(e=new we(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,a){return this.normal.set(e,t,n),this.constant=a,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let a=QS.subVectors(n,t).cross(u8.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(a,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t===void 0&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new we),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){t===void 0&&(console.warn("THREE.Plane: .intersectLine() target is now required"),t=new we);let n=e.delta(QS),a=this.normal.dot(n);if(a===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let o=-(e.start.dot(this.normal)+this.constant)/a;return o<0||o>1?null:t.copy(n).multiplyScalar(o).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e===void 0&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new we),e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||p8.getNormalMatrix(e),a=this.coplanarPoint(QS).applyMatrix4(e),o=this.normal.applyMatrix3(n).normalize();return this.constant=-a.dot(o),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};Ur.prototype.isPlane=!0;var Ul=new we,fd=new we,ez=new we,gd=new we,z_=new we,E_=new we,dR=new we,tz=new we,iz=new we,nz=new we,Er=class i{constructor(e=new we,t=new we,n=new we){this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,a){a===void 0&&(console.warn("THREE.Triangle: .getNormal() target is now required"),a=new we),a.subVectors(n,t),Ul.subVectors(e,t),a.cross(Ul);let o=a.lengthSq();return o>0?a.multiplyScalar(1/Math.sqrt(o)):a.set(0,0,0)}static getBarycoord(e,t,n,a,o){Ul.subVectors(a,t),fd.subVectors(n,t),ez.subVectors(e,t);let r=Ul.dot(Ul),s=Ul.dot(fd),l=Ul.dot(ez),c=fd.dot(fd),d=fd.dot(ez),u=r*c-s*s;if(o===void 0&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),o=new we),u===0)return o.set(-2,-1,-1);let p=1/u,m=(c*l-s*d)*p,_=(r*d-s*l)*p;return o.set(1-m-_,_,m)}static containsPoint(e,t,n,a){return this.getBarycoord(e,t,n,a,gd),gd.x>=0&&gd.y>=0&&gd.x+gd.y<=1}static getUV(e,t,n,a,o,r,s,l){return this.getBarycoord(e,t,n,a,gd),l.set(0,0),l.addScaledVector(o,gd.x),l.addScaledVector(r,gd.y),l.addScaledVector(s,gd.z),l}static isFrontFacing(e,t,n,a){return Ul.subVectors(n,t),fd.subVectors(e,t),Ul.cross(fd).dot(a)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,a){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[a]),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Ul.subVectors(this.c,this.b),fd.subVectors(this.a,this.b),Ul.cross(fd).length()*.5}getMidpoint(e){return e===void 0&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),e=new we),e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return i.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e===void 0&&(console.warn("THREE.Triangle: .getPlane() target is now required"),e=new Ur),e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return i.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,a,o){return i.getUV(e,this.a,this.b,this.c,t,n,a,o)}containsPoint(e){return i.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return i.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){t===void 0&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),t=new we);let n=this.a,a=this.b,o=this.c,r,s;z_.subVectors(a,n),E_.subVectors(o,n),tz.subVectors(e,n);let l=z_.dot(tz),c=E_.dot(tz);if(l<=0&&c<=0)return t.copy(n);iz.subVectors(e,a);let d=z_.dot(iz),u=E_.dot(iz);if(d>=0&&u<=d)return t.copy(a);let p=l*u-d*c;if(p<=0&&l>=0&&d<=0)return r=l/(l-d),t.copy(n).addScaledVector(z_,r);nz.subVectors(e,o);let m=z_.dot(nz),_=E_.dot(nz);if(_>=0&&m<=_)return t.copy(o);let f=m*c-l*_;if(f<=0&&c>=0&&_<=0)return s=c/(c-_),t.copy(n).addScaledVector(E_,s);let g=d*_-m*u;if(g<=0&&u-d>=0&&m-_>=0)return dR.subVectors(o,a),s=(u-d)/(u-d+(m-_)),t.copy(a).addScaledVector(dR,s);let v=1/(g+f+p);return r=f*v,s=p*v,t.copy(n).addScaledVector(z_,r).addScaledVector(E_,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},m8=0,Lo=class extends Mc{constructor(){super(),Object.defineProperty(this,"id",{value:m8++}),this.uuid=Ls(),this.name="",this.type="Material",this.fog=!0,this.blending=bu,this.side=wu,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=yE,this.blendDst=xE,this.blendEquation=Vp,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Ox,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=X3,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Ux,this.stencilZFail=Ux,this.stencilZPass=Ux,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===bE;continue}let a=this[t];if(a===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}a&&a.isColor?a.set(n):a&&a.isVector3&&n&&n.isVector3?a.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(n.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==bu&&(n.blending=this.blending),this.side!==wu&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.morphTargets===!0&&(n.morphTargets=!0),this.morphNormals===!0&&(n.morphNormals=!0),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData);function a(o){let r=[];for(let s in o){let l=o[s];delete l.metadata,r.push(l)}return r}if(t){let o=a(e.textures),r=a(e.images);o.length>0&&(n.textures=o),r.length>0&&(n.images=r)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let a=t.length;n=new Array(a);for(let o=0;o!==a;++o)n[o]=t[o].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};Lo.prototype.isMaterial=!0;var Q3={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ol={h:0,s:0,l:0},ax={h:0,s:0,l:0};function az(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}function oz(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function rz(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}var si=class{constructor(e,t,n){return t===void 0&&n===void 0?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,this}setRGB(e,t,n){return this.r=e,this.g=t,this.b=n,this}setHSL(e,t,n){if(e=ME(e,1),t=Sr(t,0,1),n=Sr(n,0,1),t===0)this.r=this.g=this.b=n;else{let a=n<=.5?n*(1+t):n+t-n*t,o=2*n-a;this.r=az(o,a,e+1/3),this.g=az(o,a,e),this.b=az(o,a,e-1/3)}return this}setStyle(e){function t(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let a,o=n[1],r=n[2];switch(o){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,t(a[4]),this;if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,t(a[4]),this;break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)){let s=parseFloat(a[1])/360,l=parseInt(a[2],10)/100,c=parseInt(a[3],10)/100;return t(a[4]),this.setHSL(s,l,c)}break}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(e)){let a=n[1],o=a.length;if(o===3)return this.r=parseInt(a.charAt(0)+a.charAt(0),16)/255,this.g=parseInt(a.charAt(1)+a.charAt(1),16)/255,this.b=parseInt(a.charAt(2)+a.charAt(2),16)/255,this;if(o===6)return this.r=parseInt(a.charAt(0)+a.charAt(1),16)/255,this.g=parseInt(a.charAt(2)+a.charAt(3),16)/255,this.b=parseInt(a.charAt(4)+a.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){let t=Q3[e.toLowerCase()];return t!==void 0?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copyGammaToLinear(e,t=2){return this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this}copyLinearToGamma(e,t=2){let n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this}convertGammaToLinear(e){return this.copyGammaToLinear(this,e),this}convertLinearToGamma(e){return this.copyLinearToGamma(this,e),this}copySRGBToLinear(e){return this.r=oz(e.r),this.g=oz(e.g),this.b=oz(e.b),this}copyLinearToSRGB(e){return this.r=rz(e.r),this.g=rz(e.g),this.b=rz(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){e===void 0&&(console.warn("THREE.Color: .getHSL() target is now required"),e={h:0,s:0,l:0});let t=this.r,n=this.g,a=this.b,o=Math.max(t,n,a),r=Math.min(t,n,a),s,l,c=(r+o)/2;if(r===o)s=0,l=0;else{let d=o-r;switch(l=c<=.5?d/(o+r):d/(2-o-r),o){case t:s=(n-a)/d+(n<a?6:0);break;case n:s=(a-t)/d+2;break;case a:s=(t-n)/d+4;break}s/=6}return e.h=s,e.s=l,e.l=c,e}getStyle(){return"rgb("+(this.r*255|0)+","+(this.g*255|0)+","+(this.b*255|0)+")"}offsetHSL(e,t,n){return this.getHSL(Ol),Ol.h+=e,Ol.s+=t,Ol.l+=n,this.setHSL(Ol.h,Ol.s,Ol.l),this}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,n){return this.r=e.r+(t.r-e.r)*n,this.g=e.g+(t.g-e.g)*n,this.b=e.b+(t.b-e.b)*n,this}lerpHSL(e,t){this.getHSL(Ol),e.getHSL(ax);let n=ag(Ol.h,ax.h,t),a=ag(Ol.s,ax.s,t),o=ag(Ol.l,ax.l,t);return this.setHSL(n,a,o),this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),e.normalized===!0&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}};si.NAMES=Q3;si.prototype.isColor=!0;si.prototype.r=1;si.prototype.g=1;si.prototype.b=1;var Hl=class extends Lo{constructor(e){super(),this.type="MeshBasicMaterial",this.color=new si(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this}};Hl.prototype.isMeshBasicMaterial=!0;var Ta=new we,ox=new zt,un=class{constructor(e,t,n){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n===!0,this.usage=H_,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let a=0,o=this.itemSize;a<o;a++)this.array[e+a]=t.array[n+a];return this}copyArray(e){return this.array.set(e),this}copyColorsArray(e){let t=this.array,n=0;for(let a=0,o=e.length;a<o;a++){let r=e[a];r===void 0&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",a),r=new si),t[n++]=r.r,t[n++]=r.g,t[n++]=r.b}return this}copyVector2sArray(e){let t=this.array,n=0;for(let a=0,o=e.length;a<o;a++){let r=e[a];r===void 0&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",a),r=new zt),t[n++]=r.x,t[n++]=r.y}return this}copyVector3sArray(e){let t=this.array,n=0;for(let a=0,o=e.length;a<o;a++){let r=e[a];r===void 0&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",a),r=new we),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z}return this}copyVector4sArray(e){let t=this.array,n=0;for(let a=0,o=e.length;a<o;a++){let r=e[a];r===void 0&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",a),r=new Kn),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n++]=r.w}return this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,n=this.count;t<n;t++)ox.fromBufferAttribute(this,t),ox.applyMatrix3(e),this.setXY(t,ox.x,ox.y);else if(this.itemSize===3)for(let t=0,n=this.count;t<n;t++)Ta.fromBufferAttribute(this,t),Ta.applyMatrix3(e),this.setXYZ(t,Ta.x,Ta.y,Ta.z);return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++)Ta.x=this.getX(t),Ta.y=this.getY(t),Ta.z=this.getZ(t),Ta.applyMatrix4(e),this.setXYZ(t,Ta.x,Ta.y,Ta.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Ta.x=this.getX(t),Ta.y=this.getY(t),Ta.z=this.getZ(t),Ta.applyNormalMatrix(e),this.setXYZ(t,Ta.x,Ta.y,Ta.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Ta.x=this.getX(t),Ta.y=this.getY(t),Ta.z=this.getZ(t),Ta.transformDirection(e),this.setXYZ(t,Ta.x,Ta.y,Ta.z);return this}set(e,t=0){return this.array.set(e,t),this}getX(e){return this.array[e*this.itemSize]}setX(e,t){return this.array[e*this.itemSize]=t,this}getY(e){return this.array[e*this.itemSize+1]}setY(e,t){return this.array[e*this.itemSize+1]=t,this}getZ(e){return this.array[e*this.itemSize+2]}setZ(e,t){return this.array[e*this.itemSize+2]=t,this}getW(e){return this.array[e*this.itemSize+3]}setW(e,t){return this.array[e*this.itemSize+3]=t,this}setXY(e,t,n){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this}setXYZ(e,t,n,a){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=a,this}setXYZW(e,t,n,a,o){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=a,this.array[e+3]=o,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){let e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==H_&&(e.usage=this.usage),(this.updateRange.offset!==0||this.updateRange.count!==-1)&&(e.updateRange=this.updateRange),e}};un.prototype.isBufferAttribute=!0;var Kx=class extends un{constructor(e,t,n){super(new Int8Array(e),t,n)}},$x=class extends un{constructor(e,t,n){super(new Uint8Array(e),t,n)}},Yx=class extends un{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}},Xx=class extends un{constructor(e,t,n){super(new Int16Array(e),t,n)}},q_=class extends un{constructor(e,t,n){super(new Uint16Array(e),t,n)}},Jx=class extends un{constructor(e,t,n){super(new Int32Array(e),t,n)}},W_=class extends un{constructor(e,t,n){super(new Uint32Array(e),t,n)}},Zx=class extends un{constructor(e,t,n){super(new Uint16Array(e),t,n)}};Zx.prototype.isFloat16BufferAttribute=!0;var _i=class extends un{constructor(e,t,n){super(new Float32Array(e),t,n)}},Qx=class extends un{constructor(e,t,n){super(new Float64Array(e),t,n)}};function eI(i){if(i.length===0)return-1/0;let e=i[0];for(let t=1,n=i.length;t<n;++t)i[t]>e&&(e=i[t]);return e}var _8={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function tg(i,e){return new _8[i](e)}var h8=0,hl=new Ti,sz=new pn,M_=new we,Us=new Or,Kf=new Or,ur=new we,Ki=class i extends Mc{constructor(){super(),Object.defineProperty(this,"id",{value:h8++}),this.uuid=Ls(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(eI(e)>65535?W_:q_)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let n=this.attributes.normal;if(n!==void 0){let o=new Eo().getNormalMatrix(e);n.applyNormalMatrix(o),n.needsUpdate=!0}let a=this.attributes.tangent;return a!==void 0&&(a.transformDirection(e),a.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return hl.makeRotationFromQuaternion(e),this.applyMatrix4(hl),this}rotateX(e){return hl.makeRotationX(e),this.applyMatrix4(hl),this}rotateY(e){return hl.makeRotationY(e),this.applyMatrix4(hl),this}rotateZ(e){return hl.makeRotationZ(e),this.applyMatrix4(hl),this}translate(e,t,n){return hl.makeTranslation(e,t,n),this.applyMatrix4(hl),this}scale(e,t,n){return hl.makeScale(e,t,n),this.applyMatrix4(hl),this}lookAt(e){return sz.lookAt(e),sz.updateMatrix(),this.applyMatrix4(sz.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(M_).negate(),this.translate(M_.x,M_.y,M_.z),this}setFromPoints(e){let t=[];for(let n=0,a=e.length;n<a;n++){let o=e[n];t.push(o.x,o.y,o.z||0)}return this.setAttribute("position",new _i(t,3)),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Or);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingBox.set(new we(-1/0,-1/0,-1/0),new we(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,a=t.length;n<a;n++){let o=t[n];Us.setFromBufferAttribute(o),this.morphTargetsRelative?(ur.addVectors(this.boundingBox.min,Us.min),this.boundingBox.expandByPoint(ur),ur.addVectors(this.boundingBox.max,Us.max),this.boundingBox.expandByPoint(ur)):(this.boundingBox.expandByPoint(Us.min),this.boundingBox.expandByPoint(Us.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new fl);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingSphere.set(new we,1/0);return}if(e){let n=this.boundingSphere.center;if(Us.setFromBufferAttribute(e),t)for(let o=0,r=t.length;o<r;o++){let s=t[o];Kf.setFromBufferAttribute(s),this.morphTargetsRelative?(ur.addVectors(Us.min,Kf.min),Us.expandByPoint(ur),ur.addVectors(Us.max,Kf.max),Us.expandByPoint(ur)):(Us.expandByPoint(Kf.min),Us.expandByPoint(Kf.max))}Us.getCenter(n);let a=0;for(let o=0,r=e.count;o<r;o++)ur.fromBufferAttribute(e,o),a=Math.max(a,n.distanceToSquared(ur));if(t)for(let o=0,r=t.length;o<r;o++){let s=t[o],l=this.morphTargetsRelative;for(let c=0,d=s.count;c<d;c++)ur.fromBufferAttribute(s,c),l&&(M_.fromBufferAttribute(e,c),ur.add(M_)),a=Math.max(a,n.distanceToSquared(ur))}this.boundingSphere.radius=Math.sqrt(a),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeFaceNormals(){}computeTangents(){let e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}let n=e.array,a=t.position.array,o=t.normal.array,r=t.uv.array,s=a.length/3;t.tangent===void 0&&this.setAttribute("tangent",new un(new Float32Array(4*s),4));let l=t.tangent.array,c=[],d=[];for(let F=0;F<s;F++)c[F]=new we,d[F]=new we;let u=new we,p=new we,m=new we,_=new zt,f=new zt,g=new zt,v=new we,b=new we;function x(F,O,L){u.fromArray(a,F*3),p.fromArray(a,O*3),m.fromArray(a,L*3),_.fromArray(r,F*2),f.fromArray(r,O*2),g.fromArray(r,L*2),p.sub(u),m.sub(u),f.sub(_),g.sub(_);let U=1/(f.x*g.y-g.x*f.y);isFinite(U)&&(v.copy(p).multiplyScalar(g.y).addScaledVector(m,-f.y).multiplyScalar(U),b.copy(m).multiplyScalar(f.x).addScaledVector(p,-g.x).multiplyScalar(U),c[F].add(v),c[O].add(v),c[L].add(v),d[F].add(b),d[O].add(b),d[L].add(b))}let w=this.groups;w.length===0&&(w=[{start:0,count:n.length}]);for(let F=0,O=w.length;F<O;++F){let L=w[F],U=L.start,J=L.count;for(let ie=U,te=U+J;ie<te;ie+=3)x(n[ie+0],n[ie+1],n[ie+2])}let E=new we,y=new we,A=new we,R=new we;function j(F){A.fromArray(o,F*3),R.copy(A);let O=c[F];E.copy(O),E.sub(A.multiplyScalar(A.dot(O))).normalize(),y.crossVectors(R,O);let U=y.dot(d[F])<0?-1:1;l[F*4]=E.x,l[F*4+1]=E.y,l[F*4+2]=E.z,l[F*4+3]=U}for(let F=0,O=w.length;F<O;++F){let L=w[F],U=L.start,J=L.count;for(let ie=U,te=U+J;ie<te;ie+=3)j(n[ie+0]),j(n[ie+1]),j(n[ie+2])}}computeVertexNormals(){let e=this.index,t=this.getAttribute("position");if(t!==void 0){let n=this.getAttribute("normal");if(n===void 0)n=new un(new Float32Array(t.count*3),3),this.setAttribute("normal",n);else for(let p=0,m=n.count;p<m;p++)n.setXYZ(p,0,0,0);let a=new we,o=new we,r=new we,s=new we,l=new we,c=new we,d=new we,u=new we;if(e)for(let p=0,m=e.count;p<m;p+=3){let _=e.getX(p+0),f=e.getX(p+1),g=e.getX(p+2);a.fromBufferAttribute(t,_),o.fromBufferAttribute(t,f),r.fromBufferAttribute(t,g),d.subVectors(r,o),u.subVectors(a,o),d.cross(u),s.fromBufferAttribute(n,_),l.fromBufferAttribute(n,f),c.fromBufferAttribute(n,g),s.add(d),l.add(d),c.add(d),n.setXYZ(_,s.x,s.y,s.z),n.setXYZ(f,l.x,l.y,l.z),n.setXYZ(g,c.x,c.y,c.z)}else for(let p=0,m=t.count;p<m;p+=3)a.fromBufferAttribute(t,p+0),o.fromBufferAttribute(t,p+1),r.fromBufferAttribute(t,p+2),d.subVectors(r,o),u.subVectors(a,o),d.cross(u),n.setXYZ(p+0,d.x,d.y,d.z),n.setXYZ(p+1,d.x,d.y,d.z),n.setXYZ(p+2,d.x,d.y,d.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(e,t){if(!(e&&e.isBufferGeometry)){console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",e);return}t===void 0&&(t=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));let n=this.attributes;for(let a in n){if(e.attributes[a]===void 0)continue;let r=n[a].array,s=e.attributes[a],l=s.array,c=s.itemSize*t,d=Math.min(l.length,r.length-c);for(let u=0,p=c;u<d;u++,p++)r[p]=l[u]}return this}normalizeNormals(){let e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++)ur.fromBufferAttribute(e,t),ur.normalize(),e.setXYZ(t,ur.x,ur.y,ur.z)}toNonIndexed(){function e(s,l){let c=s.array,d=s.itemSize,u=s.normalized,p=new c.constructor(l.length*d),m=0,_=0;for(let f=0,g=l.length;f<g;f++){m=l[f]*d;for(let v=0;v<d;v++)p[_++]=c[m++]}return new un(p,d,u)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;let t=new i,n=this.index.array,a=this.attributes;for(let s in a){let l=a[s],c=e(l,n);t.setAttribute(s,c)}let o=this.morphAttributes;for(let s in o){let l=[],c=o[s];for(let d=0,u=c.length;d<u;d++){let p=c[d],m=e(p,n);l.push(m)}t.morphAttributes[s]=l}t.morphTargetsRelative=this.morphTargetsRelative;let r=this.groups;for(let s=0,l=r.length;s<l;s++){let c=r[s];t.addGroup(c.start,c.count,c.materialIndex)}return t}toJSON(){let e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){let l=this.parameters;for(let c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let l in n){let c=n[l];e.data.attributes[l]=c.toJSON(e.data)}let a={},o=!1;for(let l in this.morphAttributes){let c=this.morphAttributes[l],d=[];for(let u=0,p=c.length;u<p;u++){let m=c[u];d.push(m.toJSON(e.data))}d.length>0&&(a[l]=d,o=!0)}o&&(e.data.morphAttributes=a,e.data.morphTargetsRelative=this.morphTargetsRelative);let r=this.groups;r.length>0&&(e.data.groups=JSON.parse(JSON.stringify(r)));let s=this.boundingSphere;return s!==null&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),e}clone(){return new i().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone(t));let a=e.attributes;for(let c in a){let d=a[c];this.setAttribute(c,d.clone(t))}let o=e.morphAttributes;for(let c in o){let d=[],u=o[c];for(let p=0,m=u.length;p<m;p++)d.push(u[p].clone(t));this.morphAttributes[c]=d}this.morphTargetsRelative=e.morphTargetsRelative;let r=e.groups;for(let c=0,d=r.length;c<d;c++){let u=r[c];this.addGroup(u.start,u.count,u.materialIndex)}let s=e.boundingBox;s!==null&&(this.boundingBox=s.clone());let l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}};Ki.prototype.isBufferGeometry=!0;var uR=new Ti,T_=new Tc,lz=new fl,hu=new we,fu=new we,gu=new we,cz=new we,dz=new we,uz=new we,rx=new we,sx=new we,lx=new we,cx=new zt,dx=new zt,ux=new zt,pz=new we,px=new we,Ga=class extends pn{constructor(e=new Ki,t=new Hl){super(),this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,n=Object.keys(t);if(n.length>0){let a=t[n[0]];if(a!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=a.length;o<r;o++){let s=a[o].name||String(o);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=o}}}}else{let t=e.morphTargets;t!==void 0&&t.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let n=this.geometry,a=this.material,o=this.matrixWorld;if(a===void 0||(n.boundingSphere===null&&n.computeBoundingSphere(),lz.copy(n.boundingSphere),lz.applyMatrix4(o),e.ray.intersectsSphere(lz)===!1)||(uR.copy(o).invert(),T_.copy(e.ray).applyMatrix4(uR),n.boundingBox!==null&&T_.intersectsBox(n.boundingBox)===!1))return;let r;if(n.isBufferGeometry){let s=n.index,l=n.attributes.position,c=n.morphAttributes.position,d=n.morphTargetsRelative,u=n.attributes.uv,p=n.attributes.uv2,m=n.groups,_=n.drawRange;if(s!==null)if(Array.isArray(a))for(let f=0,g=m.length;f<g;f++){let v=m[f],b=a[v.materialIndex],x=Math.max(v.start,_.start),w=Math.min(v.start+v.count,_.start+_.count);for(let E=x,y=w;E<y;E+=3){let A=s.getX(E),R=s.getX(E+1),j=s.getX(E+2);r=mx(this,b,e,T_,l,c,d,u,p,A,R,j),r&&(r.faceIndex=Math.floor(E/3),r.face.materialIndex=v.materialIndex,t.push(r))}}else{let f=Math.max(0,_.start),g=Math.min(s.count,_.start+_.count);for(let v=f,b=g;v<b;v+=3){let x=s.getX(v),w=s.getX(v+1),E=s.getX(v+2);r=mx(this,a,e,T_,l,c,d,u,p,x,w,E),r&&(r.faceIndex=Math.floor(v/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(a))for(let f=0,g=m.length;f<g;f++){let v=m[f],b=a[v.materialIndex],x=Math.max(v.start,_.start),w=Math.min(v.start+v.count,_.start+_.count);for(let E=x,y=w;E<y;E+=3){let A=E,R=E+1,j=E+2;r=mx(this,b,e,T_,l,c,d,u,p,A,R,j),r&&(r.faceIndex=Math.floor(E/3),r.face.materialIndex=v.materialIndex,t.push(r))}}else{let f=Math.max(0,_.start),g=Math.min(l.count,_.start+_.count);for(let v=f,b=g;v<b;v+=3){let x=v,w=v+1,E=v+2;r=mx(this,a,e,T_,l,c,d,u,p,x,w,E),r&&(r.faceIndex=Math.floor(v/3),t.push(r))}}}else n.isGeometry&&console.error("THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}};Ga.prototype.isMesh=!0;function f8(i,e,t,n,a,o,r,s){let l;if(e.side===Fo?l=n.intersectTriangle(r,o,a,!0,s):l=n.intersectTriangle(a,o,r,e.side!==nm,s),l===null)return null;px.copy(s),px.applyMatrix4(i.matrixWorld);let c=t.ray.origin.distanceTo(px);return c<t.near||c>t.far?null:{distance:c,point:px.clone(),object:i}}function mx(i,e,t,n,a,o,r,s,l,c,d,u){hu.fromBufferAttribute(a,c),fu.fromBufferAttribute(a,d),gu.fromBufferAttribute(a,u);let p=i.morphTargetInfluences;if(e.morphTargets&&o&&p){rx.set(0,0,0),sx.set(0,0,0),lx.set(0,0,0);for(let _=0,f=o.length;_<f;_++){let g=p[_],v=o[_];g!==0&&(cz.fromBufferAttribute(v,c),dz.fromBufferAttribute(v,d),uz.fromBufferAttribute(v,u),r?(rx.addScaledVector(cz,g),sx.addScaledVector(dz,g),lx.addScaledVector(uz,g)):(rx.addScaledVector(cz.sub(hu),g),sx.addScaledVector(dz.sub(fu),g),lx.addScaledVector(uz.sub(gu),g)))}hu.add(rx),fu.add(sx),gu.add(lx)}i.isSkinnedMesh&&(i.boneTransform(c,hu),i.boneTransform(d,fu),i.boneTransform(u,gu));let m=f8(i,e,t,n,hu,fu,gu,pz);if(m){s&&(cx.fromBufferAttribute(s,c),dx.fromBufferAttribute(s,d),ux.fromBufferAttribute(s,u),m.uv=Er.getUV(pz,hu,fu,gu,cx,dx,ux,new zt)),l&&(cx.fromBufferAttribute(l,c),dx.fromBufferAttribute(l,d),ux.fromBufferAttribute(l,u),m.uv2=Er.getUV(pz,hu,fu,gu,cx,dx,ux,new zt));let _={a:c,b:d,c:u,normal:new we,materialIndex:0};Er.getNormal(hu,fu,gu,_.normal),m.face=_}return m}var Su=class extends Ki{constructor(e=1,t=1,n=1,a=1,o=1,r=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:a,heightSegments:o,depthSegments:r};let s=this;a=Math.floor(a),o=Math.floor(o),r=Math.floor(r);let l=[],c=[],d=[],u=[],p=0,m=0;_("z","y","x",-1,-1,n,t,e,r,o,0),_("z","y","x",1,-1,n,t,-e,r,o,1),_("x","z","y",1,1,e,n,t,a,r,2),_("x","z","y",1,-1,e,n,-t,a,r,3),_("x","y","z",1,-1,e,t,n,a,o,4),_("x","y","z",-1,-1,e,t,-n,a,o,5),this.setIndex(l),this.setAttribute("position",new _i(c,3)),this.setAttribute("normal",new _i(d,3)),this.setAttribute("uv",new _i(u,2));function _(f,g,v,b,x,w,E,y,A,R,j){let F=w/A,O=E/R,L=w/2,U=E/2,J=y/2,ie=A+1,te=R+1,me=0,Q=0,H=new we;for(let re=0;re<te;re++){let K=re*O-U;for(let pe=0;pe<ie;pe++){let xe=pe*F-L;H[f]=xe*b,H[g]=K*x,H[v]=J,c.push(H.x,H.y,H.z),H[f]=0,H[g]=0,H[v]=y>0?1:-1,d.push(H.x,H.y,H.z),u.push(pe/A),u.push(1-re/R),me+=1}}for(let re=0;re<R;re++)for(let K=0;K<A;K++){let pe=p+K+ie*re,xe=p+K+ie*(re+1),le=p+(K+1)+ie*(re+1),Be=p+(K+1)+ie*re;l.push(pe,xe,Be),l.push(xe,le,Be),Q+=6}s.addGroup(m,Q,j),m+=Q,p+=me}}};function K_(i){let e={};for(let t in i){e[t]={};for(let n in i[t]){let a=i[t][n];a&&(a.isColor||a.isMatrix3||a.isMatrix4||a.isVector2||a.isVector3||a.isVector4||a.isTexture||a.isQuaternion)?e[t][n]=a.clone():Array.isArray(a)?e[t][n]=a.slice():e[t][n]=a}}return e}function Fr(i){let e={};for(let t=0;t<i.length;t++){let n=K_(i[t]);for(let a in n)e[a]=n[a]}return e}var tI={clone:K_,merge:Fr},g8=`void main() {
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`,v8=`void main() {
gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
}`,Hs=class extends Lo{constructor(e){super(),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader=g8,this.fragmentShader=v8,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&(e.attributes!==void 0&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=K_(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let a in this.uniforms){let r=this.uniforms[a].value;r&&r.isTexture?t.uniforms[a]={type:"t",value:r.toJSON(e).uuid}:r&&r.isColor?t.uniforms[a]={type:"c",value:r.getHex()}:r&&r.isVector2?t.uniforms[a]={type:"v2",value:r.toArray()}:r&&r.isVector3?t.uniforms[a]={type:"v3",value:r.toArray()}:r&&r.isVector4?t.uniforms[a]={type:"v4",value:r.toArray()}:r&&r.isMatrix3?t.uniforms[a]={type:"m3",value:r.toArray()}:r&&r.isMatrix4?t.uniforms[a]={type:"m4",value:r.toArray()}:t.uniforms[a]={value:r}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let n={};for(let a in this.extensions)this.extensions[a]===!0&&(n[a]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}};Hs.prototype.isShaderMaterial=!0;var Hp=class extends pn{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new Ti,this.projectionMatrix=new Ti,this.projectionMatrixInverse=new Ti}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){e===void 0&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),e=new we),this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};Hp.prototype.isCamera=!0;var Uo=class extends Hp{constructor(e=50,t=1,n=.1,a=2e3){super(),this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=a,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=fg*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(Np*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return fg*2*Math.atan(Math.tan(Np*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,a,o,r){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=a,this.view.width=o,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(Np*.5*this.fov)/this.zoom,n=2*t,a=this.aspect*n,o=-.5*a,r=this.view;if(this.view!==null&&this.view.enabled){let l=r.fullWidth,c=r.fullHeight;o+=r.offsetX*a/l,t-=r.offsetY*n/c,a*=r.width/l,n*=r.height/c}let s=this.filmOffset;s!==0&&(o+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+a,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}};Uo.prototype.isPerspectiveCamera=!0;var A_=90,C_=1,$_=class extends pn{constructor(e,t,n){if(super(),this.type="CubeCamera",n.isWebGLCubeRenderTarget!==!0){console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");return}this.renderTarget=n;let a=new Uo(A_,C_,e,t);a.layers=this.layers,a.up.set(0,-1,0),a.lookAt(new we(1,0,0)),this.add(a);let o=new Uo(A_,C_,e,t);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new we(-1,0,0)),this.add(o);let r=new Uo(A_,C_,e,t);r.layers=this.layers,r.up.set(0,0,1),r.lookAt(new we(0,1,0)),this.add(r);let s=new Uo(A_,C_,e,t);s.layers=this.layers,s.up.set(0,0,-1),s.lookAt(new we(0,-1,0)),this.add(s);let l=new Uo(A_,C_,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new we(0,0,1)),this.add(l);let c=new Uo(A_,C_,e,t);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new we(0,0,-1)),this.add(c)}update(e,t){this.parent===null&&this.updateMatrixWorld();let n=this.renderTarget,[a,o,r,s,l,c]=this.children,d=e.xr.enabled,u=e.getRenderTarget();e.xr.enabled=!1;let p=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,a),e.setRenderTarget(n,1),e.render(t,o),e.setRenderTarget(n,2),e.render(t,r),e.setRenderTarget(n,3),e.render(t,s),e.setRenderTarget(n,4),e.render(t,l),n.texture.generateMipmaps=p,e.setRenderTarget(n,5),e.render(t,c),e.setRenderTarget(u),e.xr.enabled=d}},zu=class extends Oo{constructor(e,t,n,a,o,r,s,l,c,d){e=e!==void 0?e:[],t=t!==void 0?t:vv,s=s!==void 0?s:yu,super(e,t,n,a,o,r,s,l,c,d),this._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}};zu.prototype.isCubeTexture=!0;var Y_=class extends Ns{constructor(e,t,n){Number.isInteger(t)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),t=n),super(e,e,t),t=t||{},this.texture=new zu(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:rr,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.format=Os,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:`
varying vec3 vWorldDirection;
vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
}
void main() {
vWorldDirection = transformDirection( position, modelMatrix );
#include <begin_vertex>
#include <project_vertex>
}
`,fragmentShader:`
uniform sampler2D tEquirect;
varying vec3 vWorldDirection;
#include <common>
void main() {
vec3 direction = normalize( vWorldDirection );
vec2 sampleUV = equirectUv( direction );
gl_FragColor = texture2D( tEquirect, sampleUV );
}
`},a=new Su(5,5,5),o=new Hs({name:"CubemapFromEquirect",uniforms:K_(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Fo,blending:yd});o.uniforms.tEquirect.value=t;let r=new Ga(a,o),s=t.minFilter;return t.minFilter===am&&(t.minFilter=rr),new $_(1,10,this).update(e,r),t.minFilter=s,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,a){let o=e.getRenderTarget();for(let r=0;r<6;r++)e.setRenderTarget(this,r),e.clear(t,n,a);e.setRenderTarget(o)}};Y_.prototype.isWebGLCubeRenderTarget=!0;var P_=new fl,_x=new we,Gp=class{constructor(e=new Ur,t=new Ur,n=new Ur,a=new Ur,o=new Ur,r=new Ur){this.planes=[e,t,n,a,o,r]}set(e,t,n,a,o,r){let s=this.planes;return s[0].copy(e),s[1].copy(t),s[2].copy(n),s[3].copy(a),s[4].copy(o),s[5].copy(r),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){let t=this.planes,n=e.elements,a=n[0],o=n[1],r=n[2],s=n[3],l=n[4],c=n[5],d=n[6],u=n[7],p=n[8],m=n[9],_=n[10],f=n[11],g=n[12],v=n[13],b=n[14],x=n[15];return t[0].setComponents(s-a,u-l,f-p,x-g).normalize(),t[1].setComponents(s+a,u+l,f+p,x+g).normalize(),t[2].setComponents(s+o,u+c,f+m,x+v).normalize(),t[3].setComponents(s-o,u-c,f-m,x-v).normalize(),t[4].setComponents(s-r,u-d,f-_,x-b).normalize(),t[5].setComponents(s+r,u+d,f+_,x+b).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),P_.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(P_)}intersectsSprite(e){return P_.center.set(0,0,0),P_.radius=.7071067811865476,P_.applyMatrix4(e.matrixWorld),this.intersectsSphere(P_)}intersectsSphere(e){let t=this.planes,n=e.center,a=-e.radius;for(let o=0;o<6;o++)if(t[o].distanceToPoint(n)<a)return!1;return!0}intersectsBox(e){let t=this.planes;for(let n=0;n<6;n++){let a=t[n];if(_x.x=a.normal.x>0?e.max.x:e.min.x,_x.y=a.normal.y>0?e.max.y:e.min.y,_x.z=a.normal.z>0?e.max.z:e.min.z,a.distanceToPoint(_x)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function iI(){let i=null,e=!1,t=null,n=null;function a(o,r){t(o,r),n=i.requestAnimationFrame(a)}return{start:function(){e!==!0&&t!==null&&(n=i.requestAnimationFrame(a),e=!0)},stop:function(){i.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(o){t=o},setContext:function(o){i=o}}}function b8(i,e){let t=e.isWebGL2,n=new WeakMap;function a(c,d){let u=c.array,p=c.usage,m=i.createBuffer();i.bindBuffer(d,m),i.bufferData(d,u,p),c.onUploadCallback();let _=5126;return u instanceof Float32Array?_=5126:u instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):u instanceof Uint16Array?c.isFloat16BufferAttribute?t?_=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):_=5123:u instanceof Int16Array?_=5122:u instanceof Uint32Array?_=5125:u instanceof Int32Array?_=5124:u instanceof Int8Array?_=5120:(u instanceof Uint8Array||u instanceof Uint8ClampedArray)&&(_=5121),{buffer:m,type:_,bytesPerElement:u.BYTES_PER_ELEMENT,version:c.version}}function o(c,d,u){let p=d.array,m=d.updateRange;i.bindBuffer(u,c),m.count===-1?i.bufferSubData(u,0,p):(t?i.bufferSubData(u,m.offset*p.BYTES_PER_ELEMENT,p,m.offset,m.count):i.bufferSubData(u,m.offset*p.BYTES_PER_ELEMENT,p.subarray(m.offset,m.offset+m.count)),m.count=-1)}function r(c){return c.isInterleavedBufferAttribute&&(c=c.data),n.get(c)}function s(c){c.isInterleavedBufferAttribute&&(c=c.data);let d=n.get(c);d&&(i.deleteBuffer(d.buffer),n.delete(c))}function l(c,d){if(c.isGLBufferAttribute){let p=n.get(c);(!p||p.version<c.version)&&n.set(c,{buffer:c.buffer,type:c.type,bytesPerElement:c.elementSize,version:c.version});return}c.isInterleavedBufferAttribute&&(c=c.data);let u=n.get(c);u===void 0?n.set(c,a(c,d)):u.version<c.version&&(o(u.buffer,c,d),u.version=c.version)}return{get:r,remove:s,update:l}}var Eu=class extends Ki{constructor(e=1,t=1,n=1,a=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:a};let o=e/2,r=t/2,s=Math.floor(n),l=Math.floor(a),c=s+1,d=l+1,u=e/s,p=t/l,m=[],_=[],f=[],g=[];for(let v=0;v<d;v++){let b=v*p-r;for(let x=0;x<c;x++){let w=x*u-o;_.push(w,-b,0),f.push(0,0,1),g.push(x/s),g.push(1-v/l)}}for(let v=0;v<l;v++)for(let b=0;b<s;b++){let x=b+c*v,w=b+c*(v+1),E=b+1+c*(v+1),y=b+1+c*v;m.push(x,w,y),m.push(w,E,y)}this.setIndex(m),this.setAttribute("position",new _i(_,3)),this.setAttribute("normal",new _i(f,3)),this.setAttribute("uv",new _i(g,2))}},y8=`#ifdef USE_ALPHAMAP
diffuseColor.a *= texture2D( alphaMap, vUv ).g;
#endif`,x8=`#ifdef USE_ALPHAMAP
uniform sampler2D alphaMap;
#endif`,k8=`#ifdef ALPHATEST
if ( diffuseColor.a < ALPHATEST ) discard;
#endif`,w8=`#ifdef USE_AOMAP
float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;
reflectedLight.indirectDiffuse *= ambientOcclusion;
#if defined( USE_ENVMAP ) && defined( STANDARD )
float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );
#endif
#endif`,S8=`#ifdef USE_AOMAP
uniform sampler2D aoMap;
uniform float aoMapIntensity;
#endif`,z8="vec3 transformed = vec3( position );",E8=`vec3 objectNormal = vec3( normal );
#ifdef USE_TANGENT
vec3 objectTangent = vec3( tangent.xyz );
#endif`,M8=`vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {
const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
vec4 r = roughness * c0 + c1;
float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
return vec2( -1.04, 1.04 ) * a004 + r.zw;
}
float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {
#if defined ( PHYSICALLY_CORRECT_LIGHTS )
float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );
if( cutoffDistance > 0.0 ) {
distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
}
return distanceFalloff;
#else
if( cutoffDistance > 0.0 && decayExponent > 0.0 ) {
return pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );
}
return 1.0;
#endif
}
vec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {
return RECIPROCAL_PI * diffuseColor;
}
vec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {
float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );
return ( 1.0 - specularColor ) * fresnel + specularColor;
}
vec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {
float fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );
vec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;
return Fr * fresnel + F0;
}
float G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {
float a2 = pow2( alpha );
float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
return 1.0 / ( gl * gv );
}
float G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
float a2 = pow2( alpha );
float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
return 0.5 / max( gv + gl, EPSILON );
}
float D_GGX( const in float alpha, const in float dotNH ) {
float a2 = pow2( alpha );
float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;
return RECIPROCAL_PI * a2 / pow2( denom );
}
vec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {
float alpha = pow2( roughness );
vec3 halfDir = normalize( incidentLight.direction + viewDir );
float dotNL = saturate( dot( normal, incidentLight.direction ) );
float dotNV = saturate( dot( normal, viewDir ) );
float dotNH = saturate( dot( normal, halfDir ) );
float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
vec3 F = F_Schlick( specularColor, dotLH );
float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );
float D = D_GGX( alpha, dotNH );
return F * ( G * D );
}
vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
const float LUT_SIZE = 64.0;
const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
const float LUT_BIAS = 0.5 / LUT_SIZE;
float dotNV = saturate( dot( N, V ) );
vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
uv = uv * LUT_SCALE + LUT_BIAS;
return uv;
}
float LTC_ClippedSphereFormFactor( const in vec3 f ) {
float l = length( f );
return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
}
vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
float x = dot( v1, v2 );
float y = abs( x );
float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
float b = 3.4175940 + ( 4.1616724 + y ) * y;
float v = a / b;
float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
return cross( v1, v2 ) * theta_sintheta;
}
vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
vec3 lightNormal = cross( v1, v2 );
if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
vec3 T1, T2;
T1 = normalize( V - N * dot( V, N ) );
T2 = - cross( N, T1 );
mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
vec3 coords[ 4 ];
coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
coords[ 0 ] = normalize( coords[ 0 ] );
coords[ 1 ] = normalize( coords[ 1 ] );
coords[ 2 ] = normalize( coords[ 2 ] );
coords[ 3 ] = normalize( coords[ 3 ] );
vec3 vectorFormFactor = vec3( 0.0 );
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
return vec3( result );
}
vec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {
float dotNV = saturate( dot( normal, viewDir ) );
vec2 brdf = integrateSpecularBRDF( dotNV, roughness );
return specularColor * brdf.x + brdf.y;
}
void BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
vec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );
vec2 brdf = integrateSpecularBRDF( dotNV, roughness );
vec3 FssEss = F * brdf.x + brdf.y;
float Ess = brdf.x + brdf.y;
float Ems = 1.0 - Ess;
vec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );
singleScatter += FssEss;
multiScatter += Fms * Ems;
}
float G_BlinnPhong_Implicit( ) {
return 0.25;
}
float D_BlinnPhong( const in float shininess, const in float dotNH ) {
return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
}
vec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {
vec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );
float dotNH = saturate( dot( geometry.normal, halfDir ) );
float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
vec3 F = F_Schlick( specularColor, dotLH );
float G = G_BlinnPhong_Implicit( );
float D = D_BlinnPhong( shininess, dotNH );
return F * ( G * D );
}
float GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {
return ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );
}
float BlinnExponentToGGXRoughness( const in float blinnExponent ) {
return sqrt( 2.0 / ( blinnExponent + 2.0 ) );
}
#if defined( USE_SHEEN )
float D_Charlie(float roughness, float NoH) {
float invAlpha = 1.0 / roughness;
float cos2h = NoH * NoH;
float sin2h = max(1.0 - cos2h, 0.0078125); return (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);
}
float V_Neubelt(float NoV, float NoL) {
return saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));
}
vec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {
vec3 N = geometry.normal;
vec3 V = geometry.viewDir;
vec3 H = normalize( V + L );
float dotNH = saturate( dot( N, H ) );
return specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );
}
#endif`,T8=`#ifdef USE_BUMPMAP
uniform sampler2D bumpMap;
uniform float bumpScale;
vec2 dHdxy_fwd() {
vec2 dSTdx = dFdx( vUv );
vec2 dSTdy = dFdy( vUv );
float Hll = bumpScale * texture2D( bumpMap, vUv ).x;
float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;
float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;
return vec2( dBx, dBy );
}
vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
vec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );
vec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );
vec3 vN = surf_norm;
vec3 R1 = cross( vSigmaY, vN );
vec3 R2 = cross( vN, vSigmaX );
float fDet = dot( vSigmaX, R1 ) * faceDirection;
vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
return normalize( abs( fDet ) * surf_norm - vGrad );
}
#endif`,A8=`#if NUM_CLIPPING_PLANES > 0
vec4 plane;
#pragma unroll_loop_start
for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
plane = clippingPlanes[ i ];
if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;
}
#pragma unroll_loop_end
#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
bool clipped = true;
#pragma unroll_loop_start
for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
plane = clippingPlanes[ i ];
clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;
}
#pragma unroll_loop_end
if ( clipped ) discard;
#endif
#endif`,C8=`#if NUM_CLIPPING_PLANES > 0
varying vec3 vClipPosition;
uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
#endif`,P8=`#if NUM_CLIPPING_PLANES > 0
varying vec3 vClipPosition;
#endif`,B8=`#if NUM_CLIPPING_PLANES > 0
vClipPosition = - mvPosition.xyz;
#endif`,R8=`#if defined( USE_COLOR_ALPHA )
diffuseColor *= vColor;
#elif defined( USE_COLOR )
diffuseColor.rgb *= vColor;
#endif`,j8=`#if defined( USE_COLOR_ALPHA )
varying vec4 vColor;
#elif defined( USE_COLOR )
varying vec3 vColor;
#endif`,I8=`#if defined( USE_COLOR_ALPHA )
varying vec4 vColor;
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
varying vec3 vColor;
#endif`,D8=`#if defined( USE_COLOR_ALPHA )
vColor = vec4( 1.0 );
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
vColor = vec3( 1.0 );
#endif
#ifdef USE_COLOR
vColor *= color;
#endif
#ifdef USE_INSTANCING_COLOR
vColor.xyz *= instanceColor.xyz;
#endif`,V8=`#define PI 3.141592653589793
#define PI2 6.283185307179586
#define PI_HALF 1.5707963267948966
#define RECIPROCAL_PI 0.3183098861837907
#define RECIPROCAL_PI2 0.15915494309189535
#define EPSILON 1e-6
#ifndef saturate
#define saturate(a) clamp( a, 0.0, 1.0 )
#endif
#define whiteComplement(a) ( 1.0 - saturate( a ) )
float pow2( const in float x ) { return x*x; }
float pow3( const in float x ) { return x*x*x; }
float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
float average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }
highp float rand( const in vec2 uv ) {
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
return fract(sin(sn) * c);
}
#ifdef HIGH_PRECISION
float precisionSafeLength( vec3 v ) { return length( v ); }
#else
float max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }
float precisionSafeLength( vec3 v ) {
float maxComponent = max3( abs( v ) );
return length( v / maxComponent ) * maxComponent;
}
#endif
struct IncidentLight {
vec3 color;
vec3 direction;
bool visible;
};
struct ReflectedLight {
vec3 directDiffuse;
vec3 directSpecular;
vec3 indirectDiffuse;
vec3 indirectSpecular;
};
struct GeometricContext {
vec3 position;
vec3 normal;
vec3 viewDir;
#ifdef CLEARCOAT
vec3 clearcoatNormal;
#endif
};
vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
}
vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
}
vec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
float distance = dot( planeNormal, point - pointOnPlane );
return - distance * planeNormal + point;
}
float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
return sign( dot( point - pointOnPlane, planeNormal ) );
}
vec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {
return lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;
}
mat3 transposeMat3( const in mat3 m ) {
mat3 tmp;
tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
return tmp;
}
float linearToRelativeLuminance( const in vec3 color ) {
vec3 weights = vec3( 0.2126, 0.7152, 0.0722 );
return dot( weights, color.rgb );
}
bool isPerspectiveMatrix( mat4 m ) {
return m[ 2 ][ 3 ] == - 1.0;
}
vec2 equirectUv( in vec3 dir ) {
float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;
float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
return vec2( u, v );
}`,F8=`#ifdef ENVMAP_TYPE_CUBE_UV
#define cubeUV_maxMipLevel 8.0
#define cubeUV_minMipLevel 4.0
#define cubeUV_maxTileSize 256.0
#define cubeUV_minTileSize 16.0
float getFace( vec3 direction ) {
vec3 absDirection = abs( direction );
float face = - 1.0;
if ( absDirection.x > absDirection.z ) {
if ( absDirection.x > absDirection.y )
face = direction.x > 0.0 ? 0.0 : 3.0;
else
face = direction.y > 0.0 ? 1.0 : 4.0;
} else {
if ( absDirection.z > absDirection.y )
face = direction.z > 0.0 ? 2.0 : 5.0;
else
face = direction.y > 0.0 ? 1.0 : 4.0;
}
return face;
}
vec2 getUV( vec3 direction, float face ) {
vec2 uv;
if ( face == 0.0 ) {
uv = vec2( direction.z, direction.y ) / abs( direction.x );
} else if ( face == 1.0 ) {
uv = vec2( - direction.x, - direction.z ) / abs( direction.y );
} else if ( face == 2.0 ) {
uv = vec2( - direction.x, direction.y ) / abs( direction.z );
} else if ( face == 3.0 ) {
uv = vec2( - direction.z, direction.y ) / abs( direction.x );
} else if ( face == 4.0 ) {
uv = vec2( - direction.x, direction.z ) / abs( direction.y );
} else {
uv = vec2( direction.x, direction.y ) / abs( direction.z );
}
return 0.5 * ( uv + 1.0 );
}
vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {
float face = getFace( direction );
float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );
mipInt = max( mipInt, cubeUV_minMipLevel );
float faceSize = exp2( mipInt );
float texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );
vec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );
vec2 f = fract( uv );
uv += 0.5 - f;
if ( face > 2.0 ) {
uv.y += faceSize;
face -= 3.0;
}
uv.x += face * faceSize;
if ( mipInt < cubeUV_maxMipLevel ) {
uv.y += 2.0 * cubeUV_maxTileSize;
}
uv.y += filterInt * 2.0 * cubeUV_minTileSize;
uv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );
uv *= texelSize;
vec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
uv.x += texelSize;
vec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
uv.y += texelSize;
vec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
uv.x -= texelSize;
vec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
vec3 tm = mix( tl, tr, f.x );
vec3 bm = mix( bl, br, f.x );
return mix( tm, bm, f.y );
}
#define r0 1.0
#define v0 0.339
#define m0 - 2.0
#define r1 0.8
#define v1 0.276
#define m1 - 1.0
#define r4 0.4
#define v4 0.046
#define m4 2.0
#define r5 0.305
#define v5 0.016
#define m5 3.0
#define r6 0.21
#define v6 0.0038
#define m6 4.0
float roughnessToMip( float roughness ) {
float mip = 0.0;
if ( roughness >= r1 ) {
mip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;
} else if ( roughness >= r4 ) {
mip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;
} else if ( roughness >= r5 ) {
mip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;
} else if ( roughness >= r6 ) {
mip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;
} else {
mip = - 2.0 * log2( 1.16 * roughness ); }
return mip;
}
vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {
float mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );
float mipF = fract( mip );
float mipInt = floor( mip );
vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );
if ( mipF == 0.0 ) {
return vec4( color0, 1.0 );
} else {
vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );
return vec4( mix( color0, color1, mipF ), 1.0 );
}
}
#endif`,U8=`vec3 transformedNormal = objectNormal;
#ifdef USE_INSTANCING
mat3 m = mat3( instanceMatrix );
transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );
transformedNormal = m * transformedNormal;
#endif
transformedNormal = normalMatrix * transformedNormal;
#ifdef FLIP_SIDED
transformedNormal = - transformedNormal;
#endif
#ifdef USE_TANGENT
vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;
#ifdef FLIP_SIDED
transformedTangent = - transformedTangent;
#endif
#endif`,O8=`#ifdef USE_DISPLACEMENTMAP
uniform sampler2D displacementMap;
uniform float displacementScale;
uniform float displacementBias;
#endif`,L8=`#ifdef USE_DISPLACEMENTMAP
transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );
#endif`,N8=`#ifdef USE_EMISSIVEMAP
vec4 emissiveColor = texture2D( emissiveMap, vUv );
emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;
totalEmissiveRadiance *= emissiveColor.rgb;
#endif`,H8=`#ifdef USE_EMISSIVEMAP
uniform sampler2D emissiveMap;
#endif`,G8="gl_FragColor = linearToOutputTexel( gl_FragColor );",q8=`
vec4 LinearToLinear( in vec4 value ) {
return value;
}
vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
return vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );
}
vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
return vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );
}
vec4 sRGBToLinear( in vec4 value ) {
return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );
}
vec4 LinearTosRGB( in vec4 value ) {
return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
}
vec4 RGBEToLinear( in vec4 value ) {
return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
}
vec4 LinearToRGBE( in vec4 value ) {
float maxComponent = max( max( value.r, value.g ), value.b );
float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
}
vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
return vec4( value.rgb * value.a * maxRange, 1.0 );
}
vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
float maxRGB = max( value.r, max( value.g, value.b ) );
float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
M = ceil( M * 255.0 ) / 255.0;
return vec4( value.rgb / ( M * maxRange ), M );
}
vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
}
vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
float maxRGB = max( value.r, max( value.g, value.b ) );
float D = max( maxRange / maxRGB, 1.0 );
D = clamp( floor( D ) / 255.0, 0.0, 1.0 );
return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
}
const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
vec4 LinearToLogLuv( in vec4 value ) {
vec3 Xp_Y_XYZp = cLogLuvM * value.rgb;
Xp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );
vec4 vResult;
vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
vResult.w = fract( Le );
vResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;
return vResult;
}
const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
vec4 LogLuvToLinear( in vec4 value ) {
float Le = value.z * 255.0 + value.w;
vec3 Xp_Y_XYZp;
Xp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );
Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
vec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;
return vec4( max( vRGB, 0.0 ), 1.0 );
}`,W8=`#ifdef USE_ENVMAP
#ifdef ENV_WORLDPOS
vec3 cameraToFrag;
if ( isOrthographic ) {
cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
} else {
cameraToFrag = normalize( vWorldPosition - cameraPosition );
}
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
#ifdef ENVMAP_MODE_REFLECTION
vec3 reflectVec = reflect( cameraToFrag, worldNormal );
#else
vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );
#endif
#else
vec3 reflectVec = vReflect;
#endif
#ifdef ENVMAP_TYPE_CUBE
vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
#elif defined( ENVMAP_TYPE_CUBE_UV )
vec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );
#else
vec4 envColor = vec4( 0.0 );
#endif
#ifndef ENVMAP_TYPE_CUBE_UV
envColor = envMapTexelToLinear( envColor );
#endif
#ifdef ENVMAP_BLENDING_MULTIPLY
outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
#elif defined( ENVMAP_BLENDING_MIX )
outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
#elif defined( ENVMAP_BLENDING_ADD )
outgoingLight += envColor.xyz * specularStrength * reflectivity;
#endif
#endif`,K8=`#ifdef USE_ENVMAP
uniform float envMapIntensity;
uniform float flipEnvMap;
uniform int maxMipLevel;
#ifdef ENVMAP_TYPE_CUBE
uniform samplerCube envMap;
#else
uniform sampler2D envMap;
#endif
#endif`,$8=`#ifdef USE_ENVMAP
uniform float reflectivity;
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
#define ENV_WORLDPOS
#endif
#ifdef ENV_WORLDPOS
varying vec3 vWorldPosition;
uniform float refractionRatio;
#else
varying vec3 vReflect;
#endif
#endif`,Y8=`#ifdef USE_ENVMAP
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )
#define ENV_WORLDPOS
#endif
#ifdef ENV_WORLDPOS
varying vec3 vWorldPosition;
#else
varying vec3 vReflect;
uniform float refractionRatio;
#endif
#endif`,X8=`#ifdef USE_ENVMAP
#ifdef ENV_WORLDPOS
vWorldPosition = worldPosition.xyz;
#else
vec3 cameraToVertex;
if ( isOrthographic ) {
cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
} else {
cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
}
vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
#ifdef ENVMAP_MODE_REFLECTION
vReflect = reflect( cameraToVertex, worldNormal );
#else
vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
#endif
#endif
#endif`,J8=`#ifdef USE_FOG
fogDepth = - mvPosition.z;
#endif`,Z8=`#ifdef USE_FOG
varying float fogDepth;
#endif`,Q8=`#ifdef USE_FOG
#ifdef FOG_EXP2
float fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );
#else
float fogFactor = smoothstep( fogNear, fogFar, fogDepth );
#endif
gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
#endif`,eG=`#ifdef USE_FOG
uniform vec3 fogColor;
varying float fogDepth;
#ifdef FOG_EXP2
uniform float fogDensity;
#else
uniform float fogNear;
uniform float fogFar;
#endif
#endif`,tG=`#ifdef USE_GRADIENTMAP
uniform sampler2D gradientMap;
#endif
vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
float dotNL = dot( normal, lightDirection );
vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
#ifdef USE_GRADIENTMAP
return texture2D( gradientMap, coord ).rgb;
#else
return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );
#endif
}`,iG=`#ifdef USE_LIGHTMAP
vec4 lightMapTexel= texture2D( lightMap, vUv2 );
reflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
#endif`,nG=`#ifdef USE_LIGHTMAP
uniform sampler2D lightMap;
uniform float lightMapIntensity;
#endif`,aG=`vec3 diffuse = vec3( 1.0 );
GeometricContext geometry;
geometry.position = mvPosition.xyz;
geometry.normal = normalize( transformedNormal );
geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );
GeometricContext backGeometry;
backGeometry.position = geometry.position;
backGeometry.normal = -geometry.normal;
backGeometry.viewDir = geometry.viewDir;
vLightFront = vec3( 0.0 );
vIndirectFront = vec3( 0.0 );
#ifdef DOUBLE_SIDED
vLightBack = vec3( 0.0 );
vIndirectBack = vec3( 0.0 );
#endif
IncidentLight directLight;
float dotNL;
vec3 directLightColor_Diffuse;
vIndirectFront += getAmbientLightIrradiance( ambientLightColor );
vIndirectFront += getLightProbeIrradiance( lightProbe, geometry );
#ifdef DOUBLE_SIDED
vIndirectBack += getAmbientLightIrradiance( ambientLightColor );
vIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );
#endif
#if NUM_POINT_LIGHTS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
getPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );
dotNL = dot( geometry.normal, directLight.direction );
directLightColor_Diffuse = PI * directLight.color;
vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
#ifdef DOUBLE_SIDED
vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
#endif
}
#pragma unroll_loop_end
#endif
#if NUM_SPOT_LIGHTS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
getSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );
dotNL = dot( geometry.normal, directLight.direction );
directLightColor_Diffuse = PI * directLight.color;
vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
#ifdef DOUBLE_SIDED
vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
#endif
}
#pragma unroll_loop_end
#endif
#if NUM_DIR_LIGHTS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
getDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );
dotNL = dot( geometry.normal, directLight.direction );
directLightColor_Diffuse = PI * directLight.color;
vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
#ifdef DOUBLE_SIDED
vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
#endif
}
#pragma unroll_loop_end
#endif
#if NUM_HEMI_LIGHTS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
vIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
#ifdef DOUBLE_SIDED
vIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );
#endif
}
#pragma unroll_loop_end
#endif`,oG=`uniform bool receiveShadow;
uniform vec3 ambientLightColor;
uniform vec3 lightProbe[ 9 ];
vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
float x = normal.x, y = normal.y, z = normal.z;
vec3 result = shCoefficients[ 0 ] * 0.886227;
result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
return result;
}
vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {
vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );
vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );
return irradiance;
}
vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
vec3 irradiance = ambientLightColor;
#ifndef PHYSICALLY_CORRECT_LIGHTS
irradiance *= PI;
#endif
return irradiance;
}
#if NUM_DIR_LIGHTS > 0
struct DirectionalLight {
vec3 direction;
vec3 color;
};
uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {
directLight.color = directionalLight.color;
directLight.direction = directionalLight.direction;
directLight.visible = true;
}
#endif
#if NUM_POINT_LIGHTS > 0
struct PointLight {
vec3 position;
vec3 color;
float distance;
float decay;
};
uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {
vec3 lVector = pointLight.position - geometry.position;
directLight.direction = normalize( lVector );
float lightDistance = length( lVector );
directLight.color = pointLight.color;
directLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );
directLight.visible = ( directLight.color != vec3( 0.0 ) );
}
#endif
#if NUM_SPOT_LIGHTS > 0
struct SpotLight {
vec3 position;
vec3 direction;
vec3 color;
float distance;
float decay;
float coneCos;
float penumbraCos;
};
uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {
vec3 lVector = spotLight.position - geometry.position;
directLight.direction = normalize( lVector );
float lightDistance = length( lVector );
float angleCos = dot( directLight.direction, spotLight.direction );
if ( angleCos > spotLight.coneCos ) {
float spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );
directLight.color = spotLight.color;
directLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );
directLight.visible = true;
} else {
directLight.color = vec3( 0.0 );
directLight.visible = false;
}
}
#endif
#if NUM_RECT_AREA_LIGHTS > 0
struct RectAreaLight {
vec3 color;
vec3 position;
vec3 halfWidth;
vec3 halfHeight;
};
uniform sampler2D ltc_1; uniform sampler2D ltc_2;
uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
#endif
#if NUM_HEMI_LIGHTS > 0
struct HemisphereLight {
vec3 direction;
vec3 skyColor;
vec3 groundColor;
};
uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {
float dotNL = dot( geometry.normal, hemiLight.direction );
float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
#ifndef PHYSICALLY_CORRECT_LIGHTS
irradiance *= PI;
#endif
return irradiance;
}
#endif`,rG=`#if defined( USE_ENVMAP )
#ifdef ENVMAP_MODE_REFRACTION
uniform float refractionRatio;
#endif
vec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {
vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );
#ifdef ENVMAP_TYPE_CUBE
vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );
#ifdef TEXTURE_LOD_EXT
vec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );
#else
vec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );
#endif
envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
#elif defined( ENVMAP_TYPE_CUBE_UV )
vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );
#else
vec4 envMapColor = vec4( 0.0 );
#endif
return PI * envMapColor.rgb * envMapIntensity;
}
float getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {
float maxMIPLevelScalar = float( maxMIPLevel );
float sigma = PI * roughness * roughness / ( 1.0 + roughness );
float desiredMIPLevel = maxMIPLevelScalar + log2( sigma );
return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );
}
vec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {
#ifdef ENVMAP_MODE_REFLECTION
vec3 reflectVec = reflect( -viewDir, normal );
reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
#else
vec3 reflectVec = refract( -viewDir, normal, refractionRatio );
#endif
reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
float specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );
#ifdef ENVMAP_TYPE_CUBE
vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );
#ifdef TEXTURE_LOD_EXT
vec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );
#else
vec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );
#endif
envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
#elif defined( ENVMAP_TYPE_CUBE_UV )
vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );
#endif
return envMapColor.rgb * envMapIntensity;
}
#endif`,sG=`ToonMaterial material;
material.diffuseColor = diffuseColor.rgb;`,lG=`varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
struct ToonMaterial {
vec3 diffuseColor;
};
void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;
#ifndef PHYSICALLY_CORRECT_LIGHTS
irradiance *= PI;
#endif
reflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
}
void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
}
#define RE_Direct RE_Direct_Toon
#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon
#define Material_LightProbeLOD( material ) (0)`,cG=`BlinnPhongMaterial material;
material.diffuseColor = diffuseColor.rgb;
material.specularColor = specular;
material.specularShininess = shininess;
material.specularStrength = specularStrength;`,dG=`varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
struct BlinnPhongMaterial {
vec3 diffuseColor;
vec3 specularColor;
float specularShininess;
float specularStrength;
};
void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
vec3 irradiance = dotNL * directLight.color;
#ifndef PHYSICALLY_CORRECT_LIGHTS
irradiance *= PI;
#endif
reflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
reflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;
}
void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
}
#define RE_Direct RE_Direct_BlinnPhong
#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong
#define Material_LightProbeLOD( material ) (0)`,uG=`PhysicalMaterial material;
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );
float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
material.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;
material.specularRoughness = min( material.specularRoughness, 1.0 );
#ifdef REFLECTIVITY
material.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), rawDiffuseColor, metalnessFactor );
#else
material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), rawDiffuseColor, metalnessFactor );
#endif
#ifdef CLEARCOAT
material.clearcoat = clearcoat;
material.clearcoatRoughness = clearcoatRoughness;
#ifdef USE_CLEARCOATMAP
material.clearcoat *= texture2D( clearcoatMap, vUv ).x;
#endif
#ifdef USE_CLEARCOAT_ROUGHNESSMAP
material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;
#endif
material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );
material.clearcoatRoughness += geometryRoughness;
material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );
#endif
#ifdef USE_SHEEN
material.sheenColor = sheen;
#endif`,pG=`struct PhysicalMaterial {
vec3 diffuseColor;
float specularRoughness;
vec3 specularColor;
#ifdef CLEARCOAT
float clearcoat;
float clearcoatRoughness;
#endif
#ifdef USE_SHEEN
vec3 sheenColor;
#endif
};
#define MAXIMUM_SPECULAR_COEFFICIENT 0.16
#define DEFAULT_SPECULAR_COEFFICIENT 0.04
float clearcoatDHRApprox( const in float roughness, const in float dotNL ) {
return DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );
}
#if NUM_RECT_AREA_LIGHTS > 0
void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
vec3 normal = geometry.normal;
vec3 viewDir = geometry.viewDir;
vec3 position = geometry.position;
vec3 lightPos = rectAreaLight.position;
vec3 halfWidth = rectAreaLight.halfWidth;
vec3 halfHeight = rectAreaLight.halfHeight;
vec3 lightColor = rectAreaLight.color;
float roughness = material.specularRoughness;
vec3 rectCoords[ 4 ];
rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
vec2 uv = LTC_Uv( normal, viewDir, roughness );
vec4 t1 = texture2D( ltc_1, uv );
vec4 t2 = texture2D( ltc_2, uv );
mat3 mInv = mat3(
vec3( t1.x, 0, t1.y ),
vec3( 0, 1, 0 ),
vec3( t1.z, 0, t1.w )
);
vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
}
#endif
void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
vec3 irradiance = dotNL * directLight.color;
#ifndef PHYSICALLY_CORRECT_LIGHTS
irradiance *= PI;
#endif
#ifdef CLEARCOAT
float ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );
vec3 ccIrradiance = ccDotNL * directLight.color;
#ifndef PHYSICALLY_CORRECT_LIGHTS
ccIrradiance *= PI;
#endif
float clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );
reflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );
#else
float clearcoatDHR = 0.0;
#endif
#ifdef USE_SHEEN
reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(
material.specularRoughness,
directLight.direction,
geometry,
material.sheenColor
);
#else
reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);
#endif
reflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
}
void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
}
void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {
#ifdef CLEARCOAT
float ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );
reflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );
float ccDotNL = ccDotNV;
float clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );
#else
float clearcoatDHR = 0.0;
#endif
float clearcoatInv = 1.0 - clearcoatDHR;
vec3 singleScattering = vec3( 0.0 );
vec3 multiScattering = vec3( 0.0 );
vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
BRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );
vec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );
reflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;
reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
}
#define RE_Direct RE_Direct_Physical
#define RE_Direct_RectArea RE_Direct_RectArea_Physical
#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical
#define RE_IndirectSpecular RE_IndirectSpecular_Physical
float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
}`,mG=`
GeometricContext geometry;
geometry.position = - vViewPosition;
geometry.normal = normal;
geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
#ifdef CLEARCOAT
geometry.clearcoatNormal = clearcoatNormal;
#endif
IncidentLight directLight;
#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
PointLight pointLight;
#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
PointLightShadow pointLightShadow;
#endif
#pragma unroll_loop_start
for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
pointLight = pointLights[ i ];
getPointDirectLightIrradiance( pointLight, geometry, directLight );
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
pointLightShadow = pointLightShadows[ i ];
directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
#endif
RE_Direct( directLight, geometry, material, reflectedLight );
}
#pragma unroll_loop_end
#endif
#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
SpotLight spotLight;
#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
SpotLightShadow spotLightShadow;
#endif
#pragma unroll_loop_start
for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
spotLight = spotLights[ i ];
getSpotDirectLightIrradiance( spotLight, geometry, directLight );
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
spotLightShadow = spotLightShadows[ i ];
directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
#endif
RE_Direct( directLight, geometry, material, reflectedLight );
}
#pragma unroll_loop_end
#endif
#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
DirectionalLight directionalLight;
#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
DirectionalLightShadow directionalLightShadow;
#endif
#pragma unroll_loop_start
for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
directionalLight = directionalLights[ i ];
getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
directionalLightShadow = directionalLightShadows[ i ];
directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
#endif
RE_Direct( directLight, geometry, material, reflectedLight );
}
#pragma unroll_loop_end
#endif
#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
RectAreaLight rectAreaLight;
#pragma unroll_loop_start
for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
rectAreaLight = rectAreaLights[ i ];
RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );
}
#pragma unroll_loop_end
#endif
#if defined( RE_IndirectDiffuse )
vec3 iblIrradiance = vec3( 0.0 );
vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
irradiance += getLightProbeIrradiance( lightProbe, geometry );
#if ( NUM_HEMI_LIGHTS > 0 )
#pragma unroll_loop_start
for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
}
#pragma unroll_loop_end
#endif
#endif
#if defined( RE_IndirectSpecular )
vec3 radiance = vec3( 0.0 );
vec3 clearcoatRadiance = vec3( 0.0 );
#endif`,_G=`#if defined( RE_IndirectDiffuse )
#ifdef USE_LIGHTMAP
vec4 lightMapTexel= texture2D( lightMap, vUv2 );
vec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
#ifndef PHYSICALLY_CORRECT_LIGHTS
lightMapIrradiance *= PI;
#endif
irradiance += lightMapIrradiance;
#endif
#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )
iblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );
#endif
#endif
#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
radiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );
#ifdef CLEARCOAT
clearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );
#endif
#endif`,hG=`#if defined( RE_IndirectDiffuse )
RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );
#endif
#if defined( RE_IndirectSpecular )
RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );
#endif`,fG=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
#endif`,gG=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
uniform float logDepthBufFC;
varying float vFragDepth;
varying float vIsPerspective;
#endif`,vG=`#ifdef USE_LOGDEPTHBUF
#ifdef USE_LOGDEPTHBUF_EXT
varying float vFragDepth;
varying float vIsPerspective;
#else
uniform float logDepthBufFC;
#endif
#endif`,bG=`#ifdef USE_LOGDEPTHBUF
#ifdef USE_LOGDEPTHBUF_EXT
vFragDepth = 1.0 + gl_Position.w;
vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
#else
if ( isPerspectiveMatrix( projectionMatrix ) ) {
gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;
gl_Position.z *= gl_Position.w;
}
#endif
#endif`,yG=`#ifdef USE_MAP
vec4 texelColor = texture2D( map, vUv );
texelColor = mapTexelToLinear( texelColor );
diffuseColor *= texelColor;
#endif`,xG=`#ifdef USE_MAP
uniform sampler2D map;
#endif`,kG=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
#endif
#ifdef USE_MAP
vec4 mapTexel = texture2D( map, uv );
diffuseColor *= mapTexelToLinear( mapTexel );
#endif
#ifdef USE_ALPHAMAP
diffuseColor.a *= texture2D( alphaMap, uv ).g;
#endif`,wG=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
uniform mat3 uvTransform;
#endif
#ifdef USE_MAP
uniform sampler2D map;
#endif
#ifdef USE_ALPHAMAP
uniform sampler2D alphaMap;
#endif`,SG=`float metalnessFactor = metalness;
#ifdef USE_METALNESSMAP
vec4 texelMetalness = texture2D( metalnessMap, vUv );
metalnessFactor *= texelMetalness.b;
#endif`,zG=`#ifdef USE_METALNESSMAP
uniform sampler2D metalnessMap;
#endif`,EG=`#ifdef USE_MORPHNORMALS
objectNormal *= morphTargetBaseInfluence;
objectNormal += morphNormal0 * morphTargetInfluences[ 0 ];
objectNormal += morphNormal1 * morphTargetInfluences[ 1 ];
objectNormal += morphNormal2 * morphTargetInfluences[ 2 ];
objectNormal += morphNormal3 * morphTargetInfluences[ 3 ];
#endif`,MG=`#ifdef USE_MORPHTARGETS
uniform float morphTargetBaseInfluence;
#ifndef USE_MORPHNORMALS
uniform float morphTargetInfluences[ 8 ];
#else
uniform float morphTargetInfluences[ 4 ];
#endif
#endif`,TG=`#ifdef USE_MORPHTARGETS
transformed *= morphTargetBaseInfluence;
transformed += morphTarget0 * morphTargetInfluences[ 0 ];
transformed += morphTarget1 * morphTargetInfluences[ 1 ];
transformed += morphTarget2 * morphTargetInfluences[ 2 ];
transformed += morphTarget3 * morphTargetInfluences[ 3 ];
#ifndef USE_MORPHNORMALS
transformed += morphTarget4 * morphTargetInfluences[ 4 ];
transformed += morphTarget5 * morphTargetInfluences[ 5 ];
transformed += morphTarget6 * morphTargetInfluences[ 6 ];
transformed += morphTarget7 * morphTargetInfluences[ 7 ];
#endif
#endif`,AG=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
#ifdef FLAT_SHADED
vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );
vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );
vec3 normal = normalize( cross( fdx, fdy ) );
#else
vec3 normal = normalize( vNormal );
#ifdef DOUBLE_SIDED
normal = normal * faceDirection;
#endif
#ifdef USE_TANGENT
vec3 tangent = normalize( vTangent );
vec3 bitangent = normalize( vBitangent );
#ifdef DOUBLE_SIDED
tangent = tangent * faceDirection;
bitangent = bitangent * faceDirection;
#endif
#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )
mat3 vTBN = mat3( tangent, bitangent, normal );
#endif
#endif
#endif
vec3 geometryNormal = normal;`,CG=`#ifdef OBJECTSPACE_NORMALMAP
normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
#ifdef FLIP_SIDED
normal = - normal;
#endif
#ifdef DOUBLE_SIDED
normal = normal * faceDirection;
#endif
normal = normalize( normalMatrix * normal );
#elif defined( TANGENTSPACE_NORMALMAP )
vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
mapN.xy *= normalScale;
#ifdef USE_TANGENT
normal = normalize( vTBN * mapN );
#else
normal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );
#endif
#elif defined( USE_BUMPMAP )
normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );
#endif`,PG=`#ifdef USE_NORMALMAP
uniform sampler2D normalMap;
uniform vec2 normalScale;
#endif
#ifdef OBJECTSPACE_NORMALMAP
uniform mat3 normalMatrix;
#endif
#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )
vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {
vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );
vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );
vec2 st0 = dFdx( vUv.st );
vec2 st1 = dFdy( vUv.st );
vec3 N = surf_norm;
vec3 q1perp = cross( q1, N );
vec3 q0perp = cross( N, q0 );
vec3 T = q1perp * st0.x + q0perp * st1.x;
vec3 B = q1perp * st0.y + q0perp * st1.y;
float det = max( dot( T, T ), dot( B, B ) );
float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );
return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );
}
#endif`,BG=`#ifdef CLEARCOAT
vec3 clearcoatNormal = geometryNormal;
#endif`,RG=`#ifdef USE_CLEARCOAT_NORMALMAP
vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;
clearcoatMapN.xy *= clearcoatNormalScale;
#ifdef USE_TANGENT
clearcoatNormal = normalize( vTBN * clearcoatMapN );
#else
clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );
#endif
#endif`,jG=`#ifdef USE_CLEARCOATMAP
uniform sampler2D clearcoatMap;
#endif
#ifdef USE_CLEARCOAT_ROUGHNESSMAP
uniform sampler2D clearcoatRoughnessMap;
#endif
#ifdef USE_CLEARCOAT_NORMALMAP
uniform sampler2D clearcoatNormalMap;
uniform vec2 clearcoatNormalScale;
#endif`,IG=`vec3 packNormalToRGB( const in vec3 normal ) {
return normalize( normal ) * 0.5 + 0.5;
}
vec3 unpackRGBToNormal( const in vec3 rgb ) {
return 2.0 * rgb.xyz - 1.0;
}
const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;
const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );
const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );
const float ShiftRight8 = 1. / 256.;
vec4 packDepthToRGBA( const in float v ) {
vec4 r = vec4( fract( v * PackFactors ), v );
r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale;
}
float unpackRGBAToDepth( const in vec4 v ) {
return dot( v, UnpackFactors );
}
vec4 pack2HalfToRGBA( vec2 v ) {
vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));
return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);
}
vec2 unpackRGBATo2Half( vec4 v ) {
return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );
}
float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
return ( viewZ + near ) / ( near - far );
}
float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {
return linearClipZ * ( near - far ) - near;
}
float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
return (( near + viewZ ) * far ) / (( far - near ) * viewZ );
}
float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {
return ( near * far ) / ( ( far - near ) * invClipZ - far );
}`,DG=`#ifdef PREMULTIPLIED_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif`,VG=`vec4 mvPosition = vec4( transformed, 1.0 );
#ifdef USE_INSTANCING
mvPosition = instanceMatrix * mvPosition;
#endif
mvPosition = modelViewMatrix * mvPosition;
gl_Position = projectionMatrix * mvPosition;`,FG=`#ifdef DITHERING
gl_FragColor.rgb = dithering( gl_FragColor.rgb );
#endif`,UG=`#ifdef DITHERING
vec3 dithering( vec3 color ) {
float grid_position = rand( gl_FragCoord.xy );
vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
return color + dither_shift_RGB;
}
#endif`,OG=`float roughnessFactor = roughness;
#ifdef USE_ROUGHNESSMAP
vec4 texelRoughness = texture2D( roughnessMap, vUv );
roughnessFactor *= texelRoughness.g;
#endif`,LG=`#ifdef USE_ROUGHNESSMAP
uniform sampler2D roughnessMap;
#endif`,NG=`#ifdef USE_SHADOWMAP
#if NUM_DIR_LIGHT_SHADOWS > 0
uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
struct DirectionalLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
};
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
#endif
#if NUM_SPOT_LIGHT_SHADOWS > 0
uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];
struct SpotLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
};
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
#endif
#if NUM_POINT_LIGHT_SHADOWS > 0
uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
struct PointLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
float shadowCameraNear;
float shadowCameraFar;
};
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
#endif
float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );
}
vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {
return unpackRGBATo2Half( texture2D( shadow, uv ) );
}
float VSMShadow (sampler2D shadow, vec2 uv, float compare ){
float occlusion = 1.0;
vec2 distribution = texture2DDistribution( shadow, uv );
float hard_shadow = step( compare , distribution.x );
if (hard_shadow != 1.0 ) {
float distance = compare - distribution.x ;
float variance = max( 0.00000, distribution.y * distribution.y );
float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );
}
return occlusion;
}
float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
float shadow = 1.0;
shadowCoord.xyz /= shadowCoord.w;
shadowCoord.z += shadowBias;
bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );
bool inFrustum = all( inFrustumVec );
bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );
bool frustumTest = all( frustumTestVec );
if ( frustumTest ) {
#if defined( SHADOWMAP_TYPE_PCF )
vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
float dx0 = - texelSize.x * shadowRadius;
float dy0 = - texelSize.y * shadowRadius;
float dx1 = + texelSize.x * shadowRadius;
float dy1 = + texelSize.y * shadowRadius;
float dx2 = dx0 / 2.0;
float dy2 = dy0 / 2.0;
float dx3 = dx1 / 2.0;
float dy3 = dy1 / 2.0;
shadow = (
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
) * ( 1.0 / 17.0 );
#elif defined( SHADOWMAP_TYPE_PCF_SOFT )
vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
float dx = texelSize.x;
float dy = texelSize.y;
vec2 uv = shadowCoord.xy;
vec2 f = fract( uv * shadowMapSize + 0.5 );
uv -= f * texelSize;
shadow = (
texture2DCompare( shadowMap, uv, shadowCoord.z ) +
texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
f.x ) +
mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
f.x ) +
mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
f.y ) +
mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
f.y ) +
mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
f.x ),
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
f.x ),
f.y )
) * ( 1.0 / 9.0 );
#elif defined( SHADOWMAP_TYPE_VSM )
shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );
#else
shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
#endif
}
return shadow;
}
vec2 cubeToUV( vec3 v, float texelSizeY ) {
vec3 absV = abs( v );
float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
absV *= scaleToCube;
v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
vec2 planar = v.xy;
float almostATexel = 1.5 * texelSizeY;
float almostOne = 1.0 - almostATexel;
if ( absV.z >= almostOne ) {
if ( v.z > 0.0 )
planar.x = 4.0 - v.x;
} else if ( absV.x >= almostOne ) {
float signX = sign( v.x );
planar.x = v.z * signX + 2.0 * signX;
} else if ( absV.y >= almostOne ) {
float signY = sign( v.y );
planar.x = v.x + 2.0 * signY + 2.0;
planar.y = v.z * signY - 2.0;
}
return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
}
float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
vec3 lightToPosition = shadowCoord.xyz;
float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias;
vec3 bd3D = normalize( lightToPosition );
#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )
vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
return (
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
) * ( 1.0 / 9.0 );
#else
return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
#endif
}
#endif`,HG=`#ifdef USE_SHADOWMAP
#if NUM_DIR_LIGHT_SHADOWS > 0
uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
struct DirectionalLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
};
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
#endif
#if NUM_SPOT_LIGHT_SHADOWS > 0
uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];
varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];
struct SpotLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
};
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
#endif
#if NUM_POINT_LIGHT_SHADOWS > 0
uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
struct PointLightShadow {
float shadowBias;
float shadowNormalBias;
float shadowRadius;
vec2 shadowMapSize;
float shadowCameraNear;
float shadowCameraFar;
};
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
#endif
#endif`,GG=`#ifdef USE_SHADOWMAP
#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0
vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
vec4 shadowWorldPosition;
#endif
#if NUM_DIR_LIGHT_SHADOWS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
}
#pragma unroll_loop_end
#endif
#if NUM_SPOT_LIGHT_SHADOWS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );
vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;
}
#pragma unroll_loop_end
#endif
#if NUM_POINT_LIGHT_SHADOWS > 0
#pragma unroll_loop_start
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
}
#pragma unroll_loop_end
#endif
#endif`,qG=`float getShadowMask() {
float shadow = 1.0;
#ifdef USE_SHADOWMAP
#if NUM_DIR_LIGHT_SHADOWS > 0
DirectionalLightShadow directionalLight;
#pragma unroll_loop_start
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
directionalLight = directionalLightShadows[ i ];
shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
}
#pragma unroll_loop_end
#endif
#if NUM_SPOT_LIGHT_SHADOWS > 0
SpotLightShadow spotLight;
#pragma unroll_loop_start
for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
spotLight = spotLightShadows[ i ];
shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
}
#pragma unroll_loop_end
#endif
#if NUM_POINT_LIGHT_SHADOWS > 0
PointLightShadow pointLight;
#pragma unroll_loop_start
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
pointLight = pointLightShadows[ i ];
shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
}
#pragma unroll_loop_end
#endif
#endif
return shadow;
}`,WG=`#ifdef USE_SKINNING
mat4 boneMatX = getBoneMatrix( skinIndex.x );
mat4 boneMatY = getBoneMatrix( skinIndex.y );
mat4 boneMatZ = getBoneMatrix( skinIndex.z );
mat4 boneMatW = getBoneMatrix( skinIndex.w );
#endif`,KG=`#ifdef USE_SKINNING
uniform mat4 bindMatrix;
uniform mat4 bindMatrixInverse;
#ifdef BONE_TEXTURE
uniform highp sampler2D boneTexture;
uniform int boneTextureSize;
mat4 getBoneMatrix( const in float i ) {
float j = i * 4.0;
float x = mod( j, float( boneTextureSize ) );
float y = floor( j / float( boneTextureSize ) );
float dx = 1.0 / float( boneTextureSize );
float dy = 1.0 / float( boneTextureSize );
y = dy * ( y + 0.5 );
vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
mat4 bone = mat4( v1, v2, v3, v4 );
return bone;
}
#else
uniform mat4 boneMatrices[ MAX_BONES ];
mat4 getBoneMatrix( const in float i ) {
mat4 bone = boneMatrices[ int(i) ];
return bone;
}
#endif
#endif`,$G=`#ifdef USE_SKINNING
vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
vec4 skinned = vec4( 0.0 );
skinned += boneMatX * skinVertex * skinWeight.x;
skinned += boneMatY * skinVertex * skinWeight.y;
skinned += boneMatZ * skinVertex * skinWeight.z;
skinned += boneMatW * skinVertex * skinWeight.w;
transformed = ( bindMatrixInverse * skinned ).xyz;
#endif`,YG=`#ifdef USE_SKINNING
mat4 skinMatrix = mat4( 0.0 );
skinMatrix += skinWeight.x * boneMatX;
skinMatrix += skinWeight.y * boneMatY;
skinMatrix += skinWeight.z * boneMatZ;
skinMatrix += skinWeight.w * boneMatW;
skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
#ifdef USE_TANGENT
objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;
#endif
#endif`,XG=`float specularStrength;
#ifdef USE_SPECULARMAP
vec4 texelSpecular = texture2D( specularMap, vUv );
specularStrength = texelSpecular.r;
#else
specularStrength = 1.0;
#endif`,JG=`#ifdef USE_SPECULARMAP
uniform sampler2D specularMap;
#endif`,ZG=`#if defined( TONE_MAPPING )
gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
#endif`,QG=`#ifndef saturate
#define saturate(a) clamp( a, 0.0, 1.0 )
#endif
uniform float toneMappingExposure;
vec3 LinearToneMapping( vec3 color ) {
return toneMappingExposure * color;
}
vec3 ReinhardToneMapping( vec3 color ) {
color *= toneMappingExposure;
return saturate( color / ( vec3( 1.0 ) + color ) );
}
vec3 OptimizedCineonToneMapping( vec3 color ) {
color *= toneMappingExposure;
color = max( vec3( 0.0 ), color - 0.004 );
return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
}
vec3 RRTAndODTFit( vec3 v ) {
vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
return a / b;
}
vec3 ACESFilmicToneMapping( vec3 color ) {
const mat3 ACESInputMat = mat3(
vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ),
vec3( 0.04823, 0.01566, 0.83777 )
);
const mat3 ACESOutputMat = mat3(
vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ),
vec3( -0.07367, -0.00605, 1.07602 )
);
color *= toneMappingExposure / 0.6;
color = ACESInputMat * color;
color = RRTAndODTFit( color );
color = ACESOutputMat * color;
return saturate( color );
}
vec3 CustomToneMapping( vec3 color ) { return color; }`,eq=`#ifdef USE_TRANSMISSION
#ifdef USE_TRANSMISSIONMAP
totalTransmission *= texture2D( transmissionMap, vUv ).r;
#endif
#ifdef USE_THICKNESSNMAP
thicknessFactor *= texture2D( thicknessMap, vUv ).g;
#endif
vec3 pos = vWorldPosition.xyz / vWorldPosition.w;
vec3 v = normalize( cameraPosition - pos );
vec3 viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
float ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );
vec3 f0 = vec3( pow( ior - 1.0, 2.0 ) / pow( ior + 1.0, 2.0 ) );
vec3 f90 = vec3( 1.0 );
vec3 f_transmission = totalTransmission * getIBLVolumeRefraction(
normal, v, viewDir, roughnessFactor, diffuseColor.rgb, f0, f90,
pos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,
attenuationColor, attenuationDistance);
diffuseColor.rgb = mix( diffuseColor.rgb, f_transmission, totalTransmission );
#endif`,tq=`#ifdef USE_TRANSMISSION
#ifdef USE_TRANSMISSIONMAP
uniform sampler2D transmissionMap;
#endif
#ifdef USE_THICKNESSMAP
uniform sampler2D thicknessMap;
#endif
uniform vec2 transmissionSamplerSize;
uniform sampler2D transmissionSamplerMap;
uniform mat4 modelMatrix;
uniform mat4 projectionMatrix;
varying vec4 vWorldPosition;
vec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {
vec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);
vec3 modelScale;
modelScale.x = length(vec3(modelMatrix[0].xyz));
modelScale.y = length(vec3(modelMatrix[1].xyz));
modelScale.z = length(vec3(modelMatrix[2].xyz));
return normalize(refractionVector) * thickness * modelScale;
}
float applyIorToRoughness(float roughness, float ior) {
return roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);
}
vec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {
float framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);
return texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;
}
vec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {
if (attenuationDistance == 0.0) {
return radiance;
} else {
vec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;
vec3 transmittance = exp(-attenuationCoefficient * transmissionDistance); return transmittance * radiance;
}
}
vec3 getIBLVolumeRefraction(vec3 n, vec3 v, vec3 viewDir, float perceptualRoughness, vec3 baseColor, vec3 f0, vec3 f90,
vec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness, vec3 attenuationColor, float attenuationDistance) {
vec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);
vec3 refractedRayExit = position + transmissionRay;
vec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);
vec2 refractionCoords = ndcPos.xy / ndcPos.w;
refractionCoords += 1.0;
refractionCoords /= 2.0;
vec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);
vec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);
float NdotV = saturate(dot(n, viewDir));
vec2 brdf = integrateSpecularBRDF(NdotV, perceptualRoughness);
vec3 specularColor = f0 * brdf.x + f90 * brdf.y;
return (1.0 - specularColor) * attenuatedColor * baseColor;
}
#endif`,iq=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )
varying vec2 vUv;
#endif`,nq=`#ifdef USE_UV
#ifdef UVS_VERTEX_ONLY
vec2 vUv;
#else
varying vec2 vUv;
#endif
uniform mat3 uvTransform;
#endif`,aq=`#ifdef USE_UV
vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
#endif`,oq=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
varying vec2 vUv2;
#endif`,rq=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
attribute vec2 uv2;
varying vec2 vUv2;
uniform mat3 uv2Transform;
#endif`,sq=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;
#endif`,lq=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )
vec4 worldPosition = vec4( transformed, 1.0 );
#ifdef USE_INSTANCING
worldPosition = instanceMatrix * worldPosition;
#endif
worldPosition = modelMatrix * worldPosition;
#endif`,cq=`uniform sampler2D t2D;
varying vec2 vUv;
void main() {
vec4 texColor = texture2D( t2D, vUv );
gl_FragColor = mapTexelToLinear( texColor );
#include <tonemapping_fragment>
#include <encodings_fragment>
}`,dq=`varying vec2 vUv;
uniform mat3 uvTransform;
void main() {
vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
gl_Position = vec4( position.xy, 1.0, 1.0 );
}`,uq=`#include <envmap_common_pars_fragment>
uniform float opacity;
varying vec3 vWorldDirection;
#include <cube_uv_reflection_fragment>
void main() {
vec3 vReflect = vWorldDirection;
#include <envmap_fragment>
gl_FragColor = envColor;
gl_FragColor.a *= opacity;
#include <tonemapping_fragment>
#include <encodings_fragment>
}`,pq=`varying vec3 vWorldDirection;
#include <common>
void main() {
vWorldDirection = transformDirection( position, modelMatrix );
#include <begin_vertex>
#include <project_vertex>
gl_Position.z = gl_Position.w;
}`,mq=`#if DEPTH_PACKING == 3200
uniform float opacity;
#endif
#include <common>
#include <packing>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
varying vec2 vHighPrecisionZW;
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( 1.0 );
#if DEPTH_PACKING == 3200
diffuseColor.a = opacity;
#endif
#include <map_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <logdepthbuf_fragment>
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
#if DEPTH_PACKING == 3200
gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
#elif DEPTH_PACKING == 3201
gl_FragColor = packDepthToRGBA( fragCoordZ );
#endif
}`,_q=`#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
varying vec2 vHighPrecisionZW;
void main() {
#include <uv_vertex>
#include <skinbase_vertex>
#ifdef USE_DISPLACEMENTMAP
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinnormal_vertex>
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
vHighPrecisionZW = gl_Position.zw;
}`,hq=`#define DISTANCE
uniform vec3 referencePosition;
uniform float nearDistance;
uniform float farDistance;
varying vec3 vWorldPosition;
#include <common>
#include <packing>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <clipping_planes_pars_fragment>
void main () {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( 1.0 );
#include <map_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
float dist = length( vWorldPosition - referencePosition );
dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
dist = saturate( dist );
gl_FragColor = packDepthToRGBA( dist );
}`,fq=`#define DISTANCE
varying vec3 vWorldPosition;
#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <skinbase_vertex>
#ifdef USE_DISPLACEMENTMAP
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinnormal_vertex>
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <worldpos_vertex>
#include <clipping_planes_vertex>
vWorldPosition = worldPosition.xyz;
}`,gq=`uniform sampler2D tEquirect;
varying vec3 vWorldDirection;
#include <common>
void main() {
vec3 direction = normalize( vWorldDirection );
vec2 sampleUV = equirectUv( direction );
vec4 texColor = texture2D( tEquirect, sampleUV );
gl_FragColor = mapTexelToLinear( texColor );
#include <tonemapping_fragment>
#include <encodings_fragment>
}`,vq=`varying vec3 vWorldDirection;
#include <common>
void main() {
vWorldDirection = transformDirection( position, modelMatrix );
#include <begin_vertex>
#include <project_vertex>
}`,bq=`uniform vec3 diffuse;
uniform float opacity;
uniform float dashSize;
uniform float totalSize;
varying float vLineDistance;
#include <common>
#include <color_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
if ( mod( vLineDistance, totalSize ) > dashSize ) {
discard;
}
vec3 outgoingLight = vec3( 0.0 );
vec4 diffuseColor = vec4( diffuse, opacity );
#include <logdepthbuf_fragment>
#include <color_fragment>
outgoingLight = diffuseColor.rgb;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
}`,yq=`uniform float scale;
attribute float lineDistance;
varying float vLineDistance;
#include <common>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
vLineDistance = scale * lineDistance;
#include <color_vertex>
#include <begin_vertex>
#include <morphtarget_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#include <fog_vertex>
}`,xq=`uniform vec3 diffuse;
uniform float opacity;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
#include <common>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <cube_uv_reflection_fragment>
#include <fog_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <specularmap_fragment>
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
#ifdef USE_LIGHTMAP
vec4 lightMapTexel= texture2D( lightMap, vUv2 );
reflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
#else
reflectedLight.indirectDiffuse += vec3( 1.0 );
#endif
#include <aomap_fragment>
reflectedLight.indirectDiffuse *= diffuseColor.rgb;
vec3 outgoingLight = reflectedLight.indirectDiffuse;
#include <envmap_fragment>
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,kq=`#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <envmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <uv2_vertex>
#include <color_vertex>
#include <skinbase_vertex>
#ifdef USE_ENVMAP
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <worldpos_vertex>
#include <clipping_planes_vertex>
#include <envmap_vertex>
#include <fog_vertex>
}`,wq=`uniform vec3 diffuse;
uniform vec3 emissive;
uniform float opacity;
varying vec3 vLightFront;
varying vec3 vIndirectFront;
#ifdef DOUBLE_SIDED
varying vec3 vLightBack;
varying vec3 vIndirectBack;
#endif
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <cube_uv_reflection_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <fog_pars_fragment>
#include <shadowmap_pars_fragment>
#include <shadowmask_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
vec3 totalEmissiveRadiance = emissive;
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <specularmap_fragment>
#include <emissivemap_fragment>
#ifdef DOUBLE_SIDED
reflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;
#else
reflectedLight.indirectDiffuse += vIndirectFront;
#endif
#include <lightmap_fragment>
reflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );
#ifdef DOUBLE_SIDED
reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;
#else
reflectedLight.directDiffuse = vLightFront;
#endif
reflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();
#include <aomap_fragment>
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
#include <envmap_fragment>
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,Sq=`#define LAMBERT
varying vec3 vLightFront;
varying vec3 vIndirectFront;
#ifdef DOUBLE_SIDED
varying vec3 vLightBack;
varying vec3 vIndirectBack;
#endif
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <envmap_pars_vertex>
#include <bsdfs>
#include <lights_pars_begin>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <uv2_vertex>
#include <color_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#include <worldpos_vertex>
#include <envmap_vertex>
#include <lights_lambert_vertex>
#include <shadowmap_vertex>
#include <fog_vertex>
}`,zq=`#define MATCAP
uniform vec3 diffuse;
uniform float opacity;
uniform sampler2D matcap;
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
#include <common>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <fog_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <normal_fragment_begin>
#include <normal_fragment_maps>
vec3 viewDir = normalize( vViewPosition );
vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );
vec3 y = cross( viewDir, x );
vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;
#ifdef USE_MATCAP
vec4 matcapColor = texture2D( matcap, uv );
matcapColor = matcapTexelToLinear( matcapColor );
#else
vec4 matcapColor = vec4( 1.0 );
#endif
vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,Eq=`#define MATCAP
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
#include <common>
#include <uv_pars_vertex>
#include <color_pars_vertex>
#include <displacementmap_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <color_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#ifndef FLAT_SHADED
vNormal = normalize( transformedNormal );
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#include <fog_vertex>
vViewPosition = - mvPosition.xyz;
}`,Mq=`#define TOON
uniform vec3 diffuse;
uniform vec3 emissive;
uniform float opacity;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <gradientmap_pars_fragment>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <lights_toon_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
vec3 totalEmissiveRadiance = emissive;
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <normal_fragment_begin>
#include <normal_fragment_maps>
#include <emissivemap_fragment>
#include <lights_toon_fragment>
#include <lights_fragment_begin>
#include <lights_fragment_maps>
#include <lights_fragment_end>
#include <aomap_fragment>
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,Tq=`#define TOON
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <uv2_vertex>
#include <color_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#ifndef FLAT_SHADED
vNormal = normalize( transformedNormal );
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
vViewPosition = - mvPosition.xyz;
#include <worldpos_vertex>
#include <shadowmap_vertex>
#include <fog_vertex>
}`,Aq=`#define PHONG
uniform vec3 diffuse;
uniform vec3 emissive;
uniform vec3 specular;
uniform float shininess;
uniform float opacity;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <cube_uv_reflection_fragment>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <lights_phong_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
vec3 totalEmissiveRadiance = emissive;
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <specularmap_fragment>
#include <normal_fragment_begin>
#include <normal_fragment_maps>
#include <emissivemap_fragment>
#include <lights_phong_fragment>
#include <lights_fragment_begin>
#include <lights_fragment_maps>
#include <lights_fragment_end>
#include <aomap_fragment>
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
#include <envmap_fragment>
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,Cq=`#define PHONG
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#endif
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <envmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <uv2_vertex>
#include <color_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#ifndef FLAT_SHADED
vNormal = normalize( transformedNormal );
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
vViewPosition = - mvPosition.xyz;
#include <worldpos_vertex>
#include <envmap_vertex>
#include <shadowmap_vertex>
#include <fog_vertex>
}`,Pq=`#define STANDARD
#ifdef PHYSICAL
#define REFLECTIVITY
#define CLEARCOAT
#endif
uniform vec3 diffuse;
uniform vec3 emissive;
uniform float roughness;
uniform float metalness;
uniform float opacity;
#ifdef USE_TRANSMISSION
uniform float transmission;
uniform float thickness;
uniform vec3 attenuationColor;
uniform float attenuationDistance;
#endif
#ifdef REFLECTIVITY
uniform float reflectivity;
#endif
#ifdef CLEARCOAT
uniform float clearcoat;
uniform float clearcoatRoughness;
#endif
#ifdef USE_SHEEN
uniform vec3 sheen;
#endif
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#ifdef USE_TANGENT
varying vec3 vTangent;
varying vec3 vBitangent;
#endif
#endif
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <bsdfs>
#include <transmission_pars_fragment>
#include <cube_uv_reflection_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_physical_pars_fragment>
#include <fog_pars_fragment>
#include <lights_pars_begin>
#include <lights_physical_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <clearcoat_pars_fragment>
#include <roughnessmap_pars_fragment>
#include <metalnessmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec4 diffuseColor = vec4( diffuse, opacity );
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
vec3 totalEmissiveRadiance = emissive;
#ifdef USE_TRANSMISSION
float totalTransmission = transmission;
float thicknessFactor = thickness;
#endif
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <roughnessmap_fragment>
#include <metalnessmap_fragment>
#include <normal_fragment_begin>
#include <normal_fragment_maps>
#include <clearcoat_normal_fragment_begin>
#include <clearcoat_normal_fragment_maps>
#include <emissivemap_fragment>
vec3 rawDiffuseColor = diffuseColor.rgb;
#include <transmission_fragment>
#include <lights_physical_fragment>
#include <lights_fragment_begin>
#include <lights_fragment_maps>
#include <lights_fragment_end>
#include <aomap_fragment>
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
#include <dithering_fragment>
}`,Bq=`#define STANDARD
varying vec3 vViewPosition;
#ifndef FLAT_SHADED
varying vec3 vNormal;
#ifdef USE_TANGENT
varying vec3 vTangent;
varying vec3 vBitangent;
#endif
#endif
#ifdef USE_TRANSMISSION
varying vec4 vWorldPosition;
#endif
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <uv2_vertex>
#include <color_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#ifndef FLAT_SHADED
vNormal = normalize( transformedNormal );
#ifdef USE_TANGENT
vTangent = normalize( transformedTangent );
vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
#endif
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
vViewPosition = - mvPosition.xyz;
#include <worldpos_vertex>
#include <shadowmap_vertex>
#include <fog_vertex>
#ifdef USE_TRANSMISSION
vWorldPosition = worldPosition;
#endif
}`,Rq=`#define NORMAL
uniform float opacity;
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
varying vec3 vViewPosition;
#endif
#ifndef FLAT_SHADED
varying vec3 vNormal;
#ifdef USE_TANGENT
varying vec3 vTangent;
varying vec3 vBitangent;
#endif
#endif
#include <packing>
#include <uv_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
#include <logdepthbuf_fragment>
#include <normal_fragment_begin>
#include <normal_fragment_maps>
gl_FragColor = vec4( packNormalToRGB( normal ), opacity );
}`,jq=`#define NORMAL
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
varying vec3 vViewPosition;
#endif
#ifndef FLAT_SHADED
varying vec3 vNormal;
#ifdef USE_TANGENT
varying vec3 vTangent;
varying vec3 vBitangent;
#endif
#endif
#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#ifndef FLAT_SHADED
vNormal = normalize( transformedNormal );
#ifdef USE_TANGENT
vTangent = normalize( transformedTangent );
vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
#endif
#endif
#include <begin_vertex>
#include <morphtarget_vertex>
#include <skinning_vertex>
#include <displacementmap_vertex>
#include <project_vertex>
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
vViewPosition = - mvPosition.xyz;
#endif
}`,Iq=`uniform vec3 diffuse;
uniform float opacity;
#include <common>
#include <color_pars_fragment>
#include <map_particle_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec3 outgoingLight = vec3( 0.0 );
vec4 diffuseColor = vec4( diffuse, opacity );
#include <logdepthbuf_fragment>
#include <map_particle_fragment>
#include <color_fragment>
#include <alphatest_fragment>
outgoingLight = diffuseColor.rgb;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
#include <premultiplied_alpha_fragment>
}`,Dq=`uniform float size;
uniform float scale;
#include <common>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <color_vertex>
#include <begin_vertex>
#include <morphtarget_vertex>
#include <project_vertex>
gl_PointSize = size;
#ifdef USE_SIZEATTENUATION
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );
#endif
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#include <worldpos_vertex>
#include <fog_vertex>
}`,Vq=`uniform vec3 color;
uniform float opacity;
#include <common>
#include <packing>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <shadowmap_pars_fragment>
#include <shadowmask_pars_fragment>
void main() {
gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
}`,Fq=`#include <common>
#include <fog_pars_vertex>
#include <shadowmap_pars_vertex>
void main() {
#include <begin_vertex>
#include <project_vertex>
#include <worldpos_vertex>
#include <beginnormal_vertex>
#include <morphnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#include <shadowmap_vertex>
#include <fog_vertex>
}`,Uq=`uniform vec3 diffuse;
uniform float opacity;
#include <common>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
#include <clipping_planes_fragment>
vec3 outgoingLight = vec3( 0.0 );
vec4 diffuseColor = vec4( diffuse, opacity );
#include <logdepthbuf_fragment>
#include <map_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
outgoingLight = diffuseColor.rgb;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
#include <tonemapping_fragment>
#include <encodings_fragment>
#include <fog_fragment>
}`,Oq=`uniform float rotation;
uniform vec2 center;
#include <common>
#include <uv_pars_vertex>
#include <fog_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
#include <uv_vertex>
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
vec2 scale;
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
#ifndef USE_SIZEATTENUATION
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
if ( isPerspective ) scale *= - mvPosition.z;
#endif
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;
vec2 rotatedPosition;
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
mvPosition.xy += rotatedPosition;
gl_Position = projectionMatrix * mvPosition;
#include <logdepthbuf_vertex>
#include <clipping_planes_vertex>
#include <fog_vertex>
}`,Bn={alphamap_fragment:y8,alphamap_pars_fragment:x8,alphatest_fragment:k8,aomap_fragment:w8,aomap_pars_fragment:S8,begin_vertex:z8,beginnormal_vertex:E8,bsdfs:M8,bumpmap_pars_fragment:T8,clipping_planes_fragment:A8,clipping_planes_pars_fragment:C8,clipping_planes_pars_vertex:P8,clipping_planes_vertex:B8,color_fragment:R8,color_pars_fragment:j8,color_pars_vertex:I8,color_vertex:D8,common:V8,cube_uv_reflection_fragment:F8,defaultnormal_vertex:U8,displacementmap_pars_vertex:O8,displacementmap_vertex:L8,emissivemap_fragment:N8,emissivemap_pars_fragment:H8,encodings_fragment:G8,encodings_pars_fragment:q8,envmap_fragment:W8,envmap_common_pars_fragment:K8,envmap_pars_fragment:$8,envmap_pars_vertex:Y8,envmap_physical_pars_fragment:rG,envmap_vertex:X8,fog_vertex:J8,fog_pars_vertex:Z8,fog_fragment:Q8,fog_pars_fragment:eG,gradientmap_pars_fragment:tG,lightmap_fragment:iG,lightmap_pars_fragment:nG,lights_lambert_vertex:aG,lights_pars_begin:oG,lights_toon_fragment:sG,lights_toon_pars_fragment:lG,lights_phong_fragment:cG,lights_phong_pars_fragment:dG,lights_physical_fragment:uG,lights_physical_pars_fragment:pG,lights_fragment_begin:mG,lights_fragment_maps:_G,lights_fragment_end:hG,logdepthbuf_fragment:fG,logdepthbuf_pars_fragment:gG,logdepthbuf_pars_vertex:vG,logdepthbuf_vertex:bG,map_fragment:yG,map_pars_fragment:xG,map_particle_fragment:kG,map_particle_pars_fragment:wG,metalnessmap_fragment:SG,metalnessmap_pars_fragment:zG,morphnormal_vertex:EG,morphtarget_pars_vertex:MG,morphtarget_vertex:TG,normal_fragment_begin:AG,normal_fragment_maps:CG,normalmap_pars_fragment:PG,clearcoat_normal_fragment_begin:BG,clearcoat_normal_fragment_maps:RG,clearcoat_pars_fragment:jG,packing:IG,premultiplied_alpha_fragment:DG,project_vertex:VG,dithering_fragment:FG,dithering_pars_fragment:UG,roughnessmap_fragment:OG,roughnessmap_pars_fragment:LG,shadowmap_pars_fragment:NG,shadowmap_pars_vertex:HG,shadowmap_vertex:GG,shadowmask_pars_fragment:qG,skinbase_vertex:WG,skinning_pars_vertex:KG,skinning_vertex:$G,skinnormal_vertex:YG,specularmap_fragment:XG,specularmap_pars_fragment:JG,tonemapping_fragment:ZG,tonemapping_pars_fragment:QG,transmission_fragment:eq,transmission_pars_fragment:tq,uv_pars_fragment:iq,uv_pars_vertex:nq,uv_vertex:aq,uv2_pars_fragment:oq,uv2_pars_vertex:rq,uv2_vertex:sq,worldpos_vertex:lq,background_frag:cq,background_vert:dq,cube_frag:uq,cube_vert:pq,depth_frag:mq,depth_vert:_q,distanceRGBA_frag:hq,distanceRGBA_vert:fq,equirect_frag:gq,equirect_vert:vq,linedashed_frag:bq,linedashed_vert:yq,meshbasic_frag:xq,meshbasic_vert:kq,meshlambert_frag:wq,meshlambert_vert:Sq,meshmatcap_frag:zq,meshmatcap_vert:Eq,meshtoon_frag:Mq,meshtoon_vert:Tq,meshphong_frag:Aq,meshphong_vert:Cq,meshphysical_frag:Pq,meshphysical_vert:Bq,normal_frag:Rq,normal_vert:jq,points_frag:Iq,points_vert:Dq,shadow_frag:Vq,shadow_vert:Fq,sprite_frag:Uq,sprite_vert:Oq},Qt={common:{diffuse:{value:new si(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Eo},uv2Transform:{value:new Eo},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new zt(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new si(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new si(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new Eo}},sprite:{diffuse:{value:new si(16777215)},opacity:{value:1},center:{value:new zt(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new Eo}}},Nl={basic:{uniforms:Fr([Qt.common,Qt.specularmap,Qt.envmap,Qt.aomap,Qt.lightmap,Qt.fog]),vertexShader:Bn.meshbasic_vert,fragmentShader:Bn.meshbasic_frag},lambert:{uniforms:Fr([Qt.common,Qt.specularmap,Qt.envmap,Qt.aomap,Qt.lightmap,Qt.emissivemap,Qt.fog,Qt.lights,{emissive:{value:new si(0)}}]),vertexShader:Bn.meshlambert_vert,fragmentShader:Bn.meshlambert_frag},phong:{uniforms:Fr([Qt.common,Qt.specularmap,Qt.envmap,Qt.aomap,Qt.lightmap,Qt.emissivemap,Qt.bumpmap,Qt.normalmap,Qt.displacementmap,Qt.fog,Qt.lights,{emissive:{value:new si(0)},specular:{value:new si(1118481)},shininess:{value:30}}]),vertexShader:Bn.meshphong_vert,fragmentShader:Bn.meshphong_frag},standard:{uniforms:Fr([Qt.common,Qt.envmap,Qt.aomap,Qt.lightmap,Qt.emissivemap,Qt.bumpmap,Qt.normalmap,Qt.displacementmap,Qt.roughnessmap,Qt.metalnessmap,Qt.fog,Qt.lights,{emissive:{value:new si(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Bn.meshphysical_vert,fragmentShader:Bn.meshphysical_frag},toon:{uniforms:Fr([Qt.common,Qt.aomap,Qt.lightmap,Qt.emissivemap,Qt.bumpmap,Qt.normalmap,Qt.displacementmap,Qt.gradientmap,Qt.fog,Qt.lights,{emissive:{value:new si(0)}}]),vertexShader:Bn.meshtoon_vert,fragmentShader:Bn.meshtoon_frag},matcap:{uniforms:Fr([Qt.common,Qt.bumpmap,Qt.normalmap,Qt.displacementmap,Qt.fog,{matcap:{value:null}}]),vertexShader:Bn.meshmatcap_vert,fragmentShader:Bn.meshmatcap_frag},points:{uniforms:Fr([Qt.points,Qt.fog]),vertexShader:Bn.points_vert,fragmentShader:Bn.points_frag},dashed:{uniforms:Fr([Qt.common,Qt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Bn.linedashed_vert,fragmentShader:Bn.linedashed_frag},depth:{uniforms:Fr([Qt.common,Qt.displacementmap]),vertexShader:Bn.depth_vert,fragmentShader:Bn.depth_frag},normal:{uniforms:Fr([Qt.common,Qt.bumpmap,Qt.normalmap,Qt.displacementmap,{opacity:{value:1}}]),vertexShader:Bn.normal_vert,fragmentShader:Bn.normal_frag},sprite:{uniforms:Fr([Qt.sprite,Qt.fog]),vertexShader:Bn.sprite_vert,fragmentShader:Bn.sprite_frag},background:{uniforms:{uvTransform:{value:new Eo},t2D:{value:null}},vertexShader:Bn.background_vert,fragmentShader:Bn.background_frag},cube:{uniforms:Fr([Qt.envmap,{opacity:{value:1}}]),vertexShader:Bn.cube_vert,fragmentShader:Bn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Bn.equirect_vert,fragmentShader:Bn.equirect_frag},distanceRGBA:{uniforms:Fr([Qt.common,Qt.displacementmap,{referencePosition:{value:new we},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Bn.distanceRGBA_vert,fragmentShader:Bn.distanceRGBA_frag},shadow:{uniforms:Fr([Qt.lights,Qt.fog,{color:{value:new si(0)},opacity:{value:1}}]),vertexShader:Bn.shadow_vert,fragmentShader:Bn.shadow_frag}};Nl.physical={uniforms:Fr([Nl.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new zt(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new si(0)},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new zt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new si(0)}}]),vertexShader:Bn.meshphysical_vert,fragmentShader:Bn.meshphysical_frag};function Lq(i,e,t,n,a){let o=new si(0),r=0,s,l,c=null,d=0,u=null;function p(_,f){let g=!1,v=f.isScene===!0?f.background:null;v&&v.isTexture&&(v=e.get(v));let b=i.xr,x=b.getSession&&b.getSession();x&&x.environmentBlendMode==="additive"&&(v=null),v===null?m(o,r):v&&v.isColor&&(m(v,1),g=!0),(i.autoClear||g)&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),v&&(v.isCubeTexture||v.mapping===ch)?(l===void 0&&(l=new Ga(new Su(1,1,1),new Hs({name:"BackgroundCubeMaterial",uniforms:K_(Nl.cube.uniforms),vertexShader:Nl.cube.vertexShader,fragmentShader:Nl.cube.fragmentShader,side:Fo,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),l.geometry.deleteAttribute("uv"),l.onBeforeRender=function(w,E,y){this.matrixWorld.copyPosition(y.matrixWorld)},Object.defineProperty(l.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(l)),l.material.uniforms.envMap.value=v,l.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v._needsFlipEnvMap?-1:1,(c!==v||d!==v.version||u!==i.toneMapping)&&(l.material.needsUpdate=!0,c=v,d=v.version,u=i.toneMapping),_.unshift(l,l.geometry,l.material,0,0,null)):v&&v.isTexture&&(s===void 0&&(s=new Ga(new Eu(2,2),new Hs({name:"BackgroundMaterial",uniforms:K_(Nl.background.uniforms),vertexShader:Nl.background.vertexShader,fragmentShader:Nl.background.fragmentShader,side:wu,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),Object.defineProperty(s.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(s)),s.material.uniforms.t2D.value=v,v.matrixAutoUpdate===!0&&v.updateMatrix(),s.material.uniforms.uvTransform.value.copy(v.matrix),(c!==v||d!==v.version||u!==i.toneMapping)&&(s.material.needsUpdate=!0,c=v,d=v.version,u=i.toneMapping),_.unshift(s,s.geometry,s.material,0,0,null))}function m(_,f){t.buffers.color.setClear(_.r,_.g,_.b,f,a)}return{getClearColor:function(){return o},setClearColor:function(_,f=1){o.set(_),r=f,m(o,r)},getClearAlpha:function(){return r},setClearAlpha:function(_){r=_,m(o,r)},render:p}}function Nq(i,e,t,n){let a=i.getParameter(34921),o=n.isWebGL2?null:e.get("OES_vertex_array_object"),r=n.isWebGL2||o!==null,s={},l=f(null),c=l;function d(U,J,ie,te,me){let Q=!1;if(r){let H=_(te,ie,J);c!==H&&(c=H,p(c.object)),Q=g(te,me),Q&&v(te,me)}else{let H=J.wireframe===!0;(c.geometry!==te.id||c.program!==ie.id||c.wireframe!==H)&&(c.geometry=te.id,c.program=ie.id,c.wireframe=H,Q=!0)}U.isInstancedMesh===!0&&(Q=!0),me!==null&&t.update(me,34963),Q&&(A(U,J,ie,te),me!==null&&i.bindBuffer(34963,t.get(me).buffer))}function u(){return n.isWebGL2?i.createVertexArray():o.createVertexArrayOES()}function p(U){return n.isWebGL2?i.bindVertexArray(U):o.bindVertexArrayOES(U)}function m(U){return n.isWebGL2?i.deleteVertexArray(U):o.deleteVertexArrayOES(U)}function _(U,J,ie){let te=ie.wireframe===!0,me=s[U.id];me===void 0&&(me={},s[U.id]=me);let Q=me[J.id];Q===void 0&&(Q={},me[J.id]=Q);let H=Q[te];return H===void 0&&(H=f(u()),Q[te]=H),H}function f(U){let J=[],ie=[],te=[];for(let me=0;me<a;me++)J[me]=0,ie[me]=0,te[me]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:J,enabledAttributes:ie,attributeDivisors:te,object:U,attributes:{},index:null}}function g(U,J){let ie=c.attributes,te=U.attributes,me=0;for(let Q in te){let H=ie[Q],re=te[Q];if(H===void 0||H.attribute!==re||H.data!==re.data)return!0;me++}return c.attributesNum!==me||c.index!==J}function v(U,J){let ie={},te=U.attributes,me=0;for(let Q in te){let H=te[Q],re={};re.attribute=H,H.data&&(re.data=H.data),ie[Q]=re,me++}c.attributes=ie,c.attributesNum=me,c.index=J}function b(){let U=c.newAttributes;for(let J=0,ie=U.length;J<ie;J++)U[J]=0}function x(U){w(U,0)}function w(U,J){let ie=c.newAttributes,te=c.enabledAttributes,me=c.attributeDivisors;ie[U]=1,te[U]===0&&(i.enableVertexAttribArray(U),te[U]=1),me[U]!==J&&((n.isWebGL2?i:e.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](U,J),me[U]=J)}function E(){let U=c.newAttributes,J=c.enabledAttributes;for(let ie=0,te=J.length;ie<te;ie++)J[ie]!==U[ie]&&(i.disableVertexAttribArray(ie),J[ie]=0)}function y(U,J,ie,te,me,Q){n.isWebGL2===!0&&(ie===5124||ie===5125)?i.vertexAttribIPointer(U,J,ie,me,Q):i.vertexAttribPointer(U,J,ie,te,me,Q)}function A(U,J,ie,te){if(n.isWebGL2===!1&&(U.isInstancedMesh||te.isInstancedBufferGeometry)&&e.get("ANGLE_instanced_arrays")===null)return;b();let me=te.attributes,Q=ie.getAttributes(),H=J.defaultAttributeValues;for(let re in Q){let K=Q[re];if(K>=0){let pe=me[re];if(pe!==void 0){let xe=pe.normalized,le=pe.itemSize,Be=t.get(pe);if(Be===void 0)continue;let X=Be.buffer,ne=Be.type,Me=Be.bytesPerElement;if(pe.isInterleavedBufferAttribute){let Ue=pe.data,et=Ue.stride,Qe=pe.offset;Ue&&Ue.isInstancedInterleavedBuffer?(w(K,Ue.meshPerAttribute),te._maxInstanceCount===void 0&&(te._maxInstanceCount=Ue.meshPerAttribute*Ue.count)):x(K),i.bindBuffer(34962,X),y(K,le,ne,xe,et*Me,Qe*Me)}else pe.isInstancedBufferAttribute?(w(K,pe.meshPerAttribute),te._maxInstanceCount===void 0&&(te._maxInstanceCount=pe.meshPerAttribute*pe.count)):x(K),i.bindBuffer(34962,X),y(K,le,ne,xe,0,0)}else if(re==="instanceMatrix"){let xe=t.get(U.instanceMatrix);if(xe===void 0)continue;let le=xe.buffer,Be=xe.type;w(K+0,1),w(K+1,1),w(K+2,1),w(K+3,1),i.bindBuffer(34962,le),i.vertexAttribPointer(K+0,4,Be,!1,64,0),i.vertexAttribPointer(K+1,4,Be,!1,64,16),i.vertexAttribPointer(K+2,4,Be,!1,64,32),i.vertexAttribPointer(K+3,4,Be,!1,64,48)}else if(re==="instanceColor"){let xe=t.get(U.instanceColor);if(xe===void 0)continue;let le=xe.buffer,Be=xe.type;w(K,1),i.bindBuffer(34962,le),i.vertexAttribPointer(K,3,Be,!1,12,0)}else if(H!==void 0){let xe=H[re];if(xe!==void 0)switch(xe.length){case 2:i.vertexAttrib2fv(K,xe);break;case 3:i.vertexAttrib3fv(K,xe);break;case 4:i.vertexAttrib4fv(K,xe);break;default:i.vertexAttrib1fv(K,xe)}}}}E()}function R(){O();for(let U in s){let J=s[U];for(let ie in J){let te=J[ie];for(let me in te)m(te[me].object),delete te[me];delete J[ie]}delete s[U]}}function j(U){if(s[U.id]===void 0)return;let J=s[U.id];for(let ie in J){let te=J[ie];for(let me in te)m(te[me].object),delete te[me];delete J[ie]}delete s[U.id]}function F(U){for(let J in s){let ie=s[J];if(ie[U.id]===void 0)continue;let te=ie[U.id];for(let me in te)m(te[me].object),delete te[me];delete ie[U.id]}}function O(){L(),c!==l&&(c=l,p(c.object))}function L(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:O,resetDefaultState:L,dispose:R,releaseStatesOfGeometry:j,releaseStatesOfProgram:F,initAttributes:b,enableAttribute:x,disableUnusedAttributes:E}}function Hq(i,e,t,n){let a=n.isWebGL2,o;function r(c){o=c}function s(c,d){i.drawArrays(o,c,d),t.update(d,o,1)}function l(c,d,u){if(u===0)return;let p,m;if(a)p=i,m="drawArraysInstanced";else if(p=e.get("ANGLE_instanced_arrays"),m="drawArraysInstancedANGLE",p===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}p[m](o,c,d,u),t.update(d,o,u)}this.setMode=r,this.render=s,this.renderInstances=l}function Gq(i,e,t){let n;function a(){if(n!==void 0)return n;if(e.has("EXT_texture_filter_anisotropic")===!0){let A=e.get("EXT_texture_filter_anisotropic");n=i.getParameter(A.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n}function o(A){if(A==="highp"){if(i.getShaderPrecisionFormat(35633,36338).precision>0&&i.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";A="mediump"}return A==="mediump"&&i.getShaderPrecisionFormat(35633,36337).precision>0&&i.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}let r=typeof WebGL2RenderingContext<"u"&&i instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext<"u"&&i instanceof WebGL2ComputeRenderingContext,s=t.precision!==void 0?t.precision:"highp",l=o(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);let c=r||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,u=i.getParameter(34930),p=i.getParameter(35660),m=i.getParameter(3379),_=i.getParameter(34076),f=i.getParameter(34921),g=i.getParameter(36347),v=i.getParameter(36348),b=i.getParameter(36349),x=p>0,w=r||e.has("OES_texture_float"),E=x&&w,y=r?i.getParameter(36183):0;return{isWebGL2:r,drawBuffers:c,getMaxAnisotropy:a,getMaxPrecision:o,precision:s,logarithmicDepthBuffer:d,maxTextures:u,maxVertexTextures:p,maxTextureSize:m,maxCubemapSize:_,maxAttributes:f,maxVertexUniforms:g,maxVaryings:v,maxFragmentUniforms:b,vertexTextures:x,floatFragmentTextures:w,floatVertexTextures:E,maxSamples:y}}function qq(i){let e=this,t=null,n=0,a=!1,o=!1,r=new Ur,s=new Eo,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,p,m){let _=u.length!==0||p||n!==0||a;return a=p,t=d(u,m,0),n=u.length,_},this.beginShadows=function(){o=!0,d(null)},this.endShadows=function(){o=!1,c()},this.setState=function(u,p,m){let _=u.clippingPlanes,f=u.clipIntersection,g=u.clipShadows,v=i.get(u);if(!a||_===null||_.length===0||o&&!g)o?d(null):c();else{let b=o?0:n,x=b*4,w=v.clippingState||null;l.value=w,w=d(_,p,x,m);for(let E=0;E!==x;++E)w[E]=t[E];v.clippingState=w,this.numIntersection=f?this.numPlanes:0,this.numPlanes+=b}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function d(u,p,m,_){let f=u!==null?u.length:0,g=null;if(f!==0){if(g=l.value,_!==!0||g===null){let v=m+f*4,b=p.matrixWorldInverse;s.getNormalMatrix(b),(g===null||g.length<v)&&(g=new Float32Array(v));for(let x=0,w=m;x!==f;++x,w+=4)r.copy(u[x]).applyMatrix4(b,s),r.normal.toArray(g,w),g[w+3]=r.constant}l.value=g,l.needsUpdate=!0}return e.numPlanes=f,e.numIntersection=0,g}}function Wq(i){let e=new WeakMap;function t(r,s){return s===Lx?r.mapping=vv:s===Nx&&(r.mapping=bv),r}function n(r){if(r&&r.isTexture){let s=r.mapping;if(s===Lx||s===Nx)if(e.has(r)){let l=e.get(r).texture;return t(l,r.mapping)}else{let l=r.image;if(l&&l.height>0){let c=i.getRenderTarget(),d=new Y_(l.height/2);return d.fromEquirectangularTexture(i,r),e.set(r,d),i.setRenderTarget(c),r.addEventListener("dispose",a),t(d.texture,r.mapping)}else return null}}return r}function a(r){let s=r.target;s.removeEventListener("dispose",a);let l=e.get(s);l!==void 0&&(e.delete(s),l.dispose())}function o(){e=new WeakMap}return{get:n,dispose:o}}function Kq(i){let e={};function t(n){if(e[n]!==void 0)return e[n];let a;switch(n){case"WEBGL_depth_texture":a=i.getExtension("WEBGL_depth_texture")||i.getExtension("MOZ_WEBGL_depth_texture")||i.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":a=i.getExtension("EXT_texture_filter_anisotropic")||i.getExtension("MOZ_EXT_texture_filter_anisotropic")||i.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":a=i.getExtension("WEBGL_compressed_texture_s3tc")||i.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||i.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":a=i.getExtension("WEBGL_compressed_texture_pvrtc")||i.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:a=i.getExtension(n)}return e[n]=a,a}return{has:function(n){return t(n)!==null},init:function(n){n.isWebGL2?t("EXT_color_buffer_float"):(t("WEBGL_depth_texture"),t("OES_texture_float"),t("OES_texture_half_float"),t("OES_texture_half_float_linear"),t("OES_standard_derivatives"),t("OES_element_index_uint"),t("OES_vertex_array_object"),t("ANGLE_instanced_arrays")),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float")},get:function(n){let a=t(n);return a===null&&console.warn("THREE.WebGLRenderer: "+n+" extension not supported."),a}}}function $q(i,e,t,n){let a={},o=new WeakMap;function r(u){let p=u.target;p.index!==null&&e.remove(p.index);for(let _ in p.attributes)e.remove(p.attributes[_]);p.removeEventListener("dispose",r),delete a[p.id];let m=o.get(p);m&&(e.remove(m),o.delete(p)),n.releaseStatesOfGeometry(p),p.isInstancedBufferGeometry===!0&&delete p._maxInstanceCount,t.memory.geometries--}function s(u,p){return a[p.id]===!0||(p.addEventListener("dispose",r),a[p.id]=!0,t.memory.geometries++),p}function l(u){let p=u.attributes;for(let _ in p)e.update(p[_],34962);let m=u.morphAttributes;for(let _ in m){let f=m[_];for(let g=0,v=f.length;g<v;g++)e.update(f[g],34962)}}function c(u){let p=[],m=u.index,_=u.attributes.position,f=0;if(m!==null){let b=m.array;f=m.version;for(let x=0,w=b.length;x<w;x+=3){let E=b[x+0],y=b[x+1],A=b[x+2];p.push(E,y,y,A,A,E)}}else{let b=_.array;f=_.version;for(let x=0,w=b.length/3-1;x<w;x+=3){let E=x+0,y=x+1,A=x+2;p.push(E,y,y,A,A,E)}}let g=new(eI(p)>65535?W_:q_)(p,1);g.version=f;let v=o.get(u);v&&e.remove(v),o.set(u,g)}function d(u){let p=o.get(u);if(p){let m=u.index;m!==null&&p.version<m.version&&c(u)}else c(u);return o.get(u)}return{get:s,update:l,getWireframeAttribute:d}}function Yq(i,e,t,n){let a=n.isWebGL2,o;function r(p){o=p}let s,l;function c(p){s=p.type,l=p.bytesPerElement}function d(p,m){i.drawElements(o,m,s,p*l),t.update(m,o,1)}function u(p,m,_){if(_===0)return;let f,g;if(a)f=i,g="drawElementsInstanced";else if(f=e.get("ANGLE_instanced_arrays"),g="drawElementsInstancedANGLE",f===null){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}f[g](o,m,s,p*l,_),t.update(m,o,_)}this.setMode=r,this.setIndex=c,this.render=d,this.renderInstances=u}function Xq(i){let e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function n(o,r,s){switch(t.calls++,r){case 4:t.triangles+=s*(o/3);break;case 1:t.lines+=s*(o/2);break;case 3:t.lines+=s*(o-1);break;case 2:t.lines+=s*o;break;case 0:t.points+=s*o;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",r);break}}function a(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:a,update:n}}function Jq(i,e){return i[0]-e[0]}function Zq(i,e){return Math.abs(e[1])-Math.abs(i[1])}function Qq(i){let e={},t=new Float32Array(8),n=[];for(let o=0;o<8;o++)n[o]=[o,0];function a(o,r,s,l){let c=o.morphTargetInfluences,d=c===void 0?0:c.length,u=e[r.id];if(u===void 0){u=[];for(let g=0;g<d;g++)u[g]=[g,0];e[r.id]=u}for(let g=0;g<d;g++){let v=u[g];v[0]=g,v[1]=c[g]}u.sort(Zq);for(let g=0;g<8;g++)g<d&&u[g][1]?(n[g][0]=u[g][0],n[g][1]=u[g][1]):(n[g][0]=Number.MAX_SAFE_INTEGER,n[g][1]=0);n.sort(Jq);let p=s.morphTargets&&r.morphAttributes.position,m=s.morphNormals&&r.morphAttributes.normal,_=0;for(let g=0;g<8;g++){let v=n[g],b=v[0],x=v[1];b!==Number.MAX_SAFE_INTEGER&&x?(p&&r.getAttribute("morphTarget"+g)!==p[b]&&r.setAttribute("morphTarget"+g,p[b]),m&&r.getAttribute("morphNormal"+g)!==m[b]&&r.setAttribute("morphNormal"+g,m[b]),t[g]=x,_+=x):(p&&r.hasAttribute("morphTarget"+g)===!0&&r.deleteAttribute("morphTarget"+g),m&&r.hasAttribute("morphNormal"+g)===!0&&r.deleteAttribute("morphNormal"+g),t[g]=0)}let f=r.morphTargetsRelative?1:1-_;l.getUniforms().setValue(i,"morphTargetBaseInfluence",f),l.getUniforms().setValue(i,"morphTargetInfluences",t)}return{update:a}}function e9(i,e,t,n){let a=new WeakMap;function o(l){let c=n.render.frame,d=l.geometry,u=e.get(l,d);return a.get(u)!==c&&(e.update(u),a.set(u,c)),l.isInstancedMesh&&(l.hasEventListener("dispose",s)===!1&&l.addEventListener("dispose",s),t.update(l.instanceMatrix,34962),l.instanceColor!==null&&t.update(l.instanceColor,34962)),u}function r(){a=new WeakMap}function s(l){let c=l.target;c.removeEventListener("dispose",s),t.remove(c.instanceMatrix),c.instanceColor!==null&&t.remove(c.instanceColor)}return{update:o,dispose:r}}var vg=class extends Oo{constructor(e=null,t=1,n=1,a=1){super(null),this.image={data:e,width:t,height:n,depth:a},this.magFilter=no,this.minFilter=no,this.wrapR=zr,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}};vg.prototype.isDataTexture2DArray=!0;var bg=class extends Oo{constructor(e=null,t=1,n=1,a=1){super(null),this.image={data:e,width:t,height:n,depth:a},this.magFilter=no,this.minFilter=no,this.wrapR=zr,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}};bg.prototype.isDataTexture3D=!0;var nI=new Oo,t9=new vg,i9=new bg,aI=new zu,pR=[],mR=[],_R=new Float32Array(16),hR=new Float32Array(9),fR=new Float32Array(4);function uh(i,e,t){let n=i[0];if(n<=0||n>0)return i;let a=e*t,o=pR[a];if(o===void 0&&(o=new Float32Array(a),pR[a]=o),e!==0){n.toArray(o,0);for(let r=1,s=0;r!==e;++r)s+=t,i[r].toArray(o,s)}return o}function ts(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t<n;t++)if(i[t]!==e[t])return!1;return!0}function Lr(i,e){for(let t=0,n=e.length;t<n;t++)i[t]=e[t]}function oI(i,e){let t=mR[e];t===void 0&&(t=new Int32Array(e),mR[e]=t);for(let n=0;n!==e;++n)t[n]=i.allocateTextureUnit();return t}function n9(i,e){let t=this.cache;t[0]!==e&&(i.uniform1f(this.addr,e),t[0]=e)}function a9(i,e){let t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(i.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(ts(t,e))return;i.uniform2fv(this.addr,e),Lr(t,e)}}function o9(i,e){let t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(i.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(i.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(ts(t,e))return;i.uniform3fv(this.addr,e),Lr(t,e)}}function r9(i,e){let t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(i.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(ts(t,e))return;i.uniform4fv(this.addr,e),Lr(t,e)}}function s9(i,e){let t=this.cache,n=e.elements;if(n===void 0){if(ts(t,e))return;i.uniformMatrix2fv(this.addr,!1,e),Lr(t,e)}else{if(ts(t,n))return;fR.set(n),i.uniformMatrix2fv(this.addr,!1,fR),Lr(t,n)}}function l9(i,e){let t=this.cache,n=e.elements;if(n===void 0){if(ts(t,e))return;i.uniformMatrix3fv(this.addr,!1,e),Lr(t,e)}else{if(ts(t,n))return;hR.set(n),i.uniformMatrix3fv(this.addr,!1,hR),Lr(t,n)}}function c9(i,e){let t=this.cache,n=e.elements;if(n===void 0){if(ts(t,e))return;i.uniformMatrix4fv(this.addr,!1,e),Lr(t,e)}else{if(ts(t,n))return;_R.set(n),i.uniformMatrix4fv(this.addr,!1,_R),Lr(t,n)}}function d9(i,e){let t=this.cache;t[0]!==e&&(i.uniform1i(this.addr,e),t[0]=e)}function u9(i,e){let t=this.cache;ts(t,e)||(i.uniform2iv(this.addr,e),Lr(t,e))}function p9(i,e){let t=this.cache;ts(t,e)||(i.uniform3iv(this.addr,e),Lr(t,e))}function m9(i,e){let t=this.cache;ts(t,e)||(i.uniform4iv(this.addr,e),Lr(t,e))}function _9(i,e){let t=this.cache;t[0]!==e&&(i.uniform1ui(this.addr,e),t[0]=e)}function h9(i,e){let t=this.cache;ts(t,e)||(i.uniform2uiv(this.addr,e),Lr(t,e))}function f9(i,e){let t=this.cache;ts(t,e)||(i.uniform3uiv(this.addr,e),Lr(t,e))}function g9(i,e){let t=this.cache;ts(t,e)||(i.uniform4uiv(this.addr,e),Lr(t,e))}function v9(i,e,t){let n=this.cache,a=t.allocateTextureUnit();n[0]!==a&&(i.uniform1i(this.addr,a),n[0]=a),t.safeSetTexture2D(e||nI,a)}function b9(i,e,t){let n=this.cache,a=t.allocateTextureUnit();n[0]!==a&&(i.uniform1i(this.addr,a),n[0]=a),t.setTexture3D(e||i9,a)}function y9(i,e,t){let n=this.cache,a=t.allocateTextureUnit();n[0]!==a&&(i.uniform1i(this.addr,a),n[0]=a),t.safeSetTextureCube(e||aI,a)}function x9(i,e,t){let n=this.cache,a=t.allocateTextureUnit();n[0]!==a&&(i.uniform1i(this.addr,a),n[0]=a),t.setTexture2DArray(e||t9,a)}function k9(i){switch(i){case 5126:return n9;case 35664:return a9;case 35665:return o9;case 35666:return r9;case 35674:return s9;case 35675:return l9;case 35676:return c9;case 5124:case 35670:return d9;case 35667:case 35671:return u9;case 35668:case 35672:return p9;case 35669:case 35673:return m9;case 5125:return _9;case 36294:return h9;case 36295:return f9;case 36296:return g9;case 35678:case 36198:case 36298:case 36306:case 35682:return v9;case 35679:case 36299:case 36307:return b9;case 35680:case 36300:case 36308:case 36293:return y9;case 36289:case 36303:case 36311:case 36292:return x9}}function w9(i,e){i.uniform1fv(this.addr,e)}function S9(i,e){let t=uh(e,this.size,2);i.uniform2fv(this.addr,t)}function z9(i,e){let t=uh(e,this.size,3);i.uniform3fv(this.addr,t)}function E9(i,e){let t=uh(e,this.size,4);i.uniform4fv(this.addr,t)}function M9(i,e){let t=uh(e,this.size,4);i.uniformMatrix2fv(this.addr,!1,t)}function T9(i,e){let t=uh(e,this.size,9);i.uniformMatrix3fv(this.addr,!1,t)}function A9(i,e){let t=uh(e,this.size,16);i.uniformMatrix4fv(this.addr,!1,t)}function C9(i,e){i.uniform1iv(this.addr,e)}function P9(i,e){i.uniform2iv(this.addr,e)}function B9(i,e){i.uniform3iv(this.addr,e)}function R9(i,e){i.uniform4iv(this.addr,e)}function j9(i,e){i.uniform1uiv(this.addr,e)}function I9(i,e){i.uniform2uiv(this.addr,e)}function D9(i,e){i.uniform3uiv(this.addr,e)}function V9(i,e){i.uniform4uiv(this.addr,e)}function F9(i,e,t){let n=e.length,a=oI(t,n);i.uniform1iv(this.addr,a);for(let o=0;o!==n;++o)t.safeSetTexture2D(e[o]||nI,a[o])}function U9(i,e,t){let n=e.length,a=oI(t,n);i.uniform1iv(this.addr,a);for(let o=0;o!==n;++o)t.safeSetTextureCube(e[o]||aI,a[o])}function O9(i){switch(i){case 5126:return w9;case 35664:return S9;case 35665:return z9;case 35666:return E9;case 35674:return M9;case 35675:return T9;case 35676:return A9;case 5124:case 35670:return C9;case 35667:case 35671:return P9;case 35668:case 35672:return B9;case 35669:case 35673:return R9;case 5125:return j9;case 36294:return I9;case 36295:return D9;case 36296:return V9;case 35678:case 36198:case 36298:case 36306:case 35682:return F9;case 35680:case 36300:case 36308:case 36293:return U9}}function L9(i,e,t){this.id=i,this.addr=t,this.cache=[],this.setValue=k9(e.type)}function rI(i,e,t){this.id=i,this.addr=t,this.cache=[],this.size=e.size,this.setValue=O9(e.type)}rI.prototype.updateCache=function(i){let e=this.cache;i instanceof Float32Array&&e.length!==i.length&&(this.cache=new Float32Array(i.length)),Lr(e,i)};function sI(i){this.id=i,this.seq=[],this.map={}}sI.prototype.setValue=function(i,e,t){let n=this.seq;for(let a=0,o=n.length;a!==o;++a){let r=n[a];r.setValue(i,e[r.id],t)}};var mz=/(\w+)(\])?(\[|\.)?/g;function gR(i,e){i.seq.push(e),i.map[e.id]=e}function N9(i,e,t){let n=i.name,a=n.length;for(mz.lastIndex=0;;){let o=mz.exec(n),r=mz.lastIndex,s=o[1],l=o[2]==="]",c=o[3];if(l&&(s=s|0),c===void 0||c==="["&&r+2===a){gR(t,c===void 0?new L9(s,i,e):new rI(s,i,e));break}else{let u=t.map[s];u===void 0&&(u=new sI(s),gR(t,u)),t=u}}}function xu(i,e){this.seq=[],this.map={};let t=i.getProgramParameter(e,35718);for(let n=0;n<t;++n){let a=i.getActiveUniform(e,n),o=i.getUniformLocation(e,a.name);N9(a,o,this)}}xu.prototype.setValue=function(i,e,t,n){let a=this.map[e];a!==void 0&&a.setValue(i,t,n)};xu.prototype.setOptional=function(i,e,t){let n=e[t];n!==void 0&&this.setValue(i,t,n)};xu.upload=function(i,e,t,n){for(let a=0,o=e.length;a!==o;++a){let r=e[a],s=t[r.id];s.needsUpdate!==!1&&r.setValue(i,s.value,n)}};xu.seqWithValue=function(i,e){let t=[];for(let n=0,a=i.length;n!==a;++n){let o=i[n];o.id in e&&t.push(o)}return t};function vR(i,e,t){let n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}var H9=0;function G9(i){let e=i.split(`
`);for(let t=0;t<e.length;t++)e[t]=t+1+": "+e[t];return e.join(`
`)}function lI(i){switch(i){case es:return["Linear","( value )"];case xv:return["sRGB","( value )"];case Ok:return["RGBE","( value )"];case SE:return["RGBM","( value, 7.0 )"];case zE:return["RGBM","( value, 16.0 )"];case EE:return["RGBD","( value, 256.0 )"];case Uk:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case W3:return["LogLuv","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",i),["Linear","( value )"]}}function bR(i,e,t){let n=i.getShaderParameter(e,35713),a=i.getShaderInfoLog(e).trim();if(n&&a==="")return"";let o=i.getShaderSource(e);return"THREE.WebGLShader: gl.getShaderInfoLog() "+t+`
`+a+G9(o)}function $f(i,e){let t=lI(e);return"vec4 "+i+"( vec4 value ) { return "+t[0]+"ToLinear"+t[1]+"; }"}function q9(i,e){let t=lI(e);return"vec4 "+i+"( vec4 value ) { return LinearTo"+t[0]+t[1]+"; }"}function W9(i,e){let t;switch(e){case qj:t="Linear";break;case Wj:t="Reinhard";break;case Kj:t="OptimizedCineon";break;case $j:t="ACESFilmic";break;case Yj:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+i+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function K9(i){return[i.extensionDerivatives||i.envMapCubeUV||i.bumpMap||i.tangentSpaceNormalMap||i.clearcoatNormalMap||i.flatShading||i.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(i.extensionFragDepth||i.logarithmicDepthBuffer)&&i.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",i.extensionDrawBuffers&&i.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(i.extensionShaderTextureLOD||i.envMap||i.transmission>0)&&i.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ig).join(`
`)}function $9(i){let e=[];for(let t in i){let n=i[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(`
`)}function Y9(i,e){let t={},n=i.getProgramParameter(e,35721);for(let a=0;a<n;a++){let r=i.getActiveAttrib(e,a).name;t[r]=i.getAttribLocation(e,r)}return t}function ig(i){return i!==""}function yR(i,e){return i.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function xR(i,e){return i.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}var X9=/^[ \t]*#include +<([\w\d./]+)>/gm;function Nz(i){return i.replace(X9,J9)}function J9(i,e){let t=Bn[e];if(t===void 0)throw new Error("Can not resolve #include <"+e+">");return Nz(t)}var Z9=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Q9=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function kR(i){return i.replace(Q9,cI).replace(Z9,eW)}function eW(i,e,t,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),cI(i,e,t,n)}function cI(i,e,t,n){let a="";for(let o=parseInt(e);o<parseInt(t);o++)a+=n.replace(/\[\s*i\s*\]/g,"[ "+o+" ]").replace(/UNROLLED_LOOP_INDEX/g,o);return a}function wR(i){let e="precision "+i.precision+` float;
precision `+i.precision+" int;";return i.precision==="highp"?e+=`
#define HIGH_PRECISION`:i.precision==="mediump"?e+=`
#define MEDIUM_PRECISION`:i.precision==="lowp"&&(e+=`
#define LOW_PRECISION`),e}function tW(i){let e="SHADOWMAP_TYPE_BASIC";return i.shadowMapType===vE?e="SHADOWMAP_TYPE_PCF":i.shadowMapType===wj?e="SHADOWMAP_TYPE_PCF_SOFT":i.shadowMapType===F_&&(e="SHADOWMAP_TYPE_VSM"),e}function iW(i){let e="ENVMAP_TYPE_CUBE";if(i.envMap)switch(i.envMapMode){case vv:case bv:e="ENVMAP_TYPE_CUBE";break;case ch:case yv:e="ENVMAP_TYPE_CUBE_UV";break}return e}function nW(i){let e="ENVMAP_MODE_REFLECTION";if(i.envMap)switch(i.envMapMode){case bv:case yv:e="ENVMAP_MODE_REFRACTION";break}return e}function aW(i){let e="ENVMAP_BLENDING_NONE";if(i.envMap)switch(i.combine){case gv:e="ENVMAP_BLENDING_MULTIPLY";break;case Hj:e="ENVMAP_BLENDING_MIX";break;case Gj:e="ENVMAP_BLENDING_ADD";break}return e}function oW(i,e,t,n){let a=i.getContext(),o=t.defines,r=t.vertexShader,s=t.fragmentShader,l=tW(t),c=iW(t),d=nW(t),u=aW(t),p=i.gammaFactor>0?i.gammaFactor:1,m=t.isWebGL2?"":K9(t),_=$9(o),f=a.createProgram(),g,v,b=t.glslVersion?"#version "+t.glslVersion+`
`:"";t.isRawShaderMaterial?(g=[_].filter(ig).join(`
`),g.length>0&&(g+=`
`),v=[m,_].filter(ig).join(`
`),v.length>0&&(v+=`
`)):(g=[wR(t),"#define SHADER_NAME "+t.shaderName,_,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+p,"#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",`
`].filter(ig).join(`
`),v=[m,wR(t),"#define SHADER_NAME "+t.shaderName,_,t.alphaTest?"#define ALPHATEST "+t.alphaTest+(t.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+p,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+d:"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.sheen?"#define USE_SHEEN":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Op?"#define TONE_MAPPING":"",t.toneMapping!==Op?Bn.tonemapping_pars_fragment:"",t.toneMapping!==Op?W9("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",Bn.encodings_pars_fragment,t.map?$f("mapTexelToLinear",t.mapEncoding):"",t.matcap?$f("matcapTexelToLinear",t.matcapEncoding):"",t.envMap?$f("envMapTexelToLinear",t.envMapEncoding):"",t.emissiveMap?$f("emissiveMapTexelToLinear",t.emissiveMapEncoding):"",t.lightMap?$f("lightMapTexelToLinear",t.lightMapEncoding):"",q9("linearToOutputTexel",t.outputEncoding),t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",`
`].filter(ig).join(`
`)),r=Nz(r),r=yR(r,t),r=xR(r,t),s=Nz(s),s=yR(s,t),s=xR(s,t),r=kR(r),s=kR(s),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(b=`#version 300 es
`,g=["#define attribute in","#define varying out","#define texture2D texture"].join(`
`)+`
`+g,v=["#define varying in",t.glslVersion===Oz?"":"out highp vec4 pc_fragColor;",t.glslVersion===Oz?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(`
`)+`
`+v);let x=b+g+r,w=b+v+s,E=vR(a,35633,x),y=vR(a,35632,w);if(a.attachShader(f,E),a.attachShader(f,y),t.index0AttributeName!==void 0?a.bindAttribLocation(f,0,t.index0AttributeName):t.morphTargets===!0&&a.bindAttribLocation(f,0,"position"),a.linkProgram(f),i.debug.checkShaderErrors){let j=a.getProgramInfoLog(f).trim(),F=a.getShaderInfoLog(E).trim(),O=a.getShaderInfoLog(y).trim(),L=!0,U=!0;if(a.getProgramParameter(f,35714)===!1){L=!1;let J=bR(a,E,"vertex"),ie=bR(a,y,"fragment");console.error("THREE.WebGLProgram: shader error: ",a.getError(),"35715",a.getProgramParameter(f,35715),"gl.getProgramInfoLog",j,J,ie)}else j!==""?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",j):(F===""||O==="")&&(U=!1);U&&(this.diagnostics={runnable:L,programLog:j,vertexShader:{log:F,prefix:g},fragmentShader:{log:O,prefix:v}})}a.deleteShader(E),a.deleteShader(y);let A;this.getUniforms=function(){return A===void 0&&(A=new xu(a,f)),A};let R;return this.getAttributes=function(){return R===void 0&&(R=Y9(a,f)),R},this.destroy=function(){n.releaseStatesOfProgram(this),a.deleteProgram(f),this.program=void 0},this.name=t.shaderName,this.id=H9++,this.cacheKey=e,this.usedTimes=1,this.program=f,this.vertexShader=E,this.fragmentShader=y,this}function rW(i,e,t,n,a,o){let r=[],s=n.isWebGL2,l=n.logarithmicDepthBuffer,c=n.floatVertexTextures,d=n.maxVertexUniforms,u=n.vertexTextures,p=n.precision,m={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},_=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","vertexAlphas","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","sheen","transmission","transmissionMap","thicknessMap"];function f(y){let R=y.skeleton.bones;if(c)return 1024;{let F=Math.floor((d-20)/4),O=Math.min(F,R.length);return O<R.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+R.length+" bones. This GPU supports "+O+"."),0):O}}function g(y){let A;return y&&y.isTexture?A=y.encoding:y&&y.isWebGLRenderTarget?(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),A=y.texture.encoding):A=es,A}function v(y,A,R,j,F){let O=j.fog,L=y.isMeshStandardMaterial?j.environment:null,U=e.get(y.envMap||L),J=m[y.type],ie=F.isSkinnedMesh?f(F):0;y.precision!==null&&(p=n.getMaxPrecision(y.precision),p!==y.precision&&console.warn("THREE.WebGLProgram.getParameters:",y.precision,"not supported, using",p,"instead."));let te,me;if(J){let re=Nl[J];te=re.vertexShader,me=re.fragmentShader}else te=y.vertexShader,me=y.fragmentShader;let Q=i.getRenderTarget();return{isWebGL2:s,shaderID:J,shaderName:y.type,vertexShader:te,fragmentShader:me,defines:y.defines,isRawShaderMaterial:y.isRawShaderMaterial===!0,glslVersion:y.glslVersion,precision:p,instancing:F.isInstancedMesh===!0,instancingColor:F.isInstancedMesh===!0&&F.instanceColor!==null,supportsVertexTextures:u,outputEncoding:Q!==null?g(Q.texture):i.outputEncoding,map:!!y.map,mapEncoding:g(y.map),matcap:!!y.matcap,matcapEncoding:g(y.matcap),envMap:!!U,envMapMode:U&&U.mapping,envMapEncoding:g(U),envMapCubeUV:!!U&&(U.mapping===ch||U.mapping===yv),lightMap:!!y.lightMap,lightMapEncoding:g(y.lightMap),aoMap:!!y.aoMap,emissiveMap:!!y.emissiveMap,emissiveMapEncoding:g(y.emissiveMap),bumpMap:!!y.bumpMap,normalMap:!!y.normalMap,objectSpaceNormalMap:y.normalMapType===Y3,tangentSpaceNormalMap:y.normalMapType===om,clearcoatMap:!!y.clearcoatMap,clearcoatRoughnessMap:!!y.clearcoatRoughnessMap,clearcoatNormalMap:!!y.clearcoatNormalMap,displacementMap:!!y.displacementMap,roughnessMap:!!y.roughnessMap,metalnessMap:!!y.metalnessMap,specularMap:!!y.specularMap,alphaMap:!!y.alphaMap,gradientMap:!!y.gradientMap,sheen:!!y.sheen,transmission:!!y.transmission,transmissionMap:!!y.transmissionMap,thicknessMap:!!y.thicknessMap,combine:y.combine,vertexTangents:y.normalMap&&y.vertexTangents,vertexColors:y.vertexColors,vertexAlphas:y.vertexColors===!0&&F.geometry&&F.geometry.attributes.color&&F.geometry.attributes.color.itemSize===4,vertexUvs:!!y.map||!!y.bumpMap||!!y.normalMap||!!y.specularMap||!!y.alphaMap||!!y.emissiveMap||!!y.roughnessMap||!!y.metalnessMap||!!y.clearcoatMap||!!y.clearcoatRoughnessMap||!!y.clearcoatNormalMap||!!y.displacementMap||!!y.transmission||!!y.transmissionMap||!!y.thicknessMap,uvsVertexOnly:!(y.map||y.bumpMap||y.normalMap||y.specularMap||y.alphaMap||y.emissiveMap||y.roughnessMap||y.metalnessMap||y.clearcoatNormalMap||y.transmission||y.transmissionMap||y.thicknessMap)&&!!y.displacementMap,fog:!!O,useFog:y.fog,fogExp2:O&&O.isFogExp2,flatShading:!!y.flatShading,sizeAttenuation:y.sizeAttenuation,logarithmicDepthBuffer:l,skinning:F.isSkinnedMesh===!0&&ie>0,maxBones:ie,useVertexTexture:c,morphTargets:y.morphTargets,morphNormals:y.morphNormals,numDirLights:A.directional.length,numPointLights:A.point.length,numSpotLights:A.spot.length,numRectAreaLights:A.rectArea.length,numHemiLights:A.hemi.length,numDirLightShadows:A.directionalShadowMap.length,numPointLightShadows:A.pointShadowMap.length,numSpotLightShadows:A.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:y.dithering,shadowMapEnabled:i.shadowMap.enabled&&R.length>0,shadowMapType:i.shadowMap.type,toneMapping:y.toneMapped?i.toneMapping:Op,physicallyCorrectLights:i.physicallyCorrectLights,premultipliedAlpha:y.premultipliedAlpha,alphaTest:y.alphaTest,doubleSided:y.side===nm,flipSided:y.side===Fo,depthPacking:y.depthPacking!==void 0?y.depthPacking:!1,index0AttributeName:y.index0AttributeName,extensionDerivatives:y.extensions&&y.extensions.derivatives,extensionFragDepth:y.extensions&&y.extensions.fragDepth,extensionDrawBuffers:y.extensions&&y.extensions.drawBuffers,extensionShaderTextureLOD:y.extensions&&y.extensions.shaderTextureLOD,rendererExtensionFragDepth:s||t.has("EXT_frag_depth"),rendererExtensionDrawBuffers:s||t.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:s||t.has("EXT_shader_texture_lod"),customProgramCacheKey:y.customProgramCacheKey()}}function b(y){let A=[];if(y.shaderID?A.push(y.shaderID):(A.push(y.fragmentShader),A.push(y.vertexShader)),y.defines!==void 0)for(let R in y.defines)A.push(R),A.push(y.defines[R]);if(y.isRawShaderMaterial===!1){for(let R=0;R<_.length;R++)A.push(y[_[R]]);A.push(i.outputEncoding),A.push(i.gammaFactor)}return A.push(y.customProgramCacheKey),A.join()}function x(y){let A=m[y.type],R;if(A){let j=Nl[A];R=tI.clone(j.uniforms)}else R=y.uniforms;return R}function w(y,A){let R;for(let j=0,F=r.length;j<F;j++){let O=r[j];if(O.cacheKey===A){R=O,++R.usedTimes;break}}return R===void 0&&(R=new oW(i,A,y,a),r.push(R)),R}function E(y){if(--y.usedTimes===0){let A=r.indexOf(y);r[A]=r[r.length-1],r.pop(),y.destroy()}}return{getParameters:v,getProgramCacheKey:b,getUniforms:x,acquireProgram:w,releaseProgram:E,programs:r}}function sW(){let i=new WeakMap;function e(o){let r=i.get(o);return r===void 0&&(r={},i.set(o,r)),r}function t(o){i.delete(o)}function n(o,r,s){i.get(o)[r]=s}function a(){i=new WeakMap}return{get:e,remove:t,update:n,dispose:a}}function lW(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.program!==e.program?i.program.id-e.program.id:i.material.id!==e.material.id?i.material.id-e.material.id:i.z!==e.z?i.z-e.z:i.id-e.id}function SR(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.z!==e.z?e.z-i.z:i.id-e.id}function zR(i){let e=[],t=0,n=[],a=[],o=[],r={id:-1};function s(){t=0,n.length=0,a.length=0,o.length=0}function l(m,_,f,g,v,b){let x=e[t],w=i.get(f);return x===void 0?(x={id:m.id,object:m,geometry:_,material:f,program:w.program||r,groupOrder:g,renderOrder:m.renderOrder,z:v,group:b},e[t]=x):(x.id=m.id,x.object=m,x.geometry=_,x.material=f,x.program=w.program||r,x.groupOrder=g,x.renderOrder=m.renderOrder,x.z=v,x.group=b),t++,x}function c(m,_,f,g,v,b){let x=l(m,_,f,g,v,b);f.transmission>0?a.push(x):f.transparent===!0?o.push(x):n.push(x)}function d(m,_,f,g,v,b){let x=l(m,_,f,g,v,b);f.transmission>0?a.unshift(x):f.transparent===!0?o.unshift(x):n.unshift(x)}function u(m,_){n.length>1&&n.sort(m||lW),a.length>1&&a.sort(_||SR),o.length>1&&o.sort(_||SR)}function p(){for(let m=t,_=e.length;m<_;m++){let f=e[m];if(f.id===null)break;f.id=null,f.object=null,f.geometry=null,f.material=null,f.program=null,f.group=null}}return{opaque:n,transmissive:a,transparent:o,init:s,push:c,unshift:d,finish:p,sort:u}}function cW(i){let e=new WeakMap;function t(a,o){let r;return e.has(a)===!1?(r=new zR(i),e.set(a,[r])):o>=e.get(a).length?(r=new zR(i),e.get(a).push(r)):r=e.get(a)[o],r}function n(){e=new WeakMap}return{get:t,dispose:n}}function dW(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new we,color:new si};break;case"SpotLight":t={position:new we,direction:new we,color:new si,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new we,color:new si,distance:0,decay:0};break;case"HemisphereLight":t={direction:new we,skyColor:new si,groundColor:new si};break;case"RectAreaLight":t={color:new si,position:new we,halfWidth:new we,halfHeight:new we};break}return i[e.id]=t,t}}}function uW(){let i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new zt};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new zt};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new zt,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}var pW=0;function mW(i,e){return(e.castShadow?1:0)-(i.castShadow?1:0)}function _W(i,e){let t=new dW,n=uW(),a={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let d=0;d<9;d++)a.probe.push(new we);let o=new we,r=new Ti,s=new Ti;function l(d){let u=0,p=0,m=0;for(let A=0;A<9;A++)a.probe[A].set(0,0,0);let _=0,f=0,g=0,v=0,b=0,x=0,w=0,E=0;d.sort(mW);for(let A=0,R=d.length;A<R;A++){let j=d[A],F=j.color,O=j.intensity,L=j.distance,U=j.shadow&&j.shadow.map?j.shadow.map.texture:null;if(j.isAmbientLight)u+=F.r*O,p+=F.g*O,m+=F.b*O;else if(j.isLightProbe)for(let J=0;J<9;J++)a.probe[J].addScaledVector(j.sh.coefficients[J],O);else if(j.isDirectionalLight){let J=t.get(j);if(J.color.copy(j.color).multiplyScalar(j.intensity),j.castShadow){let ie=j.shadow,te=n.get(j);te.shadowBias=ie.bias,te.shadowNormalBias=ie.normalBias,te.shadowRadius=ie.radius,te.shadowMapSize=ie.mapSize,a.directionalShadow[_]=te,a.directionalShadowMap[_]=U,a.directionalShadowMatrix[_]=j.shadow.matrix,x++}a.directional[_]=J,_++}else if(j.isSpotLight){let J=t.get(j);if(J.position.setFromMatrixPosition(j.matrixWorld),J.color.copy(F).multiplyScalar(O),J.distance=L,J.coneCos=Math.cos(j.angle),J.penumbraCos=Math.cos(j.angle*(1-j.penumbra)),J.decay=j.decay,j.castShadow){let ie=j.shadow,te=n.get(j);te.shadowBias=ie.bias,te.shadowNormalBias=ie.normalBias,te.shadowRadius=ie.radius,te.shadowMapSize=ie.mapSize,a.spotShadow[g]=te,a.spotShadowMap[g]=U,a.spotShadowMatrix[g]=j.shadow.matrix,E++}a.spot[g]=J,g++}else if(j.isRectAreaLight){let J=t.get(j);J.color.copy(F).multiplyScalar(O),J.halfWidth.set(j.width*.5,0,0),J.halfHeight.set(0,j.height*.5,0),a.rectArea[v]=J,v++}else if(j.isPointLight){let J=t.get(j);if(J.color.copy(j.color).multiplyScalar(j.intensity),J.distance=j.distance,J.decay=j.decay,j.castShadow){let ie=j.shadow,te=n.get(j);te.shadowBias=ie.bias,te.shadowNormalBias=ie.normalBias,te.shadowRadius=ie.radius,te.shadowMapSize=ie.mapSize,te.shadowCameraNear=ie.camera.near,te.shadowCameraFar=ie.camera.far,a.pointShadow[f]=te,a.pointShadowMap[f]=U,a.pointShadowMatrix[f]=j.shadow.matrix,w++}a.point[f]=J,f++}else if(j.isHemisphereLight){let J=t.get(j);J.skyColor.copy(j.color).multiplyScalar(O),J.groundColor.copy(j.groundColor).multiplyScalar(O),a.hemi[b]=J,b++}}v>0&&(e.isWebGL2||i.has("OES_texture_float_linear")===!0?(a.rectAreaLTC1=Qt.LTC_FLOAT_1,a.rectAreaLTC2=Qt.LTC_FLOAT_2):i.has("OES_texture_half_float_linear")===!0?(a.rectAreaLTC1=Qt.LTC_HALF_1,a.rectAreaLTC2=Qt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),a.ambient[0]=u,a.ambient[1]=p,a.ambient[2]=m;let y=a.hash;(y.directionalLength!==_||y.pointLength!==f||y.spotLength!==g||y.rectAreaLength!==v||y.hemiLength!==b||y.numDirectionalShadows!==x||y.numPointShadows!==w||y.numSpotShadows!==E)&&(a.directional.length=_,a.spot.length=g,a.rectArea.length=v,a.point.length=f,a.hemi.length=b,a.directionalShadow.length=x,a.directionalShadowMap.length=x,a.pointShadow.length=w,a.pointShadowMap.length=w,a.spotShadow.length=E,a.spotShadowMap.length=E,a.directionalShadowMatrix.length=x,a.pointShadowMatrix.length=w,a.spotShadowMatrix.length=E,y.directionalLength=_,y.pointLength=f,y.spotLength=g,y.rectAreaLength=v,y.hemiLength=b,y.numDirectionalShadows=x,y.numPointShadows=w,y.numSpotShadows=E,a.version=pW++)}function c(d,u){let p=0,m=0,_=0,f=0,g=0,v=u.matrixWorldInverse;for(let b=0,x=d.length;b<x;b++){let w=d[b];if(w.isDirectionalLight){let E=a.directional[p];E.direction.setFromMatrixPosition(w.matrixWorld),o.setFromMatrixPosition(w.target.matrixWorld),E.direction.sub(o),E.direction.transformDirection(v),p++}else if(w.isSpotLight){let E=a.spot[_];E.position.setFromMatrixPosition(w.matrixWorld),E.position.applyMatrix4(v),E.direction.setFromMatrixPosition(w.matrixWorld),o.setFromMatrixPosition(w.target.matrixWorld),E.direction.sub(o),E.direction.transformDirection(v),_++}else if(w.isRectAreaLight){let E=a.rectArea[f];E.position.setFromMatrixPosition(w.matrixWorld),E.position.applyMatrix4(v),s.identity(),r.copy(w.matrixWorld),r.premultiply(v),s.extractRotation(r),E.halfWidth.set(w.width*.5,0,0),E.halfHeight.set(0,w.height*.5,0),E.halfWidth.applyMatrix4(s),E.halfHeight.applyMatrix4(s),f++}else if(w.isPointLight){let E=a.point[m];E.position.setFromMatrixPosition(w.matrixWorld),E.position.applyMatrix4(v),m++}else if(w.isHemisphereLight){let E=a.hemi[g];E.direction.setFromMatrixPosition(w.matrixWorld),E.direction.transformDirection(v),E.direction.normalize(),g++}}}return{setup:l,setupView:c,state:a}}function ER(i,e){let t=new _W(i,e),n=[],a=[];function o(){n.length=0,a.length=0}function r(u){n.push(u)}function s(u){a.push(u)}function l(){t.setup(n)}function c(u){t.setupView(n,u)}return{init:o,state:{lightsArray:n,shadowsArray:a,lights:t},setupLights:l,setupLightsView:c,pushLight:r,pushShadow:s}}function hW(i,e){let t=new WeakMap;function n(o,r=0){let s;return t.has(o)===!1?(s=new ER(i,e),t.set(o,[s])):r>=t.get(o).length?(s=new ER(i,e),t.get(o).push(s)):s=t.get(o)[r],s}function a(){t=new WeakMap}return{get:n,dispose:a}}var X_=class extends Lo{constructor(e){super(),this.type="MeshDepthMaterial",this.depthPacking=K3,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};X_.prototype.isMeshDepthMaterial=!0;var J_=class extends Lo{constructor(e){super(),this.type="MeshDistanceMaterial",this.referencePosition=new we,this.nearDistance=1,this.farDistance=1e3,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};J_.prototype.isMeshDistanceMaterial=!0;var fW=`uniform sampler2D shadow_pass;
uniform vec2 resolution;
uniform float radius;
#include <packing>
void main() {
float mean = 0.0;
float squared_mean = 0.0;
float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );
for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {
#ifdef HORIZONTAL_PASS
vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );
mean += distribution.x;
squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;
#else
float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );
mean += depth;
squared_mean += depth * depth;
#endif
}
mean = mean * HALF_SAMPLE_RATE;
squared_mean = squared_mean * HALF_SAMPLE_RATE;
float std_dev = sqrt( squared_mean - mean * mean );
gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );
}`,gW=`void main() {
gl_Position = vec4( position, 1.0 );
}`;function dI(i,e,t){let n=new Gp,a=new zt,o=new zt,r=new Kn,s=[],l=[],c={},d=t.maxTextureSize,u={0:Fo,1:wu,2:nm},p=new Hs({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new zt},radius:{value:4}},vertexShader:gW,fragmentShader:fW}),m=p.clone();m.defines.HORIZONTAL_PASS=1;let _=new Ki;_.setAttribute("position",new un(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let f=new Ga(_,p),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=vE,this.render=function(y,A,R){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||y.length===0)return;let j=i.getRenderTarget(),F=i.getActiveCubeFace(),O=i.getActiveMipmapLevel(),L=i.state;L.setBlending(yd),L.buffers.color.setClear(1,1,1,1),L.buffers.depth.setTest(!0),L.setScissorTest(!1);for(let U=0,J=y.length;U<J;U++){let ie=y[U],te=ie.shadow;if(te===void 0){console.warn("THREE.WebGLShadowMap:",ie,"has no shadow.");continue}if(te.autoUpdate===!1&&te.needsUpdate===!1)continue;a.copy(te.mapSize);let me=te.getFrameExtents();if(a.multiply(me),o.copy(te.mapSize),(a.x>d||a.y>d)&&(a.x>d&&(o.x=Math.floor(d/me.x),a.x=o.x*me.x,te.mapSize.x=o.x),a.y>d&&(o.y=Math.floor(d/me.y),a.y=o.y*me.y,te.mapSize.y=o.y)),te.map===null&&!te.isPointLightShadow&&this.type===F_){let H={minFilter:rr,magFilter:rr,format:Os};te.map=new Ns(a.x,a.y,H),te.map.texture.name=ie.name+".shadowMap",te.mapPass=new Ns(a.x,a.y,H),te.camera.updateProjectionMatrix()}if(te.map===null){let H={minFilter:no,magFilter:no,format:Os};te.map=new Ns(a.x,a.y,H),te.map.texture.name=ie.name+".shadowMap",te.camera.updateProjectionMatrix()}i.setRenderTarget(te.map),i.clear();let Q=te.getViewportCount();for(let H=0;H<Q;H++){let re=te.getViewport(H);r.set(o.x*re.x,o.y*re.y,o.x*re.z,o.y*re.w),L.viewport(r),te.updateMatrices(ie,H),n=te.getFrustum(),E(A,R,te.camera,ie,this.type)}!te.isPointLightShadow&&this.type===F_&&v(te,R),te.needsUpdate=!1}g.needsUpdate=!1,i.setRenderTarget(j,F,O)};function v(y,A){let R=e.update(f);p.uniforms.shadow_pass.value=y.map.texture,p.uniforms.resolution.value=y.mapSize,p.uniforms.radius.value=y.radius,i.setRenderTarget(y.mapPass),i.clear(),i.renderBufferDirect(A,null,R,p,f,null),m.uniforms.shadow_pass.value=y.mapPass.texture,m.uniforms.resolution.value=y.mapSize,m.uniforms.radius.value=y.radius,i.setRenderTarget(y.map),i.clear(),i.renderBufferDirect(A,null,R,m,f,null)}function b(y){let A=y<<0,R=s[A];return R===void 0&&(R=new X_({depthPacking:$3,morphTargets:y}),s[A]=R),R}function x(y){let A=y<<0,R=l[A];return R===void 0&&(R=new J_({morphTargets:y}),l[A]=R),R}function w(y,A,R,j,F,O,L){let U=null,J=b,ie=y.customDepthMaterial;if(j.isPointLight===!0&&(J=x,ie=y.customDistanceMaterial),ie===void 0){let te=!1;R.morphTargets===!0&&(te=A.morphAttributes&&A.morphAttributes.position&&A.morphAttributes.position.length>0),U=J(te)}else U=ie;if(i.localClippingEnabled&&R.clipShadows===!0&&R.clippingPlanes.length!==0){let te=U.uuid,me=R.uuid,Q=c[te];Q===void 0&&(Q={},c[te]=Q);let H=Q[me];H===void 0&&(H=U.clone(),Q[me]=H),U=H}return U.visible=R.visible,U.wireframe=R.wireframe,L===F_?U.side=R.shadowSide!==null?R.shadowSide:R.side:U.side=R.shadowSide!==null?R.shadowSide:u[R.side],U.clipShadows=R.clipShadows,U.clippingPlanes=R.clippingPlanes,U.clipIntersection=R.clipIntersection,U.wireframeLinewidth=R.wireframeLinewidth,U.linewidth=R.linewidth,j.isPointLight===!0&&U.isMeshDistanceMaterial===!0&&(U.referencePosition.setFromMatrixPosition(j.matrixWorld),U.nearDistance=F,U.farDistance=O),U}function E(y,A,R,j,F){if(y.visible===!1)return;if(y.layers.test(A.layers)&&(y.isMesh||y.isLine||y.isPoints)&&(y.castShadow||y.receiveShadow&&F===F_)&&(!y.frustumCulled||n.intersectsObject(y))){y.modelViewMatrix.multiplyMatrices(R.matrixWorldInverse,y.matrixWorld);let U=e.update(y),J=y.material;if(Array.isArray(J)){let ie=U.groups;for(let te=0,me=ie.length;te<me;te++){let Q=ie[te],H=J[Q.materialIndex];if(H&&H.visible){let re=w(y,U,H,j,R.near,R.far,F);i.renderBufferDirect(R,null,U,re,y,Q)}}}else if(J.visible){let ie=w(y,U,J,j,R.near,R.far,F);i.renderBufferDirect(R,null,U,ie,y,null)}}let L=y.children;for(let U=0,J=L.length;U<J;U++)E(L[U],A,R,j,F)}}function vW(i,e,t){let n=t.isWebGL2;function a(){let de=!1,Oe=new Kn,Je=null,dt=new Kn(0,0,0,0);return{setMask:function(ue){Je!==ue&&!de&&(i.colorMask(ue,ue,ue,ue),Je=ue)},setLocked:function(ue){de=ue},setClear:function(ue,Fe,Ee,xt,_e){_e===!0&&(ue*=xt,Fe*=xt,Ee*=xt),Oe.set(ue,Fe,Ee,xt),dt.equals(Oe)===!1&&(i.clearColor(ue,Fe,Ee,xt),dt.copy(Oe))},reset:function(){de=!1,Je=null,dt.set(-1,0,0,0)}}}function o(){let de=!1,Oe=null,Je=null,dt=null;return{setTest:function(ue){ue?le(2929):Be(2929)},setMask:function(ue){Oe!==ue&&!de&&(i.depthMask(ue),Oe=ue)},setFunc:function(ue){if(Je!==ue){if(ue)switch(ue){case Dj:i.depthFunc(512);break;case Vj:i.depthFunc(519);break;case Fj:i.depthFunc(513);break;case Ox:i.depthFunc(515);break;case Uj:i.depthFunc(514);break;case Oj:i.depthFunc(518);break;case Lj:i.depthFunc(516);break;case Nj:i.depthFunc(517);break;default:i.depthFunc(515)}else i.depthFunc(515);Je=ue}},setLocked:function(ue){de=ue},setClear:function(ue){dt!==ue&&(i.clearDepth(ue),dt=ue)},reset:function(){de=!1,Oe=null,Je=null,dt=null}}}function r(){let de=!1,Oe=null,Je=null,dt=null,ue=null,Fe=null,Ee=null,xt=null,_e=null;return{setTest:function(je){de||(je?le(2960):Be(2960))},setMask:function(je){Oe!==je&&!de&&(i.stencilMask(je),Oe=je)},setFunc:function(je,We,pt){(Je!==je||dt!==We||ue!==pt)&&(i.stencilFunc(je,We,pt),Je=je,dt=We,ue=pt)},setOp:function(je,We,pt){(Fe!==je||Ee!==We||xt!==pt)&&(i.stencilOp(je,We,pt),Fe=je,Ee=We,xt=pt)},setLocked:function(je){de=je},setClear:function(je){_e!==je&&(i.clearStencil(je),_e=je)},reset:function(){de=!1,Oe=null,Je=null,dt=null,ue=null,Fe=null,Ee=null,xt=null,_e=null}}}let s=new a,l=new o,c=new r,d={},u=null,p={},m=null,_=!1,f=null,g=null,v=null,b=null,x=null,w=null,E=null,y=!1,A=null,R=null,j=null,F=null,O=null,L=i.getParameter(35661),U=!1,J=0,ie=i.getParameter(7938);ie.indexOf("WebGL")!==-1?(J=parseFloat(/^WebGL (\d)/.exec(ie)[1]),U=J>=1):ie.indexOf("OpenGL ES")!==-1&&(J=parseFloat(/^OpenGL ES (\d)/.exec(ie)[1]),U=J>=2);let te=null,me={},Q=i.getParameter(3088),H=i.getParameter(2978),re=new Kn().fromArray(Q),K=new Kn().fromArray(H);function pe(de,Oe,Je){let dt=new Uint8Array(4),ue=i.createTexture();i.bindTexture(de,ue),i.texParameteri(de,10241,9728),i.texParameteri(de,10240,9728);for(let Fe=0;Fe<Je;Fe++)i.texImage2D(Oe+Fe,0,6408,1,1,0,6408,5121,dt);return ue}let xe={};xe[3553]=pe(3553,3553,1),xe[34067]=pe(34067,34069,6),s.setClear(0,0,0,1),l.setClear(1),c.setClear(0),le(2929),l.setFunc(Ox),Ie(!1),Ke(zz),le(2884),Qe(yd);function le(de){d[de]!==!0&&(i.enable(de),d[de]=!0)}function Be(de){d[de]!==!1&&(i.disable(de),d[de]=!1)}function X(de){de!==u&&(i.bindFramebuffer(36160,de),u=de)}function ne(de,Oe){return Oe===null&&u!==null&&(Oe=u),p[de]!==Oe?(i.bindFramebuffer(de,Oe),p[de]=Oe,n&&(de===36009&&(p[36160]=Oe),de===36160&&(p[36009]=Oe)),!0):!1}function Me(de){return m!==de?(i.useProgram(de),m=de,!0):!1}let Ue={[Vp]:32774,[zj]:32778,[Ej]:32779};if(n)Ue[Tz]=32775,Ue[Az]=32776;else{let de=e.get("EXT_blend_minmax");de!==null&&(Ue[Tz]=de.MIN_EXT,Ue[Az]=de.MAX_EXT)}let et={[Mj]:0,[Tj]:1,[Aj]:768,[yE]:770,[Ij]:776,[Rj]:774,[Pj]:772,[Cj]:769,[xE]:771,[jj]:775,[Bj]:773};function Qe(de,Oe,Je,dt,ue,Fe,Ee,xt){if(de===yd){_===!0&&(Be(3042),_=!1);return}if(_===!1&&(le(3042),_=!0),de!==Sj){if(de!==f||xt!==y){if((g!==Vp||x!==Vp)&&(i.blendEquation(32774),g=Vp,x=Vp),xt)switch(de){case bu:i.blendFuncSeparate(1,771,1,771);break;case lg:i.blendFunc(1,1);break;case Ez:i.blendFuncSeparate(0,0,769,771);break;case Mz:i.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",de);break}else switch(de){case bu:i.blendFuncSeparate(770,771,1,771);break;case lg:i.blendFunc(770,1);break;case Ez:i.blendFunc(0,769);break;case Mz:i.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",de);break}v=null,b=null,w=null,E=null,f=de,y=xt}return}ue=ue||Oe,Fe=Fe||Je,Ee=Ee||dt,(Oe!==g||ue!==x)&&(i.blendEquationSeparate(Ue[Oe],Ue[ue]),g=Oe,x=ue),(Je!==v||dt!==b||Fe!==w||Ee!==E)&&(i.blendFuncSeparate(et[Je],et[dt],et[Fe],et[Ee]),v=Je,b=dt,w=Fe,E=Ee),f=de,y=null}function Ge(de,Oe){de.side===nm?Be(2884):le(2884);let Je=de.side===Fo;Oe&&(Je=!Je),Ie(Je),de.blending===bu&&de.transparent===!1?Qe(yd):Qe(de.blending,de.blendEquation,de.blendSrc,de.blendDst,de.blendEquationAlpha,de.blendSrcAlpha,de.blendDstAlpha,de.premultipliedAlpha),l.setFunc(de.depthFunc),l.setTest(de.depthTest),l.setMask(de.depthWrite),s.setMask(de.colorWrite);let dt=de.stencilWrite;c.setTest(dt),dt&&(c.setMask(de.stencilWriteMask),c.setFunc(de.stencilFunc,de.stencilRef,de.stencilFuncMask),c.setOp(de.stencilFail,de.stencilZFail,de.stencilZPass)),C(de.polygonOffset,de.polygonOffsetFactor,de.polygonOffsetUnits),de.alphaToCoverage===!0?le(32926):Be(32926)}function Ie(de){A!==de&&(de?i.frontFace(2304):i.frontFace(2305),A=de)}function Ke(de){de!==xj?(le(2884),de!==R&&(de===zz?i.cullFace(1029):de===kj?i.cullFace(1028):i.cullFace(1032))):Be(2884),R=de}function z(de){de!==j&&(U&&i.lineWidth(de),j=de)}function C(de,Oe,Je){de?(le(32823),(F!==Oe||O!==Je)&&(i.polygonOffset(Oe,Je),F=Oe,O=Je)):Be(32823)}function S(de){de?le(3089):Be(3089)}function P(de){de===void 0&&(de=33984+L-1),te!==de&&(i.activeTexture(de),te=de)}function V(de,Oe){te===null&&P();let Je=me[te];Je===void 0&&(Je={type:void 0,texture:void 0},me[te]=Je),(Je.type!==de||Je.texture!==Oe)&&(i.bindTexture(de,Oe||xe[de]),Je.type=de,Je.texture=Oe)}function ee(){let de=me[te];de!==void 0&&de.type!==void 0&&(i.bindTexture(de.type,null),de.type=void 0,de.texture=void 0)}function ce(){try{i.compressedTexImage2D.apply(i,arguments)}catch(de){console.error("THREE.WebGLState:",de)}}function be(){try{i.texImage2D.apply(i,arguments)}catch(de){console.error("THREE.WebGLState:",de)}}function ge(){try{i.texImage3D.apply(i,arguments)}catch(de){console.error("THREE.WebGLState:",de)}}function Se(de){re.equals(de)===!1&&(i.scissor(de.x,de.y,de.z,de.w),re.copy(de))}function He(de){K.equals(de)===!1&&(i.viewport(de.x,de.y,de.z,de.w),K.copy(de))}function Ae(){i.disable(3042),i.disable(2884),i.disable(2929),i.disable(32823),i.disable(3089),i.disable(2960),i.disable(32926),i.blendEquation(32774),i.blendFunc(1,0),i.blendFuncSeparate(1,0,1,0),i.colorMask(!0,!0,!0,!0),i.clearColor(0,0,0,0),i.depthMask(!0),i.depthFunc(513),i.clearDepth(1),i.stencilMask(4294967295),i.stencilFunc(519,0,4294967295),i.stencilOp(7680,7680,7680),i.clearStencil(0),i.cullFace(1029),i.frontFace(2305),i.polygonOffset(0,0),i.activeTexture(33984),i.bindFramebuffer(36160,null),n===!0&&(i.bindFramebuffer(36009,null),i.bindFramebuffer(36008,null)),i.useProgram(null),i.lineWidth(1),i.scissor(0,0,i.canvas.width,i.canvas.height),i.viewport(0,0,i.canvas.width,i.canvas.height),d={},te=null,me={},u=null,p={},m=null,_=!1,f=null,g=null,v=null,b=null,x=null,w=null,E=null,y=!1,A=null,R=null,j=null,F=null,O=null,re.set(0,0,i.canvas.width,i.canvas.height),K.set(0,0,i.canvas.width,i.canvas.height),s.reset(),l.reset(),c.reset()}return{buffers:{color:s,depth:l,stencil:c},enable:le,disable:Be,bindFramebuffer:ne,bindXRFramebuffer:X,useProgram:Me,setBlending:Qe,setMaterial:Ge,setFlipSided:Ie,setCullFace:Ke,setLineWidth:z,setPolygonOffset:C,setScissorTest:S,activeTexture:P,bindTexture:V,unbindTexture:ee,compressedTexImage2D:ce,texImage2D:be,texImage3D:ge,scissor:Se,viewport:He,reset:Ae}}function bW(i,e,t,n,a,o,r){let s=a.isWebGL2,l=a.maxTextures,c=a.maxCubemapSize,d=a.maxTextureSize,u=a.maxSamples,p=new WeakMap,m,_=!1;try{_=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function f(S,P){return _?new OffscreenCanvas(S,P):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function g(S,P,V,ee){let ce=1;if((S.width>ee||S.height>ee)&&(ce=ee/Math.max(S.width,S.height)),ce<1||P===!0)if(typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&S instanceof ImageBitmap){let be=P?Z3:Math.floor,ge=be(ce*S.width),Se=be(ce*S.height);m===void 0&&(m=f(ge,Se));let He=V?f(ge,Se):m;return He.width=ge,He.height=Se,He.getContext("2d").drawImage(S,0,0,ge,Se),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+S.width+"x"+S.height+") to ("+ge+"x"+Se+")."),He}else return"data"in S&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+S.width+"x"+S.height+")."),S;return S}function v(S){return Lz(S.width)&&Lz(S.height)}function b(S){return s?!1:S.wrapS!==zr||S.wrapT!==zr||S.minFilter!==no&&S.minFilter!==rr}function x(S,P){return S.generateMipmaps&&P&&S.minFilter!==no&&S.minFilter!==rr}function w(S,P,V,ee){i.generateMipmap(S);let ce=n.get(P);ce.__maxMipLevel=Math.log2(Math.max(V,ee))}function E(S,P,V){if(s===!1)return P;if(S!==null){if(i[S]!==void 0)return i[S];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+S+"'")}let ee=P;return P===6403&&(V===5126&&(ee=33326),V===5131&&(ee=33325),V===5121&&(ee=33321)),P===6407&&(V===5126&&(ee=34837),V===5131&&(ee=34843),V===5121&&(ee=32849)),P===6408&&(V===5126&&(ee=34836),V===5131&&(ee=34842),V===5121&&(ee=32856)),(ee===33325||ee===33326||ee===34842||ee===34836)&&e.get("EXT_color_buffer_float"),ee}function y(S){return S===no||S===Hx||S===Gx?9728:9729}function A(S){let P=S.target;P.removeEventListener("dispose",A),j(P),P.isVideoTexture&&p.delete(P),r.memory.textures--}function R(S){let P=S.target;P.removeEventListener("dispose",R),F(P)}function j(S){let P=n.get(S);P.__webglInit!==void 0&&(i.deleteTexture(P.__webglTexture),n.remove(S))}function F(S){let P=S.texture,V=n.get(S),ee=n.get(P);if(S){if(ee.__webglTexture!==void 0&&(i.deleteTexture(ee.__webglTexture),r.memory.textures--),S.depthTexture&&S.depthTexture.dispose(),S.isWebGLCubeRenderTarget)for(let ce=0;ce<6;ce++)i.deleteFramebuffer(V.__webglFramebuffer[ce]),V.__webglDepthbuffer&&i.deleteRenderbuffer(V.__webglDepthbuffer[ce]);else i.deleteFramebuffer(V.__webglFramebuffer),V.__webglDepthbuffer&&i.deleteRenderbuffer(V.__webglDepthbuffer),V.__webglMultisampledFramebuffer&&i.deleteFramebuffer(V.__webglMultisampledFramebuffer),V.__webglColorRenderbuffer&&i.deleteRenderbuffer(V.__webglColorRenderbuffer),V.__webglDepthRenderbuffer&&i.deleteRenderbuffer(V.__webglDepthRenderbuffer);if(S.isWebGLMultipleRenderTargets)for(let ce=0,be=P.length;ce<be;ce++){let ge=n.get(P[ce]);ge.__webglTexture&&(i.deleteTexture(ge.__webglTexture),r.memory.textures--),n.remove(P[ce])}n.remove(P),n.remove(S)}}let O=0;function L(){O=0}function U(){let S=O;return S>=l&&console.warn("THREE.WebGLTextures: Trying to use "+S+" texture units while this GPU supports only "+l),O+=1,S}function J(S,P){let V=n.get(S);if(S.isVideoTexture&&Ge(S),S.version>0&&V.__version!==S.version){let ee=S.image;if(ee===void 0)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(ee.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{pe(V,S,P);return}}t.activeTexture(33984+P),t.bindTexture(3553,V.__webglTexture)}function ie(S,P){let V=n.get(S);if(S.version>0&&V.__version!==S.version){pe(V,S,P);return}t.activeTexture(33984+P),t.bindTexture(35866,V.__webglTexture)}function te(S,P){let V=n.get(S);if(S.version>0&&V.__version!==S.version){pe(V,S,P);return}t.activeTexture(33984+P),t.bindTexture(32879,V.__webglTexture)}function me(S,P){let V=n.get(S);if(S.version>0&&V.__version!==S.version){xe(V,S,P);return}t.activeTexture(33984+P),t.bindTexture(34067,V.__webglTexture)}let Q={[cg]:10497,[zr]:33071,[dg]:33648},H={[no]:9728,[Hx]:9984,[Gx]:9986,[rr]:9729,[kE]:9985,[am]:9987};function re(S,P,V){if(V?(i.texParameteri(S,10242,Q[P.wrapS]),i.texParameteri(S,10243,Q[P.wrapT]),(S===32879||S===35866)&&i.texParameteri(S,32882,Q[P.wrapR]),i.texParameteri(S,10240,H[P.magFilter]),i.texParameteri(S,10241,H[P.minFilter])):(i.texParameteri(S,10242,33071),i.texParameteri(S,10243,33071),(S===32879||S===35866)&&i.texParameteri(S,32882,33071),(P.wrapS!==zr||P.wrapT!==zr)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),i.texParameteri(S,10240,y(P.magFilter)),i.texParameteri(S,10241,y(P.minFilter)),P.minFilter!==no&&P.minFilter!==rr&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),e.has("EXT_texture_filter_anisotropic")===!0){let ee=e.get("EXT_texture_filter_anisotropic");if(P.type===vd&&e.has("OES_texture_float_linear")===!1||s===!1&&P.type===pg&&e.has("OES_texture_half_float_linear")===!1)return;(P.anisotropy>1||n.get(P).__currentAnisotropy)&&(i.texParameterf(S,ee.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(P.anisotropy,a.getMaxAnisotropy())),n.get(P).__currentAnisotropy=P.anisotropy)}}function K(S,P){S.__webglInit===void 0&&(S.__webglInit=!0,P.addEventListener("dispose",A),S.__webglTexture=i.createTexture(),r.memory.textures++)}function pe(S,P,V){let ee=3553;P.isDataTexture2DArray&&(ee=35866),P.isDataTexture3D&&(ee=32879),K(S,P),t.activeTexture(33984+V),t.bindTexture(ee,S.__webglTexture),i.pixelStorei(37440,P.flipY),i.pixelStorei(37441,P.premultiplyAlpha),i.pixelStorei(3317,P.unpackAlignment),i.pixelStorei(37443,0);let ce=b(P)&&v(P.image)===!1,be=g(P.image,ce,!1,d),ge=v(be)||s,Se=o.convert(P.format),He=o.convert(P.type),Ae=E(P.internalFormat,Se,He);re(ee,P,ge);let de,Oe=P.mipmaps;if(P.isDepthTexture)Ae=6402,s?P.type===vd?Ae=36012:P.type===ng?Ae=33190:P.type===O_?Ae=35056:Ae=33189:P.type===vd&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),P.format===Lp&&Ae===6402&&P.type!==ug&&P.type!==ng&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),P.type=ug,He=o.convert(P.type)),P.format===N_&&Ae===6402&&(Ae=34041,P.type!==O_&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),P.type=O_,He=o.convert(P.type))),t.texImage2D(3553,0,Ae,be.width,be.height,0,Se,He,null);else if(P.isDataTexture)if(Oe.length>0&&ge){for(let Je=0,dt=Oe.length;Je<dt;Je++)de=Oe[Je],t.texImage2D(3553,Je,Ae,de.width,de.height,0,Se,He,de.data);P.generateMipmaps=!1,S.__maxMipLevel=Oe.length-1}else t.texImage2D(3553,0,Ae,be.width,be.height,0,Se,He,be.data),S.__maxMipLevel=0;else if(P.isCompressedTexture){for(let Je=0,dt=Oe.length;Je<dt;Je++)de=Oe[Je],P.format!==Os&&P.format!==yu?Se!==null?t.compressedTexImage2D(3553,Je,Ae,de.width,de.height,0,de.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):t.texImage2D(3553,Je,Ae,de.width,de.height,0,Se,He,de.data);S.__maxMipLevel=Oe.length-1}else if(P.isDataTexture2DArray)t.texImage3D(35866,0,Ae,be.width,be.height,be.depth,0,Se,He,be.data),S.__maxMipLevel=0;else if(P.isDataTexture3D)t.texImage3D(32879,0,Ae,be.width,be.height,be.depth,0,Se,He,be.data),S.__maxMipLevel=0;else if(Oe.length>0&&ge){for(let Je=0,dt=Oe.length;Je<dt;Je++)de=Oe[Je],t.texImage2D(3553,Je,Ae,Se,He,de);P.generateMipmaps=!1,S.__maxMipLevel=Oe.length-1}else t.texImage2D(3553,0,Ae,Se,He,be),S.__maxMipLevel=0;x(P,ge)&&w(ee,P,be.width,be.height),S.__version=P.version,P.onUpdate&&P.onUpdate(P)}function xe(S,P,V){if(P.image.length!==6)return;K(S,P),t.activeTexture(33984+V),t.bindTexture(34067,S.__webglTexture),i.pixelStorei(37440,P.flipY),i.pixelStorei(37441,P.premultiplyAlpha),i.pixelStorei(3317,P.unpackAlignment),i.pixelStorei(37443,0);let ee=P&&(P.isCompressedTexture||P.image[0].isCompressedTexture),ce=P.image[0]&&P.image[0].isDataTexture,be=[];for(let Je=0;Je<6;Je++)!ee&&!ce?be[Je]=g(P.image[Je],!1,!0,c):be[Je]=ce?P.image[Je].image:P.image[Je];let ge=be[0],Se=v(ge)||s,He=o.convert(P.format),Ae=o.convert(P.type),de=E(P.internalFormat,He,Ae);re(34067,P,Se);let Oe;if(ee){for(let Je=0;Je<6;Je++){Oe=be[Je].mipmaps;for(let dt=0;dt<Oe.length;dt++){let ue=Oe[dt];P.format!==Os&&P.format!==yu?He!==null?t.compressedTexImage2D(34069+Je,dt,de,ue.width,ue.height,0,ue.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):t.texImage2D(34069+Je,dt,de,ue.width,ue.height,0,He,Ae,ue.data)}}S.__maxMipLevel=Oe.length-1}else{Oe=P.mipmaps;for(let Je=0;Je<6;Je++)if(ce){t.texImage2D(34069+Je,0,de,be[Je].width,be[Je].height,0,He,Ae,be[Je].data);for(let dt=0;dt<Oe.length;dt++){let Fe=Oe[dt].image[Je].image;t.texImage2D(34069+Je,dt+1,de,Fe.width,Fe.height,0,He,Ae,Fe.data)}}else{t.texImage2D(34069+Je,0,de,He,Ae,be[Je]);for(let dt=0;dt<Oe.length;dt++){let ue=Oe[dt];t.texImage2D(34069+Je,dt+1,de,He,Ae,ue.image[Je])}}S.__maxMipLevel=Oe.length}x(P,Se)&&w(34067,P,ge.width,ge.height),S.__version=P.version,P.onUpdate&&P.onUpdate(P)}function le(S,P,V,ee,ce){let be=o.convert(V.format),ge=o.convert(V.type),Se=E(V.internalFormat,be,ge);ce===32879||ce===35866?t.texImage3D(ce,0,Se,P.width,P.height,P.depth,0,be,ge,null):t.texImage2D(ce,0,Se,P.width,P.height,0,be,ge,null),t.bindFramebuffer(36160,S),i.framebufferTexture2D(36160,ee,ce,n.get(V).__webglTexture,0),t.bindFramebuffer(36160,null)}function Be(S,P,V){if(i.bindRenderbuffer(36161,S),P.depthBuffer&&!P.stencilBuffer){let ee=33189;if(V){let ce=P.depthTexture;ce&&ce.isDepthTexture&&(ce.type===vd?ee=36012:ce.type===ng&&(ee=33190));let be=Qe(P);i.renderbufferStorageMultisample(36161,be,ee,P.width,P.height)}else i.renderbufferStorage(36161,ee,P.width,P.height);i.framebufferRenderbuffer(36160,36096,36161,S)}else if(P.depthBuffer&&P.stencilBuffer){if(V){let ee=Qe(P);i.renderbufferStorageMultisample(36161,ee,35056,P.width,P.height)}else i.renderbufferStorage(36161,34041,P.width,P.height);i.framebufferRenderbuffer(36160,33306,36161,S)}else{let ee=P.isWebGLMultipleRenderTargets===!0?P.texture[0]:P.texture,ce=o.convert(ee.format),be=o.convert(ee.type),ge=E(ee.internalFormat,ce,be);if(V){let Se=Qe(P);i.renderbufferStorageMultisample(36161,Se,ge,P.width,P.height)}else i.renderbufferStorage(36161,ge,P.width,P.height)}i.bindRenderbuffer(36161,null)}function X(S,P){if(P&&P.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,S),!(P.depthTexture&&P.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!n.get(P.depthTexture).__webglTexture||P.depthTexture.image.width!==P.width||P.depthTexture.image.height!==P.height)&&(P.depthTexture.image.width=P.width,P.depthTexture.image.height=P.height,P.depthTexture.needsUpdate=!0),J(P.depthTexture,0);let ee=n.get(P.depthTexture).__webglTexture;if(P.depthTexture.format===Lp)i.framebufferTexture2D(36160,36096,3553,ee,0);else if(P.depthTexture.format===N_)i.framebufferTexture2D(36160,33306,3553,ee,0);else throw new Error("Unknown depthTexture format")}function ne(S){let P=n.get(S),V=S.isWebGLCubeRenderTarget===!0;if(S.depthTexture){if(V)throw new Error("target.depthTexture not supported in Cube render targets");X(P.__webglFramebuffer,S)}else if(V){P.__webglDepthbuffer=[];for(let ee=0;ee<6;ee++)t.bindFramebuffer(36160,P.__webglFramebuffer[ee]),P.__webglDepthbuffer[ee]=i.createRenderbuffer(),Be(P.__webglDepthbuffer[ee],S,!1)}else t.bindFramebuffer(36160,P.__webglFramebuffer),P.__webglDepthbuffer=i.createRenderbuffer(),Be(P.__webglDepthbuffer,S,!1);t.bindFramebuffer(36160,null)}function Me(S){let P=S.texture,V=n.get(S),ee=n.get(P);S.addEventListener("dispose",R),S.isWebGLMultipleRenderTargets!==!0&&(ee.__webglTexture=i.createTexture(),ee.__version=P.version,r.memory.textures++);let ce=S.isWebGLCubeRenderTarget===!0,be=S.isWebGLMultipleRenderTargets===!0,ge=S.isWebGLMultisampleRenderTarget===!0,Se=P.isDataTexture3D||P.isDataTexture2DArray,He=v(S)||s;if(s&&P.format===yu&&(P.type===vd||P.type===pg)&&(P.format=Os,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),ce){V.__webglFramebuffer=[];for(let Ae=0;Ae<6;Ae++)V.__webglFramebuffer[Ae]=i.createFramebuffer()}else if(V.__webglFramebuffer=i.createFramebuffer(),be)if(a.drawBuffers){let Ae=S.texture;for(let de=0,Oe=Ae.length;de<Oe;de++){let Je=n.get(Ae[de]);Je.__webglTexture===void 0&&(Je.__webglTexture=i.createTexture(),r.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");else if(ge)if(s){V.__webglMultisampledFramebuffer=i.createFramebuffer(),V.__webglColorRenderbuffer=i.createRenderbuffer(),i.bindRenderbuffer(36161,V.__webglColorRenderbuffer);let Ae=o.convert(P.format),de=o.convert(P.type),Oe=E(P.internalFormat,Ae,de),Je=Qe(S);i.renderbufferStorageMultisample(36161,Je,Oe,S.width,S.height),t.bindFramebuffer(36160,V.__webglMultisampledFramebuffer),i.framebufferRenderbuffer(36160,36064,36161,V.__webglColorRenderbuffer),i.bindRenderbuffer(36161,null),S.depthBuffer&&(V.__webglDepthRenderbuffer=i.createRenderbuffer(),Be(V.__webglDepthRenderbuffer,S,!0)),t.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(ce){t.bindTexture(34067,ee.__webglTexture),re(34067,P,He);for(let Ae=0;Ae<6;Ae++)le(V.__webglFramebuffer[Ae],S,P,36064,34069+Ae);x(P,He)&&w(34067,P,S.width,S.height),t.bindTexture(34067,null)}else if(be){let Ae=S.texture;for(let de=0,Oe=Ae.length;de<Oe;de++){let Je=Ae[de],dt=n.get(Je);t.bindTexture(3553,dt.__webglTexture),re(3553,Je,He),le(V.__webglFramebuffer,S,Je,36064+de,3553),x(Je,He)&&w(3553,Je,S.width,S.height)}t.bindTexture(3553,null)}else{let Ae=3553;Se&&(s?Ae=P.isDataTexture3D?32879:35866:console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.")),t.bindTexture(Ae,ee.__webglTexture),re(Ae,P,He),le(V.__webglFramebuffer,S,P,36064,Ae),x(P,He)&&w(3553,P,S.width,S.height),t.bindTexture(3553,null)}S.depthBuffer&&ne(S)}function Ue(S){let P=v(S)||s,V=S.isWebGLMultipleRenderTargets===!0?S.texture:[S.texture];for(let ee=0,ce=V.length;ee<ce;ee++){let be=V[ee];if(x(be,P)){let ge=S.isWebGLCubeRenderTarget?34067:3553,Se=n.get(be).__webglTexture;t.bindTexture(ge,Se),w(ge,be,S.width,S.height),t.bindTexture(ge,null)}}}function et(S){if(S.isWebGLMultisampleRenderTarget)if(s){let P=S.width,V=S.height,ee=16384;S.depthBuffer&&(ee|=256),S.stencilBuffer&&(ee|=1024);let ce=n.get(S);t.bindFramebuffer(36008,ce.__webglMultisampledFramebuffer),t.bindFramebuffer(36009,ce.__webglFramebuffer),i.blitFramebuffer(0,0,P,V,0,0,P,V,ee,9728),t.bindFramebuffer(36008,null),t.bindFramebuffer(36009,ce.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")}function Qe(S){return s&&S.isWebGLMultisampleRenderTarget?Math.min(u,S.samples):0}function Ge(S){let P=r.render.frame;p.get(S)!==P&&(p.set(S,P),S.update())}let Ie=!1,Ke=!1;function z(S,P){S&&S.isWebGLRenderTarget&&(Ie===!1&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),Ie=!0),S=S.texture),J(S,P)}function C(S,P){S&&S.isWebGLCubeRenderTarget&&(Ke===!1&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),Ke=!0),S=S.texture),me(S,P)}this.allocateTextureUnit=U,this.resetTextureUnits=L,this.setTexture2D=J,this.setTexture2DArray=ie,this.setTexture3D=te,this.setTextureCube=me,this.setupRenderTarget=Me,this.updateRenderTargetMipmap=Ue,this.updateMultisampleRenderTarget=et,this.safeSetTexture2D=z,this.safeSetTextureCube=C}function uI(i,e,t){let n=t.isWebGL2;function a(o){let r;if(o===dh)return 5121;if(o===Qj)return 32819;if(o===e3)return 32820;if(o===t3)return 33635;if(o===Xj)return 5120;if(o===Jj)return 5122;if(o===ug)return 5123;if(o===Zj)return 5124;if(o===ng)return 5125;if(o===vd)return 5126;if(o===pg)return n?5131:(r=e.get("OES_texture_half_float"),r!==null?r.HALF_FLOAT_OES:null);if(o===i3)return 6406;if(o===yu)return 6407;if(o===Os)return 6408;if(o===n3)return 6409;if(o===a3)return 6410;if(o===Lp)return 6402;if(o===N_)return 34041;if(o===r3)return 6403;if(o===s3)return 36244;if(o===l3)return 33319;if(o===c3)return 33320;if(o===d3)return 36248;if(o===u3)return 36249;if(o===Cz||o===Pz||o===Bz||o===Rz)if(r=e.get("WEBGL_compressed_texture_s3tc"),r!==null){if(o===Cz)return r.COMPRESSED_RGB_S3TC_DXT1_EXT;if(o===Pz)return r.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(o===Bz)return r.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(o===Rz)return r.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(o===jz||o===Iz||o===Dz||o===Vz)if(r=e.get("WEBGL_compressed_texture_pvrtc"),r!==null){if(o===jz)return r.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(o===Iz)return r.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(o===Dz)return r.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(o===Vz)return r.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(o===p3)return r=e.get("WEBGL_compressed_texture_etc1"),r!==null?r.COMPRESSED_RGB_ETC1_WEBGL:null;if((o===Fz||o===Uz)&&(r=e.get("WEBGL_compressed_texture_etc"),r!==null)){if(o===Fz)return r.COMPRESSED_RGB8_ETC2;if(o===Uz)return r.COMPRESSED_RGBA8_ETC2_EAC}if(o===m3||o===_3||o===h3||o===f3||o===g3||o===v3||o===b3||o===y3||o===x3||o===k3||o===w3||o===S3||o===z3||o===E3||o===T3||o===A3||o===C3||o===P3||o===B3||o===R3||o===j3||o===I3||o===D3||o===V3||o===F3||o===U3||o===O3||o===L3)return r=e.get("WEBGL_compressed_texture_astc"),r!==null?o:null;if(o===M3)return r=e.get("EXT_texture_compression_bptc"),r!==null?o:null;if(o===O_)return n?34042:(r=e.get("WEBGL_depth_texture"),r!==null?r.UNSIGNED_INT_24_8_WEBGL:null)}return{convert:a}}var yg=class extends Uo{constructor(e=[]){super(),this.cameras=e}};yg.prototype.isArrayCamera=!0;var bd=class extends pn{constructor(){super(),this.type="Group"}};bd.prototype.isGroup=!0;var yW={type:"move"},og=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new bd,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new bd,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new we,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new we),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new bd,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new we,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new we),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let a=null,o=null,r=null,s=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred")if(s!==null&&(a=t.getPose(e.targetRaySpace,n),a!==null&&(s.matrix.fromArray(a.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),a.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(a.linearVelocity)):s.hasLinearVelocity=!1,a.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(a.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(yW))),c&&e.hand){r=!0;for(let f of e.hand.values()){let g=t.getJointPose(f,n);if(c.joints[f.jointName]===void 0){let b=new bd;b.matrixAutoUpdate=!1,b.visible=!1,c.joints[f.jointName]=b,c.add(b)}let v=c.joints[f.jointName];g!==null&&(v.matrix.fromArray(g.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.jointRadius=g.radius),v.visible=g!==null}let d=c.joints["index-finger-tip"],u=c.joints["thumb-tip"],p=d.position.distanceTo(u.position),m=.02,_=.005;c.inputState.pinching&&p>m+_?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&p<=m-_&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(o=t.getPose(e.gripSpace,n),o!==null&&(l.matrix.fromArray(o.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),o.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(o.linearVelocity)):l.hasLinearVelocity=!1,o.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(o.angularVelocity)):l.hasAngularVelocity=!1));return s!==null&&(s.visible=a!==null),l!==null&&(l.visible=o!==null),c!==null&&(c.visible=r!==null),this}},Hz=class extends Mc{constructor(e,t){super();let n=this,a=e.state,o=null,r=1,s=null,l="local-floor",c=null,d=[],u=new Map,p=new Uo;p.layers.enable(1),p.viewport=new Kn;let m=new Uo;m.layers.enable(2),m.viewport=new Kn;let _=[p,m],f=new yg;f.layers.enable(1),f.layers.enable(2);let g=null,v=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(L){let U=d[L];return U===void 0&&(U=new og,d[L]=U),U.getTargetRaySpace()},this.getControllerGrip=function(L){let U=d[L];return U===void 0&&(U=new og,d[L]=U),U.getGripSpace()},this.getHand=function(L){let U=d[L];return U===void 0&&(U=new og,d[L]=U),U.getHandSpace()};function b(L){let U=u.get(L.inputSource);U&&U.dispatchEvent({type:L.type,data:L.inputSource})}function x(){u.forEach(function(L,U){L.disconnect(U)}),u.clear(),g=null,v=null,a.bindXRFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),O.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(L){r=L,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(L){l=L,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return s},this.getSession=function(){return o},this.setSession=async function(L){if(o=L,o!==null){o.addEventListener("select",b),o.addEventListener("selectstart",b),o.addEventListener("selectend",b),o.addEventListener("squeeze",b),o.addEventListener("squeezestart",b),o.addEventListener("squeezeend",b),o.addEventListener("end",x),o.addEventListener("inputsourceschange",w);let U=t.getContextAttributes();U.xrCompatible!==!0&&await t.makeXRCompatible();let J={antialias:U.antialias,alpha:U.alpha,depth:U.depth,stencil:U.stencil,framebufferScaleFactor:r},ie=new XRWebGLLayer(o,t,J);o.updateRenderState({baseLayer:ie}),s=await o.requestReferenceSpace(l),O.setContext(o),O.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};function w(L){let U=o.inputSources;for(let J=0;J<d.length;J++)u.set(U[J],d[J]);for(let J=0;J<L.removed.length;J++){let ie=L.removed[J],te=u.get(ie);te&&(te.dispatchEvent({type:"disconnected",data:ie}),u.delete(ie))}for(let J=0;J<L.added.length;J++){let ie=L.added[J],te=u.get(ie);te&&te.dispatchEvent({type:"connected",data:ie})}}let E=new we,y=new we;function A(L,U,J){E.setFromMatrixPosition(U.matrixWorld),y.setFromMatrixPosition(J.matrixWorld);let ie=E.distanceTo(y),te=U.projectionMatrix.elements,me=J.projectionMatrix.elements,Q=te[14]/(te[10]-1),H=te[14]/(te[10]+1),re=(te[9]+1)/te[5],K=(te[9]-1)/te[5],pe=(te[8]-1)/te[0],xe=(me[8]+1)/me[0],le=Q*pe,Be=Q*xe,X=ie/(-pe+xe),ne=X*-pe;U.matrixWorld.decompose(L.position,L.quaternion,L.scale),L.translateX(ne),L.translateZ(X),L.matrixWorld.compose(L.position,L.quaternion,L.scale),L.matrixWorldInverse.copy(L.matrixWorld).invert();let Me=Q+X,Ue=H+X,et=le-ne,Qe=Be+(ie-ne),Ge=re*H/Ue*Me,Ie=K*H/Ue*Me;L.projectionMatrix.makePerspective(et,Qe,Ge,Ie,Me,Ue)}function R(L,U){U===null?L.matrixWorld.copy(L.matrix):L.matrixWorld.multiplyMatrices(U.matrixWorld,L.matrix),L.matrixWorldInverse.copy(L.matrixWorld).invert()}this.updateCamera=function(L){if(o===null)return;f.near=m.near=p.near=L.near,f.far=m.far=p.far=L.far,(g!==f.near||v!==f.far)&&(o.updateRenderState({depthNear:f.near,depthFar:f.far}),g=f.near,v=f.far);let U=L.parent,J=f.cameras;R(f,U);for(let te=0;te<J.length;te++)R(J[te],U);L.matrixWorld.copy(f.matrixWorld),L.matrix.copy(f.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale);let ie=L.children;for(let te=0,me=ie.length;te<me;te++)ie[te].updateMatrixWorld(!0);J.length===2?A(f,p,m):f.projectionMatrix.copy(p.projectionMatrix)},this.getCamera=function(){return f};let j=null;function F(L,U){if(c=U.getViewerPose(s),c!==null){let ie=c.views,te=o.renderState.baseLayer;a.bindXRFramebuffer(te.framebuffer);let me=!1;ie.length!==f.cameras.length&&(f.cameras.length=0,me=!0);for(let Q=0;Q<ie.length;Q++){let H=ie[Q],re=te.getViewport(H),K=_[Q];K.matrix.fromArray(H.transform.matrix),K.projectionMatrix.fromArray(H.projectionMatrix),K.viewport.set(re.x,re.y,re.width,re.height),Q===0&&f.matrix.copy(K.matrix),me===!0&&f.cameras.push(K)}}let J=o.inputSources;for(let ie=0;ie<d.length;ie++){let te=d[ie],me=J[ie];te.update(me,U,s)}j&&j(L,U)}let O=new iI;O.setAnimationLoop(F),this.setAnimationLoop=function(L){j=L},this.dispose=function(){}}};function xW(i){function e(v,b){v.fogColor.value.copy(b.color),b.isFog?(v.fogNear.value=b.near,v.fogFar.value=b.far):b.isFogExp2&&(v.fogDensity.value=b.density)}function t(v,b,x,w,E){b.isMeshBasicMaterial?n(v,b):b.isMeshLambertMaterial?(n(v,b),l(v,b)):b.isMeshToonMaterial?(n(v,b),d(v,b)):b.isMeshPhongMaterial?(n(v,b),c(v,b)):b.isMeshStandardMaterial?(n(v,b),b.isMeshPhysicalMaterial?p(v,b,E):u(v,b)):b.isMeshMatcapMaterial?(n(v,b),m(v,b)):b.isMeshDepthMaterial?(n(v,b),_(v,b)):b.isMeshDistanceMaterial?(n(v,b),f(v,b)):b.isMeshNormalMaterial?(n(v,b),g(v,b)):b.isLineBasicMaterial?(a(v,b),b.isLineDashedMaterial&&o(v,b)):b.isPointsMaterial?r(v,b,x,w):b.isSpriteMaterial?s(v,b):b.isShadowMaterial?(v.color.value.copy(b.color),v.opacity.value=b.opacity):b.isShaderMaterial&&(b.uniformsNeedUpdate=!1)}function n(v,b){v.opacity.value=b.opacity,b.color&&v.diffuse.value.copy(b.color),b.emissive&&v.emissive.value.copy(b.emissive).multiplyScalar(b.emissiveIntensity),b.map&&(v.map.value=b.map),b.alphaMap&&(v.alphaMap.value=b.alphaMap),b.specularMap&&(v.specularMap.value=b.specularMap);let x=i.get(b).envMap;if(x){v.envMap.value=x,v.flipEnvMap.value=x.isCubeTexture&&x._needsFlipEnvMap?-1:1,v.reflectivity.value=b.reflectivity,v.refractionRatio.value=b.refractionRatio;let y=i.get(x).__maxMipLevel;y!==void 0&&(v.maxMipLevel.value=y)}b.lightMap&&(v.lightMap.value=b.lightMap,v.lightMapIntensity.value=b.lightMapIntensity),b.aoMap&&(v.aoMap.value=b.aoMap,v.aoMapIntensity.value=b.aoMapIntensity);let w;b.map?w=b.map:b.specularMap?w=b.specularMap:b.displacementMap?w=b.displacementMap:b.normalMap?w=b.normalMap:b.bumpMap?w=b.bumpMap:b.roughnessMap?w=b.roughnessMap:b.metalnessMap?w=b.metalnessMap:b.alphaMap?w=b.alphaMap:b.emissiveMap?w=b.emissiveMap:b.clearcoatMap?w=b.clearcoatMap:b.clearcoatNormalMap?w=b.clearcoatNormalMap:b.clearcoatRoughnessMap&&(w=b.clearcoatRoughnessMap),w!==void 0&&(w.isWebGLRenderTarget&&(w=w.texture),w.matrixAutoUpdate===!0&&w.updateMatrix(),v.uvTransform.value.copy(w.matrix));let E;b.aoMap?E=b.aoMap:b.lightMap&&(E=b.lightMap),E!==void 0&&(E.isWebGLRenderTarget&&(E=E.texture),E.matrixAutoUpdate===!0&&E.updateMatrix(),v.uv2Transform.value.copy(E.matrix))}function a(v,b){v.diffuse.value.copy(b.color),v.opacity.value=b.opacity}function o(v,b){v.dashSize.value=b.dashSize,v.totalSize.value=b.dashSize+b.gapSize,v.scale.value=b.scale}function r(v,b,x,w){v.diffuse.value.copy(b.color),v.opacity.value=b.opacity,v.size.value=b.size*x,v.scale.value=w*.5,b.map&&(v.map.value=b.map),b.alphaMap&&(v.alphaMap.value=b.alphaMap);let E;b.map?E=b.map:b.alphaMap&&(E=b.alphaMap),E!==void 0&&(E.matrixAutoUpdate===!0&&E.updateMatrix(),v.uvTransform.value.copy(E.matrix))}function s(v,b){v.diffuse.value.copy(b.color),v.opacity.value=b.opacity,v.rotation.value=b.rotation,b.map&&(v.map.value=b.map),b.alphaMap&&(v.alphaMap.value=b.alphaMap);let x;b.map?x=b.map:b.alphaMap&&(x=b.alphaMap),x!==void 0&&(x.matrixAutoUpdate===!0&&x.updateMatrix(),v.uvTransform.value.copy(x.matrix))}function l(v,b){b.emissiveMap&&(v.emissiveMap.value=b.emissiveMap)}function c(v,b){v.specular.value.copy(b.specular),v.shininess.value=Math.max(b.shininess,1e-4),b.emissiveMap&&(v.emissiveMap.value=b.emissiveMap),b.bumpMap&&(v.bumpMap.value=b.bumpMap,v.bumpScale.value=b.bumpScale,b.side===Fo&&(v.bumpScale.value*=-1)),b.normalMap&&(v.normalMap.value=b.normalMap,v.normalScale.value.copy(b.normalScale),b.side===Fo&&v.normalScale.value.negate()),b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias)}function d(v,b){b.gradientMap&&(v.gradientMap.value=b.gradientMap),b.emissiveMap&&(v.emissiveMap.value=b.emissiveMap),b.bumpMap&&(v.bumpMap.value=b.bumpMap,v.bumpScale.value=b.bumpScale,b.side===Fo&&(v.bumpScale.value*=-1)),b.normalMap&&(v.normalMap.value=b.normalMap,v.normalScale.value.copy(b.normalScale),b.side===Fo&&v.normalScale.value.negate()),b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias)}function u(v,b){v.roughness.value=b.roughness,v.metalness.value=b.metalness,b.roughnessMap&&(v.roughnessMap.value=b.roughnessMap),b.metalnessMap&&(v.metalnessMap.value=b.metalnessMap),b.emissiveMap&&(v.emissiveMap.value=b.emissiveMap),b.bumpMap&&(v.bumpMap.value=b.bumpMap,v.bumpScale.value=b.bumpScale,b.side===Fo&&(v.bumpScale.value*=-1)),b.normalMap&&(v.normalMap.value=b.normalMap,v.normalScale.value.copy(b.normalScale),b.side===Fo&&v.normalScale.value.negate()),b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias),i.get(b).envMap&&(v.envMapIntensity.value=b.envMapIntensity)}function p(v,b,x){u(v,b),v.reflectivity.value=b.reflectivity,v.clearcoat.value=b.clearcoat,v.clearcoatRoughness.value=b.clearcoatRoughness,b.sheen&&v.sheen.value.copy(b.sheen),b.clearcoatMap&&(v.clearcoatMap.value=b.clearcoatMap),b.clearcoatRoughnessMap&&(v.clearcoatRoughnessMap.value=b.clearcoatRoughnessMap),b.clearcoatNormalMap&&(v.clearcoatNormalScale.value.copy(b.clearcoatNormalScale),v.clearcoatNormalMap.value=b.clearcoatNormalMap,b.side===Fo&&v.clearcoatNormalScale.value.negate()),v.transmission.value=b.transmission,b.transmissionMap&&(v.transmissionMap.value=b.transmissionMap),b.transmission>0&&(v.transmissionSamplerMap.value=x.texture,v.transmissionSamplerSize.value.set(x.width,x.height)),v.thickness.value=b.thickness,b.thicknessMap&&(v.thicknessMap.value=b.thicknessMap),v.attenuationDistance.value=b.attenuationDistance,v.attenuationColor.value.copy(b.attenuationColor)}function m(v,b){b.matcap&&(v.matcap.value=b.matcap),b.bumpMap&&(v.bumpMap.value=b.bumpMap,v.bumpScale.value=b.bumpScale,b.side===Fo&&(v.bumpScale.value*=-1)),b.normalMap&&(v.normalMap.value=b.normalMap,v.normalScale.value.copy(b.normalScale),b.side===Fo&&v.normalScale.value.negate()),b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias)}function _(v,b){b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias)}function f(v,b){b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias),v.referencePosition.value.copy(b.referencePosition),v.nearDistance.value=b.nearDistance,v.farDistance.value=b.farDistance}function g(v,b){b.bumpMap&&(v.bumpMap.value=b.bumpMap,v.bumpScale.value=b.bumpScale,b.side===Fo&&(v.bumpScale.value*=-1)),b.normalMap&&(v.normalMap.value=b.normalMap,v.normalScale.value.copy(b.normalScale),b.side===Fo&&v.normalScale.value.negate()),b.displacementMap&&(v.displacementMap.value=b.displacementMap,v.displacementScale.value=b.displacementScale,v.displacementBias.value=b.displacementBias)}return{refreshFogUniforms:e,refreshMaterialUniforms:t}}function kW(){let i=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return i.style.display="block",i}function ba(i){i=i||{};let e=i.canvas!==void 0?i.canvas:kW(),t=i.context!==void 0?i.context:null,n=i.alpha!==void 0?i.alpha:!1,a=i.depth!==void 0?i.depth:!0,o=i.stencil!==void 0?i.stencil:!0,r=i.antialias!==void 0?i.antialias:!1,s=i.premultipliedAlpha!==void 0?i.premultipliedAlpha:!0,l=i.preserveDrawingBuffer!==void 0?i.preserveDrawingBuffer:!1,c=i.powerPreference!==void 0?i.powerPreference:"default",d=i.failIfMajorPerformanceCaveat!==void 0?i.failIfMajorPerformanceCaveat:!1,u=null,p=null,m=[],_=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=es,this.physicallyCorrectLights=!1,this.toneMapping=Op,this.toneMappingExposure=1;let f=this,g=!1,v=0,b=0,x=null,w=-1,E=null,y=new Kn,A=new Kn,R=null,j=e.width,F=e.height,O=1,L=null,U=null,J=new Kn(0,0,j,F),ie=new Kn(0,0,j,F),te=!1,me=[],Q=new Gp,H=!1,re=!1,K=null,pe=new Ti,xe=new we,le={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Be(){return x===null?O:1}let X=t;function ne(Te,lt){for(let ot=0;ot<Te.length;ot++){let ft=Te[ot],Et=e.getContext(ft,lt);if(Et!==null)return Et}return null}try{let Te={alpha:n,depth:a,stencil:o,antialias:r,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:d};if(e.addEventListener("webglcontextlost",Fe,!1),e.addEventListener("webglcontextrestored",Ee,!1),X===null){let lt=["webgl2","webgl","experimental-webgl"];if(f.isWebGL1Renderer===!0&&lt.shift(),X=ne(lt,Te),X===null)throw ne(lt)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}X.getShaderPrecisionFormat===void 0&&(X.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(Te){throw console.error("THREE.WebGLRenderer: "+Te.message),Te}let Me,Ue,et,Qe,Ge,Ie,Ke,z,C,S,P,V,ee,ce,be,ge,Se,He,Ae,de,Oe,Je;function dt(){Me=new Kq(X),Ue=new Gq(X,Me,i),Me.init(Ue),Oe=new uI(X,Me,Ue),et=new vW(X,Me,Ue),me[0]=1029,Qe=new Xq(X),Ge=new sW,Ie=new bW(X,Me,et,Ge,Ue,Oe,Qe),Ke=new Wq(f),z=new b8(X,Ue),Je=new Nq(X,Me,z,Ue),C=new $q(X,z,Qe,Je),S=new e9(X,C,z,Qe),He=new Qq(X),be=new qq(Ge),P=new rW(f,Ke,Me,Ue,Je,be),V=new xW(Ge),ee=new cW(Ge),ce=new hW(Me,Ue),Se=new Lq(f,Ke,et,S,s),ge=new dI(f,S,Ue),Ae=new Hq(X,Me,Qe,Ue),de=new Yq(X,Me,Qe,Ue),Qe.programs=P.programs,f.capabilities=Ue,f.extensions=Me,f.properties=Ge,f.renderLists=ee,f.shadowMap=ge,f.state=et,f.info=Qe}dt();let ue=new Hz(f,X);this.xr=ue,this.getContext=function(){return X},this.getContextAttributes=function(){return X.getContextAttributes()},this.forceContextLoss=function(){let Te=Me.get("WEBGL_lose_context");Te&&Te.loseContext()},this.forceContextRestore=function(){let Te=Me.get("WEBGL_lose_context");Te&&Te.restoreContext()},this.getPixelRatio=function(){return O},this.setPixelRatio=function(Te){Te!==void 0&&(O=Te,this.setSize(j,F,!1))},this.getSize=function(Te){return Te===void 0&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),Te=new zt),Te.set(j,F)},this.setSize=function(Te,lt,ot){if(ue.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}j=Te,F=lt,e.width=Math.floor(Te*O),e.height=Math.floor(lt*O),ot!==!1&&(e.style.width=Te+"px",e.style.height=lt+"px"),this.setViewport(0,0,Te,lt)},this.getDrawingBufferSize=function(Te){return Te===void 0&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),Te=new zt),Te.set(j*O,F*O).floor()},this.setDrawingBufferSize=function(Te,lt,ot){j=Te,F=lt,O=ot,e.width=Math.floor(Te*ot),e.height=Math.floor(lt*ot),this.setViewport(0,0,Te,lt)},this.getCurrentViewport=function(Te){return Te===void 0&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),Te=new Kn),Te.copy(y)},this.getViewport=function(Te){return Te.copy(J)},this.setViewport=function(Te,lt,ot,ft){Te.isVector4?J.set(Te.x,Te.y,Te.z,Te.w):J.set(Te,lt,ot,ft),et.viewport(y.copy(J).multiplyScalar(O).floor())},this.getScissor=function(Te){return Te.copy(ie)},this.setScissor=function(Te,lt,ot,ft){Te.isVector4?ie.set(Te.x,Te.y,Te.z,Te.w):ie.set(Te,lt,ot,ft),et.scissor(A.copy(ie).multiplyScalar(O).floor())},this.getScissorTest=function(){return te},this.setScissorTest=function(Te){et.setScissorTest(te=Te)},this.setOpaqueSort=function(Te){L=Te},this.setTransparentSort=function(Te){U=Te},this.getClearColor=function(Te){return Te===void 0&&(console.warn("WebGLRenderer: .getClearColor() now requires a Color as an argument"),Te=new si),Te.copy(Se.getClearColor())},this.setClearColor=function(){Se.setClearColor.apply(Se,arguments)},this.getClearAlpha=function(){return Se.getClearAlpha()},this.setClearAlpha=function(){Se.setClearAlpha.apply(Se,arguments)},this.clear=function(Te,lt,ot){let ft=0;(Te===void 0||Te)&&(ft|=16384),(lt===void 0||lt)&&(ft|=256),(ot===void 0||ot)&&(ft|=1024),X.clear(ft)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",Fe,!1),e.removeEventListener("webglcontextrestored",Ee,!1),ee.dispose(),ce.dispose(),Ge.dispose(),Ke.dispose(),S.dispose(),Je.dispose(),ue.dispose(),ue.removeEventListener("sessionstart",Rt),ue.removeEventListener("sessionend",Xt),K&&(K.dispose(),K=null),Yt.stop()};function Fe(Te){Te.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),g=!0}function Ee(){console.log("THREE.WebGLRenderer: Context Restored."),g=!1;let Te=Qe.autoReset,lt=ge.enabled,ot=ge.autoUpdate,ft=ge.needsUpdate,Et=ge.type;dt(),Qe.autoReset=Te,ge.enabled=lt,ge.autoUpdate=ot,ge.needsUpdate=ft,ge.type=Et}function xt(Te){let lt=Te.target;lt.removeEventListener("dispose",xt),_e(lt)}function _e(Te){je(Te),Ge.remove(Te)}function je(Te){let lt=Ge.get(Te).programs;lt!==void 0&&lt.forEach(function(ot){P.releaseProgram(ot)})}function We(Te,lt){Te.render(function(ot){f.renderBufferImmediate(ot,lt)})}this.renderBufferImmediate=function(Te,lt){Je.initAttributes();let ot=Ge.get(Te);Te.hasPositions&&!ot.position&&(ot.position=X.createBuffer()),Te.hasNormals&&!ot.normal&&(ot.normal=X.createBuffer()),Te.hasUvs&&!ot.uv&&(ot.uv=X.createBuffer()),Te.hasColors&&!ot.color&&(ot.color=X.createBuffer());let ft=lt.getAttributes();Te.hasPositions&&(X.bindBuffer(34962,ot.position),X.bufferData(34962,Te.positionArray,35048),Je.enableAttribute(ft.position),X.vertexAttribPointer(ft.position,3,5126,!1,0,0)),Te.hasNormals&&(X.bindBuffer(34962,ot.normal),X.bufferData(34962,Te.normalArray,35048),Je.enableAttribute(ft.normal),X.vertexAttribPointer(ft.normal,3,5126,!1,0,0)),Te.hasUvs&&(X.bindBuffer(34962,ot.uv),X.bufferData(34962,Te.uvArray,35048),Je.enableAttribute(ft.uv),X.vertexAttribPointer(ft.uv,2,5126,!1,0,0)),Te.hasColors&&(X.bindBuffer(34962,ot.color),X.bufferData(34962,Te.colorArray,35048),Je.enableAttribute(ft.color),X.vertexAttribPointer(ft.color,3,5126,!1,0,0)),Je.disableUnusedAttributes(),X.drawArrays(4,0,Te.count),Te.count=0},this.renderBufferDirect=function(Te,lt,ot,ft,Et,Ai){lt===null&&(lt=le);let Ii=Et.isMesh&&Et.matrixWorld.determinant()<0,Wt=xa(Te,lt,ft,Et);et.setMaterial(ft,Ii);let ti=ot.index,Jt=ot.attributes.position;if(ti===null){if(Jt===void 0||Jt.count===0)return}else if(ti.count===0)return;let Ci=1;ft.wireframe===!0&&(ti=C.getWireframeAttribute(ot),Ci=2),(ft.morphTargets||ft.morphNormals)&&He.update(Et,ot,ft,Wt),Je.setup(Et,ft,Wt,ot,ti);let zi,en=Ae;ti!==null&&(zi=z.get(ti),en=de,en.setIndex(zi));let Un=ti!==null?ti.count:Jt.count,Ji=ot.drawRange.start*Ci,jo=ot.drawRange.count*Ci,An=Ai!==null?Ai.start*Ci:0,ua=Ai!==null?Ai.count*Ci:1/0,jn=Math.max(Ji,An),_n=Math.min(Un,Ji+jo,An+ua)-1,Ea=Math.max(0,_n-jn+1);if(Ea!==0){if(Et.isMesh)ft.wireframe===!0?(et.setLineWidth(ft.wireframeLinewidth*Be()),en.setMode(1)):en.setMode(4);else if(Et.isLine){let ja=ft.linewidth;ja===void 0&&(ja=1),et.setLineWidth(ja*Be()),Et.isLineSegments?en.setMode(1):Et.isLineLoop?en.setMode(2):en.setMode(3)}else Et.isPoints?en.setMode(0):Et.isSprite&&en.setMode(4);if(Et.isInstancedMesh)en.renderInstances(jn,Ea,Et.count);else if(ot.isInstancedBufferGeometry){let ja=Math.min(ot.instanceCount,ot._maxInstanceCount);en.renderInstances(jn,Ea,ja)}else en.render(jn,Ea)}},this.compile=function(Te,lt){p=ce.get(Te),p.init(),Te.traverseVisible(function(ot){ot.isLight&&ot.layers.test(lt.layers)&&(p.pushLight(ot),ot.castShadow&&p.pushShadow(ot))}),p.setupLights(),Te.traverse(function(ot){let ft=ot.material;if(ft)if(Array.isArray(ft))for(let Et=0;Et<ft.length;Et++){let Ai=ft[Et];bi(Ai,Te,ot)}else bi(ft,Te,ot)})};let pt=null;function At(Te){pt&&pt(Te)}function Rt(){Yt.stop()}function Xt(){Yt.start()}let Yt=new iI;Yt.setAnimationLoop(At),typeof window<"u"&&Yt.setContext(window),this.setAnimationLoop=function(Te){pt=Te,ue.setAnimationLoop(Te),Te===null?Yt.stop():Yt.start()},ue.addEventListener("sessionstart",Rt),ue.addEventListener("sessionend",Xt),this.render=function(Te,lt){if(lt!==void 0&&lt.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(g===!0)return;Te.autoUpdate===!0&&Te.updateMatrixWorld(),lt.parent===null&&lt.updateMatrixWorld(),ue.enabled===!0&&ue.isPresenting===!0&&(ue.cameraAutoUpdate===!0&&ue.updateCamera(lt),lt=ue.getCamera()),Te.isScene===!0&&Te.onBeforeRender(f,Te,lt,x),p=ce.get(Te,_.length),p.init(),_.push(p),pe.multiplyMatrices(lt.projectionMatrix,lt.matrixWorldInverse),Q.setFromProjectionMatrix(pe),re=this.localClippingEnabled,H=be.init(this.clippingPlanes,re,lt),u=ee.get(Te,m.length),u.init(),m.push(u),fi(Te,lt,0,f.sortObjects),u.finish(),f.sortObjects===!0&&u.sort(L,U),H===!0&&be.beginShadows();let ot=p.state.shadowsArray;ge.render(ot,Te,lt),p.setupLights(),p.setupLightsView(lt),H===!0&&be.endShadows(),this.info.autoReset===!0&&this.info.reset(),Se.render(u,Te);let ft=u.opaque,Et=u.transmissive,Ai=u.transparent;ft.length>0&&ri(ft,Te,lt),Et.length>0&&vi(ft,Et,Te,lt),Ai.length>0&&ri(Ai,Te,lt),x!==null&&(Ie.updateRenderTargetMipmap(x),Ie.updateMultisampleRenderTarget(x)),Te.isScene===!0&&Te.onAfterRender(f,Te,lt),et.buffers.depth.setTest(!0),et.buffers.depth.setMask(!0),et.buffers.color.setMask(!0),et.setPolygonOffset(!1),Je.resetDefaultState(),w=-1,E=null,_.pop(),_.length>0?p=_[_.length-1]:p=null,m.pop(),m.length>0?u=m[m.length-1]:u=null};function fi(Te,lt,ot,ft){if(Te.visible===!1)return;if(Te.layers.test(lt.layers)){if(Te.isGroup)ot=Te.renderOrder;else if(Te.isLOD)Te.autoUpdate===!0&&Te.update(lt);else if(Te.isLight)p.pushLight(Te),Te.castShadow&&p.pushShadow(Te);else if(Te.isSprite){if(!Te.frustumCulled||Q.intersectsSprite(Te)){ft&&xe.setFromMatrixPosition(Te.matrixWorld).applyMatrix4(pe);let Ii=S.update(Te),Wt=Te.material;Wt.visible&&u.push(Te,Ii,Wt,ot,xe.z,null)}}else if(Te.isImmediateRenderObject)ft&&xe.setFromMatrixPosition(Te.matrixWorld).applyMatrix4(pe),u.push(Te,null,Te.material,ot,xe.z,null);else if((Te.isMesh||Te.isLine||Te.isPoints)&&(Te.isSkinnedMesh&&Te.skeleton.frame!==Qe.render.frame&&(Te.skeleton.update(),Te.skeleton.frame=Qe.render.frame),!Te.frustumCulled||Q.intersectsObject(Te))){ft&&xe.setFromMatrixPosition(Te.matrixWorld).applyMatrix4(pe);let Ii=S.update(Te),Wt=Te.material;if(Array.isArray(Wt)){let ti=Ii.groups;for(let Jt=0,Ci=ti.length;Jt<Ci;Jt++){let zi=ti[Jt],en=Wt[zi.materialIndex];en&&en.visible&&u.push(Te,Ii,en,ot,xe.z,zi)}}else Wt.visible&&u.push(Te,Ii,Wt,ot,xe.z,null)}}let Ai=Te.children;for(let Ii=0,Wt=Ai.length;Ii<Wt;Ii++)fi(Ai[Ii],lt,ot,ft)}function vi(Te,lt,ot,ft){K===null&&(K=new Ns(1024,1024,{generateMipmaps:!0,minFilter:am,magFilter:no,wrapS:zr,wrapT:zr}));let Et=f.getRenderTarget();f.setRenderTarget(K),f.clear(),ri(Te,ot,ft),Ie.updateRenderTargetMipmap(K),f.setRenderTarget(Et),ri(lt,ot,ft)}function ri(Te,lt,ot){let ft=lt.isScene===!0?lt.overrideMaterial:null;for(let Et=0,Ai=Te.length;Et<Ai;Et++){let Ii=Te[Et],Wt=Ii.object,ti=Ii.geometry,Jt=ft===null?Ii.material:ft,Ci=Ii.group;if(ot.isArrayCamera){let zi=ot.cameras;for(let en=0,Un=zi.length;en<Un;en++){let Ji=zi[en];Wt.layers.test(Ji.layers)&&(et.viewport(y.copy(Ji.viewport)),p.setupLightsView(Ji),ji(Wt,lt,Ji,ti,Jt,Ci))}}else ji(Wt,lt,ot,ti,Jt,Ci)}}function ji(Te,lt,ot,ft,Et,Ai){if(Te.onBeforeRender(f,lt,ot,ft,Et,Ai),Te.modelViewMatrix.multiplyMatrices(ot.matrixWorldInverse,Te.matrixWorld),Te.normalMatrix.getNormalMatrix(Te.modelViewMatrix),Te.isImmediateRenderObject){let Ii=xa(ot,lt,Et,Te);et.setMaterial(Et),Je.reset(),We(Te,Ii)}else f.renderBufferDirect(ot,lt,ft,Et,Te,Ai);Te.onAfterRender(f,lt,ot,ft,Et,Ai)}function bi(Te,lt,ot){lt.isScene!==!0&&(lt=le);let ft=Ge.get(Te),Et=p.state.lights,Ai=p.state.shadowsArray,Ii=Et.state.version,Wt=P.getParameters(Te,Et.state,Ai,lt,ot),ti=P.getProgramCacheKey(Wt),Jt=ft.programs;ft.environment=Te.isMeshStandardMaterial?lt.environment:null,ft.fog=lt.fog,ft.envMap=Ke.get(Te.envMap||ft.environment),Jt===void 0&&(Te.addEventListener("dispose",xt),Jt=new Map,ft.programs=Jt);let Ci=Jt.get(ti);if(Ci!==void 0){if(ft.currentProgram===Ci&&ft.lightsStateVersion===Ii)return Ni(Te,Wt),Ci}else Wt.uniforms=P.getUniforms(Te),Te.onBuild(Wt,f),Te.onBeforeCompile(Wt,f),Ci=P.acquireProgram(Wt,ti),Jt.set(ti,Ci),ft.uniforms=Wt.uniforms;let zi=ft.uniforms;(!Te.isShaderMaterial&&!Te.isRawShaderMaterial||Te.clipping===!0)&&(zi.clippingPlanes=be.uniform),Ni(Te,Wt),ft.needsLights=po(Te),ft.lightsStateVersion=Ii,ft.needsLights&&(zi.ambientLightColor.value=Et.state.ambient,zi.lightProbe.value=Et.state.probe,zi.directionalLights.value=Et.state.directional,zi.directionalLightShadows.value=Et.state.directionalShadow,zi.spotLights.value=Et.state.spot,zi.spotLightShadows.value=Et.state.spotShadow,zi.rectAreaLights.value=Et.state.rectArea,zi.ltc_1.value=Et.state.rectAreaLTC1,zi.ltc_2.value=Et.state.rectAreaLTC2,zi.pointLights.value=Et.state.point,zi.pointLightShadows.value=Et.state.pointShadow,zi.hemisphereLights.value=Et.state.hemi,zi.directionalShadowMap.value=Et.state.directionalShadowMap,zi.directionalShadowMatrix.value=Et.state.directionalShadowMatrix,zi.spotShadowMap.value=Et.state.spotShadowMap,zi.spotShadowMatrix.value=Et.state.spotShadowMatrix,zi.pointShadowMap.value=Et.state.pointShadowMap,zi.pointShadowMatrix.value=Et.state.pointShadowMatrix);let en=Ci.getUniforms(),Un=xu.seqWithValue(en.seq,zi);return ft.currentProgram=Ci,ft.uniformsList=Un,Ci}function Ni(Te,lt){let ot=Ge.get(Te);ot.outputEncoding=lt.outputEncoding,ot.instancing=lt.instancing,ot.skinning=lt.skinning,ot.numClippingPlanes=lt.numClippingPlanes,ot.numIntersection=lt.numClipIntersection,ot.vertexAlphas=lt.vertexAlphas}function xa(Te,lt,ot,ft){lt.isScene!==!0&&(lt=le),Ie.resetTextureUnits();let Et=lt.fog,Ai=ot.isMeshStandardMaterial?lt.environment:null,Ii=x===null?f.outputEncoding:x.texture.encoding,Wt=Ke.get(ot.envMap||Ai),ti=ot.vertexColors===!0&&ft.geometry&&ft.geometry.attributes.color&&ft.geometry.attributes.color.itemSize===4,Jt=Ge.get(ot),Ci=p.state.lights;if(H===!0&&(re===!0||Te!==E)){let jn=Te===E&&ot.id===w;be.setState(ot,Te,jn)}let zi=!1;ot.version===Jt.__version?(Jt.needsLights&&Jt.lightsStateVersion!==Ci.state.version||Jt.outputEncoding!==Ii||ft.isInstancedMesh&&Jt.instancing===!1||!ft.isInstancedMesh&&Jt.instancing===!0||ft.isSkinnedMesh&&Jt.skinning===!1||!ft.isSkinnedMesh&&Jt.skinning===!0||Jt.envMap!==Wt||ot.fog&&Jt.fog!==Et||Jt.numClippingPlanes!==void 0&&(Jt.numClippingPlanes!==be.numPlanes||Jt.numIntersection!==be.numIntersection)||Jt.vertexAlphas!==ti)&&(zi=!0):(zi=!0,Jt.__version=ot.version);let en=Jt.currentProgram;zi===!0&&(en=bi(ot,lt,ft));let Un=!1,Ji=!1,jo=!1,An=en.getUniforms(),ua=Jt.uniforms;if(et.useProgram(en.program)&&(Un=!0,Ji=!0,jo=!0),ot.id!==w&&(w=ot.id,Ji=!0),Un||E!==Te){if(An.setValue(X,"projectionMatrix",Te.projectionMatrix),Ue.logarithmicDepthBuffer&&An.setValue(X,"logDepthBufFC",2/(Math.log(Te.far+1)/Math.LN2)),E!==Te&&(E=Te,Ji=!0,jo=!0),ot.isShaderMaterial||ot.isMeshPhongMaterial||ot.isMeshToonMaterial||ot.isMeshStandardMaterial||ot.envMap){let jn=An.map.cameraPosition;jn!==void 0&&jn.setValue(X,xe.setFromMatrixPosition(Te.matrixWorld))}(ot.isMeshPhongMaterial||ot.isMeshToonMaterial||ot.isMeshLambertMaterial||ot.isMeshBasicMaterial||ot.isMeshStandardMaterial||ot.isShaderMaterial)&&An.setValue(X,"isOrthographic",Te.isOrthographicCamera===!0),(ot.isMeshPhongMaterial||ot.isMeshToonMaterial||ot.isMeshLambertMaterial||ot.isMeshBasicMaterial||ot.isMeshStandardMaterial||ot.isShaderMaterial||ot.isShadowMaterial||ft.isSkinnedMesh)&&An.setValue(X,"viewMatrix",Te.matrixWorldInverse)}if(ft.isSkinnedMesh){An.setOptional(X,ft,"bindMatrix"),An.setOptional(X,ft,"bindMatrixInverse");let jn=ft.skeleton;jn&&(Ue.floatVertexTextures?(jn.boneTexture===null&&jn.computeBoneTexture(),An.setValue(X,"boneTexture",jn.boneTexture,Ie),An.setValue(X,"boneTextureSize",jn.boneTextureSize)):An.setOptional(X,jn,"boneMatrices"))}return(Ji||Jt.receiveShadow!==ft.receiveShadow)&&(Jt.receiveShadow=ft.receiveShadow,An.setValue(X,"receiveShadow",ft.receiveShadow)),Ji&&(An.setValue(X,"toneMappingExposure",f.toneMappingExposure),Jt.needsLights&&da(ua,jo),Et&&ot.fog&&V.refreshFogUniforms(ua,Et),V.refreshMaterialUniforms(ua,ot,O,F,K),xu.upload(X,Jt.uniformsList,ua,Ie)),ot.isShaderMaterial&&ot.uniformsNeedUpdate===!0&&(xu.upload(X,Jt.uniformsList,ua,Ie),ot.uniformsNeedUpdate=!1),ot.isSpriteMaterial&&An.setValue(X,"center",ft.center),An.setValue(X,"modelViewMatrix",ft.modelViewMatrix),An.setValue(X,"normalMatrix",ft.normalMatrix),An.setValue(X,"modelMatrix",ft.matrixWorld),en}function da(Te,lt){Te.ambientLightColor.needsUpdate=lt,Te.lightProbe.needsUpdate=lt,Te.directionalLights.needsUpdate=lt,Te.directionalLightShadows.needsUpdate=lt,Te.pointLights.needsUpdate=lt,Te.pointLightShadows.needsUpdate=lt,Te.spotLights.needsUpdate=lt,Te.spotLightShadows.needsUpdate=lt,Te.rectAreaLights.needsUpdate=lt,Te.hemisphereLights.needsUpdate=lt}function po(Te){return Te.isMeshLambertMaterial||Te.isMeshToonMaterial||Te.isMeshPhongMaterial||Te.isMeshStandardMaterial||Te.isShadowMaterial||Te.isShaderMaterial&&Te.lights===!0}this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return b},this.getRenderTarget=function(){return x},this.setRenderTarget=function(Te,lt=0,ot=0){x=Te,v=lt,b=ot,Te&&Ge.get(Te).__webglFramebuffer===void 0&&Ie.setupRenderTarget(Te);let ft=null,Et=!1,Ai=!1;if(Te){let Wt=Te.texture;(Wt.isDataTexture3D||Wt.isDataTexture2DArray)&&(Ai=!0);let ti=Ge.get(Te).__webglFramebuffer;Te.isWebGLCubeRenderTarget?(ft=ti[lt],Et=!0):Te.isWebGLMultisampleRenderTarget?ft=Ge.get(Te).__webglMultisampledFramebuffer:ft=ti,y.copy(Te.viewport),A.copy(Te.scissor),R=Te.scissorTest}else y.copy(J).multiplyScalar(O).floor(),A.copy(ie).multiplyScalar(O).floor(),R=te;if(et.bindFramebuffer(36160,ft)&&Ue.drawBuffers){let Wt=!1;if(Te)if(Te.isWebGLMultipleRenderTargets){let ti=Te.texture;if(me.length!==ti.length||me[0]!==36064){for(let Jt=0,Ci=ti.length;Jt<Ci;Jt++)me[Jt]=36064+Jt;me.length=ti.length,Wt=!0}}else(me.length!==1||me[0]!==36064)&&(me[0]=36064,me.length=1,Wt=!0);else(me.length!==1||me[0]!==1029)&&(me[0]=1029,me.length=1,Wt=!0);Wt&&(Ue.isWebGL2?X.drawBuffers(me):Me.get("WEBGL_draw_buffers").drawBuffersWEBGL(me))}if(et.viewport(y),et.scissor(A),et.setScissorTest(R),Et){let Wt=Ge.get(Te.texture);X.framebufferTexture2D(36160,36064,34069+lt,Wt.__webglTexture,ot)}else if(Ai){let Wt=Ge.get(Te.texture),ti=lt||0;X.framebufferTextureLayer(36160,36064,Wt.__webglTexture,ot||0,ti)}},this.readRenderTargetPixels=function(Te,lt,ot,ft,Et,Ai,Ii){if(!(Te&&Te.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Wt=Ge.get(Te).__webglFramebuffer;if(Te.isWebGLCubeRenderTarget&&Ii!==void 0&&(Wt=Wt[Ii]),Wt){et.bindFramebuffer(36160,Wt);try{let ti=Te.texture,Jt=ti.format,Ci=ti.type;if(Jt!==Os&&Oe.convert(Jt)!==X.getParameter(35739)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let zi=Ci===pg&&(Me.has("EXT_color_buffer_half_float")||Ue.isWebGL2&&Me.has("EXT_color_buffer_float"));if(Ci!==dh&&Oe.convert(Ci)!==X.getParameter(35738)&&!(Ci===vd&&(Ue.isWebGL2||Me.has("OES_texture_float")||Me.has("WEBGL_color_buffer_float")))&&!zi){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}X.checkFramebufferStatus(36160)===36053?lt>=0&&lt<=Te.width-ft&&ot>=0&&ot<=Te.height-Et&&X.readPixels(lt,ot,ft,Et,Oe.convert(Jt),Oe.convert(Ci),Ai):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{let ti=x!==null?Ge.get(x).__webglFramebuffer:null;et.bindFramebuffer(36160,ti)}}},this.copyFramebufferToTexture=function(Te,lt,ot=0){let ft=Math.pow(2,-ot),Et=Math.floor(lt.image.width*ft),Ai=Math.floor(lt.image.height*ft),Ii=Oe.convert(lt.format);Ue.isWebGL2&&(Ii===6407&&(Ii=32849),Ii===6408&&(Ii=32856)),Ie.setTexture2D(lt,0),X.copyTexImage2D(3553,ot,Ii,Te.x,Te.y,Et,Ai,0),et.unbindTexture()},this.copyTextureToTexture=function(Te,lt,ot,ft=0){let Et=lt.image.width,Ai=lt.image.height,Ii=Oe.convert(ot.format),Wt=Oe.convert(ot.type);Ie.setTexture2D(ot,0),X.pixelStorei(37440,ot.flipY),X.pixelStorei(37441,ot.premultiplyAlpha),X.pixelStorei(3317,ot.unpackAlignment),lt.isDataTexture?X.texSubImage2D(3553,ft,Te.x,Te.y,Et,Ai,Ii,Wt,lt.image.data):lt.isCompressedTexture?X.compressedTexSubImage2D(3553,ft,Te.x,Te.y,lt.mipmaps[0].width,lt.mipmaps[0].height,Ii,lt.mipmaps[0].data):X.texSubImage2D(3553,ft,Te.x,Te.y,Ii,Wt,lt.image),ft===0&&ot.generateMipmaps&&X.generateMipmap(3553),et.unbindTexture()},this.copyTextureToTexture3D=function(Te,lt,ot,ft,Et=0){if(f.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let{width:Ai,height:Ii,data:Wt}=ot.image,ti=Oe.convert(ft.format),Jt=Oe.convert(ft.type),Ci;if(ft.isDataTexture3D)Ie.setTexture3D(ft,0),Ci=32879;else if(ft.isDataTexture2DArray)Ie.setTexture2DArray(ft,0),Ci=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}X.pixelStorei(37440,ft.flipY),X.pixelStorei(37441,ft.premultiplyAlpha),X.pixelStorei(3317,ft.unpackAlignment);let zi=X.getParameter(3314),en=X.getParameter(32878),Un=X.getParameter(3316),Ji=X.getParameter(3315),jo=X.getParameter(32877);X.pixelStorei(3314,Ai),X.pixelStorei(32878,Ii),X.pixelStorei(3316,Te.min.x),X.pixelStorei(3315,Te.min.y),X.pixelStorei(32877,Te.min.z),X.texSubImage3D(Ci,Et,lt.x,lt.y,lt.z,Te.max.x-Te.min.x+1,Te.max.y-Te.min.y+1,Te.max.z-Te.min.z+1,ti,Jt,Wt),X.pixelStorei(3314,zi),X.pixelStorei(32878,en),X.pixelStorei(3316,Un),X.pixelStorei(3315,Ji),X.pixelStorei(32877,jo),Et===0&&ft.generateMipmaps&&X.generateMipmap(Ci),et.unbindTexture()},this.initTexture=function(Te){Ie.setTexture2D(Te,0),et.unbindTexture()},this.resetState=function(){v=0,b=0,x=null,et.reset(),Je.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}var ek=class extends ba{};ek.prototype.isWebGL1Renderer=!0;var xg=class i{constructor(e,t=25e-5){this.name="",this.color=new si(e),this.density=t}clone(){return new i(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}};xg.prototype.isFogExp2=!0;var kg=class i{constructor(e,t=1,n=1e3){this.name="",this.color=new si(e),this.near=t,this.far=n}clone(){return new i(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}};kg.prototype.isFog=!0;var Z_=class extends pn{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return this.background!==null&&(t.object.background=this.background.toJSON(e)),this.environment!==null&&(t.object.environment=this.environment.toJSON(e)),this.fog!==null&&(t.object.fog=this.fog.toJSON()),t}};Z_.prototype.isScene=!0;var wd=class{constructor(e,t){this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=H_,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ls()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let a=0,o=this.stride;a<o;a++)this.array[e+a]=t.array[n+a];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Ls()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Ls()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}};wd.prototype.isInterleavedBuffer=!0;var So=new we,Mu=class i{constructor(e,t,n,a){this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=a===!0}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++)So.x=this.getX(t),So.y=this.getY(t),So.z=this.getZ(t),So.applyMatrix4(e),this.setXYZ(t,So.x,So.y,So.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)So.x=this.getX(t),So.y=this.getY(t),So.z=this.getZ(t),So.applyNormalMatrix(e),this.setXYZ(t,So.x,So.y,So.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)So.x=this.getX(t),So.y=this.getY(t),So.z=this.getZ(t),So.transformDirection(e),this.setXYZ(t,So.x,So.y,So.z);return this}setX(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){return this.data.array[e*this.data.stride+this.offset]}getY(e){return this.data.array[e*this.data.stride+this.offset+1]}getZ(e){return this.data.array[e*this.data.stride+this.offset+2]}getW(e){return this.data.array[e*this.data.stride+this.offset+3]}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,a){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=a,this}setXYZW(e,t,n,a,o){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=a,this.data.array[e+3]=o,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.");let t=[];for(let n=0;n<this.count;n++){let a=n*this.data.stride+this.offset;for(let o=0;o<this.itemSize;o++)t.push(this.data.array[a+o])}return new un(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new i(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.");let t=[];for(let n=0;n<this.count;n++){let a=n*this.data.stride+this.offset;for(let o=0;o<this.itemSize;o++)t.push(this.data.array[a+o])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}};Mu.prototype.isInterleavedBufferAttribute=!0;var Q_=class extends Lo{constructor(e){super(),this.type="SpriteMaterial",this.color=new si(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this}};Q_.prototype.isSpriteMaterial=!0;var B_,Yf=new we,R_=new we,j_=new we,I_=new zt,Xf=new zt,pI=new Ti,hx=new we,Jf=new we,fx=new we,MR=new zt,_z=new zt,TR=new zt,eh=class extends pn{constructor(e){if(super(),this.type="Sprite",B_===void 0){B_=new Ki;let t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),n=new wd(t,5);B_.setIndex([0,1,2,0,2,3]),B_.setAttribute("position",new Mu(n,3,0,!1)),B_.setAttribute("uv",new Mu(n,2,3,!1))}this.geometry=B_,this.material=e!==void 0?e:new Q_,this.center=new zt(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),R_.setFromMatrixScale(this.matrixWorld),pI.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),j_.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&R_.multiplyScalar(-j_.z);let n=this.material.rotation,a,o;n!==0&&(o=Math.cos(n),a=Math.sin(n));let r=this.center;gx(hx.set(-.5,-.5,0),j_,r,R_,a,o),gx(Jf.set(.5,-.5,0),j_,r,R_,a,o),gx(fx.set(.5,.5,0),j_,r,R_,a,o),MR.set(0,0),_z.set(1,0),TR.set(1,1);let s=e.ray.intersectTriangle(hx,Jf,fx,!1,Yf);if(s===null&&(gx(Jf.set(-.5,.5,0),j_,r,R_,a,o),_z.set(0,1),s=e.ray.intersectTriangle(hx,fx,Jf,!1,Yf),s===null))return;let l=e.ray.origin.distanceTo(Yf);l<e.near||l>e.far||t.push({distance:l,point:Yf.clone(),uv:Er.getUV(Yf,hx,Jf,fx,MR,_z,TR,new zt),face:null,object:this})}copy(e){return super.copy(e),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}};eh.prototype.isSprite=!0;function gx(i,e,t,n,a,o){I_.subVectors(i,t).addScalar(.5).multiply(n),a!==void 0?(Xf.x=o*I_.x-a*I_.y,Xf.y=a*I_.x+o*I_.y):Xf.copy(I_),i.copy(e),i.x+=Xf.x,i.y+=Xf.y,i.applyMatrix4(pI)}var vx=new we,AR=new we,tk=class extends pn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let n=0,a=t.length;n<a;n++){let o=t[n];this.addLevel(o.object.clone(),o.distance)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0){t=Math.abs(t);let n=this.levels,a;for(a=0;a<n.length&&!(t<n[a].distance);a++);return n.splice(a,0,{distance:t,object:e}),this.add(e),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){let t=this.levels;if(t.length>0){let n,a;for(n=1,a=t.length;n<a&&!(e<t[n].distance);n++);return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){vx.setFromMatrixPosition(this.matrixWorld);let a=e.ray.origin.distanceTo(vx);this.getObjectForDistance(a).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){vx.setFromMatrixPosition(e.matrixWorld),AR.setFromMatrixPosition(this.matrixWorld);let n=vx.distanceTo(AR)/e.zoom;t[0].object.visible=!0;let a,o;for(a=1,o=t.length;a<o&&n>=t[a].distance;a++)t[a-1].object.visible=!1,t[a].object.visible=!0;for(this._currentLevel=a-1;a<o;a++)t[a].object.visible=!1}}toJSON(e){let t=super.toJSON(e);this.autoUpdate===!1&&(t.object.autoUpdate=!1),t.object.levels=[];let n=this.levels;for(let a=0,o=n.length;a<o;a++){let r=n[a];t.object.levels.push({object:r.object.uuid,distance:r.distance})}return t}},CR=new we,PR=new Kn,BR=new Kn,wW=new we,RR=new Ti,th=class extends Ga{constructor(e,t){super(e,t),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Ti,this.bindMatrixInverse=new Ti}copy(e){return super.copy(e),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,this}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){let e=new Kn,t=this.geometry.attributes.skinWeight;for(let n=0,a=t.count;n<a;n++){e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.w=t.getW(n);let o=1/e.manhattanLength();o!==1/0?e.multiplyScalar(o):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode==="attached"?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode==="detached"?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}boneTransform(e,t){let n=this.skeleton,a=this.geometry;PR.fromBufferAttribute(a.attributes.skinIndex,e),BR.fromBufferAttribute(a.attributes.skinWeight,e),CR.fromBufferAttribute(a.attributes.position,e).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let o=0;o<4;o++){let r=BR.getComponent(o);if(r!==0){let s=PR.getComponent(o);RR.multiplyMatrices(n.bones[s].matrixWorld,n.boneInverses[s]),t.addScaledVector(wW.copy(CR).applyMatrix4(RR),r)}}return t.applyMatrix4(this.bindMatrixInverse)}};th.prototype.isSkinnedMesh=!0;var ih=class extends pn{constructor(){super(),this.type="Bone"}};ih.prototype.isBone=!0;var Tu=class extends Oo{constructor(e,t,n,a,o,r,s,l,c,d,u,p){super(null,r,s,l,c,d,a,o,u,p),this.image={data:e||null,width:t||1,height:n||1},this.magFilter=c!==void 0?c:no,this.minFilter=d!==void 0?d:no,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}};Tu.prototype.isDataTexture=!0;var jR=new Ti,SW=new Ti,ik=class i{constructor(e=[],t=[]){this.uuid=Ls(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){let e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let n=0,a=this.bones.length;n<a;n++)this.boneInverses.push(new Ti)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){let n=new Ti;this.bones[e]&&n.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(n)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){let n=this.bones[e];n&&n.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){let n=this.bones[e];n&&(n.parent&&n.parent.isBone?(n.matrix.copy(n.parent.matrixWorld).invert(),n.matrix.multiply(n.matrixWorld)):n.matrix.copy(n.matrixWorld),n.matrix.decompose(n.position,n.quaternion,n.scale))}}update(){let e=this.bones,t=this.boneInverses,n=this.boneMatrices,a=this.boneTexture;for(let o=0,r=e.length;o<r;o++){let s=e[o]?e[o].matrixWorld:SW;jR.multiplyMatrices(s,t[o]),jR.toArray(n,o*16)}a!==null&&(a.needsUpdate=!0)}clone(){return new i(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=J3(e),e=Math.max(e,4);let t=new Float32Array(e*e*4);t.set(this.boneMatrices);let n=new Tu(t,e,e,Os,vd);return this.boneMatrices=t,this.boneTexture=n,this.boneTextureSize=e,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){let a=this.bones[t];if(a.name===e)return a}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,a=e.bones.length;n<a;n++){let o=e.bones[n],r=t[o];r===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",o),r=new ih),this.bones.push(r),this.boneInverses.push(new Ti().fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){let e={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;let t=this.bones,n=this.boneInverses;for(let a=0,o=t.length;a<o;a++){let r=t[a];e.bones.push(r.uuid);let s=n[a];e.boneInverses.push(s.toArray())}return e}},IR=new Ti,DR=new Ti,bx=[],Zf=new Ga,wg=class extends Ga{constructor(e,t,n){super(e,t),this.instanceMatrix=new un(new Float32Array(n*16),16),this.instanceColor=null,this.count=n,this.frustumCulled=!1}copy(e){return super.copy(e),this.instanceMatrix.copy(e.instanceMatrix),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}raycast(e,t){let n=this.matrixWorld,a=this.count;if(Zf.geometry=this.geometry,Zf.material=this.material,Zf.material!==void 0)for(let o=0;o<a;o++){this.getMatrixAt(o,IR),DR.multiplyMatrices(n,IR),Zf.matrixWorld=DR,Zf.raycast(e,bx);for(let r=0,s=bx.length;r<s;r++){let l=bx[r];l.instanceId=o,l.object=this,t.push(l)}bx.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new un(new Float32Array(this.count*3),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}};wg.prototype.isInstancedMesh=!0;var No=class extends Lo{constructor(e){super(),this.type="LineBasicMaterial",this.color=new si(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.morphTargets=e.morphTargets,this}};No.prototype.isLineBasicMaterial=!0;var VR=new we,FR=new we,UR=new Ti,hz=new Tc,yx=new fl,Gl=class extends pn{constructor(e=new Ki,t=new No){super(),this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),this.material=e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(e.isBufferGeometry)if(e.index===null){let t=e.attributes.position,n=[0];for(let a=1,o=t.count;a<o;a++)VR.fromBufferAttribute(t,a-1),FR.fromBufferAttribute(t,a),n[a]=n[a-1],n[a]+=VR.distanceTo(FR);e.setAttribute("lineDistance",new _i(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}raycast(e,t){let n=this.geometry,a=this.matrixWorld,o=e.params.Line.threshold,r=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),yx.copy(n.boundingSphere),yx.applyMatrix4(a),yx.radius+=o,e.ray.intersectsSphere(yx)===!1)return;UR.copy(a).invert(),hz.copy(e.ray).applyMatrix4(UR);let s=o/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s,c=new we,d=new we,u=new we,p=new we,m=this.isLineSegments?2:1;if(n.isBufferGeometry){let _=n.index,g=n.attributes.position;if(_!==null){let v=Math.max(0,r.start),b=Math.min(_.count,r.start+r.count);for(let x=v,w=b-1;x<w;x+=m){let E=_.getX(x),y=_.getX(x+1);if(c.fromBufferAttribute(g,E),d.fromBufferAttribute(g,y),hz.distanceSqToSegment(c,d,p,u)>l)continue;p.applyMatrix4(this.matrixWorld);let R=e.ray.origin.distanceTo(p);R<e.near||R>e.far||t.push({distance:R,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}else{let v=Math.max(0,r.start),b=Math.min(g.count,r.start+r.count);for(let x=v,w=b-1;x<w;x+=m){if(c.fromBufferAttribute(g,x),d.fromBufferAttribute(g,x+1),hz.distanceSqToSegment(c,d,p,u)>l)continue;p.applyMatrix4(this.matrixWorld);let y=e.ray.origin.distanceTo(p);y<e.near||y>e.far||t.push({distance:y,point:u.clone().applyMatrix4(this.matrixWorld),index:x,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,n=Object.keys(t);if(n.length>0){let a=t[n[0]];if(a!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=a.length;o<r;o++){let s=a[o].name||String(o);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=o}}}}else{let t=e.morphTargets;t!==void 0&&t.length>0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};Gl.prototype.isLine=!0;var OR=new we,LR=new we,Nr=class extends Gl{constructor(e,t){super(e,t),this.type="LineSegments"}computeLineDistances(){let e=this.geometry;if(e.isBufferGeometry)if(e.index===null){let t=e.attributes.position,n=[];for(let a=0,o=t.count;a<o;a+=2)OR.fromBufferAttribute(t,a),LR.fromBufferAttribute(t,a+1),n[a]=a===0?0:n[a-1],n[a+1]=n[a]+OR.distanceTo(LR);e.setAttribute("lineDistance",new _i(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}};Nr.prototype.isLineSegments=!0;var Sg=class extends Gl{constructor(e,t){super(e,t),this.type="LineLoop"}};Sg.prototype.isLineLoop=!0;var Sd=class extends Lo{constructor(e){super(),this.type="PointsMaterial",this.color=new si(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.morphTargets=e.morphTargets,this}};Sd.prototype.isPointsMaterial=!0;var NR=new Ti,Gz=new Tc,xx=new fl,kx=new we,qp=class extends pn{constructor(e=new Ki,t=new Sd){super(),this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),this.material=e.material,this.geometry=e.geometry,this}raycast(e,t){let n=this.geometry,a=this.matrixWorld,o=e.params.Points.threshold,r=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),xx.copy(n.boundingSphere),xx.applyMatrix4(a),xx.radius+=o,e.ray.intersectsSphere(xx)===!1)return;NR.copy(a).invert(),Gz.copy(e.ray).applyMatrix4(NR);let s=o/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s;if(n.isBufferGeometry){let c=n.index,u=n.attributes.position;if(c!==null){let p=Math.max(0,r.start),m=Math.min(c.count,r.start+r.count);for(let _=p,f=m;_<f;_++){let g=c.getX(_);kx.fromBufferAttribute(u,g),HR(kx,g,l,a,e,t,this)}}else{let p=Math.max(0,r.start),m=Math.min(u.count,r.start+r.count);for(let _=p,f=m;_<f;_++)kx.fromBufferAttribute(u,_),HR(kx,_,l,a,e,t,this)}}else console.error("THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){let e=this.geometry;if(e.isBufferGeometry){let t=e.morphAttributes,n=Object.keys(t);if(n.length>0){let a=t[n[0]];if(a!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,r=a.length;o<r;o++){let s=a[o].name||String(o);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=o}}}}else{let t=e.morphTargets;t!==void 0&&t.length>0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}};qp.prototype.isPoints=!0;function HR(i,e,t,n,a,o,r){let s=Gz.distanceSqToPoint(i);if(s<t){let l=new we;Gz.closestPointToPoint(i,l),l.applyMatrix4(n);let c=a.ray.origin.distanceTo(l);if(c<a.near||c>a.far)return;o.push({distance:c,distanceToRay:Math.sqrt(s),point:l,index:e,face:null,object:r})}}var nk=class extends Oo{constructor(e,t,n,a,o,r,s,l,c){super(e,t,n,a,o,r,s,l,c),this.format=s!==void 0?s:yu,this.minFilter=r!==void 0?r:rr,this.magFilter=o!==void 0?o:rr,this.generateMipmaps=!1;let d=this;function u(){d.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}};nk.prototype.isVideoTexture=!0;var zg=class extends Oo{constructor(e,t,n,a,o,r,s,l,c,d,u,p){super(null,r,s,l,c,d,a,o,u,p),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}};zg.prototype.isCompressedTexture=!0;var ak=class extends Oo{constructor(e,t,n,a,o,r,s,l,c){super(e,t,n,a,o,r,s,l,c),this.needsUpdate=!0}};ak.prototype.isCanvasTexture=!0;var ok=class extends Oo{constructor(e,t,n,a,o,r,s,l,c,d){if(d=d!==void 0?d:Lp,d!==Lp&&d!==N_)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&d===Lp&&(n=ug),n===void 0&&d===N_&&(n=O_),super(null,a,o,r,s,l,d,n,c),this.image={width:e,height:t},this.magFilter=s!==void 0?s:no,this.minFilter=l!==void 0?l:no,this.flipY=!1,this.generateMipmaps=!1}};ok.prototype.isDepthTexture=!0;var Eg=class extends Ki{constructor(e=1,t=8,n=0,a=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:a},t=Math.max(3,t);let o=[],r=[],s=[],l=[],c=new we,d=new zt;r.push(0,0,0),s.push(0,0,1),l.push(.5,.5);for(let u=0,p=3;u<=t;u++,p+=3){let m=n+u/t*a;c.x=e*Math.cos(m),c.y=e*Math.sin(m),r.push(c.x,c.y,c.z),s.push(0,0,1),d.x=(r[p]/e+1)/2,d.y=(r[p+1]/e+1)/2,l.push(d.x,d.y)}for(let u=1;u<=t;u++)o.push(u,u+1,0);this.setIndex(o),this.setAttribute("position",new _i(r,3)),this.setAttribute("normal",new _i(s,3)),this.setAttribute("uv",new _i(l,2))}},Wp=class extends Ki{constructor(e=1,t=1,n=1,a=8,o=1,r=!1,s=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:a,heightSegments:o,openEnded:r,thetaStart:s,thetaLength:l};let c=this;a=Math.floor(a),o=Math.floor(o);let d=[],u=[],p=[],m=[],_=0,f=[],g=n/2,v=0;b(),r===!1&&(e>0&&x(!0),t>0&&x(!1)),this.setIndex(d),this.setAttribute("position",new _i(u,3)),this.setAttribute("normal",new _i(p,3)),this.setAttribute("uv",new _i(m,2));function b(){let w=new we,E=new we,y=0,A=(t-e)/n;for(let R=0;R<=o;R++){let j=[],F=R/o,O=F*(t-e)+e;for(let L=0;L<=a;L++){let U=L/a,J=U*l+s,ie=Math.sin(J),te=Math.cos(J);E.x=O*ie,E.y=-F*n+g,E.z=O*te,u.push(E.x,E.y,E.z),w.set(ie,A,te).normalize(),p.push(w.x,w.y,w.z),m.push(U,1-F),j.push(_++)}f.push(j)}for(let R=0;R<a;R++)for(let j=0;j<o;j++){let F=f[j][R],O=f[j+1][R],L=f[j+1][R+1],U=f[j][R+1];d.push(F,O,U),d.push(O,L,U),y+=6}c.addGroup(v,y,0),v+=y}function x(w){let E=_,y=new zt,A=new we,R=0,j=w===!0?e:t,F=w===!0?1:-1;for(let L=1;L<=a;L++)u.push(0,g*F,0),p.push(0,F,0),m.push(.5,.5),_++;let O=_;for(let L=0;L<=a;L++){let J=L/a*l+s,ie=Math.cos(J),te=Math.sin(J);A.x=j*te,A.y=g*F,A.z=j*ie,u.push(A.x,A.y,A.z),p.push(0,F,0),y.x=ie*.5+.5,y.y=te*.5*F+.5,m.push(y.x,y.y),_++}for(let L=0;L<a;L++){let U=E+L,J=O+L;w===!0?d.push(J,J+1,U):d.push(J+1,J,U),R+=3}c.addGroup(v,R,w===!0?1:2),v+=R}}},Mg=class extends Wp{constructor(e=1,t=1,n=8,a=1,o=!1,r=0,s=Math.PI*2){super(0,e,t,n,a,o,r,s),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:a,openEnded:o,thetaStart:r,thetaLength:s}}},zd=class extends Ki{constructor(e,t,n=1,a=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:a};let o=[],r=[];s(a),c(n),d(),this.setAttribute("position",new _i(o,3)),this.setAttribute("normal",new _i(o.slice(),3)),this.setAttribute("uv",new _i(r,2)),a===0?this.computeVertexNormals():this.normalizeNormals();function s(b){let x=new we,w=new we,E=new we;for(let y=0;y<t.length;y+=3)m(t[y+0],x),m(t[y+1],w),m(t[y+2],E),l(x,w,E,b)}function l(b,x,w,E){let y=E+1,A=[];for(let R=0;R<=y;R++){A[R]=[];let j=b.clone().lerp(w,R/y),F=x.clone().lerp(w,R/y),O=y-R;for(let L=0;L<=O;L++)L===0&&R===y?A[R][L]=j:A[R][L]=j.clone().lerp(F,L/O)}for(let R=0;R<y;R++)for(let j=0;j<2*(y-R)-1;j++){let F=Math.floor(j/2);j%2===0?(p(A[R][F+1]),p(A[R+1][F]),p(A[R][F])):(p(A[R][F+1]),p(A[R+1][F+1]),p(A[R+1][F]))}}function c(b){let x=new we;for(let w=0;w<o.length;w+=3)x.x=o[w+0],x.y=o[w+1],x.z=o[w+2],x.normalize().multiplyScalar(b),o[w+0]=x.x,o[w+1]=x.y,o[w+2]=x.z}function d(){let b=new we;for(let x=0;x<o.length;x+=3){b.x=o[x+0],b.y=o[x+1],b.z=o[x+2];let w=g(b)/2/Math.PI+.5,E=v(b)/Math.PI+.5;r.push(w,1-E)}_(),u()}function u(){for(let b=0;b<r.length;b+=6){let x=r[b+0],w=r[b+2],E=r[b+4],y=Math.max(x,w,E),A=Math.min(x,w,E);y>.9&&A<.1&&(x<.2&&(r[b+0]+=1),w<.2&&(r[b+2]+=1),E<.2&&(r[b+4]+=1))}}function p(b){o.push(b.x,b.y,b.z)}function m(b,x){let w=b*3;x.x=e[w+0],x.y=e[w+1],x.z=e[w+2]}function _(){let b=new we,x=new we,w=new we,E=new we,y=new zt,A=new zt,R=new zt;for(let j=0,F=0;j<o.length;j+=9,F+=6){b.set(o[j+0],o[j+1],o[j+2]),x.set(o[j+3],o[j+4],o[j+5]),w.set(o[j+6],o[j+7],o[j+8]),y.set(r[F+0],r[F+1]),A.set(r[F+2],r[F+3]),R.set(r[F+4],r[F+5]),E.copy(b).add(x).add(w).divideScalar(3);let O=g(E);f(y,F+0,b,O),f(A,F+2,x,O),f(R,F+4,w,O)}}function f(b,x,w,E){E<0&&b.x===1&&(r[x]=b.x-1),w.x===0&&w.z===0&&(r[x]=E/2/Math.PI+.5)}function g(b){return Math.atan2(b.z,-b.x)}function v(b){return Math.atan2(-b.y,Math.sqrt(b.x*b.x+b.z*b.z))}}},Tg=class extends zd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,a=1/n,o=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-a,-n,0,-a,n,0,a,-n,0,a,n,-a,-n,0,-a,n,0,a,-n,0,a,n,0,-n,0,-a,n,0,-a,-n,0,a,n,0,a],r=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(o,r,e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}},wx=new we,Sx=new we,fz=new we,zx=new Er,Ag=class extends Ki{constructor(e,t){if(super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:t},t=t!==void 0?t:1,e.isGeometry===!0){console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return}let a=Math.pow(10,4),o=Math.cos(Np*t),r=e.getIndex(),s=e.getAttribute("position"),l=r?r.count:s.count,c=[0,0,0],d=["a","b","c"],u=new Array(3),p={},m=[];for(let _=0;_<l;_+=3){r?(c[0]=r.getX(_),c[1]=r.getX(_+1),c[2]=r.getX(_+2)):(c[0]=_,c[1]=_+1,c[2]=_+2);let{a:f,b:g,c:v}=zx;if(f.fromBufferAttribute(s,c[0]),g.fromBufferAttribute(s,c[1]),v.fromBufferAttribute(s,c[2]),zx.getNormal(fz),u[0]=`${Math.round(f.x*a)},${Math.round(f.y*a)},${Math.round(f.z*a)}`,u[1]=`${Math.round(g.x*a)},${Math.round(g.y*a)},${Math.round(g.z*a)}`,u[2]=`${Math.round(v.x*a)},${Math.round(v.y*a)},${Math.round(v.z*a)}`,!(u[0]===u[1]||u[1]===u[2]||u[2]===u[0]))for(let b=0;b<3;b++){let x=(b+1)%3,w=u[b],E=u[x],y=zx[d[b]],A=zx[d[x]],R=`${w}_${E}`,j=`${E}_${w}`;j in p&&p[j]?(fz.dot(p[j].normal)<=o&&(m.push(y.x,y.y,y.z),m.push(A.x,A.y,A.z)),p[j]=null):R in p||(p[R]={index0:c[b],index1:c[x],normal:fz.clone()})}}for(let _ in p)if(p[_]){let{index0:f,index1:g}=p[_];wx.fromBufferAttribute(s,f),Sx.fromBufferAttribute(s,g),m.push(wx.x,wx.y,wx.z),m.push(Sx.x,Sx.y,Sx.z)}this.setAttribute("position",new _i(m,3))}},zW={triangulate:function(i,e,t){t=t||2;let n=e&&e.length,a=n?e[0]*t:i.length,o=mI(i,0,a,t,!0),r=[];if(!o||o.next===o.prev)return r;let s,l,c,d,u,p,m;if(n&&(o=CW(i,e,o,t)),i.length>80*t){s=c=i[0],l=d=i[1];for(let _=t;_<a;_+=t)u=i[_],p=i[_+1],u<s&&(s=u),p<l&&(l=p),u>c&&(c=u),p>d&&(d=p);m=Math.max(c-s,d-l),m=m!==0?1/m:0}return Cg(o,r,t,s,l,m),r}};function mI(i,e,t,n,a){let o,r;if(a===LW(i,e,t,n)>0)for(o=e;o<t;o+=n)r=GR(o,i[o],i[o+1],r);else for(o=t-n;o>=e;o-=n)r=GR(o,i[o],i[o+1],r);return r&&Lk(r,r.next)&&(Bg(r),r=r.next),r}function Au(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(Lk(t,t.next)||ao(t.prev,t,t.next)===0)){if(Bg(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function Cg(i,e,t,n,a,o,r){if(!i)return;!r&&o&&IW(i,n,a,o);let s=i,l,c;for(;i.prev!==i.next;){if(l=i.prev,c=i.next,o?MW(i,n,a,o):EW(i)){e.push(l.i/t),e.push(i.i/t),e.push(c.i/t),Bg(i),i=c.next,s=c.next;continue}if(i=c,i===s){r?r===1?(i=TW(Au(i),e,t),Cg(i,e,t,n,a,o,2)):r===2&&AW(i,e,t,n,a,o):Cg(Au(i),e,t,n,a,o,1);break}}}function EW(i){let e=i.prev,t=i,n=i.next;if(ao(e,t,n)>=0)return!1;let a=i.next.next;for(;a!==i.prev;){if(U_(e.x,e.y,t.x,t.y,n.x,n.y,a.x,a.y)&&ao(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function MW(i,e,t,n){let a=i.prev,o=i,r=i.next;if(ao(a,o,r)>=0)return!1;let s=a.x<o.x?a.x<r.x?a.x:r.x:o.x<r.x?o.x:r.x,l=a.y<o.y?a.y<r.y?a.y:r.y:o.y<r.y?o.y:r.y,c=a.x>o.x?a.x>r.x?a.x:r.x:o.x>r.x?o.x:r.x,d=a.y>o.y?a.y>r.y?a.y:r.y:o.y>r.y?o.y:r.y,u=qz(s,l,e,t,n),p=qz(c,d,e,t,n),m=i.prevZ,_=i.nextZ;for(;m&&m.z>=u&&_&&_.z<=p;){if(m!==i.prev&&m!==i.next&&U_(a.x,a.y,o.x,o.y,r.x,r.y,m.x,m.y)&&ao(m.prev,m,m.next)>=0||(m=m.prevZ,_!==i.prev&&_!==i.next&&U_(a.x,a.y,o.x,o.y,r.x,r.y,_.x,_.y)&&ao(_.prev,_,_.next)>=0))return!1;_=_.nextZ}for(;m&&m.z>=u;){if(m!==i.prev&&m!==i.next&&U_(a.x,a.y,o.x,o.y,r.x,r.y,m.x,m.y)&&ao(m.prev,m,m.next)>=0)return!1;m=m.prevZ}for(;_&&_.z<=p;){if(_!==i.prev&&_!==i.next&&U_(a.x,a.y,o.x,o.y,r.x,r.y,_.x,_.y)&&ao(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function TW(i,e,t){let n=i;do{let a=n.prev,o=n.next.next;!Lk(a,o)&&_I(a,n,n.next,o)&&Pg(a,o)&&Pg(o,a)&&(e.push(a.i/t),e.push(n.i/t),e.push(o.i/t),Bg(n),Bg(n.next),n=i=o),n=n.next}while(n!==i);return Au(n)}function AW(i,e,t,n,a,o){let r=i;do{let s=r.next.next;for(;s!==r.prev;){if(r.i!==s.i&&FW(r,s)){let l=hI(r,s);r=Au(r,r.next),l=Au(l,l.next),Cg(r,e,t,n,a,o),Cg(l,e,t,n,a,o);return}s=s.next}r=r.next}while(r!==i)}function CW(i,e,t,n){let a=[],o,r,s,l,c;for(o=0,r=e.length;o<r;o++)s=e[o]*n,l=o<r-1?e[o+1]*n:i.length,c=mI(i,s,l,n,!1),c===c.next&&(c.steiner=!0),a.push(VW(c));for(a.sort(PW),o=0;o<a.length;o++)BW(a[o],t),t=Au(t,t.next);return t}function PW(i,e){return i.x-e.x}function BW(i,e){if(e=RW(i,e),e){let t=hI(e,i);Au(e,e.next),Au(t,t.next)}}function RW(i,e){let t=e,n=i.x,a=i.y,o=-1/0,r;do{if(a<=t.y&&a>=t.next.y&&t.next.y!==t.y){let p=t.x+(a-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(p<=n&&p>o){if(o=p,p===n){if(a===t.y)return t;if(a===t.next.y)return t.next}r=t.x<t.next.x?t:t.next}}t=t.next}while(t!==e);if(!r)return null;if(n===o)return r;let s=r,l=r.x,c=r.y,d=1/0,u;t=r;do n>=t.x&&t.x>=l&&n!==t.x&&U_(a<c?n:o,a,l,c,a<c?o:n,a,t.x,t.y)&&(u=Math.abs(a-t.y)/(n-t.x),Pg(t,i)&&(u<d||u===d&&(t.x>r.x||t.x===r.x&&jW(r,t)))&&(r=t,d=u)),t=t.next;while(t!==s);return r}function jW(i,e){return ao(i.prev,i,e.prev)<0&&ao(e.next,i,i.next)<0}function IW(i,e,t,n){let a=i;do a.z===null&&(a.z=qz(a.x,a.y,e,t,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next;while(a!==i);a.prevZ.nextZ=null,a.prevZ=null,DW(a)}function DW(i){let e,t,n,a,o,r,s,l,c=1;do{for(t=i,i=null,o=null,r=0;t;){for(r++,n=t,s=0,e=0;e<c&&(s++,n=n.nextZ,!!n);e++);for(l=c;s>0||l>0&&n;)s!==0&&(l===0||!n||t.z<=n.z)?(a=t,t=t.nextZ,s--):(a=n,n=n.nextZ,l--),o?o.nextZ=a:i=a,a.prevZ=o,o=a;t=n}o.nextZ=null,c*=2}while(r>1);return i}function qz(i,e,t,n,a){return i=32767*(i-t)*a,e=32767*(e-n)*a,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function VW(i){let e=i,t=i;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==i);return t}function U_(i,e,t,n,a,o,r,s){return(a-r)*(e-s)-(i-r)*(o-s)>=0&&(i-r)*(n-s)-(t-r)*(e-s)>=0&&(t-r)*(o-s)-(a-r)*(n-s)>=0}function FW(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!UW(i,e)&&(Pg(i,e)&&Pg(e,i)&&OW(i,e)&&(ao(i.prev,i,e.prev)||ao(i,e.prev,e))||Lk(i,e)&&ao(i.prev,i,i.next)>0&&ao(e.prev,e,e.next)>0)}function ao(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Lk(i,e){return i.x===e.x&&i.y===e.y}function _I(i,e,t,n){let a=Mx(ao(i,e,t)),o=Mx(ao(i,e,n)),r=Mx(ao(t,n,i)),s=Mx(ao(t,n,e));return!!(a!==o&&r!==s||a===0&&Ex(i,t,e)||o===0&&Ex(i,n,e)||r===0&&Ex(t,i,n)||s===0&&Ex(t,e,n))}function Ex(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function Mx(i){return i>0?1:i<0?-1:0}function UW(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&_I(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function Pg(i,e){return ao(i.prev,i,i.next)<0?ao(i,e,i.next)>=0&&ao(i,i.prev,e)>=0:ao(i,e,i.prev)<0||ao(i,i.next,e)<0}function OW(i,e){let t=i,n=!1,a=(i.x+e.x)/2,o=(i.y+e.y)/2;do t.y>o!=t.next.y>o&&t.next.y!==t.y&&a<(t.next.x-t.x)*(o-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function hI(i,e){let t=new Wz(i.i,i.x,i.y),n=new Wz(e.i,e.x,e.y),a=i.next,o=e.prev;return i.next=e,e.prev=i,t.next=a,a.prev=t,n.next=t,t.prev=n,o.next=n,n.prev=o,n}function GR(i,e,t,n){let a=new Wz(i,e,t);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function Bg(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function Wz(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function LW(i,e,t,n){let a=0;for(let o=e,r=t-n;o<t;o+=n)a+=(i[r]-i[o])*(i[o+1]+i[r+1]),r=o;return a}var zc=class i{static area(e){let t=e.length,n=0;for(let a=t-1,o=0;o<t;a=o++)n+=e[a].x*e[o].y-e[o].x*e[a].y;return n*.5}static isClockWise(e){return i.area(e)<0}static triangulateShape(e,t){let n=[],a=[],o=[];qR(e),WR(n,e);let r=e.length;t.forEach(qR);for(let l=0;l<t.length;l++)a.push(r),r+=t[l].length,WR(n,t[l]);let s=zW.triangulate(n,a);for(let l=0;l<s.length;l+=3)o.push(s.slice(l,l+3));return o}};function qR(i){let e=i.length;e>2&&i[e-1].equals(i[0])&&i.pop()}function WR(i,e){for(let t=0;t<e.length;t++)i.push(e[t].x),i.push(e[t].y)}var Ac=class extends Ki{constructor(e,t){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];let n=this,a=[],o=[];for(let s=0,l=e.length;s<l;s++){let c=e[s];r(c)}this.setAttribute("position",new _i(a,3)),this.setAttribute("uv",new _i(o,2)),this.computeVertexNormals();function r(s){let l=[],c=t.curveSegments!==void 0?t.curveSegments:12,d=t.steps!==void 0?t.steps:1,u=t.depth!==void 0?t.depth:100,p=t.bevelEnabled!==void 0?t.bevelEnabled:!0,m=t.bevelThickness!==void 0?t.bevelThickness:6,_=t.bevelSize!==void 0?t.bevelSize:m-2,f=t.bevelOffset!==void 0?t.bevelOffset:0,g=t.bevelSegments!==void 0?t.bevelSegments:3,v=t.extrudePath,b=t.UVGenerator!==void 0?t.UVGenerator:NW;t.amount!==void 0&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),u=t.amount);let x,w=!1,E,y,A,R;v&&(x=v.getSpacedPoints(d),w=!0,p=!1,E=v.computeFrenetFrames(d,!1),y=new we,A=new we,R=new we),p||(g=0,m=0,_=0,f=0);let j=s.extractPoints(c),F=j.shape,O=j.holes;if(!zc.isClockWise(F)){F=F.reverse();for(let Ge=0,Ie=O.length;Ge<Ie;Ge++){let Ke=O[Ge];zc.isClockWise(Ke)&&(O[Ge]=Ke.reverse())}}let U=zc.triangulateShape(F,O),J=F;for(let Ge=0,Ie=O.length;Ge<Ie;Ge++){let Ke=O[Ge];F=F.concat(Ke)}function ie(Ge,Ie,Ke){return Ie||console.error("THREE.ExtrudeGeometry: vec does not exist"),Ie.clone().multiplyScalar(Ke).add(Ge)}let te=F.length,me=U.length;function Q(Ge,Ie,Ke){let z,C,S,P=Ge.x-Ie.x,V=Ge.y-Ie.y,ee=Ke.x-Ge.x,ce=Ke.y-Ge.y,be=P*P+V*V,ge=P*ce-V*ee;if(Math.abs(ge)>Number.EPSILON){let Se=Math.sqrt(be),He=Math.sqrt(ee*ee+ce*ce),Ae=Ie.x-V/Se,de=Ie.y+P/Se,Oe=Ke.x-ce/He,Je=Ke.y+ee/He,dt=((Oe-Ae)*ce-(Je-de)*ee)/(P*ce-V*ee);z=Ae+P*dt-Ge.x,C=de+V*dt-Ge.y;let ue=z*z+C*C;if(ue<=2)return new zt(z,C);S=Math.sqrt(ue/2)}else{let Se=!1;P>Number.EPSILON?ee>Number.EPSILON&&(Se=!0):P<-Number.EPSILON?ee<-Number.EPSILON&&(Se=!0):Math.sign(V)===Math.sign(ce)&&(Se=!0),Se?(z=-V,C=P,S=Math.sqrt(be)):(z=P,C=V,S=Math.sqrt(be/2))}return new zt(z/S,C/S)}let H=[];for(let Ge=0,Ie=J.length,Ke=Ie-1,z=Ge+1;Ge<Ie;Ge++,Ke++,z++)Ke===Ie&&(Ke=0),z===Ie&&(z=0),H[Ge]=Q(J[Ge],J[Ke],J[z]);let re=[],K,pe=H.concat();for(let Ge=0,Ie=O.length;Ge<Ie;Ge++){let Ke=O[Ge];K=[];for(let z=0,C=Ke.length,S=C-1,P=z+1;z<C;z++,S++,P++)S===C&&(S=0),P===C&&(P=0),K[z]=Q(Ke[z],Ke[S],Ke[P]);re.push(K),pe=pe.concat(K)}for(let Ge=0;Ge<g;Ge++){let Ie=Ge/g,Ke=m*Math.cos(Ie*Math.PI/2),z=_*Math.sin(Ie*Math.PI/2)+f;for(let C=0,S=J.length;C<S;C++){let P=ie(J[C],H[C],z);ne(P.x,P.y,-Ke)}for(let C=0,S=O.length;C<S;C++){let P=O[C];K=re[C];for(let V=0,ee=P.length;V<ee;V++){let ce=ie(P[V],K[V],z);ne(ce.x,ce.y,-Ke)}}}let xe=_+f;for(let Ge=0;Ge<te;Ge++){let Ie=p?ie(F[Ge],pe[Ge],xe):F[Ge];w?(A.copy(E.normals[0]).multiplyScalar(Ie.x),y.copy(E.binormals[0]).multiplyScalar(Ie.y),R.copy(x[0]).add(A).add(y),ne(R.x,R.y,R.z)):ne(Ie.x,Ie.y,0)}for(let Ge=1;Ge<=d;Ge++)for(let Ie=0;Ie<te;Ie++){let Ke=p?ie(F[Ie],pe[Ie],xe):F[Ie];w?(A.copy(E.normals[Ge]).multiplyScalar(Ke.x),y.copy(E.binormals[Ge]).multiplyScalar(Ke.y),R.copy(x[Ge]).add(A).add(y),ne(R.x,R.y,R.z)):ne(Ke.x,Ke.y,u/d*Ge)}for(let Ge=g-1;Ge>=0;Ge--){let Ie=Ge/g,Ke=m*Math.cos(Ie*Math.PI/2),z=_*Math.sin(Ie*Math.PI/2)+f;for(let C=0,S=J.length;C<S;C++){let P=ie(J[C],H[C],z);ne(P.x,P.y,u+Ke)}for(let C=0,S=O.length;C<S;C++){let P=O[C];K=re[C];for(let V=0,ee=P.length;V<ee;V++){let ce=ie(P[V],K[V],z);w?ne(ce.x,ce.y+x[d-1].y,x[d-1].x+Ke):ne(ce.x,ce.y,u+Ke)}}}le(),Be();function le(){let Ge=a.length/3;if(p){let Ie=0,Ke=te*Ie;for(let z=0;z<me;z++){let C=U[z];Me(C[2]+Ke,C[1]+Ke,C[0]+Ke)}Ie=d+g*2,Ke=te*Ie;for(let z=0;z<me;z++){let C=U[z];Me(C[0]+Ke,C[1]+Ke,C[2]+Ke)}}else{for(let Ie=0;Ie<me;Ie++){let Ke=U[Ie];Me(Ke[2],Ke[1],Ke[0])}for(let Ie=0;Ie<me;Ie++){let Ke=U[Ie];Me(Ke[0]+te*d,Ke[1]+te*d,Ke[2]+te*d)}}n.addGroup(Ge,a.length/3-Ge,0)}function Be(){let Ge=a.length/3,Ie=0;X(J,Ie),Ie+=J.length;for(let Ke=0,z=O.length;Ke<z;Ke++){let C=O[Ke];X(C,Ie),Ie+=C.length}n.addGroup(Ge,a.length/3-Ge,1)}function X(Ge,Ie){let Ke=Ge.length;for(;--Ke>=0;){let z=Ke,C=Ke-1;C<0&&(C=Ge.length-1);for(let S=0,P=d+g*2;S<P;S++){let V=te*S,ee=te*(S+1),ce=Ie+z+V,be=Ie+C+V,ge=Ie+C+ee,Se=Ie+z+ee;Ue(ce,be,ge,Se)}}}function ne(Ge,Ie,Ke){l.push(Ge),l.push(Ie),l.push(Ke)}function Me(Ge,Ie,Ke){et(Ge),et(Ie),et(Ke);let z=a.length/3,C=b.generateTopUV(n,a,z-3,z-2,z-1);Qe(C[0]),Qe(C[1]),Qe(C[2])}function Ue(Ge,Ie,Ke,z){et(Ge),et(Ie),et(z),et(Ie),et(Ke),et(z);let C=a.length/3,S=b.generateSideWallUV(n,a,C-6,C-3,C-2,C-1);Qe(S[0]),Qe(S[1]),Qe(S[3]),Qe(S[1]),Qe(S[2]),Qe(S[3])}function et(Ge){a.push(l[Ge*3+0]),a.push(l[Ge*3+1]),a.push(l[Ge*3+2])}function Qe(Ge){o.push(Ge.x),o.push(Ge.y)}}}toJSON(){let e=super.toJSON(),t=this.parameters.shapes,n=this.parameters.options;return HW(t,n,e)}},NW={generateTopUV:function(i,e,t,n,a){let o=e[t*3],r=e[t*3+1],s=e[n*3],l=e[n*3+1],c=e[a*3],d=e[a*3+1];return[new zt(o,r),new zt(s,l),new zt(c,d)]},generateSideWallUV:function(i,e,t,n,a,o){let r=e[t*3],s=e[t*3+1],l=e[t*3+2],c=e[n*3],d=e[n*3+1],u=e[n*3+2],p=e[a*3],m=e[a*3+1],_=e[a*3+2],f=e[o*3],g=e[o*3+1],v=e[o*3+2];return Math.abs(s-d)<Math.abs(r-c)?[new zt(r,1-l),new zt(c,1-u),new zt(p,1-_),new zt(f,1-v)]:[new zt(s,1-l),new zt(d,1-u),new zt(m,1-_),new zt(g,1-v)]}};function HW(i,e,t){if(t.shapes=[],Array.isArray(i))for(let n=0,a=i.length;n<a;n++){let o=i[n];t.shapes.push(o.uuid)}else t.shapes.push(i.uuid);return e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}var Rg=class extends zd{constructor(e=1,t=0){let n=(1+Math.sqrt(5))/2,a=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],o=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(a,o,e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}},jg=class extends Ki{constructor(e,t=12,n=0,a=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:a},t=Math.floor(t),a=Sr(a,0,Math.PI*2);let o=[],r=[],s=[],l=1/t,c=new we,d=new zt;for(let u=0;u<=t;u++){let p=n+u*l*a,m=Math.sin(p),_=Math.cos(p);for(let f=0;f<=e.length-1;f++)c.x=e[f].x*m,c.y=e[f].y,c.z=e[f].x*_,r.push(c.x,c.y,c.z),d.x=u/t,d.y=f/(e.length-1),s.push(d.x,d.y)}for(let u=0;u<t;u++)for(let p=0;p<e.length-1;p++){let m=p+u*e.length,_=m,f=m+e.length,g=m+e.length+1,v=m+1;o.push(_,f,v),o.push(f,g,v)}if(this.setIndex(o),this.setAttribute("position",new _i(r,3)),this.setAttribute("uv",new _i(s,2)),this.computeVertexNormals(),a===Math.PI*2){let u=this.attributes.normal.array,p=new we,m=new we,_=new we,f=t*e.length*3;for(let g=0,v=0;g<e.length;g++,v+=3)p.x=u[v+0],p.y=u[v+1],p.z=u[v+2],m.x=u[f+v+0],m.y=u[f+v+1],m.z=u[f+v+2],_.addVectors(p,m).normalize(),u[v+0]=u[f+v+0]=_.x,u[v+1]=u[f+v+1]=_.y,u[v+2]=u[f+v+2]=_.z}}},nh=class extends zd{constructor(e=1,t=0){let n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],a=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,a,e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}},Ig=class extends Ki{constructor(e,t,n){super(),this.type="ParametricGeometry",this.parameters={func:e,slices:t,stacks:n};let a=[],o=[],r=[],s=[],l=1e-5,c=new we,d=new we,u=new we,p=new we,m=new we;e.length<3&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");let _=t+1;for(let f=0;f<=n;f++){let g=f/n;for(let v=0;v<=t;v++){let b=v/t;e(b,g,d),o.push(d.x,d.y,d.z),b-l>=0?(e(b-l,g,u),p.subVectors(d,u)):(e(b+l,g,u),p.subVectors(u,d)),g-l>=0?(e(b,g-l,u),m.subVectors(d,u)):(e(b,g+l,u),m.subVectors(u,d)),c.crossVectors(p,m).normalize(),r.push(c.x,c.y,c.z),s.push(b,g)}}for(let f=0;f<n;f++)for(let g=0;g<t;g++){let v=f*_+g,b=f*_+g+1,x=(f+1)*_+g+1,w=(f+1)*_+g;a.push(v,b,w),a.push(b,x,w)}this.setIndex(a),this.setAttribute("position",new _i(o,3)),this.setAttribute("normal",new _i(r,3)),this.setAttribute("uv",new _i(s,2))}},Dg=class extends Ki{constructor(e=.5,t=1,n=8,a=1,o=0,r=Math.PI*2){super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:a,thetaStart:o,thetaLength:r},n=Math.max(3,n),a=Math.max(1,a);let s=[],l=[],c=[],d=[],u=e,p=(t-e)/a,m=new we,_=new zt;for(let f=0;f<=a;f++){for(let g=0;g<=n;g++){let v=o+g/n*r;m.x=u*Math.cos(v),m.y=u*Math.sin(v),l.push(m.x,m.y,m.z),c.push(0,0,1),_.x=(m.x/t+1)/2,_.y=(m.y/t+1)/2,d.push(_.x,_.y)}u+=p}for(let f=0;f<a;f++){let g=f*(n+1);for(let v=0;v<n;v++){let b=v+g,x=b,w=b+n+1,E=b+n+2,y=b+1;s.push(x,w,y),s.push(w,E,y)}}this.setIndex(s),this.setAttribute("position",new _i(l,3)),this.setAttribute("normal",new _i(c,3)),this.setAttribute("uv",new _i(d,2))}},ah=class extends Ki{constructor(e,t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};let n=[],a=[],o=[],r=[],s=0,l=0;if(Array.isArray(e)===!1)c(e);else for(let d=0;d<e.length;d++)c(e[d]),this.addGroup(s,l,d),s+=l,l=0;this.setIndex(n),this.setAttribute("position",new _i(a,3)),this.setAttribute("normal",new _i(o,3)),this.setAttribute("uv",new _i(r,2));function c(d){let u=a.length/3,p=d.extractPoints(t),m=p.shape,_=p.holes;zc.isClockWise(m)===!1&&(m=m.reverse());for(let g=0,v=_.length;g<v;g++){let b=_[g];zc.isClockWise(b)===!0&&(_[g]=b.reverse())}let f=zc.triangulateShape(m,_);for(let g=0,v=_.length;g<v;g++){let b=_[g];m=m.concat(b)}for(let g=0,v=m.length;g<v;g++){let b=m[g];a.push(b.x,b.y,0),o.push(0,0,1),r.push(b.x,b.y)}for(let g=0,v=f.length;g<v;g++){let b=f[g],x=b[0]+u,w=b[1]+u,E=b[2]+u;n.push(x,w,E),l+=3}}}toJSON(){let e=super.toJSON(),t=this.parameters.shapes;return GW(t,e)}};function GW(i,e){if(e.shapes=[],Array.isArray(i))for(let t=0,n=i.length;t<n;t++){let a=i[t];e.shapes.push(a.uuid)}else e.shapes.push(i.uuid);return e}var oh=class extends Ki{constructor(e=1,t=8,n=6,a=0,o=Math.PI*2,r=0,s=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:a,phiLength:o,thetaStart:r,thetaLength:s},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));let l=Math.min(r+s,Math.PI),c=0,d=[],u=new we,p=new we,m=[],_=[],f=[],g=[];for(let v=0;v<=n;v++){let b=[],x=v/n,w=0;v==0&&r==0?w=.5/t:v==n&&l==Math.PI&&(w=-.5/t);for(let E=0;E<=t;E++){let y=E/t;u.x=-e*Math.cos(a+y*o)*Math.sin(r+x*s),u.y=e*Math.cos(r+x*s),u.z=e*Math.sin(a+y*o)*Math.sin(r+x*s),_.push(u.x,u.y,u.z),p.copy(u).normalize(),f.push(p.x,p.y,p.z),g.push(y+w,1-x),b.push(c++)}d.push(b)}for(let v=0;v<n;v++)for(let b=0;b<t;b++){let x=d[v][b+1],w=d[v][b],E=d[v+1][b],y=d[v+1][b+1];(v!==0||r>0)&&m.push(x,w,y),(v!==n-1||l<Math.PI)&&m.push(w,E,y)}this.setIndex(m),this.setAttribute("position",new _i(_,3)),this.setAttribute("normal",new _i(f,3)),this.setAttribute("uv",new _i(g,2))}},Vg=class extends zd{constructor(e=1,t=0){let n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],a=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,a,e,t),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t}}},Fg=class extends Ac{constructor(e,t={}){let n=t.font;if(!(n&&n.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new Ki;let a=n.generateShapes(e,t.size);t.depth=t.height!==void 0?t.height:50,t.bevelThickness===void 0&&(t.bevelThickness=10),t.bevelSize===void 0&&(t.bevelSize=8),t.bevelEnabled===void 0&&(t.bevelEnabled=!1),super(a,t),this.type="TextGeometry"}},Ug=class extends Ki{constructor(e=1,t=.4,n=8,a=6,o=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:a,arc:o},n=Math.floor(n),a=Math.floor(a);let r=[],s=[],l=[],c=[],d=new we,u=new we,p=new we;for(let m=0;m<=n;m++)for(let _=0;_<=a;_++){let f=_/a*o,g=m/n*Math.PI*2;u.x=(e+t*Math.cos(g))*Math.cos(f),u.y=(e+t*Math.cos(g))*Math.sin(f),u.z=t*Math.sin(g),s.push(u.x,u.y,u.z),d.x=e*Math.cos(f),d.y=e*Math.sin(f),p.subVectors(u,d).normalize(),l.push(p.x,p.y,p.z),c.push(_/a),c.push(m/n)}for(let m=1;m<=n;m++)for(let _=1;_<=a;_++){let f=(a+1)*m+_-1,g=(a+1)*(m-1)+_-1,v=(a+1)*(m-1)+_,b=(a+1)*m+_;r.push(f,g,b),r.push(g,v,b)}this.setIndex(r),this.setAttribute("position",new _i(s,3)),this.setAttribute("normal",new _i(l,3)),this.setAttribute("uv",new _i(c,2))}},Og=class extends Ki{constructor(e=1,t=.4,n=64,a=8,o=2,r=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:a,p:o,q:r},n=Math.floor(n),a=Math.floor(a);let s=[],l=[],c=[],d=[],u=new we,p=new we,m=new we,_=new we,f=new we,g=new we,v=new we;for(let x=0;x<=n;++x){let w=x/n*o*Math.PI*2;b(w,o,r,e,m),b(w+.01,o,r,e,_),g.subVectors(_,m),v.addVectors(_,m),f.crossVectors(g,v),v.crossVectors(f,g),f.normalize(),v.normalize();for(let E=0;E<=a;++E){let y=E/a*Math.PI*2,A=-t*Math.cos(y),R=t*Math.sin(y);u.x=m.x+(A*v.x+R*f.x),u.y=m.y+(A*v.y+R*f.y),u.z=m.z+(A*v.z+R*f.z),l.push(u.x,u.y,u.z),p.subVectors(u,m).normalize(),c.push(p.x,p.y,p.z),d.push(x/n),d.push(E/a)}}for(let x=1;x<=n;x++)for(let w=1;w<=a;w++){let E=(a+1)*(x-1)+(w-1),y=(a+1)*x+(w-1),A=(a+1)*x+w,R=(a+1)*(x-1)+w;s.push(E,y,R),s.push(y,A,R)}this.setIndex(s),this.setAttribute("position",new _i(l,3)),this.setAttribute("normal",new _i(c,3)),this.setAttribute("uv",new _i(d,2));function b(x,w,E,y,A){let R=Math.cos(x),j=Math.sin(x),F=E/w*x,O=Math.cos(F);A.x=y*(2+O)*.5*R,A.y=y*(2+O)*j*.5,A.z=y*Math.sin(F)*.5}}},Lg=class extends Ki{constructor(e,t=64,n=1,a=8,o=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:a,closed:o};let r=e.computeFrenetFrames(t,o);this.tangents=r.tangents,this.normals=r.normals,this.binormals=r.binormals;let s=new we,l=new we,c=new zt,d=new we,u=[],p=[],m=[],_=[];f(),this.setIndex(_),this.setAttribute("position",new _i(u,3)),this.setAttribute("normal",new _i(p,3)),this.setAttribute("uv",new _i(m,2));function f(){for(let x=0;x<t;x++)g(x);g(o===!1?t:0),b(),v()}function g(x){d=e.getPointAt(x/t,d);let w=r.normals[x],E=r.binormals[x];for(let y=0;y<=a;y++){let A=y/a*Math.PI*2,R=Math.sin(A),j=-Math.cos(A);l.x=j*w.x+R*E.x,l.y=j*w.y+R*E.y,l.z=j*w.z+R*E.z,l.normalize(),p.push(l.x,l.y,l.z),s.x=d.x+n*l.x,s.y=d.y+n*l.y,s.z=d.z+n*l.z,u.push(s.x,s.y,s.z)}}function v(){for(let x=1;x<=t;x++)for(let w=1;w<=a;w++){let E=(a+1)*(x-1)+(w-1),y=(a+1)*x+(w-1),A=(a+1)*x+w,R=(a+1)*(x-1)+w;_.push(E,y,R),_.push(y,A,R)}}function b(){for(let x=0;x<=t;x++)for(let w=0;w<=a;w++)c.x=x/t,c.y=w/a,m.push(c.x,c.y)}}toJSON(){let e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}},Ng=class extends Ki{constructor(e){if(super(),this.type="WireframeGeometry",e.isGeometry===!0){console.error("THREE.WireframeGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return}let t=[],n=[0,0],a={},o=new we;if(e.index!==null){let r=e.attributes.position,s=e.index,l=e.groups;l.length===0&&(l=[{start:0,count:s.count,materialIndex:0}]);for(let c=0,d=l.length;c<d;++c){let u=l[c],p=u.start,m=u.count;for(let _=p,f=p+m;_<f;_+=3)for(let g=0;g<3;g++){let v=s.getX(_+g),b=s.getX(_+(g+1)%3);n[0]=Math.min(v,b),n[1]=Math.max(v,b);let x=n[0]+","+n[1];a[x]===void 0&&(a[x]={index1:n[0],index2:n[1]})}}for(let c in a){let d=a[c];o.fromBufferAttribute(r,d.index1),t.push(o.x,o.y,o.z),o.fromBufferAttribute(r,d.index2),t.push(o.x,o.y,o.z)}}else{let r=e.attributes.position;for(let s=0,l=r.count/3;s<l;s++)for(let c=0;c<3;c++){let d=3*s+c;o.fromBufferAttribute(r,d),t.push(o.x,o.y,o.z);let u=3*s+(c+1)%3;o.fromBufferAttribute(r,u),t.push(o.x,o.y,o.z)}}this.setAttribute("position",new _i(t,3))}},Qr=Object.freeze({__proto__:null,BoxGeometry:Su,BoxBufferGeometry:Su,CircleGeometry:Eg,CircleBufferGeometry:Eg,ConeGeometry:Mg,ConeBufferGeometry:Mg,CylinderGeometry:Wp,CylinderBufferGeometry:Wp,DodecahedronGeometry:Tg,DodecahedronBufferGeometry:Tg,EdgesGeometry:Ag,ExtrudeGeometry:Ac,ExtrudeBufferGeometry:Ac,IcosahedronGeometry:Rg,IcosahedronBufferGeometry:Rg,LatheGeometry:jg,LatheBufferGeometry:jg,OctahedronGeometry:nh,OctahedronBufferGeometry:nh,ParametricGeometry:Ig,ParametricBufferGeometry:Ig,PlaneGeometry:Eu,PlaneBufferGeometry:Eu,PolyhedronGeometry:zd,PolyhedronBufferGeometry:zd,RingGeometry:Dg,RingBufferGeometry:Dg,ShapeGeometry:ah,ShapeBufferGeometry:ah,SphereGeometry:oh,SphereBufferGeometry:oh,TetrahedronGeometry:Vg,TetrahedronBufferGeometry:Vg,TextGeometry:Fg,TextBufferGeometry:Fg,TorusGeometry:Ug,TorusBufferGeometry:Ug,TorusKnotGeometry:Og,TorusKnotBufferGeometry:Og,TubeGeometry:Lg,TubeBufferGeometry:Lg,WireframeGeometry:Ng}),Hg=class extends Lo{constructor(e){super(),this.type="ShadowMaterial",this.color=new si(0),this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this}};Hg.prototype.isShadowMaterial=!0;var Cu=class extends Hs{constructor(e){super(e),this.type="RawShaderMaterial"}};Cu.prototype.isRawShaderMaterial=!0;var rh=class extends Lo{constructor(e){super(),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new si(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new si(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=om,this.normalScale=new zt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.vertexTangents=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this.vertexTangents=e.vertexTangents,this}};rh.prototype.isMeshStandardMaterial=!0;var Gg=class extends rh{constructor(e){super(),this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoat=0,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new zt(1,1),this.clearcoatNormalMap=null,this.reflectivity=.5,Object.defineProperty(this,"ior",{get:function(){return(1+.4*this.reflectivity)/(1-.4*this.reflectivity)},set:function(t){this.reflectivity=Sr(2.5*(t-1)/(t+1),0,1)}}),this.sheen=null,this.transmission=0,this.transmissionMap=null,this.thickness=.01,this.thicknessMap=null,this.attenuationDistance=0,this.attenuationColor=new si(1,1,1),this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.reflectivity=e.reflectivity,e.sheen?this.sheen=(this.sheen||new si).copy(e.sheen):this.sheen=null,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this}};Gg.prototype.isMeshPhysicalMaterial=!0;var qg=class extends Lo{constructor(e){super(),this.type="MeshPhongMaterial",this.color=new si(16777215),this.specular=new si(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new si(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=om,this.normalScale=new zt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}};qg.prototype.isMeshPhongMaterial=!0;var Wg=class extends Lo{constructor(e){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new si(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new si(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=om,this.normalScale=new zt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this}};Wg.prototype.isMeshToonMaterial=!0;var Kg=class extends Lo{constructor(e){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=om,this.normalScale=new zt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}};Kg.prototype.isMeshNormalMaterial=!0;var $g=class extends Lo{constructor(e){super(),this.type="MeshLambertMaterial",this.color=new si(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new si(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this}};$g.prototype.isMeshLambertMaterial=!0;var Yg=class extends Lo{constructor(e){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new si(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=om,this.normalScale=new zt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}};Yg.prototype.isMeshMatcapMaterial=!0;var Xg=class extends No{constructor(e){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}};Xg.prototype.isLineDashedMaterial=!0;var qW=Object.freeze({__proto__:null,ShadowMaterial:Hg,SpriteMaterial:Q_,RawShaderMaterial:Cu,ShaderMaterial:Hs,PointsMaterial:Sd,MeshPhysicalMaterial:Gg,MeshStandardMaterial:rh,MeshPhongMaterial:qg,MeshToonMaterial:Wg,MeshNormalMaterial:Kg,MeshLambertMaterial:$g,MeshDepthMaterial:X_,MeshDistanceMaterial:J_,MeshBasicMaterial:Hl,MeshMatcapMaterial:Yg,LineDashedMaterial:Xg,LineBasicMaterial:No,Material:Lo}),Ia={arraySlice:function(i,e,t){return Ia.isTypedArray(i)?new i.constructor(i.subarray(e,t!==void 0?t:i.length)):i.slice(e,t)},convertArray:function(i,e,t){return!i||!t&&i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)},isTypedArray:function(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)},getKeyframeOrder:function(i){function e(a,o){return i[a]-i[o]}let t=i.length,n=new Array(t);for(let a=0;a!==t;++a)n[a]=a;return n.sort(e),n},sortedArray:function(i,e,t){let n=i.length,a=new i.constructor(n);for(let o=0,r=0;r!==n;++o){let s=t[o]*e;for(let l=0;l!==e;++l)a[r++]=i[s+l]}return a},flattenJSON:function(i,e,t,n){let a=1,o=i[0];for(;o!==void 0&&o[n]===void 0;)o=i[a++];if(o===void 0)return;let r=o[n];if(r!==void 0)if(Array.isArray(r))do r=o[n],r!==void 0&&(e.push(o.time),t.push.apply(t,r)),o=i[a++];while(o!==void 0);else if(r.toArray!==void 0)do r=o[n],r!==void 0&&(e.push(o.time),r.toArray(t,t.length)),o=i[a++];while(o!==void 0);else do r=o[n],r!==void 0&&(e.push(o.time),t.push(r)),o=i[a++];while(o!==void 0)},subclip:function(i,e,t,n,a=30){let o=i.clone();o.name=e;let r=[];for(let l=0;l<o.tracks.length;++l){let c=o.tracks[l],d=c.getValueSize(),u=[],p=[];for(let m=0;m<c.times.length;++m){let _=c.times[m]*a;if(!(_<t||_>=n)){u.push(c.times[m]);for(let f=0;f<d;++f)p.push(c.values[m*d+f])}}u.length!==0&&(c.times=Ia.convertArray(u,c.times.constructor),c.values=Ia.convertArray(p,c.values.constructor),r.push(c))}o.tracks=r;let s=1/0;for(let l=0;l<o.tracks.length;++l)s>o.tracks[l].times[0]&&(s=o.tracks[l].times[0]);for(let l=0;l<o.tracks.length;++l)o.tracks[l].shift(-1*s);return o.resetDuration(),o},makeClipAdditive:function(i,e=0,t=i,n=30){n<=0&&(n=30);let a=t.tracks.length,o=e/n;for(let r=0;r<a;++r){let s=t.tracks[r],l=s.ValueTypeName;if(l==="bool"||l==="string")continue;let c=i.tracks.find(function(v){return v.name===s.name&&v.ValueTypeName===l});if(c===void 0)continue;let d=0,u=s.getValueSize();s.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(d=u/3);let p=0,m=c.getValueSize();c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(p=m/3);let _=s.times.length-1,f;if(o<=s.times[0]){let v=d,b=u-d;f=Ia.arraySlice(s.values,v,b)}else if(o>=s.times[_]){let v=_*u+d,b=v+u-d;f=Ia.arraySlice(s.values,v,b)}else{let v=s.createInterpolant(),b=d,x=u-d;v.evaluate(o),f=Ia.arraySlice(v.resultBuffer,b,x)}l==="quaternion"&&new Da().fromArray(f).normalize().conjugate().toArray(f);let g=c.times.length;for(let v=0;v<g;++v){let b=v*m+p;if(l==="quaternion")Da.multiplyQuaternionsFlat(c.values,b,f,0,c.values,b);else{let x=m-p*2;for(let w=0;w<x;++w)c.values[b+w]-=f[w]}}}return i.blendMode=wE,i}},ql=class{constructor(e,t,n,a){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=a!==void 0?a:new t.constructor(n),this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,a=t[n],o=t[n-1];e:{t:{let r;i:{n:if(!(e<a)){for(let s=n+2;;){if(a===void 0){if(e<o)break n;return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,e,o)}if(n===s)break;if(o=a,a=t[++n],e<a)break t}r=t.length;break i}if(!(e>=o)){let s=t[1];e<s&&(n=2,o=s);for(let l=n-2;;){if(o===void 0)return this._cachedIndex=0,this.beforeStart_(0,e,a);if(n===l)break;if(a=o,o=t[--n-1],e>=o)break t}r=n,n=0;break i}break e}for(;n<r;){let s=n+r>>>1;e<t[s]?r=s:n=s+1}if(a=t[n],o=t[n-1],o===void 0)return this._cachedIndex=0,this.beforeStart_(0,e,a);if(a===void 0)return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,o,e)}this._cachedIndex=n,this.intervalChanged_(n,o,a)}return this.interpolate_(n,o,e,a)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,n=this.sampleValues,a=this.valueSize,o=e*a;for(let r=0;r!==a;++r)t[r]=n[o+r];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}};ql.prototype.beforeStart_=ql.prototype.copySampleValue_;ql.prototype.afterEnd_=ql.prototype.copySampleValue_;var rk=class extends ql{constructor(e,t,n,a){super(e,t,n,a),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Fp,endingEnd:Fp}}intervalChanged_(e,t,n){let a=this.parameterPositions,o=e-2,r=e+1,s=a[o],l=a[r];if(s===void 0)switch(this.getSettings_().endingStart){case Up:o=e,s=2*t-n;break;case hg:o=a.length-2,s=t+a[o]-a[o+1];break;default:o=e,s=n}if(l===void 0)switch(this.getSettings_().endingEnd){case Up:r=e,l=2*n-t;break;case hg:r=1,l=n+a[1]-a[0];break;default:r=e-1,l=t}let c=(n-t)*.5,d=this.valueSize;this._weightPrev=c/(t-s),this._weightNext=c/(l-n),this._offsetPrev=o*d,this._offsetNext=r*d}interpolate_(e,t,n,a){let o=this.resultBuffer,r=this.sampleValues,s=this.valueSize,l=e*s,c=l-s,d=this._offsetPrev,u=this._offsetNext,p=this._weightPrev,m=this._weightNext,_=(n-t)/(a-t),f=_*_,g=f*_,v=-p*g+2*p*f-p*_,b=(1+p)*g+(-1.5-2*p)*f+(-.5+p)*_+1,x=(-1-m)*g+(1.5+m)*f+.5*_,w=m*g-m*f;for(let E=0;E!==s;++E)o[E]=v*r[d+E]+b*r[c+E]+x*r[l+E]+w*r[u+E];return o}},Jg=class extends ql{constructor(e,t,n,a){super(e,t,n,a)}interpolate_(e,t,n,a){let o=this.resultBuffer,r=this.sampleValues,s=this.valueSize,l=e*s,c=l-s,d=(n-t)/(a-t),u=1-d;for(let p=0;p!==s;++p)o[p]=r[c+p]*u+r[l+p]*d;return o}},sk=class extends ql{constructor(e,t,n,a){super(e,t,n,a)}interpolate_(e){return this.copySampleValue_(e-1)}},Gs=class{constructor(e,t,n,a){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=Ia.convertArray(t,this.TimeBufferType),this.values=Ia.convertArray(n,this.ValueBufferType),this.setInterpolation(a||this.DefaultInterpolation)}static toJSON(e){let t=e.constructor,n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:Ia.convertArray(e.times,Array),values:Ia.convertArray(e.values,Array)};let a=e.getInterpolation();a!==e.DefaultInterpolation&&(n.interpolation=a)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new sk(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new Jg(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new rk(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case mg:t=this.InterpolantFactoryMethodDiscrete;break;case _g:t=this.InterpolantFactoryMethodLinear;break;case Fx:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){let n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(n);return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return mg;case this.InterpolantFactoryMethodLinear:return _g;case this.InterpolantFactoryMethodSmooth:return Fx}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){let t=this.times;for(let n=0,a=t.length;n!==a;++n)t[n]+=e}return this}scale(e){if(e!==1){let t=this.times;for(let n=0,a=t.length;n!==a;++n)t[n]*=e}return this}trim(e,t){let n=this.times,a=n.length,o=0,r=a-1;for(;o!==a&&n[o]<e;)++o;for(;r!==-1&&n[r]>t;)--r;if(++r,o!==0||r!==a){o>=r&&(r=Math.max(r,1),o=r-1);let s=this.getValueSize();this.times=Ia.arraySlice(n,o,r),this.values=Ia.arraySlice(this.values,o*s,r*s)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let n=this.times,a=this.values,o=n.length;o===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let r=null;for(let s=0;s!==o;s++){let l=n[s];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,l),e=!1;break}if(r!==null&&r>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,l,r),e=!1;break}r=l}if(a!==void 0&&Ia.isTypedArray(a))for(let s=0,l=a.length;s!==l;++s){let c=a[s];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,c),e=!1;break}}return e}optimize(){let e=Ia.arraySlice(this.times),t=Ia.arraySlice(this.values),n=this.getValueSize(),a=this.getInterpolation()===Fx,o=e.length-1,r=1;for(let s=1;s<o;++s){let l=!1,c=e[s],d=e[s+1];if(c!==d&&(s!==1||c!==e[0]))if(a)l=!0;else{let u=s*n,p=u-n,m=u+n;for(let _=0;_!==n;++_){let f=t[u+_];if(f!==t[p+_]||f!==t[m+_]){l=!0;break}}}if(l){if(s!==r){e[r]=e[s];let u=s*n,p=r*n;for(let m=0;m!==n;++m)t[p+m]=t[u+m]}++r}}if(o>0){e[r]=e[o];for(let s=o*n,l=r*n,c=0;c!==n;++c)t[l+c]=t[s+c];++r}return r!==e.length?(this.times=Ia.arraySlice(e,0,r),this.values=Ia.arraySlice(t,0,r*n)):(this.times=e,this.values=t),this}clone(){let e=Ia.arraySlice(this.times,0),t=Ia.arraySlice(this.values,0),n=this.constructor,a=new n(this.name,e,t);return a.createInterpolant=this.createInterpolant,a}};Gs.prototype.TimeBufferType=Float32Array;Gs.prototype.ValueBufferType=Float32Array;Gs.prototype.DefaultInterpolation=_g;var Ed=class extends Gs{};Ed.prototype.ValueTypeName="bool";Ed.prototype.ValueBufferType=Array;Ed.prototype.DefaultInterpolation=mg;Ed.prototype.InterpolantFactoryMethodLinear=void 0;Ed.prototype.InterpolantFactoryMethodSmooth=void 0;var Zg=class extends Gs{};Zg.prototype.ValueTypeName="color";var Kp=class extends Gs{};Kp.prototype.ValueTypeName="number";var lk=class extends ql{constructor(e,t,n,a){super(e,t,n,a)}interpolate_(e,t,n,a){let o=this.resultBuffer,r=this.sampleValues,s=this.valueSize,l=(n-t)/(a-t),c=e*s;for(let d=c+s;c!==d;c+=4)Da.slerpFlat(o,0,r,c-s,r,c,l);return o}},Pu=class extends Gs{InterpolantFactoryMethodLinear(e){return new lk(this.times,this.values,this.getValueSize(),e)}};Pu.prototype.ValueTypeName="quaternion";Pu.prototype.DefaultInterpolation=_g;Pu.prototype.InterpolantFactoryMethodSmooth=void 0;var Md=class extends Gs{};Md.prototype.ValueTypeName="string";Md.prototype.ValueBufferType=Array;Md.prototype.DefaultInterpolation=mg;Md.prototype.InterpolantFactoryMethodLinear=void 0;Md.prototype.InterpolantFactoryMethodSmooth=void 0;var $p=class extends Gs{};$p.prototype.ValueTypeName="vector";var Yp=class{constructor(e,t=-1,n,a=Fk){this.name=e,this.tracks=n,this.duration=t,this.blendMode=a,this.uuid=Ls(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,a=1/(e.fps||1);for(let r=0,s=n.length;r!==s;++r)t.push(KW(n[r]).scale(a));let o=new this(e.name,e.duration,t,e.blendMode);return o.uuid=e.uuid,o}static toJSON(e){let t=[],n=e.tracks,a={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let o=0,r=n.length;o!==r;++o)t.push(Gs.toJSON(n[o]));return a}static CreateFromMorphTargetSequence(e,t,n,a){let o=t.length,r=[];for(let s=0;s<o;s++){let l=[],c=[];l.push((s+o-1)%o,s,(s+1)%o),c.push(0,1,0);let d=Ia.getKeyframeOrder(l);l=Ia.sortedArray(l,1,d),c=Ia.sortedArray(c,1,d),!a&&l[0]===0&&(l.push(o),c.push(c[0])),r.push(new Kp(".morphTargetInfluences["+t[s].name+"]",l,c).scale(1/n))}return new this(e,-1,r)}static findByName(e,t){let n=e;if(!Array.isArray(e)){let a=e;n=a.geometry&&a.geometry.animations||a.animations}for(let a=0;a<n.length;a++)if(n[a].name===t)return n[a];return null}static CreateClipsFromMorphTargetSequences(e,t,n){let a={},o=/^([\w-]*?)([\d]+)$/;for(let s=0,l=e.length;s<l;s++){let c=e[s],d=c.name.match(o);if(d&&d.length>1){let u=d[1],p=a[u];p||(a[u]=p=[]),p.push(c)}}let r=[];for(let s in a)r.push(this.CreateFromMorphTargetSequence(s,a[s],t,n));return r}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;let n=function(u,p,m,_,f){if(m.length!==0){let g=[],v=[];Ia.flattenJSON(m,g,v,_),g.length!==0&&f.push(new u(p,g,v))}},a=[],o=e.name||"default",r=e.fps||30,s=e.blendMode,l=e.length||-1,c=e.hierarchy||[];for(let u=0;u<c.length;u++){let p=c[u].keys;if(!(!p||p.length===0))if(p[0].morphTargets){let m={},_;for(_=0;_<p.length;_++)if(p[_].morphTargets)for(let f=0;f<p[_].morphTargets.length;f++)m[p[_].morphTargets[f]]=-1;for(let f in m){let g=[],v=[];for(let b=0;b!==p[_].morphTargets.length;++b){let x=p[_];g.push(x.time),v.push(x.morphTarget===f?1:0)}a.push(new Kp(".morphTargetInfluence["+f+"]",g,v))}l=m.length*(r||1)}else{let m=".bones["+t[u].name+"]";n($p,m+".position",p,"pos",a),n(Pu,m+".quaternion",p,"rot",a),n($p,m+".scale",p,"scl",a)}}return a.length===0?null:new this(o,l,a,s)}resetDuration(){let e=this.tracks,t=0;for(let n=0,a=e.length;n!==a;++n){let o=this.tracks[n];t=Math.max(t,o.times[o.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){let e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}};function WW(i){switch(i.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Kp;case"vector":case"vector2":case"vector3":case"vector4":return $p;case"color":return Zg;case"quaternion":return Pu;case"bool":case"boolean":return Ed;case"string":return Md}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+i)}function KW(i){if(i.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");let e=WW(i.type);if(i.times===void 0){let t=[],n=[];Ia.flattenJSON(i.keys,t,n,"value"),i.times=t,i.values=n}return e.parse!==void 0?e.parse(i):new e(i.name,i.times,i.values,i.interpolation)}var Xp={enabled:!1,files:{},add:function(i,e){this.enabled!==!1&&(this.files[i]=e)},get:function(i){if(this.enabled!==!1)return this.files[i]},remove:function(i){delete this.files[i]},clear:function(){this.files={}}},Qg=class{constructor(e,t,n){let a=this,o=!1,r=0,s=0,l,c=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(d){s++,o===!1&&a.onStart!==void 0&&a.onStart(d,r,s),o=!0},this.itemEnd=function(d){r++,a.onProgress!==void 0&&a.onProgress(d,r,s),r===s&&(o=!1,a.onLoad!==void 0&&a.onLoad())},this.itemError=function(d){a.onError!==void 0&&a.onError(d)},this.resolveURL=function(d){return l?l(d):d},this.setURLModifier=function(d){return l=d,this},this.addHandler=function(d,u){return c.push(d,u),this},this.removeHandler=function(d){let u=c.indexOf(d);return u!==-1&&c.splice(u,2),this},this.getHandler=function(d){for(let u=0,p=c.length;u<p;u+=2){let m=c[u],_=c[u+1];if(m.global&&(m.lastIndex=0),m.test(d))return _}return null}}},fI=new Qg,pr=class{constructor(e){this.manager=e!==void 0?e:fI,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){let n=this;return new Promise(function(a,o){n.load(e,a,t,o)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}},Ll={},gl=class extends pr{constructor(e){super(e)}load(e,t,n,a){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let o=this,r=Xp.get(e);if(r!==void 0)return o.manager.itemStart(e),setTimeout(function(){t&&t(r),o.manager.itemEnd(e)},0),r;if(Ll[e]!==void 0){Ll[e].push({onLoad:t,onProgress:n,onError:a});return}let s=/^data:(.*?)(;base64)?,(.*)$/,l=e.match(s),c;if(l){let d=l[1],u=!!l[2],p=l[3];p=decodeURIComponent(p),u&&(p=atob(p));try{let m,_=(this.responseType||"").toLowerCase();switch(_){case"arraybuffer":case"blob":let f=new Uint8Array(p.length);for(let v=0;v<p.length;v++)f[v]=p.charCodeAt(v);_==="blob"?m=new Blob([f.buffer],{type:d}):m=f.buffer;break;case"document":m=new DOMParser().parseFromString(p,d);break;case"json":m=JSON.parse(p);break;default:m=p;break}setTimeout(function(){t&&t(m),o.manager.itemEnd(e)},0)}catch(m){setTimeout(function(){a&&a(m),o.manager.itemError(e),o.manager.itemEnd(e)},0)}}else{Ll[e]=[],Ll[e].push({onLoad:t,onProgress:n,onError:a}),c=new XMLHttpRequest,c.open("GET",e,!0),c.addEventListener("load",function(d){let u=this.response,p=Ll[e];if(delete Ll[e],this.status===200||this.status===0){this.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),Xp.add(e,u);for(let m=0,_=p.length;m<_;m++){let f=p[m];f.onLoad&&f.onLoad(u)}o.manager.itemEnd(e)}else{for(let m=0,_=p.length;m<_;m++){let f=p[m];f.onError&&f.onError(d)}o.manager.itemError(e),o.manager.itemEnd(e)}},!1),c.addEventListener("progress",function(d){let u=Ll[e];for(let p=0,m=u.length;p<m;p++){let _=u[p];_.onProgress&&_.onProgress(d)}},!1),c.addEventListener("error",function(d){let u=Ll[e];delete Ll[e];for(let p=0,m=u.length;p<m;p++){let _=u[p];_.onError&&_.onError(d)}o.manager.itemError(e),o.manager.itemEnd(e)},!1),c.addEventListener("abort",function(d){let u=Ll[e];delete Ll[e];for(let p=0,m=u.length;p<m;p++){let _=u[p];_.onError&&_.onError(d)}o.manager.itemError(e),o.manager.itemEnd(e)},!1),this.responseType!==void 0&&(c.responseType=this.responseType),this.withCredentials!==void 0&&(c.withCredentials=this.withCredentials),c.overrideMimeType&&c.overrideMimeType(this.mimeType!==void 0?this.mimeType:"text/plain");for(let d in this.requestHeader)c.setRequestHeader(d,this.requestHeader[d]);c.send(null)}return o.manager.itemStart(e),c}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},Kz=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=new gl(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(e,function(s){try{t(o.parse(JSON.parse(s)))}catch(l){a?a(l):console.error(l),o.manager.itemError(e)}},n,a)}parse(e){let t=[];for(let n=0;n<e.length;n++){let a=Yp.parse(e[n]);t.push(a)}return t}},$z=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=[],s=new zg,l=new gl(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(o.withCredentials);let c=0;function d(u){l.load(e[u],function(p){let m=o.parse(p,!0);r[u]={width:m.width,height:m.height,format:m.format,mipmaps:m.mipmaps},c+=1,c===6&&(m.mipmapCount===1&&(s.minFilter=rr),s.image=r,s.format=m.format,s.needsUpdate=!0,t&&t(s))},n,a)}if(Array.isArray(e))for(let u=0,p=e.length;u<p;++u)d(u);else l.load(e,function(u){let p=o.parse(u,!0);if(p.isCubemap){let m=p.mipmaps.length/p.mipmapCount;for(let _=0;_<m;_++){r[_]={mipmaps:[]};for(let f=0;f<p.mipmapCount;f++)r[_].mipmaps.push(p.mipmaps[_*p.mipmapCount+f]),r[_].format=p.format,r[_].width=p.width,r[_].height=p.height}s.image=r}else s.image.width=p.width,s.image.height=p.height,s.mipmaps=p.mipmaps;p.mipmapCount===1&&(s.minFilter=rr),s.format=p.format,s.needsUpdate=!0,t&&t(s)},n,a);return s}},sh=class extends pr{constructor(e){super(e)}load(e,t,n,a){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let o=this,r=Xp.get(e);if(r!==void 0)return o.manager.itemStart(e),setTimeout(function(){t&&t(r),o.manager.itemEnd(e)},0),r;let s=document.createElementNS("http://www.w3.org/1999/xhtml","img");function l(){s.removeEventListener("load",l,!1),s.removeEventListener("error",c,!1),Xp.add(e,this),t&&t(this),o.manager.itemEnd(e)}function c(d){s.removeEventListener("load",l,!1),s.removeEventListener("error",c,!1),a&&a(d),o.manager.itemError(e),o.manager.itemEnd(e)}return s.addEventListener("load",l,!1),s.addEventListener("error",c,!1),e.substr(0,5)!=="data:"&&this.crossOrigin!==void 0&&(s.crossOrigin=this.crossOrigin),o.manager.itemStart(e),s.src=e,s}},ck=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=new zu,r=new sh(this.manager);r.setCrossOrigin(this.crossOrigin),r.setPath(this.path);let s=0;function l(c){r.load(e[c],function(d){o.images[c]=d,s++,s===6&&(o.needsUpdate=!0,t&&t(o))},void 0,a)}for(let c=0;c<e.length;++c)l(c);return o}},dk=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=new Tu,s=new gl(this.manager);return s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setPath(this.path),s.setWithCredentials(o.withCredentials),s.load(e,function(l){let c=o.parse(l);c&&(c.image!==void 0?r.image=c.image:c.data!==void 0&&(r.image.width=c.width,r.image.height=c.height,r.image.data=c.data),r.wrapS=c.wrapS!==void 0?c.wrapS:zr,r.wrapT=c.wrapT!==void 0?c.wrapT:zr,r.magFilter=c.magFilter!==void 0?c.magFilter:rr,r.minFilter=c.minFilter!==void 0?c.minFilter:rr,r.anisotropy=c.anisotropy!==void 0?c.anisotropy:1,c.encoding!==void 0&&(r.encoding=c.encoding),c.flipY!==void 0&&(r.flipY=c.flipY),c.format!==void 0&&(r.format=c.format),c.type!==void 0&&(r.type=c.type),c.mipmaps!==void 0&&(r.mipmaps=c.mipmaps,r.minFilter=am),c.mipmapCount===1&&(r.minFilter=rr),c.generateMipmaps!==void 0&&(r.generateMipmaps=c.generateMipmaps),r.needsUpdate=!0,t&&t(r,c))},n,a),r}},uk=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=new Oo,r=new sh(this.manager);return r.setCrossOrigin(this.crossOrigin),r.setPath(this.path),r.load(e,function(s){o.image=s;let l=e.search(/\.jpe?g($|\?)/i)>0||e.search(/^data\:image\/jpeg/)===0;o.format=l?yu:Os,o.needsUpdate=!0,t!==void 0&&t(o)},n,a),o}},is=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){let n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t=[],n,a=this.getPoint(0),o=0;t.push(0);for(let r=1;r<=e;r++)n=this.getPoint(r/e),o+=n.distanceTo(a),t.push(o),a=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){let n=this.getLengths(),a=0,o=n.length,r;t?r=t:r=e*n[o-1];let s=0,l=o-1,c;for(;s<=l;)if(a=Math.floor(s+(l-s)/2),c=n[a]-r,c<0)s=a+1;else if(c>0)l=a-1;else{l=a;break}if(a=l,n[a]===r)return a/(o-1);let d=n[a],p=n[a+1]-d,m=(r-d)/p;return(a+m)/(o-1)}getTangent(e,t){let a=e-1e-4,o=e+1e-4;a<0&&(a=0),o>1&&(o=1);let r=this.getPoint(a),s=this.getPoint(o),l=t||(r.isVector2?new zt:new we);return l.copy(s).sub(r).normalize(),l}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new we,a=[],o=[],r=[],s=new we,l=new Ti;for(let m=0;m<=e;m++){let _=m/e;a[m]=this.getTangentAt(_,new we),a[m].normalize()}o[0]=new we,r[0]=new we;let c=Number.MAX_VALUE,d=Math.abs(a[0].x),u=Math.abs(a[0].y),p=Math.abs(a[0].z);d<=c&&(c=d,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),p<=c&&n.set(0,0,1),s.crossVectors(a[0],n).normalize(),o[0].crossVectors(a[0],s),r[0].crossVectors(a[0],o[0]);for(let m=1;m<=e;m++){if(o[m]=o[m-1].clone(),r[m]=r[m-1].clone(),s.crossVectors(a[m-1],a[m]),s.length()>Number.EPSILON){s.normalize();let _=Math.acos(Sr(a[m-1].dot(a[m]),-1,1));o[m].applyMatrix4(l.makeRotationAxis(s,_))}r[m].crossVectors(a[m],o[m])}if(t===!0){let m=Math.acos(Sr(o[0].dot(o[e]),-1,1));m/=e,a[0].dot(s.crossVectors(o[0],o[e]))>0&&(m=-m);for(let _=1;_<=e;_++)o[_].applyMatrix4(l.makeRotationAxis(a[_],m*_)),r[_].crossVectors(a[_],o[_])}return{tangents:a,normals:o,binormals:r}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},Jp=class extends is{constructor(e=0,t=0,n=1,a=1,o=0,r=Math.PI*2,s=!1,l=0){super(),this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=a,this.aStartAngle=o,this.aEndAngle=r,this.aClockwise=s,this.aRotation=l}getPoint(e,t){let n=t||new zt,a=Math.PI*2,o=this.aEndAngle-this.aStartAngle,r=Math.abs(o)<Number.EPSILON;for(;o<0;)o+=a;for(;o>a;)o-=a;o<Number.EPSILON&&(r?o=0:o=a),this.aClockwise===!0&&!r&&(o===a?o=-a:o=o-a);let s=this.aStartAngle+e*o,l=this.aX+this.xRadius*Math.cos(s),c=this.aY+this.yRadius*Math.sin(s);if(this.aRotation!==0){let d=Math.cos(this.aRotation),u=Math.sin(this.aRotation),p=l-this.aX,m=c-this.aY;l=p*d-m*u+this.aX,c=p*u+m*d+this.aY}return n.set(l,c)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}};Jp.prototype.isEllipseCurve=!0;var ev=class extends Jp{constructor(e,t,n,a,o,r){super(e,t,n,n,a,o,r),this.type="ArcCurve"}};ev.prototype.isArcCurve=!0;function TE(){let i=0,e=0,t=0,n=0;function a(o,r,s,l){i=o,e=s,t=-3*o+3*r-2*s-l,n=2*o-2*r+s+l}return{initCatmullRom:function(o,r,s,l,c){a(r,s,c*(s-o),c*(l-r))},initNonuniformCatmullRom:function(o,r,s,l,c,d,u){let p=(r-o)/c-(s-o)/(c+d)+(s-r)/d,m=(s-r)/d-(l-r)/(d+u)+(l-s)/u;p*=d,m*=d,a(r,s,p,m)},calc:function(o){let r=o*o,s=r*o;return i+e*o+t*r+n*s}}}var Tx=new we,gz=new TE,vz=new TE,bz=new TE,tv=class extends is{constructor(e=[],t=!1,n="centripetal",a=.5){super(),this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=a}getPoint(e,t=new we){let n=t,a=this.points,o=a.length,r=(o-(this.closed?0:1))*e,s=Math.floor(r),l=r-s;this.closed?s+=s>0?0:(Math.floor(Math.abs(s)/o)+1)*o:l===0&&s===o-1&&(s=o-2,l=1);let c,d;this.closed||s>0?c=a[(s-1)%o]:(Tx.subVectors(a[0],a[1]).add(a[0]),c=Tx);let u=a[s%o],p=a[(s+1)%o];if(this.closed||s+2<o?d=a[(s+2)%o]:(Tx.subVectors(a[o-1],a[o-2]).add(a[o-1]),d=Tx),this.curveType==="centripetal"||this.curveType==="chordal"){let m=this.curveType==="chordal"?.5:.25,_=Math.pow(c.distanceToSquared(u),m),f=Math.pow(u.distanceToSquared(p),m),g=Math.pow(p.distanceToSquared(d),m);f<1e-4&&(f=1),_<1e-4&&(_=f),g<1e-4&&(g=f),gz.initNonuniformCatmullRom(c.x,u.x,p.x,d.x,_,f,g),vz.initNonuniformCatmullRom(c.y,u.y,p.y,d.y,_,f,g),bz.initNonuniformCatmullRom(c.z,u.z,p.z,d.z,_,f,g)}else this.curveType==="catmullrom"&&(gz.initCatmullRom(c.x,u.x,p.x,d.x,this.tension),vz.initCatmullRom(c.y,u.y,p.y,d.y,this.tension),bz.initCatmullRom(c.z,u.z,p.z,d.z,this.tension));return n.set(gz.calc(l),vz.calc(l),bz.calc(l)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let a=e.points[t];this.points.push(a.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let a=this.points[t];e.points.push(a.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let a=e.points[t];this.points.push(new we().fromArray(a))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}};tv.prototype.isCatmullRomCurve3=!0;function KR(i,e,t,n,a){let o=(n-e)*.5,r=(a-t)*.5,s=i*i,l=i*s;return(2*t-2*n+o+r)*l+(-3*t+3*n-2*o-r)*s+o*i+t}function $W(i,e){let t=1-i;return t*t*e}function YW(i,e){return 2*(1-i)*i*e}function XW(i,e){return i*i*e}function rg(i,e,t,n){return $W(i,e)+YW(i,t)+XW(i,n)}function JW(i,e){let t=1-i;return t*t*t*e}function ZW(i,e){let t=1-i;return 3*t*t*i*e}function QW(i,e){return 3*(1-i)*i*i*e}function e7(i,e){return i*i*i*e}function sg(i,e,t,n,a){return JW(i,e)+ZW(i,t)+QW(i,n)+e7(i,a)}var Td=class extends is{constructor(e=new zt,t=new zt,n=new zt,a=new zt){super(),this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=a}getPoint(e,t=new zt){let n=t,a=this.v0,o=this.v1,r=this.v2,s=this.v3;return n.set(sg(e,a.x,o.x,r.x,s.x),sg(e,a.y,o.y,r.y,s.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}};Td.prototype.isCubicBezierCurve=!0;var iv=class extends is{constructor(e=new we,t=new we,n=new we,a=new we){super(),this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=a}getPoint(e,t=new we){let n=t,a=this.v0,o=this.v1,r=this.v2,s=this.v3;return n.set(sg(e,a.x,o.x,r.x,s.x),sg(e,a.y,o.y,r.y,s.y),sg(e,a.z,o.z,r.z,s.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}};iv.prototype.isCubicBezierCurve3=!0;var Zp=class extends is{constructor(e=new zt,t=new zt){super(),this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new zt){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){let n=t||new zt;return n.copy(this.v2).sub(this.v1).normalize(),n}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}};Zp.prototype.isLineCurve=!0;var pk=class extends is{constructor(e=new we,t=new we){super(),this.type="LineCurve3",this.isLineCurve3=!0,this.v1=e,this.v2=t}getPoint(e,t=new we){let n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},lh=class extends is{constructor(e=new zt,t=new zt,n=new zt){super(),this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new zt){let n=t,a=this.v0,o=this.v1,r=this.v2;return n.set(rg(e,a.x,o.x,r.x),rg(e,a.y,o.y,r.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}};lh.prototype.isQuadraticBezierCurve=!0;var nv=class extends is{constructor(e=new we,t=new we,n=new we){super(),this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new we){let n=t,a=this.v0,o=this.v1,r=this.v2;return n.set(rg(e,a.x,o.x,r.x),rg(e,a.y,o.y,r.y),rg(e,a.z,o.z,r.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}};nv.prototype.isQuadraticBezierCurve3=!0;var Bu=class extends is{constructor(e=[]){super(),this.type="SplineCurve",this.points=e}getPoint(e,t=new zt){let n=t,a=this.points,o=(a.length-1)*e,r=Math.floor(o),s=o-r,l=a[r===0?r:r-1],c=a[r],d=a[r>a.length-2?a.length-1:r+1],u=a[r>a.length-3?a.length-1:r+2];return n.set(KR(s,l.x,c.x,d.x,u.x),KR(s,l.y,c.y,d.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let a=e.points[t];this.points.push(a.clone())}return this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let a=this.points[t];e.points.push(a.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let a=e.points[t];this.points.push(new zt().fromArray(a))}return this}};Bu.prototype.isSplineCurve=!0;var Yz=Object.freeze({__proto__:null,ArcCurve:ev,CatmullRomCurve3:tv,CubicBezierCurve:Td,CubicBezierCurve3:iv,EllipseCurve:Jp,LineCurve:Zp,LineCurve3:pk,QuadraticBezierCurve:lh,QuadraticBezierCurve3:nv,SplineCurve:Bu}),mk=class extends is{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){let e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new Zp(t,e))}getPoint(e){let t=e*this.getLength(),n=this.getCurveLengths(),a=0;for(;a<n.length;){if(n[a]>=t){let o=n[a]-t,r=this.curves[a],s=r.getLength(),l=s===0?0:1-o/s;return r.getPointAt(l)}a++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,a=this.curves.length;n<a;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){let t=[],n;for(let a=0,o=this.curves;a<o.length;a++){let r=o[a],s=r&&r.isEllipseCurve?e*2:r&&(r.isLineCurve||r.isLineCurve3)?1:r&&r.isSplineCurve?e*r.points.length:e,l=r.getPoints(s);for(let c=0;c<l.length;c++){let d=l[c];n&&n.equals(d)||(t.push(d),n=d)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let a=e.curves[t];this.curves.push(a.clone())}return this.autoClose=e.autoClose,this}toJSON(){let e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){let a=this.curves[t];e.curves.push(a.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let a=e.curves[t];this.curves.push(new Yz[a.type]().fromJSON(a))}return this}},Qp=class extends mk{constructor(e){super(),this.type="Path",this.currentPoint=new zt,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){let n=new Zp(this.currentPoint.clone(),new zt(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,a){let o=new lh(this.currentPoint.clone(),new zt(e,t),new zt(n,a));return this.curves.push(o),this.currentPoint.set(n,a),this}bezierCurveTo(e,t,n,a,o,r){let s=new Td(this.currentPoint.clone(),new zt(e,t),new zt(n,a),new zt(o,r));return this.curves.push(s),this.currentPoint.set(o,r),this}splineThru(e){let t=[this.currentPoint.clone()].concat(e),n=new Bu(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,a,o,r){let s=this.currentPoint.x,l=this.currentPoint.y;return this.absarc(e+s,t+l,n,a,o,r),this}absarc(e,t,n,a,o,r){return this.absellipse(e,t,n,n,a,o,r),this}ellipse(e,t,n,a,o,r,s,l){let c=this.currentPoint.x,d=this.currentPoint.y;return this.absellipse(e+c,t+d,n,a,o,r,s,l),this}absellipse(e,t,n,a,o,r,s,l){let c=new Jp(e,t,n,a,o,r,s,l);if(this.curves.length>0){let u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);let d=c.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},Ec=class extends Qp{constructor(e){super(e),this.uuid=Ls(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,a=this.holes.length;n<a;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let a=e.holes[t];this.holes.push(a.clone())}return this}toJSON(){let e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){let a=this.holes[t];e.holes.push(a.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let a=e.holes[t];this.holes.push(new Qp().fromJSON(a))}return this}},qs=class extends pn{constructor(e,t=1){super(),this.type="Light",this.color=new si(e),this.intensity=t}dispose(){}copy(e){return super.copy(e),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}};qs.prototype.isLight=!0;var av=class extends qs{constructor(e,t,n){super(e,n),this.type="HemisphereLight",this.position.copy(pn.DefaultUp),this.updateMatrix(),this.groundColor=new si(t)}copy(e){return qs.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}};av.prototype.isHemisphereLight=!0;var $R=new Ti,YR=new we,XR=new we,ov=class{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.mapSize=new zt(512,512),this.map=null,this.mapPass=null,this.matrix=new Ti,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Gp,this._frameExtents=new zt(1,1),this._viewportCount=1,this._viewports=[new Kn(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;YR.setFromMatrixPosition(e.matrixWorld),t.position.copy(YR),XR.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(XR),t.updateMatrixWorld(),$R.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix($R),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(t.projectionMatrix),n.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},_k=class extends ov{constructor(){super(new Uo(50,1,.5,500)),this.focus=1}updateMatrices(e){let t=this.camera,n=fg*2*e.angle*this.focus,a=this.mapSize.width/this.mapSize.height,o=e.distance||t.far;(n!==t.fov||a!==t.aspect||o!==t.far)&&(t.fov=n,t.aspect=a,t.far=o,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}};_k.prototype.isSpotLightShadow=!0;var rv=class extends qs{constructor(e,t,n=0,a=Math.PI/3,o=0,r=1){super(e,t),this.type="SpotLight",this.position.copy(pn.DefaultUp),this.updateMatrix(),this.target=new pn,this.distance=n,this.angle=a,this.penumbra=o,this.decay=r,this.shadow=new _k}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}};rv.prototype.isSpotLight=!0;var JR=new Ti,Qf=new we,yz=new we,hk=class extends ov{constructor(){super(new Uo(90,1,.5,500)),this._frameExtents=new zt(4,2),this._viewportCount=6,this._viewports=[new Kn(2,1,1,1),new Kn(0,1,1,1),new Kn(3,1,1,1),new Kn(1,1,1,1),new Kn(3,0,1,1),new Kn(1,0,1,1)],this._cubeDirections=[new we(1,0,0),new we(-1,0,0),new we(0,0,1),new we(0,0,-1),new we(0,1,0),new we(0,-1,0)],this._cubeUps=[new we(0,1,0),new we(0,1,0),new we(0,1,0),new we(0,1,0),new we(0,0,1),new we(0,0,-1)]}updateMatrices(e,t=0){let n=this.camera,a=this.matrix,o=e.distance||n.far;o!==n.far&&(n.far=o,n.updateProjectionMatrix()),Qf.setFromMatrixPosition(e.matrixWorld),n.position.copy(Qf),yz.copy(n.position),yz.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(yz),n.updateMatrixWorld(),a.makeTranslation(-Qf.x,-Qf.y,-Qf.z),JR.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(JR)}};hk.prototype.isPointLightShadow=!0;var sv=class extends qs{constructor(e,t,n=0,a=1){super(e,t),this.type="PointLight",this.distance=n,this.decay=a,this.shadow=new hk}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}};sv.prototype.isPointLight=!0;var em=class extends Hp{constructor(e=-1,t=1,n=1,a=-1,o=.1,r=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=a,this.near=o,this.far=r,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,a,o,r){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=a,this.view.width=o,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,a=(this.top+this.bottom)/2,o=n-e,r=n+e,s=a+t,l=a-t;if(this.view!==null&&this.view.enabled){let c=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;o+=c*this.view.offsetX,r=o+c*this.view.width,s-=d*this.view.offsetY,l=s-d*this.view.height}this.projectionMatrix.makeOrthographic(o,r,s,l,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}};em.prototype.isOrthographicCamera=!0;var fk=class extends ov{constructor(){super(new em(-5,5,5,-5,.5,500))}};fk.prototype.isDirectionalLightShadow=!0;var lv=class extends qs{constructor(e,t){super(e,t),this.type="DirectionalLight",this.position.copy(pn.DefaultUp),this.updateMatrix(),this.target=new pn,this.shadow=new fk}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}};lv.prototype.isDirectionalLight=!0;var cv=class extends qs{constructor(e,t){super(e,t),this.type="AmbientLight"}};cv.prototype.isAmbientLight=!0;var dv=class extends qs{constructor(e,t,n=10,a=10){super(e,t),this.type="RectAreaLight",this.width=n,this.height=a}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){let t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}};dv.prototype.isRectAreaLight=!0;var uv=class{constructor(){this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new we)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){let n=e.x,a=e.y,o=e.z,r=this.coefficients;return t.copy(r[0]).multiplyScalar(.282095),t.addScaledVector(r[1],.488603*a),t.addScaledVector(r[2],.488603*o),t.addScaledVector(r[3],.488603*n),t.addScaledVector(r[4],1.092548*(n*a)),t.addScaledVector(r[5],1.092548*(a*o)),t.addScaledVector(r[6],.315392*(3*o*o-1)),t.addScaledVector(r[7],1.092548*(n*o)),t.addScaledVector(r[8],.546274*(n*n-a*a)),t}getIrradianceAt(e,t){let n=e.x,a=e.y,o=e.z,r=this.coefficients;return t.copy(r[0]).multiplyScalar(.886227),t.addScaledVector(r[1],2*.511664*a),t.addScaledVector(r[2],2*.511664*o),t.addScaledVector(r[3],2*.511664*n),t.addScaledVector(r[4],2*.429043*n*a),t.addScaledVector(r[5],2*.429043*a*o),t.addScaledVector(r[6],.743125*o*o-.247708),t.addScaledVector(r[7],2*.429043*n*o),t.addScaledVector(r[8],.429043*(n*n-a*a)),t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){let n=this.coefficients;for(let a=0;a<9;a++)n[a].fromArray(e,t+a*3);return this}toArray(e=[],t=0){let n=this.coefficients;for(let a=0;a<9;a++)n[a].toArray(e,t+a*3);return e}static getBasisAt(e,t){let n=e.x,a=e.y,o=e.z;t[0]=.282095,t[1]=.488603*a,t[2]=.488603*o,t[3]=.488603*n,t[4]=1.092548*n*a,t[5]=1.092548*a*o,t[6]=.315392*(3*o*o-1),t[7]=1.092548*n*o,t[8]=.546274*(n*n-a*a)}};uv.prototype.isSphericalHarmonics3=!0;var tm=class extends qs{constructor(e=new uv,t=1){super(void 0,t),this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){let t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}};tm.prototype.isLightProbe=!0;var gk=class extends pr{constructor(e){super(e),this.textures={}}load(e,t,n,a){let o=this,r=new gl(o.manager);r.setPath(o.path),r.setRequestHeader(o.requestHeader),r.setWithCredentials(o.withCredentials),r.load(e,function(s){try{t(o.parse(JSON.parse(s)))}catch(l){a?a(l):console.error(l),o.manager.itemError(e)}},n,a)}parse(e){let t=this.textures;function n(o){return t[o]===void 0&&console.warn("THREE.MaterialLoader: Undefined texture",o),t[o]}let a=new qW[e.type];if(e.uuid!==void 0&&(a.uuid=e.uuid),e.name!==void 0&&(a.name=e.name),e.color!==void 0&&a.color!==void 0&&a.color.setHex(e.color),e.roughness!==void 0&&(a.roughness=e.roughness),e.metalness!==void 0&&(a.metalness=e.metalness),e.sheen!==void 0&&(a.sheen=new si().setHex(e.sheen)),e.emissive!==void 0&&a.emissive!==void 0&&a.emissive.setHex(e.emissive),e.specular!==void 0&&a.specular!==void 0&&a.specular.setHex(e.specular),e.shininess!==void 0&&(a.shininess=e.shininess),e.clearcoat!==void 0&&(a.clearcoat=e.clearcoat),e.clearcoatRoughness!==void 0&&(a.clearcoatRoughness=e.clearcoatRoughness),e.transmission!==void 0&&(a.transmission=e.transmission),e.thickness!==void 0&&(a.thickness=e.thickness),e.attenuationDistance!==void 0&&(a.attenuationDistance=e.attenuationDistance),e.attenuationColor!==void 0&&a.attenuationColor!==void 0&&a.attenuationColor.setHex(e.attenuationColor),e.fog!==void 0&&(a.fog=e.fog),e.flatShading!==void 0&&(a.flatShading=e.flatShading),e.blending!==void 0&&(a.blending=e.blending),e.combine!==void 0&&(a.combine=e.combine),e.side!==void 0&&(a.side=e.side),e.shadowSide!==void 0&&(a.shadowSide=e.shadowSide),e.opacity!==void 0&&(a.opacity=e.opacity),e.transparent!==void 0&&(a.transparent=e.transparent),e.alphaTest!==void 0&&(a.alphaTest=e.alphaTest),e.depthTest!==void 0&&(a.depthTest=e.depthTest),e.depthWrite!==void 0&&(a.depthWrite=e.depthWrite),e.colorWrite!==void 0&&(a.colorWrite=e.colorWrite),e.stencilWrite!==void 0&&(a.stencilWrite=e.stencilWrite),e.stencilWriteMask!==void 0&&(a.stencilWriteMask=e.stencilWriteMask),e.stencilFunc!==void 0&&(a.stencilFunc=e.stencilFunc),e.stencilRef!==void 0&&(a.stencilRef=e.stencilRef),e.stencilFuncMask!==void 0&&(a.stencilFuncMask=e.stencilFuncMask),e.stencilFail!==void 0&&(a.stencilFail=e.stencilFail),e.stencilZFail!==void 0&&(a.stencilZFail=e.stencilZFail),e.stencilZPass!==void 0&&(a.stencilZPass=e.stencilZPass),e.wireframe!==void 0&&(a.wireframe=e.wireframe),e.wireframeLinewidth!==void 0&&(a.wireframeLinewidth=e.wireframeLinewidth),e.wireframeLinecap!==void 0&&(a.wireframeLinecap=e.wireframeLinecap),e.wireframeLinejoin!==void 0&&(a.wireframeLinejoin=e.wireframeLinejoin),e.rotation!==void 0&&(a.rotation=e.rotation),e.linewidth!==1&&(a.linewidth=e.linewidth),e.dashSize!==void 0&&(a.dashSize=e.dashSize),e.gapSize!==void 0&&(a.gapSize=e.gapSize),e.scale!==void 0&&(a.scale=e.scale),e.polygonOffset!==void 0&&(a.polygonOffset=e.polygonOffset),e.polygonOffsetFactor!==void 0&&(a.polygonOffsetFactor=e.polygonOffsetFactor),e.polygonOffsetUnits!==void 0&&(a.polygonOffsetUnits=e.polygonOffsetUnits),e.morphTargets!==void 0&&(a.morphTargets=e.morphTargets),e.morphNormals!==void 0&&(a.morphNormals=e.morphNormals),e.dithering!==void 0&&(a.dithering=e.dithering),e.alphaToCoverage!==void 0&&(a.alphaToCoverage=e.alphaToCoverage),e.premultipliedAlpha!==void 0&&(a.premultipliedAlpha=e.premultipliedAlpha),e.vertexTangents!==void 0&&(a.vertexTangents=e.vertexTangents),e.visible!==void 0&&(a.visible=e.visible),e.toneMapped!==void 0&&(a.toneMapped=e.toneMapped),e.userData!==void 0&&(a.userData=e.userData),e.vertexColors!==void 0&&(typeof e.vertexColors=="number"?a.vertexColors=e.vertexColors>0:a.vertexColors=e.vertexColors),e.uniforms!==void 0)for(let o in e.uniforms){let r=e.uniforms[o];switch(a.uniforms[o]={},r.type){case"t":a.uniforms[o].value=n(r.value);break;case"c":a.uniforms[o].value=new si().setHex(r.value);break;case"v2":a.uniforms[o].value=new zt().fromArray(r.value);break;case"v3":a.uniforms[o].value=new we().fromArray(r.value);break;case"v4":a.uniforms[o].value=new Kn().fromArray(r.value);break;case"m3":a.uniforms[o].value=new Eo().fromArray(r.value);break;case"m4":a.uniforms[o].value=new Ti().fromArray(r.value);break;default:a.uniforms[o].value=r.value}}if(e.defines!==void 0&&(a.defines=e.defines),e.vertexShader!==void 0&&(a.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(a.fragmentShader=e.fragmentShader),e.extensions!==void 0)for(let o in e.extensions)a.extensions[o]=e.extensions[o];if(e.shading!==void 0&&(a.flatShading=e.shading===1),e.size!==void 0&&(a.size=e.size),e.sizeAttenuation!==void 0&&(a.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(a.map=n(e.map)),e.matcap!==void 0&&(a.matcap=n(e.matcap)),e.alphaMap!==void 0&&(a.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(a.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(a.bumpScale=e.bumpScale),e.normalMap!==void 0&&(a.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(a.normalMapType=e.normalMapType),e.normalScale!==void 0){let o=e.normalScale;Array.isArray(o)===!1&&(o=[o,o]),a.normalScale=new zt().fromArray(o)}return e.displacementMap!==void 0&&(a.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(a.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(a.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(a.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(a.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(a.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(a.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(a.specularMap=n(e.specularMap)),e.envMap!==void 0&&(a.envMap=n(e.envMap)),e.envMapIntensity!==void 0&&(a.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(a.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(a.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(a.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(a.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(a.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(a.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(a.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(a.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(a.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(a.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(a.clearcoatNormalScale=new zt().fromArray(e.clearcoatNormalScale)),e.transmissionMap!==void 0&&(a.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(a.thicknessMap=n(e.thicknessMap)),a}setTextures(e){return this.textures=e,this}},pv=class{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,a=e.length;n<a;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){let t=e.lastIndexOf("/");return t===-1?"./":e.substr(0,t+1)}},mv=class extends Ki{constructor(){super(),this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}clone(){return new this.constructor().copy(this)}toJSON(){let e=super.toJSON(this);return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}};mv.prototype.isInstancedBufferGeometry=!0;var _v=class extends un{constructor(e,t,n,a){typeof n=="number"&&(a=n,n=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),super(e,t,n),this.meshPerAttribute=a||1}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){let e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}};_v.prototype.isInstancedBufferAttribute=!0;var vk=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=new gl(o.manager);r.setPath(o.path),r.setRequestHeader(o.requestHeader),r.setWithCredentials(o.withCredentials),r.load(e,function(s){try{t(o.parse(JSON.parse(s)))}catch(l){a?a(l):console.error(l),o.manager.itemError(e)}},n,a)}parse(e){let t={},n={};function a(m,_){if(t[_]!==void 0)return t[_];let g=m.interleavedBuffers[_],v=o(m,g.buffer),b=tg(g.type,v),x=new wd(b,g.stride);return x.uuid=g.uuid,t[_]=x,x}function o(m,_){if(n[_]!==void 0)return n[_];let g=m.arrayBuffers[_],v=new Uint32Array(g).buffer;return n[_]=v,v}let r=e.isInstancedBufferGeometry?new mv:new Ki,s=e.data.index;if(s!==void 0){let m=tg(s.type,s.array);r.setIndex(new un(m,1))}let l=e.data.attributes;for(let m in l){let _=l[m],f;if(_.isInterleavedBufferAttribute){let g=a(e.data,_.data);f=new Mu(g,_.itemSize,_.offset,_.normalized)}else{let g=tg(_.type,_.array),v=_.isInstancedBufferAttribute?_v:un;f=new v(g,_.itemSize,_.normalized)}_.name!==void 0&&(f.name=_.name),_.usage!==void 0&&f.setUsage(_.usage),_.updateRange!==void 0&&(f.updateRange.offset=_.updateRange.offset,f.updateRange.count=_.updateRange.count),r.setAttribute(m,f)}let c=e.data.morphAttributes;if(c)for(let m in c){let _=c[m],f=[];for(let g=0,v=_.length;g<v;g++){let b=_[g],x;if(b.isInterleavedBufferAttribute){let w=a(e.data,b.data);x=new Mu(w,b.itemSize,b.offset,b.normalized)}else{let w=tg(b.type,b.array);x=new un(w,b.itemSize,b.normalized)}b.name!==void 0&&(x.name=b.name),f.push(x)}r.morphAttributes[m]=f}e.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);let u=e.data.groups||e.data.drawcalls||e.data.offsets;if(u!==void 0)for(let m=0,_=u.length;m!==_;++m){let f=u[m];r.addGroup(f.start,f.count,f.materialIndex)}let p=e.data.boundingSphere;if(p!==void 0){let m=new we;p.center!==void 0&&m.fromArray(p.center),r.boundingSphere=new fl(m,p.radius)}return e.name&&(r.name=e.name),e.userData&&(r.userData=e.userData),r}},Xz=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=this.path===""?pv.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;let s=new gl(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,function(l){let c=null;try{c=JSON.parse(l)}catch(u){a!==void 0&&a(u),console.error("THREE:ObjectLoader: Can't parse "+e+".",u.message);return}let d=c.metadata;if(d===void 0||d.type===void 0||d.type.toLowerCase()==="geometry"){console.error("THREE.ObjectLoader: Can't load "+e);return}o.parse(c,t)},n,a)}parse(e,t){let n=this.parseAnimations(e.animations),a=this.parseShapes(e.shapes),o=this.parseGeometries(e.geometries,a),r=this.parseImages(e.images,function(){t!==void 0&&t(c)}),s=this.parseTextures(e.textures,r),l=this.parseMaterials(e.materials,s),c=this.parseObject(e.object,o,l,n),d=this.parseSkeletons(e.skeletons,c);if(this.bindSkeletons(c,d),t!==void 0){let u=!1;for(let p in r)if(r[p]instanceof HTMLImageElement){u=!0;break}u===!1&&t(c)}return c}parseShapes(e){let t={};if(e!==void 0)for(let n=0,a=e.length;n<a;n++){let o=new Ec().fromJSON(e[n]);t[o.uuid]=o}return t}parseSkeletons(e,t){let n={},a={};if(t.traverse(function(o){o.isBone&&(a[o.uuid]=o)}),e!==void 0)for(let o=0,r=e.length;o<r;o++){let s=new ik().fromJSON(e[o],a);n[s.uuid]=s}return n}parseGeometries(e,t){let n={},a;if(e!==void 0){let o=new vk;for(let r=0,s=e.length;r<s;r++){let l,c=e[r];switch(c.type){case"PlaneGeometry":case"PlaneBufferGeometry":l=new Qr[c.type](c.width,c.height,c.widthSegments,c.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":l=new Qr[c.type](c.width,c.height,c.depth,c.widthSegments,c.heightSegments,c.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":l=new Qr[c.type](c.radius,c.segments,c.thetaStart,c.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":l=new Qr[c.type](c.radiusTop,c.radiusBottom,c.height,c.radialSegments,c.heightSegments,c.openEnded,c.thetaStart,c.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":l=new Qr[c.type](c.radius,c.height,c.radialSegments,c.heightSegments,c.openEnded,c.thetaStart,c.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":l=new Qr[c.type](c.radius,c.widthSegments,c.heightSegments,c.phiStart,c.phiLength,c.thetaStart,c.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":l=new Qr[c.type](c.radius,c.detail);break;case"RingGeometry":case"RingBufferGeometry":l=new Qr[c.type](c.innerRadius,c.outerRadius,c.thetaSegments,c.phiSegments,c.thetaStart,c.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":l=new Qr[c.type](c.radius,c.tube,c.radialSegments,c.tubularSegments,c.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":l=new Qr[c.type](c.radius,c.tube,c.tubularSegments,c.radialSegments,c.p,c.q);break;case"TubeGeometry":case"TubeBufferGeometry":l=new Qr[c.type](new Yz[c.path.type]().fromJSON(c.path),c.tubularSegments,c.radius,c.radialSegments,c.closed);break;case"LatheGeometry":case"LatheBufferGeometry":l=new Qr[c.type](c.points,c.segments,c.phiStart,c.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":l=new Qr[c.type](c.vertices,c.indices,c.radius,c.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":a=[];for(let u=0,p=c.shapes.length;u<p;u++){let m=t[c.shapes[u]];a.push(m)}l=new Qr[c.type](a,c.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":a=[];for(let u=0,p=c.shapes.length;u<p;u++){let m=t[c.shapes[u]];a.push(m)}let d=c.options.extrudePath;d!==void 0&&(c.options.extrudePath=new Yz[d.type]().fromJSON(d)),l=new Qr[c.type](a,c.options);break;case"BufferGeometry":case"InstancedBufferGeometry":l=o.parse(c);break;case"Geometry":console.error('THREE.ObjectLoader: Loading "Geometry" is not supported anymore.');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+c.type+'"');continue}l.uuid=c.uuid,c.name!==void 0&&(l.name=c.name),l.isBufferGeometry===!0&&c.userData!==void 0&&(l.userData=c.userData),n[c.uuid]=l}}return n}parseMaterials(e,t){let n={},a={};if(e!==void 0){let o=new gk;o.setTextures(t);for(let r=0,s=e.length;r<s;r++){let l=e[r];if(l.type==="MultiMaterial"){let c=[];for(let d=0;d<l.materials.length;d++){let u=l.materials[d];n[u.uuid]===void 0&&(n[u.uuid]=o.parse(u)),c.push(n[u.uuid])}a[l.uuid]=c}else n[l.uuid]===void 0&&(n[l.uuid]=o.parse(l)),a[l.uuid]=n[l.uuid]}}return a}parseAnimations(e){let t={};if(e!==void 0)for(let n=0;n<e.length;n++){let a=e[n],o=Yp.parse(a);t[o.uuid]=o}return t}parseImages(e,t){let n=this,a={},o;function r(l){return n.manager.itemStart(l),o.load(l,function(){n.manager.itemEnd(l)},void 0,function(){n.manager.itemError(l),n.manager.itemEnd(l)})}function s(l){if(typeof l=="string"){let c=l,d=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(c)?c:n.resourcePath+c;return r(d)}else return l.data?{data:tg(l.type,l.data),width:l.width,height:l.height}:null}if(e!==void 0&&e.length>0){let l=new Qg(t);o=new sh(l),o.setCrossOrigin(this.crossOrigin);for(let c=0,d=e.length;c<d;c++){let u=e[c],p=u.url;if(Array.isArray(p)){a[u.uuid]=[];for(let m=0,_=p.length;m<_;m++){let f=p[m],g=s(f);g!==null&&(g instanceof HTMLImageElement?a[u.uuid].push(g):a[u.uuid].push(new Tu(g.data,g.width,g.height)))}}else{let m=s(u.url);m!==null&&(a[u.uuid]=m)}}}return a}parseTextures(e,t){function n(o,r){return typeof o=="number"?o:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",o),r[o])}let a={};if(e!==void 0)for(let o=0,r=e.length;o<r;o++){let s=e[o];s.image===void 0&&console.warn('THREE.ObjectLoader: No "image" specified for',s.uuid),t[s.image]===void 0&&console.warn("THREE.ObjectLoader: Undefined image",s.image);let l,c=t[s.image];Array.isArray(c)?(l=new zu(c),c.length===6&&(l.needsUpdate=!0)):(c&&c.data?l=new Tu(c.data,c.width,c.height):l=new Oo(c),c&&(l.needsUpdate=!0)),l.uuid=s.uuid,s.name!==void 0&&(l.name=s.name),s.mapping!==void 0&&(l.mapping=n(s.mapping,t7)),s.offset!==void 0&&l.offset.fromArray(s.offset),s.repeat!==void 0&&l.repeat.fromArray(s.repeat),s.center!==void 0&&l.center.fromArray(s.center),s.rotation!==void 0&&(l.rotation=s.rotation),s.wrap!==void 0&&(l.wrapS=n(s.wrap[0],ZR),l.wrapT=n(s.wrap[1],ZR)),s.format!==void 0&&(l.format=s.format),s.type!==void 0&&(l.type=s.type),s.encoding!==void 0&&(l.encoding=s.encoding),s.minFilter!==void 0&&(l.minFilter=n(s.minFilter,QR)),s.magFilter!==void 0&&(l.magFilter=n(s.magFilter,QR)),s.anisotropy!==void 0&&(l.anisotropy=s.anisotropy),s.flipY!==void 0&&(l.flipY=s.flipY),s.premultiplyAlpha!==void 0&&(l.premultiplyAlpha=s.premultiplyAlpha),s.unpackAlignment!==void 0&&(l.unpackAlignment=s.unpackAlignment),a[s.uuid]=l}return a}parseObject(e,t,n,a){let o;function r(d){return t[d]===void 0&&console.warn("THREE.ObjectLoader: Undefined geometry",d),t[d]}function s(d){if(d!==void 0){if(Array.isArray(d)){let u=[];for(let p=0,m=d.length;p<m;p++){let _=d[p];n[_]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",_),u.push(n[_])}return u}return n[d]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",d),n[d]}}let l,c;switch(e.type){case"Scene":o=new Z_,e.background!==void 0&&Number.isInteger(e.background)&&(o.background=new si(e.background)),e.fog!==void 0&&(e.fog.type==="Fog"?o.fog=new kg(e.fog.color,e.fog.near,e.fog.far):e.fog.type==="FogExp2"&&(o.fog=new xg(e.fog.color,e.fog.density)));break;case"PerspectiveCamera":o=new Uo(e.fov,e.aspect,e.near,e.far),e.focus!==void 0&&(o.focus=e.focus),e.zoom!==void 0&&(o.zoom=e.zoom),e.filmGauge!==void 0&&(o.filmGauge=e.filmGauge),e.filmOffset!==void 0&&(o.filmOffset=e.filmOffset),e.view!==void 0&&(o.view=Object.assign({},e.view));break;case"OrthographicCamera":o=new em(e.left,e.right,e.top,e.bottom,e.near,e.far),e.zoom!==void 0&&(o.zoom=e.zoom),e.view!==void 0&&(o.view=Object.assign({},e.view));break;case"AmbientLight":o=new cv(e.color,e.intensity);break;case"DirectionalLight":o=new lv(e.color,e.intensity);break;case"PointLight":o=new sv(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":o=new dv(e.color,e.intensity,e.width,e.height);break;case"SpotLight":o=new rv(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":o=new av(e.color,e.groundColor,e.intensity);break;case"LightProbe":o=new tm().fromJSON(e);break;case"SkinnedMesh":l=r(e.geometry),c=s(e.material),o=new th(l,c),e.bindMode!==void 0&&(o.bindMode=e.bindMode),e.bindMatrix!==void 0&&o.bindMatrix.fromArray(e.bindMatrix),e.skeleton!==void 0&&(o.skeleton=e.skeleton);break;case"Mesh":l=r(e.geometry),c=s(e.material),o=new Ga(l,c);break;case"InstancedMesh":l=r(e.geometry),c=s(e.material);let d=e.count,u=e.instanceMatrix,p=e.instanceColor;o=new wg(l,c,d),o.instanceMatrix=new un(new Float32Array(u.array),16),p!==void 0&&(o.instanceColor=new un(new Float32Array(p.array),p.itemSize));break;case"LOD":o=new tk;break;case"Line":o=new Gl(r(e.geometry),s(e.material));break;case"LineLoop":o=new Sg(r(e.geometry),s(e.material));break;case"LineSegments":o=new Nr(r(e.geometry),s(e.material));break;case"PointCloud":case"Points":o=new qp(r(e.geometry),s(e.material));break;case"Sprite":o=new eh(s(e.material));break;case"Group":o=new bd;break;case"Bone":o=new ih;break;default:o=new pn}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){let d=e.children;for(let u=0;u<d.length;u++)o.add(this.parseObject(d[u],t,n,a))}if(e.animations!==void 0){let d=e.animations;for(let u=0;u<d.length;u++){let p=d[u];o.animations.push(a[p])}}if(e.type==="LOD"){e.autoUpdate!==void 0&&(o.autoUpdate=e.autoUpdate);let d=e.levels;for(let u=0;u<d.length;u++){let p=d[u],m=o.getObjectByProperty("uuid",p.object);m!==void 0&&o.addLevel(m,p.distance)}}return o}bindSkeletons(e,t){Object.keys(t).length!==0&&e.traverse(function(n){if(n.isSkinnedMesh===!0&&n.skeleton!==void 0){let a=t[n.skeleton];a===void 0?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",n.skeleton):n.bind(a,n.bindMatrix)}})}setTexturePath(e){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(e)}},t7={UVMapping:Vk,CubeReflectionMapping:vv,CubeRefractionMapping:bv,EquirectangularReflectionMapping:Lx,EquirectangularRefractionMapping:Nx,CubeUVReflectionMapping:ch,CubeUVRefractionMapping:yv},ZR={RepeatWrapping:cg,ClampToEdgeWrapping:zr,MirroredRepeatWrapping:dg},QR={NearestFilter:no,NearestMipmapNearestFilter:Hx,NearestMipmapLinearFilter:Gx,LinearFilter:rr,LinearMipmapNearestFilter:kE,LinearMipmapLinearFilter:am},bk=class extends pr{constructor(e){super(e),typeof createImageBitmap>"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,a){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);let o=this,r=Xp.get(e);if(r!==void 0)return o.manager.itemStart(e),setTimeout(function(){t&&t(r),o.manager.itemEnd(e)},0),r;let s={};s.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",s.headers=this.requestHeader,fetch(e,s).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign(o.options,{colorSpaceConversion:"none"}))}).then(function(l){Xp.add(e,l),t&&t(l),o.manager.itemEnd(e)}).catch(function(l){a&&a(l),o.manager.itemError(e),o.manager.itemEnd(e)}),o.manager.itemStart(e)}};bk.prototype.isImageBitmapLoader=!0;var yk=class{constructor(){this.type="ShapePath",this.color=new si,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Qp,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,a){return this.currentPath.quadraticCurveTo(e,t,n,a),this}bezierCurveTo(e,t,n,a,o,r){return this.currentPath.bezierCurveTo(e,t,n,a,o,r),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e,t){function n(b){let x=[];for(let w=0,E=b.length;w<E;w++){let y=b[w],A=new Ec;A.curves=y.curves,x.push(A)}return x}function a(b,x){let w=x.length,E=!1;for(let y=w-1,A=0;A<w;y=A++){let R=x[y],j=x[A],F=j.x-R.x,O=j.y-R.y;if(Math.abs(O)>Number.EPSILON){if(O<0&&(R=x[A],F=-F,j=x[y],O=-O),b.y<R.y||b.y>j.y)continue;if(b.y===R.y){if(b.x===R.x)return!0}else{let L=O*(b.x-R.x)-F*(b.y-R.y);if(L===0)return!0;if(L<0)continue;E=!E}}else{if(b.y!==R.y)continue;if(j.x<=b.x&&b.x<=R.x||R.x<=b.x&&b.x<=j.x)return!0}}return E}let o=zc.isClockWise,r=this.subPaths;if(r.length===0)return[];if(t===!0)return n(r);let s,l,c,d=[];if(r.length===1)return l=r[0],c=new Ec,c.curves=l.curves,d.push(c),d;let u=!o(r[0].getPoints());u=e?!u:u;let p=[],m=[],_=[],f=0,g;m[f]=void 0,_[f]=[];for(let b=0,x=r.length;b<x;b++)l=r[b],g=l.getPoints(),s=o(g),s=e?!s:s,s?(!u&&m[f]&&f++,m[f]={s:new Ec,p:g},m[f].s.curves=l.curves,u&&f++,_[f]=[]):_[f].push({h:l,p:g[0]});if(!m[0])return n(r);if(m.length>1){let b=!1,x=[];for(let w=0,E=m.length;w<E;w++)p[w]=[];for(let w=0,E=m.length;w<E;w++){let y=_[w];for(let A=0;A<y.length;A++){let R=y[A],j=!0;for(let F=0;F<m.length;F++)a(R.p,m[F].p)&&(w!==F&&x.push({froms:w,tos:F,hole:A}),j?(j=!1,p[F].push(R)):b=!0);j&&p[w].push(R)}}x.length>0&&(b||(_=p))}let v;for(let b=0,x=m.length;b<x;b++){c=m[b].s,d.push(c),v=_[b];for(let w=0,E=v.length;w<E;w++)c.holes.push(v[w].h)}return d}},hv=class{constructor(e){this.type="Font",this.data=e}generateShapes(e,t=100){let n=[],a=i7(e,t,this.data);for(let o=0,r=a.length;o<r;o++)Array.prototype.push.apply(n,a[o].toShapes());return n}};function i7(i,e,t){let n=Array.from(i),a=e/t.resolution,o=(t.boundingBox.yMax-t.boundingBox.yMin+t.underlineThickness)*a,r=[],s=0,l=0;for(let c=0;c<n.length;c++){let d=n[c];if(d===`
`)s=0,l-=o;else{let u=n7(d,a,s,l,t);s+=u.offsetX,r.push(u.path)}}return r}function n7(i,e,t,n,a){let o=a.glyphs[i]||a.glyphs["?"];if(!o){console.error('THREE.Font: character "'+i+'" does not exists in font family '+a.familyName+".");return}let r=new yk,s,l,c,d,u,p,m,_;if(o.o){let f=o._cachedOutline||(o._cachedOutline=o.o.split(" "));for(let g=0,v=f.length;g<v;)switch(f[g++]){case"m":s=f[g++]*e+t,l=f[g++]*e+n,r.moveTo(s,l);break;case"l":s=f[g++]*e+t,l=f[g++]*e+n,r.lineTo(s,l);break;case"q":c=f[g++]*e+t,d=f[g++]*e+n,u=f[g++]*e+t,p=f[g++]*e+n,r.quadraticCurveTo(u,p,c,d);break;case"b":c=f[g++]*e+t,d=f[g++]*e+n,u=f[g++]*e+t,p=f[g++]*e+n,m=f[g++]*e+t,_=f[g++]*e+n,r.bezierCurveTo(u,p,m,_,c,d);break}}return{offsetX:o.ha*e,path:r}}hv.prototype.isFont=!0;var Jz=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=new gl(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(o.withCredentials),r.load(e,function(s){let l;try{l=JSON.parse(s)}catch{console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),l=JSON.parse(s.substring(65,s.length-2))}let c=o.parse(l);t&&t(c)},n,a)}parse(e){return new hv(e)}},Ax,AE={getContext:function(){return Ax===void 0&&(Ax=new(window.AudioContext||window.webkitAudioContext)),Ax},setContext:function(i){Ax=i}},xk=class extends pr{constructor(e){super(e)}load(e,t,n,a){let o=this,r=new gl(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(e,function(s){try{let l=s.slice(0);AE.getContext().decodeAudioData(l,function(d){t(d)})}catch(l){a?a(l):console.error(l),o.manager.itemError(e)}},n,a)}},kk=class extends tm{constructor(e,t,n=1){super(void 0,n);let a=new si().set(e),o=new si().set(t),r=new we(a.r,a.g,a.b),s=new we(o.r,o.g,o.b),l=Math.sqrt(Math.PI),c=l*Math.sqrt(.75);this.sh.coefficients[0].copy(r).add(s).multiplyScalar(l),this.sh.coefficients[1].copy(r).sub(s).multiplyScalar(c)}};kk.prototype.isHemisphereLightProbe=!0;var wk=class extends tm{constructor(e,t=1){super(void 0,t);let n=new si().set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}};wk.prototype.isAmbientLightProbe=!0;var ej=new Ti,tj=new Ti,Zz=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Uo,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Uo,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){let t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep;let a=e.projectionMatrix.clone(),o=t.eyeSep/2,r=o*t.near/t.focus,s=t.near*Math.tan(Np*t.fov*.5)/t.zoom,l,c;tj.elements[12]=-o,ej.elements[12]=o,l=-s*t.aspect+r,c=s*t.aspect+r,a.elements[0]=2*t.near/(c-l),a.elements[8]=(c+l)/(c-l),this.cameraL.projectionMatrix.copy(a),l=-s*t.aspect-r,c=s*t.aspect-r,a.elements[0]=2*t.near/(c-l),a.elements[8]=(c+l)/(c-l),this.cameraR.projectionMatrix.copy(a)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(tj),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(ej)}},Sk=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=ij(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let t=ij();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}};function ij(){return(typeof performance>"u"?Date:performance).now()}var Pp=new we,nj=new Da,a7=new we,Bp=new we,Qz=class extends pn{constructor(){super(),this.type="AudioListener",this.context=AE.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Sk}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);let t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Pp,nj,a7),Bp.set(0,0,-1).applyQuaternion(nj),t.positionX){let a=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Pp.x,a),t.positionY.linearRampToValueAtTime(Pp.y,a),t.positionZ.linearRampToValueAtTime(Pp.z,a),t.forwardX.linearRampToValueAtTime(Bp.x,a),t.forwardY.linearRampToValueAtTime(Bp.y,a),t.forwardZ.linearRampToValueAtTime(Bp.z,a),t.upX.linearRampToValueAtTime(n.x,a),t.upY.linearRampToValueAtTime(n.y,a),t.upZ.linearRampToValueAtTime(n.z,a)}else t.setPosition(Pp.x,Pp.y,Pp.z),t.setOrientation(Bp.x,Bp.y,Bp.z,n.x,n.y,n.z)}},fv=class extends pn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){if(this.detune=e,this.source.detune!==void 0)return this.isPlaying===!0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}},Rp=new we,aj=new Da,o7=new we,jp=new we,eE=class extends fv{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(Rp,aj,o7),jp.set(0,0,1).applyQuaternion(aj);let t=this.panner;if(t.positionX){let n=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(Rp.x,n),t.positionY.linearRampToValueAtTime(Rp.y,n),t.positionZ.linearRampToValueAtTime(Rp.z,n),t.orientationX.linearRampToValueAtTime(jp.x,n),t.orientationY.linearRampToValueAtTime(jp.y,n),t.orientationZ.linearRampToValueAtTime(jp.z,n)}else t.setPosition(Rp.x,Rp.y,Rp.z),t.setOrientation(jp.x,jp.y,jp.z)}},zk=class{constructor(e,t=2048){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let e=0,t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}},Ek=class{constructor(e,t,n){this.binding=e,this.valueSize=n;let a,o,r;switch(t){case"quaternion":a=this._slerp,o=this._slerpAdditive,r=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(n*6),this._workIndex=5;break;case"string":case"bool":a=this._select,o=this._select,r=this._setAdditiveIdentityOther,this.buffer=new Array(n*5);break;default:a=this._lerp,o=this._lerpAdditive,r=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(n*5)}this._mixBufferRegion=a,this._mixBufferRegionAdditive=o,this._setIdentity=r,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){let n=this.buffer,a=this.valueSize,o=e*a+a,r=this.cumulativeWeight;if(r===0){for(let s=0;s!==a;++s)n[o+s]=n[s];r=t}else{r+=t;let s=t/r;this._mixBufferRegion(n,o,0,s,a)}this.cumulativeWeight=r}accumulateAdditive(e){let t=this.buffer,n=this.valueSize,a=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(t,a,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){let t=this.valueSize,n=this.buffer,a=e*t+t,o=this.cumulativeWeight,r=this.cumulativeWeightAdditive,s=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,o<1){let l=t*this._origIndex;this._mixBufferRegion(n,a,l,1-o,t)}r>0&&this._mixBufferRegionAdditive(n,a,this._addIndex*t,1,t);for(let l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){s.setValue(n,a);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,a=n*this._origIndex;e.getValue(t,a);for(let o=n,r=a;o!==r;++o)t[o]=t[a+o%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,a,o){if(a>=.5)for(let r=0;r!==o;++r)e[t+r]=e[n+r]}_slerp(e,t,n,a){Da.slerpFlat(e,t,e,t,e,n,a)}_slerpAdditive(e,t,n,a,o){let r=this._workIndex*o;Da.multiplyQuaternionsFlat(e,r,e,t,e,n),Da.slerpFlat(e,t,e,t,e,r,a)}_lerp(e,t,n,a,o){let r=1-a;for(let s=0;s!==o;++s){let l=t+s;e[l]=e[l]*r+e[n+s]*a}}_lerpAdditive(e,t,n,a,o){for(let r=0;r!==o;++r){let s=t+r;e[s]=e[s]+e[n+r]*a}}},CE="\\[\\]\\.:\\/",r7=new RegExp("["+CE+"]","g"),PE="[^"+CE+"]",s7="[^"+CE.replace("\\.","")+"]",l7=/((?:WC+[\/:])*)/.source.replace("WC",PE),c7=/(WCOD+)?/.source.replace("WCOD",s7),d7=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",PE),u7=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",PE),p7=new RegExp("^"+l7+c7+d7+u7+"$"),m7=["material","materials","bones"],tE=class{constructor(e,t,n){let a=n||pa.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,a)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,a=this._bindings[n];a!==void 0&&a.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let a=this._targetGroup.nCachedObjects_,o=n.length;a!==o;++a)n[a].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},pa=class i{constructor(e,t,n){this.path=t,this.parsedPath=n||i.parseTrackName(t),this.node=i.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new i.Composite(e,t,n):new i(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(r7,"")}static parseTrackName(e){let t=p7.exec(e);if(!t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},a=n.nodeName&&n.nodeName.lastIndexOf(".");if(a!==void 0&&a!==-1){let o=n.nodeName.substring(a+1);m7.indexOf(o)!==-1&&(n.nodeName=n.nodeName.substring(0,a),n.objectName=o)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(!t||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(o){for(let r=0;r<o.length;r++){let s=o[r];if(s.name===t||s.uuid===t)return s;let l=n(s.children);if(l)return l}return null},a=n(e.children);if(a)return a}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.node[this.propertyName]}_getValue_array(e,t){let n=this.resolvedProperty;for(let a=0,o=n.length;a!==o;++a)e[t++]=n[a]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let n=this.resolvedProperty;for(let a=0,o=n.length;a!==o;++a)n[a]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let n=this.resolvedProperty;for(let a=0,o=n.length;a!==o;++a)n[a]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){let n=this.resolvedProperty;for(let a=0,o=n.length;a!==o;++a)n[a]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node,t=this.parsedPath,n=t.objectName,a=t.propertyName,o=t.propertyIndex;if(e||(e=i.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");return}if(n){let c=t.objectIndex;switch(n){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let d=0;d<e.length;d++)if(e[d].name===c){c=d;break}break;default:if(e[n]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[n]}if(c!==void 0){if(e[c]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[c]}}let r=e[a];if(r===void 0){let c=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+c+"."+a+" but it wasn't found.",e);return}let s=this.Versioning.None;this.targetObject=e,e.needsUpdate!==void 0?s=this.Versioning.NeedsUpdate:e.matrixWorldNeedsUpdate!==void 0&&(s=this.Versioning.MatrixWorldNeedsUpdate);let l=this.BindingType.Direct;if(o!==void 0){if(a==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(e.geometry.isBufferGeometry){if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[o]!==void 0&&(o=e.morphTargetDictionary[o])}else{console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.",this);return}}l=this.BindingType.ArrayElement,this.resolvedProperty=r,this.propertyIndex=o}else r.fromArray!==void 0&&r.toArray!==void 0?(l=this.BindingType.HasFromToArray,this.resolvedProperty=r):Array.isArray(r)?(l=this.BindingType.EntireArray,this.resolvedProperty=r):this.propertyName=a;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};pa.Composite=tE;pa.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};pa.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};pa.prototype.GetterByBindingType=[pa.prototype._getValue_direct,pa.prototype._getValue_array,pa.prototype._getValue_arrayElement,pa.prototype._getValue_toArray];pa.prototype.SetterByBindingTypeAndVersioning=[[pa.prototype._setValue_direct,pa.prototype._setValue_direct_setNeedsUpdate,pa.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[pa.prototype._setValue_array,pa.prototype._setValue_array_setNeedsUpdate,pa.prototype._setValue_array_setMatrixWorldNeedsUpdate],[pa.prototype._setValue_arrayElement,pa.prototype._setValue_arrayElement_setNeedsUpdate,pa.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[pa.prototype._setValue_fromArray,pa.prototype._setValue_fromArray_setNeedsUpdate,pa.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Mk=class{constructor(){this.uuid=Ls(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;let e={};this._indicesByUUID=e;for(let n=0,a=arguments.length;n!==a;++n)e[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};let t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){let e=this._objects,t=this._indicesByUUID,n=this._paths,a=this._parsedPaths,o=this._bindings,r=o.length,s,l=e.length,c=this.nCachedObjects_;for(let d=0,u=arguments.length;d!==u;++d){let p=arguments[d],m=p.uuid,_=t[m];if(_===void 0){_=l++,t[m]=_,e.push(p);for(let f=0,g=r;f!==g;++f)o[f].push(new pa(p,n[f],a[f]))}else if(_<c){s=e[_];let f=--c,g=e[f];t[g.uuid]=_,e[_]=g,t[m]=f,e[f]=p;for(let v=0,b=r;v!==b;++v){let x=o[v],w=x[f],E=x[_];x[_]=w,E===void 0&&(E=new pa(p,n[v],a[v])),x[f]=E}}else e[_]!==s&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=c}remove(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,a=n.length,o=this.nCachedObjects_;for(let r=0,s=arguments.length;r!==s;++r){let l=arguments[r],c=l.uuid,d=t[c];if(d!==void 0&&d>=o){let u=o++,p=e[u];t[p.uuid]=d,e[d]=p,t[c]=u,e[u]=l;for(let m=0,_=a;m!==_;++m){let f=n[m],g=f[u],v=f[d];f[d]=g,f[u]=v}}}this.nCachedObjects_=o}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,a=n.length,o=this.nCachedObjects_,r=e.length;for(let s=0,l=arguments.length;s!==l;++s){let c=arguments[s],d=c.uuid,u=t[d];if(u!==void 0)if(delete t[d],u<o){let p=--o,m=e[p],_=--r,f=e[_];t[m.uuid]=u,e[u]=m,t[f.uuid]=p,e[p]=f,e.pop();for(let g=0,v=a;g!==v;++g){let b=n[g],x=b[p],w=b[_];b[u]=x,b[p]=w,b.pop()}}else{let p=--r,m=e[p];p>0&&(t[m.uuid]=u),e[u]=m,e.pop();for(let _=0,f=a;_!==f;++_){let g=n[_];g[u]=g[p],g.pop()}}}this.nCachedObjects_=o}subscribe_(e,t){let n=this._bindingsIndicesByPath,a=n[e],o=this._bindings;if(a!==void 0)return o[a];let r=this._paths,s=this._parsedPaths,l=this._objects,c=l.length,d=this.nCachedObjects_,u=new Array(c);a=o.length,n[e]=a,r.push(e),s.push(t),o.push(u);for(let p=d,m=l.length;p!==m;++p){let _=l[p];u[p]=new pa(_,e,t)}return u}unsubscribe_(e){let t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){let a=this._paths,o=this._parsedPaths,r=this._bindings,s=r.length-1,l=r[s],c=e[s];t[c]=n,r[n]=l,r.pop(),o[n]=o[s],o.pop(),a[n]=a[s],a.pop()}}};Mk.prototype.isAnimationObjectGroup=!0;var iE=class{constructor(e,t,n=null,a=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=a;let o=t.tracks,r=o.length,s=new Array(r),l={endingStart:Fp,endingEnd:Fp};for(let c=0;c!==r;++c){let d=o[c].createInterpolant(null);s[c]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=s,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=H3,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let a=this._clip.duration,o=e._clip.duration,r=o/a,s=a/o;e.warp(1,r,t),this.warp(s,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let a=this._mixer,o=a.time,r=this.timeScale,s=this._timeScaleInterpolant;s===null&&(s=a._lendControlInterpolant(),this._timeScaleInterpolant=s);let l=s.parameterPositions,c=s.sampleValues;return l[0]=o,l[1]=o+n,c[0]=e/r,c[1]=t/r,this}stopWarping(){let e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,a){if(!this.enabled){this._updateWeight(e);return}let o=this._startTime;if(o!==null){let l=(e-o)*n;if(l<0||n===0)return;this._startTime=null,t=n*l}t*=this._updateTimeScale(e);let r=this._updateTime(t),s=this._updateWeight(e);if(s>0){let l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case wE:for(let d=0,u=l.length;d!==u;++d)l[d].evaluate(r),c[d].accumulateAdditive(s);break;case Fk:default:for(let d=0,u=l.length;d!==u;++d)l[d].evaluate(r),c[d].accumulate(a,s)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let a=n.evaluate(e)[0];t*=a,e>n.parameterPositions[1]&&(this.stopFading(),a===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let a=n.evaluate(e)[0];t*=a,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,a=this.time+e,o=this._loopCount,r=n===G3;if(e===0)return o===-1?a:r&&(o&1)===1?t-a:a;if(n===N3){o===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(a>=t)a=t;else if(a<0)a=0;else{this.time=a;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=a,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(o===-1&&(e>=0?(o=0,this._setEndings(!0,this.repetitions===0,r)):this._setEndings(this.repetitions===0,!0,r)),a>=t||a<0){let s=Math.floor(a/t);a-=t*s,o+=Math.abs(s);let l=this.repetitions-o;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,a=e>0?t:0,this.time=a,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){let c=e<0;this._setEndings(c,!c,r)}else this._setEndings(!1,!1,r);this._loopCount=o,this.time=a,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:s})}}else this.time=a;if(r&&(o&1)===1)return t-a}return a}_setEndings(e,t,n){let a=this._interpolantSettings;n?(a.endingStart=Up,a.endingEnd=Up):(e?a.endingStart=this.zeroSlopeAtStart?Up:Fp:a.endingStart=hg,t?a.endingEnd=this.zeroSlopeAtEnd?Up:Fp:a.endingEnd=hg)}_scheduleFading(e,t,n){let a=this._mixer,o=a.time,r=this._weightInterpolant;r===null&&(r=a._lendControlInterpolant(),this._weightInterpolant=r);let s=r.parameterPositions,l=r.sampleValues;return s[0]=o,l[0]=t,s[1]=o+e,l[1]=n,this}},Tk=class extends Mc{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,a=e._clip.tracks,o=a.length,r=e._propertyBindings,s=e._interpolants,l=n.uuid,c=this._bindingsByRootAndName,d=c[l];d===void 0&&(d={},c[l]=d);for(let u=0;u!==o;++u){let p=a[u],m=p.name,_=d[m];if(_!==void 0)r[u]=_;else{if(_=r[u],_!==void 0){_._cacheIndex===null&&(++_.referenceCount,this._addInactiveBinding(_,l,m));continue}let f=t&&t._propertyBindings[u].binding.parsedPath;_=new Ek(pa.create(n,m,f),p.ValueTypeName,p.getValueSize()),++_.referenceCount,this._addInactiveBinding(_,l,m),r[u]=_}s[u].resultBuffer=_.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){let n=(e._localRoot||this._root).uuid,a=e._clip.uuid,o=this._actionsByClip[a];this._bindAction(e,o&&o.knownActions[0]),this._addInactiveAction(e,a,n)}let t=e._propertyBindings;for(let n=0,a=t.length;n!==a;++n){let o=t[n];o.useCount++===0&&(this._lendBinding(o),o.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let n=0,a=t.length;n!==a;++n){let o=t[n];--o.useCount===0&&(o.restoreOriginalState(),this._takeBackBinding(o))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){let t=e._cacheIndex;return t!==null&&t<this._nActiveActions}_addInactiveAction(e,t,n){let a=this._actions,o=this._actionsByClip,r=o[t];if(r===void 0)r={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,o[t]=r;else{let s=r.knownActions;e._byClipCacheIndex=s.length,s.push(e)}e._cacheIndex=a.length,a.push(e),r.actionByRoot[n]=e}_removeInactiveAction(e){let t=this._actions,n=t[t.length-1],a=e._cacheIndex;n._cacheIndex=a,t[a]=n,t.pop(),e._cacheIndex=null;let o=e._clip.uuid,r=this._actionsByClip,s=r[o],l=s.knownActions,c=l[l.length-1],d=e._byClipCacheIndex;c._byClipCacheIndex=d,l[d]=c,l.pop(),e._byClipCacheIndex=null;let u=s.actionByRoot,p=(e._localRoot||this._root).uuid;delete u[p],l.length===0&&delete r[o],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){let t=e._propertyBindings;for(let n=0,a=t.length;n!==a;++n){let o=t[n];--o.referenceCount===0&&this._removeInactiveBinding(o)}}_lendAction(e){let t=this._actions,n=e._cacheIndex,a=this._nActiveActions++,o=t[a];e._cacheIndex=a,t[a]=e,o._cacheIndex=n,t[n]=o}_takeBackAction(e){let t=this._actions,n=e._cacheIndex,a=--this._nActiveActions,o=t[a];e._cacheIndex=a,t[a]=e,o._cacheIndex=n,t[n]=o}_addInactiveBinding(e,t,n){let a=this._bindingsByRootAndName,o=this._bindings,r=a[t];r===void 0&&(r={},a[t]=r),r[n]=e,e._cacheIndex=o.length,o.push(e)}_removeInactiveBinding(e){let t=this._bindings,n=e.binding,a=n.rootNode.uuid,o=n.path,r=this._bindingsByRootAndName,s=r[a],l=t[t.length-1],c=e._cacheIndex;l._cacheIndex=c,t[c]=l,t.pop(),delete s[o],Object.keys(s).length===0&&delete r[a]}_lendBinding(e){let t=this._bindings,n=e._cacheIndex,a=this._nActiveBindings++,o=t[a];e._cacheIndex=a,t[a]=e,o._cacheIndex=n,t[n]=o}_takeBackBinding(e){let t=this._bindings,n=e._cacheIndex,a=--this._nActiveBindings,o=t[a];e._cacheIndex=a,t[a]=e,o._cacheIndex=n,t[n]=o}_lendControlInterpolant(){let e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return n===void 0&&(n=new Jg(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){let t=this._controlInterpolants,n=e.__cacheIndex,a=--this._nActiveControlInterpolants,o=t[a];e.__cacheIndex=a,t[a]=e,o.__cacheIndex=n,t[n]=o}clipAction(e,t,n){let a=t||this._root,o=a.uuid,r=typeof e=="string"?Yp.findByName(a,e):e,s=r!==null?r.uuid:e,l=this._actionsByClip[s],c=null;if(n===void 0&&(r!==null?n=r.blendMode:n=Fk),l!==void 0){let u=l.actionByRoot[o];if(u!==void 0&&u.blendMode===n)return u;c=l.knownActions[0],r===null&&(r=c._clip)}if(r===null)return null;let d=new iE(this,r,t,n);return this._bindAction(d,c),this._addInactiveAction(d,s,o),d}existingAction(e,t){let n=t||this._root,a=n.uuid,o=typeof e=="string"?Yp.findByName(n,e):e,r=o?o.uuid:e,s=this._actionsByClip[r];return s!==void 0&&s.actionByRoot[a]||null}stopAllAction(){let e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,a=this.time+=e,o=Math.sign(e),r=this._accuIndex^=1;for(let c=0;c!==n;++c)t[c]._update(a,e,o,r);let s=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)s[c].apply(r);return this}setTime(e){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){let t=this._actions,n=e.uuid,a=this._actionsByClip,o=a[n];if(o!==void 0){let r=o.knownActions;for(let s=0,l=r.length;s!==l;++s){let c=r[s];this._deactivateAction(c);let d=c._cacheIndex,u=t[t.length-1];c._cacheIndex=null,c._byClipCacheIndex=null,u._cacheIndex=d,t[d]=u,t.pop(),this._removeInactiveBindingsForAction(c)}delete a[n]}}uncacheRoot(e){let t=e.uuid,n=this._actionsByClip;for(let r in n){let s=n[r].actionByRoot,l=s[t];l!==void 0&&(this._deactivateAction(l),this._removeInactiveAction(l))}let a=this._bindingsByRootAndName,o=a[t];if(o!==void 0)for(let r in o){let s=o[r];s.restoreOriginalState(),this._removeInactiveBinding(s)}}uncacheAction(e,t){let n=this.existingAction(e,t);n!==null&&(this._deactivateAction(n),this._removeInactiveAction(n))}};Tk.prototype._controlInterpolantsResultBuffer=new Float32Array(1);var Ak=class i{constructor(e){typeof e=="string"&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),e=arguments[1]),this.value=e}clone(){return new i(this.value.clone===void 0?this.value:this.value.clone())}},Ck=class extends wd{constructor(e,t,n=1){super(e,t),this.meshPerAttribute=n||1}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){let t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){let t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}};Ck.prototype.isInstancedInterleavedBuffer=!0;var Pk=class{constructor(e,t,n,a,o){this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=a,this.count=o,this.version=0}set needsUpdate(e){e===!0&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}};Pk.prototype.isGLBufferAttribute=!0;var nE=class{constructor(e,t,n=0,a=1/0){this.ray=new Tc(e,t),this.near=n,this.far=a,this.camera=null,this.layers=new gg,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e,t=!1,n=[]){return aE(e,this,n,t),n.sort(oj),n}intersectObjects(e,t=!1,n=[]){for(let a=0,o=e.length;a<o;a++)aE(e[a],this,n,t);return n.sort(oj),n}};function oj(i,e){return i.distance-e.distance}function aE(i,e,t,n){if(i.layers.test(e.layers)&&i.raycast(e,t),n===!0){let a=i.children;for(let o=0,r=a.length;o<r;o++)aE(a[o],e,t,!0)}}var oE=class{constructor(e=1,t=0,n=0){return this.radius=e,this.phi=t,this.theta=n,this}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(Sr(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},rE=class{constructor(e=1,t=0,n=0){return this.radius=e,this.theta=t,this.y=n,this}set(e,t,n){return this.radius=e,this.theta=t,this.y=n,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}clone(){return new this.constructor().copy(this)}},rj=new zt,Ru=class{constructor(e=new zt(1/0,1/0),t=new zt(-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=rj.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return e===void 0&&(console.warn("THREE.Box2: .getCenter() target is now required"),e=new zt),this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return e===void 0&&(console.warn("THREE.Box2: .getSize() target is now required"),e=new zt),this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t===void 0&&(console.warn("THREE.Box2: .getParameter() target is now required"),t=new zt),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t===void 0&&(console.warn("THREE.Box2: .clampPoint() target is now required"),t=new zt),t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return rj.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};Ru.prototype.isBox2=!0;var sj=new we,Cx=new we,im=class{constructor(e=new we,t=new we){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e===void 0&&(console.warn("THREE.Line3: .getCenter() target is now required"),e=new we),e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e===void 0&&(console.warn("THREE.Line3: .delta() target is now required"),e=new we),e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return t===void 0&&(console.warn("THREE.Line3: .at() target is now required"),t=new we),this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){sj.subVectors(e,this.start),Cx.subVectors(this.end,this.start);let n=Cx.dot(Cx),o=Cx.dot(sj)/n;return t&&(o=Sr(o,0,1)),o}closestPointToPoint(e,t,n){let a=this.closestPointToPointParameter(e,t);return n===void 0&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new we),this.delta(n).multiplyScalar(a).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},Bk=class extends pn{constructor(e){super(),this.material=e,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}};Bk.prototype.isImmediateRenderObject=!0;var lj=new we,sE=class extends pn{constructor(e,t){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;let n=new Ki,a=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let r=0,s=1,l=32;r<l;r++,s++){let c=r/l*Math.PI*2,d=s/l*Math.PI*2;a.push(Math.cos(c),Math.sin(c),1,Math.cos(d),Math.sin(d),1)}n.setAttribute("position",new _i(a,3));let o=new No({fog:!1,toneMapped:!1});this.cone=new Nr(n,o),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateMatrixWorld();let e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),lj.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(lj),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},vu=new we,Px=new Ti,xz=new Ti,Rk=class extends Nr{constructor(e){let t=gI(e),n=new Ki,a=[],o=[],r=new si(0,0,1),s=new si(0,1,0);for(let c=0;c<t.length;c++){let d=t[c];d.parent&&d.parent.isBone&&(a.push(0,0,0),a.push(0,0,0),o.push(r.r,r.g,r.b),o.push(s.r,s.g,s.b))}n.setAttribute("position",new _i(a,3)),n.setAttribute("color",new _i(o,3));let l=new No({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(n,l),this.type="SkeletonHelper",this.isSkeletonHelper=!0,this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(e){let t=this.bones,n=this.geometry,a=n.getAttribute("position");xz.copy(this.root.matrixWorld).invert();for(let o=0,r=0;o<t.length;o++){let s=t[o];s.parent&&s.parent.isBone&&(Px.multiplyMatrices(xz,s.matrixWorld),vu.setFromMatrixPosition(Px),a.setXYZ(r,vu.x,vu.y,vu.z),Px.multiplyMatrices(xz,s.parent.matrixWorld),vu.setFromMatrixPosition(Px),a.setXYZ(r+1,vu.x,vu.y,vu.z),r+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(e)}};function gI(i){let e=[];i&&i.isBone&&e.push(i);for(let t=0;t<i.children.length;t++)e.push.apply(e,gI(i.children[t]));return e}var lE=class extends Ga{constructor(e,t,n){let a=new oh(t,4,2),o=new Hl({wireframe:!0,fog:!1,toneMapped:!1});super(a,o),this.light=e,this.light.updateMatrixWorld(),this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},_7=new we,cj=new si,dj=new si,cE=class extends pn{constructor(e,t,n){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;let a=new nh(t);a.rotateY(Math.PI*.5),this.material=new Hl({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);let o=a.getAttribute("position"),r=new Float32Array(o.count*3);a.setAttribute("color",new un(r,3)),this.add(new Ga(a,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){let e=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{let t=e.geometry.getAttribute("color");cj.copy(this.light.color),dj.copy(this.light.groundColor);for(let n=0,a=t.count;n<a;n++){let o=n<a/2?cj:dj;t.setXYZ(n,o.r,o.g,o.b)}t.needsUpdate=!0}e.lookAt(_7.setFromMatrixPosition(this.light.matrixWorld).negate())}},jk=class extends Nr{constructor(e=10,t=10,n=4473924,a=8947848){n=new si(n),a=new si(a);let o=t/2,r=e/t,s=e/2,l=[],c=[];for(let p=0,m=0,_=-s;p<=t;p++,_+=r){l.push(-s,0,_,s,0,_),l.push(_,0,-s,_,0,s);let f=p===o?n:a;f.toArray(c,m),m+=3,f.toArray(c,m),m+=3,f.toArray(c,m),m+=3,f.toArray(c,m),m+=3}let d=new Ki;d.setAttribute("position",new _i(l,3)),d.setAttribute("color",new _i(c,3));let u=new No({vertexColors:!0,toneMapped:!1});super(d,u),this.type="GridHelper"}},dE=class extends Nr{constructor(e=10,t=16,n=8,a=64,o=4473924,r=8947848){o=new si(o),r=new si(r);let s=[],l=[];for(let u=0;u<=t;u++){let p=u/t*(Math.PI*2),m=Math.sin(p)*e,_=Math.cos(p)*e;s.push(0,0,0),s.push(m,0,_);let f=u&1?o:r;l.push(f.r,f.g,f.b),l.push(f.r,f.g,f.b)}for(let u=0;u<=n;u++){let p=u&1?o:r,m=e-e/n*u;for(let _=0;_<a;_++){let f=_/a*(Math.PI*2),g=Math.sin(f)*m,v=Math.cos(f)*m;s.push(g,0,v),l.push(p.r,p.g,p.b),f=(_+1)/a*(Math.PI*2),g=Math.sin(f)*m,v=Math.cos(f)*m,s.push(g,0,v),l.push(p.r,p.g,p.b)}}let c=new Ki;c.setAttribute("position",new _i(s,3)),c.setAttribute("color",new _i(l,3));let d=new No({vertexColors:!0,toneMapped:!1});super(c,d),this.type="PolarGridHelper"}},uj=new we,Bx=new we,pj=new we,uE=class extends pn{constructor(e,t,n){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,t===void 0&&(t=1);let a=new Ki;a.setAttribute("position",new _i([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));let o=new No({fog:!1,toneMapped:!1});this.lightPlane=new Gl(a,o),this.add(this.lightPlane),a=new Ki,a.setAttribute("position",new _i([0,0,0,0,0,1],3)),this.targetLine=new Gl(a,o),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){uj.setFromMatrixPosition(this.light.matrixWorld),Bx.setFromMatrixPosition(this.light.target.matrixWorld),pj.subVectors(Bx,uj),this.lightPlane.lookAt(Bx),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Bx),this.targetLine.scale.z=pj.length()}},Rx=new we,_o=new Hp,pE=class extends Nr{constructor(e){let t=new Ki,n=new No({color:16777215,vertexColors:!0,toneMapped:!1}),a=[],o=[],r={},s=new si(16755200),l=new si(16711680),c=new si(43775),d=new si(16777215),u=new si(3355443);p("n1","n2",s),p("n2","n4",s),p("n4","n3",s),p("n3","n1",s),p("f1","f2",s),p("f2","f4",s),p("f4","f3",s),p("f3","f1",s),p("n1","f1",s),p("n2","f2",s),p("n3","f3",s),p("n4","f4",s),p("p","n1",l),p("p","n2",l),p("p","n3",l),p("p","n4",l),p("u1","u2",c),p("u2","u3",c),p("u3","u1",c),p("c","t",d),p("p","c",u),p("cn1","cn2",u),p("cn3","cn4",u),p("cf1","cf2",u),p("cf3","cf4",u);function p(_,f,g){m(_,g),m(f,g)}function m(_,f){a.push(0,0,0),o.push(f.r,f.g,f.b),r[_]===void 0&&(r[_]=[]),r[_].push(a.length/3-1)}t.setAttribute("position",new _i(a,3)),t.setAttribute("color",new _i(o,3)),super(t,n),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=r,this.update()}update(){let e=this.geometry,t=this.pointMap,n=1,a=1;_o.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),zo("c",t,e,_o,0,0,-1),zo("t",t,e,_o,0,0,1),zo("n1",t,e,_o,-n,-a,-1),zo("n2",t,e,_o,n,-a,-1),zo("n3",t,e,_o,-n,a,-1),zo("n4",t,e,_o,n,a,-1),zo("f1",t,e,_o,-n,-a,1),zo("f2",t,e,_o,n,-a,1),zo("f3",t,e,_o,-n,a,1),zo("f4",t,e,_o,n,a,1),zo("u1",t,e,_o,n*.7,a*1.1,-1),zo("u2",t,e,_o,-n*.7,a*1.1,-1),zo("u3",t,e,_o,0,a*2,-1),zo("cf1",t,e,_o,-n,0,1),zo("cf2",t,e,_o,n,0,1),zo("cf3",t,e,_o,0,-a,1),zo("cf4",t,e,_o,0,a,1),zo("cn1",t,e,_o,-n,0,-1),zo("cn2",t,e,_o,n,0,-1),zo("cn3",t,e,_o,0,-a,-1),zo("cn4",t,e,_o,0,a,-1),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function zo(i,e,t,n,a,o,r){Rx.set(a,o,r).unproject(n);let s=e[i];if(s!==void 0){let l=t.getAttribute("position");for(let c=0,d=s.length;c<d;c++)l.setXYZ(s[c],Rx.x,Rx.y,Rx.z)}}var jx=new Or,Ik=class extends Nr{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),a=new Float32Array(24),o=new Ki;o.setIndex(new un(n,1)),o.setAttribute("position",new un(a,3)),super(o,new No({color:t,toneMapped:!1})),this.object=e,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(e){if(e!==void 0&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),this.object!==void 0&&jx.setFromObject(this.object),jx.isEmpty())return;let t=jx.min,n=jx.max,a=this.geometry.attributes.position,o=a.array;o[0]=n.x,o[1]=n.y,o[2]=n.z,o[3]=t.x,o[4]=n.y,o[5]=n.z,o[6]=t.x,o[7]=t.y,o[8]=n.z,o[9]=n.x,o[10]=t.y,o[11]=n.z,o[12]=n.x,o[13]=n.y,o[14]=t.z,o[15]=t.x,o[16]=n.y,o[17]=t.z,o[18]=t.x,o[19]=t.y,o[20]=t.z,o[21]=n.x,o[22]=t.y,o[23]=t.z,a.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e){return Nr.prototype.copy.call(this,e),this.object=e.object,this}},mE=class extends Nr{constructor(e,t=16776960){let n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),a=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],o=new Ki;o.setIndex(new un(n,1)),o.setAttribute("position",new _i(a,3)),super(o,new No({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){let t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}},_E=class extends Gl{constructor(e,t=1,n=16776960){let a=n,o=[1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0],r=new Ki;r.setAttribute("position",new _i(o,3)),r.computeBoundingSphere(),super(r,new No({color:a,toneMapped:!1})),this.type="PlaneHelper",this.plane=e,this.size=t;let s=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],l=new Ki;l.setAttribute("position",new _i(s,3)),l.computeBoundingSphere(),this.add(new Ga(l,new Hl({color:a,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){let t=-this.plane.constant;Math.abs(t)<1e-8&&(t=1e-8),this.scale.set(.5*this.size,.5*this.size,t),this.children[0].material.side=t<0?Fo:wu,this.lookAt(this.plane.normal),super.updateMatrixWorld(e)}},mj=new we,Ix,kz,hE=class extends pn{constructor(e=new we(0,0,1),t=new we(0,0,0),n=1,a=16776960,o=n*.2,r=o*.2){super(),this.type="ArrowHelper",Ix===void 0&&(Ix=new Ki,Ix.setAttribute("position",new _i([0,0,0,0,1,0],3)),kz=new Wp(0,.5,1,5,1),kz.translate(0,-.5,0)),this.position.copy(t),this.line=new Gl(Ix,new No({color:a,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Ga(kz,new Hl({color:a,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,o,r)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{mj.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(mj,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}},Dk=class extends Nr{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],a=new Ki;a.setAttribute("position",new _i(t,3)),a.setAttribute("color",new _i(n,3));let o=new No({vertexColors:!0,toneMapped:!1});super(a,o),this.type="AxesHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}},vI=new Float32Array(1),h7=new Int32Array(vI.buffer),fE=class{static toHalfFloat(e){vI[0]=e;let t=h7[0],n=t>>16&32768,a=t>>12&2047,o=t>>23&255;return o<103?n:o>142?(n|=31744,n|=(o==255?0:1)&&t&8388607,n):o<113?(a|=2048,n|=(a>>114-o)+(a>>113-o&1),n):(n|=o-112<<10|a>>1,n+=a&1,n)}},L_=4,ku=8,wc=Math.pow(2,ku),bI=[.125,.215,.35,.446,.526,.582],yI=ku-L_+1+bI.length,D_=20,Sc={[es]:0,[xv]:1,[Ok]:2,[SE]:3,[zE]:4,[EE]:5,[Uk]:6},Ip=new Hl({side:Fo,depthWrite:!1,depthTest:!1}),f7=new Ga(new Su,Ip),wz=new em,{_lodPlanes:eg,_sizeLods:_j,_sigmas:Dx}=v7(),hj=new si,Sz=null,Dp=(1+Math.sqrt(5))/2,V_=1/Dp,fj=[new we(1,1,1),new we(-1,1,1),new we(1,1,-1),new we(-1,1,-1),new we(0,Dp,V_),new we(0,Dp,-V_),new we(V_,0,Dp),new we(-V_,0,Dp),new we(Dp,V_,0),new we(-Dp,V_,0)];function gj(i){let e=Math.max(i.r,i.g,i.b),t=Math.min(Math.max(Math.ceil(Math.log2(e)),-128),127);return i.multiplyScalar(Math.pow(2,-t)),(t+128)/255}var gE=class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=b7(D_),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,a=100){Sz=this._renderer.getRenderTarget();let o=this._allocateTargets();return this._sceneToCubeUV(e,n,a,o),t>0&&this._blur(o,0,0,t),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){this._cubemapShader===null&&(this._cubemapShader=yj(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){this._equirectShader===null&&(this._equirectShader=bj(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),this._cubemapShader!==null&&this._cubemapShader.dispose(),this._equirectShader!==null&&this._equirectShader.dispose();for(let e=0;e<eg.length;e++)eg[e].dispose()}_cleanup(e){this._pingPongRenderTarget.dispose(),this._renderer.setRenderTarget(Sz),e.scissorTest=!1,Vx(e,0,0,e.width,e.height)}_fromTexture(e){Sz=this._renderer.getRenderTarget();let t=this._allocateTargets(e);return this._textureToCubeUV(e,t),this._applyPMREM(t),this._cleanup(t),t}_allocateTargets(e){let t={magFilter:no,minFilter:no,generateMipmaps:!1,type:dh,format:o3,encoding:g7(e)?e.encoding:Ok,depthBuffer:!1},n=vj(t);return n.depthBuffer=!e,this._pingPongRenderTarget=vj(t),n}_compileMaterial(e){let t=new Ga(eg[0],e);this._renderer.compile(t,wz)}_sceneToCubeUV(e,t,n,a){let s=new Uo(90,1,t,n),l=[1,-1,1,1,1,1],c=[1,1,1,-1,-1,-1],d=this._renderer,u=d.autoClear,p=d.outputEncoding,m=d.toneMapping;d.getClearColor(hj),d.toneMapping=Op,d.outputEncoding=es,d.autoClear=!1;let _=!1,f=e.background;if(f){if(f.isColor){Ip.color.copy(f).convertSRGBToLinear(),e.background=null;let g=gj(Ip.color);Ip.opacity=g,_=!0}}else{Ip.color.copy(hj).convertSRGBToLinear();let g=gj(Ip.color);Ip.opacity=g,_=!0}for(let g=0;g<6;g++){let v=g%3;v==0?(s.up.set(0,l[g],0),s.lookAt(c[g],0,0)):v==1?(s.up.set(0,0,l[g]),s.lookAt(0,c[g],0)):(s.up.set(0,l[g],0),s.lookAt(0,0,c[g])),Vx(a,v*wc,g>2?wc:0,wc,wc),d.setRenderTarget(a),_&&d.render(f7,s),d.render(e,s)}d.toneMapping=m,d.outputEncoding=p,d.autoClear=u}_textureToCubeUV(e,t){let n=this._renderer;e.isCubeTexture?this._cubemapShader==null&&(this._cubemapShader=yj()):this._equirectShader==null&&(this._equirectShader=bj());let a=e.isCubeTexture?this._cubemapShader:this._equirectShader,o=new Ga(eg[0],a),r=a.uniforms;r.envMap.value=e,e.isCubeTexture||r.texelSize.value.set(1/e.image.width,1/e.image.height),r.inputEncoding.value=Sc[e.encoding],r.outputEncoding.value=Sc[t.texture.encoding],Vx(t,0,0,3*wc,2*wc),n.setRenderTarget(t),n.render(o,wz)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let a=1;a<yI;a++){let o=Math.sqrt(Dx[a]*Dx[a]-Dx[a-1]*Dx[a-1]),r=fj[(a-1)%fj.length];this._blur(e,a-1,a,o,r)}t.autoClear=n}_blur(e,t,n,a,o){let r=this._pingPongRenderTarget;this._halfBlur(e,r,t,n,a,"latitudinal",o),this._halfBlur(r,e,n,n,a,"longitudinal",o)}_halfBlur(e,t,n,a,o,r,s){let l=this._renderer,c=this._blurMaterial;r!=="latitudinal"&&r!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");let d=3,u=new Ga(eg[a],c),p=c.uniforms,m=_j[n]-1,_=isFinite(o)?Math.PI/(2*m):2*Math.PI/(2*D_-1),f=o/_,g=isFinite(o)?1+Math.floor(d*f):D_;g>D_&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${g} samples when the maximum is set to ${D_}`);let v=[],b=0;for(let y=0;y<D_;++y){let A=y/f,R=Math.exp(-A*A/2);v.push(R),y==0?b+=R:y<g&&(b+=2*R)}for(let y=0;y<v.length;y++)v[y]=v[y]/b;p.envMap.value=e.texture,p.samples.value=g,p.weights.value=v,p.latitudinal.value=r==="latitudinal",s&&(p.poleAxis.value=s),p.dTheta.value=_,p.mipInt.value=ku-n,p.inputEncoding.value=Sc[e.texture.encoding],p.outputEncoding.value=Sc[e.texture.encoding];let x=_j[a],w=3*Math.max(0,wc-2*x),E=(a===0?0:2*wc)+2*x*(a>ku-L_?a-ku+L_:0);Vx(t,w,E,3*x,2*x),l.setRenderTarget(t),l.render(u,wz)}};function g7(i){return i===void 0||i.type!==dh?!1:i.encoding===es||i.encoding===xv||i.encoding===Uk}function v7(){let i=[],e=[],t=[],n=ku;for(let a=0;a<yI;a++){let o=Math.pow(2,n);e.push(o);let r=1/o;a>ku-L_?r=bI[a-ku+L_-1]:a==0&&(r=0),t.push(r);let s=1/(o-1),l=-s/2,c=1+s/2,d=[l,l,c,l,c,c,l,l,c,c,l,c],u=6,p=6,m=3,_=2,f=1,g=new Float32Array(m*p*u),v=new Float32Array(_*p*u),b=new Float32Array(f*p*u);for(let w=0;w<u;w++){let E=w%3*2/3-1,y=w>2?0:-1,A=[E,y,0,E+2/3,y,0,E+2/3,y+1,0,E,y,0,E+2/3,y+1,0,E,y+1,0];g.set(A,m*p*w),v.set(d,_*p*w);let R=[w,w,w,w,w,w];b.set(R,f*p*w)}let x=new Ki;x.setAttribute("position",new un(g,m)),x.setAttribute("uv",new un(v,_)),x.setAttribute("faceIndex",new un(b,f)),i.push(x),n>L_&&n--}return{_lodPlanes:i,_sizeLods:e,_sigmas:t}}function vj(i){let e=new Ns(3*wc,3*wc,i);return e.texture.mapping=ch,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Vx(i,e,t,n,a){i.viewport.set(e,t,n,a),i.scissor.set(e,t,n,a)}function b7(i){let e=new Float32Array(i),t=new we(0,1,0);return new Cu({name:"SphericalGaussianBlur",defines:{n:i},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:t},inputEncoding:{value:Sc[es]},outputEncoding:{value:Sc[es]}},vertexShader:BE(),fragmentShader:`
precision mediump float;
precision mediump int;
varying vec3 vOutputDirection;
uniform sampler2D envMap;
uniform int samples;
uniform float weights[ n ];
uniform bool latitudinal;
uniform float dTheta;
uniform float mipInt;
uniform vec3 poleAxis;
${RE()}
#define ENVMAP_TYPE_CUBE_UV
#include <cube_uv_reflection_fragment>
vec3 getSample( float theta, vec3 axis ) {
float cosTheta = cos( theta );
// Rodrigues' axis-angle rotation
vec3 sampleDirection = vOutputDirection * cosTheta
+ cross( axis, vOutputDirection ) * sin( theta )
+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );
return bilinearCubeUV( envMap, sampleDirection, mipInt );
}
void main() {
vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );
if ( all( equal( axis, vec3( 0.0 ) ) ) ) {
axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );
}
axis = normalize( axis );
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );
for ( int i = 1; i < n; i++ ) {
if ( i >= samples ) {
break;
}
float theta = dTheta * float( i );
gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );
}
gl_FragColor = linearToOutputTexel( gl_FragColor );
}
`,blending:yd,depthTest:!1,depthWrite:!1})}function bj(){let i=new zt(1,1);return new Cu({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:i},inputEncoding:{value:Sc[es]},outputEncoding:{value:Sc[es]}},vertexShader:BE(),fragmentShader:`
precision mediump float;
precision mediump int;
varying vec3 vOutputDirection;
uniform sampler2D envMap;
uniform vec2 texelSize;
${RE()}
#include <common>
void main() {
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
vec3 outputDirection = normalize( vOutputDirection );
vec2 uv = equirectUv( outputDirection );
vec2 f = fract( uv / texelSize - 0.5 );
uv -= f * texelSize;
vec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;
uv.x += texelSize.x;
vec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;
uv.y += texelSize.y;
vec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;
uv.x -= texelSize.x;
vec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;
vec3 tm = mix( tl, tr, f.x );
vec3 bm = mix( bl, br, f.x );
gl_FragColor.rgb = mix( tm, bm, f.y );
gl_FragColor = linearToOutputTexel( gl_FragColor );
}
`,blending:yd,depthTest:!1,depthWrite:!1})}function yj(){return new Cu({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Sc[es]},outputEncoding:{value:Sc[es]}},vertexShader:BE(),fragmentShader:`
precision mediump float;
precision mediump int;
varying vec3 vOutputDirection;
uniform samplerCube envMap;
${RE()}
void main() {
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
gl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;
gl_FragColor = linearToOutputTexel( gl_FragColor );
}
`,blending:yd,depthTest:!1,depthWrite:!1})}function BE(){return`
precision mediump float;
precision mediump int;
attribute vec3 position;
attribute vec2 uv;
attribute float faceIndex;
varying vec3 vOutputDirection;
// RH coordinate system; PMREM face-indexing convention
vec3 getDirection( vec2 uv, float face ) {
uv = 2.0 * uv - 1.0;
vec3 direction = vec3( uv, 1.0 );
if ( face == 0.0 ) {
direction = direction.zyx; // ( 1, v, u ) pos x
} else if ( face == 1.0 ) {
direction = direction.xzy;
direction.xz *= -1.0; // ( -u, 1, -v ) pos y
} else if ( face == 2.0 ) {
direction.x *= -1.0; // ( -u, v, 1 ) pos z
} else if ( face == 3.0 ) {
direction = direction.zyx;
direction.xz *= -1.0; // ( -1, v, -u ) neg x
} else if ( face == 4.0 ) {
direction = direction.xzy;
direction.xy *= -1.0; // ( -u, -1, v ) neg y
} else if ( face == 5.0 ) {
direction.z *= -1.0; // ( u, v, -1 ) neg z
}
return direction;
}
void main() {
vOutputDirection = getDirection( uv, faceIndex );
gl_Position = vec4( position, 1.0 );
}
`}function RE(){return`
uniform int inputEncoding;
uniform int outputEncoding;
#include <encodings_pars_fragment>
vec4 inputTexelToLinear( vec4 value ) {
if ( inputEncoding == 0 ) {
return value;
} else if ( inputEncoding == 1 ) {
return sRGBToLinear( value );
} else if ( inputEncoding == 2 ) {
return RGBEToLinear( value );
} else if ( inputEncoding == 3 ) {
return RGBMToLinear( value, 7.0 );
} else if ( inputEncoding == 4 ) {
return RGBMToLinear( value, 16.0 );
} else if ( inputEncoding == 5 ) {
return RGBDToLinear( value, 256.0 );
} else {
return GammaToLinear( value, 2.2 );
}
}
vec4 linearToOutputTexel( vec4 value ) {
if ( outputEncoding == 0 ) {
return value;
} else if ( outputEncoding == 1 ) {
return LinearTosRGB( value );
} else if ( outputEncoding == 2 ) {
return LinearToRGBE( value );
} else if ( outputEncoding == 3 ) {
return LinearToRGBM( value, 7.0 );
} else if ( outputEncoding == 4 ) {
return LinearToRGBM( value, 16.0 );
} else if ( outputEncoding == 5 ) {
return LinearToRGBD( value, 256.0 );
} else {
return LinearToGamma( value, 2.2 );
}
}
vec4 envMapTexelToLinear( vec4 color ) {
return inputTexelToLinear( color );
}
`}var y7=0,x7=1,k7=0,w7=1,S7=2;function z7(i){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),i}function E7(i=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),i.isMultiMaterial=!0,i.materials=i,i.clone=function(){return i.slice()},i}function M7(i,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new qp(i,e)}function T7(i){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new eh(i)}function A7(i,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new qp(i,e)}function C7(i){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Sd(i)}function P7(i){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Sd(i)}function B7(i){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Sd(i)}function R7(i,e,t){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new we(i,e,t)}function j7(i,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new un(i,e).setUsage(G_)}function I7(i,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new Kx(i,e)}function D7(i,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new $x(i,e)}function V7(i,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Yx(i,e)}function F7(i,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Xx(i,e)}function U7(i,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new q_(i,e)}function O7(i,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Jx(i,e)}function L7(i,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new W_(i,e)}function N7(i,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new _i(i,e)}function H7(i,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Qx(i,e)}is.create=function(i,e){return console.log("THREE.Curve.create() has been deprecated"),i.prototype=Object.create(is.prototype),i.prototype.constructor=i,i.prototype.getPoint=e,i};Qp.prototype.fromPoints=function(i){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(i)};function G7(i){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Dk(i)}function q7(i,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Ik(i,e)}function W7(i,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Nr(new Ag(i.geometry),new No({color:e!==void 0?e:16777215}))}jk.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Rk.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")};function K7(i,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Nr(new Ng(i.geometry),new No({color:e!==void 0?e:16777215}))}pr.prototype.extractUrlBase=function(i){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),pv.extractUrlBase(i)};pr.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}};function $7(i){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new gl(i)}function Y7(i){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new dk(i)}Ru.prototype.center=function(i){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(i)};Ru.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()};Ru.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};Ru.prototype.size=function(i){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(i)};Or.prototype.center=function(i){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(i)};Or.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()};Or.prototype.isIntersectionBox=function(i){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};Or.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};Or.prototype.size=function(i){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(i)};fl.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()};Gp.prototype.setFromMatrix=function(i){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(i)};im.prototype.center=function(i){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(i)};Eo.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};Eo.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};Eo.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")};Eo.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),i.applyMatrix3(this)};Eo.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")};Eo.prototype.getInverse=function(i){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};Ti.prototype.extractPosition=function(i){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(i)};Ti.prototype.flattenToArrayOffset=function(i,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(i,e)};Ti.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),new we().setFromMatrixColumn(this,3)};Ti.prototype.setRotationFromQuaternion=function(i){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(i)};Ti.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")};Ti.prototype.multiplyVector3=function(i){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};Ti.prototype.multiplyVector4=function(i){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};Ti.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")};Ti.prototype.rotateAxis=function(i){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),i.transformDirection(this)};Ti.prototype.crossVector=function(i){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};Ti.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")};Ti.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")};Ti.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")};Ti.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")};Ti.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")};Ti.prototype.applyToBufferAttribute=function(i){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),i.applyMatrix4(this)};Ti.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")};Ti.prototype.makeFrustum=function(i,e,t,n,a,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(i,e,n,t,a,o)};Ti.prototype.getInverse=function(i){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(i).invert()};Ur.prototype.isIntersectionLine=function(i){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(i)};Da.prototype.multiplyVector3=function(i){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),i.applyQuaternion(this)};Da.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()};Tc.prototype.isIntersectionBox=function(i){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(i)};Tc.prototype.isIntersectionPlane=function(i){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(i)};Tc.prototype.isIntersectionSphere=function(i){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(i)};Er.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()};Er.prototype.barycoordFromPoint=function(i,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(i,e)};Er.prototype.midpoint=function(i){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(i)};Er.prototypenormal=function(i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(i)};Er.prototype.plane=function(i){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(i)};Er.barycoordFromPoint=function(i,e,t,n,a){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Er.getBarycoord(i,e,t,n,a)};Er.normal=function(i,e,t,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Er.getNormal(i,e,t,n)};Ec.prototype.extractAllPoints=function(i){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(i)};Ec.prototype.extrude=function(i){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Ac(this,i)};Ec.prototype.makeGeometry=function(i){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new ah(this,i)};zt.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};zt.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};zt.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};we.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")};we.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")};we.prototype.getPositionFromMatrix=function(i){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(i)};we.prototype.getScaleFromMatrix=function(i){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(i)};we.prototype.getColumnFromMatrix=function(i,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,i)};we.prototype.applyProjection=function(i){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(i)};we.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};we.prototype.distanceToManhattan=function(i){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(i)};we.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};Kn.prototype.fromAttribute=function(i,e,t){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(i,e,t)};Kn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()};pn.prototype.getChildByName=function(i){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(i)};pn.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")};pn.prototype.translate=function(i,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,i)};pn.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")};pn.prototype.applyMatrix=function(i){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(pn.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(i){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=i}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}});Ga.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")};Object.defineProperties(Ga.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),q3},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}});th.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")};Uo.prototype.setLens=function(i,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),e!==void 0&&(this.filmGauge=e),this.setFocalLength(i)};Object.defineProperties(qs.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(i){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=i}},shadowCameraLeft:{set:function(i){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=i}},shadowCameraRight:{set:function(i){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=i}},shadowCameraTop:{set:function(i){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=i}},shadowCameraBottom:{set:function(i){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=i}},shadowCameraNear:{set:function(i){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=i}},shadowCameraFar:{set:function(i){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=i}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(i){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=i}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(i){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=i}},shadowMapHeight:{set:function(i){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=i}}});Object.defineProperties(un.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===G_},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(G_)}}});un.prototype.setDynamic=function(i){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?G_:H_),this};un.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},un.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};Ki.prototype.addIndex=function(i){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(i)};Ki.prototype.addAttribute=function(i,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),!(e&&e.isBufferAttribute)&&!(e&&e.isInterleavedBufferAttribute)?(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(i,new un(arguments[1],arguments[2]))):i==="index"?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(i,e)};Ki.prototype.addDrawCall=function(i,e,t){t!==void 0&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(i,e)};Ki.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()};Ki.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")};Ki.prototype.removeAttribute=function(i){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(i)};Ki.prototype.applyMatrix=function(i){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(i)};Object.defineProperties(Ki.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}});wd.prototype.setDynamic=function(i){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(i===!0?G_:H_),this};wd.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")};Ac.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")};Ac.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")};Ac.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")};Z_.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")};Ak.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this};Object.defineProperties(Lo.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new si}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(i){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=i===bE}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(i){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=i}}});Object.defineProperties(Hs.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(i){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=i}}});ba.prototype.clearTarget=function(i,e,t,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(i),this.clear(e,t,n)};ba.prototype.animate=function(i){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(i)};ba.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()};ba.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()};ba.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision};ba.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()};ba.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")};ba.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")};ba.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")};ba.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")};ba.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")};ba.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")};ba.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures};ba.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")};ba.prototype.enableScissorTest=function(i){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(i)};ba.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};ba.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")};ba.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")};ba.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")};ba.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")};ba.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")};ba.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")};ba.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")};ba.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")};ba.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()};Object.defineProperties(ba.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=i}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(i){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=i}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(i){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=i===!0?xv:es}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}});Object.defineProperties(dI.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}});function X7(i,e,t){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new Y_(i,t)}Object.defineProperties(Ns.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=i}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(i){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=i}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=i}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(i){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=i}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(i){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=i}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(i){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=i}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(i){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=i}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(i){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=i}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(i){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=i}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(i){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=i}}});fv.prototype.load=function(i){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");let e=this;return new xk().load(i,function(n){e.setBuffer(n)}),this};zk.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};$_.prototype.updateCubeMap=function(i,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(i,e)};$_.prototype.clear=function(i,e,t,n){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(i,e,t,n)};xd.crossOrigin=void 0;xd.loadTexture=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");let a=new uk;a.setCrossOrigin(this.crossOrigin);let o=a.load(i,t,void 0,n);return e&&(o.mapping=e),o};xd.loadTextureCube=function(i,e,t,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");let a=new ck;a.setCrossOrigin(this.crossOrigin);let o=a.load(i,t,void 0,n);return e&&(o.mapping=e),o};xd.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")};xd.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};function J7(){console.error("THREE.CanvasRenderer has been removed")}function Z7(){console.error("THREE.JSONLoader has been removed.")}var Q7={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function eK(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"129"}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="129");var UE={};cu(UE,{Bone2D:()=>mh,Bone3D:()=>ph,Chain2D:()=>Wk,Chain3D:()=>jE,DOWN:()=>dK,END:()=>lm,GLOBAL_ABSOLUTE:()=>FE,GLOBAL_HINGE:()=>Nk,GLOBAL_ROTOR:()=>kv,HISolver:()=>VE,IKSolver:()=>DE,J_BALL:()=>sm,J_GLOBAL:()=>ju,J_LOCAL:()=>vl,Joint2D:()=>qk,Joint3D:()=>Gk,LEFT:()=>uK,LOCAL_ABSOLUTE:()=>$k,LOCAL_HINGE:()=>Sv,LOCAL_RELATIVE:()=>xI,LOCAL_ROTOR:()=>Hk,M3:()=>wv,MAX_VALUE:()=>Aa,NONE:()=>Cc,PRECISION:()=>iK,PRECISION_DEG:()=>nK,REVISION:()=>tK,RIGHT:()=>pK,START:()=>zv,Structure2D:()=>Kk,Structure3D:()=>IE,UP:()=>kI,V2:()=>ho,V3:()=>qa,X_AXE:()=>aK,X_NEG:()=>sK,Y_AXE:()=>oK,Y_NEG:()=>lK,Z_AXE:()=>rK,Z_NEG:()=>cK,math:()=>En});var Wl={error:function(i){console.error(i)}},En={PI:Math.PI,toRad:Math.PI/180,toDeg:180/Math.PI,pi90:Math.PI*.5,twoPI:Math.PI*2,findAngle:function(i,e){let t=i.end.minus(e.end).lengthSq(),n=i.end.minus(i.start).lengthSq(),a=e.end.minus(i.start).lengthSq(),o,r,s;return r=(t+n-a)/Math.sqrt(4*t*n),r<=-1?o=Math.PI:r>=1?o=0:o=Math.acos(r),s=i.end.x*e.end.y-i.end.y*e.end.x,s>=0?o:-o},clamp:function(i,e,t){return i=i<e?e:i,i=i>t?t:i,i},lerp:function(i,e,t){return(1-t)*i+t*e},rand:function(i,e){return i+Math.random()*(e-i)},randInt:function(i,e){return i+Math.floor(Math.random()*(e-i+1))},nearEquals:function(i,e,t){return Math.abs(i-e)<=t},perpendicular:function(i,e){return!!En.nearEquals(i.dot(e),0,.01)},genPerpendicularVectorQuick:function(i){let e=i.clone();return Math.abs(i.y)<.99?e.set(-i.z,0,i.x).normalize():e.set(0,i.z,-i.y).normalize()},genPerpendicularVectorFrisvad:function(i){let e=i.clone();if(i.z<-.9999999)return e.set(0,-1,0);let t=1/(1+i.z);return e.set(1-i.x*i.x*t,-i.x*i.y*t,-i.x).normalize()},rotateXDegs:function(i,e){return i.clone().rotate(e*En.toRad,"X")},rotateYDegs:function(i,e){return i.clone().rotate(e*En.toRad,"Y")},rotateZDegs:function(i,e){return i.clone().rotate(e*En.toRad,"Z")},withinManhattanDistance:function(i,e,t){return!(Math.abs(e.x-i.x)>t||Math.abs(e.y-i.y)>t||Math.abs(e.z-i.z)>t)},manhattanDistanceBetween:function(i,e){return Math.abs(e.x-i.x)+Math.abs(e.x-i.x)+Math.abs(e.x-i.x)},distanceBetween:function(i,e){let t=e.x-i.x,n=e.y-i.y,a=i.z!==void 0?e.z-i.z:0;return Math.sqrt(t*t+n*n+a*a)},unwrapDeg:i=>i-Math.floor((i+180)/360)*360,unwrapRad:i=>i-Math.floor((i+Math.PI)/(2*Math.PI))*2*Math.PI,rotateDegs:function(i,e){return i.clone().rotate(e*En.toRad)},validateDirectionUV:function(i){i.length()<0&&Wl.error("vector direction unit vector cannot be zero.")},validateLength:function(i){i<0&&Wl.error("Length must be a greater than or equal to zero.")}},ho=class i{constructor(e=0,t=0){this.isVector2=!0,this.x=e,this.y=t}set(e,t){return this.x=e||0,this.y=t||0,this}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}multiplyScalar(e){return this.x*=e,this.y*=e,this}divideScalar(e){return this.multiplyScalar(1/e)}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}normalize(){return this.divideScalar(this.length()||1)}normalised(){return new this.constructor(this.x,this.y).normalize()}lengthSq(){return this.x*this.x+this.y*this.y}add(e){return this.x+=e.x,this.y+=e.y,this}plus(e){return new this.constructor(this.x+e.x,this.y+e.y)}min(e){return this.x-=e.x,this.y-=e.y,this}minus(e){return new i(this.x-e.x,this.y-e.y)}divideBy(e){return new this.constructor(this.x,this.y).divideScalar(e)}dot(e,t){return this.x*e.x+this.y*e.y}negate(){return this.x=-this.x,this.y=-this.y,this}negated(){return new this.constructor(-this.x,-this.y)}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}cross(e){return this.x*e.y-this.y*e.x}sign(e){return this.cross(e)>=0?1:-1}approximatelyEquals(e,t){if(t<0)return!1;let n=Math.abs(this.x-e.x),a=Math.abs(this.y-e.y);return n<t&&a<t}rotate(e){let t=Math.cos(e),n=Math.sin(e),a=this.x*t-this.y*n,o=this.x*n+this.y*t;return this.x=a,this.y=o,this}angleTo(e){let t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return t<=-1?Math.PI:t>=1?0:Math.acos(t)}getSignedAngle(e){let t=this.angleTo(e);return this.sign(e)===1?t:-t}constrainedUV(e,t,n){let a=e.getSignedAngle(this);return a>n&&this.copy(e).rotate(n),a<t&&this.copy(e).rotate(t),this}},qa=class i{constructor(e=0,t=0,n=0){this.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return this.x=e||0,this.y=t||0,this.z=n||0,this}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,a=this.z-e.z;return t*t+n*n+a*a}abs(){return new this.constructor(this.x<0?-this.x:this.x,this.y<0?-this.y:this.y,this.z<0?-this.z:this.z)}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}normalize(){return this.divideScalar(this.length()||1)}normalised(){return new this.constructor(this.x,this.y,this.z).normalize()}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}min(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}plus(e){return new this.constructor(this.x+e.x,this.y+e.y,this.z+e.z)}minus(e){return new this.constructor(this.x-e.x,this.y-e.y,this.z-e.z)}divideBy(e){return new this.constructor(this.x/e,this.y/e,this.z/e)}multiply(e){return new this.constructor(this.x*e,this.y*e,this.z*e)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}divideScalar(e){return this.multiplyScalar(1/e)}cross(e){return new this.constructor(this.y*e.z-this.z*e.y,this.z*e.x-this.x*e.z,this.x*e.y-this.y*e.x)}crossVectors(e,t){let n=e.x,a=e.y,o=e.z,r=t.x,s=t.y,l=t.z;return this.x=a*l-o*s,this.y=o*r-n*l,this.z=n*s-a*r,this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}negated(){return new i(-this.x,-this.y,-this.z)}clone(){return new i(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}approximatelyEquals(e,t){if(t<0)return!1;let n=Math.abs(this.x-e.x),a=Math.abs(this.y-e.y),o=Math.abs(this.z-e.z);return n<t&&a<t&&o<t}zero(){return this.x=0,this.y=0,this.z=0,this}rotate(e,t){let n=Math.cos(e),a=Math.sin(e),o,r,s;switch(t){case"X":o=this.x,r=this.y*n-this.z*a,s=this.y*a+this.z*n;break;case"Y":o=this.z*a+this.x*n,r=this.y,s=this.z*n-this.x*a;break;case"Z":o=this.x*n-this.y*a,r=this.x*a+this.y*n,s=this.z;break}return this.x=o,this.y=r,this.z=s,this}projectOnVector(e){let t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)}projectOnPlane(){let e=new this.constructor;return function(n){return e.copy(this).projectOnVector(n.normalised()),this.min(e).normalize()}}applyM3(e){let t=this.x,n=this.y,a=this.z,o=e.elements;return this.x=o[0]*t+o[1]*n+o[2]*a,this.y=o[3]*t+o[4]*n+o[5]*a,this.z=o[6]*t+o[7]*n+o[8]*a,this.normalize()}applyMatrix3(e){let t=this.x,n=this.y,a=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*a,this.y=o[1]*t+o[4]*n+o[7]*a,this.z=o[2]*t+o[5]*n+o[8]*a,this}applyQuaternion(e){let t=this.x,n=this.y,a=this.z,o=e.x,r=e.y,s=e.z,l=e.w,c=l*t+r*a-s*n,d=l*n+s*t-o*a,u=l*a+o*n-r*t,p=-o*t-r*n-s*a;return this.x=c*l+p*-o+d*-s-u*-r,this.y=d*l+p*-r+u*-o-c*-s,this.z=u*l+p*-s+c*-r-d*-o,this}sign(e,t){return this.cross(e).dot(t)>=0?1:-1}angleTo(e){let t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return t<=-1?Math.PI:t>=1?0:Math.acos(t)}getSignedAngle(e,t){let n=this.angleTo(e);return this.sign(e,t)===1?n:-n}constrainedUV(e,t,n,a,o){let r=e.getSignedAngle(this,t);return r>o&&this.copy(n.rotateAboutAxis(e,o,t)),r<a&&this.copy(n.rotateAboutAxis(e,a,t)),this}limitAngle(e,t,n){if(e.angleTo(this)>n){let o=e.normalised().cross(this).normalize();this.copy(t.rotateAboutAxis(e,n,o))}return this}},wv=class{constructor(){this.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("M3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,a,o,r,s,l,c){let d=this.elements;return d[0]=e,d[1]=a,d[2]=s,d[3]=t,d[4]=o,d[5]=l,d[6]=n,d[7]=r,d[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}setV3(e,t,n){let a=this.elements;return a[0]=e.x,a[3]=e.y,a[6]=e.z,a[1]=t.x,a[4]=t.y,a[7]=t.z,a[2]=n.x,a[5]=n.y,a[8]=n.z,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}createRotationMatrix(e){let t=e,n=new qa(1,0,0),a=new qa(0,1,0);return Math.abs(e.y)>.9999||n.copy(t).cross(a).normalize(),a.copy(n).cross(t).normalize(),this.setV3(n,a,t)}rotateAboutAxis(e,t,n){let a=Math.sin(t),o=Math.cos(t),r=1-o,s=n.x*n.y*r,l=n.x*n.z*r,c=n.y*n.z*r,d=this.elements;return d[0]=n.x*n.x*r+o,d[3]=s+n.z*a,d[6]=l-n.y*a,d[1]=s-n.z*a,d[4]=n.y*n.y*r+o,d[7]=c+n.x*a,d[2]=l+n.y*a,d[5]=c-n.x*a,d[8]=n.z*n.z*r+o,e.clone().applyM3(this)}},tK="1.4.0",iK=.001,nK=.01,Aa=1/0,Cc=1,kv=2,Nk=3,Hk=4,Sv=5,FE=6,xI=7,$k=8,sm=10,vl=11,ju=12,zv=20,lm=21,aK=new qa(1,0,0),oK=new qa(0,1,0),rK=new qa(0,0,1),sK=new qa(-1,0,0),lK=new qa(0,-1,0),cK=new qa(0,0,-1),kI=new ho(0,1),dK=new ho(0,-1),uK=new ho(-1,0),pK=new ho(1,0),Gk=class{constructor(){this.isJoint3D=!0,this.rotor=En.PI,this.min=-En.PI,this.max=En.PI,this.freeHinge=!0,this.rotationAxisUV=new qa,this.referenceAxisUV=new qa,this.type=sm}clone(){let e=new this.constructor;return e.type=this.type,e.rotor=this.rotor,e.max=this.max,e.min=this.min,e.freeHinge=this.freeHinge,e.rotationAxisUV.copy(this.rotationAxisUV),e.referenceAxisUV.copy(this.referenceAxisUV),e}testAngle(){this.max===En.PI&&this.min===-En.PI?this.freeHinge=!0:this.freeHinge=!1}validateAngle(e){return e=e<0?0:e,e=e>180?180:e,e}setAsBallJoint(e){this.rotor=this.validateAngle(e)*En.toRad,this.type=sm}setHinge(e,t,n,a,o){this.type=e,n<0&&(n*=-1),this.min=-this.validateAngle(n)*En.toRad,this.max=this.validateAngle(a)*En.toRad,this.testAngle(),this.rotationAxisUV.copy(t).normalize(),this.referenceAxisUV.copy(o).normalize()}getHingeReferenceAxis(){return this.referenceAxisUV}getHingeRotationAxis(){return this.rotationAxisUV}setBallJointConstraintDegs(e){this.rotor=this.validateAngle(e)*En.toRad}setHingeClockwise(e){e<0&&(e*=-1),this.min=-this.validateAngle(e)*En.toRad,this.testAngle()}setHingeAnticlockwise(e){this.max=this.validateAngle(e)*En.toRad,this.testAngle()}},ph=class{constructor(e,t,n,a,o){this.isBone3D=!0,this.joint=new Gk,this.start=new qa,this.end=new qa,this.boneConnectionPoint=lm,this.length=0,this.color=o||16777215,this.name="",this.init(e,t,n,a)}init(e,t,n,a){this.setStartLocation(e),t?(this.setEndLocation(t),this.length=this.getLength()):(this.setLength(a),this.setEndLocation(this.start.plus(n.normalised().multiplyScalar(a))))}clone(){let e=new this.constructor(this.start,this.end);return e.joint=this.joint.clone(),e}setColor(e){this.color=e}setBoneConnectionPoint(e){this.boneConnectionPoint=e}setHingeClockwise(e){this.joint.setHingeClockwise(e)}setHingeAnticlockwise(e){this.joint.setHingeAnticlockwise(e)}setBallJointConstraintDegs(e){this.joint.setBallJointConstraintDegs(e)}setStartLocation(e){this.start.copy(e)}setEndLocation(e){this.end.copy(e)}setLength(e){e>0&&(this.length=e)}setJoint(e){this.joint=e}getBoneConnectionPoint(){return this.boneConnectionPoint}getDirectionUV(){return this.end.minus(this.start).normalize()}getLength(){return this.start.distanceTo(this.end)}},jE=class{constructor(e){this.isChain3D=!0,this.tmpTarget=new qa,this.tmpMtx=new wv,this.bones=[],this.name="",this.color=e||16777215,this.solveDistanceThreshold=1,this.minIterationChange=.01,this.maxIteration=20,this.precision=.001,this.chainLength=0,this.numBones=0,this.baseLocation=new qa,this.fixedBaseMode=!0,this.baseboneConstraintType=Cc,this.baseboneConstraintUV=new qa,this.baseboneRelativeConstraintUV=new qa,this.baseboneRelativeReferenceConstraintUV=new qa,this.lastTargetLocation=new qa(Aa,Aa,Aa),this.lastBaseLocation=new qa(Aa,Aa,Aa),this.currentSolveDistance=Aa,this.connectedChainNumber=-1,this.connectedBoneNumber=-1,this.boneConnectionPoint=lm,this.isFullForward=!1,this.embeddedTarget=new qa,this.useEmbeddedTarget=!1}clone(){let e=new this.constructor;return e.solveDistanceThreshold=this.solveDistanceThreshold,e.minIterationChange=this.minIterationChange,e.maxIteration=this.maxIteration,e.precision=this.precision,e.bones=this.cloneBones(),e.baseLocation.copy(this.baseLocation),e.lastTargetLocation.copy(this.lastTargetLocation),e.lastBaseLocation.copy(this.lastBaseLocation),this.baseboneConstraintType!==Cc&&(e.baseboneConstraintUV.copy(this.baseboneConstraintUV),e.baseboneRelativeConstraintUV.copy(this.baseboneRelativeConstraintUV)),e.fixedBaseMode=this.fixedBaseMode,e.chainLength=this.chainLength,e.numBones=this.numBones,e.currentSolveDistance=this.currentSolveDistance,e.boneConnectionPoint=this.boneConnectionPoint,e.connectedChainNumber=this.connectedChainNumber,e.connectedBoneNumber=this.connectedBoneNumber,e.baseboneConstraintType=this.baseboneConstraintType,e.color=this.color,e.embeddedTarget=this.embeddedTarget.clone(),e.useEmbeddedTarget=this.useEmbeddedTarget,e}clear(){let e=this.numBones;for(;e--;)this.removeBone(e);this.numBones=0}addBone(e){e.setColor(this.color),this.bones.push(e),this.numBones++,this.numBones===1&&(this.baseLocation.copy(e.start),this.baseboneConstraintUV.copy(e.getDirectionUV())),this.updateChainLength()}removeBone(e){e<this.numBones&&(this.bones.splice(e,1),this.numBones--,this.updateChainLength())}addConsecutiveBone(e,t){this.numBones>0&&this.addBone(new ph(this.bones[this.numBones-1].end,void 0,e.normalised(),t))}addConsecutiveFreelyRotatingHingedBone(e,t,n,a){this.addConsecutiveHingedBone(e,t,n,a,180,180,En.genPerpendicularVectorQuick(a))}addConsecutiveHingedBone(e,t,n,a,o,r,s){if(this.numBones===0)return;let l=e.normalised(),c=a.normalised(),d=new ph(this.bones[this.numBones-1].end,void 0,l,t,this.color);n=n||"global",d.joint.setHinge(n==="global"?ju:vl,c,o,r,s),this.addBone(d)}addConsecutiveRotorConstrainedBone(e,t,n){if(this.numBones===0)return;e=e.normalised();let a=new ph(this.bones[this.numBones-1].end,void 0,e,t);a.joint.setAsBallJoint(n),this.addBone(a)}getBoneConnectionPoint(){return this.boneConnectionPoint}getConnectedBoneNumber(){return this.connectedBoneNumber}getConnectedChainNumber(){return this.connectedChainNumber}getBaseboneConstraintType(){return this.baseboneConstraintType}getBaseboneConstraintUV(){if(this.baseboneConstraintType!==Cc)return this.baseboneConstraintUV}getBaseLocation(){return this.bones[0].start}getEffectorLocation(){return this.bones[this.numBones-1].end}getLastTargetLocation(){return this.lastTargetLocation}getLiveChainLength(){let e=0,t=this.numBones;for(;t--;)e+=this.bones[t].getLength();return e}getBaseboneRelativeReferenceConstraintUV(){return this.baseboneRelativeReferenceConstraintUV}setConnectedBoneNumber(e){this.connectedBoneNumber=e}setConnectedChainNumber(e){this.connectedChainNumber=e}setBoneConnectionPoint(e){this.boneConnectionPoint=e}setColor(e){this.color=e;let t=this.numBones;for(;t--;)this.bones[t].setColor(this.color)}setBaseboneRelativeConstraintUV(e){this.baseboneRelativeConstraintUV=e.normalised()}setBaseboneRelativeReferenceConstraintUV(e){this.baseboneRelativeReferenceConstraintUV=e.normalised()}setBaseboneConstraintUV(e){this.baseboneConstraintUV=e.normalised()}setRotorBaseboneConstraint(e,t,n){if(this.numBones===0){Wl.error("Chain must contain a basebone before we can specify the basebone constraint type.");return}if(!(t.length()>0)){Wl.error("Constraint axis cannot be zero.");return}e=e||"global",this.baseboneConstraintType=e==="global"?kv:Hk,this.baseboneConstraintUV=t.normalised(),this.baseboneRelativeConstraintUV.copy(this.baseboneConstraintUV),this.bones[0].joint.setAsBallJoint(n)}setHingeBaseboneConstraint(e,t,n,a,o){if(this.numBones===0){Wl.error("Chain must contain a basebone before we can specify the basebone constraint type.");return}if(t.length()<=0){Wl.error("Hinge rotation axis cannot be zero.");return}if(o.length()<=0){Wl.error("Hinge reference axis cannot be zero.");return}if(!En.perpendicular(t,o)){Wl.error("The hinge reference axis must be in the plane of the hinge rotation axis, that is, they must be perpendicular.");return}e=e||"global",this.baseboneConstraintType=e==="global"?Nk:Sv,this.baseboneConstraintUV=t.normalised(),this.bones[0].joint.setHinge(e==="global"?ju:vl,t,n,a,o)}setFreelyRotatingGlobalHingedBasebone(e){this.setHingeBaseboneConstraint("global",e,180,180,En.genPerpendicularVectorQuick(e))}setGlobalHingedBasebone(e,t,n,a){this.setHingeBaseboneConstraint("global",e,t,n,a)}setFreelyRotatingLocalHingedBasebone(e){this.setHingeBaseboneConstraint("local",e,180,180,En.genPerpendicularVectorQuick(e))}setLocalHingedBasebone(e,t,n,a){this.setHingeBaseboneConstraint("local",e,t,n,a)}setBaseLocation(e){this.baseLocation.copy(e)}setFixedBaseMode(e){!e&&this.connectedChainNumber!==-1||this.baseboneConstraintType===kv&&!e||(this.fixedBaseMode=e)}setMaxIterationAttempts(e){e<1||(this.maxIteration=e)}setMinIterationChange(e){e<0||(this.minIterationChange=e)}setSolveDistanceThreshold(e){e<0||(this.solveDistanceThreshold=e)}solveForEmbeddedTarget(){if(this.useEmbeddedTarget)return this.solveForTarget(this.embeddedTarget)}resetTarget(){this.lastBaseLocation=new qa(Aa,Aa,Aa),this.currentSolveDistance=Aa}solveForTarget(e){this.tmpTarget.set(e.x,e.y,e.z);let t=this.precision,n=this.lastBaseLocation.approximatelyEquals(this.baseLocation,t);if(this.lastTargetLocation.approximatelyEquals(this.tmpTarget,t)&&n)return this.currentSolveDistance;let a,o=null;n?(a=this.bones[this.numBones-1].end.distanceTo(this.tmpTarget),o=this.cloneBones()):a=Aa;let r=[],s=Aa,l=Aa,c,d=this.maxIteration;for(;d--;){if(c=this.solveIK(this.tmpTarget),c<s){if(s=c,r=this.cloneBones(),c<=this.solveDistanceThreshold)break}else if(Math.abs(c-l)<this.minIterationChange)break;l=c}return s<a?(this.currentSolveDistance=s,this.bones=r):(this.currentSolveDistance=a,this.bones=o),this.lastBaseLocation.copy(this.baseLocation),this.lastTargetLocation.copy(this.tmpTarget),this.currentSolveDistance}solveIK(e){if(this.numBones===0)return;let t,n,a,o,r,s,l,c=this.tmpMtx,d=this.numBones;for(;d--;)if(t=this.bones[d],n=t.length,a=t.joint,o=a.type,d!==this.numBones-1){r=this.bones[d+1];let u=r.getDirectionUV().negate(),p=t.getDirectionUV().negate();switch(o){case sm:p.limitAngle(u,c,a.rotor);break;case ju:s=a.getHingeRotationAxis(),p.projectOnPlane(s);break;case vl:d>0?(c.createRotationMatrix(this.bones[d-1].getDirectionUV()),s=a.getHingeRotationAxis().clone().applyM3(c)):s=this.baseboneRelativeConstraintUV,p.projectOnPlane(s);break}let m=t.end.plus(p.multiplyScalar(n));t.setStartLocation(m),d>0&&this.bones[d-1].setEndLocation(m)}else{t.setEndLocation(e);let u=t.getDirectionUV().negated();switch(o){case sm:break;case ju:s=a.getHingeRotationAxis(),u.projectOnPlane(s);break;case vl:c.createRotationMatrix(this.bones[d-1].getDirectionUV()),s=a.getHingeRotationAxis().clone().applyM3(c),u.projectOnPlane(s);break}let p=e.plus(u.multiplyScalar(n));t.setStartLocation(p),d>0&&this.bones[d-1].setEndLocation(p)}for(d=0;d<this.numBones;d++)if(t=this.bones[d],n=t.length,a=t.joint,o=a.type,d!==0){let u=t.getDirectionUV(),p=this.bones[d-1].getDirectionUV();switch(o){case sm:u.limitAngle(p,c,a.rotor);break;case ju:s=a.getHingeRotationAxis(),l=a.getHingeReferenceAxis(),u.projectOnPlane(s),a.freeHinge||u.constrainedUV(l,s,c,a.min,a.max);break;case vl:c.createRotationMatrix(p),s=a.getHingeRotationAxis().clone().applyM3(c),l=a.getHingeReferenceAxis().clone().applyM3(c),u.projectOnPlane(s),a.freeHinge||u.constrainedUV(l,s,c,a.min,a.max);break}let m=t.start.plus(u.multiplyScalar(n));t.setEndLocation(m),d<this.numBones-1&&this.bones[d+1].setStartLocation(m)}else{this.fixedBaseMode?t.setStartLocation(this.baseLocation):t.setStartLocation(t.end.minus(t.getDirectionUV().multiplyScalar(n)));let u=t.getDirectionUV(),p,m;switch(this.baseboneConstraintType){case Cc:break;case kv:u.limitAngle(this.baseboneConstraintUV,c,a.rotor);break;case Hk:u.limitAngle(this.baseboneRelativeConstraintUV,c,a.rotor);break;case Nk:p=a.getHingeRotationAxis(),m=a.getHingeReferenceAxis(),u.projectOnPlane(p),a.freeHinge||u.constrainedUV(m,p,c,a.min,a.max);break;case Sv:p=this.baseboneRelativeConstraintUV,m=this.baseboneRelativeReferenceConstraintUV,u.projectOnPlane(p),a.freeHinge||u.constrainedUV(m,p,c,a.min,a.max);break}let _=t.start.plus(u.multiplyScalar(n));t.setEndLocation(_),this.numBones>1&&this.bones[1].setStartLocation(_)}return this.lastTargetLocation.copy(e),this.bones[this.numBones-1].end.distanceTo(e)}updateChainLength(){this.chainLength=0;let e=this.numBones;for(;e--;)this.chainLength+=this.bones[e].length}cloneBones(){let e=[];for(let t=0,n=this.bones.length;t<n;t++)e.push(this.bones[t].clone());return e}},IE=class{constructor(e){this.THREE=rm,this.isStructure3D=!0,this.fixedBaseMode=!0,this.chains=[],this.meshChains=[],this.targets=[],this.numChains=0,this.scene=e||null,this.tmpMtx=new wv,this.isWithMesh=!1}update(){let e,t,n,a,o,r,s;for(let l=0;l<this.numChains;l++){if(e=this.chains[l],a=this.targets[l],o=e.getConnectedChainNumber(),o!==-1)switch(r=this.chains[o].bones[e.getConnectedBoneNumber()],e.setBaseLocation(e.getBoneConnectionPoint()===zv?r.start:r.end),s=e.getBaseboneConstraintType(),s){case Cc:case kv:case Nk:break;case Hk:case Sv:this.tmpMtx.createRotationMatrix(r.getDirectionUV());let c=e.getBaseboneConstraintUV().clone().applyM3(this.tmpMtx);e.setBaseboneRelativeConstraintUV(c),s===Sv&&e.setBaseboneRelativeReferenceConstraintUV(e.bones[0].joint.getHingeReferenceAxis().clone().applyM3(this.tmpMtx));break}if(e.useEmbeddedTarget?e.solveForEmbeddedTarget():e.solveForTarget(a),this.isWithMesh){t=this.meshChains[l];for(let c=0;c<e.numBones;c++)n=e.bones[c],t[c].position.copy(n.start),t[c].lookAt(n.end)}}}clear(){this.clearAllBoneMesh();let e;for(e=this.numChains;e--;)this.remove(e);this.chains=[],this.meshChains=[],this.targets=[]}add(e,t,n){this.chains.push(e),this.targets.push(t),this.numChains++,n&&this.addChainMeshs(e)}remove(e){this.chains[e].clear(),this.chains.splice(e,1),this.meshChains.splice(e,1),this.targets.splice(e,1),this.numChains--}setFixedBaseMode(e){this.fixedBaseMode=e;let t=this.numChains,n;for(;t--;)n=this.chains[t].getConnectedChainNumber(),n===-1&&this.chains[t].setFixedBaseMode(this.fixedBaseMode)}getNumChains(){return this.numChains}getChain(e){return this.chains[e]}connectChain(e,t,n,a,o,r,s){let l=t,c=n;if(t>this.numChains||n>this.chains[t].numBones)return;let d=e.clone();s!==void 0&&d.setColor(s),d.setBoneConnectionPoint(a==="end"?lm:zv),d.setConnectedChainNumber(l),d.setConnectedBoneNumber(c);let u=a==="end"?this.chains[l].bones[c].end:this.chains[l].bones[c].start;d.setBaseLocation(u),d.setFixedBaseMode(!0);for(let p=0;p<d.numBones;p++)d.bones[p].start.add(u),d.bones[p].end.add(u);this.add(d,o,r)}addChainMeshs(e,t){this.isWithMesh=!0;let n=[],a=e.bones.length;for(let o=0;o<a;o++)n.push(this.addBoneMesh(e.bones[o],o-1,n,e));this.meshChains.push(n)}addBoneMesh(e,t,n,a){let o=2,r=2,s,l,c,d=e.length,u=e.color,p=new this.THREE.CylinderGeometry(1,.5,d,4);p.rotateX(-Math.PI*.5),p.translate(0,0,d*.5);let m=new this.THREE.MeshStandardMaterial({color:u,wireframe:!1,shadowSide:this.THREE.DoubleSide}),_=new this.THREE.MeshBasicMaterial({wireframe:!0}),f=null,g,v=e.joint.type;switch(v){case sm:if(_.color.setHex(16737792),e.joint.rotor===Math.PI)break;o=2,r=2,g=new this.THREE.CylinderGeometry(0,r,o,6,1,!0),g.rotateX(-Math.PI*.5),g.translate(0,0,o*.5),f=new this.THREE.Mesh(g,_);break;case ju:c=e.joint.getHingeRotationAxis(),s=e.joint.min,l=e.joint.max,r=2,_.color.setHex(16776960),g=new this.THREE.CircleGeometry(r,12,s,-s+l),g.rotateX(-Math.PI*.5),c.z===1&&g.rotateX(-Math.PI*.5),c.y===1&&(g.rotateY(-Math.PI*.5),g.rotateX(-Math.PI*.5)),c.x===1&&g.rotateY(Math.PI*.5),f=new this.THREE.Mesh(g,_);break;case vl:c=e.joint.getHingeRotationAxis(),s=e.joint.min,l=e.joint.max,r=2,_.color.setHex(65535),g=new this.THREE.CircleGeometry(r,12,s,-s+l),g.rotateX(-Math.PI*.5),c.z===1&&(g.rotateY(-Math.PI*.5),g.rotateX(Math.PI*.5)),c.x===1&&g.rotateZ(-Math.PI*.5),c.y===1&&(g.rotateX(Math.PI*.5),g.rotateY(Math.PI*.5)),f=new this.THREE.Mesh(g,_);break}c=new this.THREE.AxesHelper(1.5);let b=new this.THREE.Mesh(p,m);return b.add(c),this.scene.add(b),b.castShadow=!0,b.receiveShadow=!0,t!==-1?f!==null&&(v!==ju?(f.position.z=a.bones[t].length,n[t].add(f)):b.add(f)):f!==null&&b.add(f),b}clearAllBoneMesh(){if(!this.isWithMesh)return;let e,t,n;for(e=this.meshChains.length;e--;){for(t=this.meshChains[e].length;t--;)n=this.meshChains[e][t],this.scene.remove(n),n.geometry.dispose(),n.material.dispose();this.meshChains[e]=[]}this.meshChains=[]}},qk=class{constructor(e,t,n){this.isJoint2D=!0,this.coordinateSystem=n||vl,e<0&&(e*=-1),this.min=e!==void 0?-e*En.toRad:-En.PI,this.max=t!==void 0?t*En.toRad:En.PI}clone(){let e=new this.constructor;return e.coordinateSystem=this.coordinateSystem,e.max=this.max,e.min=this.min,e}validateAngle(e){return e=e<0?0:e,e=e>180?180:e,e}set(e){this.max=e.max,this.min=e.min,this.coordinateSystem=e.coordinateSystem}setClockwiseConstraintDegs(e){e<0&&(e*=-1),this.min=-(this.validateAngle(e)*En.toRad)}setAnticlockwiseConstraintDegs(e){this.max=this.validateAngle(e)*En.toRad}setConstraintCoordinateSystem(e){this.coordinateSystem=e}getConstraintCoordinateSystem(){return this.coordinateSystem}},mh=class i{constructor(e,t,n,a,o,r,s){this.isBone2D=!0,this.start=new ho,this.end=new ho,this.length=a||0,this.joint=new qk(o,r),this.globalConstraintUV=new ho(1,0),this.boneConnectionPoint=lm,this.color=s||null,this.name="",this.setStartLocation(e),t?(this.setEndLocation(t),this.length===0&&(this.length=this.getLength())):n&&this.setEndLocation(this.start.plus(n.normalised().multiplyScalar(this.length)))}clone(){let e=new i(this.start,this.end);return e.length=this.length,e.globalConstraintUV=this.globalConstraintUV,e.boneConnectionPoint=this.boneConnectionPoint,e.joint=this.joint.clone(),e.color=this.color,e.name=this.name,e}setName(e){this.name=e}setColor(e){this.color=e}setBoneConnectionPoint(e){this.boneConnectionPoint=e}setStartLocation(e){this.start.copy(e)}setEndLocation(e){this.end.copy(e)}setLengt(e){e>0&&(this.length=e)}setGlobalConstraintUV(e){this.globalConstraintUV=e}setJoint(e){this.joint=e}setClockwiseConstraintDegs(e){this.joint.setClockwiseConstraintDegs(e)}setAnticlockwiseConstraintDegs(e){this.joint.setAnticlockwiseConstraintDegs(e)}setJointConstraintCoordinateSystem(e){this.joint.setConstraintCoordinateSystem(e)}getGlobalConstraintUV(){return this.globalConstraintUV}getBoneConnectionPoint(){return this.boneConnectionPoint}getDirectionUV(){return this.end.minus(this.start).normalize()}getLength(){return this.start.distanceTo(this.end)}},Wk=class{constructor(e){this.isChain2D=!0,this.tmpTarget=new ho,this.bones=[],this.name="",this.solveDistanceThreshold=1,this.minIterationChange=.01,this.maxIteration=15,this.precision=.001,this.chainLength=0,this.numBones=0,this.baseLocation=new ho,this.fixedBaseMode=!0,this.baseboneConstraintType=Cc,this.baseboneConstraintUV=new ho,this.baseboneRelativeConstraintUV=new ho,this.lastTargetLocation=new ho(Aa,Aa),this.lastBaseLocation=new ho(Aa,Aa),this.boneConnectionPoint=lm,this.currentSolveDistance=Aa,this.connectedChainNumber=-1,this.connectedBoneNumber=-1,this.color=e||16777215,this.embeddedTarget=new ho,this.useEmbeddedTarget=!1}clone(){let e=new this.constructor;return e.solveDistanceThreshold=this.solveDistanceThreshold,e.minIterationChange=this.minIterationChange,e.maxIteration=this.maxIteration,e.precision=this.precision,e.bones=this.cloneBones(),e.baseLocation.copy(this.baseLocation),e.lastTargetLocation.copy(this.lastTargetLocation),e.lastBaseLocation.copy(this.lastBaseLocation),this.baseboneConstraintType!==Cc&&(e.baseboneConstraintUV.copy(this.baseboneConstraintUV),e.baseboneRelativeConstraintUV.copy(this.baseboneRelativeConstraintUV)),e.fixedBaseMode=this.fixedBaseMode,e.chainLength=this.chainLength,e.numBones=this.numBones,e.currentSolveDistance=this.currentSolveDistance,e.boneConnectionPoint=this.boneConnectionPoint,e.connectedChainNumber=this.connectedChainNumber,e.connectedBoneNumber=this.connectedBoneNumber,e.baseboneConstraintType=this.baseboneConstraintType,e.color=this.color,e.embeddedTarget=this.embeddedTarget.clone(),e.useEmbeddedTarget=this.useEmbeddedTarget,e}clear(){let e=this.numBones;for(;e--;)this.removeBone(e)}addBone(e){e.color===null&&e.setColor(this.color),this.bones.push(e),this.numBones===0&&(this.baseLocation.copy(e.start),this.baseboneConstraintUV.copy(e.getDirectionUV())),this.numBones++,this.updateChainLength()}removeBone(e){e<this.numBones&&(this.bones.splice(e,1),this.numBones--,this.updateChainLength())}addConsecutiveBone(e,t,n,a,o){if(this.numBones===0){Wl.error("Chain is empty ! need first bone");return}if(e.isBone2D){let r=e,s=r.getDirectionUV();En.validateDirectionUV(s);let l=r.length;En.validateLength(l);let c=this.bones[this.numBones-1].end;r.setStartLocation(c),r.setEndLocation(c.plus(s.multiplyScalar(l))),this.addBone(r)}else if(e.isVector2){o=o||this.color,En.validateDirectionUV(e),En.validateLength(t);let r=this.bones[this.numBones-1].end;this.addBone(new mh(r,null,e.normalised(),t,n,a,o))}}getBoneConnectionPoint(){return this.boneConnectionPoint}getConnectedBoneNumber(){return this.connectedBoneNumber}getConnectedChainNumber(){return this.connectedChainNumber}getEmbeddedTarget(){return this.embeddedTarget}getBaseboneConstraintType(){return this.baseboneConstraintType}getBaseboneConstraintUV(){if(this.baseboneConstraintType!==Cc)return this.baseboneConstraintUV}getBaseLocation(){return this.bones[0].start}getEffectorLocation(){return this.bones[this.numBones-1].end}getLastTargetLocation(){return this.lastTargetLocation}getLiveChainLength(){let e=0,t=this.numBones;for(;t--;)e+=this.bones[t].getLength();return e}setColor(e){this.color=e;let t=this.numBones;for(;t--;)this.bones[t].setColor(this.color)}setBaseboneRelativeConstraintUV(e){this.baseboneRelativeConstraintUV=e}setConnectedBoneNumber(e){this.connectedBoneNumber=e}setConnectedChainNumber(e){this.connectedChainNumber=e}setBoneConnectionPoint(e){this.boneConnectionPoint=e}setBaseboneConstraintUV(e){En.validateDirectionUV(e),this.baseboneConstraintUV.copy(e.normalised())}setBaseLocation(e){this.baseLocation.copy(e)}setBaseboneConstraintType(e){this.baseboneConstraintType=e}setFixedBaseMode(e){!e&&this.connectedChainNumber!==-1||this.baseboneConstraintType===FE&&!e||(this.fixedBaseMode=e)}setMaxIterationAttempts(e){e<1||(this.maxIteration=e)}setMinIterationChange(e){e<0||(this.minIterationChange=e)}setSolveDistanceThreshold(e){e<0||(this.solveDistanceThreshold=e)}solveForEmbeddedTarget(){if(this.useEmbeddedTarget)return this.solveForTarget(this.embeddedTarget)}resetTarget(){this.lastBaseLocation=new ho(Aa,Aa),this.currentSolveDistance=Aa}solveForTarget(e){this.tmpTarget.set(e.x,e.y);let t=this.precision,n=this.lastBaseLocation.approximatelyEquals(this.baseLocation,t);if(this.lastTargetLocation.approximatelyEquals(this.tmpTarget,t)&&n)return this.currentSolveDistance;let a,o=null;n?(a=this.bones[this.numBones-1].end.distanceTo(this.tmpTarget),o=this.cloneBones()):a=Aa;let r=[],s=Aa,l=Aa,c,d=this.maxIteration;for(;d--;){if(c=this.solveIK(this.tmpTarget),c<s){if(s=c,r=this.cloneBones(),c<=this.solveDistanceThreshold)break}else if(Math.abs(c-l)<this.minIterationChange)break;l=c}return s<a?(this.currentSolveDistance=s,this.bones=r):(this.currentSolveDistance=a,this.bones=o),this.lastBaseLocation.copy(this.baseLocation),this.lastTargetLocation.copy(this.tmpTarget),this.currentSolveDistance}solveIK(e){if(this.numBones===0)return;let t,n,a,o,r,s,l,c=this.numBones;for(;c--;)t=this.bones[c],n=t.length,c!==this.numBones-1?(a=this.bones[c+1],s=t.getDirectionUV().negate(),l=t.joint.coordinateSystem===vl?a.getDirectionUV().negate():t.getGlobalConstraintUV().negated(),s.constrainedUV(l,a.joint.min,a.joint.max),o=t.end.plus(s.multiplyScalar(n)),t.setStartLocation(o),c>0&&this.bones[c-1].setEndLocation(o)):(t.setEndLocation(e),s=t.getDirectionUV().negate(),c>0?(l=t.joint.coordinateSystem===vl?this.bones[c-1].getDirectionUV().negate():t.getGlobalConstraintUV().negated(),s.constrainedUV(l,t.joint.min,t.joint.max)):t.joint.coordinateSystem!==vl&&(l=t.getGlobalConstraintUV().negated(),s.constrainedUV(l,t.joint.min,t.joint.max)),o=t.end.plus(s.multiplyScalar(n)),t.setStartLocation(o),c>0&&this.bones[c-1].setEndLocation(o));for(c=0;c<this.numBones;c++)t=this.bones[c],n=t.length,c!==0?(s=t.getDirectionUV(),l=t.joint.coordinateSystem===vl?this.bones[c-1].getDirectionUV():t.getGlobalConstraintUV(),s.constrainedUV(l,t.joint.min,t.joint.max),r=t.start.plus(s.multiplyScalar(n)),t.setEndLocation(r),c<this.numBones-1&&this.bones[c+1].setStartLocation(r)):(this.fixedBaseMode?t.setStartLocation(this.baseLocation):(o=t.end.minus(t.getDirectionUV().multiplyScalar(n)),t.setStartLocation(o)),s=t.getDirectionUV(),this.baseboneConstraintType===Cc?(r=t.start.plus(s.multiplyScalar(n)),t.setEndLocation(r),this.numBones>1&&this.bones[1].setStartLocation(r)):(l=this.baseboneConstraintType===$k?this.baseboneRelativeConstraintUV:this.baseboneConstraintUV,s.constrainedUV(l,t.joint.min,t.joint.max),r=t.start.plus(s.multiplyScalar(n)),t.setEndLocation(r),c<this.numBones-1&&this.bones[c+1].setStartLocation(r)));return this.lastTargetLocation.copy(e),this.bones[this.numBones-1].end.distanceTo(e)}updateChainLength(){this.chainLength=0;let e=this.numBones;for(;e--;)this.chainLength+=this.bones[e].length}cloneBones(){let e=[];for(let t=0,n=this.bones.length;t<n;t++)e.push(this.bones[t].clone());return e}},Kk=class{constructor(e){this.THREE=rm,this.isStructure2D=!0,this.fixedBaseMode=!0,this.chains=[],this.meshChains=[],this.angleChains=[],this.targets=[],this.numChains=0,this.scene=e||null,this.isWithMesh=!1}update(){let e,t,n,a;new this.THREE.Vector3;let o,r,s,l;for(let c=0;c<this.numChains;c++){if(e=this.chains[c],a=this.targets[c]||null,o=e.getConnectedChainNumber(),r=e.getBaseboneConstraintType(),o!==-1&&r!==FE){let d=this.chains[o].bones[e.getConnectedBoneNumber()];e.setBaseLocation(e.getBoneConnectionPoint()===zv?d.start:d.end);let u=d.getDirectionUV();if(r===xI)e.setBaseboneConstraintUV(u);else if(r===$k){l=kI.getSignedAngle(u);let p=e.getBaseboneConstraintUV().clone().rotate(l);e.setBaseboneRelativeConstraintUV(p)}}if(e.useEmbeddedTarget?console.log("embed",e.solveForEmbeddedTarget()):e.solveForTarget(a),this.isWithMesh){t=this.meshChains[c],l=this.angleChains[c];for(let d=0;d<e.numBones;d++)n=e.bones[d],t[d].position.set(n.start.x,n.start.y,0),s=En.unwrapRad(-Math.atan2(n.start.x-n.end.x,n.start.y-n.end.y)),s=En.unwrapRad(-Math.atan2(n.end.x-n.start.x,n.end.y-n.start.y)),t[d].rotation.z=s,l[d]=s*En.toDeg}}}setFixedBaseMode(e){this.fixedBaseMode=e;let t=this.numChains,n;for(;t--;)n=this.chains[t].getConnectedChainNumber(),n===-1&&this.chains[t].setFixedBaseMode(this.fixedBaseMode)}clear(){this.clearAllBoneMesh();let e;for(e=this.numChains;e--;)this.remove(e);this.chains=[],this.meshChains=[],this.angleChains=[],this.targets=[]}add(e,t,n){this.chains.push(e),this.numChains++,t&&this.targets.push(t),n&&this.addChainMeshs(e)}remove(e){this.chains[e].clear(),this.chains.splice(e,1),this.meshChains.splice(e,1),this.angleChains.splice(e,1),this.targets.splice(e,1),this.numChains--}getNumChains(){return this.numChains}getChain(e){return this.chains[e]}connectChain(e,t,n,a,o,r,s){let l=t,c=n;if(a=a||"end",l>this.numChains){Wl.error("Chain not existe !");return}if(c>this.chains[l].numBones){Wl.error("Bone not existe !");return}let d=e.clone();d.setBoneConnectionPoint(a==="end"?lm:zv),d.setConnectedChainNumber(l),d.setConnectedBoneNumber(c);let u=a==="end"?this.chains[l].bones[c].end:this.chains[l].bones[c].start;d.setBaseLocation(u),d.setFixedBaseMode(!0);for(let p=0;p<d.numBones;p++)d.bones[p].start.add(u),d.bones[p].end.add(u);this.add(d,o,r)}addChainMeshs(e,t){this.isWithMesh=!0;let n=[],a=[],o=e.bones.length;for(let r=0;r<o;r++)n.push(this.addBoneMesh(e.bones[r])),a.push(0);this.meshChains.push(n),this.angleChains.push(a)}addBoneMesh(e){let t=e.length,n=e.color,a=new this.THREE.CylinderGeometry(.5,1,t,4);a.translate(0,t*.5,0);let o=new this.THREE.MeshStandardMaterial({color:n,wireframe:!1,shadowSide:this.THREE.DoubleSide});new this.THREE.MeshBasicMaterial({wireframe:!0});let r=new this.THREE.Mesh(a,o);return r.castShadow=!0,r.receiveShadow=!0,this.scene.add(r),r}clearAllBoneMesh(){if(!this.isWithMesh)return;let e,t,n;for(e=this.meshChains.length;e--;){for(t=this.meshChains[e].length;t--;)n=this.meshChains[e][t],this.scene.remove(n),n.geometry.dispose(),n.material.dispose();this.meshChains[e]=[]}this.meshChains=[]}},DE=class{constructor(e){this.isIKSolver=!0,this.startBones=null,this.endBones=null,this.target=null,this.goal=null,this.swivelAngle=0,this.iteration=40,this.thresholds={position:.1,rotation:.1},this.solver=null,this.chain=null}},VE=class{constructor(e){this.THREE=rm,this.isHISolver=!0,this.startBones=null,this.endBones=null,this.scene=e.scene,this.target=null,this.goal=null,this.swivelAngle=0,this.iteration=15,this.thresholds={position:.1,rotation:.1},this.solver=new Kk(this.scene,this.THREE),this.bones=[],this.numBones=0,this.rotation=[],this.initStructure(e)}initStructure(e){this.startBones=e.start,this.endBones=e.end,this.angles=e.angles;let t=this.startBones,n=t.children[0];this.bones.push(t);for(let a=0;a<100;a++){if(this.bones.push(n),n===this.endBones){this.createChain();break}t=n,n=t.children[0]}}createChain(){this.numBones=this.bones.length;let e=new Wk;e.setFixedBaseMode(!0),e.setBaseboneConstraintType($k),this.fakeBone=new mh(new ho(0,-1),new ho(0,0)),this.target=new this.THREE.Vector3;let t=new this.THREE.Vector3,n=new this.THREE.Vector3,a=new this.THREE.Vector3,o=new ho,r=0;for(let s=0;s<this.numBones;s++)s>0&&(this.target.add(this.bones[s].position),r=t.distanceTo(this.bones[s].position),this.bones[s-1].getWorldPosition(n),this.bones[s].getWorldPosition(a),a.sub(n).normalize(),a.z===0?o.set(a.x,a.y):a.x===0&&o.set(a.z,a.y),s===1?e.addBone(new mh(new ho(0,0),null,o,r,this.angles[s-1][0],this.angles[s-1][1])):e.addConsecutiveBone(o,r,this.angles[s-1][0],this.angles[s-1][1]));this.target.set(10,20,0),this.solver.add(e,this.target,!0)}update(){this.solver.update();let e=this.solver.chains[0].bones,t=this.numBones-1,n;for(let a=0;a<t;a++)n=a===0?En.findAngle(this.fakeBone,e[a]):En.findAngle(e[a-1],e[a]),this.rotation[a]=n*En.toDeg,this.rotation[a]+=n<0?180:-180,this.rotation[a]*=-1;for(let a=0;a<t;a++)this.bones[a].rotation.z=this.rotation[a]*En.toRad}};var Mn=Vl(wI(),1),mw=Vl(DU(),1),XO=Vl(VU(),1);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(i){if(typeof exports=="object"&&typeof module<"u")module.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e;typeof window<"u"?e=window:typeof global<"u"?e=global:typeof self<"u"?e=self:e=this,e.GIF=i()}})(function(){var i,e,t;return function(){function n(a,o,r){function s(d,u){if(!o[d]){if(!a[d]){var p=typeof or=="function"&&or;if(!u&&p)return p(d,!0);if(l)return l(d,!0);var m=new Error("Cannot find module '"+d+"'");throw m.code="MODULE_NOT_FOUND",m}var _=o[d]={exports:{}};a[d][0].call(_.exports,function(f){var g=a[d][1][f];return s(g||f)},_,_.exports,n,a,o,r)}return o[d].exports}for(var l=typeof or=="function"&&or,c=0;c<r.length;c++)s(r[c]);return s}return n}()({1:[function(n,a,o){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}a.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(u){if(!l(u)||u<0||isNaN(u))throw TypeError("n must be a positive number");return this._maxListeners=u,this},r.prototype.emit=function(u){var p,m,_,f,g,v;if(this._events||(this._events={}),u==="error"&&(!this._events.error||c(this._events.error)&&!this._events.error.length)){if(p=arguments[1],p instanceof Error)throw p;var b=new Error('Uncaught, unspecified "error" event. ('+p+")");throw b.context=p,b}if(m=this._events[u],d(m))return!1;if(s(m))switch(arguments.length){case 1:m.call(this);break;case 2:m.call(this,arguments[1]);break;case 3:m.call(this,arguments[1],arguments[2]);break;default:f=Array.prototype.slice.call(arguments,1),m.apply(this,f)}else if(c(m))for(f=Array.prototype.slice.call(arguments,1),v=m.slice(),_=v.length,g=0;g<_;g++)v[g].apply(this,f);return!0},r.prototype.addListener=function(u,p){var m;if(!s(p))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",u,s(p.listener)?p.listener:p),this._events[u]?c(this._events[u])?this._events[u].push(p):this._events[u]=[this._events[u],p]:this._events[u]=p,c(this._events[u])&&!this._events[u].warned&&(d(this._maxListeners)?m=r.defaultMaxListeners:m=this._maxListeners,m&&m>0&&this._events[u].length>m&&(this._events[u].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[u].length),typeof console.trace=="function"&&console.trace())),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(u,p){if(!s(p))throw TypeError("listener must be a function");var m=!1;function _(){this.removeListener(u,_),m||(m=!0,p.apply(this,arguments))}return _.listener=p,this.on(u,_),this},r.prototype.removeListener=function(u,p){var m,_,f,g;if(!s(p))throw TypeError("listener must be a function");if(!this._events||!this._events[u])return this;if(m=this._events[u],f=m.length,_=-1,m===p||s(m.listener)&&m.listener===p)delete this._events[u],this._events.removeListener&&this.emit("removeListener",u,p);else if(c(m)){for(g=f;g-- >0;)if(m[g]===p||m[g].listener&&m[g].listener===p){_=g;break}if(_<0)return this;m.length===1?(m.length=0,delete this._events[u]):m.splice(_,1),this._events.removeListener&&this.emit("removeListener",u,p)}return this},r.prototype.removeAllListeners=function(u){var p,m;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[u]&&delete this._events[u],this;if(arguments.length===0){for(p in this._events)p!=="removeListener"&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events={},this}if(m=this._events[u],s(m))this.removeListener(u,m);else if(m)for(;m.length;)this.removeListener(u,m[m.length-1]);return delete this._events[u],this},r.prototype.listeners=function(u){var p;return!this._events||!this._events[u]?p=[]:s(this._events[u])?p=[this._events[u]]:p=this._events[u].slice(),p},r.prototype.listenerCount=function(u){if(this._events){var p=this._events[u];if(s(p))return 1;if(p)return p.length}return 0},r.listenerCount=function(u,p){return u.listenerCount(p)};function s(u){return typeof u=="function"}function l(u){return typeof u=="number"}function c(u){return typeof u=="object"&&u!==null}function d(u){return u===void 0}},{}],2:[function(n,a,o){var r,s,l,c,d;d=navigator.userAgent.toLowerCase(),c=navigator.platform.toLowerCase(),r=d.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/)||[null,"unknown",0],l=r[1]==="ie"&&document.documentMode,s={name:r[1]==="version"?r[3]:r[1],version:l||parseFloat(r[1]==="opera"&&r[4]?r[4]:r[2]),platform:{name:d.match(/ip(?:ad|od|hone)/)?"ios":(d.match(/(?:webos|android)/)||c.match(/mac|win|linux/)||["other"])[0]}},s[s.name]=!0,s[s.name+parseInt(s.version,10)]=!0,s.platform[s.platform.name]=!0,a.exports=s},{}],3:[function(n,a,o){var r,s,l,c=function(m,_){for(var f in _)d.call(_,f)&&(m[f]=_[f]);function g(){this.constructor=m}return g.prototype=_.prototype,m.prototype=new g,m.__super__=_.prototype,m},d={}.hasOwnProperty,u=[].indexOf||function(m){for(var _=0,f=this.length;_<f;_++)if(_ in this&&this[_]===m)return _;return-1},p=[].slice;r=n("events").EventEmitter,l=n("./browser.coffee"),s=function(m){var _,f;c(g,m),_={workerScript:"./lib/gif.worker.js",workers:2,repeat:0,background:"#fff",quality:10,width:null,height:null,transparent:null,debug:!1,dither:!1},f={delay:500,copy:!1,dispose:-1};function g(v){var b,x,w;this.running=!1,this.options={},this.frames=[],this.freeWorkers=[],this.activeWorkers=[],this.setOptions(v);for(x in _)w=_[x],(b=this.options)[x]==null&&(b[x]=w)}return g.prototype.setOption=function(v,b){if(this.options[v]=b,this._canvas!=null&&(v==="width"||v==="height"))return this._canvas[v]=b},g.prototype.setOptions=function(v){var b,x,w;x=[];for(b in v)d.call(v,b)&&(w=v[b],x.push(this.setOption(b,w)));return x},g.prototype.addFrame=function(v,b){var x,w;b==null&&(b={}),x={},x.transparent=this.options.transparent;for(w in f)x[w]=b[w]||f[w];if(this.options.width==null&&this.setOption("width",v.width),this.options.height==null&&this.setOption("height",v.height),typeof ImageData<"u"&&ImageData!==null&&v instanceof ImageData)x.data=v.data;else if(typeof CanvasRenderingContext2D<"u"&&CanvasRenderingContext2D!==null&&v instanceof CanvasRenderingContext2D||typeof WebGLRenderingContext<"u"&&WebGLRenderingContext!==null&&v instanceof WebGLRenderingContext)b.copy?x.data=this.getContextData(v):x.context=v;else if(v.childNodes!=null)b.copy?x.data=this.getImageData(v):x.image=v;else throw new Error("Invalid image");return this.frames.push(x)},g.prototype.render=function(){var v,b,x,w;if(this.running)throw new Error("Already running");if(this.options.width==null||this.options.height==null)throw new Error("Width and height must be set prior to rendering");if(this.running=!0,this.nextFrame=0,this.finishedFrames=0,this.imageParts=function(){var E,y,A;for(A=[],v=E=0,y=this.frames.length;0<=y?E<y:E>y;v=0<=y?++E:--E)A.push(null);return A}.call(this),x=this.spawnWorkers(),this.options.globalPalette===!0)this.renderNextFrame();else for(v=b=0,w=x;0<=w?b<w:b>w;v=0<=w?++b:--b)this.renderNextFrame();return this.emit("start"),this.emit("progress",0)},g.prototype.abort=function(){for(var v;v=this.activeWorkers.shift(),v!=null;)this.log("killing active worker"),v.terminate();return this.running=!1,this.emit("abort")},g.prototype.spawnWorkers=function(){var v,b,x,w;return b=Math.min(this.options.workers,this.frames.length),function(){w=[];for(var E=x=this.freeWorkers.length;x<=b?E<b:E>b;x<=b?E++:E--)w.push(E);return w}.apply(this).forEach(function(E){return function(y){var A;return E.log("spawning worker "+y),A=new Worker(E.options.workerScript),A.onmessage=function(R){return E.activeWorkers.splice(E.activeWorkers.indexOf(A),1),E.freeWorkers.push(A),E.frameFinished(R.data)},E.freeWorkers.push(A)}}(this)),b},g.prototype.frameFinished=function(v){var b,x,w;if(this.log("frame "+v.index+" finished - "+this.activeWorkers.length+" active"),this.finishedFrames++,this.emit("progress",this.finishedFrames/this.frames.length),this.imageParts[v.index]=v,this.options.globalPalette===!0&&(this.options.globalPalette=v.globalPalette,this.log("global palette analyzed"),this.frames.length>2))for(b=x=1,w=this.freeWorkers.length;1<=w?x<w:x>w;b=1<=w?++x:--x)this.renderNextFrame();return u.call(this.imageParts,null)>=0?this.renderNextFrame():this.finishRendering()},g.prototype.finishRendering=function(){var v,b,x,w,E,y,A,R,j,F,O,L,U,J,ie,te;for(R=0,J=this.imageParts,E=0,j=J.length;E<j;E++)b=J[E],R+=(b.data.length-1)*b.pageSize+b.cursor;for(R+=b.pageSize-b.cursor,this.log("rendering finished - filesize "+Math.round(R/1e3)+"kb"),v=new Uint8Array(R),L=0,ie=this.imageParts,y=0,F=ie.length;y<F;y++)for(b=ie[y],te=b.data,x=A=0,O=te.length;A<O;x=++A)U=te[x],v.set(U,L),x===b.data.length-1?L+=b.cursor:L+=b.pageSize;return w=new Blob([v],{type:"image/gif"}),this.emit("finished",w,v)},g.prototype.renderNextFrame=function(){var v,b,x;if(this.freeWorkers.length===0)throw new Error("No free workers");if(!(this.nextFrame>=this.frames.length))return v=this.frames[this.nextFrame++],x=this.freeWorkers.shift(),b=this.getTask(v),this.log("starting frame "+(b.index+1)+" of "+this.frames.length),this.activeWorkers.push(x),x.postMessage(b)},g.prototype.getContextData=function(v){return v.getImageData(0,0,this.options.width,this.options.height).data},g.prototype.getImageData=function(v){var b,x,w;if(this._canvas==null&&(this._canvas=document.createElement("canvas"),this._canvas.width=this.options.width,this._canvas.height=this.options.height),b=this._canvas.getContext("2d"),this.options.transparent===1966591){for(b.clearRect(0,0,this.options.width,this.options.height),b.drawImage(v,0,0),x=this.getContextData(b),w=0;w<x.length;)x[w+3]<5&&(x[w+0]=30,x[w+1]=1,x[w+2]=255),x[w+3]=255,w+=4;return x}else return b.fillStyle=this.options.background,b.fillRect(0,0,this.options.width,this.options.height),b.drawImage(v,0,0),this.getContextData(b)},g.prototype.getTask=function(v){var b,x;if(b=this.frames.indexOf(v),x={index:b,last:b===this.frames.length-1,delay:v.delay,dispose:v.dispose,transparent:v.transparent,width:this.options.width,height:this.options.height,quality:this.options.quality,dither:this.options.dither,globalPalette:this.options.globalPalette,repeat:this.options.repeat,canTransfer:l.name==="chrome"},v.data!=null)x.data=v.data;else if(v.context!=null)x.data=this.getContextData(v.context);else if(v.image!=null)x.data=this.getImageData(v.image);else throw new Error("Invalid frame");return x},g.prototype.log=function(){var v;if(v=1<=arguments.length?p.call(arguments,0):[],!!this.options.debug)return console.log.apply(console,v)},g}(r),a.exports=s},{"./browser.coffee":2,events:1}]},{},[3])(3)});var JO=Vl(uO(),1);ZT();function tA(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Am=tA();function gO(i){Am=i}var wb={exec:()=>null};function oa(i,e=""){let t=typeof i=="string"?i:i.source,n={replace:(a,o)=>{let r=typeof o=="string"?o:o.source;return r=r.replace(rs.caret,"$1"),t=t.replace(a,r),n},getRegex:()=>new RegExp(t,e)};return n}var rs={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:i=>new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}#`),htmlBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}<(?:[a-z].*>|!--)`,"i")},EZ=/^(?:[ \t]*(?:\n|$))+/,MZ=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,TZ=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,zb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,AZ=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,iA=/(?:[*+-]|\d{1,9}[.)])/,vO=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,bO=oa(vO).replace(/bull/g,iA).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),CZ=oa(vO).replace(/bull/g,iA).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),nA=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,PZ=/^[^\n]+/,aA=/(?!\s*\])(?:\\.|[^\[\]\\])+/,BZ=oa(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",aA).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),RZ=oa(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,iA).getRegex(),rw="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",oA=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,jZ=oa("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",oA).replace("tag",rw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yO=oa(nA).replace("hr",zb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rw).getRegex(),IZ=oa(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yO).getRegex(),rA={blockquote:IZ,code:MZ,def:BZ,fences:TZ,heading:AZ,hr:zb,html:jZ,lheading:bO,list:RZ,newline:EZ,paragraph:yO,table:wb,text:PZ},pO=oa("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",zb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rw).getRegex(),DZ={...rA,lheading:CZ,table:pO,paragraph:oa(nA).replace("hr",zb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",pO).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rw).getRegex()},VZ={...rA,html:oa(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",oA).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:wb,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:oa(nA).replace("hr",zb).replace("heading",` *#{1,6} *[^
]`).replace("lheading",bO).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},FZ=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,UZ=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,xO=/^( {2,}|\\)\n(?!\s*$)/,OZ=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,sw=/[\p{P}\p{S}]/u,sA=/[\s\p{P}\p{S}]/u,kO=/[^\s\p{P}\p{S}]/u,LZ=oa(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,sA).getRegex(),wO=/(?!~)[\p{P}\p{S}]/u,NZ=/(?!~)[\s\p{P}\p{S}]/u,HZ=/(?:[^\s\p{P}\p{S}]|~)/u,GZ=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,SO=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,qZ=oa(SO,"u").replace(/punct/g,sw).getRegex(),WZ=oa(SO,"u").replace(/punct/g,wO).getRegex(),zO="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",KZ=oa(zO,"gu").replace(/notPunctSpace/g,kO).replace(/punctSpace/g,sA).replace(/punct/g,sw).getRegex(),$Z=oa(zO,"gu").replace(/notPunctSpace/g,HZ).replace(/punctSpace/g,NZ).replace(/punct/g,wO).getRegex(),YZ=oa("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,kO).replace(/punctSpace/g,sA).replace(/punct/g,sw).getRegex(),XZ=oa(/\\(punct)/,"gu").replace(/punct/g,sw).getRegex(),JZ=oa(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ZZ=oa(oA).replace("(?:-->|$)","-->").getRegex(),QZ=oa("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",ZZ).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ow=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,eQ=oa(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",ow).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),EO=oa(/^!?\[(label)\]\[(ref)\]/).replace("label",ow).replace("ref",aA).getRegex(),MO=oa(/^!?\[(ref)\](?:\[\])?/).replace("ref",aA).getRegex(),tQ=oa("reflink|nolink(?!\\()","g").replace("reflink",EO).replace("nolink",MO).getRegex(),lA={_backpedal:wb,anyPunctuation:XZ,autolink:JZ,blockSkip:GZ,br:xO,code:UZ,del:wb,emStrongLDelim:qZ,emStrongRDelimAst:KZ,emStrongRDelimUnd:YZ,escape:FZ,link:eQ,nolink:MO,punctuation:LZ,reflink:EO,reflinkSearch:tQ,tag:QZ,text:OZ,url:wb},iQ={...lA,link:oa(/^!?\[(label)\]\((.*?)\)/).replace("label",ow).getRegex(),reflink:oa(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ow).getRegex()},QT={...lA,emStrongRDelimAst:$Z,emStrongLDelim:WZ,url:oa(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},nQ={...QT,br:oa(xO).replace("{2,}","*").getRegex(),text:oa(QT.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},aw={normal:rA,gfm:DZ,pedantic:VZ},xb={normal:lA,gfm:QT,breaks:nQ,pedantic:iQ},aQ={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},mO=i=>aQ[i];function Oc(i,e){if(e){if(rs.escapeTest.test(i))return i.replace(rs.escapeReplace,mO)}else if(rs.escapeTestNoEncode.test(i))return i.replace(rs.escapeReplaceNoEncode,mO);return i}function _O(i){try{i=encodeURI(i).replace(rs.percentDecode,"%")}catch{return null}return i}function hO(i,e){let t=i.replace(rs.findPipe,(o,r,s)=>{let l=!1,c=r;for(;--c>=0&&s[c]==="\\";)l=!l;return l?"|":" |"}),n=t.split(rs.splitPipe),a=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;a<n.length;a++)n[a]=n[a].trim().replace(rs.slashPipe,"|");return n}function kb(i,e,t){let n=i.length;if(n===0)return"";let a=0;for(;a<n&&i.charAt(n-a-1)===e;)a++;return i.slice(0,n-a)}function oQ(i,e){if(i.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<i.length;n++)if(i[n]==="\\")n++;else if(i[n]===e[0])t++;else if(i[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function fO(i,e,t,n,a){let o=e.href,r=e.title||null,s=i[1].replace(a.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:i[0].charAt(0)==="!"?"image":"link",raw:t,href:o,title:r,text:s,tokens:n.inlineTokens(s)};return n.state.inLink=!1,l}function rQ(i,e,t){let n=i.match(t.other.indentCodeCompensation);if(n===null)return e;let a=n[1];return e.split(`
`).map(o=>{let r=o.match(t.other.beginningSpace);if(r===null)return o;let[s]=r;return s.length>=a.length?o.slice(a.length):o}).join(`
`)}var Kh=class{constructor(e){W(this,"options");W(this,"rules");W(this,"lexer");this.options=e||Am}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:kb(n,`
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],a=rQ(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:a}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let a=kb(n,"#");(this.options.pedantic||!a||this.rules.other.endingSpaceChar.test(a))&&(n=a.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:kb(t[0],`
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=kb(t[0],`
`).split(`
`),a="",o="",r=[];for(;n.length>0;){let s=!1,l=[],c;for(c=0;c<n.length;c++)if(this.rules.other.blockquoteStart.test(n[c]))l.push(n[c]),s=!0;else if(!s)l.push(n[c]);else break;n=n.slice(c);let d=l.join(`
`),u=d.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");a=a?`${a}
${d}`:d,o=o?`${o}
${u}`:u;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,r,!0),this.lexer.state.top=p,n.length===0)break;let m=r.at(-1);if(m?.type==="code")break;if(m?.type==="blockquote"){let _=m,f=_.raw+`
`+n.join(`
`),g=this.blockquote(f);r[r.length-1]=g,a=a.substring(0,a.length-_.raw.length)+g.raw,o=o.substring(0,o.length-_.text.length)+g.text;break}else if(m?.type==="list"){let _=m,f=_.raw+`
`+n.join(`
`),g=this.list(f);r[r.length-1]=g,a=a.substring(0,a.length-m.raw.length)+g.raw,o=o.substring(0,o.length-_.raw.length)+g.raw,n=f.substring(r.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:a,tokens:r,text:o}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),a=n.length>1,o={type:"list",raw:"",ordered:a,start:a?+n.slice(0,-1):"",loose:!1,items:[]};n=a?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=a?n:"[*+-]");let r=this.rules.other.listItemRegex(n),s=!1;for(;e;){let c=!1,d="",u="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;d=t[0],e=e.substring(d.length);let p=t[2].split(`
`,1)[0].replace(this.rules.other.listReplaceTabs,b=>" ".repeat(3*b.length)),m=e.split(`
`,1)[0],_=!p.trim(),f=0;if(this.options.pedantic?(f=2,u=p.trimStart()):_?f=t[1].length+1:(f=t[2].search(this.rules.other.nonSpaceChar),f=f>4?1:f,u=p.slice(f),f+=t[1].length),_&&this.rules.other.blankLine.test(m)&&(d+=m+`
`,e=e.substring(m.length+1),c=!0),!c){let b=this.rules.other.nextBulletRegex(f),x=this.rules.other.hrRegex(f),w=this.rules.other.fencesBeginRegex(f),E=this.rules.other.headingBeginRegex(f),y=this.rules.other.htmlBeginRegex(f);for(;e;){let A=e.split(`
`,1)[0],R;if(m=A,this.options.pedantic?(m=m.replace(this.rules.other.listReplaceNesting," "),R=m):R=m.replace(this.rules.other.tabCharGlobal," "),w.test(m)||E.test(m)||y.test(m)||b.test(m)||x.test(m))break;if(R.search(this.rules.other.nonSpaceChar)>=f||!m.trim())u+=`
`+R.slice(f);else{if(_||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||w.test(p)||E.test(p)||x.test(p))break;u+=`
`+m}!_&&!m.trim()&&(_=!0),d+=A+`
`,e=e.substring(A.length+1),p=R.slice(f)}}o.loose||(s?o.loose=!0:this.rules.other.doubleBlankLine.test(d)&&(s=!0));let g=null,v;this.options.gfm&&(g=this.rules.other.listIsTask.exec(u),g&&(v=g[0]!=="[ ] ",u=u.replace(this.rules.other.listReplaceTask,""))),o.items.push({type:"list_item",raw:d,task:!!g,checked:v,loose:!1,text:u,tokens:[]}),o.raw+=d}let l=o.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let c=0;c<o.items.length;c++)if(this.lexer.state.top=!1,o.items[c].tokens=this.lexer.blockTokens(o.items[c].text,[]),!o.loose){let d=o.items[c].tokens.filter(p=>p.type==="space"),u=d.length>0&&d.some(p=>this.rules.other.anyLine.test(p.raw));o.loose=u}if(o.loose)for(let c=0;c<o.items.length;c++)o.items[c].loose=!0;return o}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),a=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:a,title:o}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=hO(t[1]),a=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===a.length){for(let s of a)this.rules.other.tableAlignRight.test(s)?r.align.push("right"):this.rules.other.tableAlignCenter.test(s)?r.align.push("center"):this.rules.other.tableAlignLeft.test(s)?r.align.push("left"):r.align.push(null);for(let s=0;s<n.length;s++)r.header.push({text:n[s],tokens:this.lexer.inline(n[s]),header:!0,align:r.align[s]});for(let s of o)r.rows.push(hO(s,r.header.length).map((l,c)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:r.align[c]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let r=kb(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{let r=oQ(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let a=t[2],o="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(a);r&&(a=r[1],o=r[3])}else o=t[3]?t[3].slice(1,-1):"";return a=a.trim(),this.rules.other.startAngleBracket.test(a)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?a=a.slice(1):a=a.slice(1,-1)),fO(t,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let a=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=t[a.toLowerCase()];if(!o){let r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return fO(n,o,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let a=this.rules.inline.emStrongLDelim.exec(e);if(!a||a[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(a[1]||a[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let r=[...a[0]].length-1,s,l,c=r,d=0,u=a[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+r);(a=u.exec(t))!=null;){if(s=a[1]||a[2]||a[3]||a[4]||a[5]||a[6],!s)continue;if(l=[...s].length,a[3]||a[4]){c+=l;continue}else if((a[5]||a[6])&&r%3&&!((r+l)%3)){d+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+d);let p=[...a[0]][0].length,m=e.slice(0,r+a.index+p+l);if(Math.min(r,l)%2){let f=m.slice(1,-1);return{type:"em",raw:m,text:f,tokens:this.lexer.inlineTokens(f)}}let _=m.slice(2,-2);return{type:"strong",raw:m,text:_,tokens:this.lexer.inlineTokens(_)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),a=this.rules.other.nonSpaceChar.test(n),o=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return a&&o&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,a;return t[2]==="@"?(n=t[1],a="mailto:"+n):(n=t[1],a=n),{type:"link",raw:t[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,a;if(t[2]==="@")n=t[0],a="mailto:"+n;else{let o;do o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(o!==t[0]);n=t[0],t[1]==="www."?a="http://"+t[0]:a=t[0]}return{type:"link",raw:t[0],text:n,href:a,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},ec=class i{constructor(e){W(this,"tokens");W(this,"options");W(this,"state");W(this,"tokenizer");W(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Am,this.options.tokenizer=this.options.tokenizer||new Kh,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:rs,block:aw.normal,inline:xb.normal};this.options.pedantic?(t.block=aw.pedantic,t.inline=xb.pedantic):this.options.gfm&&(t.block=aw.gfm,this.options.breaks?t.inline=xb.breaks:t.inline=xb.gfm),this.tokenizer.rules=t}static get rules(){return{block:aw,inline:xb}}static lex(e,t){return new i(t).lex(e)}static lexInline(e,t){return new i(t).inlineTokens(e)}lex(e){e=e.replace(rs.carriageReturn,`
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(rs.tabCharGlobal," ").replace(rs.spaceLine,""));e;){let a;if(this.options.extensions?.block?.some(r=>(a=r.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let r=t.at(-1);a.raw.length===1&&r!==void 0?r.raw+=`
`:t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let r=t.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=`
`+a.raw,r.text+=`
`+a.text,this.inlineQueue.at(-1).src=r.text):t.push(a);continue}if(a=this.tokenizer.fences(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.heading(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.hr(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.blockquote(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.list(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.html(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length);let r=t.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=`
`+a.raw,r.text+=`
`+a.raw,this.inlineQueue.at(-1).src=r.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title});continue}if(a=this.tokenizer.table(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.lheading(e)){e=e.substring(a.raw.length),t.push(a);continue}let o=e;if(this.options.extensions?.startBlock){let r=1/0,s=e.slice(1),l;this.options.extensions.startBlock.forEach(c=>{l=c.call({lexer:this},s),typeof l=="number"&&l>=0&&(r=Math.min(r,l))}),r<1/0&&r>=0&&(o=e.substring(0,r+1))}if(this.state.top&&(a=this.tokenizer.paragraph(o))){let r=t.at(-1);n&&r?.type==="paragraph"?(r.raw+=`
`+a.raw,r.text+=`
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(a),n=o.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let r=t.at(-1);r?.type==="text"?(r.raw+=`
`+a.raw,r.text+=`
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(a);continue}if(e){let r="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(r);break}else throw new Error(r)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,a=null;if(this.tokens.links){let s=Object.keys(this.tokens.links);if(s.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)s.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,a.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(a=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let o=!1,r="";for(;e;){o||(r=""),o=!1;let s;if(this.options.extensions?.inline?.some(c=>(s=c.call({lexer:this},e,t))?(e=e.substring(s.raw.length),t.push(s),!0):!1))continue;if(s=this.tokenizer.escape(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.tag(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.link(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length);let c=t.at(-1);s.type==="text"&&c?.type==="text"?(c.raw+=s.raw,c.text+=s.text):t.push(s);continue}if(s=this.tokenizer.emStrong(e,n,r)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.codespan(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.br(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.del(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.autolink(e)){e=e.substring(s.raw.length),t.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(e))){e=e.substring(s.raw.length),t.push(s);continue}let l=e;if(this.options.extensions?.startInline){let c=1/0,d=e.slice(1),u;this.options.extensions.startInline.forEach(p=>{u=p.call({lexer:this},d),typeof u=="number"&&u>=0&&(c=Math.min(c,u))}),c<1/0&&c>=0&&(l=e.substring(0,c+1))}if(s=this.tokenizer.inlineText(l)){e=e.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(r=s.raw.slice(-1)),o=!0;let c=t.at(-1);c?.type==="text"?(c.raw+=s.raw,c.text+=s.text):t.push(s);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return t}},$h=class{constructor(e){W(this,"options");W(this,"parser");this.options=e||Am}space(e){return""}code({text:e,lang:t,escaped:n}){let a=(t||"").match(rs.notSpaceStart)?.[0],o=e.replace(rs.endingNewline,"")+`
`;return a?'<pre><code class="language-'+Oc(a)+'">'+(n?o:Oc(o,!0))+`</code></pre>
`:"<pre><code>"+(n?o:Oc(o,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
`}hr(e){return`<hr>
`}list(e){let t=e.ordered,n=e.start,a="";for(let s=0;s<e.items.length;s++){let l=e.items[s];a+=this.listitem(l)}let o=t?"ol":"ul",r=t&&n!==1?' start="'+n+'"':"";return"<"+o+r+`>
`+a+"</"+o+`>
`}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Oc(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let t="",n="";for(let o=0;o<e.header.length;o++)n+=this.tablecell(e.header[o]);t+=this.tablerow({text:n});let a="";for(let o=0;o<e.rows.length;o++){let r=e.rows[o];n="";for(let s=0;s<r.length;s++)n+=this.tablecell(r[s]);a+=this.tablerow({text:n})}return a&&(a=`<tbody>${a}</tbody>`),`<table>
<thead>
`+t+`</thead>
`+a+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Oc(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let a=this.parser.parseInline(n),o=_O(e);if(o===null)return a;e=o;let r='<a href="'+e+'"';return t&&(r+=' title="'+Oc(t)+'"'),r+=">"+a+"</a>",r}image({href:e,title:t,text:n,tokens:a}){a&&(n=this.parser.parseInline(a,this.parser.textRenderer));let o=_O(e);if(o===null)return Oc(n);e=o;let r=`<img src="${e}" alt="${n}"`;return t&&(r+=` title="${Oc(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:Oc(e.text)}},Sb=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},tc=class i{constructor(e){W(this,"options");W(this,"renderer");W(this,"textRenderer");this.options=e||Am,this.options.renderer=this.options.renderer||new $h,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Sb}static parse(e,t){return new i(t).parse(e)}static parseInline(e,t){return new i(t).parseInline(e)}parse(e,t=!0){let n="";for(let a=0;a<e.length;a++){let o=e[a];if(this.options.extensions?.renderers?.[o.type]){let s=o,l=this.options.extensions.renderers[s.type].call({parser:this},s);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(s.type)){n+=l||"";continue}}let r=o;switch(r.type){case"space":{n+=this.renderer.space(r);continue}case"hr":{n+=this.renderer.hr(r);continue}case"heading":{n+=this.renderer.heading(r);continue}case"code":{n+=this.renderer.code(r);continue}case"table":{n+=this.renderer.table(r);continue}case"blockquote":{n+=this.renderer.blockquote(r);continue}case"list":{n+=this.renderer.list(r);continue}case"html":{n+=this.renderer.html(r);continue}case"paragraph":{n+=this.renderer.paragraph(r);continue}case"text":{let s=r,l=this.renderer.text(s);for(;a+1<e.length&&e[a+1].type==="text";)s=e[++a],l+=`
`+this.renderer.text(s);t?n+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l,escaped:!0}]}):n+=l;continue}default:{let s='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}parseInline(e,t=this.renderer){let n="";for(let a=0;a<e.length;a++){let o=e[a];if(this.options.extensions?.renderers?.[o.type]){let s=this.options.extensions.renderers[o.type].call({parser:this},o);if(s!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=s||"";continue}}let r=o;switch(r.type){case"escape":{n+=t.text(r);break}case"html":{n+=t.html(r);break}case"link":{n+=t.link(r);break}case"image":{n+=t.image(r);break}case"strong":{n+=t.strong(r);break}case"em":{n+=t.em(r);break}case"codespan":{n+=t.codespan(r);break}case"br":{n+=t.br(r);break}case"del":{n+=t.del(r);break}case"text":{n+=t.text(r);break}default:{let s='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}},Mm=class{constructor(e){W(this,"options");W(this,"block");this.options=e||Am}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?ec.lex:ec.lexInline}provideParser(){return this.block?tc.parse:tc.parseInline}};W(Mm,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));var eA=class{constructor(...e){W(this,"defaults",tA());W(this,"options",this.setOptions);W(this,"parse",this.parseMarkdown(!0));W(this,"parseInline",this.parseMarkdown(!1));W(this,"Parser",tc);W(this,"Renderer",$h);W(this,"TextRenderer",Sb);W(this,"Lexer",ec);W(this,"Tokenizer",Kh);W(this,"Hooks",Mm);this.use(...e)}walkTokens(e,t){let n=[];for(let a of e)switch(n=n.concat(t.call(this,a)),a.type){case"table":{let o=a;for(let r of o.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of o.rows)for(let s of r)n=n.concat(this.walkTokens(s.tokens,t));break}case"list":{let o=a;n=n.concat(this.walkTokens(o.items,t));break}default:{let o=a;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let s=o[r].flat(1/0);n=n.concat(this.walkTokens(s,t))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let a={...n};if(a.async=this.defaults.async||a.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let r=t.renderers[o.name];r?t.renderers[o.name]=function(...s){let l=o.renderer.apply(this,s);return l===!1&&(l=r.apply(this,s)),l}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let r=t[o.level];r?r.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),a.extensions=t),n.renderer){let o=this.defaults.renderer||new $h(this.defaults);for(let r in n.renderer){if(!(r in o))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let s=r,l=n.renderer[s],c=o[s];o[s]=(...d)=>{let u=l.apply(o,d);return u===!1&&(u=c.apply(o,d)),u||""}}a.renderer=o}if(n.tokenizer){let o=this.defaults.tokenizer||new Kh(this.defaults);for(let r in n.tokenizer){if(!(r in o))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let s=r,l=n.tokenizer[s],c=o[s];o[s]=(...d)=>{let u=l.apply(o,d);return u===!1&&(u=c.apply(o,d)),u}}a.tokenizer=o}if(n.hooks){let o=this.defaults.hooks||new Mm;for(let r in n.hooks){if(!(r in o))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let s=r,l=n.hooks[s],c=o[s];Mm.passThroughHooks.has(r)?o[s]=d=>{if(this.defaults.async)return Promise.resolve(l.call(o,d)).then(p=>c.call(o,p));let u=l.call(o,d);return c.call(o,u)}:o[s]=(...d)=>{let u=l.apply(o,d);return u===!1&&(u=c.apply(o,d)),u}}a.hooks=o}if(n.walkTokens){let o=this.defaults.walkTokens,r=n.walkTokens;a.walkTokens=function(s){let l=[];return l.push(r.call(this,s)),o&&(l=l.concat(o.call(this,s))),l}}this.defaults={...this.defaults,...a}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ec.lex(e,t??this.defaults)}parser(e,t){return tc.parse(e,t??this.defaults)}parseMarkdown(e){return(n,a)=>{let o={...a},r={...this.defaults,...o},s=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&o.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));r.hooks&&(r.hooks.options=r,r.hooks.block=e);let l=r.hooks?r.hooks.provideLexer():e?ec.lex:ec.lexInline,c=r.hooks?r.hooks.provideParser():e?tc.parse:tc.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then(d=>l(d,r)).then(d=>r.hooks?r.hooks.processAllTokens(d):d).then(d=>r.walkTokens?Promise.all(this.walkTokens(d,r.walkTokens)).then(()=>d):d).then(d=>c(d,r)).then(d=>r.hooks?r.hooks.postprocess(d):d).catch(s);try{r.hooks&&(n=r.hooks.preprocess(n));let d=l(n,r);r.hooks&&(d=r.hooks.processAllTokens(d)),r.walkTokens&&this.walkTokens(d,r.walkTokens);let u=c(d,r);return r.hooks&&(u=r.hooks.postprocess(u)),u}catch(d){return s(d)}}}onError(e,t){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,e){let a="<p>An error occurred:</p><pre>"+Oc(n.message+"",!0)+"</pre>";return t?Promise.resolve(a):a}if(t)return Promise.reject(n);throw n}}},Tm=new eA;function aa(i,e){return Tm.parse(i,e)}aa.options=aa.setOptions=function(i){return Tm.setOptions(i),aa.defaults=Tm.defaults,gO(aa.defaults),aa};aa.getDefaults=tA;aa.defaults=Am;aa.use=function(...i){return Tm.use(...i),aa.defaults=Tm.defaults,gO(aa.defaults),aa};aa.walkTokens=function(i,e){return Tm.walkTokens(i,e)};aa.parseInline=Tm.parseInline;aa.Parser=tc;aa.parser=tc.parse;aa.Renderer=$h;aa.TextRenderer=Sb;aa.Lexer=ec;aa.lexer=ec.lex;aa.Tokenizer=Kh;aa.Hooks=Mm;aa.parse=aa;var Bre=aa.options,Rre=aa.setOptions,jre=aa.use,Ire=aa.walkTokens,Dre=aa.parseInline;var Vre=tc.parse,Fre=ec.lex;var Mb=class{constructor(e){var t=this;this.whoami="apng png animation encoder canvas",this.canvas=e,this.repeat=0,this.frame=-1,this.seqNumber=-1,this.delay_num=1,this.delay_den=1,this.dispose=0,this.blend=1,this.apngBytes,this.frameBytes,this.started=!1,this.closeStream=!1}start(){return this.started=!0,this.closeStream=!1,this.apngBytes=new uw(0),this.frameBytes=new uw(0),this.frame=-1,this.seqNumber=-1,0}setDelay(e){return this.delay_num=parseInt(e),this.delay_den=100,0}setRepeat(e){return e>=0&&(this.repeat=parseInt(e)),0}setDispose(e){return e<0||e>2||(this.dispose=parseInt(e)),0}setBlend(e){return e<0||e>1||(this.blend=parseInt(e)),0}addFrame(e){if(this.canvas===null||!this.started||this.apngBytes===null)throw new Error("Please call start method before calling addFrame");e instanceof HTMLCanvasElement&&(this.canvas=e),this.frame+=1;var t=this.canvas.toDataURL("image/png"),n=t.replace(/^data:image\/png;base64,/,"");if(this.frameBytes.bin=uQ(n),this.frame==0){var a=[137,80,78,71,13,10,26,10];this.apngBytes.bin=this.apngBytes.bin.concat(a);var o=this.frameBytes.findChunk("IHDR"),r=this.frameBytes.bin.slice(o.idx,o.idx+12+o.len);this.apngBytes.bin=this.apngBytes.bin.concat(r);var s=new Array(0);s=s.concat([0,0,0,8]),s=s.concat(lw("acTL")),s=s.concat([0,0,0,1]),s=s.concat(To(this.repeat));var l=Eb(s.slice(4,16));s=s.concat(To(l)),this.apngBytes.bin=this.apngBytes.bin.concat(s);for(var c=this.frameBytes.findChunkAll("IDAT"),d=0;d<c.length;d++){if(d==0){this.seqNumber+=1;var u=new Array(0);u=u.concat(To(26)),u=u.concat(lw("fcTL")),u=u.concat(To(this.seqNumber)),u=u.concat(To(this.canvas.width)),u=u.concat(To(this.canvas.height)),u=u.concat(To(0)),u=u.concat(To(0)),u=u.concat(cw(this.delay_num)),u=u.concat(cw(this.delay_den)),u=u.concat([this.dispose]),u=u.concat([this.blend]);var l=Eb(u.slice(4,34));u=u.concat(To(l)),this.apngBytes.bin=this.apngBytes.bin.concat(u)}o=c[d];var r=this.frameBytes.bin.slice(o.idx,o.idx+12+o.len);this.apngBytes.bin=this.apngBytes.bin.concat(r)}}if(this.frame>0)for(var c=this.frameBytes.findChunkAll("IDAT"),d=0;d<c.length;d++){if(d==0){this.seqNumber+=1;var u=new Array(0);u=u.concat(To(26)),u=u.concat(lw("fcTL")),u=u.concat(To(this.seqNumber)),u=u.concat(To(this.canvas.width)),u=u.concat(To(this.canvas.height)),u=u.concat(To(0)),u=u.concat(To(0)),u=u.concat(cw(this.delay_num)),u=u.concat(cw(this.delay_den)),u=u.concat([this.dispose]),u=u.concat([this.blend]);var l=Eb(u.slice(4,34));u=u.concat(To(l)),this.apngBytes.bin=this.apngBytes.bin.concat(u)}o=c[d];var p=this.frameBytes.bin.slice(o.idx+8,o.idx+8+o.len),m=o.len+4;this.seqNumber+=1;var _=new Array(0);_=_.concat(To(m)),_=_.concat(lw("fdAT")),_=_.concat(To(this.seqNumber)),_=_.concat(p);var l=Eb(_.slice(4,8+m));_=_.concat(To(l)),this.apngBytes.bin=this.apngBytes.bin.concat(_)}return 0}finish(){if(!this.started)return!1;var e=[0,0,0,0,73,69,78,68,174,66,96,130];this.apngBytes.bin=this.apngBytes.bin.concat(e);var t=this.apngBytes.findChunk("acTL"),n=To(this.frame+1);this.apngBytes.bin[t.idx+8]=n[0],this.apngBytes.bin[t.idx+8+1]=n[1],this.apngBytes.bin[t.idx+8+2]=n[2],this.apngBytes.bin[t.idx+8+3]=n[3];var a=this.apngBytes.bin.slice(t.idx+4,t.idx+4+4+8),o=Eb(a),r=To(o);return this.apngBytes.bin[t.idx+4+4+8]=r[0],this.apngBytes.bin[t.idx+4+4+8+1]=r[1],this.apngBytes.bin[t.idx+4+4+8+2]=r[2],this.apngBytes.bin[t.idx+4+4+8+3]=r[3],this.started=!1,this.closeStream=!0,!0}stream(){return this.apngBytes}},dw=class{constructor(e,t,n){this.idx=e,this.len=t,this.type=n}},uw=class{constructor(e){this.bin=new Array(e)}findChunk(e){for(var t=8,n=null;t<this.bin.length;){var a=this.bin.slice(t,t+4),o=this.bin.slice(t+4,t+8),r=AO(a),s=TO(o);if(s===e)return new dw(t,r,s);t+=8+r+4}return n}findChunkAll(e){for(var t=8,n=[];t<this.bin.length;){var a=this.bin.slice(t,t+4),o=this.bin.slice(t+4,t+8),r=AO(a),s=TO(o);if(s===e){let l=new dw(t,r,s);n.push(l)}t+=8+r+4}return n}toStrHex(){return sQ(this.bin)}toStrBase64(){return CO(this.bin)}toStrAscii(){return cQ(this.bin)}toStrDec(){return lQ(this.bin)}};function sQ(i){for(var e="",t=0;t<i.length;t++)e+=dQ(i[t],2)+" ";return e}function lQ(i){for(var e="",t=0;t<i.length;t++)e+=("000"+i[t]).slice(-3),e+=" ";return e}function cQ(i){for(var e="",t=0;t<i.length;t++)i[t]>32&&i[t]<127?e+=String.fromCharCode(i[t]):e+=".";return e}function dQ(i,e){return(i+Math.pow(16,e)).toString(16).slice(-e).toUpperCase()}function CO(i){for(var e="",t=0;t<i.length;t++)e+=String.fromCharCode(i[t]);return btoa(e)}Mb.bytesToBase64=CO;function uQ(i){for(var e=atob(i),t=e.length,n=new Array(t),a=0;a<t;++a)n[a]=e.charCodeAt(a);return n}function lw(i){var e=new Array(4);return e[0]=i.charCodeAt(0),e[1]=i.charCodeAt(1),e[2]=i.charCodeAt(2),e[3]=i.charCodeAt(3),e}function TO(i){var e=String.fromCharCode(i[0])+String.fromCharCode(i[1])+String.fromCharCode(i[2])+String.fromCharCode(i[3]);return e}function To(i){for(var e=i,t=[0,0,0,0],n=0;n<t.length;n++){var a=e&255;t[n]=a,e=(e-a)/256}return t.reverse()}function AO(i){var e=(i[0]<<24)+(i[1]<<12)+(i[2]<<8)+i[3];return e}function cw(i){for(var e=i,t=[0,0],n=0;n<t.length;n++){var a=e&255;t[n]=a,e=(e-a)/256}return t.reverse()}var pQ="00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D",mQ=pQ.split(" ").map(function(i){return parseInt(i,16)});function Eb(i){if(typeof i=="string"||i instanceof String)for(var e=new Array(i.length),t=0;t<i.length;t++)e[t]=i.charCodeAt(t);else if(Array.isArray(i))var e=i;else return alert("Bad input for CRC32 calculation: "+i),0;for(var n=-1,t=0,a=e.length;t<a;t++)n=n>>>8^mQ[(n^e[t])&255];return(n^-1)>>>0}function PO(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t<e;t++)n[t]=i[t];return n}function _Q(i){if(Array.isArray(i))return i}function hQ(i,e){var t=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var n,a,o,r,s=[],l=!0,c=!1;try{if(o=(t=t.call(i)).next,e!==0)for(;!(l=(n=o.call(t)).done)&&(s.push(n.value),s.length!==e);l=!0);}catch(d){c=!0,a=d}finally{try{if(!l&&t.return!=null&&(r=t.return(),Object(r)!==r))return}finally{if(c)throw a}}return s}}function fQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gQ(i,e){return _Q(i)||hQ(i,e)||vQ(i,e)||fQ()}function vQ(i,e){if(i){if(typeof i=="string")return PO(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?PO(i,e):void 0}}var WO=Object.entries,BO=Object.setPrototypeOf,bQ=Object.isFrozen,yQ=Object.getPrototypeOf,xQ=Object.getOwnPropertyDescriptor,Pr=Object.freeze,Br=Object.seal,Jh=Object.create,KO=typeof Reflect<"u"&&Reflect,_A=KO.apply,hA=KO.construct;Pr||(Pr=function(e){return e});Br||(Br=function(e){return e});_A||(_A=function(e,t){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;o<n;o++)a[o-2]=arguments[o];return e.apply(t,a)});hA||(hA=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return new e(...n)});var Yh=Wo(Array.prototype.forEach),kQ=Wo(Array.prototype.lastIndexOf),RO=Wo(Array.prototype.pop),Xh=Wo(Array.prototype.push),wQ=Wo(Array.prototype.splice),Xu=Array.isArray,Cb=Wo(String.prototype.toLowerCase),cA=Wo(String.prototype.toString),jO=Wo(String.prototype.match),Tb=Wo(String.prototype.replace),IO=Wo(String.prototype.indexOf),SQ=Wo(String.prototype.trim),zQ=Wo(Number.prototype.toString),EQ=Wo(Boolean.prototype.toString),DO=typeof BigInt>"u"?null:Wo(BigInt.prototype.toString),VO=typeof Symbol>"u"?null:Wo(Symbol.prototype.toString),_r=Wo(Object.prototype.hasOwnProperty),Ab=Wo(Object.prototype.toString),mr=Wo(RegExp.prototype.test),Cm=MQ(TypeError);function Wo(i){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return _A(i,e,n)}}function MQ(i){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return hA(i,t)}}function Nn(i,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Cb;if(BO&&BO(i,null),!Xu(e))return i;let n=e.length;for(;n--;){let a=e[n];if(typeof a=="string"){let o=t(a);o!==a&&(bQ(e)||(e[n]=o),a=o)}i[a]=!0}return i}function TQ(i){for(let e=0;e<i.length;e++)_r(i,e)||(i[e]=null);return i}function ss(i){let e=Jh(null);for(let n of WO(i)){var t=gQ(n,2);let a=t[0],o=t[1];_r(i,a)&&(Xu(o)?e[a]=TQ(o):o&&typeof o=="object"&&o.constructor===Object?e[a]=ss(o):e[a]=o)}return e}function AQ(i){switch(typeof i){case"string":return i;case"number":return zQ(i);case"boolean":return EQ(i);case"bigint":return DO?DO(i):"0";case"symbol":return VO?VO(i):"Symbol()";case"undefined":return Ab(i);case"function":case"object":{if(i===null)return Ab(i);let e=i,t=Lc(e,"toString");if(typeof t=="function"){let n=t(e);return typeof n=="string"?n:Ab(n)}return Ab(i)}default:return Ab(i)}}function Lc(i,e){for(;i!==null;){let n=xQ(i,e);if(n){if(n.get)return Wo(n.get);if(typeof n.value=="function")return Wo(n.value)}i=yQ(i)}function t(){return null}return t}function CQ(i){try{return mr(i,""),!0}catch{return!1}}var FO=Pr(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),dA=Pr(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),uA=Pr(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),PQ=Pr(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),pA=Pr(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),BQ=Pr(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),UO=Pr(["#text"]),OO=Pr(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),mA=Pr(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),LO=Pr(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),pw=Pr(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),RQ=Br(/{{[\w\W]*|^[\w\W]*}}/g),jQ=Br(/<%[\w\W]*|^[\w\W]*%>/g),IQ=Br(/\${[\w\W]*/g),DQ=Br(/^data-[\-\w.\u00B7-\uFFFF]+$/),VQ=Br(/^aria-[\-\w]+$/),NO=Br(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),FQ=Br(/^(?:\w+script|data):/i),UQ=Br(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),OQ=Br(/^html$/i),LQ=Br(/^[a-z][.\w]*(-[.\w]+)+$/i),HO=Br(/<[/\w!]/g),GO=Br(/<[/\w]/g),NQ=Br(/<\/no(script|embed|frames)/i),HQ=Br(/\/>/i),Js={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},GQ=function(){return typeof window>"u"?null:window},qQ=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(n=t.getAttribute(a));let o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},qO=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Yu=function(e,t,n,a){return _r(e,t)&&Xu(e[t])?Nn(a.base?ss(a.base):{},e[t],a.transform):n};function $O(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:GQ(),e=Vt=>$O(Vt);if(e.version="3.4.12",e.removed=[],!i||!i.document||i.document.nodeType!==Js.document||!i.Element)return e.isSupported=!1,e;let t=i.document,n=t,a=n.currentScript;i.DocumentFragment;let o=i.HTMLTemplateElement,r=i.Node,s=i.Element,l=i.NodeFilter,c=i.NamedNodeMap;c===void 0&&(i.NamedNodeMap||i.MozNamedAttrMap),i.HTMLFormElement;let d=i.DOMParser,u=i.trustedTypes,p=s.prototype,m=Lc(p,"cloneNode"),_=Lc(p,"remove"),f=Lc(p,"nextSibling"),g=Lc(p,"childNodes"),v=Lc(p,"parentNode"),b=Lc(p,"shadowRoot"),x=Lc(p,"attributes"),w=r&&r.prototype?Lc(r.prototype,"nodeType"):null,E=r&&r.prototype?Lc(r.prototype,"nodeName"):null;if(typeof o=="function"){let Vt=t.createElement("template");Vt.content&&Vt.content.ownerDocument&&(t=Vt.content.ownerDocument)}let y,A="",R,j=!1,F=0,O=function(){if(F>0)throw Cm('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},L=function(Ce){O(),F++;try{return y.createHTML(Ce)}finally{F--}},U=function(Ce){O(),F++;try{return y.createScriptURL(Ce)}finally{F--}},J=function(){return j||(R=qQ(u,a),j=!0),R},ie=t,te=ie.implementation,me=ie.createNodeIterator,Q=ie.createDocumentFragment,H=ie.getElementsByTagName,re=n.importNode,K=qO();e.isSupported=typeof WO=="function"&&typeof v=="function"&&te&&te.createHTMLDocument!==void 0;let pe=RQ,xe=jQ,le=IQ,Be=DQ,X=VQ,ne=FQ,Me=UQ,Ue=LQ,et=NO,Qe=null,Ge=Nn({},[...FO,...dA,...uA,...pA,...UO]),Ie=null,Ke=Nn({},[...OO,...mA,...LO,...pw]),z=Object.seal(Jh(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),C=null,S=null,P=Object.seal(Jh(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),V=!0,ee=!0,ce=!1,be=!0,ge=!1,Se=!0,He=!1,Ae=!1,de=null,Oe=null,Je=!1,dt=!1,ue=!1,Fe=!1,Ee=!0,xt=!1,_e="user-content-",je=!0,We=!1,pt={},At=null,Rt=Nn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),Xt=null,Yt=Nn({},["audio","video","img","source","image","track"]),fi=null,vi=Nn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ri="http://www.w3.org/1998/Math/MathML",ji="http://www.w3.org/2000/svg",bi="http://www.w3.org/1999/xhtml",Ni=bi,xa=!1,da=null,po=Nn({},[ri,ji,bi],cA),Te=Pr(["mi","mo","mn","ms","mtext"]),lt=Nn({},Te),ot=Pr(["annotation-xml"]),ft=Nn({},ot),Et=Nn({},["title","style","font","a","script"]),Ai=null,Ii=["application/xhtml+xml","text/html"],Wt="text/html",ti=null,Jt=null,Ci=t.createElement("form"),zi=function(Ce){return Ce instanceof RegExp||Ce instanceof Function},en=function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Jt&&Jt===Ce)return;(!Ce||typeof Ce!="object")&&(Ce={}),Ce=ss(Ce),Ai=Ii.indexOf(Ce.PARSER_MEDIA_TYPE)===-1?Wt:Ce.PARSER_MEDIA_TYPE,ti=Ai==="application/xhtml+xml"?cA:Cb,Qe=Yu(Ce,"ALLOWED_TAGS",Ge,{transform:ti}),Ie=Yu(Ce,"ALLOWED_ATTR",Ke,{transform:ti}),da=Yu(Ce,"ALLOWED_NAMESPACES",po,{transform:cA}),fi=Yu(Ce,"ADD_URI_SAFE_ATTR",vi,{transform:ti,base:vi}),Xt=Yu(Ce,"ADD_DATA_URI_TAGS",Yt,{transform:ti,base:Yt}),At=Yu(Ce,"FORBID_CONTENTS",Rt,{transform:ti}),C=Yu(Ce,"FORBID_TAGS",ss({}),{transform:ti}),S=Yu(Ce,"FORBID_ATTR",ss({}),{transform:ti}),pt=_r(Ce,"USE_PROFILES")?Ce.USE_PROFILES&&typeof Ce.USE_PROFILES=="object"?ss(Ce.USE_PROFILES):Ce.USE_PROFILES:!1,V=Ce.ALLOW_ARIA_ATTR!==!1,ee=Ce.ALLOW_DATA_ATTR!==!1,ce=Ce.ALLOW_UNKNOWN_PROTOCOLS||!1,be=Ce.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ge=Ce.SAFE_FOR_TEMPLATES||!1,Se=Ce.SAFE_FOR_XML!==!1,He=Ce.WHOLE_DOCUMENT||!1,dt=Ce.RETURN_DOM||!1,ue=Ce.RETURN_DOM_FRAGMENT||!1,Fe=Ce.RETURN_TRUSTED_TYPE||!1,Je=Ce.FORCE_BODY||!1,Ee=Ce.SANITIZE_DOM!==!1,xt=Ce.SANITIZE_NAMED_PROPS||!1,je=Ce.KEEP_CONTENT!==!1,We=Ce.IN_PLACE||!1,et=CQ(Ce.ALLOWED_URI_REGEXP)?Ce.ALLOWED_URI_REGEXP:NO,Ni=typeof Ce.NAMESPACE=="string"?Ce.NAMESPACE:bi,lt=_r(Ce,"MATHML_TEXT_INTEGRATION_POINTS")&&Ce.MATHML_TEXT_INTEGRATION_POINTS&&typeof Ce.MATHML_TEXT_INTEGRATION_POINTS=="object"?ss(Ce.MATHML_TEXT_INTEGRATION_POINTS):Nn({},Te),ft=_r(Ce,"HTML_INTEGRATION_POINTS")&&Ce.HTML_INTEGRATION_POINTS&&typeof Ce.HTML_INTEGRATION_POINTS=="object"?ss(Ce.HTML_INTEGRATION_POINTS):Nn({},ot);let nt=_r(Ce,"CUSTOM_ELEMENT_HANDLING")&&Ce.CUSTOM_ELEMENT_HANDLING&&typeof Ce.CUSTOM_ELEMENT_HANDLING=="object"?ss(Ce.CUSTOM_ELEMENT_HANDLING):Jh(null);if(z=Jh(null),_r(nt,"tagNameCheck")&&zi(nt.tagNameCheck)&&(z.tagNameCheck=nt.tagNameCheck),_r(nt,"attributeNameCheck")&&zi(nt.attributeNameCheck)&&(z.attributeNameCheck=nt.attributeNameCheck),_r(nt,"allowCustomizedBuiltInElements")&&typeof nt.allowCustomizedBuiltInElements=="boolean"&&(z.allowCustomizedBuiltInElements=nt.allowCustomizedBuiltInElements),Br(z),ge&&(ee=!1),ue&&(dt=!0),pt&&(Qe=Nn({},UO),Ie=Jh(null),pt.html===!0&&(Nn(Qe,FO),Nn(Ie,OO)),pt.svg===!0&&(Nn(Qe,dA),Nn(Ie,mA),Nn(Ie,pw)),pt.svgFilters===!0&&(Nn(Qe,uA),Nn(Ie,mA),Nn(Ie,pw)),pt.mathMl===!0&&(Nn(Qe,pA),Nn(Ie,LO),Nn(Ie,pw))),P.tagCheck=null,P.attributeCheck=null,_r(Ce,"ADD_TAGS")&&(typeof Ce.ADD_TAGS=="function"?P.tagCheck=Ce.ADD_TAGS:Xu(Ce.ADD_TAGS)&&(Qe===Ge&&(Qe=ss(Qe)),Nn(Qe,Ce.ADD_TAGS,ti))),_r(Ce,"ADD_ATTR")&&(typeof Ce.ADD_ATTR=="function"?P.attributeCheck=Ce.ADD_ATTR:Xu(Ce.ADD_ATTR)&&(Ie===Ke&&(Ie=ss(Ie)),Nn(Ie,Ce.ADD_ATTR,ti))),_r(Ce,"ADD_URI_SAFE_ATTR")&&Xu(Ce.ADD_URI_SAFE_ATTR)&&Nn(fi,Ce.ADD_URI_SAFE_ATTR,ti),_r(Ce,"FORBID_CONTENTS")&&Xu(Ce.FORBID_CONTENTS)&&(At===Rt&&(At=ss(At)),Nn(At,Ce.FORBID_CONTENTS,ti)),_r(Ce,"ADD_FORBID_CONTENTS")&&Xu(Ce.ADD_FORBID_CONTENTS)&&(At===Rt&&(At=ss(At)),Nn(At,Ce.ADD_FORBID_CONTENTS,ti)),je&&(Qe["#text"]=!0),He&&Nn(Qe,["html","head","body"]),Qe.table&&(Nn(Qe,["tbody"]),delete C.tbody),Ce.TRUSTED_TYPES_POLICY){if(typeof Ce.TRUSTED_TYPES_POLICY.createHTML!="function")throw Cm('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ce.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Cm('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let Mt=y;y=Ce.TRUSTED_TYPES_POLICY;try{A=L("")}catch(pi){throw y=Mt,pi}}else Ce.TRUSTED_TYPES_POLICY===null?(y=void 0,A=""):(y===void 0&&(y=J()),y&&typeof A=="string"&&(A=L("")));Pr&&Pr(Ce),Jt=Ce},Un=Nn({},[...dA,...uA,...PQ]),Ji=Nn({},[...pA,...BQ]),jo=function(Ce,nt,Mt){return nt.namespaceURI===bi?Ce==="svg":nt.namespaceURI===ri?Ce==="svg"&&(Mt==="annotation-xml"||lt[Mt]):!!Un[Ce]},An=function(Ce,nt,Mt){return nt.namespaceURI===bi?Ce==="math":nt.namespaceURI===ji?Ce==="math"&&ft[Mt]:!!Ji[Ce]},ua=function(Ce,nt,Mt){return nt.namespaceURI===ji&&!ft[Mt]||nt.namespaceURI===ri&&!lt[Mt]?!1:!Ji[Ce]&&(Et[Ce]||!Un[Ce])},jn=function(Ce){let nt=v(Ce);(!nt||!nt.tagName)&&(nt={namespaceURI:Ni,tagName:"template"});let Mt=Cb(Ce.tagName),pi=Cb(nt.tagName);return da[Ce.namespaceURI]?Ce.namespaceURI===ji?jo(Mt,nt,pi):Ce.namespaceURI===ri?An(Mt,nt,pi):Ce.namespaceURI===bi?ua(Mt,nt,pi):!!(Ai==="application/xhtml+xml"&&da[Ce.namespaceURI]):!1},_n=function(Ce){Xh(e.removed,{element:Ce});try{v(Ce).removeChild(Ce)}catch{if(_(Ce),!v(Ce))throw Cm("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ea=function(Ce){mo(Ce);let nt=g(Ce);if(nt){let pi=[];Yh(nt,Fi=>{Xh(pi,Fi)}),Yh(pi,Fi=>{try{_(Fi)}catch{}})}let Mt=x(Ce);if(Mt)for(let pi=Mt.length-1;pi>=0;--pi){let Fi=Mt[pi],Di=Fi&&Fi.name;if(typeof Di=="string")try{Ce.removeAttribute(Di)}catch{}}},ja=function(Ce,nt){try{Xh(e.removed,{attribute:nt.getAttributeNode(Ce),from:nt})}catch{Xh(e.removed,{attribute:null,from:nt})}if(nt.removeAttribute(Ce),Ce==="is")if(dt||ue)try{_n(nt)}catch{}else try{nt.setAttribute(Ce,"")}catch{}},xr=function(Ce){let nt=x(Ce);if(nt)for(let Mt=nt.length-1;Mt>=0;--Mt){let pi=nt[Mt],Fi=pi&&pi.name;if(!(typeof Fi!="string"||Ie[ti(Fi)]))try{Ce.removeAttribute(Fi)}catch{}}},mo=function(Ce){let nt=[Ce];for(;nt.length>0;){let Mt=nt.pop();(w?w(Mt):Mt.nodeType)===Js.element&&xr(Mt);let Fi=g(Mt);if(Fi)for(let Di=Fi.length-1;Di>=0;--Di)nt.push(Fi[Di])}},Qo=function(Ce){if(!Se)return;let nt=[Ce];for(;nt.length>0;){let Mt=nt.pop(),pi=w?w(Mt):Mt.nodeType;if(pi===Js.processingInstruction||pi===Js.comment&&mr(GO,Mt.data)){try{_(Mt)}catch{}continue}if(pi===Js.element){let Di=Mt,ka=ti(E?E(Mt):Mt.nodeName);try{Di.hasAttribute&&Di.hasAttribute("patchsrc")&&Di.removeAttribute("patchsrc"),Di.hasAttribute&&Di.hasAttribute("for")&&ka!=="label"&&ka!=="output"&&Di.removeAttribute("for")}catch{}}let Fi=g(Mt);if(Fi)for(let Di=Fi.length-1;Di>=0;--Di)nt.push(Fi[Di])}},Io=function(Ce){let nt=null,Mt=null;if(Je)Ce="<remove></remove>"+Ce;else{let Di=jO(Ce,/^[\r\n\t ]+/);Mt=Di&&Di[0]}Ai==="application/xhtml+xml"&&Ni===bi&&(Ce='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Ce+"</body></html>");let pi=y?L(Ce):Ce;if(Ni===bi)try{nt=new d().parseFromString(pi,Ai)}catch{}if(!nt||!nt.documentElement){nt=te.createDocument(Ni,"template",null);try{nt.documentElement.innerHTML=xa?A:pi}catch{}}let Fi=nt.body||nt.documentElement;return Ce&&Mt&&Fi.insertBefore(t.createTextNode(Mt),Fi.childNodes[0]||null),Ni===bi?H.call(nt,He?"html":"body")[0]:He?nt.documentElement:Fi},er=function(Ce){return me.call(Ce.ownerDocument||Ce,Ce,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ui=function(Ce){return Ce=Tb(Ce,pe," "),Ce=Tb(Ce,xe," "),Ce=Tb(Ce,le," "),Ce},Ei=function(Ce){var nt;Ce.normalize();let Mt=me.call(Ce.ownerDocument||Ce,Ce,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),pi=Mt.nextNode();for(;pi;)pi.data=ui(pi.data),pi=Mt.nextNode();let Fi=(nt=Ce.querySelectorAll)===null||nt===void 0?void 0:nt.call(Ce,"template");Fi&&Yh(Fi,Di=>{ai(Di.content)&&Ei(Di.content)})},dn=function(Ce){let nt=E?E(Ce):null;return typeof nt!="string"||ti(nt)!=="form"?!1:typeof Ce.nodeName!="string"||typeof Ce.textContent!="string"||typeof Ce.removeChild!="function"||Ce.attributes!==x(Ce)||typeof Ce.removeAttribute!="function"||typeof Ce.setAttribute!="function"||typeof Ce.namespaceURI!="string"||typeof Ce.insertBefore!="function"||typeof Ce.hasChildNodes!="function"||Ce.nodeType!==w(Ce)||Ce.childNodes!==g(Ce)},ai=function(Ce){if(!w||typeof Ce!="object"||Ce===null)return!1;try{return w(Ce)===Js.documentFragment}catch{return!1}},Xn=function(Ce){if(!w||typeof Ce!="object"||Ce===null)return!1;try{return typeof w(Ce)=="number"}catch{return!1}};function Ma(Vt,Ce,nt){Vt.length!==0&&Yh(Vt,Mt=>{Mt.call(e,Ce,nt,Jt)})}let pc=function(Ce,nt){return!!(Se&&Ce.hasChildNodes()&&!Xn(Ce.firstElementChild)&&mr(HO,Ce.textContent)&&mr(HO,Ce.innerHTML)||Se&&Ce.namespaceURI===bi&&nt==="style"&&Xn(Ce.firstElementChild)||Ce.nodeType===Js.processingInstruction||Se&&Ce.nodeType===Js.comment&&mr(GO,Ce.data))},Rl=function(Ce,nt){if(!C[nt]&&fp(nt)&&(z.tagNameCheck instanceof RegExp&&mr(z.tagNameCheck,nt)||z.tagNameCheck instanceof Function&&z.tagNameCheck(nt)))return!1;if(je&&!At[nt]){let Mt=v(Ce),pi=g(Ce);if(pi&&Mt){let Fi=pi.length;for(let Di=Fi-1;Di>=0;--Di){let ka=We?pi[Di]:m(pi[Di],!0);Mt.insertBefore(ka,f(Ce))}}}return _n(Ce),!0},fs=function(Ce,nt){if(Ma(K.beforeSanitizeElements,Ce,null),Ce!==nt&&v(Ce)===null)return!0;if(dn(Ce))return _n(Ce),!0;let Mt=ti(E?E(Ce):Ce.nodeName);if(Ma(K.uponSanitizeElement,Ce,{tagName:Mt,allowedTags:Qe}),Ce!==nt&&v(Ce)===null)return!0;if(pc(Ce,Mt))return _n(Ce),!0;if(C[Mt]||!(P.tagCheck instanceof Function&&P.tagCheck(Mt))&&!Qe[Mt]){let Fi=Rl(Ce,Mt);return Fi===!1&&Ma(K.afterSanitizeElements,Ce,null),Fi}if((w?w(Ce):Ce.nodeType)===Js.element&&!jn(Ce)||(Mt==="noscript"||Mt==="noembed"||Mt==="noframes")&&mr(NQ,Ce.innerHTML))return _n(Ce),!0;if(ge&&Ce.nodeType===Js.text){let Fi=ui(Ce.textContent);Ce.textContent!==Fi&&(Xh(e.removed,{element:Ce.cloneNode()}),Ce.textContent=Fi)}return Ma(K.afterSanitizeElements,Ce,null),!1},mc=function(Ce,nt,Mt){if(S[nt]||Se&&nt==="patchsrc"||Se&&nt==="for"&&Ce!=="label"&&Ce!=="output"||Ee&&(nt==="id"||nt==="name")&&(Mt in t||Mt in Ci))return!1;let pi=Ie[nt]||P.attributeCheck instanceof Function&&P.attributeCheck(nt,Ce);if(!(ee&&mr(Be,nt))){if(!(V&&mr(X,nt))){if(pi){if(!fi[nt]){if(!mr(et,Tb(Mt,Me,""))){if(!((nt==="src"||nt==="xlink:href"||nt==="href")&&Ce!=="script"&&IO(Mt,"data:")===0&&Xt[Ce])){if(!(ce&&!mr(ne,Tb(Mt,Me,"")))){if(Mt)return!1}}}}}else if(!(fp(Ce)&&(z.tagNameCheck instanceof RegExp&&mr(z.tagNameCheck,Ce)||z.tagNameCheck instanceof Function&&z.tagNameCheck(Ce))&&(z.attributeNameCheck instanceof RegExp&&mr(z.attributeNameCheck,nt)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(nt,Ce))||nt==="is"&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&mr(z.tagNameCheck,Mt)||z.tagNameCheck instanceof Function&&z.tagNameCheck(Mt))))return!1}}return!0},jl=Nn({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),fp=function(Ce){return!jl[Cb(Ce)]&&mr(Ue,Ce)},o_=function(Ce,nt,Mt,pi){if(y&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!Mt)switch(u.getAttributeType(Ce,nt)){case"TrustedHTML":return L(pi);case"TrustedScriptURL":return U(pi)}return pi},wf=function(Ce,nt,Mt,pi){try{Mt?Ce.setAttributeNS(Mt,nt,pi):Ce.setAttribute(nt,pi),dn(Ce)?_n(Ce):RO(e.removed)}catch{ja(nt,Ce)}},Dr=function(Ce){Ma(K.beforeSanitizeAttributes,Ce,null);let nt=Ce.attributes;if(!nt||dn(Ce))return;let Mt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ie,forceKeepAttr:void 0},pi=nt.length,Fi=ti(Ce.nodeName);for(;pi--;){let Di=nt[pi],ka=Di.name,Qa=Di.namespaceURI,lr=Di.value,eo=ti(ka),ta=lr,to=ka==="value"?ta:SQ(ta);if(Mt.attrName=eo,Mt.attrValue=to,Mt.keepAttr=!0,Mt.forceKeepAttr=void 0,Ma(K.uponSanitizeAttribute,Ce,Mt),to=Mt.attrValue,xt&&(eo==="id"||eo==="name")&&IO(to,_e)!==0&&(ja(ka,Ce),to=_e+to),Se&&mr(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,to)){ja(ka,Ce);continue}if(eo==="attributename"&&jO(to,"href")){ja(ka,Ce);continue}if(!Mt.forceKeepAttr){if(!Mt.keepAttr){ja(ka,Ce);continue}if(!be&&mr(HQ,to)){ja(ka,Ce);continue}if(ge&&(to=ui(to)),!mc(Fi,eo,to)){ja(ka,Ce);continue}to=o_(Fi,eo,Qa,to),to!==ta&&wf(Ce,ka,Qa,to)}}Ma(K.afterSanitizeAttributes,Ce,null)},_c=function(Ce){let nt=null,Mt=er(Ce);for(Ma(K.beforeSanitizeShadowDOM,Ce,null);nt=Mt.nextNode();)if(Ma(K.uponSanitizeShadowNode,nt,null),fs(nt,Ce),Dr(nt),ai(nt.content)&&_c(nt.content),(w?w(nt):nt.nodeType)===Js.element){let Fi=b(nt);ai(Fi)&&(js(Fi),_c(Fi))}Ma(K.afterSanitizeShadowDOM,Ce,null)},js=function(Ce){let nt=[{node:Ce,shadow:null}];for(;nt.length>0;){let Mt=nt.pop();if(Mt.shadow){_c(Mt.shadow);continue}let pi=Mt.node,Di=(w?w(pi):pi.nodeType)===Js.element,ka=g(pi);if(ka)for(let Qa=ka.length-1;Qa>=0;--Qa)nt.push({node:ka[Qa],shadow:null});if(Di){let Qa=E?E(pi):null;if(typeof Qa=="string"&&ti(Qa)==="template"){let lr=pi.content;ai(lr)&&nt.push({node:lr,shadow:null})}}if(Di){let Qa=b(pi);ai(Qa)&&nt.push({node:null,shadow:Qa},{node:Qa,shadow:null})}}};return e.sanitize=function(Vt){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},nt=null,Mt=null,pi=null,Fi=null;if(xa=!Vt,xa&&(Vt="<!-->"),typeof Vt!="string"&&!Xn(Vt)&&(Vt=AQ(Vt),typeof Vt!="string"))throw Cm("dirty is not a string, aborting");if(!e.isSupported)return Vt;Ae?(Qe=de,Ie=Oe):en(Ce),(K.uponSanitizeElement.length>0||K.uponSanitizeAttribute.length>0)&&(Qe=ss(Qe)),K.uponSanitizeAttribute.length>0&&(Ie=ss(Ie)),e.removed=[];let Di=We&&typeof Vt!="string"&&Xn(Vt);if(Di){Qo(Vt);let eo=E?E(Vt):Vt.nodeName;if(typeof eo=="string"){let ta=ti(eo);if(!Qe[ta]||C[ta])throw Ea(Vt),Cm("root node is forbidden and cannot be sanitized in-place")}if(dn(Vt))throw Ea(Vt),Cm("root node is clobbered and cannot be sanitized in-place");try{js(Vt)}catch(ta){throw Ea(Vt),ta}}else if(Xn(Vt))nt=Io("<!---->"),Mt=nt.ownerDocument.importNode(Vt,!0),Mt.nodeType===Js.element&&Mt.nodeName==="BODY"||Mt.nodeName==="HTML"?nt=Mt:nt.appendChild(Mt),js(Mt);else{if(!dt&&!ge&&!He&&Vt.indexOf("<")===-1)return y&&Fe?L(Vt):Vt;if(nt=Io(Vt),!nt)return dt?null:Fe?A:""}nt&&Je&&_n(nt.firstChild);let ka=Di?Vt:nt,Qa=er(ka);try{for(;pi=Qa.nextNode();)fs(pi,ka),Dr(pi),ai(pi.content)&&_c(pi.content)}catch(eo){throw Di&&(Ea(Vt),Yh(e.removed,ta=>{ta.element&&mo(ta.element)})),eo}if(Di)return Yh(e.removed,eo=>{eo.element&&mo(eo.element)}),ge&&Ei(Vt),Vt;if(dt){if(ge&&Ei(nt),ue)for(Fi=Q.call(nt.ownerDocument);nt.firstChild;)Fi.appendChild(nt.firstChild);else Fi=nt;return(Ie.shadowroot||Ie.shadowrootmode)&&(Fi=re.call(n,Fi,!0)),Fi}let lr=He?nt.outerHTML:nt.innerHTML;return He&&Qe["!doctype"]&&nt.ownerDocument&&nt.ownerDocument.doctype&&nt.ownerDocument.doctype.name&&mr(OQ,nt.ownerDocument.doctype.name)&&(lr="<!DOCTYPE "+nt.ownerDocument.doctype.name+`>
`+lr),ge&&(lr=ui(lr)),y&&Fe?L(lr):lr},e.setConfig=function(){let Vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};en(Vt),Ae=!0,de=Qe,Oe=Ie},e.clearConfig=function(){Jt=null,Ae=!1,de=null,Oe=null,y=R,A=""},e.isValidAttribute=function(Vt,Ce,nt){Jt||en({});let Mt=ti(Vt),pi=ti(Ce);return mc(Mt,pi,nt)},e.addHook=function(Vt,Ce){typeof Ce=="function"&&_r(K,Vt)&&Xh(K[Vt],Ce)},e.removeHook=function(Vt,Ce){if(_r(K,Vt)){if(Ce!==void 0){let nt=kQ(K[Vt],Ce);return nt===-1?void 0:wQ(K[Vt],nt,1)[0]}return RO(K[Vt])}},e.removeHooks=function(Vt){_r(K,Vt)&&(K[Vt]=[])},e.removeAllHooks=function(){K=qO()},e}var YO=$O();Mn.default.use(JO.default);Mn.default.directive("sortable",{inserted:function(i,e){new JT(i,e.value||{})}});var Ve=Object.assign({},rm);var WQ={GIFEnc:HS,THREE:Ve,jQuery:fA.default,$:fA.default,FIK:UE,Vue:Mn.default,JSZip:mw.default,Prism:XO.default,marked:aa,APNGencoder:Mb,DOMPurify:YO};Object.assign(window,WQ);(function(i){typeof define=="function"&&define.amd?define(["jquery"],i):i(jQuery)})(function(i){i.ui=i.ui||{},i.ui.version="1.12.1";var e,t=0,n=Array.prototype.slice;i.cleanData=(e=i.cleanData,function(z){for(var C,S,P=0;(S=z[P])!=null;P++)try{(C=i._data(S,"events"))&&C.remove&&i(S).triggerHandler("remove")}catch{}e(z)}),i.widget=function(z,C,S){var P,V,ee,ce={},be=z.split(".")[0],ge=be+"-"+(z=z.split(".")[1]);return S||(S=C,C=i.Widget),i.isArray(S)&&(S=i.extend.apply(null,[{}].concat(S))),i.expr[":"][ge.toLowerCase()]=function(Se){return!!i.data(Se,ge)},i[be]=i[be]||{},P=i[be][z],V=i[be][z]=function(Se,He){if(!this._createWidget)return new V(Se,He);arguments.length&&this._createWidget(Se,He)},i.extend(V,P,{version:S.version,_proto:i.extend({},S),_childConstructors:[]}),(ee=new C).options=i.widget.extend({},ee.options),i.each(S,function(Se,He){function Ae(){return C.prototype[Se].apply(this,arguments)}function de(Oe){return C.prototype[Se].apply(this,Oe)}i.isFunction(He)?ce[Se]=function(){var Oe,Je=this._super,dt=this._superApply;return this._super=Ae,this._superApply=de,Oe=He.apply(this,arguments),this._super=Je,this._superApply=dt,Oe}:ce[Se]=He}),V.prototype=i.widget.extend(ee,{widgetEventPrefix:P&&ee.widgetEventPrefix||z},ce,{constructor:V,namespace:be,widgetName:z,widgetFullName:ge}),P?(i.each(P._childConstructors,function(Se,He){var Ae=He.prototype;i.widget(Ae.namespace+"."+Ae.widgetName,V,He._proto)}),delete P._childConstructors):C._childConstructors.push(V),i.widget.bridge(z,V),V},i.widget.extend=function(z){for(var C,S,P=n.call(arguments,1),V=0,ee=P.length;V<ee;V++)for(C in P[V])S=P[V][C],P[V].hasOwnProperty(C)&&S!==void 0&&(i.isPlainObject(S)?z[C]=i.isPlainObject(z[C])?i.widget.extend({},z[C],S):i.widget.extend({},S):z[C]=S);return z},i.widget.bridge=function(z,C){var S=C.prototype.widgetFullName||z;i.fn[z]=function(P){var V=typeof P=="string",ee=n.call(arguments,1),ce=this;return V?this.length||P!=="instance"?this.each(function(){var be,ge=i.data(this,S);return P==="instance"?(ce=ge,!1):ge?i.isFunction(ge[P])&&P.charAt(0)!=="_"?(be=ge[P].apply(ge,ee))!==ge&&be!==void 0?(ce=be&&be.jquery?ce.pushStack(be.get()):be,!1):void 0:i.error("no such method '"+P+"' for "+z+" widget instance"):i.error("cannot call methods on "+z+" prior to initialization; attempted to call method '"+P+"'")}):ce=void 0:(ee.length&&(P=i.widget.extend.apply(null,[P].concat(ee))),this.each(function(){var be=i.data(this,S);be?(be.option(P||{}),be._init&&be._init()):i.data(this,S,new C(P,this))})),ce}},i.Widget=function(){},i.Widget._childConstructors=[],i.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(z,C){C=i(C||this.defaultElement||this)[0],this.element=i(C),this.uuid=t++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=i(),this.hoverable=i(),this.focusable=i(),this.classesElementLookup={},C!==this&&(i.data(C,this.widgetFullName,this),this._on(!0,this.element,{remove:function(S){S.target===C&&this.destroy()}}),this.document=i(C.style?C.ownerDocument:C.document||C),this.window=i(this.document[0].defaultView||this.document[0].parentWindow)),this.options=i.widget.extend({},this.options,this._getCreateOptions(),z),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:i.noop,_create:i.noop,_init:i.noop,destroy:function(){var z=this;this._destroy(),i.each(this.classesElementLookup,function(C,S){z._removeClass(S,C)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:i.noop,widget:function(){return this.element},option:function(z,C){var S,P,V,ee=z;if(arguments.length===0)return i.widget.extend({},this.options);if(typeof z=="string")if(ee={},z=(S=z.split(".")).shift(),S.length){for(P=ee[z]=i.widget.extend({},this.options[z]),V=0;V<S.length-1;V++)P[S[V]]=P[S[V]]||{},P=P[S[V]];if(z=S.pop(),arguments.length===1)return P[z]===void 0?null:P[z];P[z]=C}else{if(arguments.length===1)return this.options[z]===void 0?null:this.options[z];ee[z]=C}return this._setOptions(ee),this},_setOptions:function(z){for(var C in z)this._setOption(C,z[C]);return this},_setOption:function(z,C){return z==="classes"&&this._setOptionClasses(C),this.options[z]=C,z==="disabled"&&this._setOptionDisabled(C),this},_setOptionClasses:function(z){var C,S,P;for(C in z)P=this.classesElementLookup[C],z[C]!==this.options.classes[C]&&P&&P.length&&(S=i(P.get()),this._removeClass(P,C),S.addClass(this._classes({element:S,keys:C,classes:z,add:!0})))},_setOptionDisabled:function(z){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!z),z&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(z){var C=[],S=this;function P(V,ee){for(var ce,be=0;be<V.length;be++)ce=S.classesElementLookup[V[be]]||i(),ce=z.add?i(i.unique(ce.get().concat(z.element.get()))):i(ce.not(z.element).get()),S.classesElementLookup[V[be]]=ce,C.push(V[be]),ee&&z.classes[V[be]]&&C.push(z.classes[V[be]])}return z=i.extend({element:this.element,classes:this.options.classes||{}},z),this._on(z.element,{remove:"_untrackClassesElement"}),z.keys&&P(z.keys.match(/\S+/g)||[],!0),z.extra&&P(z.extra.match(/\S+/g)||[]),C.join(" ")},_untrackClassesElement:function(z){var C=this;i.each(C.classesElementLookup,function(S,P){i.inArray(z.target,P)!==-1&&(C.classesElementLookup[S]=i(P.not(z.target).get()))})},_removeClass:function(z,C,S){return this._toggleClass(z,C,S,!1)},_addClass:function(z,C,S){return this._toggleClass(z,C,S,!0)},_toggleClass:function(ee,C,S,P){P=typeof P=="boolean"?P:S;var V=typeof ee=="string"||ee===null,ee={extra:V?C:S,keys:V?ee:C,element:V?this.element:ee,add:P};return ee.element.toggleClass(this._classes(ee),P),this},_on:function(z,C,S){var P,V=this;typeof z!="boolean"&&(S=C,C=z,z=!1),S?(C=P=i(C),this.bindings=this.bindings.add(C)):(S=C,C=this.element,P=this.widget()),i.each(S,function(ge,ce){function be(){if(z||V.options.disabled!==!0&&!i(this).hasClass("ui-state-disabled"))return(typeof ce=="string"?V[ce]:ce).apply(V,arguments)}typeof ce!="string"&&(be.guid=ce.guid=ce.guid||be.guid||i.guid++);var Se=ge.match(/^([\w:-]*)\s*(.*)$/),ge=Se[1]+V.eventNamespace,Se=Se[2];Se?P.on(ge,Se,be):C.on(ge,be)})},_off:function(z,C){C=(C||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,z.off(C).off(C),this.bindings=i(this.bindings.not(z).get()),this.focusable=i(this.focusable.not(z).get()),this.hoverable=i(this.hoverable.not(z).get())},_delay:function(z,C){var S=this;return setTimeout(function(){return(typeof z=="string"?S[z]:z).apply(S,arguments)},C||0)},_hoverable:function(z){this.hoverable=this.hoverable.add(z),this._on(z,{mouseenter:function(C){this._addClass(i(C.currentTarget),null,"ui-state-hover")},mouseleave:function(C){this._removeClass(i(C.currentTarget),null,"ui-state-hover")}})},_focusable:function(z){this.focusable=this.focusable.add(z),this._on(z,{focusin:function(C){this._addClass(i(C.currentTarget),null,"ui-state-focus")},focusout:function(C){this._removeClass(i(C.currentTarget),null,"ui-state-focus")}})},_trigger:function(z,C,S){var P,V,ee=this.options[z];if(S=S||{},(C=i.Event(C)).type=(z===this.widgetEventPrefix?z:this.widgetEventPrefix+z).toLowerCase(),C.target=this.element[0],V=C.originalEvent)for(P in V)P in C||(C[P]=V[P]);return this.element.trigger(C,S),!(i.isFunction(ee)&&ee.apply(this.element[0],[C].concat(S))===!1||C.isDefaultPrevented())}},i.each({show:"fadeIn",hide:"fadeOut"},function(z,C){i.Widget.prototype["_"+z]=function(S,P,V){var ee;typeof P=="string"&&(P={effect:P});var ce=P?P!==!0&&typeof P!="number"&&P.effect||C:z;typeof(P=P||{})=="number"&&(P={duration:P}),ee=!i.isEmptyObject(P),P.complete=V,P.delay&&S.delay(P.delay),ee&&i.effects&&i.effects.effect[ce]?S[z](P):ce!==z&&S[ce]?S[ce](P.duration,P.easing,V):S.queue(function(be){i(this)[z](),V&&V.call(S[0]),be()})}});var a,o,r,s,l,c,d,u,p;i.widget;function m(z,C,S){return[parseFloat(z[0])*(u.test(z[0])?C/100:1),parseFloat(z[1])*(u.test(z[1])?S/100:1)]}function _(z,C){return parseInt(i.css(z,C),10)||0}o=Math.max,r=Math.abs,s=/left|center|right/,l=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,u=/%$/,p=i.fn.position,i.position={scrollbarWidth:function(){if(a!==void 0)return a;var z,C=i("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),S=C.children()[0];return i("body").append(C),z=S.offsetWidth,C.css("overflow","scroll"),z===(S=S.offsetWidth)&&(S=C[0].clientWidth),C.remove(),a=z-S},getScrollInfo:function(z){var S=z.isWindow||z.isDocument?"":z.element.css("overflow-x"),C=z.isWindow||z.isDocument?"":z.element.css("overflow-y"),S=S==="scroll"||S==="auto"&&z.width<z.element[0].scrollWidth;return{width:C==="scroll"||C==="auto"&&z.height<z.element[0].scrollHeight?i.position.scrollbarWidth():0,height:S?i.position.scrollbarWidth():0}},getWithinInfo:function(z){var C=i(z||window),S=i.isWindow(C[0]),P=!!C[0]&&C[0].nodeType===9;return{element:C,isWindow:S,isDocument:P,offset:!S&&!P?i(z).offset():{left:0,top:0},scrollLeft:C.scrollLeft(),scrollTop:C.scrollTop(),width:C.outerWidth(),height:C.outerHeight()}}},i.fn.position=function(z){if(!z||!z.of)return p.apply(this,arguments);z=i.extend({},z);var C,S,P,V,ee,ce,be=i(z.of),ge=i.position.getWithinInfo(z.within),Se=i.position.getScrollInfo(ge),He=(z.collision||"flip").split(" "),Ae={},de=(ce=(de=be)[0]).nodeType===9?{width:de.width(),height:de.height(),offset:{top:0,left:0}}:i.isWindow(ce)?{width:de.width(),height:de.height(),offset:{top:de.scrollTop(),left:de.scrollLeft()}}:ce.preventDefault?{width:0,height:0,offset:{top:ce.pageY,left:ce.pageX}}:{width:de.outerWidth(),height:de.outerHeight(),offset:de.offset()};return be[0].preventDefault&&(z.at="left top"),S=de.width,P=de.height,V=de.offset,ee=i.extend({},V),i.each(["my","at"],function(){var Oe,Je,dt=(z[this]||"").split(" ");dt.length===1&&(dt=s.test(dt[0])?dt.concat(["center"]):l.test(dt[0])?["center"].concat(dt):["center","center"]),dt[0]=s.test(dt[0])?dt[0]:"center",dt[1]=l.test(dt[1])?dt[1]:"center",Oe=c.exec(dt[0]),Je=c.exec(dt[1]),Ae[this]=[Oe?Oe[0]:0,Je?Je[0]:0],z[this]=[d.exec(dt[0])[0],d.exec(dt[1])[0]]}),He.length===1&&(He[1]=He[0]),z.at[0]==="right"?ee.left+=S:z.at[0]==="center"&&(ee.left+=S/2),z.at[1]==="bottom"?ee.top+=P:z.at[1]==="center"&&(ee.top+=P/2),C=m(Ae.at,S,P),ee.left+=C[0],ee.top+=C[1],this.each(function(){var Oe,Je,dt=i(this),ue=dt.outerWidth(),Fe=dt.outerHeight(),Ee=_(this,"marginLeft"),xt=_(this,"marginTop"),_e=ue+Ee+_(this,"marginRight")+Se.width,je=Fe+xt+_(this,"marginBottom")+Se.height,We=i.extend({},ee),pt=m(Ae.my,dt.outerWidth(),dt.outerHeight());z.my[0]==="right"?We.left-=ue:z.my[0]==="center"&&(We.left-=ue/2),z.my[1]==="bottom"?We.top-=Fe:z.my[1]==="center"&&(We.top-=Fe/2),We.left+=pt[0],We.top+=pt[1],Oe={marginLeft:Ee,marginTop:xt},i.each(["left","top"],function(At,Rt){i.ui.position[He[At]]&&i.ui.position[He[At]][Rt](We,{targetWidth:S,targetHeight:P,elemWidth:ue,elemHeight:Fe,collisionPosition:Oe,collisionWidth:_e,collisionHeight:je,offset:[C[0]+pt[0],C[1]+pt[1]],my:z.my,at:z.at,within:ge,elem:dt})}),z.using&&(Je=function(At){var Rt=V.left-We.left,Xt=Rt+S-ue,Yt=V.top-We.top,fi=Yt+P-Fe,vi={target:{element:be,left:V.left,top:V.top,width:S,height:P},element:{element:dt,left:We.left,top:We.top,width:ue,height:Fe},horizontal:Xt<0?"left":0<Rt?"right":"center",vertical:fi<0?"top":0<Yt?"bottom":"middle"};S<ue&&r(Rt+Xt)<S&&(vi.horizontal="center"),P<Fe&&r(Yt+fi)<P&&(vi.vertical="middle"),o(r(Rt),r(Xt))>o(r(Yt),r(fi))?vi.important="horizontal":vi.important="vertical",z.using.call(this,At,vi)}),dt.offset(i.extend(We,{using:Je}))})},i.ui.position={fit:{left:function(z,C){var S=C.within,P=S.isWindow?S.scrollLeft:S.offset.left,V=S.width,ee=z.left-C.collisionPosition.marginLeft,ce=P-ee,be=ee+C.collisionWidth-V-P;C.collisionWidth>V?0<ce&&be<=0?(S=z.left+ce+C.collisionWidth-V-P,z.left+=ce-S):z.left=!(0<be&&ce<=0)&&be<ce?P+V-C.collisionWidth:P:0<ce?z.left+=ce:0<be?z.left-=be:z.left=o(z.left-ee,z.left)},top:function(z,C){var S=C.within,P=S.isWindow?S.scrollTop:S.offset.top,V=C.within.height,ee=z.top-C.collisionPosition.marginTop,ce=P-ee,be=ee+C.collisionHeight-V-P;C.collisionHeight>V?0<ce&&be<=0?(S=z.top+ce+C.collisionHeight-V-P,z.top+=ce-S):z.top=!(0<be&&ce<=0)&&be<ce?P+V-C.collisionHeight:P:0<ce?z.top+=ce:0<be?z.top-=be:z.top=o(z.top-ee,z.top)}},flip:{left:function(z,C){var ge=C.within,S=ge.offset.left+ge.scrollLeft,P=ge.width,V=ge.isWindow?ge.scrollLeft:ge.offset.left,Se=z.left-C.collisionPosition.marginLeft,ee=Se-V,ce=Se+C.collisionWidth-P-V,be=C.my[0]==="left"?-C.elemWidth:C.my[0]==="right"?C.elemWidth:0,ge=C.at[0]==="left"?C.targetWidth:C.at[0]==="right"?-C.targetWidth:0,Se=-2*C.offset[0];ee<0?((S=z.left+be+ge+Se+C.collisionWidth-P-S)<0||S<r(ee))&&(z.left+=be+ge+Se):0<ce&&(0<(V=z.left-C.collisionPosition.marginLeft+be+ge+Se-V)||r(V)<ce)&&(z.left+=be+ge+Se)},top:function(z,C){var ge=C.within,S=ge.offset.top+ge.scrollTop,P=ge.height,V=ge.isWindow?ge.scrollTop:ge.offset.top,Se=z.top-C.collisionPosition.marginTop,ee=Se-V,ce=Se+C.collisionHeight-P-V,be=C.my[1]==="top"?-C.elemHeight:C.my[1]==="bottom"?C.elemHeight:0,ge=C.at[1]==="top"?C.targetHeight:C.at[1]==="bottom"?-C.targetHeight:0,Se=-2*C.offset[1];ee<0?((S=z.top+be+ge+Se+C.collisionHeight-P-S)<0||S<r(ee))&&(z.top+=be+ge+Se):0<ce&&(0<(V=z.top-C.collisionPosition.marginTop+be+ge+Se-V)||r(V)<ce)&&(z.top+=be+ge+Se)}},flipfit:{left:function(){i.ui.position.flip.left.apply(this,arguments),i.ui.position.fit.left.apply(this,arguments)},top:function(){i.ui.position.flip.top.apply(this,arguments),i.ui.position.fit.top.apply(this,arguments)}}},i.ui.position,i.extend(i.expr[":"],{data:i.expr.createPseudo?i.expr.createPseudo(function(z){return function(C){return!!i.data(C,z)}}):function(z,C,S){return!!i.data(z,S[3])}}),i.fn.extend({disableSelection:(f="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(f+".ui-disableSelection",function(z){z.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),i.fn.scrollParent=function(V){var C=this.css("position"),S=C==="absolute",P=V?/(auto|scroll|hidden)/:/(auto|scroll)/,V=this.parents().filter(function(){var ee=i(this);return(!S||ee.css("position")!=="static")&&P.test(ee.css("overflow")+ee.css("overflow-y")+ee.css("overflow-x"))}).eq(0);return C!=="fixed"&&V.length?V:i(this[0].ownerDocument||document)},i.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var f,g=!1;i(document).on("mouseup",function(){g=!1}),i.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var z=this;this.element.on("mousedown."+this.widgetName,function(C){return z._mouseDown(C)}).on("click."+this.widgetName,function(C){if(i.data(C.target,z.widgetName+".preventClickEvent")===!0)return i.removeData(C.target,z.widgetName+".preventClickEvent"),C.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(z){if(!g){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(z),this._mouseDownEvent=z;var C=this,S=z.which===1,P=!(typeof this.options.cancel!="string"||!z.target.nodeName)&&i(z.target).closest(this.options.cancel).length;return S&&!P&&this._mouseCapture(z)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){C.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(z)&&this._mouseDelayMet(z)&&(this._mouseStarted=this._mouseStart(z)!==!1,!this._mouseStarted)?(z.preventDefault(),!0):(i.data(z.target,this.widgetName+".preventClickEvent")===!0&&i.removeData(z.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(V){return C._mouseMove(V)},this._mouseUpDelegate=function(V){return C._mouseUp(V)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),z.preventDefault(),g=!0)):!0}},_mouseMove:function(z){if(this._mouseMoved){if(i.ui.ie&&(!document.documentMode||document.documentMode<9)&&!z.button)return this._mouseUp(z);if(!z.which){if(z.originalEvent.altKey||z.originalEvent.ctrlKey||z.originalEvent.metaKey||z.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(z)}}return(z.which||z.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(z),z.preventDefault()):(this._mouseDistanceMet(z)&&this._mouseDelayMet(z)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,z)!==!1,this._mouseStarted?this._mouseDrag(z):this._mouseUp(z)),!this._mouseStarted)},_mouseUp:function(z){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,z.target===this._mouseDownEvent.target&&i.data(z.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(z)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,g=!1,z.preventDefault()},_mouseDistanceMet:function(z){return Math.max(Math.abs(this._mouseDownEvent.pageX-z.pageX),Math.abs(this._mouseDownEvent.pageY-z.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),i.ui.plugin={add:function(z,C,S){var P,V=i.ui[z].prototype;for(P in S)V.plugins[P]=V.plugins[P]||[],V.plugins[P].push([C,S[P]])},call:function(z,C,S,P){var V,ee=z.plugins[C];if(ee&&(P||z.element[0].parentNode&&z.element[0].parentNode.nodeType!==11))for(V=0;V<ee.length;V++)z.options[ee[V][0]]&&ee[V][1].apply(z.element,S)}},i.ui.safeActiveElement=function(z){var C;try{C=z.activeElement}catch{C=z.body}return(C=C||z.body).nodeName||(C=z.body),C},i.ui.safeBlur=function(z){z&&z.nodeName.toLowerCase()!=="body"&&i(z).trigger("blur")},i.widget("ui.draggable",i.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){this.options.helper==="original"&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(z,C){this._super(z,C),z==="handle"&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(z){var C=this.options;return!(this.helper||C.disabled||0<i(z.target).closest(".ui-resizable-handle").length)&&(this.handle=this._getHandle(z),!!this.handle&&(this._blurActiveElement(z),this._blockFrames(C.iframeFix===!0?"iframe":C.iframeFix),!0))},_blockFrames:function(z){this.iframeBlocks=this.document.find(z).map(function(){var C=i(this);return i("<div>").css("position","absolute").appendTo(C.parent()).outerWidth(C.outerWidth()).outerHeight(C.outerHeight()).offset(C.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(z){var C=i.ui.safeActiveElement(this.document[0]);i(z.target).closest(C).length||i.ui.safeBlur(C)},_mouseStart:function(z){var C=this.options;return this.helper=this._createHelper(z),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),i.ui.ddmanager&&(i.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return i(this).css("position")==="fixed"}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(z),this.originalPosition=this.position=this._generatePosition(z,!1),this.originalPageX=z.pageX,this.originalPageY=z.pageY,C.cursorAt&&this._adjustOffsetFromHelper(C.cursorAt),this._setContainment(),this._trigger("start",z)===!1?(this._clear(),!1):(this._cacheHelperProportions(),i.ui.ddmanager&&!C.dropBehaviour&&i.ui.ddmanager.prepareOffsets(this,z),this._mouseDrag(z,!0),i.ui.ddmanager&&i.ui.ddmanager.dragStart(this,z),!0)},_refreshOffsets:function(z){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:z.pageX-this.offset.left,top:z.pageY-this.offset.top}},_mouseDrag:function(z,C){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(z,!0),this.positionAbs=this._convertPositionTo("absolute"),!C){if(C=this._uiHash(),this._trigger("drag",z,C)===!1)return this._mouseUp(new i.Event("mouseup",z)),!1;this.position=C.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",i.ui.ddmanager&&i.ui.ddmanager.drag(this,z),!1},_mouseStop:function(z){var C=this,S=!1;return i.ui.ddmanager&&!this.options.dropBehaviour&&(S=i.ui.ddmanager.drop(this,z)),this.dropped&&(S=this.dropped,this.dropped=!1),this.options.revert==="invalid"&&!S||this.options.revert==="valid"&&S||this.options.revert===!0||i.isFunction(this.options.revert)&&this.options.revert.call(this.element,S)?i(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){C._trigger("stop",z)!==!1&&C._clear()}):this._trigger("stop",z)!==!1&&this._clear(),!1},_mouseUp:function(z){return this._unblockFrames(),i.ui.ddmanager&&i.ui.ddmanager.dragStop(this,z),this.handleElement.is(z.target)&&this.element.trigger("focus"),i.ui.mouse.prototype._mouseUp.call(this,z)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new i.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(z){return!this.options.handle||!!i(z.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(P){var C=this.options,S=i.isFunction(C.helper),P=S?i(C.helper.apply(this.element[0],[P])):C.helper==="clone"?this.element.clone().removeAttr("id"):this.element;return P.parents("body").length||P.appendTo(C.appendTo==="parent"?this.element[0].parentNode:C.appendTo),S&&P[0]===this.element[0]&&this._setPositionRelative(),P[0]===this.element[0]||/(fixed|absolute)/.test(P.css("position"))||P.css("position","absolute"),P},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(z){typeof z=="string"&&(z=z.split(" ")),i.isArray(z)&&(z={left:+z[0],top:+z[1]||0}),"left"in z&&(this.offset.click.left=z.left+this.margins.left),"right"in z&&(this.offset.click.left=this.helperProportions.width-z.right+this.margins.left),"top"in z&&(this.offset.click.top=z.top+this.margins.top),"bottom"in z&&(this.offset.click.top=this.helperProportions.height-z.bottom+this.margins.top)},_isRootNode:function(z){return/(html|body)/i.test(z.tagName)||z===this.document[0]},_getParentOffset:function(){var z=this.offsetParent.offset(),C=this.document[0];return this.cssPosition==="absolute"&&this.scrollParent[0]!==C&&i.contains(this.scrollParent[0],this.offsetParent[0])&&(z.left+=this.scrollParent.scrollLeft(),z.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(z={top:0,left:0}),{top:z.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:z.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition!=="relative")return{top:0,left:0};var z=this.element.position(),C=this._isRootNode(this.scrollParent[0]);return{top:z.top-(parseInt(this.helper.css("top"),10)||0)+(C?0:this.scrollParent.scrollTop()),left:z.left-(parseInt(this.helper.css("left"),10)||0)+(C?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var z,C,S,P=this.options,V=this.document[0];this.relativeContainer=null,P.containment?P.containment!=="window"?P.containment!=="document"?P.containment.constructor!==Array?(P.containment==="parent"&&(P.containment=this.helper[0].parentNode),(S=(C=i(P.containment))[0])&&(z=/(scroll|auto)/.test(C.css("overflow")),this.containment=[(parseInt(C.css("borderLeftWidth"),10)||0)+(parseInt(C.css("paddingLeft"),10)||0),(parseInt(C.css("borderTopWidth"),10)||0)+(parseInt(C.css("paddingTop"),10)||0),(z?Math.max(S.scrollWidth,S.offsetWidth):S.offsetWidth)-(parseInt(C.css("borderRightWidth"),10)||0)-(parseInt(C.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(z?Math.max(S.scrollHeight,S.offsetHeight):S.offsetHeight)-(parseInt(C.css("borderBottomWidth"),10)||0)-(parseInt(C.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=C)):this.containment=P.containment:this.containment=[0,0,i(V).width()-this.helperProportions.width-this.margins.left,(i(V).height()||V.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[i(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,i(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,i(window).scrollLeft()+i(window).width()-this.helperProportions.width-this.margins.left,i(window).scrollTop()+(i(window).height()||V.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(P,C){C=C||this.position;var S=P==="absolute"?1:-1,P=this._isRootNode(this.scrollParent[0]);return{top:C.top+this.offset.relative.top*S+this.offset.parent.top*S-(this.cssPosition==="fixed"?-this.offset.scroll.top:P?0:this.offset.scroll.top)*S,left:C.left+this.offset.relative.left*S+this.offset.parent.left*S-(this.cssPosition==="fixed"?-this.offset.scroll.left:P?0:this.offset.scroll.left)*S}},_generatePosition:function(z,C){var S,P=this.options,V=this._isRootNode(this.scrollParent[0]),ee=z.pageX,ce=z.pageY;return V&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),C&&(this.containment&&(S=this.relativeContainer?(S=this.relativeContainer.offset(),[this.containment[0]+S.left,this.containment[1]+S.top,this.containment[2]+S.left,this.containment[3]+S.top]):this.containment,z.pageX-this.offset.click.left<S[0]&&(ee=S[0]+this.offset.click.left),z.pageY-this.offset.click.top<S[1]&&(ce=S[1]+this.offset.click.top),z.pageX-this.offset.click.left>S[2]&&(ee=S[2]+this.offset.click.left),z.pageY-this.offset.click.top>S[3]&&(ce=S[3]+this.offset.click.top)),P.grid&&(z=P.grid[1]?this.originalPageY+Math.round((ce-this.originalPageY)/P.grid[1])*P.grid[1]:this.originalPageY,ce=!S||z-this.offset.click.top>=S[1]||z-this.offset.click.top>S[3]?z:z-this.offset.click.top>=S[1]?z-P.grid[1]:z+P.grid[1],z=P.grid[0]?this.originalPageX+Math.round((ee-this.originalPageX)/P.grid[0])*P.grid[0]:this.originalPageX,ee=!S||z-this.offset.click.left>=S[0]||z-this.offset.click.left>S[2]?z:z-this.offset.click.left>=S[0]?z-P.grid[0]:z+P.grid[0]),P.axis==="y"&&(ee=this.originalPageX),P.axis==="x"&&(ce=this.originalPageY)),{top:ce-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.offset.scroll.top:V?0:this.offset.scroll.top),left:ee-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.offset.scroll.left:V?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(z,C,S){return S=S||this._uiHash(),i.ui.plugin.call(this,z,[C,S,this],!0),/^(drag|start|stop)/.test(z)&&(this.positionAbs=this._convertPositionTo("absolute"),S.offset=this.positionAbs),i.Widget.prototype._trigger.call(this,z,C,S)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),i.ui.plugin.add("draggable","connectToSortable",{start:function(z,C,S){var P=i.extend({},C,{item:S.element});S.sortables=[],i(S.options.connectToSortable).each(function(){var V=i(this).sortable("instance");V&&!V.options.disabled&&(S.sortables.push(V),V.refreshPositions(),V._trigger("activate",z,P))})},stop:function(z,C,S){var P=i.extend({},C,{item:S.element});S.cancelHelperRemoval=!1,i.each(S.sortables,function(){var V=this;V.isOver?(V.isOver=0,S.cancelHelperRemoval=!0,V.cancelHelperRemoval=!1,V._storedCSS={position:V.placeholder.css("position"),top:V.placeholder.css("top"),left:V.placeholder.css("left")},V._mouseStop(z),V.options.helper=V.options._helper):(V.cancelHelperRemoval=!0,V._trigger("deactivate",z,P))})},drag:function(z,C,S){i.each(S.sortables,function(){var P=!1,V=this;V.positionAbs=S.positionAbs,V.helperProportions=S.helperProportions,V.offset.click=S.offset.click,V._intersectsWith(V.containerCache)&&(P=!0,i.each(S.sortables,function(){return this.positionAbs=S.positionAbs,this.helperProportions=S.helperProportions,this.offset.click=S.offset.click,this!==V&&this._intersectsWith(this.containerCache)&&i.contains(V.element[0],this.element[0])&&(P=!1),P})),P?(V.isOver||(V.isOver=1,S._parent=C.helper.parent(),V.currentItem=C.helper.appendTo(V.element).data("ui-sortable-item",!0),V.options._helper=V.options.helper,V.options.helper=function(){return C.helper[0]},z.target=V.currentItem[0],V._mouseCapture(z,!0),V._mouseStart(z,!0,!0),V.offset.click.top=S.offset.click.top,V.offset.click.left=S.offset.click.left,V.offset.parent.left-=S.offset.parent.left-V.offset.parent.left,V.offset.parent.top-=S.offset.parent.top-V.offset.parent.top,S._trigger("toSortable",z),S.dropped=V.element,i.each(S.sortables,function(){this.refreshPositions()}),S.currentItem=S.element,V.fromOutside=S),V.currentItem&&(V._mouseDrag(z),C.position=V.position)):V.isOver&&(V.isOver=0,V.cancelHelperRemoval=!0,V.options._revert=V.options.revert,V.options.revert=!1,V._trigger("out",z,V._uiHash(V)),V._mouseStop(z,!0),V.options.revert=V.options._revert,V.options.helper=V.options._helper,V.placeholder&&V.placeholder.remove(),C.helper.appendTo(S._parent),S._refreshOffsets(z),C.position=S._generatePosition(z,!0),S._trigger("fromSortable",z),S.dropped=!1,i.each(S.sortables,function(){this.refreshPositions()}))})}}),i.ui.plugin.add("draggable","cursor",{start:function(z,C,V){var P=i("body"),V=V.options;P.css("cursor")&&(V._cursor=P.css("cursor")),P.css("cursor",V.cursor)},stop:function(z,C,S){S=S.options,S._cursor&&i("body").css("cursor",S._cursor)}}),i.ui.plugin.add("draggable","opacity",{start:function(z,C,S){C=i(C.helper),S=S.options,C.css("opacity")&&(S._opacity=C.css("opacity")),C.css("opacity",S.opacity)},stop:function(z,C,S){S=S.options,S._opacity&&i(C.helper).css("opacity",S._opacity)}}),i.ui.plugin.add("draggable","scroll",{start:function(z,C,S){S.scrollParentNotHidden||(S.scrollParentNotHidden=S.helper.scrollParent(!1)),S.scrollParentNotHidden[0]!==S.document[0]&&S.scrollParentNotHidden[0].tagName!=="HTML"&&(S.overflowOffset=S.scrollParentNotHidden.offset())},drag:function(z,C,S){var P=S.options,V=!1,ee=S.scrollParentNotHidden[0],ce=S.document[0];ee!==ce&&ee.tagName!=="HTML"?(P.axis&&P.axis==="x"||(S.overflowOffset.top+ee.offsetHeight-z.pageY<P.scrollSensitivity?ee.scrollTop=V=ee.scrollTop+P.scrollSpeed:z.pageY-S.overflowOffset.top<P.scrollSensitivity&&(ee.scrollTop=V=ee.scrollTop-P.scrollSpeed)),P.axis&&P.axis==="y"||(S.overflowOffset.left+ee.offsetWidth-z.pageX<P.scrollSensitivity?ee.scrollLeft=V=ee.scrollLeft+P.scrollSpeed:z.pageX-S.overflowOffset.left<P.scrollSensitivity&&(ee.scrollLeft=V=ee.scrollLeft-P.scrollSpeed))):(P.axis&&P.axis==="x"||(z.pageY-i(ce).scrollTop()<P.scrollSensitivity?V=i(ce).scrollTop(i(ce).scrollTop()-P.scrollSpeed):i(window).height()-(z.pageY-i(ce).scrollTop())<P.scrollSensitivity&&(V=i(ce).scrollTop(i(ce).scrollTop()+P.scrollSpeed))),P.axis&&P.axis==="y"||(z.pageX-i(ce).scrollLeft()<P.scrollSensitivity?V=i(ce).scrollLeft(i(ce).scrollLeft()-P.scrollSpeed):i(window).width()-(z.pageX-i(ce).scrollLeft())<P.scrollSensitivity&&(V=i(ce).scrollLeft(i(ce).scrollLeft()+P.scrollSpeed)))),V!==!1&&i.ui.ddmanager&&!P.dropBehaviour&&i.ui.ddmanager.prepareOffsets(S,z)}}),i.ui.plugin.add("draggable","snap",{start:function(z,C,S){var P=S.options;S.snapElements=[],i(P.snap.constructor!==String?P.snap.items||":data(ui-draggable)":P.snap).each(function(){var V=i(this),ee=V.offset();this!==S.element[0]&&S.snapElements.push({item:this,width:V.outerWidth(),height:V.outerHeight(),top:ee.top,left:ee.left})})},drag:function(z,C,S){for(var P,V,ee,ce,be,ge,Se,He,Ae,de=S.options,Oe=de.snapTolerance,Je=C.offset.left,dt=Je+S.helperProportions.width,ue=C.offset.top,Fe=ue+S.helperProportions.height,Ee=S.snapElements.length-1;0<=Ee;Ee--)ge=(be=S.snapElements[Ee].left-S.margins.left)+S.snapElements[Ee].width,He=(Se=S.snapElements[Ee].top-S.margins.top)+S.snapElements[Ee].height,dt<be-Oe||ge+Oe<Je||Fe<Se-Oe||He+Oe<ue||!i.contains(S.snapElements[Ee].item.ownerDocument,S.snapElements[Ee].item)?(S.snapElements[Ee].snapping&&S.options.snap.release&&S.options.snap.release.call(S.element,z,i.extend(S._uiHash(),{snapItem:S.snapElements[Ee].item})),S.snapElements[Ee].snapping=!1):(de.snapMode!=="inner"&&(P=Math.abs(Se-Fe)<=Oe,V=Math.abs(He-ue)<=Oe,ee=Math.abs(be-dt)<=Oe,ce=Math.abs(ge-Je)<=Oe,P&&(C.position.top=S._convertPositionTo("relative",{top:Se-S.helperProportions.height,left:0}).top),V&&(C.position.top=S._convertPositionTo("relative",{top:He,left:0}).top),ee&&(C.position.left=S._convertPositionTo("relative",{top:0,left:be-S.helperProportions.width}).left),ce&&(C.position.left=S._convertPositionTo("relative",{top:0,left:ge}).left)),Ae=P||V||ee||ce,de.snapMode!=="outer"&&(P=Math.abs(Se-ue)<=Oe,V=Math.abs(He-Fe)<=Oe,ee=Math.abs(be-Je)<=Oe,ce=Math.abs(ge-dt)<=Oe,P&&(C.position.top=S._convertPositionTo("relative",{top:Se,left:0}).top),V&&(C.position.top=S._convertPositionTo("relative",{top:He-S.helperProportions.height,left:0}).top),ee&&(C.position.left=S._convertPositionTo("relative",{top:0,left:be}).left),ce&&(C.position.left=S._convertPositionTo("relative",{top:0,left:ge-S.helperProportions.width}).left)),!S.snapElements[Ee].snapping&&(P||V||ee||ce||Ae)&&S.options.snap.snap&&S.options.snap.snap.call(S.element,z,i.extend(S._uiHash(),{snapItem:S.snapElements[Ee].item})),S.snapElements[Ee].snapping=P||V||ee||ce||Ae)}}),i.ui.plugin.add("draggable","stack",{start:function(z,C,V){var P,V=V.options,V=i.makeArray(i(V.stack)).sort(function(ee,ce){return(parseInt(i(ee).css("zIndex"),10)||0)-(parseInt(i(ce).css("zIndex"),10)||0)});V.length&&(P=parseInt(i(V[0]).css("zIndex"),10)||0,i(V).each(function(ee){i(this).css("zIndex",P+ee)}),this.css("zIndex",P+V.length))}}),i.ui.plugin.add("draggable","zIndex",{start:function(z,C,S){C=i(C.helper),S=S.options,C.css("zIndex")&&(S._zIndex=C.css("zIndex")),C.css("zIndex",S.zIndex)},stop:function(z,C,S){S=S.options,S._zIndex&&i(C.helper).css("zIndex",S._zIndex)}}),i.ui.draggable,i.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var z,C=this.options,S=C.accept;this.isover=!1,this.isout=!0,this.accept=i.isFunction(S)?S:function(P){return P.is(S)},this.proportions=function(){if(!arguments.length)return z||(z={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});z=arguments[0]},this._addToManager(C.scope),C.addClasses&&this._addClass("ui-droppable")},_addToManager:function(z){i.ui.ddmanager.droppables[z]=i.ui.ddmanager.droppables[z]||[],i.ui.ddmanager.droppables[z].push(this)},_splice:function(z){for(var C=0;C<z.length;C++)z[C]===this&&z.splice(C,1)},_destroy:function(){var z=i.ui.ddmanager.droppables[this.options.scope];this._splice(z)},_setOption:function(z,C){var S;z==="accept"?this.accept=i.isFunction(C)?C:function(P){return P.is(C)}:z==="scope"&&(S=i.ui.ddmanager.droppables[this.options.scope],this._splice(S),this._addToManager(C)),this._super(z,C)},_activate:function(z){var C=i.ui.ddmanager.current;this._addActiveClass(),C&&this._trigger("activate",z,this.ui(C))},_deactivate:function(z){var C=i.ui.ddmanager.current;this._removeActiveClass(),C&&this._trigger("deactivate",z,this.ui(C))},_over:function(z){var C=i.ui.ddmanager.current;C&&(C.currentItem||C.element)[0]!==this.element[0]&&this.accept.call(this.element[0],C.currentItem||C.element)&&(this._addHoverClass(),this._trigger("over",z,this.ui(C)))},_out:function(z){var C=i.ui.ddmanager.current;C&&(C.currentItem||C.element)[0]!==this.element[0]&&this.accept.call(this.element[0],C.currentItem||C.element)&&(this._removeHoverClass(),this._trigger("out",z,this.ui(C)))},_drop:function(z,C){var S=C||i.ui.ddmanager.current,P=!1;return!(!S||(S.currentItem||S.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var V=i(this).droppable("instance");if(V.options.greedy&&!V.options.disabled&&V.options.scope===S.options.scope&&V.accept.call(V.element[0],S.currentItem||S.element)&&v(S,i.extend(V,{offset:V.element.offset()}),V.options.tolerance,z))return!(P=!0)}),!P&&!!this.accept.call(this.element[0],S.currentItem||S.element)&&(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",z,this.ui(S)),this.element))},ui:function(z){return{draggable:z.currentItem||z.element,helper:z.helper,position:z.position,offset:z.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=i.ui.intersect=function(z,C,S,P){if(!C.offset)return!1;var V=(z.positionAbs||z.position.absolute).left+z.margins.left,ee=(z.positionAbs||z.position.absolute).top+z.margins.top,ce=V+z.helperProportions.width,be=ee+z.helperProportions.height,ge=C.offset.left,Se=C.offset.top,He=ge+C.proportions().width,Ae=Se+C.proportions().height;switch(S){case"fit":return ge<=V&&ce<=He&&Se<=ee&&be<=Ae;case"intersect":return ge<V+z.helperProportions.width/2&&ce-z.helperProportions.width/2<He&&Se<ee+z.helperProportions.height/2&&be-z.helperProportions.height/2<Ae;case"pointer":return b(P.pageY,Se,C.proportions().height)&&b(P.pageX,ge,C.proportions().width);case"touch":return(Se<=ee&&ee<=Ae||Se<=be&&be<=Ae||ee<Se&&Ae<be)&&(ge<=V&&V<=He||ge<=ce&&ce<=He||V<ge&&He<ce);default:return!1}};function b(z,C,S){return C<=z&&z<C+S}!(i.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(z,C){var S,P,V=i.ui.ddmanager.droppables[z.options.scope]||[],ee=C?C.type:null,ce=(z.currentItem||z.element).find(":data(ui-droppable)").addBack();e:for(S=0;S<V.length;S++)if(!(V[S].options.disabled||z&&!V[S].accept.call(V[S].element[0],z.currentItem||z.element))){for(P=0;P<ce.length;P++)if(ce[P]===V[S].element[0]){V[S].proportions().height=0;continue e}V[S].visible=V[S].element.css("display")!=="none",V[S].visible&&(ee==="mousedown"&&V[S]._activate.call(V[S],C),V[S].offset=V[S].element.offset(),V[S].proportions({width:V[S].element[0].offsetWidth,height:V[S].element[0].offsetHeight}))}},drop:function(z,C){var S=!1;return i.each((i.ui.ddmanager.droppables[z.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(z,this,this.options.tolerance,C)&&(S=this._drop.call(this,C)||S),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],z.currentItem||z.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,C)))}),S},dragStart:function(z,C){z.element.parentsUntil("body").on("scroll.droppable",function(){z.options.refreshPositions||i.ui.ddmanager.prepareOffsets(z,C)})},drag:function(z,C){z.options.refreshPositions&&i.ui.ddmanager.prepareOffsets(z,C),i.each(i.ui.ddmanager.droppables[z.options.scope]||[],function(){var S,P,V,ee;this.options.disabled||this.greedyChild||!this.visible||(ee=!(V=v(z,this,this.options.tolerance,C))&&this.isover?"isout":V&&!this.isover?"isover":null)&&(this.options.greedy&&(P=this.options.scope,(V=this.element.parents(":data(ui-droppable)").filter(function(){return i(this).droppable("instance").options.scope===P})).length&&((S=i(V[0]).droppable("instance")).greedyChild=ee==="isover")),S&&ee==="isover"&&(S.isover=!1,S.isout=!0,S._out.call(S,C)),this[ee]=!0,this[ee==="isout"?"isover":"isout"]=!1,this[ee==="isover"?"_over":"_out"].call(this,C),S&&ee==="isout"&&(S.isout=!1,S.isover=!0,S._over.call(S,C)))})},dragStop:function(z,C){z.element.parentsUntil("body").off("scroll.droppable"),z.options.refreshPositions||i.ui.ddmanager.prepareOffsets(z,C)}})!==i.uiBackCompat&&i.widget("ui.droppable",i.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),i.ui.droppable,i.widget("ui.resizable",i.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(z){return parseFloat(z)||0},_isNumber:function(z){return!isNaN(parseFloat(z))},_hasScroll:function(z,P){if(i(z).css("overflow")==="hidden")return!1;var S=P&&P==="left"?"scrollLeft":"scrollTop",P=!1;return 0<z[S]||(z[S]=1,P=0<z[S],z[S]=0,P)},_create:function(){var z,C=this.options,S=this;this._addClass("ui-resizable"),i.extend(this,{_aspectRatio:!!C.aspectRatio,aspectRatio:C.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:C.helper||C.ghost||C.animate?C.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(i("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,z={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(z),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(z),this._proportionallyResize()),this._setupHandles(),C.autoHide&&i(this.element).on("mouseenter",function(){C.disabled||(S._removeClass("ui-resizable-autohide"),S._handles.show())}).on("mouseleave",function(){C.disabled||S.resizing||(S._addClass("ui-resizable-autohide"),S._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();function z(S){i(S).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()}var C;return this.elementIsWrapper&&(z(this.element),C=this.element,this.originalElement.css({position:C.css("position"),width:C.outerWidth(),height:C.outerHeight(),top:C.css("top"),left:C.css("left")}).insertAfter(C),C.remove()),this.originalElement.css("resize",this.originalResizeStyle),z(this.originalElement),this},_setOption:function(z,C){this._super(z,C),z==="handles"&&(this._removeHandles(),this._setupHandles())},_setupHandles:function(){var z,C,S,P,V,ee=this.options,ce=this;if(this.handles=ee.handles||(i(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=i(),this.handles.constructor===String)for(this.handles==="all"&&(this.handles="n,e,s,w,se,sw,ne,nw"),S=this.handles.split(","),this.handles={},C=0;C<S.length;C++)P="ui-resizable-"+(z=i.trim(S[C])),V=i("<div>"),this._addClass(V,"ui-resizable-handle "+P),V.css({zIndex:ee.zIndex}),this.handles[z]=".ui-resizable-"+z,this.element.append(V);this._renderAxis=function(be){var ge,Se,He;for(ge in be=be||this.element,this.handles)this.handles[ge].constructor===String?this.handles[ge]=this.element.children(this.handles[ge]).first().show():(this.handles[ge].jquery||this.handles[ge].nodeType)&&(this.handles[ge]=i(this.handles[ge]),this._on(this.handles[ge],{mousedown:ce._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(Se=i(this.handles[ge],this.element),He=/sw|ne|nw|se|n|s/.test(ge)?Se.outerHeight():Se.outerWidth(),Se=["padding",/ne|nw|n/.test(ge)?"Top":/se|sw|s/.test(ge)?"Bottom":/^e$/.test(ge)?"Right":"Left"].join(""),be.css(Se,He),this._proportionallyResize()),this._handles=this._handles.add(this.handles[ge])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){ce.resizing||(this.className&&(V=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),ce.axis=V&&V[1]?V[1]:"se")}),ee.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(z){var C,S,P=!1;for(C in this.handles)(S=i(this.handles[C])[0])!==z.target&&!i.contains(S,z.target)||(P=!0);return!this.options.disabled&&P},_mouseStart:function(z){var C,S,P=this.options,V=this.element;return this.resizing=!0,this._renderProxy(),C=this._num(this.helper.css("left")),S=this._num(this.helper.css("top")),P.containment&&(C+=i(P.containment).scrollLeft()||0,S+=i(P.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:C,top:S},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:V.width(),height:V.height()},this.originalSize=this._helper?{width:V.outerWidth(),height:V.outerHeight()}:{width:V.width(),height:V.height()},this.sizeDiff={width:V.outerWidth()-V.width(),height:V.outerHeight()-V.height()},this.originalPosition={left:C,top:S},this.originalMousePosition={left:z.pageX,top:z.pageY},this.aspectRatio=typeof P.aspectRatio=="number"?P.aspectRatio:this.originalSize.width/this.originalSize.height||1,P=i(".ui-resizable-"+this.axis).css("cursor"),i("body").css("cursor",P==="auto"?this.axis+"-resize":P),this._addClass("ui-resizable-resizing"),this._propagate("start",z),!0},_mouseDrag:function(z){var S=this.originalMousePosition,P=this.axis,C=z.pageX-S.left||0,S=z.pageY-S.top||0,P=this._change[P];return this._updatePrevProperties(),P&&(S=P.apply(this,[z,C,S]),this._updateVirtualBoundaries(z.shiftKey),(this._aspectRatio||z.shiftKey)&&(S=this._updateRatio(S,z)),S=this._respectSize(S,z),this._updateCache(S),this._propagate("resize",z),S=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),i.isEmptyObject(S)||(this._updatePrevProperties(),this._trigger("resize",z,this.ui()),this._applyChanges())),!1},_mouseStop:function(z){this.resizing=!1;var C,S,P,V=this.options,ee=this;return this._helper&&(P=(C=(S=this._proportionallyResizeElements).length&&/textarea/i.test(S[0].nodeName))&&this._hasScroll(S[0],"left")?0:ee.sizeDiff.height,S=C?0:ee.sizeDiff.width,C={width:ee.helper.width()-S,height:ee.helper.height()-P},S=parseFloat(ee.element.css("left"))+(ee.position.left-ee.originalPosition.left)||null,P=parseFloat(ee.element.css("top"))+(ee.position.top-ee.originalPosition.top)||null,V.animate||this.element.css(i.extend(C,{top:P,left:S})),ee.helper.height(ee.size.height),ee.helper.width(ee.size.width),this._helper&&!V.animate&&this._proportionallyResize()),i("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",z),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var z={};return this.position.top!==this.prevPosition.top&&(z.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(z.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(z.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(z.height=this.size.height+"px"),this.helper.css(z),z},_updateVirtualBoundaries:function(z){var C,S,P=this.options,V={minWidth:this._isNumber(P.minWidth)?P.minWidth:0,maxWidth:this._isNumber(P.maxWidth)?P.maxWidth:1/0,minHeight:this._isNumber(P.minHeight)?P.minHeight:0,maxHeight:this._isNumber(P.maxHeight)?P.maxHeight:1/0};(this._aspectRatio||z)&&(C=V.minHeight*this.aspectRatio,S=V.minWidth/this.aspectRatio,P=V.maxHeight*this.aspectRatio,z=V.maxWidth/this.aspectRatio,C>V.minWidth&&(V.minWidth=C),S>V.minHeight&&(V.minHeight=S),P<V.maxWidth&&(V.maxWidth=P),z<V.maxHeight&&(V.maxHeight=z)),this._vBoundaries=V},_updateCache:function(z){this.offset=this.helper.offset(),this._isNumber(z.left)&&(this.position.left=z.left),this._isNumber(z.top)&&(this.position.top=z.top),this._isNumber(z.height)&&(this.size.height=z.height),this._isNumber(z.width)&&(this.size.width=z.width)},_updateRatio:function(z){var C=this.position,S=this.size,P=this.axis;return this._isNumber(z.height)?z.width=z.height*this.aspectRatio:this._isNumber(z.width)&&(z.height=z.width/this.aspectRatio),P==="sw"&&(z.left=C.left+(S.width-z.width),z.top=null),P==="nw"&&(z.top=C.top+(S.height-z.height),z.left=C.left+(S.width-z.width)),z},_respectSize:function(z){var C=this._vBoundaries,Se=this.axis,S=this._isNumber(z.width)&&C.maxWidth&&C.maxWidth<z.width,P=this._isNumber(z.height)&&C.maxHeight&&C.maxHeight<z.height,V=this._isNumber(z.width)&&C.minWidth&&C.minWidth>z.width,ee=this._isNumber(z.height)&&C.minHeight&&C.minHeight>z.height,ce=this.originalPosition.left+this.originalSize.width,be=this.originalPosition.top+this.originalSize.height,ge=/sw|nw|w/.test(Se),Se=/nw|ne|n/.test(Se);return V&&(z.width=C.minWidth),ee&&(z.height=C.minHeight),S&&(z.width=C.maxWidth),P&&(z.height=C.maxHeight),V&&ge&&(z.left=ce-C.minWidth),S&&ge&&(z.left=ce-C.maxWidth),ee&&Se&&(z.top=be-C.minHeight),P&&Se&&(z.top=be-C.maxHeight),z.width||z.height||z.left||!z.top?z.width||z.height||z.top||!z.left||(z.left=null):z.top=null,z},_getPaddingPlusBorderDimensions:function(z){for(var C=0,S=[],P=[z.css("borderTopWidth"),z.css("borderRightWidth"),z.css("borderBottomWidth"),z.css("borderLeftWidth")],V=[z.css("paddingTop"),z.css("paddingRight"),z.css("paddingBottom"),z.css("paddingLeft")];C<4;C++)S[C]=parseFloat(P[C])||0,S[C]+=parseFloat(V[C])||0;return{height:S[0]+S[2],width:S[1]+S[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var z,C=0,S=this.helper||this.element;C<this._proportionallyResizeElements.length;C++)z=this._proportionallyResizeElements[C],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(z)),z.css({height:S.height()-this.outerDimensions.height||0,width:S.width()-this.outerDimensions.width||0})},_renderProxy:function(){var z=this.element,C=this.options;this.elementOffset=z.offset(),this._helper?(this.helper=this.helper||i("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++C.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(z,C){return{width:this.originalSize.width+C}},w:function(z,C){var S=this.originalSize;return{left:this.originalPosition.left+C,width:S.width-C}},n:function(z,C,S){var P=this.originalSize;return{top:this.originalPosition.top+S,height:P.height-S}},s:function(z,C,S){return{height:this.originalSize.height+S}},se:function(z,C,S){return i.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[z,C,S]))},sw:function(z,C,S){return i.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[z,C,S]))},ne:function(z,C,S){return i.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[z,C,S]))},nw:function(z,C,S){return i.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[z,C,S]))}},_propagate:function(z,C){i.ui.plugin.call(this,z,[C,this.ui()]),z!=="resize"&&this._trigger(z,C,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),i.ui.plugin.add("resizable","animate",{stop:function(z){var C=i(this).resizable("instance"),S=C.options,P=C._proportionallyResizeElements,V=P.length&&/textarea/i.test(P[0].nodeName),ce=V&&C._hasScroll(P[0],"left")?0:C.sizeDiff.height,ee=V?0:C.sizeDiff.width,V={width:C.size.width-ee,height:C.size.height-ce},ee=parseFloat(C.element.css("left"))+(C.position.left-C.originalPosition.left)||null,ce=parseFloat(C.element.css("top"))+(C.position.top-C.originalPosition.top)||null;C.element.animate(i.extend(V,ce&&ee?{top:ce,left:ee}:{}),{duration:S.animateDuration,easing:S.animateEasing,step:function(){var be={width:parseFloat(C.element.css("width")),height:parseFloat(C.element.css("height")),top:parseFloat(C.element.css("top")),left:parseFloat(C.element.css("left"))};P&&P.length&&i(P[0]).css({width:be.width,height:be.height}),C._updateCache(be),C._propagate("resize",z)}})}}),i.ui.plugin.add("resizable","containment",{start:function(){var z,C,S=i(this).resizable("instance"),P=S.options,V=S.element,ee=P.containment,ce=ee instanceof i?ee.get(0):/parent/.test(ee)?V.parent().get(0):ee;ce&&(S.containerElement=i(ce),/document/.test(ee)||ee===document?(S.containerOffset={left:0,top:0},S.containerPosition={left:0,top:0},S.parentData={element:i(document),left:0,top:0,width:i(document).width(),height:i(document).height()||document.body.parentNode.scrollHeight}):(z=i(ce),C=[],i(["Top","Right","Left","Bottom"]).each(function(be,ge){C[be]=S._num(z.css("padding"+ge))}),S.containerOffset=z.offset(),S.containerPosition=z.position(),S.containerSize={height:z.innerHeight()-C[3],width:z.innerWidth()-C[1]},P=S.containerOffset,V=S.containerSize.height,ee=S.containerSize.width,ee=S._hasScroll(ce,"left")?ce.scrollWidth:ee,V=S._hasScroll(ce)?ce.scrollHeight:V,S.parentData={element:ce,left:P.left,top:P.top,width:ee,height:V}))},resize:function(ge){var C=i(this).resizable("instance"),S=C.options,P=C.containerOffset,V=C.position,ee=C._aspectRatio||ge.shiftKey,ce={top:0,left:0},be=C.containerElement,ge=!0;be[0]!==document&&/static/.test(be.css("position"))&&(ce=P),V.left<(C._helper?P.left:0)&&(C.size.width=C.size.width+(C._helper?C.position.left-P.left:C.position.left-ce.left),ee&&(C.size.height=C.size.width/C.aspectRatio,ge=!1),C.position.left=S.helper?P.left:0),V.top<(C._helper?P.top:0)&&(C.size.height=C.size.height+(C._helper?C.position.top-P.top:C.position.top),ee&&(C.size.width=C.size.height*C.aspectRatio,ge=!1),C.position.top=C._helper?P.top:0),S=C.containerElement.get(0)===C.element.parent().get(0),V=/relative|absolute/.test(C.containerElement.css("position")),S&&V?(C.offset.left=C.parentData.left+C.position.left,C.offset.top=C.parentData.top+C.position.top):(C.offset.left=C.element.offset().left,C.offset.top=C.element.offset().top),V=Math.abs(C.sizeDiff.width+(C._helper?C.offset.left-ce.left:C.offset.left-P.left)),P=Math.abs(C.sizeDiff.height+(C._helper?C.offset.top-ce.top:C.offset.top-P.top)),V+C.size.width>=C.parentData.width&&(C.size.width=C.parentData.width-V,ee&&(C.size.height=C.size.width/C.aspectRatio,ge=!1)),P+C.size.height>=C.parentData.height&&(C.size.height=C.parentData.height-P,ee&&(C.size.width=C.size.height*C.aspectRatio,ge=!1)),ge||(C.position.left=C.prevPosition.left,C.position.top=C.prevPosition.top,C.size.width=C.prevSize.width,C.size.height=C.prevSize.height)},stop:function(){var z=i(this).resizable("instance"),C=z.options,S=z.containerOffset,P=z.containerPosition,V=z.containerElement,be=i(z.helper),ee=be.offset(),ce=be.outerWidth()-z.sizeDiff.width,be=be.outerHeight()-z.sizeDiff.height;z._helper&&!C.animate&&/relative/.test(V.css("position"))&&i(this).css({left:ee.left-P.left-S.left,width:ce,height:be}),z._helper&&!C.animate&&/static/.test(V.css("position"))&&i(this).css({left:ee.left-P.left-S.left,width:ce,height:be})}}),i.ui.plugin.add("resizable","alsoResize",{start:function(){var z=i(this).resizable("instance").options;i(z.alsoResize).each(function(){var C=i(this);C.data("ui-resizable-alsoresize",{width:parseFloat(C.width()),height:parseFloat(C.height()),left:parseFloat(C.css("left")),top:parseFloat(C.css("top"))})})},resize:function(z,C){var S=i(this).resizable("instance"),P=S.options,V=S.originalSize,ee=S.originalPosition,ce={height:S.size.height-V.height||0,width:S.size.width-V.width||0,top:S.position.top-ee.top||0,left:S.position.left-ee.left||0};i(P.alsoResize).each(function(){var be=i(this),ge=i(this).data("ui-resizable-alsoresize"),Se={},He=be.parents(C.originalElement[0]).length?["width","height"]:["width","height","top","left"];i.each(He,function(Ae,de){var Oe=(ge[de]||0)+(ce[de]||0);Oe&&0<=Oe&&(Se[de]=Oe||null)}),be.css(Se)})},stop:function(){i(this).removeData("ui-resizable-alsoresize")}}),i.ui.plugin.add("resizable","ghost",{start:function(){var z=i(this).resizable("instance"),C=z.size;z.ghost=z.originalElement.clone(),z.ghost.css({opacity:.25,display:"block",position:"relative",height:C.height,width:C.width,margin:0,left:0,top:0}),z._addClass(z.ghost,"ui-resizable-ghost"),i.uiBackCompat!==!1&&typeof z.options.ghost=="string"&&z.ghost.addClass(this.options.ghost),z.ghost.appendTo(z.helper)},resize:function(){var z=i(this).resizable("instance");z.ghost&&z.ghost.css({position:"relative",height:z.size.height,width:z.size.width})},stop:function(){var z=i(this).resizable("instance");z.ghost&&z.helper&&z.helper.get(0).removeChild(z.ghost.get(0))}}),i.ui.plugin.add("resizable","grid",{resize:function(){var z,C=i(this).resizable("instance"),S=C.options,ue=C.size,P=C.originalSize,V=C.originalPosition,ee=C.axis,ce=typeof S.grid=="number"?[S.grid,S.grid]:S.grid,be=ce[0]||1,ge=ce[1]||1,Se=Math.round((ue.width-P.width)/be)*be,He=Math.round((ue.height-P.height)/ge)*ge,Ae=P.width+Se,de=P.height+He,Oe=S.maxWidth&&S.maxWidth<Ae,Je=S.maxHeight&&S.maxHeight<de,dt=S.minWidth&&S.minWidth>Ae,ue=S.minHeight&&S.minHeight>de;S.grid=ce,dt&&(Ae+=be),ue&&(de+=ge),Oe&&(Ae-=be),Je&&(de-=ge),/^(se|s|e)$/.test(ee)?(C.size.width=Ae,C.size.height=de):/^(ne)$/.test(ee)?(C.size.width=Ae,C.size.height=de,C.position.top=V.top-He):/^(sw)$/.test(ee)?(C.size.width=Ae,C.size.height=de,C.position.left=V.left-Se):((de-ge<=0||Ae-be<=0)&&(z=C._getPaddingPlusBorderDimensions(this)),0<de-ge?(C.size.height=de,C.position.top=V.top-He):(de=ge-z.height,C.size.height=de,C.position.top=V.top+P.height-de),0<Ae-be?(C.size.width=Ae,C.position.left=V.left-Se):(Ae=be-z.width,C.size.width=Ae,C.position.left=V.left+P.width-Ae))}}),i.ui.resizable,i.widget("ui.selectable",i.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var z=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){z.elementPos=i(z.element[0]).offset(),z.selectees=i(z.options.filter,z.element[0]),z._addClass(z.selectees,"ui-selectee"),z.selectees.each(function(){var C=i(this),S=C.offset(),S={left:S.left-z.elementPos.left,top:S.top-z.elementPos.top};i.data(this,"selectable-item",{element:this,$element:C,left:S.left,top:S.top,right:S.left+C.outerWidth(),bottom:S.top+C.outerHeight(),startselected:!1,selected:C.hasClass("ui-selected"),selecting:C.hasClass("ui-selecting"),unselecting:C.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=i("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(z){var C=this,S=this.options;this.opos=[z.pageX,z.pageY],this.elementPos=i(this.element[0]).offset(),this.options.disabled||(this.selectees=i(S.filter,this.element[0]),this._trigger("start",z),i(S.appendTo).append(this.helper),this.helper.css({left:z.pageX,top:z.pageY,width:0,height:0}),S.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var P=i.data(this,"selectable-item");P.startselected=!0,z.metaKey||z.ctrlKey||(C._removeClass(P.$element,"ui-selected"),P.selected=!1,C._addClass(P.$element,"ui-unselecting"),P.unselecting=!0,C._trigger("unselecting",z,{unselecting:P.element}))}),i(z.target).parents().addBack().each(function(){var P,V=i.data(this,"selectable-item");if(V)return P=!z.metaKey&&!z.ctrlKey||!V.$element.hasClass("ui-selected"),C._removeClass(V.$element,P?"ui-unselecting":"ui-selected")._addClass(V.$element,P?"ui-selecting":"ui-unselecting"),V.unselecting=!P,V.selecting=P,(V.selected=P)?C._trigger("selecting",z,{selecting:V.element}):C._trigger("unselecting",z,{unselecting:V.element}),!1}))},_mouseDrag:function(z){if(this.dragged=!0,!this.options.disabled){var C,S=this,P=this.options,V=this.opos[0],ee=this.opos[1],ce=z.pageX,be=z.pageY;return ce<V&&(C=ce,ce=V,V=C),be<ee&&(C=be,be=ee,ee=C),this.helper.css({left:V,top:ee,width:ce-V,height:be-ee}),this.selectees.each(function(){var ge=i.data(this,"selectable-item"),Se=!1,He={};ge&&ge.element!==S.element[0]&&(He.left=ge.left+S.elementPos.left,He.right=ge.right+S.elementPos.left,He.top=ge.top+S.elementPos.top,He.bottom=ge.bottom+S.elementPos.top,P.tolerance==="touch"?Se=!(He.left>ce||He.right<V||He.top>be||He.bottom<ee):P.tolerance==="fit"&&(Se=He.left>V&&He.right<ce&&He.top>ee&&He.bottom<be),Se?(ge.selected&&(S._removeClass(ge.$element,"ui-selected"),ge.selected=!1),ge.unselecting&&(S._removeClass(ge.$element,"ui-unselecting"),ge.unselecting=!1),ge.selecting||(S._addClass(ge.$element,"ui-selecting"),ge.selecting=!0,S._trigger("selecting",z,{selecting:ge.element}))):(ge.selecting&&((z.metaKey||z.ctrlKey)&&ge.startselected?(S._removeClass(ge.$element,"ui-selecting"),ge.selecting=!1,S._addClass(ge.$element,"ui-selected"),ge.selected=!0):(S._removeClass(ge.$element,"ui-selecting"),ge.selecting=!1,ge.startselected&&(S._addClass(ge.$element,"ui-unselecting"),ge.unselecting=!0),S._trigger("unselecting",z,{unselecting:ge.element}))),ge.selected&&(z.metaKey||z.ctrlKey||ge.startselected||(S._removeClass(ge.$element,"ui-selected"),ge.selected=!1,S._addClass(ge.$element,"ui-unselecting"),ge.unselecting=!0,S._trigger("unselecting",z,{unselecting:ge.element})))))}),!1}},_mouseStop:function(z){var C=this;return this.dragged=!1,i(".ui-unselecting",this.element[0]).each(function(){var S=i.data(this,"selectable-item");C._removeClass(S.$element,"ui-unselecting"),S.unselecting=!1,S.startselected=!1,C._trigger("unselected",z,{unselected:S.element})}),i(".ui-selecting",this.element[0]).each(function(){var S=i.data(this,"selectable-item");C._removeClass(S.$element,"ui-selecting")._addClass(S.$element,"ui-selected"),S.selecting=!1,S.selected=!0,S.startselected=!0,C._trigger("selected",z,{selected:S.element})}),this._trigger("stop",z),this.helper.remove(),!1}}),i.widget("ui.sortable",i.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(z,C,S){return C<=z&&z<C+S},_isFloating:function(z){return/left|right/.test(z.css("float"))||/inline|table-cell/.test(z.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(z,C){this._super(z,C),z==="handle"&&this._setHandleClassName()},_setHandleClassName:function(){var z=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),i.each(this.items,function(){z._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var z=this.items.length-1;0<=z;z--)this.items[z].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(z,C){var S=null,P=!1,V=this;return!this.reverting&&!this.options.disabled&&this.options.type!=="static"&&(this._refreshItems(z),i(z.target).parents().each(function(){if(i.data(this,V.widgetName+"-item")===V)return S=i(this),!1}),i.data(z.target,V.widgetName+"-item")===V&&(S=i(z.target)),!!S&&!(this.options.handle&&!C&&(i(this.options.handle,S).find("*").addBack().each(function(){this===z.target&&(P=!0)}),!P))&&(this.currentItem=S,this._removeCurrentsFromItems(),!0))},_mouseStart:function(z,C,S){var P,V,ee=this.options;if((this.currentContainer=this).refreshPositions(),this.helper=this._createHelper(z),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},i.extend(this.offset,{click:{left:z.pageX-this.offset.left,top:z.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(z),this.originalPageX=z.pageX,this.originalPageY=z.pageY,ee.cursorAt&&this._adjustOffsetFromHelper(ee.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),ee.containment&&this._setContainment(),ee.cursor&&ee.cursor!=="auto"&&(V=this.document.find("body"),this.storedCursor=V.css("cursor"),V.css("cursor",ee.cursor),this.storedStylesheet=i("<style>*{ cursor: "+ee.cursor+" !important; }</style>").appendTo(V)),ee.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",ee.opacity)),ee.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",ee.zIndex)),this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",z,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!S)for(P=this.containers.length-1;0<=P;P--)this.containers[P]._trigger("activate",z,this._uiHash(this));return i.ui.ddmanager&&(i.ui.ddmanager.current=this),i.ui.ddmanager&&!ee.dropBehaviour&&i.ui.ddmanager.prepareOffsets(this,z),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(z),!0},_mouseDrag:function(z){var C,S,P,V,ee=this.options,ce=!1;for(this.position=this._generatePosition(z),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-z.pageY<ee.scrollSensitivity?this.scrollParent[0].scrollTop=ce=this.scrollParent[0].scrollTop+ee.scrollSpeed:z.pageY-this.overflowOffset.top<ee.scrollSensitivity&&(this.scrollParent[0].scrollTop=ce=this.scrollParent[0].scrollTop-ee.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-z.pageX<ee.scrollSensitivity?this.scrollParent[0].scrollLeft=ce=this.scrollParent[0].scrollLeft+ee.scrollSpeed:z.pageX-this.overflowOffset.left<ee.scrollSensitivity&&(this.scrollParent[0].scrollLeft=ce=this.scrollParent[0].scrollLeft-ee.scrollSpeed)):(z.pageY-this.document.scrollTop()<ee.scrollSensitivity?ce=this.document.scrollTop(this.document.scrollTop()-ee.scrollSpeed):this.window.height()-(z.pageY-this.document.scrollTop())<ee.scrollSensitivity&&(ce=this.document.scrollTop(this.document.scrollTop()+ee.scrollSpeed)),z.pageX-this.document.scrollLeft()<ee.scrollSensitivity?ce=this.document.scrollLeft(this.document.scrollLeft()-ee.scrollSpeed):this.window.width()-(z.pageX-this.document.scrollLeft())<ee.scrollSensitivity&&(ce=this.document.scrollLeft(this.document.scrollLeft()+ee.scrollSpeed))),ce!==!1&&i.ui.ddmanager&&!ee.dropBehaviour&&i.ui.ddmanager.prepareOffsets(this,z)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&this.options.axis==="y"||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&this.options.axis==="x"||(this.helper[0].style.top=this.position.top+"px"),C=this.items.length-1;0<=C;C--)if(P=(S=this.items[C]).item[0],(V=this._intersectsWithPointer(S))&&S.instance===this.currentContainer&&!(P===this.currentItem[0]||this.placeholder[V===1?"next":"prev"]()[0]===P||i.contains(this.placeholder[0],P)||this.options.type==="semi-dynamic"&&i.contains(this.element[0],P))){if(this.direction=V===1?"down":"up",this.options.tolerance!=="pointer"&&!this._intersectsWithSides(S))break;this._rearrange(z,S),this._trigger("change",z,this._uiHash());break}return this._contactContainers(z),i.ui.ddmanager&&i.ui.ddmanager.drag(this,z),this._trigger("sort",z,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(z,C){var S,P,V,ee;if(z)return i.ui.ddmanager&&!this.options.dropBehaviour&&i.ui.ddmanager.drop(this,z),this.options.revert?(P=(S=this).placeholder.offset(),ee={},(V=this.options.axis)&&V!=="x"||(ee.left=P.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),V&&V!=="y"||(ee.top=P.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,i(this.helper).animate(ee,parseInt(this.options.revert,10)||500,function(){S._clear(z)})):this._clear(z,C),!1},cancel:function(){if(this.dragging){this._mouseUp(new i.Event("mouseup",{target:null})),this.options.helper==="original"?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var z=this.containers.length-1;0<=z;z--)this.containers[z]._trigger("deactivate",null,this._uiHash(this)),this.containers[z].containerCache.over&&(this.containers[z]._trigger("out",null,this._uiHash(this)),this.containers[z].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!=="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),i.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?i(this.domPosition.prev).after(this.currentItem):i(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(z){var C=this._getItemsAsjQuery(z&&z.connected),S=[];return z=z||{},i(C).each(function(){var P=(i(z.item||this).attr(z.attribute||"id")||"").match(z.expression||/(.+)[\-=_](.+)/);P&&S.push((z.key||P[1]+"[]")+"="+(z.key&&z.expression?P[1]:P[2]))}),!S.length&&z.key&&S.push(z.key+"="),S.join("&")},toArray:function(z){var C=this._getItemsAsjQuery(z&&z.connected),S=[];return z=z||{},C.each(function(){S.push(i(z.item||this).attr(z.attribute||"id")||"")}),S},_intersectsWith:function(z){var C=this.positionAbs.left,S=C+this.helperProportions.width,P=this.positionAbs.top,V=P+this.helperProportions.height,ee=z.left,ce=ee+z.width,be=z.top,ge=be+z.height,Se=this.offset.click.top,He=this.offset.click.left,Se=this.options.axis==="x"||be<P+Se&&P+Se<ge,He=this.options.axis==="y"||ee<C+He&&C+He<ce,He=Se&&He;return this.options.tolerance==="pointer"||this.options.forcePointerForContainers||this.options.tolerance!=="pointer"&&this.helperProportions[this.floating?"width":"height"]>z[this.floating?"width":"height"]?He:ee<C+this.helperProportions.width/2&&S-this.helperProportions.width/2<ce&&be<P+this.helperProportions.height/2&&V-this.helperProportions.height/2<ge},_intersectsWithPointer:function(S){var C=this.options.axis==="x"||this._isOverAxis(this.positionAbs.top+this.offset.click.top,S.top,S.height),S=this.options.axis==="y"||this._isOverAxis(this.positionAbs.left+this.offset.click.left,S.left,S.width);return!(!C||!S)&&(C=this._getDragVerticalDirection(),S=this._getDragHorizontalDirection(),this.floating?S==="right"||C==="down"?2:1:C&&(C==="down"?2:1))},_intersectsWithSides:function(V){var C=this._isOverAxis(this.positionAbs.top+this.offset.click.top,V.top+V.height/2,V.height),S=this._isOverAxis(this.positionAbs.left+this.offset.click.left,V.left+V.width/2,V.width),P=this._getDragVerticalDirection(),V=this._getDragHorizontalDirection();return this.floating&&V?V==="right"&&S||V==="left"&&!S:P&&(P==="down"&&C||P==="up"&&!C)},_getDragVerticalDirection:function(){var z=this.positionAbs.top-this.lastPositionAbs.top;return z!=0&&(0<z?"down":"up")},_getDragHorizontalDirection:function(){var z=this.positionAbs.left-this.lastPositionAbs.left;return z!=0&&(0<z?"right":"left")},refresh:function(z){return this._refreshItems(z),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var z=this.options;return z.connectWith.constructor===String?[z.connectWith]:z.connectWith},_getItemsAsjQuery:function(z){var C,S,P,V,ee=[],ce=[],be=this._connectWith();if(be&&z)for(C=be.length-1;0<=C;C--)for(S=(P=i(be[C],this.document[0])).length-1;0<=S;S--)(V=i.data(P[S],this.widgetFullName))&&V!==this&&!V.options.disabled&&ce.push([i.isFunction(V.options.items)?V.options.items.call(V.element):i(V.options.items,V.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),V]);function ge(){ee.push(this)}for(ce.push([i.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):i(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),C=ce.length-1;0<=C;C--)ce[C][0].each(ge);return i(ee)},_removeCurrentsFromItems:function(){var z=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=i.grep(this.items,function(C){for(var S=0;S<z.length;S++)if(z[S]===C.item[0])return!1;return!0})},_refreshItems:function(z){this.items=[],this.containers=[this];var C,S,P,V,ee,ce,be,ge,Se=this.items,He=[[i.isFunction(this.options.items)?this.options.items.call(this.element[0],z,{item:this.currentItem}):i(this.options.items,this.element),this]],Ae=this._connectWith();if(Ae&&this.ready)for(C=Ae.length-1;0<=C;C--)for(S=(P=i(Ae[C],this.document[0])).length-1;0<=S;S--)(V=i.data(P[S],this.widgetFullName))&&V!==this&&!V.options.disabled&&(He.push([i.isFunction(V.options.items)?V.options.items.call(V.element[0],z,{item:this.currentItem}):i(V.options.items,V.element),V]),this.containers.push(V));for(C=He.length-1;0<=C;C--)for(ee=He[C][1],S=0,ge=(ce=He[C][0]).length;S<ge;S++)(be=i(ce[S])).data(this.widgetName+"-item",ee),Se.push({item:be,instance:ee,width:0,height:0,left:0,top:0})},refreshPositions:function(z){var C,S,P,V;for(this.floating=!!this.items.length&&(this.options.axis==="x"||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),C=this.items.length-1;0<=C;C--)(S=this.items[C]).instance!==this.currentContainer&&this.currentContainer&&S.item[0]!==this.currentItem[0]||(P=this.options.toleranceElement?i(this.options.toleranceElement,S.item):S.item,z||(S.width=P.outerWidth(),S.height=P.outerHeight()),V=P.offset(),S.left=V.left,S.top=V.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(C=this.containers.length-1;0<=C;C--)V=this.containers[C].element.offset(),this.containers[C].containerCache.left=V.left,this.containers[C].containerCache.top=V.top,this.containers[C].containerCache.width=this.containers[C].element.outerWidth(),this.containers[C].containerCache.height=this.containers[C].element.outerHeight();return this},_createPlaceholder:function(z){var C,S=(z=z||this).options;S.placeholder&&S.placeholder.constructor!==String||(C=S.placeholder,S.placeholder={element:function(){var P=z.currentItem[0].nodeName.toLowerCase(),V=i("<"+P+">",z.document[0]);return z._addClass(V,"ui-sortable-placeholder",C||z.currentItem[0].className)._removeClass(V,"ui-sortable-helper"),P==="tbody"?z._createTrPlaceholder(z.currentItem.find("tr").eq(0),i("<tr>",z.document[0]).appendTo(V)):P==="tr"?z._createTrPlaceholder(z.currentItem,V):P==="img"&&V.attr("src",z.currentItem.attr("src")),C||V.css("visibility","hidden"),V},update:function(P,V){C&&!S.forcePlaceholderSize||(V.height()||V.height(z.currentItem.innerHeight()-parseInt(z.currentItem.css("paddingTop")||0,10)-parseInt(z.currentItem.css("paddingBottom")||0,10)),V.width()||V.width(z.currentItem.innerWidth()-parseInt(z.currentItem.css("paddingLeft")||0,10)-parseInt(z.currentItem.css("paddingRight")||0,10)))}}),z.placeholder=i(S.placeholder.element.call(z.element,z.currentItem)),z.currentItem.after(z.placeholder),S.placeholder.update(z,z.placeholder)},_createTrPlaceholder:function(z,C){var S=this;z.children().each(function(){i("<td>&#160;</td>",S.document[0]).attr("colspan",i(this).attr("colspan")||1).appendTo(C)})},_contactContainers:function(z){for(var C,S,P,V,ee,ce,be,ge,Se,He=null,Ae=null,de=this.containers.length-1;0<=de;de--)i.contains(this.currentItem[0],this.containers[de].element[0])||(this._intersectsWith(this.containers[de].containerCache)?He&&i.contains(this.containers[de].element[0],He.element[0])||(He=this.containers[de],Ae=de):this.containers[de].containerCache.over&&(this.containers[de]._trigger("out",z,this._uiHash(this)),this.containers[de].containerCache.over=0));if(He)if(this.containers.length===1)this.containers[Ae].containerCache.over||(this.containers[Ae]._trigger("over",z,this._uiHash(this)),this.containers[Ae].containerCache.over=1);else{for(S=1e4,P=null,V=(ge=He.floating||this._isFloating(this.currentItem))?"left":"top",ee=ge?"width":"height",Se=ge?"pageX":"pageY",C=this.items.length-1;0<=C;C--)i.contains(this.containers[Ae].element[0],this.items[C].item[0])&&this.items[C].item[0]!==this.currentItem[0]&&(ce=this.items[C].item.offset()[V],be=!1,z[Se]-ce>this.items[C][ee]/2&&(be=!0),Math.abs(z[Se]-ce)<S&&(S=Math.abs(z[Se]-ce),P=this.items[C],this.direction=be?"up":"down"));(P||this.options.dropOnEmpty)&&(this.currentContainer!==this.containers[Ae]?(P?this._rearrange(z,P,null,!0):this._rearrange(z,null,this.containers[Ae].element,!0),this._trigger("change",z,this._uiHash()),this.containers[Ae]._trigger("change",z,this._uiHash(this)),this.currentContainer=this.containers[Ae],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[Ae]._trigger("over",z,this._uiHash(this)),this.containers[Ae].containerCache.over=1):this.currentContainer.containerCache.over||(this.containers[Ae]._trigger("over",z,this._uiHash()),this.currentContainer.containerCache.over=1))}},_createHelper:function(S){var C=this.options,S=i.isFunction(C.helper)?i(C.helper.apply(this.element[0],[S,this.currentItem])):C.helper==="clone"?this.currentItem.clone():this.currentItem;return S.parents("body").length||i(C.appendTo!=="parent"?C.appendTo:this.currentItem[0].parentNode)[0].appendChild(S[0]),S[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),S[0].style.width&&!C.forceHelperSize||S.width(this.currentItem.width()),S[0].style.height&&!C.forceHelperSize||S.height(this.currentItem.height()),S},_adjustOffsetFromHelper:function(z){typeof z=="string"&&(z=z.split(" ")),i.isArray(z)&&(z={left:+z[0],top:+z[1]||0}),"left"in z&&(this.offset.click.left=z.left+this.margins.left),"right"in z&&(this.offset.click.left=this.helperProportions.width-z.right+this.margins.left),"top"in z&&(this.offset.click.top=z.top+this.margins.top),"bottom"in z&&(this.offset.click.top=this.helperProportions.height-z.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var z=this.offsetParent.offset();return this.cssPosition==="absolute"&&this.scrollParent[0]!==this.document[0]&&i.contains(this.scrollParent[0],this.offsetParent[0])&&(z.left+=this.scrollParent.scrollLeft(),z.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()==="html"&&i.ui.ie)&&(z={top:0,left:0}),{top:z.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:z.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition!=="relative")return{top:0,left:0};var z=this.currentItem.position();return{top:z.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:z.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var z,C,S=this.options;S.containment==="parent"&&(S.containment=this.helper[0].parentNode),S.containment!=="document"&&S.containment!=="window"||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,S.containment==="document"?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,(S.containment==="document"?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(S.containment)||(z=i(S.containment)[0],C=i(S.containment).offset(),S=i(z).css("overflow")!=="hidden",this.containment=[C.left+(parseInt(i(z).css("borderLeftWidth"),10)||0)+(parseInt(i(z).css("paddingLeft"),10)||0)-this.margins.left,C.top+(parseInt(i(z).css("borderTopWidth"),10)||0)+(parseInt(i(z).css("paddingTop"),10)||0)-this.margins.top,C.left+(S?Math.max(z.scrollWidth,z.offsetWidth):z.offsetWidth)-(parseInt(i(z).css("borderLeftWidth"),10)||0)-(parseInt(i(z).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,C.top+(S?Math.max(z.scrollHeight,z.offsetHeight):z.offsetHeight)-(parseInt(i(z).css("borderTopWidth"),10)||0)-(parseInt(i(z).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(V,C){C=C||this.position;var S=V==="absolute"?1:-1,P=this.cssPosition!=="absolute"||this.scrollParent[0]!==this.document[0]&&i.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,V=/(html|body)/i.test(P[0].tagName);return{top:C.top+this.offset.relative.top*S+this.offset.parent.top*S-(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():V?0:P.scrollTop())*S,left:C.left+this.offset.relative.left*S+this.offset.parent.left*S-(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():V?0:P.scrollLeft())*S}},_generatePosition:function(z){var C=this.options,S=z.pageX,P=z.pageY,V=this.cssPosition!=="absolute"||this.scrollParent[0]!==this.document[0]&&i.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,ee=/(html|body)/i.test(V[0].tagName);return this.cssPosition!=="relative"||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(z.pageX-this.offset.click.left<this.containment[0]&&(S=this.containment[0]+this.offset.click.left),z.pageY-this.offset.click.top<this.containment[1]&&(P=this.containment[1]+this.offset.click.top),z.pageX-this.offset.click.left>this.containment[2]&&(S=this.containment[2]+this.offset.click.left),z.pageY-this.offset.click.top>this.containment[3]&&(P=this.containment[3]+this.offset.click.top)),C.grid&&(z=this.originalPageY+Math.round((P-this.originalPageY)/C.grid[1])*C.grid[1],P=!this.containment||z-this.offset.click.top>=this.containment[1]&&z-this.offset.click.top<=this.containment[3]?z:z-this.offset.click.top>=this.containment[1]?z-C.grid[1]:z+C.grid[1],z=this.originalPageX+Math.round((S-this.originalPageX)/C.grid[0])*C.grid[0],S=!this.containment||z-this.offset.click.left>=this.containment[0]&&z-this.offset.click.left<=this.containment[2]?z:z-this.offset.click.left>=this.containment[0]?z-C.grid[0]:z+C.grid[0])),{top:P-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():ee?0:V.scrollTop()),left:S-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():ee?0:V.scrollLeft())}},_rearrange:function(z,C,S,P){S?S[0].appendChild(this.placeholder[0]):C.item[0].parentNode.insertBefore(this.placeholder[0],this.direction==="down"?C.item[0]:C.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var V=this.counter;this._delay(function(){V===this.counter&&this.refreshPositions(!P)})},_clear:function(z,C){this.reverting=!1;var S,P=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(S in this._storedCSS)this._storedCSS[S]!=="auto"&&this._storedCSS[S]!=="static"||(this._storedCSS[S]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function V(ee,ce,be){return function(ge){be._trigger(ee,ge,ce._uiHash(ce))}}for(this.fromOutside&&!C&&P.push(function(ee){this._trigger("receive",ee,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||C||P.push(function(ee){this._trigger("update",ee,this._uiHash())}),this!==this.currentContainer&&(C||(P.push(function(ee){this._trigger("remove",ee,this._uiHash())}),P.push(function(ee){return function(ce){ee._trigger("receive",ce,this._uiHash(this))}}.call(this,this.currentContainer)),P.push(function(ee){return function(ce){ee._trigger("update",ce,this._uiHash(this))}}.call(this,this.currentContainer)))),S=this.containers.length-1;0<=S;S--)C||P.push(V("deactivate",this,this.containers[S])),this.containers[S].containerCache.over&&(P.push(V("out",this,this.containers[S])),this.containers[S].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex==="auto"?"":this._storedZIndex),this.dragging=!1,C||this._trigger("beforeStop",z,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!C){for(S=0;S<P.length;S++)P[S].call(this,z);this._trigger("stop",z,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){i.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(z){var C=z||this;return{helper:C.helper,placeholder:C.placeholder||i([]),position:C.position,originalPosition:C.originalPosition,offset:C.positionAbs,item:C.currentItem,sender:z?z.element:null}}});var x,w,E,y,A,R,j,F,O,L,U,J,ie,te,me,Q,H,re,K,pe,xe="ui-effects-",le="ui-effects-style",Be="ui-effects-animated",X=i;function ne(z,C,S){var P=F[C.type]||{};return z==null?S||!C.def?null:C.def:(z=P.floor?~~z:parseFloat(z),isNaN(z)?C.def:P.mod?(z+P.mod)%P.mod:z<0?0:P.max<z?P.max:z)}function Me(z){var C=R(),S=C._rgba=[];return z=z.toLowerCase(),L(A,function(P,ce){var ee=ce.re.exec(z),ee=ee&&ce.parse(ee),ce=ce.space||"rgba";if(ee)return ee=C[ce](ee),C[j[ce].cache]=ee[j[ce].cache],S=C._rgba=ee._rgba,!1}),S.length?(S.join()==="0,0,0,0"&&x.extend(S,E.transparent),C):E[z]}function Ue(z,C,S){return 6*(S=(S+1)%1)<1?z+(C-z)*S*6:2*S<1?C:3*S<2?z+(C-z)*(2/3-S)*6:z}function et(z){var C,S,P=z.ownerDocument.defaultView?z.ownerDocument.defaultView.getComputedStyle(z,null):z.currentStyle,V={};if(P&&P.length&&P[0]&&P[P[0]])for(S=P.length;S--;)typeof P[C=P[S]]=="string"&&(V[i.camelCase(C)]=P[C]);else for(C in P)typeof P[C]=="string"&&(V[C]=P[C]);return V}function Qe(z,C,S,P){return i.isPlainObject(z)&&(z=(C=z).effect),z={effect:z},C==null&&(C={}),i.isFunction(C)&&(P=C,S=null,C={}),typeof C!="number"&&!i.fx.speeds[C]||(P=S,S=C,C={}),i.isFunction(S)&&(P=S,S=null),C&&i.extend(z,C),S=S||C.duration,z.duration=i.fx.off?0:typeof S=="number"?S:S in i.fx.speeds?i.fx.speeds[S]:i.fx.speeds._default,z.complete=P||C.complete,z}function Ge(z){return!z||typeof z=="number"||i.fx.speeds[z]||typeof z=="string"&&!i.effects.effect[z]||i.isFunction(z)||typeof z=="object"&&!z.effect}function Ie(V,P){var S=P.outerWidth(),P=P.outerHeight(),V=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(V)||["",0,S,P,0];return{top:parseFloat(V[1])||0,right:V[2]==="auto"?S:parseFloat(V[2]),bottom:V[3]==="auto"?P:parseFloat(V[3]),left:parseFloat(V[4])||0}}i.effects={effect:{}},y=/^([\-+])=\s*(\d+\.?\d*)/,A=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(z){return[z[1],z[2],z[3],z[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(z){return[2.55*z[1],2.55*z[2],2.55*z[3],z[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(z){return[parseInt(z[1],16),parseInt(z[2],16),parseInt(z[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(z){return[parseInt(z[1]+z[1],16),parseInt(z[2]+z[2],16),parseInt(z[3]+z[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(z){return[z[1],z[2]/100,z[3]/100,z[4]]}}],R=(x=X).Color=function(z,C,S,P){return new x.Color.fn.parse(z,C,S,P)},j={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},F={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},O=R.support={},Ke=x("<p>")[0],L=x.each,Ke.style.cssText="background-color:rgba(1,1,1,.5)",O.rgba=-1<Ke.style.backgroundColor.indexOf("rgba"),L(j,function(z,C){C.cache="_"+z,C.props.alpha={idx:3,type:"percent",def:1}}),R.fn=x.extend(R.prototype,{parse:function(z,C,S,P){if(z===w)return this._rgba=[null,null,null,null],this;(z.jquery||z.nodeType)&&(z=x(z).css(C),C=w);var V=this,ee=x.type(z),ce=this._rgba=[];return C!==w&&(z=[z,C,S,P],ee="array"),ee==="string"?this.parse(Me(z)||E._default):ee==="array"?(L(j.rgba.props,function(be,ge){ce[ge.idx]=ne(z[ge.idx],ge)}),this):ee==="object"?(L(j,z instanceof R?function(be,ge){z[ge.cache]&&(V[ge.cache]=z[ge.cache].slice())}:function(be,ge){var Se=ge.cache;L(ge.props,function(He,Ae){if(!V[Se]&&ge.to){if(He==="alpha"||z[He]==null)return;V[Se]=ge.to(V._rgba)}V[Se][Ae.idx]=ne(z[He],Ae,!0)}),V[Se]&&x.inArray(null,V[Se].slice(0,3))<0&&(V[Se][3]=1,ge.from&&(V._rgba=ge.from(V[Se])))}),this):void 0},is:function(z){var C=R(z),S=!0,P=this;return L(j,function(V,ee){var ce,be=C[ee.cache];return be&&(ce=P[ee.cache]||ee.to&&ee.to(P._rgba)||[],L(ee.props,function(ge,Se){if(be[Se.idx]!=null)return S=be[Se.idx]===ce[Se.idx]})),S}),S},_space:function(){var z=[],C=this;return L(j,function(S,P){C[P.cache]&&z.push(S)}),z.pop()},transition:function(V,C){var S=(be=R(V))._space(),P=j[S],V=this.alpha()===0?R("transparent"):this,ee=V[P.cache]||P.to(V._rgba),ce=ee.slice(),be=be[P.cache];return L(P.props,function(ge,Se){var He=Se.idx,Ae=ee[He],de=be[He],Oe=F[Se.type]||{};de!==null&&(Ae===null?ce[He]=de:(Oe.mod&&(Oe.mod/2<de-Ae?Ae+=Oe.mod:Oe.mod/2<Ae-de&&(Ae-=Oe.mod)),ce[He]=ne((de-Ae)*C+Ae,Se)))}),this[S](ce)},blend:function(z){if(this._rgba[3]===1)return this;var C=this._rgba.slice(),S=C.pop(),P=R(z)._rgba;return R(x.map(C,function(V,ee){return(1-S)*P[ee]+S*V}))},toRgbaString:function(){var z="rgba(",C=x.map(this._rgba,function(S,P){return S??(2<P?1:0)});return C[3]===1&&(C.pop(),z="rgb("),z+C.join()+")"},toHslaString:function(){var z="hsla(",C=x.map(this.hsla(),function(S,P){return S==null&&(S=2<P?1:0),P&&P<3&&(S=Math.round(100*S)+"%"),S});return C[3]===1&&(C.pop(),z="hsl("),z+C.join()+")"},toHexString:function(z){var C=this._rgba.slice(),S=C.pop();return z&&C.push(~~(255*S)),"#"+x.map(C,function(P){return(P=(P||0).toString(16)).length===1?"0"+P:P}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}}),R.fn.parse.prototype=R.fn,j.hsla.to=function(be){if(be[0]==null||be[1]==null||be[2]==null)return[null,null,null,be[3]];var C=be[0]/255,ge=be[1]/255,S=be[2]/255,P=be[3],V=Math.max(C,ge,S),ee=Math.min(C,ge,S),ce=V-ee,Se=V+ee,be=.5*Se,ge=ee===V?0:C===V?60*(ge-S)/ce+360:ge===V?60*(S-C)/ce+120:60*(C-ge)/ce+240,Se=ce==0?0:be<=.5?ce/Se:ce/(2-Se);return[Math.round(ge)%360,Se,be,P??1]},j.hsla.from=function(S){if(S[0]==null||S[1]==null||S[2]==null)return[null,null,null,S[3]];var C=S[0]/360,P=S[1],V=S[2],S=S[3],P=V<=.5?V*(1+P):V+P-V*P,V=2*V-P;return[Math.round(255*Ue(V,P,C+1/3)),Math.round(255*Ue(V,P,C)),Math.round(255*Ue(V,P,C-1/3)),S]},L(j,function(z,C){var S=C.props,P=C.cache,V=C.to,ee=C.from;R.fn[z]=function(ce){if(V&&!this[P]&&(this[P]=V(this._rgba)),ce===w)return this[P].slice();var be,ge=x.type(ce),Se=ge==="array"||ge==="object"?ce:arguments,He=this[P].slice();return L(S,function(Ae,de){Ae=Se[ge==="object"?Ae:de.idx],Ae==null&&(Ae=He[de.idx]),He[de.idx]=ne(Ae,de)}),ee?((be=R(ee(He)))[P]=He,be):R(He)},L(S,function(ce,be){R.fn[ce]||(R.fn[ce]=function(ge){var Se,He=x.type(ge),Ae=ce==="alpha"?this._hsla?"hsla":"rgba":z,de=this[Ae](),Oe=de[be.idx];return He==="undefined"?Oe:(He==="function"&&(ge=ge.call(this,Oe),He=x.type(ge)),ge==null&&be.empty?this:(He==="string"&&(Se=y.exec(ge))&&(ge=Oe+parseFloat(Se[2])*(Se[1]==="+"?1:-1)),de[be.idx]=ge,this[Ae](de)))})})}),R.hook=function(z){z=z.split(" "),L(z,function(C,S){x.cssHooks[S]={set:function(P,V){var ee,ce,be="";if(V!=="transparent"&&(x.type(V)!=="string"||(ee=Me(V)))){if(V=R(ee||V),!O.rgba&&V._rgba[3]!==1){for(ce=S==="backgroundColor"?P.parentNode:P;(be===""||be==="transparent")&&ce&&ce.style;)try{be=x.css(ce,"backgroundColor"),ce=ce.parentNode}catch{}V=V.blend(be&&be!=="transparent"?be:"_default")}V=V.toRgbaString()}try{P.style[S]=V}catch{}}},x.fx.step[S]=function(P){P.colorInit||(P.start=R(P.elem,S),P.end=R(P.end),P.colorInit=!0),x.cssHooks[S].set(P.elem,P.start.transition(P.end,P.pos))}})},R.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),x.cssHooks.borderColor={expand:function(z){var C={};return L(["Top","Right","Bottom","Left"],function(S,P){C["border"+P+"Color"]=z}),C}},E=x.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"},te=["add","remove","toggle"],me={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1},i.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(z,C){i.fx.step[C]=function(S){(S.end!=="none"&&!S.setAttr||S.pos===1&&!S.setAttr)&&(X.style(S.elem,C,S.end),S.setAttr=!0)}}),i.fn.addBack||(i.fn.addBack=function(z){return this.add(z==null?this.prevObject:this.prevObject.filter(z))}),i.effects.animateClass=function(z,C,S,P){var V=i.speed(C,S,P);return this.queue(function(){var ee=i(this),ce=ee.attr("class")||"",be=(be=V.children?ee.find("*").addBack():ee).map(function(){return{el:i(this),start:et(this)}}),ge=function(){i.each(te,function(Se,He){z[He]&&ee[He+"Class"](z[He])})};ge(),be=be.map(function(){return this.end=et(this.el[0]),this.diff=function(Se,He){var Ae,de,Oe={};for(Ae in He)de=He[Ae],Se[Ae]!==de&&(me[Ae]||!i.fx.step[Ae]&&isNaN(parseFloat(de))||(Oe[Ae]=de));return Oe}(this.start,this.end),this}),ee.attr("class",ce),be=be.map(function(){var Se=this,He=i.Deferred(),Ae=i.extend({},V,{queue:!1,complete:function(){He.resolve(Se)}});return this.el.animate(this.diff,Ae),He.promise()}),i.when.apply(i,be.get()).done(function(){ge(),i.each(arguments,function(){var Se=this.el;i.each(this.diff,function(He){Se.css(He,"")})}),V.complete.call(ee[0])})})},i.fn.extend({addClass:(ie=i.fn.addClass,function(z,C,S,P){return C?i.effects.animateClass.call(this,{add:z},C,S,P):ie.apply(this,arguments)}),removeClass:(J=i.fn.removeClass,function(z,C,S,P){return 1<arguments.length?i.effects.animateClass.call(this,{remove:z},C,S,P):J.apply(this,arguments)}),toggleClass:(U=i.fn.toggleClass,function(z,C,S,P,V){return typeof C=="boolean"||C===void 0?S?i.effects.animateClass.call(this,C?{add:z}:{remove:z},S,P,V):U.apply(this,arguments):i.effects.animateClass.call(this,{toggle:z},C,S,P)}),switchClass:function(z,C,S,P,V){return i.effects.animateClass.call(this,{add:C,remove:z},S,P,V)}}),i.expr&&i.expr.filters&&i.expr.filters.animated&&(i.expr.filters.animated=(Q=i.expr.filters.animated,function(z){return!!i(z).data(Be)||Q(z)})),i.uiBackCompat!==!1&&i.extend(i.effects,{save:function(z,C){for(var S=0,P=C.length;S<P;S++)C[S]!==null&&z.data(xe+C[S],z[0].style[C[S]])},restore:function(z,C){for(var S,P=0,V=C.length;P<V;P++)C[P]!==null&&(S=z.data(xe+C[P]),z.css(C[P],S))},setMode:function(z,C){return C==="toggle"&&(C=z.is(":hidden")?"show":"hide"),C},createWrapper:function(z){if(z.parent().is(".ui-effects-wrapper"))return z.parent();var C={width:z.outerWidth(!0),height:z.outerHeight(!0),float:z.css("float")},S=i("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),P={width:z.width(),height:z.height()},V=document.activeElement;try{V.id}catch{V=document.body}return z.wrap(S),z[0]!==V&&!i.contains(z[0],V)||i(V).trigger("focus"),S=z.parent(),z.css("position")==="static"?(S.css({position:"relative"}),z.css({position:"relative"})):(i.extend(C,{position:z.css("position"),zIndex:z.css("z-index")}),i.each(["top","left","bottom","right"],function(ee,ce){C[ce]=z.css(ce),isNaN(parseInt(C[ce],10))&&(C[ce]="auto")}),z.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),z.css(P),S.css(C).show()},removeWrapper:function(z){var C=document.activeElement;return z.parent().is(".ui-effects-wrapper")&&(z.parent().replaceWith(z),z[0]!==C&&!i.contains(z[0],C)||i(C).trigger("focus")),z}}),i.extend(i.effects,{version:"1.12.1",define:function(z,C,S){return S||(S=C,C="effect"),i.effects.effect[z]=S,i.effects.effect[z].mode=C,S},scaledDimensions:function(z,V,S){if(V===0)return{height:0,width:0,outerHeight:0,outerWidth:0};var P=S!=="horizontal"?(V||100)/100:1,V=S!=="vertical"?(V||100)/100:1;return{height:z.height()*V,width:z.width()*P,outerHeight:z.outerHeight()*V,outerWidth:z.outerWidth()*P}},clipToBox:function(z){return{width:z.clip.right-z.clip.left,height:z.clip.bottom-z.clip.top,left:z.clip.left,top:z.clip.top}},unshift:function(z,C,S){var P=z.queue();1<C&&P.splice.apply(P,[1,0].concat(P.splice(C,S))),z.dequeue()},saveStyle:function(z){z.data(le,z[0].style.cssText)},restoreStyle:function(z){z[0].style.cssText=z.data(le)||"",z.removeData(le)},mode:function(z,C){return z=z.is(":hidden"),C==="toggle"&&(C=z?"show":"hide"),(z?C==="hide":C==="show")&&(C="none"),C},getBaseline:function(z,C){var S,P;switch(z[0]){case"top":S=0;break;case"middle":S=.5;break;case"bottom":S=1;break;default:S=z[0]/C.height}switch(z[1]){case"left":P=0;break;case"center":P=.5;break;case"right":P=1;break;default:P=z[1]/C.width}return{x:P,y:S}},createPlaceholder:function(z){var C,S=z.css("position"),P=z.position();return z.css({marginTop:z.css("marginTop"),marginBottom:z.css("marginBottom"),marginLeft:z.css("marginLeft"),marginRight:z.css("marginRight")}).outerWidth(z.outerWidth()).outerHeight(z.outerHeight()),/^(static|relative)/.test(S)&&(S="absolute",C=i("<"+z[0].nodeName+">").insertAfter(z).css({display:/^(inline|ruby)/.test(z.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:z.css("marginTop"),marginBottom:z.css("marginBottom"),marginLeft:z.css("marginLeft"),marginRight:z.css("marginRight"),float:z.css("float")}).outerWidth(z.outerWidth()).outerHeight(z.outerHeight()).addClass("ui-effects-placeholder"),z.data(xe+"placeholder",C)),z.css({position:S,left:P.left,top:P.top}),C},removePlaceholder:function(z){var C=xe+"placeholder",S=z.data(C);S&&(S.remove(),z.removeData(C))},cleanUp:function(z){i.effects.restoreStyle(z),i.effects.removePlaceholder(z)},setTransition:function(z,C,S,P){return P=P||{},i.each(C,function(V,ee){var ce=z.cssUnit(ee);0<ce[0]&&(P[ee]=ce[0]*S+ce[1])}),P}}),i.fn.extend({effect:function(){function z(He){var Ae=i(this),de=i.effects.mode(Ae,be)||P;Ae.data(Be,!0),ge.push(de),P&&(de==="show"||de===P&&de==="hide")&&Ae.show(),P&&de==="none"||i.effects.saveStyle(Ae),i.isFunction(He)&&He()}var C=Qe.apply(this,arguments),S=i.effects.effect[C.effect],P=S.mode,V=C.queue,ee=V||"fx",ce=C.complete,be=C.mode,ge=[];return i.fx.off||!S?be?this[be](C.duration,ce):this.each(function(){ce&&ce.call(this)}):V===!1?this.each(z).each(Se):this.queue(ee,z).queue(ee,Se);function Se(He){var Ae=i(this);function de(){i.isFunction(ce)&&ce.call(Ae[0]),i.isFunction(He)&&He()}C.mode=ge.shift(),i.uiBackCompat===!1||P?C.mode==="none"?(Ae[be](),de()):S.call(Ae[0],C,function(){Ae.removeData(Be),i.effects.cleanUp(Ae),C.mode==="hide"&&Ae.hide(),de()}):(Ae.is(":hidden")?be==="hide":be==="show")?(Ae[be](),de()):S.call(Ae[0],C,de)}},show:(K=i.fn.show,function(z){if(Ge(z))return K.apply(this,arguments);var C=Qe.apply(this,arguments);return C.mode="show",this.effect.call(this,C)}),hide:(re=i.fn.hide,function(z){if(Ge(z))return re.apply(this,arguments);var C=Qe.apply(this,arguments);return C.mode="hide",this.effect.call(this,C)}),toggle:(H=i.fn.toggle,function(z){if(Ge(z)||typeof z=="boolean")return H.apply(this,arguments);var C=Qe.apply(this,arguments);return C.mode="toggle",this.effect.call(this,C)}),cssUnit:function(z){var C=this.css(z),S=[];return i.each(["em","px","%","pt"],function(P,V){0<C.indexOf(V)&&(S=[parseFloat(C),V])}),S},cssClip:function(z){return z?this.css("clip","rect("+z.top+"px "+z.right+"px "+z.bottom+"px "+z.left+"px)"):Ie(this.css("clip"),this)},transfer:function(z,C){var S=i(this),be=i(z.to),P=be.css("position")==="fixed",ce=i("body"),V=P?ce.scrollTop():0,ee=P?ce.scrollLeft():0,ce=be.offset(),ce={top:ce.top-V,left:ce.left-ee,height:be.innerHeight(),width:be.innerWidth()},be=S.offset(),ge=i("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(z.className).css({top:be.top-V,left:be.left-ee,height:S.innerHeight(),width:S.innerWidth(),position:P?"fixed":"absolute"}).animate(ce,z.duration,z.easing,function(){ge.remove(),i.isFunction(C)&&C()})}}),i.fx.step.clip=function(z){z.clipInit||(z.start=i(z.elem).cssClip(),typeof z.end=="string"&&(z.end=Ie(z.end,z.elem)),z.clipInit=!0),i(z.elem).cssClip({top:z.pos*(z.end.top-z.start.top)+z.start.top,right:z.pos*(z.end.right-z.start.right)+z.start.right,bottom:z.pos*(z.end.bottom-z.start.bottom)+z.start.bottom,left:z.pos*(z.end.left-z.start.left)+z.start.left})},pe={},i.each(["Quad","Cubic","Quart","Quint","Expo"],function(z,C){pe[C]=function(S){return Math.pow(S,z+2)}}),i.extend(pe,{Sine:function(z){return 1-Math.cos(z*Math.PI/2)},Circ:function(z){return 1-Math.sqrt(1-z*z)},Elastic:function(z){return z===0||z===1?z:-Math.pow(2,8*(z-1))*Math.sin((80*(z-1)-7.5)*Math.PI/15)},Back:function(z){return z*z*(3*z-2)},Bounce:function(z){for(var C,S=4;z<((C=Math.pow(2,--S))-1)/11;);return 1/Math.pow(4,3-S)-7.5625*Math.pow((3*C-2)/22-z,2)}}),i.each(pe,function(z,C){i.easing["easeIn"+z]=C,i.easing["easeOut"+z]=function(S){return 1-C(1-S)},i.easing["easeInOut"+z]=function(S){return S<.5?C(2*S)/2:1-C(-2*S+2)/2}});var Ke=i.effects;i.effects.define("blind","hide",function(z,C){var S={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},P=i(this),V=z.direction||"up",ee=P.cssClip(),ce={clip:i.extend({},ee)},be=i.effects.createPlaceholder(P);ce.clip[S[V][0]]=ce.clip[S[V][1]],z.mode==="show"&&(P.cssClip(ce.clip),be&&be.css(i.effects.clipToBox(ce)),ce.clip=ee),be&&be.animate(i.effects.clipToBox(ce),z.duration,z.easing),P.animate(ce,{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.effects.define("bounce",function(ue,C){var S,P,V=i(this),He=ue.mode,ee=He==="hide",ce=He==="show",be=ue.direction||"up",ge=ue.distance,Se=ue.times||5,He=2*Se+(ce||ee?1:0),Ae=ue.duration/He,de=ue.easing,Oe=be==="up"||be==="down"?"top":"left",Je=be==="up"||be==="left",dt=0,ue=V.queue().length;for(i.effects.createPlaceholder(V),be=V.css(Oe),ge=ge||V[Oe=="top"?"outerHeight":"outerWidth"]()/3,ce&&((P={opacity:1})[Oe]=be,V.css("opacity",0).css(Oe,Je?2*-ge:2*ge).animate(P,Ae,de)),ee&&(ge/=Math.pow(2,Se-1)),(P={})[Oe]=be;dt<Se;dt++)(S={})[Oe]=(Je?"-=":"+=")+ge,V.animate(S,Ae,de).animate(P,Ae,de),ge=ee?2*ge:ge/2;ee&&((S={opacity:0})[Oe]=(Je?"-=":"+=")+ge,V.animate(S,Ae,de)),V.queue(C),i.effects.unshift(V,ue,1+He)}),i.effects.define("clip","hide",function(z,C){var S={},P=i(this),ce=z.direction||"vertical",ee=ce==="both",V=ee||ce==="horizontal",ee=ee||ce==="vertical",ce=P.cssClip();S.clip={top:ee?(ce.bottom-ce.top)/2:ce.top,right:V?(ce.right-ce.left)/2:ce.right,bottom:ee?(ce.bottom-ce.top)/2:ce.bottom,left:V?(ce.right-ce.left)/2:ce.left},i.effects.createPlaceholder(P),z.mode==="show"&&(P.cssClip(S.clip),S.clip=ce),P.animate(S,{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.effects.define("drop","hide",function(z,C){var S=i(this),P=z.mode==="show",V=z.direction||"left",ee=V==="up"||V==="down"?"top":"left",ce=V==="up"||V==="left"?"-=":"+=",be=ce=="+="?"-=":"+=",ge={opacity:0};i.effects.createPlaceholder(S),V=z.distance||S[ee=="top"?"outerHeight":"outerWidth"](!0)/2,ge[ee]=ce+V,P&&(S.css(ge),ge[ee]=be+V,ge.opacity=1),S.animate(ge,{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.effects.define("explode","hide",function(z,C){var S,P,V,ee,ce,be,ge=z.pieces?Math.round(Math.sqrt(z.pieces)):3,Se=ge,He=i(this),Ae=z.mode==="show",de=He.show().css("visibility","hidden").offset(),Oe=Math.ceil(He.outerWidth()/Se),Je=Math.ceil(He.outerHeight()/ge),dt=[];function ue(){dt.push(this),dt.length===ge*Se&&(He.css({visibility:"visible"}),i(dt).remove(),C())}for(S=0;S<ge;S++)for(ee=de.top+S*Je,be=S-(ge-1)/2,P=0;P<Se;P++)V=de.left+P*Oe,ce=P-(Se-1)/2,He.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-P*Oe,top:-S*Je}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:Oe,height:Je,left:V+(Ae?ce*Oe:0),top:ee+(Ae?be*Je:0),opacity:Ae?0:1}).animate({left:V+(Ae?0:ce*Oe),top:ee+(Ae?0:be*Je),opacity:Ae?1:0},z.duration||500,z.easing,ue)}),i.effects.define("fade","toggle",function(z,C){var S=z.mode==="show";i(this).css("opacity",S?0:1).animate({opacity:S?1:0},{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.effects.define("fold","hide",function(z,C){var S=i(this),Je=z.mode,P=Je==="show",V=Je==="hide",ee=z.size||15,ce=/([0-9]+)%/.exec(ee),be=z.horizFirst?["right","bottom"]:["bottom","right"],ge=z.duration/2,Se=i.effects.createPlaceholder(S),He=S.cssClip(),Ae={clip:i.extend({},He)},de={clip:i.extend({},He)},Oe=[He[be[0]],He[be[1]]],Je=S.queue().length;ce&&(ee=parseInt(ce[1],10)/100*Oe[V?0:1]),Ae.clip[be[0]]=ee,de.clip[be[0]]=ee,de.clip[be[1]]=0,P&&(S.cssClip(de.clip),Se&&Se.css(i.effects.clipToBox(de)),de.clip=He),S.queue(function(dt){Se&&Se.animate(i.effects.clipToBox(Ae),ge,z.easing).animate(i.effects.clipToBox(de),ge,z.easing),dt()}).animate(Ae,ge,z.easing).animate(de,ge,z.easing).queue(C),i.effects.unshift(S,Je,4)}),i.effects.define("highlight","show",function(z,C){var S=i(this),P={backgroundColor:S.css("backgroundColor")};z.mode==="hide"&&(P.opacity=0),i.effects.saveStyle(S),S.css({backgroundImage:"none",backgroundColor:z.color||"#ffff99"}).animate(P,{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.effects.define("size",function(z,C){var S,P=i(this),V=["fontSize"],ee=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],ce=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],be=z.mode,ge=be!=="effect",Se=z.scale||"both",He=z.origin||["middle","center"],Ae=P.css("position"),de=P.position(),Oe=i.effects.scaledDimensions(P),Je=z.from||Oe,dt=z.to||i.effects.scaledDimensions(P,0);i.effects.createPlaceholder(P),be==="show"&&(be=Je,Je=dt,dt=be),S={from:{y:Je.height/Oe.height,x:Je.width/Oe.width},to:{y:dt.height/Oe.height,x:dt.width/Oe.width}},Se!=="box"&&Se!=="both"||(S.from.y!==S.to.y&&(Je=i.effects.setTransition(P,ee,S.from.y,Je),dt=i.effects.setTransition(P,ee,S.to.y,dt)),S.from.x!==S.to.x&&(Je=i.effects.setTransition(P,ce,S.from.x,Je),dt=i.effects.setTransition(P,ce,S.to.x,dt))),Se!=="content"&&Se!=="both"||S.from.y!==S.to.y&&(Je=i.effects.setTransition(P,V,S.from.y,Je),dt=i.effects.setTransition(P,V,S.to.y,dt)),He&&(He=i.effects.getBaseline(He,Oe),Je.top=(Oe.outerHeight-Je.outerHeight)*He.y+de.top,Je.left=(Oe.outerWidth-Je.outerWidth)*He.x+de.left,dt.top=(Oe.outerHeight-dt.outerHeight)*He.y+de.top,dt.left=(Oe.outerWidth-dt.outerWidth)*He.x+de.left),P.css(Je),Se!=="content"&&Se!=="both"||(ee=ee.concat(["marginTop","marginBottom"]).concat(V),ce=ce.concat(["marginLeft","marginRight"]),P.find("*[width]").each(function(){var ue=i(this),Ee=i.effects.scaledDimensions(ue),Fe={height:Ee.height*S.from.y,width:Ee.width*S.from.x,outerHeight:Ee.outerHeight*S.from.y,outerWidth:Ee.outerWidth*S.from.x},Ee={height:Ee.height*S.to.y,width:Ee.width*S.to.x,outerHeight:Ee.height*S.to.y,outerWidth:Ee.width*S.to.x};S.from.y!==S.to.y&&(Fe=i.effects.setTransition(ue,ee,S.from.y,Fe),Ee=i.effects.setTransition(ue,ee,S.to.y,Ee)),S.from.x!==S.to.x&&(Fe=i.effects.setTransition(ue,ce,S.from.x,Fe),Ee=i.effects.setTransition(ue,ce,S.to.x,Ee)),ge&&i.effects.saveStyle(ue),ue.css(Fe),ue.animate(Ee,z.duration,z.easing,function(){ge&&i.effects.restoreStyle(ue)})})),P.animate(dt,{queue:!1,duration:z.duration,easing:z.easing,complete:function(){var ue=P.offset();dt.opacity===0&&P.css("opacity",Je.opacity),ge||(P.css("position",Ae==="static"?"relative":Ae).offset(ue),i.effects.saveStyle(P)),C()}})}),i.effects.define("scale",function(z,C){var S=i(this),P=z.mode,P=parseInt(z.percent,10)||(parseInt(z.percent,10)===0||P!=="effect"?0:100),P=i.extend(!0,{from:i.effects.scaledDimensions(S),to:i.effects.scaledDimensions(S,P,z.direction||"both"),origin:z.origin||["middle","center"]},z);z.fade&&(P.from.opacity=1,P.to.opacity=0),i.effects.effect.size.call(this,P,C)}),i.effects.define("puff","hide",function(z,C){z=i.extend(!0,{},z,{fade:!0,percent:parseInt(z.percent,10)||150}),i.effects.effect.scale.call(this,z,C)}),i.effects.define("pulsate","show",function(z,C){var S=i(this),ge=z.mode,P=ge==="show",ge=P||ge==="hide",V=2*(z.times||5)+(ge?1:0),ee=z.duration/V,ce=0,be=1,ge=S.queue().length;for(!P&&S.is(":visible")||(S.css("opacity",0).show(),ce=1);be<V;be++)S.animate({opacity:ce},ee,z.easing),ce=1-ce;S.animate({opacity:ce},ee,z.easing),S.queue(C),i.effects.unshift(S,ge,1+V)}),i.effects.define("shake",function(z,C){var S=1,P=i(this),Oe=z.direction||"left",V=z.distance||20,ee=z.times||3,ce=2*ee+1,be=Math.round(z.duration/ce),ge=Oe==="up"||Oe==="down"?"top":"left",Se=Oe==="up"||Oe==="left",He={},Ae={},de={},Oe=P.queue().length;for(i.effects.createPlaceholder(P),He[ge]=(Se?"-=":"+=")+V,Ae[ge]=(Se?"+=":"-=")+2*V,de[ge]=(Se?"-=":"+=")+2*V,P.animate(He,be,z.easing);S<ee;S++)P.animate(Ae,be,z.easing).animate(de,be,z.easing);P.animate(Ae,be,z.easing).animate(He,be/2,z.easing).queue(C),i.effects.unshift(P,Oe,1+ce)}),i.effects.define("slide","show",function(z,C){var S,P,V=i(this),ee={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},ce=z.mode,be=z.direction||"left",ge=be==="up"||be==="down"?"top":"left",Se=be==="up"||be==="left",He=z.distance||V[ge=="top"?"outerHeight":"outerWidth"](!0),Ae={};i.effects.createPlaceholder(V),S=V.cssClip(),P=V.position()[ge],Ae[ge]=(Se?-1:1)*He+P,Ae.clip=V.cssClip(),Ae.clip[ee[be][1]]=Ae.clip[ee[be][0]],ce==="show"&&(V.cssClip(Ae.clip),V.css(ge,Ae[ge]),Ae.clip=S,Ae[ge]=P),V.animate(Ae,{queue:!1,duration:z.duration,easing:z.easing,complete:C})}),i.uiBackCompat!==!1&&(Ke=i.effects.define("transfer",function(z,C){i(this).transfer(z,C)}))});(function(i){if(i.support.touch="ontouchend"in document,!i.support.touch)return;var e=i.ui.mouse.prototype,t=e._mouseInit,n=e._mouseDestroy,a;function o(r,s){if(!(r.originalEvent.touches.length>1)){s=="mousemove"&&r.preventDefault();var l=r.originalEvent.changedTouches[0],c=document.createEvent("MouseEvents");c.initMouseEvent(s,!0,!0,window,1,l.screenX,l.screenY,l.clientX,l.clientY,!1,!1,!1,!1,0,null),r.target.dispatchEvent(c)}}e._touchStart=function(r){var s=this;a||!s._mouseCapture(r.originalEvent.changedTouches[0])||(a=!0,s._touchMoved=!1,o(r,"mouseover"),o(r,"mousedown"))},e._touchMove=function(r){a&&(this._touchMoved=!0,o(r,"mousemove"))},e._touchEnd=function(r){a&&(o(r,"mouseup"),o(r,"mouseout"),this._touchMoved,a=!1)},e._mouseInit=function(){var r=this;r.element.bind({touchstart:i.proxy(r,"_touchStart"),touchmove:i.proxy(r,"_touchMove"),touchend:i.proxy(r,"_touchEnd")}),t.call(r)},e._mouseDestroy=function(){var r=this;r.element.unbind({touchstart:i.proxy(r,"_touchStart"),touchmove:i.proxy(r,"_touchMove"),touchend:i.proxy(r,"_touchEnd")}),n.call(r)}})(jQuery);(function(i,e){typeof exports=="object"&&typeof module=="object"?module.exports=e():typeof define=="function"&&define.amd?define([],e):typeof exports=="object"?exports.VuePrismEditor=e():i.VuePrismEditor=e()})(typeof self<"u"?self:void 0,function(){return function(i){var e={};function t(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return i[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=i,t.c=e,t.d=function(n,a,o){t.o(n,a)||Object.defineProperty(n,a,{enumerable:!0,get:o})},t.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,a){if(1&a&&(n=t(n)),8&a||4&a&&typeof n=="object"&&n&&n.__esModule)return n;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&a&&typeof n!="string")for(var r in n)t.d(o,r,function(s){return n[s]}.bind(null,r));return o},t.n=function(n){var a=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(a,"a",a),a},t.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},t.p="",t(t.s="fb15")}({"01f9":function(i,e,t){"use strict";var n=t("2d00"),a=t("5ca1"),o=t("2aba"),r=t("32e9"),s=t("84f2"),l=t("41a0"),c=t("7f20"),d=t("38fd"),u=t("2b4c")("iterator"),p=!([].keys&&"next"in[].keys()),m="@@iterator",_="keys",f="values",g=function(){return this};i.exports=function(v,b,x,w,E,y,A){l(x,b,w);var R,j,F,O=function(re){if(!p&&re in ie)return ie[re];switch(re){case _:return function(){return new x(this,re)};case f:return function(){return new x(this,re)}}return function(){return new x(this,re)}},L=b+" Iterator",U=E==f,J=!1,ie=v.prototype,te=ie[u]||ie[m]||E&&ie[E],me=te||O(E),Q=E?U?O("entries"):me:void 0,H=b=="Array"&&ie.entries||te;if(H&&(F=d(H.call(new v)),F!==Object.prototype&&F.next&&(c(F,L,!0),n||typeof F[u]=="function"||r(F,u,g))),U&&te&&te.name!==f&&(J=!0,me=function(){return te.call(this)}),n&&!A||!p&&!J&&ie[u]||r(ie,u,me),s[b]=me,s[L]=g,E)if(R={values:U?me:O(f),keys:y?me:O(_),entries:Q},A)for(j in R)j in ie||o(ie,j,R[j]);else a(a.P+a.F*(p||J),b,R);return R}},"02f4":function(i,e,t){var n=t("4588"),a=t("be13");i.exports=function(o){return function(r,s){var l,c,d=String(a(r)),u=n(s),p=d.length;return u<0||u>=p?o?"":void 0:(l=d.charCodeAt(u),l<55296||l>56319||u+1===p||(c=d.charCodeAt(u+1))<56320||c>57343?o?d.charAt(u):l:o?d.slice(u,u+2):c-56320+(l-55296<<10)+65536)}}},"0390":function(i,e,t){"use strict";var n=t("02f4")(!0);i.exports=function(a,o,r){return o+(r?n(a,o).length:1)}},"0bfb":function(i,e,t){"use strict";var n=t("cb7c");i.exports=function(){var a=n(this),o="";return a.global&&(o+="g"),a.ignoreCase&&(o+="i"),a.multiline&&(o+="m"),a.unicode&&(o+="u"),a.sticky&&(o+="y"),o}},"0d58":function(i,e,t){var n=t("ce10"),a=t("e11e");i.exports=Object.keys||function(o){return n(o,a)}},1169:function(i,e,t){var n=t("2d95");i.exports=Array.isArray||function(a){return n(a)=="Array"}},"11e9":function(i,e,t){var n=t("52a7"),a=t("4630"),o=t("6821"),r=t("6a99"),s=t("69a8"),l=t("c69a"),c=Object.getOwnPropertyDescriptor;e.f=t("9e1e")?c:function(d,u){if(d=o(d),u=r(u,!0),l)try{return c(d,u)}catch{}if(s(d,u))return a(!n.f.call(d,u),d[u])}},1495:function(i,e,t){var n=t("86cc"),a=t("cb7c"),o=t("0d58");i.exports=t("9e1e")?Object.defineProperties:function(r,s){a(r);for(var l,c=o(s),d=c.length,u=0;d>u;)n.f(r,l=c[u++],s[l]);return r}},"1c4c":function(i,e,t){"use strict";var n=t("9b43"),a=t("5ca1"),o=t("4bf8"),r=t("1fa8"),s=t("33a4"),l=t("9def"),c=t("f1ae"),d=t("27ee");a(a.S+a.F*!t("5cc5")(function(u){Array.from(u)}),"Array",{from:function(u){var p,m,_,f,g=o(u),v=typeof this=="function"?this:Array,b=arguments.length,x=b>1?arguments[1]:void 0,w=x!==void 0,E=0,y=d(g);if(w&&(x=n(x,b>2?arguments[2]:void 0,2)),y==null||v==Array&&s(y))for(p=l(g.length),m=new v(p);p>E;E++)c(m,E,w?x(g[E],E):g[E]);else for(f=y.call(g),m=new v;!(_=f.next()).done;E++)c(m,E,w?r(f,x,[_.value,E],!0):_.value);return m.length=E,m}})},"1fa8":function(i,e,t){var n=t("cb7c");i.exports=function(a,o,r,s){try{return s?o(n(r)[0],r[1]):o(r)}catch(c){var l=a.return;throw l!==void 0&&n(l.call(a)),c}}},"214f":function(i,e,t){"use strict";t("b0c5");var n=t("2aba"),a=t("32e9"),o=t("79e5"),r=t("be13"),s=t("2b4c"),l=t("520a"),c=s("species"),d=!o(function(){var p=/./;return p.exec=function(){var m=[];return m.groups={a:"7"},m},"".replace(p,"$<a>")!=="7"}),u=function(){var p=/(?:)/,m=p.exec;p.exec=function(){return m.apply(this,arguments)};var _="ab".split(p);return _.length===2&&_[0]==="a"&&_[1]==="b"}();i.exports=function(p,m,_){var f=s(p),g=!o(function(){var y={};return y[f]=function(){return 7},""[p](y)!=7}),v=g?!o(function(){var y=!1,A=/a/;return A.exec=function(){return y=!0,null},p==="split"&&(A.constructor={},A.constructor[c]=function(){return A}),A[f](""),!y}):void 0;if(!g||!v||p==="replace"&&!d||p==="split"&&!u){var b=/./[f],x=_(r,f,""[p],function(y,A,R,j,F){return A.exec===l?g&&!F?{done:!0,value:b.call(A,R,j)}:{done:!0,value:y.call(R,A,j)}:{done:!1}}),w=x[0],E=x[1];n(String.prototype,p,w),a(RegExp.prototype,f,m==2?function(y,A){return E.call(y,this,A)}:function(y){return E.call(y,this)})}}},"230e":function(i,e,t){var n=t("d3f4"),a=t("7726").document,o=n(a)&&n(a.createElement);i.exports=function(r){return o?a.createElement(r):{}}},"23c6":function(i,e,t){var n=t("2d95"),a=t("2b4c")("toStringTag"),o=n(function(){return arguments}())=="Arguments",r=function(s,l){try{return s[l]}catch{}};i.exports=function(s){var l,c,d;return s===void 0?"Undefined":s===null?"Null":typeof(c=r(l=Object(s),a))=="string"?c:o?n(l):(d=n(l))=="Object"&&typeof l.callee=="function"?"Arguments":d}},2621:function(i,e){e.f=Object.getOwnPropertySymbols},"27ee":function(i,e,t){var n=t("23c6"),a=t("2b4c")("iterator"),o=t("84f2");i.exports=t("8378").getIteratorMethod=function(r){if(r!=null)return r[a]||r["@@iterator"]||o[n(r)]}},"28a5":function(i,e,t){"use strict";var n=t("aae3"),a=t("cb7c"),o=t("ebd6"),r=t("0390"),s=t("9def"),l=t("5f1b"),c=t("520a"),d=t("79e5"),u=Math.min,p=[].push,m="split",_="length",f="lastIndex",g=4294967295,v=!d(function(){RegExp(g,"y")});t("214f")("split",2,function(b,x,w,E){var y;return y="abbc"[m](/(b)*/)[1]=="c"||"test"[m](/(?:)/,-1)[_]!=4||"ab"[m](/(?:ab)*/)[_]!=2||"."[m](/(.?)(.?)/)[_]!=4||"."[m](/()()/)[_]>1||""[m](/.?/)[_]?function(A,R){var j=String(this);if(A===void 0&&R===0)return[];if(!n(A))return w.call(j,A,R);for(var F,O,L,U=[],J=(A.ignoreCase?"i":"")+(A.multiline?"m":"")+(A.unicode?"u":"")+(A.sticky?"y":""),ie=0,te=R===void 0?g:R>>>0,me=new RegExp(A.source,J+"g");(F=c.call(me,j))&&(O=me[f],!(O>ie&&(U.push(j.slice(ie,F.index)),F[_]>1&&F.index<j[_]&&p.apply(U,F.slice(1)),L=F[0][_],ie=O,U[_]>=te)));)me[f]===F.index&&me[f]++;return ie===j[_]?!L&&me.test("")||U.push(""):U.push(j.slice(ie)),U[_]>te?U.slice(0,te):U}:"0"[m](void 0,0)[_]?function(A,R){return A===void 0&&R===0?[]:w.call(this,A,R)}:w,[function(A,R){var j=b(this),F=A?.[x];return F!==void 0?F.call(A,j,R):y.call(String(j),A,R)},function(A,R){var j=E(y,A,this,R,y!==w);if(j.done)return j.value;var F=a(A),O=String(this),L=o(F,RegExp),U=F.unicode,J=(F.ignoreCase?"i":"")+(F.multiline?"m":"")+(F.unicode?"u":"")+(v?"y":"g"),ie=new L(v?F:"^(?:"+F.source+")",J),te=R===void 0?g:R>>>0;if(te===0)return[];if(O.length===0)return l(ie,O)===null?[O]:[];for(var me=0,Q=0,H=[];Q<O.length;){ie.lastIndex=v?Q:0;var re,K=l(ie,v?O:O.slice(Q));if(K===null||(re=u(s(ie.lastIndex+(v?0:Q)),O.length))===me)Q=r(O,Q,U);else{if(H.push(O.slice(me,Q)),H.length===te)return H;for(var pe=1;pe<=K.length-1;pe++)if(H.push(K[pe]),H.length===te)return H;Q=me=re}}return H.push(O.slice(me)),H}]})},"2aba":function(i,e,t){var n=t("7726"),a=t("32e9"),o=t("69a8"),r=t("ca5a")("src"),s=t("fa5b"),l="toString",c=(""+s).split(l);t("8378").inspectSource=function(d){return s.call(d)},(i.exports=function(d,u,p,m){var _=typeof p=="function";_&&(o(p,"name")||a(p,"name",u)),d[u]!==p&&(_&&(o(p,r)||a(p,r,d[u]?""+d[u]:c.join(String(u)))),d===n?d[u]=p:m?d[u]?d[u]=p:a(d,u,p):(delete d[u],a(d,u,p)))})(Function.prototype,l,function(){return typeof this=="function"&&this[r]||s.call(this)})},"2aeb":function(i,e,t){var n=t("cb7c"),a=t("1495"),o=t("e11e"),r=t("613b")("IE_PROTO"),s=function(){},l="prototype",c=function(){var d,u=t("230e")("iframe"),p=o.length,m="<",_=">";for(u.style.display="none",t("fab2").appendChild(u),u.src="javascript:",d=u.contentWindow.document,d.open(),d.write(m+"script"+_+"document.F=Object"+m+"/script"+_),d.close(),c=d.F;p--;)delete c[l][o[p]];return c()};i.exports=Object.create||function(d,u){var p;return d!==null?(s[l]=n(d),p=new s,s[l]=null,p[r]=d):p=c(),u===void 0?p:a(p,u)}},"2b4c":function(i,e,t){var n=t("5537")("wks"),a=t("ca5a"),o=t("7726").Symbol,r=typeof o=="function",s=i.exports=function(l){return n[l]||(n[l]=r&&o[l]||(r?o:a)("Symbol."+l))};s.store=n},"2d00":function(i,e){i.exports=!1},"2d95":function(i,e){var t={}.toString;i.exports=function(n){return t.call(n).slice(8,-1)}},"2fdb":function(i,e,t){"use strict";var n=t("5ca1"),a=t("d2c8"),o="includes";n(n.P+n.F*t("5147")(o),"String",{includes:function(r){return!!~a(this,r,o).indexOf(r,arguments.length>1?arguments[1]:void 0)}})},"32e9":function(i,e,t){var n=t("86cc"),a=t("4630");i.exports=t("9e1e")?function(o,r,s){return n.f(o,r,a(1,s))}:function(o,r,s){return o[r]=s,o}},"33a4":function(i,e,t){var n=t("84f2"),a=t("2b4c")("iterator"),o=Array.prototype;i.exports=function(r){return r!==void 0&&(n.Array===r||o[a]===r)}},"37c8":function(i,e,t){e.f=t("2b4c")},3846:function(i,e,t){t("9e1e")&&/./g.flags!="g"&&t("86cc").f(RegExp.prototype,"flags",{configurable:!0,get:t("0bfb")})},"38fd":function(i,e,t){var n=t("69a8"),a=t("4bf8"),o=t("613b")("IE_PROTO"),r=Object.prototype;i.exports=Object.getPrototypeOf||function(s){return s=a(s),n(s,o)?s[o]:typeof s.constructor=="function"&&s instanceof s.constructor?s.constructor.prototype:s instanceof Object?r:null}},"3a72":function(i,e,t){var n=t("7726"),a=t("8378"),o=t("2d00"),r=t("37c8"),s=t("86cc").f;i.exports=function(l){var c=a.Symbol||(a.Symbol=o?{}:n.Symbol||{});l.charAt(0)=="_"||l in c||s(c,l,{value:r.f(l)})}},"412e":function(i,e,t){},"41a0":function(i,e,t){"use strict";var n=t("2aeb"),a=t("4630"),o=t("7f20"),r={};t("32e9")(r,t("2b4c")("iterator"),function(){return this}),i.exports=function(s,l,c){s.prototype=n(r,{next:a(1,c)}),o(s,l+" Iterator")}},4588:function(i,e){var t=Math.ceil,n=Math.floor;i.exports=function(a){return isNaN(a=+a)?0:(a>0?n:t)(a)}},4630:function(i,e){i.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},4917:function(i,e,t){"use strict";var n=t("cb7c"),a=t("9def"),o=t("0390"),r=t("5f1b");t("214f")("match",1,function(s,l,c,d){return[function(u){var p=s(this),m=u?.[l];return m!==void 0?m.call(u,p):new RegExp(u)[l](String(p))},function(u){var p=d(c,u,this);if(p.done)return p.value;var m=n(u),_=String(this);if(!m.global)return r(m,_);var f=m.unicode;m.lastIndex=0;for(var g,v=[],b=0;(g=r(m,_))!==null;){var x=String(g[0]);v[b]=x,x===""&&(m.lastIndex=o(_,a(m.lastIndex),f)),b++}return b===0?null:v}]})},"4a59":function(i,e,t){var n=t("9b43"),a=t("1fa8"),o=t("33a4"),r=t("cb7c"),s=t("9def"),l=t("27ee"),c={},d={};e=i.exports=function(u,p,m,_,f){var g,v,b,x,w=f?function(){return u}:l(u),E=n(m,_,p?2:1),y=0;if(typeof w!="function")throw TypeError(u+" is not iterable!");if(o(w)){for(g=s(u.length);g>y;y++)if(x=p?E(r(v=u[y])[0],v[1]):E(u[y]),x===c||x===d)return x}else for(b=w.call(u);!(v=b.next()).done;)if(x=a(b,E,v.value,p),x===c||x===d)return x},e.BREAK=c,e.RETURN=d},"4bf8":function(i,e,t){var n=t("be13");i.exports=function(a){return Object(n(a))}},"4f7f":function(i,e,t){"use strict";var n=t("c26b"),a=t("b39a"),o="Set";i.exports=t("e0b8")(o,function(r){return function(){return r(this,arguments.length>0?arguments[0]:void 0)}},{add:function(r){return n.def(a(this,o),r=r===0?0:r,r)}},n)},"504c":function(i,e,t){var n=t("9e1e"),a=t("0d58"),o=t("6821"),r=t("52a7").f;i.exports=function(s){return function(l){for(var c,d=o(l),u=a(d),p=u.length,m=0,_=[];p>m;)c=u[m++],n&&!r.call(d,c)||_.push(s?[c,d[c]]:d[c]);return _}}},5147:function(i,e,t){var n=t("2b4c")("match");i.exports=function(a){var o=/./;try{"/./"[a](o)}catch{try{return o[n]=!1,!"/./"[a](o)}catch{}}return!0}},"520a":function(i,e,t){"use strict";var n=t("0bfb"),a=RegExp.prototype.exec,o=String.prototype.replace,r=a,s="lastIndex",l=function(){var u=/a/,p=/b*/g;return a.call(u,"a"),a.call(p,"a"),u[s]!==0||p[s]!==0}(),c=/()??/.exec("")[1]!==void 0,d=l||c;d&&(r=function(u){var p,m,_,f,g=this;return c&&(m=new RegExp("^"+g.source+"$(?!\\s)",n.call(g))),l&&(p=g[s]),_=a.call(g,u),l&&_&&(g[s]=g.global?_.index+_[0].length:p),c&&_&&_.length>1&&o.call(_[0],m,function(){for(f=1;f<arguments.length-2;f++)arguments[f]===void 0&&(_[f]=void 0)}),_}),i.exports=r},"52a7":function(i,e){e.f={}.propertyIsEnumerable},5537:function(i,e,t){var n=t("8378"),a=t("7726"),o="__core-js_shared__",r=a[o]||(a[o]={});(i.exports=function(s,l){return r[s]||(r[s]=l!==void 0?l:{})})("versions",[]).push({version:n.version,mode:t("2d00")?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"})},"5ca1":function(i,e,t){var n=t("7726"),a=t("8378"),o=t("32e9"),r=t("2aba"),s=t("9b43"),l="prototype",c=function(d,u,p){var m,_,f,g,v=d&c.F,b=d&c.G,x=d&c.S,w=d&c.P,E=d&c.B,y=b?n:x?n[u]||(n[u]={}):(n[u]||{})[l],A=b?a:a[u]||(a[u]={}),R=A[l]||(A[l]={});for(m in b&&(p=u),p)_=!v&&y&&y[m]!==void 0,f=(_?y:p)[m],g=E&&_?s(f,n):w&&typeof f=="function"?s(Function.call,f):f,y&&r(y,m,f,d&c.U),A[m]!=f&&o(A,m,g),w&&R[m]!=f&&(R[m]=f)};n.core=a,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,i.exports=c},"5cc5":function(i,e,t){var n=t("2b4c")("iterator"),a=!1;try{var o=[7][n]();o.return=function(){a=!0},Array.from(o,function(){throw 2})}catch{}i.exports=function(r,s){if(!s&&!a)return!1;var l=!1;try{var c=[7],d=c[n]();d.next=function(){return{done:l=!0}},c[n]=function(){return d},r(c)}catch{}return l}},"5dbc":function(i,e,t){var n=t("d3f4"),a=t("8b97").set;i.exports=function(o,r,s){var l,c=r.constructor;return c!==s&&typeof c=="function"&&(l=c.prototype)!==s.prototype&&n(l)&&a&&a(o,l),o}},"5df3":function(i,e,t){"use strict";var n=t("02f4")(!0);t("01f9")(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,o=this._t,r=this._i;return r>=o.length?{value:void 0,done:!0}:(a=n(o,r),this._i+=a.length,{value:a,done:!1})})},"5f1b":function(i,e,t){"use strict";var n=t("23c6"),a=RegExp.prototype.exec;i.exports=function(o,r){var s=o.exec;if(typeof s=="function"){var l=s.call(o,r);if(typeof l!="object")throw new TypeError("RegExp exec method returned something other than an Object or null");return l}if(n(o)!=="RegExp")throw new TypeError("RegExp#exec called on incompatible receiver");return a.call(o,r)}},"613b":function(i,e,t){var n=t("5537")("keys"),a=t("ca5a");i.exports=function(o){return n[o]||(n[o]=a(o))}},"626a":function(i,e,t){var n=t("2d95");i.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return n(a)=="String"?a.split(""):Object(a)}},6762:function(i,e,t){"use strict";var n=t("5ca1"),a=t("c366")(!0);n(n.P,"Array",{includes:function(o){return a(this,o,arguments.length>1?arguments[1]:void 0)}}),t("9c6c")("includes")},"67ab":function(i,e,t){var n=t("ca5a")("meta"),a=t("d3f4"),o=t("69a8"),r=t("86cc").f,s=0,l=Object.isExtensible||function(){return!0},c=!t("79e5")(function(){return l(Object.preventExtensions({}))}),d=function(f){r(f,n,{value:{i:"O"+ ++s,w:{}}})},u=function(f,g){if(!a(f))return typeof f=="symbol"?f:(typeof f=="string"?"S":"P")+f;if(!o(f,n)){if(!l(f))return"F";if(!g)return"E";d(f)}return f[n].i},p=function(f,g){if(!o(f,n)){if(!l(f))return!0;if(!g)return!1;d(f)}return f[n].w},m=function(f){return c&&_.NEED&&l(f)&&!o(f,n)&&d(f),f},_=i.exports={KEY:n,NEED:!1,fastKey:u,getWeak:p,onFreeze:m}},6821:function(i,e,t){var n=t("626a"),a=t("be13");i.exports=function(o){return n(a(o))}},"69a8":function(i,e){var t={}.hasOwnProperty;i.exports=function(n,a){return t.call(n,a)}},"6a99":function(i,e,t){var n=t("d3f4");i.exports=function(a,o){if(!n(a))return a;var r,s;if(o&&typeof(r=a.toString)=="function"&&!n(s=r.call(a))||typeof(r=a.valueOf)=="function"&&!n(s=r.call(a))||!o&&typeof(r=a.toString)=="function"&&!n(s=r.call(a)))return s;throw TypeError("Can't convert object to primitive value")}},"6b54":function(i,e,t){"use strict";t("3846");var n=t("cb7c"),a=t("0bfb"),o=t("9e1e"),r="toString",s=/./[r],l=function(c){t("2aba")(RegExp.prototype,r,c,!0)};t("79e5")(function(){return s.call({source:"a",flags:"b"})!="/a/b"})?l(function(){var c=n(this);return"/".concat(c.source,"/","flags"in c?c.flags:!o&&c instanceof RegExp?a.call(c):void 0)}):s.name!=r&&l(function(){return s.call(this)})},"72d6":function(i,e,t){var n=t("8a8d"),a=t("ad9a");function o(s,l){if(!(this instanceof o))return new o(s,l);if(this.node=this.start=this.peeked=s,this.root=l,this.closingTag=!1,this._revisit=!0,this._selects=[],this._rejects=[],s&&this.higher(s))throw new Error("root must be a parent or ancestor to node")}function r(s,l){var c=s=="nextSibling";return function(d,u,p){d=this.compile(d),u=u&&u>0?u:1;for(var m=this.node,_=this.closingTag,f=this._revisit;m;){if(n(c,_)&&m[l])m=m[l],_=!c;else if(m.nodeType==1&&!m[l]&&n(c,_)){if(_=c,!f)continue}else if(m[s])m=m[s],_=!c;else if(m=m.parentNode,_=c,!f)continue;if(!m||this.higher(m,this.root))break;if(d(m)&&this.selects(m,p)&&this.rejects(m,p)){if(--u)continue;return p||(this.node=m),this.closingTag=_,m}}return null}}i.exports=o,o.prototype.reset=function(s){return this.node=s||this.start,this},o.prototype.revisit=function(s){return this._revisit=s==null||s,this},o.prototype.opening=function(){return this.node.nodeType==1&&(this.closingTag=!1),this},o.prototype.atOpening=function(){return!this.closingTag},o.prototype.closing=function(){return this.node.nodeType==1&&(this.closingTag=!0),this},o.prototype.atClosing=function(){return this.closingTag},o.prototype.next=r("nextSibling","firstChild"),o.prototype.previous=o.prototype.prev=r("previousSibling","lastChild"),o.prototype.select=function(s){return s=this.compile(s),this._selects.push(s),this},o.prototype.selects=function(s,l){var c=this._selects,d=c.length;if(!d)return!0;for(var u=0;u<d;u++)if(c[u].call(this,s,l))return!0;return!1},o.prototype.reject=function(s){return s=this.compile(s),this._rejects.push(s),this},o.prototype.rejects=function(s,l){var c=this._rejects,d=c.length;if(!d)return!0;for(var u=0;u<d;u++)if(c[u].call(this,s,l))return!1;return!0},o.prototype.higher=function(s){var l=this.root;if(!l)return!1;for(s=s.parentNode;s&&s!=l;)s=s.parentNode;return s!=l},o.prototype.compile=function(s){switch(typeof s){case"number":return function(l){return s==l.nodeType};case"string":return new Function("node","return "+a(s,"node."));case"function":return s;default:return function(){return!0}}},o.prototype.peak=o.prototype.peek=function(s,l){return arguments.length==1&&(l=s,s=!0),l=l??1,l?l>0?this.next(s,l,!0):this.prev(s,Math.abs(l),!0):this.node},o.prototype.use=function(s){return s(this),this}},"74a0":function(i,e,t){"use strict";var n=/["'&<>]/;function a(o){var r,s=""+o,l=n.exec(s);if(!l)return s;var c="",d=0,u=0;for(d=l.index;d<s.length;d++){switch(s.charCodeAt(d)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#39;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}u!==d&&(c+=s.substring(u,d)),u=d+1,c+=r}return u!==d?c+s.substring(u,d):c}i.exports=a},7726:function(i,e){var t=i.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=t)},"77f1":function(i,e,t){var n=t("4588"),a=Math.max,o=Math.min;i.exports=function(r,s){return r=n(r),r<0?a(r+s,0):o(r,s)}},"79e5":function(i,e){i.exports=function(t){try{return!!t()}catch{return!0}}},"7a56":function(i,e,t){"use strict";var n=t("7726"),a=t("86cc"),o=t("9e1e"),r=t("2b4c")("species");i.exports=function(s){var l=n[s];o&&l&&!l[r]&&a.f(l,r,{configurable:!0,get:function(){return this}})}},"7bbc":function(i,e,t){var n=t("6821"),a=t("9093").f,o={}.toString,r=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(l){try{return a(l)}catch{return r.slice()}};i.exports.f=function(l){return r&&o.call(l)=="[object Window]"?s(l):a(n(l))}},"7f20":function(i,e,t){var n=t("86cc").f,a=t("69a8"),o=t("2b4c")("toStringTag");i.exports=function(r,s,l){r&&!a(r=l?r:r.prototype,o)&&n(r,o,{configurable:!0,value:s})}},"7f7f":function(i,e,t){var n=t("86cc").f,a=Function.prototype,o=/^\s*function ([^ (]*)/,r="name";r in a||t("9e1e")&&n(a,r,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch{return""}}})},8378:function(i,e){var t=i.exports={version:"2.6.12"};typeof __e=="number"&&(__e=t)},"84f2":function(i,e){i.exports={}},8615:function(i,e,t){var n=t("5ca1"),a=t("504c")(!1);n(n.S,"Object",{values:function(o){return a(o)}})},"86cc":function(i,e,t){var n=t("cb7c"),a=t("c69a"),o=t("6a99"),r=Object.defineProperty;e.f=t("9e1e")?Object.defineProperty:function(s,l,c){if(n(s),l=o(l,!0),n(c),a)try{return r(s,l,c)}catch{}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(s[l]=c.value),s}},"8a81":function(i,e,t){"use strict";var n=t("7726"),a=t("69a8"),o=t("9e1e"),r=t("5ca1"),s=t("2aba"),l=t("67ab").KEY,c=t("79e5"),d=t("5537"),u=t("7f20"),p=t("ca5a"),m=t("2b4c"),_=t("37c8"),f=t("3a72"),g=t("d4c0"),v=t("1169"),b=t("cb7c"),x=t("d3f4"),w=t("4bf8"),E=t("6821"),y=t("6a99"),A=t("4630"),R=t("2aeb"),j=t("7bbc"),F=t("11e9"),O=t("2621"),L=t("86cc"),U=t("0d58"),J=F.f,ie=L.f,te=j.f,me=n.Symbol,Q=n.JSON,H=Q&&Q.stringify,re="prototype",K=m("_hidden"),pe=m("toPrimitive"),xe={}.propertyIsEnumerable,le=d("symbol-registry"),Be=d("symbols"),X=d("op-symbols"),ne=Object[re],Me=typeof me=="function"&&!!O.f,Ue=n.QObject,et=!Ue||!Ue[re]||!Ue[re].findChild,Qe=o&&c(function(){return R(ie({},"a",{get:function(){return ie(this,"a",{value:7}).a}})).a!=7})?function(Ae,de,Oe){var Je=J(ne,de);Je&&delete ne[de],ie(Ae,de,Oe),Je&&Ae!==ne&&ie(ne,de,Je)}:ie,Ge=function(Ae){var de=Be[Ae]=R(me[re]);return de._k=Ae,de},Ie=Me&&typeof me.iterator=="symbol"?function(Ae){return typeof Ae=="symbol"}:function(Ae){return Ae instanceof me},Ke=function(Ae,de,Oe){return Ae===ne&&Ke(X,de,Oe),b(Ae),de=y(de,!0),b(Oe),a(Be,de)?(Oe.enumerable?(a(Ae,K)&&Ae[K][de]&&(Ae[K][de]=!1),Oe=R(Oe,{enumerable:A(0,!1)})):(a(Ae,K)||ie(Ae,K,A(1,{})),Ae[K][de]=!0),Qe(Ae,de,Oe)):ie(Ae,de,Oe)},z=function(Ae,de){b(Ae);for(var Oe,Je=g(de=E(de)),dt=0,ue=Je.length;ue>dt;)Ke(Ae,Oe=Je[dt++],de[Oe]);return Ae},C=function(Ae,de){return de===void 0?R(Ae):z(R(Ae),de)},S=function(Ae){var de=xe.call(this,Ae=y(Ae,!0));return!(this===ne&&a(Be,Ae)&&!a(X,Ae))&&(!(de||!a(this,Ae)||!a(Be,Ae)||a(this,K)&&this[K][Ae])||de)},P=function(Ae,de){if(Ae=E(Ae),de=y(de,!0),Ae!==ne||!a(Be,de)||a(X,de)){var Oe=J(Ae,de);return!Oe||!a(Be,de)||a(Ae,K)&&Ae[K][de]||(Oe.enumerable=!0),Oe}},V=function(Ae){for(var de,Oe=te(E(Ae)),Je=[],dt=0;Oe.length>dt;)a(Be,de=Oe[dt++])||de==K||de==l||Je.push(de);return Je},ee=function(Ae){for(var de,Oe=Ae===ne,Je=te(Oe?X:E(Ae)),dt=[],ue=0;Je.length>ue;)!a(Be,de=Je[ue++])||Oe&&!a(ne,de)||dt.push(Be[de]);return dt};Me||(me=function(){if(this instanceof me)throw TypeError("Symbol is not a constructor!");var Ae=p(arguments.length>0?arguments[0]:void 0),de=function(Oe){this===ne&&de.call(X,Oe),a(this,K)&&a(this[K],Ae)&&(this[K][Ae]=!1),Qe(this,Ae,A(1,Oe))};return o&&et&&Qe(ne,Ae,{configurable:!0,set:de}),Ge(Ae)},s(me[re],"toString",function(){return this._k}),F.f=P,L.f=Ke,t("9093").f=j.f=V,t("52a7").f=S,O.f=ee,o&&!t("2d00")&&s(ne,"propertyIsEnumerable",S,!0),_.f=function(Ae){return Ge(m(Ae))}),r(r.G+r.W+r.F*!Me,{Symbol:me});for(var ce="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),be=0;ce.length>be;)m(ce[be++]);for(var ge=U(m.store),Se=0;ge.length>Se;)f(ge[Se++]);r(r.S+r.F*!Me,"Symbol",{for:function(Ae){return a(le,Ae+="")?le[Ae]:le[Ae]=me(Ae)},keyFor:function(Ae){if(!Ie(Ae))throw TypeError(Ae+" is not a symbol!");for(var de in le)if(le[de]===Ae)return de},useSetter:function(){et=!0},useSimple:function(){et=!1}}),r(r.S+r.F*!Me,"Object",{create:C,defineProperty:Ke,defineProperties:z,getOwnPropertyDescriptor:P,getOwnPropertyNames:V,getOwnPropertySymbols:ee});var He=c(function(){O.f(1)});r(r.S+r.F*He,"Object",{getOwnPropertySymbols:function(Ae){return O.f(w(Ae))}}),Q&&r(r.S+r.F*(!Me||c(function(){var Ae=me();return H([Ae])!="[null]"||H({a:Ae})!="{}"||H(Object(Ae))!="{}"})),"JSON",{stringify:function(Ae){for(var de,Oe,Je=[Ae],dt=1;arguments.length>dt;)Je.push(arguments[dt++]);if(Oe=de=Je[1],(x(de)||Ae!==void 0)&&!Ie(Ae))return v(de)||(de=function(ue,Fe){if(typeof Oe=="function"&&(Fe=Oe.call(this,ue,Fe)),!Ie(Fe))return Fe}),Je[1]=de,H.apply(Q,Je)}}),me[re][pe]||t("32e9")(me[re],pe,me[re].valueOf),u(me,"Symbol"),u(Math,"Math",!0),u(n.JSON,"JSON",!0)},"8a8d":function(i,e){function t(n,a){return n^a}i.exports=t},"8b97":function(i,e,t){var n=t("d3f4"),a=t("cb7c"),o=function(r,s){if(a(r),!n(s)&&s!==null)throw TypeError(s+": can't set as prototype!")};i.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(r,s,l){try{l=t("9b43")(Function.call,t("11e9").f(Object.prototype,"__proto__").set,2),l(r,[]),s=!(r instanceof Array)}catch{s=!0}return function(c,d){return o(c,d),s?c.__proto__=d:l(c,d),c}}({},!1):void 0),check:o}},9093:function(i,e,t){var n=t("ce10"),a=t("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(o){return n(o,a)}},"954e":function(i,e,t){"use strict";var n,a=t("cf4f"),o={},r={default:{"&quot;":'"',"&#34;":'"',"&apos;":"'","&#39;":"'","&amp;":"&","&#38;":"&","&gt;":">","&#62;":">","&lt;":"<","&#60;":"<"},extras:{"&cent;":"\xA2","&#162;":"\xA2","&copy;":"\xA9","&#169;":"\xA9","&euro;":"\u20AC","&#8364;":"\u20AC","&pound;":"\xA3","&#163;":"\xA3","&reg;":"\xAE","&#174;":"\xAE","&yen;":"\xA5","&#165;":"\xA5"}};function s(d,u){if(!c(d))return"";var p=r[u||"default"],m=l(u,p);return d.replace(m,function(_){return p[_]})}function l(d,u){if(o[d])return o[d];var p=Object.keys(u).join("|"),m=new RegExp("(?=("+p+"))\\1","g");return o[d]=m,m}function c(d){return d&&typeof d=="string"}Object.defineProperty(r,"all",{get:function(){return n||(n=a({},r.default,r.extras))}}),s.chars=r.default,s.extras=r.extras,Object.defineProperty(s,"all",{get:function(){return r.all}}),i.exports=s},"9b43":function(i,e,t){var n=t("d8e8");i.exports=function(a,o,r){if(n(a),o===void 0)return a;switch(r){case 1:return function(s){return a.call(o,s)};case 2:return function(s,l){return a.call(o,s,l)};case 3:return function(s,l,c){return a.call(o,s,l,c)}}return function(){return a.apply(o,arguments)}}},"9c6c":function(i,e,t){var n=t("2b4c")("unscopables"),a=Array.prototype;a[n]==null&&t("32e9")(a,n,{}),i.exports=function(o){a[n][o]=!0}},"9def":function(i,e,t){var n=t("4588"),a=Math.min;i.exports=function(o){return o>0?a(n(o),9007199254740991):0}},"9e1e":function(i,e,t){i.exports=!t("79e5")(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},a481:function(i,e,t){"use strict";var n=t("cb7c"),a=t("4bf8"),o=t("9def"),r=t("4588"),s=t("0390"),l=t("5f1b"),c=Math.max,d=Math.min,u=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,m=/\$([$&`']|\d\d?)/g,_=function(f){return f===void 0?f:String(f)};t("214f")("replace",2,function(f,g,v,b){return[function(w,E){var y=f(this),A=w?.[g];return A!==void 0?A.call(w,y,E):v.call(String(y),w,E)},function(w,E){var y=b(v,w,this,E);if(y.done)return y.value;var A=n(w),R=String(this),j=typeof E=="function";j||(E=String(E));var F=A.global;if(F){var O=A.unicode;A.lastIndex=0}for(var L=[];;){var U=l(A,R);if(U===null||(L.push(U),!F))break;var J=String(U[0]);J===""&&(A.lastIndex=s(R,o(A.lastIndex),O))}for(var ie="",te=0,me=0;me<L.length;me++){U=L[me];for(var Q=String(U[0]),H=c(d(r(U.index),R.length),0),re=[],K=1;K<U.length;K++)re.push(_(U[K]));var pe=U.groups;if(j){var xe=[Q].concat(re,H,R);pe!==void 0&&xe.push(pe);var le=String(E.apply(void 0,xe))}else le=x(Q,R,H,re,pe,E);H>=te&&(ie+=R.slice(te,H)+le,te=H+Q.length)}return ie+R.slice(te)}];function x(w,E,y,A,R,j){var F=y+w.length,O=A.length,L=m;return R!==void 0&&(R=a(R),L=p),v.call(j,L,function(U,J){var ie;switch(J.charAt(0)){case"$":return"$";case"&":return w;case"`":return E.slice(0,y);case"'":return E.slice(F);case"<":ie=R[J.slice(1,-1)];break;default:var te=+J;if(te===0)return U;if(te>O){var me=u(te/10);return me===0?U:me<=O?A[me-1]===void 0?J.charAt(1):A[me-1]+J.charAt(1):U}ie=A[te-1]}return ie===void 0?"":ie})}})},aae3:function(i,e,t){var n=t("d3f4"),a=t("2d95"),o=t("2b4c")("match");i.exports=function(r){var s;return n(r)&&((s=r[o])!==void 0?!!s:a(r)=="RegExp")}},ac4d:function(i,e,t){t("3a72")("asyncIterator")},ac6a:function(i,e,t){for(var n=t("cadf"),a=t("0d58"),o=t("2aba"),r=t("7726"),s=t("32e9"),l=t("84f2"),c=t("2b4c"),d=c("iterator"),u=c("toStringTag"),p=l.Array,m={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},_=a(m),f=0;f<_.length;f++){var g,v=_[f],b=m[v],x=r[v],w=x&&x.prototype;if(w&&(w[d]||s(w,d,p),w[u]||s(w,u,v),l[v]=p,b))for(g in n)w[g]||o(w,g,n[g],!0)}},ad9a:function(i,e){var t=/\b(Array|Date|Object|Math|JSON)\b/g;function n(s){return s.replace(/\.\w+|\w+ *\(|"[^"]*"|'[^']*'|\/([^/]+)\//g,"").replace(t,"").match(/[a-zA-Z_]\w*/g)||[]}function a(s,l,c){var d=/\.\w+|\w+ *\(|"[^"]*"|'[^']*'|\/([^/]+)\/|[a-zA-Z_]\w*/g;return s.replace(d,function(u){return u[u.length-1]=="("||~l.indexOf(u)?c(u):u})}function o(s){for(var l=[],c=0;c<s.length;c++)~l.indexOf(s[c])||l.push(s[c]);return l}function r(s){return function(l){return s+l}}i.exports=function(s,l){var c=o(n(s));return l&&typeof l=="string"&&(l=r(l)),l?a(s,c,l):c}},aef6:function(i,e,t){"use strict";var n=t("5ca1"),a=t("9def"),o=t("d2c8"),r="endsWith",s=""[r];n(n.P+n.F*t("5147")(r),"String",{endsWith:function(l){var c=o(this,l,r),d=arguments.length>1?arguments[1]:void 0,u=a(c.length),p=d===void 0?u:Math.min(a(d),u),m=String(l);return s?s.call(c,m,p):c.slice(p-m.length,p)===m}})},b0c5:function(i,e,t){"use strict";var n=t("520a");t("5ca1")({target:"RegExp",proto:!0,forced:n!==/./.exec},{exec:n})},b16a:function(i,e,t){"use strict";t("412e")},b39a:function(i,e,t){var n=t("d3f4");i.exports=function(a,o){if(!n(a)||a._t!==o)throw TypeError("Incompatible receiver, "+o+" required!");return a}},be13:function(i,e){i.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},c26b:function(i,e,t){"use strict";var n=t("86cc").f,a=t("2aeb"),o=t("dcbc"),r=t("9b43"),s=t("f605"),l=t("4a59"),c=t("01f9"),d=t("d53b"),u=t("7a56"),p=t("9e1e"),m=t("67ab").fastKey,_=t("b39a"),f=p?"_s":"size",g=function(v,b){var x,w=m(b);if(w!=="F")return v._i[w];for(x=v._f;x;x=x.n)if(x.k==b)return x};i.exports={getConstructor:function(v,b,x,w){var E=v(function(y,A){s(y,E,b,"_i"),y._t=b,y._i=a(null),y._f=void 0,y._l=void 0,y[f]=0,A!=null&&l(A,x,y[w],y)});return o(E.prototype,{clear:function(){for(var y=_(this,b),A=y._i,R=y._f;R;R=R.n)R.r=!0,R.p&&(R.p=R.p.n=void 0),delete A[R.i];y._f=y._l=void 0,y[f]=0},delete:function(y){var A=_(this,b),R=g(A,y);if(R){var j=R.n,F=R.p;delete A._i[R.i],R.r=!0,F&&(F.n=j),j&&(j.p=F),A._f==R&&(A._f=j),A._l==R&&(A._l=F),A[f]--}return!!R},forEach:function(y){_(this,b);for(var A,R=r(y,arguments.length>1?arguments[1]:void 0,3);A=A?A.n:this._f;)for(R(A.v,A.k,this);A&&A.r;)A=A.p},has:function(y){return!!g(_(this,b),y)}}),p&&n(E.prototype,"size",{get:function(){return _(this,b)[f]}}),E},def:function(v,b,x){var w,E,y=g(v,b);return y?y.v=x:(v._l=y={i:E=m(b,!0),k:b,v:x,p:w=v._l,n:void 0,r:!1},v._f||(v._f=y),w&&(w.n=y),v[f]++,E!=="F"&&(v._i[E]=y)),v},getEntry:g,setStrong:function(v,b,x){c(v,b,function(w,E){this._t=_(w,b),this._k=E,this._l=void 0},function(){for(var w=this,E=w._k,y=w._l;y&&y.r;)y=y.p;return w._t&&(w._l=y=y?y.n:w._t._f)?d(0,E=="keys"?y.k:E=="values"?y.v:[y.k,y.v]):(w._t=void 0,d(1))},x?"entries":"values",!x,!0),u(b)}}},c366:function(i,e,t){var n=t("6821"),a=t("9def"),o=t("77f1");i.exports=function(r){return function(s,l,c){var d,u=n(s),p=a(u.length),m=o(c,p);if(r&&l!=l){for(;p>m;)if(d=u[m++],d!=d)return!0}else for(;p>m;m++)if((r||m in u)&&u[m]===l)return r||m||0;return!r&&-1}}},c69a:function(i,e,t){i.exports=!t("9e1e")&&!t("79e5")(function(){return Object.defineProperty(t("230e")("div"),"a",{get:function(){return 7}}).a!=7})},ca5a:function(i,e){var t=0,n=Math.random();i.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++t+n).toString(36))}},cadf:function(i,e,t){"use strict";var n=t("9c6c"),a=t("d53b"),o=t("84f2"),r=t("6821");i.exports=t("01f9")(Array,"Array",function(s,l){this._t=r(s),this._i=0,this._k=l},function(){var s=this._t,l=this._k,c=this._i++;return!s||c>=s.length?(this._t=void 0,a(1)):a(0,l=="keys"?c:l=="values"?s[c]:[c,s[c]])},"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},cb7c:function(i,e,t){var n=t("d3f4");i.exports=function(a){if(!n(a))throw TypeError(a+" is not an object!");return a}},ce10:function(i,e,t){var n=t("69a8"),a=t("6821"),o=t("c366")(!1),r=t("613b")("IE_PROTO");i.exports=function(s,l){var c,d=a(s),u=0,p=[];for(c in d)c!=r&&n(d,c)&&p.push(c);for(;l.length>u;)n(d,c=l[u++])&&(~o(p,c)||p.push(c));return p}},cf4f:function(i,e,t){"use strict";var n=t("d913");function a(r,s){for(var l in s)o(s,l)&&(r[l]=s[l])}function o(r,s){return Object.prototype.hasOwnProperty.call(r,s)}i.exports=function(r){n(r)||(r={});for(var s=arguments.length,l=1;l<s;l++){var c=arguments[l];n(c)&&a(r,c)}return r}},d2c8:function(i,e,t){var n=t("aae3"),a=t("be13");i.exports=function(o,r,s){if(n(r))throw TypeError("String#"+s+" doesn't accept regex!");return String(a(o))}},d3f4:function(i,e){i.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},d4c0:function(i,e,t){var n=t("0d58"),a=t("2621"),o=t("52a7");i.exports=function(r){var s=n(r),l=a.f;if(l)for(var c,d=l(r),u=o.f,p=0;d.length>p;)u.call(r,c=d[p++])&&s.push(c);return s}},d53b:function(i,e){i.exports=function(t,n){return{value:n,done:!!t}}},d8e8:function(i,e){i.exports=function(t){if(typeof t!="function")throw TypeError(t+" is not a function!");return t}},d913:function(i,e,t){"use strict";i.exports=function(n){return typeof n<"u"&&n!==null&&(typeof n=="object"||typeof n=="function")}},dcbc:function(i,e,t){var n=t("2aba");i.exports=function(a,o,r){for(var s in o)n(a,s,o[s],r);return a}},e0b8:function(i,e,t){"use strict";var n=t("7726"),a=t("5ca1"),o=t("2aba"),r=t("dcbc"),s=t("67ab"),l=t("4a59"),c=t("f605"),d=t("d3f4"),u=t("79e5"),p=t("5cc5"),m=t("7f20"),_=t("5dbc");i.exports=function(f,g,v,b,x,w){var E=n[f],y=E,A=x?"set":"add",R=y&&y.prototype,j={},F=function(te){var me=R[te];o(R,te,te=="delete"||te=="has"?function(Q){return!(w&&!d(Q))&&me.call(this,Q===0?0:Q)}:te=="get"?function(Q){return w&&!d(Q)?void 0:me.call(this,Q===0?0:Q)}:te=="add"?function(Q){return me.call(this,Q===0?0:Q),this}:function(Q,H){return me.call(this,Q===0?0:Q,H),this})};if(typeof y=="function"&&(w||R.forEach&&!u(function(){new y().entries().next()}))){var O=new y,L=O[A](w?{}:-0,1)!=O,U=u(function(){O.has(1)}),J=p(function(te){new y(te)}),ie=!w&&u(function(){for(var te=new y,me=5;me--;)te[A](me,me);return!te.has(-0)});J||(y=g(function(te,me){c(te,y,f);var Q=_(new E,te,y);return me!=null&&l(me,x,Q[A],Q),Q}),y.prototype=R,R.constructor=y),(U||ie)&&(F("delete"),F("has"),x&&F("get")),(ie||L)&&F(A),w&&R.clear&&delete R.clear}else y=b.getConstructor(g,f,x,A),r(y.prototype,v),s.NEED=!0;return m(y,f),j[f]=y,a(a.G+a.W+a.F*(y!=E),j),w||b.setStrong(y,f,x),y}},e11e:function(i,e){i.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},ebd6:function(i,e,t){var n=t("cb7c"),a=t("d8e8"),o=t("2b4c")("species");i.exports=function(r,s){var l,c=n(r).constructor;return c===void 0||(l=n(c)[o])==null?s:a(l)}},f1ae:function(i,e,t){"use strict";var n=t("86cc"),a=t("4630");i.exports=function(o,r,s){r in o?n.f(o,r,a(0,s)):o[r]=s}},f605:function(i,e){i.exports=function(t,n,a,o){if(!(t instanceof n)||o!==void 0&&o in t)throw TypeError(a+": incorrect invocation!");return t}},f6fd:function(i,e){(function(t){var n="currentScript",a=t.getElementsByTagName("script");n in t||Object.defineProperty(t,n,{get:function(){try{throw new Error}catch(s){var o,r=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(s.stack)||[!1])[1];for(o in a)if(a[o].src==r||a[o].readyState=="interactive")return a[o];return null}}})})(document)},fa5b:function(i,e,t){i.exports=t("5537")("native-function-to-string",Function.toString)},fab2:function(i,e,t){var n=t("7726").document;i.exports=n&&n.documentElement},fb15:function(i,e,t){"use strict";var n;t.r(e),typeof window<"u"&&(t("f6fd"),(n=window.document.currentScript)&&(n=n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(t.p=n[1]));var a=function(){var H,re=this,K=re.$createElement,pe=re._self._c||K;return pe("div",{staticClass:"prism-editor-component"},[pe("div",{ref:"wrapper",staticClass:"prism-editor-wrapper",class:{capture_tab_key:!re.ignoreTabKey}},[re.lineNumbers?pe("div",{staticClass:"prism-editor__line-numbers",style:{"min-height":re.lineNumbersHeight},attrs:{"aria-hidden":"true"}},[pe("div",{staticClass:"prism-editor__line-width-calc",staticStyle:{height:"0px",visibility:"hidden","pointer-events":"none"}},[re._v(`
999
`)]),re._l(re.lineNumbersCount,function(xe){return pe("div",{key:xe,staticClass:"prism-editor__line-number token comment"},[re._v(`
`+re._s(xe)+`
`)])})],2):re._e(),re.placeholder&&!re.codeData?pe("div",{staticClass:"prism-editor-placeholder"},[re._v(re._s(re.placeholder))]):re._e(),pe("pre",re._g({ref:"pre",staticClass:"prism-editor__code",class:(H={},H["language-"+re.language]=!0,H),attrs:{contenteditable:!re.readonly,spellCheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off","data-gramm":"false"},domProps:{innerHTML:re._s(re.content)},on:{keydown:re.handleKeyDown,keyup:re.handleKeyUp,click:re.handleClick}},re.$listeners))]),re.autocompleteOpen&&re.autocompleteData.length?pe("ul",{staticClass:"prism-editor__autocomplete",style:{left:re.cursorOffset[0]+"px",top:re.cursorOffset[1]+"px"}},re._l(re.autocompleteData,function(xe,le){return pe("li",{key:xe.text,class:{selected:le==re.autocompleteIndex},on:{mousedown:function(Be){return re.acceptAutocomplete(Be,le)}}},[re._v(re._s(xe.label||xe.text))])}),0):re._e()])},o=[],r=(t("ac4d"),t("8a81"),t("1c4c"),t("7f7f"),t("6b54"),t("8615"),t("6762"),t("2fdb"),t("ac6a"),t("cadf"),t("5df3"),t("4f7f"),t("aef6"),t("28a5"),t("74a0")),s=t.n(r);function l(H,re,K){return re==="text"&&(H=s()(H)),'<code class="language-'.concat(K,'">').concat(H,"</code>")}var c=function(H,re){if(!re)return l(H,"text","text");re=re.toLowerCase();var K=re;if(re!=="vue"&&re!=="html"||(re="markup"),re==="md"&&(re="markdown"),re==="ts"&&(re="typescript"),Prism.languages[re]){var pe=Prism.highlight(H,Prism.languages[re],re);return l(pe,K,re)}return l(H,"text","text")},d=(t("a481"),function(H){return H.replace(`
`,"<br>")}),u=d,p=t("954e"),m=t.n(p),_=function(H){return m()(H.replace(/<br>/gm,`
`).replace(/<\/?[^>]*>/gm,""))},f=_,g=t("72d6"),v=t.n(g);function b(H,re){if(document.activeElement===H){var K=window.getSelection();if(arguments.length==1){if(!K.rangeCount)return;var pe={},xe=K.getRangeAt(0),le=xe.cloneRange();return le.selectNodeContents(H),le.setEnd(xe.endContainer,xe.endOffset),pe.end=le.toString().length,le.setStart(xe.startContainer,xe.startOffset),pe.start=pe.end-le.toString().length,pe.atStart=le.startOffset===0,pe.commonAncestorContainer=le.commonAncestorContainer,pe.endContainer=le.endContainer,pe.startContainer=le.startContainer,pe}for(var Be,X,ne=re.end&&re.end!==re.start,Me=0,Ue=(xe=document.createRange(),v()(H).select(Node.TEXT_NODE).revisit(!1)),et=re.start>H.textContent.length?H.textContent.length:re.start,Qe=re.end>H.textContent.length?H.textContent.length:re.end,Ge=re.atStart;Be=Ue.next();){var Ie=Me;Me+=Be.textContent.length;var Ke=Ge?Me>et:Me>=et;if(!X&&Ke&&(X=!0,xe.setStart(Be,et-Ie),!ne)){xe.collapse(!0),x(H,xe);break}if(ne&&Me>=Qe){xe.setEnd(Be,Qe-Ie),x(H,xe);break}}}}function x(H,re){var K=window.getSelection();H.focus(),K.removeAllRanges(),K.addRange(re)}var w=b,E=(t("4917"),function(H,re){var K=H.slice(0,re),pe=K.lastIndexOf(`
`)+1,xe=K.slice(pe);return xe}),y=/^\s+/,A=function(H,re){var K=E(H,re),pe=K.match(y);return pe===null?"":pe[0]||""},R=/^(\t| {2})* {2}$/,j=function(H,re){var K=E(H,re);return R.test(K)?2:0},F={shift:16,ctrl:17,alt:18,pauseBreak:19,capsLock:20,esc:27,pageUp:33,pageDown:34,end:35,home:36,arrowLeft:37,arrowUp:38,arrowRight:39,arrowDown:40,printScreen:44,meta:91,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numLock:144,scrollLock:145};function O(H,re){var K;if(typeof Symbol>"u"||H[Symbol.iterator]==null){if(Array.isArray(H)||(K=L(H))||re&&H&&typeof H.length=="number"){K&&(H=K);var pe=0,xe=function(){};return{s:xe,n:function(){return pe>=H.length?{done:!0}:{done:!1,value:H[pe++]}},e:function(ne){throw ne},f:xe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var le,Be=!0,X=!1;return{s:function(){K=H[Symbol.iterator]()},n:function(){var ne=K.next();return Be=ne.done,ne},e:function(ne){X=!0,le=ne},f:function(){try{Be||K.return==null||K.return()}finally{if(X)throw le}}}}function L(H,re){if(H){if(typeof H=="string")return U(H,re);var K=Object.prototype.toString.call(H).slice(8,-1);return K==="Object"&&H.constructor&&(K=H.constructor.name),K==="Map"||K==="Set"?Array.from(H):K==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(K)?U(H,re):void 0}}function U(H,re){(re==null||re>H.length)&&(re=H.length);for(var K=0,pe=new Array(re);K<re;K++)pe[K]=H[K];return pe}var J={model:{prop:"code",event:"change"},props:{emitEvents:{type:Boolean,default:!1},language:{type:String,default:"js"},lineNumbers:{type:Boolean,default:!1},autoStyleLineNumbers:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},code:{type:String,default:""},placeholder:{type:String,default:""},ignoreTabKey:{type:Boolean,default:!1},autocomplete:{type:Function,default:function(){return[]}}},data:function(){return{undoStack:[],selection:void 0,lineNumbersHeight:"20px",undoOffset:0,undoTimestamp:0,lastPos:0,codeData:"",composing:!1,autocompleteOpen:!1,autocompleteIndex:0,autocompleteData:[]}},watch:{code:{immediate:!0,handler:function(H){this.codeData=H||""}},content:{immediate:!0,handler:function(){var H=this;this.lineNumbers&&this.$nextTick(function(){H.setLineNumbersHeight()})}},lineNumbers:function(){var H=this;this.$nextTick(function(){H.styleLineNumbers(),H.setLineNumbersHeight()})},autocompleteIndex:function(){var H=this;Vue.nextTick(function(){var re=H.$el.querySelector("ul.prism-editor__autocomplete > li.selected");re&&re.scrollIntoView({block:"nearest"})})}},computed:{content:function(){return c(this.codeData||"",this.language)},lineNumbersCount:function(){var H=this.codeData.split(/\r\n|\n/).length;return this.codeData.endsWith(`
`)&&H--,H},cursorOffset:function(){var H=this.codeData.substring(0,this.selection&&this.selection.end||0).split(/\r\n|\n/),re=parseFloat(getComputedStyle(this.$refs.pre).getPropertyValue("font-size")),K=H.length,pe=H[H.length-1].length;return[8.85*pe*(re/16)-this.$refs.wrapper.scrollLeft+this.$refs.pre.firstChild.offsetLeft,24*K*(re/16)+2-this.$refs.wrapper.scrollTop+this.$refs.pre.firstChild.offsetTop]}},updated:function(){this.selection&&w(this.$refs.pre,this.selection)},mounted:function(){var H=this;this.recordChange(this.getPlain()),this.undoTimestamp=0,this.styleLineNumbers();var re=function(Be){Be.preventDefault();var X=w(H.$refs.pre),ne=(Be.originalEvent||Be).clipboardData.getData("Text");document.execCommand("insertHTML",!1,s()(ne));var Me=X.end+ne.length;H.selection={start:Me,end:Me};var Ue=H.getPlain();H.recordChange(Ue,H.selection),H.updateContent(Ue),H.setLineNumbersHeight()},K={"(":")","{":"}","[":"]",'"':'"',"'":"'"},pe=function(Be){var X=event.key;if(K[X]&&H.selection.start!=H.selection.end){event.preventDefault();var ne=[H.codeData.substr(0,H.selection.start),X,H.codeData.substring(H.selection.start,H.selection.end),K[X],H.codeData.substring(H.selection.end)];H.codeData=ne.join(""),H.selection.start+=1,H.selection.end+=1,H.recordChange(H.codeData,H.selection),H.updateContent(H.codeData),H.setLineNumbersHeight()}},xe=function(Be){H.autocompleteOpen=!1,H.emitEvents&&H.$emit("keydown",evt)},le=this.$refs.pre;le.addEventListener("paste",re),le.addEventListener("keypress",pe),le.addEventListener("focusout",xe),this.$once("hook:beforeDestroy",function(){le.removeEventListener("paste",re),le.removeEventListener("keypress",pe),le.removeEventListener("focusout",xe)}),le.addEventListener("compositionstart",function(){H.composing=!0}),le.addEventListener("compositionend",function(){H.composing=!1})},methods:{updateAutocompleteData:function(){var H=this.autocomplete(this.getPlain(),this.selection.end),re=this.autocompleteData.length;this.autocompleteData.splice(0,1/0);var K,pe=new Set,xe=O(H);try{for(xe.s();!(K=xe.n()).done;){var le=K.value;pe.has(le.text)||(this.autocompleteData.push(le),pe.add(le.text))}}catch(Be){xe.e(Be)}finally{xe.f()}this.autocompleteOpen=!0,this.autocompleteIndex=Math.max(0,Math.min(this.autocompleteIndex,this.autocompleteData.length-1)),re>this.autocompleteData.length&&(this.autocompleteIndex=0)},acceptAutocomplete:function(H){var re=this,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.autocompleteIndex;H.preventDefault();var pe=this.autocompleteData[K]||this.autocompleteData[0];if(pe){var xe=pe.overlap||0,le=[this.codeData.substr(0,this.selection.end-xe),pe.text,this.codeData.substring(this.selection.end)];this.codeData=le.join("");var Be=this.selection.end-xe+pe.text.length+(pe.text.endsWith(")")?-1:0);this.selection.start=this.selection.end=Be;var X=this.codeData;this.recordChange(X,this.selection),this.updateContent(X),this.setLineNumbersHeight(),pe.text.endsWith(".")?setTimeout(function(){re.updateAutocompleteData()},1):this.autocompleteOpen=!1}},setLineNumbersHeight:function(){this.lineNumbersHeight=getComputedStyle(this.$refs.pre).height},styleLineNumbers:function(){if(this.lineNumbers&&this.autoStyleLineNumbers){var H=this.$refs.pre,re=this.$el.querySelector(".prism-editor__line-numbers"),K=window.getComputedStyle(H);this.$nextTick(function(){var pe="border-top-left-radius",xe="border-bottom-left-radius";re.style[pe]=K[pe],re.style[xe]=K[xe],H.style[pe]=0,H.style[xe]=0;var le=["background-color","margin-top","padding-top","font-family","font-size","line-height"];le.forEach(function(Be){re.style[Be]=K[Be]}),re.style["margin-bottom"]="-"+K["padding-top"]})}},handleClick:function(H){this.emitEvents&&this.$emit("editorClick",H),this.undoTimestamp=0,this.selection=w(this.$refs.pre),this.autocompleteOpen=!1},getPlain:function(){if(this._innerHTML===this.$refs.pre.innerHTML)return this._plain;var H=f(u(this.$refs.pre.innerHTML));return this._innerHTML=this.$refs.pre.innerHTML,this._plain=H,this._plain},recordChange:function(H,re){if(H!==this.undoStack[this.undoStack.length-1]){this.undoOffset>0&&(this.undoStack=this.undoStack.slice(0,-this.undoOffset),this.undoOffset=0);var K=Date.now(),pe={plain:H,selection:re};K-this.undoTimestamp<3e3?this.undoStack[this.undoStack.length-1]=pe:(this.undoStack.push(pe),this.undoStack.length>50&&this.undoStack.shift()),this.undoTimestamp=K}},updateContent:function(H){this.$emit("change",H),this.$emit("update:code",H)},restoreStackState:function(H){var re=this.undoStack[this.undoStack.length-1-H],K=re.plain,pe=re.selection;this.selection=pe,this.undoOffset=H,this.updateContent(K)},undo:function(){var H=this.undoOffset+1;H>=this.undoStack.length||this.restoreStackState(H)},redo:function(){var H=this.undoOffset-1;H<0||this.restoreStackState(H)},handleKeyDown:function(H){if(this.emitEvents&&this.$emit("keydown",H),H.keyCode===9&&this.autocompleteData.length&&this.autocompleteOpen)this.acceptAutocomplete(H),H.preventDefault(),H.stopPropagation();else if(H.keyCode!==9||this.ignoreTabKey)if(H.keyCode===8){var re=w(this.$refs.pre),K=re.start,pe=re.end;if(K!==pe)return;var xe=j(this.$refs.pre.innerText,K);if(xe<=0)return;for(var le=0;le<xe;le++)document.execCommand("delete",!1);H.preventDefault()}else if(H.keyCode===27)this.autocompleteData.length&&this.autocompleteOpen&&(H.preventDefault(),this.autocompleteOpen=!1);else if(H.keyCode===38)this.autocompleteData.length&&this.autocompleteOpen&&(H.preventDefault(),this.autocompleteIndex=(this.autocompleteIndex?this.autocompleteIndex:this.autocompleteData.length)-1);else if(H.keyCode===40)this.autocompleteData.length&&this.autocompleteOpen&&(H.preventDefault(),this.autocompleteIndex=(this.autocompleteIndex+1)%this.autocompleteData.length);else if(H.keyCode===13){if(this.autocompleteData.length&&this.autocompleteOpen)this.acceptAutocomplete(H);else{var Be=w(this.$refs.pre),X=Be.start,ne=A(this.$refs.pre.innerText,X);document.execCommand("insertHTML",!1,`
`+ne),document.execCommand("delete",!1)}H.preventDefault()}else H.keyCode!==90||H.metaKey===H.ctrlKey||H.altKey?H.keyCode!==89||H.metaKey===H.ctrlKey||H.altKey||(this.redo(),H.preventDefault()):(this.undo(),H.preventDefault());else document.execCommand("insertHTML",!1," "),H.preventDefault()},handleKeyUp:function(H){var re=H.which;if(this.composing){if(re!==13)return;this.composing=!1}if(this.code||(this.codeData=H.target.innerText),this.emitEvents&&this.$emit("keyup",H),H.keyCode!==91&&H.keyCode!==93&&(!H.ctrlKey&&!H.metaKey||H.keyCode===88)){if(H.keyCode===13&&(this.undoTimestamp=0),this.selection=w(this.$refs.pre),Object.values(F).includes(H.keyCode))this.undoTimestamp=0;else{var K=this.getPlain();this.recordChange(K,this.selection),this.updateContent(K)}var pe=[13,9,27,37,38,39,40];pe.includes(H.keyCode)==0&&this.updateAutocompleteData()}}}},ie=J;t("b16a");function te(H,re,K,pe,xe,le,Be,X){var ne,Me=typeof H=="function"?H.options:H;if(re&&(Me.render=re,Me.staticRenderFns=K,Me._compiled=!0),pe&&(Me.functional=!0),le&&(Me._scopeId="data-v-"+le),Be?(ne=function(Qe){Qe=Qe||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,Qe||typeof __VUE_SSR_CONTEXT__>"u"||(Qe=__VUE_SSR_CONTEXT__),xe&&xe.call(this,Qe),Qe&&Qe._registeredComponents&&Qe._registeredComponents.add(Be)},Me._ssrRegister=ne):xe&&(ne=X?function(){xe.call(this,(Me.functional?this.parent:this).$root.$options.shadowRoot)}:xe),ne)if(Me.functional){Me._injectStyles=ne;var Ue=Me.render;Me.render=function(Qe,Ge){return ne.call(Ge),Ue(Qe,Ge)}}else{var et=Me.beforeCreate;Me.beforeCreate=et?[].concat(et,ne):[ne]}return{exports:H,options:Me}}var me=te(ie,a,o,!1,null,null,null),Q=me.exports;e.default=Q}}).default});Prism.languages.molang={string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"function-name":/\b(?!\d)math\.\w+(?=[\t ]*\()/i,selector:/\b(?!\d)((query|variable|temp|context|math|q|v|t|c)\.\w+(\.\w+)*)|this/i,boolean:/\b(?:true|false)\b/i,number:/(?:\b\d+(?:\.\d+f?)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b/i,operator:/&&|\|\||[-+*/!<>]=?|[:?=]/i,keyword:/\b(return|loop|for_each|break|continue)\b/i,punctuation:/[.,;()[\]{}]/};var li;(function(i){i.runningInNodeJS=function(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"},i.runningInMainNodeJSModule=function(){return i.runningInNodeJS()&&or.main===module},i.commonJSAvailable=function(){return!1},i.runningInWebWorker=function(){return typeof window>"u"&&typeof self=="object"&&typeof self.addEventListener=="function"&&typeof self.close=="function"},i.runningInNodeChildProcess=function(){return i.runningInNodeJS()&&typeof process.send=="function"},i.runningInNullOrigin=function(){return typeof window!="object"||typeof window.location!="object"?!1:document.location.protocol!=="http:"&&document.location.protocol!=="https:"},i.webWorkersAvailable=function(){return!(typeof Worker!="function"||i.runningInNullOrigin()||i.runningInNodeJS()||navigator&&navigator.userAgent&&navigator.userAgent.indexOf("Android 4.3")>=0)},i.log=function(e,t){t===void 0&&(t=!1),typeof console=="object"&&(console.log(e),t&&typeof document=="object"&&(document.body.innerHTML+=e+"<br/>"))},i.createErrorMessage=function(e,t){if(t===void 0&&(t="Unhandled exception"),e==null)return t;if(t+=": ",typeof e.content=="object"){if(i.runningInNodeJS())return t+e.content.stack;var n=JSON.stringify(e.content);return n!=="{}"?t+n:t+e.content}else return typeof e.content=="string"?t+e.content:t+e},i.printExceptionAndStackTraceToConsole=function(e,t){t===void 0&&(t="Unhandled exception"),i.log(i.createErrorMessage(e,t))},i.getGlobalObject=function(){return typeof global=="object"?global:typeof window=="object"?window:typeof self=="object"?self:{}},i.toString=Object.prototype.toString})(li||(li={}));if(typeof Uint8Array=="function"&&new Uint8Array(1).subarray(1).byteLength!==0&&(ZO=function(i,e){var t=function(a,o,r){return a<o?o:a>r?r:a};i=i|0,e=e|0,arguments.length<1&&(i=0),arguments.length<2&&(e=this.length),i<0&&(i=this.length+i),e<0&&(e=this.length+e),i=t(i,0,this.length),e=t(e,0,this.length);var n=e-i;return n<0&&(n=0),new this.constructor(this.buffer,this.byteOffset+i*this.BYTES_PER_ELEMENT,n)},_w=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"],Zh=void 0,typeof window=="object"?Zh=window:typeof self=="object"&&(Zh=self),Zh!==void 0))for(Pb=0;Pb<_w.length;Pb++)Zh[_w[Pb]]&&(Zh[_w[Pb]].prototype.subarray=ZO);var ZO,_w,Zh,Pb,li;(function(i){var e=function(){function t(){}return t.compressAsync=function(n,a,o){var r=new i.Timer,s=new i.Compressor;if(!o)throw new TypeError("compressAsync: No callback argument given");if(typeof n=="string")n=i.encodeUTF8(n);else if(n==null||!(n instanceof Uint8Array)){o(void 0,new TypeError("compressAsync: Invalid input argument, only 'string' and 'Uint8Array' are supported"));return}var l=i.ArrayTools.splitByteArray(n,a.blockSize),c=[],d=function(u){if(u<l.length){var p=void 0;try{p=s.compressBlock(l[u])}catch(_){o(void 0,_);return}c.push(p),r.getElapsedTime()<=20?d(u+1):(i.enqueueImmediate(function(){return d(u+1)}),r.restart())}else{var m=i.ArrayTools.concatUint8Arrays(c);i.enqueueImmediate(function(){var _;try{_=i.CompressionCommon.encodeCompressedBytes(m,a.outputEncoding)}catch(f){o(void 0,f);return}i.enqueueImmediate(function(){return o(_)})})}};i.enqueueImmediate(function(){return d(0)})},t.createCompressionStream=function(){var n=new i.Compressor,a=or("stream"),o=new a.Transform({decodeStrings:!0,highWaterMark:65536});return o._transform=function(r,s,l){var c;try{c=i.BufferTools.uint8ArrayToBuffer(n.compressBlock(i.BufferTools.bufferToUint8Array(r)))}catch(d){o.emit("error",d);return}o.push(c),l()},o},t}();i.AsyncCompressor=e})(li||(li={}));var li;(function(i){var e=function(){function t(){}return t.decompressAsync=function(n,a,o){if(!o)throw new TypeError("decompressAsync: No callback argument given");var r=new i.Timer;try{n=i.CompressionCommon.decodeCompressedBytes(n,a.inputEncoding)}catch(u){o(void 0,u);return}var s=new i.Decompressor,l=i.ArrayTools.splitByteArray(n,a.blockSize),c=[],d=function(u){if(u<l.length){var p=void 0;try{p=s.decompressBlock(l[u])}catch(_){o(void 0,_);return}c.push(p),r.getElapsedTime()<=20?d(u+1):(i.enqueueImmediate(function(){return d(u+1)}),r.restart())}else{var m=i.ArrayTools.concatUint8Arrays(c);i.enqueueImmediate(function(){var _;try{_=i.CompressionCommon.encodeDecompressedBytes(m,a.outputEncoding)}catch(f){o(void 0,f);return}i.enqueueImmediate(function(){return o(_)})})}};i.enqueueImmediate(function(){return d(0)})},t.createDecompressionStream=function(){var n=new i.Decompressor,a=or("stream"),o=new a.Transform({decodeStrings:!0,highWaterMark:65536});return o._transform=function(r,s,l){var c;try{c=i.BufferTools.uint8ArrayToBuffer(n.decompressBlock(i.BufferTools.bufferToUint8Array(r)))}catch(d){o.emit("error",d);return}o.push(c),l()},o},t}();i.AsyncDecompressor=e})(li||(li={}));var li;(function(i){var e;(function(t){t.compressAsync=function(n,a,o){if(a.inputEncoding=="ByteArray"&&!(n instanceof Uint8Array)){o(void 0,new TypeError("compressAsync: input is not a Uint8Array"));return}var r={token:Math.random().toString(),type:"compress",data:n,inputEncoding:a.inputEncoding,outputEncoding:a.outputEncoding},s=function(l){var c=l.data;!c||c.token!=r.token||(t.globalWorker.removeEventListener("message",s),c.type=="error"?o(void 0,new Error(c.error)):o(c.data))};t.globalWorker.addEventListener("message",s),t.globalWorker.postMessage(r,[])},t.decompressAsync=function(n,a,o){var r={token:Math.random().toString(),type:"decompress",data:n,inputEncoding:a.inputEncoding,outputEncoding:a.outputEncoding},s=function(l){var c=l.data;!c||c.token!=r.token||(t.globalWorker.removeEventListener("message",s),c.type=="error"?o(void 0,new Error(c.error)):o(c.data))};t.globalWorker.addEventListener("message",s),t.globalWorker.postMessage(r,[])},t.installWebWorkerIfNeeded=function(){typeof self=="object"&&self.document===void 0&&self.addEventListener!=null&&(self.addEventListener("message",function(n){var a=n.data;if(a.type=="compress"){var o=void 0;try{o=i.compress(a.data,{outputEncoding:a.outputEncoding})}catch(l){self.postMessage({token:a.token,type:"error",error:i.createErrorMessage(l)},[]);return}var r={token:a.token,type:"compressionResult",data:o,encoding:a.outputEncoding};r.data instanceof Uint8Array&&navigator.appVersion.indexOf("MSIE 10")===-1?self.postMessage(r,[r.data.buffer]):self.postMessage(r,[])}else if(a.type=="decompress"){var s=void 0;try{s=i.decompress(a.data,{inputEncoding:a.inputEncoding,outputEncoding:a.outputEncoding})}catch(c){self.postMessage({token:a.token,type:"error",error:i.createErrorMessage(c)},[]);return}var r={token:a.token,type:"decompressionResult",data:s,encoding:a.outputEncoding};r.data instanceof Uint8Array&&navigator.appVersion.indexOf("MSIE 10")===-1?self.postMessage(r,[r.data.buffer]):self.postMessage(r,[])}}),self.addEventListener("error",function(n){i.log(i.createErrorMessage(n.error,"Unexpected LZUTF8 WebWorker exception"))}))},t.createGlobalWorkerIfNeeded=function(){if(t.globalWorker)return!0;if(!i.webWorkersAvailable())return!1;if(!t.scriptURI&&typeof document=="object"){var n=document.getElementById("lzutf8");n!=null&&(t.scriptURI=n.getAttribute("src")||void 0)}return t.scriptURI?(t.globalWorker=new Worker(t.scriptURI),!0):!1},t.terminate=function(){t.globalWorker&&(t.globalWorker.terminate(),t.globalWorker=void 0)}})(e=i.WebWorker||(i.WebWorker={})),e.installWebWorkerIfNeeded()})(li||(li={}));var li;(function(i){var e=function(){function t(n,a,o){this.container=n,this.startPosition=a,this.length=o}return t.prototype.get=function(n){return this.container[this.startPosition+n]},t.prototype.getInReversedOrder=function(n){return this.container[this.startPosition+this.length-1-n]},t.prototype.set=function(n,a){this.container[this.startPosition+n]=a},t}();i.ArraySegment=e})(li||(li={}));var li;(function(i){var e;(function(t){t.copyElements=function(n,a,o,r,s){for(;s--;)o[r++]=n[a++]},t.zeroElements=function(n,a,o){for(;o--;)n[a++]=0},t.countNonzeroValuesInArray=function(n){for(var a=0,o=0;o<n.length;o++)n[o]&&a++;return a},t.truncateStartingElements=function(n,a){if(n.length<=a)throw new RangeError("truncateStartingElements: Requested length should be smaller than array length");for(var o=n.length-a,r=0;r<a;r++)n[r]=n[o+r];n.length=a},t.doubleByteArrayCapacity=function(n){var a=new Uint8Array(n.length*2);return a.set(n),a},t.concatUint8Arrays=function(n){for(var a=0,o=0,r=n;o<r.length;o++){var s=r[o];a+=s.length}for(var l=new Uint8Array(a),c=0,d=0,u=n;d<u.length;d++){var s=u[d];l.set(s,c),c+=s.length}return l},t.splitByteArray=function(n,a){for(var o=[],r=0;r<n.length;){var s=Math.min(a,n.length-r);o.push(n.subarray(r,r+s)),r+=s}return o}})(e=i.ArrayTools||(i.ArrayTools={}))})(li||(li={}));var li;(function(i){var e;(function(t){t.convertToUint8ArrayIfNeeded=function(n){return typeof Buffer=="function"&&Buffer.isBuffer(n)?t.bufferToUint8Array(n):n},t.uint8ArrayToBuffer=function(n){if(Buffer.prototype instanceof Uint8Array){var a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);return Object.setPrototypeOf(a,Buffer.prototype),a}else{for(var o=n.length,r=new Buffer(o),s=0;s<o;s++)r[s]=n[s];return r}},t.bufferToUint8Array=function(n){if(Buffer.prototype instanceof Uint8Array)return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);for(var a=n.length,o=new Uint8Array(a),r=0;r<a;r++)o[r]=n[r];return o}})(e=i.BufferTools||(i.BufferTools={}))})(li||(li={}));var li;(function(i){var e;(function(t){t.getCroppedBuffer=function(n,a,o,r){r===void 0&&(r=0);var s=new Uint8Array(o+r);return s.set(n.subarray(a,a+o)),s},t.getCroppedAndAppendedByteArray=function(n,a,o,r){return i.ArrayTools.concatUint8Arrays([n.subarray(a,a+o),r])},t.detectCompressionSourceEncoding=function(n){if(n==null)throw new TypeError("detectCompressionSourceEncoding: input is null or undefined");if(typeof n=="string")return"String";if(n instanceof Uint8Array||typeof Buffer=="function"&&Buffer.isBuffer(n))return"ByteArray";throw new TypeError("detectCompressionSourceEncoding: input must be of type 'string', 'Uint8Array' or 'Buffer'")},t.encodeCompressedBytes=function(n,a){switch(a){case"ByteArray":return n;case"Buffer":return i.BufferTools.uint8ArrayToBuffer(n);case"Base64":return i.encodeBase64(n);case"BinaryString":return i.encodeBinaryString(n);case"StorageBinaryString":return i.encodeStorageBinaryString(n);default:throw new TypeError("encodeCompressedBytes: invalid output encoding requested")}},t.decodeCompressedBytes=function(n,a){if(a==null)throw new TypeError("decodeCompressedData: Input is null or undefined");switch(a){case"ByteArray":case"Buffer":var o=i.BufferTools.convertToUint8ArrayIfNeeded(n);if(!(o instanceof Uint8Array))throw new TypeError("decodeCompressedData: 'ByteArray' or 'Buffer' input type was specified but input is not a Uint8Array or Buffer");return o;case"Base64":if(typeof n!="string")throw new TypeError("decodeCompressedData: 'Base64' input type was specified but input is not a string");return i.decodeBase64(n);case"BinaryString":if(typeof n!="string")throw new TypeError("decodeCompressedData: 'BinaryString' input type was specified but input is not a string");return i.decodeBinaryString(n);case"StorageBinaryString":if(typeof n!="string")throw new TypeError("decodeCompressedData: 'StorageBinaryString' input type was specified but input is not a string");return i.decodeStorageBinaryString(n);default:throw new TypeError("decodeCompressedData: invalid input encoding requested: '"+a+"'")}},t.encodeDecompressedBytes=function(n,a){switch(a){case"String":return i.decodeUTF8(n);case"ByteArray":return n;case"Buffer":if(typeof Buffer!="function")throw new TypeError("encodeDecompressedBytes: a 'Buffer' type was specified but is not supported at the current envirnment");return i.BufferTools.uint8ArrayToBuffer(n);default:throw new TypeError("encodeDecompressedBytes: invalid output encoding requested")}}})(e=i.CompressionCommon||(i.CompressionCommon={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n=[],a;t.enqueueImmediate=function(o){n.push(o),n.length===1&&a()},t.initializeScheduler=function(){var o=function(){for(var c=0,d=n;c<d.length;c++){var u=d[c];try{u.call(void 0)}catch(p){i.printExceptionAndStackTraceToConsole(p,"enqueueImmediate exception")}}n.length=0};if(i.runningInNodeJS()&&(a=function(){return setImmediate(function(){return o()})}),typeof window=="object"&&typeof window.addEventListener=="function"&&typeof window.postMessage=="function"){var r="enqueueImmediate-"+Math.random().toString();window.addEventListener("message",function(c){c.data===r&&o()});var s;i.runningInNullOrigin()?s="*":s=window.location.href,a=function(){return window.postMessage(r,s)}}else if(typeof MessageChannel=="function"&&typeof MessagePort=="function"){var l=new MessageChannel;l.port1.onmessage=function(){return o()},a=function(){return l.port2.postMessage(0)}}else a=function(){return setTimeout(function(){return o()},0)}},t.initializeScheduler()})(e=i.EventLoop||(i.EventLoop={})),i.enqueueImmediate=function(t){return e.enqueueImmediate(t)}})(li||(li={}));var li;(function(i){var e;(function(t){t.override=function(n,a){return t.extend(n,a)},t.extend=function(n,a){if(n==null)throw new TypeError("obj is null or undefined");if(typeof n!="object")throw new TypeError("obj is not an object");if(a==null&&(a={}),typeof a!="object")throw new TypeError("newProperties is not an object");if(a!=null)for(var o in a)n[o]=a[o];return n}})(e=i.ObjectTools||(i.ObjectTools={}))})(li||(li={}));var li;(function(i){i.getRandomIntegerInRange=function(e,t){return e+Math.floor(Math.random()*(t-e))},i.getRandomUTF16StringOfLength=function(e){for(var t="",n=0;n<e;n++){var a=void 0;do a=i.getRandomIntegerInRange(0,1114112);while(a>=55296&&a<=57343);t+=i.Encoding.CodePoint.decodeToString(a)}return t}})(li||(li={}));var li;(function(i){var e=function(){function t(n){n===void 0&&(n=1024),this.outputBufferCapacity=n,this.outputPosition=0,this.outputString="",this.outputBuffer=new Uint16Array(this.outputBufferCapacity)}return t.prototype.appendCharCode=function(n){this.outputBuffer[this.outputPosition++]=n,this.outputPosition===this.outputBufferCapacity&&this.flushBufferToOutputString()},t.prototype.appendCharCodes=function(n){for(var a=0,o=n.length;a<o;a++)this.appendCharCode(n[a])},t.prototype.appendString=function(n){for(var a=0,o=n.length;a<o;a++)this.appendCharCode(n.charCodeAt(a))},t.prototype.appendCodePoint=function(n){if(n<=65535)this.appendCharCode(n);else if(n<=1114111)this.appendCharCode(55296+(n-65536>>>10)),this.appendCharCode(56320+(n-65536&1023));else throw new Error("appendCodePoint: A code point of "+n+" cannot be encoded in UTF-16")},t.prototype.getOutputString=function(){return this.flushBufferToOutputString(),this.outputString},t.prototype.flushBufferToOutputString=function(){this.outputPosition===this.outputBufferCapacity?this.outputString+=String.fromCharCode.apply(null,this.outputBuffer):this.outputString+=String.fromCharCode.apply(null,this.outputBuffer.subarray(0,this.outputPosition)),this.outputPosition=0},t}();i.StringBuilder=e})(li||(li={}));var li;(function(i){var e=function(){function t(){this.restart()}return t.prototype.restart=function(){this.startTime=t.getTimestamp()},t.prototype.getElapsedTime=function(){return t.getTimestamp()-this.startTime},t.prototype.getElapsedTimeAndRestart=function(){var n=this.getElapsedTime();return this.restart(),n},t.prototype.logAndRestart=function(n,a){a===void 0&&(a=!0);var o=this.getElapsedTime(),r=n+": "+o.toFixed(3)+"ms";return i.log(r,a),this.restart(),o},t.getTimestamp=function(){return this.timestampFunc||this.createGlobalTimestampFunction(),this.timestampFunc()},t.getMicrosecondTimestamp=function(){return Math.floor(t.getTimestamp()*1e3)},t.createGlobalTimestampFunction=function(){if(typeof process=="object"&&typeof process.hrtime=="function"){var n=0;this.timestampFunc=function(){var s=process.hrtime(),l=s[0]*1e3+s[1]/1e6;return n+l},n=Date.now()-this.timestampFunc()}else if(typeof chrome=="object"&&chrome.Interval){var a=Date.now(),o=new chrome.Interval;o.start(),this.timestampFunc=function(){return a+o.microseconds()/1e3}}else if(typeof performance=="object"&&performance.now){var r=Date.now()-performance.now();this.timestampFunc=function(){return r+performance.now()}}else Date.now?this.timestampFunc=function(){return Date.now()}:this.timestampFunc=function(){return new Date().getTime()}},t}();i.Timer=e})(li||(li={}));var li;(function(i){var e=function(){function t(n){n===void 0&&(n=!0),this.MinimumSequenceLength=4,this.MaximumSequenceLength=31,this.MaximumMatchDistance=32767,this.PrefixHashTableSize=65537,this.inputBufferStreamOffset=1,n&&typeof Uint32Array=="function"?this.prefixHashTable=new i.CompressorCustomHashTable(this.PrefixHashTableSize):this.prefixHashTable=new i.CompressorSimpleHashTable(this.PrefixHashTableSize)}return t.prototype.compressBlock=function(n){if(n==null)throw new TypeError("compressBlock: undefined or null input received");return typeof n=="string"&&(n=i.encodeUTF8(n)),n=i.BufferTools.convertToUint8ArrayIfNeeded(n),this.compressUtf8Block(n)},t.prototype.compressUtf8Block=function(n){if(!n||n.length==0)return new Uint8Array(0);var a=this.cropAndAddNewBytesToInputBuffer(n),o=this.inputBuffer,r=this.inputBuffer.length;this.outputBuffer=new Uint8Array(n.length),this.outputBufferPosition=0;for(var s=0,l=a;l<r;l++){var c=o[l],d=l<s;if(l>r-this.MinimumSequenceLength){d||this.outputRawByte(c);continue}var u=this.getBucketIndexForPrefix(l);if(!d){var p=this.findLongestMatch(l,u);p!=null&&(this.outputPointerBytes(p.length,p.distance),s=l+p.length,d=!0)}d||this.outputRawByte(c);var m=this.inputBufferStreamOffset+l;this.prefixHashTable.addValueToBucket(u,m)}return this.outputBuffer.subarray(0,this.outputBufferPosition)},t.prototype.findLongestMatch=function(n,a){var o=this.prefixHashTable.getArraySegmentForBucketIndex(a,this.reusableArraySegmentObject);if(o==null)return null;for(var r=this.inputBuffer,s,l=0,c=0;c<o.length;c++){var d=o.getInReversedOrder(c)-this.inputBufferStreamOffset,u=n-d,p=void 0;if(s===void 0?p=this.MinimumSequenceLength-1:s<128&&u>=128?p=l+(l>>>1):p=l,u>this.MaximumMatchDistance||p>=this.MaximumSequenceLength||n+p>=r.length)break;if(r[d+p]===r[n+p]){for(var m=0;;m++)if(n+m===r.length||r[d+m]!==r[n+m]){m>p&&(s=u,l=m);break}else if(m===this.MaximumSequenceLength)return{distance:u,length:this.MaximumSequenceLength}}}return s!==void 0?{distance:s,length:l}:null},t.prototype.getBucketIndexForPrefix=function(n){return(this.inputBuffer[n]*7880599+this.inputBuffer[n+1]*39601+this.inputBuffer[n+2]*199+this.inputBuffer[n+3])%this.PrefixHashTableSize},t.prototype.outputPointerBytes=function(n,a){a<128?(this.outputRawByte(192|n),this.outputRawByte(a)):(this.outputRawByte(224|n),this.outputRawByte(a>>>8),this.outputRawByte(a&255))},t.prototype.outputRawByte=function(n){this.outputBuffer[this.outputBufferPosition++]=n},t.prototype.cropAndAddNewBytesToInputBuffer=function(n){if(this.inputBuffer===void 0)return this.inputBuffer=n,0;var a=Math.min(this.inputBuffer.length,this.MaximumMatchDistance),o=this.inputBuffer.length-a;return this.inputBuffer=i.CompressionCommon.getCroppedAndAppendedByteArray(this.inputBuffer,o,a,n),this.inputBufferStreamOffset+=o,a},t}();i.Compressor=e})(li||(li={}));var li;(function(i){var e=function(){function t(n){this.minimumBucketCapacity=4,this.maximumBucketCapacity=64,this.bucketLocators=new Uint32Array(n*2),this.storage=new Uint32Array(n*2),this.storageIndex=1}return t.prototype.addValueToBucket=function(n,a){n<<=1,this.storageIndex>=this.storage.length>>>1&&this.compact();var o=this.bucketLocators[n],r;if(o===0)o=this.storageIndex,r=1,this.storage[this.storageIndex]=a,this.storageIndex+=this.minimumBucketCapacity;else{r=this.bucketLocators[n+1],r===this.maximumBucketCapacity-1&&(r=this.truncateBucketToNewerElements(o,r,this.maximumBucketCapacity/2));var s=o+r;this.storage[s]===0?(this.storage[s]=a,s===this.storageIndex&&(this.storageIndex+=r)):(i.ArrayTools.copyElements(this.storage,o,this.storage,this.storageIndex,r),o=this.storageIndex,this.storageIndex+=r,this.storage[this.storageIndex++]=a,this.storageIndex+=r),r++}this.bucketLocators[n]=o,this.bucketLocators[n+1]=r},t.prototype.truncateBucketToNewerElements=function(n,a,o){var r=n+a-o;return i.ArrayTools.copyElements(this.storage,r,this.storage,n,o),i.ArrayTools.zeroElements(this.storage,n+o,a-o),o},t.prototype.compact=function(){var n=this.bucketLocators,a=this.storage;this.bucketLocators=new Uint32Array(this.bucketLocators.length),this.storageIndex=1;for(var o=0;o<n.length;o+=2){var r=n[o+1];r!==0&&(this.bucketLocators[o]=this.storageIndex,this.bucketLocators[o+1]=r,this.storageIndex+=Math.max(Math.min(r*2,this.maximumBucketCapacity),this.minimumBucketCapacity))}this.storage=new Uint32Array(this.storageIndex*8);for(var o=0;o<n.length;o+=2){var s=n[o];if(s!==0){var l=this.bucketLocators[o],c=this.bucketLocators[o+1];i.ArrayTools.copyElements(a,s,this.storage,l,c)}}},t.prototype.getArraySegmentForBucketIndex=function(n,a){n<<=1;var o=this.bucketLocators[n];return o===0?null:(a===void 0&&(a=new i.ArraySegment(this.storage,o,this.bucketLocators[n+1])),a)},t.prototype.getUsedBucketCount=function(){return Math.floor(i.ArrayTools.countNonzeroValuesInArray(this.bucketLocators)/2)},t.prototype.getTotalElementCount=function(){for(var n=0,a=0;a<this.bucketLocators.length;a+=2)n+=this.bucketLocators[a+1];return n},t}();i.CompressorCustomHashTable=e})(li||(li={}));var li;(function(i){var e=function(){function t(n){this.maximumBucketCapacity=64,this.buckets=new Array(n)}return t.prototype.addValueToBucket=function(n,a){var o=this.buckets[n];o===void 0?this.buckets[n]=[a]:(o.length===this.maximumBucketCapacity-1&&i.ArrayTools.truncateStartingElements(o,this.maximumBucketCapacity/2),o.push(a))},t.prototype.getArraySegmentForBucketIndex=function(n,a){var o=this.buckets[n];return o===void 0?null:(a===void 0&&(a=new i.ArraySegment(o,0,o.length)),a)},t.prototype.getUsedBucketCount=function(){return i.ArrayTools.countNonzeroValuesInArray(this.buckets)},t.prototype.getTotalElementCount=function(){for(var n=0,a=0;a<this.buckets.length;a++)this.buckets[a]!==void 0&&(n+=this.buckets[a].length);return n},t}();i.CompressorSimpleHashTable=e})(li||(li={}));var li;(function(i){var e=function(){function t(){this.MaximumMatchDistance=32767,this.outputPosition=0}return t.prototype.decompressBlockToString=function(n){return n=i.BufferTools.convertToUint8ArrayIfNeeded(n),i.decodeUTF8(this.decompressBlock(n))},t.prototype.decompressBlock=function(n){this.inputBufferRemainder&&(n=i.ArrayTools.concatUint8Arrays([this.inputBufferRemainder,n]),this.inputBufferRemainder=void 0);for(var a=this.cropOutputBufferToWindowAndInitialize(Math.max(n.length*4,1024)),o=0,r=n.length;o<r;o++){var s=n[o];if(s>>>6!=3){this.outputByte(s);continue}var l=s>>>5;if(o==r-1||o==r-2&&l==7){this.inputBufferRemainder=n.subarray(o);break}if(n[o+1]>>>7===1)this.outputByte(s);else{var c=s&31,d=void 0;l==6?(d=n[o+1],o+=1):(d=n[o+1]<<8|n[o+2],o+=2);for(var u=this.outputPosition-d,p=0;p<c;p++)this.outputByte(this.outputBuffer[u+p])}}return this.rollBackIfOutputBufferEndsWithATruncatedMultibyteSequence(),i.CompressionCommon.getCroppedBuffer(this.outputBuffer,a,this.outputPosition-a)},t.prototype.outputByte=function(n){this.outputPosition===this.outputBuffer.length&&(this.outputBuffer=i.ArrayTools.doubleByteArrayCapacity(this.outputBuffer)),this.outputBuffer[this.outputPosition++]=n},t.prototype.cropOutputBufferToWindowAndInitialize=function(n){if(!this.outputBuffer)return this.outputBuffer=new Uint8Array(n),0;var a=Math.min(this.outputPosition,this.MaximumMatchDistance);if(this.outputBuffer=i.CompressionCommon.getCroppedBuffer(this.outputBuffer,this.outputPosition-a,a,n),this.outputPosition=a,this.outputBufferRemainder){for(var o=0;o<this.outputBufferRemainder.length;o++)this.outputByte(this.outputBufferRemainder[o]);this.outputBufferRemainder=void 0}return a},t.prototype.rollBackIfOutputBufferEndsWithATruncatedMultibyteSequence=function(){for(var n=1;n<=4&&this.outputPosition-n>=0;n++){var a=this.outputBuffer[this.outputPosition-n];if(n<4&&a>>>3===30||n<3&&a>>>4===14||n<2&&a>>>5===6){this.outputBufferRemainder=this.outputBuffer.subarray(this.outputPosition-n,this.outputPosition),this.outputPosition-=n;return}}},t}();i.Decompressor=e})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){var o=new Uint8Array([65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47]),r=new Uint8Array([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,255,255,255,255]),s="=",l=61;a.encode=function(c){return!c||c.length==0?"":i.runningInNodeJS()?i.BufferTools.uint8ArrayToBuffer(c).toString("base64"):a.encodeWithJS(c)},a.decode=function(c){return c?i.runningInNodeJS()?i.BufferTools.bufferToUint8Array(new Buffer(c,"base64")):a.decodeWithJS(c):new Uint8Array(0)},a.encodeWithJS=function(c,d){if(d===void 0&&(d=!0),!c||c.length==0)return"";for(var u=o,p=new i.StringBuilder,m,_=0,f=c.length;_<f;_+=3)_<=f-3?(m=c[_]<<16|c[_+1]<<8|c[_+2],p.appendCharCode(u[m>>>18&63]),p.appendCharCode(u[m>>>12&63]),p.appendCharCode(u[m>>>6&63]),p.appendCharCode(u[m&63]),m=0):_===f-2?(m=c[_]<<16|c[_+1]<<8,p.appendCharCode(u[m>>>18&63]),p.appendCharCode(u[m>>>12&63]),p.appendCharCode(u[m>>>6&63]),d&&p.appendCharCode(l)):_===f-1&&(m=c[_]<<16,p.appendCharCode(u[m>>>18&63]),p.appendCharCode(u[m>>>12&63]),d&&(p.appendCharCode(l),p.appendCharCode(l)));return p.getOutputString()},a.decodeWithJS=function(c,d){if(!c||c.length==0)return new Uint8Array(0);var u=c.length%4;if(u===1)throw new Error("Invalid Base64 string: length % 4 == 1");u===2?c+=s+s:u===3&&(c+=s),d||(d=new Uint8Array(c.length));for(var p=0,m=c.length,_=0;_<m;_+=4){var f=r[c.charCodeAt(_)]<<18|r[c.charCodeAt(_+1)]<<12|r[c.charCodeAt(_+2)]<<6|r[c.charCodeAt(_+3)];d[p++]=f>>>16&255,d[p++]=f>>>8&255,d[p++]=f&255}return c.charCodeAt(m-1)==l&&p--,c.charCodeAt(m-2)==l&&p--,d.subarray(0,p)}})(n=t.Base64||(t.Base64={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){a.encode=function(o){if(o==null)throw new TypeError("BinaryString.encode: undefined or null input received");if(o.length===0)return"";for(var r=o.length,s=new i.StringBuilder,l=0,c=1,d=0;d<r;d+=2){var u=void 0;d==r-1?u=o[d]<<8:u=o[d]<<8|o[d+1],s.appendCharCode(l<<16-c|u>>>c),l=u&(1<<c)-1,c===15?(s.appendCharCode(l),l=0,c=1):c+=1,d>=r-2&&s.appendCharCode(l<<16-c)}return s.appendCharCode(32768|r%2),s.getOutputString()},a.decode=function(o){if(typeof o!="string")throw new TypeError("BinaryString.decode: invalid input type");if(o=="")return new Uint8Array(0);for(var r=new Uint8Array(o.length*3),s=0,l=function(m){r[s++]=m>>>8,r[s++]=m&255},c=0,d=0,u=0;u<o.length;u++){var p=o.charCodeAt(u);if(p>=32768){p==32769&&s--,d=0;continue}d==0?c=p:(l(c<<d|p>>>15-d),c=p&(1<<15-d)-1),d==15?d=0:d+=1}return r.subarray(0,s)}})(n=t.BinaryString||(t.BinaryString={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){a.encodeFromString=function(o,r){var s=o.charCodeAt(r);if(s<55296||s>56319)return s;var l=o.charCodeAt(r+1);if(l>=56320&&l<=57343)return 65536+((s-55296<<10)+(l-56320));throw new Error("getUnicodeCodePoint: Received a lead surrogate character, char code "+s+", followed by "+l+", which is not a trailing surrogate character code.")},a.decodeToString=function(o){if(o<=65535)return String.fromCharCode(o);if(o<=1114111)return String.fromCharCode(55296+(o-65536>>>10),56320+(o-65536&1023));throw new Error("getStringFromUnicodeCodePoint: A code point of "+o+" cannot be encoded in UTF-16")}})(n=t.CodePoint||(t.CodePoint={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){var o=["000","001","002","003","004","005","006","007","008","009","010","011","012","013","014","015","016","017","018","019","020","021","022","023","024","025","026","027","028","029","030","031","032","033","034","035","036","037","038","039","040","041","042","043","044","045","046","047","048","049","050","051","052","053","054","055","056","057","058","059","060","061","062","063","064","065","066","067","068","069","070","071","072","073","074","075","076","077","078","079","080","081","082","083","084","085","086","087","088","089","090","091","092","093","094","095","096","097","098","099","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255"];a.encode=function(r){for(var s=[],l=0;l<r.length;l++)s.push(o[r[l]]);return s.join(" ")}})(n=t.DecimalString||(t.DecimalString={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){a.encode=function(o){return t.BinaryString.encode(o).replace(/\0/g,"\u8002")},a.decode=function(o){return t.BinaryString.decode(o.replace(/\u8002/g,"\0"))}})(n=t.StorageBinaryString||(t.StorageBinaryString={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){var e;(function(t){var n;(function(a){var o,r;a.encode=function(s){return!s||s.length==0?new Uint8Array(0):i.runningInNodeJS()?i.BufferTools.bufferToUint8Array(new Buffer(s,"utf8")):a.createNativeTextEncoderAndDecoderIfAvailable()?o.encode(s):a.encodeWithJS(s)},a.decode=function(s){return!s||s.length==0?"":i.runningInNodeJS()?i.BufferTools.uint8ArrayToBuffer(s).toString("utf8"):a.createNativeTextEncoderAndDecoderIfAvailable()?r.decode(s):a.decodeWithJS(s)},a.encodeWithJS=function(s,l){if(!s||s.length==0)return new Uint8Array(0);l||(l=new Uint8Array(s.length*4));for(var c=0,d=0;d<s.length;d++){var u=t.CodePoint.encodeFromString(s,d);if(u<=127)l[c++]=u;else if(u<=2047)l[c++]=192|u>>>6,l[c++]=128|u&63;else if(u<=65535)l[c++]=224|u>>>12,l[c++]=128|u>>>6&63,l[c++]=128|u&63;else if(u<=1114111)l[c++]=240|u>>>18,l[c++]=128|u>>>12&63,l[c++]=128|u>>>6&63,l[c++]=128|u&63,d++;else throw new Error("Invalid UTF-16 string: Encountered a character unsupported by UTF-8/16 (RFC 3629)")}return l.subarray(0,c)},a.decodeWithJS=function(s,l,c){if(l===void 0&&(l=0),!s||s.length==0)return"";c===void 0&&(c=s.length);for(var d=new i.StringBuilder,u,p,m=l,_=c;m<_;){if(p=s[m],!(p>>>7))u=p,m+=1;else if(p>>>5===6){if(m+1>=c)throw new Error("Invalid UTF-8 stream: Truncated codepoint sequence encountered at position "+m);u=(p&31)<<6|s[m+1]&63,m+=2}else if(p>>>4===14){if(m+2>=c)throw new Error("Invalid UTF-8 stream: Truncated codepoint sequence encountered at position "+m);u=(p&15)<<12|(s[m+1]&63)<<6|s[m+2]&63,m+=3}else if(p>>>3===30){if(m+3>=c)throw new Error("Invalid UTF-8 stream: Truncated codepoint sequence encountered at position "+m);u=(p&7)<<18|(s[m+1]&63)<<12|(s[m+2]&63)<<6|s[m+3]&63,m+=4}else throw new Error("Invalid UTF-8 stream: An invalid lead byte value encountered at position "+m);d.appendCodePoint(u)}return d.getOutputString()},a.createNativeTextEncoderAndDecoderIfAvailable=function(){return o?!0:typeof TextEncoder=="function"?(o=new TextEncoder("utf-8"),r=new TextDecoder("utf-8"),!0):!1}})(n=t.UTF8||(t.UTF8={}))})(e=i.Encoding||(i.Encoding={}))})(li||(li={}));var li;(function(i){function e(f,g){if(g===void 0&&(g={}),f==null)throw new TypeError("compress: undefined or null input received");var v=i.CompressionCommon.detectCompressionSourceEncoding(f);g=i.ObjectTools.override({inputEncoding:v,outputEncoding:"ByteArray"},g);var b=new i.Compressor,x=b.compressBlock(f);return i.CompressionCommon.encodeCompressedBytes(x,g.outputEncoding)}i.compress=e;function t(f,g){if(g===void 0&&(g={}),f==null)throw new TypeError("decompress: undefined or null input received");g=i.ObjectTools.override({inputEncoding:"ByteArray",outputEncoding:"String"},g);var v=i.CompressionCommon.decodeCompressedBytes(f,g.inputEncoding),b=new i.Decompressor,x=b.decompressBlock(v);return i.CompressionCommon.encodeDecompressedBytes(x,g.outputEncoding)}i.decompress=t;function n(f,g,v){v==null&&(v=function(){});var b;try{b=i.CompressionCommon.detectCompressionSourceEncoding(f)}catch(x){v(void 0,x);return}g=i.ObjectTools.override({inputEncoding:b,outputEncoding:"ByteArray",useWebWorker:!0,blockSize:65536},g),i.enqueueImmediate(function(){g.useWebWorker&&i.WebWorker.createGlobalWorkerIfNeeded()?i.WebWorker.compressAsync(f,g,v):i.AsyncCompressor.compressAsync(f,g,v)})}i.compressAsync=n;function a(f,g,v){if(v==null&&(v=function(){}),f==null){v(void 0,new TypeError("decompressAsync: undefined or null input received"));return}g=i.ObjectTools.override({inputEncoding:"ByteArray",outputEncoding:"String",useWebWorker:!0,blockSize:65536},g);var b=i.BufferTools.convertToUint8ArrayIfNeeded(f);i.EventLoop.enqueueImmediate(function(){g.useWebWorker&&i.WebWorker.createGlobalWorkerIfNeeded()?i.WebWorker.decompressAsync(b,g,v):i.AsyncDecompressor.decompressAsync(f,g,v)})}i.decompressAsync=a;function o(){return i.AsyncCompressor.createCompressionStream()}i.createCompressionStream=o;function r(){return i.AsyncDecompressor.createDecompressionStream()}i.createDecompressionStream=r;function s(f){return i.Encoding.UTF8.encode(f)}i.encodeUTF8=s;function l(f){return i.Encoding.UTF8.decode(f)}i.decodeUTF8=l;function c(f){return i.Encoding.Base64.encode(f)}i.encodeBase64=c;function d(f){return i.Encoding.Base64.decode(f)}i.decodeBase64=d;function u(f){return i.Encoding.BinaryString.encode(f)}i.encodeBinaryString=u;function p(f){return i.Encoding.BinaryString.decode(f)}i.decodeBinaryString=p;function m(f){return i.Encoding.StorageBinaryString.encode(f)}i.encodeStorageBinaryString=m;function _(f){return i.Encoding.StorageBinaryString.decode(f)}i.decodeStorageBinaryString=_})(li||(li={}));var hw=li;(function(i){"use strict";typeof define=="function"&&define.amd?define(["jquery"],i):i(jQuery)})(function(i,e){"use strict";var t={beforeShow:m,move:m,change:m,show:m,hide:m,color:!1,flat:!1,showInput:!1,allowEmpty:!1,showButtons:!0,clickoutFiresChange:!0,showInitial:!1,showPalette:!1,showPaletteOnly:!1,hideAfterPaletteSelect:!1,togglePaletteOnly:!1,showSelectionPalette:!0,localStorageKey:!1,appendTo:"body",maxSelectionSize:7,resetText:"",cancelText:"",chooseText:"",togglePaletteMoreText:"more",togglePaletteLessText:"less",clearText:"Clear Color Selection",noColorSelectedText:"No Color Selected",preferredFormat:!1,className:"",containerClassName:"",replacerClassName:"",showAlpha:!1,defaultColor:null,theme:"sp-light",palette:[["#ffffff","#000000","#ff0000","#ff8000","#ffff00","#008000","#0000ff","#4b0082","#9400d3"]],selectionPalette:[],disabled:!1,offset:null},n=[],a=!!/msie/i.exec(window.navigator.userAgent),o=function(){function w(A,R){return!!~(""+A).indexOf(R)}var E=document.createElement("div"),y=E.style;return y.cssText="background-color:rgba(0,0,0,.5)",w(y.backgroundColor,"rgba")||w(y.backgroundColor,"hsla")}(),r=["<div class='sp-replacer'>","<div class='sp-preview'><div class='sp-preview-inner'></div></div>","<div class='sp-dd'>&#9660;</div>","</div>"].join(""),s=function(){var w="";if(a)for(var E=1;E<=6;E++)w+="<div class='sp-"+E+"'></div>";return["<div class='sp-container sp-hidden'>","<div class='sp-palette-container'>","<div class='sp-palette sp-thumb sp-cf'></div>","<div class='sp-palette-button-container sp-cf'>","<button type='button' class='sp-palette-toggle'></button>","</div>","</div>","<div class='sp-picker-container'>","<div class='sp-top sp-cf'>","<div class='sp-fill'></div>","<div class='sp-top-inner'>","<div class='sp-color'>","<div class='sp-sat'>","<div class='sp-val'>","<div class='sp-dragger'></div>","</div>","</div>","</div>","<div class='sp-clear sp-clear-display'>","</div>","<div class='sp-hue'>","<div class='sp-slider'></div>",w,"</div>","</div>","<div class='sp-alpha'><div class='sp-alpha-inner'><div class='sp-alpha-handle'></div></div></div>","</div>","<div class='sp-input-container sp-cf'>","<input class='sp-input' type='text' spellcheck='false' />","</div>","<div class='sp-initial sp-thumb sp-cf'></div>","<div class='sp-button-container sp-cf'>","<a class='sp-reset' href='#'><i class=material-icons>format_color_reset</i></a>","<a class='sp-cancel' href='#'><i class=material-icons>clear</i></a>","<a class='sp-choose' href='#'><i class=material-icons>check</i></a>","</div>","</div>","</div>"].join("")}();function l(w,E,y,A){for(var R=[],j=0;j<w.length;j++){var F=w[j];if(F){var O=tinycolor(F),L=O.toHsl().l<.5?"sp-thumb-el sp-thumb-dark":"sp-thumb-el sp-thumb-light";L+=tinycolor.equals(E,F)?" sp-thumb-active":"";var U=O.toString(A.preferredFormat||"rgb"),J=o?"background-color:"+O.toRgbString():"filter:"+O.toFilter();R.push('<span title="'+U+'" data-index="'+j+'" data-color="'+O.toRgbString()+'" class="'+L+'"><span class="sp-thumb-inner" style="'+J+';" /></span>')}else{var ie="sp-clear-display";R.push(i("<div />").append(i('<span data-color="" style="background-color:transparent;" class="'+ie+'"></span>').attr("title",A.noColorSelectedText)).html())}}return"<div class='sp-cf "+y+"'>"+R.join("")+"</div>"}function c(){for(var w=0;w<n.length;w++)n[w]&&n[w].hide()}function d(w,E){var y=i.extend({},t,w);return y.callbacks={move:f(y.move,E),change:f(y.change,E),show:f(y.show,E),hide:f(y.hide,E),beforeShow:f(y.beforeShow,E)},y}function u(w,E){var y=d(E,w),A=y.flat,R=y.showSelectionPalette,j=y.localStorageKey,F=y.theme,O=y.callbacks,L=v(Ea,10),U=!1,J=!1,ie=0,te=0,me=0,Q=0,H=0,re=0,K=0,pe=0,xe=0,le=0,Be=0,X=1,ne=[],Me=[],Ue={},et=y.selectionPalette.slice(0),Qe=y.maxSelectionSize,Ge="sp-dragging",Ie=null,Ke=w.ownerDocument,z=Ke.body,C=i(w),S=!1,P=i(s,Ke).addClass(F),V=P.find(".sp-picker-container"),ee=P.find(".sp-color"),ce=P.find(".sp-dragger"),be=P.find(".sp-hue"),ge=P.find(".sp-slider"),Se=P.find(".sp-alpha-inner"),He=P.find(".sp-alpha"),Ae=P.find(".sp-alpha-handle"),de=P.find(".sp-input"),Oe=P.find(".sp-palette"),Je=P.find(".sp-initial"),dt=P.find(".sp-reset"),ue=P.find(".sp-cancel"),Fe=P.find(".sp-clear"),Ee=P.find(".sp-choose"),xt=P.find(".sp-palette-toggle"),_e=C.is("input"),je=_e&&C.attr("type")==="color"&&b(),We=_e&&!A,pt=We?i(r).addClass(F).addClass(y.className).addClass(y.replacerClassName):i([]),At=We?pt:C,Rt=pt.find(".sp-preview-inner"),Xt=y.color||_e&&C.val(),Yt=!1,fi=y.preferredFormat,vi=!y.showButtons||y.clickoutFiresChange,ri=!Xt,ji=y.allowEmpty&&!je;function bi(){if(y.showPaletteOnly&&(y.showPalette=!0),xt.text(y.showPaletteOnly?y.togglePaletteMoreText:y.togglePaletteLessText),y.palette){ne=y.palette.slice(0),Me=i.isArray(ne[0])?ne:[ne],Ue={};for(var ui=0;ui<Me.length;ui++)for(var Ei=0;Ei<Me[ui].length;Ei++){var dn=tinycolor(Me[ui][Ei]).toRgbString();Ue[dn]=!0}}P.toggleClass("sp-flat",A),P.toggleClass("sp-input-disabled",!y.showInput),P.toggleClass("sp-alpha-enabled",y.showAlpha),P.toggleClass("sp-reset-enabled",!!y.defaultColor),P.toggleClass("sp-clear-enabled",ji),P.toggleClass("sp-buttons-disabled",!y.showButtons),P.toggleClass("sp-palette-buttons-disabled",!y.togglePaletteOnly),P.toggleClass("sp-palette-disabled",!y.showPalette),P.toggleClass("sp-palette-only",y.showPaletteOnly),P.toggleClass("sp-initial-disabled",!y.showInitial),P.addClass(y.className).addClass(y.containerClassName),Ea()}function Ni(){if(a&&P.find("*:not(input)").attr("unselectable","on"),bi(),We&&C.after(pt).hide(),ji||Fe.hide(),A)C.after(P).hide();else{var ui=y.appendTo==="parent"?C.parent():i(y.appendTo);ui.length!==1&&(ui=i("body")),ui.append(P)}xa(),At.bind("click.spectrum touchstart.spectrum",function(ai){S||Ai(),ai.stopPropagation(),i(ai.target).is("input")||ai.preventDefault()}),(C.is(":disabled")||y.disabled===!0)&&Qo(),P.click(_),de.change(Et),de.bind("paste",function(){setTimeout(Et,1)}),de.keydown(function(ai){ai.keyCode==13&&Et()}),ue.attr("title",y.cancelText),ue.bind("click.spectrum",function(ai){ai.stopPropagation(),ai.preventDefault(),zi(),Jt()}),dt.attr("title",y.resetText),dt.bind("click.spectrum",function(ai){ai.stopPropagation(),ai.preventDefault(),en(),An()}),Fe.attr("title",y.clearText),Fe.bind("click.spectrum",function(ai){ai.stopPropagation(),ai.preventDefault(),ri=!0,An(),A&&_n(!0)}),Ee.attr("title",y.chooseText),Ee.bind("click.spectrum",function(ai){ai.stopPropagation(),ai.preventDefault(),a&&de.is(":focus")&&de.trigger("change"),jo()&&(_n(!0),Jt())}),xt.text(y.showPaletteOnly?y.togglePaletteMoreText:y.togglePaletteLessText),xt.bind("click.spectrum",function(ai){ai.stopPropagation(),ai.preventDefault(),y.showPaletteOnly=!y.showPaletteOnly,!y.showPaletteOnly&&!A&&P.css("left","-="+(V.outerWidth(!0)+5)),bi()}),g(He,function(ai,Xn,Ma){X=ai/re,ri=!1,Ma.shiftKey&&(X=Math.round(X*10)/10),An()},ot,ft),g(be,function(ai,Xn){xe=parseFloat(Xn/Q),ri=!1,y.showAlpha||(X=1),An()},ot,ft),g(ee,function(ai,Xn,Ma){if(!Ma.shiftKey)Ie=null;else if(!Ie){var pc=le*ie,Rl=te-Be*te,fs=Math.abs(ai-pc)>Math.abs(Xn-Rl);Ie=fs?"x":"y"}var mc=!Ie||Ie==="x",jl=!Ie||Ie==="y";mc&&(le=parseFloat(ai/ie)),jl&&(Be=parseFloat((te-Xn)/te)),ri=!1,y.showAlpha||(X=1),An()},ot,ft),Xt?(Un(Xt),ua(),fi=y.preferredFormat||tinycolor(Xt).format,da(Xt)):ua(),A&&Ii();function Ei(ai){if(ai.data&&ai.data.ignore)Un(i(ai.target).closest(".sp-thumb-el").data("color")),An();else if(event.ctrlKey){var Xn=parseInt(i(ai.target).closest(".sp-thumb-el").data("index"));if(!isNaN(Xn)&&Xn>=0){if(et.splice(et.length-Xn-1,1),j&&window.localStorage)try{window.localStorage[j]=et.join(";")}catch{}ua()}}else Un(i(ai.target).closest(".sp-thumb-el").data("color")),An(),_n(!0),y.hideAfterPaletteSelect&&Jt();return!1}var dn=a?"mousedown.spectrum":"click.spectrum touchstart.spectrum";Oe.delegate(".sp-thumb-el",dn,Ei),Je.delegate(".sp-thumb-el:nth-child(1)",dn,{ignore:!0},Ei)}function xa(){if(j&&window.localStorage){try{var ui=window.localStorage[j].split(",#");ui.length>1&&(delete window.localStorage[j],i.each(ui,function(Ei,dn){da(dn)}))}catch{}try{et=window.localStorage[j].split(";")}catch{}}}function da(ui){if(R){var Ei=tinycolor(ui).toRgbString();if(!Ue[Ei]&&i.inArray(Ei,et)===-1)for(et.push(Ei);et.length>Qe;)et.shift();if(j&&window.localStorage)try{window.localStorage[j]=et.join(";")}catch{}}}function po(){var ui=[];if(y.showPalette)for(var Ei=0;Ei<et.length;Ei++){var dn=tinycolor(et[Ei]).toRgbString();Ue[dn]||ui.push(et[Ei])}return ui.reverse().slice(0,y.maxSelectionSize)}function Te(){var ui=Ji(),Ei=i.map(Me,function(dn,ai){return l(dn,ui,"sp-palette-row sp-palette-row-"+ai,y)});xa(),et&&Ei.push(l(po(),ui,"sp-palette-row sp-palette-row-selection",y)),Oe.html(Ei.join(""))}function lt(){if(y.showInitial){var ui=Yt,Ei=Ji();Je.html(l([ui,Ei],Ei,"sp-palette-row-initial",y))}}function ot(){(te<=0||ie<=0||Q<=0||A)&&Ea(),J=!0,P.addClass(Ge),Ie=null,C.trigger("dragstart.spectrum",[Ji()])}function ft(){J=!1,P.removeClass(Ge),C.trigger("dragstop.spectrum",[Ji()])}function Et(){var ui=de.val();if((ui===null||ui==="")&&ji)Un(null),_n(!0);else{var Ei=tinycolor(ui);Ei.isValid()?(Un(Ei),_n(!0)):de.addClass("sp-validation-error")}}function Ai(){U?Jt():Ii()}function Ii(){var ui=i.Event("beforeShow.spectrum");if(U){Ea();return}C.trigger(ui,[Ji()]),!(O.beforeShow(Ji())===!1||ui.isDefaultPrevented())&&(c(),U=!0,i(Ke).bind("keydown.spectrum",Wt),i(Ke).bind("click.spectrum",ti),i(window).bind("resize.spectrum",L),pt.addClass("sp-active"),P.removeClass("sp-hidden"),Ea(),ua(),Yt=Ji(),lt(),O.show(Yt),C.trigger("show.spectrum",[Yt]))}function Wt(ui){ui.keyCode===27&&Jt()}function ti(ui){ui.button!=2&&(J||(vi?_n(!0):zi(),Jt()))}function Jt(){!U||A||(U=!1,jo()&&_n(!0),i(Ke).unbind("keydown.spectrum",Wt),i(Ke).unbind("click.spectrum",ti),i(window).unbind("resize.spectrum",L),pt.removeClass("sp-active"),P.addClass("sp-hidden"),O.hide(Ji()),C.trigger("hide.spectrum",[Ji()]))}function Ci(){!U||A||(zi(),U=!1,i(Ke).unbind("keydown.spectrum",Wt),i(Ke).unbind("click.spectrum",ti),i(window).unbind("resize.spectrum",L),pt.removeClass("sp-active"),P.addClass("sp-hidden"),O.hide(Ji()),C.trigger("hide.spectrum",[Ji()]))}function zi(){Un(Yt,!0)}function en(){Un(y.defaultColor,!0)}function Un(ui,Ei){if(tinycolor.equals(ui,Ji())){ua();return}var dn,ai;!ui&&ji?ri=!0:(ri=!1,dn=tinycolor(ui),ai=dn.toHsv(),xe=ai.h%360/360,le=ai.s,Be=ai.v,X=ai.a),ua(),dn&&dn.isValid()&&!Ei&&(fi=y.preferredFormat||dn.getFormat())}function Ji(ui){return ui=ui||{},ji&&ri?null:tinycolor.fromRatio({h:xe,s:le,v:Be,a:Math.round(X*100)/100},{format:ui.format||fi})}function jo(){return!de.hasClass("sp-validation-error")}function An(){ua(),O.move(Ji()),C.trigger("move.spectrum",[Ji()])}function ua(){de.removeClass("sp-validation-error"),jn();var ui=tinycolor.fromRatio({h:xe,s:1,v:1});ee.css("background-color",ui.toHexString());var Ei=fi;X<1&&!(X===0&&Ei==="name")&&(Ei==="hex"||Ei==="hex3"||Ei==="hex6"||Ei==="name")&&(Ei="rgb");var dn=Ji({format:Ei}),ai="";if(Rt.removeClass("sp-clear-display"),Rt.css("background-color","transparent"),!dn&&ji)Rt.addClass("sp-clear-display");else{var Xn=dn.toHexString(),Ma=dn.toRgbString();if(o||dn.alpha===1?Rt.css("background-color",Ma):(Rt.css("background-color","transparent"),Rt.css("filter",dn.toFilter())),y.showAlpha){var pc=dn.toRgb();pc.a=0;var Rl=tinycolor(pc).toRgbString(),fs="linear-gradient(left, "+Rl+", "+Xn+")";a?Se.css("filter",tinycolor(Rl).toFilter({gradientType:1},Xn)):(Se.css("background","-webkit-"+fs),Se.css("background","-moz-"+fs),Se.css("background","-ms-"+fs),Se.css("background","linear-gradient(to right, "+Rl+", "+Xn+")"))}ai=dn.toString(Ei)}y.showInput&&de.val(ai),y.showPalette&&Te(),lt()}function jn(){var ui=le,Ei=Be;if(ji&&ri)Ae.hide(),ge.hide(),ce.hide();else{Ae.show(),ge.show(),ce.show();var dn=ui*ie,ai=te-Ei*te;dn=Math.max(-me,Math.min(ie-me,dn-me)),ai=Math.max(-me,Math.min(te-me,ai-me)),ce.css({top:ai+"px",left:dn+"px"});var Xn=X*re;Ae.css({left:Xn-K/2+"px"});var Ma=xe*Q;ge.css({top:Ma-pe+"px"})}}function _n(ui){var Ei=Ji(),dn="",ai=!tinycolor.equals(Ei,Yt);Ei&&(dn=Ei.toString(fi),da(Ei)),_e&&C.val(dn),ui&&ai&&(O.change(Ei),C.trigger("change",[Ei]))}function Ea(){U&&(ie=ee.width(),te=ee.height(),me=ce.height(),H=be.width(),Q=be.height(),pe=ge.height(),re=He.width(),K=Ae.width(),A||(P.css("position","absolute"),y.offset?P.offset(y.offset):P.offset(p(P,At))),jn(),y.showPalette&&Te(),C.trigger("reflow.spectrum"))}function ja(){C.show(),At.unbind("click.spectrum touchstart.spectrum"),P.remove(),pt.remove(),n[er.id]=null}function xr(ui,Ei){if(ui===e)return i.extend({},y);if(Ei===e)return y[ui];y[ui]=Ei,ui==="preferredFormat"&&(fi=y.preferredFormat),bi()}function mo(){S=!1,C.attr("disabled",!1),At.removeClass("sp-disabled")}function Qo(){Jt(),S=!0,C.attr("disabled",!0),At.addClass("sp-disabled")}function Io(ui){y.offset=ui,Ea()}Ni();var er={show:Ii,hide:Jt,cancel:Ci,toggle:Ai,reflow:Ea,option:xr,enable:mo,disable:Qo,offset:Io,set:function(ui){Un(ui),_n()},get:Ji,destroy:ja,container:P};return er.id=n.push(er)-1,er}function p(w,E){var y=0,A=w.outerWidth(),R=w.outerHeight(),j=E.outerHeight(),F=w[0].ownerDocument,O=F.documentElement,L=O.clientWidth+i(F).scrollLeft(),U=O.clientHeight+i(F).scrollTop(),J=E.offset();return J.top+=j,J.left-=Math.min(J.left,J.left+A>L&&L>A?Math.abs(J.left+A-L):0),J.top-=Math.min(J.top,J.top+R>U&&U>R?Math.abs(R+j-y):y),J}function m(){}function _(w){w.stopPropagation()}function f(w,E){var y=Array.prototype.slice,A=y.call(arguments,2);return function(){return w.apply(E,A.concat(y.call(arguments)))}}function g(w,E,y,A){E=E||function(){},y=y||function(){},A=A||function(){};var R=document,j=!1,F={},O=0,L=0,U="ontouchstart"in window,J={};J.selectstart=ie,J.dragstart=ie,J["touchmove mousemove"]=te,J["touchend mouseup"]=Q;function ie(H){H.stopPropagation&&H.stopPropagation(),H.preventDefault&&H.preventDefault(),H.returnValue=!1}function te(H){if(j){if(a&&R.documentMode<9&&!H.button)return Q();var re=H.originalEvent&&H.originalEvent.touches&&H.originalEvent.touches[0],K=re&&re.pageX||H.pageX,pe=re&&re.pageY||H.pageY,xe=Math.max(0,Math.min(K-F.left,L)),le=Math.max(0,Math.min(pe-F.top,O));U&&ie(H),E.apply(w,[xe,le,H])}}function me(H){var re=H.which?H.which==3:H.button==2;!re&&!j&&y.apply(w,arguments)!==!1&&(j=!0,O=i(w).height(),L=i(w).width(),F=i(w).offset(),i(R).bind(J),i(R.body).addClass("sp-dragging"),te(H),ie(H))}function Q(){j&&(i(R).unbind(J),i(R.body).removeClass("sp-dragging"),setTimeout(function(){A.apply(w,arguments)},0)),j=!1}i(w).bind("touchstart mousedown",me)}function v(w,E,y){var A;return function(){var R=this,j=arguments,F=function(){A=null,w.apply(R,j)};y&&clearTimeout(A),(y||!A)&&(A=setTimeout(F,E))}}function b(){return i.fn.spectrum.inputTypeColorSupport()}var x="spectrum.id";i.fn.spectrum=function(w,E){if(typeof w=="string"){var y=this,A=Array.prototype.slice.call(arguments,1);return this.each(function(){var R=n[i(this).data(x)];if(R){var j=R[w];if(!j)throw new Error("Spectrum: no such method: '"+w+"'");w=="get"?y=R.get():w=="container"?y=R.container:w=="option"?y=R.option.apply(R,A):w=="destroy"?(R.destroy(),i(this).removeData(x)):w=="cancel"?R.cancel():j.apply(R,A)}}),y}return this.spectrum("destroy").each(function(){var R=i.extend({},w,i(this).data()),j=u(this,R);i(this).data(x,j.id)})},i.fn.spectrum.load=!0,i.fn.spectrum.loadOpts={},i.fn.spectrum.draggable=g,i.fn.spectrum.defaults=t,i.fn.spectrum.inputTypeColorSupport=function w(){if(typeof w._cachedResult>"u"){var E=i("<input type='color'/>")[0];w._cachedResult=E.type==="color"&&E.value!==""}return w._cachedResult},i.spectrum={},i.spectrum.localization={},i.spectrum.palettes={},i.fn.spectrum.processNativeColorInputs=function(){var w=i("input[type=color]");w.length&&!b()&&w.spectrum({preferredFormat:"hex6"})},function(w){var E=/^\s+/,y=/\s+$/,A=w.round,R=w.min,j=w.max,F=w.random;function O(ue,Fe){if(ue=ue||"",Fe=Fe||{},ue instanceof O)return ue;if(!(this instanceof O))return new O(ue,Fe);var Ee=L(ue);this._originalInput=ue,this._r=Ee.r,this._g=Ee.g,this._b=Ee.b,this._a=Ee.a,this._roundA=A(100*this._a)/100,this._format=Fe.format||Ee.format,this._gradientType=Fe.gradientType,this._r<1&&(this._r=A(this._r)),this._g<1&&(this._g=A(this._g)),this._b<1&&(this._b=A(this._b)),this._ok=Ee.ok}O.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var ue=this.toRgb();return(ue.r*299+ue.g*587+ue.b*114)/1e3},getLuminance:function(){var ue=this.toRgb(),Fe,Ee,xt,_e,je,We;return Fe=ue.r/255,Ee=ue.g/255,xt=ue.b/255,Fe<=.03928?_e=Fe/12.92:_e=w.pow((Fe+.055)/1.055,2.4),Ee<=.03928?je=Ee/12.92:je=w.pow((Ee+.055)/1.055,2.4),xt<=.03928?We=xt/12.92:We=w.pow((xt+.055)/1.055,2.4),.2126*_e+.7152*je+.0722*We},setAlpha:function(ue){return this._a=S(ue),this._roundA=A(100*this._a)/100,this},toHsv:function(){var ue=te(this._r,this._g,this._b);return{h:ue.h*360,s:ue.s,v:ue.v,a:this._a}},toHsvString:function(){var ue=te(this._r,this._g,this._b),Fe=A(ue.h*360),Ee=A(ue.s*100),xt=A(ue.v*100);return this._a==1?"hsv("+Fe+", "+Ee+"%, "+xt+"%)":"hsva("+Fe+", "+Ee+"%, "+xt+"%, "+this._roundA+")"},toHsl:function(){var ue=J(this._r,this._g,this._b);return{h:ue.h*360,s:ue.s,l:ue.l,a:this._a}},toHslString:function(){var ue=J(this._r,this._g,this._b),Fe=A(ue.h*360),Ee=A(ue.s*100),xt=A(ue.l*100);return this._a==1?"hsl("+Fe+", "+Ee+"%, "+xt+"%)":"hsla("+Fe+", "+Ee+"%, "+xt+"%, "+this._roundA+")"},toHex:function(ue){return Q(this._r,this._g,this._b,ue)},toHexString:function(ue){return"#"+this.toHex(ue)},toHex8:function(ue){return H(this._r,this._g,this._b,this._a,ue)},toHex8String:function(ue){return"#"+this.toHex8(ue)},toRgb:function(){return{r:A(this._r),g:A(this._g),b:A(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+A(this._r)+", "+A(this._g)+", "+A(this._b)+")":"rgba("+A(this._r)+", "+A(this._g)+", "+A(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:A(P(this._r,255)*100)+"%",g:A(P(this._g,255)*100)+"%",b:A(P(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+A(P(this._r,255)*100)+"%, "+A(P(this._g,255)*100)+"%, "+A(P(this._b,255)*100)+"%)":"rgba("+A(P(this._r,255)*100)+"%, "+A(P(this._g,255)*100)+"%, "+A(P(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:z[Q(this._r,this._g,this._b,!0)]||!1},toFilter:function(ue){var Fe="#"+re(this._r,this._g,this._b,this._a),Ee=Fe,xt=this._gradientType?"GradientType = 1, ":"";if(ue){var _e=O(ue);Ee="#"+re(_e._r,_e._g,_e._b,_e._a)}return"progid:DXImageTransform.Microsoft.gradient("+xt+"startColorstr="+Fe+",endColorstr="+Ee+")"},toString:function(ue){var Fe=!!ue;ue=ue||this._format;var Ee=!1,xt=this._a<1&&this._a>=0,_e=!Fe&&xt&&(ue==="hex"||ue==="hex6"||ue==="hex3"||ue==="hex4"||ue==="hex8"||ue==="name");return _e?ue==="name"&&this._a===0?this.toName():this.toRgbString():(ue==="rgb"&&(Ee=this.toRgbString()),ue==="prgb"&&(Ee=this.toPercentageRgbString()),(ue==="hex"||ue==="hex6")&&(Ee=this.toHexString()),ue==="hex3"&&(Ee=this.toHexString(!0)),ue==="hex4"&&(Ee=this.toHex8String(!0)),ue==="hex8"&&(Ee=this.toHex8String()),ue==="name"&&(Ee=this.toName()),ue==="hsl"&&(Ee=this.toHslString()),ue==="hsv"&&(Ee=this.toHsvString()),Ee||this.toHexString())},clone:function(){return O(this.toString())},_applyModification:function(ue,Fe){var Ee=ue.apply(null,[this].concat([].slice.call(Fe)));return this._r=Ee._r,this._g=Ee._g,this._b=Ee._b,this.setAlpha(Ee._a),this},lighten:function(){return this._applyModification(le,arguments)},brighten:function(){return this._applyModification(Be,arguments)},darken:function(){return this._applyModification(X,arguments)},desaturate:function(){return this._applyModification(K,arguments)},saturate:function(){return this._applyModification(pe,arguments)},greyscale:function(){return this._applyModification(xe,arguments)},spin:function(){return this._applyModification(ne,arguments)},_applyCombination:function(ue,Fe){return ue.apply(null,[this].concat([].slice.call(Fe)))},analogous:function(){return this._applyCombination(Ge,arguments)},complement:function(){return this._applyCombination(Me,arguments)},monochromatic:function(){return this._applyCombination(Ie,arguments)},splitcomplement:function(){return this._applyCombination(Qe,arguments)},triad:function(){return this._applyCombination(Ue,arguments)},tetrad:function(){return this._applyCombination(et,arguments)}},O.fromRatio=function(ue,Fe){if(typeof ue=="object"){var Ee={};for(var xt in ue)ue.hasOwnProperty(xt)&&(xt==="a"?Ee[xt]=ue[xt]:Ee[xt]=Se(ue[xt]));ue=Ee}return O(ue,Fe)};function L(ue){var Fe={r:0,g:0,b:0},Ee=1,xt=null,_e=null,je=null,We=!1,pt=!1;return typeof ue=="string"&&(ue=Je(ue)),typeof ue=="object"&&(Oe(ue.r)&&Oe(ue.g)&&Oe(ue.b)?(Fe=U(ue.r,ue.g,ue.b),We=!0,pt=String(ue.r).substr(-1)==="%"?"prgb":"rgb"):Oe(ue.h)&&Oe(ue.s)&&Oe(ue.v)?(xt=Se(ue.s),_e=Se(ue.v),Fe=me(ue.h,xt,_e),We=!0,pt="hsv"):Oe(ue.h)&&Oe(ue.s)&&Oe(ue.l)&&(xt=Se(ue.s),je=Se(ue.l),Fe=ie(ue.h,xt,je),We=!0,pt="hsl"),ue.hasOwnProperty("a")&&(Ee=ue.a)),Ee=S(Ee),{ok:We,format:ue.format||pt,r:R(255,j(Fe.r,0)),g:R(255,j(Fe.g,0)),b:R(255,j(Fe.b,0)),a:Ee}}function U(ue,Fe,Ee){return{r:P(ue,255)*255,g:P(Fe,255)*255,b:P(Ee,255)*255}}function J(ue,Fe,Ee){ue=P(ue,255),Fe=P(Fe,255),Ee=P(Ee,255);var xt=j(ue,Fe,Ee),_e=R(ue,Fe,Ee),je,We,pt=(xt+_e)/2;if(xt==_e)je=We=0;else{var At=xt-_e;switch(We=pt>.5?At/(2-xt-_e):At/(xt+_e),xt){case ue:je=(Fe-Ee)/At+(Fe<Ee?6:0);break;case Fe:je=(Ee-ue)/At+2;break;case Ee:je=(ue-Fe)/At+4;break}je/=6}return{h:je,s:We,l:pt}}function ie(ue,Fe,Ee){var xt,_e,je;ue=P(ue,360),Fe=P(Fe,100),Ee=P(Ee,100);function We(Rt,Xt,Yt){return Yt<0&&(Yt+=1),Yt>1&&(Yt-=1),Yt<1/6?Rt+(Xt-Rt)*6*Yt:Yt<1/2?Xt:Yt<2/3?Rt+(Xt-Rt)*(2/3-Yt)*6:Rt}if(Fe===0)xt=_e=je=Ee;else{var pt=Ee<.5?Ee*(1+Fe):Ee+Fe-Ee*Fe,At=2*Ee-pt;xt=We(At,pt,ue+1/3),_e=We(At,pt,ue),je=We(At,pt,ue-1/3)}return{r:xt*255,g:_e*255,b:je*255}}function te(ue,Fe,Ee){ue=P(ue,255),Fe=P(Fe,255),Ee=P(Ee,255);var xt=j(ue,Fe,Ee),_e=R(ue,Fe,Ee),je,We,pt=xt,At=xt-_e;if(We=xt===0?0:At/xt,xt==_e)je=0;else{switch(xt){case ue:je=(Fe-Ee)/At+(Fe<Ee?6:0);break;case Fe:je=(Ee-ue)/At+2;break;case Ee:je=(ue-Fe)/At+4;break}je/=6}return{h:je,s:We,v:pt}}function me(ue,Fe,Ee){ue=P(ue,360)*6,Fe=P(Fe,100),Ee=P(Ee,100);var xt=w.floor(ue),_e=ue-xt,je=Ee*(1-Fe),We=Ee*(1-_e*Fe),pt=Ee*(1-(1-_e)*Fe),At=xt%6,Rt=[Ee,We,je,je,pt,Ee][At],Xt=[pt,Ee,Ee,We,je,je][At],Yt=[je,je,pt,Ee,Ee,We][At];return{r:Rt*255,g:Xt*255,b:Yt*255}}function Q(ue,Fe,Ee,xt){var _e=[ge(A(ue).toString(16)),ge(A(Fe).toString(16)),ge(A(Ee).toString(16))];return xt&&_e[0].charAt(0)==_e[0].charAt(1)&&_e[1].charAt(0)==_e[1].charAt(1)&&_e[2].charAt(0)==_e[2].charAt(1)?_e[0].charAt(0)+_e[1].charAt(0)+_e[2].charAt(0):_e.join("")}function H(ue,Fe,Ee,xt,_e){var je=[ge(A(ue).toString(16)),ge(A(Fe).toString(16)),ge(A(Ee).toString(16)),ge(He(xt))];return _e&&je[0].charAt(0)==je[0].charAt(1)&&je[1].charAt(0)==je[1].charAt(1)&&je[2].charAt(0)==je[2].charAt(1)&&je[3].charAt(0)==je[3].charAt(1)?je[0].charAt(0)+je[1].charAt(0)+je[2].charAt(0)+je[3].charAt(0):je.join("")}function re(ue,Fe,Ee,xt){var _e=[ge(He(xt)),ge(A(ue).toString(16)),ge(A(Fe).toString(16)),ge(A(Ee).toString(16))];return _e.join("")}O.equals=function(ue,Fe){return!ue||!Fe?!1:O(ue).toRgbString()==O(Fe).toRgbString()},O.random=function(){return O.fromRatio({r:F(),g:F(),b:F()})};function K(ue,Fe){Fe=Fe===0?0:Fe||10;var Ee=O(ue).toHsl();return Ee.s-=Fe/100,Ee.s=V(Ee.s),O(Ee)}function pe(ue,Fe){Fe=Fe===0?0:Fe||10;var Ee=O(ue).toHsl();return Ee.s+=Fe/100,Ee.s=V(Ee.s),O(Ee)}function xe(ue){return O(ue).desaturate(100)}function le(ue,Fe){Fe=Fe===0?0:Fe||10;var Ee=O(ue).toHsl();return Ee.l+=Fe/100,Ee.l=V(Ee.l),O(Ee)}function Be(ue,Fe){Fe=Fe===0?0:Fe||10;var Ee=O(ue).toRgb();return Ee.r=j(0,R(255,Ee.r-A(255*-(Fe/100)))),Ee.g=j(0,R(255,Ee.g-A(255*-(Fe/100)))),Ee.b=j(0,R(255,Ee.b-A(255*-(Fe/100)))),O(Ee)}function X(ue,Fe){Fe=Fe===0?0:Fe||10;var Ee=O(ue).toHsl();return Ee.l-=Fe/100,Ee.l=V(Ee.l),O(Ee)}function ne(ue,Fe){var Ee=O(ue).toHsl(),xt=(Ee.h+Fe)%360;return Ee.h=xt<0?360+xt:xt,O(Ee)}function Me(ue){var Fe=O(ue).toHsl();return Fe.h=(Fe.h+180)%360,O(Fe)}function Ue(ue){var Fe=O(ue).toHsl(),Ee=Fe.h;return[O(ue),O({h:(Ee+120)%360,s:Fe.s,l:Fe.l}),O({h:(Ee+240)%360,s:Fe.s,l:Fe.l})]}function et(ue){var Fe=O(ue).toHsl(),Ee=Fe.h;return[O(ue),O({h:(Ee+90)%360,s:Fe.s,l:Fe.l}),O({h:(Ee+180)%360,s:Fe.s,l:Fe.l}),O({h:(Ee+270)%360,s:Fe.s,l:Fe.l})]}function Qe(ue){var Fe=O(ue).toHsl(),Ee=Fe.h;return[O(ue),O({h:(Ee+72)%360,s:Fe.s,l:Fe.l}),O({h:(Ee+216)%360,s:Fe.s,l:Fe.l})]}function Ge(ue,Fe,Ee){Fe=Fe||6,Ee=Ee||30;var xt=O(ue).toHsl(),_e=360/Ee,je=[O(ue)];for(xt.h=(xt.h-(_e*Fe>>1)+720)%360;--Fe;)xt.h=(xt.h+_e)%360,je.push(O(xt));return je}function Ie(ue,Fe){Fe=Fe||6;for(var Ee=O(ue).toHsv(),xt=Ee.h,_e=Ee.s,je=Ee.v,We=[],pt=1/Fe;Fe--;)We.push(O({h:xt,s:_e,v:je})),je=(je+pt)%1;return We}O.mix=function(ue,Fe,Ee){Ee=Ee===0?0:Ee||50;var xt=O(ue).toRgb(),_e=O(Fe).toRgb(),je=Ee/100,We={r:(_e.r-xt.r)*je+xt.r,g:(_e.g-xt.g)*je+xt.g,b:(_e.b-xt.b)*je+xt.b,a:(_e.a-xt.a)*je+xt.a};return O(We)},O.readability=function(ue,Fe){var Ee=O(ue),xt=O(Fe);return(w.max(Ee.getLuminance(),xt.getLuminance())+.05)/(w.min(Ee.getLuminance(),xt.getLuminance())+.05)},O.isReadable=function(ue,Fe,Ee){var xt=O.readability(ue,Fe),_e,je;switch(je=!1,_e=dt(Ee),_e.level+_e.size){case"AAsmall":case"AAAlarge":je=xt>=4.5;break;case"AAlarge":je=xt>=3;break;case"AAAsmall":je=xt>=7;break}return je},O.mostReadable=function(ue,Fe,Ee){var xt=null,_e=0,je,We,pt,At;Ee=Ee||{},We=Ee.includeFallbackColors,pt=Ee.level,At=Ee.size;for(var Rt=0;Rt<Fe.length;Rt++)je=O.readability(ue,Fe[Rt]),je>_e&&(_e=je,xt=O(Fe[Rt]));return O.isReadable(ue,xt,{level:pt,size:At})||!We?xt:(Ee.includeFallbackColors=!1,O.mostReadable(ue,["#fff","#000"],Ee))};var Ke=O.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},z=O.hexNames=C(Ke);function C(ue){var Fe={};for(var Ee in ue)ue.hasOwnProperty(Ee)&&(Fe[ue[Ee]]=Ee);return Fe}function S(ue){return ue=parseFloat(ue),(isNaN(ue)||ue<0||ue>1)&&(ue=1),ue}function P(ue,Fe){ce(ue)&&(ue="100%");var Ee=be(ue);return ue=R(Fe,j(0,parseFloat(ue))),Ee&&(ue=parseInt(ue*Fe,10)/100),w.abs(ue-Fe)<1e-6?1:ue%Fe/parseFloat(Fe)}function V(ue){return R(1,j(0,ue))}function ee(ue){return parseInt(ue,16)}function ce(ue){return typeof ue=="string"&&ue.indexOf(".")!=-1&&parseFloat(ue)===1}function be(ue){return typeof ue=="string"&&ue.indexOf("%")!=-1}function ge(ue){return ue.length==1?"0"+ue:""+ue}function Se(ue){return ue<=1&&(ue=ue*100+"%"),ue}function He(ue){return w.round(parseFloat(ue)*255).toString(16)}function Ae(ue){return ee(ue)/255}var de=function(){var ue="[-\\+]?\\d+%?",Fe="[-\\+]?\\d*\\.\\d+%?",Ee="(?:"+Fe+")|(?:"+ue+")",xt="[\\s|\\(]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")\\s*\\)?",_e="[\\s|\\(]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")\\s*\\)?";return{CSS_UNIT:new RegExp(Ee),rgb:new RegExp("rgb"+xt),rgba:new RegExp("rgba"+_e),hsl:new RegExp("hsl"+xt),hsla:new RegExp("hsla"+_e),hsv:new RegExp("hsv"+xt),hsva:new RegExp("hsva"+_e),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Oe(ue){return!!de.CSS_UNIT.exec(ue)}function Je(ue){ue=ue.replace(E,"").replace(y,"").toLowerCase();var Fe=!1;if(Ke[ue])ue=Ke[ue],Fe=!0;else if(ue=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var Ee;return(Ee=de.rgb.exec(ue))?{r:Ee[1],g:Ee[2],b:Ee[3]}:(Ee=de.rgba.exec(ue))?{r:Ee[1],g:Ee[2],b:Ee[3],a:Ee[4]}:(Ee=de.hsl.exec(ue))?{h:Ee[1],s:Ee[2],l:Ee[3]}:(Ee=de.hsla.exec(ue))?{h:Ee[1],s:Ee[2],l:Ee[3],a:Ee[4]}:(Ee=de.hsv.exec(ue))?{h:Ee[1],s:Ee[2],v:Ee[3]}:(Ee=de.hsva.exec(ue))?{h:Ee[1],s:Ee[2],v:Ee[3],a:Ee[4]}:(Ee=de.hex8.exec(ue))?{r:ee(Ee[1]),g:ee(Ee[2]),b:ee(Ee[3]),a:Ae(Ee[4]),format:Fe?"name":"hex8"}:(Ee=de.hex6.exec(ue))?{r:ee(Ee[1]),g:ee(Ee[2]),b:ee(Ee[3]),format:Fe?"name":"hex"}:(Ee=de.hex4.exec(ue))?{r:ee(Ee[1]+""+Ee[1]),g:ee(Ee[2]+""+Ee[2]),b:ee(Ee[3]+""+Ee[3]),a:Ae(Ee[4]+""+Ee[4]),format:Fe?"name":"hex8"}:(Ee=de.hex3.exec(ue))?{r:ee(Ee[1]+""+Ee[1]),g:ee(Ee[2]+""+Ee[2]),b:ee(Ee[3]+""+Ee[3]),format:Fe?"name":"hex"}:!1}function dt(ue){var Fe,Ee;return ue=ue||{level:"AA",size:"small"},Fe=(ue.level||"AA").toUpperCase(),Ee=(ue.size||"small").toLowerCase(),Fe!=="AA"&&Fe!=="AAA"&&(Fe="AA"),Ee!=="small"&&Ee!=="large"&&(Ee="small"),{level:Fe,size:Ee}}typeof define=="function"&&define.amd?define(function(){return O}):window.tinycolor=O}(Math),i(function(){i.fn.spectrum.load&&i.fn.spectrum.processNativeColorInputs()})});var Qre=function(i){"use strict";var e=function(o,r,s,l,c,d,u,p){var m,_=(typeof s=="function"?s.options:s)||{};if(_.__file="color-wheel.vue",_.render||(_.render=o.render,_.staticRenderFns=o.staticRenderFns,_._compiled=!0,c&&(_.functional=!0)),_._scopeId=l,r&&(m=function(v){r.call(this,u(v))}),m!==void 0)if(_.functional){var f=_.render;_.render=function(v,b){return m.call(b),f(v,b)}}else{var g=_.beforeCreate;_.beforeCreate=g?[].concat(g,m):[m]}return _}({render:function(){var o=this,r=o.$createElement,s=o._self._c||r;return s("div",{ref:"color-wheel",staticClass:"cpw_container",class:{s_disabled:o.disabled},style:{width:o.width+"px",height:o.height+"px",position:"relative"},attrs:{id:"color-wheel"}},[s("div",{ref:"farbtastic-solid",staticClass:"farbtastic-solid",staticStyle:{position:"absolute"},style:o.solidStyle}),o._v(" "),s("canvas",{ref:"farbtastic-mask",staticClass:"farbtastic-mask",style:{width:o.width,height:o.height},attrs:{width:o.width,height:o.height}}),o._v(" "),s("canvas",{ref:"farbtastic-overlay",staticClass:"farbtastic-overlay",style:{width:o.width,height:o.height},attrs:{width:o.width,height:o.height},on:{mousedown:o.mousedown,touchstart:o.touchHandleStart,touchmove:o.touchHandleMove,touchend:o.touchHandleEnd}})])},staticRenderFns:[]},function(o){o&&o("data-v-58e7c5c8_0",{source:`
.s_disabled[data-v-58e7c5c8]{opacity:.5
}
.cpw_container[data-v-58e7c5c8]{-webkit-touch-callout:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none
}
.cpw_container .farbtastic-mask[data-v-58e7c5c8]{position:absolute;left:0
}
.cpw_container .farbtastic-overlay[data-v-58e7c5c8]{position:absolute;left:0
}`,map:void 0,media:void 0})},{name:"color-wheel",props:{width:{required:!1,type:Number,default:300},height:{required:!1,type:Number,default:300},disabled:{required:!1,type:Boolean,default:!1},startColor:{required:!1,type:String},value:{required:!1,type:String}},mounted:function(){this.hasCamelCaseColorChangeListener&&console.warn("Using the colorChange event is deprecated since version 0.4.0. It will be deleted in version 1.0.0. 'v-model' or the kebab-case variant 'color-change' should be used."),this.initWidget(),this.setColor(this.value||this.startColor||"#000000")},data:function(){return{debug:!1,dragging:!1,circleDrag:!1,color:"",rgb:"",hsl:"",radius:"",square:"",mid:"",markerSize:"",ctxMask:"",ctxOverlay:"",cnvMask:"",cnvOverlay:"",offset:{left:"",top:""}}},watch:{value:function(o,r){o!==r&&this.setColor(o)}},computed:{hasCamelCaseColorChangeListener:function(){return this.$listeners&&this.$listeners.colorChange},solidStyle:function(){return{"background-color":this.pack(this.HSLToRGB([this.hsl[0],1,.5])),width:2*this.square-1+"px",height:2*this.square-1+"px",left:this.mid-this.square+"px",top:this.mid-this.square+"px"}},wheelWidth:function(){return(this.width||300)/10}},methods:{setColor:function(o,r){r===void 0&&(r=!1);var s=this.unpack(o);return this.color!==o&&s&&(this.color=o,this.rgb=s,this.hsl=this.RGBToHSL(this.rgb),this.updateDisplay(r)),this},setHSL:function(o){return this.hsl=o,this.rgb=this.HSLToRGB(o),this.color=this.pack(this.rgb),this.updateDisplay(),this},initWidget:function(){this.radius=(this.width-this.wheelWidth)/2-1,this.square=Math.floor(.7*(this.radius-this.wheelWidth/2))-1,this.mid=Math.floor(this.width/2),this.markerSize=.3*this.wheelWidth,this.cnvMask=this.$refs["farbtastic-mask"],this.ctxMask=this.cnvMask.getContext("2d"),this.cnvOverlay=this.$refs["farbtastic-overlay"],this.ctxOverlay=this.cnvOverlay.getContext("2d"),this.devicePixelRatio=window.devicePixelRatio||1,this.upscaleCanvas(this.cnvMask),this.upscaleCanvas(this.cnvOverlay),this.ctxMask.translate(this.mid,this.mid),this.ctxOverlay.translate(this.mid,this.mid),this.drawCircle(),this.drawMask()},upscaleCanvas:function(o){var r=o.getContext("2d"),s=r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1;if(this.devicePixelRatio!==s){var l=this.devicePixelRatio/s,c=o.width,d=o.height;o.width=c*l,o.height=d*l,o.style.width=c+"px",o.style.height=d+"px",r.scale(l,l)}},drawCircle:function(){var o,r,s,l=+new Date,c=this.radius,d=this.wheelWidth,u=8/c/24*Math.PI,p=this.ctxMask,m=0;p.save(),p.lineWidth=d/c,p.scale(c,c);for(var _=0;_<=24;++_){var f=_/24;o=f*Math.PI*2;var g=Math.sin(m),v=-Math.cos(m),b=Math.sin(o),x=-Math.cos(o),w=(m+o)/2,E=1/Math.cos((o-m)/2),y=Math.sin(w)*E,A=-Math.cos(w)*E;if(s=this.pack(this.HSLToRGB([f,1,.5])),0<_){var R=p.createLinearGradient(g,v,b,x);R.addColorStop(0,r),R.addColorStop(1,s),p.strokeStyle=R,p.beginPath(),p.moveTo(g,v),p.quadraticCurveTo(y,A,b,x),p.stroke()}m=o-u,r=s}if(p.restore(),this.debug){var j=document.createElement("div");j.textContent="drawCircle "+(+new Date-l)+" ms",document.body.appendChild(j)}},drawMask:function(){var o,r=this,s=+new Date,l=2*this.square,c=this.square;function d(w,E,y){for(var A=1/w,R=1/E,j=0;j<=E;++j)for(var F=1-j*R,O=0;O<=w;++O){var L=1-O*A,U=1-2*Math.min(F*L,(1-F)*L);y(O,j,0<U?(2*F-1+U)*(.5/U):0,U)}}if(this.ctxMask.getImageData){var u=Math.floor(l/2),p=document.createElement("canvas");p.width=u+1,p.height=u+1;var m=p.getContext("2d"),_=m.getImageData(0,0,u+1,u+1),f=0;d(u,u,function(w,E,y,A){_.data[f++]=_.data[f++]=_.data[f++]=255*y,_.data[f++]=255*A}),m.putImageData(_,0,0),this.ctxMask.drawImage(p,0,0,u+1,u+1,-c,-c,2*c,2*c)}else if(o=window.navigator.userAgent,/MSIE|Trident/.test(o)){var g,v;d(Math.floor(l/6),6,function(w,E,y,A){if(w===0&&(g=v,v=[]),y=Math.round(255*y),A=Math.round(255*A),0<E){var R=g[w][0],j=g[w][1],F=r.packDX(R,j),O=r.packDX(y,A),L=Math.round(r.mid+(.333*(E-1)-1)*c),U=Math.round(r.mid+(.333*E-1)*c),J=document.createElement("div");J.style.position="absolute",J.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr="+F+", EndColorStr="+O+", GradientType=0)",J.style.top=L,J.style.height=U-L,J.style.left=r.mid+(6*w-c-1),J.style.width=r.mid+(6*w-c-1),r.cnvMask.appendChild(J)}v.push([y,A])})}else{var b=Math.floor(l/2);d(b,b,function(w,E,y,A){var R=Math.round(255*y);r.ctxMask.fillStyle="rgba("+R+", "+R+", "+R+", "+A+")",r.ctxMask.fillRect(2*w-c-1,2*E-c-1,2,2)})}if(this.debug){var x=document.createElement("div");x.textContent="drawMask "+(+new Date-s)+" ms",document.body.appendChild(x)}},drawMarkers:function(){var o=this.width,r=Math.ceil(this.markerSize/4),s=this.markerSize-r+1,l=6.28*this.hsl[0],c=Math.sin(l)*this.radius,d=-Math.cos(l)*this.radius,u=2*this.square*(.5-this.hsl[1]),p=2*this.square*(.5-this.hsl[2]),m=this.invert?"#fff":"#000",_=this.invert?"#000":"#fff",f=[{x:c,y:d,r:s,c:"#000",lw:r+1},{x:c,y:d,r:this.markerSize,c:"#fff",lw:r},{x:u,y:p,r:s,c:_,lw:r+1},{x:u,y:p,r:this.markerSize,c:m,lw:r}];this.ctxOverlay.clearRect(-this.mid,-this.mid,o,o);for(var g=0;g<f.length;g+=1){var v=f[g];this.ctxOverlay.lineWidth=v.lw,this.ctxOverlay.strokeStyle=v.c,this.ctxOverlay.beginPath(),this.ctxOverlay.arc(v.x,v.y,v.r,0,2*Math.PI,!0),this.ctxOverlay.stroke()}},updateDisplay:function(o){this.invert=.3*this.rgb[0]+.59*this.rgb[1]+.11*this.rgb[2]<=.6,this.drawMarkers(),o||(this.$emit("input",this.color),this.$emit("colorChange",this.color),this.$emit("color-change",this.color))},widgetCoords:function(o){return{x:o.clientX-this.offset.left-this.mid,y:o.clientY-this.offset.top-this.mid}},mousedown:function(o){if(this.disabled)return!1;this.dragging||(document.addEventListener("mousemove",this.mousemove),document.addEventListener("mouseup",this.mouseup),this.dragging=!0),this.offset={left:this.$refs["color-wheel"].getBoundingClientRect().left,top:this.$refs["color-wheel"].getBoundingClientRect().top};var r=this.widgetCoords(o);return this.circleDrag=Math.max(Math.abs(r.x),Math.abs(r.y))>this.square+2,this.mousemove(o),!1},mousemove:function(o){var r=this.widgetCoords(o);if(this.circleDrag){var s=Math.atan2(r.x,-r.y)/6.28;this.setHSL([(s+1)%1,this.hsl[1],this.hsl[2]])}else{var l=Math.max(0,Math.min(1,-r.x/this.square/2+.5)),c=Math.max(0,Math.min(1,-r.y/this.square/2+.5));this.setHSL([this.hsl[0],l,c])}return!1},mouseup:function(){document.removeEventListener("mousemove",this.mousemove),document.removeEventListener("mouseup",this.mouseup),this.dragging=!1},dec2hex:function(o){return(o<16?"0":"")+o.toString(16)},packDX:function(o,r){return"#"+(this.dec2hex(r)+this.dec2hex(o)+this.dec2hex(o)+this.dec2hex(o))},pack:function(o){var r=Math.round(255*o[0]),s=Math.round(255*o[1]),l=Math.round(255*o[2]);return"#"+(this.dec2hex(r)+this.dec2hex(s)+this.dec2hex(l))},unpack:function(o){return o.length===7?[1,3,5].map(function(r){return parseInt(o.substring(r,r+2),16)/255}):o.length===4&&[1,2,3].map(function(r){return parseInt(o.substring(r,r+1),16)/15})},HSLToRGB:function(o){var r=o[0],s=o[1],l=o[2],c=l<=.5?l*(s+1):l+s-l*s,d=2*l-c;return[this.hueToRGB(d,c,r+.33333),this.hueToRGB(d,c,r),this.hueToRGB(d,c,r-.33333)]},hueToRGB:function(o,r,s){return 6*(s=(s+1)%1)<1?o+(r-o)*s*6:2*s<1?r:3*s<2?o+(r-o)*(.66666-s)*6:o},RGBToHSL:function(o){var r=o[0],s=o[1],l=o[2],c=Math.min(r,s,l),d=Math.max(r,s,l),u=d-c,p=0,m=0,_=(c+d)/2;return 0<_&&_<1&&(m=u/(_<.5?2*_:2-2*_)),0<u&&(d===r&&d!==s&&(p+=(s-l)/u),d===s&&d!==l&&(p+=2+(l-r)/u),d===l&&d!==r&&(p+=4+(r-s)/u),p/=6),[p,m,_]},widgetCoordsTouch:function(o){return{x:o.targetTouches[0].clientX-this.offset.left-this.mid,y:o.targetTouches[0].clientY-this.offset.top-this.mid}},touchHandleStart:function(o){if(!this.touchHandled){this.touchHandled=!0,this._touchMoved=!1,this.offset={left:this.$refs["color-wheel"].getBoundingClientRect().left,top:this.$refs["color-wheel"].getBoundingClientRect().top};var r=this.widgetCoordsTouch(o);this.circleDrag=Math.max(Math.abs(r.x),Math.abs(r.y))>this.square+2}},touchHandleMove:function(o){if(this.touchHandled){o.preventDefault(),this._touchMoved=!0;var r=this.widgetCoordsTouch(o);if(this.circleDrag){var s=Math.atan2(r.x,-r.y)/6.28;this.setHSL([(s+1)%1,this.hsl[1],this.hsl[2]])}else{var l=Math.max(0,Math.min(1,-r.x/this.square/2+.5)),c=Math.max(0,Math.min(1,-r.y/this.square/2+.5));this.setHSL([this.hsl[0],l,c])}}},touchHandleEnd:function(){this.touchHandled&&(this.touchHandled=!1)}}},"data-v-58e7c5c8",!1,0,function o(){var r=document.head||document.getElementsByTagName("head")[0],s=o.styles||(o.styles={}),l=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(c,d){if(!document.querySelector('style[data-vue-ssr-id~="'+c+'"]')){var u=l?d.media||"default":c,p=s[u]||(s[u]={ids:[],parts:[],element:void 0});if(!p.ids.includes(c)){var m=d.source,_=p.ids.length;if(p.ids.push(c),d.map&&(m+=`
/*# sourceURL=`+d.map.sources[0]+" */",m+=`
/*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(d.map))))+" */"),l&&(p.element=p.element||document.querySelector("style[data-group="+u+"]")),!p.element){var f=p.element=document.createElement("style");f.type="text/css",d.media&&f.setAttribute("media",d.media),l&&(f.setAttribute("data-group",u),f.setAttribute("data-next-index","0")),r.appendChild(f)}if(l&&(_=parseInt(p.element.getAttribute("data-next-index")),p.element.setAttribute("data-next-index",_+1)),p.element.styleSheet)p.parts.push(m),p.element.styleSheet.cssText=p.parts.filter(Boolean).join(`
`);else{var g=document.createTextNode(m),v=p.element.childNodes;v[_]&&p.element.removeChild(v[_]),v.length?p.element.insertBefore(g,v[_]):p.element.appendChild(g)}}}}});function t(o){t.installed||(t.installed=!0,o.component("ColorWheel",e))}var n={install:t},a=null;return typeof window<"u"?a=window.Vue:typeof global<"u"&&(a=global.Vue),a&&a.use(n),i.install=t,i.default=e,i}({});(function(){let i=THREE.BufferAttribute,e=THREE.BufferGeometry,t=THREE.ClampToEdgeWrapping,n=THREE.DoubleSide,a=THREE.InterpolateDiscrete,o=THREE.InterpolateLinear,r=THREE.LinearFilter,s=THREE.LinearMipmapLinearFilter,l=THREE.LinearMipmapNearestFilter,c=THREE.MathUtils,d=THREE.MirroredRepeatWrapping,u=THREE.NearestFilter,p=THREE.NearestMipmapLinearFilter,m=THREE.NearestMipmapNearestFilter,_=THREE.PropertyBinding,f=THREE.RGBAFormat,g=THREE.RepeatWrapping,v=THREE.Scene,b=THREE.Vector3;var x={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,FLOAT:5126,UNSIGNED_INT:5125,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,REPEAT:10497},w=new Image;w.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";var E=new THREE.Texture(w);w.tex=E,w.tex.magFilter=THREE.NearestFilter,w.tex.minFilter=THREE.NearestFilter;var y=new THREE.MeshLambertMaterial({color:16777215,map:E,transparent:!0,alphaTest:.2}),A={};A[u]=x.NEAREST,A[m]=x.NEAREST_MIPMAP_NEAREST,A[p]=x.NEAREST_MIPMAP_LINEAR,A[r]=x.LINEAR,A[l]=x.LINEAR_MIPMAP_NEAREST,A[s]=x.LINEAR_MIPMAP_LINEAR,A[t]=x.CLAMP_TO_EDGE,A[g]=x.REPEAT,A[d]=x.MIRRORED_REPEAT;var R={scale:"scale",position:"translation",quaternion:"rotation",morphTargetInfluences:"weights"},j=function(){};j.prototype={constructor:j,parse:function(F,O,L){var U={binary:!1,trs:!1,onlyVisible:!0,truncateDrawRange:!0,embedImages:!0,maxTextureSize:1/0,exportFaceColors:!0,animations:[],forceIndices:!1,forcePowerOfTwoTextures:!1,includeCustomExtensions:!1};L=Object.assign({},U,L),L.animations.length>0&&(L.trs=!0);var J={asset:{version:"2.0",generator:"Blockbench 5.1.6 glTF exporter"}},ie=0,te=[],me=[],Q=new Map,H=[],re={},K={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map},pe,xe=new Map,le=0,Be={};function X(_e){return xe.has(_e)||xe.set(_e,le++),xe.get(_e)}function ne(_e,je){return _e.length===je.length&&_e.every(function(We,pt){return We===je[pt]})}function Me(_e){if(window.TextEncoder!==void 0)return new TextEncoder().encode(_e).buffer;for(var je=new Uint8Array(new ArrayBuffer(_e.length)),We=0,pt=_e.length;We<pt;We++){var At=_e.charCodeAt(We);je[We]=At>255?32:At}return je.buffer}function Ue(_e,je,We){for(var pt={min:new Array(_e.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(_e.itemSize).fill(Number.NEGATIVE_INFINITY)},At=je;At<je+We;At++)for(var Rt=0;Rt<_e.itemSize;Rt++){var Xt=_e.array[At*_e.itemSize+Rt];pt.min[Rt]=Math.min(pt.min[Rt],Xt),pt.max[Rt]=Math.max(pt.max[Rt],Xt)}return pt}function et(_e){return c.isPowerOfTwo(_e.width)&&c.isPowerOfTwo(_e.height)}function Qe(_e){if(K.attributesNormalized.has(_e))return!1;for(var je=new b,We=0,pt=_e.count;We<pt;We++)if(Math.abs(je.fromArray(_e.array,We*3).length()-1)>5e-4)return!1;return!0}function Ge(_e){if(K.attributesNormalized.has(_e))return K.attributesNormalized.get(_e);for(var je=_e.clone(),We=new b,pt=0,At=je.count;pt<At;pt++)We.fromArray(je.array,pt*3),We.x===0&&We.y===0&&We.z===0?We.setX(1):We.normalize(),We.toArray(je.array,pt*3);return K.attributesNormalized.set(_e,je),je}function Ie(_e){return Math.ceil(_e/4)*4}function Ke(_e,je){je=je||0;var We=Ie(_e.byteLength);if(We!==_e.byteLength){var pt=new Uint8Array(We);if(pt.set(new Uint8Array(_e)),je!==0)for(var At=_e.byteLength;At<We;At++)pt[At]=je;return pt.buffer}return _e}function z(_e,je){if(Object.keys(_e.userData).length!==0)try{var We=JSON.parse(JSON.stringify(_e.userData));if(L.includeCustomExtensions&&We.gltfExtensions){je.extensions===void 0&&(je.extensions={});for(var pt in We.gltfExtensions)je.extensions[pt]=We.gltfExtensions[pt],re[pt]=!0;delete We.gltfExtensions}Object.keys(We).length>0&&(je.extras=We)}catch(At){console.warn("THREE.GLTFExporter: userData of '"+_e.name+"' won't be serialized because of JSON.stringify error - "+At.message)}}function C(_e,je){var We=!1,pt={};(je.offset.x!==0||je.offset.y!==0)&&(pt.offset=je.offset.toArray(),We=!0),je.rotation!==0&&(pt.rotation=je.rotation,We=!0),(je.repeat.x!==1||je.repeat.y!==1)&&(pt.scale=je.repeat.toArray(),We=!0),We&&(_e.extensions=_e.extensions||{},_e.extensions.KHR_texture_transform=pt,re.KHR_texture_transform=!0)}function S(_e){return J.buffers||(J.buffers=[{byteLength:0}]),te.push(_e),0}function P(_e,je,We,pt,At){J.bufferViews||(J.bufferViews=[]);var Rt;je===x.UNSIGNED_BYTE?Rt=1:je===x.UNSIGNED_SHORT?Rt=2:Rt=4;for(var Xt=Ie(pt*_e.itemSize*Rt),Yt=new DataView(new ArrayBuffer(Xt)),fi=0,vi=We;vi<We+pt;vi++)for(var ri=0;ri<_e.itemSize;ri++){var ji=_e.array[vi*_e.itemSize+ri];je===x.FLOAT?Yt.setFloat32(fi,ji,!0):je===x.UNSIGNED_INT?Yt.setUint32(fi,ji,!0):je===x.UNSIGNED_SHORT?Yt.setUint16(fi,ji,!0):je===x.UNSIGNED_BYTE&&Yt.setUint8(fi,ji),fi+=Rt}var bi={buffer:S(Yt.buffer),byteOffset:ie,byteLength:Xt};At!==void 0&&(bi.target=At),At===x.ARRAY_BUFFER&&(bi.byteStride=_e.itemSize*Rt),ie+=Xt,J.bufferViews.push(bi);var Ni={id:J.bufferViews.length-1,byteLength:0};return Ni}function V(_e){return J.bufferViews||(J.bufferViews=[]),new Promise(function(je){var We=new window.FileReader;We.readAsArrayBuffer(_e),We.onloadend=function(){var pt=Ke(We.result),At={buffer:S(pt),byteOffset:ie,byteLength:pt.byteLength};ie+=pt.byteLength,J.bufferViews.push(At),je(J.bufferViews.length-1)}})}function ee(_e,je,We,pt){var At={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",16:"MAT4"},Rt;if(_e.array.constructor===Float32Array)Rt=x.FLOAT;else if(_e.array.constructor===Uint32Array)Rt=x.UNSIGNED_INT;else if(_e.array.constructor===Uint16Array)Rt=x.UNSIGNED_SHORT;else if(_e.array.constructor===Uint8Array)Rt=x.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type.");if(We===void 0&&(We=0),pt===void 0&&(pt=_e.count),L.truncateDrawRange&&je!==void 0&&je.index===null){var Xt=We+pt,Yt=je.drawRange.count===1/0?_e.count:je.drawRange.start+je.drawRange.count;We=Math.max(We,je.drawRange.start),pt=Math.min(Xt,Yt)-We,pt<0&&(pt=0)}if(pt===0)return null;var fi=Ue(_e,We,pt),vi;je!==void 0&&(vi=_e===je.index?x.ELEMENT_ARRAY_BUFFER:x.ARRAY_BUFFER);var ri=P(_e,Rt,We,pt,vi),ji={bufferView:ri.id,byteOffset:ri.byteOffset,componentType:Rt,count:pt,max:fi.max,min:fi.min,type:At[_e.itemSize]};return J.accessors||(J.accessors=[]),J.accessors.push(ji),J.accessors.length-1}function ce(_e,je,We,pt){K.images.has(_e)||K.images.set(_e,{});var At=K.images.get(_e),Rt=je===f?"image/png":"image/jpeg",Xt=Rt+":flipY/"+We.toString();if(At[Xt]!==void 0)return At[Xt];J.images||(J.images=[]);var Yt={mimeType:Rt};if(L.embedImages){var fi=pe=pe||document.createElement("canvas");fi.width=Math.min(_e.width,L.maxTextureSize),fi.height=Math.min(_e.height,L.maxTextureSize),L.forcePowerOfTwoTextures&&!et(fi)&&(fi.width=c.ceilPowerOfTwo(fi.width),fi.height=c.ceilPowerOfTwo(fi.height));var vi=fi.getContext("2d");We===!0&&(vi.translate(0,fi.height),vi.scale(1,-1)),vi.drawImage(_e,0,0,_e.width,_e.height),L.binary===!0?me.push(new Promise(function(ji){fi.toBlob(function(bi){V(bi).then(function(Ni){Yt.bufferView=Ni,ji()})},Rt)})):Yt.uri=fi.toDataURL(Rt)}else Yt.name=pt?pt.name:"Unknown",Yt.uri=pt?`${pt.name.replace(/\.png$/,"")}.png`:"";J.images.push(Yt);var ri=J.images.length-1;return At[Xt]=ri,ri}function be(_e){J.samplers||(J.samplers=[]);var je={magFilter:A[_e.magFilter],minFilter:A[_e.minFilter],wrapS:A[_e.wrapS],wrapT:A[_e.wrapT]};return J.samplers.push(je),J.samplers.length-1}function ge(_e){if(K.textures.has(_e))return K.textures.get(_e);J.textures||(J.textures=[]);let je=Texture.all.find(At=>At.getMaterial()?.map?.uuid==_e.uuid);var We={sampler:be(_e),source:ce(_e.image,_e.format,!1,je)};_e.name&&(We.name=_e.name),J.textures.push(We);var pt=J.textures.length-1;return K.textures.set(_e,pt),pt}function Se(_e){if(Be[_e.uuid])return Be[_e.uuid];{let je=new THREE.MeshLambertMaterial({color:16777215,map:_e.map,transparent:!0,side:Canvas.getRenderSide(),alphaTest:.05});return Be[_e.uuid]=je,je}}function He(_e){if(_e==Canvas.transparentMaterial&&(_e=y),_e.isShaderMaterial&&!_e.isGLTFSpecularGlossinessMaterial&&(_e=Se(_e)),K.materials.has(_e))return K.materials.get(_e);J.materials||(J.materials=[]);var je={pbrMetallicRoughness:{}};_e.isMeshBasicMaterial?(je.extensions={KHR_materials_unlit:{}},re.KHR_materials_unlit=!0):_e.isGLTFSpecularGlossinessMaterial&&(je.extensions={KHR_materials_pbrSpecularGlossiness:{}},re.KHR_materials_pbrSpecularGlossiness=!0);var We=_e.color.toArray().concat([_e.opacity]);if(ne(We,[1,1,1,1])||(je.pbrMetallicRoughness.baseColorFactor=We),_e.isMeshStandardMaterial?(je.pbrMetallicRoughness.metallicFactor=_e.metalness,je.pbrMetallicRoughness.roughnessFactor=_e.roughness):_e.isMeshBasicMaterial?(je.pbrMetallicRoughness.metallicFactor=0,je.pbrMetallicRoughness.roughnessFactor=.9):(je.pbrMetallicRoughness.metallicFactor=0,je.pbrMetallicRoughness.roughnessFactor=1),_e.isGLTFSpecularGlossinessMaterial){je.pbrMetallicRoughness.baseColorFactor&&(je.extensions.KHR_materials_pbrSpecularGlossiness.diffuseFactor=je.pbrMetallicRoughness.baseColorFactor);var pt=[1,1,1];_e.specular.toArray(pt,0),je.extensions.KHR_materials_pbrSpecularGlossiness.specularFactor=pt,je.extensions.KHR_materials_pbrSpecularGlossiness.glossinessFactor=_e.glossiness}if(_e.metalnessMap||_e.roughnessMap)if(_e.metalnessMap===_e.roughnessMap){var At={index:ge(_e.metalnessMap)};C(At,_e.metalnessMap),je.pbrMetallicRoughness.metallicRoughnessTexture=At}else console.warn("THREE.GLTFExporter: Ignoring metalnessMap and roughnessMap because they are not the same Texture.");if(_e.map){var Rt={index:ge(_e.map)};C(Rt,_e.map),_e.isGLTFSpecularGlossinessMaterial&&(je.extensions.KHR_materials_pbrSpecularGlossiness.diffuseTexture=Rt),je.pbrMetallicRoughness.baseColorTexture=Rt}if(_e.isGLTFSpecularGlossinessMaterial&&_e.specularMap){var Xt={index:ge(_e.specularMap)};C(Xt,_e.specularMap),je.extensions.KHR_materials_pbrSpecularGlossiness.specularGlossinessTexture=Xt}if(_e.emissive){var Yt=_e.emissive.clone().multiplyScalar(_e.emissiveIntensity).toArray();if(ne(Yt,[0,0,0])||(je.emissiveFactor=Yt),_e.emissiveMap){var fi={index:ge(_e.emissiveMap)};C(fi,_e.emissiveMap),je.emissiveTexture=fi}}if(_e.normalMap){var vi={index:ge(_e.normalMap)};_e.normalScale&&_e.normalScale.x!==-1&&(_e.normalScale.x!==_e.normalScale.y&&console.warn("THREE.GLTFExporter: Normal scale components are different, ignoring Y and exporting X."),vi.scale=_e.normalScale.x),C(vi,_e.normalMap),je.normalTexture=vi}if(_e.aoMap){var ri={index:ge(_e.aoMap),texCoord:1};_e.aoMapIntensity!==1&&(ri.strength=_e.aoMapIntensity),C(ri,_e.aoMap),je.occlusionTexture=ri}_e.alphaTest>0?(je.alphaMode="MASK",je.alphaCutoff=_e.alphaTest):_e.transparent&&(je.alphaMode="BLEND"),_e.side===n&&(je.doubleSided=!0),_e.name!==""&&(je.name=_e.name),z(_e,je),J.materials.push(je);var ji=J.materials.length-1;return K.materials.set(_e,ji),ji}function Ae(_e){var je=_e.geometry.uuid+":"+_e.material.uuid;if(K.meshes.has(je))return K.meshes.get(je);var We=_e.geometry;!We.isBufferGeometry&&We._bufferGeometry&&(We=We._bufferGeometry);var pt;if(_e.isLineSegments)pt=x.LINES;else if(_e.isLineLoop)pt=x.LINE_LOOP;else if(_e.isLine)pt=x.LINE_STRIP;else if(_e.isPoints)pt=x.POINTS;else{if(!We.isBufferGeometry){console.warn("GLTFExporter: Exporting THREE.Geometry will increase file size. Use BufferGeometry instead.");var At=new e;At.fromGeometry(We),We=At}pt=_e.material.wireframe?x.LINES:x.TRIANGLES}var Rt={},Xt={},Yt=[],fi=[],vi={uv:"TEXCOORD_0",uv2:"TEXCOORD_1",color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},ri=We.getAttribute instanceof Function?We.getAttribute("normal"):void 0;ri!==void 0&&!Qe(ri)&&typeof We.setAttribute=="function"&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),We.setAttribute("normal",Ge(ri)));var ji=null;for(var bi in We.attributes)if(bi.substr(0,5)!=="morph"&&bi.substr(0,9)!=="highlight"){var Ni=We.attributes[bi];if(bi=vi[bi]||bi.toUpperCase(),!(!L.exportFaceColors&&bi==="COLOR_0")){var xa=/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/;if(xa.test(bi)||(bi="_"+bi),K.attributes.has(X(Ni))){Xt[bi]=K.attributes.get(X(Ni));continue}ji=null;var da=Ni.array;bi==="JOINTS_0"&&!(da instanceof Uint16Array)&&!(da instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),ji=new i(new Uint16Array(da),Ni.itemSize,Ni.normalized)),bi.substr(0,8)==="TEXCOORD"&&(ji=new i(new Float32Array(da),Ni.itemSize,Ni.normalized),ji.array.forEach((xr,mo)=>{if(mo%2==1&&(xr=ji.array[mo]=1-xr),L.forcePowerOfTwoTextures&&L.embedImages){if(!_e.geometry)return;let Qo;if(_e.material instanceof Array){let er=_e.geometry.groups.find(ui=>Math.floor(mo/2)>=ui.start&&Math.floor(mo/2)<ui.start+ui.count);er&&(Qo=_e.material[er.materialIndex])}else Qo=_e.material;if(!Qo)return;let Io=Qo.map;if(!Io&&Qo.uniforms&&Qo.uniforms.t0&&(Io=Qo.uniforms.t0.value),!Io&&Qo.uniforms&&Qo.uniforms.map&&(Io=Qo.uniforms.map.value),!Io||!Io.image)return;mo%2==0?ji.array[mo]=xr*(Io.image.width/THREE.MathUtils.ceilPowerOfTwo(Io.image.width)):ji.array[mo]=xr*(Io.image.height/THREE.MathUtils.ceilPowerOfTwo(Io.image.height))}})),L.scale_factor&&bi==="POSITION"&&(ji=new i(new Float32Array(da),Ni.itemSize,Ni.normalized),ji.array.forEach((xr,mo)=>{ji.array[mo]*=L.scale_factor}));var po=ee(ji||Ni,We);po!==null&&(Xt[bi]=po,K.attributes.set(X(Ni),po))}}if(ri!==void 0&&typeof We.setAttribute=="function"&&We.setAttribute("normal",ri),Object.keys(Xt).length===0)return null;if(_e.morphTargetInfluences!==void 0&&_e.morphTargetInfluences.length>0){var Te=[],lt=[],ot={};if(_e.morphTargetDictionary!==void 0)for(var ft in _e.morphTargetDictionary)ot[_e.morphTargetDictionary[ft]]=ft;for(var Et=0;Et<_e.morphTargetInfluences.length;++Et){var Ai={},Ii=!1;for(var bi in We.morphAttributes){if(bi!=="position"&&bi!=="normal"){Ii||(console.warn("GLTFExporter: Only POSITION and NORMAL morph are supported."),Ii=!0);continue}var Ni=We.morphAttributes[bi][Et],Wt=bi.toUpperCase(),ti=We.attributes[bi];if(K.attributes.has(X(Ni))){Ai[Wt]=K.attributes.get(X(Ni));continue}var Jt=Ni.clone();if(!We.morphTargetsRelative)for(var Ci=0,zi=Ni.count;Ci<zi;Ci++)Jt.setXYZ(Ci,Ni.getX(Ci)-ti.getX(Ci),Ni.getY(Ci)-ti.getY(Ci),Ni.getZ(Ci)-ti.getZ(Ci));Ai[Wt]=ee(Jt,We),K.attributes.set(X(ti),Ai[Wt])}fi.push(Ai),Te.push(_e.morphTargetInfluences[Et]),_e.morphTargetDictionary!==void 0&&lt.push(ot[Et])}Rt.weights=Te,lt.length>0&&(Rt.extras={},Rt.extras.targetNames=lt)}var en=L.forceIndices,Un=Array.isArray(_e.material);if(Un&&We.groups.length===0)return null;!en&&We.index===null&&Un&&(en=!0);var Ji=!1;if(We.index===null&&en){for(var jo=[],Et=0,An=We.attributes.position.count;Et<An;Et++)jo[Et]=Et;We.setIndex(jo),Ji=!0}for(var ua=Un?_e.material:[_e.material],jn=Un?We.groups:[{materialIndex:0,start:void 0,count:void 0}],Et=0,An=jn.length;Et<An;Et++){var _n={mode:pt,attributes:Xt};if(z(We,_n),fi.length>0&&(_n.targets=fi),We.index!==null){var je=X(We.index);(jn[Et].start!==void 0||jn[Et].count!==void 0)&&(je+=":"+jn[Et].start+":"+jn[Et].count),K.attributes.has(je)?_n.indices=K.attributes.get(je):(_n.indices=ee(We.index,We,jn[Et].start,jn[Et].count),K.attributes.set(je,_n.indices)),_n.indices===null&&delete _n.indices}var Ea=He(ua[jn[Et].materialIndex]);Ea!==null&&(_n.material=Ea),Yt.push(_n)}Ji&&We.setIndex(null),Rt.primitives=Yt,J.meshes||(J.meshes=[]),J.meshes.push(Rt);var ja=J.meshes.length-1;return K.meshes.set(je,ja),ja}function de(_e){J.cameras||(J.cameras=[]);var je=_e.isOrthographicCamera,We={type:je?"orthographic":"perspective"};return je?We.orthographic={xmag:_e.right*2,ymag:_e.top*2,zfar:_e.far<=0?.001:_e.far,znear:_e.near<0?0:_e.near}:We.perspective={aspectRatio:_e.aspect,yfov:c.degToRad(_e.fov),zfar:_e.far<=0?.001:_e.far,znear:_e.near<0?0:_e.near},_e.name!==""&&(We.name=_e.type),J.cameras.push(We),J.cameras.length-1}function Oe(_e,je){J.animations||(J.animations=[]),_e=j.Utils.mergeMorphTargetTracks(_e.clone(),je);for(var We=_e.tracks,pt=[],At=[],Rt=0;Rt<We.length;++Rt){var Xt=We[Rt],Yt=_.parseTrackName(Xt.name),fi=_.findNode(je,Yt.nodeName),vi=R[Yt.propertyName];if(Yt.objectName==="bones"&&(fi.isSkinnedMesh===!0?fi=fi.skeleton.getBoneByName(Yt.objectIndex):fi=void 0),!fi||!vi)return console.warn('THREE.GLTFExporter: Could not export animation track "%s".',Xt.name),null;var ri=1,ji=Xt.values.length/Xt.times.length;vi===R.morphTargetInfluences&&(ji/=fi.morphTargetInfluences.length);var bi;Xt.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline===!0?(bi="CUBICSPLINE",ji/=3):Xt.getInterpolation()===a?bi="STEP":bi="LINEAR",At.push({input:ee(new i(Xt.times,ri)),output:ee(new i(Xt.values,ji)),interpolation:bi}),pt.push({sampler:At.length-1,target:{node:Q.get(fi),path:vi}})}return J.animations.push({name:_e.name||"clip_"+J.animations.length,samplers:At,channels:pt}),J.animations.length-1}function Je(_e){var je=J.nodes[Q.get(_e)],We=_e.skeleton;if(We===void 0)return null;var pt=_e.skeleton.bones[0];if(pt===void 0)return null;var At=[],Rt=new Float32Array(We.bones.length*16);let Xt=new b;for(var Yt=0;Yt<We.bones.length;++Yt){At.push(Q.get(We.bones[Yt]));let vi=We.boneInverses[Yt].clone();Xt.setFromMatrixPosition(vi),Xt.multiplyScalar(L.scale_factor),vi.setPosition(Xt),vi.toArray(Rt,Yt*16)}J.skins===void 0&&(J.skins=[]),J.skins.push({inverseBindMatrices:ee(new i(Rt,16)),joints:At,skeleton:Q.get(pt)});var fi=je.skin=J.skins.length-1;return fi}function dt(_e){var je={};_e.name&&(je.name=_e.name),je.color=_e.color.toArray(),je.intensity=_e.intensity,_e.isDirectionalLight?je.type="directional":_e.isPointLight?(je.type="point",_e.distance>0&&(je.range=_e.distance)):_e.isSpotLight&&(je.type="spot",_e.distance>0&&(je.range=_e.distance),je.spot={},je.spot.innerConeAngle=(_e.penumbra-1)*_e.angle*-1,je.spot.outerConeAngle=_e.angle),_e.decay!==void 0&&_e.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),_e.target&&(_e.target.parent!==_e||_e.target.position.x!==0||_e.target.position.y!==0||_e.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1.");var We=J.extensions.KHR_lights_punctual.lights;return We.push(je),We.length-1}function ue(_e){if(_e.no_export||OutlinerNode.uuids[_e.name]&&OutlinerNode.uuids[_e.name].export==!1)return null;J.nodes||(J.nodes=[]);var je={};if(L.trs){var We=_e.quaternion.toArray(),pt=_e.position.toArray(),At=_e.scale.toArray();ne(We,[0,0,0,1])||(je.rotation=We),ne(pt,[0,0,0])||(L.scale_factor&&(pt=pt.map(bi=>bi*L.scale_factor)),je.translation=pt),ne(At,[1,1,1])||(je.scale=At)}else _e.matrixAutoUpdate&&_e.updateMatrix(),ne(_e.matrix.elements,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])||(je.matrix=_e.matrix.elements);if(_e.name!==""&&(je.name=String(_e.name)),OutlinerNode.uuids[_e.name]&&(je.name=String(OutlinerNode.uuids[_e.name].name)),z(_e,je),_e.isMesh||_e.isLine||_e.isPoints){var Rt=Ae(_e);Rt!==null&&(je.mesh=Rt)}else if(_e.isCamera)je.camera=de(_e);else if(_e.isDirectionalLight||_e.isPointLight||_e.isSpotLight)re.KHR_lights_punctual||(J.extensions=J.extensions||{},J.extensions.KHR_lights_punctual={lights:[]},re.KHR_lights_punctual=!0),je.extensions=je.extensions||{},je.extensions.KHR_lights_punctual={light:dt(_e)};else if(_e.isLight)return console.warn("THREE.GLTFExporter: Only directional, point, and spot lights are supported.",_e),null;if(_e.isSkinnedMesh&&H.push(_e),_e.children.length>0){for(var Xt=[],Yt=0,fi=_e.children.length;Yt<fi;Yt++){var vi=_e.children[Yt];if(vi.visible||L.onlyVisible===!1){var ri=ue(vi);ri!==null&&Xt.push(ri)}}Xt.length>0&&(je.children=Xt)}J.nodes.push(je);var ji=J.nodes.length-1;return Q.set(_e,ji),ji}function Fe(_e){J.scenes||(J.scenes=[],J.scene=0);var je={nodes:[]};_e.name!==""&&(je.name=_e.name),_e.userData&&Object.keys(_e.userData).length>0&&(je.extras=z(_e)),J.scenes.push(je);for(var We=[],pt=0,At=_e.children.length;pt<At;pt++){var Rt=_e.children[pt];if(Rt.visible||L.onlyVisible===!1){var Xt=ue(Rt);Xt!==null&&We.push(Xt)}}We.length>0&&(je.nodes=We),z(_e,je)}function Ee(_e){var je=new v;je.name="AuxScene";for(var We=0;We<_e.length;We++)je.children.push(_e[We]);Fe(je)}function xt(_e){_e=_e instanceof Array?_e:[_e];for(var je=[],We=0;We<_e.length;We++)_e[We]instanceof v?Fe(_e[We]):je.push(_e[We]);je.length>0&&Ee(je);for(var We=0;We<H.length;++We)Je(H[We]);for(var We=0;We<L.animations.length;++We)Oe(L.animations[We],_e[0])}xt(F),Promise.all(me).then(function(){var _e=new Blob(te,{type:"application/octet-stream"}),je=Object.keys(re);if(je.length>0&&(J.extensionsUsed=je),J.buffers&&J.buffers.length>0){J.buffers[0].byteLength=_e.size;var We=new window.FileReader;if(L.binary===!0){var pt=12,At=1179937895,Rt=2,Xt=8,Yt=1313821514,fi=5130562;We.readAsArrayBuffer(_e),We.onloadend=function(){var vi=Ke(We.result),ri=new DataView(new ArrayBuffer(Xt));ri.setUint32(0,vi.byteLength,!0),ri.setUint32(4,fi,!0);var ji=Ke(Me(JSON.stringify(J)),32),bi=new DataView(new ArrayBuffer(Xt));bi.setUint32(0,ji.byteLength,!0),bi.setUint32(4,Yt,!0);var Ni=new ArrayBuffer(pt),xa=new DataView(Ni);xa.setUint32(0,At,!0),xa.setUint32(4,Rt,!0);var da=pt+bi.byteLength+ji.byteLength+ri.byteLength+vi.byteLength;xa.setUint32(8,da,!0);var po=new Blob([Ni,bi,ji,ri,vi],{type:"application/octet-stream"}),Te=new window.FileReader;Te.readAsArrayBuffer(po),Te.onloadend=function(){O(Te.result)}}}else We.readAsDataURL(_e),We.onloadend=function(){var vi=We.result;J.buffers[0].uri=vi,O(J)}}else O(J)})}},j.Utils={insertKeyframe:function(F,O){var L=.001,U=F.getValueSize(),J=new F.TimeBufferType(F.times.length+1),ie=new F.ValueBufferType(F.values.length+U),te=F.createInterpolant(new F.ValueBufferType(U)),me;if(F.times.length===0){J[0]=O;for(var Q=0;Q<U;Q++)ie[Q]=0;me=0}else if(O<F.times[0]){if(Math.abs(F.times[0]-O)<L)return 0;J[0]=O,J.set(F.times,1),ie.set(te.evaluate(O),0),ie.set(F.values,U),me=0}else if(O>F.times[F.times.length-1]){if(Math.abs(F.times[F.times.length-1]-O)<L)return F.times.length-1;J[J.length-1]=O,J.set(F.times,0),ie.set(F.values,0),ie.set(te.evaluate(O),F.values.length),me=J.length-1}else for(var Q=0;Q<F.times.length;Q++){if(Math.abs(F.times[Q]-O)<L)return Q;if(F.times[Q]<O&&F.times[Q+1]>O){J.set(F.times.slice(0,Q+1),0),J[Q+1]=O,J.set(F.times.slice(Q+1),Q+2),ie.set(F.values.slice(0,(Q+1)*U),0),ie.set(te.evaluate(O),(Q+1)*U),ie.set(F.values.slice((Q+1)*U),(Q+2)*U),me=Q+1;break}}return F.times=J,F.values=ie,me},mergeMorphTargetTracks:function(F,O){for(var L=[],U={},J=F.tracks,ie=0;ie<J.length;++ie){var te=J[ie],me=_.parseTrackName(te.name),Q=_.findNode(O,me.nodeName);if(me.propertyName!=="morphTargetInfluences"||me.propertyIndex===void 0){L.push(te);continue}if(te.createInterpolant!==te.InterpolantFactoryMethodDiscrete&&te.createInterpolant!==te.InterpolantFactoryMethodLinear){if(te.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."),te=te.clone(),te.setInterpolation(o)}var H=Q.morphTargetInfluences.length,re=Q.morphTargetDictionary[me.propertyIndex];if(re===void 0)throw new Error("THREE.GLTFExporter: Morph target name not found: "+me.propertyIndex);var K;if(U[Q.uuid]===void 0){K=te.clone();for(var pe=new K.ValueBufferType(H*K.times.length),xe=0;xe<K.times.length;xe++)pe[xe*H+re]=K.values[xe];K.name=".morphTargetInfluences",K.values=pe,U[Q.uuid]=K,L.push(K);continue}var le=te.createInterpolant(new te.ValueBufferType(1));K=U[Q.uuid];for(var xe=0;xe<K.times.length;xe++)K.values[xe*H+re]=le.evaluate(K.times[xe]);for(var xe=0;xe<te.times.length;xe++){var Be=this.insertKeyframe(K,te.times[xe]);K.values[Be*H+re]=te.values[xe]}}return F.tracks=L,F}},THREE.GLTFExporter=j})();var vL=Vl(Mw(),1);var Bb=class{constructor(e,t){W(this,"canvas");W(this,"ctx");e instanceof HTMLCanvasElement?e.getContext("2d")&&t!==!0?this.canvas=e:(this.createCanvas(e.width,e.height),this.loadFromImage(e)):e instanceof HTMLImageElement?(this.createCanvas(e.naturalWidth,e.naturalHeight),this.loadFromImage(e)):this.createCanvas(e||16,typeof t=="number"?t:16),this.ctx=this.canvas.getContext("2d")}get width(){return this.canvas.width}get height(){return this.canvas.height}createCanvas(e,t){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.ctx=this.canvas.getContext("2d")}async loadFromURL(e){let t=new Image;e.startsWith("https")&&(t.crossOrigin="blockbench.net"),t.src=e.replace(/#/g,"%23"),await new Promise((n,a)=>{t.onload=()=>{this.loadFromImage(t),n()},t.onerror=a})}loadFromImage(e){"naturalWidth"in e&&(this.canvas.width=e.naturalWidth,this.canvas.height=e.naturalHeight),this.ctx.drawImage(e,0,0)}async loadFromTGA(e){let t=await(0,vL.decodeTga)(e);this.canvas.width=t.image.width,this.canvas.height=t.image.height;let n=new ImageData(t.image.width,t.image.height);n.data.set(t.image.data),this.ctx.putImageData(n,0,0)}loadFromCanvas(e){this.canvas.width=e.width,this.canvas.height=e.height,this.ctx.drawImage(e,0,0)}autoCrop(){let e=document.createElement("canvas").getContext("2d"),t=this.ctx.getImageData(0,0,this.width,this.height),n={top:null,left:null,right:null,bottom:null},a,o;for(let c=0;c<t.data.length;c+=4)t.data[c+3]!==0&&(a=c/4%this.width,o=~~(c/4/this.width),n.top===null&&(n.top=o),(n.left===null||a<n.left)&&(n.left=a),(n.right===null||n.right<a)&&(n.right=a),(n.bottom===null||n.bottom<o)&&(n.bottom=o));let r=n.bottom-n.top+1,s=n.right-n.left+1,l=this.ctx.getImageData(n.left,n.top,s,r);e.canvas.width=s,e.canvas.height=r,e.putImageData(l,0,0),this.canvas=e.canvas,this.ctx=e}isEmpty(){let{data:e}=this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height);for(let t=0;t<e.length;t+=4)if(e[t+3])return!1;return!0}},Mee={CanvasFrame:Bb};Object.assign(window,Mee);var Qh=class i{static linear(e){return e}static easeInSine(e){return-1*Math.cos(e*(Math.PI/2))+1}static easeOutSine(e){return Math.sin(e*(Math.PI/2))}static easeInOutSine(e){return-.5*(Math.cos(Math.PI*e)-1)}static easeInQuad(e){return e*e}static easeOutQuad(e){return e*(2-e)}static easeInOutQuad(e){return e<.5?2*e*e:-1+(4-2*e)*e}static easeInCubic(e){return e*e*e}static easeOutCubic(e){let t=e-1;return t*t*t+1}static easeInOutCubic(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}static easeInQuart(e){return e*e*e*e}static easeOutQuart(e){let t=e-1;return 1-t*t*t*t}static easeInOutQuart(e){let t=e-1;return e<.5?8*e*e*e*e:1-8*t*t*t*t}static easeInQuint(e){return e*e*e*e*e}static easeOutQuint(e){let t=e-1;return 1+t*t*t*t*t}static easeInOutQuint(e){let t=e-1;return e<.5?16*e*e*e*e*e:1+16*t*t*t*t*t}static easeInExpo(e){return e===0?0:Math.pow(2,10*(e-1))}static easeOutExpo(e){return e===1?1:-Math.pow(2,-10*e)+1}static easeInOutExpo(e){if(e===0||e===1)return e;let t=e*2,n=t-1;return t<1?.5*Math.pow(2,10*n):.5*(-Math.pow(2,-10*n)+2)}static easeInCirc(e){let t=e/1;return-1*(Math.sqrt(1-t*e)-1)}static easeOutCirc(e){let t=e-1;return Math.sqrt(1-t*t)}static easeInOutCirc(e){let t=e*2,n=t-2;return t<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-n*n)+1)}static easeInBack(e,t=1.70158){return e*e*((t+1)*e-t)}static easeOutBack(e,t=1.70158){let n=e/1-1;return n*n*((t+1)*n+t)+1}static easeInOutBack(e,t=1.70158){let n=e*2,a=n-2,o=t*1.525;return n<1?.5*n*n*((o+1)*n-o):.5*(a*a*((o+1)*a+o)+2)}static easeInElastic(e,t=.7){if(e===0||e===1)return e;let a=e/1-1,o=1-t,r=o/(2*Math.PI)*Math.asin(1);return-(Math.pow(2,10*a)*Math.sin((a-r)*(2*Math.PI)/o))}static easeOutElastic(e,t=.7){if(e===0||e===1)return e;let n=1-t,a=e*2,o=n/(2*Math.PI)*Math.asin(1);return Math.pow(2,-10*a)*Math.sin((a-o)*(2*Math.PI)/n)+1}static easeInOutElastic(e,t=.65){if(e===0||e===1)return e;let n=1-t,a=e*2,o=a-1,r=n/(2*Math.PI)*Math.asin(1);return a<1?-.5*(Math.pow(2,10*o)*Math.sin((o-r)*(2*Math.PI)/n)):Math.pow(2,-10*o)*Math.sin((o-r)*(2*Math.PI)/n)*.5+1}static easeOutBounce(e){let t=e/1;if(t<1/2.75)return 7.5625*t*t;if(t<2/2.75){let n=t-.5454545454545454;return 7.5625*n*n+.75}else if(t<2.5/2.75){let n=t-.8181818181818182;return 7.5625*n*n+.9375}else{let n=t-.9545454545454546;return 7.5625*n*n+.984375}}static easeInBounce(e){return 1-i.easeOutBounce(1-e)}static easeInOutBounce(e){return e<.5?i.easeInBounce(e*2)*.5:i.easeOutBounce(e*2-1)*.5+.5}};window.Easings=Qh;window.SystemInfo=null;var zl=class zl{static checkTarget(e){return!(zl.active&&zl.active.priority>e.priority)}static requestTarget(e){return zl.checkTarget(e)==!1?!1:(zl.active=e,!0)}static endTarget(e){e&&e!=zl.active||(zl.active=null)}static hasMinPriority(e){return zl.active&&zl.active.priority>=e}};W(zl,"active",null),W(zl,"types",{navigate:{id:"navigate",priority:0},paint:{id:"paint",priority:1},gizmo_transform:{id:"gizmo_transform",priority:2},global_drag_slider:{id:"global_drag_slider",priority:3}});var $i=zl;document.addEventListener("pointerup",i=>{$i.active&&!$i.active.persist_after_pointerup&&$i.endTarget()});Object.assign(window,{PointerTarget:$i});var zA=class extends THREE.EventDispatcher{constructor(e,t){super(),this.object=e,this.preview=t,this.domElement=t.canvas,this.enabled=!0,this.isEnabled=function(){return this.enabled},this.target=new THREE.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:THREE.MOUSE.LEFT,ZOOM:THREE.MOUSE.MIDDLE,PAN:THREE.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom;var n=[];this.getPolarAngle=function(){return u.phi},this.getAzimuthalAngle=function(){return u.theta},this.reset=function(){a.target.copy(a.target0),a.object.position.copy(a.position0),a.object.zoom=a.zoom0,a.object.updateProjectionMatrix(),a.dispatchEvent(o),a.update(),c=l.NONE},this.updateSceneScale=function(){a.update()},this.onUpdate=function(S){typeof S=="function"&&n.push(S)},this.update=function(){var S=new THREE.Vector3,P=new THREE.Quaternion().setFromUnitVectors(e.up,new THREE.Vector3(0,1,0)),V=P.clone().invert(),ee=new THREE.Vector3,ce=new THREE.Quaternion;return function(){if(a.unlinked)return!1;var ge=a.object.position;if(S.copy(ge).sub(a.target),S.applyQuaternion(P),u.setFromVector3(S),a.autoRotate&&c===l.NONE){let Se=j();a.autoRotateProgress+=Se,a.rotateLeft(Se)}return u.theta+=p.theta,u.phi+=p.phi,u.theta=Math.max(a.minAzimuthAngle,Math.min(a.maxAzimuthAngle,u.theta)),u.phi=Math.max(a.minPolarAngle,Math.min(a.maxPolarAngle,u.phi)),u.makeSafe(),u.radius*=m,u.radius=Math.max(a.minDistance,Math.min(a.maxDistance,u.radius)),a.target.add(_),S.setFromSpherical(u),S.applyQuaternion(V),ge.copy(a.target).add(S),a.object.lookAt(a.target),a.enableDamping===!0?(p.theta*=1-a.dampingFactor,p.phi*=1-a.dampingFactor):p.set(0,0,0),m=1,_.set(0,0,0),f||ee.distanceToSquared(a.object.position)>d||8*(1-ce.dot(a.object.quaternion))>d?(a.dispatchEvent(o),ee.copy(a.object.position),ce.copy(a.object.quaternion),f=!1,n.forEach(Se=>Se(o)),!0):!1}}(),this.dispose=function(){a.domElement.removeEventListener("contextmenu",onContextMenu,!1),a.domElement.removeEventListener("mousedown",Ue,!1),a.domElement.removeEventListener("wheel",Ge,!1),a.domElement.removeEventListener("touchstart",Ke,!1),a.domElement.removeEventListener("touchend",C,!1),a.domElement.removeEventListener("touchmove",z,!1),document.removeEventListener("mousemove",et,!1),document.removeEventListener("mouseup",Qe,!1),window.removeEventListener("keydown",Ie,!1)};var a=this,o={type:"change"},r={type:"start"},s={type:"end"},l={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY_PAN:4},c=l.NONE,d=1e-6,u=new THREE.Spherical,p=new THREE.Spherical,m=1,_=new THREE.Vector3,f=!1,g=new THREE.Vector2,v=new THREE.Vector2,b=new THREE.Vector2,x=new THREE.Vector2,w=new THREE.Vector2,E=new THREE.Vector2,y=new THREE.Vector2,A=new THREE.Vector2,R=new THREE.Vector2;function j(){return 2*Math.PI/60/60*a.autoRotateSpeed}function F(S=1){return Math.pow(.95,a.zoomSpeed*S)}this.rotateLeft=function(S){p.theta-=S},this.rotateUp=function(S){p.phi-=S};var O=function(){var S=new THREE.Vector3;return function(V,ee){S.setFromMatrixColumn(ee,0),S.multiplyScalar(-V),_.add(S)}}(),L=function(){var S=new THREE.Vector3;return function(V,ee){S.setFromMatrixColumn(ee,1),S.multiplyScalar(V),_.add(S)}}();this.panLeft=O,this.panUp=L;var U=function(){var S=new THREE.Vector3;return function(V,ee){var ce=a.domElement===document?a.domElement.body:a.domElement;if(a.object instanceof THREE.PerspectiveCamera){var be=a.object.position;S.copy(be).sub(a.target);var ge=S.length();ge*=Math.tan(a.object.fov/2*Math.PI/180),O(2*V*ge/ce.clientHeight,a.object.matrix),L(2*ee*ge/ce.clientHeight,a.object.matrix)}else a.object instanceof THREE.OrthographicCamera?(O(V*(a.object.right-a.object.left)/a.object.zoom/ce.clientWidth,a.object.matrix),L(ee*(a.object.top-a.object.bottom)/a.object.zoom/ce.clientHeight,a.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),a.enablePan=!1)}}();function J(S){a.object instanceof THREE.PerspectiveCamera?m/=S:a.object instanceof THREE.OrthographicCamera?(a.object.zoom=Math.max(a.minZoom,Math.min(a.maxZoom,a.object.zoom*S)),a.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),a.enableZoom=!1)}function ie(S){a.object instanceof THREE.PerspectiveCamera?m*=S:a.object instanceof THREE.OrthographicCamera?(a.object.zoom=Math.max(a.minZoom,Math.min(a.maxZoom,a.object.zoom/S)),a.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),a.enableZoom=!1)}this.dollyIn=J,this.dollyOut=ie;function te(S){g.set(S.clientX,S.clientY)}function me(S){y.set(S.clientX,S.clientY)}function Q(S){x.set(S.clientX,S.clientY)}function H(S){v.set(S.clientX,S.clientY),b.subVectors(v,g);var P=a.domElement===document?a.domElement.body:a.domElement;let V=Math.clamp(Math.min(P.clientWidth+P.clientHeight),600,1200);a.rotateLeft(2*Math.PI*b.x/V*a.rotateSpeed),a.rotateUp(2*Math.PI*b.y/V*a.rotateSpeed),g.copy(v),a.update()}function re(S){A.set(S.clientX,S.clientY),R.subVectors(A,y),R.y>0?J(F(.12*R.y)):R.y<0&&ie(F(.12*-R.y)),y.copy(A),a.update()}function K(S){w.set(S.clientX,S.clientY),E.subVectors(w,x),U(E.x,E.y),x.copy(w),a.update()}function pe(S){}function xe(S){let P=Math.abs(S.deltaY)>=50?1:.25;S.deltaY<0?ie(F(P)):S.deltaY>0&&J(F(P)),a.update()}function le(S){switch(S.keyCode){case a.keys.UP:U(0,a.keyPanSpeed),a.update();break;case a.keys.BOTTOM:U(0,-a.keyPanSpeed),a.update();break;case a.keys.LEFT:U(a.keyPanSpeed,0),a.update();break;case a.keys.RIGHT:U(-a.keyPanSpeed,0),a.update();break}}function Be(S){a.enableRotate&&g.set(S.touches[0].pageX,S.touches[0].pageY)}function X(S){if(a.enableZoom){var P=S.touches[0].pageX-S.touches[1].pageX,V=S.touches[0].pageY-S.touches[1].pageY,ee=Math.sqrt(P*P+V*V);y.set(0,ee)}if(a.enablePan){var ce=.5*(S.touches[0].pageX+S.touches[1].pageX),be=.5*(S.touches[0].pageY+S.touches[1].pageY);x.set(ce,be)}}function ne(S){v.set(S.touches[0].pageX,S.touches[0].pageY),b.subVectors(v,g);var P=a.domElement===document?a.domElement.body:a.domElement;a.rotateLeft(2*Math.PI*b.x/P.clientWidth*a.rotateSpeed),a.rotateUp(2*Math.PI*b.y/P.clientHeight*a.rotateSpeed),g.copy(v),a.update()}function Me(S){if(a.enableZoom){var P=S.touches[0].pageX-S.touches[1].pageX,V=S.touches[0].pageY-S.touches[1].pageY,ee=Math.sqrt(P*P+V*V);A.set(0,ee),R.set(0,Math.pow(A.y/y.y,a.zoomSpeed)),J(R.y),y.copy(A)}if(a.enablePan){var ce=.5*(S.touches[0].pageX+S.touches[1].pageX),be=.5*(S.touches[0].pageY+S.touches[1].pageY);w.set(ce,be),E.subVectors(w,x).multiplyScalar(1),U(E.x,E.y),x.copy(w)}a.update()}function Ue(S){if(!(a.isEnabled()===!1||!$i.requestTarget($i.types.navigate))){if(S.preventDefault(),a.hasMoved=!1,Keybinds.extra.preview_rotate.keybind.isTriggered(S)){if(a.enableRotate===!1||S.which===1&&Canvas.raycast(S)&&!Modes.display)return;te(S),c=l.ROTATE}else if(Keybinds.extra.preview_drag.keybind.isTriggered(S)){if(a.enablePan===!1||S.which===1&&Canvas.raycast(S)&&!Modes.display)return;Q(S),c=l.PAN}else if(Keybinds.extra.preview_zoom.keybind.isTriggered(S)){if(a.enableZoom===!1||S.which===1&&Canvas.raycast(S)&&!Modes.display)return;me(S),c=l.DOLLY}c!==l.NONE&&(document.addEventListener("mousemove",et,!1),document.addEventListener("mouseup",Qe,!1),a.dispatchEvent(r))}}function et(S){if(!(a.isEnabled()===!1||!$i.requestTarget($i.types.navigate))){if(S.preventDefault(),a.hasMoved=!0,c===l.ROTATE){if(a.enableRotate===!1)return;H(S)}else if(c===l.DOLLY){if(a.enableZoom===!1)return;re(S)}else if(c===l.PAN){if(a.enablePan===!1)return;K(S)}}}function Qe(S){a.isEnabled()!==!1&&($i.endTarget($i.types.navigate),document.removeEventListener("mousemove",et,!1),document.removeEventListener("mouseup",Qe,!1),a.dispatchEvent(s),c=l.NONE)}this.stopMovement=function(S){Qe()};function Ge(S){if(a.isEnabled()===!1||a.enableZoom===!1||c!==l.NONE&&c!==l.ROTATE)return;let V=Keybinds.extra.preview_scroll_zoom.keybind.isTriggered(S);!V&&!S.ctrlKey&&!S.shiftKey&&!S.metaKey&&Math.abs(S.deltaY)!=100&&(U(-S.deltaX,-S.deltaY),a.update()),V&&(S.preventDefault(),S.stopPropagation(),xe(S))}function Ie(S){a.isEnabled()===!1||a.enableKeys===!1||a.enablePan===!1||le(S)}function Ke(S){if(a.isEnabled()!==!1){switch(S.preventDefault(),S.touches.length){case 1:if(a.enableRotate===!1||S.touches[0].touchType=="stylus"&&Modes.paint)return;Be(S),c=l.TOUCH_ROTATE;break;case 2:X(S),c=l.TOUCH_DOLLY_PAN;break;default:c=l.NONE}c!==l.NONE&&a.dispatchEvent(r)}}function z(S){if(a.isEnabled()!==!1&&$i.requestTarget($i.types.navigate))switch(S.preventDefault(),S.stopPropagation(),S.touches.length){case 1:if(c!==l.TOUCH_ROTATE)return;ne(S),a.hasMoved=!0;break;case 2:if(c!==l.TOUCH_DOLLY_PAN)return;Me(S);break;default:c=l.NONE}}function C(S){a.isEnabled()!==!1&&(a.dispatchEvent(s),c=l.NONE,a.hasMoved=!1)}a.domElement.addEventListener("mousedown",Ue,!1),a.domElement.addEventListener("wheel",Ge,!1),a.domElement.addEventListener("touchstart",Ke,!1),a.domElement.addEventListener("touchend",C,!1),a.domElement.addEventListener("touchmove",z,!1),window.addEventListener("keydown",Ie,!1),this.update()}},bL=zA;var yL={"dialog.ok":"OK","dialog.cancel":"Zru\u0161it","dialog.confirm":"Potvrdit","dialog.close":"Zav\u0159\xEDt","dialog.import":"Importovat","dialog.save":"Ulo\u017Eit","dialog.discard":"Zahodit","dialog.dontshowagain":"Znovu nezobrazovat","data.cube":"Kostka","data.group":"Skupina","data.texture":"Textura","data.plugin":"Modul","data.preview":"N\xE1hled","data.toolbar":"N\xE1stroje","data.image":"Obr\xE1zek","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"P\u0159\xEDkazov\xFD \u0159\xE1dek [cmd]","keys.delete":"Smazat","keys.space":"Mezern\xEDk","keys.leftclick":"Lev\xE9 tla\u010D\xEDtko","keys.middleclick":"Prost\u0159edn\xED tla\u010D\xEDtko","keys.rightclick":"Prav\xE9 tla\u010D\xEDtko","keys.tab":"Tab / Tabul\xE1tor","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"Kontextov\xE1 nab\xEDdka","keys.left":"\u0160ipka vlevo","keys.up":"\u0160ipka nahoru","keys.right":"\u0160ipka vpravo","keys.down":"\u0160ipka dol\u016F","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Plus","keys.comma":"\u010C\xE1rka","keys.point":"Bod","keys.minus":"M\xEDnus","keys.cross":"K\u0159\xED\u017Eek","keys.end":"Konec","keys.pos1":"Pozice 1","keys.printscreen":"Print Screen","keys.pause":"Pozastavit","message.rotation_limit.title":"Limity Rotace","message.rotation_limit.message":"Rotace jsou v Minecraftu omezeny na jednu osu. Rotace na jin\xE9 ose vyma\u017Ee v\u0161echny rotace na ostatn\xEDch os\xE1ch. Pokud modelujete pro jin\xE9 \xFA\u010Dely a pot\u0159ebujete voln\xE9 rotace, p\u0159eve\u010Fte model na \u201EObecn\xFD model\u201C.","message.file_not_found.title":"Soubor Nebyl Nalezen","message.file_not_found.message":"Blockbench nebyl schopen naj\xEDt po\u017Eadovan\xFD soubor. Ujist\u011Bte se, \u017Ee je soubor ulo\u017Een na lok\xE1ln\xEDm disku a ne na cloudov\xE9m \xFAlo\u017Ei\u0161ti.","message.screenshot.title":"Foto sn\xEDmek","message.screenshot.clipboard":"Schr\xE1nka","message.screenshot.right_click":"Prav\xFDm kliknut\xEDm/podr\u017Een\xEDm zkop\xEDrujte sn\xEDmek modelu","message.invalid_file.title":"Neplatn\xFD Soubor","message.invalid_file.message":"Nelze otev\u0159\xEDt JSONov\xFD souvor: %0","message.invalid_model.title":"Neplatn\xFD modelov\xFD soubor","message.invalid_model.message":"Tento soubor neobsahuje platn\xE1 data modelu.","message.child_model_only.title":"Pr\xE1zdn\xFD Pod\u0159\xEDzen\xFD Model","message.child_model_only.message":"Tento soubor je doprovodn\xFD pro %0 a neobsahuje \u017E\xE1dn\xFD model.","message.unsaved_textures.title":"Neulo\u017Een\xE9 Textury","message.unsaved_textures.message":"V\xE1\u0161 model m\xE1 neulo\u017Een\xE9 textury. Ujist\u011Bte se, zda je m\xE1te ulo\u017Een\xE9 a vlo\u017Een\xE9 ve spr\xE1vn\xE9 slo\u017Ece va\u0161eho resource packu.","message.model_clipping.title":"P\u0159\xEDli\u0161 Velk\xFD Model","message.model_clipping.message":"V\xE1\u0161 model obsahuje %0 kostek, kter\xE9 jsou v\u011Bt\u0161\xED ne\u017E limit blok\u016F povolen\xFD v Minecraftu. Tento model nebude v Minecraftu fungovat.","message.loose_texture.title":"P\u0159id\xE1n\xED Textury","message.loose_texture.message":"P\u0159idan\xE1 textura nen\xED sou\u010D\xE1st\xED \u017E\xE1dn\xE9ho resource packu. Minecraft je schopen na\u010D\xEDst textury pouze ze slo\u017Eky textures na\u010Dten\xE9ho resource packu.","message.loose_texture.change":"Zm\u011Bnit Um\xEDst\u011Bn\xED","message.update_res.title":"Rozli\u0161en\xED textury","message.update_res.message":"P\u0159ejete si aktualizovat rozli\u0161en\xED projektu na rozli\u0161en\xED t\xE9to textury? Pokud m\xE1 va\u0161e textura vy\u0161\u0161\xED rozli\u0161en\xED ne\u017E obvykle, klikn\u011Bte na 'Zru\u0161it'.","message.update_res.update":"Aktualizovat","message.bedrock_overwrite_error.message":"Blockbench nen\xED schopen zkombinovat tento model s dan\xFDm star\xFDm souborem","message.bedrock_overwrite_error.backup_overwrite":"Vytvo\u0159it z\xE1lohu a p\u0159epsat","message.bedrock_overwrite_error.overwrite":"P\u0159epsat","message.close_warning.message":"P\u0159ejete si ulo\u017Eit v\xE1\u0161 model?","message.close_warning.web":"Neulo\u017Een\xE1 data budou ztracena. Opravdu chcete odej\xEDt?","message.default_textures.title":"V\xFDchoz\xED textury","message.default_textures.message":'Vyberte slo\u017Eku "textures" va\u0161eho v\xFDchoz\xEDho resource packu',"message.default_textures.detail":'Extrahujte v\xFDchoz\xED resource pack z Minecraft .jar souboru, nebo Googlu a st\xE1hn\u011Bte jej. Pot\xE9 najd\u011Bte slo\u017Eku "textures" a otev\u0159ete ji. Blockbench si zapamatuje um\xEDst\u011Bn\xED slo\u017Eky a pokus\xED se z n\xED na\u010D\xEDst textury, pokud je nem\u016F\u017Ee naj\xEDt ve st\xE1vaj\xEDc\xEDm resource packu.',"message.default_textures.select":'Vybrat v\xFDchoz\xED "textures" slo\u017Eku',"message.image_editor.title":"Vyberte grafick\xFD editor","message.image_editor.file":"Vybrat soubor...","message.image_editor.exe":"Vyberte soubor .exe grafick\xE9ho editoru","message.display_skin.title":"Minecraft skin","message.display_skin.message":"Vyberte soubor skinu ve va\u0161em po\u010D\xEDta\u010Di, nebo zadejte hr\xE1\u010Dsk\xE9 jm\xE9no","message.display_skin.upload":"Vybrat soubor","message.display_skin.reset":"Resetovat","message.invalid_plugin":"Neplatn\xFD plugin, pod\xEDvejte se do konzole","message.load_plugin_app":"P\u0159ejete si povolit tomuto pluginu prov\xE1d\u011Bt zm\u011Bny na va\u0161em po\u010D\xEDta\u010Di? Pro vy\u0161\u0161\xED bezpe\u010Dnost pou\u017E\xEDvejte dopl\u0148ky od autor\u016F, kter\xFDm d\u016Fv\u011B\u0159ujete.","message.load_plugin_web":"P\u0159ejete si na\u010D\xEDst tento Plugin? Pro vy\u0161\u0161\xED bezpe\u010Dnost pou\u017E\xEDvejte Pluginy od autor\u016F, kter\xFDm d\u016Fv\u011B\u0159ujete.","message.preset_no_info":"P\u0159edvolba neobsahuje informace pro tento slot","message.restart_to_update":"Chcete-li pou\u017E\xEDt nov\xE9 zm\u011Bny, restartujte Blockbench","message.save_file":"Ulo\u017Eeno jako %0","dialog.project.title":"Projekt","dialog.project.name":"N\xE1zev souboru","dialog.project.parent":"Nad\u0159azen\xFD model","dialog.project.geoname":"Identifik\xE1tor modelu","dialog.project.ao":"Okoln\xED okluze","dialog.texture.title":"Textura","dialog.texture.variable":"Variabiln\xED","dialog.texture.namespace":"Namespace","dialog.texture.folder":"Slo\u017Eka","dialog.extrude.title":"Vytla\u010Dit obr\xE1zek","dialog.extrude.mode":"Re\u017Eim skenov\xE1n\xED","dialog.extrude.mode.areas":"Sf\xE9ry","dialog.extrude.mode.lines":"Linky","dialog.extrude.mode.columns":"Sloupce","dialog.extrude.mode.pixels":"Pixely","dialog.extrude.opacity":"Minim\xE1ln\xED nepr\u016Fhlednost","dialog.extrude.scan":"Skenovat a nahr\xE1t","dialog.display_preset.title":"Vytvo\u0159it p\u0159ednastaven\xED","dialog.display_preset.message":"Vyberte sloty, kter\xE9 chcete ulo\u017Eit","dialog.display_preset.create":"Vytvo\u0159it","dialog.select.title":"V\xFDb\u011Br","dialog.select.group":"Ve vybran\xE9 skupin\u011B","dialog.select.name":"Obsah jm\xE9na","dialog.select.random":"N\xE1hodn\xFD","dialog.select.select":"Vybrat","dialog.scale.title":"Velikost modelu","dialog.scale.axis":"Osa","dialog.scale.clipping":"O\u0159\xEDznut\xED modelu: V\xE1\u0161 model je pro pl\xE1tno p\u0159\xEDli\u0161 velk\xFD","dialog.scale.confirm":"Zv\u011Bt\u0161it","dialog.plugins.title":"Pluginy","dialog.plugins.installed":"Instalovan\xE9","dialog.plugins.available":"Dostupn\xE9","dialog.plugins.install":"Instalovat","dialog.plugins.uninstall":"Odinstalovat","dialog.plugins.reload":"Znovu na\u010D\xEDst","dialog.plugins.none_installed":"\u017D\xE1dn\xE9 instalovan\xE9 pluginy","dialog.plugins.none_available":"\u017D\xE1dn\xE9 dostupn\xE9 pluginy","dialog.plugins.web_only":"Pouze pro webovou aplikaci","dialog.plugins.app_only":"Pouze pro sta\u017Een\xFD program","dialog.plugins.author":"vyrobil %0","dialog.create_texture.folder":"Slo\u017Eka","dialog.create_texture.resolution":"Rozli\u0161en\xED","dialog.input.title":"Vstup","dialog.settings.settings":"Nastaven\xED","dialog.settings.keybinds":"Kl\xE1vesov\xE9 zkratky","dialog.settings.about":"O aplikaci","layout.color.back":"Zp\u011Bt","layout.color.back.desc":"Pozad\xED a pole pro vlo\u017Een\xED","layout.color.dark":"Tmav\xFD","layout.color.dark.desc":"Pozad\xED pl\xE1tna","layout.color.ui":"UI","layout.color.ui.desc":"Barva hlavn\xEDho rozhran\xED","layout.color.bright_ui":"Jasn\xE9 UI","layout.color.bright_ui.desc":"Kontextov\xE9 nab\xEDdky a popisky","layout.color.button":"Tla\u010D\xEDtko","layout.color.button.desc":"Tla\u010D\xEDtka a sp\xEDna\u010De","layout.color.selected":"Vybran\xE9","layout.color.selected.desc":"Vybran\xE9 z\xE1lo\u017Eky a objekty","layout.color.border":"Okraj","layout.color.border.desc":"Hranice tla\u010D\xEDtek a vstup\u016F","layout.color.accent":"Zv\xFDrazn\u011Bn\xED","layout.color.accent.desc":"Posuvn\xEDk miniatury a dal\u0161\xED podrobnosti","layout.color.grid":"M\u0159\xED\u017Eka","layout.color.grid.desc":"3D n\xE1hled m\u0159\xED\u017Eky","layout.color.text":"Text","layout.color.text.desc":"B\u011B\u017En\xFD text","layout.color.light":"Sv\u011Btl\xFD","layout.color.light.desc":"Zd\u016Frazn\u011Bn\xFD text","layout.color.accent_text":"Zv\xFDrazn\u011Bn\xFD text","layout.color.accent_text.desc":"Text na zv\xFDrazn\u011Bn\xE9m pozad\xED","layout.font.main":"Hlavn\xED font","layout.font.headline":"Font nadpisu","about.version":"Verze:","settings.category.general":"V\u0161eobecn\xE9","settings.category.preview":"P\u0159ehled","settings.category.grid":"M\u0159\xED\u017Eka","settings.category.edit":"Editace","settings.category.snapping":"P\u0159ichyt\xE1v\xE1n\xED","settings.category.defaults":"V\xFDchoz\xED nastaven\xED","settings.category.dialogs":"Dialogy","settings.category.export":"Export","settings.language":"Jazyk","settings.language.desc":"Jazyk rozhran\xED","settings.backup_interval":"Interval z\xE1lohov\xE1n\xED","settings.backup_interval.desc":"Interval automatick\xFDch z\xE1loh v minut\xE1ch","settings.origin_size":"Zv\xFDrazn\u011Bn\xED bodu ot\xE1\u010Den\xED","settings.origin_size.desc":"Velikost zna\u010Dky bodu ot\xE1\u010Den\xED","settings.control_size":"Velikost ovl\xE1dac\xEDho prvku osy","settings.control_size.desc":"Velikost t\u0159\xEDosov\xE9ho kontroln\xEDho n\xE1stroje","settings.display_skin":"Zobrazen\xED skinu","settings.display_skin.desc":"Vzhled pou\u017Eit\xFD pro model hr\xE1\u010De v Zobrazen\xED","settings.shading":"St\xEDnov\xE1n\xED","settings.shading.desc":"Povolit st\xEDnov\xE1n\xED","settings.base_grid":"Mal\xE1 M\u0159\xED\u017Ema","settings.base_grid.desc":"Zobrazit malou m\u0159\xED\u017Eku a osy","settings.large_grid":"Blokov\xE1 m\u0159\xED\u017Eka","settings.large_grid.desc":"Zobrazit 16x16 blokovou m\u0159\xED\u017Eku","settings.full_grid":"Up\u0159esnit blokovou m\u0159\xED\u017Eku","settings.full_grid.desc":"Zobrazit blokovou m\u0159\xED\u017Eku s p\u0159esnost\xED na pixely","settings.large_box":"Velk\xFD box","settings.large_box.desc":"Zobrazit 3x3 hranice bloku","settings.display_grid":"Re\u017Eim zobrazen\xED","settings.display_grid.desc":"Zobrazit m\u0159\xED\u017Eku v re\u017Eimu zobrazen\xED","settings.undo_limit":"Limit navr\xE1cen\xED","settings.undo_limit.desc":"Po\u010Det krok\u016F, kter\xE9 m\u016F\u017Eete navr\xE1tit zp\u011Bt","settings.local_move":"Pohyb po relativn\xEDch os\xE1ch","settings.local_move.desc":"Pohyb rotovan\xFDch prvk\u016F po jejich vlastn\xEDch os\xE1ch (pokud je to mo\u017En\xE9)","settings.canvas_unselect":"Zru\u0161it v\xFDb\u011Br kliknut\xEDm do pozad\xED","settings.canvas_unselect.desc":"Zru\u0161\xED v\xFDb\u011Br kliknut\xEDm do pozad\xED","settings.paint_side_restrict":"Omezit \u0161t\u011Btec na stranu","settings.paint_side_restrict.desc":"Omez\xED \u0161t\u011Btce tak, aby maloval pouze na aktu\xE1ln\xED stran\u011B","settings.autouv":"Auto UV","settings.autouv.desc":"Povolit Auto UV jako v\xFDchoz\xED","settings.create_rename":"P\u0159ejmenovat Nov\xFD Prvek","settings.create_rename.desc":"Pojmenov\xE1n\xED podle zam\u011B\u0159en\xED p\u0159i vytv\xE1\u0159en\xED nov\xE9ho prvku nebo skupiny","settings.edit_size":"Rozli\u0161en\xED m\u0159\xED\u017Eky","settings.edit_size.desc":"Rozli\u0161en\xED m\u0159\xED\u017Eky, ke kter\xE9 se prvky p\u0159ichyt\xE1vaj\xED","settings.shift_size":"Rozli\u0161en\xED shift kl\xE1vesnice","settings.shift_size.desc":"Rozli\u0161en\xED m\u0159\xED\u017Eky p\u0159i dr\u017Een\xED kl\xE1vesnice shift","settings.ctrl_size":"Rozli\u0161en\xED ctrl kl\xE1vesnice","settings.ctrl_size.desc":"Rozli\u0161en\xED m\u0159\xED\u017Eky p\u0159i dr\u017Een\xED kl\xE1vesnice ctrl","settings.negative_size":"Z\xE1porn\xE9 velikosti","settings.negative_size.desc":"Povol\xED n\xE1stroji pro zm\u011Bnu velikosti pou\u017E\xEDt z\xE1porn\xE9 velikosti","settings.minifiedout":"\u0158\xE1dkov\xFD export","settings.minifiedout.desc":"Zapsat JSON soubory do jednoho \u0159\xE1dku","settings.export_groups":"Exportovat skupiny","settings.export_groups.desc":"Ulo\u017E\xED skupiny v blokov\xFDch, nebo p\u0159edm\u011Btov\xFDch modelov\xFDch souborech","settings.credit":"Z\xE1slu\u017En\xFD koment\xE1\u0159","settings.credit.desc":"Pro p\u0159id\xE1n\xED z\xE1slu\u017En\xE9ho koment\xE1\u0159e exportovan\xFDm soubor\u016Fm","settings.default_path":"V\xFDchoz\xED v\xFDb\u011Br MC textur","settings.default_path.desc":"Slo\u017Eka, ze kter\xE9 Blockbench na\u010D\xEDt\xE1 v\xFDchoz\xED textury","settings.image_editor":"Obr\xE1zkov\xFD editor","settings.image_editor.desc":"V\xFDchoz\xED obr\xE1zkov\xFD editor pro \xFApravu textur","category.navigate":"Navigace","category.tools":"N\xE1stroje","category.file":"Slo\u017Eka","category.blockbench":"Blockbench","category.edit":"\xDApravy","category.transform":"Transformace","category.view":"Pohled","category.display":"Nastaven\xED zobrazen\xED","category.textures":"Textury","category.misc":"Dal\u0161\xED","keybind.preview_select":"Vybrat","keybind.preview_rotate":"Oto\u010Den\xED pohledu","keybind.preview_drag":"Ta\u017Een\xED pohledu","keybind.confirm":"Potvrdit","keybind.cancel":"Zru\u0161it","action.slider_inflate":"Zv\u011Bt\u0161it","action.slider_inflate.desc":"Zv\u011Bt\u0161\xED kostky ve v\u0161ech sm\u011Brech bez zm\u011Bny UV.","action.slider_brush_size":"Velikost","action.slider_brush_size.desc":"Polom\u011Br \u0161t\u011Btce v pixelech","action.slider_brush_opacity":"Pr\u016Fhlednost","action.slider_brush_opacity.desc":"Pr\u016Fhlednost \u0161t\u011Btce v procentech","action.slider_brush_softness":"M\u011Bkkost","action.slider_brush_softness.desc":"M\u011Bkkost \u0161t\u011Btce v procentech","action.uv_slider_pos_x":"Vodorovn\xFD posun","action.uv_slider_pos_x.desc":"Posune v\xFDb\u011Br UV vodorovn\u011B v\u0161ech vybran\xFDch kostek","action.uv_slider_pos_y":"Svisl\xFD posun","action.uv_slider_pos_y.desc":"Posune v\xFDb\u011Br UV svisle v\u0161ech vybran\xFDch kostek","action.uv_slider_size_x":"Vodorovn\xE9 m\u011B\u0159\xEDtko","action.uv_slider_size_x.desc":"Nastav\xED m\u011B\u0159\xEDtko UV v\xFDb\u011Bru vodorovn\u011B u v\u0161ech vybran\xFDch kostek","action.uv_slider_size_y":"Svisl\xE9 m\u011B\u0159\xEDtko","action.uv_slider_size_y.desc":"Nastav\xED m\u011B\u0159\xEDtko UV v\xFDb\u011Bru svisle u v\u0161ech vybran\xFDch kostek","action.vertex_snap_mode":"Re\u017Eim p\u0159ichycen\xED","action.vertex_snap_mode.desc":"Vyberte, zda funkce P\u0159ichyt\xE1v\xE1n\xED k vrcholu p\u0159esune prvky na vybranou pozici, nebo je zm\u011Bn\xED na po\u017Eadovanou velikost","action.move_tool":"Posunout","action.move_tool.desc":"N\xE1stroj pro v\xFDb\u011Br a posun prvk\u016F","action.resize_tool":"Zm\u011Bnit velikost","action.resize_tool.desc":"N\xE1stroj pro v\xFDb\u011Br a zm\u011Bnu velikosti prvk\u016F","action.brush_tool":"Malovac\xED \u0161t\u011Btec","action.brush_tool.desc":"N\xE1stroj pro malov\xE1n\xED na bitmapov\xFDch textur\xE1ch, na povr\u0161\xEDch nebo v UV editoru","action.vertex_snap_tool":"Vrcholov\xE9 p\u0159ichycen\xED","action.vertex_snap_tool.desc":"Pro p\u0159esun jedn\xE9 krychle ke druh\xE9 krychli spojen\xEDm dvou vrchol\u016F","action.swap_tools":"P\u0159epnut\xED n\xE1stroj\u016F","action.swap_tools.desc":"P\u0159ep\xEDn\xE1n\xED mezi n\xE1strojem pro p\u0159esun a zm\u011Bnu velikosti","action.project_window":"Projekt...","action.project_window.desc":"Otev\u0159e okno projektu, kde m\u016F\u017Eete upravit metadata sv\xE9ho modelu","action.open_model":"Otev\u0159\xEDt model","action.open_model.desc":"Otev\u0159e soubor s modelem na va\u0161em po\u010D\xEDta\u010Di","action.extrude_texture":"Extrudovan\xE1 textura","action.extrude_texture.desc":"Vytvo\u0159\xED model rozta\u017Een\xEDm textury","action.export_blockmodel":"Exportovat Blokov\xFD/P\u0159edm\u011Btov\xFD Model","action.export_blockmodel.desc":"Exportuje blokov\xFD, nebo p\u0159edm\u011Btov\xFD model typu Minecraft Java Edice","action.export_optifine_part":"Exportovat \u010C\xE1ste\u010Dn\xFD OptiFine Model","action.export_optifine_part.desc":"Exportuje samostatnou \u010D\xE1st pro OptiFine Model Entity","action.export_optifine_full":"Exportovat OptiFine soubor typu .jem","action.export_optifine_full.desc":"Export a full OptiFine entity model","action.export_obj":"Exportovat jako model typu .obj","action.export_obj.desc":"Export a Wavefront OBJ model for rendering","action.settings_window":"Nastaven\xED...","action.settings_window.desc":"Otev\u0159e dialog nastaven\xED programu Blockbench.","action.plugins_window":"Dopl\u0148ky...","action.plugins_window.desc":"Otev\u0159e okno \xFAlo\u017Ei\u0161t\u011B dopl\u0148k\u016F","action.reset_layout":"Resetovat Rozvr\u017Een\xED","action.reset_layout.desc":"Resetuje rozvr\u017Een\xED do v\xFDchoz\xEDho nastaven\xED programu Blockbench","action.load_plugin":"Na\u010D\xEDst Dopln\u011Bk ze Souboru","action.load_plugin.desc":"Pro na\u010Dten\xED dopl\u0148ku pomoc\xED nahr\xE1n\xED zdrojov\xE9ho souboru","action.reload_plugins":"Znovu Na\u010D\xEDst Dopl\u0148ky","action.reload_plugins.desc":"Znovu na\u010Dt\u011Bte v\u0161echny v\xFDvojov\xE9 dopl\u0148ky","action.undo":"Vr\xE1tit Zp\u011Bt","action.undo.desc":"Vr\xE1cen\xED se zp\u011Bt p\u0159ed posledn\xED provedenou zm\u011Bnu","action.redo":"Navr\xE1tit Zp\u011Bt","action.redo.desc":"Vr\xE1t\xED zp\u011Bt po pou\u017Eit\xED 'Vr\xE1tit Zp\u011Bt'","action.copy":"Kop\xEDrovat","action.copy.desc":"Zkop\xEDruje vybran\xFD v\xFDb\u011Br, plochu, nebo nastaven\xED zobrazen\xED","action.paste":"Vlo\u017Eit","action.paste.desc":"Vlo\u017E\xED posledn\xED vybran\xFD v\xFDb\u011Br, plochu, nebo nastaven\xED zobrazen\xED","action.cut":"O\u0159\xEDznut\xED","action.cut.desc":"O\u0159\xEDzne vybran\xFD v\xFDb\u011Br, plochu, nebo nastaven\xED zobrazen\xED","action.add_cube":"P\u0159idat Kostku","action.add_cube.desc":"P\u0159id\xE1 novou Kostku","action.add_group":"P\u0159idat Skupinu","action.add_group.desc":"P\u0159id\xE1 novou skupinu, nebo \u010D\xE1st t\u011Bla","action.outliner_toggle":"P\u0159epnout Na V\xEDce Mo\u017Enost\xED","action.outliner_toggle.desc":"P\u0159ep\xEDn\xE1 sp\xEDna\u010De pro v\xEDce mo\u017Enost\xED v seznamu kostek","action.duplicate":"Zdvojit","action.delete":"Vymazat","action.sort_outliner":"Rozt\u0159\xEDdit Seznam Kostek","action.sort_outliner.desc":"Rozt\u0159\xEDd\xED seznam kostek podle abecedn\xEDho po\u0159ad\xED","action.select_window":"Vybrat...","action.select_window.desc":"Vyhled\xE1 a vybere prvky na z\xE1klad\u011B jejich vlastnost\xED","action.invert_selection":"P\u0159evr\xE1tit V\xFDb\u011Br","action.invert_selection.desc":"P\u0159evr\xE1t\xED aktu\xE1ln\xED v\xFDb\u011Br prvk\u016F","action.select_all":"Vybrat V\u0161e","action.collapse_groups":"Sbalit Skupiny","action.collapse_groups.desc":"Sbal\xED v\u0161echny skupiny","action.scale":"M\u011B\u0159\xEDtko...","action.scale.desc":"Zm\u011Bnit velikost vybran\xFDch prvk\u016F","action.toggle_visibility":"P\u0159epnout Viditelnost","action.toggle_visibility.desc":"P\u0159epne viditelnost vybran\xFDch prvk\u016F","action.toggle_export":"P\u0159epnout Export","action.toggle_export.desc":"P\u0159epne nastaven\xED exportu vybran\xFDch prvk\u016F","action.toggle_autouv":"P\u0159epnout Automatick\xE9 UV","action.toggle_autouv.desc":"P\u0159epne automatick\xE9 nastaven\xED UV vybran\xFDch prvk\u016F","action.toggle_shade":"P\u0159epnout St\xEDnov\xE1n\xED","action.toggle_shade.desc":"P\u0159epne st\xEDnov\xE1n\xED vybran\xFDch kostek","action.rename":"P\u0159ejmenovat","action.rename.desc":"Zm\u011Bn\xED n\xE1zev vybran\xFDch prvk\u016F nebo skupiny","action.add_display_preset":"Nov\xE9 P\u0159ednastaven\xED","action.add_display_preset.desc":"P\u0159idat nov\xE9 zobrazovac\xED p\u0159ednastaven\xED","action.fullscreen":"Cel\xE1 Obrazovka","action.fullscreen.desc":"P\u0159ep\xEDn\xE1 re\u017Eim cel\xE9 obrazovky","action.zoom_in":"P\u0159ibl\xED\u017Eit","action.zoom_in.desc":"P\u0159ibl\xED\u017Een\xED pro zv\u011Bt\u0161en\xED rozhran\xED","action.zoom_out":"Odd\xE1lit","action.zoom_out.desc":"Odd\xE1len\xED pro zmen\u0161en\xED rozhran\xED","action.zoom_reset":"Resetovat P\u0159ibl\xED\u017Een\xED","action.zoom_reset.desc":"Resetuje p\u0159ibl\xED\u017Een\xED na v\xFDchoz\xEDch 100%","action.reset_interface":"Resetovat Rozhran\xED","action.reset_interface.desc":"Resetuje velikost a pozici GUI","action.screenshot_model":"Sn\xEDmek Modelu","action.screenshot_model.desc":"Po\u0159\xEDd\xED o\u0159\xEDznut\xFD sn\xEDmek modelu ze sou\u010Dasn\xE9ho \xFAhlu pohledu","action.screenshot_app":"Sn\xEDmek Aplikace","action.screenshot_app.desc":"Po\u0159\xEDd\xED sn\xEDmek cel\xE9ho okna aplikace","action.import_texture":"Vlo\u017Eit Texturu","action.import_texture.desc":"Vlo\u017E\xED jednu nebo v\xEDce textur ze syst\xE9mu soubor\u016F","action.create_texture":"Vytvo\u0159it Texturu","action.create_texture.desc":"Vytvo\u0159\xED pr\xE1zdnou texturu nebo texturovou \u0161ablonu","action.save_textures":"Ulo\u017Eit Textury","action.save_textures.desc":"Ulo\u017E\xED v\u0161echny neulo\u017Een\xE9 textury","action.animated_textures":"P\u0159ehr\xE1t Animaci Textur","action.animated_textures.desc":"Spust\xED a zastav\xED p\u0159edzobrazen\xED animovan\xFDch textur","action.origin_to_geometry":"Centrovat oto\u010Dn\xFD bod","action.origin_to_geometry.desc":"Nastav\xED bod ot\xE1\u010Den\xED do st\u0159edu v\xFDb\u011Bru","action.bone_reset_toggle":"Resetovat \u010C\xE1st T\u011Bla","action.bone_reset_toggle.desc":"Zastav\xED \u010D\xE1st t\u011Bla od zobrazov\xE1n\xED kostek z nad\u0159azen\xE9ho modelu","action.reload":"Znovu Na\u010C\xEDst Blockbench","action.reload.desc":"Znovu na\u010Dte Blockbench. Tato akce sma\u017Ee v\u0161echny neulo\u017Een\xE9 zm\u011Bny","menu.file":"Soubor","menu.edit":"Upravit","menu.transform":"P\u0159em\u011Bnit","menu.display":"Zobrazen\xED","menu.view":"Pohled","menu.file.new":"Nov\xFD Soubor","menu.file.recent":"Ned\xE1vn\xE9 Soubory","menu.file.import":"Nahr\xE1t","menu.file.export":"Exportovat","menu.transform.rotate":"Oto\u010Dit","menu.transform.flip":"P\u0159ehodit","menu.transform.center":"St\u0159ed","menu.transform.properties":"Vlastnosti","menu.display.preset":"Pou\u017E\xEDt P\u0159ednastaven\xED","menu.display.preset_all":"Pou\u017E\xEDt V\u0161ude P\u0159ednastaven\xED","menu.display.remove_preset":"Odstranit P\u0159ednastaven\xED","menu.view.zoom":"P\u0159ibl\xED\u017Een\xED","menu.view.background":"Pozad\xED","menu.view.screenshot":"Sn\xEDmek","menu.cube.color":"Barva Zna\u010Dky","menu.cube.texture":"Textura","menu.cube.texture.transparent":"Transparentn\xED","menu.cube.texture.blank":"Pr\xE1zdn\xFD","menu.group.sort":"T\u0159\xEDdit","menu.texture.face":"Aplikovat na Plochu","menu.texture.file":"Soubor","menu.texture.refresh":"Aktualizovat Zobrazen\xED","menu.texture.change":"Zm\u011Bnit Soubor","menu.texture.folder":"Otev\u0159\xEDt ve Slo\u017Ece","menu.texture.edit":"Edit","menu.texture.export":"Ulo\u017Eit Jako","menu.texture.save":"Ulo\u017Eit","menu.texture.properties":"Nastaven\xED...","menu.preview.background":"Pozad\xED","menu.preview.background.load":"Nahr\xE1t","menu.preview.background.position":"Pozice","menu.preview.background.lock":"Zamknout ke Kame\u0159e","menu.preview.screenshot":"Sn\xEDmek","menu.preview.perspective":"Perspektiva","menu.preview.perspective.normal":"Norm\xE1ln\xED","menu.preview.quadview":"\u010Cty\u0159i zobrazen\xED","menu.preview.stop_drag":"Zastavit Polohov\xE1n\xED Pozad\xED","menu.uv.mapping.rotation":"Rotace","menu.uv.texture":"Textura","cube.color.light_blue":"Sv\u011Btl\xE1 Modr\xE1","cube.color.yellow":"\u017Dlut\xE1","cube.color.orange":"Oran\u017Eov\xE1","cube.color.red":"\u010Cerven\xE1","cube.color.purple":"Fialov\xE1","cube.color.blue":"Modr\xE1","cube.color.green":"Zelen\xE1","cube.color.lime":"Sv\u011Btle Zelen\xE1","switches.visibility":"Viditelnost","switches.export":"Exportovat","switches.autouv":"Automatick\xE9 UV","panel.uv":"UV","panel.display":"Zobrazen\xED","panel.textures":"Textury","panel.outliner":"Seznam Kostek","uv_editor.title":"UV Editor","uv_editor.all_faces":"V\u0161echny plochy","uv_editor.no_faces":"\u017D\xE1dn\xFD","face.north":"Sever","face.south":"Jih","face.west":"Z\xE1pad","face.east":"V\xFDchod","face.up":"Horn\xED Plocha","face.down":"Doln\xED Plocha","direction.north":"Sever","direction.south":"Jih","direction.west":"Z\xE1pad","direction.east":"V\xFDchod","direction.top":"Nahoru","direction.bottom":"Dol\u016F","display.slot.third_right":"Pohled z t\u0159et\xED osoby [prav\xE1 ruka]","display.slot.third_left":"Pohled z t\u0159et\xED osoby [lev\xE1 ruka]","display.slot.first_right":"Pohled z prvn\xED osoby [prav\xE1 ruka]","display.slot.first_left":"Pohled z prvn\xED osoby [lev\xE1 ruka]","display.slot.head":"Hlava","display.slot.ground":"Zobrazen\xED na Zemi","display.slot.frame":"R\xE1me\u010Dek","display.slot.gui":"GUI","display.rotation":"Rotace","display.translation":"Posunut\xED","display.scale":"M\u011B\u0159\xEDtko","display.slot":"Slot","display.reference":"Referen\u010Dn\xED Model","display.reference.player":"Hr\xE1\u010D","display.reference.zombie":"Zombie","display.reference.armor_stand":"Stojan na brn\u011Bn\xED","display.reference.baby_zombie":"Mal\xFD Zombie","display.reference.armor_stand_small":"Mal\xFD stojan na brn\u011Bn\xED","display.reference.monitor":"Norm\xE1ln\xED","display.reference.bow":"Luk","display.reference.block":"Blok","display.reference.frame":"R\xE1me\u010Dek na P\u0159edm\u011Bty","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Invent\xE1\u0159","display.reference.hud":"HUD","display.preset.blank_name":"Zadejte pros\xEDm jm\xE9no","display.preset.item":"V\xFDchoz\xED P\u0159edm\u011Bt","display.preset.block":"V\xFDchoz\xED Blok","display.preset.handheld":"V\xFDchoz\xED Zbra\u0148","display.preset.rod":"V\xFDchoz\xED Ty\u010D","dialog.continue":"Pokra\u010Dovat","message.square_textures":"Textury mus\xED b\xFDt \u010Dtvercov\xE9","message.unsaved_texture.title":"Neulo\u017Een\xE1 textura","message.unsaved_texture.message":"V\u0161echny neulo\u017Een\xE9 zm\u011Bny t\xE9to textury budou ztraceny. Chcete pokra\u010Dovat?","action.vertex_snap_mode.move":"Posunout","action.vertex_snap_mode.scale":"M\u011B\u0159\xEDtko","action.open_model_folder":"Otev\u0159\xEDt Slo\u017Eku s Modelem","action.open_model_folder.desc":"Otev\u0159e slo\u017Eku, ve kter\xE9 je model ulo\u017Een","action.change_textures_folder":"Zm\u011Bnit Um\xEDst\u011Bn\xED Textury","action.change_textures_folder.desc":"Pro zm\u011Bnu slo\u017Eky, kde jsou v\u0161echny textury ulo\u017Een\xE9","menu.texture.particle":"Pou\u017E\xEDt pro \u010C\xE1stice","message.update_notification.title":"Aktualizaci se nepoda\u0159ilo nainstalovat","message.update_notification.message":"K dispozici je nov\xE1 verze Blockbench. Chcete-li prov\xE9st aktualizaci, povolte v nastaven\xED Automatick\xE9 aktualizace!","message.untextured":"Tato plocha neobsahuje texturu","dialog.toolbar_edit.title":"P\u0159izp\u016Fsoben\xED panelu n\xE1stroj\u016F","keybindings.reset":"Obnovit p\u016Fvodn\xED","keybindings.clear":"Pr\xE1zdn\xE9","action.cube_counter":"Po\u010Ditatel Kostek","action.uv_rotation":"UV Rotace","action.uv_rotation.desc":"Rotace UV plochy","action.uv_grid":"UV M\u0159\xED\u017Eka","action.uv_grid.desc":"Rozli\u0161en\xED m\u0159\xED\u017Eky, ke kter\xE9 se UV selector p\u0159ichyt\xED","action.uv_grid.auto":"Automaticky","action.uv_maximize":"Maximalizovat UV","action.uv_maximize.desc":"Nastav\xED UV t\xE9to plochy na plnou velikost textury","action.uv_auto":"Automatick\xE9 UV","action.uv_auto.desc":"Nastav\xED UV velikost t\xE9to plochy na jej\xED skute\u010Dnou velikost","action.uv_rel_auto":"Relativn\xED automatick\xE9 UV","action.uv_rel_auto.desc":"Nastav\xED UV t\xE9to plochy do polohy a velikosti skute\u010Dn\xE9 plochy","action.uv_mirror_x":"UV Zrcadlo X","action.uv_mirror_x.desc":"Zrcadl\xED UV t\xE9to plochy na ose X","action.uv_mirror_y":"UV Zrcadlo Y","action.uv_mirror_y.desc":"Zrcadl\xED UV t\xE9to plochy na ose Y","action.uv_transparent":"Pr\u016Fhledn\xE1 Plocha","action.uv_transparent.desc":"Zpr\u016Fhledn\xED danou plochu","action.uv_reset":"Resetovat Plochu","action.uv_reset.desc":"Resetuje danou plochu","action.cullface":"Dotykov\xE9 vynech\xE1n\xED","action.cullface.desc":"Znemo\u017En\xED na\u010Dten\xED textury pro tuto plochu, pokud je vybrann\xE1 strana modelu zakryta","action.auto_cullface":"Automatick\xE9 Dotykov\xE9 vynech\xE1n\xED","action.auto_cullface.desc":"Nastav\xED na sebe Dotykov\xE9 vynech\xE1n\xED pro tuto plochu","action.face_tint":"Odst\xEDn Barvy","action.face_tint.desc":"Povol\xED mo\u017Enost\xED odst\xEDnu pro danou plochu","menu.toolbar.edit":"Upravit","menu.toolbar.reset":"Restovat","uv_editor.rotated":"Oto\u010Deno","uv_editor.auto_cull":"Automatick\xE9 Dotykov\xE9 vynech\xE1n\xED","uv_editor.copied":"Plocha Zkop\xEDrov\xE1na","uv_editor.pasted":"Plocha Vlo\u017Eena","uv_editor.copied_x":"Zkop\xEDrov\xE1no %0 Ploch","uv_editor.reset":"Resetovat Plochu","uv_editor.maximized":"Maximalizov\xE1no","uv_editor.autouv":"Automatick\xE1 (Re\xE1ln\xE1) Velikost","uv_editor.mirrored":"Zrcadlen\xED","uv_editor.to_all":"Aplikov\xE1no na V\u0161echny Plochy","uv_editor.transparent":"Nastaveno jako Pr\u016Fhledn\xE9","uv_editor.cullface_on":"Dotykov\xE9 vynech\xE1n\xED Zapnuto","uv_editor.cullface_off":"Dotykov\xE9 vynech\xE1n\xED Vypnuto","uv_editor.tint_on":"Odst\xEDnov\xFD N\xE1dech Zapnut","uv_editor.tint_off":"Odst\xEDnov\xFD N\xE1dech Vypnut","action.uv_apply_all":"Aplikovat na V\u0161ech Ploch\xE1ch","action.uv_apply_all.desc":"Pou\u017Eije nastaven\xED aktu\xE1ln\xED plochy na v\u0161echny plochy","message.image_editor_missing.title":"V\xFDchoz\xED obr\xE1zkov\xFD editor","message.image_editor_missing.message":"Vyberte spustiteln\xFD soubor va\u0161eho obr\xE1zkov\xE9ho editoru.","message.image_editor_missing.detail":"Blockbench nebyl schopen naj\xEDt na va\u0161em po\u010D\xEDta\u010Di obr\xE1zkov\xFD editor. Vyberte pros\xEDm spustiteln\xFD soubor va\u0161eho preferovan\xE9ho obr\xE1zkov\xE9ho editoru.","action.update_autouv":"Aktualizovat Automatick\xE9 UV","action.update_autouv.desc":"Aktualizuje automatick\xE9 UV mapov\xE1n\xED vybran\xFDch kostek","category.uv":"UV","status_bar.saved":"Model je ulo\u017Een","status_bar.unsaved":"M\xE1te neulo\u017Een\xE9 zm\u011Bny","action.move_up":"Posunout Nahoru","action.move_up.desc":"Posune vybran\xE9 prvky nahoru vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","action.move_down":"Posunout Dol\u016F","action.move_down.desc":"Posune vybran\xE9 prvky dol\u016F vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","action.move_left":"Posunout Vlevo","action.move_left.desc":"Posune vybran\xE9 prvky vlevo vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","action.move_right":"Posunout Vpravo","action.move_right.desc":"Posune vybran\xE9 prvky vpravo vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","action.move_forth":"Posunout Dop\u0159edu","action.move_forth.desc":"Posune vybran\xE9 prvky dop\u0159edu vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","action.move_back":"Posunout Dozadu","action.move_back.desc":"Posune vybran\xE9 prvky dozadu vzhledem k aktu\xE1ln\xEDmu \xFAhlu kamery","layout.color.wireframe":"Dr\xE1tov\xFD R\xE1m","layout.color.wireframe.desc":"Dr\xE1tov\xFD R\xE1m - Zobrazit linky","action.add_animation":"P\u0159idat Animaci","action.add_animation.desc":"Vytvo\u0159\xED pr\xE1zdnou animaci","action.load_animation_file":"Vlo\u017Eit Animaci","action.load_animation_file.desc":"Pro vlo\u017Een\xED souboru s animac\xED","action.play_animation":"P\u0159ehr\xE1t Animaci","action.play_animation.desc":"P\u0159edzobrazen\xED vybran\xE9 animaci","action.slider_keyframe_time":"\u010Casov\xFD K\xF3d","action.slider_keyframe_time.desc":"Zm\u011Bna \u010Dasov\xFDch k\xF3d\u016F u vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","timeline.rotation":"Rotace","timeline.position":"Pozice","timeline.scale":"M\u011B\u0159\xEDtko","menu.keyframe.quaternion":"Kvaternion","panel.animations":"Animace","panel.keyframe":"Sn\xEDmek","panel.keyframe.type":"Sn\xEDmek (%0)","generic.delete":"Smazat","generic.rename":"P\u0159ejmenovat","message.no_animation_selected":"Mus\xEDte vybrat animaci, abyste mohli pokra\u010Dovat","message.no_bone_selected":"Mus\xEDte vybrat \u010D\xE1st t\u011Bla, abyste mohli pokra\u010Dovat","message.duplicate_groups.title":"Rozdvojit n\xE1zev \u010D\xE1sti t\u011Bla","message.duplicate_groups.message":"N\xE1zev t\xE9to \u010D\xE1sti t\u011Bla ji\u017E existuje na v\xEDce \u010D\xE1stech. To m\u016F\u017Ee zp\u016Fsobovat probl\xE9my.","action.delete_keyframes":"Smazat Sn\xEDmky","action.delete_keyframes.desc":"Vyma\u017Ee v\u0161echny vybran\xE9 sn\xEDmky","menu.animation":"Animace","menu.animation.loop":"Opakovac\xED Re\u017Eim","menu.animation.override":"P\u0159epsat","menu.animation.anim_time_update":"Prom\u011Bnn\xE1 Aktualizace \u010Casu Animace","message.display_skin_model.title":"Model skinu","message.display_skin_model.message":"Zvolte si typ modelu va\u0161eho skinu","message.display_skin_model.classic":"Klasick\xFD","message.display_skin_model.slim":"Huben\xFD","message.bone_material":"Zm\u011Bnit materi\xE1l \u010D\xE1sti t\u011Bla","action.slider_animation_length":"D\xE9lka Trv\xE1n\xED Animace","action.slider_animation_length.desc":"Pro zm\u011Bnu d\xE9lky trv\xE1n\xED vybran\xE9 animace","panel.variable_placeholders":"Variabiln\xED Z\xE1stupn\xE9 Symboly","panel.variable_placeholders.info":"Seznam variabilit, kter\xE9 chcete pro n\xE1hled p\u0159es jm\xE9no=hotnota","status_bar.vertex_distance":"Vzd\xE1lenost: %0","dialog.create_gif.title":"Nato\u010Dit GIF","dialog.create_gif.length":"D\xE9lka","dialog.create_gif.fps":"Sn\xEDmkov\xE1 frekvence FPS","dialog.create_gif.play":"Spustit animaci","category.animation":"Animace","action.record_model_gif":"Nato\u010Dit GIF","action.record_model_gif.desc":"Nato\u010D\xED animovan\xFD GIF modelu ze sou\u010Dasn\xE9ho \xFAhlu pohledu","display.mirror":"Zrcadlo","data.separator":"Separ\xE1tor","menu.preview.background.set_position":"Natavit Pozici","dialog.toolbar_edit.hidden":"Schovan\xE9","action.export_class_entity":"Exportovat Entitu Typu Java","action.export_class_entity.desc":"Exportuje model entity do stylu Java","settings.seethrough_outline":"Rentgenov\xE9 obrysy","settings.seethrough_outline.desc":"Zobrazit obrys\u016F skrze objekty","mode.edit":"Editor","mode.paint":"Kreslen\xED","mode.display":"Zobrazen\xED","mode.animate":"Animace","status_bar.recording_gif":"Nahr\xE1v\xE1n\xED souboru GIF","status_bar.processing_gif":"Zpracov\xE1v\xE1n\xED souboru GIF","settings.backup_retain":"Doba Uchov\xE1n\xED Z\xE1lohy","settings.backup_retain.desc":"Nastav\xED, jak dlouho m\xE1 program uchov\xE1vat z\xE1lohy. Ud\xE1v\xE1no ve dnech","action.rotate_tool":"Oto\u010Dit","action.rotate_tool.desc":"N\xE1stroj pro v\xFDb\u011Br a ot\xE1\u010Den\xED prvk\u016F","action.fill_tool":"V\xFDpl\u0148 Barvou","action.fill_tool.desc":"Pro vypln\u011Bn\xED cel\xE9 plochy jedinou barvou","action.eraser":"Guma","action.eraser.desc":"Gumovac\xED n\xE1stroj pro zm\u011Bnu barev na textu\u0159e na pr\u016Fhlednou","action.color_picker":"Sb\u011Bra\u010D Barvy","action.color_picker.desc":"N\xE1stroj pro vybr\xE1n\xED barvy z pixel\u016F na va\u0161\xED textu\u0159e","switches.mirror":"Zrcadlov\xE9 UV",language_name:"\u010Ce\u0161tina","message.plugin_reload":"Znovu na\u010Dteno %0 lok\xE1ln\xEDch dopl\u0148k\u016F","settings.brightness":"Jas","settings.brightness.desc":"Jas n\xE1hledu. V\xFDchoz\xED hodnota je 50","menu.preview.perspective.reset":"Resetovat Kameru","action.fill_mode":"Re\u017Eim Vypln\u011Bn\xED","action.fill_mode.face":"Plocha","action.fill_mode.color":"Barvy","action.toggle_mirror_uv":"UV Zrcadlen\xED","action.toggle_mirror_uv.desc":"P\u0159epne UV zrcadlen\xED vybran\xFDch kostek na ose X","menu.texture.blank":"Aplikovat na Plochy bez Textury","dialog.scale.select_overflow":"Vybrat p\u0159ebyte\u010Dn\xE9","action.action_control":"Ovl\xE1d\xE1n\xED Akce","action.action_control.desc":"Pro vyhled\xE1n\xED a proveden\xED v\u0161ech dostupn\xFDch akc\xED","keybindings.recording":"Nahr\xE1v\xE1n\xED kl\xE1vesy","keybindings.press":"Stisknut\xEDm kl\xE1vesy, kombinace kl\xE1ves nebo klikem kdekoli na obrazovce zaznamen\xE1te kl\xE1vesovou zkratku.","action.pivot_tool":"N\xE1stroj pro ot\xE1\u010Den\xED","action.pivot_tool.desc":"N\xE1stroj pro zm\u011Bnu bodu ot\xE1\u010Den\xED prvk\u016F a \u010D\xE1st\xED t\u011Bla","action.slider_animation_speed":"Rychlost P\u0159ehr\xE1v\xE1n\xED","action.slider_animation_speed.desc":"Rychlost p\u0159ehr\xE1v\xE1n\xED na \u010Dasov\xE9 lince v procentech","action.previous_keyframe":"P\u0159edchoz\xED Sn\xEDmek","action.previous_keyframe.desc":"P\u0159esko\u010D\xED na p\u0159edchoz\xED sn\xEDmek","action.next_keyframe":"Dal\u0161\xED Sn\xEDmek","action.next_keyframe.desc":"P\u0159esko\u010D\xED na dal\u0161\xED sn\xEDmek","message.outdated_client.title":"Star\u0161\xED verze","message.outdated_client.message":"Pros\xEDm, p\u0159ejd\u011Bte na nejnov\u011Bj\u0161\xED verzi programu Blockbench, abyste mohli pou\u017E\xEDt tuto funkci.","action.export_asset_archive":"St\xE1hnout Archiv","action.export_asset_archive.desc":"Pro sta\u017Een\xED archivu s modelem a v\u0161emi texturami v n\u011Bm","action.upload_sketchfab":"Nahr\xE1n\xED Na Sketchfab","message.sketchfab.name_or_token":"Vlo\u017Ete pros\xEDm v\xE1\u0161 Sketchfab token a jm\xE9no","dialog.sketchfab_uploader.title":"Nahr\xE1n\xED Sketchfab Modelu","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"Token se pou\u017E\xEDv\xE1 pro propojen\xED Blockbenche s va\u0161\xEDm Sketchfab \xFA\u010Dtem. Naleznete ho na %0","dialog.sketchfab_uploader.name":"N\xE1zev Modelu","dialog.sketchfab_uploader.description":"Popis","dialog.sketchfab_uploader.tags":"Tagy","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"Token pro autorizaci programu Blockbench pro umo\u017En\u011Bn\xED nahr\xE1v\xE1n\xED na v\xE1\u0161 Sketchfab \xFA\u010Det","panel.color":"Barva","data.origin":"Osa ot\xE1\u010Den\xED","message.sketchfab.success":"Model \xFAsp\u011B\u0161n\u011B nahr\xE1n","message.sketchfab.error":"Nepoda\u0159ilo se nahr\xE1t model do Sketchfab","settings.outliner_colors":"Obrysov\xE9 barvy","settings.outliner_colors.desc":"Zobrazit barvy prvk\u016F a skupin v p\u0159ehledu","action.upload_sketchfab.desc":"Nahraje model na Sketchfab","action.element_colors":"Barvy Kostek","action.element_colors.desc":"Zobraz\xED barvy kostek na jejich seznamu","texture.error.file":"Soubor nelze naj\xEDt","texture.error.parent":"Soubor s texturou poskytov\xE1n nad\u0159\xEDzen\xFDm modelem","message.recover_backup.title":"Obnovit model","message.recover_backup.message":"Blockbench byl zav\u0159en bez ulo\u017Een\xED. P\u0159ejete si obnovit neulo\u017Een\xFD model?","message.invalid_session.title":"Neplatn\xFD token relace","message.invalid_session.message":"Relace, ke kter\xE9 se pokou\u0161\xEDte p\u0159ipojit, vypr\u0161ela, nebo je zadan\xFD token neplatn\xFD.","dialog.create_texture.power":"Velikost s\xEDly 2","dialog.create_gif.turn":"Rychlost to\u010Dny","action.edit_session":"Upravit Relaci...","action.edit_session.desc":"P\u0159ipoj\xED se k upravovac\xED relaci pro interakci s dal\u0161\xEDmi u\u017Eivateli","action.reset_keyframe":"Resetovat Sn\xEDmek","action.reset_keyframe.desc":"Resetujte v\u0161echny hodnoty vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","dialog.edit_session.title":"\xDAprava Relace","edit_session.username":"U\u017Eivatelsk\xE9 Jm\xE9no","edit_session.token":"Token","edit_session.about":"\xDAprava relace m\u016F\u017Ee b\xFDt pou\u017Eita pro spolupr\xE1ci na modelech pomoc\xED Internetu. Vytvo\u0159te relaci, zkop\xEDrujte token a po\u0161lete ho sv\xFDm spolupracovn\xEDk\u016Fm, kte\u0159\xED ho mohou pou\u017E\xEDt pro p\u0159ipojen\xED.","edit_session.join":"P\u0159ipojit k Relaci","edit_session.create":"Vytvo\u0159it Relaci","edit_session.quit":"Opustit Relaci","edit_session.joined":"%0 se p\u0159ipojil k relaci","edit_session.left":"%0 opustil relaci","edit_session.quit_session":"Opustil st\xE1vaj\xEDc\xED relaci","edit_session.status":"Status","edit_session.hosting":"Hosting","edit_session.connected":"P\u0159ipojen\xFD k relaci","dialog.sketchfab_uploader.private":"Soukrom\xFD (Pro)","dialog.sketchfab_uploader.password":"Heslo (Pro)","action.uv_select_all":"Vybrat V\u0161e","action.uv_select_all.desc":"Vybere v\u0161echny prochy v dan\xE9m UV dialogu","panel.chat":"Chat","edit_session.welcome":"V\xEDtejte v relaci u\u017Eivatele %0","dialog.yes":"Ano","dialog.no":"Ne","generic.remove":"Odebrat","generic.download":"St\xE1hnout","generic.search":"Vyhledat","dates.today":"Dnes","dates.yesterday":"V\u010Dera","dates.this_week":"Tento t\xFDden","dates.weeks_ago":"%0 t\xFDdn\u016F zp\xE1tky","mode.start.new":"Nov\xFD model","mode.start.recent":"Ned\xE1vno otev\u0159en\xE9","format.free":"B\u011B\u017En\xFD model","format.free.desc":"Model bez \u017E\xE1dn\xFDch omezen\xED pro hern\xED pluginy, renderov\xE1n\xED, apod.","format.java_block":"Java model","format.java_block.desc":"Blokov\xFD model pro edici Java. Velikost a rotace jsou omezeny.","format.bedrock":"Bedrock model","format.bedrock.desc":"Model pro edici Bedrock","format.bedrock_old":"Bedrock Legacy Model","format.bedrock_old.desc":"Model pro entitu pro Pre-1.12 Bedrock Edici","format.modded_entity":"Model pro m\xF3dovan\xE9 entity","format.modded_entity.desc":"Model entity pro modifikace. M\u016F\u017Ee b\xFDt ulo\u017Een jako soubor typu .java.","format.optifine_entity":"OptiFine Entita","format.optifine_entity.desc":"Vlastn\xED model pro entitu pro OptiFine modifikaci","keys.mouse":"Tla\u010D\xEDtko My\u0161i %0","message.cleared_blank_faces.title":"Nevypln\u011Bn\xE9 plochy","message.cleared_blank_faces.message":"Blockbench nalezl %0 kostek bez \u017E\xE1dn\xE9 textury. P\u0159ejete si je odstranit?","message.wireframe.enabled":"Dr\xE1tov\xFD pohled zapnut","message.wireframe.disabled":"Dr\xE1tov\xFD pohled vypnut","dialog.convert_project.title":"Konvertovat Projekt","dialog.create_texture.double_use":"Udr\u017Eovat obsazen\xED v\xEDce textur","dialog.model_stats.title":"Statistiky modelu","dialog.model_stats.cubes":"Kostky","dialog.model_stats.locators":"Lok\xE1tory","dialog.model_stats.groups":"Skupiny","dialog.model_stats.vertices":"Vrcholy","dialog.model_stats.faces":"Plochy","settings.username":"U\u017Eivatelsk\xE9 Jm\xE9no","settings.username.desc":"U\u017Eivatelsk\xE9 jm\xE9no pro \xFApravy relac\xED","settings.painting_grid":"M\u0159\xED\u017Eka na Malov\xE1n\xED","settings.painting_grid.desc":"Zobrazit m\u0159\xED\u017Eku na texturovan\xFDch prvc\xEDch v malovac\xEDm re\u017Eimu","action.convert_project":"P\u0159ev\xE9st Projekt","action.convert_project.desc":"P\u0159evede aktu\xE1ln\xED projekt na projekt pro jin\xFD form\xE1t modelu","action.close_project":"Zav\u0159\xEDt Projekt","action.close_project.desc":"Zav\u0159e aktu\xE1ln\u011B otev\u0159en\xFD projekt","action.export_bedrock":"Exportovat Geometrii Verze Bedrock","action.export_bedrock.desc":"Exportuje model jako geometrick\xFD soubor Bedrock edice.","action.save_project":"Ulo\u017Eit Projekt","action.save_project.desc":"Ulo\u017E\xED dan\xFD model jako\u017Eto projektov\xFD soubor","action.save_project_as":"Ulo\u017Eit Projekt Jako","action.save_project_as.desc":"Saves the current model as a project file at a new location","action.export_over":"Ulo\u017Eit Model","action.export_over.desc":"Ulo\u017E\xED model, textury a animace p\u0159episov\xE1n\xEDm soubor\u016F","action.add_locator":"P\u0159idat Lok\xE1tor","action.add_locator.desc":"P\u0159id\xE1 nov\xFD lok\xE1tor pro ovl\xE1d\xE1n\xED pozic \u010D\xE1stic, vod\xEDtek, apod.","action.uv_turn_mapping":"Oto\u010Dit Mapov\xE1n\xED","action.uv_turn_mapping.desc":"Oto\u010D\xED UV mapov\xE1n\xED o 90 stup\u0148\u016F","action.remove_blank_faces":"Odstranit Pr\xE1zdn\xE9 Plochy","action.remove_blank_faces.desc":"Zpr\u016Fhledn\xED v\u0161echny plochy bez textury ve v\xFDb\u011Bru","web.download_app":"St\xE1hnout Aplikaci","uv_editor.turned":"Oto\u010Den\xE9 Mapov\xE1n\xED","display.reference.crossbow":"Ku\u0161e","dialog.settings.search_results":"Vyhledat v\xFDsledky","settings.animation_snap":"P\u0159ichycen\xE9 Animace","settings.animation_snap.desc":"Interval p\u0159itahov\xE1n\xED kl\xED\u010Dov\xFDch sn\xEDmk\u016F na \u010Dasov\xE9 lince animace v kroc\xEDch za sekundu","action.import_optifine_part":"Vlo\u017Eit \u010C\xE1ste\u010Dn\xFD OptiFine Model","action.import_optifine_part.desc":"Vlo\u017E\xED \u010D\xE1ste\u010Dn\xFD OptiFine model pro Optifine","data.locator":"Lok\xE1tor","mode.start.no_recents":"\u017D\xE1dn\xE9 ned\xE1vno otev\u0159en\xE9 modely","panel.element":"Prvek","panel.element.position":"Pozice","panel.element.size":"Velikost","panel.element.origin":"Bod ot\xE1\u010Den\xED","panel.element.rotation":"Rotace","message.canvas_limit_error.title":"Limita\u010Dn\xED Error Pl\xE1tna","message.canvas_limit_error.message":"Akci nelze prov\xE9st spr\xE1vn\u011B, proto\u017Ee form\xE1t limituje pl\xE1tno na 48 jednotek. Chcete-li tomu zabr\xE1nit, posu\u0148te oto\u010Dn\xFD bod.","data.effect":"Efekt","generic.name":"Jm\xE9no","settings.recent_projects":"Kapacita Upraven\xFDch Model\u016F","settings.recent_projects.desc":"Maxim\xE1ln\xED po\u010Det posledn\xEDch upravovan\xFDch model\u016F k zapamatov\xE1n\xED","settings.volume":"Hlasitost","settings.volume.desc":"Kontrola hlasitosti pro zvukov\xE9 efekty v animac\xEDch","action.clear_timeline":"Vy\u010Distit \u010Dasovou linku","action.clear_timeline.desc":"Vy\u010Distit v\u0161echny nevybran\xE9 \u010D\xE1sti t\u011Bla z \u010Dasov\xE9 linky","action.select_effect_animator":"Animovat Efekty","action.select_effect_animator.desc":"Otev\u0159e \u010Dasovou linku pro p\u0159id\xE1n\xED zvuku a \u010D\xE1sticov\xFDch efekt\u016F","action.timeline_focus":"Filtrovat Kan\xE1ly","action.timeline_focus.desc":"Vybrat anima\u010Dn\xED kan\xE1ly pro zobrazen\xED na \u010Dasov\xE9 lince","timeline.particle":"\u010C\xE1stice","timeline.sound":"Zvuk","timeline.effects":"Efekty","data.format":"Form\xE1t","format.optifine_part":"\u010C\xE1ste\u010Dn\xFD OptiFine model","format.optifine_part.desc":"\u010C\xE1ste\u010Dn\xFD model [tj. JPM] jako sou\u010D\xE1st pro model OptiFine entity","action.reverse_keyframes":"Vym\u011Bnit Po\u0159ad\xED Sn\xEDmk\u016F","action.reverse_keyframes.desc":"Vym\u011Bn\xED po\u0159ad\xED vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","generic.help":"V\xFDpomoc","message.removed_faces":"Odstran\u011Bno %0 ploch","dialog.sketchfab_uploader.draft":"Koncept","action.slider_pos":"Posunout %0","action.slider_pos.desc":"Posune prvky na ose %0","action.slider_size":"Velikost %0","action.slider_size.desc":"Zm\u011Bn\xED velikost prvk\u016F na ose %0","action.slider_rotation":"Oto\u010Dit %0","action.slider_rotation.desc":"Oto\u010D\xED prvky na ose %0","action.slider_origin":"Osa ot\xE1\u010Den\xED %0","action.slider_origin.desc":"Posune osu ot\xE1\u010Den\xED na ose %0","action.rotate_cw":"Oto\u010Dit %0 +90","action.rotate_cw.desc":"Oto\u010D\xED vybran\xE9 prvky o 90\xB0 na ose %0","action.rotate_ccw":"Oto\u010Dit %0 -90","action.rotate_ccw.desc":"Oto\u010D\xED vybran\xE9 prvky o -90\xB0 na ose %0","action.flip":"P\u0159eklopit %0","action.flip.desc":"P\u0159eklop\xED vybran\xE9 prvky na ose %0","action.center":"Vycentrovat %0","action.center.desc":"Vycentruje vybran\xE9 prvky na ose %0","action.bring_up_all_animations":"Pozvednout V\u0161echny Animace","panel.bone":"\u010C\xE1st T\u011Bla","data.color":"Barva","generic.export":"Ulo\u017Eit jako","generic.none":"\u017D\xE1dn\xFD","status_bar.recording":"Nahr\xE1v\xE1n\xED Timelapse","message.add_to_palette":"P\u0159id\xE1no do palety","message.size_modifiers":"Podr\u017Ete Ctrl nebo Shift (nebo oboj\xED) pro transformaci po men\u0161\xEDch \u010D\xE1stech.","message.timelapse_start":"Spu\u0161t\u011Bn\xED \u010Casozb\u011Bru","message.timelapse_stop":"Zastaven\xED \u010Casozb\u011Bru","message.import_palette.replace_palette":"Nahradit starou paletu","message.import_palette.threshold":"Prahov\xE1 hodnota slou\u010Den\xED","dialog.timelapse.interval":"Interval (sekundy)","dialog.timelapse.source":"Zdroj","dialog.timelapse.source.interface":"Rozhran\xED","dialog.timelapse.source.locked":"Zam\u010Den\xFD \xFAhel","dialog.timelapse.destination":"C\xEDlov\xE1 Slo\u017Eka","layout.color.checkerboard":"\u0160achovnice","layout.color.checkerboard.desc":"Pozad\xED pl\xE1tna a UV editor","layout.font.code":"K\xF3dovan\xFD Font","layout.css":"Vlastn\xED CSS soubor","settings.category.paint":"Barven\xED","settings.deactivate_size_limit":"Zak\xE1z Velikostn\xED Limitace","settings.deactivate_size_limit.desc":"Zru\u0161en\xED velikostn\xEDho limitu pro specifick\xE9 form\xE1ty modelu. VAROV\xC1N\xCD: M\u016F\u017Ee zp\u016Fsobit nefunk\u010Dnost modelu z d\u016Fvodu nepodporovan\xE9ho form\xE1tu.","settings.brush_opacity_modifier":"Modifik\xE1tor Pr\u016Fhlednosti \u0160t\u011Btce","settings.brush_opacity_modifier.desc":"Uprav\xED pr\u016Fhlednost \u0161t\u011Btce p\u0159i pou\u017E\xEDv\xE1n\xED stylu (digit\xE1ln\xED tu\u017Eka)","settings.brush_size_modifier":"Modifik\xE1tor Velikosti \u0160t\u011Btce","settings.brush_size_modifier.desc":"Uprav\xED velikost \u0161t\u011Btce p\u0159i pou\u017E\xEDv\xE1n\xED stylu (digit\xE1ln\xED tu\u017Eka)","settings.brush_modifier.pressure":"Tlak","settings.brush_modifier.tilt":"Sklon","category.color":"Barva","action.import_theme":"Nahr\xE1t Vizu\xE1ln\xED Dopln\u011Bk","action.export_theme":"Exportovat Vizu\xE1ln\xED Dopln\u011Bk","action.export_theme.desc":"Vytvo\u0159it soubor vizu\xE1ln\xEDho dopl\u0148ku zalo\u017Een\xE9m na dosavadn\xEDm nastaven\xED","action.slider_color_h":"Odst\xEDn","action.slider_color_s":"Sytost","action.slider_color_v":"Hodnota","action.add_to_palette":"P\u0159idat Do Palety Barev","action.add_to_palette.desc":"P\u0159id\xE1 vybranou barvu do palety barev","action.import_palette":"Nahr\xE1t Paletu Barev","action.import_palette.desc":"Pro nahr\xE1n\xED palety barev pomoc\xED souboru typu .bbpalette","action.export_palette":"Exportovat Paletu Barev","action.export_palette.desc":"Exportuje paletu barev jako soubor typu .bbpalette","action.generate_palette":"Vygenerovat Paletu Barev","action.generate_palette.desc":"Vygeneruje paletu barev z textury","action.sort_palette":"Se\u0159adit Paletu Barev","action.sort_palette.desc":"Se\u0159ad\xED v\u0161echny barvy na palet\u011B podle barvy a jasu","action.timelapse":"\u010Casozb\u011Br...","action.timelapse.desc":"Nato\u010D\xED \u010Dasozb\u011Br b\u011Bhem va\u0161\xED pr\xE1ce na modelu","action.add_keyframe":"P\u0159idat Sn\xEDmek","action.add_keyframe.desc":"Automaticky p\u0159id\xE1 sn\xEDmek. Stisknut\xEDm kl\xE1vesy shift vynut\xEDte v\xFDchoz\xED hodnoty","action.bring_up_all_animations.desc":"Brings v\u0161echny modifikovan\xE9 animace do \u010Dasov\xE9 linky","timeline.timeline":"Instrukce","menu.palette.load.default":"V\xFDchoz\xED","generic.import":"Vlo\u017Eit","settings.brush_modifier.none":"\u017D\xE1dn\xE9","action.export_entity":"Exportovat Entitu Verze Bedrock","action.export_entity.desc":"P\u0159id\xE1 aktu\xE1ln\xED model jako entitu do souboru mobs.json","settings.highlight_cubes":"Zv\xFDrazn\u011Bn\xED prvk\u016F","settings.highlight_cubes.desc":"Zv\xFDrazn\xED prvky p\u0159i najet\xED my\u0161\xED nebo p\u0159i jejich v\xFDb\u011Bru","action.add_marker":"Vlo\u017Een\xED Z\xE1lo\u017Eky","action.add_marker.desc":"Vlo\u017Eit Z\xE1lo\u017Eku na \u010Dasov\xE9 lince","timeline.pre_effect_script":"Skript","format.skin":"Skin","format.skin.desc":"Pro editaci hr\xE1\u010Dsk\xE9ho skinu, nebo skinu entit","message.sketchfab.setup_guide":"Want to learn how to set up models in Sketchfab? Read %0","dialog.skin.title":"Vytvo\u0159it Skin","dialog.skin.model":"Model","action.toggle_skin_layer":"P\u0159epnout Vrstvu Skinu","action.toggle_skin_layer.desc":"P\u0159epne na vrstvu pro oble\u010Den\xED u skinov\xE9ho modelu","action.gui_light":"GUI Osv\u011Btlen\xED","action.gui_light.desc":"Vyberte zp\u016Fsob osv\u011Btlen\xED polo\u017Eky v invent\xE1\u0159i","action.gui_light.side":"Bo\u010Dn\xED Osv\u011Btlen\xED","action.gui_light.front":"P\u0159edn\xED Osv\u011Btlen\xED","action.move_keyframe_back":"Posunout Sn\xEDmky Zp\u011Bt","action.move_keyframe_forth":"Posunout Sn\xEDmky Dop\u0159edu","menu.help":"Pomoc","menu.help.discord":"Discord Server","menu.help.report_issue":"Nahl\xE1sit Probl\xE9m","menu.help.plugin_documentation":"Dokumentace API pluginu","menu.help.search_action":"Vyhledat a Spustit Akci","menu.help.donate":"Darovat","menu.help.about":"O aplikaci...","menu.preview.background.clipboard":"Nahr\xE1t ze Schr\xE1nky","dialog.ignore":"Ignorovat","generic.unset":"Vymazat","message.invalid_builtin_parent.title":"Neplatn\xFD p\u0159eddefinovan\xFD nad\u0159azen\xFD prvek","message.invalid_builtin_parent.message":"Odkaz na neplatn\xFD nad\u0159azen\xFD model '%0' byl odstran\u011Bn, aby bylo mo\u017En\xE9 soubor ulo\u017Eit jako platn\xFD model.","dialog.resize_texture.fill":"Vyplnit","dialog.resize_texture.fill.transparent":"Pr\u016Fhledn\xFD","dialog.resize_texture.fill.color":"Barva","dialog.resize_texture.fill.repeat":"Opakovat","dialog.scale.element_pivot":"Z\xE1kladn\xED osa ot\xE1\u010Den\xED","dialog.scale.selection_center":"V\xFDb\u011Br St\u0159edov\xE9ho bodu","dialog.create_gif.length_mode":"D\xE9lkov\xFD re\u017Eim","dialog.create_gif.length_mode.seconds":"Sekundy","dialog.create_gif.length_mode.frames":"R\xE1mce","dialog.create_gif.length_mode.animation":"D\xE9lka animace","dialog.create_gif.length_mode.turntable":"Rotace to\u010Dny","dialog.save_angle.projection":"Projekce","dialog.save_angle.projection.perspective":"Perspektiva","dialog.save_angle.projection.orthographic":"Ortografick\xE9 zobrazen\xED","dialog.sketchfab_uploader.animations":"Animace","dialog.settings.theme":"\xDAprava vzhledu","settings.category.interface":"Rozhran\xED","settings.preview_checkerboard":"N\xE1hled \u0161achovnice","settings.preview_checkerboard.desc":"P\u0159epnout \u0161achovnicov\xE9 pozad\xED za n\xE1hledem","settings.uv_checkerboard":"\u0160achovnice UV Editoru","settings.uv_checkerboard.desc":"P\u0159epnout \u0161achovnicov\xE9 pozad\xED za UV editorem","category.paint":"Malov\xE1n\xED","action.fill_mode.color_connected":"P\u0159ipojen\xE9 Barvy","action.draw_shape_type":"Typ Tvaru","action.draw_shape_type.rectangle":"Obd\xE9ln\xEDk","action.draw_shape_type.rectangle_h":"Obd\xE9ln\xEDk (Dut\xFD)","action.draw_shape_type.ellipse":"Elipsa","action.draw_shape_type.ellipse_h":"Elipsa (Dut\xE1)","action.draw_shape_type.line":"P\u0159\xEDmka","action.mirror_painting":"Zrcadlov\xE9 Malov\xE1n\xED","action.mirror_painting.description":"Zrcadl\xED tahy barvou na druhou stranu modelu","action.lock_alpha":"Zamknout Kan\xE1l Alpha","action.lock_alpha.description":"Zamkne pr\u016Fhlednost v\u0161ech pixel\u016F","action.draw_shape_tool":"Nakreslit Tvar","action.draw_shape_tool.desc":"N\xE1stroj pro nakreslen\xED jednoduch\xFDch tvar\u016F na textury","action.export_gltf":"Exportovat jako soubor typu glTF","action.export_gltf.desc":"Export model and animations as glTF file to use in other 3D applications","action.transform_space":"Transforma\u010Dn\xED Prostor","action.transform_space.desc":"V\xFDchoz\xED transforma\u010Dn\xED prostor pro prvky a kost\xED","action.transform_space.global":"Glob\xE1ln\xED","action.transform_space.local":"Lok\xE1ln\xED","action.toggle_camera_projection":"P\u0159epnout Projekci Kamery","action.toggle_camera_projection.desc":"P\u0159ep\xEDn\xE1 projekci kamery mezi perspektivn\xED a 2D zobrazen\xEDm","action.load_camera_angle":"\xDAhel kamery: %0","action.load_camera_angle.desc":"Nastav\xED \xFAhel kamery '%0'","action.slider_face_tint":"Index Odst\xEDnu","action.slider_face_tint.desc":"Nastav\xED index odst\xEDnu dan\xE9 plochy. Hodnota -1 symbolizuje NENASTAVENO.","menu.help.quickstart":"Rychl\xE9 Spu\u0161t\u011Bn\xED Wizard","menu.help.developer":"Mo\u017Enosti V\xFDvoj\xE1\u0159e","menu.help.developer.dev_tools":"Otev\u0159\xEDt V\xFDvoj\xE1\u0159sk\xE9 N\xE1stroje","menu.help.developer.reset_storage":"Resetovat na Tov\xE1rn\xED Nastaven\xED","menu.help.developer.reset_storage.confirm":"Jste si jisti, \u017Ee chcete resetovat Blockbench do Tov\xE1rn\xEDho Nastaven\xED? Toto rozhodnut\xED sma\u017Ee v\u0161echny va\u0161e nastaven\xED, kl\xE1vesov\xE9 zkratky a pluginy.","menu.help.developer.cache_reload":"Znovu Na\u010D\xEDst Mezipam\u011B\u0165","menu.preview.orthographic":"2D zobrazen\xED","menu.preview.save_angle":"Ulo\u017Eit \xDAhel...","menu.preview.angle":"\xDAhly","menu.preview.angle.initial":"Po\u010D\xE1te\u010Dn\xED \xDAhel","menu.preview.maximize":"Maximalizovat","uv_editor.copy_selection":"Kop\xEDrovat V\xFDb\u011Br","uv_editor.paste_selection":"Vlo\u017Eit V\xFDb\u011Br","uv_editor.copy_paste_tool.place":"Vlo\u017Eit","uv_editor.copy_paste_tool.mirror_x":"Zrcadlo osy X","uv_editor.copy_paste_tool.mirror_y":"Zrcadlo osy Y","uv_editor.copy_paste_tool.rotate":"Oto\u010Dit o 90 Stup\u0148\u016F","dialog.project.modded_entity_version":"Export Version","dialog.save_angle.position":"Pozice Kamery","dialog.save_angle.target":"Ohniskov\xFD Bod","dialog.skin.pose":"Postoj","layout.color.frame":"R\xE1m Okna","layout.color.frame.desc":"Okraj a z\xE1hlav\xED okna","settings.large_grid_size":"Velikost blokov\xE9 m\u0159\xED\u017Eky","settings.large_grid_size.desc":"Rozm\u011Bry Blokov\xE9 M\u0159\xED\u017Eky","action.load_plugin_from_url":"Na\u010D\xEDst Dopln\u011Bk z Odkazu URL","action.load_plugin_from_url.desc":"Na\u010Dte dopln\u011Bk ze serveru zad\xE1n\xEDm adresy URL","action.cube_counter.desc":"Zobraz\xED aktu\xE1ln\xED po\u010Det prvk\u016F a dal\u0161\xED statistiky","action.unlock_everything":"Odemknout V\u0161e","action.unlock_everything.desc":"Odemkne v\u0161echny skupiny a prvky v seznamu.","action.load_palette":"Na\u010D\xEDst Paletu Barev","action.load_palette.desc":"Na\u010Dte jednu z programov\xFDch p\u0159ednastaven\xED palety barev","action.toggle_locked":"P\u0159epnout Zam\u010Den\xED","action.toggle_locked.desc":"P\u0159epne uzam\u010Den\xED vybran\xFDch prvk\u016F","action.apply_display_preset":"Pou\u017E\xEDt P\u0159ednastaven\xED","action.apply_display_preset.desc":"Pou\u017Eije v\xFDchoz\xED, nebo vlastn\xED zobrazovac\xED p\u0159ednastaven\xED","action.apply_display_preset.here":"Pou\u017E\xEDt Na Tento Slot","action.apply_display_preset.everywhere":"Pou\u017E\xEDt Na V\u0161echny Sloty","action.resolve_keyframe_expressions":"Vy\u0159e\u0161it Sn\xEDmky","action.resolve_keyframe_expressions.desc":"\u0158e\u0161\xED matematick\xE9 v\xFDrazy vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.fold_all_animations":"Slo\u017Eit V\u0161echny Animace","menu.palette.load.empty":"Pr\xE1zdn\xFD","switches.lock":"Zamknout","settings.render_sides":"Vykreslen\xED Stran","settings.render_sides.desc":"Vyberte, kter\xE1 strana plochy se vykresl\xED","settings.render_sides.auto":"Automaticky","settings.render_sides.front":"Vn\u011Bj\u0161\xED","settings.render_sides.double":"Vnit\u0159n\xED a Vn\u011Bj\u0161\xED","generic.enable":"Povoleno","generic.disable":"Zak\xE1z\xE1no","generic.redacted":"Redigov\xE1no","dialog.select_texture.import_all":"Nahr\xE1t V\u0161e","dialog.skin.layer_template":"Texturov\xE1 vrstva","about.version.up_to_date":"Aktu\xE1ln\xED","about.version.update_available":"Verze %0 je k dispozici ke sta\u017Een\xED","settings.category.application":"Aplikace","settings.streamer_mode":"Streamovac\xED re\u017Eim","settings.streamer_mode.desc":"Schov\xE1 citliv\xE9 informace, jako nap\u0159\xEDklad Ned\xE1vno otev\u0159en\xE9 modely","settings.automatic_updates":"Automatick\xE9 Aktualizace","settings.automatic_updates.desc":"Automaticky bude stahovat nov\xE9 aktualizace a udr\u017Eovat program Blockbench na nejnov\u011Bj\u0161\xED verzi","action.rotation_space":"Prostor Ot\xE1\u010Den\xED","action.focus_on_selection":"Vycentrov\xE1n\xED Pohledu na V\xFDb\u011Br","action.focus_on_selection.desc":"Zarovn\xE1 kameru tak, aby sm\u011B\u0159ovala ke st\u0159edu aktu\xE1ln\xEDho v\xFDb\u011Bru","action.jump_to_timeline_start":"P\u0159esko\u010Dit na Po\u010D\xE1tek Animace","action.jump_to_timeline_end":"P\u0159esko\u010Dit na Konec Animace","menu.help.updating":"Aktualizace (%0%)","menu.help.update_failed":"Aktualizace Selhala","menu.animation.loop.once":"P\u0159ehr\xE1t Jednou","menu.animation.loop.hold":"Pozastavit na Posledn\xEDm Sn\xEDmku","menu.animation.loop.loop":"Smy\u010Dka","interface.streamer_mode_on":"Streamersk\xFD mod Povolen","generic.reset":"Resetovat","generic.restore":"Obnovit","keys.mousewheel":"Kole\u010Dko my\u0161i","message.delete_animation.title":"Vymazat animaci","message.delete_animation.message":"Animace byla z Blockbenche odebr\xE1na. P\u0159ejete si ji tak\xE9 vymazat ze souboru, ve kter\xE9m byla ulo\u017Eena?","message.no_animation_to_import":"\u017D\xE1dn\xE9 animace k nahr\xE1n\xED","dialog.material_instances.title":"Materi\xE1ln\xED instance","dialog.animation_import.title":"Vyberte po\u017Eadovan\xE9 animace pro nahr\xE1n\xED","dialog.create_texture.padding":"Vnit\u0159n\xED okraj (v\xFDpl\u0148)","settings.fov":"FOV","settings.fov.desc":"Zorn\xE9 pole kamery. V\xFDchoz\xED hodnota je 45","settings.minify_bbmodel":"\u0158\xE1dkov\xE9 Projektov\xE9 Soubory","settings.minify_bbmodel.desc":"Sep\xED\u0161e projektov\xE9 soubory typu .bbmodel do jedin\xE9ho \u0159\xE1dku","action.edit_material_instances":"Upravit Instance Materi\xE1lu","action.edit_material_instances.desc":"Pro \xFApravu jmen materi\xE1ln\xEDch instanc\xED pro geometrie bloku verze Bedrock","action.save_all_animations":"Ulo\u017Eit V\u0161echny Animace","action.save_all_animations.desc":"Ulo\u017E\xED v\u0161echny aktu\xE1ln\u011B na\u010Dten\xE9 animace","action.keyframe_interpolation":"Interpolace","action.keyframe_interpolation.desc":"Pro vybr\xE1n\xED re\u017Eimu interpolace kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.keyframe_interpolation.linear":"Line\xE1rn\xED","action.keyframe_interpolation.catmullrom":"Hladk\xE1","action.timeline_focus.hide_empty":"Schovat pr\xE1zdn\xED kan\xE1ly","menu.file.preferences":"Nastaven\xED","menu.animation.blend_weight":"Z\xE1va\u017Enost Sm\xED\u0161en\xED","menu.animation.save":"Ulo\u017Eit","menu.animation.properties":"Vlastnosti...","menu.animation.file":"Soubor","menu.animation.snapping":"P\u0159ichyt\xE1v\xE1n\xED","menu.animation.open_location":"Otev\u0159\xEDt Lokaci Souboru","panel.keyframe.add_data_point":"P\u0159idat Sn\xEDmkov\xFD Datov\xFD Bod","panel.keyframe.remove_data_point":"Odstranit Datov\xFD Bod","panel.keyframe.pre":"P\u0159ed","panel.keyframe.post":"Po","generic.all":"V\u0161e","message.small_face_dimensions.title":"Nekompatibiln\xED rozm\u011Bry ploch","message.small_face_dimensions.message":"V\xFDb\u011Br obsahuje plochy, kter\xE9 jsou men\u0161\xED ne\u017E 1 jednotka v jednom sm\u011Bru. Mapovac\xED syst\xE9m Box UV pova\u017Euje v\u0161echny plochy pod touto prahovou hodnotou za 0 pixel\u016F \u0161irok\xE9. Textura na t\u011Bchto ploch\xE1ch proto nemus\xED fungovat spr\xE1vn\u011B.","message.small_face_dimensions.face_uv":'Dosavadn\xED form\xE1t podporuje per-face UV mapy, kter\xFD zvl\xE1d\xE1 mal\xE9 rozm\u011Bry plochy. B\u011B\u017Ete do "Soubor" -> "Projekt..." a od\u0161krtn\u011Bte "Box UV".',"dialog.plugins.outdated_client":"Je vy\u017Eadov\xE1na nov\u011Bj\u0161\xED verze programu Blockbench","dialog.plugins.outdated_plugin":"Plugin je zastaral\xFD a na t\xE9to verzi Blockbenche nefunguje","settings.motion_trails":"Pohybov\xE9 cesty","settings.motion_trails.desc":"Zobrazen\xED pohybov\xFDch cest v anima\u010Dn\xEDm editoru","settings.antialiasing":"Vyhlazov\xE1n\xED","settings.antialiasing.desc":"P\u0159epnout vyhlazov\xE1n\xED v n\xE1hledu. Restartujte Blockbench pro uplatn\u011Bn\xED zm\u011Bn","action.timeline_frame_back":"Sko\u010Dit o 1 Sn\xEDmek Zp\u011Bt","action.timeline_frame_forth":"Sko\u010Dit o 1 Sn\xEDmek Dop\u0159edu","panel.bone.ik":"Inverzn\xED kinematika (Ve v\xFDvoji)","settings.particle_tick_rate":"\u010Cetnost tik\u016F \u010C\xE1stic","settings.particle_tick_rate.desc":"\u010Cetnost tik\u016F pro efekty \u010D\xE1stic v tic\xEDch za sekundu. V\xFDchoz\xED hodnota je 30","action.lock_motion_trail":"Zamknout Sledov\xE1n\xED Pohybu","action.lock_motion_trail.desc":"Zamknout sledov\xE1n\xED pohybu aktu\xE1ln\u011B vybran\xE9 skupiny","menu.animation_file.unload":"Nena\u010Dten\xFD Soubor s Animac\xED","data.null_object":"Nulov\xFD Objekt","status_bar.toggle_sidebar":"P\u0159epnout Postrann\xED Panel","message.load_plugin_failed.title":"Nepoda\u0159ilo se nahr\xE1t dopln\u011Bk","message.load_plugin_failed.message":"Ujist\u011Bte se, \u017Ee n\xE1zev z\xE1kladn\xEDho souboru pluginu odpov\xEDd\xE1 ID pluginu `%0`, jak je uvedeno v Plugin.register().","dialog.project.uv_mode":"UV Re\u017Eim","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-face UV","dialog.project.texture_size":"Velikost Textury","dialog.animation_export.title":"Vyberte po\u017Eadovan\xE9 animace pro exportov\xE1n\xED","dialog.create_texture.rearrange_uv":"P\u0159eskupit UV","layout.color.subtle_text":"Jemn\xFD Text","layout.color.subtle_text.desc":"Druhotn\xFD barva textu s men\u0161\xEDm kontrastem","settings.interface_scale":"M\u011B\u0159\xEDtko Rozhran\xED","settings.interface_scale.desc":"M\u011B\u0159\xEDtko cel\xE9ho rozhran\xED Blockbench","settings.background_rendering":"Vykreslov\xE1n\xED Pozad\xED","settings.background_rendering.desc":"Aktualizuje n\xE1hled, zat\xEDmco okno nen\xED zaost\u0159eno","settings.ctrl_shift_size":"Ctrl + Shift Rozli\u0161en\xED","settings.ctrl_shift_size.desc":"Rozli\u0161en\xED m\u0159\xED\u017Eky p\u0159i dr\u017Een\xED kl\xE1vesnice ctrl a shift","settings.hardware_acceleration":"Hardwarov\xE1 Akcelerace","settings.hardware_acceleration.desc":"Zad\xE1 \xFAkoly vykreslov\xE1n\xED na grafickou kartu. Chcete-li pou\u017E\xEDt zm\u011Bny, restartujte Blockbench","action.explode_skin_model":"Exploze Modelu Skinu","action.explode_skin_model.desc":"P\u0159ep\xEDn\xE1 zobrazen\xED exploze, kter\xE9 v\xE1m umo\u017En\xED upravovat zakryt\xE9 tv\xE1\u0159e","action.export_minecraft_skin":"Exportovat Minecraft Skin","action.export_minecraft_skin.desc":"Exportuje Minecraft skin jako PNG texturu","action.add_null_object":"P\u0159idat Nulov\xFD Objekt","action.add_null_object.desc":"P\u0159id\xE1 nov\xFD nulov\xFD objekt","action.animated_texture_frame":"Animovan\xFD Sn\xEDmek Textury","action.animated_texture_frame.desc":"Nastav\xED aktu\xE1ln\xED sn\xEDmek animovan\xE9 textury","action.export_animation_file":"Exportovat Animaci...","action.export_animation_file.desc":"Exportuje v\xFDb\u011Br animac\xED do nov\xE9ho souboru","action.timeline_graph_editor":"P\u0159epnout Editor Graf\u016F","action.timeline_graph_editor.desc":"P\u0159ep\xEDn\xE1 \u010Dasovou osu mezi zobrazen\xEDm editoru graf\u016F a zobrazen\xEDm kl\xED\u010Dov\xFDch sn\xEDmk\u016F","menu.file.recent.clear":"Vyma\u017Ee posledn\xED soubory","switches.shade":`St\xEDn
`,"generic.share":"Sd\xEDlet","dates.minute":"%0 Minuta","dates.minutes":"%0 Minuty","dates.hour":"%0 Hodina","dates.hours":"%0 Hodiny","dates.day":"%0 Den","dates.days":"%0 Dny","dates.week":"%0 T\xFDden","dates.weeks":"%0 T\xFDdny","dates.year":"%0 Rok","dates.years":"%0 Roky","message.installed_plugin":"Dopln\u011Bk %0 \xFAsp\u011B\u0161n\u011B nainstalov\xE1n","message.installed_plugin_fail":"Nepoda\u0159ilo se nainstalovat dopln\u011Bk %0","dialog.share_model.title":"Sd\xEDlet Model","dialog.share_model.expire_time":"\u010Cas Expirace","dialog.share_model.failed":"Nepoda\u0159il ose nahr\xE1t model","action.import_java_block_model":"P\u0159idat Java model Bloku/P\u0159edm\u011Btu","action.import_java_block_model.desc":"P\u0159idat Minecraft Java model bloku/p\u0159edm\u011Btu ze souboru json to aktu\xE1ln\xEDho modelu","action.share_model":"Sd\xEDlet...","action.share_model.desc":"Vygeneruje kr\xE1tk\xFD odkaz pro sd\xEDlen\xED va\u0161eho modelu","action.import_project":"Nahr\xE1t Projekt","action.import_project.desc":"Nahraje dal\u0161\xED projekt z .bbmodel souboru do dan\xE9ho projektu","dialog.toolbar_edit.hidden_tools":"N\u011Bkter\xE9 n\xE1stroje mohou b\xFDt skryt\xE9, proto\u017Ee nejsou k dispozici v aktu\xE1ln\xEDm re\u017Eimu, form\xE1tu nebo situaci.","settings.camera_near_plane":"Kamera Bl\xEDzko Roviny","settings.camera_near_plane.desc":"Minim\xE1ln\xED vzd\xE1lenost od kamery, kde se objekty vykresluj\xED. Vy\u0161\u0161\xED hodnoty sni\u017Euj\xED Z-fighting. V\xFDchoz\xED hodnota je 1.","mode.start.keymap_preference.desc":"Pokud s programem Blockbench za\u010D\xEDn\xE1te, ale m\xE1te zku\u0161enosti s jin\xFDm 3D programem, m\u016F\u017Eete si zvolit mapovan\xED kl\xE1vesov\xFDch zkratek, na kter\xE9 jste zvykl\xFD. V Nastaven\xED lze i pozd\u011Bji tuto volbu zm\u011Bnit.","message.load_keymap":"Opravdu chcete na\u010D\xEDst toto mapov\xE1n\xED kl\xE1ves? P\u0159ep\xED\u0161ou se t\xEDm va\u0161e aktu\xE1ln\xED kl\xE1vesov\xE9 zkratky.","message.keymap_loaded":"Mapov\xE1n\xED kl\xE1ves na\u010Dteno","dialog.convert_project.current_format":"Tento form\xE1t","dialog.create_texture.rearrange_uv.desc":"Vytvo\u0159it nov\xE9 UV uspo\u0159\xE1d\xE1n\xED, aby ka\u017Ed\xE1 plocha m\u011Bla vlastn\xED m\xEDsto na textu\u0159e","dialog.create_texture.power.desc":"Uzamknout automatickou velikost textury na mocninu 2, nap\u0159\xEDklad 64 nebo 128. N\u011Bkter\xE9 renderery to m\u016F\u017Eou vy\u017Eadovat","dialog.create_texture.double_use.desc":"Pokud ji\u017E dva prvky maj\xED p\u0159i\u0159azen stejn\xFD UV prostor, ponechat je tak i v nov\xE9 map\u011B","dialog.create_texture.padding.desc":"P\u0159idat malou mezeru mezi jednotliv\xFDmi \u010D\xE1stmi textury","dialog.create_texture.resolution.desc":"V\xFD\u0161ka a \u0161\xED\u0159ka textury","dialog.create_gif.color":"Barva pozad\xED","dialog.save_angle.zoom":"P\u0159ibl\xED\u017Een\xED","dialog.skin.variant":"Varianta","dialog.flip_animation.info":"Protilehl\xE9 \u010D\xE1sti t\u011Bla jsou ozna\u010Deny kl\xED\u010Dov\xFDmi slovy 'left' a 'right' v jejich jm\xE9nu.","dialog.export_private_settings.title":"Soukrom\xE1 nastaven\xED","dialog.export_private_settings.message":"Va\u0161e slo\u017Eka obsahuje n\xE1sleduj\xEDc\xED soukrom\xE9 informace: **%0**. Pokud pl\xE1nujete soubor sd\xEDlet s n\u011Bk\xFDm jin\xFDm, tyto informace vynechejte.","dialog.export_private_settings.keep":"Ponechat","settings.timecode_frame_number":"Zobrazovat \u010Dasov\xE9 zn\xE1mky jako \u010D\xEDsla sn\xEDmk\u016F","settings.timecode_frame_number.desc":"Zobrazovat zlomkov\xE9 \u010Dasov\xE9 zn\xE1mky na \u010Dasov\xE9 lince jako \u010D\xEDslo sn\xEDmku m\xEDsto centivte\u0159in","settings.animation_sample_rate":"Vzor sekvence animace","settings.animation_sample_rate.desc":"Vzorkovac\xED frekvence (po\u010Det vzork\u016F za sekundu) pro k\u0159ivky, kter\xE9 dan\xFD form\xE1t nativn\u011B nepodporuje","keybind.preview_zoom":"P\u0159ibl\xED\u017Een\xE9 zobrazen\xED","action.gradient_tool":"P\u0159echod","action.gradient_tool.desc":"Vytvo\u0159it plynulou texturu barvy","action.import_settings":"Importovat nastaven\xED","action.import_settings.desc":"Vlo\u017Eit .bbsettings soubor","action.export_settings":"Exportovat nastaven\xED","action.export_settings.desc":"Exportovat nastaven\xED Blockbenche jako soubor .bbsettings","action.load_keymap":"Nahr\xE1t rozhr\xE1n\xED kl\xE1vesnice","action.load_keymap.default":"V\xFDchoz\xED (Trackpad / My\u0161)","action.load_keymap.mouse":"V\xFDchoz\xED (My\u0161)","action.load_keymap.default.desc":"P\u016Fvodn\xED rozhr\xE1n\xED kl\xE1vesnice pro Blockbench. Navigace zobrazen\xED je nastaven\xE1 na trackpad laptop\u016F","action.load_keymap.mouse.desc":"P\u016Fvodn\xED rozhr\xE1n\xED kl\xE1vesnice pro Blockbench. Navigace zobrazen\xED je nastaven\xE1 na prost\u0159edn\xED tla\u010D\xEDtko my\u0161i","action.load_keymap.blender.desc":"Rozhr\xE1n\xED kl\xE1vesnice podobn\xE9 programu blender","action.load_keymap.cinema4d.desc":"Rozhr\xE1n\xED kl\xE1vesnice podobn\xE9 programu Cinema 4D","action.load_keymap.maya.desc":"Rozhr\xE1n\xED kl\xE1vesnice podobn\xE9 programu Autodesk Maya","action.import_keymap":"Importovat rozhr\xE1n\xED kl\xE1vesnice","action.import_keymap.desc":"Nahr\xE1t zkraty kl\xE1ves (.bbkeymap soubor)","action.export_keymap":"exportovat rozhr\xE1n\xED kl\xE1vesnice","action.export_keymap.desc":"exportovat rozhr\xE1n\xED kl\xE1vesnice jako soubor typu .bbkeymap","action.edit_history":"Upravit...","action.edit_history.desc":"Uk\xE1zat historii \xFAprav v\u010Detn\u011B Undo a Redo oprav","action.group_elements":"Seskupit prvky","action.group_elements.desc":"Zabalit vybran\xE9 prvky do nov\xE9 skupiny","action.unfold_groups":"Rozbalit skupiny","action.unfold_groups.desc":"Rozbalit skupiny v outlineru","action.edit_bedrock_binding":"Upravit nastaven\xED","action.edit_bedrock_binding.desc":"Zm\u011Bnit, ke kter\xE9 \u010D\xE1sti t\u011Bla je geometrie v\xE1z\xE1na","action.pick_screen_color":"Vybrat barvu z obrazovky","action.pick_screen_color.desc":"Vyberte barvu odkudkoli na obrazovce","action.view_mode":"Re\u017Eim zobrazen\xED","action.view_mode.desc":"Zm\u011B\u0148 re\u017Eim zobrazen\xED modelu","action.view_mode.textured":"Texturov\xE1no","action.view_mode.solid":"Pevn\xFD","action.view_mode.wireframe":"Dr\xE1t\u011Bn\xFD model","action.toggle_sidebars":"P\u0159epnout postrann\xED li\u0161ty","action.toggle_sidebars.desc":"Povolit nebo zak\xE1zat postrann\xED panely","action.set_animation_end":"Nastavit konec animace","action.set_animation_end.desc":"Nastavit konec vybran\xE9 animace na aktu\xE1ln\xED \u010Das na \u010Dasov\xE9 ose","action.flip_animation":"P\u0159evr\xE1tit animaci","action.flip_animation.desc":"Oto\u010D\xED \u010D\xE1st animace tak, \u017Ee zkop\xEDruje vybran\xE9 kl\xED\u010Dov\xE9 sn\xEDmky na druhou stranu modelu","action.graph_editor_zero_line":"Zahrnout nulovou \u010D\xE1ru","action.graph_editor_zero_line.desc":"Zda grafick\xFD editor v\u017Edy zahrnuje nulovou \u010D\xE1ru do zobrazen\xED","menu.texture.render_mode":"Re\u017Eim vykreslov\xE1n\xED","menu.texture.render_mode.emissive":"Emisivn\xED","menu.texture.render_mode.layered":"Vrstven\xFD","menu.preview.angle.edit":"Upravit \xFAhel\u2026","menu.animation.start_delay":"Zpo\u017Ed\u011Bn\xED startu","menu.animation.loop_delay":"Zpo\u017Ed\u011Bn\xED smy\u010Dky","menu.animation.flip_keyframes":"Oto\u010Dit kl\xED\u010Dov\xE9 sn\xEDmky","menu.mobile_keyboard.disable_all":"Zak\xE1zat v\u0161e","panel.keyframe.toggle_uniform_scale":"P\u0159epnout jednotn\xE9 m\u011B\u0159\xEDtko","camera_angle.common_isometric_right":"Isometrick\xE1 prav\xE1 (2:1)","camera_angle.common_isometric_left":"Isometrick\xE1 lev\xE1 (2:1)","camera_angle.true_isometric_right":"Skute\u010Dn\xE1 Isometrick\xE1 prav\xE1 (30\xB0)","camera_angle.true_isometric_left":"Skute\u010Dn\xE1 Isometrick\xE1 lev\xE1 (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"Aktualizovat na p\u0159edb\u011B\u017En\xE9 verze","settings.update_to_prereleases.desc":"Automaticky aktualizovat na beta verze Blockbench pro testov\xE1n\xED nov\xFDch funkc\xED. P\u0159edb\u011B\u017En\xE9 verze mohou b\xFDt nestabiln\xED, nepovolujte tuto mo\u017Enost, pokud Blockbench pou\u017E\xEDv\xE1te pro pr\xE1ci nebo jin\xE9 d\u016Fle\u017Eit\xE9 projekty.","data.separator.spacer":"Mezera","data.separator.linebreak":"Zalomen\xED \u0159\xE1dku","data.setting":"Nastaven\xED","generic.select_all":"Vybrat v\u0161e","generic.select_none":"Zru\u0161it v\xFDb\u011Br","projects.new_tab":"Nov\xE1 karta","projects.close_tab":"Zav\u0159\xEDt kartu","message.invalid_format.title":"Neplatn\xFD form\xE1t","message.invalid_format.message":"Tento model byl vytvo\u0159en ve form\xE1tu '%0', kter\xFD ve va\u0161\xED instalaci Blockbench nen\xED k dispozici. Pravd\u011Bpodobn\u011B budete pot\u0159ebovat konkr\xE9tn\xED plugin, abyste jej mohli spr\xE1vn\u011B otev\u0159\xEDt.","message.invalid_link":"Neplatn\xFD nebo vypr\u0161el\xFD odkaz na model","message.default_textures.current":"Aktu\xE1ln\xED cesta","message.update_after_restart":"Aktualizace bude nainstalov\xE1na po p\u0159\xED\u0161t\xEDm restartu","message.copy_paste_tool_viewport":"Tento n\xE1stroj lze pou\u017E\xEDvat pouze v 2D editoru","dialog.project.shadow_size":"Velikost st\xEDnu","dialog.find_replace.target":"C\xEDl","dialog.find_replace.target.element_names":"Jm\xE9na prvk\u016F","dialog.find_replace.target.group_names":"Jm\xE9na skupin","dialog.find_replace.target.animation_names":"Jm\xE9na animac\xED","dialog.find_replace.target.keyframe_values":"Hodnoty kl\xED\u010Dov\xFDch sn\xEDmk\u016F","dialog.find_replace.find":"Naj\xEDt","dialog.find_replace.replace":"Nahradit","dialog.find_replace.regex":"Regul\xE1rn\xED v\xFDraz","dialog.add_primitive.shape":"Tvar","dialog.add_primitive.shape.circle":"Kruh","dialog.add_primitive.shape.tube":"Tubus","dialog.add_primitive.shape.cone":"Ku\u017Eel","dialog.add_primitive.shape.cylinder":"V\xE1lec","dialog.add_primitive.shape.sphere":"Koule","dialog.add_primitive.shape.torus":"Toroid","dialog.add_primitive.shape.cube":"Kv\xE1dr","dialog.add_primitive.shape.pyramid":"Pyramida","dialog.add_primitive.diameter":"Pr\u016Fm\u011Br","dialog.add_primitive.height":"V\xFD\u0161ka","dialog.add_primitive.sides":"Strany","dialog.add_primitive.minor_diameter":"Tlou\u0161\u0165ka","dialog.add_primitive.minor_sides":"Men\u0161\xED strany","dialog.create_texture.combine_polys":"Slou\u010Dit UV soustavy","dialog.create_texture.combine_polys.desc":"Slou\u010Dit plochy do propojen\xFDch UV soustav","dialog.model_stats.meshes":"S\xEDt\u011B","dialog.export_private_settings.omit":"Vynechat","layout.select":"Vybrat","layout.options":"Mo\u017Enosti","layout.color":"Barevn\xE9 sch\xE9ma","layout.documentation":"Dokumentace","layout.color.bright_ui_text":"Sv\u011Btl\xFD UI text","layout.color.bright_ui_text.desc":"Text na sv\u011Btl\xE9m pozad\xED","layout.name":"N\xE1zev","layout.author":"Autor","settings.dialog.desc":'Zobrazit "%0" dialog',"settings.export_empty_groups":"Exportovat pr\xE1zdn\xE9 skupiny","settings.export_empty_groups.desc":"Zahrnout skupiny bez obsahu do exportovan\xFDch soubor\u016F","category.separators":"Odd\u011Blova\u010De","keybind.preview_area_select":"V\xFDb\u011Br oblasti","action.color_erase_mode":"Re\u017Eim maz\xE1n\xED","action.color_erase_mode.desc":"S povolen\xFDm re\u017Eimem maz\xE1n\xED n\xE1stroje jako V\xFDpl\u0148 a Obd\xE9ln\xEDk ode\u010D\xEDtaj\xED barvy m\xEDsto toho, aby je p\u0159id\xE1valy","action.open_from_link":"Otev\u0159\xEDt model z odkazu...","action.open_from_link.desc":"Otev\u0159\xEDt model z blckbn.ch URL","action.import_obj":"Importovat OBJ model","action.import_obj.desc":"Importuje objekty z OBJ modelu jako s\xEDt\u011B","action.add_plugin":"Nainstalovat Plugin","action.add_plugin.desc":"Nainstalovat plugin prost\u0159ednictv\xEDm Action Control","action.remove_plugin":"Odinstalovat Plugin","action.remove_plugin.desc":"Odinstalovat plugin prost\u0159ednictv\xEDm Action Control","action.add_mesh":"P\u0159idat s\xED\u0165","action.add_mesh.desc":"P\u0159id\xE1 novou s\xED\u0165","action.add_texture_mesh":"P\u0159idat texturu s\xEDt\u011B","action.add_texture_mesh.desc":"P\u0159id\xE1 novou texturu s\xEDt\u011B","action.find_replace":"Naj\xEDt/Nahradit...","action.find_replace.desc":"Naj\xEDt a nahradit \u010D\xE1sti n\xE1zv\u016F","action.hide_everything_except_selection":"Schovat v\u0161e vyjma v\xFDb\u011Bru","action.hide_everything_except_selection.desc":"P\u0159epne viditelnost v\u0161ech prvk\u016F krom\u011B vybran\xFDch","action.transform_space.normal":"Norm\xE1ln\xED","action.selection_mode":"Re\u017Eim v\xFDb\u011Bru","action.selection_mode.desc":"Zm\u011Bnit zp\u016Fsob v\xFDb\u011Bru prvk\u016F v zobrazen\xED","action.selection_mode.object":"Objekt","action.selection_mode.face":"Plocha","action.selection_mode.vertex":"Vrchol","action.create_face":"Vytvo\u0159it plochu nebo hranu","action.create_face.desc":"Vytvo\u0159\xED novou plochu nebo hranu mezi vybran\xFDmi vrcholy","action.convert_to_mesh":"P\u0159em\u011Bnit na s\xED\u0165","action.convert_to_mesh.desc":"P\u0159ev\xE9st vybran\xE9 prvky na s\xEDt\u011B","action.invert_face":"Oto\u010Dit plochu","action.invert_face.desc":"Oto\u010D\xED vybran\xE9 plochy, aby sm\u011B\u0159ovaly opa\u010Dn\xFDm sm\u011Brem","action.extrude_mesh_selection":"Vyt\xE1hnout v\xFDb\u011Br","action.extrude_mesh_selection.desc":"Vyt\xE1hne vybran\xE9 \u010D\xE1sti s\xEDt\u011B","action.loop_cut":"Smy\u010Dkov\xFD \u0159ez","action.loop_cut.desc":"Rozd\u011Bl\xED s\xED\u0165 smy\u010Dkou pod\xE9l vybran\xE9 hrany","action.merge_meshes":"Slou\u010Dit s\xEDt\u011B","action.merge_meshes.desc":"Slou\u010Dit v\xEDce s\xEDt\xED do jedn\xE9","action.keyframe_uniform":"Jednotn\xE9 m\u011B\u0159\xEDtko","action.keyframe_uniform.desc":"Uplatn\xED jednotn\xE9 m\u011B\u0159\xEDtko na vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmc\xEDch","menu.locator.ignore_inherited_scale":"Ignorovat p\u0159evzat\xE9 m\u011B\u0159\xEDtko","menu.texture.elements":"Pou\u017E\xEDt na prvky","uv_editor.transparent_face":"Pr\u016Fhledn\xE1 plocha","display.pose_angle":"\xDAhel p\xF3zy (pouze pro n\xE1hled)","data.mesh":"S\xED\u0165","dialog.create_texture.type":"Typ","dialog.create_texture.type.blank":"Pr\xE1zdn\xFD","dialog.create_texture.type.template":"\u0160ablona textury","dialog.create_texture.type.color_map":"\u0160ablona s jednotnou barvou","dialog.sketchfab_uploader.suggested_tags":"Doporu\u010Den\xE9 tagy","dialog.sketchfab_uploader.category":"Kategorie","dialog.sketchfab_uploader.category2":"Kategorie 2","layout.restore_backup":"Vlastn\xED motiv \u201E%0\u201C byl p\u0159eps\xE1n. Klikn\u011Bte sem pro jeho obnoven\xED.","layout.borders":"Okraje","action.fill_mode.element":"Prvek","action.inset_mesh_selection":"Vsadit v\xFDb\u011Br","action.inset_mesh_selection.desc":"Vsad\xED dovnit\u0159 vybran\xE9 \u010D\xE1st\xED s\xEDt\u011B","action.dissolve_edges":"Odstranit hrany","action.dissolve_edges.desc":"Odstran\xED vybran\xE9 hrany v s\xEDti a slou\u010D\xED plochy, kter\xE9 je rozd\u011Bluj\xED","action.split_mesh":"Rozd\u011Blit s\xED\u0165","action.split_mesh.desc":"Rozd\u011Bl\xED vybran\xE9 plochy s\xEDt\u011B do nov\xE9","action.merge_vertices":"Slou\u010Dit vrcholy","action.merge_vertices.desc":"Slou\u010D\xED vybran\xE9 vrcholy do pozice prvn\xEDho vybran\xE9ho vrcholu","action.view_mode.normal":"Orientace plochy","action.snap_uv_to_pixels":"P\u0159ichytit UV k pixel\u016Fm","action.snap_uv_to_pixels.desc":"P\u0159ichyt\xED vybran\xE9 UV vrcholy k m\u0159\xED\u017Ece pixel\u016F","menu.file.import.import_open_project":"Importovat otev\u0159en\xFD projekt","menu.help.unlock_projects":"Odemknout V\u0161echny Projekty","status_bar.selection.faces":"%0 Ploch","status_bar.selection.vertices":"%0 Vrchol\u016F","message.merged_vertices":"Nalezeno a slou\u010Deno %0 vrchol\u016F na %1 m\xEDstech","settings.vertex_merge_distance":"Vzd\xE1lenost pro slou\u010Den\xED vrchol\u016F","settings.vertex_merge_distance.desc":"Vzd\xE1lenost, v r\xE1mci kter\xE9 jsou vrcholy spojeny pomoc\xED slou\u010Den\xED dle vzd\xE1lenosti","settings.show_only_selected_uv":"Zobrazit pouze vybran\xE9 UV","settings.show_only_selected_uv.desc":"Zobraz\xED ve v\xFDchoz\xEDm nastaven\xED pouze vybran\xE9 UV plochy v UV editoru","action.merge_vertices.merge_all":"Slou\u010Dit v\u0161e","action.merge_vertices.merge_all_in_center":"Slou\u010Dit v\u0161e do st\u0159edu","action.merge_vertices.merge_by_distance":"Slou\u010Dit podle vzd\xE1lenosti","action.merge_vertices.merge_by_distance_in_center":"Slou\u010Dit podle vzd\xE1lenosti do st\u0159edu","action.uv_rotate_left":"Oto\u010Dit UV doleva","action.uv_rotate_left.desc":"Oto\u010D\xED vybran\xE9 UV plochy proti sm\u011Bru hodinov\xFDch ru\u010Di\u010Dek","action.uv_rotate_right":"Oto\u010Dit UV doprava","action.uv_rotate_right.desc":"Oto\u010D\xED vybran\xE9 UV plochy po sm\u011Bru hodinov\xFDch ru\u010Di\u010Dek","menu.uv.display_uv":"Zobrazit UV","menu.uv.display_uv.selected_faces":"Vybran\xE9 plochy","menu.uv.display_uv.selected_elements":"V\u0161echny Plochy","menu.uv.display_uv.all_elements":"V\u0161echny Plochy V\u0161ech Prvk\u016F","menu.paste.face":"UV Plocha","menu.paste.mesh_selection":"V\xFDb\u011Br s\xEDt\u011B","menu.paste.outliner":"Prvky","uv_editor.show_all_faces":"Zobrazit V\u0161echny Plochy","uv_editor.show_selected_faces":"Zobrazit Vybran\xE9 Plochy","status_bar.selection.edges":"%0 Hran","action.selection_mode.edge":"Hrana","message.cannot_re_import.title":"Model nelze znovu importovat","message.cannot_re_import.message":"Exportovan\xFD form\xE1t modelu nelze do Blockbench znovu importovat. Ujist\u011Bte se, \u017Ee model ulo\u017E\xEDte jako projektov\xFD soubor.","generic.default":"V\xFDchoz\xED","units.pixels_per_meter":"%0 Pixel\u016F na Metr","mode.pose":"P\xF3za","modifier_actions.resize_both_sides":"Zm\u011Bnit velikost v obou sm\u011Brech","modifier_actions.resize_one_side":"Zm\u011Bnit velikost v jednom sm\u011Bru","modifier_actions.draw_line":"Nakreslit linii","modifier_actions.drag_without_snapping":"T\xE1hnout bez p\u0159ichyt\xE1v\xE1n\xED","modifier_actions.stretch_keyframes":"Rozt\xE1hnout kl\xED\u010Dov\xE9 sn\xEDmky","modifier_actions.resize_background":"Zm\u011Bnit velikost pozad\xED","modifier_actions.select_multiple":"Vybrat v\xEDce","modifier_actions.select_range":"Vybrat rozsah","modifier_actions.drag_to_duplicate":"P\u0159eta\u017Een\xEDm duplikovat","modifier_actions.uniform_scaling":"Jednotn\xE9 \u0160k\xE1lov\xE1n\xED","modifier_actions.snap_direction":"Sm\u011Br P\u0159ichycen\xED","message.no_valid_elements":"Nebyl vybr\xE1n \u017E\xE1dn\xFD platn\xFD prvek...","dialog.add_primitive.shape.plane":"Rovina","dialog.save_angle.rotation_mode":"Re\u017Eim Rotace","dialog.save_angle.rotation":"Rotace","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"Automaticky skr\xFDt panel z\xE1lo\u017Eek","settings.hide_tab_bar.desc":"Skryje panel z\xE1lo\u017Eek, kdy\u017E je otev\u0159ena pouze jedna z\xE1lo\u017Eka","settings.status_bar_modifier_keys":"Navrhovat modifika\u010Dn\xED kl\xE1vesy ve stavov\xE9m \u0159\xE1dku","settings.status_bar_modifier_keys.desc":"Zobrazit ve stavov\xE9m \u0159\xE1dku navrhovan\xE9 modifika\u010Dn\xED kl\xE1vesy s ohledem na kontext","settings.ground_plane":"Zemn\xEDc\xED rovina","settings.ground_plane.desc":"Zobrazit rovinu podlahy pod modelem","settings.preview_paste_behavior":"V\xFDchoz\xED chov\xE1n\xED vkl\xE1d\xE1n\xED do zobrazen\xED","settings.preview_paste_behavior.desc":"Vyberte chov\xE1n\xED pro vkl\xE1d\xE1n\xED do zobrazen\xED v Re\u017Eimu \xFAprav a k dispozici bude v\xEDce mo\u017Enost\xED.","settings.preview_paste_behavior.always_ask":"V\u017Edy se pt\xE1t","action.new_window":"Nov\xE9 Okno","action.new_window.desc":"Otev\u0159e nov\xE9 Blockbench okno","action.export_collada":"Exportovat Collada model (dae)","action.export_collada.desc":"Exportovat model a animace jako dae soubor pro pou\u017Eit\xED v jin\xFDch 3D editorech","action.paint_mode_uv_overlay":"UV P\u0159ekryt\xED","action.paint_mode_uv_overlay.desc":"Zobrazit UV mapu jako p\u0159ekryt\xED v re\u017Eimu malov\xE1n\xED","action.bake_animation_into_model":"Implementace animovan\xE9 p\xF3zy do modelu","action.bake_animation_into_model.desc":"Implementuje pr\xE1v\u011B zobrazen\xFD sn\xEDmek animace do modelu. Pou\u017Eije se pouze rotace a poloha, m\u011B\u0159\xEDtko se ignoruje.","action.keyframe_interpolation.step":"Krok","action.set_ik_target":"Stanovit IK c\xEDl","action.set_ik_target.desc":"Vybere c\xEDlovou \u010D\xE1st t\u011Bla, kterou m\xE1 tento nulov\xFD objekt p\u0159esunout pomoc\xED inverzn\xED kinematiky","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"\xDAhel Kamery","menu.action_control.recent_in_streamer_mode":"Jste si jist\xED? Streamer Re\u017Eim je zapnut\xFD","menu.action_control.recent_in_streamer_mode.desc":"P\u0159ejete si zobrazit ned\xE1vn\xE9 modely?","menu.tools":"N\xE1stroje","menu.file.recent.more":"Zobrazit v\xEDce...","menu.null_object.lock_ik_target_rotation":"Zamknout IK rotaci c\xEDle","menu.animation_file.import_remaining":"Importovat Zb\xFDvaj\xEDc\xED ze Souboru","edit.loop_cut.offset":"Posun","edit.extrude_mesh_selection.extend":"Roz\u0161\xED\u0159it","cube.color.pink":"R\u016F\u017Eov\xE1","cube.color.silver":"St\u0159\xEDbrn\xE1","dialog.plugins.offline":"\u017D\xE1dn\xE9 p\u0159ipojen\xED k internetu","dialog.create_texture.pixel_density":"Hustota Pixel\u016F","dialog.create_texture.pixel_density.desc":"Hustota pixel\u016F textury, v pixelech na metr. Velikost mapy textury se m\u016F\u017Ee li\u0161it v z\xE1vislosti na mno\u017Estv\xED a velikosti prvk\u016F.","panel.skin_pose":"Pozice","panel.skin_pose.none":"\u017D\xE1dn\xFD","panel.skin_pose.natural":"P\u0159irozen\xFD","panel.skin_pose.walking":"Ch\u016Fze","panel.skin_pose.crouching":"D\u0159ep\u011Bn\xED","panel.skin_pose.sitting":"Sezen\xED","panel.skin_pose.jumping":"Sk\xE1k\xE1n\xED","panel.skin_pose.aiming":"Zam\xED\u0159en\xED","edit.loop_cut.direction":"Sm\u011Br","data.texture_mesh":"Textura s\xEDt\u011B","generic.left":"Lev\xFD","generic.right":"Prav\xFD","mode.start.quick_setup":"Rychl\xE9 nastaven\xED","mode.start.keymap":"Rozhr\xE1n\xED Kl\xE1vesnice","mode.start.quick_setup.more_themes":"V\xEDce...","dialog.resize_texture.animation_frames":"Sn\xEDmky Animace","dialog.export_emission_map.title":"Exportovat Emisn\xED Mapu","dialog.export_emission_map.format":"Form\xE1t","dialog.export_emission_map.format.luminance":"Jas","dialog.export_emission_map.format.luminance_inverted":"Invertovan\xFD jas","dialog.export_emission_map.format.colors":"Barvy","dialog.export_emission_map.threshold":"Prahov\xE1 Hodnota Pr\u016Fhlednosti","dialog.export_emission_map.round_up":"Zaokrouhlit Nahoru na %0 x %1","dialog.export_emission_map.flip_y":"P\u0159evr\xE1tit osu Y","dialog.select.type":"Typ Prvku","dialog.create_texture.max_edge_angle":"Prahov\xFD \xDAhel Hrany","dialog.create_texture.max_edge_angle.desc":"Maxim\xE1ln\xED \xFAhel mezi dv\u011Bma plochami, pod kter\xFDm budou st\xE1le spojeny","dialog.create_texture.max_island_angle":"Prahov\xFD \xFAhel UV soustav","dialog.create_texture.max_island_angle.desc":"Maxim\xE1ln\xED \xFAhel, kter\xFD lze kombinovat do stejn\xE9 UV soustavy","settings.mobile_panel_side":"Mobiln\xED strana panelu","settings.mobile_panel_side.desc":"Vybere, na kter\xE9 stran\u011B obrazovky se zobraz\xED panely p\u0159i pou\u017Eit\xED Blockbenche \u200Bv orientaci na \u0161\xED\u0159ku","settings.obj_face_export_mode":"Re\u017Eim exportu plochy OBJ","settings.obj_face_export_mode.desc":"Zvolte, zda m\xE1 export\xE9r OBJ p\u0159ev\xE9st v\u0161echny plochy na troj\xFAheln\xEDky nebo \u010Dty\u0159\xFAheln\xEDky","settings.obj_face_export_mode.both":"V\xFDchoz\xED","settings.obj_face_export_mode.tris":"P\u0159ev\xE9st na Troj\xFAheln\xEDky","settings.obj_face_export_mode.quads":"P\u0159ev\xE9st na \u010Cty\u0159\xFAheln\xEDky","action.seam_tool":"N\xE1stroj na \u0161vy","action.seam_tool.desc":"N\xE1stroj pro definov\xE1n\xED UV \u0161v\u016F na hran\xE1ch s\xEDt\u011B","action.resolve_group":"Vy\u0159e\u0161it skupinu","action.resolve_group.desc":"Vy\u0159e\u0161\xED skupinu a z\xE1rove\u0148 zachov\xE1 jej\xED pod\u0159\xEDzen\xE9 polo\u017Eky na stejn\xE9m m\xEDst\u011B","action.move_to_group":"P\u0159esunout do","action.move_to_group.desc":"P\u0159esune vybran\xE9 prvky do jin\xE9 skupiny nebo prvku osnovy","action.select_seam":"Vybrat UV \u0161ev","action.select_seam.desc":"Vybere re\u017Eim UV \u0161vu pro vybran\xE9 hrany","action.select_seam.auto":"Auto","action.select_seam.join":"Slou\u010Dit","action.select_seam.divide":"Rozd\u011Blit","action.adjust_brightness_contrast":"Upravit Jas a Kontrast...","action.adjust_brightness_contrast.desc":"Uprav\xED jas a kontrast vybran\xE9 textury","action.adjust_saturation_hue":"Upravit Sytost a Odst\xEDn...","action.adjust_saturation_hue.desc":"Uprav\xED sytost a odst\xEDn vybran\xE9 textury","action.invert_colors":"Invertovat Barvy","action.invert_colors.desc":"Invertuje v\u0161echny barvy vybran\xE9 textury","action.adjust_curves":"Upravit k\u0159ivky...","action.adjust_curves.desc":"Uprav\xED jas k\u0159ivek vybran\xE9 textury","action.flip_texture_x":"P\u0159evr\xE1tit Horizont\xE1ln\u011B","action.flip_texture_y":"P\u0159evr\xE1tit Vertik\xE1ln\u011B","action.resize_texture":"Zm\u011Bnit Velikost Textury...","action.view_mode.uv":"UV n\xE1hled","action.append_to_template":"P\u0159idat prvky do \u0161ablony...","action.append_to_template.desc":"P\u0159id\xE1 aktu\xE1ln\u011B vybran\xE9 prvky do \u0161ablony textury","action.move_texture_with_uv":"P\u0159esunout texturu s UV","action.move_texture_with_uv.desc":"P\u0159em\xEDst\xED texturu plochy spole\u010Dn\u011B s UV plochami","action.timeline_setups":"Nastaven\xED \u010Casov\xE9 Osy","action.save_timeline_setup":"Ulo\u017Eit Nastaven\xED \u010Casov\xE9 Osy...","action.save_timeline_setup.desc":"Ulo\u017Eit p\u0159ednastaven\xED pro aktu\xE1ln\u011B vybran\xE9 anim\xE1tory a kan\xE1ly","menu.texture":"Textura","menu.texture.render_mode.default":"V\xFDchoz\xED","menu.texture.merge_onto_texture":"Slou\u010Dit s texturou v\xFD\u0161e","menu.animation.unload":"Uvolnit","panel.timeline":"\u010Casov\xE1 Osa","action.pan_tool":"Posun","action.pan_tool.desc":"N\xE1stroj pro navigaci v zobrazen\xED a editoru textur","mode.start.recent.favorite":"Ozna\u010Dit jako Obl\xEDben\xE9","mode.start.info":"Info","mode.start.target":"C\xEDl","mode.start.start":"Spustit","mode.start.create_new":"Vytvo\u0159it Nov\xFD Model","mode.start.format.informations":"U\u017Eite\u010Dn\xE9 v\u011Bd\u011Bt:","mode.start.format.resources":"Zdroje:","format.free.info.meshes":"V tomto form\xE1tu m\u016F\u017Eete vytv\xE1\u0159et low-poly modely pomoc\xED krychl\xED a vlastn\xEDch tvarovan\xFDch mesh\u016F.","format.free.info.limitation":"Modely nelze na\u010D\xEDst do her, kter\xE9 vy\u017Eaduj\xED speci\xE1ln\xED form\xE1ty, nap\u0159\xEDklad Minecraft.","format.skin.info.skin":"Tento form\xE1t je ur\u010Den pro tvorbu skin\u016F a textur entit v Minecraftu.","format.skin.info.model":"Model nelze zm\u011Bnit. Chcete-li ho zm\u011Bnit, p\u0159eve\u010Fte jej do jin\xE9ho form\xE1tu pomoc\xED nab\xEDdky **Soubor** > **Konvertovat projekt**.","format.java_block.info.rotation":"Rotace jsou omezeny na jednu osu u ka\u017Ed\xE9ho prvku","format.java_block.info.size":"Velikost modelu je omezena na 3 x 3 x 3 bloky. V nastaven\xED zobrazen\xED v\u0161ak m\u016F\u017Eete modely p\u0159edm\u011Bt\u016F zv\u011Bt\u0161it","format.java_block.info.animation":"Tento form\xE1t nepodporuje animace v klasick\xE9m Minecraftu. Pokud vytv\xE1\u0159\xEDte mod, m\u016F\u017Eete k animaci model\u016F pou\u017E\xEDt GeckoLib. Pokud ne, jedin\xFD zp\u016Fsob animace je p\u0159epnout model pomoc\xED p\u0159\xEDkaz\u016F nebo animovan\xFDch textur.","format.bedrock.info.textures":"Ka\u017Ed\xFD model m\u016F\u017Ee m\xEDt pouze jednu texturu","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Model bloku pro Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"Velikost jednotliv\xFDch kostek je omezena na cel\xE1 \u010D\xEDsla.","format.modded_entity.info.format":"Modely jsou ps\xE1ny v k\xF3du Java nam\xEDsto specializovan\xFDch datov\xFDch struktur jako v\u0161echny ostatn\xED exportn\xED form\xE1ty Blockbench.","format.optifine_entity.info.optifine_required":"U\u017Eivatel\xE9 bez nainstalovan\xE9ho OptiFine model neuvid\xED.","format.optifine_entity.info.pivots":"Osy ot\xE1\u010Den\xED \u010D\xE1st\xED t\u011Bla jsou zam\u010Den\xE9, je moudr\xE9 se jich nedot\xFDkat.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Jin\xE9","format_category.loaders":"Na\u010D\xEDta\u010De","message.recover_backup.recover":"Obnovit","message.invalid_characters.title":"Neplatn\xE1 Cesta","message.invalid_characters.message":"Cesta k importovan\xE9mu souboru obsahuje neplatn\xE9 znaky, velk\xE1 p\xEDsmena nebo mezery. Podporovan\xE9 znaky jsou: %0","dialog.share_model.thumbnail":"Miniatura","dialog.skin.high_res_texture":"Upozor\u0148ujeme, \u017Ee skiny s vybran\xFDm rozli\u0161en\xEDm nebudou fungovat jako b\u011B\u017En\xE9 Minecraft skiny. Vyberte ni\u017E\u0161\xED rozli\u0161en\xED.","settings.allow_display_slot_mirror":"Povolit zrcadlen\xED slot\u016F","settings.allow_display_slot_mirror.desc":"Povol\xED zrcadlen\xED slot\u016F pro p\u0159edm\u011Btov\xE9 modely Java. VAROV\xC1N\xCD: Funguje pouze pro Minecraft 1.14 nebo star\u0161\xED, p\u0159\xEDpadn\u011B ve zvl\xE1\u0161tn\xEDch p\u0159\xEDpadech.","action.switch_tabs":"P\u0159epnout Karty","action.switch_tabs.desc":"Proch\xE1zejte otev\u0159en\xE9 karty. Podr\u017Ete Shift pro pr\u016Fchod v opa\u010Dn\xE9m sm\u011Bru.","action.unselect_all":"Zru\u0161it V\xFDb\u011Br V\u0161eho","action.save_palette":"Ulo\u017Eit paletu...","action.save_palette.desc":"Ulo\u017E\xED aktu\xE1ln\xED barevnou paletu v Blockbenchi \u200B\u200Bpro pozd\u011Bj\u0161\xED pou\u017Eit\xED","action.keyframe_column_create":"Vytvo\u0159it sloupec kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.keyframe_column_create.desc":"Zamkne v\u0161echny kan\xE1ly na \u010Dasov\xE9 ose v aktu\xE1ln\xEDm \u010Dasov\xE9m k\xF3du, pokud ji\u017E obsahuj\xED kl\xED\u010Dov\xE9 sn\xEDmky","action.keyframe_column_select":"Vybrat sloupec kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.keyframe_column_select.desc":"Vybere v\u0161echny kl\xED\u010Dov\xE9 sn\xEDmky na \u010Dasov\xE9 ose pod\xE9l sloupce pod p\u0159ehr\xE1vac\xED hlavou","menu.uv":"UV","menu.keyframe":"Kl\xED\u010Dov\xE9 sn\xEDmky","menu.palette.load.update":"Aktualizovat Paletu","menu.palette.load.update.desc":"Aktualizuje tuto paletu barvami aktu\xE1ln\xED palety Blockbenche","menu.timeline_marker.set_time":"Nastavit \u010Cas...","uv_editor.scale_uv":"\u0160k\xE1lovat UV","action.preview_scene":"N\xE1hled sc\xE9ny","action.preview_scene.desc":"Zm\u011Bna sc\xE9ny n\xE1hledu modelu","preview_scene.minecraft_overworld":"Overworld","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"P\u0159evr\xE1tit Osu Y","preview_scene.studio":"Studio","format.image":"Obr\xE1zek","modifier_actions.set_copy_source":"Nastavit zdroj kopie","message.load_images.title":"Na\u010D\xEDst Obr\xE1zky","message.load_images.edit_image":"Upravit Obr\xE1zek","dialog.add_primitive.align_edges":"Zarovnat hrany","dialog.flip_animation.show_in_timeline":"Zobrazit upraven\xE9 \u010D\xE1sti t\u011Bla na \u010Dasov\xE9 ose","settings.default_cube_size":"Velikost Kostky","settings.default_cube_size.desc":"Nastavte v\xFDchoz\xED velikost kostky p\u0159i vytv\xE1\u0159en\xED nov\xE9 kostky","settings.uniform_keyframe":"Sjednotit m\u011B\u0159\xEDtka kl\xED\u010Dov\xFDch sn\xEDmk\u016F","settings.uniform_keyframe.desc":"Nastav\xED v\xFDchoz\xED m\u011B\u0159\xEDtko kl\xED\u010Dov\xFDch sn\xEDmk\u016F pro sjednocen\xED m\u011B\u0159\xEDtek","settings.nearest_rectangle_select":"Obd\xE9ln\xEDkov\xFD v\xFDb\u011Br: nejbli\u017E\u0161\xED okraj","settings.nearest_rectangle_select.desc":"P\u0159ichyt\xED v\xFDb\u011Br obd\xE9ln\xEDku k nejbli\u017E\u0161\xEDmu okraji pixelu, jako v GIMPu, m\xEDsto p\u0159ichycen\xED k cel\xFDm pixel\u016Fm.","settings.pick_color_opacity":"Vybrat pr\u016Fhlednost barvy","settings.pick_color_opacity.desc":"Vybere pr\u016Fhlednost barvy pomoc\xED Kap\xE1tka a nastav\xED j\xED jako pr\u016Fhlednost \u0161t\u011Btce","settings.paint_with_stylus_only":"Malov\xE1n\xED pouze pomoc\xED Stylus","settings.paint_with_stylus_only.desc":"Stylus pou\u017E\xEDvejte pouze pro malov\xE1n\xED, my\u0161 nebo dotykov\xFD vstup vyhra\u010Fte pro navigaci.","action.copy_brush_mode":"Kop\xEDrovat Re\u017Eim \u0160t\u011Btce","action.copy_brush_mode.copy":"Kop\xEDrovat","action.copy_brush_mode.pattern":"Vzor","action.copy_brush_mode.sample":"Vzorek","action.brush_shape":"Tvar \u0160t\u011Btce","action.brush_shape.square":"\u0106tverec","action.brush_shape.circle":"Kruh","action.blend_mode":"Re\u017Eim Prolnut\xED","action.blend_mode.default":"V\xFDchoz\xED","action.blend_mode.set_opacity":"Nastavit Pr\u016Fhlednost","action.blend_mode.color":"Barva","action.blend_mode.behind":"Za","action.blend_mode.multiply":"N\xE1sobit","action.blend_mode.divide":"D\u011Blit","action.blend_mode.add":"P\u0159idat","action.blend_mode.subtract":"Ode\u010D\xEDst","action.blend_mode.screen":"Obrazovka","action.blend_mode.overlay":"P\u0159ekryt\xED","action.blend_mode.hard_light":"Tvrd\xE9 sv\u011Btlo","action.blend_mode.difference":"Rozd\xEDl","action.copy_brush":"Kop\xEDrovat \u0160t\u011Btec","action.copy_brush.desc":"\u0160t\u011Btcem klonuje \u010D\xE1sti textury nebo kresl\xED vzory. Ctrl a klikem vyberete zdroj kopie.","action.validator_window":"Zobrazit Probl\xE9my Modelu...","action.validator_window.desc":"Otev\u0159e valid\xE1tor, kter\xFD zobrazuje probl\xE9my s aktu\xE1ln\xEDm modelem.","action.cancel_gif":"Zru\u0161it GIF","menu.text_edit.copy_vector":"Kop\xEDrovat Vektor","menu.brush_presets.dialog":"P\u0159edvolby \u0160t\u011Btce...","menu.brush_presets.pixel_brush":"Pixelov\xFD \u0160t\u011Btec","menu.brush_presets.smooth_brush":"Hladk\xFD \u0160t\u011Btec","menu.texture.edit_in_blockbench":"Upravit v Blockbench","menu.mirror_painting.axis":"Osa","menu.mirror_painting.axis.desc":"Vybere, na kter\xE9 ose se budou tahy barvy zrcadlit","menu.mirror_painting.global":"Glob\xE1ln\xED Symetrie","menu.mirror_painting.global.desc":"Povol\xED zrcadlov\xE9 malov\xE1n\xED modelu v glob\xE1ln\xEDm prostoru","menu.mirror_painting.local":"Lok\xE1ln\xED symetrie","menu.mirror_painting.local.desc":"Povol\xED zrcadlov\xE9 malov\xE1n\xED v lok\xE1ln\xEDm prostoru pro ka\u017Ed\xFD prvek","menu.mirror_painting.texture_frames":"Opakovat na r\xE1mech Flipbooku","menu.mirror_painting.texture_frames.desc":"Zrcadl\xED tahy barvy do ka\u017Ed\xE9ho sn\xEDmku animovan\xFDch textur","format.bedrock_block.info.size_limit":"Celkov\xE1 velikost bloku je omezena na 30 pixel\u016F ve v\u0161ech rozm\u011Brech. Limit m\u016F\u017Ee b\xFDt mimo st\u0159ed ve v\u0161ech sm\u011Brech o 7 pixel\u016F od st\u0159edu bloku.","format.bedrock_block.info.textures":"V Blockbenchi \u200B\u200Blze na r\u016Fzn\xE9 kostky aplikovat v\xEDce textur, ale pro spr\xE1vnou funkci ve h\u0159e je vy\u017Eadov\xE1no dal\u0161\xED nastaven\xED v behavior packu.","format.image.desc":"Upravit obr\xE1zky v 2D editoru obr\xE1zk\u016F","generic.delete_all":"Smazat V\u0161e","message.child_model_only.open":"Otev\u0159\xEDt Nad\u0159azen\xFD","message.child_model_only.open_with_textures":"Otev\u0159\xEDt Nad\u0159azen\xFD a P\u0159evz\xEDt Textury","dialog.project.credit":"Auto\u0159i","dialog.convert_project.create_copy":"Vytvo\u0159it Kopii","dialog.texture.frame_time":"Doba Sn\xEDmku","dialog.texture.frame_time.desc":"Nastavte, jak dlouho bude ka\u017Ed\xFD sn\xEDmek viditeln\xFD, v ticks. Jeden tick = 1/20 sekundy.","dialog.texture.frame_interpolate":"Interpolovat","dialog.texture.frame_interpolate.desc":"Interpolujte mezi sn\xEDmky animace pomoc\xED prol\xEDn\xE1n\xED do dal\u0161\xEDho sn\xEDmku","dialog.texture.frame_order_type":"Re\u017Eim Smy\u010Dky","dialog.texture.frame_order_type.loop":"Smy\u010Dka","dialog.texture.frame_order_type.backwards":"Smy\u010Dka Pozp\xE1tku","dialog.texture.frame_order_type.back_and_forth":"Tam-a-Zp\u011Bt","dialog.texture.frame_order_type.custom":"Vlastn\xED Po\u0159ad\xED","dialog.texture.frame_order":"Po\u0159ad\xED Sn\xEDmk\u016F","dialog.texture.frame_order.desc":"Nastav\xED vlastn\xED po\u0159ad\xED sn\xEDmk\u016F se\u0159azen\xEDm index\u016F sn\xEDmk\u016F v nov\xE9m po\u0159ad\xED. Indexy sn\xEDmk\u016F za\u010D\xEDnaj\xED prvn\xEDm sn\xEDmkem na nule.","dialog.select.mode":"Re\u017Eim","dialog.select.mode.new":"Nov\xFD V\xFDb\u011Br","dialog.select.mode.add":"P\u0159idat k Vybran\xE9mu","dialog.select.mode.remove":"Odebrat z Vybran\xE9ho","dialog.select.mode.in_selection":"Vybrat pouze z Vybran\xE9ho","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Predik\xE1ty","dialog.predicate_overrides.variants":"Varianty","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"P\u0159idat P\u0159eps\xE1n\xED","dialog.predicate_overrides.add_predicate":"P\u0159idat Predik\xE1t","dialog.predicate_overrides.generate_overrides":"Vygenerovat P\u0159eps\xE1n\xED","dialog.predicate_overrides.confirm_delete":"Opravdu chcete smazat v\u0161echna p\u0159eps\xE1n\xED?","dialog.predicate_overrides.predicate.angle":"\xDAhel Kompasu","dialog.predicate_overrides.predicate.blocking":"Blokuje","dialog.predicate_overrides.predicate.broken":"Je rozbit\xE9","dialog.predicate_overrides.predicate.cast":"Je obsazeno","dialog.predicate_overrides.predicate.cooldown":"Doba Obnovy","dialog.predicate_overrides.predicate.damage":"Po\u0161kozen\xED","dialog.predicate_overrides.predicate.damaged":"Je Po\u0161kozen\xFD","dialog.predicate_overrides.predicate.lefthanded":"Je Lev\xE1k","dialog.predicate_overrides.predicate.pull":"S\xEDla tahu","dialog.predicate_overrides.predicate.pulling":"Tah\xE1","dialog.predicate_overrides.predicate.charged":"Je nabito","dialog.predicate_overrides.predicate.firework":"M\xE1 Oh\u0148ostroj","dialog.predicate_overrides.predicate.throwing":"P\u0159ipraveno k hodu","dialog.predicate_overrides.predicate.time":"\u010Cas Dne","dialog.predicate_overrides.predicate.custom_model_data":"Vlastn\xED Data Modelu","dialog.predicate_overrides.predicate.level":"\xDArove\u0148 Sv\u011Btla","dialog.predicate_overrides.predicate.filled":"\xDArove\u0148 napln\u011Bn\xED svazku","dialog.predicate_overrides.predicate.tooting":"Trouben\xED","settings.model_export_scale":"M\u011B\u0159\xEDtko exportu modelu","settings.model_export_scale.desc":"Faktor, o kter\xFD se zmen\u0161\xED m\u011B\u0159\xEDtko exportovan\xFDch model\u016F glTF, DAE a FBX. V\xFDchoz\xED hodnota je 16, co\u017E v exportu p\u0159evede 16 Blockbench jednotek na 1 metr.","action.export_fbx":"Exportovat FBX Model","action.export_fbx.desc":"Export modelu a animac\xED jako soubor FBX pro pou\u017Eit\xED v jin\xFDch 3D aplikac\xEDch a hern\xEDch enginech","action.center_lateral":"Vycentrovat Later\xE1ln\u011B","action.center_lateral.desc":"Vycentrovat vybran\xE9 prvky podle os X a Z","action.adjust_opacity":"Upravit Pr\u016Fhlednost...","action.adjust_opacity.desc":"Upravte pr\u016Fhlednost vybran\xE9 textury","action.rotate_texture_cw":"Oto\u010Dit po sm\u011Bru hodin","action.rotate_texture_ccw":"Oto\u010Dit proti sm\u011Bru hodin","action.predicate_overrides":"Upravit p\u0159eps\xE1n\xED predik\xE1t\u016F...","action.predicate_overrides.desc":"Vybere modely pro p\u0159epis vybran\xE9ho modelu na z\xE1klad\u011B vybran\xFDch podm\xEDnek","action.auto_set_cullfaces":"Automaticky nastavit Dotykov\xE9 vynech\xE1n\xED","action.auto_set_cullfaces.desc":"Automaticky generuje obrysy pro skryt\xED ploch, pokud jsou zakryt\xE9 sousedn\xEDm blokem.","menu.texture.edit_externally":"Upravit Extern\u011B","menu.mirror_painting.texture":"2D Editor Symetrie","menu.mirror_painting.texture.desc":"Povol\xED zrcadlov\xE9 malov\xE1n\xED ve 2D prostoru na obr\xE1zku nebo textu\u0159e","menu.animator.rotation_global":"Oto\u010Dit v glob\xE1ln\xEDm prostoru","uv_editor.face_properties":"Vlastnosti Plochy","uv_editor.face_properties.material_instance":"Instance Materi\xE1lu","uv_editor.tint.info":"Na plo\u0161e lze povolit t\xF3nov\xE1n\xED, aby Minecraft aplikoval barvu. Ve vanille lze t\xF3nov\xE1n\xED pou\u017E\xEDt pouze u specifick\xFDch blok\u016F, jako jsou listy, redstone prach, a m\u016F\u017Ee m\xEDt hodnotu pouze 0.","uv_editor.cullface.info":"Povolen\xED funkce Dotykov\xE9 vynech\xE1n\xED ovlivn\xED plochu na bloku tak, aby se nevykreslila, pokud je v Minecraft sv\u011Bt\u011B vedle n\xED a v dan\xE9m sm\u011Bru um\xEDst\u011Bn dal\u0161\xED cel\xFD blok. To lze vyu\u017E\xEDt k optimalizaci v\xFDkonu.","uv_editor.material_instance.info":"Instance materi\xE1l\u016F lze nastavit na u\u017Eivatelem definovan\xFD n\xE1zev. Tento n\xE1zev lze pou\u017E\xEDt v blokov\xE9m JSON souboru v behavior packu k p\u0159i\u0159azen\xED konkr\xE9tn\xED textury a materi\xE1lu, kter\xFD bude dan\xE1 plocha m\xEDt.","display.reference.frame_invisible":"R\xE1me\u010Dek na P\u0159edm\u011Bt (neviditeln\xFD)","data.settings_profile":"Profil","message.display_skin.invalid_name":'Nelze naj\xEDt Minecraft \xFA\u010Det jm\xE9nem "%0".',"dialog.load_plugins_from_query.title":"Na\u010D\xEDst Pluginy","dialog.load_plugins_from_query.text":"Pou\u017Eili jste odkaz, kter\xFD vy\u017Eaduje pluginy. P\u0159ejete si je nainstalovat?","dialog.select_model.title":"Vybrat Model","dialog.select_model.bones":"\u010C\xE1sti T\u011Bla","dialog.select_model.cubes":"Kostky","dialog.settings.create_profile":"Vytvo\u0159it Profil...","settings_profile.confirm_delete":"Opravdu chcete smazat tento profil nastaven\xED?","settings_profile.condition.type.selectable":"Ru\u010Dne Voliteln\xE9","settings.interface_mode":"Re\u017Eim UI","settings.interface_mode.desc":"Re\u017Eim rozhran\xED","settings.interface_mode.auto":"Automaticky","settings.interface_mode.desktop":"Plocha","settings.interface_mode.mobile":"Mobil","settings.paint_through_transparency":"Malovat P\u0159es Pr\u016Fhlednost","settings.paint_through_transparency.desc":"Umo\u017En\xED malov\xE1n\xED p\u0159es pr\u016Fhledn\xE9 pixely, kdy\u017E je mo\u017Enost Zamknout alfa kan\xE1l povolena","action.tab_overview":"P\u0159ehled Karet","action.tab_overview.desc":"Zobraz\xED v\u0161echny otev\u0159en\xE9 karty v m\u0159\xED\u017Ece a p\u0159ejde na jednu z nich","action.slider_color_red":"\u010Cerven\xE1","action.slider_color_green":"Zelen\xE1","action.slider_color_blue":"Modr\xE1","action.add_animation_controller":"P\u0159idat ovlada\u010D animace","action.add_animation_controller.desc":"Vytvo\u0159\xED pr\xE1zdn\xFD ovlada\u010D animace","action.animation_controller_preview_mode":"N\xE1hled ovlada\u010De","action.animation_controller_preview_mode.paused":"Pozastaveno","action.animation_controller_preview_mode.manual":"Ru\u010Dn\xED n\xE1hled","action.animation_controller_preview_mode.play":"Auto P\u0159ehr\xE1v\xE1n\xED","action.keyframe_interpolation.bezier":"B\xE9zierova k\u0159ivka","action.keyframe_bezier_linked":"P\u0159ichytit \xFAchyty bezi\xE9rovy k\u0159ivky","action.keyframe_bezier_linked.desc":"Spoj\xED prav\xFD a lev\xFD \xFAchyt bezi\xE9rova kl\xED\u010Dov\xE9ho sn\xEDmku","action.reset_keyframe_handles":"Obnovit \xFAchyty kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.reset_keyframe_handles.desc":"Resetuje \xFAchyty bezi\xE9rovy k\u0159ivky u vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.looped_animation_playback":"P\u0159ehr\xE1v\xE1n\xED ve smy\u010Dce","action.looped_animation_playback.desc":"N\xE1hled animac\xED v nekone\u010Dn\xE9 smy\u010Dce","timeline.bind_to_actor":"V\xE1zat k herci","animation_controllers.select_preset":"Vyberte p\u0159edvolbu ovlada\u010De...","animation_controllers.state.animations":"Animace","animation_controllers.state.particles":"\u010C\xE1stice","animation_controllers.state.sounds":"Zvuky","animation_controllers.state.on_entry":"P\u0159i Vstupu","animation_controllers.state.on_exit":"P\u0159i Odchodu","animation_controllers.state.transitions":"P\u0159echody","animation_controllers.state.condition":"Podm\xEDnka","animation_controllers.state.blend_transition":"Doba Prol\xEDn\xE1n\xED","animation_controllers.state.shortest_path":"Prolnut\xED dle nejkrat\u0161\xED cesty","animation_controllers.state.edit_transition":"Upravit P\u0159echod","menu.color_picker.picker_type":"Typ sb\u011Bra\u010De","menu.color_picker.picker_type.square":"\u010Ctverec","menu.color_picker.picker_type.wheel":"Kolo","menu.color_picker.slider_mode":"Re\u017Eim posunut\xED","menu.color_picker.slider_mode.hsv":"Odst\xEDn, Sytost, Jas","menu.color_picker.slider_mode.rgb":"\u010Cerven\xE1, Zelen\xE1, Modr\xE1","menu.texture.render_mode.additive":"P\u0159\xEDdavn\xFD","panel.color.picker_options":"Mo\u017Enosti V\xFDb\u011Bru Barvy","panel.animation_controllers":"Ovlada\u010D Animace","display.preset.armor_stand":"Pozemn\xED (stojan na brn\u011Bn\xED)","data.file_path":"Cesta k Souboru","dialog.extrude.orientation":"Orientace","dialog.extrude.orientation.upright":"Svisl\xFD","dialog.extrude.orientation.flat":"Ploch\xFD","dialog.scale.box_uv_warning":"Zm\u011Bna m\u011B\u0159\xEDtka Box UV modelu m\u016F\u017Ee naru\u0161it UV. Zkuste model \u0161k\xE1lovat extern\u011B, nebo p\u0159epn\u011Bte do re\u017Eimu UV pro jednotliv\xE9 plochy v nab\xEDdce Soubor > Projekt.","dialog.create_gif.format":"Form\xE1t","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"Sekvence PNG","dialog.create_gif.pixelate":"Pixelovat","dialog.create_gif.bg_image":"Obr\xE1zek Pozad\xED","dialog.create_gif.turn.desc":"Oto\u010D\xED model b\u011Bhem nahr\xE1v\xE1n\xED. Pou\u017Eije z\xE1porn\xE9 hodnoty pro ot\xE1\u010Den\xED modelu ve sm\u011Bru hodin. Hodnota 60 odpov\xEDd\xE1 jedn\xE9 ot\xE1\u010Dce ka\u017Edou sekundu.","settings_profile.condition":"Podm\xEDnka","settings_profile.condition.type.file_path.desc":"Pou\u017Eije syntaxi regul\xE1rn\xEDch v\xFDraz\u016F pro nalezen\xED shody s cestou k souboru aktu\xE1ln\xEDho projektu. Pro adres\xE1\u0159e pou\u017Eijte lom\xEDtka.","settings.only_selected_bezier_handles":"Zobrazit pouze vybran\xE9 b\xE9zierovy \xFAchyty","settings.only_selected_bezier_handles.desc":"Shov\xE1 \xFAchyty bezi\xE9rov\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","settings.embed_textures":"Vlo\u017Een\xE9 textury","settings.embed_textures.desc":"Vlo\u017E\xED soubor textury do soubor\u016F .bbmodel","action.selection_mode.cluster":"Shluk","dialog.copied_to_clipboard":"Zkop\xEDrov\xE1no do schr\xE1nky","data.reference_image":"Referen\u010Dn\xED Obr\xE1zek","message.delete_reference_image":"Opravdu chcete smazat tento referen\u010Dn\xED obr\xE1zek? Tuto akci nelze vr\xE1tit zp\u011Bt.","message.add_reference_image.message":"Vyberte, odkud na\u010D\xEDst referen\u010Dn\xED obr\xE1zek","message.add_reference_image.project":"P\u0159idat do tohoto projektu","message.add_reference_image.app":"P\u0159idat do v\u0161ech projekt\u016F","message.import_particle_texture.import":"Importovat Texturu \u010C\xE1stice","message.import_particle_texture.message":"Chcete importovat texturu pro \u010D\xE1stice?","message.save_codec_selector.title":"Ulo\u017Eit Form\xE1t Modelu","message.save_codec_selector.message":"Vyberte form\xE1t pro ulo\u017Een\xED modelu.","message.save_codec_selector.project_file":"Blockbench Projekt (.bbmodel)","message.save_codec_selector.both":"Oba","message.display_skin.username":"U\u017Eivatelsk\xE9 jm\xE9no (Java)","message.palette_locked":"Paleta je uzam\u010Dena","dialog.project.default_uv_mode":"V\xFDchoz\xED re\u017Eim UV","dialog.project.default_uv_mode.description":"V\xFDchoz\xED UV re\u017Eim projektu. UV re\u017Eim lze tak\xE9 zm\u011Bnit pro ka\u017Edou kostku.","dialog.export_options.title":"Mo\u017Enosti Exportu","dialog.edit_texture.preview":"N\xE1hled","dialog.proportional_editing.range":"Rozsah","dialog.proportional_editing.falloff":"\xDAtlum","dialog.proportional_editing.falloff.linear":"Line\xE1rn\xED","dialog.proportional_editing.falloff.hermite_spline":"Hladk\xE9","dialog.proportional_editing.falloff.constant":"Konstantn\xED","dialog.proportional_editing.selection":"V\xFDb\u011Br","dialog.proportional_editing.selection.linear":"Line\xE1rn\xED Vzd\xE1lenost","dialog.proportional_editing.selection.connections":"Spojen\xED","dialog.mirror_painting_texture_center.middle":"St\u0159ed","dialog.mirror_painting_texture_center.custom":"Vlastn\xED","dialog.settings.reset_to_default":"Obnovit V\xFDchoz\xED Nastaven\xED","keybindings.item.num_slider.increase":"Zv\xFD\u0161it","keybindings.item.num_slider.decrease":"Sn\xED\u017Eit","settings.always_show_splash_art":"V\u017Edy Zobrazovat Uv\xEDtac\xED Grafiku","settings.always_show_splash_art.desc":"V\u017Edy zobrazovat uv\xEDtac\xED grafiku na \xFAvodn\xED obrazovce","action.slider_palette_color":"P\u0159epnout Barvu Palety","action.slider_palette_color.desc":"Proch\xE1zet barvy v palet\u011B","action.proportional_editing":"Proporcion\xE1ln\xED \xFApravy","action.proportional_editing.desc":"\xDAm\u011Brn\u011B ovlivn\xED okoln\xED vrcholy p\u0159i \xFAprav\u011B \u010D\xE1st\xED s\xEDt\u011B","action.limit_to_palette":"Omezit na Paletu","action.limit_to_palette.desc":"Omez\xED barvy textury na ty v aktu\xE1ln\u011B na\u010Dten\xE9 palet\u011B","action.edit_reference_images":"Upravit Referen\u010Dn\xED Obr\xE1zky","action.edit_reference_images.desc":"Zapne re\u017Eim referen\u010Dn\xEDch obr\xE1zk\u016F pro p\u0159id\xE1v\xE1n\xED nebo \xFApravu referen\u010Dn\xEDch obr\xE1zk\u016F a pl\xE1n\u016F","action.add_reference_image":"P\u0159idat Referen\u010Dn\xED Obr\xE1zek","action.reference_image_from_clipboard":"Referen\u010Dn\xED Obr\xE1zek ze Schr\xE1nky","action.reference_image_list":"Referen\u010Dn\xED Obr\xE1zky","action.connect_uv_faces":"Propojit UV Plochy","action.connect_uv_faces.desc":"Propoj\xED vybran\xE9 UV plochy s posledn\xED vybranou UV plochou","action.merge_uv_vertices":"Slou\u010Dit UV Vrcholy","action.merge_uv_vertices.desc":"P\u0159ichyt\xED prvn\xED vybran\xE9 UV vrcholy k posledn\xEDm vybran\xFDm UV vrchol\u016Fm","action.bedrock_animation_mode":"Re\u017Eim Animac\xED Bedrock","action.bedrock_animation_mode.desc":"Vyberte re\u017Eim pro \xFApravu animac\xED pro Minecraft: Bedrock Edition v","action.bedrock_animation_mode.entity":"Entita","action.bedrock_animation_mode.attachable_first":"P\u0159edm\u011Bt Prvn\xED Osoba","action.bedrock_animation_mode.attachable_third":"P\u0159edm\u011Bt T\u0159et\xED Osoba","timeline.amplify":"Zes\xEDlit","menu.options":"Mo\u017Enosti...","menu.palette.lock_palette":"Uzamknout Paletu","menu.uv.export":"Exportovat UV Mapu","menu.uv.flip_x":"Zrcadlit X","menu.uv.flip_y":"Zrcadlit Y","menu.mirror_painting.enabled":"Povoleno","reference_image.position":"Pozice","reference_image.size":"Velikost","reference_image.rotation":"Rotace","reference_image.opacity":"Pr\u016Fhlednost","reference_image.visibility":"Viditelnost","reference_image.clear_mode":"Re\u017Eim Vymaz\xE1n\xED","reference_image.layer":"Vrstva","reference_image.layer.background":"Za Modelem","reference_image.layer.viewport":"Nad Modelem","reference_image.layer.float":"Nad Rozhran\xEDm","reference_image.scope":"Rozsah","reference_image.scope.project":"Pouze tento projekt","reference_image.scope.global":"V\u0161echny projekty","reference_image.enabled_modes":"Povoleno v modech","codec.common.encoding":"K\xF3dov\xE1n\xED","codec.common.armature":"Exportovat skupiny jako armaturu","codec.common.export_animations":"Exportovat Animace","codec.common.embed_textures":"Vlo\u017Een\xE9 textury","preview.center_camera":"Vycentrovat Kameru","display.reference.frame_top":"R\xE1me\u010Dek vr\u0161ek","display.reference.frame_top_invisible":"R\xE1me\u010Dek vr\u0161ek (neviditeln\xFD)","action.proportional_editing_range":"Rozsah proporcion\xE1ln\xED \xFApravy","action.proportional_editing_range.desc":"Uprav\xED rozsah pro proporcion\xE1ln\xED \xFApravy","action.toggle_all_reference_images":"Skr\xFDt/Zobrazit v\u0161echny referen\u010Dn\xED obr\xE1zky","action.toggle_all_reference_images.desc":"P\u0159epnout najednou viditelnost v\u0161ech referen\u010Dn\xEDch obr\xE1zk\u016F","action.add_animation_controller_state":"P\u0159idat stav ovlada\u010De animace","action.add_animation_controller_state.desc":"P\u0159id\xE1n\xED nov\xE9ho stavu do ovlada\u010De animace","menu.slider.round_value":"Zaokrouhlit Hodnotu","texture.error.too_large":"Rozli\u0161en\xED p\u0159ekra\u010Duje maximum %0","dialog.copy_to_clipboard":"Kop\xEDrovat do schr\xE1nky","dialog.open_url":"Otev\u0159\xEDt URL","reference_image.image":"Obr\xE1zek","uv_editor.rotate_uv":"Oto\u010Di\u0165 UV","generic.error":"Chyba","projects.start_screen":"\xDAvodn\xED Obrazovka","message.invalid_link.message":"Sd\xEDlen\xFD model \u201E%0\u201C, kter\xFD se pokou\u0161\xEDte na\u010D\xEDst, je neplatn\xFD nebo vypr\u0161el.","message.plugin_dependencies.title":"Z\xE1vislosti Pluginu","message.plugin_dependencies.message1":"Plugin vy\u017Eaduje tyto z\xE1vislosti:","message.plugin_dependencies.message1_update":"Plugin %0 byl aktualizov\xE1n a nyn\xED vy\u017Eaduje tyto z\xE1vislosti:","message.plugin_dependencies.message2":"Chcete je nainstalovat pro pokra\u010Dov\xE1n\xED?","message.plugin_dependencies.invalid":"Plugin bohu\u017Eel nelze nainstalovat, m\xE1 neplatnou z\xE1vislost:","message.preview_scene_load_failed":"Nepoda\u0159ilo se na\u010D\xEDst n\xE1hled sc\xE9ny. Zkontrolujte sv\xE9 internetov\xE9 p\u0159ipojen\xED.","dialog.convert_project.text1":"P\u0159eve\u010Fte projekt do jin\xE9ho form\xE1tu.","dialog.convert_project.text2":"Pou\u017Eijte p\u0159evod na vlastn\xED riziko. Form\xE1ty maj\xED r\u016Fzn\xE9 funkce a omezen\xED, tak\u017Ee p\u0159evod m\u016F\u017Ee v n\u011Bkter\xFDch p\u0159\xEDpadech po\u0161kodit \u010D\xE1sti va\u0161eho projektu.","dialog.convert_project.text3":"P\u0159evod nelze vr\xE1tit zp\u011Bt, proto se ve v\xFDchoz\xEDm nastaven\xED vytvo\u0159\xED kopie.","dialog.unsaved_work.title":"Neulo\u017Een\xE1 Pr\xE1ce","dialog.unsaved_work.text":"N\xE1sleduj\xEDc\xED projekty obsahuj\xED neulo\u017Een\xE9 zm\u011Bny. Chcete je ulo\u017Eit?","dialog.unsaved_work.discard_all":"Zahodit V\u0161e","dialog.unsaved_work.save_all":"Ulo\u017Eit V\u0161e","dialog.resize_texture.mode":"Re\u017Eim","dialog.resize_texture.mode.crop":"O\u0159\xEDznout/Roz\u0161\xED\u0159it","dialog.resize_texture.mode.scale":"\u0160k\xE1lovat","dialog.plugins.is_installed":"Nainstalov\xE1no","dialog.plugins.is_disabled":"Zak\xE1z\xE1no","dialog.plugins.disable":"Zak\xE1zat","dialog.plugins.enable":"Povolit","dialog.plugins.dependencies":"Z\xE1vis\xED na:","dialog.view_backups.open_folder":"Otev\u0159\xEDt slo\u017Eku","dialog.share_model.reference_images":"Zahrnout Referen\u010Dn\xED Obr\xE1zky","dialog.share_model.too_large":"Nahr\xE1n\xED selhalo: Model je p\u0159\xEDli\u0161 velk\xFD","dialog.share_model.too_large_references":"Nahr\xE1n\xED selhalo: Model je p\u0159\xEDli\u0161 velk\xFD. Zkuste bez referen\u010Dn\xEDch obr\xE1zk\u016F.","settings.stretch_linked":"Protahov\xE1n\xED odkaz\u016F","settings.stretch_linked.desc":"Rozt\xE1hne kostku ve v\u0161ech sm\u011Brech stejnou hodnotou","settings.grids":"Zobrazit M\u0159\xED\u017Eky","settings.grids.desc":"Zobrazit nebo skr\xFDt v\u0161echny 3D m\u0159\xED\u017Eky","settings.double_click_switch_tools":"P\u0159ep\xEDn\xE1n\xED n\xE1stroj\u016F dvojit\xFDm klikem","settings.double_click_switch_tools.desc":"Dvojit\xFDm klikem na zobrazen\xED p\u0159epnete mezi n\xE1stroji","settings.outlines_in_paint_mode":"Obrysy v\xFDb\u011Bru v Re\u017Eimu malov\xE1n\xED","settings.outlines_in_paint_mode.desc":"Zobraz\xED obrysy v\xFDb\u011Bru prvk\u016F v re\u017Eimu kreslen\xED","settings.json_indentation":"Odsazen\xED JSON","settings.json_indentation.desc":"Styl odsazen\xED pro exportovan\xE9 JSON soubory","settings.json_indentation.tabs":"Karty","settings.json_indentation.spaces_4":"Mezery: 4","settings.json_indentation.spaces_2":"Mezery: 2","action.slider_stretch":"Prota\u017Een\xED","action.slider_stretch.desc":"Multiplikativn\u011B rozt\xE1hne krychle na ose %0 bez zm\u011Bny UV","action.view_backups":"Zobrazit z\xE1lohy","action.view_backups.desc":"Proch\xE1zen\xED seznamu automaticky ulo\u017Een\xFDch z\xE1loh projekt\u016F","action.search_outliner":"Prohled\xE1n\xED osnovy","action.search_outliner.desc":"Prohled\xE1 konkr\xE9tn\xED n\xE1zvy prvk\u016F v osnov\u011B","action.mirror_modeling":"Zrcadlov\xE9 Modelov\xE1n\xED","action.mirror_modeling.desc":"Povolte zrcadlov\xE9 modelov\xE1n\xED na ose X. V\u0161echny zm\u011Bny proveden\xE9 v zobrazen\xED se projev\xED na druh\xE9 stran\u011B, pokud nejsou u dan\xE9ho prvku v\xFDslovn\u011B zak\xE1z\xE1ny.","action.allow_element_mirror_modeling":"Povolit Zrcadlov\xE9 Modelov\xE1n\xED","action.allow_element_mirror_modeling.desc":"Vybere, zda lze vybran\xE9 prvky ovlivnit zrcadlov\xFDm modelov\xE1n\xEDm","action.switch_face_crease":"P\u0159epnut\xED z\xE1hybu plochy","action.switch_face_crease.desc":"P\u0159epnout, kter\xFDm sm\u011Brem se \u010Dty\u0159\xFAheln\xEDk l\xE1me uprost\u0159ed","action.clear_unused_texture_space":"Vymazat nevyu\u017Eit\xFD prostor textury","action.clear_unused_texture_space.desc":"Vy\u010Dist\xED \u010D\xE1sti textury, kter\xE9 nejsou UV mapov\xE1ny na \u017E\xE1dn\xE9 prvky","action.split_screen":"Rozd\u011Blen\xE1 Obrazovka","action.split_screen.desc":"Vyberte re\u017Eim zobrazen\xED obrazovky","action.split_screen.single":"Jedno Okno","action.split_screen.double_horizontal":"Dv\u011B Okna Horizont\xE1ln\u011B","action.split_screen.double_vertical":"Dv\u011B Okna Vertik\xE1ln\u011B","action.split_screen.quad":"\u010Cty\u0159i Okna","action.split_screen.triple_left":"T\u0159i Okna Vlevo","action.split_screen.triple_right":"T\u0159i Okna Vpravo","action.split_screen.triple_top":"T\u0159i Okna Naho\u0159e","action.split_screen.triple_bottom":"T\u0159i Okna Dole","action.uv_project_from_view":"UV projekt z pohledu","action.uv_project_from_view.desc":"Automaticky generuje UV pro vybran\xE9 plochy z 3D pohledu","action.graph_editor_other_graphs":"Zobrazit Ostatn\xED Grafy","action.graph_editor_other_graphs.desc":"Ur\u010Duje, zda se zobrazuj\xED grafy nevybran\xFDch os","action.graph_editor_include_other_graphs":"Zahrnout Ostatn\xED Grafy","action.graph_editor_include_other_graphs.desc":"Pokud grafick\xFD editor zahrnuje i grafy, kter\xE9 nejsou v zobrazen\xED vybr\xE1ny","action.set_ik_source":"Nastavit ko\u0159en IK","action.set_ik_source.desc":"Vybere ko\u0159enovou \u010D\xE1st t\u011Bla z \u0159et\u011Bzu, kter\xFDm m\xE1 tento nulov\xFD objekt pohnout pomoc\xED inverzn\xED kinematiky","edit.loop_cut.cuts":"\u0158ezy","panel.element.stretch":"Prota\u017Een\xED","preview_scene.minecraft_plains":"Pl\xE1\u0148","preview_scene.minecraft_cherry_grove":"T\u0159e\u0161\u0148ov\xFD H\xE1j","preview_scene.minecraft_snowy_tundra":"Sn\u011B\u017En\xE1 Tundra","preview_scene.minecraft_sunset":"Z\xE1pad Slunce","preview_scene.minecraft_night":"Noc","preview_scene.minecraft_desert":"Pou\u0161\u0165","preview_scene.minecraft_underwater":"Pod Vodou","preview_scene.minecraft_coral_reef":"Kor\xE1lov\xFD \xDAtes","preview_scene.minecraft_lush_cave":"Bujn\xE1 Jeskyn\u011B","preview_scene.minecraft_deep_dark":"Hlubok\xE1 Tma","generic.navigate_forward":"Vp\u0159ed","generic.navigate_back":"Zp\u011Bt","action.element_render_order":"Po\u0159ad\xED Vykreslovan\xED Pr\u016Fhlednosti","action.element_render_order.default":"Auto","action.element_render_order.behind":"Za","action.element_render_order.in_front":"P\u0159ed","message.installing_update.title":"Dostupn\xE1 aktualizace","message.installing_update.message":"Je p\u0159ipravena nov\xE1 verze k instalaci. Po zav\u0159en\xED aplikace \u010Dekejte p\u0159ibli\u017En\u011B %0 sekund, ne\u017E op\u011Bt otev\u0159ete Blockbench nebo vypnete po\u010D\xEDta\u010D, aby se aktualizace nainstalovala.","settings.brush_cursor_2d":"Kurzor 2D \u0160t\u011Btce","settings.brush_cursor_2d.desc":"Zobraz\xED obrys \u0161t\u011Btce ve 2D pracovn\xEDm prostoru","settings.brush_cursor_3d":"Kurzor 3D \u0160t\u011Btce","settings.brush_cursor_3d.desc":"Zobraz\xED obrys \u0161t\u011Btce ve 3D pracovn\xEDm prostoru","settings.cdn_mirror":"Pou\u017E\xEDt CDN Mirror","settings.cdn_mirror.desc":"Pro stahov\xE1n\xED plugin\u016F pou\u017Eijte CDN Mirror. P\u0159ij\xEDm\xE1 aktualizace rychleji a funguje v n\u011Bkter\xFDch oblastech, kde v\xFDchoz\xED nastaven\xED nefunguje.","data.layer":"Vrstva","data.panel":"Panel","generic.confirm_delete":"Opravdu to chcete smazat?","format_category.general":"Obecn\xE9","modifier_actions.no_uniform_scaling":"Voln\xE9 \u0161k\xE1lov\xE1n\xED","message.texture_refresh_conflict.title":"Konfliktn\xED verze textur","message.texture_refresh_conflict.message":"Soubor textury m\u016F\u017Ee obsahovat zm\u011Bny, kter\xE9 jsou v konfliktu s verz\xED Blockbenche","message.texture_refresh_conflict.keep_ours":"Ponechat Verzi z Blockbenche","message.texture_refresh_conflict.keep_theirs":"Na\u010Dte soubor a zahod\xED v\u0161echny zm\u011Bny a vrstvy v Blockbenchi","message.group_required_to_animate":"Tento typ prvku nelze animovat. Vytvo\u0159te skupinu nebo armaturu pro jeho animaci.","dialog.texture.uv_size":"Velikost UV","dialog.advanced_screenshot.angle_preset":"P\u0159ednastaven\xED \xFAhlu","dialog.advanced_screenshot.resolution":"Rozli\u0161en\xED","dialog.advanced_screenshot.zoom_to_fit":"P\u0159izp\u016Fsobit oknu","dialog.advanced_screenshot.zoom":"Zoom / Ohniskov\xE1 vzd\xE1lenost","dialog.advanced_screenshot.anti_aliasing":"Vyhlazov\xE1n\xED-hran","dialog.advanced_screenshot.anti_aliasing.off":"Vypnuto","dialog.advanced_screenshot.anti_aliasing.msaa":"Multivzorkov\xE1n\xED","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supervzorkov\xE1n\xED","dialog.advanced_screenshot.show_gizmos":"Zobrazit manipul\xE1tory","dialog.advanced_screenshot.shading":"St\xEDnov\xE1n\xED","settings.auto_keyframe":"Automatick\xE9 kl\xED\u010Dov\xE9 sn\xEDmky","settings.auto_keyframe.desc":"Automaticky vytvo\u0159\xED kl\xED\u010Dov\xFD sn\xEDmek s v\xFDchoz\xEDmi hodnotami na za\u010D\xE1tku \u010Dasov\xE9 osy p\u0159i pozd\u011Bj\u0161\xED transformaci \u010D\xE1sti t\u011Bla","settings.modded_entity_integer_size":"Rozsah hodnot m\xF3dovan\xE9 entity","settings.modded_entity_integer_size.desc":"Omez\xED velikosti krychl\xED ve form\xE1tu M\xF3dovan\xE1 entita na cel\xE1 \u010D\xEDsla. I kdy\u017E jsou \u010D\xEDsla s plovouc\xED \u010D\xE1rkou v n\u011Bkter\xFDch verz\xEDch technicky podporov\xE1na, cel\xE1 \u010D\xEDsla se mnohem sn\xE1ze mapuj\xED pomoc\xED UV.","category.layers":"Vrstvy","keybind.paint_secondary_color":"Malovat Sekund\xE1rn\xED Barvou","action.selection_tool_operation_mode":"Re\u017Eim V\xFDb\u011Bru","action.selection_tool_operation_mode.create":"Nov\xFD V\xFDb\u011Br","action.selection_tool_operation_mode.add":"P\u0159idat k V\xFDb\u011Bru","action.selection_tool_operation_mode.subtract":"Odebrat z V\xFDb\u011Bru","action.selection_tool_operation_mode.intersect":"Pr\u016Fnik","action.pixel_perfect_drawing":"Pixelov\u011B p\u0159esn\xE9 kreslen\xED","action.pixel_perfect_drawing.desc":"Umo\u017En\xED hladk\xE9 pixelov\xE9 \u010D\xE1ry bez dvojit\xFDch pixel\u016F na k\u0159ivk\xE1ch","action.selection_tool":"N\xE1stroj pro V\xFDb\u011Br","action.selection_tool.desc":"Vyberte \u010D\xE1sti obr\xE1zku","action.selection_tool.rectangle":"Obd\xE9ln\xEDk","action.selection_tool.ellipse":"Elipsa","action.selection_tool.lasso":"V\xFDb\u011Br lasem","action.selection_tool.wand":"Kouzeln\xE1 H\u016Fl","action.selection_tool.color":"Stejn\xE1 Barva","action.move_layer_tool":"P\u0159esunout Vrstvu","action.move_layer_tool.desc":"P\u0159esune aktu\xE1ln\xED vrstvu nebo v\xFDb\u011Br","action.export_modded_animations":"Export animac\xED m\xF3dovan\xFDch entit","action.export_modded_animations.desc":"Exportovat animace pro model modifikovan\xE9 entity v Minecraft Java Edici","action.swap_colors":"Prohodit Barvy","action.swap_colors.desc":"Prohod\xED hlavn\xED a vedlej\u0161\xED barvu","action.apply_mesh_rotation":"Pou\u017E\xEDt rotaci","action.apply_mesh_rotation.desc":"Resetuje rotaci prvku s\xEDt\u011B a m\xEDsto toho ji aplikuje na geometrii","action.flip_texture_x.desc":"Obr\xE1tit texturu nebo vrstvu horizont\xE1ln\u011B","action.flip_texture_y.desc":"Obr\xE1tit texturu nebo vrstvu vertik\xE1ln\u011B","action.rotate_texture_cw.desc":"Oto\u010Dit texturu nebo vrstvu po sm\u011Bru hodin","action.rotate_texture_ccw.desc":"Oto\u010Dit texturu nebo vrstvu proti sm\u011Bru hodin","action.crop_texture_to_selection":"O\u0159\xEDznout Texturu podle V\xFDb\u011Bru","action.create_empty_layer":"Vytvo\u0159it Pr\xE1zdnou Vrstvu","action.enable_texture_layers":"Povolit Vrstvy","action.disable_texture_layers":"Zak\xE1zat Vrstvy","action.layer_opacity":"Pr\u016Fhlednost Vrstvy","action.layer_to_texture_size":"Roz\u0161\xED\u0159it Vrstvu na Velikost Textury","action.layer_to_texture_size.desc":"Roz\u0161\xED\u0159\xED vrstvu na velikost textury","action.merge_layer_down":"Slou\u010Dit Dol\u016F","action.merge_layer_down.desc":"Slou\u010D\xED do vrstvy pod n\xED","action.advanced_screenshot":"Pokro\u010Dil\xFD Sn\xEDmek Obrazovky...","action.advanced_screenshot.desc":"Sn\xEDmek obrazovky modelu s pokro\u010Dil\xFDmi mo\u017Enostmi","action.bake_ik_animation":"Implementovat inverzn\xED kinematiku","action.bake_ik_animation.desc":"Implementuje rotace aplikovan\xE9 inverzn\xED kinematikou do vybran\xE9 animace","action.save_animation_preset":"Ulo\u017Eit p\u0159ednastaven\xED animace...","action.save_animation_preset.desc":"Ulo\u017E\xED vybran\xE9 kl\xED\u010Dov\xE9 sn\xEDmky jako p\u0159ednastaven\xED animace","action.animation_onion_skin":"Animace cibulov\xE9ho vrstven\xED","action.animation_onion_skin.desc":"Zobraz\xED dr\xE1tov\xFD model jin\xE9ho sn\xEDmku v animaci pro referenci","action.apply_animation_preset":"Pou\u017E\xEDt p\u0159ednastaven\xED animace","action.apply_animation_preset.desc":"Vyberte ze seznamu p\u0159ednastaven\xED animac\xED a aplikujte na vybranou \u010D\xE1st t\u011Bla","menu.brush_presets.pixel_perfect":"Pixelov\u011B-p\u0159esn\xFD \u0160t\u011Btec","panel.layers":"Vrstvy","uv_editor.copy_paste_tool.to_layer":"Do Nov\xE9 Vrstvy","format.image.new":"Vytvo\u0159it Nov\xFD Obr\xE1zek","format.image.info.summary":"Editor 2D obr\xE1zk\u016F umo\u017E\u0148uje vytv\xE1\u0159et a upravovat obr\xE1zky a pixelov\xE9 grafiky p\u0159\xEDmo v Blockbenchi bez nutnosti jin\xE9ho editoru obr\xE1zk\u016F. Upravujte/Vytv\xE1\u0159ejte obr\xE1zky, textury nebo pixelov\xE9 grafiky!","settings.move_with_selection_tool":"Pou\u017Eit\xED n\xE1stroje pro v\xFDb\u011Br k p\u0159esunut\xED v\xFDb\u011Br\u016F","settings.move_with_selection_tool.desc":"Umo\u017En\xED n\xE1stroji pro v\xFDb\u011Br p\u0159\xEDmo p\u0159esouvat v\xFDb\u011Bry, bez pot\u0159eby p\u0159ep\xEDnat na n\xE1stroj pro p\u0159esun vrstvy","settings.final_newline":"Z\xE1v\u011Bre\u010Dn\xFD newline","settings.final_newline.desc":"Vlo\u017E\xED znak nov\xE9ho \u0159\xE1dku na konec exportovan\xFDch soubor\u016F","action.crop_layer_to_selection":"O\u0159\xEDznout vrstvu do v\xFDb\u011Bru","action.edit_mode_uv_overlay.desc":"Zobrazit UV mapu jako p\u0159ekryt\xED v re\u017Eimu \xFAprav","menu.image":"Obr\xE1zek","menu.texture.discard_changes":"Zahodit Zm\u011Bny","menu.texture.discard_changes.desc":"Zahod\xED v\u0161echny neulo\u017Een\xE9 zm\u011Bny a na\u010Dte nejnov\u011Bj\u0161\xED verzi ze souboru","panel.textures.images":"Obr\xE1zky","dialog.advanced":"Pokro\u010Dil\xE9","dialog.recommended_option":"doporu\u010Den\xE9","modifier_actions.snap_to_center":"P\u0159ichytit ke St\u0159edu","modifier_actions.snap_to_pixels":"P\u0159ichytit na Pixely","message.invalid_format.install_plugin":"Nainstalovat plugin '%0'","message.plugin_deprecated.message":"Opravdu chcete nainstalovat tento zastaral\xFD plugin?","message.plugin_deprecated.install_anyway":"Nainstalovat i tak","message.image_editor.not_found":"Nepoda\u0159ilo se naj\xEDt vybran\xFD editor obr\xE1zk\u016F. Vyberte pros\xEDm jinou mo\u017Enost.","message.knife_tool.confirm":"Stiskn\u011Bte %0 nebo klikn\u011Bte sem pro N\u016F\u017E","message.knife_tool.skipped_face":"Nelze \u0159ezat mezi r\u016Fzn\xFDmi plochami. Zahr\u0148te hrany nebo vrcholy mezi nimi!","message.optimize_animation.keyframes_removed":"Odebr\xE1no %0 nadbyte\u010Dn\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","message.optimize_animation.nothing_to_optimize":"Nebylo co optimalizovat!","message.duplicate_bone_copy_animation.title":"Kop\xEDrovat Animaci","message.duplicate_bone_copy_animation.message":"Duplikovan\xE1 kost je animov\xE1na v %0 animac\xEDch. Chcete zkop\xEDrovat kl\xED\u010Dov\xE9 sn\xEDmky do nov\xE9 \u010D\xE1sti t\u011Bla?","message.auto_fix_mesh_edit.title":"Automatick\xE1 oprava","message.auto_fix_mesh_edit.revert":"Vr\xE1tit \xFApravy","message.auto_fix_mesh_edit.overlapping_vertices":"N\u011Bkter\xE9 vrcholy byly p\u0159esunuty na stejn\xE9 m\xEDsto. Jak chcete pokra\u010Dovat?","message.auto_fix_mesh_edit.concave_quads":"Jedna nebo v\xEDce ploch \u010Dty\u0159\xFAheln\xEDku je vydut\xE1, to m\u016F\u017Ee p\u016Fsobit probl\xE9my p\u0159i UV mapov\xE1n\xED a renderov\xE1n\xED. Blockbench to m\u016F\u017Ee opravit za v\xE1s:","message.auto_fix_mesh_edit.merge_vertices":"Slou\u010Dit vrcholy","message.auto_fix_mesh_edit.split_quads":"Rozd\u011Blit \u010Dty\u0159\xFAheln\xEDky","message.load_images.add_image":"P\u0159idat Obr\xE1zek","dialog.project.modded_entity_entity_class":"T\u0159\xEDda Entity","dialog.resize_texture.offset":"Posun","dialog.animated_texture_editor.code_reference":"Odkaz na K\xF3d","dialog.animated_texture_editor.code_reference.about":"Tento k\xF3d pro implementaci animace textury byl vygenerov\xE1n jako reference a nemus\xED nutn\u011B fungovat bez \xFAprav. Pro v\xEDce informac\xED si prostudujte dokumentaci.","dialog.animated_texture_editor.code_reference.docs":"Dokumentace","dialog.animated_texture_editor.reframe":"P\u0159er\xE1movat","dialog.animated_texture_editor.stride":"Velikost Sn\xEDmku","dialog.animated_texture_editor.frames":"Po\u010Det Sn\xEDmk\u016F","dialog.animated_texture_editor.add_frame":"P\u0159idat Sn\xEDmek","dialog.animated_texture_editor.resize_frames":"Zm\u011Bna Sn\xEDmk\u016F...","dialog.animated_texture_editor.apply":"Pou\u017E\xEDt","dialog.add_primitive.edge_size":"Velikost Hran","dialog.change_animation_speed.speed":"Rychlost","dialog.change_animation_speed.adjust_snapping":"V\xFDb\u011Br","dialog.optimize_animation.selection":"V\xFDb\u011Br","dialog.optimize_animation.selection.selected_keyframes":"Vybran\xE9 kl\xED\u010Dov\xE9 sn\xEDmky","dialog.optimize_animation.selection.selected_animation":"Vybran\xE1 Animace","dialog.optimize_animation.selection.all_animations":"V\u0161echny Animace","dialog.optimize_animation.thresholds":"Prahov\xE9 Hodnoty","dialog.import_obj.obj":"Soubor OBJ","dialog.import_obj.mtl":"Soubor MTL","dialog.import_obj.scale":"M\u011B\u0159\xEDtko","layout.thumbnail":"Vlastn\xED CSS Miniatury","settings.pixel_grid":"M\u0159\xED\u017Eka Pixel\u016F","settings.pixel_grid.desc":"Zobrazit m\u0159\xED\u017Eku pixel\u016F textury na prvc\xEDch v re\u017Eimu \xFAprav","settings.image_editor_grid_size":"Velikost m\u0159\xED\u017Eky v editoru obr\xE1zk\u016F","settings.image_editor_grid_size.desc":"Velikost velk\xE9 m\u0159\xED\u017Eky v 2D editoru obr\xE1zk\u016F","settings.ground_plane_double_side":"Oboustrann\xE1 zemn\xEDc\xED rovina","settings.ground_plane_double_side.desc":"Zviditeln\u011Bn\xED zespodu zemn\xEDc\xED rovinu","settings.optifine_save_default_texture":"OptiFine JEM: Export vybran\xE9 textury","settings.optifine_save_default_texture.desc":"Exportovat vybranou texturu jako v\xFDchoz\xED texturu modelu","action.slider_color_select_threshold":"Prahov\xE1 Hodnota V\xFDb\u011Bru Barvy","action.slider_color_select_threshold.desc":"Jak bl\xEDzko mus\xED b\xFDt barva sousedn\xEDho pixelu, aby byl vybr\xE1n barvou nebo v\xFDb\u011Brem h\u016Flkou","action.stretch_tool":"Prota\u017Een\xED","action.stretch_tool.desc":"N\xE1stroj pro v\xFDb\u011Br a prota\u017Een\xED prvk\u016F","action.knife_tool":"N\u016F\u017E","action.knife_tool.desc":"N\xE1stroj pro roz\u0159ez\xE1n\xED ploch s\xEDt\u011B na men\u0161\xED \u010D\xE1sti","action.duplicate_project":"Duplikovat Projekt","action.duplicate_project.desc":"Vytvo\u0159\xED kopii otev\u0159en\xE9ho projektu","action.transform_space.parent":"Nad\u0159azen\xFD","action.transform_pivot_space":"Transforma\u010Dn\xED prostor osy ot\xE1\u010Den\xED","action.solidify_mesh_selection":"Upevnit plochy","action.solidify_mesh_selection.desc":"Upevn\xED vybran\xE9 plochy k s\xEDti","action.animated_texture_editor":"Editor flipbook\u016F...","action.animated_texture_editor.desc":"\xDAprava animace flipbooku vybran\xE9 textury","action.center_individual_pivots":"Centrovat jednotliv\xE9 osy ot\xE1\u010Den\xED","action.center_individual_pivots.desc":"Nastavit bod ot\xE1\u010Den\xED v\u0161ech vybran\xFDch prvk\u016F do jejich st\u0159edu","action.uv_cycle":"Proch\xE1zet UV","action.uv_cycle.desc":"Proch\xE1z\xED po\u0159ad\xED UV vrchol\u016F, ani\u017E by m\u011Bnil jejich pozice","action.uv_cycle_invert":"Prohodit Po\u0159ad\xED UV","action.uv_cycle_invert.desc":"Obr\xE1cen\xED po\u0159ad\xED vrchol\u016F UV bez zm\u011Bny pozic UV","action.slider_animation_controller_speed":"Rychlost P\u0159ehr\xE1v\xE1n\xED Ovlada\u010De","action.slider_animation_controller_speed.desc":"Rychlost p\u0159ehr\xE1v\xE1n\xED anima\u010Dn\xEDch ovlada\u010D\u016F v procentech","action.optimize_animation":"Optimalizovat Animaci","action.optimize_animation.desc":"Optimalizuje sou\u010Dasnou animaci a zredukuje po\u010Det kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.change_animation_speed":"Zm\u011Bnit Rychlost Animace...","action.change_animation_speed.desc":"Zm\u011Bn\xED rychlost vybran\xE9 animace","timeline.select_particle_file":"Vybrat Texturu \u010C\xE1stic","timeline.select_sound_file":"Vybrat Zvukov\xFD Soubor","menu.cube.texture.default":"V\xFDchoz\xED","menu.texture.particle.clear":"P\u0159estat pou\u017E\xEDvat pro \u010C\xE1stice","menu.texture.use_as_default":"Nastavit jako V\xFDchoz\xED","menu.texture.use_as_default.clear":"Zru\u0161it nastaven\xED jako V\xFDchoz\xED","menu.toolbar.overflow":"P\u0159esah panelu n\xE1stroj\u016F","edit.solidify_mesh_selection.thickness":"Tlou\u0161\u0165ka","reference_image.sync_to_timeline":"Synchronizovat s \u010Cas. Osou","reference_image.toggle_playback":"P\u0159ehr\xE1t/Pozastavit","dialog.add_primitive.shape.beveled_cuboid":"Zaoblen\xFD Kv\xE1dr","dialog.ignore_all":"Ignorovat V\u0161e","data.texture_group":"Skupina Textur","data.animation":"Animace","generic.on":"Zapnuto","generic.off":"Vypnuto","format.free.info.3d_printing":"3D Tisk","message.invalid_file.merge_conflict":"Soubor obsahuje nevy\u0159e\u0161en\xE9 konflikty p\u0159i slou\u010Den\xED Git.","dialog.expand_texture_selection.radius":"Mno\u017Estv\xED","dialog.expand_texture_selection.corner":"Tvar Rohu","dialog.expand_texture_selection.corner.round":"Zaoblen\xFD","dialog.expand_texture_selection.corner.square":"\u010Ctvercov\xFD","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Slou\u010Dit do","keybindings.variation_conflict":"Varianta je v konfliktu s hlavn\xED kl\xE1vesovou zkratkou","settings.recovery_save_interval":"Interval ukl\xE1d\xE1n\xED bodu obnoven\xED","settings.recovery_save_interval.desc":"Blockbench pravideln\u011B ukl\xE1d\xE1 otev\u0159en\xFD projekt na pozad\xED pro p\u0159\xEDpad vypnut\xED PC. Nastavte interval v sekund\xE1ch. Nastavte na 0 pro vypnut\xED ukl\xE1d\xE1n\xED.","settings.save_view_per_tab":"Ulo\u017Eit Zobrazen\xED pro ka\u017Edou Kartu","settings.save_view_per_tab.desc":"Ulo\u017Eit aktu\xE1ln\xED \xFAhel pohledu pro ka\u017Edou kartu zvl\xE1\u0161\u0165","settings.inherit_parent_color":"P\u0159evz\xEDt Barvu Nad\u0159azen\xE9ho","settings.inherit_parent_color.desc":"Nastav\xED barvu zna\u010Dky nov\u011B vytvo\u0159en\xE9ho prvku na barvu nad\u0159azen\xE9ho m\xEDsto n\xE1hodn\xE9 barvy","keybind.preview_select.multi_select":"V\xEDcen\xE1sobn\xFD-v\xFDb\u011Br","keybind.preview_select.group_select":"Skupinov\xFD-v\xFDb\u011Br","keybind.preview_select.loop_select":"Cyklick\xFD-v\xFDb\u011Br","action.fill_mode.selection":"V\xFDb\u011Br","action.fill_mode.selected_elements":"Vybran\xE9 Prvky","action.image_tiled_view":"Zobrazen\xED dla\u017Edic","action.image_tiled_view.description":"Povolit zobrazen\xED dla\u017Edic ve 2D editoru","action.image_onion_skin_view":"Obr\xE1zkov\xFD edit cibulov\xE9ho vrstven\xED","action.image_onion_skin_view.description":"Povol\xED zobrazen\xED cibulov\xE9ho vrstven\xED v 2D editoru","action.expand_texture_selection":"Roz\u0161\xED\u0159it v\xFDb\u011Br textury","action.expand_texture_selection.desc":"Roz\u0161\xED\u0159\xED nebo zmen\u0161\xED v\xFDb\u011Br textury","action.switch_tabs.reverse_order":"Obr\xE1tit po\u0159ad\xED","action.save_project_incremental":"Ulo\u017Eit novou verzi","action.save_project_incremental.desc":"Ulo\u017E\xED aktu\xE1ln\xED model jako soubor projektu s novou verz\xED (nap\u0159.: project_2.bbmodel)","action.copy.multiple":"Kop\xEDrovat V\u0161e","action.copy.multiple.desc":"Kop\xEDruje v\u0161echna dostupn\xE1 data jednotliv\u011B","action.paste.multiple":"Vlo\u017Eit V\u0161e","action.randomize_marker_colors":"N\xE1hodn\u011B uspo\u0159\xE1dat barvy zna\u010Dek","action.cube_light_emission":"Emise Sv\u011Btla","action.cube_light_emission.desc":"Zm\u011B\u0148te emisivitu vybran\xFDch kostek na hodnotu mezi 0 a 15","action.view_mode.colored_solid":"Pln\xE9 s barvami fix\u016F","action.focus_on_selection.rotate_only":"Pouze oto\u010Dit","action.create_texture_group":"Vytvo\u0159it Skupinu Textur","action.create_texture_group.desc":"Vytvo\u0159te skupinu pro sv\xE9 textury","action.uv_maximize.all_faces":"Ovlivnit v\u0161echny plochy","action.retarget_animators":"P\u0159emapovat Animace","action.retarget_animators.desc":"Vyberte, kter\xFD anim\xE1tor c\xEDl\xED na kterou \u010D\xE1st t\u011Bla nebo prvek","action.merge_animation":"Slou\u010Dit Animaci","action.merge_animation.desc":"Slou\u010D\xED animaci do jin\xE9 animace","action.add_keyframe.reset_values":"S v\xFDchoz\xEDmi hodnotami","action.set_timeline_range_start":"Nastavit Za\u010D\xE1tek \u010Casov\xE9 Osy","action.set_timeline_range_start.desc":"Nastavte po\u010D\xE1te\u010Dn\xED bod pro vlastn\xED rozsah p\u0159ehr\xE1v\xE1n\xED na \u010Dasov\xE9 ose animace","action.set_timeline_range_end":"Nastavit Konec \u010Casov\xE9 Osy","action.set_timeline_range_end.desc":"Nastaven\xED koncov\xE9ho bodu pro vlastn\xED rozsah p\u0159ehr\xE1v\xE1n\xED na \u010Dasov\xE9 ose animace","action.disable_timeline_range":"Zak\xE1zat rozsah \u010Dasov\xE9 osy","action.disable_timeline_range.desc":"Zak\xE1\u017Ee vlastn\xED rozsah p\u0159ehr\xE1v\xE1n\xED na \u010Dasov\xE9 ose animace","menu.texture_group.resolve":"Vy\u0159e\u0161it","menu.image_tiled_view.mirrored":"Zrcadlov\xE9 hrany","menu.image_onion_skin_view.frame":"Sn\xEDmky","menu.image_onion_skin_view.frame.last_viewed":"Posledn\xED Zobrazen\xFD Sn\xEDmek","menu.image_onion_skin_view.frame.previous":"P\u0159edchoz\xED Sn\xEDmek","menu.image_onion_skin_view.frame.next":"Dal\u0161\xED Sn\xEDmek","menu.image_onion_skin_view.frame.both":"Predchoz\xED + Dal\u0161\xED","menu.image_onion_skin_view.display":"Zobrazen\xED","menu.image_onion_skin_view.display.pixels":"Men\u0161\xED pixely","menu.image_onion_skin_view.display.transparent":"Pr\u016Fhledn\xFD","menu.image_onion_skin_view.above":"Zobrazit v\xFD\u0161e","menu.animation.reload":"Znovu na\u010D\xEDst","switches.autouv.alt":"Relativn\xED","display.rotation_pivot":"Rotace osy ot\xE1\u010Den\xED","display.scale_pivot":"M\u011B\u0159\xEDtko osy ot\xE1\u010Den\xED","display.reference.fox":"Li\u0161ka","display.reference.eating":"J\xED","preview_scene.sky":"Obloha","preview_scene.space":"Vesm\xEDr","preview_scene.minecraft_ocean":"Oce\xE1n","message.import_palette.selection_only":"Pouze v\xFDb\u011Br","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generovat...","dialog.blend_transition_edit.generate.learn_more":"V\xEDce informac\xED a n\xE1hled","dialog.blend_transition_edit.generate.curve":"Typ \u010Dasov\xE1n\xED","dialog.blend_transition_edit.generate.steps":"Kl\xED\u010Dov\xE9 sn\xEDmky","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Omez\xED po\u010Det sn\xEDmk\u016F za sekundu, kter\xE9 Blockbench vykresl\xED. Skute\u010Dn\xE1 sn\xEDmkov\xE1 frekvence je omezena t\xEDm, co va\u0161e za\u0159\xEDzen\xED dok\xE1\u017Ee zobrazit.","settings.outliner_reveal_on_select":"Zobrazit prvky p\u0159i v\xFDb\u011Bru","settings.outliner_reveal_on_select.desc":"Zobraz\xED prvky v osnov\u011B, pokud jsou vybr\xE1ny","settings.java_export_pivots":"Export oto\u010Dn\xFDch os v blokov\xFDch/p\u0159edm\u011Btov\xFDch modelech Java","settings.java_export_pivots.desc":"Ulo\u017E\xED oto\u010Dn\xE9 body v blokov\xFDch/p\u0159edm\u011Btov\xFDch modelech Java na kostk\xE1ch bez rotace","animation_controllers.state.blend_transition_curve":"K\u0159ivka p\u0159echodu prolnut\xED","menu.slider.reset_vector":"Resetovat vektor","dialog.blend_transition_edit.extended":"Roz\u0161\xED\u0159en\xFD graf","message.screenshot_too_large.title":"Probl\xE9m s rozli\u0161en\xEDm obrazovky","message.screenshot_too_large.message":"Sn\xEDmek obrazovky se nepoda\u0159ilo \xFAsp\u011B\u0161n\u011B vykreslit. Zkuste to pros\xEDm znovu s ni\u017E\u0161\xEDm rozli\u0161en\xEDm nebo bez supersamplingu.","message.rename_elements.numbering":"Pro generov\xE1n\xED po\u0159adov\xFDch \u010D\xEDsel m\u016F\u017Eete pou\u017E\xEDt speci\xE1ln\xED znaky: % pro z\xEDsk\xE1n\xED indexu prvku v jeho skupin\u011B, $ pro z\xEDsk\xE1n\xED indexu v r\xE1mci v\xFDb\u011Bru.","generic.edit_externally":"Upravit Extern\u011B","message.settings_require_restart.title":"Vy\u017Eaduje Restart","message.settings_require_restart.message":"N\u011Bkter\xE1 nastaven\xED se projev\xED a\u017E po restartu programu.","message.settings_require_restart.restart_now":"Restartovat Nyn\xED","message.settings_require_restart.restart_later":"Restartovat Pozd\u011Bji","message.classroom_mode.install_plugin":"Nelze instalovat pluginy v re\u017Eimu U\u010Debny","dialog.collection.export_path":"Cesta Exportu","dialog.collection.select_all":"Vybrat V\u0161e","dialog.collection.select_none":"Nevybrat \u017D\xE1dn\xE9","dialog.collection.add_with_filter":"P\u0159idat s Filtrem","dialog.collection.remove":"Odstranit","dialog.material_config.title":"Nastaven\xED Materi\xE1lu","dialog.material_config.color_value":"Hodnota Barvy","dialog.material_config.mer":"Emisivn\xED drsnost kovu","dialog.material_config.mer_value":"Hodnota MER","dialog.material_config.depth_type":"Typ hloubky","dialog.create_texture.disable_mirror_uv":"Zak\xE1zat Zrcadlen\xED UV","dialog.create_texture.disable_mirror_uv.desc":"Zak\xE1\u017Ee mo\u017Enost UV zrcadlen\xED v \u010D\xE1sti Zrcadlov\xE9 modelov\xE1n\xED pro zachov\xE1n\xED samostatn\xE9 UV pro ka\u017Edou stranu modelu","dialog.create_gif.turn.sync_to_anim_length":"Synchronizace s d\xE9lkou animace","settings.category.controls":"Ovl\xE1d\xE1n\xED","settings.classroom_mode":"Re\u017Eim U\u010Debny","settings.classroom_mode.desc":"Omezuje n\u011Bkter\xE9 funkce, nap\u0159\xEDklad instalaci plugin\u016F, skr\xFDv\xE1 odkazy na soci\xE1ln\xED s\xEDt\u011B","settings.antialiasing_bleed_fix":"Opravit prosakov\xE1n\xED vyhlazov\xE1n\xED hran","settings.antialiasing_bleed_fix.desc":"Oprav\xED krv\xE1cen\xED textur p\u0159i pou\u017Eit\xED anti-aliasingu. Potenci\xE1ln\u011B nepodporov\xE1no na star\u0161\xEDm hardwaru.","settings.tone_mapping":"Mapov\xE1n\xED T\xF3n\u016F","settings.tone_mapping.desc":"Metoda aproximace pro zobrazen\xED vysok\xE9ho dynamick\xE9ho rozsahu na standardn\xED obrazovce pro PBR rendering.","settings.audio_scrubbing":"Zvuk pro proch\xE1zen\xED \u010Dasov\xE9 osy","settings.audio_scrubbing.desc":"P\u0159ehraje kr\xE1tk\xE9 uk\xE1zky zvuku p\u0159i proch\xE1zen\xED \u010Dasov\xE9 osy","settings.viewport_rotate_speed":"Rychlost ot\xE1\u010Den\xED zobrazen\xED","settings.viewport_rotate_speed.desc":"Citlivost vstupu p\u0159i ot\xE1\u010Den\xED v zobrazen\xED","settings.viewport_zoom_speed":"Rychlost p\u0159ibli\u017Eov\xE1n\xED zobrazen\xED","settings.viewport_zoom_speed.desc":"Citlivost vstupu p\u0159i p\u0159ibl\xED\u017Een\xED v zobrazen\xED","settings.editor_2d_zoom_speed":"Rychlost P\u0159ibl\xED\u017Een\xED 2D Editoru","settings.editor_2d_zoom_speed.desc":"Citlivost vstupu p\u0159i p\u0159ibli\u017Eov\xE1n\xED v UV a 2D editoru malov\xE1n\xED","category.select":"V\xFDb\u011Br","action.vertex_snap_mode.rotate":"Oto\u010Dit","action.export_image":"Exportovat Obr\xE1zek","action.export_image.desc":"Exportujte svou texturu jako obrazov\xFD soubor","action.apply_mirror_modeling":"Pou\u017E\xEDt zrcadlov\xE9 modelov\xE1n\xED","action.apply_mirror_modeling.desc":"Pou\u017Eije zrcadlov\xE9 modelov\xE1n\xED na v\xFDb\u011Br. V\u0161echny vybran\xE9 prvky budou zkop\xEDrov\xE1ny a oto\u010Deny p\u0159es osu X.","action.create_collection":"Vytvo\u0159it Kolekci","action.create_collection.desc":"Vytvo\u0159\xED kolekci z v\xFDb\u011Bru v outlineru","action.set_collection_content_to_selection":"Nastavit Obsah Kolekce Podle V\xFDb\u011Bru","action.set_collection_content_to_selection.desc":"Nastav\xED vybran\xE9 skupiny a prvky jako obsah kolekce","action.add_to_collection":"P\u0159idat vybran\xE9 do kolekce","action.add_to_collection.desc":"P\u0159\xEDd\xE1 vybran\xE9 skupiny a prvky do kolekce","action.view_mode.material":"N\xE1hled Materi\xE1lu","action.create_material":"Vytvo\u0159it Materi\xE1l","action.create_material.desc":"Vytvo\u0159it nov\xFD PBR materi\xE1l z vybran\xE9 textury","action.generate_pbr_map":"Generovat PBR Mapu...","action.generate_pbr_map.desc":"Vygenerovat PBR mapu (V\xFD\u0161kov\xE1 mapa nebo metalnost, emisivita, drsnost) z existuj\xEDc\xED textury","menu.tools.main_tools":"N\xE1stroje","menu.view.panels":"Panely","menu.texture.pbr_channel":"PBR Kan\xE1l","menu.texture.pbr_channel.color":"Barva","menu.texture.pbr_channel.normal":"Norm\xE1la","menu.texture.pbr_channel.height":"V\xFD\u0161ka","menu.texture.pbr_channel.mer":"MER (Metalnost-Emisivita-Drsnost)","menu.texture.pbr_channel.mer_subsurface":"MER Podpovrchov\xFD","menu.collection.export_project":"Exportovat Projekt","menu.collection.export_as":'Exportovat jako "%0"',"menu.panel.enable":"Povolit","menu.panel.move_to":"P\u0159esunout Do","menu.panel.move_to.left_bar":"Lev\xFD Panel","menu.panel.move_to.right_bar":"Prav\xFD Panel","menu.panel.move_to.top":"Naho\u0159e","menu.panel.move_to.bottom":"Dole","menu.panel.move_to.float":"Plovouc\xED","menu.panel.move_to.hidden":"Skr\xFDt","menu.panel.fold":"Sbalit","menu.mirror_painting.texture_center":"St\u0159ed","menu.mirror_modeling.mirror_uv":"Zrcadlit UV","menu.animation_onion_skin.frames":"Sn\xEDmky","menu.animation_onion_skin.select":"Vybrat","menu.animation_onion_skin.previous":"P\u0159edchoz\xED","menu.animation_onion_skin.next":"Dal\u0161\xED","menu.animation_onion_skin.previous_next":"P\u0159edchoz\xED + Dal\u0161\xED","menu.animation_onion_skin.count":"Po\u010Det","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selektivn\xED cibulov\xE9 vrstvy","menu.animation_onion_skin_selective.desc":"Zobraz\xED cibulov\xE9 vrstvy pouze pro vybranou \u010D\xE1st modelu","edit.loop_cut.unit":"Jednotka","edit.loop_cut.unit.size_units":"Jednotky Velikosti","edit.loop_cut.unit.percent":"Procento","edit.extrude_mesh_selection.direction":"Sm\u011Br","edit.extrude_mesh_selection.direction.outwards":"Sm\u011Brem ven","edit.extrude_mesh_selection.direction.average":"Pr\u016Fm\u011Br","edit.extrude_mesh_selection.even_extend":"Rovnom\u011Brn\xE9 roz\u0161\xED\u0159en\xED","edit.vertex_snap.align":"Zarovnat","edit.vertex_snap.align.longest":"Nejdel\u0161\xED Osa","edit.vertex_snap.align.direction":"Sm\u011Br od osy ot\xE1\u010Den\xED","edit.vertex_snap.align.align_axis":"Osa %0","edit.vertex_snap.ignore_axis":"Ignorovat Osu","codec.common.format":"Form\xE1t","codec.image.quality":"Kvalita","panel.collections":"Kolekce","modifier_actions.always":"V\u017Edy Povoleno","modifier_actions.unless":"Krom\u011B %0","settings.undo_selections":"Vr\xE1tit V\xFDb\u011Br","settings.undo_selections.desc":"Sledovat zm\u011Bny v\xFDb\u011Bru jako krok v historii","action.focus_on_selection.zoom":"P\u0159izp\u016Fsobit oknu","display.reference.tooting":"Trouben\xED na Roh","settings.selection_tolerance":"Tolerance V\xFDb\u011Bru","settings.selection_tolerance.desc":"Velikost oblasti, na kterou lze kliknout pro v\xFDb\u011Br hrany nebo vrcholu","action.delete.keep_vertices":"Ponechat hrany/vrcholy","menu.mesh":"S\xED\u0165","dialog.material_config.subsurface":"Podpovrchov\xE9 Rozptylov\xE1n\xED","dialog.material_config.subsurface_enabled.desc":"Pou\u017E\xEDt alfa kan\xE1l MER mapy pro podpovrchov\xE9 rozptylov\xE1n\xED","settings.pick_combined_color":"Vybrat Kombinovanou Barvu","settings.pick_combined_color.desc":"Vybrat kombinovanou barvu v\u0161ech vrstev na dan\xE9m pixelu m\xEDsto barvy na aktivn\xED vrstv\u011B","action.split_rgb_into_layers":"Rozd\u011Blit RGB kan\xE1ly do Vrstev","action.split_rgb_into_layers.desc":"Rozd\u011Blit texturu do p\u0159\xEDdavn\xFDch vrstev, jednu pro ka\u017Ed\xFD RGB kan\xE1l","dialog.project.java_block_version":"Verze Form\xE1tu","data.spline_mesh":"K\u0159ivka","data.billboard":"Orientovan\xFD Panel","data.armature":"Kostra","data.armature_bone":"Armatura \u010D\xE1sti t\u011Bla","generic.reload":"Znovuna\u010D\xEDst","modifier_actions.subtract":"Ode\u010D\xEDst","modifier_actions.reduced_intensity":"Jemn\xE9 Dolad\u011Bn\xED","modifier_actions.select_bone":"Vybrat Kost","modifier_actions.spline_select_multiple_points":"Vybrat v\xEDce Bod\u016F nebo \xDAchyt\u016F","modifier_actions.move_panel_without_docking":"P\u0159esun bez dokov\xE1n\xED","message.save_all_textures.message":"Chcete ulo\u017Eit ka\u017Edou z n\xE1sleduj\xEDc\xEDch textur?","message.save_all_textures.skip":"P\u0159esko\u010Dit","dialog.add_spline.shape":"Tvar","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Obd\xE9ln\xEDk","dialog.add_spline.shape.circle":"Kruh","dialog.add_spline.diameter":"Pr\u016Fm\u011Br","dialog.add_spline.sides_tubular":"D\u011Blen\xED tubusu","dialog.add_spline.sides_radial":"D\u011Blen\xED kruhu","dialog.add_spline.radius":"\u0160\xED\u0159ka tubusu","dialog.add_spline.length":"D\xE9lka","dialog.add_spline.width":"\u0160\xED\u0159ka","dialog.plugins.revoke_permissions":"Odvolat Opr\xE1vn\u011Bn\xED","dialog.expression_editor.pretty_print":"Uspo\u0159\xE1d\xE1n\xED \u0159\xE1dk\u016F","dialog.expression_editor.minify":"Minimalizovat","dialog.expression_editor.find_replace":"Naj\xEDt/Nahradit","dialog.create_gif.show_gizmos":"Nahr\xE1v\xE1n\xED Gizmos a m\u0159\xED\u017Eky","dialog.preview_options.title":"Mo\u017Enosti N\xE1hledu","dialog.preview_options.background":"Pozad\xED","dialog.preview_options.background.checkerboard":"\u0160achovnice","dialog.preview_options.background.solid":"Pevn\xFD","dialog.preview_options.background.custom_color":"Vlastn\xED Barva","dialog.preview_options.show_gizmos":"Zobrazit manipul\xE1tory","dialog.skin.texture_source":"Zdroj Textury","dialog.skin.texture_source.template":"Vygenerovat \u0160ablonu","dialog.skin.texture_source.load_texture":"Na\u010D\xEDst z Minecraftu","dialog.skin.texture_file":"Soubor Textury","dialog.convert_skin.adjust_texture":"Upravit Texturu","dialog.settings.clear_profile_value":"Vymazat hodnotu profilu","layout.section.customize":"P\u0159izp\u016Fsobit","layout.theme.configure":"Nastavit","layout.color.elevated":"Vystoupl\xE9","layout.color.elevated.desc":"Vystoupl\xE9 prvky rozhran\xED, obvykle odd\u011Blen\xE9 st\xEDnem","layout.file.watch_changes":"Sledovat Zm\u011Bny a Na\u010D\xEDst Znovu","settings.autocomplete_code":"Automatick\xE9 Dopl\u0148ov\xE1n\xED K\xF3du","settings.autocomplete_code.desc":"N\xE1vrhy dopl\u0148ov\xE1n\xED v editoru k\xF3du","settings.detect_flipbook_textures":"Detekovat Flipbook Textury","settings.detect_flipbook_textures.desc":"Automaticky detekuje animovan\xE9 textury Flipbooku a jejich n\xE1hled jako animace","settings.double_click_select_reference":"Vybrat referen\u010Dn\xED obr\xE1zek dvojit\xFDm klikem","settings.double_click_select_reference.desc":"Dvojit\xFDm klikem na zobrazen\xED vyberete referen\u010Dn\xED obr\xE1zek","settings.default_keyframe_interpolation":"V\xFDchoz\xED interpolace kl\xED\u010Dov\xFDch sn\xEDmk\u016F","settings.default_keyframe_interpolation.desc":"Vybere v\xFDchoz\xED re\u017Eim interpolace kl\xED\u010Dov\xFDch sn\xEDmk\u016F","settings.color_picker_style":"Styl v\xFDb\u011Bru barev","settings.color_picker_style.desc":"Vybere styl v\xFDb\u011Bru barvy v re\u017Eimu malov\xE1n\xED","settings.export_asset_paths":"Exportn\xED cesty k datov\xFDm zdroj\u016Fm","settings.export_asset_paths.desc":"Vybere, jak se cesty k datov\xFDm zdroj\u016Fm, jako jsou textury nebo animace, ukl\xE1daj\xED do soubor\u016F .bbmodel","settings.export_asset_paths.relative":"Relativn\xED Cesty","settings.export_asset_paths.absolute":"\xDApln\xE9 Cesty","settings.export_asset_paths.both":"Relativn\xED a \xDApln\xE9 Cesty (Pouze Textury)","settings.export_asset_paths.none":"\u017D\xE1dn\xFD Export","action.slider_spline_resolution":"Rozli\u0161en\xED K\u0159ivky %0","action.slider_spline_resolution.desc":"Zm\u011Bniz rozli\u0161en\xED k\u0159ivky na ose %0 (%1)","action.slider_spline_resolution.u.desc_precision":"D\u011Blen\xED kruhu","action.slider_spline_resolution.v.desc_precision":"D\u011Blen\xED tubusu","action.slider_spline_radius":"Polom\u011Br K\u0155ivky","action.slider_spline_radius.desc":"Zm\u011Bnit polom\u011Br k\u0159ivky","action.slider_spline_handle_tilt":"N\xE1klon \xDAchytu","action.slider_spline_handle_tilt.desc":"Zm\u011Bnit n\xE1klon \xFAchytu k\u0159ivky","action.slider_spline_handle_size":"Velikost \xDAchytu","action.slider_spline_handle_size.desc":"Zm\u011Bnit velikost \xFAchytu k\u0159ivky","action.blend_mode.lighten":"Zesv\u011Btlit","action.blend_mode.darken":"Ztmavit","action.weight_brush":"\u0160t\u011Btec vah","action.weight_brush.desc":"Malovat v\xE1hy vrchol\u016F na s\xED\u0165ov\xFDch modelech pro armaturov\xE9 deformace","action.convert_minecraft_skin_variant":"P\u0159ev\xE9st \xDAzk\xFD/\u0160irok\xFD Skin","action.convert_minecraft_skin_variant.desc":"P\u0159ep\xEDn\xE1 model postavy mezi klasick\xFDm \u0161irok\xFDm t\u011Blem (Steve) a \u0161t\xEDhlej\u0161\xEDm t\u011Blem (Alex). Voliteln\u011B automaticky uprav\xED texturu, aby p\u0159esn\u011B sed\u011Bla na nov\xFD model.","action.custom_skin_poses":"Vlastn\xED P\xF3zy Skinu","action.custom_skin_poses.desc":"Na\u010D\xEDst vlastn\xED p\u0159ednastavenou p\xF3zu skinu","action.custom_skin_poses.update":"Aktualizovat P\xF3zu","action.custom_skin_poses.update.desc":"P\u0159epsat ulo\u017Eenou p\xF3zu aktu\xE1ln\xED p\xF3zou modelu","action.add_custom_skin_pose":"P\u0159idat vlastn\xED p\xF3zu skinu","action.add_custom_skin_pose.desc":"Ulo\u017E\xED aktu\xE1ln\xED polohu modelu jako p\u0159ednastavenou polohu","action.export_stl":"Exportovat STL","action.export_stl.desc":"Exportovat STL model pro 3D tisk","action.add_element":"P\u0159idat Prvek","action.add_element.desc":"P\u0159idat nov\xFD prvek ze seznamu typ\u016F prvk\u016F","action.add_spline":"P\u0159idat K\u0159ivku","action.add_spline.desc":"P\u0159id\xE1 novou k\u0159ivku","action.add_billboard":"P\u0159idat Orientovan\xFD Panel","action.add_billboard.desc":"P\u0159id\xE1 nov\xFD orientovan\xFD panel, ploch\xFD prvek, kter\xFD se v\u017Edy ot\xE1\u010D\xED sm\u011Brem ke kame\u0159e","action.add_armature":"P\u0159idat armaturu","action.add_armature.desc":"P\u0159id\xE1 armaturu, kter\xE1 umo\u017E\u0148uje deformovat s\xED\u0165 pomoc\xED animace","action.add_armature_bone":"P\u0159idat armaturu \u010D\xE1sti t\u011Bla","action.add_armature_bone.desc":"P\u0159id\xE1 kost do kostry","action.search_textures":"Hledat Textury","action.search_textures.desc":"Hledat textury podle n\xE1zvu","action.search_animations":"Hledat Animace","action.search_animations.desc":"Hledat animace podle n\xE1zvu","action.spline_selection_mode":"Re\u017Eim V\xFDb\u011Bru K\u0159ivky","action.spline_selection_mode.object":"Objekt","action.spline_selection_mode.handles":"\xDAchyty","action.spline_render_mode":"Geometrie","action.spline_render_mode.mesh":"S\xED\u0165","action.spline_render_mode.path":"Cesta","action.spline_render_mode.desc":"Jakou geometrii m\xE1 tato k\u0159ivka vykreslit","action.spline_uv_mode":"Styl UV","action.spline_uv_mode.length_accurate":"P\u0159esn\xE1 D\xE9lka","action.spline_uv_mode.uniform":"Jednotn\xFD","action.spline_uv_mode.per_segment":"Na Segment","action.spline_uv_mode.desc":"Jak by m\u011Bl tubus ze k\u0159ivky s\xEDt\u011B rozm\xEDstit sv\xE9 UV mapy","action.spline_ring_segments":"D\u011Blen\xED kruhu","action.spline_ring_segments.desc":"Po\u010Det d\u011Blen\xED t\xE9to k\u0159ivky na ka\u017Ed\xFD kruh tubusu","action.spline_tube_segments":"D\u011Blen\xED tubusu","action.spline_tube_segments.desc":"Po\u010Det d\u011Blen\xED t\xE9to k\u0159ivky pod\xE9l jej\xED dr\xE1hy","action.spline_tube_radius":"Polom\u011Br tubusu","action.spline_tube_radius.desc":"Nastavit polom\u011Br tubusu k\u0159ivky","action.spline_display_space":"Zobrazit prostor","action.spline_display_space.desc":"Zobraz\xED zna\u010Dky prostoru pod\xE9l k\u0159ivky","action.spline_handle_mode":"Re\u017Eim \xFAchyt\u016F k\u0159ivky","action.spline_handle_mode.desc":"Kter\xFD re\u017Eim pou\u017E\xEDt pro transformaci \xFAchyt\u016F k\u0159ivky","action.spline_handle_mode.aligned":"Zarovnan\xFD","action.spline_handle_mode.free":"Voln\u011B","action.spline_handle_mode.mirrored":"Zrcadlen\xE9","action.slider_weight_brush_size":"Velikost \u0161t\u011Btce vah","action.weight_brush_xray":"Re\u017Eim X-Ray \u0161t\u011Btce vah","action.weight_brush_xray.desc":"Pokud je povoleno, v\xE1hov\xFD \u0161t\u011Btec ovlivn\xED v\u0161echny vrcholy, ne pouze ty, kter\xE9 jsou viditeln\xE9 na povrchu","action.apply_spline_rotation":"Pou\u017E\xEDt Rotaci","action.apply_spline_rotation.desc":"Resetovat rotaci prvku k\u0159ivky a aplikovat ji na geometrii","action.extrude_spline_selection":"Extrudovat K\u0159ivku","action.extrude_spline_selection.desc":"Extrudovat vybran\xFD \xFAchyt na v\u0161ech k\u0159ivk\xE1ch","action.split_spline":"Rozd\u011Blit k\u0159ivku","action.split_spline.desc":"Rozd\u011Bl\xED k\u0159ivku na dv\u011B samostatn\xE9 k\u0159ivky v m\xEDst\u011B vybran\xE9ho \xFAchytu","action.divide_spline_curve":"Rozd\u011Blit Segment K\u0159ivky","action.divide_spline_curve.desc":"Rozd\u011Bl\xED segment k\u0159ivky na dva nov\xE9 segmenty s nov\xFDm \xFAchytem v m\xEDst\u011B rozd\u011Blen\xED","action.set_vertex_weights":"Nastavit v\xE1hy vrchol\u016F","action.set_vertex_weights.desc":"Nastav\xED v\xE1hy vybran\xFDch vrchol\u016F na zvolenou hodnotu u konkr\xE9tn\xED \u010D\xE1sti t\u011Bla","action.calculate_vertex_weights":"Vypo\u010D\xEDtat v\xE1hy vrchol\u016F","action.calculate_vertex_weights.desc":"Automaticky p\u0159i\u0159adit v\xE1hy vrchol\u016F podle pozice \u010D\xE1sti t\u011Bla","action.shelf_alignment":"Zarovn\xE1n\xED Poli\u010Dky","action.shelf_alignment.desc":"Vybere svisl\xE9 zarovn\xE1n\xED polo\u017Eek na poli\u010Dce","action.shelf_alignment.top":"Zarovn\xE1n\xED Naho\u0159e","action.shelf_alignment.bottom":"Zarovn\xE1n\xED Dole","action.view_mode.vertex_weight":"V\xE1ha Vrcholu","action.view_mode.weighted_bone_colors":"Barvy vrchol\u016F \u010D\xE1sti t\u011Bla","action.create_animation_group":"Vytvo\u0159it Skupinu Animac\xED","action.create_animation_group.desc":"Vytvo\u0159it skupinu animac\xED","action.move_graph_keyframes_up":"Posunout graf kl\xED\u010Dov\xFDch sn\xEDmk\u016F nahoru","action.move_graph_keyframes_down":"Posunout graf kl\xED\u010Dov\xFDch sn\xEDmk\u016F dol\u016F","menu.skin":"Skin","menu.text_edit.expression_editor":"Editor V\xFDraz\u016F","menu.color_picker.picker_type.normal":"Norm\xE1lov\xE1 Mapa","menu.texture.flipbook_animation":"Flipbook Animace","menu.panel.attach_to":"P\u0159ipojit k","menu.animation.playing":"P\u0159ehr\xE1v\xE1 Se","menu.animation_file.save_as":"Ulo\u017Eit Jako","menu.animator.quaternion_interpolation":"Interpolace Kvaternion\u016F","edit.extrude_spline_selection.extend":"Prodlou\u017Eit","edit.divide_spline_curve.position":"Pozice","group.bedrock_binding":"Vazba","group.cem_attach":"P\u0159ipojen\xED CEM","group.cem_model":"CEM Model","group.cem_scale":"M\u011B\u0159\xEDtko CEM","cube.rescale":"P\u0159epo\u010D\xEDtat m\u011B\u0159\xEDtko rotace","cube.rescale.desc":"Prepo\u010D\xEDta velikost krychle tak, aby kompenzovala \xFAhel rotace","mesh.shading":"St\xEDnov\xE1n\xED","mesh.shading.flat":"Ploch\xE9","mesh.shading.smooth":"Hladk\xE9","spline_mesh.cyclic":"Cyklick\xFD","spline_mesh.cyclic.desc":"Pokud by vybran\xE1 k\u0159ivka m\u011Bla tvo\u0159it smy\u010Dku","billboard.offset":"Posun","billboard.facing_mode":"Re\u017Eim Orientace","billboard.facing_mode.lookat":"Sledovat C\xEDl","billboard.facing_mode.lookat_y":"Sledovat Y","billboard.facing_mode.rotate":"Oto\u010Dit","billboard.facing_mode.rotate_y":"Oto\u010Dit Y","armature_bone.connected":"Propojeno","reference_image.blueprint":"Uzam\u010Den\xFD Pl\xE1n","codec.image.alpha_channel":"Alfa Kan\xE1l","codec.image.animation_fps":"FPS Animace","panel.palette":"Paleta","panel.keyframe.change_effect_file":"Zm\u011Bnit soubor efekt\u016F","panel.transform":"Transformace","panel.element.spline_dimensions":"Rozm\u011Bry k\u0159ivky","display.slot.on_shelf":"Poli\u010Dka","display.reference.shelf":"Poli\u010Dka (V\u0161echny Sloty)","display.reference.shelf_left":"Poli\u010Dka (Lev\xFD Slot)","display.reference.shelf_center":"Poli\u010Dka (St\u0159edn\xED Slot)","display.reference.shelf_right":"Poli\u010Dka (Prav\xFD Slot)","message.newer_project_format_version.title":"Zastaral\xFD Klient","message.newer_project_format_version.message":"Tento soubor byl ulo\u017Een ve nov\u011Bj\u0161\xED verzi Blockbench. Aktualizujte na Blockbench %0 nebo nov\u011Bj\u0161\xED, abyste jej mohli spr\xE1vn\u011B otev\u0159\xEDt","message.load_images.add_layer":"P\u0159idat jako Vrstvu","message.load_images.category.add_to_project":"P\u0159idat do projektu","message.load_images.category.new_project":"Nov\xFD projekt","message.load_palette.title":"Na\u010D\xEDst Paletu","message.load_palette.message":"Opravdu chcete na\u010D\xEDst tuto paletu? T\xEDm se nahrad\xED va\u0161e aktu\xE1ln\xED barevn\xE1 paleta.","dialog.set_vertex_weights.weight":"Z\xE1va\u017Enost","dialog.set_vertex_weights.overwrite":"P\u0159epsat ostatn\xED \u010D\xE1sti t\u011Bla","action.element_render_order.short":"Po\u0159ad\xED Vykreslov\xE1n\xED","action.element_render_order.desc":"Po\u0159ad\xED vykreslov\xE1n\xED prvk\u016F. Toto m\u016F\u017Ee pomoci opravit prvky, kter\xE9 jsou skryt\xE9 za pr\u016Fhledn\xFDmi texturami. Nechte na Automaticky pro nepr\u016Fhledn\xE9 prvky.","spline.shading.flat":"Ploch\xE9","spline.shading.smooth":"Hladk\xE9","spline.shading":"St\xEDnov\xE1n\xED","spline.shading.desc":"Jak by m\u011Bl b\xFDt tubus t\xE9to k\u0159ivky st\xEDnov\xE1n","action.slider_weight_brush_limit":"Limit \u0161t\u011Btce vah","action.slider_weight_brush_limit.desc":"Nastav\xED horn\xED limit, kolik v\xE1hy m\u016F\u017Ee \u0161t\u011Btec p\u0159i\u0159adit k vrcholu","action.weight_brush_blend_mode":"Re\u017Eim prolnut\xED \u0161t\u011Btce vah","action.weight_brush_blend_mode.set":"Nastavit","action.weight_brush_blend_mode.add":"P\u0159idat","action.apply_texture_to_elements":"Aplikovat Texturu na Prvky","action.apply_texture_to_elements.desc":"Pou\u017E\xEDt vybranou texturu na vybran\xE9 prvky","menu.panel.reset_size":"Resetovat Velikost","action.import_layer":"Importovat Vrstvu","action.import_layer.desc":"Importovat obrazov\xE9 soubory jako vrstvy","menu.collection.open_file":"Otev\u0159\xEDt Soubor","layout.version":"Verze","settings.status_bar_transform_sliders":"Transformace posuvn\xEDk\u016F ve stavov\xE9m \u0159\xE1dku","settings.status_bar_transform_sliders.desc":"Zobrazit panel posuvn\xEDk\u016F transformace vybran\xE9ho n\xE1stroje ve stavov\xE9m \u0159\xE1dku m\xEDsto pou\u017Eit\xED panelu Transformace","settings.default_bedrock_format":"V\xFDchoz\xED Bedrock Form\xE1t","settings.default_bedrock_format.desc":"Vyberte v\xFDchoz\xED form\xE1t pro na\u010D\xEDt\xE1n\xED model\u016F Minecraft Bedrock, pokud nelze z kontextu zjistit konkr\xE9tn\xED form\xE1t.","settings.limit_brush_opacity_per_stroke":"Omezit Pr\u016Fhlednost \u0160t\u011Btce na Jeden Tah","settings.limit_brush_opacity_per_stroke.desc":"Omezit pr\u016Fhlednost, kterou m\u016F\u017Ee \u0161t\u011Btec aplikovat podle hodnoty posuvn\xEDku p\u0159i ka\u017Ed\xE9m tahu. U hladk\xE9ho \u0161t\u011Btce m\u016F\u017Ee toto zp\u016Fsobit ne\u017E\xE1douc\xED \u0161um.","action.merge_splines":"Slou\u010Dit k\u0159ivky","action.merge_splines.desc":"Slou\u010Dit v\xEDce k\u0159ivek do jedn\xE9","settings.default_java_block_version":"V\xFDchoz\xED verze Java bloku / p\u0159edm\u011Btu","settings.default_java_block_version.desc":"V\xFDchoz\xED verze form\xE1tu p\u0159i tvo\u0159en\xED nov\xE9ho Java modelu nebo otev\u0159en\xED souboru bez verze form\xE1tu","data.bounding_box":"Ohrani\u010Duj\xEDc\xED R\xE1me\u010Dek","keys.option":"Volba","keys.slide_lmb_horizontal":"Lev\xFDm tla\u010D\xEDtkem my\u0161i posunout vodorovn\u011B","keys.slide_lmb_vertical":"Lev\xFDm tla\u010D\xEDtkem my\u0161i posunout svisle","keys.slide_rmb_horizontal":"Prav\xFDm tla\u010D\xEDtkem my\u0161i posunout vodorovn\u011B","keys.slide_rmb_vertical":"Prav\xFDm tla\u010D\xEDtkem my\u0161i posunout svisle","message.recover_backup.unknown_project":"Nezn\xE1m\xFD projekt","message.recover_backup.discard_others":"Zahodit v\u0161echny ostatn\xED","message.unsupported_file_extension.title":"Form\xE1t souboru nen\xED podporov\xE1n","message.unsupported_file_extension.message":"Nelze otev\u0159\xEDt soubor %0, form\xE1t nen\xED podporov\xE1n. Pro tento typ souboru pravd\u011Bpodobn\u011B pot\u0159ebujete plugin.","message.unsupported_file_extension.open_in_default_program":"Otev\u0159\xEDt ve v\xFDchoz\xEDm programu","dialog.project.uv_size":"Velikost UV","dialog.collection.offset":"Odsazen\xED","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Po\u010Det sn\xEDmk\u016F za sekundu animace textury ve flipbooku","dialog.edit_uv_size.title":"Upravit velikost UV","dialog.edit_uv_size.target":"C\xEDl","dialog.edit_uv_size.adjust":"Upravit","dialog.edit_uv_size.adjust.adjust_uv":"Proti UV","dialog.edit_uv_size.adjust.adjust_scale":"Proti UV a M\u011B\u0159\xEDtko","dialog.edit_uv_size.adjust.keep":"Uchovat UV","dialog.edit_uv_size.target_size":"C\xEDlov\xE1 Velikost UV","dialog.edit_uv_size.preset.original":"P\u016Fvodn\xED","dialog.edit_uv_size.preset.match_texture":"P\u0159izp\u016Fsobit Textu\u0159e","dialog.edit_uv_size.result":"V\xFDsledek","dialog.edit_uv_size.result.textures":"Textury","dialog.adjust_brightness_contrast.brightness":"Jas","dialog.adjust_brightness_contrast.contrast":"Kontrast","dialog.adjust_saturation_hue.saturation":"Sytost","dialog.adjust_saturation_hue.hue":"Odst\xEDn","dialog.adjust_opacity.mode":"Re\u017Eim","dialog.adjust_opacity.mode.multiply":"N\xE1sobit","dialog.adjust_opacity.mode.set":"Nastavit","dialog.bedrock_bounding_box.type":"Typ","dialog.bedrock_bounding_box.type.collision_box":"Kolize","dialog.bedrock_bounding_box.type.selection_box":"V\xFDb\u011Brov\xE9 pole","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Pozor, hitboxy entit funguj\xED pouze do ur\u010Dit\xE9 velikosti a nemus\xED se p\u0159izp\u016Fsobit rotaci entity ve h\u0159e.","dialog.bedrock_bounding_box.collision_note":"Upozor\u0148ujeme, \u017Ee kolizn\xED r\xE1me\u010Dky entit podporuj\xED pouze jeden centrovan\xFD tvar se \u010Dtvercov\xFDm horn\xEDm profilem.","dialog.bedrock_bounding_box.no_bounding_boxes":"V tomto projektu neexistuj\xED \u017E\xE1dn\xE9 ohrani\u010Duj\xEDc\xED r\xE1me\u010Dky.","dialog.install_plugins_from_list.ids":"ID Plugin\u016F","dialog.install_plugins_from_list.info":"Nainstalovat n\u011Bkolik plugin\u016F ze seznamu ID. P\u0159ed instalac\xED se ujist\u011Bte, \u017Ee skute\u010Dn\u011B pot\u0159ebujete v\u0161echny pluginy. Udr\u017Eov\xE1n\xED neaktivn\xEDch plugin\u016F m\u016F\u017Ee zv\xFD\u0161it riziko chyb a nekompatibilit s budouc\xEDmi aktualizacemi.","dialog.copy_installed_plugins.details":"Zahrnout detaily","dialog.flip_animation.phase_offset":"F\xE1zov\xFD Posun","dialog.flip_animation.phase_offset.off":"Vypnuto","dialog.flip_animation.phase_offset.custom":"Vlastn\xED","dialog.flip_animation.clear_opposite":"P\u0159epsat Opa\u010Dn\xE9","settings.flipbook_textures_in_animation":"P\u0159ehr\xE1t flipbook textury v animaci","settings.flipbook_textures_in_animation.desc":"N\xE1hled animac\xED na flipbook textur\xE1ch synchronizovan\xFD s \u010Dasovou osou animace","settings.display_uv":"Zobrazit UV Plochy","settings.display_uv.desc":"Vyberte, kter\xE9 UV plochy se zobrazuj\xED v UV editoru","settings.display_uv.selected_faces":"Pouze vybran\xE9 plochy","settings.display_uv.selected_elements":"V\u0161echny plochy vybran\xFDch prvk\u016F","settings.display_uv.all_elements":"V\u0161echny plochy v\u0161ech prvk\u016F","settings.local_position_values":"Lok\xE1ln\xED hodnoty pozice","settings.local_position_values.desc":"Zobrazit v\u0161echny hodnoty pozice v panelu P\u0159em\u011Bny v lok\xE1ln\xEDm prostoru","settings.transform_cube_from_center":"P\u0159em\u011Bnit kostky od st\u0159edu","settings.transform_cube_from_center.desc":"Upravovat hodnoty pozice kostky od st\u0159edu m\xEDsto od rohu","settings.color_picker_tool_switch":"P\u0159ep\xEDna\u010D n\xE1stroje pro v\xFDb\u011Br barev","settings.color_picker_tool_switch.desc":"P\u0159i v\xFDb\u011Bru pr\u016Fhledn\xE9ho pixelu p\u0159epn\u011Bte na gumu. Pokud byla guma d\u0159\xEDve vybr\xE1na a je vybr\xE1na barva, p\u0159epn\u011Bte na \u0161t\u011Btec","keybind.preview_scroll_zoom":"P\u0159ibl\xED\u017Eit Zobrazen\xED","keybind.uv_editor_scroll_zoom":"Editor UV/2D P\u0159ibl\xED\u017Een\xED","action.blend_mode.alpha_mask":"Alfa Maska","action.swap_tools.hold":"Podr\u017Een\xEDm p\u0159epnete (V\xFDb\u011Br barev)","action.import_bedrock_voxel_shape":"Importovat Bedrock Voxel Tvar","action.import_bedrock_voxel_shape.desc":"P\u0159idat Voxel Tvar ze souboru JSON do aktu\xE1ln\xEDho projektu","action.export_bedrock_voxel_shape":"Exportovat Voxel Tvary pro Bedrock Edici","action.export_bedrock_voxel_shape.desc":"Exportovat ohrani\u010Duj\xEDc\xED r\xE1me\u010Dky v projektu jako soubor bedrock voxel tvaru","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Kop\xEDrovat nainstalovan\xE9 pluginy","action.copy_installed_plugins.desc":"Vygenerovat a zkop\xEDrovat seznam aktu\xE1ln\u011B nainstalovan\xFDch plugin\u016F","action.install_plugins_from_list":"Instalace plugin\u016F ze seznamu","action.install_plugins_from_list.desc":"Instalace plugin\u016F ze seznamu ID plugin\u016F","action.add_bounding_box":"P\u0159idat Ohrani\u010Duj\xEDc\xED R\xE1me\u010Dek","action.add_bounding_box.desc":"P\u0159id\xE1 nov\xFD ohrani\u010Duj\xEDc\xED r\xE1me\u010Dek","action.split_alpha_into_layer":"Rozd\u011Blen\xED alfa kan\xE1lu na vrstvy","action.split_alpha_into_layer.desc":"Rozd\u011Blit alfa kan\xE1l textury na vrstvu alfa masky","action.generate_bedrock_block_box":"Kop\xEDrovat Komponent Kolizi/V\xFDb\u011Br\u016F","action.generate_bedrock_block_box.desc":"Vygenerovat kolizn\xEDho nebo v\xFDb\u011Brov\xE9ho r\xE1me\u010Dku pro bloky Minecraft Bedrock Edice","action.generate_bedrock_entity_box":"Kop\xEDrovat komponentu Kolize/Hitboxu","action.generate_bedrock_entity_box.desc":"Generovat komponenty pro kolizn\xED nebo vlastn\xED test z\xE1sahu pro entity v Minecraftu Bedrock Edice","action.refresh_texture":"Obnovit Texturu","action.refresh_texture.desc":"Znovu na\u010D\xEDst texturu ze souboru","action.move_uv_to_cursor":"P\u0159esunout UV na kurzor","action.move_uv_to_cursor.desc":"P\u0159esunout vybran\xE9 UV plochy na pozici kurzoru my\u0161i","action.edit_mode_uv_overlay":"Zobrazit V\u0161echny Prvky","action.round_keyframe_values":"Zaokrouhlen\xED hodnot kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.round_keyframe_values.desc":"Zaokrouhlit v\u0161echny hodnoty vybran\xFDch kl\xED\u010Dov\xFDch sn\xEDmk\u016F","action.keyframe_column_create.all_channels":"V\u0161echny Kan\xE1ly","action.keyframe_column_create.all_channels.desc":"Inicializovat v\u0161echny kan\xE1ly kl\xED\u010Dov\xFDmi sn\xEDmky, i kdy\u017E d\u0159\xEDve \u017E\xE1dn\xE9 kl\xED\u010Dov\xE9 sn\xEDmky nem\u011Bly","action.add_all_to_timeline":"P\u0159idat v\u0161e na \u010Dasovou osu","action.mirror_animating":"Zrcadlen\xED Animace","action.mirror_animating.desc":"Zrcadlen\xED \xFAprav animace na opa\u010Dnou stranu","action.copy_animation_pose":"Kop\xEDrovat Animovanou P\xF3zu","action.copy_animation_pose.desc":"Zkop\xEDrovat v\u0161echny kl\xED\u010Dov\xE9 sn\xEDmky pro replikaci aktu\xE1ln\xED anima\u010Dn\xED pozice","menu.texture.file_format":"Form\xE1t Souboru","menu.texture.wrap_mode":"Re\u017Eim Obt\xE9k\xE1n\xED","menu.texture.wrap_mode.limited":"Omezen\xE9","menu.texture.wrap_mode.repeat":"Opakovat","menu.texture.wrap_mode.clamp":"Sv\u011Brn\xE1 Hrana","edit.reparent_selection.adjust_position":"Zachovat Transformaci Sv\u011Bta","texture_mesh.texture_name":"N\xE1zev Textury","display.slot.embedded":"Vlo\u017Een\xE9","display.animate_preview":"N\xE1hled Animace","display.reference.flower_pot":"Kv\u011Btin\xE1\u010D"};var xL={"dialog.ok":"Okay","dialog.cancel":"Abbrechen","dialog.confirm":"Best\xE4tigen","dialog.close":"Schlie\xDFen","dialog.import":"Importieren","dialog.save":"Speichern","dialog.discard":"Verwerfen","dialog.dontshowagain":"Nicht erneut anzeigen","data.cube":"W\xFCrfel","data.group":"Gruppe","data.texture":"Textur","data.plugin":"Plugin","data.preview":"Vorschau","data.toolbar":"Werkzeugleiste","data.image":"Bild","keys.ctrl":"Strg","keys.shift":"Umschalt","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Entfernen","keys.space":"Leertaste","keys.leftclick":"Linksklick","keys.middleclick":"Mittelklick","keys.rightclick":"Rechtsklick","keys.tab":"Tab","keys.backspace":"R\xFCcktaste","keys.enter":"Eingabe","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Ziffernblock %0","keys.caps":"Feststelltaste","keys.menu":"Kontextmen\xFC","keys.left":"Pfeil links","keys.up":"Pfeil hoch","keys.right":"Pfeil rechts","keys.down":"Pfeil runter","keys.pageup":"Bild auf","keys.pagedown":"Bild ab","keys.plus":"Plus","keys.comma":"Komma","keys.point":"Punkt","keys.minus":"Minus","keys.cross":"Kreuz","keys.end":"Ende","keys.pos1":"Position 1","keys.printscreen":"Drucken","keys.pause":"Pause","message.rotation_limit.title":"Rotationsbegrenzung","message.rotation_limit.message":"Rotationen sind von Minecraft auf nur eine Achse und 22,5\xB0-Schritte begrenzt. Das Drehen auf einer weiteren Achse setzt alle anderen Achsen zur\xFCck. Konvertiere das Modell in ein \u201Egenerisches Modell\u201C, wenn du freie Rotationen ben\xF6tigst.","message.file_not_found.title":"Datei nicht gefunden","message.file_not_found.message":"Blockbench konnte die angeforderte Datei nicht finden. \xDCberpr\xFCfe, ob die Datei lokal gespeichert ist und nicht in einer Cloud.","message.screenshot.title":"Bildschirmfoto","message.screenshot.clipboard":"Zwischenablage","message.screenshot.right_click":"Bildschirmfoto \u2013 Rechtsklicken oder gedr\xFCckt halten zum Kopieren","message.invalid_file.title":"Ung\xFCltige Datei","message.invalid_file.message":"Konnte die Modelldatei nicht \xF6ffnen: %0","message.invalid_model.title":"Ung\xFCltige Modelldatei","message.invalid_model.message":"Diese Datei enth\xE4lt kein g\xFCltiges Modell","message.child_model_only.title":"Leeres Untermodell","message.child_model_only.message":"Dieses Modell ist ein Untermodell von %0 und enth\xE4lt kein eigenes Modell.","message.unsaved_textures.title":"Ungespeicherte Texturen","message.unsaved_textures.message":"Dein Modell hat ungespeicherte Texturen. Um sicherzugehen, dass das Modell funktioniert, solltest du diese in dem entsprechenden Ordner im Ressourcenpaket speichern.","message.model_clipping.title":"Modell zu gro\xDF","message.model_clipping.message":"Dein Modell enth\xE4lt %0 Elemente, die gr\xF6\xDFer sind als die Blockbegrenzung von 3\xD73\xD73, die Minecraft zul\xE4sst. Dieses Modell wird so nicht in Minecraft funktionieren.","message.loose_texture.title":"Texturenimport","message.loose_texture.message":"Die geladene Textur befindet sich nicht in einem Ressourcenpaket. Minecraft kann nur Texturen laden, die sich innerhalb des Texturenordners eines Ressourcenpakets befindet.","message.loose_texture.change":"Pfad Ver\xE4ndern","message.update_res.title":"Aufl\xF6sung","message.update_res.message":"M\xF6chtest du die Aufl\xF6sung des Projekts an die Aufl\xF6sung dieser Textur anpassen? W\xE4hle \u201EAbbrechen\u201C, wenn die Textur eine h\xF6here Aufl\xF6sung haben soll.","message.update_res.update":"Anpassen","message.bedrock_overwrite_error.message":"Blockbench kann dieses Modell nicht mit der alten Modelldatei vereinen","message.bedrock_overwrite_error.backup_overwrite":"Sicherungskopie erstellen und \xFCberschreiben","message.bedrock_overwrite_error.overwrite":"\xDCberschreiben","message.close_warning.message":"M\xF6chtest du dein Modell speichern?","message.close_warning.web":"Bist du sicher, dass du das Programm verlassen m\xF6chtest? Dadurch geht die momentane Arbeit verloren.","message.default_textures.title":"Standardtexturen","message.default_textures.message":"W\xE4hle den \u201Etextures\u201C-Ordner deines Ressourcenpakets","message.default_textures.detail":"Extrahiere das Standard-Ressourcenpaket aus der Minecraft-.jar-Datei oder lade es aus dem Internet herunter. Suche dann den \u201Etextures\u201C-Ordner und \xF6ffne diesen. Blockbench merkt sich diesen Ordner und greift in Zukunft darauf zur\xFCck, wenn es die Texturen nicht anderweitig finden kann.","message.default_textures.select":"Ordner ausw\xE4hlen","message.image_editor.title":"W\xE4hle ein Bildbearbeitungsprogramm","message.image_editor.file":"Datei ausw\xE4hlen ...","message.image_editor.exe":"\xD6ffne die Programmdatei eines Bildbearbeitungsprogramms","message.display_skin.title":"Minecraft-Skin","message.display_skin.message":"W\xE4hle eine Skindatei von deinem Computer oder gib einen Spielernamen an","message.display_skin.upload":"Skindatei","message.display_skin.reset":"Zur\xFCcksetzen","message.invalid_plugin":"Fehlerhafte Plugindatei, siehe Konsole","message.load_plugin_app":"M\xF6chtest du diesem Plugin erlauben, \xC4nderungen an deinem Computer vorzunehmen? Nutze nur Plugins von Personen, denen du vertraust.","message.load_plugin_web":"M\xF6chtest du dieses Plugin laden? Nutze nur Plugins von Personen, denen du vertraust.","message.preset_no_info":"Dieses Preset enth\xE4lt keine Informationen zu dieser Position","message.restart_to_update":"Starte Blockbench neu, um die \xC4nderungen wirksam werden zu lassen.","message.save_file":"Gespeichert als %0","dialog.project.title":"Projekt","dialog.project.name":"Dateiname","dialog.project.parent":"Elternmodell","dialog.project.geoname":"Modell-ID","dialog.project.ao":"Umgebungsschattierung","dialog.texture.title":"Textur","dialog.texture.variable":"Variable","dialog.texture.namespace":"Namensraum","dialog.texture.folder":"Ordner","dialog.extrude.title":"Grafik extrudieren","dialog.extrude.mode":"Abtastmodus","dialog.extrude.mode.areas":"Bereiche","dialog.extrude.mode.lines":"Zeilen","dialog.extrude.mode.columns":"Spalten","dialog.extrude.mode.pixels":"Pixel","dialog.extrude.opacity":"Minimale Deckkraft","dialog.extrude.scan":"Konvertieren und Importieren","dialog.display_preset.title":"Preset erstellen","dialog.display_preset.message":"W\xE4hle die Positionen, die du speichern m\xF6chtest","dialog.display_preset.create":"Erstellen","dialog.select.title":"Auswahl","dialog.select.group":"In ausgew\xE4hlter Gruppe","dialog.select.name":"Name enth\xE4lt","dialog.select.random":"Zufallschance (%)","dialog.select.select":"Ausw\xE4hlen","dialog.scale.title":"Modell skalieren","dialog.scale.axis":"Achse","dialog.scale.clipping":"Modell\xFCberstand: Dein Modell ist zu gro\xDF","dialog.scale.confirm":"Skalieren","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Installiert","dialog.plugins.available":"Verf\xFCgbar","dialog.plugins.install":"Installieren","dialog.plugins.uninstall":"Deinstallieren","dialog.plugins.reload":"Neu laden","dialog.plugins.none_installed":"Keine Plugins installiert","dialog.plugins.none_available":"Keine Plugins verf\xFCgbar","dialog.plugins.web_only":"Nur f\xFCr die Webanwendung","dialog.plugins.app_only":"Nur f\xFCr die Desktopanwendung","dialog.plugins.author":"von %0","dialog.create_texture.folder":"Ordner","dialog.create_texture.resolution":"Aufl\xF6sung","dialog.input.title":"Eingabe","dialog.settings.settings":"Einstellungen","dialog.settings.keybinds":"Tastenbelegungen","dialog.settings.about":"\xDCber","layout.color.back":"Hintergrund","layout.color.back.desc":"Hintergr\xFCnde und Eingabefelder","layout.color.dark":"Dunkel","layout.color.dark.desc":"Hintergrund der Vorschau","layout.color.ui":"Oberfl\xE4che","layout.color.ui.desc":"Haupt-Oberfl\xE4chenfarbe","layout.color.bright_ui":"Helle Oberfl\xE4che","layout.color.bright_ui.desc":"Kontextmen\xFCs und Tooltips","layout.color.button":"Schaltfl\xE4che","layout.color.button.desc":"Schaltfl\xE4chen und Schalter","layout.color.selected":"Auswahl","layout.color.selected.desc":"Ausgew\xE4hlte Objekte und Registerkarten","layout.color.border":"Rahmen","layout.color.border.desc":"Rahmen von Schaltfl\xE4chen und anderem","layout.color.accent":"Akzent","layout.color.accent.desc":"Akzentfarbe f\xFCr Details","layout.color.grid":"Gitter","layout.color.grid.desc":"Gitter der 3D-Vorschau","layout.color.text":"Text","layout.color.text.desc":"Normaler Text","layout.color.light":"Hell","layout.color.light.desc":"Ausgew\xE4hlter Text","layout.color.accent_text":"Akzenttext","layout.color.accent_text.desc":"Text auf hellen- oder Akzent-Elementen","layout.font.main":"Hauptschriftart","layout.font.headline":"\xDCberschriftenschriftart","about.version":"Version: ","settings.category.general":"Allgemein","settings.category.preview":"Vorschau","settings.category.grid":"Gitter","settings.category.edit":"Bearbeiten","settings.category.snapping":"Einrasten","settings.category.defaults":"Standardwerte","settings.category.dialogs":"Dialoge","settings.category.export":"Export","settings.language":"Sprache","settings.language.desc":"Sprache der Benutzeroberfl\xE4che. Starte Blockbench neu, um die \xC4nderungen wirksam zu machen.","settings.backup_interval":"Abstand der Sicherheitskopien","settings.backup_interval.desc":"Zeit zwischen den automatischen Sicherheitskopien in Minuten","settings.origin_size":"Angelpunkt","settings.origin_size.desc":"Gr\xF6\xDFe des Angelpunkts","settings.control_size":"Gr\xF6\xDFe des Achsenwerkzeuges","settings.control_size.desc":"Gr\xF6\xDFe des 3-Achsen-Verschiebewerkzeuges","settings.display_skin":"Skin f\xFCr Anzeigeeinstellungen","settings.display_skin.desc":"Spielerskin, der f\xFCr das Referenzmodell in den Anzeigeeinstellungen verwendet wird","settings.shading":"Schattierung","settings.shading.desc":"Schattierungen aktivieren","settings.base_grid":"Kleines Gitter","settings.base_grid.desc":"Kleines Gitter und Achsen anzeigen","settings.large_grid":"Blockraster","settings.large_grid.desc":"16\xD716-Blockraster anzeigen","settings.full_grid":"Genaues Blockraster","settings.full_grid.desc":"Vollst\xE4ndiges, genaues Blockraster anzeigen","settings.large_box":"Blockrahmen","settings.large_box.desc":"3\xD73\xD73-Blockbegrenzung anzeigen","settings.display_grid":"Anzeigemodus","settings.display_grid.desc":"Gitter im Anzeigemodus zeigen","settings.undo_limit":"Maximale R\xFCckg\xE4ngig-Schritte","settings.undo_limit.desc":"Die maximale Anzahl der Bearbeitungen, die f\xFCr die \u201ER\xFCckg\xE4ngig\u201C-Funktion aufgezeichnet werden","settings.local_move":"Auf relativen Achsen bewegen","settings.local_move.desc":"Elemente entlang ihrer eigenen, mitgedrehten Achsen bewegen, wenn m\xF6glich","settings.canvas_unselect":"Auswahl aufheben","settings.canvas_unselect.desc":"Auswahl beim Klicken auf den Hintergrund aufheben","settings.paint_side_restrict":"Pinsel auf Seite beschr\xE4nken","settings.paint_side_restrict.desc":"Beschr\xE4nkt den Pinsel auf das Ver\xE4ndern der Seite, auf die geklickt wurde","settings.autouv":"Auto-UV","settings.autouv.desc":"Auto-UV standardm\xE4\xDFig aktivieren","settings.create_rename":"Neue Elemente umbenennen","settings.create_rename.desc":"Beim Erstellen von Elementen oder Gruppen das Namensfeld zum Umbenennen ausw\xE4hlen","settings.edit_size":"Gitteraufl\xF6sung","settings.edit_size.desc":"Aufl\xF6sung des Gitters, an das Elemente einrasten","settings.shift_size":"Aufl\xF6sung mit Umschalt","settings.shift_size.desc":"Aufl\xF6sung des Gitters bei gedr\xFCckter Umschalttaste","settings.ctrl_size":"Aufl\xF6sung mit Steuerung","settings.ctrl_size.desc":"Aufl\xF6sung des Gitters bei gedr\xFCckter Steuerungstaste","settings.negative_size":"Negative Gr\xF6\xDFe","settings.negative_size.desc":"Dem Gr\xF6\xDFenwerkzeug negative Werte erlauben","settings.minifiedout":"Reduzierte Ausgabe","settings.minifiedout.desc":"Gesamtes Modell im JSON in eine Zeile schreiben","settings.export_groups":"Gruppen speichern","settings.export_groups.desc":"Gruppen in Modelldateien speichern","settings.credit":"Erstellerkommentar","settings.credit.desc":"Einen Erstellerkommentar zu gespeicherten Dateien hinzuf\xFCgen","settings.default_path":"Standardpfad f\xFCr Minecraft-Texturen","settings.default_path.desc":"Ordner, aus dem Blockbench fehlende Standardtexturen l\xE4dt","settings.image_editor":"Bildbearbeitungsprogramm","settings.image_editor.desc":"Standard-Bildbearbeitungsprogramm zum externen Bearbeiten von Texturen","category.navigate":"Navigation","category.tools":"Werkzeuge","category.file":"Datei","category.blockbench":"Blockbench","category.edit":"Bearbeiten","category.transform":"Transformieren","category.view":"Ansicht","category.display":"Anzeigeeinstellungen","category.textures":"Texturen","category.misc":"Verschiedenes","keybind.preview_select":"Ausw\xE4hlen","keybind.preview_rotate":"Ansicht drehen","keybind.preview_drag":"Ansicht verschieben","keybind.confirm":"Best\xE4tigen","keybind.cancel":"Abbrechen","action.slider_inflate":"Aufblasen","action.slider_inflate.desc":"Vergr\xF6\xDFert Quader in alle Richtungen, ohne dabei die Textur zu ver\xE4ndern","action.slider_brush_size":"Radius","action.slider_brush_size.desc":"Radius des Pinsels in Pixeln","action.slider_brush_opacity":"Deckkraft","action.slider_brush_opacity.desc":"Deckkraft des Pinsels zwischen 0 und 255","action.slider_brush_softness":"Weiche Kanten","action.slider_brush_softness.desc":"Weiche Kanten des Pinsels in Prozent","action.uv_slider_pos_x":"Horizontal bewegen","action.uv_slider_pos_x.desc":"Die UV-Auswahl aller ausgew\xE4hlten Elemente horizontal verschieben","action.uv_slider_pos_y":"Vertikal bewegen","action.uv_slider_pos_y.desc":"Die UV-Auswahl aller ausgew\xE4hlten Elemente vertikal verschieben","action.uv_slider_size_x":"Horizontal vergr\xF6\xDFern","action.uv_slider_size_x.desc":"Die UV-Auswahl aller ausgew\xE4hlten Elemente horizontal vergr\xF6\xDFern","action.uv_slider_size_y":"Vertikal vergr\xF6\xDFern","action.uv_slider_size_y.desc":"Die UV-Auswahl aller ausgew\xE4hlten Elemente vertikal vergr\xF6\xDFern","action.vertex_snap_mode":"Magnetmodus","action.vertex_snap_mode.desc":"W\xE4hle, ob der Eckpunktmagnet Elemente verschiebt oder streckt","action.move_tool":"Verschieben","action.move_tool.desc":"Werkzeug zum Ausw\xE4hlen und Verschieben von Elementen","action.resize_tool":"Gr\xF6\xDFe \xE4ndern","action.resize_tool.desc":"Werkzeug zum Ausw\xE4hlen und \xC4ndern der Gr\xF6\xDFe von Elementen","action.brush_tool":"Farbpinsel","action.brush_tool.desc":"Farbpinsel zum Malen auf Texturen","action.vertex_snap_tool":"Eckpunktmagnet","action.vertex_snap_tool.desc":"Verbindet die Ecken von 2 Elementen, indem es das eine verschiebt","action.swap_tools":"Werkzeuge wechseln","action.swap_tools.desc":"Wechselt zwischen dem Verschieben- und Gr\xF6\xDFenwerkzeug","action.project_window":"Projekt ...","action.project_window.desc":"\xD6ffnet die Projekteinstellungen, wo du die Metadaten deines Modells bearbeiten kannst","action.open_model":"Modell \xF6ffnen","action.open_model.desc":"\xD6ffne ein Modell von deinem Computer","action.extrude_texture":"3D-Textur","action.extrude_texture.desc":"Erstellt ein 3D-Modell aus einer Textur","action.export_blockmodel":"Block-/Itemmodell exportieren","action.export_blockmodel.desc":"Ein \u201EMinecraft Java Edition\u201C-Block-/Itemmodell exportieren","action.export_optifine_part":"OptiFine JPM exportieren","action.export_optifine_part.desc":"Einen Entity-Komponenten f\xFCr OptiFine exportieren","action.export_optifine_full":"OptiFine JEM exportieren","action.export_optifine_full.desc":"Ein vollst\xE4ndiges Entitymodell f\xFCr OptiFine exportieren","action.export_obj":"OBJ-Modell exportieren","action.export_obj.desc":"Ein Wavefront-OBJ-Modell exportieren zum Rendern","action.settings_window":"Einstellungen ...","action.settings_window.desc":"Das Blockbench-Einstellungsmen\xFC \xF6ffnen","action.plugins_window":"Plugins ...","action.plugins_window.desc":"\xD6ffnet den Pluginstore","action.reset_layout":"Layout zur\xFCcksetzen","action.reset_layout.desc":"Das Layout auf die Standardwerte zur\xFCcksetzen","action.load_plugin":"Plugin aus Quelldatei laden","action.load_plugin.desc":"Ein Plugin durch Laden der Quelldatei testen","action.reload_plugins":"Plugins neu laden","action.reload_plugins.desc":"Alle Testplugins neu laden","action.undo":"R\xFCckg\xE4ngig","action.undo.desc":"Macht die letzte \xC4nderung R\xFCckg\xE4ngig","action.redo":"Wiederholen","action.redo.desc":"Wiederholt die letzte r\xFCckg\xE4ngig-gemachte \xC4nderung","action.copy":"Kopieren","action.copy.desc":"Kopiert die aktuelle Auswahl, Fl\xE4che oder Anzeigeeinstellung","action.paste":"Einf\xFCgen","action.paste.desc":"F\xFCgt die aktuelle Auswahl, Fl\xE4che oder Anzeigeeinstellung ein","action.cut":"Ausschneiden","action.cut.desc":"Schneidet die aktuelle Auswahl, Fl\xE4che oder Anzeigeeinstellung aus","action.add_cube":"Quader hinzuf\xFCgen","action.add_cube.desc":"F\xFCgt einen neuen Quader hinzu","action.add_group":"Gruppe hinzuf\xFCgen","action.add_group.desc":"F\xFCgt eine neue Gruppe oder einen neuen Knochen hinzu","action.outliner_toggle":"Mehr Optionen umschalten","action.outliner_toggle.desc":"Aktiviert oder deaktiviert mehr Optionen","action.duplicate":"Duplizieren","action.delete":"L\xF6schen","action.sort_outliner":"Outliner sortieren","action.sort_outliner.desc":"Den Outliner alphabetisch sortieren","action.select_window":"Auswahl ...","action.select_window.desc":"Elemente basierend auf ihren Eigenschaften suchen und ausw\xE4hlen","action.invert_selection":"Auswahl umkehren","action.invert_selection.desc":"Kehrt die aktuelle Auswahl um","action.select_all":"Alle ausw\xE4hlen","action.collapse_groups":"Gruppen einklappen","action.collapse_groups.desc":"Alle Gruppen einklappen","action.scale":"Skalieren ...","action.scale.desc":"Die ausgew\xE4hlten Elemente skalieren","action.toggle_visibility":"Sichtbarkeit umschalten","action.toggle_visibility.desc":"Schaltet die Sichtbarkeit der ausgew\xE4hlten Elemente um","action.toggle_export":"Export umschalten","action.toggle_export.desc":"Schaltet die Export-Einstellung der ausgew\xE4hlten Elemente um","action.toggle_autouv":"Auto-UV umschalten","action.toggle_autouv.desc":"Die Auto-UV-Einstellung der ausgew\xE4hlten Elemente umschalten","action.toggle_shade":"Schattierung umschalten","action.toggle_shade.desc":"Die Schattierung der ausgew\xE4hlten Elemente umschalten","action.rename":"Umbenennen","action.rename.desc":"Den Namen der ausgew\xE4hlten Elemente \xE4ndern","action.add_display_preset":"Neues Preset","action.add_display_preset.desc":"Ein neues Anzeige-Preset erstellen","action.fullscreen":"Vollbild","action.fullscreen.desc":"Vollbildmodus umschalten","action.zoom_in":"Ansicht vergr\xF6\xDFern","action.zoom_in.desc":"Ansicht der Benutzeroberfl\xE4che vergr\xF6\xDFern","action.zoom_out":"Ansicht verkleinern","action.zoom_out.desc":"Ansicht der Benutzeroberfl\xE4che verkleinern","action.zoom_reset":"Ansichtsgr\xF6\xDFe zur\xFCcksetzen","action.zoom_reset.desc":"Gr\xF6\xDFe der Ansicht zur\xFCcksetzen","action.reset_interface":"Benutzeroberfl\xE4che zur\xFCcksetzen","action.reset_interface.desc":"Setzt alle Gr\xF6\xDFen und Positionen der Benutzeroberfl\xE4che zur\xFCck","action.screenshot_model":"Modell aufnehmen","action.screenshot_model.desc":"Nimmt ein angepasstes Bildschirmfoto des Modells aus dem aktuellen Blickwinkel auf","action.screenshot_app":"Programm aufnehmen","action.screenshot_app.desc":"Nimmt ein Bildschirmfoto des gesamten Programms auf","action.import_texture":"Textur importieren","action.import_texture.desc":"Eine oder mehrere Texturen von deinem Computer \xF6ffnen","action.create_texture":"Textur erstellen","action.create_texture.desc":"Erstellt eine leere Textur oder ein Texturtemplate","action.save_textures":"Texturen speichern","action.save_textures.desc":"Speichert alle ungespeicherten Texturen","action.animated_textures":"Animierte Texturen","action.animated_textures.desc":"Spielt oder pausiert die Vorschau von animierten Texturen","action.origin_to_geometry":"Angelpunkt zentrieren","action.origin_to_geometry.desc":"Verschiebt den Angelpunkt zur Mitte der ausgew\xE4hlten Elemente","action.bone_reset_toggle":"Knochen zur\xFCcksetzen","action.bone_reset_toggle.desc":"Verhindert, dass der Knochen Elemente des Elternmodells anzeigt","action.reload":"Blockbench neu laden","action.reload.desc":"L\xE4dt Blockbench neu. Diese Aktion vernichtet alle ungespeicherten \xC4nderungen","menu.file":"Datei","menu.edit":"Bearbeiten","menu.transform":"Transformieren","menu.display":"Anzeige","menu.view":"Ansicht","menu.file.new":"Neu","menu.file.recent":"Zuletzt ge\xF6ffnet","menu.file.import":"Importieren","menu.file.export":"Exportieren","menu.transform.rotate":"Drehen","menu.transform.flip":"Spiegeln","menu.transform.center":"Zentrieren","menu.transform.properties":"Eigenschaften","menu.display.preset":"Preset anwenden","menu.display.preset_all":"Preset \xFCberall anwenden","menu.display.remove_preset":"Preset entfernen","menu.view.zoom":"Zoomen","menu.view.background":"Hintergrund","menu.view.screenshot":"Bildschirmfoto","menu.cube.color":"Kennzeichnungsfarbe","menu.cube.texture":"Textur","menu.cube.texture.transparent":"Transparent","menu.cube.texture.blank":"Leer","menu.group.sort":"Sortieren","menu.texture.face":"Auf Fl\xE4chen anwenden","menu.texture.file":"Datei","menu.texture.refresh":"Neu laden","menu.texture.change":"Quelldatei \xE4ndern","menu.texture.folder":"Speicherort \xF6ffnen","menu.texture.edit":"Extern bearbeiten","menu.texture.export":"Speichern unter","menu.texture.save":"Speichern","menu.texture.properties":"Eigenschaften ...","menu.preview.background":"Hintergrund","menu.preview.background.load":"Laden","menu.preview.background.position":"Positionieren","menu.preview.background.lock":"An Kamera anheften","menu.preview.screenshot":"Bildschirmfoto","menu.preview.perspective":"Blickwinkel","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Vierfachansicht","menu.preview.stop_drag":"Hintergrundpositionierung beenden","menu.uv.mapping.rotation":"Drehung","menu.uv.texture":"Textur","cube.color.light_blue":"Hellblau","cube.color.yellow":"Gelb","cube.color.orange":"Orange","cube.color.red":"Rot","cube.color.purple":"Violett","cube.color.blue":"Blau","cube.color.green":"Gr\xFCn","cube.color.lime":"Hellgr\xFCn","switches.visibility":"Sichtbarkeit","switches.export":"Exportieren","switches.autouv":"Auto-UV","panel.uv":"UV","panel.display":"Anzeigeeinstellungen","panel.textures":"Texturen","panel.outliner":"Outliner","uv_editor.title":"UV bearbeiten","uv_editor.all_faces":"Alle","uv_editor.no_faces":"Keine","face.north":"Norden","face.south":"S\xFCden","face.west":"Westen","face.east":"Osten","face.up":"Oben","face.down":"Unten","direction.north":"Norden","direction.south":"S\xFCden","direction.west":"Westen","direction.east":"Osten","direction.top":"Oben","direction.bottom":"Unten","display.slot.third_right":"Dritte Person rechts","display.slot.third_left":"Dritte Person links","display.slot.first_right":"Erste Person rechts","display.slot.first_left":"Erste Person Links","display.slot.head":"Kopf","display.slot.ground":"Boden","display.slot.frame":"Rahmen","display.slot.gui":"Inventar","display.rotation":"Rotation","display.translation":"Position","display.scale":"Gr\xF6\xDFe","display.slot":"Position","display.reference":"Referenzmodell","display.reference.player":"Spieler","display.reference.zombie":"Zombie","display.reference.armor_stand":"R\xFCstungsst\xE4nder","display.reference.baby_zombie":"Zombiekind","display.reference.armor_stand_small":"Kleiner R\xFCstungsst\xE4nder","display.reference.monitor":"Normal","display.reference.bow":"Gespannter Bogen","display.reference.block":"Block","display.reference.frame":"Rahmen","display.reference.inventory_nine":"3\xD73","display.reference.inventory_full":"Inventar","display.reference.hud":"Schnellzugriffsleiste","display.preset.blank_name":"Bitte gib einen Namen an","display.preset.item":"Standard-Gegenstand","display.preset.block":"Standard-Block","display.preset.handheld":"Standard-Waffe","display.preset.rod":"Standard-Stab","dialog.continue":"Fortfahren","message.square_textures":"Texturen m\xFCssen quadratisch sein","message.unsaved_texture.title":"Ungespeicherte Texturen","message.unsaved_texture.message":"Alle ungespeicherten \xC4nderungen an dieser Textur gehen dadurch verloren. M\xF6chtest du fortfahren?","action.vertex_snap_mode.move":"Verschieben","action.vertex_snap_mode.scale":"Gr\xF6\xDFe \xE4ndern","action.open_model_folder":"Modellordner \xF6ffnen","action.open_model_folder.desc":"\xD6ffnet den Ordner, in dem das Modell gespeichert ist","action.change_textures_folder":"Texturspeicherort \xE4ndern","action.change_textures_folder.desc":"Ver\xE4ndert den Speicherort aller Texturen","menu.texture.particle":"F\xFCr Partikel verwenden","message.update_notification.title":"Ein Update konnte nicht automatisch installiert werden","message.update_notification.message":"Eine neue Blockbench-Version ist verf\xFCgbar. Aktiviere \u201EAutomatische Updates\u201C in den Einstellungen, um sie herunterzuladen","message.untextured":"Diese Fl\xE4che hat keine Textur","dialog.toolbar_edit.title":"Werkzeugleiste anpassen","keybindings.reset":"Zur\xFCcksetzen","keybindings.clear":"Leeren","action.cube_counter":"Projekt-Statistiken","action.uv_rotation":"UV-Drehung","action.uv_rotation.desc":"Drehung des UV-Mapping","action.uv_grid":"UV-Raster","action.uv_grid.desc":"Die Aufl\xF6sung des Rasters, an das sich die UV-Auswahl heftet","action.uv_grid.auto":"Auto","action.uv_maximize":"UV maximieren","action.uv_maximize.desc":"Platziert die gesamte Textur auf der Fl\xE4che","action.uv_auto":"Auto-UV","action.uv_auto.desc":"Stellt die UV-Gr\xF6\xDFe dieser Fl\xE4che auf die wirkliche Gr\xF6\xDFe der Fl\xE4che","action.uv_rel_auto":"Relatives Auto-UV","action.uv_rel_auto.desc":"Stellt die UV-Auswahl auf die wirkliche Gr\xF6\xDFe und Position der Fl\xE4che","action.uv_mirror_x":"UV auf X spiegeln","action.uv_mirror_x.desc":"Spiegelt die UV-Auswahl dieser Fl\xE4che auf der X-Achse","action.uv_mirror_y":"UV auf Y spiegeln","action.uv_mirror_y.desc":"Spiegelt die UV-Auswahl dieser Fl\xE4che auf der Y-Achse","action.uv_transparent":"Fl\xE4che entfernen","action.uv_transparent.desc":"Macht die aktuelle Fl\xE4che transparent","action.uv_reset":"Fl\xE4che zur\xFCcksetzen","action.uv_reset.desc":"Setzt die aktuelle Fl\xE4che zur\xFCck","action.cullface":"Cullface","action.cullface.desc":"Blendet diese Fl\xE4che aus, wenn die ausgew\xE4hlte Seite des Modells bedeckt ist","action.auto_cullface":"Auto-Cullface","action.auto_cullface.desc":"Setzt das Cullface dieser Fl\xE4che auf sich selbst","action.face_tint":"F\xE4rbung","action.face_tint.desc":"Aktiviert die F\xE4rben-Option dieser Fl\xE4che","menu.toolbar.edit":"Anpassen","menu.toolbar.reset":"Zur\xFCcksetzen","uv_editor.rotated":"Gedreht","uv_editor.auto_cull":"Cullface","uv_editor.copied":"Fl\xE4che kopiert","uv_editor.pasted":"Fl\xE4che eingef\xFCgt","uv_editor.copied_x":"%0 Fl\xE4chen kopiert","uv_editor.reset":"Fl\xE4che zur\xFCckgesetzt","uv_editor.maximized":"Maximiert","uv_editor.autouv":"Auto-Gr\xF6\xDFe","uv_editor.mirrored":"Gespiegelt","uv_editor.to_all":"Auf alle Fl\xE4chen angewendet","uv_editor.transparent":"Transparent gemacht","uv_editor.cullface_on":"Cullface an","uv_editor.cullface_off":"Cullface aus","uv_editor.tint_on":"F\xE4rbung an","uv_editor.tint_off":"F\xE4rbung aus","action.uv_apply_all":"Auf alle Fl\xE4chen anwenden","action.uv_apply_all.desc":"Kopiert die Daten der aktuellen Fl\xE4che auf alle Fl\xE4chen","message.image_editor_missing.title":"Standard Bildbearbeitungsprogramm","message.image_editor_missing.message":"W\xE4hle die Programmdatei deines Bildbearbeitungsprogramms","message.image_editor_missing.detail":"Blockbench konnte kein Bildbearbeitungsprogramm auf deinem Computer finden. W\xE4hle die Programmdatei eines Bildbearbeitungsprogramms aus.","action.update_autouv":"Auto-UV berechnen","action.update_autouv.desc":"Berechnet das automatische UV-Mapping f\xFCr die ausgew\xE4hlten Elemente neu","category.uv":"UV","status_bar.saved":"Modell ist gespeichert","status_bar.unsaved":"Es gibt ungespeicherte \xC4nderungen","action.move_up":"Hoch verschieben","action.move_up.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach oben","action.move_down":"Runter verschieben","action.move_down.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach unten","action.move_left":"Links verschieben","action.move_left.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach links","action.move_right":"Rechts verschieben","action.move_right.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach rechts","action.move_forth":"Nach vorne verschieben","action.move_forth.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach vorne","action.move_back":"Nach hinten verschieben","action.move_back.desc":"Verschiebt die ausgew\xE4hlten Elemente relativ zur Kameraperspektive nach hinten","layout.color.wireframe":"Drahtgitter","layout.color.wireframe.desc":"Drahtgitterlinien","action.add_animation":"Animation hinzuf\xFCgen","action.add_animation.desc":"F\xFCgt eine neue Animation hinzu","action.load_animation_file":"Animation importieren","action.load_animation_file.desc":"\xD6ffnet eine Animationsdatei","action.play_animation":"Animation abspielen","action.play_animation.desc":"Spielt die ausgew\xE4hlte Animation ab","action.slider_keyframe_time":"Zeitpunkt","action.slider_keyframe_time.desc":"Den Zeitpunkt des Keyframes verschieben","timeline.rotation":"Drehung","timeline.position":"Position","timeline.scale":"Gr\xF6\xDFe","menu.keyframe.quaternion":"Quaternion","panel.animations":"Animationen","panel.keyframe":"Keyframe","panel.keyframe.type":"Keyframe (%0)","generic.delete":"L\xF6schen","generic.rename":"Umbenennen","message.no_animation_selected":"Du musst zuerst eine Animation ausw\xE4hlen","message.no_bone_selected":"Du musst zuerst einen Bone ausw\xE4hlen","message.duplicate_groups.title":"Bone-Name doppelt","message.duplicate_groups.message":"Der Name dieses Bones kommt mehrfach vor. Dies kann Probleme verursachen.","action.delete_keyframes":"Keyframes l\xF6schen","action.delete_keyframes.desc":"L\xF6scht alle ausgew\xE4hlten Keyframes","menu.animation":"Animation","menu.animation.loop":"Schleifenmodus","menu.animation.override":"\xDCberschreiben","menu.animation.anim_time_update":"Updatevariable","message.display_skin_model.title":"Skinmodell","message.display_skin_model.message":"W\xE4hle das Modell f\xFCr diesen Skin","message.display_skin_model.classic":"Klassisch","message.display_skin_model.slim":"Schlank","message.bone_material":"Bone-Material ver\xE4ndern","action.slider_animation_length":"Animationsl\xE4nge","action.slider_animation_length.desc":"Ver\xE4ndert die L\xE4nge der ausgew\xE4hlten Animation","panel.variable_placeholders":"Variablen-Platzhalter","panel.variable_placeholders.info":"Gib die Variablen der Animation an, f\xFCr die du eine Vorschau brauchst, als Name=Wert","status_bar.vertex_distance":"Entfernung: %0","dialog.create_gif.title":"GIF aufzeichnen","dialog.create_gif.length":"L\xE4nge","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Animation starten","category.animation":"Animation","action.record_model_gif":"GIF aufzeichnen ...","action.record_model_gif.desc":"Zeichne ein animiertes GIF des Modells aus der aktuellen Perspektive auf","display.mirror":"Spiegeln","data.separator":"Trenner","menu.preview.background.set_position":"Position festlegen","dialog.toolbar_edit.hidden":"Ausgeblendet","action.export_class_entity":"Java-Entity exportieren","action.export_class_entity.desc":"Exportiert das Modell als Java-Klasse.","settings.seethrough_outline":"Durchscheinende Auswahl","settings.seethrough_outline.desc":"Zeige Auswahl durch Objekte hindurch an","mode.edit":"Modellieren","mode.paint":"Malen","mode.display":"Vorschau","mode.animate":"Animieren","status_bar.recording_gif":"GIF wird aufgezeichnet","status_bar.processing_gif":"GIF wird verarbeitet","settings.backup_retain":"Sicherungskopien-Speicherdauer","settings.backup_retain.desc":"Festlegen, f\xFCr wie viele Tage Blockbench alte Sicherungskopien speichert","action.rotate_tool":"Drehen","action.rotate_tool.desc":"Werkzeug zum Ausw\xE4hlen und Drehen von Elementen","action.fill_tool":"Farbeimer","action.fill_tool.desc":"Farbeimer zum einfarbigen Ausf\xFCllen von Oberfl\xE4chen","action.eraser":"Radiergummi","action.eraser.desc":"Radiergummi zum Ersetzen der Farben durch Transparenz","action.color_picker":"Farbpipette","action.color_picker.desc":"W\xE4hlt die Farbe eines Pixels der Textur aus.","switches.mirror":"UV spiegeln",language_name:"Deutsch","message.plugin_reload":"%0 lokale Plugins wurden neugeladen","settings.brightness":"Helligkeit","settings.brightness.desc":"Helligkeit der Vorschau. Standardwert ist 50","menu.preview.perspective.reset":"Kamera zur\xFCcksetzen","action.fill_mode":"F\xFCllmodus","action.fill_mode.face":"Fl\xE4che","action.fill_mode.color":"Farbe","action.toggle_mirror_uv":"UV spiegeln","action.toggle_mirror_uv.desc":"UV-Mapping der ausgew\xE4hlten Quader auf der X-Achse spiegeln.","menu.texture.blank":"Auf leere Fl\xE4chen anwenden","dialog.scale.select_overflow":"\xDCberstehendes ausw\xE4hlen","action.action_control":"Kommandozentrale","action.action_control.desc":"Suche und benutze jede verf\xFCgbare Aktion","keybindings.recording":"Tastenkombination wird aufgezeichnet","keybindings.press":"Dr\xFCcke eine Taste bzw. Tastenkombination oder klicke auf den Bildschirm, um eine Tastenkombination aufzuzeichnen.","action.pivot_tool":"Angelpunktwerkzeug","action.pivot_tool.desc":"Werkzeug zum Bearbeiten des Angelpunktes","action.slider_animation_speed":"Wiedergabegeschwindigkeit","action.slider_animation_speed.desc":"Wiedergabegeschwindigkeit der Timeline in Prozent","action.previous_keyframe":"Vorheriger Keyframe","action.previous_keyframe.desc":"Springe zum vorherigen Keyframe","action.next_keyframe":"N\xE4chster Keyframe","action.next_keyframe.desc":"Springe zum n\xE4chsten Keyframe","message.outdated_client.title":"Version veraltet","message.outdated_client.message":"Bitte update auf die neuste Version von Blockbench","action.export_asset_archive":"ZIP-Ordner herunterladen","action.export_asset_archive.desc":"L\xE4dt ein Archiv mit dem Modell und allen ben\xF6tigten Texturen herunter","action.upload_sketchfab":"Teilen auf Sketchfab","message.sketchfab.name_or_token":"Bitte gib deinen Sketchfab-Schl\xFCssel und einen Namen ein","dialog.sketchfab_uploader.title":"Modell auf Sketchfab hochladen","dialog.sketchfab_uploader.token":"API-Schl\xFCssel","dialog.sketchfab_uploader.about_token":"Der Schl\xFCssel wird ben\xF6tigt, um Blockbench mit deinem Sketchfab-Account zu verbinden. Du findest ihn unter %0","dialog.sketchfab_uploader.name":"Name","dialog.sketchfab_uploader.description":"Beschreibung","dialog.sketchfab_uploader.tags":"Tags","settings.sketchfab_token":"Sketchfab-Schl\xFCssel","settings.sketchfab_token.desc":"Schl\xFCssel, der Blockbench erlaubt, Modelle auf Sketchfab hochzuladen","panel.color":"Farbauswahl","data.origin":"Angelpunkt","message.sketchfab.success":"Modell erfolgreich hochgeladen","message.sketchfab.error":"Upload auf Sketchfab fehlgeschlagen","settings.outliner_colors":"Outliner-Farben","settings.outliner_colors.desc":"Farben von Elementen und Gruppen im Outliner anzeigen","action.upload_sketchfab.desc":"Modell auf Sketchfab hochladen","action.element_colors":"Elementfarben","action.element_colors.desc":"Elementfarben im Outliner anzeigen","texture.error.file":"Datei nicht gefunden","texture.error.parent":"Textur durch Elternmodell","message.recover_backup.title":"Projekte wiederherstellen","message.recover_backup.message":"Blockbench wurde ohne zu speichern geschlossen. M\xF6chtest du das Modell wiederherstellen?","message.invalid_session.title":"Ung\xFCltiger Schl\xFCssel","message.invalid_session.message":"Die Session ist abgelaufen oder der angegebene Schl\xFCssel ist ung\xFCltig","dialog.create_texture.power":"Zweierpotenzgr\xF6\xDFe","dialog.create_gif.turn":"Drehgeschwindigkeit","action.edit_session":"Zusammenarbeiten ...","action.edit_session.desc":"Mit einer Session verbinden, um mit anderen zusammenzuarbeiten","action.reset_keyframe":"Keyframe zur\xFCcksetzen","action.reset_keyframe.desc":"Alle Werte der ausgew\xE4hlten Keyframes zur\xFCcksetzen","dialog.edit_session.title":"Zusammenarbeiten","edit_session.username":"Name","edit_session.token":"Schl\xFCssel","edit_session.about":"Mit Sessions kann \xFCber das Internet zusammen an Modellen gearbeitet werden. Erstelle eine Session, kopiere den Schl\xFCssel und schicke ihn an Freunde. Diese k\xF6nnen damit deiner Session beitreten.","edit_session.join":"Session beitreten","edit_session.create":"Session erstellen","edit_session.quit":"Session verlassen","edit_session.joined":"%0 ist der Session beigetreten","edit_session.left":"%0 hat die Session verlassen","edit_session.quit_session":"Session verlassen","edit_session.status":"Status","edit_session.hosting":"Eine Session betreibend","edit_session.connected":"Mit Session verbunden","dialog.sketchfab_uploader.private":"Privat (Pro)","dialog.sketchfab_uploader.password":"Passwort (Pro)","action.uv_select_all":"Alle ausw\xE4hlen","action.uv_select_all.desc":"Alle Oberfl\xE4chen im UV-Dialog ausw\xE4hlen","panel.chat":"Chat","edit_session.welcome":"Willkommen in der Sitzung von %0","dialog.yes":"Ja","dialog.no":"Nein","generic.remove":"Entfernen","generic.download":"Herunterladen","generic.search":"Suchen","dates.today":"Heute","dates.yesterday":"Gestern","dates.this_week":"Diese Woche","dates.weeks_ago":"Vor %0 Wochen","mode.start.new":"Neu","mode.start.recent":"Zuletzt verwendet","format.free":"Generisches Modell","format.free.desc":"Unbeschr\xE4nktes Modell f\xFCr Unity o.\xC4.","format.java_block":"Java-Item/-Block","format.java_block.desc":"Blockmodell f\xFCr Java Edition. Gr\xF6\xDFe und Rotationen sind begrenzt.","format.bedrock":"Bedrock-Entity","format.bedrock.desc":"Modell f\xFCr die Bedrock Edition","format.bedrock_old":"Bedrock-Modell (veraltet)","format.bedrock_old.desc":"Modell f\xFCr Minecraft Bedrock Edition vor 1.12","format.modded_entity":"Entitymodell f\xFCr Mods","format.modded_entity.desc":"Entitymodell f\xFCr Minecraft-Mods, kann als .java-Klasse exportiert werden","format.optifine_entity":"OptiFine-Entity","format.optifine_entity.desc":"Entitymodell f\xFCr die OptiFine-Mod","keys.mouse":"Maustaste %0","message.cleared_blank_faces.title":"Leere Fl\xE4chen","message.cleared_blank_faces.message":"Blockbench hat %0 Elemente ohne Textur gefunden. M\xF6chtest du diese Elemente l\xF6schen?","message.wireframe.enabled":"Drahtgitteransicht aktiviert","message.wireframe.disabled":"Drahtgitteransicht deaktiviert","dialog.convert_project.title":"Projekt konvertieren","dialog.create_texture.double_use":"Mehrfachbelegung beibehalten","dialog.model_stats.title":"Modellstatistiken","dialog.model_stats.cubes":"Quader","dialog.model_stats.locators":"Locator","dialog.model_stats.groups":"Gruppen","dialog.model_stats.vertices":"Eckpunkte","dialog.model_stats.faces":"Fl\xE4chen","settings.username":"Benutzername","settings.username.desc":"Benutzername f\xFCr Edit Sessions","settings.painting_grid":"Malgitter","settings.painting_grid.desc":"Im Malmodus Gitter auf Texturen anzeigen","action.convert_project":"Projekt konvertieren","action.convert_project.desc":"Konvertiert das Project in ein anderes Format","action.close_project":"Projekt schlie\xDFen","action.close_project.desc":"Schlie\xDFt das momentan ge\xF6ffnete Projekt","action.export_bedrock":"Bedrock Modell exportieren","action.export_bedrock.desc":"Exportiert das Modell als Geometry-Datei f\xFCr die Bedrock Edition","action.save_project":"Projekt speichern","action.save_project.desc":"Speichert das Modell als Projektdatei","action.save_project_as":"Projekt speichern als","action.save_project_as.desc":"Speichert das Modell als Projektdatei an einem neuen Ort","action.export_over":"Modell \xFCberschreiben","action.export_over.desc":"Exportiert Modell, Texturen und Animationen durch \xDCberschreiben der Dateien","action.add_locator":"Locator hinzuf\xFCgen","action.add_locator.desc":"F\xFCgt einen Locator hinzu, der die Position von Partikeln, Leinen usw. festlegt","action.uv_turn_mapping":"UV-Auswahl drehen","action.uv_turn_mapping.desc":"Dreht die UV-Auswahl um 90 Grad","action.remove_blank_faces":"Leere Fl\xE4chen entfernen","action.remove_blank_faces.desc":"Entfernt alle ausgew\xE4hlten Fl\xE4chen, die keine Textur haben","web.download_app":"App herunterladen","uv_editor.turned":"UV gedreht","display.reference.crossbow":"Gespannte Armbrust","dialog.settings.search_results":"Suchergebnisse","settings.animation_snap":"Keyframerate","settings.animation_snap.desc":"Interval der Positionen, an denen sich Keyframes in der Timeline platzieren lassen","action.import_optifine_part":"OptiFine-Part importieren","action.import_optifine_part.desc":"Importiere ein Part-Modell als Teil eines OptiFine-Entity-Modells","data.locator":"Locator","mode.start.no_recents":"Keine zuletzt verwendeten Modelle","panel.element":"Element","panel.element.position":"Position","panel.element.size":"Gr\xF6\xDFe","panel.element.origin":"Angelpunkt","panel.element.rotation":"Rotation","message.canvas_limit_error.title":"Begrenzungsfehler","message.canvas_limit_error.message":"Die Aktion konnte nicht korrekt durchgef\xFChrt werden, weil das Format das Modell auf einen Bereich von 48 Einheiten beschr\xE4nkt. Verschiebe den Angelpunkt, um das zu verhindern.","data.effect":"Effekt","generic.name":"Name","settings.recent_projects":"Zuletzt-verwendet-Maximum","settings.recent_projects.desc":"Maximale Anzahl an zuletzt verwendeten Modellen, die angezeigt werden","settings.volume":"Lautst\xE4rke","settings.volume.desc":"Lautst\xE4rke f\xFCr Soundeffekte in Animationen","action.clear_timeline":"Timeline aufr\xE4umen","action.clear_timeline.desc":"R\xE4umt alle nicht ausgew\xE4hlten Animatoren aus der Timeline","action.select_effect_animator":"Effekte bearbeiten","action.select_effect_animator.desc":"\xD6ffnet eine Timeline zur Bearbeitung von Sounds und Partikeln","action.timeline_focus":"Kan\xE4le filtern","action.timeline_focus.desc":"W\xE4hle den Animationskanal, der in der Timeline angezeigt wird","timeline.particle":"Partikel","timeline.sound":"Sound","timeline.effects":"Effekte","data.format":"Format","format.optifine_part":"OptiFine-Part","format.optifine_part.desc":"JPM-Part f\xFCr OptiFine-Entitymodelle","action.reverse_keyframes":"Keyframes umkehren","action.reverse_keyframes.desc":"Kehrt die Reihenfolge der ausgew\xE4hlten Keyframes um","generic.help":"Hilfe","message.removed_faces":"%0 Fl\xE4chen entfernt","dialog.sketchfab_uploader.draft":"Entwurf","action.slider_pos":"%0-Position","action.slider_pos.desc":"Elemente auf der %0-Achse verschieben","action.slider_size":"%0-Gr\xF6\xDFe","action.slider_size.desc":"Gr\xF6\xDFe auf der %0-Achse ver\xE4ndern","action.slider_rotation":"%0-Drehung","action.slider_rotation.desc":"Elemente auf der %0-Achse drehen","action.slider_origin":"%0-Angelpunkt","action.slider_origin.desc":"Angelpunkt auf der %0-Achse verschieben","action.rotate_cw":"%0 um +90 drehen","action.rotate_cw.desc":"Die ausgew\xE4hlten Elemente um 90\xB0 auf der %0-Achse drehen","action.rotate_ccw":"%0 um -90 drehen","action.rotate_ccw.desc":"Die ausgew\xE4hlten Elemente um -90\xB0 auf der %0-Achse drehen","action.flip":"%0 spiegeln","action.flip.desc":"Spiegelt die ausgew\xE4hlten Elemente auf der %0-Achse","action.center":"%0 zentrieren","action.center.desc":"Zentriert die ausgew\xE4hlten Elemente auf der %0-Achse","action.bring_up_all_animations":"Alle ver\xE4nderten Animatoren in der Timeline anzeigen","panel.bone":"Bone","data.color":"Farbe","generic.export":"Export","generic.none":"Keine","status_bar.recording":"Zeitraffer wird aufgezeichnet","message.add_to_palette":"Zur Palette hinzugef\xFCgt","message.size_modifiers":"Halte Steuerung oder Umschalt, um Objekte in kleineren Abst\xE4nden zu bewegen","message.timelapse_start":"Zeitrafferaufnahme angefangen","message.timelapse_stop":"Zeitrafferaufnahme beendet","message.import_palette.replace_palette":"Alte Palette ersetzen","message.import_palette.threshold":"Schwellenwert","dialog.timelapse.interval":"Intervall (Sekunden)","dialog.timelapse.source":"Quelle","dialog.timelapse.source.interface":"Programm","dialog.timelapse.source.locked":"Feste Perspektive","dialog.timelapse.destination":"Zielordner","layout.color.checkerboard":"Schachbrettmuster","layout.color.checkerboard.desc":"Hintergrund von Vorschau und UV-Fenster","layout.font.code":"Code-Schriftart","layout.css":"Eigenes CSS","settings.category.paint":"Malen","settings.deactivate_size_limit":"Gr\xF6\xDFenbegrenzung deaktivieren","settings.deactivate_size_limit.desc":"Deaktiviert die Gr\xF6\xDFenbegrenzung","settings.brush_opacity_modifier":"Pinseldeckkraft-Modifikator","settings.brush_opacity_modifier.desc":"Beeinflusse die Deckkraft des Pinsels bei Benutzung von einem Stylus","settings.brush_size_modifier":"Pinselgr\xF6\xDFe-Modifikator","settings.brush_size_modifier.desc":"Beeinflusse die Gr\xF6\xDFe des Pinsels bei Benutzung von einem Stylus","settings.brush_modifier.pressure":"Druck","settings.brush_modifier.tilt":"Neigung","category.color":"Farbe","action.import_theme":"Farbschema importieren","action.export_theme":"Farbschema exportieren","action.export_theme.desc":"Ein Farbschema aus den aktuellen Einstellungen erstellen","action.slider_color_h":"Farbton","action.slider_color_s":"S\xE4ttigung","action.slider_color_v":"Wert","action.add_to_palette":"Zur Palette hinzuf\xFCgen","action.add_to_palette.desc":"Die ausgew\xE4hlte Farbe zur Palette hinzuf\xFCgen","action.import_palette":"Palette importieren","action.import_palette.desc":"Eine Farbpalette aus einer Datei importieren","action.export_palette":"Palette exportieren","action.export_palette.desc":"Exportiert die Palette als eine .GPL-Datei","action.generate_palette":"Palette generieren ...","action.generate_palette.desc":"Erstellt eine Palette aus einer Textur","action.sort_palette":"Palette sortieren","action.sort_palette.desc":"Sortiert alle Farben der Palette nach Farbton und Helligkeit","action.timelapse":"Zeitraffer ...","action.timelapse.desc":"Zeichnet eine Zeitrafferaufnahme von der Benutzung von Blockbench auf","action.add_keyframe":"Keyframe hinzuf\xFCgen","action.add_keyframe.desc":"F\xFCgt einen Keyframe hinzu. Halte Umschalt gedr\xFCckt, um die Werte zur\xFCckzusetzen","action.bring_up_all_animations.desc":"Listet alle verwendeten Animatoren in der Timeline auf","timeline.timeline":"Anweisungen","menu.palette.load.default":"Standard","generic.import":"Importieren","settings.brush_modifier.none":"Unbelegt","action.export_entity":"Bedrock-Entitymodell exportieren","action.export_entity.desc":"Exportiert das Modell als ein Bedrock-Entitymodell","settings.highlight_cubes":"Elemente hervorheben","settings.highlight_cubes.desc":"Elemente erscheinen heller, wenn man die Maus \xFCber sie bewegt oder sie ausw\xE4hlt","action.add_marker":"Marker setzen","action.add_marker.desc":"Setzt einen Marker in der Timeline","timeline.pre_effect_script":"Skript","format.skin":"Minecraft Skin","format.skin.desc":"Bearbeite Spielerskins und Entity-Texturen","message.sketchfab.setup_guide":"Finde heraus, wie du Modelle auf Sketchfab einrichtest: %0","dialog.skin.title":"Minecraft-Skin erstellen","dialog.skin.model":"Modell","action.toggle_skin_layer":"Zweite Skin-Schicht umschalten","action.toggle_skin_layer.desc":"Aktiviert / Deaktiviert die Hut- und Kleidungsebene","action.gui_light":"Inventarbeleuchtung","action.gui_light.desc":"W\xE4hle die Art der Beleuchtung des Gegenstands im Inventar","action.gui_light.side":"Seitliches Licht","action.gui_light.front":"Frontales Licht","action.move_keyframe_back":"Keyframe zur\xFCck bewegen","action.move_keyframe_forth":"Keyframe vorw\xE4rts bewegen","menu.help":"Hilfe","menu.help.discord":"Discord-Server","menu.help.report_issue":"Einen Bug melden","menu.help.plugin_documentation":"Plugin-API-Dokumentation","menu.help.search_action":"Befehl suchen und ausf\xFChren","menu.help.donate":"Spenden","menu.help.about":"\xDCber ...","menu.preview.background.clipboard":"Aus Zwischenablage laden","dialog.ignore":"Ignorieren","generic.unset":"(Keine)","message.invalid_builtin_parent.title":"Ung\xFCltiges Elternmodell","message.invalid_builtin_parent.message":"Die Referenz auf das ung\xFCltige Elternmodell \u201E%0\u201C wurde entfernt, um ein funktionierendes Modell zu speichern.","dialog.resize_texture.fill":"F\xFCllen mit","dialog.resize_texture.fill.transparent":"Transparenz","dialog.resize_texture.fill.color":"Farbe","dialog.resize_texture.fill.repeat":"Wiederholen","dialog.scale.element_pivot":"Angelpunkt","dialog.scale.selection_center":"Mittelpunkt der Auswahl","dialog.create_gif.length_mode":"L\xE4ngenmodus","dialog.create_gif.length_mode.seconds":"Sekunden","dialog.create_gif.length_mode.frames":"Frames","dialog.create_gif.length_mode.animation":"Animationsl\xE4nge","dialog.create_gif.length_mode.turntable":"Umdrehung","dialog.save_angle.projection":"Projektion","dialog.save_angle.projection.perspective":"Perspektivisch","dialog.save_angle.projection.orthographic":"Parallel","dialog.sketchfab_uploader.animations":"Animationen","dialog.settings.theme":"Farbschema","settings.category.interface":"Benutzeroberfl\xE4che","settings.preview_checkerboard":"Vorschau-Schachbrettmuster","settings.preview_checkerboard.desc":"Aktiviert das Schachbrettmuster hinter der 3D-Vorschau","settings.uv_checkerboard":"UV-Fenster-Schachbrettmuster","settings.uv_checkerboard.desc":"Aktiviert das Schachbrettmuster hinter dem UV-Fenster","category.paint":"Malen","action.fill_mode.color_connected":"Verbundene Farben","action.draw_shape_type":"Form","action.draw_shape_type.rectangle":"Rechteck","action.draw_shape_type.rectangle_h":"Rechteck (Hohl)","action.draw_shape_type.ellipse":"Ellipse","action.draw_shape_type.ellipse_h":"Ellipse (Hohl)","action.draw_shape_type.line":"Linie","action.mirror_painting":"Gespiegelt Malen","action.mirror_painting.description":"Spiegelt alle Pinselstriche auf die andere Seite des Modells","action.lock_alpha":"Transparenzkanal sperren","action.lock_alpha.description":"Sperrt die Transparenz aller Pixel","action.draw_shape_tool":"Form zeichnen","action.draw_shape_tool.desc":"Werkzeug zum Zeichnen einfacher Formen","action.export_gltf":"glTF-Modell exportieren","action.export_gltf.desc":"Exportiert das Modell und die Animationen als glTF-Datei, zur Weiterverwendung in anderen 3D-Programmen","action.transform_space":"Transformationsraum","action.transform_space.desc":"Raum, in dem Elemente bewegt werden","action.transform_space.global":"Global","action.transform_space.local":"Lokal","action.toggle_camera_projection":"Kameraprojektion umschalten","action.toggle_camera_projection.desc":"Schaltet die Kameraprojektion zwischen perspektivisch und parallel um","action.load_camera_angle":"Kamerablickwinkel: %s","action.load_camera_angle.desc":"Den Kamerablickwinkel \u201E%0\u201C laden","action.slider_face_tint":"F\xE4rbungsindex","action.slider_face_tint.desc":"Legt den F\xE4rbungsindex f\xFCr die ausgew\xE4hlten Fl\xE4chen fest. -1 entspricht keiner F\xE4rbung.","menu.help.quickstart":"Schnellstartassistent","menu.help.developer":"Entwickler","menu.help.developer.dev_tools":"Entwicklerwerkzeuge \xF6ffnen","menu.help.developer.reset_storage":"Auf Werkseinstellungen zur\xFCcksetzen","menu.help.developer.reset_storage.confirm":"Bist du dir sicher, dass du Blockbench auf Werkseinstellungen zur\xFCcksetzen m\xF6chtest? Der Vorgang wird alle Benutzereinstellungen und Plugins zur\xFCcksetzen.","menu.help.developer.cache_reload":"Cache neu laden","menu.preview.orthographic":"Parallel","menu.preview.save_angle":"Blickwinkel speichern ...","menu.preview.angle":"Blickwinkel","menu.preview.angle.initial":"Standardblickwinkel","menu.preview.maximize":"Maximieren","uv_editor.copy_selection":"Auswahl kopieren","uv_editor.paste_selection":"Auswahl einf\xFCgen","uv_editor.copy_paste_tool.place":"Platzieren","uv_editor.copy_paste_tool.mirror_x":"Spiegeln (X)","uv_editor.copy_paste_tool.mirror_y":"Spiegeln (Y)","uv_editor.copy_paste_tool.rotate":"Um 90 Grad drehen","dialog.project.modded_entity_version":"Exportversion","dialog.save_angle.position":"Kameraposition","dialog.save_angle.target":"Zielpunkt","dialog.skin.pose":"Pose","layout.color.frame":"Fensterrahmen","layout.color.frame.desc":"Rand und Titelleiste des Fensters","settings.large_grid_size":"Blockgitter-Gr\xF6\xDFe","settings.large_grid_size.desc":"Die Gr\xF6\xDFe des Blockgitters","action.load_plugin_from_url":"Plugin aus URL laden","action.load_plugin_from_url.desc":"Ein Plugin von einen Server laden durch die Eingabe der URL","action.cube_counter.desc":"Zeigt die aktuelle Anzahl an Elementen und andere Statistiken an","action.unlock_everything":"Alle entsperren","action.unlock_everything.desc":"Entsperrt alle Gruppen und Elemente im Outliner","action.load_palette":"Palette laden","action.load_palette.desc":"Eine der mitgelieferten oder gespeicherten Paletten laden","action.toggle_locked":"Sperren/Entsperren","action.toggle_locked.desc":"Sperrt oder entsperrt das Objekt","action.apply_display_preset":"Vorlage anwenden","action.apply_display_preset.desc":"Wendet eine Display-Settings-Vorlage an","action.apply_display_preset.here":"Auf ausgew\xE4hlte Position anwenden","action.apply_display_preset.everywhere":"Auf alle Positionen anwenden","action.resolve_keyframe_expressions":"Keyframe ausrechnen","action.resolve_keyframe_expressions.desc":"Rechnet die mathematischen Ausdr\xFCcke eines Keyframes aus, um sie in Zahlen umzuwandeln","action.fold_all_animations":"Alle Animatoren einklappen","menu.palette.load.empty":"Leer","switches.lock":"Sperren","settings.render_sides":"Sichtbare Seiten","settings.render_sides.desc":"Ausw\xE4hlen, welche Seiten einer Fl\xE4che gerendert werden","settings.render_sides.auto":"Automatisch","settings.render_sides.front":"Au\xDFen","settings.render_sides.double":"Innen und Au\xDFen","generic.enable":"Aktivieren","generic.disable":"Deaktivieren","generic.redacted":"Verdeckt","dialog.select_texture.import_all":"Alle importieren","dialog.skin.layer_template":"\xC4u\xDFere Texturen","about.version.up_to_date":"Auf dem neusten Stand","about.version.update_available":"Version %0 ist verf\xFCgbar","settings.category.application":"Anwendung","settings.streamer_mode":"Streamer-Modus","settings.streamer_mode.desc":"Verdeckt sensible Informationen wie zuletzt verwendete Modelle","settings.automatic_updates":"Automatische Updates","settings.automatic_updates.desc":"Neue Versionen automatisch installieren und Blockbench auf dem neusten Stand halten","action.rotation_space":"Rotationsraum","action.focus_on_selection":"Ansicht auf Auswahl ausrichten","action.focus_on_selection.desc":"Zentriert die Kamera auf die aktuelle Auswahl","action.jump_to_timeline_start":"Zum Anfang springen","action.jump_to_timeline_end":"Zum Ende springen","menu.help.updating":"Aktualisiere (%0%)","menu.help.update_failed":"Update fehlgeschlagen","menu.animation.loop.once":"Einmalig abspielen","menu.animation.loop.hold":"Letzten Frame halten","menu.animation.loop.loop":"Schleife","interface.streamer_mode_on":"Streamer-Modus aktiviert","generic.reset":"Zur\xFCcksetzen","generic.restore":"Wiederherstellen","keys.mousewheel":"Mausrad","message.delete_animation.title":"Animation l\xF6schen","message.delete_animation.message":"Die Animation wurde aus Blockbench entfernt. M\xF6chtest du die Animation auch aus der Datei l\xF6schen, in der sie gespeichert war?","message.no_animation_to_import":"Keine Animationen zum importieren","dialog.material_instances.title":"Materialien","dialog.animation_import.title":"Animationen zum Import ausw\xE4hlen","dialog.create_texture.padding":"Zwischenraum","settings.fov":"Sichtfeld","settings.fov.desc":"Kamera-Sichtfeld. Der Standardwert ist 45","settings.minify_bbmodel":"Reduzierte Projektdateien","settings.minify_bbmodel.desc":"Projektdateien werden in einer Zeile ohne Formatierung gespeichert","action.edit_material_instances":"Materialien bearbeiten","action.edit_material_instances.desc":"Die Materialien f\xFCr Bedrock Bl\xF6cke bearbeiten","action.save_all_animations":"Alle Animationen speichern","action.save_all_animations.desc":"Alle im Programm geladenen Animationen speichern","action.keyframe_interpolation":"Interpolation","action.keyframe_interpolation.desc":"Den Interpolationsmodus der Keyframes einstellen","action.keyframe_interpolation.linear":"Linear","action.keyframe_interpolation.catmullrom":"Weich","action.timeline_focus.hide_empty":"Nicht belegte Kan\xE4le ausblenden","menu.file.preferences":"Einstellungen","menu.animation.blend_weight":"Mischwert","menu.animation.save":"Speichern","menu.animation.properties":"Eigenschaften ...","menu.animation.file":"Datei","menu.animation.snapping":"Einrastintervall","menu.animation.open_location":"Speicherort \xF6ffnen","panel.keyframe.add_data_point":"Datenpunkt zum Keyframe hinzuf\xFCgen","panel.keyframe.remove_data_point":"Datenpunkt entfernen","panel.keyframe.pre":"Vorher","panel.keyframe.post":"Nachher","generic.all":"Alle","message.small_face_dimensions.title":"Fl\xE4chengr\xF6\xDFe nicht kompatibel","message.small_face_dimensions.message":"Die Auswahl enth\xE4lt Fl\xE4chen, deren Gr\xF6\xDFe weniger als eine L\xE4ngeneinheit betr\xE4gt. Das Box-UV-System betrachtet alle Fl\xE4chen unterhalb dieser Schwelle als 0 Pixel gro\xDF. Deshalb k\xF6nnten einige Fl\xE4chen nicht richtig angezeigt werden.","message.small_face_dimensions.face_uv":"Das aktuelle Format unterst\xFCtzt UV-Maps f\xFCr einzelne Fl\xE4chen. Dadurch werden kleinere Fl\xE4chen unterst\xFCtzt. Gehe zu \u201EDatei\u201C > \u201EProjekt ...\u201C und stell \u201EUV-Modus\u201C auf \u201EFl\xE4chen-UV\u201C.","dialog.plugins.outdated_client":"Setzt eine neuere Blockbench-version voraus","dialog.plugins.outdated_plugin":"Plugin ist veraltet und funktioniert nicht mit dieser Version von Blockbench","settings.motion_trails":"Bewegungspfade","settings.motion_trails.desc":"Blendet Bewegungspfade im Animationsfenster ein","settings.antialiasing":"Kantengl\xE4ttung","settings.antialiasing.desc":"Aktiviere Kantengl\xE4ttung (Anti-Aliasing). \xC4nderungen werden erst nach Neustarten von Blockbench aktiv","action.timeline_frame_back":"Springe 1 Frame zur\xFCck","action.timeline_frame_forth":"Springe 1 Frame weiter","panel.bone.ik":"Inverse Kinematik (experimentell)","settings.particle_tick_rate":"Partikel-Tickrate","settings.particle_tick_rate.desc":"Tickrate f\xFCr Partikeleffekte in Ticks pro Sekunde. Standardwert ist 30","action.lock_motion_trail":"Bewegungspfad feststellen","action.lock_motion_trail.desc":"Sperrt den Bewegungspfad auf die momentan ausgew\xE4hlte Gruppe","menu.animation_file.unload":"Entlade Animationsdatei","data.null_object":"Null-Objekt","status_bar.toggle_sidebar":"Seitenleiste ein-/ausblenden","message.load_plugin_failed.title":"Laden des Plugins fehlgeschlagen","message.load_plugin_failed.message":"Stelle sicher, dass der Name der Plugindatei mit der in Plugin.register festgelegten ID des Plugins (`%0`) \xFCbereinstimmt","dialog.project.uv_mode":"UV-Modus","dialog.project.uv_mode.box_uv":"Box-UV","dialog.project.uv_mode.face_uv":"Fl\xE4chen-UV","dialog.project.texture_size":"Textur-Gr\xF6\xDFe","dialog.animation_export.title":"Animationen zum Export ausw\xE4hlen","dialog.create_texture.rearrange_uv":"UV neu anordnen","layout.color.subtle_text":"Untergeordneter Text","layout.color.subtle_text.desc":"Zweite, weniger kontrastreiche Textfarbe","settings.interface_scale":"Benutzeroberfl\xE4chen Skalierung","settings.interface_scale.desc":"Skalieren der gesamten Blockbench-Benutzeroberfl\xE4che","settings.background_rendering":"Im Hintergrund rendern","settings.background_rendering.desc":"Aktualisiert die Vorschau, w\xE4hrend das Fenster nicht fokussiert ist","settings.ctrl_shift_size":"Aufl\xF6sung mit Strg + Umschalt","settings.ctrl_shift_size.desc":"Aufl\xF6sung des Gitters, w\xE4hrend Strg und Umschalt gedr\xFCckt wird","settings.hardware_acceleration":"Hardwarebeschleunigung","settings.hardware_acceleration.desc":"Verarbeitungsaufgaben auf die Grafikkarte verlagern. Zum Anwenden der \xC4nderungen Blockbench neustarten","action.explode_skin_model":"Skin-Modell explodieren","action.explode_skin_model.desc":"Schaltet eine Explosionsansicht ein, in der verdeckte Fl\xE4chen bearbeitet werden k\xF6nnen","action.export_minecraft_skin":"Minecraft-Skin exportieren","action.export_minecraft_skin.desc":"Minecraft-Skin als PNG-Textur exportieren","action.add_null_object":"Null-Objekt hinzuf\xFCgen","action.add_null_object.desc":"Neues Null-Objekt hinzuf\xFCgen","action.animated_texture_frame":"Animierter Texturrahmen","action.animated_texture_frame.desc":"Aktuelles Bild der animierten Textur einstellen","action.export_animation_file":"Animationen exportieren ...","action.export_animation_file.desc":"Exportiere eine Auswahl an Animationen in eine neue Datei","action.timeline_graph_editor":"Graph-Editor umschalten","action.timeline_graph_editor.desc":"Zeitliste zwischen Graph-Editor und Keyframe-Ansicht Umschalten","menu.file.recent.clear":"Zuletzt ge\xF6ffnete Dateien leeren","switches.shade":"Schatten","generic.share":"Teilen","dates.minute":"%0 Minute","dates.minutes":"%0 Minuten","dates.hour":"%0 Stunde","dates.hours":"%0 Stunden","dates.day":"%0 Tag","dates.days":"%0 Tage","dates.week":"%0 Woche","dates.weeks":"%0 Wochen","dates.year":"%0 Jahr","dates.years":"%0 Jahre","message.installed_plugin":"Das Plugin %0 wurde erfolgreich installiert","message.installed_plugin_fail":"Das Plugin %0 wurde aufgrund eines Fehlers nicht installiert","dialog.share_model.title":"Modell teilen","dialog.share_model.expire_time":"Dauer","dialog.share_model.failed":"Das Hochladen des Modells ist fehlgeschlagen","action.import_java_block_model":"Java/Item-Modell hinzuf\xFCgen","action.import_java_block_model.desc":"Ein Minecraft-Java-Block-/Item-Modell aus einer json-Datei zum aktuellen Modell hinzuf\xFCgen","action.share_model":"Teilen ...","action.share_model.desc":"Einen kurzen Link zu Teilen generieren","action.import_project":"Projekt importieren","action.import_project.desc":"Importiere ein Projekt aus einer .bbmodel-Datei in das aktuelle Projekt","dialog.toolbar_edit.hidden_tools":"Einige Werkzeuge werden m\xF6glicherweise nicht angezeigt, da sie im aktuellen Modus, Format oder in der Situation nicht verf\xFCgbar sind.","settings.camera_near_plane":"Kamera-Abschneide-Ebene","settings.camera_near_plane.desc":"Die minimale Entfernung von der Kamera und dem Renderort eines Objekts. H\xF6here Werte verringern Z-Fighting. 1 ist der Standardwert.","mode.start.keymap_preference.desc":"Wenn du Blockbench zum ersten Mal benutzt und schon erfahren in einem anderen 3D-Programm bist, dann kannst du die Tastenbelegung dieses Programms \xFCbernehmen, um dich besser in Blockbench zurechtzufinden. Du kannst die Tastenbelegungen auch nachher in den Einstellungen \xE4ndern","message.load_keymap":"Bist du dir sicher, dass du diese Tastenbelegung laden m\xF6chtest? Deine vorherigen Tastenkombinationen werden \xFCberschrieben.","message.keymap_loaded":"Tastenbelegung wurde geladen","dialog.convert_project.current_format":"Aktuelles Format","dialog.create_texture.rearrange_uv.desc":"Eine neue UV-Anordnung anlegen, um jeder Fl\xE4che ihren eigenen Platz auf der Textur zuzuweisen","dialog.create_texture.power.desc":"Die automatische Gr\xF6\xDFe der generierten Textur auf eine Zweierpotenz begrenzen. Dies wird von einigen Renderingprogrammen vorausgesetzt.","dialog.create_texture.double_use.desc":"Wenn zwei Elemente den gleichen Platz auf der Textur verwenden, wird dies in der neuen Anordnung beibehalten","dialog.create_texture.padding.desc":"Einen kleinen Zwischenraum zwischen den einzelnen Teilen des Templates lassen","dialog.create_texture.resolution.desc":"Die Basisaufl\xF6sung der Textur, in Pixel pro Meter. Die wirkliche Gr\xF6\xDFe der Textur h\xE4ngt von der Anzahl und Gr\xF6\xDFe der Elemente ab.","dialog.create_gif.color":"Hintergrundfarbe","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":"Gegen\xFCberliegende Bones werden durch die W\xF6rter \u201Eleft\u201C und \u201Eright\u201C innerhalb ihres Namens erkannt.","dialog.export_private_settings.title":"Private Einstellungen","dialog.export_private_settings.message":"Deine Datei enth\xE4lt die folgenden privaten Informationen: **%0**. Entferne diese Informationen, falls du die Datei mit anderen Teilen m\xF6chtest.","dialog.export_private_settings.keep":"Behalten","settings.timecode_frame_number":"Timecodes als Einzelbildnummer anzeigen","settings.timecode_frame_number.desc":"Den Timecode in der Timeline als Nummer des Einzelbildes statt als Hundertstel Sekunde anzeigen","settings.animation_sample_rate":"Sample-Rate in Animationen","settings.animation_sample_rate.desc":"Sample-Rate in Samples pro Sekunde, f\xFCr Kurven, die das jeweilige Exportformat nicht direkt unterst\xFCtzt","keybind.preview_zoom":"Ansicht zoomen","action.gradient_tool":"Verlaufswerkzeug","action.gradient_tool.desc":"Erstellt Farbverl\xE4ufe auf Texturen","action.import_settings":"Einstellungen importieren","action.import_settings.desc":"Eine .bbsettings-Einstellungs-Datei importieren","action.export_settings":"Einstellungen exportieren","action.export_settings.desc":"Die Einstellungen von Blockbench als eine .bbsettings-Datei exportieren","action.load_keymap":"Tastenbelegung importieren","action.load_keymap.default":"Standard (Trackpad/Maus)","action.load_keymap.mouse":"Standard (Maus)","action.load_keymap.default.desc":"Standardtastenbelegungen, optimiert f\xFCr Navigation im Vorschaufenster mit Laptop-Trackpads","action.load_keymap.mouse.desc":"Standardtastenbelegungen, optimiert f\xFCr Navigation im Vorschaufenster mit der mittleren Maustaste","action.load_keymap.blender.desc":"Tastenbelegung \xE4hnlich zu Blender","action.load_keymap.cinema4d.desc":"Tastenbelegung \xE4hnlich zu Cinema 4D","action.load_keymap.maya.desc":"Tastenbelegung \xE4hnlich zu Autodesk Maya","action.import_keymap":"Tastenbelegung importieren","action.import_keymap.desc":"Importiere Tastenbelegungen als .bbkeymap-Datei","action.export_keymap":"Tastenbelegung exportieren","action.export_keymap.desc":"Aktuelle Tastenbelegungen als .bbkeymap-Datei exportieren","action.edit_history":"Bearbeitungsverlauf ...","action.edit_history.desc":"Zeige den Verlauf der Bearbeitungen an und mache Schritte r\xFCckg\xE4ngig oder wiederhole sie","action.group_elements":"Elemente gruppieren","action.group_elements.desc":"Packe ausgew\xE4hlte Elemente in eine neue Gruppe","action.unfold_groups":"Gruppen aufklappen","action.unfold_groups.desc":"Alle Gruppen im Outliner ausklappen","action.edit_bedrock_binding":"Bindung bearbeiten ...","action.edit_bedrock_binding.desc":"Lege fest, an welchen Bone das Modell gebunden ist","action.pick_screen_color":"Bildschirm-Farbpipette","action.pick_screen_color.desc":"Eine Farbe vom Bildschirm ausw\xE4hlen","action.view_mode":"Anzeigemodus","action.view_mode.desc":"Ver\xE4ndert den Angeigemodus der Vorschau","action.view_mode.textured":"Texturiert","action.view_mode.solid":"Einfarbig","action.view_mode.wireframe":"Drahtgitter","action.toggle_sidebars":"Seitenleisten an-/ausschalten","action.toggle_sidebars.desc":"Seitenleisten aktivieren oder deaktivieren","action.set_animation_end":"Ende der Animation setzen","action.set_animation_end.desc":"Setzt das Ende der ausgew\xE4hlten Animation auf den aktuellen Zeitpunkt","action.flip_animation":"Animation spiegeln","action.flip_animation.desc":"Spiegelt teile der Animation, indem die ausgew\xE4hlten Keyframes auf die andere Seite des Modells kopiert werden","action.graph_editor_zero_line":"Nulllinie einschlie\xDFen","action.graph_editor_zero_line.desc":"Legt fest, ob die Nulllinie im Graph-Editor immer im Sichtbereich sein muss","menu.texture.render_mode":"Anzeigemodus","menu.texture.render_mode.emissive":"Leuchtend","menu.texture.render_mode.layered":"Geschichtet","menu.preview.angle.edit":"Kamerablickwinkel bearbeiten ...","menu.animation.start_delay":"Start-Verz\xF6gerung","menu.animation.loop_delay":"Schleifen-Verz\xF6gerung","menu.animation.flip_keyframes":"Keyframes spiegeln","menu.mobile_keyboard.disable_all":"Alle deaktivieren","panel.keyframe.toggle_uniform_scale":"Gleichm\xE4\xDFige Skalierung aktivieren/deaktivieren","camera_angle.common_isometric_right":"Isometrisch, rechts (2:1)","camera_angle.common_isometric_left":"Isometrisch, links (2:1)","camera_angle.true_isometric_right":"Isometrisch, rechts (30\xB0)","camera_angle.true_isometric_left":"Isometrisch, links (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"Auf Vorabversionen aktualisieren","settings.update_to_prereleases.desc":"Blockbench automatisch auf die neusten Vorabversionen aktualisieren, um neue Funktionen zu testen. Vorabversionen k\xF6nnen Fehler beinhalten, aktiviere diese Funktion nicht, wenn du dich f\xFCr deine Arbeit auf die einwandfreie Funktion von Blockbench verlassen musst.","data.separator.spacer":"Abstandhalter","data.separator.linebreak":"Zeilenumbruch","data.setting":"Einstellung","generic.select_all":"Alle ausw\xE4hlen","generic.select_none":"Auswahl aufheben","projects.new_tab":"Neuer Tab","projects.close_tab":"Tab schlie\xDFen","message.invalid_format.title":"Ung\xFCltiges Format","message.invalid_format.message":"Dieses Modell wurde in dem Format \u201E%0\u201C erstellt. Das Format ist in dieser Blockbench-Installation nicht verf\xFCgbar. Wahrscheinlich wird ein bestimmtes Plugin zum fehlerfreien \xD6ffnen dieser Datei ben\xF6tigt.","message.invalid_link":"Ung\xFCltiger oder abgelaufener Link","message.default_textures.current":"Aktueller Pfad","message.update_after_restart":"Das Update wird nach dem n\xE4chsten Neustart installiert.","message.copy_paste_tool_viewport":"Dieses Werkzeug kann nur im UV-Editor verwendet werden","dialog.project.shadow_size":"Schattengr\xF6\xDFe","dialog.find_replace.target":"Ziel","dialog.find_replace.target.element_names":"Namen von Elementen","dialog.find_replace.target.group_names":"Namen von Gruppen","dialog.find_replace.target.animation_names":"Namen von Animationen","dialog.find_replace.target.keyframe_values":"Keyframe-Werte","dialog.find_replace.find":"Finden","dialog.find_replace.replace":"Ersetzen","dialog.find_replace.regex":"Regul\xE4rer Ausdruck","dialog.add_primitive.shape":"Form","dialog.add_primitive.shape.circle":"Kreis","dialog.add_primitive.shape.tube":"R\xF6hre","dialog.add_primitive.shape.cone":"Kegel","dialog.add_primitive.shape.cylinder":"Zylinder","dialog.add_primitive.shape.sphere":"Kugel","dialog.add_primitive.shape.torus":"Torus","dialog.add_primitive.shape.cube":"Quader","dialog.add_primitive.shape.pyramid":"Pyramide","dialog.add_primitive.diameter":"Durchmesser","dialog.add_primitive.height":"H\xF6he","dialog.add_primitive.sides":"Seiten","dialog.add_primitive.minor_diameter":"Dicke","dialog.add_primitive.minor_sides":"Kleine Seiten","dialog.create_texture.combine_polys":"Fl\xE4chen kombinieren","dialog.create_texture.combine_polys.desc":"Koplanare Fl\xE4chen in einen Bereich auf der UV-Map vereinen","dialog.model_stats.meshes":"Maschen","dialog.export_private_settings.omit":"Auslassen","layout.select":"Ausw\xE4hlen","layout.options":"Optionen","layout.color":"Farbschema","layout.documentation":"Dokumentation","layout.color.bright_ui_text":"Text auf heller Oberfl\xE4che","layout.color.bright_ui_text.desc":"Text auf hellen Oberfl\xE4chen","layout.name":"Name","layout.author":"Ersteller","settings.dialog.desc":"Den \u201E%0\u201C-Dialog anzeigen","settings.export_empty_groups":"Leere Gruppen exportieren","settings.export_empty_groups.desc":"Gruppen ohne Inhalt exportieren","category.separators":"Trenner","keybind.preview_area_select":"Bereichsauswahl","action.color_erase_mode":"L\xF6schmodus","action.color_erase_mode.desc":"Im L\xF6schmodus ziehen Werkzeuge wie der Farbeimer und das Formwerkzeug Farben ab","action.open_from_link":"Modell von einem Link \xF6ffnen ...","action.open_from_link.desc":"Ein Modell aus einem blckbn.ch-Link laden","action.import_obj":"OBJ-Modell importieren","action.import_obj.desc":"Objekte aus einem OBJ-Modell als Maschen importieren","action.add_plugin":"Plugin installieren","action.add_plugin.desc":"Ein Plugin mit Hilfe von Action Control installieren","action.remove_plugin":"Plugin deinstallieren","action.remove_plugin.desc":"Ein Plugin mit Hilfe von Action Control deinstallieren","action.add_mesh":"Masche hinzuf\xFCgen","action.add_mesh.desc":"F\xFCgt eine neue Masche hinzu","action.add_texture_mesh":"3D-Textur hinzuf\xFCgen","action.add_texture_mesh.desc":"F\xFCgt eine neue 3D-Textur hinzu","action.find_replace":"Finden/Ersetzen ...","action.find_replace.desc":"Teile von Namen finden und ersetzen","action.hide_everything_except_selection":"Alles au\xDFer Auswahl ausblenden","action.hide_everything_except_selection.desc":"Schaltet die Sichtbarkeit aller Elemente au\xDFer der momentan ausgew\xE4hlten um","action.transform_space.normal":"Normale","action.selection_mode":"Auswahlmodus","action.selection_mode.desc":"Modus, in dem Elemente in der Vorschau ausgew\xE4hlt werden k\xF6nnen","action.selection_mode.object":"Objekt","action.selection_mode.face":"Fl\xE4che","action.selection_mode.vertex":"Punkt","action.create_face":"Fl\xE4che oder Kante erstellen","action.create_face.desc":"Bildet eine neue Fl\xE4che oder eine neue Kante zwischen den ausgew\xE4hlten Punkten","action.convert_to_mesh":"In Masche konvertieren","action.convert_to_mesh.desc":"Konvertiert die ausgew\xE4hlten Elemente in Maschen","action.invert_face":"Fl\xE4che umkehren","action.invert_face.desc":"Invertiert die ausgew\xE4hlten Fl\xE4chen, so dass sie in die andere Richtung zeigen","action.extrude_mesh_selection":"Auswahl extrudieren","action.extrude_mesh_selection.desc":"Erweitert die ausgew\xE4hlten Teile der Masche","action.loop_cut":"Schnitt","action.loop_cut.desc":"Die Masche quer zur ausgew\xE4hlten Kante durchschneiden","action.merge_meshes":"Maschen zusammenf\xFChren","action.merge_meshes.desc":"Vereint mehrere Maschen in eine","action.keyframe_uniform":"Einheitliche Skalierung","action.keyframe_uniform.desc":"Aktiviert einheitliche Skalierung der ausgew\xE4hlten Keyframes","menu.locator.ignore_inherited_scale":"Vererbte Gr\xF6\xDFe ignorieren","menu.texture.elements":"Auf Elemente anwenden","uv_editor.transparent_face":"Unsichtbare Fl\xE4che","display.pose_angle":"Arm-Winkel (Nur Vorschau)","data.mesh":"Masche","dialog.create_texture.type":"Typ","dialog.create_texture.type.blank":"Leer","dialog.create_texture.type.template":"Texturtemplate","dialog.create_texture.type.color_map":"Farbtemplate","dialog.sketchfab_uploader.suggested_tags":"Empfohlene Tags","dialog.sketchfab_uploader.category":"Kategorie","dialog.sketchfab_uploader.category2":"Kategorie 2","layout.restore_backup":"Dein angepasstes Farbschema \u201E%0\u201C wurde \xFCberschrieben. Klicke hier, um es wiederherzustellen.","layout.borders":"R\xE4nder","action.fill_mode.element":"Element","action.inset_mesh_selection":"Auswahl nach innen versetzen","action.inset_mesh_selection.desc":"Versetzt die ausgew\xE4hlten Bereiche der Masche nach innen","action.dissolve_edges":"Kanten aufl\xF6sen","action.dissolve_edges.desc":"L\xF6st die ausgew\xE4hlten Kanten auf und vereint die angrenzenden Fl\xE4chen","action.split_mesh":"Masche aufteilen","action.split_mesh.desc":"Trennt die ausgew\xE4hlten Fl\xE4chen der Masche in eine neue Masche ab","action.merge_vertices":"Eckpunkte vereinen","action.merge_vertices.desc":"Vereint die ausgew\xE4hlten Eckpunkte","action.view_mode.normal":"Fl\xE4chenausrichtung","action.snap_uv_to_pixels":"UV in Pixelraster einrasten","action.snap_uv_to_pixels.desc":"Rastet die ausgew\xE4hlten UV-Eckpunkte in das Pixelraster ein","menu.file.import.import_open_project":"Importiere ge\xF6ffnetes Projekt","menu.help.unlock_projects":"Alle Projekte entsperren","status_bar.selection.faces":"%0 Fl\xE4chen","status_bar.selection.vertices":"%0 Eckpunkte","message.merged_vertices":"%0 Eckpunkte wurden gefunden und an %1 Stellen vereint","settings.vertex_merge_distance":"Abstand f\xFCr Vereinen von Eckpunkten","settings.vertex_merge_distance.desc":"Abstand, in dem beieinander liegende Eckpunkte durch die Vereinen-Funktion vereint werden","settings.show_only_selected_uv":"Nur ausgew\xE4hlte UV-Fl\xE4chen anzeigen","settings.show_only_selected_uv.desc":"Zeige standardm\xE4\xDFig nur die aktuell ausgew\xE4hlten UV-Fl\xE4chen im UV-Editor an","action.merge_vertices.merge_all":"Alle vereinen","action.merge_vertices.merge_all_in_center":"Alle in Mittelpunkt vereinen","action.merge_vertices.merge_by_distance":"Beieinander liegende vereinen","action.merge_vertices.merge_by_distance_in_center":"Beieinander liegende in Mittelpunkt vereinen","action.uv_rotate_left":"UV nach links drehen","action.uv_rotate_left.desc":"Die ausgew\xE4hlten UV-Fl\xE4chen gegen den Uhrzeigersinn drehen","action.uv_rotate_right":"UV nach rechts drehen","action.uv_rotate_right.desc":"Die ausgew\xE4hlten UV-Fl\xE4chen im Uhrzeigersinn drehen","menu.uv.display_uv":"UV anzeigen","menu.uv.display_uv.selected_faces":"Ausgew\xE4hlte Fl\xE4chen","menu.uv.display_uv.selected_elements":"Alle Fl\xE4chen","menu.uv.display_uv.all_elements":"Alle Fl\xE4chen von allen Elementen","menu.paste.face":"UV-Fl\xE4che","menu.paste.mesh_selection":"Maschenauswahl","menu.paste.outliner":"Elemente","uv_editor.show_all_faces":"Alle Fl\xE4chen anzeigen","uv_editor.show_selected_faces":"Ausgew\xE4hlte Fl\xE4chen anzeigen","status_bar.selection.edges":"%0 Kanten","action.selection_mode.edge":"Kante","message.cannot_re_import.title":"Das exportierte Modell kann nicht erneut ge\xF6ffnet werden","message.cannot_re_import.message":"Das exportierte Modellformat kann nicht in Blockbench ge\xF6ffnet werden. Um weiterhin Zugriff auf dieses Modell zu haben, speichere es parallel als eine Projektdatei ab.","generic.default":"Standard","units.pixels_per_meter":"%0 Pixel pro Meter","mode.pose":"Haltung","modifier_actions.resize_both_sides":"Gr\xF6\xDFe in beide Richtungen ver\xE4ndern","modifier_actions.resize_one_side":"Gr\xF6\xDFe in eine Richtung ver\xE4ndern","modifier_actions.draw_line":"Linie zeichnen","modifier_actions.drag_without_snapping":"Verschieben ohne Einrasten","modifier_actions.stretch_keyframes":"Keyframes strecken","modifier_actions.resize_background":"Hintergrund skalieren","modifier_actions.select_multiple":"Mehrfachauswahl","modifier_actions.select_range":"Auswahl von ... bis","modifier_actions.drag_to_duplicate":"Verschieben zum Duplizieren","modifier_actions.uniform_scaling":"Gleichm\xE4\xDFig skalieren","modifier_actions.snap_direction":"Feste Ausrichtung","message.no_valid_elements":"Keine g\xFCltigen Elemente ausgew\xE4hlt","dialog.add_primitive.shape.plane":"Ebene","dialog.save_angle.rotation_mode":"Drehungsmodus","dialog.save_angle.rotation":"Drehung","dialog.save_angle.fov":"Sichtfeld","settings.hide_tab_bar":"Tableiste automatisch verstecken","settings.hide_tab_bar.desc":"Die Tableiste verstecken, wenn nur ein Tab ge\xF6ffnet ist","settings.status_bar_modifier_keys":"Hilfstasten in der Statusleiste vorschlagen","settings.status_bar_modifier_keys.desc":"Je nach Kontext m\xF6gliche Hilfstasten-Kombinationen in der Statusleiste anzeigen","settings.ground_plane":"Bodenebene","settings.ground_plane.desc":"Eine Ebene als Boden unter dem Modell anzeigen","settings.preview_paste_behavior":"Standardm\xE4\xDFiges Verhalten beim Einf\xFCgen","settings.preview_paste_behavior.desc":"W\xE4hle das Verhalten der Einf\xFCgen-Funktion, bei Verwendung in der 3D-Ansicht im Bearbeiten-Modus, wenn mehrere Optionen verf\xFCgbar sind","settings.preview_paste_behavior.always_ask":"Immer nachfragen","action.new_window":"Neues Fenster","action.new_window.desc":"\xD6ffnet ein neues Blockbench-Fenster","action.export_collada":"Collada-Modell (dae) exportieren","action.export_collada.desc":"Exportiert das Modell als dae-Datei zur Weiterverwendung in anderen 3D-Programmen","action.paint_mode_uv_overlay":"UV-Hilfslinien","action.paint_mode_uv_overlay.desc":"\xDCberlagert die UV-Maps der Elemente im Malen-Modus","action.bake_animation_into_model":"Animationen auf Modell anwenden","action.bake_animation_into_model.desc":"Wendet die aktuell angezeigte Animation auf das Modell an. Nur Position und Drehung werden verwendet, Gr\xF6\xDFe wird ignoriert","action.keyframe_interpolation.step":"Stufe","action.set_ik_target":"IK-Zielobjekt setzen","action.set_ik_target.desc":"W\xE4hle das Zielobjekt aus, welches durch dieses Null Objekt durch Inverse Kinematik bewegt wird","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"Kamerablickwinkel","menu.action_control.recent_in_streamer_mode":"Bist du sicher? Streamer-Modus ist aktiviert","menu.action_control.recent_in_streamer_mode.desc":"Bist du ganz sicher, dass du zuletzt verwendete Modelle anzeigen m\xF6chtest?","menu.tools":"Werkzeuge","menu.file.recent.more":"Mehr anzeigen ...","menu.null_object.lock_ik_target_rotation":"Drehung des IK-Zielobjekts sperren","menu.animation_file.import_remaining":"Verbleibende Animationen importieren","edit.loop_cut.offset":"Versatz","edit.extrude_mesh_selection.extend":"Gr\xF6\xDFe","cube.color.pink":"Pink","cube.color.silver":"Silber","dialog.plugins.offline":"Keine Internetverbindung","dialog.create_texture.pixel_density":"Pixeldichte","dialog.create_texture.pixel_density.desc":"Die Pixeldichte der Textur, in Pixel pro Meter. Die Gr\xF6\xDFe der Textur kann, abh\xE4ngig von der Gr\xF6\xDFe und Anzahl an Elementen, abweichen.","panel.skin_pose":"Haltung","panel.skin_pose.none":"Keine","panel.skin_pose.natural":"Nat\xFCrlich","panel.skin_pose.walking":"Laufend","panel.skin_pose.crouching":"Schleichend","panel.skin_pose.sitting":"Sitzend","panel.skin_pose.jumping":"Springend","panel.skin_pose.aiming":"Zielend","edit.loop_cut.direction":"Ausrichtung","data.texture_mesh":"3D-Textur","generic.left":"Links","generic.right":"Rechts","mode.start.quick_setup":"Schnelle Einstellungen","mode.start.keymap":"Tastenbelegung","mode.start.quick_setup.more_themes":"Weitere ...","dialog.resize_texture.animation_frames":"Animierte Frames","dialog.export_emission_map.title":"Emission-Map exportieren","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Helligkeit","dialog.export_emission_map.format.luminance_inverted":"Invertierte Helligkeit","dialog.export_emission_map.format.colors":"Farben","dialog.export_emission_map.threshold":"Transparenzschwellenwert","dialog.export_emission_map.round_up":"Auf %0 \xD7 %1 aufrunden","dialog.export_emission_map.flip_y":"Y-Achse invertieren","dialog.select.type":"Element-Typ","dialog.create_texture.max_edge_angle":"Maximaler Kantenwinkel","dialog.create_texture.max_edge_angle.desc":"Der maximale Winkel zwischen zwei Kanten, bei dem diese verbunden werden k\xF6nnen","dialog.create_texture.max_island_angle":"Maximaler Gesamtwinkel","dialog.create_texture.max_island_angle.desc":"Der maximale Winkel, mit dem Fl\xE4chen zu einer UV-Insel verbunden werden k\xF6nnen","settings.mobile_panel_side":"Verankerung der Seitenleiste","settings.mobile_panel_side.desc":"W\xE4hle aus, auf welcher Seite des Bildschirms auf horizontal gehaltenen Mobilger\xE4ten die Seitenleiste angezeigt wird","settings.obj_face_export_mode":"OBJ-Fl\xE4chen-Exportmodus","settings.obj_face_export_mode.desc":"Stelle ein, ob alle Fl\xE4chen vom OBJ-Exporter in Dreiecke oder Vierecke umgewandelt werden sollen","settings.obj_face_export_mode.both":"Standard","settings.obj_face_export_mode.tris":"In Dreiecke konvertieren","settings.obj_face_export_mode.quads":"In Vierecke konvertieren","action.seam_tool":"Nahtwerkzeug","action.seam_tool.desc":"Werkeug zum Festlegen von N\xE4hten entlang der Kanten von Maschen","action.resolve_group":"Gruppe aufl\xF6sen","action.resolve_group.desc":"Diese Gruppe aufl\xF6sen, w\xE4hrend die Kinderelemente an der selben Stelle bleiben","action.move_to_group":"In Gruppe verschieben","action.move_to_group.desc":"Die Auswahl in eine bestimmte Gruppe verschieben","action.select_seam":"UV-Naht ausw\xE4hlen","action.select_seam.desc":"Den UV-Nahtmodus f\xFCr die ausgew\xE4hlten Kanten einstellen","action.select_seam.auto":"Automatisch","action.select_seam.join":"Verbunden","action.select_seam.divide":"Getrennt","action.adjust_brightness_contrast":"Helligkeit u. Kontrast anpassen","action.adjust_brightness_contrast.desc":"Helligkeit und Kontrast der ausgew\xE4hlten Textur anpassen","action.adjust_saturation_hue":"S\xE4ttigung u. Farbton anpassen","action.adjust_saturation_hue.desc":"S\xE4ttigung und Farbton der ausgew\xE4hlten Textur anpassen","action.invert_colors":"Farben umkehren","action.invert_colors.desc":"Invertiert alle Farben der ausgew\xE4hlten Textur","action.adjust_curves":"Farbkurven anpassen ...","action.adjust_curves.desc":"Ver\xE4ndere die Helligkeitskurve der ausgew\xE4hlten Textur","action.flip_texture_x":"Textur horizontal spiegeln","action.flip_texture_y":"Textur vertikal spiegeln","action.resize_texture":"Gr\xF6\xDFe \xE4ndern ...","action.view_mode.uv":"UV-Vorschau","action.append_to_template":"Elemente zum Template hinzuf\xFCgen...","action.append_to_template.desc":"F\xFCgt die ausgew\xE4hlten Elemente zum Textur-Template hinzu","action.move_texture_with_uv":"Textur gemeinsam mit UV verschieben","action.move_texture_with_uv.desc":"Die Textur mitverschieben, wenn UV-Fl\xE4chen verschoben werden","action.timeline_setups":"Zeitleisten-Anordnungen","action.save_timeline_setup":"Zeitleisten-Anordnung speichern ...","action.save_timeline_setup.desc":"Speichere die aktuell ausgew\xE4hlten Animatoren und Kan\xE4le in der Zeitleiste","menu.texture":"Textur","menu.texture.render_mode.default":"Standard","menu.texture.merge_onto_texture":"Auf Textur dar\xFCber vereinen","menu.animation.unload":"Entladen","panel.timeline":"Zeitleiste","action.pan_tool":"Schwenktool","action.pan_tool.desc":"Werkzeug zur Navigation im Textureneditor und in der 3D-Vorschau","mode.start.recent.favorite":"Als Favorit kennzeichnen","mode.start.info":"Info","mode.start.target":"Ziel","mode.start.start":"Start","mode.start.create_new":"Neues Modell erstellen","mode.start.format.informations":"Gut zu wissen:","mode.start.format.resources":"Ressourcen:","format.free.info.meshes":"In diesem Format kannst du Low-Poly-Modelle aus individuell geformten Maschen und aus Quadern erstellen.","format.free.info.limitation":"Modelle k\xF6nnen nicht in Spielen, wie zum Beispiel Minecraft, die eigene Formate voraussetzen, verwendet werden.","format.skin.info.skin":"Dieses Format ist daf\xFCr vorgesehen, Minecraft-Skins und -Texturen f\xFCr Kreaturen zu erstellen.","format.skin.info.model":"Modelle k\xF6nnen nicht ver\xE4ndert werden. Um \xC4nderungen an einem Modell aus diesem Format vorzunehmen, konvertiere es in ein anderes Format \xFCber **Datei** > **Projekt konvertieren**.","format.java_block.info.rotation":"Drehungen sind begrenzt auf Schritte von 22,5 Grad und eine Achse pro Element","format.java_block.info.size":"Das Modell ist beschr\xE4nkt auf eine Gr\xF6\xDFe von 3 mal 3 mal 3 Bl\xF6cken. Durch Anzeigeeinstellungen k\xF6nnen Itemmodelle jedoch weiter vergr\xF6\xDFert werden.","format.java_block.info.animation":"Dieses Format unterst\xFCtzt im unmodifizierten Minecraft keine Animationen. Wenn du eine Mod erstellst, kannst du GeckoLib verwenden, um Modelle zu animieren. Anderenfalls ist die einzige M\xF6glichkeit, das Modell zu animieren, das Auswechseln von einzelnen Modellen mit Hilfe von Befehlen oder animierten Texturen.","format.bedrock.info.textures":"Jedes Modell kann nur eine einzige Textur haben","format.bedrock_block":"Bedrock-Block","format.bedrock_block.desc":"Blockmodell f\xFCr Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"Die Gr\xF6\xDFe einzelner Quader ist auf ganze Zahlen beschr\xE4nkt.","format.modded_entity.info.format":"Anstelle von Datenformaten werden Modelle als Java-Code-Dateien ausgegeben.","format.optifine_entity.info.optifine_required":"Benutzer, die OptiFine nicht installiert haben, werden das Modell nicht sehen k\xF6nnen.","format.optifine_entity.info.pivots":"Die Angelpunkte der Knochen sind vom Spiel festgelegt, sollten also nicht ver\xE4ndert werden.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Sonstige","format_category.loaders":"Modell laden","message.recover_backup.recover":"Wiederherstellen","message.invalid_characters.title":"Ung\xFCltiger Dateipfad","message.invalid_characters.message":"Der Dateipfad der importierten Datei beinhaltet ung\xFCltige Zeichen, Gro\xDFbuchstaben, oder Leerzeichen. G\xFCltige Zeichen sind: %0","dialog.share_model.thumbnail":"Vorschaubild","dialog.skin.high_res_texture":"Bitte beachte, dass die ausgew\xE4hlte Aufl\xF6sung nicht f\xFCr normale Minecraft Skins funktioniert. W\xE4hle eine geringere Aufl\xF6sung.","settings.allow_display_slot_mirror":"Spiegeln in den Anzeigeeinstellungen erlauben","settings.allow_display_slot_mirror.desc":"Erlaubt es, Positionen der Anzeigeeinstellungen f\xFCr Java-Block- oder Itemmodelle zu spiegeln. ACHTUNG: Spiegeln funktioniert nur in Minecraft 1.14 und fr\xFCheren Versionen, oder in Sonderf\xE4llen.","action.switch_tabs":"Tab wechseln","action.switch_tabs.desc":"Zwischen den ge\xF6ffneten Tabs wechseln. Halte Umschalt gedr\xFCckt, um die Richtung umzukehren.","action.unselect_all":"Auswahl aufheben","action.save_palette":"Palette zwischenspeichern","action.save_palette.desc":"Die aktuelle Farbpalette in Blockbench zwischenspeichern, um sp\xE4ter wieder auf sie zugreifen zu k\xF6nnen","action.keyframe_column_create":"Keyframes in Spalte erstellen","action.keyframe_column_create.desc":"Erstellt einen Keyframe an der aktuellen Position f\xFCr alle Kan\xE4le, die bereits an anderer Stelle Keyframes haben","action.keyframe_column_select":"Keyframes in Spalte ausw\xE4hlen","action.keyframe_column_select.desc":"W\xE4hlt alle Keyframes in der Timeline unterhalb des Abspielkopfs aus","menu.uv":"UV","menu.keyframe":"Keyframe","menu.palette.load.update":"Palette aktualisieren","menu.palette.load.update.desc":"Aktualisiert diese Palette mit den Farben der aktuell geladenen Blockbench palette","menu.timeline_marker.set_time":"Zeit einstellen ...","uv_editor.scale_uv":"UV skalieren","action.preview_scene":"Vorschauszene","action.preview_scene.desc":"Die Vorschauszene ausw\xE4hlen","preview_scene.minecraft_overworld":"Minecraft-Oberwelt","preview_scene.minecraft_nether":"Minecraft-Nether","preview_scene.minecraft_end":"Minecraft-Ende","dialog.project.modded_entity_flip_y":"Y-Koordinaten umkehren","preview_scene.studio":"Studio","format.image":"Bild","modifier_actions.set_copy_source":"Quelle f\xFCr Kopierstempel setzen","message.load_images.title":"Bilder laden","message.load_images.edit_image":"Bild bearbeiten","dialog.add_primitive.align_edges":"Kanten gerade ausrichten","dialog.flip_animation.show_in_timeline":"Ver\xE4nderte Knochen in der Timeline anzeigen","settings.default_cube_size":"Quadergr\xF6\xDFe","settings.default_cube_size.desc":"Die Standardgr\xF6\xDFe f\xFCr neu erstellte Quader festlegen","settings.uniform_keyframe":"Einheitliche Skalierkeyframes","settings.uniform_keyframe.desc":"Skalierkeyframes standardm\xE4\xDFig auf einheitliche Skalierung einstellen","settings.nearest_rectangle_select":"Rechteckauswahl: N\xE4chste Kante","settings.nearest_rectangle_select.desc":"Die Rechteckauswahl an der n\xE4chsten Kante orientieren, wie in GIMP, anstatt alle ber\xFChrten Pixel auszuw\xE4hlen.","settings.pick_color_opacity":"Farbdeckkraft ausw\xE4hlen","settings.pick_color_opacity.desc":"Mit der Farbpipette die Deckkraft ausw\xE4hlen und als Deckkraft f\xFCr den Pinsel verwenden","settings.paint_with_stylus_only":"Nur mit Stylus malen","settings.paint_with_stylus_only.desc":"Nur den Stylus f\xFCr Malwerkzeuge verwenden, die Maus oder Touchgesten f\xFCr Navigation vorbehalten.","action.copy_brush_mode":"Kopierstempel-Modus","action.copy_brush_mode.copy":"Kopieren","action.copy_brush_mode.pattern":"Muster","action.copy_brush_mode.sample":"Probe","action.brush_shape":"Pinselform","action.brush_shape.square":"Quadrat","action.brush_shape.circle":"Kreis","action.blend_mode":"Mischmodus","action.blend_mode.default":"Standard","action.blend_mode.set_opacity":"Deckkraft setzen","action.blend_mode.color":"Farbe","action.blend_mode.behind":"Dahinter","action.blend_mode.multiply":"Multiplizieren","action.blend_mode.divide":"Dividieren","action.blend_mode.add":"Addieren","action.blend_mode.subtract":"Subtrahieren","action.blend_mode.screen":"Bildschirm","action.blend_mode.overlay":"\xDCberlagern","action.blend_mode.hard_light":"Hartes Licht","action.blend_mode.difference":"Differenz","action.copy_brush":"Kopierstempel","action.copy_brush.desc":"Pinsel um Teile der Textur zu kopieren oder Muster zu malen","action.validator_window":"Probleme anzeigen ...","action.validator_window.desc":"\xD6ffnet den Validator, welcher Probleme mit dem Projekt automatisch erkennt und auflistet.","action.cancel_gif":"GIF abbrechen","menu.text_edit.copy_vector":"Vektor kopieren","menu.brush_presets.dialog":"Pinsel-Vorlagen ...","menu.brush_presets.pixel_brush":"Pixelstift","menu.brush_presets.smooth_brush":"Weicher Pinsel","menu.texture.edit_in_blockbench":"In Blockbench bearbeiten","menu.mirror_painting.axis":"Achse","menu.mirror_painting.axis.desc":"W\xE4hlen, auf welchen Achsen Pinselstriche gespiegelt werden","menu.mirror_painting.global":"Globale Symmetrie","menu.mirror_painting.global.desc":"Gespiegeltes Malen im globalen Raum aktivieren","menu.mirror_painting.local":"Lokale Symmetrie","menu.mirror_painting.local.desc":"Gespiegeltes Malen lokal f\xFCr jedes Element aktivieren","menu.mirror_painting.texture_frames":"Frames von animierter Textur","menu.mirror_painting.texture_frames.desc":"Pinselstriche auf jeden Frame einer animierten Textur spiegeln","format.bedrock_block.info.size_limit":"Die Gr\xF6\xDFe eines Blockmodells ist begrenzt auf 20 Pixel in allen Dimensionen. Die Begrenzung kann sich jedoch vom Mittelpunkt aus bis zu 7 Pixel in alle Richtungen verschieben.","format.bedrock_block.info.textures":"Verschiedene Texturen k\xF6nnen auf unterschiedliche Fl\xE4chen angewendet werden, allerdings ben\xF6tigt dies extra \xC4nderungen im Behavior Pack, damit es im Spiel funktioniert.","format.image.desc":"Bearbeite Bilder in 2D-Bildbearbeitungsmodus","generic.delete_all":"Alle l\xF6schen","message.child_model_only.open":"Elternmodell \xF6ffnen","message.child_model_only.open_with_textures":"Elternmodell \xF6ffnen und Texturen \xFCbernehmen","dialog.project.credit":"Erstellerkommentar","dialog.convert_project.create_copy":"Kopie erstellen","dialog.texture.frame_time":"Bildzeit","dialog.texture.frame_time.desc":"Lege fest, wie viele Ticks jedes Einzelbild sichtbar ist. Ein Tick entspricht einem Zwanzigstel einer Sekunde.","dialog.texture.frame_interpolate":"Interpolieren","dialog.texture.frame_interpolate.desc":"Interpoliere zwischen Einzelbildern, indem ein Bild in das n\xE4chste \xFCberblendet wird.","dialog.texture.frame_order_type":"Schleifenmodus","dialog.texture.frame_order_type.loop":"Dauerschleife","dialog.texture.frame_order_type.backwards":"Schleife r\xFCckw\xE4rts","dialog.texture.frame_order_type.back_and_forth":"Vorw\xE4rts und R\xFCckw\xE4rts","dialog.texture.frame_order_type.custom":"Eigene Reihenfolge","dialog.texture.frame_order":"Bildreihenfolge","dialog.texture.frame_order.desc":"Lege eine eigene Reihenfolge f\xFCr Einzelbilder fest, indem du die Indexe der Bilder auflistest. Das erste Bild hat den Index 0, das zweite 1, usw.","dialog.select.mode":"Modus","dialog.select.mode.new":"Neue Auswahl","dialog.select.mode.add":"Zur Auswahl hinzuf\xFCgen","dialog.select.mode.remove":"Von Auswahl abziehen","dialog.select.mode.in_selection":"Innerhalb der Auswahl ausw\xE4hlen","dialog.predicate_overrides.model":"Modell","dialog.predicate_overrides.predicates":"Bedingung","dialog.predicate_overrides.variants":"Varianten","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Override hinzuf\xFCgen","dialog.predicate_overrides.add_predicate":"Bedingung hinzuf\xFCgen","dialog.predicate_overrides.generate_overrides":"Overrides generieren","dialog.predicate_overrides.confirm_delete":"Bist du sicher, dass du alle Overrides l\xF6schen m\xF6chtest?","dialog.predicate_overrides.predicate.angle":"Kompassrichtung","dialog.predicate_overrides.predicate.blocking":"Ist am Blocken","dialog.predicate_overrides.predicate.broken":"Ist kaputt","dialog.predicate_overrides.predicate.cast":"Ist ausgeworfen","dialog.predicate_overrides.predicate.cooldown":"Abklingzeit","dialog.predicate_overrides.predicate.damage":"Schaden","dialog.predicate_overrides.predicate.damaged":"Ist besch\xE4digt","dialog.predicate_overrides.predicate.lefthanded":"Ist linksh\xE4ndig","dialog.predicate_overrides.predicate.pull":"Bogenspannung","dialog.predicate_overrides.predicate.pulling":"Ist gespannt","dialog.predicate_overrides.predicate.charged":"Ist geladen","dialog.predicate_overrides.predicate.firework":"Hat Feuerwerk","dialog.predicate_overrides.predicate.throwing":"Bereit zum Werfen","dialog.predicate_overrides.predicate.time":"Tageszeit","dialog.predicate_overrides.predicate.custom_model_data":"Eigene Modelldaten","dialog.predicate_overrides.predicate.level":"Lichtlevel","dialog.predicate_overrides.predicate.filled":"B\xFCndel-F\xFCllstand","dialog.predicate_overrides.predicate.tooting":"Wird geblasen","settings.model_export_scale":"Export-Gr\xF6\xDFenverh\xE4ltnis","settings.model_export_scale.desc":"Faktor durch den Modelle verkleinert werden, wenn sie als glTF, DAE oder FBX exportiert werden. Der Standardwert ist 16, wodurch 16 Einheiten in Blockbench einem Meter entsprechen.","action.export_fbx":"FBX-Modell exportieren","action.export_fbx.desc":"Exportiert das Modell aus FBX-Datei zur Weiterverwendung in anderen 3D-Programmen und Spiel-Engines","action.center_lateral":"Seitlich zentrieren","action.center_lateral.desc":"Zentriert das Modell auf der X- und Z-Achse","action.adjust_opacity":"Deckkraft anpassen ...","action.adjust_opacity.desc":"Passe die Deckkraft der ausgew\xE4hlten Textur an","action.rotate_texture_cw":"Im Uhrzeigersinn drehen","action.rotate_texture_ccw":"Gegen den Uhrzeigersinn drehen","action.predicate_overrides":"Bedingte Overrides bearbeiten ...","action.predicate_overrides.desc":"W\xE4hle andere Modelle, die dieses Modell basierend auf bestimmten Bedingungen ersetzen","action.auto_set_cullfaces":"Cullfaces automatisch einstellen","action.auto_set_cullfaces.desc":"Generiert automatisch Cullfaces, die Fl\xE4chen verstecken, wenn diese vom benachbarten Block verdeckt werden.","menu.texture.edit_externally":"Extern bearbeiten","menu.mirror_painting.texture":"2D-Editor-Symmetrie","menu.mirror_painting.texture.desc":"Gespiegeltes Malen im 2D-Editor aktivieren","menu.animator.rotation_global":"Drehung relativ zum globalen Raum","uv_editor.face_properties":"Fl\xE4cheneigenschaften","uv_editor.face_properties.material_instance":"Materialien","uv_editor.tint.info":"F\xE4rbung kann aktiviert werden, um Minecraft mitzuteilen, dass eine Fl\xE4che f\xFCr das F\xE4rben vorgesehen ist. F\xE4rbung kann im unmodifizierten Minecraft nur bei bestimmten Bl\xF6cken, wie z. B. Bl\xE4ttern und Redstonestaub angewendet werden, und der Wert kann nur 0 sein.","uv_editor.cullface.info":"Durch aktivierte Cullfaces wird eine Fl\xE4che deaktiviert wenn neben dem Block in der ausgew\xE4hlten Richtung in der Minecraftwelt ein solider Block platziert wird. Diese Technik wird verwendet, um Modelle performanter zu machen.","uv_editor.material_instance.info":"Materialien k\xF6nnen auf einen vom Benutzer festgelegten Namen eingestellt werden. Dieser Name kann in der Block-JSON-Datei im Verhaltenspaket verwendet werden, um eine bestimmte Textur oder ein Material auf die Fl\xE4che anzuwenden.","display.reference.frame_invisible":"Rahmen (unsichtbar)","data.settings_profile":"Profil","message.display_skin.invalid_name":"Konnte keinen Minecraft-Account mit dem Namen \u201E%0\u201C finden.","dialog.load_plugins_from_query.title":"Plugins laden","dialog.load_plugins_from_query.text":"Du hast einen Link verwendet, der einige Plugins voraussetzt. M\xF6chtest du diese Plugins installieren?","dialog.select_model.title":"Modell ausw\xE4hlen","dialog.select_model.bones":"Knochen","dialog.select_model.cubes":"Quader","dialog.settings.create_profile":"Profil erstellen ...","settings_profile.confirm_delete":"Bist du sicher, dass du dieses Einstellungsprofil l\xF6schen m\xF6chtest?","settings_profile.condition.type.selectable":"Manuell ausw\xE4hlbar","settings.interface_mode":"Ger\xE4temodus","settings.interface_mode.desc":"Passt die Programmoberfl\xE4che an ein bestimmtes Ger\xE4t an. Neustarten, um die \xC4nderungen wirksam werden zu lassen","settings.interface_mode.auto":"Automatisch","settings.interface_mode.desktop":"Desktop","settings.interface_mode.mobile":"Mobiles Ger\xE4t","settings.paint_through_transparency":"Durch Transparenz hindurchmalen","settings.paint_through_transparency.desc":"Die Werkzeuge k\xF6nnen durch transparente Pixel hindurchmalen, wenn der Transparenzkanal gesperrt ist","action.tab_overview":"Tab-\xDCbersicht","action.tab_overview.desc":"Zeige alle offenen Tabs als Vorschaubilder an, und springe zu einem","action.slider_color_red":"Farbkanal Rot","action.slider_color_green":"Farbkanal Gr\xFCn","action.slider_color_blue":"Farbkanal Blau","action.add_animation_controller":"Animationsregler hinzuf\xFCgen","action.add_animation_controller.desc":"Erstellt einen leeren Animationsregler","action.animation_controller_preview_mode":"Regler Vorschau","action.animation_controller_preview_mode.paused":"Angehalten","action.animation_controller_preview_mode.manual":"Manuelle Vorschau","action.animation_controller_preview_mode.play":"Automatische Wiedergabe","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"B\xE9ziergriffe verbinden","action.keyframe_bezier_linked.desc":"Verbindet den rechten und den linken B\xE9ziergriff","action.reset_keyframe_handles":"B\xE9ziergriffe zur\xFCcksetzen","action.reset_keyframe_handles.desc":"Setzt die B\xE9ziergriffe auf die Ausgangspositionen zur\xFCck","action.looped_animation_playback":"Endlosschleife","action.looped_animation_playback.desc":"Spiele Animationen in einer Endlosschleife ab","timeline.bind_to_actor":"An Wesen binden","animation_controllers.select_preset":"W\xE4hle eine Vorlage aus ...","animation_controllers.state.animations":"Animationen","animation_controllers.state.particles":"Partikeleffekte","animation_controllers.state.sounds":"Soundeffekte","animation_controllers.state.on_entry":"Beim Eintritt","animation_controllers.state.on_exit":"Beim Austritt","animation_controllers.state.transitions":"\xDCberg\xE4nge","animation_controllers.state.condition":"Bedingung","animation_controllers.state.blend_transition":"\xDCbergangszeit","animation_controllers.state.shortest_path":"\xDCbergang \xFCber k\xFCrzesten Weg","animation_controllers.state.edit_transition":"\xDCbergang bearbeiten","menu.color_picker.picker_type":"Art des Farbw\xE4hlers","menu.color_picker.picker_type.square":"Eckig","menu.color_picker.picker_type.wheel":"Farbrad","menu.color_picker.slider_mode":"Schieberegler","menu.color_picker.slider_mode.hsv":"Farbton, S\xE4ttigung, Wert","menu.color_picker.slider_mode.rgb":"Rot, Gr\xFCn, Blau","menu.texture.render_mode.additive":"Additiv","panel.color.picker_options":"Farbw\xE4hleroptionen","panel.animation_controllers":"Animationsregler","display.preset.armor_stand":"Boden (R\xFCstungsst\xE4nder)","data.file_path":"Dateipfad","dialog.extrude.orientation":"Ausrichtung","dialog.extrude.orientation.upright":"Aufrecht","dialog.extrude.orientation.flat":"Liegend","dialog.scale.box_uv_warning":"Das Skalieren eines Modells mit Box-UV k\xF6nnte das UV-Mapping zerst\xF6ren. Versuche stattdessen, das Modell auf externer Weise zu skalieren, oder in Datei > Projekt auf Fl\xE4chen-UV umzustellen.","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG-Sequenz","dialog.create_gif.pixelate":"Verpixeln","dialog.create_gif.bg_image":"Hintergrundbild","dialog.create_gif.turn.desc":"Drehe das Modell w\xE4hrend der Aufnahme. Verwende negative Zahlen, um das Modell im Uhrzeigersinn zu drehen. Der Wert 60 entspricht einer Umdrehung pro Sekunde.","settings_profile.condition":"Bedingung","settings_profile.condition.type.file_path.desc":"Verwende regul\xE4re Ausdr\xFCcke, die im Dateipfad des Projekts enthalten sein m\xFCssen, um das Profil zu aktivieren. Verwende Schr\xE4gstriche als Trennzeichen","settings.only_selected_bezier_handles":"Nur ausgew\xE4hlte Beziergriffe anzeigen","settings.only_selected_bezier_handles.desc":"Verstecke die Beziergriffe von Keyframes, die nicht ausgew\xE4hlt sind","settings.embed_textures":"Texturen einbetten","settings.embed_textures.desc":"Bette den Inhalt von Texturen in die .bbmodel-Datei ein","action.selection_mode.cluster":"Zusammenh\xE4ngend","dialog.copied_to_clipboard":"In Zwischenablage kopiert","data.reference_image":"Referenzbild","message.delete_reference_image":"Bist du sicher, dass du dieses Referenzbild l\xF6schen m\xF6chtest? Dies kann nicht r\xFCckg\xE4ngig gemacht werden.","message.add_reference_image.message":"W\xE4hle, wo das Referenzbild geladen wird","message.add_reference_image.project":"Zu diesem Projekt hinzuf\xFCgen","message.add_reference_image.app":"Zu allen Projekten hinzuf\xFCgen","message.import_particle_texture.import":"Partikeltextur importieren","message.import_particle_texture.message":"M\xF6chtest du eine Textur f\xFCr diesen Partikeleffekt laden?","message.save_codec_selector.title":"Speicherformat","message.save_codec_selector.message":"W\xE4hle ein Format, in dem das Modell gespeichert werden soll.","message.save_codec_selector.project_file":"Blockbench-Projekt (.bbmodel)","message.save_codec_selector.both":"Beides","message.display_skin.username":"Benutzername (Java)","message.palette_locked":"Die Palette ist gesperrt","dialog.project.default_uv_mode":"Standard-UV-Modus","dialog.project.default_uv_mode.description":"Standard-UV-Modus des Projekts. Der UV-Modus kann auch f\xFCr jeden Quader einzeln eingestellt werden.","dialog.export_options.title":"Exportoptionen","dialog.edit_texture.preview":"Vorschau","dialog.proportional_editing.range":"Reichweite","dialog.proportional_editing.falloff":"Abnahme","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Sanft","dialog.proportional_editing.falloff.constant":"Konstant","dialog.proportional_editing.selection":"Auswahl","dialog.proportional_editing.selection.linear":"Lineare Entfernung","dialog.proportional_editing.selection.connections":"Verbindungen","dialog.mirror_painting_texture_center.middle":"Mitte","dialog.mirror_painting_texture_center.custom":"Eigener Punkt","dialog.settings.reset_to_default":"Auf Standardwert zur\xFCcksetzen","keybindings.item.num_slider.increase":"Erh\xF6hen","keybindings.item.num_slider.decrease":"Verringern","settings.always_show_splash_art":"Startbild immer anzeigen","settings.always_show_splash_art.desc":"Zeige das Bild auf dem Startbildschirm bei jedem Start an","action.slider_palette_color":"Farbe in Palette wechseln","action.slider_palette_color.desc":"Wechsle zwischen verschiedenen Farben in der Palette","action.proportional_editing":"Proportional bearbeiten","action.proportional_editing.desc":"Proportional Eckpunkte um die Auswahl herum mitbewegen, wenn Teile einer Masche bearbeitet werden","action.limit_to_palette":"Auf Palette begrenzen","action.limit_to_palette.desc":"Begrenzt die Farben auf der Texture auf die Farben in der aktuell geladenen Palette","action.edit_reference_images":"Referenzbilder bearbeiten","action.edit_reference_images.desc":"Aktiviere den Referenzbildmodus, um Referenzbilder hinzuzuf\xFCgen oder zu bearbeiten","action.add_reference_image":"Referenzbild hinzuf\xFCgen","action.reference_image_from_clipboard":"Referenzbild aus Zwischenablage laden","action.reference_image_list":"Referenzbilder","action.connect_uv_faces":"UV-Fl\xE4chen verbinden","action.connect_uv_faces.desc":"Verbinde die gew\xE4hlte UV-Fl\xE4che mit der davor gew\xE4hlten Fl\xE4che","action.merge_uv_vertices":"UV-Eckpunkte zusammenf\xFChren","action.merge_uv_vertices.desc":"F\xFChrt die zuerst gew\xE4hlten Eckpunkte mit den davor gew\xE4hlten Eckpunkten zusammen","action.bedrock_animation_mode":"Bedrock Animations-Modus","action.bedrock_animation_mode.desc":"W\xE4hle einen Modus, in dem Bedrock-Animationen bearbeitet werden k\xF6nnen","action.bedrock_animation_mode.entity":"Objekt","action.bedrock_animation_mode.attachable_first":"Gegenstand, erste Person","action.bedrock_animation_mode.attachable_third":"Gegenstand, dritte Person","timeline.amplify":"Verst\xE4rken","menu.options":"Optionen ...","menu.palette.lock_palette":"Palette sperren","menu.uv.export":"UV-Maps exportieren","menu.uv.flip_x":"X spiegeln","menu.uv.flip_y":"Y spiegeln","menu.mirror_painting.enabled":"Aktiviert","reference_image.position":"Position","reference_image.size":"Gr\xF6\xDFe","reference_image.rotation":"Drehung","reference_image.opacity":"Deckkraft","reference_image.visibility":"Sichtbarkeit","reference_image.clear_mode":"Klarsichtmodus","reference_image.layer":"Ebene","reference_image.layer.background":"Hinter Modell","reference_image.layer.viewport":"Vor Modell","reference_image.layer.float":"Vor Oberfl\xE4che","reference_image.scope":"Bereich","reference_image.scope.project":"Nur dieses Projekt","reference_image.scope.global":"Alle Projekte","reference_image.enabled_modes":"Aktiviert in Modi","codec.common.encoding":"Kodierung","codec.common.armature":"Gruppen als Skelett exportieren","codec.common.export_animations":"Animationen exportieren","codec.common.embed_textures":"Texturen einbetten","preview.center_camera":"Kamera zentrieren","display.reference.frame_top":"Rahmen oben","display.reference.frame_top_invisible":"Rahmen oben (unsichtbar)","action.proportional_editing_range":"Proportional bearbeiten: Reichweite","action.proportional_editing_range.desc":"Stelle die Reichweite f\xFCr das proportionale Bearbeiten ein","action.toggle_all_reference_images":"Zeige/Verberge alle Referenzbilder","action.toggle_all_reference_images.desc":"Aktiviere oder deaktiviere die Sichtbarkeit aller Referenzbilder auf einmal","action.add_animation_controller_state":"Zustand zu Animationsregler hinzuf\xFCgen","action.add_animation_controller_state.desc":"F\xFCgt einen neuen Zustand zum Animationsregler hinzu","menu.slider.round_value":"Wert runden","texture.error.too_large":"Ausl\xF6sung \xFCbersteigt das Maximum von %0","dialog.copy_to_clipboard":"In Zwischenablage kopieren","dialog.open_url":"Link \xF6ffnen","reference_image.image":"Bild","uv_editor.rotate_uv":"UV drehen","generic.error":"Fehler","projects.start_screen":"Startbildschirm","message.invalid_link.message":"Das geteilte Modell unter dem Link \u201E%0\u201C ist entweder ung\xFCltig oder abgelaufen.","message.plugin_dependencies.title":"Plugin-Abh\xE4ngigkeiten","message.plugin_dependencies.message1":"Das Plugin setzt folgende installierten Plugins voraus:","message.plugin_dependencies.message1_update":"Das Plugin %0 wurde aktualisiert und setzt nun diese installierten Plugins voraus:","message.plugin_dependencies.message2":"M\xF6chtest du diese installieren, um fortzufahren?","message.plugin_dependencies.invalid":"Leider kann das Plugin nicht installiert werden, da es von einem anderen Plugin abh\xE4ngt, das nicht installiert werden kann:","message.preview_scene_load_failed":"Vorschauszene konnte nicht geladen werden. Stell sicher, dass du mit dem Internet verbunden bist.","dialog.convert_project.text1":"Konvertiere das Projekt in ein anderes Format.","dialog.convert_project.text2":"Benutzung auf eigene Gefahr. Formate haben unterschiedliche Funktionen und Beschr\xE4nkungen, deshalb wird das Konvertieren in einigen F\xE4llen Teile des Projekts beeinflussen oder zerst\xF6ren.","dialog.convert_project.text3":"Konvertieren kann nicht r\xFCckg\xE4ngig gemacht werden, deshalb wird eine Kopie des Projekts in einem neuen Tab erstellt.","dialog.unsaved_work.title":"Ungespeicherte \xC4nderungen","dialog.unsaved_work.text":"Die folgenden Projekte beinhalten ungespeicherte \xC4nderungen. M\xF6chtest du die \xC4nderungen speichern?","dialog.unsaved_work.discard_all":"Alle verwerfen","dialog.unsaved_work.save_all":"Alle speichern","dialog.resize_texture.mode":"Modus","dialog.resize_texture.mode.crop":"Zuschneiden/Erweitern","dialog.resize_texture.mode.scale":"Skalieren","dialog.plugins.is_installed":"Installiert","dialog.plugins.is_disabled":"Deaktiviert","dialog.plugins.disable":"Deaktivieren","dialog.plugins.enable":"Aktivieren","dialog.plugins.dependencies":"Ben\xF6tigt au\xDFerdem:","dialog.view_backups.open_folder":"Ordner \xF6ffnen","dialog.share_model.reference_images":"Referenzbilder \xFCbernehmen","dialog.share_model.too_large":"Fehler beim Hochladen: Modell ist zu gro\xDF","dialog.share_model.too_large_references":"Fehler beim Hochladen: Modell ist zu gro\xDF. Versuche es erneut ohne Referenzbilder.","settings.stretch_linked":"Strecken verbinden","settings.stretch_linked.desc":"Strecke Quader in alle Richtungen um den gleichen Wert","settings.grids":"Gitter anzeigen","settings.grids.desc":"Zeige oder verstecke alle Hilfsgitter","settings.double_click_switch_tools":"Bei Doppelklick zwischen Werkzeugen wechseln","settings.double_click_switch_tools.desc":"Doppelklicken in der Vorschau wechselt zwischen Werkzeugen hin und her","settings.outlines_in_paint_mode":"Auswahlumrisse im Malmodus anzeigen","settings.outlines_in_paint_mode.desc":"Umrisse der ausgew\xE4hlten Elemente im Malmodus anzeigen","settings.json_indentation":"JSON-Einr\xFCckung","settings.json_indentation.desc":"Einr\xFCckstil der exportierten JSON-Dateien","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Leerzeichen: 4","settings.json_indentation.spaces_2":"Leerzeichen: 2","action.slider_stretch":"Strecken","action.slider_stretch.desc":"Strecke Quader um einen Faktor auf der %0-Achse, ohne das UV zu beeinflussen","action.view_backups":"Sicherheitskopien anzeigen","action.view_backups.desc":"Durchsuche die Liste der automatisch gespeicherten Sicherheitskopien","action.search_outliner":"Outliner durchsuchen","action.search_outliner.desc":"Suche nach Elementen mit bestimmten Namen im Outliner","action.mirror_modeling":"Gespiegeltes Modellieren","action.mirror_modeling.desc":"Gespiegeltes Modellieren auf der X-Achse aktivieren. Alle \xC4nderungen werden auf die gegen\xFCberliegenden Seite gespiegelt, au\xDFer dies ist f\xFCr das betroffene Element deaktiviert.","action.allow_element_mirror_modeling":"Gespiegeltes Modellieren erlauben","action.allow_element_mirror_modeling.desc":"W\xE4hle, ob die gew\xE4hlten Elemente durch gespiegeltes Modellieren beeinflusst werden","action.switch_face_crease":"Falz \xE4ndern","action.switch_face_crease.desc":"\xC4ndere die Ausrichtung der Falz, die das Viereck in der Mitte halbiert","action.clear_unused_texture_space":"Ungenutzten Platz der Textur l\xF6schen","action.clear_unused_texture_space.desc":"L\xF6scht die Teile der Textur, die nicht von Elementen verwendet werden","action.split_screen":"Geteilter Bildschirm","action.split_screen.desc":"Teile den Bildschirm in mehrere Fenster ein","action.split_screen.single":"Einfach","action.split_screen.double_horizontal":"Doppelt horizontal","action.split_screen.double_vertical":"Doppelt vertikal","action.split_screen.quad":"Vierfach","action.split_screen.triple_left":"Dreifach links","action.split_screen.triple_right":"Dreifach rechts","action.split_screen.triple_top":"Dreifach oben","action.split_screen.triple_bottom":"Dreifach unten","action.uv_project_from_view":"UV von Ansicht projizieren","action.uv_project_from_view.desc":"Generiere UVs f\xFCr die ausgew\xE4hlten Fl\xE4chen von der Perspektive der 3D-Vorschau","action.graph_editor_other_graphs":"Andere Graphen anzeigen","action.graph_editor_other_graphs.desc":"Zeige die Kurven der Achsen an, die nicht ausgew\xE4hlt sind","action.graph_editor_include_other_graphs":"Andere Graphen in Ansicht einbeziehen","action.graph_editor_include_other_graphs.desc":"W\xE4hle, ob nicht ausgew\xE4hlte Graphen f\xFCr die Gr\xF6\xDFe der Darstellung ber\xFCcksichtigt werden","action.set_ik_source":"IK-Basis setzen","action.set_ik_source.desc":"W\xE4hle den Basisknochen der Kette, die durch Inverse Kinematik gesteuert werden soll","edit.loop_cut.cuts":"Schnitte","panel.element.stretch":"Strecken","preview_scene.minecraft_plains":"Ebene","preview_scene.minecraft_cherry_grove":"Kirschberghain","preview_scene.minecraft_snowy_tundra":"Verschneite Ebene","preview_scene.minecraft_sunset":"Sonnenuntergang","preview_scene.minecraft_night":"Nacht","preview_scene.minecraft_desert":"W\xFCste","preview_scene.minecraft_underwater":"Unterwasser","preview_scene.minecraft_coral_reef":"Korallenriff","preview_scene.minecraft_lush_cave":"\xDCppige H\xF6hle","preview_scene.minecraft_deep_dark":"Tiefes Dunkel","generic.navigate_forward":"Weiter","generic.navigate_back":"Zur\xFCck","action.element_render_order":"Rendering-Reihenfolge","action.element_render_order.default":"Auto","action.element_render_order.behind":"Hinter","action.element_render_order.in_front":"Vor","message.installing_update.title":"Update verf\xFCgbar","message.installing_update.message":"Eine neue Version ist zur Installation bereit. Nachdem du das Programm geschlossen hast, warte bitte etwa %0 Sekunden, bevor du Blockbench erneut \xF6ffnest oder den Computer ausschaltest, damit das Update installiert werden kann.","settings.brush_cursor_2d":"2D-Pinselumriss","settings.brush_cursor_2d.desc":"Zeige den Umriss um den Pinselcursor im 2D-Editor an","settings.brush_cursor_3d":"3D-Pinselumriss","settings.brush_cursor_3d.desc":"Zeige den Umriss um den Pinselcursor in der 3D-Vorschau an","settings.cdn_mirror":"CDN-Mirror verwenden","settings.cdn_mirror.desc":"Den CDN-Mirror verwenden, um auf Plugins zuzugreifen. Der Mirror erh\xE4lt Plugin-Updates schneller und funktioniert in Regionen, in denen das CDN sonst nicht funktioniert.","data.layer":"Ebene","data.panel":"Panel","generic.confirm_delete":"Bist du sicher, dass du es l\xF6schen m\xF6chtest?","format_category.general":"Allgemein","modifier_actions.no_uniform_scaling":"Freies Seitenverh\xE4ltnis","message.texture_refresh_conflict.title":"Abweichende Versionen der Textur","message.texture_refresh_conflict.message":"Die Texturdatei kann Ver\xE4nderungen beinhalten, die von der Version in Blockbench abweichen","message.texture_refresh_conflict.keep_ours":"Blockbenchs Version behalten","message.texture_refresh_conflict.keep_theirs":"Datei laden und alle \xC4nderungen und Ebenen in Blockbench verwerfen","message.group_required_to_animate":"Diese Art von Element kann nicht animiert werden. Erstelle stattdessen eine Gruppe.","dialog.texture.uv_size":"UV-Gr\xF6\xDFe","dialog.advanced_screenshot.angle_preset":"Kamerablickwinkel","dialog.advanced_screenshot.resolution":"Aufl\xF6sung","dialog.advanced_screenshot.zoom_to_fit":"Passend zoomen","dialog.advanced_screenshot.zoom":"Zoom / Brennweite","dialog.advanced_screenshot.anti_aliasing":"Kantengl\xE4ttung","dialog.advanced_screenshot.anti_aliasing.off":"Aus","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Bearbeitungswerkzeuge zeigen","dialog.advanced_screenshot.shading":"Schattierung","settings.auto_keyframe":"Automatisch Keyframes erzeugen","settings.auto_keyframe.desc":"Automatisch am Beginn der Timeline einen Keyframe mit Standardwerten erstellen, wenn an einem sp\xE4teren Punkt in der Timeline animiert wird","settings.modded_entity_integer_size":"Mod-Entitymodell-Gr\xF6\xDFe in ganzen Zahlen","settings.modded_entity_integer_size.desc":"Die Gr\xF6\xDFe von Quadern auf ganze Zahlen beschr\xE4nken. Obwohl Kommastellen technisch gesehen in manchen Versionen unterst\xFCtzt werden, sind ganze Zahlen in der Praxis im UV-Mapping einfacher zu handhaben.","category.layers":"Ebenen","keybind.paint_secondary_color":"Mit Zweitfarbe malen","action.selection_tool_operation_mode":"Auswahlmodus","action.selection_tool_operation_mode.create":"Neue Auswahl","action.selection_tool_operation_mode.add":"Hinzuf\xFCgen","action.selection_tool_operation_mode.subtract":"Abziehen","action.selection_tool_operation_mode.intersect":"\xDCberschneidung","action.pixel_perfect_drawing":"Pixelperfektes Zeichnen","action.pixel_perfect_drawing.desc":"Zeichne glatte Pixel-Art Linien ohne doppelte Pixel in Kurven","action.selection_tool":"Auswahlwerkzeug","action.selection_tool.desc":"W\xE4hle Teile des Bildes aus","action.selection_tool.rectangle":"Rechteck","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lassowerkzeug","action.selection_tool.wand":"Zauberstab","action.selection_tool.color":"Gleiche Farbe","action.move_layer_tool":"Ebene verschieben","action.move_layer_tool.desc":"Verschiebe die ausgew\xE4hlte Ebene oder Auswahl","action.export_modded_animations":"Animationen f\xFCr Mod-Entity exportieren","action.export_modded_animations.desc":"Exportiere Animationen f\xFCr ein animiertes Entity in einer Mod f\xFCr Minecraft Java Edition","action.swap_colors":"Farben tauschen","action.swap_colors.desc":"Tausche die Hauptfarbe mit der zweiten Farbe","action.apply_mesh_rotation":"Drehung anwenden","action.apply_mesh_rotation.desc":"Wende die Objektdrehung auf die Masche an und setze den Wert der Drehung auf Null zur\xFCck","action.flip_texture_x.desc":"Die Textur oder Ebene horizontal spiegeln","action.flip_texture_y.desc":"Die Textur oder Ebene vertikal spiegeln","action.rotate_texture_cw.desc":"Die Textur oder Ebene im Uhrzeigersinn drehen","action.rotate_texture_ccw.desc":"Die Textur oder Ebene gegen den Uhrzeigersinn drehen","action.crop_texture_to_selection":"Textur auf Auswahl zuschneiden","action.create_empty_layer":"Leere Ebene erstellen","action.enable_texture_layers":"Ebenen aktivieren","action.disable_texture_layers":"Ebenen deaktivieren","action.layer_opacity":"Ebenendeckkraft","action.layer_to_texture_size":"Ebene auf Texturgr\xF6\xDFe ausweiten","action.layer_to_texture_size.desc":"Weitet die Ebene auf die Gr\xF6\xDFe der Textur aus","action.merge_layer_down":"Nach unten vereinen","action.merge_layer_down.desc":"Auf die darunterliegende Ebene vereinen","action.advanced_screenshot":"Erweitertes Bildschirmfoto ...","action.advanced_screenshot.desc":"Mache ein Bildschirmfoto mit erweiterten Optionen","action.bake_ik_animation":"Inverse Kinematik ausrechnen und anwenden","action.bake_ik_animation.desc":"Rechne die Drehungen durch Inverse Kinematik aus und wende sie aus Keyframes auf die gew\xE4hlte Animation an","action.save_animation_preset":"Animationsvorlage speichern ...","action.save_animation_preset.desc":"Speichere die ausgew\xE4hlten Keyframes als Animationsvorlage","action.animation_onion_skin":"Animationszwiebelschalen","action.animation_onion_skin.desc":"Zeige die Vorschau eines anderen Standbildes der Animation als Gitternetz an","action.apply_animation_preset":"Animationsvorlage anwenden","action.apply_animation_preset.desc":"W\xE4hle aus einer Liste von Animationsvorlagen und wende die Vorlage auf den ausgew\xE4hlten Knochen an","menu.brush_presets.pixel_perfect":"Pixelgenauer Pinsel","panel.layers":"Ebenen","uv_editor.copy_paste_tool.to_layer":"Zu neuer Ebene","format.image.new":"Neues Bild erstellen","format.image.info.summary":"Mit dem 2D-Bildbearbeitungsmodus kannst du Bilder und Pixelart direkt in Blockbench erstellen und bearbeiten, ohne dass du ein externes Programm verwenden musst. Bearbeite Bilder, ver\xE4ndere Texturen, oder erstelle deine eigenen Pixelgrafiken!","settings.move_with_selection_tool":"Auswahlwerkzeug verwenden, um Auswahl zu verschieben","settings.move_with_selection_tool.desc":"Verwende das Auswahlwerkzeug direkt, um die Auswahl zu verschieben, ohne dass du zum Verschiebewerkzeug wechseln musst","settings.final_newline":"Neue Zeile am Ende","settings.final_newline.desc":"F\xFCge einen Zeilenumbruch am Ende von exportierten Dateien an","action.crop_layer_to_selection":"Ebene auf Auswahl zuschneiden","action.edit_mode_uv_overlay.desc":"\xDCberlagert die UV-Maps der Elemente im Bearbeitungsmodus","menu.image":"Bild","menu.texture.discard_changes":"\xC4nderungen verwerfen","menu.texture.discard_changes.desc":"Verwerfe alle ungespeicherten \xC4nderungen und lade die neuste Version von der Datei","panel.textures.images":"Bilder","dialog.advanced":"Erweitert","dialog.recommended_option":"empfohlen","modifier_actions.snap_to_center":"Mittig einrasten","modifier_actions.snap_to_pixels":"An Pixeln ausrichten","message.invalid_format.install_plugin":"Plugin '%0' installieren","message.plugin_deprecated.message":"Bist du dir sicher, dass du dieses veraltete Plugin installieren m\xF6chtest?","message.plugin_deprecated.install_anyway":"Trotzdem installieren","message.image_editor.not_found":"Das ausgew\xE4hlte Bildbearbeitungsprogramm konnte nicht gefunden werden. Bitte w\xE4hle eine andere Option.","message.knife_tool.confirm":"Dr\xFCcke %0 oder klicke hier, um das Messerwerkzeug anzuwenden","message.knife_tool.skipped_face":"Kann nicht zwischen unterschiedlichen Fl\xE4chen schneiden. Bitte schlie\xDFe die Kante oder den Eckpunkt zwischen den Fl\xE4chen mit ein!","message.optimize_animation.keyframes_removed":"%0 redundante Keyframes wurden entfernt","message.optimize_animation.nothing_to_optimize":"Keine M\xF6glichkeiten zur Optimierung gefunden!","message.duplicate_bone_copy_animation.title":"Animation kopieren","message.duplicate_bone_copy_animation.message":"Der duplizierte Knochen ist in %0 Animationen animiert. M\xF6chtest du die Keyframes auf den neuen Knochen kopieren?","message.auto_fix_mesh_edit.title":"Automatische Reparatur","message.auto_fix_mesh_edit.revert":"R\xFCckg\xE4ngig machen","message.auto_fix_mesh_edit.overlapping_vertices":"Einige Eckpunkte wurden in die selbe Position verschoben. Wie m\xF6chtest du vorgehen?","message.auto_fix_mesh_edit.concave_quads":"Ein oder mehrere viereckige Fl\xE4chen sind nun konkav. Das kann Fehler beim UV Mapping und beim Darstellen verursachen. Blockbench kann dies automatisch f\xFCr dich beheben:","message.auto_fix_mesh_edit.merge_vertices":"Eckpunkte vereinen","message.auto_fix_mesh_edit.split_quads":"Vierecke teilen","message.load_images.add_image":"Bild hinzuf\xFCgen","dialog.project.modded_entity_entity_class":"Entity Klasse","dialog.resize_texture.offset":"Versatz","dialog.animated_texture_editor.code_reference":"Code Beispiel","dialog.animated_texture_editor.code_reference.about":"Dieser Code zur Implementierung der animierten Textur wurde als Beispiel generiert, und funktioniert nicht unbedingt ohne weitere Ver\xE4nderungen. Lies die Dokumentation, um mehr zu erfahren.","dialog.animated_texture_editor.code_reference.docs":"Dokumentation","dialog.animated_texture_editor.reframe":"Neu unterteilen","dialog.animated_texture_editor.stride":"Bildgr\xF6\xDFe","dialog.animated_texture_editor.frames":"Anzahl der Einzelbilder","dialog.animated_texture_editor.add_frame":"Einzelbild hinzuf\xFCgen","dialog.animated_texture_editor.resize_frames":"Bildgr\xF6\xDFe \xE4ndern...","dialog.animated_texture_editor.apply":"Anwenden","dialog.add_primitive.edge_size":"Kantenbreite","dialog.change_animation_speed.speed":"Geschwindigkeit","dialog.change_animation_speed.adjust_snapping":"Einrastintervall anpassen","dialog.optimize_animation.selection":"Auswahl","dialog.optimize_animation.selection.selected_keyframes":"Ausgew\xE4hlte Keyframes","dialog.optimize_animation.selection.selected_animation":"Ausgew\xE4hlte Animation","dialog.optimize_animation.selection.all_animations":"Alle Animationen","dialog.optimize_animation.thresholds":"Grenzwert","dialog.import_obj.obj":"OBJ Datei","dialog.import_obj.mtl":"MTL Datei","dialog.import_obj.scale":"Gr\xF6\xDFe","layout.thumbnail":"Vorschaubild CSS","settings.pixel_grid":"Pixelgitter","settings.pixel_grid.desc":"Im Bearbeitungsmodus ein Gitter auf den Texturen anzeigen","settings.image_editor_grid_size":"Gittergr\xF6\xDFe im Bildbearbeitungsmodus","settings.image_editor_grid_size.desc":"Gr\xF6\xDFe des gro\xDFen Gitters im Bildbearbeitungsmodus","settings.ground_plane_double_side":"Doppelseitige Bodenebene","settings.ground_plane_double_side.desc":"Macht die Bodenebene von unten sichtbar","settings.optifine_save_default_texture":"OptiFine JEM: Ausgew\xE4hlte Texture Exportieren","settings.optifine_save_default_texture.desc":"Exportiere die ausgew\xE4hlte Textur als Standardtextur f\xFCr das Modell","action.slider_color_select_threshold":"Farbauswahl Schwellenwert","action.slider_color_select_threshold.desc":"Wie \xE4hnlich die Farbe benachbarter Pixel sein muss, um vom Zauberstab oder Farb-Auswahlwerkzeug ausgew\xE4hlt zu werden","action.stretch_tool":"Strecken","action.stretch_tool.desc":"Werkzeug zum Strecken von Elementen","action.knife_tool":"Messerwerkzeug","action.knife_tool.desc":"Werkzeug zum Schneiden von Maschenfl\xE4chen in kleinere Segmente","action.duplicate_project":"Projekt duplizieren","action.duplicate_project.desc":"Erstelle eine Kopie des ge\xF6ffneten Projekts","action.transform_space.parent":"\xDCbergeordnet","action.transform_pivot_space":"Angelpunkt Transformationsraum","action.solidify_mesh_selection":"Fl\xE4chen solide machen","action.solidify_mesh_selection.desc":"Verwandle die ausgew\xE4hlten Fl\xE4chen einer Masche in ein solides Objekt mit Dicke","action.animated_texture_editor":"Animierte Textur...","action.animated_texture_editor.desc":"Erstelle oder bearbeite die Daumenkino-Animation der ausgew\xE4hlten Textur","action.center_individual_pivots":"Individuelle Angelpunkte zentrieren","action.center_individual_pivots.desc":"Verschiebt den Angelpunkt jedes einzelnen ausgew\xE4hlten Elements in dessen Mitte","action.uv_cycle":"UV Punkte durchrotieren","action.uv_cycle.desc":"Rotiere die Anordnung der UV Eckpunkte durch, ohne die Positionen zu ver\xE4ndern","action.uv_cycle_invert":"UV Punkte durchtauschen","action.uv_cycle_invert.desc":"Kehre die Anordnung der UV Eckpunkte um, ohne die Positionen zu ver\xE4ndern","action.slider_animation_controller_speed":"Regler Wiedergabegeschwindigkeit","action.slider_animation_controller_speed.desc":"Die Wiedergabegeschwindigkeit des Animationsreglers in Prozent","action.optimize_animation":"Animation optimieren","action.optimize_animation.desc":"Optimiere die ausgew\xE4hlte Animation und reduziere die Anzahl der Keyframes","action.change_animation_speed":"Animationsgeschwindigkeit ver\xE4ndern...","action.change_animation_speed.desc":"Ver\xE4ndere die Geschwindigkeit der ausgew\xE4hlten Animation","timeline.select_particle_file":"Partikeldatei ausw\xE4hlen","timeline.select_sound_file":"Audiodatei ausw\xE4hlen","menu.cube.texture.default":"Standard","menu.texture.particle.clear":"Nicht mehr f\xFCr Partikel verwenden","menu.texture.use_as_default":"Als Standard festlegen","menu.texture.use_as_default.clear":"Zuweisung als Standard aufheben","menu.toolbar.overflow":"\xDCberlauf der Werkzeugleiste","edit.solidify_mesh_selection.thickness":"Dicke","reference_image.sync_to_timeline":"Mit der Zeitleiste synchronisieren","reference_image.toggle_playback":"Abspielen/Pausieren","dialog.add_primitive.shape.beveled_cuboid":"Abgeschr\xE4gter Quader","dialog.ignore_all":"Alle ignorieren","data.texture_group":"Texturengruppe","data.animation":"Animation","generic.on":"An","generic.off":"Aus","format.free.info.3d_printing":"3D Druck","message.invalid_file.merge_conflict":"Diese Datei beinhaltet ungel\xF6ste Git Merge-Konflikte.","dialog.expand_texture_selection.radius":"Wert","dialog.expand_texture_selection.corner":"Form der Ecken","dialog.expand_texture_selection.corner.round":"Rund","dialog.expand_texture_selection.corner.square":"Eckig","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Zusammenf\xFChren mit","keybindings.variation_conflict":"Die Tastenbelegung der Variation kollidiert mit der Haupt Tastenbelegung","settings.recovery_save_interval":"Speicherintervall f\xFCr Wiederherstellungspunkte","settings.recovery_save_interval.desc":"Blockbench speichert das offene Project un regelm\xE4\xDFigen Zeitabst\xE4nden, um es im Fall eines Computerabsturzes wiederherstellen zu k\xF6nnen. W\xE4hle den Intervall in Sekunden. W\xE4hle 0 um das Speichern zu deaktivieren.","settings.save_view_per_tab":"Ansicht per Tab speichern","settings.save_view_per_tab.desc":"Speichere die aktuelle Ansicht f\xFCr jeden Tab einzeln","settings.inherit_parent_color":"\xDCbergeordnete Farbe \xFCbernehmen","settings.inherit_parent_color.desc":"\xDCbernehme bei neu erstellten Elementen die Kennzeichnungsfarbe der \xFCbergeordneten Gruppe, statt eine zuf\xE4llig ausgew\xE4hlte Farbe zu verwenden","keybind.preview_select.multi_select":"Mehrfachauswahl","keybind.preview_select.group_select":"Gruppenauswahl","keybind.preview_select.loop_select":"Ringauswahl","action.fill_mode.selection":"Auswahl","action.fill_mode.selected_elements":"Ausgew\xE4hlte Elemente","action.image_tiled_view":"Kachelansicht","action.image_tiled_view.description":"Die sich wiederholende Kachelansicht im 2D Editor aktivieren","action.image_onion_skin_view":"Zwiebelschalenansicht in Bildbearbeitung","action.image_onion_skin_view.description":"Zwiebelschalenansicht im 2D Bildbearbeitungsfenster aktivieren","action.expand_texture_selection":"Texturauswahl erweitern","action.expand_texture_selection.desc":"Die Texturauswahl erweitern oder verkleinern","action.switch_tabs.reverse_order":"Umgekehrte Reihenfolge","action.save_project_incremental":"Speichern mit n\xE4chster Versionsnummer","action.save_project_incremental.desc":"Speichere das Modell als eine Projektdatei mit der n\xE4chsth\xF6heren Versionsnummer (z. B. projekt_2.bbmodel)","action.copy.multiple":"Alle kopieren","action.copy.multiple.desc":"Alle verf\xFCgbaren Daten individuell kopieren","action.paste.multiple":"Alle einf\xFCgen","action.randomize_marker_colors":"Kennzeichnungsfarben zuf\xE4llig vergeben","action.cube_light_emission":"Lichtemission","action.cube_light_emission.desc":"W\xE4hle die Helligkeit der ausgew\xE4hlten Quader mit einem Wert zwischen 0 und 15","action.view_mode.colored_solid":"Kennzeichnungsfarben","action.focus_on_selection.rotate_only":"Nur drehen","action.create_texture_group":"Texturengruppe erstellen","action.create_texture_group.desc":"Erstelle eine Texturengruppe","action.uv_maximize.all_faces":"Auf alle Fl\xE4chen anwenden","action.retarget_animators":"Animationen neu belegen","action.retarget_animators.desc":"Lege fest, welcher Animator welche Gruppen oder Elemente animiert","action.merge_animation":"Animationen zusammenf\xFChren","action.merge_animation.desc":"F\xFChre die Animation mit einer anderen Animation zusammen","action.add_keyframe.reset_values":"Mit Standardwerten","action.set_timeline_range_start":"Wiedergabebereich Start setzen","action.set_timeline_range_start.desc":"Setze den Startpunkt f\xFCr den Wiedergabebereich in der Animationszeitleiste","action.set_timeline_range_end":"Wiedergabebereich Ende setzen","action.set_timeline_range_end.desc":"Setze den Endpunkt f\xFCr den Wiedergabebereich in der Animationszeitleiste","action.disable_timeline_range":"Wiedergabebereich deaktivieren","action.disable_timeline_range.desc":"Deaktiviere den Wiedergabebereich in der Animationszeitleiste","menu.texture_group.resolve":"Aufl\xF6sen","menu.image_tiled_view.mirrored":"Gespiegelt","menu.image_onion_skin_view.frame":"Einzelbilder","menu.image_onion_skin_view.frame.last_viewed":"Letzter angesehener Frame","menu.image_onion_skin_view.frame.previous":"Voriger Frame","menu.image_onion_skin_view.frame.next":"N\xE4chster Frame","menu.image_onion_skin_view.frame.both":"Voriger + N\xE4chster","menu.image_onion_skin_view.display":"Anzeige","menu.image_onion_skin_view.display.pixels":"Kleinere Pixel","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Dar\xFCber anzeigen","menu.animation.reload":"Neu laden","switches.autouv.alt":"Relativ","display.rotation_pivot":"Angelpunkt f\xFCr Drehung","display.scale_pivot":"Angelpunkt f\xFCr Skalierung","display.reference.fox":"Fuchs","display.reference.eating":"Ess Animation","preview_scene.sky":"Himmel","preview_scene.space":"Weltraum","preview_scene.minecraft_ocean":"Ozean","message.import_palette.selection_only":"Auf Auswahl beschr\xE4nken","dialog.blend_transition_edit.ease_in_out":"Weicher \xDCbergang (%0)","dialog.blend_transition_edit.generate":"Generieren...","dialog.blend_transition_edit.generate.learn_more":"Mehr Infos und Vorschau","dialog.blend_transition_edit.generate.curve":"Kurvenform","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Lege eine Obergrenze f\xFCr die Bildwiederholrate fest. Die tats\xE4chliche Bildwiederholrate h\xE4ngt von deinem Ger\xE4t ab.","settings.outliner_reveal_on_select":"Ausgew\xE4hlte Elemente aufdecken","settings.outliner_reveal_on_select.desc":"Zeige Elemente im Outliner wenn diese ausgew\xE4hlt werden","settings.java_export_pivots":"Angelpunkte in Java Block/Item-Modellen exportieren","settings.java_export_pivots.desc":"Speichere Angelpunkte von Quadern ohne Drehung in Java Block/Item-Modellen","animation_controllers.state.blend_transition_curve":"\xDCbergangskurve","menu.slider.reset_vector":"Vektor zur\xFCcksetzen","dialog.blend_transition_edit.extended":"Erweiterter Graph","message.screenshot_too_large.title":"Problem mit der Aufl\xF6sung","message.screenshot_too_large.message":"Das Bildschirmfoto konnte nicht korrekt aufgezeichnet werden. Versuche es mit einer geringeren Aufl\xF6sung oder ohne Supersampling.","message.rename_elements.numbering":"Verwende Sonderzeichen, um eine Zahlenfolge zu generieren: % wird ersetzt durch den Index des Elements in dessen Gruppe, $ wird ersetzt durch den Index des Elements in der Auswahl.","generic.edit_externally":"Extern bearbeiten","message.settings_require_restart.title":"Neustart erforderlich","message.settings_require_restart.message":"Einige Einstellungen treten erst nach einem Neustart des Programms in Effekt.","message.settings_require_restart.restart_now":"Jetzt neu starten","message.settings_require_restart.restart_later":"Sp\xE4ter neu starten","message.classroom_mode.install_plugin":"Plugins k\xF6nnen im Klassenzimmermodus nicht installiert werden","dialog.collection.export_path":"Exportpfad","dialog.collection.select_all":"Alle ausw\xE4hlen","dialog.collection.select_none":"Auswahl aufheben","dialog.collection.add_with_filter":"Mit Filter hinzuf\xFCgen","dialog.collection.remove":"Entfernen","dialog.material_config.title":"Materialkonfiguration","dialog.material_config.color_value":"Farbwert","dialog.material_config.mer":"Metallhaftigkeit-Emissivit\xE4t-Rauheit","dialog.material_config.mer_value":"MER Wert","dialog.material_config.depth_type":"Art der Tiefe","dialog.create_texture.disable_mirror_uv":"UV Spiegelung deaktivieren","dialog.create_texture.disable_mirror_uv.desc":"Deaktiviert die UV Spiegelung im Gespiegelten Modellieren, um separate UV Maps auf jeder Seite des Modells zu bewahren","dialog.create_gif.turn.sync_to_anim_length":"Mit L\xE4nge der Animation abstimmen","settings.category.controls":"Steuerung","settings.classroom_mode":"Klassenzimmermodus","settings.classroom_mode.desc":"Schr\xE4nkt Funktionen wie das Installieren von Plugins ein und entfernt Links zu Sozialen Medien","settings.antialiasing_bleed_fix":"Kantengl\xE4ttungsartefakte reduzieren","settings.antialiasing_bleed_fix.desc":"Vermeidet Artefakte durch das \xDCbertreten von Texturen die durch Kantengl\xE4ttung entstehen","settings.tone_mapping":"Tonemapping","settings.tone_mapping.desc":"Ann\xE4herungsmethode f\xFCr die Darstellung von hohem Dynamikumfang auf einem normalen Bildschirm f\xFCr PBR Effekte.","settings.audio_scrubbing":"Audiovorschau bei Timelinenavigation","settings.audio_scrubbing.desc":"Spielt w\xE4hrend des Bewegens auf der Timeline kurze Audioschnipsel zur Vorschau ab","settings.viewport_rotate_speed":"Rotationsgeschwindigkeit bei Navigation","settings.viewport_rotate_speed.desc":"Empfindlichkeit der Steuerung zur Drehung bei der Navigation im Vorschaufenster","settings.viewport_zoom_speed":"Zoomgeschwindigkeit bei Navigation","settings.viewport_zoom_speed.desc":"Empfindlichkeit der Steuerung zum Zoomen bei der Navigation im Vorschaufenster","settings.editor_2d_zoom_speed":"2D Editor Zoomgeschwindigkeit","settings.editor_2d_zoom_speed.desc":"Empfindlichkeit der Steuerung beim Zoomen im UV bzw. 2D Editor","category.select":"Auswahl","action.vertex_snap_mode.rotate":"Drehen","action.export_image":"Bild exportieren","action.export_image.desc":"Exportiere Texturen als Bilddatei","action.apply_mirror_modeling":"Gespiegeltes Modellieren anwenden","action.apply_mirror_modeling.desc":"Gespiegeltes Modellieren auf die ausgew\xE4hlten Elemente anwenden. Die Elemente werden kopiert und auf die andere Seite der X-Achse gespiegelt.","action.create_collection":"Sammlung erstellen","action.create_collection.desc":"Erstelle eine Sammlung aus den ausgew\xE4hlten Elementen","action.set_collection_content_to_selection":"Auswahl als Sammlungsinhalt festlegen","action.set_collection_content_to_selection.desc":"Lege die ausgew\xE4hlten Gruppen und Elemente als Inhalt der Sammlung fest","action.add_to_collection":"Auswahl zur Sammlung hinzuf\xFCgen","action.add_to_collection.desc":"F\xFCge die ausgew\xE4hlten Gruppen und Elemente zur Sammlung hinzu","action.view_mode.material":"Materialvorschau","action.create_material":"Material erstellen","action.create_material.desc":"Erstelle ein neues PBR Material aus der ausgew\xE4hlten Textur","action.generate_pbr_map":"PBR Map generieren...","action.generate_pbr_map.desc":"Generiere eine PBR Map (H\xF6henmap, oder Metallhaftigkeit, Emissivit\xE4t, Rauheit) aus einer bestehenden Textur","menu.tools.main_tools":"Werkzeugkiste","menu.view.panels":"Panele","menu.texture.pbr_channel":"PBR Kanal","menu.texture.pbr_channel.color":"Farbe","menu.texture.pbr_channel.normal":"Normale","menu.texture.pbr_channel.height":"H\xF6he","menu.texture.pbr_channel.mer":"MER (Metall-Emission-Rauheit)","menu.texture.pbr_channel.mer_subsurface":"MER Verdeckte Lichtstreuung","menu.collection.export_project":"Projekt exportieren","menu.collection.export_as":'Exportieren als "%0"',"menu.panel.enable":"Aktivieren","menu.panel.move_to":"Verschieben","menu.panel.move_to.left_bar":"Linke Seitenleiste","menu.panel.move_to.right_bar":"Rechte Seitenleiste","menu.panel.move_to.top":"Oben","menu.panel.move_to.bottom":"Unten","menu.panel.move_to.float":"Freischwebend","menu.panel.move_to.hidden":"Verstecken","menu.panel.fold":"Einklappen","menu.mirror_painting.texture_center":"Mittelpunkt","menu.mirror_modeling.mirror_uv":"UV Spiegeln","menu.animation_onion_skin.frames":"Standbilder","menu.animation_onion_skin.select":"Auswahl","menu.animation_onion_skin.previous":"Voriger Frame","menu.animation_onion_skin.next":"N\xE4chster Frame","menu.animation_onion_skin.previous_next":"Voriger + N\xE4chster","menu.animation_onion_skin.count":"Anzahl","menu.animation_onion_skin.interval":"Intervall","menu.animation_onion_skin_selective":"Nur Auswahl","menu.animation_onion_skin_selective.desc":"Die Zwiebelschalenansicht nur f\xFCr die ausgew\xE4hlten Elemente des Modells aktivieren","edit.loop_cut.unit":"Einheit","edit.loop_cut.unit.size_units":"Gr\xF6\xDFeneinheit","edit.loop_cut.unit.percent":"Prozent","edit.extrude_mesh_selection.direction":"Richtung","edit.extrude_mesh_selection.direction.outwards":"Nach Au\xDFen","edit.extrude_mesh_selection.direction.average":"Durchschnitt","edit.extrude_mesh_selection.even_extend":"Gleichm\xE4\xDFig","edit.vertex_snap.align":"Ausrichtung","edit.vertex_snap.align.longest":"L\xE4ngste Achse","edit.vertex_snap.align.direction":"Richtung vom Angelpunkt","edit.vertex_snap.align.align_axis":"%0-Achse","edit.vertex_snap.ignore_axis":"Achse ignorieren","codec.common.format":"Format","codec.image.quality":"Qualit\xE4t","panel.collections":"Sammlungen","modifier_actions.always":"Immer aktiv","modifier_actions.unless":"Immer au\xDFer %0","settings.undo_selections":"Auswahl r\xFCckg\xE4ngig machen","settings.undo_selections.desc":"Auswahlver\xE4nderungen im Bearbeitungsverlauf speichern und bei Bedarf r\xFCckg\xE4ngig machen","action.focus_on_selection.zoom":"Gr\xF6\xDFe einpassen","display.reference.tooting":"Bockshorn beim Abspielen","settings.selection_tolerance":"Auswahltoleranz","settings.selection_tolerance.desc":"Gr\xF6\xDFe des Bereichs der zur Auswahl eines Eckpunktes oder einer Kante angeklickt werden kann","action.delete.keep_vertices":"Kanten/Eckpunkte behalten","menu.mesh":"Masche","dialog.material_config.subsurface":"Volumenstreuung","dialog.material_config.subsurface_enabled.desc":"Verwende den Transparenzkanal der MER Map f\xFCr Volumenstreuung","settings.pick_combined_color":"Farbkombination ausw\xE4hlen","settings.pick_combined_color.desc":"Mit der Farbpipette die kombinierte Farbe aller Ebenen ausw\xE4hlen, an Stelle von der Farbe der ausgew\xE4hlten Ebene","action.split_rgb_into_layers":"RGB Farbkan\xE4le in Ebenen aufteilen","action.split_rgb_into_layers.desc":"Teile die Textur in eine additive Ebene pro RGB Farbkanal auf","dialog.project.java_block_version":"Format-Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Skelett","data.armature_bone":"Knochen","generic.reload":"Neu Laden","modifier_actions.subtract":"Abziehen","modifier_actions.reduced_intensity":"Feinschliff","modifier_actions.select_bone":"Knochen ausw\xE4hlen","modifier_actions.spline_select_multiple_points":"Mehrere Punkte oder Griffe ausw\xE4hlen","modifier_actions.move_panel_without_docking":"Bewegen ohne andocken","message.save_all_textures.message":"Willst du die folgenden Texturen speichern?","message.save_all_textures.skip":"\xDCberspringen","dialog.add_spline.shape":"Form","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Dreieck","dialog.add_spline.shape.circle":"Kreis","dialog.add_spline.diameter":"Durchmesser","dialog.add_spline.sides_tubular":"Rohrsegmente","dialog.add_spline.sides_radial":"Ring Segmente","dialog.add_spline.radius":"Rohrradius","dialog.add_spline.length":"L\xE4nge","dialog.add_spline.width":"Breite","dialog.plugins.revoke_permissions":"Berechtigungen widerrufen","dialog.expression_editor.pretty_print":"Formatieren","dialog.expression_editor.minify":"Minifizieren","dialog.expression_editor.find_replace":"Finden/Ersetzen","dialog.create_gif.show_gizmos":"Gizmos und Raster aufzeichnen","dialog.preview_options.title":"Vorschau-Optionen","dialog.preview_options.background":"Hintergrund","dialog.preview_options.background.checkerboard":"Schachbrett-Muster","dialog.preview_options.background.solid":"Solide","dialog.preview_options.background.custom_color":"Benutzerdefinierte Farbe","dialog.preview_options.show_gizmos":"Gizmos anzeigen","dialog.skin.texture_source":"Textur-Quelle","dialog.skin.texture_source.template":"Vorlage generieren","dialog.skin.texture_source.load_texture":"Von Minecraft laden","dialog.skin.texture_file":"Textur Datei","dialog.convert_skin.adjust_texture":"Textur anpassen","dialog.settings.clear_profile_value":"Wert in Profil l\xF6schen","layout.section.customize":"Anpassen","layout.theme.configure":"Konfigurieren","layout.color.elevated":"Erh\xF6ht","layout.color.elevated.desc":"Angehobene UI-Elemente, in der Regel durch einen Schatten vom Hintergrund abgehoben","layout.file.watch_changes":"Zeige \xC4nderungen und lade neu","settings.autocomplete_code":"Autovervollst\xE4ndigung","settings.autocomplete_code.desc":"Vorschl\xE4ge zur Autovervollst\xE4ndigung in Code-Editoren anzeigen","settings.detect_flipbook_textures":"Animierte Texturen erkennen","settings.detect_flipbook_textures.desc":"Automatisch animierte Texturen erkennen und diese mit Animation anzeigen","settings.double_click_select_reference":"Referenzbilder per Doppelklick ausw\xE4hlen","settings.double_click_select_reference.desc":"Doppelklick in der Vorschau w\xE4hlt Referenzbilder aus","settings.default_keyframe_interpolation":"Standard-Keyframeinterpolation","settings.default_keyframe_interpolation.desc":"Der voreingestellte Interpolationsmodus f\xFCr neue Keyframes","settings.color_picker_style":"Art des Farbw\xE4hlers","settings.color_picker_style.desc":"W\xE4hle das Design des Farbw\xE4hlers im Malmodus","settings.export_asset_paths":"Pfade f\xFCr Assets exportieren","settings.export_asset_paths.desc":"Stelle ein, wie Pfade zu Assets wie Texturen oder Animationen in .bbmodel Dateien gespeichert werden","settings.export_asset_paths.relative":"Relative Pfade","settings.export_asset_paths.absolute":"Ganze Pfade","settings.export_asset_paths.both":"Relative und ganze Pfade (nur Texturen)","settings.export_asset_paths.none":"Nicht speichern","action.slider_spline_resolution":"Spline-Aufl\xF6sung %0","action.slider_spline_resolution.desc":"Spline-Aufl\xF6sung auf der %0 Achse \xE4ndern (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segmente","action.slider_spline_resolution.v.desc_precision":"Rohrsegmente","action.slider_spline_radius":"Splineradius","action.slider_spline_radius.desc":"Splineradius ver\xE4ndern","action.slider_spline_handle_tilt":"Griffneigung","action.slider_spline_handle_tilt.desc":"\xC4ndere die Neigung eines Splinegriffs","action.slider_spline_handle_size":"Griffgr\xF6\xDFe","action.slider_spline_handle_size.desc":"\xC4ndere die Gr\xF6\xDFe eines Splinegriffs","action.blend_mode.lighten":"Aufhellen","action.blend_mode.darken":"Abdunkeln","action.weight_brush":"Gewicht-Pinsel","action.weight_brush.desc":"Male die Gewichtung von Eckpunkten f\xFCr Skelettdeformationen in Maschen ein","action.convert_minecraft_skin_variant":"Konvertiere D\xFCnne/Breite Skin Varianten","action.convert_minecraft_skin_variant.desc":"Wechsle zwischen dem Skinmodell f\xFCr klassische breite Skins (Steve) oder schlanke Skins (Alex). Optional kann die Textur automatisch an das neue Modell angepasst werden","action.custom_skin_poses":"Benutzerdefinierte Skin Posen","action.custom_skin_poses.desc":"Lade ein benutzerdefiniertes Preset f\xFCr die Haltung des Modells","action.custom_skin_poses.update":"Pose aktualisieren","action.custom_skin_poses.update.desc":"\xDCberschreibe die gespeicherte Haltung mit der aktuellen Haltung des Modells","action.add_custom_skin_pose":"Benutzerdefinierte Haltung hinzuf\xFCgen","action.add_custom_skin_pose.desc":"Speichere die aktuelle Haltung des Modells als Haltungs-Preset","action.export_stl":"STL exportieren","action.export_stl.desc":"Exportiere das Modell als STL Datei f\xFCr den 3D-Druck","action.add_element":"Element hinzuf\xFCgen","action.add_element.desc":"F\xFCge ein neues Element aus der Liste der Arten von Elementen zum Projekt hinzu","action.add_spline":"Spline hinzuf\xFCgen","action.add_spline.desc":"F\xFCgt einen neuen Spline hinzu","action.add_billboard":"Billboard hinzuf\xFCgen","action.add_billboard.desc":"F\xFCgt ein neues Billboard hinzu, ein flaches Element, das sich stets zur Kamera ausrichtet","action.add_armature":"Skelett hinzuf\xFCgen","action.add_armature.desc":"F\xFCgt ein Skelett hinzu, das durch Animation Maschen verformen und animieren kann","action.add_armature_bone":"Knochen hinzuf\xFCgen","action.add_armature_bone.desc":"F\xFCgt einen Knochen zum Skelett hinzu","action.search_textures":"Suche Texturen","action.search_textures.desc":"Suche Texturen nach Namen","action.search_animations":"Suche Animationen","action.search_animations.desc":"Suche Animationen nach Namen","action.spline_selection_mode":"Spline Auswahlmodus","action.spline_selection_mode.object":"Objekt","action.spline_selection_mode.handles":"Griffe","action.spline_render_mode":"Geometrisch","action.spline_render_mode.mesh":"Masche","action.spline_render_mode.path":"Pfad","action.spline_render_mode.desc":"Die Art der Form, in der der Spline gerendert wird","action.spline_uv_mode":"UV Modus","action.spline_uv_mode.length_accurate":"Nach L\xE4nge","action.spline_uv_mode.uniform":"Einheitlich","action.spline_uv_mode.per_segment":"Pro Segment","action.spline_uv_mode.desc":"In welcher Art die UVs eines Spline-Rohrs angeordnet werden sollen.","action.spline_ring_segments":"Ringsegmente","action.spline_ring_segments.desc":"Anzahl der Unterteilungen des Splines pro Ring","action.spline_tube_segments":"Rohrsegmente","action.spline_tube_segments.desc":"Anzahl der Unterteilung des Splines entlang des Pfades","action.spline_tube_radius":"Rohr-Radius","action.spline_tube_radius.desc":"Stelle den Rohr-Radius des Splines ein","action.spline_display_space":"R\xE4umlichkeit anzeigen","action.spline_display_space.desc":"R\xE4umlichkeitsanzeiger entlang des Splinepfades einblenden","action.spline_handle_mode":"Spline-Griffmodus","action.spline_handle_mode.desc":"Der Modus zur Transformation der Spline-Griffe","action.spline_handle_mode.aligned":"B\xFCndig","action.spline_handle_mode.free":"Frei","action.spline_handle_mode.mirrored":"Gespiegelt","action.slider_weight_brush_size":"Gewicht-Pinsel: Gr\xF6\xDFe","action.weight_brush_xray":"Gewicht-Pinsel: XRay-Modus","action.weight_brush_xray.desc":"Wenn aktiv, wird der Gewicht-Pinsel alle Eckpunkte erreichen, auch die, die nicht sichtbar auf der Oberfl\xE4che liegen","action.apply_spline_rotation":"Rotation anwenden","action.apply_spline_rotation.desc":"Die Dregung des Splines zur\xFCcksetzen und stattdessen auf dessen Geometrie anwenden","action.extrude_spline_selection":"Spline Extrudieren","action.extrude_spline_selection.desc":"Splines an ausgew\xE4hlten Griffen extrudieren","action.split_spline":"Spline trennen","action.split_spline.desc":"Den Spline an der Position des ausgew\xE4hlten Griffs in zwei Teile zerteilen","action.divide_spline_curve":"Splinesegment aufteilen","action.divide_spline_curve.desc":"Das Splinesegment in zwei neue Segmente mit neuem Griff am Schnittpunkt aufteilen","action.set_vertex_weights":"Eckpunktgewichtungen festlegen","action.set_vertex_weights.desc":"Die Gewichtungen der ausgew\xE4hlten Eckpunkte auf einem bestimmten Knochen auf einen festen Wert setzen","action.calculate_vertex_weights":"Eckpunktgewichtungen errechnen","action.calculate_vertex_weights.desc":"Automatische Eckpunktgewichtungen anhand der Positionen der Knochen berechnen","action.shelf_alignment":"Ausrichtung in Regal","action.shelf_alignment.desc":"Stelle die vertikale Ausrichtung des Items in einem Regal ein","action.shelf_alignment.top":"Oben ausgerichtet","action.shelf_alignment.bottom":"Unten ausgerichtet","action.view_mode.vertex_weight":"Vertex-Gewichtung","action.view_mode.weighted_bone_colors":"Gewichtete Knochenfarben","action.create_animation_group":"Animationsgruppe hinzuf\xFCgen","action.create_animation_group.desc":"Erstelle eine Gruppe aus Animationen","action.move_graph_keyframes_up":"Keyframegraph nach oben bewegen","action.move_graph_keyframes_down":"Keyframegraph nach uten bewegen","menu.skin":"Skin","menu.text_edit.expression_editor":"Ausdruckseditor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Animierte Textur","menu.panel.attach_to":"Anh\xE4ngen an","menu.animation.playing":"Wiedergabe","menu.animation_file.save_as":"Speichern unter","menu.animator.quaternion_interpolation":"Quaternionen-Interpolation","edit.extrude_spline_selection.extend":"Verl\xE4ngern","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binden","group.cem_attach":"CEM Anheften","group.cem_model":"CEM Modell","group.cem_scale":"CEM Skalierung","cube.rescale":"Vergr\xF6\xDFerung","cube.rescale.desc":"Quader vergr\xF6\xDFern, um ihre Drehung auszugleichen","mesh.shading":"Schattierung","mesh.shading.flat":"Flach","mesh.shading.smooth":"Glatt","spline_mesh.cyclic":"Geschlossen","spline_mesh.cyclic.desc":"Ob der Spline eine geschlossene Schlaufe bilden soll","billboard.offset":"Versatz","billboard.facing_mode":"Ausrichtung","billboard.facing_mode.lookat":"Draufsicht","billboard.facing_mode.lookat_y":"Draufsicht Y","billboard.facing_mode.rotate":"Rotierend","billboard.facing_mode.rotate_y":"Drehen Y","armature_bone.connected":"Verbunden","reference_image.blueprint":"Angeheftete Blaupause","codec.image.alpha_channel":"Alphakanal","codec.image.animation_fps":"Animations-FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Effektdatei \xE4ndern","panel.transform":"Transformiere","panel.element.spline_dimensions":"Splinedimensionen","display.slot.on_shelf":"Regal","display.reference.shelf":"Regal (Alle Slots)","display.reference.shelf_left":"Regal (Linker Slot)","display.reference.shelf_center":"Regal (Mittlerer Slot)","display.reference.shelf_right":"Regal (Rechter Slot)","message.newer_project_format_version.title":"Veraltetes Programm","message.newer_project_format_version.message":"Die Datei wurde in einer neueren Version von Blockbench gespeichert. Update Blockbench auf die Version %0 oder neuer, um die Datei korrekt \xF6ffnen zu k\xF6nnen","message.load_images.add_layer":"Als Ebene hinzuf\xFCgen","message.load_images.category.add_to_project":"Zu Projekt hinzuf\xFCgen","message.load_images.category.new_project":"Neues Projekt","message.load_palette.title":"Palette laden","message.load_palette.message":"Bist du die sicher, dass du diese Palette laden m\xF6chtest? Dadurch wird die aktuelle Palette ersetzt werden.","dialog.set_vertex_weights.weight":"Gewichtung","dialog.set_vertex_weights.overwrite":"Andere Knochen \xFCberschreiben","action.element_render_order.short":"Rendering-Reihenfolge","action.element_render_order.desc":"Die Rendering-Reihenfolge von Elementen. Diese kann verwendet werden, um Probleme zu beheben, bei denen Elemente hinter anderen Elementen mit transparenter Textur nicht mehr angezeigt werden. Verwende die Option Auto f\xFCr undurchsichtige Elemente.","spline.shading.flat":"Flach","spline.shading.smooth":"Glatt","spline.shading":"Schattierung","spline.shading.desc":"Die Schattierung des Splinerohrs","action.slider_weight_brush_limit":"Gewicht-Pinsel: Limit","action.slider_weight_brush_limit.desc":"Das obere Limit, f\xFCr wieviel Gewichtung der Gewicht-Pinsel einem Eckpunkt zuweisen kann","action.weight_brush_blend_mode":"Gewicht-Pinsel: Mischmodus","action.weight_brush_blend_mode.set":"Festlegen","action.weight_brush_blend_mode.add":"Addieren","action.apply_texture_to_elements":"Textur auf Elemente anwenden","action.apply_texture_to_elements.desc":"Die ausgew\xE4hlte Textur auf die ausgew\xE4hlten Elemente anwenden","menu.panel.reset_size":"Gr\xF6\xDFe zur\xFCcksetzen","action.import_layer":"Ebene importieren","action.import_layer.desc":"Bilddateien als Ebenen importieren","menu.collection.open_file":"Datei \xF6ffnen","layout.version":"Version","settings.status_bar_transform_sliders":"Transformationsinputs in Statusleiste anzeigen","settings.status_bar_transform_sliders.desc":"Zeigt die Transform Input Werkzeugleiste des ausgew\xE4hlten Werkzeuges in der Statusleiste statt in Transformierpanel an","settings.default_bedrock_format":"Standard-Bedrockformat","settings.default_bedrock_format.desc":"Das Standardformat, das verwendet wird, um Bedrock Modelle zu laden, wenn durch den Kontext kein bestimmtes Format ersichtlich ist.","settings.limit_brush_opacity_per_stroke":"Pinseldeckkraft pro Pinsenstrich begrenzen","settings.limit_brush_opacity_per_stroke.desc":"Begrenze die Deckkraft innerhalb eines einzelnen Pinsenstriches auf den Wert des Deckkraftreglers. Bei Verwendung eines weichen Pinsels kann hierbei ungewolltes Bildrauschen entstehen.","action.merge_splines":"Splines kombinieren","action.merge_splines.desc":"Kombiniere mehrere Splines zu einem","settings.default_java_block_version":"Standard Java Block/Item Version","settings.default_java_block_version.desc":"Voreingestellte Formatversion wenn ein neues Java Block/Item Modell erstellt wird, oder ein bestehendes ohne Version ge\xF6ffnet wird","data.bounding_box":"Begrenzungsbox","keys.option":"Option","keys.slide_lmb_horizontal":"Linksklick horizontal ziehen","keys.slide_lmb_vertical":"Linksklick vertikal ziehen","keys.slide_rmb_horizontal":"Rechtsklick horizontal ziehen","keys.slide_rmb_vertical":"Rechtsklick vertikal ziehen","message.recover_backup.unknown_project":"Unbekanntes Projekt","message.recover_backup.discard_others":"Alle anderen verwerfen","message.unsupported_file_extension.title":"Dateiformat nicht unterst\xFCtzt","message.unsupported_file_extension.message":"Die Datei %0 kann nicht ge\xF6ffnet werden, das Format wird nicht unterst\xFCtzt. Eventuell wird ein Plugin ben\xF6tigt.","message.unsupported_file_extension.open_in_default_program":"In Standardprogramm \xF6ffnen","dialog.project.uv_size":"UV Gr\xF6\xDFe","dialog.collection.offset":"Versatz","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Bilder pro Sekunde f\xFCr die Wiedergabe animierter Texturen","dialog.edit_uv_size.title":"UV Gr\xF6\xDFe \xE4ndern","dialog.edit_uv_size.target":"Ziel","dialog.edit_uv_size.adjust":"Anpassen","dialog.edit_uv_size.adjust.adjust_uv":"UV kontern","dialog.edit_uv_size.adjust.adjust_scale":"UV & Skalierung kontern","dialog.edit_uv_size.adjust.keep":"UV beibehalten","dialog.edit_uv_size.target_size":"Neue UV Gr\xF6\xDFe","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Von Textur \xFCbernehmen","dialog.edit_uv_size.result":"Ergebnis","dialog.edit_uv_size.result.textures":"Texturen","dialog.adjust_brightness_contrast.brightness":"Helligkeit","dialog.adjust_brightness_contrast.contrast":"Kontrast","dialog.adjust_saturation_hue.saturation":"S\xE4ttigung","dialog.adjust_saturation_hue.hue":"Farbton","dialog.adjust_opacity.mode":"Modus","dialog.adjust_opacity.mode.multiply":"Multiplizieren","dialog.adjust_opacity.mode.set":"Festwert","dialog.bedrock_bounding_box.type":"Typ","dialog.bedrock_bounding_box.type.collision_box":"Kollision","dialog.bedrock_bounding_box.type.selection_box":"Auswahlbox","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Hinweis: Entity-Hitboxen funktionieren nur bis zu einer bestimmten Gr\xF6\xDFe und passen sich unter Umst\xE4nden nicht der Drehung des Entity im Spiel an.","dialog.bedrock_bounding_box.collision_note":"Hinweis: Entity-Kollisionsboxen unterst\xFCtzen nur eine zentrierte Box mit gleicher L\xE4nge und Breite.","dialog.bedrock_bounding_box.no_bounding_boxes":"In diesem Projekt sind keine Begrenzungsboxen vorhanden","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Installiere mehrere Plugins aus einer Liste von IDs. Bitte \xFCberpr\xFCfe, ob du wirklich alle Plugins ben\xF6tigst. Wenn nicht verwendete Plugins installiert bleiben, kann das unter Umst\xE4nden zu Fehlern und Kompatibilit\xE4tsproblemen mit zuk\xFCnftigen Updates f\xFChren.","dialog.copy_installed_plugins.details":"Mit Details","dialog.flip_animation.phase_offset":"Phasenversatz","dialog.flip_animation.phase_offset.off":"Aus","dialog.flip_animation.phase_offset.custom":"Anderer Wert","dialog.flip_animation.clear_opposite":"Gegenseite \xFCberschreiben","settings.flipbook_textures_in_animation":"Animierte Texturen in Animationen abspielen","settings.flipbook_textures_in_animation.desc":"Spielt Animierte Texturen zur Vorschau synchron mit der Animationszeitleiste ab","settings.display_uv":"UV Fl\xE4chen anzeigen","settings.display_uv.desc":"W\xE4hle aus, welche UV Fl\xE4chen im UV Editor angezeigt werden","settings.display_uv.selected_faces":"Nur ausgew\xE4hlte Fl\xE4chen","settings.display_uv.selected_elements":"Alle Fl\xE4chen aller ausgew\xE4hlter Elemente","settings.display_uv.all_elements":"Alle Fl\xE4chen aller Elemente","settings.local_position_values":"Lokale Positionswerte","settings.local_position_values.desc":"Verwende Lokale Werte f\xFCr die Positions im Transformationspanel","settings.transform_cube_from_center":"Quader von der Mitte aus positionieren","settings.transform_cube_from_center.desc":"Die Position von Quadern von der Mitte statt von der Ecke aus ver\xE4ndern","settings.color_picker_tool_switch":"Werkzeugwechsel durch Farbpipette","settings.color_picker_tool_switch.desc":"Wechselt zum Radiergummiwerkzeug, wenn mit der Farbpipette ein transparenter Pixel ausgew\xE4hlt wird. Wechsle zur\xFCck zum Pinsel, wenn eine Farbe ausgew\xE4hlt wird","keybind.preview_scroll_zoom":"Ansicht zoomen","keybind.uv_editor_scroll_zoom":"UV / 2D Editor zoomen","action.blend_mode.alpha_mask":"Alphamaske","action.swap_tools.hold":"Gedr\xFCckthalten zum Wechseln (Farbpipette)","action.import_bedrock_voxel_shape":"Bedrock Voxelform importieren","action.import_bedrock_voxel_shape.desc":"Importiere eine Voxelform aus einer JSON Datei in das ge\xF6ffnete Projekt","action.export_bedrock_voxel_shape":"Bedrock Voxelform exportieren","action.export_bedrock_voxel_shape.desc":"Exportiere die Begrenzungsboxen im ge\xF6ffneten Projekt als Bedrock Voxelform","action.plugins_window_menu":"Men\xFC","action.copy_installed_plugins":"Installierte Plugins kopieren","action.copy_installed_plugins.desc":"Generiert und kopiert eine Liste aller installierter Plugins","action.install_plugins_from_list":"Plugins von Liste installieren","action.install_plugins_from_list.desc":"Installiert Plugins aus einer Liste von Plugin IDs","action.add_bounding_box":"Begrenzungsbox hinzuf\xFCgen","action.add_bounding_box.desc":"F\xFCgt eine neue Begrenzungsbox hinzu","action.split_alpha_into_layer":"Alphakanal in neue Ebene teilen","action.split_alpha_into_layer.desc":"Teilt den Alphakanal der Textur in eine Farbebene und eine Alphamaske","action.generate_bedrock_block_box":"Kollisions-/Auswahlkomponente kopieren","action.generate_bedrock_block_box.desc":"Generiert eine Kollisions- oder Auswahlkomponente f\xFCr Minecraft Bedrock Edition Bl\xF6cke","action.generate_bedrock_entity_box":"Kollisions-/Hitboxkomponente kopieren","action.generate_bedrock_entity_box.desc":"Generiert eine Kollisions- oder Custom-Hit-Test Komponente f\xFCr Minecraft Bedrock Edition Entities","action.refresh_texture":"Texture neu laden","action.refresh_texture.desc":"Die Textur neu von der Datei laden","action.move_uv_to_cursor":"UV zum Cursor bewegen","action.move_uv_to_cursor.desc":"Bewegt die ausgew\xE4hlten UV Fl\xE4chen zur position des Mauscursors","action.edit_mode_uv_overlay":"Alle Elemente anzeigen","action.round_keyframe_values":"Keyframewerte runden","action.round_keyframe_values.desc":"Runde alle Werte der ausgew\xE4hlten Keyframes","action.keyframe_column_create.all_channels":"Alle Kan\xE4le","action.keyframe_column_create.all_channels.desc":"Alle Kan\xE4le mit Keyframes initialisieren, auch wenn diese bisher noch keine Keyframes hatten","action.add_all_to_timeline":"Alle zur Zeitleiste hinzuf\xFCgen","action.mirror_animating":"Gespiegeltes Animieren","action.mirror_animating.desc":"Spiegelt \xC4nderungen an Animationen automatisch auf die Gegenseite","action.copy_animation_pose":"Animations-Pose kopieren","action.copy_animation_pose.desc":"Kopiert alle Keyframes, um die aktuelle Animations-Pose zu replizieren","menu.texture.file_format":"Dateiformat","menu.texture.wrap_mode":"Ausweitungsmodus","menu.texture.wrap_mode.limited":"Begrenzt","menu.texture.wrap_mode.repeat":"Wiederholen","menu.texture.wrap_mode.clamp":"Kanten strecken","edit.reparent_selection.adjust_position":"Globale Transformation erhalten","texture_mesh.texture_name":"Texturenname","display.slot.embedded":"Eingebettet","display.animate_preview":"Vorschauanimation","display.reference.flower_pot":"Blumentopf"};var kL={language_name:"English","dialog.ok":"OK","dialog.cancel":"Cancel","dialog.confirm":"Confirm","dialog.close":"Close","dialog.yes":"Yes","dialog.no":"No","dialog.import":"Import","dialog.save":"Save","dialog.discard":"Discard","dialog.continue":"Continue","dialog.ignore":"Ignore","dialog.ignore_all":"Ignore All","dialog.dontshowagain":"Don't Show Again","dialog.copy_to_clipboard":"Copy to clipboard","dialog.open_url":"Open URL","dialog.copied_to_clipboard":"Copied to clipboard","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","data.cube":"Cube","data.locator":"Locator","data.null_object":"Null Object","data.mesh":"Mesh","data.texture_mesh":"Texture Mesh","data.spline_mesh":"Spline","data.billboard":"Billboard","data.bounding_box":"Bounding Box","data.group":"Group","data.armature":"Armature","data.armature_bone":"Armature Bone","data.texture":"Texture","data.texture_group":"Texture Group","data.animation":"Animation","data.layer":"Layer","data.origin":"Pivot","data.plugin":"Plugin","data.preview":"Preview","data.panel":"Panel","data.toolbar":"Toolbar","data.separator":"Separator","data.separator.spacer":"Spacer","data.separator.linebreak":"Line Break","data.image":"Image","data.format":"Format","data.effect":"Effect","data.color":"Color","data.setting":"Setting","data.settings_profile":"Profile","data.reference_image":"Reference Image","data.file_path":"File Path","generic.delete":"Delete","generic.remove":"Remove","generic.rename":"Rename","generic.import":"Import","generic.export":"Export","generic.share":"Share","generic.download":"Download","generic.search":"Search","generic.help":"Help","generic.name":"Name","generic.default":"Default","generic.all":"All","generic.none":"None","generic.unset":"Unset","generic.enable":"Enable","generic.disable":"Disable","generic.redacted":"Redacted","generic.reset":"Reset","generic.restore":"Restore","generic.reload":"Reload","generic.select_all":"Select All","generic.select_none":"Select None","generic.delete_all":"Delete All","generic.edit_externally":"Edit Externally","generic.on":"On","generic.off":"Off","generic.left":"Left","generic.right":"Right","generic.navigate_forward":"Forward","generic.navigate_back":"Back","generic.error":"Error","generic.confirm_delete":"Are you sure you want to delete this?","dates.today":"Today","dates.yesterday":"Yesterday","dates.this_week":"This Week","dates.weeks_ago":"%0 weeks ago","dates.minute":"%0 Minute","dates.minutes":"%0 Minutes","dates.hour":"%0 Hour","dates.hours":"%0 Hours","dates.day":"%0 Day","dates.days":"%0 Days","dates.week":"%0 Week","dates.weeks":"%0 Weeks","dates.year":"%0 Year","dates.years":"%0 Years","units.pixels_per_meter":"%0 Pixels per Meter","mode.edit":"Edit","mode.paint":"Paint","mode.display":"Display","mode.animate":"Animate","mode.pose":"Pose","mode.start.new":"New","mode.start.recent":"Recent","mode.start.no_recents":"No recently opened models","mode.start.recent.favorite":"Mark as Favorite","mode.start.info":"Info","mode.start.target":"Target","mode.start.start":"Start","mode.start.create_new":"Create New Model","mode.start.format.informations":"Good to know:","mode.start.format.resources":"Resources:","mode.start.quick_setup":"Quick Setup","mode.start.keymap_preference.desc":"If you are new to Blockbench and you are coming from another 3D program, you can select a keymap to make your transition easier. You can change the keymap or individual keybindings later in the settings.","mode.start.keymap":"Keymap","mode.start.quick_setup.more_themes":"More...","projects.new_tab":"New Tab","projects.start_screen":"Start Screen","projects.close_tab":"Close Tab","format.free":"Generic Model","format.free.desc":"Model without restrictions. For game engines, rendering etc.","format.free.info.3d_printing":"3D Printing","format.free.info.meshes":"In this format, you can create low poly models using cubes and custom shaped meshes.","format.free.info.limitation":"Models cannot be loaded into games that need specialized formats, such as Minecraft.","format.skin":"Minecraft Skin","format.skin.desc":"Edit player and entity skins","format.skin.info.skin":"This format is designed to create Minecraft skins and entity textures.","format.skin.info.model":"The model cannot be changed. In order to make changes to the model, first convert to a different format via **File** > **Convert Project**.","format.java_block":"Java Block/Item","format.java_block.desc":"Block or item model for Minecraft Java Edition.","format.java_block.info.rotation":"Rotations are limited to one axis per element","format.java_block.info.size":"The model is limited to a size of 3 by 3 by 3 blocks. Display settings can make item models larger though","format.java_block.info.animation":"This format does not support animations in vanilla Minecraft. If you are creating a mod, you can use GeckoLib to animate models. If not, the only way to animate is to switch out the model using commands or animated textures.","format.bedrock":"Bedrock Entity","format.bedrock.desc":"Minecraft Bedrock Edition model for entities and item attachables","format.bedrock.info.textures":"Each model can only have one texture","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Block model for Minecraft Bedrock Edition","format.bedrock_old":"Bedrock Legacy Model","format.bedrock_old.desc":"Pre-1.12 Minecraft Bedrock Edition entity model","format.bedrock_block.info.size_limit":"Size total size of a block is limited to 30 pixels in all dimensions. The limit can be off-centered in all directions by 7 pixels from the block center.","format.bedrock_block.info.textures":"Multiple textures can be applied to different cubes in Blockbench, but require additional setup in the behavior pack to work correctly in-game.","format.modded_entity":"Modded Entity","format.modded_entity.desc":"Entity model for Minecraft mods. Can be exported as .java class files.","format.modded_entity.info.integer_size":"The size of individual cubes is limited to integers.","format.modded_entity.info.format":"Models are written in Java code instead of dedicated data structures like all other Blockbench export formats.","format.optifine_entity":"OptiFine Entity","format.optifine_entity.desc":"Custom entity model for the OptiFine mod","format.optifine_entity.info.optifine_required":"Users without OptiFine installed won't see the model.","format.optifine_entity.info.pivots":"Bone pivots are locked, so it is a good idea to leave them untouched.","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"JPM part for OptiFine entity models","format.image":"Image","format.image.desc":"Edit images in the 2D image editor","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","format_category.general":"General","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Other","format_category.loaders":"Loaders","keys.mouse":"Mouse Button %0","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.option":"Option","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"Space","keys.leftclick":"Left Click","keys.middleclick":"Middle Click","keys.rightclick":"Right Click","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"Contextmenu","keys.left":"Left","keys.up":"Up","keys.right":"Right","keys.down":"Down","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Plus","keys.comma":"Comma","keys.point":"Point","keys.minus":"Minus","keys.cross":"Cross","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","keys.mousewheel":"Mousewheel","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","status_bar.saved":"Model is saved","status_bar.recording":"Recording Timelapse","status_bar.unsaved":"There are unsaved changes","status_bar.vertex_distance":"Distance: %0","status_bar.recording_gif":"Recording","status_bar.processing_gif":"Processing","status_bar.toggle_sidebar":"Toggle Sidebar","status_bar.selection.faces":"%0 Faces","status_bar.selection.edges":"%0 Edges","status_bar.selection.vertices":"%0 Vertices","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","modifier_actions.resize_both_sides":"Resize in both directions","modifier_actions.resize_one_side":"Resize in one direction","modifier_actions.draw_line":"Draw line","modifier_actions.set_copy_source":"Set Copy Source","modifier_actions.drag_without_snapping":"Drag without snapping","modifier_actions.stretch_keyframes":"Stretch keyframes","modifier_actions.resize_background":"Resize background","modifier_actions.select_multiple":"Select multiple","modifier_actions.select_range":"Select range","modifier_actions.drag_to_duplicate":"Drag to duplicate","modifier_actions.uniform_scaling":"Uniform Scaling","modifier_actions.no_uniform_scaling":"Free Scaling","modifier_actions.snap_direction":"Snap Direction","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.canvas_limit_error.title":"Canvas Limit Error","message.canvas_limit_error.message":"The action could not be performed correctly because the format limits the canvas to 48 units. Shift the pivot point to prevent this.","message.rotation_limit.title":"Rotation Limits","message.rotation_limit.message":'Rotations are limited by Minecraft to one axis. Rotating on a different axis will clear all rotations on the other axes. Convert the model to "Generic Model" if you are modeling for other purposes and need free rotations.',"message.file_not_found.title":"File Not Found","message.file_not_found.message":"Blockbench could not find the requested file. Make sure it is saved locally and not in a cloud.","message.recover_backup.title":"Recover Models","message.recover_backup.message":"Blockbench was closed without saving. Do you want to recover the models?","message.recover_backup.recover":"Recover","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.screenshot.title":"Screenshot","message.screenshot.clipboard":"Clipboard","message.screenshot.right_click":"Right click or long press the screenshot to copy","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.invalid_file.title":"Invalid File","message.invalid_file.message":"Could not open json file: %0","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","message.invalid_model.title":"Invalid Model File","message.invalid_model.message":"This file does not contain valid model data.","message.invalid_format.title":"Invalid Format","message.invalid_format.message":"This model was made in the format '%0', which is not available in your Blockbench installation. You most likely need a specific plugin to open it correctly.","message.invalid_format.install_plugin":"Install plugin '%0'","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","message.cannot_re_import.title":"Model cannot be re-imported","message.cannot_re_import.message":"The exported model format cannot be imported into Blockbench again. Please make sure to save your model as a project file.","message.outdated_client.title":"Outdated client","message.outdated_client.message":"Please update to the latest version of Blockbench to do this.","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.child_model_only.title":"Empty Child Model","message.child_model_only.message":"This file is a child of %0 and does not contain a model.","message.child_model_only.open":"Open Parent","message.child_model_only.open_with_textures":"Open Parent & Adopt Textures","message.invalid_link":"Invalid or Expired Model Link","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.delete_reference_image":"Are you sure you want to delete this reference image? This cannot be undone.","message.add_reference_image.message":"Select where to load the reference image","message.add_reference_image.project":"Add to this project","message.add_reference_image.app":"Add to all projects","message.plugin_dependencies.title":"Plugin Dependencies","message.plugin_dependencies.message1":"The plugin requires these dependencies:","message.plugin_dependencies.message1_update":"The plugin %0 has been updated and now requires these dependencies:","message.plugin_dependencies.message2":"Do you want to install them to continue?","message.plugin_dependencies.invalid":"Unfortunately the plugin cannot be installed, it has an invalid dependency:","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.model_clipping.title":"Model Too Large","message.model_clipping.message":"Your model contains %0 cubes that are larger than the blocks limit allowed by Minecraft. This model will not work in Minecraft.","message.invalid_builtin_parent.title":"Invalid Built-in Parent","message.invalid_builtin_parent.message":"The link to the invalid parent model '%0' was removed in order to export a valid model.","message.cleared_blank_faces.title":"Blank Faces","message.cleared_blank_faces.message":"Blockbench has found %0 cubes without any texture. Do you want to remove those elements?","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.loose_texture.title":"Texture Import","message.loose_texture.message":"The imported texture is not contained in a resource pack. Minecraft can only load textures inside the textures folder of a loaded resource pack.","message.loose_texture.change":"Change Path","message.invalid_characters.title":"Invalid Path","message.invalid_characters.message":"The path of the imported file contains invalid characters, uppercase letters, or white spaces. The supported characters are: %0","message.update_res.title":"Texture Resolution","message.update_res.message":"Would you like to update the project resolution to the resolution of this texture? Click 'Cancel' if your texture has a higher resolution than normal.","message.update_res.update":"Update","message.bedrock_overwrite_error.message":"Blockbench cannot combine this model with the old file","message.bedrock_overwrite_error.backup_overwrite":"Create Backup and Overwrite","message.bedrock_overwrite_error.overwrite":"Overwrite","message.close_warning.message":"Do you want to save your model?","message.close_warning.web":"Your current work will be lost. Are you sure you want to quit?","message.default_textures.title":"Default Textures","message.default_textures.message":'Select the "textures"-folder of the default resource pack',"message.default_textures.detail":`Extract the default resource pack from the Minecraft jar or google and download it. Then locate the "textures" folder and open it. Blockbench will remember that location and try to fetch textures from there if it can't find them in the current resource pack.`,"message.default_textures.current":"Current path","message.default_textures.select":'Select default "textures"-folder',"message.square_textures":"Textures have to be square","message.unsaved_textures.title":"Unsaved Textures","message.unsaved_textures.message":"Your model has unsaved textures. Make sure to save them and paste them into your resource pack in the correct folder.","message.unsaved_texture.title":"Unsaved Texture","message.unsaved_texture.message":"All unsaved changes to this texture will be lost. Do you want to proceed?","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","message.update_notification.title":"Could not Install Update","message.update_notification.message":"A new Blockbench version is available. Please enable Automatic Updates in the settings in order to update!","message.update_after_restart":"The update will be installed after the next restart","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","message.import_particle_texture.import":"Import Particle Texture","message.import_particle_texture.message":"Would you like to import a texture file to be used for your particle?","message.image_editor.title":"Select an image editor","message.image_editor.file":"Select File...","message.image_editor.exe":"Select image editor executable","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.image_editor_missing.title":"Default Image Editor","message.image_editor_missing.message":"Select the executable file of your image editor.","message.image_editor_missing.detail":"Blockbench couldn't find an image editor on your computer. Select the executable file of your preferred image editor.","message.delete_animation.title":"Delete Animation","message.delete_animation.message":"The animation was removed from Blockbench. Do you also want to delete the animation from the file that is was saved in?","message.save_codec_selector.title":"Save Model Format","message.save_codec_selector.message":"Select a format to save the model in.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"Both","message.display_skin.title":"Minecraft Skin","message.display_skin.message":"Select a skin file from your computer or enter a player name","message.display_skin.upload":"Select File","message.display_skin.username":"Username (Java)","message.display_skin.reset":"Reset","message.display_skin.invalid_name":'Cannot find Minecraft account with the name "%0".',"message.display_skin_model.title":"Skin Model","message.display_skin_model.message":"Chose the model type of your skin","message.display_skin_model.classic":"Classic","message.display_skin_model.slim":"Slim","message.invalid_plugin":"Invalid Plugin File, See Console","message.load_plugin_app":"Do you want to allow this plugin to make changes to your PC? Only load plugins from authors you trust.","message.load_plugin_web":"Do you want to load this plugin? Only load plugins from authors you trust.","message.plugin_reload":"Reloaded %0 local plugins","message.installed_plugin":"Successfully installed the plugin %0","message.installed_plugin_fail":"Failed to installed the plugin %0","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","message.preset_no_info":"Preset does not contain information for this slot","message.restart_to_update":"Restart Blockbench to apply changes","message.save_file":"Saved as %0","message.untextured":"This surface does not have a texture","message.sketchfab.name_or_token":"Please enter your Sketchfab token and a name","message.sketchfab.success":"Uploaded model successfully","message.sketchfab.error":"Failed to upload model to Sketchfab","message.sketchfab.setup_guide":"Want to learn how to set up models in Sketchfab? Read %0","message.removed_faces":"Removed %0 faces","message.add_to_palette":"Added to palette","message.size_modifiers":"Hold down Ctrl or Shift to transform in smaller increments.","message.load_keymap":"Are you sure you want to load this keymap? This will overwrite your current keybindings.","message.keymap_loaded":"Keymap loaded","message.no_animation_to_import":"No animations to import","message.copy_paste_tool_viewport":"This tool can only be used in the 2D editor","message.no_valid_elements":"No valid elements selected...","message.palette_locked":"The palette is locked","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.wireframe.enabled":"Wireframe view enabled","message.wireframe.disabled":"Wireframe view disabled","message.timelapse_start":"Timelapse started","message.timelapse_stop":"Timelapse stopped","message.no_animation_selected":"You have to select an animation to do this","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","message.bone_material":"Change bone material","message.no_bone_selected":"You have to select a bone to do this","message.duplicate_groups.title":"Bone Name Duplicate","message.duplicate_groups.message":"The name of this bone exists on multiple bones. This can cause problems.","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.small_face_dimensions.title":"Incompatible Face Dimensions","message.small_face_dimensions.message":"The selection contains faces that are smaller than 1 unit in one direction. The Box UV mapping system considers any faces below that threshold as 0 pixels wide. The texture on those faces therefore may not work correctly.","message.small_face_dimensions.face_uv":'The current format supports per-face UV maps which can handle small face dimensions. Right click the affected cubes and change "UV Mode" to "Per-face UV".',"message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.merged_vertices":"Found and merged %0 vertices in %1 locations","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","message.load_images.title":"Load Images","message.load_images.edit_image":"Edit Image","message.load_images.add_image":"Add Image","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.import_palette.selection_only":"Selection only","message.import_palette.replace_palette":"Replace old palette","message.import_palette.threshold":"Merge Threshold","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","message.load_plugin_failed.title":"Failed to load plugin","message.load_plugin_failed.message":"Ensure that the base file name of the plugin matches the plugin ID `%0`, as specified in Plugin.register().","message.invalid_session.title":"Invalid Session Token","message.invalid_session.message":"The session you are trying to join has expired or the token provided is invalid.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","dialog.project.title":"Project","dialog.project.name":"File Name","dialog.project.parent":"Parent Model","dialog.project.geoname":"Model Identifier","dialog.project.credit":"Credit","dialog.project.java_block_version":"Format Version","dialog.project.modded_entity_version":"Export Version","dialog.project.modded_entity_entity_class":"Entity Class","dialog.project.modded_entity_flip_y":"Flip Y Axis","dialog.project.ao":"Ambient Occlusion","dialog.project.uv_mode":"UV Mode","dialog.project.default_uv_mode":"Default UV Mode","dialog.project.default_uv_mode.description":"Default UV Mode of the project. The UV mode can also be changed per cube.","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-face UV","dialog.project.texture_size":"Texture Size","dialog.project.uv_size":"UV Size","dialog.project.shadow_size":"Shadow Size","dialog.convert_project.title":"Convert Project","dialog.convert_project.text1":"Convert the project into a different format.","dialog.convert_project.text2":"Use conversion at your own risk. Formats have different features and restrictions, so converting will in some cases break parts of your project.","dialog.convert_project.text3":"You cannot undo converting, that is why by default a copy will be created.","dialog.convert_project.current_format":"Current Format","dialog.convert_project.create_copy":"Create Copy","dialog.select_texture.import_all":"Import All","dialog.export_options.title":"Export Options","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"The following projects contain unsaved changes. Do you want to save your changes?","dialog.unsaved_work.discard_all":"Discard All","dialog.unsaved_work.save_all":"Save All","dialog.collection.export_path":"Export Path","dialog.collection.offset":"Offset","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.texture.title":"Texture","dialog.texture.variable":"Variable","dialog.texture.namespace":"Namespace","dialog.texture.folder":"Folder","dialog.texture.uv_size":"UV Size","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.texture.frame_time":"Frame Time","dialog.texture.frame_time.desc":"Set for how long each frame will be visible, in ticks. Each tick is 1/20th of a second.","dialog.texture.frame_interpolate":"Interpolate","dialog.texture.frame_interpolate.desc":"Interpolate between animation frames by cross-fading to the next frame","dialog.texture.frame_order_type":"Loop Mode","dialog.texture.frame_order_type.loop":"Loop","dialog.texture.frame_order_type.backwards":"Loop Backwards","dialog.texture.frame_order_type.back_and_forth":"Back-and-Forth","dialog.texture.frame_order_type.custom":"Custom Order","dialog.texture.frame_order":"Frame Order","dialog.texture.frame_order.desc":"Set a custom frame order by listing frame indices in a new order. Frame indices start at 0 with the first frame.","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Crop/Expand","dialog.resize_texture.mode.scale":"Scale","dialog.resize_texture.animation_frames":"Animation Frames","dialog.resize_texture.fill":"Fill with","dialog.resize_texture.fill.transparent":"Transparent","dialog.resize_texture.fill.color":"Color","dialog.resize_texture.fill.repeat":"Repeat","dialog.resize_texture.offset":"Offset","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.export_emission_map.title":"Export Emission Map","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Luminance","dialog.export_emission_map.format.luminance_inverted":"Luminance Inverted","dialog.export_emission_map.format.colors":"Colors","dialog.export_emission_map.threshold":"Transparency Threshold","dialog.export_emission_map.round_up":"Round Up to %0 x %1","dialog.export_emission_map.flip_y":"Flip Y Axis","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","dialog.material_config.depth_type":"Depth Type","dialog.edit_texture.preview":"Preview","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.extrude.title":"Extrude Image","dialog.extrude.mode":"Scan Mode","dialog.extrude.mode.areas":"Areas","dialog.extrude.mode.lines":"Lines","dialog.extrude.mode.columns":"Columns","dialog.extrude.mode.pixels":"Pixels","dialog.extrude.orientation":"Orientation","dialog.extrude.orientation.upright":"Upright","dialog.extrude.orientation.flat":"Flat","dialog.extrude.opacity":"Minimum Opacity","dialog.extrude.scan":"Scan and Import","dialog.display_preset.title":"Create Preset","dialog.display_preset.message":"Select the slots you want to save","dialog.display_preset.create":"Create","dialog.select.title":"Select","dialog.select.mode":"Mode","dialog.select.mode.new":"New Selection","dialog.select.mode.add":"Add to Selected","dialog.select.mode.remove":"Remove from Selected","dialog.select.mode.in_selection":"Select only from Selected","dialog.select.group":"In Selected Group","dialog.select.name":"Name Contains","dialog.select.type":"Element Type","dialog.select.random":"Random Chance (%)","dialog.select.select":"Select","dialog.find_replace.target":"Target","dialog.find_replace.target.element_names":"Element Names","dialog.find_replace.target.group_names":"Group Names","dialog.find_replace.target.animation_names":"Animation Names","dialog.find_replace.target.keyframe_values":"Keyframe Values","dialog.find_replace.find":"Find","dialog.find_replace.replace":"Replace","dialog.find_replace.regex":"Regular Expression","dialog.add_primitive.shape":"Shape","dialog.add_primitive.shape.circle":"Circle","dialog.add_primitive.shape.tube":"Tube","dialog.add_primitive.shape.cone":"Cone","dialog.add_primitive.shape.cylinder":"Cylinder","dialog.add_primitive.shape.sphere":"Sphere","dialog.add_primitive.shape.torus":"Torus","dialog.add_primitive.shape.cube":"Cuboid","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.add_primitive.shape.pyramid":"Pyramid","dialog.add_primitive.shape.plane":"Plane","dialog.add_primitive.diameter":"Diameter","dialog.add_primitive.align_edges":"Align Edges","dialog.add_primitive.height":"Height","dialog.add_primitive.sides":"Sides","dialog.add_primitive.minor_diameter":"Thickness","dialog.add_primitive.minor_sides":"Minor Sides","dialog.add_primitive.edge_size":"Edge Size","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.scale.title":"Scale Model","dialog.scale.axis":"Axis","dialog.scale.element_pivot":"Element Pivot","dialog.scale.selection_center":"Selection Center","dialog.scale.clipping":"Model clipping: Your model is too large for the canvas","dialog.scale.confirm":"Scale","dialog.scale.select_overflow":"Select Overflow","dialog.scale.box_uv_warning":"Scaling a Box UV model may break the UV of your model. Instead, try to scale your model externally, or switch to Per-face UV Mode in File > Project.","dialog.proportional_editing.range":"Range","dialog.proportional_editing.falloff":"Falloff","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Smooth","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"Selection","dialog.proportional_editing.selection.linear":"Linear Distance","dialog.proportional_editing.selection.connections":"Connections","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","dialog.material_instances.title":"Material Instances","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Installed","dialog.plugins.available":"Available","dialog.plugins.install":"Install","dialog.plugins.uninstall":"Uninstall","dialog.plugins.reload":"Reload","dialog.plugins.none_installed":"No plugins installed","dialog.plugins.none_available":"No plugins available","dialog.plugins.offline":"No internet connection","dialog.plugins.outdated_client":"Requires a newer version of Blockbench","dialog.plugins.outdated_plugin":"Plugin is outdated and does not work with this version of Blockbench","dialog.plugins.web_only":"Only for the web app","dialog.plugins.app_only":"Only for the desktop app","dialog.plugins.author":"by %0","dialog.plugins.is_installed":"Installed","dialog.plugins.is_disabled":"Disabled","dialog.plugins.disable":"Disable","dialog.plugins.enable":"Enable","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.plugins.dependencies":"Depends on:","dialog.load_plugins_from_query.title":"Load Plugins","dialog.load_plugins_from_query.text":"You used a link that requires plugins to be installed. Would you like to install them?","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.toolbar_edit.title":"Customize Toolbar","dialog.toolbar_edit.hidden":"Hidden","dialog.toolbar_edit.hidden_tools":"Some tools might be hidden because they are not available in the current mode, format, or situation.","dialog.select_model.title":"Select Model","dialog.select_model.bones":"Bones","dialog.select_model.cubes":"Cubes","dialog.animation_import.title":"Select Animations to Import","dialog.animation_export.title":"Select Animations to Export","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.merge_animation.merge_target":"Merge into","dialog.blend_transition_edit.extended":"Extended Graph","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_texture.folder":"Folder","dialog.create_texture.type":"Type","dialog.create_texture.type.blank":"Blank","dialog.create_texture.type.template":"Texture Template","dialog.create_texture.type.color_map":"Solid Color Template","dialog.create_texture.rearrange_uv":"Rearrange UV","dialog.create_texture.rearrange_uv.desc":"Create a new UV arrangement to give every face its own spot on the texture","dialog.create_texture.power":"Power-of-2 Size","dialog.create_texture.power.desc":"Lock the automatic texture size to a power-of-2, such as 64 or 128. This is required by some renderers","dialog.create_texture.double_use":"Keep Multi Texture Occupancy","dialog.create_texture.double_use.desc":"If two elements already have the same UV space assigned, keep it that way in the new map","dialog.create_texture.padding":"Padding","dialog.create_texture.padding.desc":"Add a small padding between the individual parts of the template","dialog.create_texture.combine_polys":"Combine Islands","dialog.create_texture.combine_polys.desc":"Combine faces into connected UV islands","dialog.create_texture.max_edge_angle":"Edge Angle Threshold","dialog.create_texture.max_edge_angle.desc":"The maximum angle between two faces at which they will still be combined","dialog.create_texture.max_island_angle":"Island Angle Threshold","dialog.create_texture.max_island_angle.desc":"The maximum angle that can be combined into the same UV island","dialog.create_texture.resolution":"Resolution","dialog.create_texture.resolution.desc":"The height and width of the texture","dialog.create_texture.pixel_density":"Pixel Density","dialog.create_texture.pixel_density.desc":"The pixel density of the texture, in pixels per meter. The size of the texture map may differ depending on the amount and size of elements.","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.mirror_painting_texture_center.middle":"Middle","dialog.mirror_painting_texture_center.custom":"Custom","dialog.create_gif.title":"Record GIF","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Sequence","dialog.create_gif.length_mode":"Length Mode","dialog.create_gif.length_mode.seconds":"Seconds","dialog.create_gif.length_mode.frames":"Frames","dialog.create_gif.length_mode.animation":"Animation Length","dialog.create_gif.length_mode.turntable":"Turntable Rotation","dialog.create_gif.length":"Length","dialog.create_gif.fps":"FPS","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.color":"Background Color","dialog.create_gif.bg_image":"Background Image","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.create_gif.turn":"Turntable Speed","dialog.create_gif.turn.desc":"Rotate the model while recording. Use negative values to turn the model clockwise. A value of 60 corresponds to one rotation every second.","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","dialog.create_gif.play":"Play Animation","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","dialog.timelapse.interval":"Interval (Seconds)","dialog.timelapse.source":"Source","dialog.timelapse.source.interface":"Interface","dialog.timelapse.source.locked":"Locked Angle","dialog.timelapse.destination":"Destination Folder","dialog.save_angle.projection":"Projection","dialog.save_angle.projection.perspective":"Perspective","dialog.save_angle.projection.orthographic":"Orthographic","dialog.save_angle.position":"Camera Position","dialog.save_angle.rotation_mode":"Rotation Mode","dialog.save_angle.target":"Focal Point","dialog.save_angle.rotation":"Rotation","dialog.save_angle.zoom":"Zoom","dialog.save_angle.fov":"FOV","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.input.title":"Input","dialog.view_backups.open_folder":"Open Folder","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","dialog.sketchfab_uploader.title":"Upload Sketchfab Model","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"The token is used to connect Blockbench to your Sketchfab account. You can find it on %0","dialog.sketchfab_uploader.name":"Model Name","dialog.sketchfab_uploader.description":"Description","dialog.sketchfab_uploader.animations":"Animations","dialog.sketchfab_uploader.tags":"Tags","dialog.sketchfab_uploader.suggested_tags":"Suggested Tags","dialog.sketchfab_uploader.category":"Category","dialog.sketchfab_uploader.category2":"Category 2","dialog.sketchfab_uploader.draft":"Draft","dialog.sketchfab_uploader.private":"Private (Pro)","dialog.sketchfab_uploader.password":"Password (Pro)","dialog.share_model.title":"Share Model","dialog.share_model.expire_time":"Expire Time","dialog.share_model.reference_images":"Include Reference Images","dialog.share_model.thumbnail":"Thumbnail","dialog.share_model.failed":"Failed to upload model","dialog.share_model.too_large":"Failed to upload: Model is too large","dialog.share_model.too_large_references":"Failed to upload: Model is too large. Try without reference images.","dialog.model_stats.title":"Model Stats","dialog.model_stats.cubes":"Cubes","dialog.model_stats.locators":"Locators","dialog.model_stats.meshes":"Meshes","dialog.model_stats.groups":"Groups","dialog.model_stats.vertices":"Vertices","dialog.model_stats.faces":"Faces","dialog.skin.title":"Create Minecraft Skin","dialog.skin.model":"Model","dialog.skin.variant":"Variant","dialog.skin.high_res_texture":"Please note that skins with the selected resolution will not work as regular Minecraft skins. Select a lower resolution.","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.skin.pose":"Pose","dialog.skin.layer_template":"Layer Texture","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.flip_animation.info":"Opposite bones are identified by the keywords 'left' and 'right' within their name.","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","dialog.flip_animation.show_in_timeline":"Show modified bones in timeline","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Predicates","dialog.predicate_overrides.variants":"Variants","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Add Override","dialog.predicate_overrides.add_predicate":"Add Predicate","dialog.predicate_overrides.generate_overrides":"Generate Overrides","dialog.predicate_overrides.confirm_delete":"Are you sure you want to delete all overrides?","dialog.predicate_overrides.predicate.angle":"Compass Angle","dialog.predicate_overrides.predicate.blocking":"Is Blocking","dialog.predicate_overrides.predicate.broken":"Is Broken","dialog.predicate_overrides.predicate.cast":"Is Cast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Damage","dialog.predicate_overrides.predicate.damaged":"Is Damaged","dialog.predicate_overrides.predicate.lefthanded":"Is Left-Handed","dialog.predicate_overrides.predicate.pull":"Pull Amount","dialog.predicate_overrides.predicate.pulling":"Is Pulling","dialog.predicate_overrides.predicate.charged":"Is Charged","dialog.predicate_overrides.predicate.firework":"Has Firework","dialog.predicate_overrides.predicate.throwing":"Ready to Throw","dialog.predicate_overrides.predicate.time":"Time of Day","dialog.predicate_overrides.predicate.custom_model_data":"Custom Model Data","dialog.predicate_overrides.predicate.level":"Light Level","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","dialog.export_private_settings.title":"Private Settings","dialog.export_private_settings.message":"Your file contains the following private informations: **%0**. Leave these values out if you plan to share the file with someone else.","dialog.export_private_settings.keep":"Keep","dialog.export_private_settings.omit":"Leave Out","dialog.settings.settings":"Settings","dialog.settings.keybinds":"Keybindings","dialog.settings.theme":"Theme","dialog.settings.about":"About","dialog.settings.search_results":"Search Results","dialog.settings.reset_to_default":"Reset to Default","dialog.settings.create_profile":"Create Profile...","dialog.settings.clear_profile_value":"Clear profile value","keybindings.reset":"Reset","keybindings.clear":"Unset","keybindings.recording":"Recording Keybinding","keybindings.press":"Press a key or key combination or click anywhere on the screen to record your keybinding.","keybindings.variation_conflict":"Variation conflicts with the main keybinding","keybindings.item.num_slider.increase":"Increase","keybindings.item.num_slider.decrease":"Decrease","layout.select":"Select","layout.options":"Options","layout.color":"Color Scheme","layout.css":"Custom CSS","layout.thumbnail":"Custom Thumbnail CSS","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.documentation":"Documentation","layout.restore_backup":'Your customized theme "%0" was overwritten. Click here to restore it.',"layout.color.back":"Back","layout.color.back.desc":"Backgrounds and input fields","layout.color.dark":"Dark","layout.color.dark.desc":"Canvas background","layout.color.ui":"UI","layout.color.ui.desc":"Main interface color","layout.color.bright_ui":"Bright UI","layout.color.bright_ui.desc":"Context menus and tooltips","layout.color.button":"Button","layout.color.button.desc":"Buttons and switches","layout.color.selected":"Selected","layout.color.selected.desc":"Selected tabs and objects","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.color.border":"Border","layout.color.border.desc":"Border of buttons and inputs","layout.color.accent":"Accent","layout.color.accent.desc":"Slider thumb and other details","layout.color.frame":"Window Frame","layout.color.frame.desc":"Border and title bar of the window","layout.color.grid":"Grid","layout.color.grid.desc":"3D preview grid","layout.color.wireframe":"Wireframe","layout.color.wireframe.desc":"Wireframe view lines","layout.color.text":"Text","layout.color.text.desc":"Normal text","layout.color.light":"Light","layout.color.light.desc":"Highlighted text","layout.color.accent_text":"Accent Text","layout.color.accent_text.desc":"Text on accent backgrounds","layout.color.bright_ui_text":"Bright UI Text","layout.color.bright_ui_text.desc":"Text on bright backgrounds","layout.color.subtle_text":"Subtle Text","layout.color.subtle_text.desc":"Secondary text color with less contrast","layout.color.checkerboard":"Checkerboard","layout.color.checkerboard.desc":"Background of canvas and UV editor","layout.name":"Name","layout.author":"Author","layout.version":"Version","layout.font.main":"Main Font","layout.font.headline":"Headline Font","layout.font.code":"Code Font","layout.borders":"Borders","layout.file.watch_changes":"Watch Changes and Reload","about.version":"Version:","about.version.up_to_date":"Up to date","about.version.update_available":"Version %0 is available","settings_profile.confirm_delete":"Are you sure you want to delete this settings profile?","settings_profile.condition":"Condition","settings_profile.condition.type.selectable":"Manually Selectable","settings_profile.condition.type.file_path.desc":"Use Regular Expression syntax to match the file path of the current project. Use forward slashes for directories","settings.category.general":"General","settings.category.interface":"Interface","settings.category.preview":"Preview","settings.category.controls":"Controls","settings.category.grid":"Grid","settings.category.edit":"Edit","settings.category.snapping":"Snapping","settings.category.paint":"Paint","settings.category.defaults":"Defaults","settings.category.dialogs":"Dialogs","settings.category.export":"Export","settings.category.application":"Application","settings.language":"Language","settings.language.desc":"Interface language","settings.username":"Username","settings.username.desc":"Username for edit sessions","settings.streamer_mode":"Streamer Mode","settings.streamer_mode.desc":"Hides sensitive information like recent models","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.interface_scale":"Interface Scale","settings.interface_scale.desc":"Scale of the entire Blockbench interface","settings.interface_mode":"UI Mode","settings.interface_mode.desc":"Interface mode","settings.interface_mode.auto":"Automatic","settings.interface_mode.desktop":"Desktop","settings.interface_mode.mobile":"Mobile","settings.hide_tab_bar":"Auto-hide Tab Bar","settings.hide_tab_bar.desc":"Hide the tab bar when only one tab is open","settings.mobile_panel_side":"Mobile Panel Side","settings.mobile_panel_side.desc":"Select which side of the screen panels are displayed on when using Blockbench on in landscape orientation","settings.status_bar_modifier_keys":"Suggest Modifier Keys in Status Bar","settings.status_bar_modifier_keys.desc":"Display context aware suggested modifier keys in the status bar","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.always_show_splash_art":"Always Show Splash Art","settings.always_show_splash_art.desc":"Always display the splash art on the start screen","settings.origin_size":"Pivot Marker","settings.origin_size.desc":"Size of the pivot point marker","settings.control_size":"Transform Gizmo Size","settings.control_size.desc":"Size of the transform gizmo","settings.motion_trails":"Motion Trails","settings.motion_trails.desc":"Show motion trails in the animation editor","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.display_skin":"Minecraft Skin","settings.display_skin.desc":"Skin used for the reference player model","settings.seethrough_outline":"X-Ray Outlines","settings.seethrough_outline.desc":"Show outlines through objects","settings.brightness":"Brightness","settings.brightness.desc":"Brightness of the preview. Default is 50","settings.shading":"Shading","settings.shading.desc":"Enable shading in the preview","settings.antialiasing":"Anti-aliasing","settings.antialiasing.desc":"Toggle anti-aliasing in the preview","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.render_sides":"Render Sides","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.fov":"FOV","settings.fov.desc":"Camera Field of View. Default is 45","settings.camera_near_plane":"Camera Near Plane","settings.camera_near_plane.desc":"The minimum distance from the camera where objects render. Higher values decrease Z-fighting. Default is 1.","settings.render_sides.desc":"Select which side of a face is rendered","settings.render_sides.auto":"Auto","settings.render_sides.front":"Outside","settings.render_sides.double":"Inside and Outside","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.background_rendering":"Background Rendering","settings.background_rendering.desc":"Update the preview while the window is not focused","settings.particle_tick_rate":"Particle Tick Rate","settings.particle_tick_rate.desc":"Tick rate for particle effects in ticks per second. Default is 30","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.volume":"Volume","settings.volume.desc":"Volume control for sound effects in animations","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.outliner_colors":"Outliner Colors","settings.outliner_colors.desc":"Display element and group colors in the outliner","settings.preview_checkerboard":"Preview Checkerboard","settings.preview_checkerboard.desc":"Toggle the checkerboard background behind the preview","settings.uv_checkerboard":"UV Editor Checkerboard","settings.uv_checkerboard.desc":"Toggle the checkerboard background behind the UV editor","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.timecode_frame_number":"Display Timecodes as Frame Numbers","settings.timecode_frame_number.desc":"Display fraction timecodes in the timeline as frame number instead of centisecond","settings.only_selected_bezier_handles":"Show Only Selected B\xE9zier Handles","settings.only_selected_bezier_handles.desc":"Hide handles of b\xE9zier keyframes that are not currently selected","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.base_grid":"Small Grid","settings.base_grid.desc":"Show small grid and axes","settings.large_grid":"Block Grid","settings.large_grid.desc":"Show 16x16 block-size grid","settings.large_grid_size":"Block Grid Size","settings.large_grid_size.desc":"Size of the block grid","settings.full_grid":"Precise Block Grid","settings.full_grid.desc":"Show pixel-precise block grid","settings.large_box":"Size Limit Box","settings.large_box.desc":"Show size limit boundaries","settings.display_grid":"Display Mode Grid","settings.display_grid.desc":"Show grid in display mode","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.painting_grid":"Painting Grid","settings.painting_grid.desc":"Show grid on textured elements in paint mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane":"Ground Plane","settings.ground_plane.desc":"Show a floor plane below the model","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","settings.undo_limit":"Undo Limit","settings.undo_limit.desc":"Number of steps you can undo","settings.local_move":"Move on Relative Axes","settings.local_move.desc":"Move rotated elements on their own axes if possible","settings.canvas_unselect":"Unselect when Clicking Background","settings.canvas_unselect.desc":"Unselects all elements when clicking on the background behind the model or in the timeline","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.highlight_cubes":"Highlight Elements","settings.highlight_cubes.desc":"Highlight elements when you hover over them or select them","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.deactivate_size_limit":"Deactivate Size Limit","settings.deactivate_size_limit.desc":"Deactivate the size limit for specific model formats. WARNING: This can cause invalid models.","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","settings.allow_display_slot_mirror":"Allow Display Slot Mirroring","settings.allow_display_slot_mirror.desc":"Allow Display slots for Java item models to be mirrored. WARNING: This only works in Minecraft 1.14 or earlier or in special cases.","settings.vertex_merge_distance":"Vertex Merge Distance","settings.vertex_merge_distance.desc":"Distance within which vertices are merged using merging by distance","settings.preview_paste_behavior":"Default Viewport Paste Behavior","settings.preview_paste_behavior.desc":"Select the behavior when pasting something into the viewport in Edit mode and multiple options are available","settings.preview_paste_behavior.always_ask":"Always Ask","settings.autouv":"Auto UV","settings.autouv.desc":"Enable Auto UV by default","settings.default_cube_size":"Cube Size","settings.default_cube_size.desc":"Set the default cube size when creating a new cube","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","settings.create_rename":"Rename New Element","settings.create_rename.desc":"Focus name field when creating new element or group","settings.show_only_selected_uv":"Show Only Selected UV","settings.show_only_selected_uv.desc":"Only display the selected UV faces in the UV editor by default","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","settings.animation_snap":"Animation Snap","settings.animation_snap.desc":"Default snap interval for keyframes in the animation timeline in steps per second. This can also be changed per animation. The default value is 24.","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.uniform_keyframe":"Uniform Scale Keyframes","settings.uniform_keyframe.desc":"Set scale keyframes to uniform scaling by default","settings.edit_size":"Grid Resolution","settings.edit_size.desc":"Resolution of the grid that elements snap to","settings.shift_size":"Shift Resolution","settings.shift_size.desc":"Resolution of the grid while holding shift","settings.ctrl_size":"Control Resolution","settings.ctrl_size.desc":"Resolution of the grid while holding control","settings.ctrl_shift_size":"Control + Shift Resolution","settings.ctrl_shift_size.desc":"Resolution of the grid while holding control and shift","settings.negative_size":"Negative Size","settings.negative_size.desc":"Allow the resize tool to use negative sizes","settings.nearest_rectangle_select":"Rectangle Selection: Nearest Edge","settings.nearest_rectangle_select.desc":"Snap rectangle selections to the nearest pixel edge, like in GIMP, instead of entire pixels.","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.pick_color_opacity":"Pick Color Opacity","settings.pick_color_opacity.desc":"Pick the color opacity with the Color Picker and set it as brush opacity","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.paint_through_transparency":"Paint Through Transparency","settings.paint_through_transparency.desc":"Paint through transparent pixels when Lock Alpha Channel is enabled","settings.paint_side_restrict":"Restrict Brush to Side","settings.paint_side_restrict.desc":"Restrict brushes to only paint on the current side","settings.paint_with_stylus_only":"Paint with Stylus Only","settings.paint_with_stylus_only.desc":"Only use the stylus for painting, reserve mouse or touch input for navigation.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","settings.image_editor":"Image Editor","settings.image_editor.desc":"Default image editor to edit textures with","settings.brush_opacity_modifier":"Brush Opacity Modifier","settings.brush_opacity_modifier.desc":"Modify the brush opacity when using a stylus","settings.brush_size_modifier":"Brush Size Modifier","settings.brush_size_modifier.desc":"Modify the brush size when using a stylus","settings.brush_modifier.pressure":"Pressure","settings.brush_modifier.tilt":"Tilt","settings.brush_modifier.none":"None","settings.dialog.desc":'Show the "%0" dialog',"settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","settings.minifiedout":"Minified Export","settings.minifiedout.desc":"Write JSON files in one line","settings.minify_bbmodel":"Minified Project Files","settings.minify_bbmodel.desc":"Write .bbmodel files minified into one line","settings.embed_textures":"Embed Textures","settings.embed_textures.desc":"Embed texture file content in .bbmodel files","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","settings.export_empty_groups":"Export Empty Groups","settings.export_empty_groups.desc":"Include groups without content in exported files","settings.export_groups":"Export Groups in Java block/item models","settings.export_groups.desc":"Save groups in java block or item model JSON files","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","settings.obj_face_export_mode":"OBJ Face Export Mode","settings.obj_face_export_mode.desc":"Choose to let the OBJ exporter convert all faces into tris or quads","settings.obj_face_export_mode.both":"Default","settings.obj_face_export_mode.tris":"Convert to Tris","settings.obj_face_export_mode.quads":"Convert to Quads","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","settings.animation_sample_rate":"Animation Sample Rate","settings.animation_sample_rate.desc":"Sample rate in samples per second for curves that the respective format does not support natively","settings.credit":"Credit Comment","settings.credit.desc":"Add a credit comment to exported files","settings.model_export_scale":"Model Export Scale","settings.model_export_scale.desc":"Factor by which the scale of exported glTF, DAE, and FBX models gets reduced. The default is 16, which converts 16 Blockbench units into 1 meter in the export.","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"Token to authorize Blockbench to upload to your Sketchfab account","settings.default_path":"Default Minecraft Textures Path","settings.default_path.desc":"Folder from where Blockbench loads default textures","settings.recent_projects":"Recent Model Cap","settings.recent_projects.desc":"Maximum number of recent models to remember","settings.backup_interval":"Backup Interval","settings.backup_interval.desc":"Interval of the automatic backups in minutes","settings.backup_retain":"Backup Retain Duration","settings.backup_retain.desc":"Set how long Blockbench retains old backups in days","settings.automatic_updates":"Automatic Updates","settings.automatic_updates.desc":"Automatically download new versions and keep Blockbench up-to-date","settings.update_to_prereleases":"Update to Pre-releases","settings.update_to_prereleases.desc":"Automatically update to Blockbench beta versions to test new features. Pre-release versions can be unstable, don't enable this option if you rely on Blockbench for work or other important projects.","settings.hardware_acceleration":"Hardware Acceleration","settings.hardware_acceleration.desc":"Outsource rendering tasks to the graphics card","category.navigate":"Navigation","category.tools":"Tools","category.file":"File","category.blockbench":"Blockbench","category.edit":"Edit","category.transform":"Transform","category.select":"Select","category.color":"Color","category.paint":"Paint","category.layers":"Layers","category.view":"View","category.display":"Display Settings","category.animation":"Animation","category.textures":"Textures","category.uv":"UV","category.misc":"Miscellaneous","category.separators":"Separators","keybind.preview_select":"Select","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","keybind.preview_rotate":"Rotate View","keybind.preview_drag":"Drag View","keybind.preview_zoom":"Drag-to-Zoom View","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","keybind.preview_area_select":"Area Select","keybind.paint_secondary_color":"Paint with Secondary Color","keybind.confirm":"Confirm","keybind.cancel":"Cancel","action.slider_pos":"Position %0","action.slider_pos.desc":"Move elements on the %0 axis","action.slider_size":"Size %0","action.slider_size.desc":"Resize elements on the %0 axis","action.slider_inflate":"Inflate","action.slider_inflate.desc":"Inflate cubes in all directions without changing the UV","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.slider_rotation":"Rotation %0","action.slider_rotation.desc":"Rotate elements on the %0 axis","action.slider_origin":"Pivot %0","action.slider_origin.desc":"Move pivot on the %0 axis","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.fill_mode":"Fill Mode","action.fill_mode.face":"Face","action.fill_mode.selection":"Selection","action.fill_mode.color_connected":"Connected Colors","action.fill_mode.color":"Colors","action.fill_mode.element":"Element","action.fill_mode.selected_elements":"Selected Elements","action.draw_shape_type":"Shape Type","action.draw_shape_type.rectangle":"Rectangle","action.draw_shape_type.rectangle_h":"Rectangle (Hollow)","action.draw_shape_type.ellipse":"Ellipse","action.draw_shape_type.ellipse_h":"Ellipse (Hollow)","action.draw_shape_type.line":"Line","action.copy_brush_mode":"Copy Brush Mode","action.copy_brush_mode.copy":"Copy","action.copy_brush_mode.pattern":"Pattern","action.copy_brush_mode.sample":"Sample","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.color_erase_mode":"Erase Mode","action.color_erase_mode.desc":"With erase mode enabled, tools like Fill and Rectangle subtract colors rather than adding them","action.mirror_painting":"Mirror Painting","action.mirror_painting.description":"Mirror your paint strokes to the other side of the model","action.lock_alpha":"Lock Alpha Channel","action.lock_alpha.description":"Lock the transparency of all pixels","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.slider_brush_size":"Brush Size","action.slider_brush_size.desc":"Radius of the brush in pixels","action.slider_brush_opacity":"Opacity","action.slider_brush_opacity.desc":"Opacity of the brush from 0 to 255","action.slider_brush_softness":"Softness","action.slider_brush_softness.desc":"Softness of the brush in percent","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.brush_shape":"Brush Shape","action.brush_shape.square":"Square","action.brush_shape.circle":"Circle","action.blend_mode":"Blend Mode","action.blend_mode.default":"Default","action.blend_mode.set_opacity":"Set Opacity","action.blend_mode.color":"Color","action.blend_mode.behind":"Behind","action.blend_mode.multiply":"Multiply","action.blend_mode.divide":"Divide","action.blend_mode.add":"Add","action.blend_mode.subtract":"Subtract","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.blend_mode.screen":"Screen","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Hard Light","action.blend_mode.difference":"Difference","action.blend_mode.alpha_mask":"Alpha Mask","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.uv_slider_pos_x":"Move Horizontal","action.uv_slider_pos_x.desc":"Move all selected UV faces horizontally","action.uv_slider_pos_y":"Move Vertical","action.uv_slider_pos_y.desc":"Move all selected UV faces vertically","action.uv_slider_size_x":"Size Horizontal","action.uv_slider_size_x.desc":"Resize all selected UV faces horizontally","action.uv_slider_size_y":"Size Vertical","action.uv_slider_size_y.desc":"Resize all selected UV faces vertically","action.vertex_snap_mode":"Snap Mode","action.vertex_snap_mode.desc":"Select if Vertex Snap moves elements to the selected position or resizes them","action.vertex_snap_mode.move":"Move","action.vertex_snap_mode.scale":"Scale","action.vertex_snap_mode.rotate":"Rotate","action.move_tool":"Move","action.move_tool.desc":"Tool to select and move elements","action.resize_tool":"Resize","action.resize_tool.desc":"Tool to select and resize elements","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.rotate_tool":"Rotate","action.rotate_tool.desc":"Tool to select and rotate elements","action.pivot_tool":"Pivot Tool","action.pivot_tool.desc":"Tool to change the pivot point of elements and bones","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.seam_tool":"Seam Tool","action.seam_tool.desc":"Tool to define UV seams on mesh edges","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.pan_tool":"Pan Tool","action.pan_tool.desc":"Tool to navigate in the viewport and the texture editor","action.brush_tool":"Paint Brush","action.brush_tool.desc":"Colored brush to draw on textures","action.copy_brush":"Copy Brush","action.copy_brush.desc":"Brush to clone parts of your texture or draw patterns. Hold Ctrl and click to select a copy source.","action.fill_tool":"Paint Bucket","action.fill_tool.desc":"Paint bucket to fill entire faces with one color","action.eraser":"Eraser","action.eraser.desc":"Eraser tool to replace colors on a texture with transparency","action.color_picker":"Color Picker","action.color_picker.desc":"Tool to pick the color of pixels on your texture","action.draw_shape_tool":"Draw Shape","action.draw_shape_tool.desc":"Tool to draw simple shapes on textures","action.gradient_tool":"Gradient Tool","action.gradient_tool.desc":"Create a color gradient on your texture","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.toggle_skin_layer":"Toggle Skin Layer","action.toggle_skin_layer.desc":"Toggle the hat and clothing layer of the skin model","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.explode_skin_model":"Explode Skin Model","action.explode_skin_model.desc":"Toggles an explosion view that allows you to edit covered faces","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.vertex_snap_tool":"Vertex Snap","action.vertex_snap_tool.desc":"Move one cube to another cube by connecting two vertices","action.swap_tools":"Swap Tools","action.swap_tools.desc":"Switch between alternative tools, like move and resize, or brush and color picker","action.swap_tools.hold":"Hold to swap (Color Picker)","action.project_window":"Project...","action.project_window.desc":"Opens the project window, where you can edit metadata of your model","action.new_window":"New Window","action.new_window.desc":"Opens a new Blockbench window","action.open_model_folder":"Open Model Folder","action.open_model_folder.desc":"Opens the folder that the model is contained in","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.open_model":"Open Model","action.open_model.desc":"Open a model file from your computer","action.open_from_link":"Open Model from Link...","action.open_from_link.desc":"Open a model from a blckbn.ch URL","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.convert_project":"Convert Project","action.convert_project.desc":"Converts the current project to a project for another model format","action.close_project":"Close Project","action.close_project.desc":"Closes the currently open project","action.tab_overview":"Tab Overview","action.tab_overview.desc":"View all open tabs in a grid and jump to one","action.switch_tabs":"Switch Tabs","action.switch_tabs.desc":"Cycle between opened tabs. Hold shift to cycle in the opposite direction.","action.switch_tabs.reverse_order":"Reverse order","action.validator_window":"View Model Issues...","action.validator_window.desc":"Opens the validator, which lists issues with the current model.","action.import_obj":"Import OBJ Model","action.import_obj.desc":"Imports objects from an OBJ model as meshes","action.import_java_block_model":"Add Java Block/Item Model","action.import_java_block_model.desc":"Add a Minecraft Java block/item model from a json file to the current model","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.extrude_texture":"Extruded Texture","action.extrude_texture.desc":"Generate a model by stretching out a texture","action.export_blockmodel":"Export Block/Item Model","action.export_blockmodel.desc":"Export a Minecraft Java Edition block or item model","action.export_asset_archive":"Download Archive","action.export_asset_archive.desc":"Download an archive with the model and all textures in it","action.export_bedrock":"Export Bedrock Geometry","action.export_bedrock.desc":"Export the model as a bedrock edition geometry file.","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.export_entity":"Export Bedrock Entity","action.export_entity.desc":"Export the model as an entity model for Minecraft Bedrock Edition","action.export_class_entity":"Export Java Entity","action.export_class_entity.desc":"Export the entity model as a Java class","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.import_optifine_part":"Import OptiFine Part","action.import_optifine_part.desc":"Import an entity part model for OptiFine","action.export_optifine_full":"Export OptiFine JEM","action.export_optifine_full.desc":"Export a full OptiFine entity model","action.export_optifine_part":"Export OptiFine Part","action.export_optifine_part.desc":"Export a single part for an OptiFine entity model","action.export_minecraft_skin":"Export Minecraft Skin","action.export_minecraft_skin.desc":"Export the Minecraft skin as a PNG texture","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.export_obj":"Export OBJ Model","action.export_obj.desc":"Export a Wavefront OBJ model for rendering","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.export_collada":"Export Collada Model (dae)","action.export_collada.desc":"Export model and animations as dae file to use it in other 3D applications","action.export_fbx":"Export FBX Model","action.export_fbx.desc":"Export model and animations as fbx file to use it in other 3D applications and game engines","action.export_gltf":"Export glTF Model","action.export_gltf.desc":"Export model and animations as glTF file for sharing and rendering","action.upload_sketchfab":"Upload to Sketchfab...","action.upload_sketchfab.desc":"Upload your model to Sketchfab","action.share_model":"Share...","action.share_model.desc":"Generate a short link to share your model","action.save_project":"Save Project","action.save_project.desc":"Saves the current model as a project file","action.save_project_as":"Save Project As","action.save_project_as.desc":"Saves the current model as a project file at a new location","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.import_project":"Import Project","action.import_project.desc":"Import another project from a .bbmodel file into the current project","action.export_over":"Save Model","action.export_over.desc":"Saves the model, textures and animations by overwriting the files","action.settings_window":"Settings...","action.settings_window.desc":"Open the Blockbench settings dialog.","action.plugins_window":"Plugins...","action.plugins_window.desc":"Open the plugin store window","action.plugins_window_menu":"Menu","action.action_control":"Action Control","action.action_control.desc":"Search and execute any available action","action.edit_session":"Edit Session...","action.edit_session.desc":"Connect to an edit session to collaborate with other users","action.add_plugin":"Install Plugin","action.add_plugin.desc":"Install a plugin through Action Control","action.remove_plugin":"Uninstall Plugin","action.remove_plugin.desc":"Uninstall a plugin through Action Control","action.load_plugin":"Load Plugin from File","action.load_plugin.desc":"Load a plugin by importing the source file","action.load_plugin_from_url":"Load Plugin from URL","action.load_plugin_from_url.desc":"Load a plugin from a server by specifying the URL","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.reload_plugins":"Reload Plugins","action.reload_plugins.desc":"Reload all development plugins","action.import_settings":"Import Settings","action.import_settings.desc":"Import a .bbsettings file","action.export_settings":"Export Settings","action.export_settings.desc":"Export the Blockbench settings as a .bbsettings file","action.load_keymap":"Load Keymap","action.load_keymap.default":"Default (Trackpad/Mouse)","action.load_keymap.mouse":"Default (Mouse)","action.load_keymap.default.desc":"Default Blockbench keybindings, with viewport navigation controls optimized for use on laptop trackpads","action.load_keymap.mouse.desc":"Default Blockbench keybindings, with viewport navigation bound to the middle mouse button","action.load_keymap.blender.desc":"Keymap for users who are familiar with the controls of Blender","action.load_keymap.cinema4d.desc":"Keymap for users who are familiar with the controls of Cinema 4D","action.load_keymap.maya.desc":"Keymap for users who are familiar with the controls of Autodesk Maya","action.import_keymap":"Import Keymap","action.import_keymap.desc":"Import keybindings a .bbkeymap file","action.export_keymap":"Export Keymap","action.export_keymap.desc":"Export the current keybindings as a .bbkeymap file","action.reset_layout":"Reset Layout","action.reset_layout.desc":"Reset the layout to Blockbench's default","action.import_theme":"Import Theme","action.export_theme":"Export Theme","action.export_theme.desc":"Create a theme file based on the current settings","action.undo":"Undo","action.undo.desc":"Undoes the last change","action.redo":"Redo","action.redo.desc":"Reverts the last undo","action.edit_history":"Edit History...","action.edit_history.desc":"View the editing history and undo or redo steps","action.copy":"Copy","action.copy.desc":"Copy the selected selection, face or display settings","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste":"Paste","action.paste.desc":"Paste the selected selection, face or display settings","action.paste.multiple":"Paste All","action.cut":"Cut","action.cut.desc":"Cut the selected selection, face or display settings","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_cube":"Add Cube","action.add_cube.desc":"Adds a new cube","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.add_mesh":"Add Mesh","action.add_mesh.desc":"Adds a new mesh","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_locator":"Add Locator","action.add_locator.desc":"Adds a new locator to control positions of particles, leashes etc","action.add_null_object":"Add Null Object","action.add_null_object.desc":"Adds a new null object","action.add_texture_mesh":"Add Texture Mesh","action.add_texture_mesh.desc":"Adds a new Texture Mesh","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.add_group":"Add Group","action.add_group.desc":"Adds a new group or bone","action.group_elements":"Group Elements","action.group_elements.desc":"Wrap selected elements into a new group","action.resolve_group":"Resolve Group","action.resolve_group.desc":"Resolve the group while retaining its children in the same place","action.outliner_toggle":"Toggle More Options","action.outliner_toggle.desc":"Toggles switches for more options in the outliner","action.cube_counter":"Model Statistics","action.cube_counter.desc":"Displays the current number of elements and other statistics","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.randomize_marker_colors":"Randomize Marker Colors","action.duplicate":"Duplicate","action.delete":"Delete","action.delete.keep_vertices":"Keep Edges/Vertices","action.move_to_group":"Move to","action.move_to_group.desc":"Move the selected elements to a different outliner group or element","action.sort_outliner":"Sort Outliner","action.sort_outliner.desc":"Sort the outliner alphabetically","action.unlock_everything":"Unlock All","action.unlock_everything.desc":"Unlock all groups and elements in the outliner.","action.element_colors":"Cube Colors","action.element_colors.desc":"Show cube colors in the outliner","action.find_replace":"Find/Replace...","action.find_replace.desc":"Find and replace parts of names","action.select_window":"Select...","action.select_window.desc":"Search and select elements based on their properties","action.invert_selection":"Invert Selection","action.invert_selection.desc":"Invert the current selection","action.select_all":"Select All","action.unselect_all":"Unselect All","action.hide_everything_except_selection":"Hide Everything Except Selection","action.hide_everything_except_selection.desc":"Toggle visibility on all elements except the ones that are selected","action.collapse_groups":"Collapse Groups","action.collapse_groups.desc":"Collapse all groups in the outliner","action.unfold_groups":"Unfold Groups","action.unfold_groups.desc":"Unfold all groups in the outliner","action.edit_bedrock_binding":"Edit Binding...","action.edit_bedrock_binding.desc":"Change which bone the geometry is bound to","action.element_render_order":"Transparency Render Order","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.slider_color_h":"Hue","action.slider_color_s":"Saturation","action.slider_color_v":"Value","action.slider_color_red":"Color Red","action.slider_color_green":"Color Green","action.slider_color_blue":"Color Blue","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.add_to_palette":"Add To Palette","action.add_to_palette.desc":"Add the selected color to the color palette","action.import_palette":"Import Palette","action.import_palette.desc":"Import a palette file","action.export_palette":"Export Palette","action.export_palette.desc":"Export palette as a .GPL file","action.generate_palette":"Generate Palette...","action.generate_palette.desc":"Generate palette from a texture","action.sort_palette":"Sort Palette","action.sort_palette.desc":"Sort all colors on the palette by color and brightness","action.save_palette":"Save Palette...","action.save_palette.desc":"Save the current color palette inside Blockbench for later use","action.load_palette":"Load Palette","action.load_palette.desc":"Load one of the built-in or saved palette presets","action.slider_palette_color":"Switch Palette Color","action.slider_palette_color.desc":"Cycle between the colors in the palette","action.pick_screen_color":"Pick Screen Color","action.pick_screen_color.desc":"Pick a color from somewhere on your screen","action.transform_space":"Transform Space","action.transform_space.desc":"Default transform space for elements and bones","action.transform_space.global":"Global","action.transform_space.parent":"Parent","action.transform_space.local":"Local","action.transform_space.normal":"Normal","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.rotation_space":"Rotation Space","action.transform_pivot_space":"Pivot Transform Space","action.scale":"Scale...","action.scale.desc":"Scale the selected elements","action.rotate_cw":"Rotate %0 +90","action.rotate_cw.desc":"Rotate the selected elements 90\xB0 on the %0 axis","action.rotate_ccw":"Rotate %0 -90","action.rotate_ccw.desc":"Rotate the selected elements -90\xB0 on the %0 axis","action.flip":"Flip %0","action.flip.desc":"Flip the selected elements on the %0 axis","action.center":"Center %0","action.center.desc":"Center the selected elements on the %0 axis","action.center_lateral":"Center Lateral","action.center_lateral.desc":"Center the selected elements on the X and Z axis","action.toggle_visibility":"Toggle Visibility","action.toggle_visibility.desc":"Toggle the visibility of the selected elements","action.toggle_export":"Toggle Export","action.toggle_export.desc":"Toggle the export setting of the selected elements","action.toggle_locked":"Toggle Lock","action.toggle_locked.desc":"Toggle whether the selected elements are locked","action.toggle_autouv":"Toggle Auto UV","action.toggle_autouv.desc":"Toggle the auto UV setting of the selected elements","action.toggle_shade":"Toggle Shading","action.toggle_shade.desc":"Toggle the shading of the selected cubes","action.toggle_mirror_uv":"Mirror UV","action.toggle_mirror_uv.desc":"Toggle the UV mirroring on the X axis of the selected cubes","action.rename":"Rename","action.rename.desc":"Change the name of the selected elements or group","action.update_autouv":"Update Auto UV","action.update_autouv.desc":"Update the auto UV mapping of the selected cubes","action.edit_material_instances":"Edit Material Instances","action.edit_material_instances.desc":"Edit material instance names for bedrock block geometries","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.selection_mode":"Selection Mode","action.selection_mode.desc":"Change how elements can be selected in the viewport","action.selection_mode.object":"Object","action.selection_mode.cluster":"Cluster","action.selection_mode.face":"Face","action.selection_mode.edge":"Edge","action.selection_mode.vertex":"Vertex","action.slider_weight_brush_size":"Weight Brush Size","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.select_seam":"Select UV Seam","action.select_seam.desc":"Select the UV seam mode for the selected edges","action.select_seam.auto":"Auto","action.select_seam.join":"Join","action.select_seam.divide":"Divide","action.create_face":"Create Face or Edge","action.create_face.desc":"Creates a new face or edge between the selected vertices","action.convert_to_mesh":"Convert to Mesh","action.convert_to_mesh.desc":"Convert the selected elements into meshes","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.invert_face":"Invert Face","action.invert_face.desc":"Invert the selected faces to make them face the opposite direction","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.extrude_mesh_selection":"Extrude Selection","action.extrude_mesh_selection.desc":"Extrude the selected parts of the mesh","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.inset_mesh_selection":"Inset Selection","action.inset_mesh_selection.desc":"Inset the selected parts of the mesh","action.loop_cut":"Loop Cut","action.loop_cut.desc":"Split the mesh in a loop across the selected edge","action.dissolve_edges":"Dissolve Edges","action.dissolve_edges.desc":"Dissolve selected edges in a mesh and merge the faces they divide","action.split_mesh":"Split Mesh","action.split_mesh.desc":"Split the selected faces of the mesh into a new mesh","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.merge_vertices":"Merge Vertices","action.merge_vertices.desc":"Merge the selected vertices into the position of the first selected vertex","action.merge_vertices.merge_all":"Merge All","action.merge_vertices.merge_all_in_center":"Merge All in Center","action.merge_vertices.merge_by_distance":"Merge by Distance","action.merge_vertices.merge_by_distance_in_center":"Merge by Distance in Center","action.merge_meshes":"Merge Meshes","action.merge_meshes.desc":"Merge multiple meshes into one","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","action.proportional_editing":"Proportional Editing","action.proportional_editing.desc":"Proportionally affect surrounding vertices when editing parts of a mesh","action.proportional_editing_range":"Proportional Editing Range","action.proportional_editing_range.desc":"Adjust the range for proportional editing","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.adjust_brightness_contrast":"Adjust Brightness & Contrast...","action.adjust_brightness_contrast.desc":"Adjust the brightness and contrast of the selected texture","action.adjust_saturation_hue":"Adjust Saturation & Hue...","action.adjust_saturation_hue.desc":"Adjust the saturation and hue of the selected texture","action.invert_colors":"Invert Colors","action.invert_colors.desc":"Invert all colors of the selected texture","action.adjust_opacity":"Adjust Opacity...","action.adjust_opacity.desc":"Adjust the opacity of the selected texture","action.adjust_curves":"Adjust Curves...","action.adjust_curves.desc":"Adjust the brightness curves of the selected texture","action.limit_to_palette":"Limit to Palette","action.limit_to_palette.desc":"Limits the colors of the texture to those in the currently loaded palette","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.flip_texture_x":"Flip Horizontally","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y":"Flip Vertically","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw":"Rotate Clockwise","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw":"Rotate Counter-clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.resize_texture":"Resize Texture...","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.crop_texture_to_selection":"Crop Texture to Selection","action.crop_layer_to_selection":"Crop Layer to Selection","action.create_empty_layer":"Create Empty Layer","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.add_display_preset":"New Preset","action.add_display_preset.desc":"Add a new display setting preset","action.apply_display_preset":"Apply Preset","action.apply_display_preset.desc":"Apply a default or custom display setting preset","action.apply_display_preset.here":"Apply To This Slot","action.apply_display_preset.everywhere":"Apply To All Slots","action.gui_light":"GUI Light","action.gui_light.desc":"Select the way the item is lit in the inventory","action.gui_light.side":"Side Light","action.gui_light.front":"Front Light","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.predicate_overrides":"Edit Predicate Overrides...","action.predicate_overrides.desc":"Select models to override this model based on selected conditions","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.move_up":"Move Up","action.move_up.desc":"Move the selected elements up relative to the current camera angle","action.move_down":"Move Down","action.move_down.desc":"Move the selected elements down relative to the current camera angle","action.move_left":"Move Left","action.move_left.desc":"Move the selected elements left relative to the current camera angle","action.move_right":"Move Right","action.move_right.desc":"Move the selected elements right relative to the current camera angle","action.move_forth":"Move Forth","action.move_forth.desc":"Move the selected elements forth relative to the current camera angle","action.move_back":"Move Back","action.move_back.desc":"Move the selected elements back relative to the current camera angle","action.fullscreen":"Fullscreen","action.fullscreen.desc":"Toggles fullscreen mode","action.zoom_in":"Zoom In","action.zoom_in.desc":"Zoom in to scale up the interface","action.zoom_out":"Zoom Out","action.zoom_out.desc":"Zoom out to scale down the interface","action.zoom_reset":"Reset Zoom","action.zoom_reset.desc":"Reset zoom to the default 100%","action.reset_interface":"Reset Interface","action.reset_interface.desc":"Reset size and positions of the GUI","action.view_mode":"View Mode","action.view_mode.desc":"Change the model view mode","action.view_mode.textured":"Textured","action.view_mode.solid":"Solid","action.view_mode.colored_solid":"Solid with Marker Colors","action.view_mode.wireframe":"Wireframe","action.view_mode.uv":"UV Preview","action.view_mode.normal":"Face Orientation","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.view_mode.material":"Material Preview","action.preview_scene":"Preview Scene","action.preview_scene.desc":"Change the model preview scene","action.screenshot_model":"Screenshot Model","action.screenshot_model.desc":"Take a cropped screenshot of the model from the current angle","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.record_model_gif":"Record GIF...","action.record_model_gif.desc":"Record an animated GIF of the model from the current angle","action.cancel_gif":"Cancel GIF","action.timelapse":"Timelapse...","action.timelapse.desc":"Record a timelapse of your modeling process","action.screenshot_app":"Screenshot App","action.screenshot_app.desc":"Take a screenshot of the whole application","action.toggle_sidebars":"Toggle Sidebars","action.toggle_sidebars.desc":"Enable or disable the sidebars","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.toggle_camera_projection":"Toggle Camera Projection","action.toggle_camera_projection.desc":"Toggle the camera projection between perspective and orthographic","action.load_camera_angle":"Camera Angle: %0","action.load_camera_angle.desc":"Load the camera angle '%0'","action.focus_on_selection":"Center View on Selection","action.focus_on_selection.desc":"Align the camera to face the center of the current selection","action.focus_on_selection.rotate_only":"Rotate only","action.focus_on_selection.zoom":"Zoom to fit","action.edit_reference_images":"Edit Reference Images","action.edit_reference_images.desc":"Turn on reference image mode to add or edit reference images and blueprints","action.add_reference_image":"Add Reference Image","action.reference_image_from_clipboard":"Reference Image from Clipboard","action.toggle_all_reference_images":"Hide/Show All Reference Images","action.toggle_all_reference_images.desc":"Toggle the visibility of all reference images at once","action.reference_image_list":"Reference Images","action.import_texture":"Import Texture","action.import_texture.desc":"Import one or more textures from your file system","action.create_texture":"Create Texture","action.create_texture.desc":"Create a blank texture or template texture","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","action.append_to_template":"Append Elements to Template...","action.append_to_template.desc":"Add the currently selected elements to the texture template","action.save_textures":"Save Textures","action.save_textures.desc":"Save all unsaved textures","action.change_textures_folder":"Change Texture Location","action.change_textures_folder.desc":"Change the folder that all textures are saved in","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.animated_textures":"Play Animated Textures","action.animated_textures.desc":"Play and pause the preview of animated textures","action.animated_texture_frame":"Animated Texture Frame","action.animated_texture_frame.desc":"Set the current frame of the animated texture","action.origin_to_geometry":"Center Pivot","action.origin_to_geometry.desc":"Set the pivot point to the center of the selection","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.bone_reset_toggle":"Reset Bone","action.bone_reset_toggle.desc":"Stop the bone from displaying cubes from the parent model","action.reload":"Reload Blockbench","action.reload.desc":"Reload Blockbench. This will void all unsaved progress","action.uv_select_all":"Select All","action.uv_select_all.desc":"Select all faces in the UV dialog","action.uv_rotation":"UV Rotation","action.uv_rotation.desc":"Rotation of the UV face","action.uv_grid":"UV Grid","action.uv_grid.desc":"The resolution of the grid that the UV selector snaps to","action.uv_grid.auto":"Auto","action.uv_apply_all":"Apply To All Faces","action.uv_apply_all.desc":"Applies the settings of the current face to all faces","action.uv_maximize":"Maximize UV","action.uv_maximize.desc":"Sets the UV for this face to the full texture","action.uv_maximize.all_faces":"Affect all faces","action.uv_turn_mapping":"Turn Mapping","action.uv_turn_mapping.desc":"Turn the UV mapping around 90 degrees","action.uv_auto":"Auto UV","action.uv_auto.desc":"Sets the UV size of this face to the real size of the face","action.uv_rel_auto":"Relative Auto UV","action.uv_rel_auto.desc":"Sets the UV of this face to the position and size of the actual face","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.uv_mirror_x":"UV Mirror X","action.uv_mirror_x.desc":"Mirrors the UV of this face on the X axis","action.uv_mirror_y":"UV Mirror Y","action.uv_mirror_y.desc":"Mirrors the UV of this face on the Y axis","action.uv_rotate_left":"Rotate UV Left","action.uv_rotate_left.desc":"Rotate the selected UV faces counter-clockwise","action.uv_rotate_right":"Rotate UV Right","action.uv_rotate_right.desc":"Rotate the selected UV faces clockwise","action.uv_transparent":"Remove Face","action.uv_transparent.desc":"Removes the current face","action.uv_reset":"Reset Face","action.uv_reset.desc":"Resets the current face","action.cullface":"Cullface","action.cullface.desc":"Disables rendering for this face if the selected side of the model is covered","action.auto_cullface":"Enable Cullface","action.auto_cullface.desc":"Sets the cullface for this face to itself","action.face_tint":"Tint","action.face_tint.desc":"Enables the tint option for the current face","action.slider_face_tint":"Tint Index","action.slider_face_tint.desc":"Set the tint index of the current face. -1 means unset.","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.connect_uv_faces":"Connect UV Faces","action.connect_uv_faces.desc":"Connect the selected UV faces to the last selected UV face","action.merge_uv_vertices":"Merge UV Vertices","action.merge_uv_vertices.desc":"Snap the first selected UV vertices to the last selected UV vertices","action.snap_uv_to_pixels":"Snap UV to Pixels","action.snap_uv_to_pixels.desc":"Snaps the selected UV vertices to the pixel grid","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.paint_mode_uv_overlay":"UV Overlay","action.paint_mode_uv_overlay.desc":"Display the UV map as an overlay in paint mode","action.edit_mode_uv_overlay":"Display All Elements","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","action.remove_blank_faces":"Remove Blank Faces","action.remove_blank_faces.desc":"Deletes all untextured faces of the selection","action.auto_set_cullfaces":"Set Cullfaces Automatically","action.auto_set_cullfaces.desc":"Automatically generate cullfaces to hide faces when they are covered by the neighboring block.","action.move_texture_with_uv":"Move Texture with UV","action.move_texture_with_uv.desc":"Move the texture of the face along when dragging UV faces","action.add_animation":"Add Animation","action.add_animation.desc":"Create a blank animation","action.add_animation_controller":"Add Animation Controller","action.add_animation_controller.desc":"Create a blank animation controller","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.add_animation_controller_state":"Add Animation Controller State","action.add_animation_controller_state.desc":"Add a new state to the animation controller","action.animation_controller_preview_mode":"Controller Preview","action.animation_controller_preview_mode.paused":"Paused","action.animation_controller_preview_mode.manual":"Manual Preview","action.animation_controller_preview_mode.play":"Auto Play","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.load_animation_file":"Import Animations","action.load_animation_file.desc":"Import an animation file","action.play_animation":"Play Animation","action.play_animation.desc":"Preview the selected animation","action.save_all_animations":"Save All Animations","action.save_all_animations.desc":"Save all currently loaded animations","action.export_animation_file":"Export Animations...","action.export_animation_file.desc":"Export a selection of animations into a new file","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.bake_animation_into_model":"Bake Animation Pose into Model","action.bake_animation_into_model.desc":"Bake the currently displayed animation frame into the model. Only applies rotation and position, scale is ignored.","action.slider_animation_length":"Animation Length","action.slider_animation_length.desc":"Change the length of the selected animation","action.set_animation_end":"Set Animation End","action.set_animation_end.desc":"Set the end of the selected animation to the current timeline time","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","action.slider_keyframe_time":"Timecode","action.slider_keyframe_time.desc":"Change the timecode of the selected keyframes","action.keyframe_interpolation":"Interpolation","action.keyframe_interpolation.desc":"Select the keyframe interpolation mode","action.keyframe_interpolation.linear":"Linear","action.keyframe_interpolation.catmullrom":"Smooth","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_interpolation.step":"Step","action.keyframe_uniform":"Uniform Scaling","action.keyframe_uniform.desc":"Enable uniform scaling on the selected keyframes","action.keyframe_bezier_linked":"Link B\xE9zier Handles","action.keyframe_bezier_linked.desc":"Connect the right and left keyframe b\xE9zier handle","action.reset_keyframe":"Reset Keyframe","action.reset_keyframe.desc":"Reset all values of the selected keyframes","action.reset_keyframe_handles":"Reset Keyframe Handles","action.reset_keyframe_handles.desc":"Reset the b\xE9zier handles of the selected keyframes","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.resolve_keyframe_expressions":"Resolve Keyframe","action.resolve_keyframe_expressions.desc":"Resolves the math expressions of the selected keyframes","action.reverse_keyframes":"Reverse Keyframes","action.reverse_keyframes.desc":"Reverse the order of the selected keyframes","action.keyframe_column_create":"Create Keyframe Column","action.keyframe_column_create.desc":"Key all channels in the timeline at the current timecode, if they already have keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.keyframe_column_select":"Select Keyframe Column","action.keyframe_column_select.desc":"Select all keyframes in the timeline along a column below the playhead","action.flip_animation":"Flip Animation","action.flip_animation.desc":"Flips part of an animation by copying selected keyframes to the other side of the model","action.delete_keyframes":"Delete Keyframes","action.delete_keyframes.desc":"Delete all selected keyframes","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.slider_animation_speed":"Playback Speed","action.slider_animation_speed.desc":"Playback speed of the timeline in percent","action.add_keyframe":"Add Keyframe","action.add_keyframe.desc":"Add a keyframe to the selected animator","action.add_keyframe.reset_values":"With default values","action.add_marker":"Set Marker","action.add_marker.desc":"Set a timeline marker","action.timeline_setups":"Timeline Setups","action.save_timeline_setup":"Save Timeline Setup...","action.save_timeline_setup.desc":"Save a preset for the currently selected animators and channels","action.move_keyframe_back":"Move Keyframes Back","action.move_keyframe_forth":"Move Keyframes Forth","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","action.previous_keyframe":"Previous Keyframe","action.previous_keyframe.desc":"Jump to the previous keyframe","action.next_keyframe":"Next Keyframe","action.next_keyframe.desc":"Jump to the next keyframe","action.jump_to_timeline_start":"Jump to Animation Start","action.jump_to_timeline_end":"Jump to Animation End","action.timeline_frame_back":"Jump 1 Frame Back","action.timeline_frame_forth":"Jump 1 Frame Forth","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","action.bring_up_all_animations":"Bring Up All Animators","action.bring_up_all_animations.desc":"Brings all modified animators into the timeline","action.fold_all_animations":"Fold All Animators","action.add_all_to_timeline":"Add All to Timeline","action.clear_timeline":"Clear Timeline","action.clear_timeline.desc":"Clear all unselected bones from the timeline","action.select_effect_animator":"Animate Effects","action.select_effect_animator.desc":"Opens timeline to add sound and particle effects","action.timeline_graph_editor":"Toggle Graph Editor","action.timeline_graph_editor.desc":"Toggle the timeline between graph editor view and keyframe view","action.graph_editor_zero_line":"Include Zero Line","action.graph_editor_zero_line.desc":"Whether the graph editor always includes the zero line in the view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.timeline_focus":"Filter Channels","action.timeline_focus.desc":"Select the animation channels to display in the timeline","action.timeline_focus.hide_empty":"Hide empty channels","action.set_ik_target":"Set IK Target","action.set_ik_target.desc":"Select the target bone that should be moved by this null object via Inverse Kinematics","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","action.lock_motion_trail":"Lock Motion Trail","action.lock_motion_trail.desc":"Lock the motion trail to the currently selected group","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.looped_animation_playback":"Looped Playback","action.looped_animation_playback.desc":"Preview animations in an infinite loop","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","action.bedrock_animation_mode":"Bedrock Animation Mode","action.bedrock_animation_mode.desc":"Select the mode to edit animations for Minecraft: Bedrock Edition in","action.bedrock_animation_mode.entity":"Entity","action.bedrock_animation_mode.attachable_first":"Item 1st Person","action.bedrock_animation_mode.attachable_third":"Item 3rd Person","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","timeline.rotation":"Rotation","timeline.position":"Position","timeline.scale":"Scale","timeline.particle":"Particle","timeline.sound":"Sound","timeline.effects":"Effects","timeline.timeline":"Instructions","timeline.pre_effect_script":"Script","timeline.bind_to_actor":"Bind to Actor","timeline.amplify":"Amplify","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","animation_controllers.select_preset":"Select a controller preset...","animation_controllers.state.animations":"Animations","animation_controllers.state.particles":"Particles","animation_controllers.state.sounds":"Sounds","animation_controllers.state.on_entry":"On Entry","animation_controllers.state.on_exit":"On Exit","animation_controllers.state.transitions":"Transitions","animation_controllers.state.condition":"Condition","animation_controllers.state.blend_transition":"Blend Time","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","animation_controllers.state.shortest_path":"Blend by Shortest Path","animation_controllers.state.edit_transition":"Edit Transition","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"Camera Angle","menu.action_control.recent_in_streamer_mode":"Sure? Streamer Mode is enabled","menu.action_control.recent_in_streamer_mode.desc":"Are you sure you want to display recent models?","menu.options":"Options...","menu.slider.round_value":"Round Value","menu.slider.reset_vector":"Reset Vector","menu.file":"File","menu.edit":"Edit","menu.transform":"Transform","menu.mesh":"Mesh","menu.skin":"Skin","menu.uv":"UV","menu.texture":"Texture","menu.image":"Image","menu.tools":"Tools","menu.display":"Display","menu.animation":"Animation","menu.keyframe":"Keyframe","menu.view":"View","menu.help":"Help","menu.file.new":"New","menu.file.recent":"Recent","menu.file.recent.clear":"Clear Recent Files","menu.file.recent.more":"View More...","menu.file.import":"Import","menu.file.import.import_open_project":"Import Open Project","menu.file.export":"Export","menu.file.preferences":"Preferences","menu.transform.rotate":"Rotate","menu.transform.flip":"Flip","menu.transform.center":"Center","menu.transform.properties":"Properties","menu.tools.main_tools":"Toolbox","menu.display.preset":"Apply Preset","menu.display.preset_all":"Apply Preset Everywhere","menu.display.remove_preset":"Remove Preset","menu.view.zoom":"Zoom","menu.view.panels":"Panels","menu.view.background":"Background","menu.view.screenshot":"Screenshot","menu.help.discord":"Discord Server","menu.help.wiki":"Blockbench Wiki","menu.help.quickstart":"Quickstart Wizard","menu.help.report_issue":"Report an Issue","menu.help.plugin_documentation":"Plugin API Documentation","menu.help.search_action":"Search and Run Action","menu.help.donate":"Donate","menu.help.about":"About...","menu.help.developer":"Developer","menu.help.developer.dev_tools":"Open Dev Tools","menu.help.developer.reset_storage":"Factory Reset","menu.help.unlock_projects":"Unlock All Projects","menu.help.developer.reset_storage.confirm":"Are you sure you want to reset Blockbench to factory settings? This will delete all custom settings, keybindings and installed plugins.","menu.help.developer.cache_reload":"Cache Reload","menu.help.updating":"Updating (%0%)","menu.help.update_failed":"Update Failed","menu.text_edit.copy_vector":"Copy Vector","menu.text_edit.expression_editor":"Expression Editor","menu.cube.color":"Marker Color","menu.cube.texture":"Texture","menu.cube.texture.transparent":"Transparent","menu.cube.texture.blank":"Blank","menu.cube.texture.default":"Default","menu.locator.ignore_inherited_scale":"Ignore Inherited Scale","menu.null_object.lock_ik_target_rotation":"Lock IK Target Rotation","menu.group.sort":"Sort","menu.brush_presets.dialog":"Brush Presets...","menu.brush_presets.pixel_brush":"Pixel Brush","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","menu.brush_presets.smooth_brush":"Smooth Brush","menu.palette.load.default":"Default","menu.palette.load.empty":"Blank","menu.palette.load.update":"Update Palette","menu.palette.load.update.desc":"Updates this palette with the colors of the current Blockbench palette","menu.palette.lock_palette":"Lock Palette","menu.color_picker.picker_type":"Picker Type","menu.color_picker.picker_type.square":"Square","menu.color_picker.picker_type.wheel":"Wheel","menu.color_picker.picker_type.normal":"Normal Map","menu.color_picker.slider_mode":"Slider Mode","menu.color_picker.slider_mode.hsv":"Hue, Saturation, Value","menu.color_picker.slider_mode.rgb":"Red, Green, Blue","menu.texture.face":"Apply to Face","menu.texture.blank":"Apply to Untextured Faces","menu.texture.elements":"Apply to Elements","menu.texture.file":"File","menu.texture.refresh":"Refresh","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","menu.texture.change":"Change File","menu.texture.folder":"Show in File Explorer","menu.texture.file_format":"File Format","menu.texture.render_mode":"Render Mode","menu.texture.render_mode.default":"Default","menu.texture.render_mode.emissive":"Emissive","menu.texture.render_mode.additive":"Additive","menu.texture.render_mode.layered":"Layered","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.texture.flipbook_animation":"Flipbook Animation","menu.texture.merge_onto_texture":"Merge Onto Texture Above","menu.texture.edit":"Edit","menu.texture.edit_externally":"Edit Externally","menu.texture.edit_in_blockbench":"Edit in Blockbench","menu.texture.particle":"Use for Particles","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.texture.export":"Save As","menu.texture.save":"Save","menu.texture.properties":"Properties...","menu.texture_group.resolve":"Resolve","menu.collection.open_file":"Open File","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.preview.background":"Background","menu.preview.background.load":"Load","menu.preview.background.clipboard":"Load from Clipboard","menu.preview.background.position":"Position","menu.preview.background.set_position":"Set Position","menu.preview.background.lock":"Lock To Camera","menu.preview.screenshot":"Screenshot","menu.preview.orthographic":"Orthographic","menu.preview.save_angle":"Save Angle...","menu.preview.angle":"Angles","menu.preview.angle.initial":"Initial Angle","menu.preview.angle.edit":"Edit Angle...","menu.preview.perspective":"Perspective","menu.preview.perspective.normal":"Normal","menu.preview.perspective.reset":"Reset Camera","menu.preview.quadview":"Quad View","menu.preview.maximize":"Maximize","menu.preview.stop_drag":"Stop Background Positioning","menu.uv.export":"Export UV Mapping","menu.uv.mapping.rotation":"Rotation","menu.uv.flip_x":"Mirror X","menu.uv.flip_y":"Mirror Y","menu.uv.texture":"Texture","menu.panel.enable":"Enable","menu.panel.reset_size":"Reset Size","menu.panel.move_to":"Move To","menu.panel.attach_to":"Attach To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.enabled":"Enabled","menu.mirror_painting.axis":"Axis","menu.mirror_painting.axis.desc":"Select on which axis paint strokes will get mirrored","menu.mirror_painting.global":"Global Symmetry","menu.mirror_painting.global.desc":"Enabled mirror painting on the model in global space","menu.mirror_painting.local":"Local Symmetry","menu.mirror_painting.local.desc":"Enable mirror painting in local space for each element","menu.mirror_painting.texture":"2D Editor Symmetry","menu.mirror_painting.texture.desc":"Enable mirror painting in 2D space on the image or texture","menu.mirror_painting.texture_center":"Origin","menu.mirror_painting.texture_frames":"Repeat on Flipbook Frames","menu.mirror_painting.texture_frames.desc":"Mirror paint strokes to every frame of animated textures","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","menu.toolbar.edit":"Customize Toolbar","menu.toolbar.reset":"Reset Toolbar","menu.toolbar.overflow":"Toolbar Overflow","menu.animation.loop":"Loop Mode","menu.animation.loop.once":"Play Once","menu.animation.loop.hold":"Hold On Last Frame","menu.animation.loop.loop":"Loop","menu.animation.override":"Override","menu.animation.anim_time_update":"Anim Time Update","menu.animation.blend_weight":"Blend Weight","menu.animation.start_delay":"Start Delay","menu.animation.loop_delay":"Loop Delay","menu.animation.save":"Save","menu.animation.properties":"Properties...","menu.animation.file":"File","menu.animation.snapping":"Snapping","menu.animation.open_location":"Show in File Explorer","menu.animation.reload":"Reload","menu.animation.unload":"Unload","menu.animation.flip_keyframes":"Flip Keyframes","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animation_file.unload":"Unload File","menu.animation_file.import_remaining":"Import Remaining from File","menu.animator.rotation_global":"Rotate in Global Space","menu.animator.quaternion_interpolation":"Quaternion Interpolation","menu.keyframe.quaternion":"Quaternion","menu.timeline_marker.set_time":"Set Time...","menu.mobile_keyboard.disable_all":"Disable All","menu.paste.face":"UV Face","menu.paste.mesh_selection":"Mesh Selection","menu.paste.outliner":"Elements","edit.loop_cut.direction":"Direction","edit.loop_cut.offset":"Offset","edit.loop_cut.cuts":"Cuts","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.extend":"Extend","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.solidify_mesh_selection.thickness":"Thickness","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","edit.reparent_selection.adjust_position":"Preserve World Transform","web.download_app":"Download App","interface.streamer_mode_on":"Streamer Mode Enabled","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","cube.color.light_blue":"Light Blue","cube.color.yellow":"Yellow","cube.color.orange":"Orange","cube.color.red":"Red","cube.color.purple":"Purple","cube.color.blue":"Blue","cube.color.green":"Green","cube.color.lime":"Lime","cube.color.pink":"Pink","cube.color.silver":"Silver","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","texture_mesh.texture_name":"Texture Name","switches.visibility":"Visibility","switches.lock":"Lock","switches.export":"Export","switches.shade":"Shade","switches.mirror":"Mirror UV","switches.autouv":"Auto UV","switches.autouv.alt":"Relative","texture.error.file":"File not found","texture.error.too_large":"Resolution exceeds the maximum of %0","texture.error.parent":"Texture file provided by parent model","reference_image.image":"Image","reference_image.position":"Position","reference_image.size":"Size","reference_image.rotation":"Rotation","reference_image.opacity":"Opacity","reference_image.visibility":"Visibility","reference_image.clear_mode":"Clear Mode","reference_image.layer":"Layer","reference_image.layer.background":"Behind Model","reference_image.layer.viewport":"Above Model","reference_image.layer.float":"Above Interface","reference_image.blueprint":"Locked Blueprint","reference_image.scope":"Scope","reference_image.scope.project":"Just this project","reference_image.scope.global":"All projects","reference_image.enabled_modes":"Enabled in Modes","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","codec.common.encoding":"Encoding","codec.common.armature":"Export Groups as Armature","codec.common.export_animations":"Export Animations","codec.common.embed_textures":"Embed Textures","codec.common.format":"Format","codec.image.quality":"Quality","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","preview.center_camera":"Center Camera","panel.uv":"UV","panel.display":"Display","panel.textures":"Textures","panel.textures.images":"Images","panel.layers":"Layers","panel.color":"Color","panel.palette":"Palette","panel.color.picker_options":"Color Picker Options","panel.outliner":"Outliner","panel.collections":"Collections","panel.chat":"Chat","panel.animations":"Animations","panel.animation_controllers":"Animation Controller","panel.timeline":"Timeline","panel.keyframe":"Keyframe","panel.keyframe.type":"Keyframe (%0)","panel.keyframe.toggle_uniform_scale":"Toggle Uniform Scale","panel.keyframe.add_data_point":"Add Keyframe Data Point","panel.keyframe.remove_data_point":"Remove Data Point","panel.keyframe.pre":"Pre","panel.keyframe.post":"Post","panel.keyframe.change_effect_file":"Change Effect File","panel.variable_placeholders":"Variable Placeholders","panel.variable_placeholders.info":"List the variables you want to preview via name=value","panel.skin_pose":"Pose","panel.skin_pose.none":"None","panel.skin_pose.natural":"Natural","panel.skin_pose.walking":"Walking","panel.skin_pose.crouching":"Crouching","panel.skin_pose.sitting":"Sitting","panel.skin_pose.jumping":"Jumping","panel.skin_pose.aiming":"Aiming","panel.element":"Element","panel.transform":"Transform","panel.element.position":"Position","panel.element.size":"Size","panel.element.stretch":"Stretch","panel.element.origin":"Pivot Point","panel.element.rotation":"Rotation","panel.element.spline_dimensions":"Spline Dimensions","panel.bone":"Bone","panel.bone.ik":"Inverse Kinematics (Experimental)","uv_editor.title":"UV Editor","uv_editor.face_properties":"Face Properties","uv_editor.face_properties.material_instance":"Material Instance","uv_editor.tint.info":"Tint can be enabled on a face to tell Minecraft to tint it. In vanilla, tint can only be used by specific blocks such as leaves and redstone dust, and can only have a value of 0.","uv_editor.cullface.info":"Enabling cullface tells a face on a block to unrender if another full block is placed next to it in the specified direction in your Minecraft world. This can be used to optimize performance.","uv_editor.material_instance.info":"Material instances can be set to a user-defined name. That name can be used in the block JSON file in the behavior pack to assign a particular texture and material that the face.","uv_editor.show_all_faces":"Show All Faces","uv_editor.show_selected_faces":"Show Selected Faces","uv_editor.all_faces":"All","uv_editor.no_faces":"None","uv_editor.rotated":"Rotated","uv_editor.rotate_uv":"Rotate UV","uv_editor.scale_uv":"Scale UV","uv_editor.auto_cull":"Cullface To Self","uv_editor.copied":"Copied Face","uv_editor.pasted":"Pasted Face","uv_editor.copied_x":"Copied %0 Faces","uv_editor.reset":"Reset Face","uv_editor.maximized":"Maximized","uv_editor.turned":"Turned Mapping","uv_editor.autouv":"Auto Size","uv_editor.mirrored":"Mirrored","uv_editor.to_all":"Applied To All Faces","uv_editor.transparent":"Made Transparent","uv_editor.cullface_on":"Cullface On","uv_editor.cullface_off":"Cullface Off","uv_editor.tint_on":"Tint On","uv_editor.tint_off":"Tint Off","uv_editor.copy_selection":"Copy Selection","uv_editor.paste_selection":"Paste Selection","uv_editor.transparent_face":"Transparent Face","uv_editor.copy_paste_tool.place":"Place","uv_editor.copy_paste_tool.to_layer":"To New Layer","uv_editor.copy_paste_tool.mirror_x":"Mirror X","uv_editor.copy_paste_tool.mirror_y":"Mirror Y","uv_editor.copy_paste_tool.rotate":"Rotate 90 Degrees","face.north":"North","face.south":"South","face.west":"West","face.east":"East","face.up":"Up","face.down":"Down","direction.north":"North","direction.south":"South","direction.west":"West","direction.east":"East","direction.top":"Top","direction.bottom":"Bottom","camera_angle.common_isometric_right":"Isometric Right (2:1)","camera_angle.common_isometric_left":"Isometric Left (2:1)","camera_angle.true_isometric_right":"True Isometric Right (30\xB0)","camera_angle.true_isometric_left":"True Isometric Left (30\xB0)","dialog.edit_session.title":"Edit Session","edit_session.username":"Username","edit_session.token":"Token","edit_session.about":"Edit Sessions can be used to collaborate on models across the internet. Create a session, copy the token, and send it to friends, who can then use it to join.","edit_session.join":"Join Session","edit_session.create":"Create Session","edit_session.quit":"Quit Session","edit_session.joined":"%0 joined the session","edit_session.left":"%0 left the session","edit_session.welcome":"Welcome to this session by %0","edit_session.quit_session":"Left current session","edit_session.status":"Status","edit_session.hosting":"Hosting","edit_session.connected":"Connected to a session","display.slot.third_right":"Thirdperson Right","display.slot.third_left":"Thirdperson Left","display.slot.first_right":"Firstperson Right","display.slot.first_left":"Firstperson Left","display.slot.head":"Head","display.slot.ground":"Ground","display.slot.frame":"Frame","display.slot.embedded":"Embedded","display.slot.on_shelf":"Shelf","display.slot.gui":"GUI","display.rotation":"Rotation","display.translation":"Translation","display.scale":"Scale","display.mirror":"Mirror","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.slot":"Slot","display.reference":"Reference Model","display.pose_angle":"Pose Angle (For Preview Only)","display.animate_preview":"Preview Animation","display.reference.player":"Player","display.reference.zombie":"Zombie","display.reference.armor_stand":"Armor Stand","display.reference.baby_zombie":"Baby Zombie","display.reference.armor_stand_small":"Armor Stand Small","display.reference.fox":"Fox","display.reference.monitor":"Normal","display.reference.bow":"Charged Bow","display.reference.crossbow":"Charged Crossbow","display.reference.eating":"Eating","display.reference.tooting":"Horn Tooting","display.reference.block":"Block","display.reference.flower_pot":"Flower Pot","display.reference.frame":"Item Frame","display.reference.frame_invisible":"Item Frame (Invisible)","display.reference.frame_top":"Item Frame Top","display.reference.frame_top_invisible":"Item Frame Top (Invisible)","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Inventory","display.reference.hud":"HUD","display.preset.blank_name":"Please enter a name","display.preset.item":"Default Item","display.preset.block":"Default Block","display.preset.handheld":"Default Weapon","display.preset.rod":"Default Rod","display.preset.armor_stand":"Ground (Armor Stand)","preview_scene.studio":"Studio","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_overworld":"Overworld","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_ocean":"Ocean","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark"};var wL={"dialog.ok":"OK","dialog.cancel":"Cancelar","dialog.confirm":"Aceptar","dialog.close":"Cerrar","dialog.import":"Importar","dialog.save":"Guardar","dialog.discard":"Descartar","dialog.dontshowagain":"No volver a mostrar","data.cube":"Cubo","data.group":"Grupo","data.texture":"Textura","data.plugin":"Plugin","data.preview":"Vista previa","data.toolbar":"Barra de herramientas","data.image":"Imagen","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"CMD","keys.delete":"Eliminar","keys.space":"Espacio","keys.leftclick":"Clic izquierdo","keys.middleclick":"Clic central","keys.rightclick":"Clic derecho","keys.tab":"Tabulador","keys.backspace":"Retroceso","keys.enter":"Entrar","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Teclado num\xE9rico %0","keys.caps":"Bloq May\xFAs","keys.menu":"Men\xFA Contextual","keys.left":"Izquierda","keys.up":"Arriba","keys.right":"Derecha","keys.down":"Abajo","keys.pageup":"P\xE1gina arriba","keys.pagedown":"P\xE1gina abajo","keys.plus":"M\xE1s","keys.comma":"Coma","keys.point":"Punto","keys.minus":"Min\xFAscula","keys.cross":"Cruz","keys.end":"Fin","keys.pos1":"Pos 1","keys.printscreen":"Impr. Pantalla","keys.pause":"Pausa","message.rotation_limit.title":"L\xEDmites de rotaci\xF3n","message.rotation_limit.message":'Las rotaciones est\xE1n limitadas por Minecraft en un s\xF3lo eje y en incrementos de 22.5 grados. Rotar en un eje diferente quitar\xE1 la rotaci\xF3n en otros ejes. Convierte el modelo a "Modelo Libre" si quieres modelar para otros prop\xF3sitos y necesitas rotaciones libres.',"message.file_not_found.title":"Archivo No Encontrado","message.file_not_found.message":"Blockbench no pudo encontrar el archivo pedido. Aseg\xFArate de que est\xE1 guardado localmente y no en una nube.","message.screenshot.title":"Captura de pantalla","message.screenshot.clipboard":"Portapapeles","message.screenshot.right_click":"Clic derecho o mant\xE9n presionado para copiar la captura de pantalla","message.invalid_file.title":"Archivo no v\xE1lido","message.invalid_file.message":"No se pudo abrir el archivo del modelo: %0","message.invalid_model.title":"Archivo de Modelo Inv\xE1lido","message.invalid_model.message":"Este archivo no contiene informaci\xF3n de modelo v\xE1lida.","message.child_model_only.title":"Modelo Hijo Vac\xEDo","message.child_model_only.message":"Este archivo es hijo de %0 y no contiene ning\xFAn modelo.","message.unsaved_textures.title":"Texturas sin guardar","message.unsaved_textures.message":"Tu modelo tiene texturas sin guardar. Aseg\xFArate de guardarlas en la carpeta correcta del paquete de recursos.","message.model_clipping.title":"M\xF3delo Muy Grande","message.model_clipping.message":"Tu modelo contiene %0 cubos que son m\xE1s grandes que el l\xEDmite de bloques permitido por Minecraft. Este modelo no funcionar\xE1 en Minecraft.","message.loose_texture.title":"Importar Textura","message.loose_texture.message":"La texture importada no forma parte de un Resource Pack. Minecraft s\xF3lo puede cargar texturas dentro de una carpeta de textures en un Resource Pack cargado.","message.loose_texture.change":"Cambiar Ruta","message.update_res.title":"Resoluci\xF3n de Textura","message.update_res.message":'\xBFQuieres actualizar la resoluci\xF3n del proyecto a la resoluci\xF3n de esta textura? Dale clic a "Cancelar" si la textura tiene una resoluci\xF3n mayor a la normal.',"message.update_res.update":"Actualizar","message.bedrock_overwrite_error.message":"Blockbench no puede combinar este modelo con un archivo viejo","message.bedrock_overwrite_error.backup_overwrite":"Crear copia de seguridad y sobrescribir","message.bedrock_overwrite_error.overwrite":"Sobrescribir","message.close_warning.message":"\xBFQui\xE9res guardar tu modelo?","message.close_warning.web":"Tu trabajo actual se perder\xE1. \xBFEst\xE1s seguro de que quieres salir?","message.default_textures.title":"Texturas por defecto","message.default_textures.message":'Selecciona la carpeta "textures" del paquete de recursos por defecto',"message.default_textures.detail":'Extrae el paquete de texturas por defecto del Minecraft jar o b\xFAscalo en Google y desc\xE1rgalo. Despu\xE9s busca la carpeta "textures" y \xE1brela. Blockbench recordar\xE1 esa localizaci\xF3n y tratar\xE1 de extraer las texturas desde ah\xED si no las puede encontrar en el paquete de texturas actual.',"message.default_textures.select":'Selecciona la carpeta "textures" por defecto',"message.image_editor.title":"Selecciona un editor de im\xE1genes","message.image_editor.file":"Seleccionar Archivo...","message.image_editor.exe":"Seleccionar el ejecutable de un editor de im\xE1genes","message.display_skin.title":"Skin de Minecraft","message.display_skin.message":"Selecciona un archivo de una skin de tu computadora o escribe el nombre de un jugador","message.display_skin.upload":"Seleccionar Archivo","message.display_skin.reset":"Restablecer","message.invalid_plugin":"Archivo de plugin inv\xE1lido, vea la Consola","message.load_plugin_app":"\xBFQuieres permitir a este plugin que haga cambios a tu PC? Carga s\xF3lo plugins de personas en las que conf\xEDes.","message.load_plugin_web":"\xBFQuieres cargar este plugin? Carga s\xF3lo plugins de personas en las que conf\xEDes.","message.preset_no_info":"La plantilla no contiene informaci\xF3n para este apartado","message.restart_to_update":"Reinicie Blockbench para aplicar cambios","message.save_file":"Guardado como %0","dialog.project.title":"Proyecto","dialog.project.name":"Nombre de Archivo","dialog.project.parent":"Modelo Padre","dialog.project.geoname":"Identificador del Modelo","dialog.project.ao":"Oclusi\xF3n Ambiental","dialog.texture.title":"Textura","dialog.texture.variable":"Variable","dialog.texture.namespace":"Espacio del Nombre","dialog.texture.folder":"Carpeta","dialog.extrude.title":"Extruir imagen","dialog.extrude.mode":"Modo de Escaneo","dialog.extrude.mode.areas":"Areas","dialog.extrude.mode.lines":"L\xEDneas","dialog.extrude.mode.columns":"Columnas","dialog.extrude.mode.pixels":"P\xEDxeles","dialog.extrude.opacity":"Opacidad M\xEDnima","dialog.extrude.scan":"Escanear e Importar","dialog.display_preset.title":"Crear Plantilla","dialog.display_preset.message":"Selecciona los apartados que quieras guardar","dialog.display_preset.create":"Crear","dialog.select.title":"Seleccionar","dialog.select.group":"En el Grupo Seleccionado","dialog.select.name":"El Nombre Contiene","dialog.select.random":"Probabilidad Aleatoria (%)","dialog.select.select":"Seleccionar","dialog.scale.title":"Reescalar Modelo","dialog.scale.axis":"Ejes","dialog.scale.clipping":"El modelo sobresale: Es demasiado grande para el espacio de trabajo","dialog.scale.confirm":"Reescalar","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Instalado","dialog.plugins.available":"Disponible","dialog.plugins.install":"Instalar","dialog.plugins.uninstall":"Desinstalar","dialog.plugins.reload":"Recargar","dialog.plugins.none_installed":"No hay plugins instalados","dialog.plugins.none_available":"No hay plugins disponibles","dialog.plugins.web_only":"S\xF3lo para la p\xE1gina web","dialog.plugins.app_only":"S\xF3lo para el programa de escritorio","dialog.plugins.author":"por %0","dialog.create_texture.folder":"Carpeta","dialog.create_texture.resolution":"Resoluci\xF3n","dialog.input.title":"Entrada","dialog.settings.settings":"Ajustes","dialog.settings.keybinds":"Atajos de Teclado","dialog.settings.about":"Acerca de","layout.color.back":"Fondo","layout.color.back.desc":"Fondos y cajas de entrada","layout.color.dark":"Oscuro","layout.color.dark.desc":"Fondo del espacio de trabajo","layout.color.ui":"UI","layout.color.ui.desc":"Color principal de la interfaz","layout.color.bright_ui":"UI Brillante","layout.color.bright_ui.desc":"Men\xFAs contextuales e informaci\xF3n de herramientas","layout.color.button":"Bot\xF3n","layout.color.button.desc":"Botones e interruptores","layout.color.selected":"Seleccionado","layout.color.selected.desc":"Pesta\xF1as y objectos seleccionados","layout.color.border":"Borde","layout.color.border.desc":"Borde de botones y cajas de entrada","layout.color.accent":"Acento","layout.color.accent.desc":"Deslizador y otros detalles","layout.color.grid":"Cuadr\xEDcula","layout.color.grid.desc":"Cuadr\xEDcula de vista previa 3D","layout.color.text":"Texto","layout.color.text.desc":"Texto normal","layout.color.light":"Claro","layout.color.light.desc":"Texto resaltado","layout.color.accent_text":"Acento del texto","layout.color.accent_text.desc":"Texto sobre fondos con acento","layout.font.main":"Fuente Principal","layout.font.headline":"Fuente de T\xEDtulos","about.version":"Versi\xF3n:","settings.category.general":"General","settings.category.preview":"Vista Previa","settings.category.grid":"Cuadr\xEDcula","settings.category.edit":"Editar","settings.category.snapping":"Im\xE1n","settings.category.defaults":"Por defecto","settings.category.dialogs":"Di\xE1logos","settings.category.export":"Exportar","settings.language":"Lenguaje","settings.language.desc":"Lenguaje de Interfaz","settings.backup_interval":"Intervalo de Respaldos","settings.backup_interval.desc":"Intervalo de los respaldos autom\xE1ticos en minutos","settings.origin_size":"Marcador de Pivote","settings.origin_size.desc":"Tama\xF1o del marcador del punto de pivote","settings.control_size":"Transformar el Tama\xF1o del Artilugio","settings.control_size.desc":"Tama\xF1o de Transformaci\xF3n del Artilugio","settings.display_skin":"Skin de Minecraft","settings.display_skin.desc":"Skin usada para la referencia del modelo jugador","settings.shading":"Sombreado","settings.shading.desc":"Habilitar sombreado en vista previa","settings.base_grid":"Cuadr\xEDcula Peque\xF1a","settings.base_grid.desc":"Mostrar cuadr\xEDcula y ejes peque\xF1os","settings.large_grid":"Cuadr\xEDcula de Bloques","settings.large_grid.desc":"Mostrar cuadr\xEDcula de 16x16 bloques","settings.full_grid":"Cuadr\xEDcula de Bloques Precisa","settings.full_grid.desc":"Mostrar cuadr\xEDcula de bloques con precisi\xF3n de p\xEDxeles","settings.large_box":"Caja con L\xEDmite de Tama\xF1o","settings.large_box.desc":"Mostrar l\xEDmites de tama\xF1o","settings.display_grid":"Modo de Visualizaci\xF3n Cuadr\xEDcula","settings.display_grid.desc":"Mostrar cuadr\xEDcula en el modo de visualizaci\xF3n","settings.undo_limit":"L\xEDmite de Deshacer","settings.undo_limit.desc":"N\xFAmero de acciones que puedes deshacer","settings.local_move":"Mover en Ejes Relativos","settings.local_move.desc":"Mover elementos rotados en sus propios ejes si es posible","settings.canvas_unselect":"Deselecci\xF3n con Click en el Espacio de Trabajo","settings.canvas_unselect.desc":"Deseleccionar todos los elementos cuando se hace click en el fondo del espacio de trabajo","settings.paint_side_restrict":"Restringir el Pincel a un Lado","settings.paint_side_restrict.desc":"Restringe los pinceles para que solo pinten en el lado actual","settings.autouv":"Auto UV","settings.autouv.desc":"Activar Auto UV por defecto","settings.create_rename":"Renombrar Nuevo Elemento","settings.create_rename.desc":"Enfocar el campo de nombre al crear un nuevo elemento o grupo","settings.edit_size":"Resoluci\xF3n de Cuadr\xEDcula","settings.edit_size.desc":"Resoluci\xF3n de la cuadr\xEDcula a la que se ajustan los elementos","settings.shift_size":"Resoluci\xF3n Shift","settings.shift_size.desc":"Resoluci\xF3n de la cuadr\xEDcula al mantener Shift","settings.ctrl_size":"Resoluci\xF3n de Control","settings.ctrl_size.desc":"Resoluci\xF3n de la cuadr\xEDcula al mantener Control","settings.negative_size":"Tama\xF1o Negativo","settings.negative_size.desc":"Permitir a la herramienta de reescalado usar tama\xF1os negativos","settings.minifiedout":"Exportaci\xF3n Minificada","settings.minifiedout.desc":"Escribir archivos JSON en una l\xEDnea","settings.export_groups":"Exportar grupos en modelos de bloques/objetos de Java","settings.export_groups.desc":"Guardar grupos en archivos JSON de bloques java o modelos de objeto","settings.credit":"Comentario de Cr\xE9ditos","settings.credit.desc":"A\xF1adir un comentario de cr\xE9ditos a archivos exportados","settings.default_path":"Ruta de Texturas Por Defecto de Minecraft","settings.default_path.desc":"Carpeta desde donde Blockbench carga las texturas por defecto","settings.image_editor":"Editor de Im\xE1genes","settings.image_editor.desc":"Editor de im\xE1genes por defecto con el que editar las texturas","category.navigate":"Navegaci\xF3n","category.tools":"Herramientas","category.file":"Archivo","category.blockbench":"Blockbench","category.edit":"Editar","category.transform":"Transformar","category.view":"Ver","category.display":"Ajustes de Visualizaci\xF3n","category.textures":"Texturas","category.misc":"Miscel\xE1neo","keybind.preview_select":"Seleccionar","keybind.preview_rotate":"Vista de Rotaci\xF3n","keybind.preview_drag":"Vista de Arrastre","keybind.confirm":"Confirmar","keybind.cancel":"Cancelar","action.slider_inflate":"Inflar","action.slider_inflate.desc":"Inflar cubos en todas las direcciones sin cambiar el UV","action.slider_brush_size":"Tama\xF1o","action.slider_brush_size.desc":"Radio del pincel en p\xEDxeles","action.slider_brush_opacity":"Opacidad","action.slider_brush_opacity.desc":"Opacidad del pincel de 0 a 255","action.slider_brush_softness":"Suavidad","action.slider_brush_softness.desc":"Suavidad del pincel en porcentaje","action.uv_slider_pos_x":"Mover Horizontal","action.uv_slider_pos_x.desc":"Mover horizontalmente todas las caras UV seleccionadas","action.uv_slider_pos_y":"Mover Vertical","action.uv_slider_pos_y.desc":"Mover verticalmente todas las caras UV seleccionadas","action.uv_slider_size_x":"Tama\xF1o Horizontal","action.uv_slider_size_x.desc":"Redimensionar horizontalmente todas las caras UV seleccionadas","action.uv_slider_size_y":"Tama\xF1o Vertical","action.uv_slider_size_y.desc":"Redimensionar verticalmente todas las caras UV seleccionadas","action.vertex_snap_mode":"Modo Im\xE1n","action.vertex_snap_mode.desc":"Seleccionar si el Im\xE1n para Vertices mueve los elementos a la posici\xF3n seleccionada o si los re-escala","action.move_tool":"Mover","action.move_tool.desc":"Herramienta para seleccionar y mover elementos","action.resize_tool":"Re-escalar","action.resize_tool.desc":"Herramienta para seleccionar y re-escalar elementos","action.brush_tool":"Pincel de pintura","action.brush_tool.desc":"Pincel de color para dibujar sobre texturas","action.vertex_snap_tool":"Im\xE1n para V\xE9rtices","action.vertex_snap_tool.desc":"Mover un cubo a otro cubo al conectar 2 v\xE9rtices","action.swap_tools":"Cambiar Herramientas","action.swap_tools.desc":"Cambiar entre la herramienta para mover y para re-escalar","action.project_window":"Proyecto...","action.project_window.desc":"Abre la ventana del proyecto, donde puedes cambiar la metadata de tu modelo","action.open_model":"Abrir Modelo","action.open_model.desc":"Abre un archivo de modelo de tu computadora","action.extrude_texture":"Textura Extruida","action.extrude_texture.desc":"General un modelo al extender una textura","action.export_blockmodel":"Exportar modelo de bloque/objeto","action.export_blockmodel.desc":"Exportar un modelo de bloque o de objeto de Minecraft Java Edition","action.export_optifine_part":"Exportar Parte de Optifine","action.export_optifine_part.desc":"Exportar una sola parte para un modelo de entidad de OptiFine","action.export_optifine_full":"Exportar a OptiFine JEM","action.export_optifine_full.desc":"Exportar un modelo completo de entidad de OptiFine","action.export_obj":"Exportar Modelo OBJ","action.export_obj.desc":"Exportar un modelo Wavefront OBJ para su renderizaci\xF3n","action.settings_window":"Ajustes...","action.settings_window.desc":"Abre la ventana de ajustes de Blockbench.","action.plugins_window":"Plugins...","action.plugins_window.desc":"Abre la ventana de la tienda de plugins","action.reset_layout":"Resetear Dise\xF1o","action.reset_layout.desc":"Resetea el dise\xF1o al que tiene Blockbench por defecto","action.load_plugin":"Cargar Plugin desde Archivo","action.load_plugin.desc":"Carga un plugin importando el archivo base","action.reload_plugins":"Recargar Plugins","action.reload_plugins.desc":"Recarga todos los plugins en desarrollo","action.undo":"Deshacer","action.undo.desc":"Deshace el \xFAltimo cambio","action.redo":"Rehacer","action.redo.desc":"Rehace el \xFAltimo cambio","action.copy":"Copiar","action.copy.desc":"Copia la selecci\xF3n, cara o ajustes de visualizaci\xF3n","action.paste":"Pegar","action.paste.desc":"Pega la selecci\xF3n, cara o ajustes de visualizaci\xF3n","action.cut":"Cortar","action.cut.desc":"Corta la selecci\xF3n, cara o ajustes de visualizaci\xF3n","action.add_cube":"A\xF1adir Cubo","action.add_cube.desc":"A\xF1ade un nuevo cubo","action.add_group":"A\xF1adir Grupo","action.add_group.desc":"A\xF1ade un nuevo grupo o hueso","action.outliner_toggle":"Activar M\xE1s Opciones","action.outliner_toggle.desc":"Cambia los botones para m\xE1s opciones en el Esquema","action.duplicate":"Duplicar","action.delete":"Borrar","action.sort_outliner":"Ordenar Esquema","action.sort_outliner.desc":"Ordena el esquema alfab\xE9ticamente","action.select_window":"Seleccionar...","action.select_window.desc":"Busca y seleccionar elementos basados en sus propiedades","action.invert_selection":"Invertir Selecci\xF3n","action.invert_selection.desc":"Invertir la selecci\xF3n actual de elementos","action.select_all":"Seleccionar Todo","action.collapse_groups":"Contraer Grupos","action.collapse_groups.desc":"Contraer todos los grupos del esquema","action.scale":"Re-escalar...","action.scale.desc":"Escalar los elementos seleccionados","action.toggle_visibility":"Cambiar Visibilidad","action.toggle_visibility.desc":"Cambiar la visibilidad de los elementos seleccionados","action.toggle_export":"Cambiar Exportaci\xF3n","action.toggle_export.desc":"Cambia el ajuste de exportaci\xF3n de los elementos seleccionados","action.toggle_autouv":"Cambiar Auto UV","action.toggle_autouv.desc":"Cambia el ajuste de Auto UV de los elementos seleccionados","action.toggle_shade":"Cambiar Sombreado","action.toggle_shade.desc":"Cambia el ajuste de sombreado de los elementos seleccionados","action.rename":"Renombrar","action.rename.desc":"Cambia el nombre de los elementos seleccionados","action.add_display_preset":"Nueva Plantilla","action.add_display_preset.desc":"A\xF1ade un nuevo pre-ajuste de visualizaci\xF3n","action.fullscreen":"Pantalla Completa","action.fullscreen.desc":"Cambia al modo de pantalla completa","action.zoom_in":"Hacer zoom","action.zoom_in.desc":"Hace zoom para hacer la interfaz m\xE1s grande","action.zoom_out":"Quitar zoom","action.zoom_out.desc":"Quita zoom para hacer la interfaz m\xE1s peque\xF1a","action.zoom_reset":"Resetear Zoom","action.zoom_reset.desc":"Resetea el zoom al 100% por defecto","action.reset_interface":"Resetar Interfaz","action.reset_interface.desc":"Resetea el tama\xF1o y las posiciones de la Interfaz","action.screenshot_model":"Captura de Pantalla del Modelo","action.screenshot_model.desc":"Toma una captura de pantalla recortada del modelo desde el \xE1ngulo actual","action.screenshot_app":"Captura de Pantalla de la Aplicaci\xF3n","action.screenshot_app.desc":"Toma una captura de pantalla de toda la aplicaci\xF3n","action.import_texture":"Importar Textura","action.import_texture.desc":"Importa una o m\xE1s texturas de tu sistema de archivos","action.create_texture":"Crear Textura","action.create_texture.desc":"Crea una textura en blanco o para una plantilla","action.save_textures":"Guardar Texturas","action.save_textures.desc":"Guarda todas las texturas que no han sido guardadas","action.animated_textures":"Activar Texturas Animadas","action.animated_textures.desc":"Reproducir y pausar la vista previa de texturas animadas","action.origin_to_geometry":"Centrar Pivote","action.origin_to_geometry.desc":"Pone el punto de pivote al centro de la selecci\xF3n","action.bone_reset_toggle":"Resetear Hueso","action.bone_reset_toggle.desc":"Impide que el hueso muestre cubos del modelo padre","action.reload":"Recargar Blockbench","action.reload.desc":"Recarga Blockbench. Esto borrar\xE1 todo el progreso no guardado","menu.file":"Archivo","menu.edit":"Editar","menu.transform":"Transformar","menu.display":"Visualizaci\xF3n","menu.view":"Ver","menu.file.new":"Nuevo","menu.file.recent":"Reciente","menu.file.import":"Importar","menu.file.export":"Exportar","menu.transform.rotate":"Rotar","menu.transform.flip":"Invertir","menu.transform.center":"Centrar","menu.transform.properties":"Propiedades","menu.display.preset":"Aplicar Plantilla","menu.display.preset_all":"Aplicar Plantilla en Todo","menu.display.remove_preset":"Borrar Plantilla","menu.view.zoom":"Zoom","menu.view.background":"Fondo","menu.view.screenshot":"Captura de Pantalla","menu.cube.color":"Color","menu.cube.texture":"Textura","menu.cube.texture.transparent":"Transparente","menu.cube.texture.blank":"En Blanco","menu.group.sort":"Ordenar","menu.texture.face":"Aplicar a Cara","menu.texture.file":"Archivo","menu.texture.refresh":"Refrescar","menu.texture.change":"Cambiar Archivo","menu.texture.folder":"Mostrar en el Explorador de archivos","menu.texture.edit":"Editar","menu.texture.export":"Guardar Como","menu.texture.save":"Guardar","menu.texture.properties":"Propiedades...","menu.preview.background":"Fondo","menu.preview.background.load":"Cargar","menu.preview.background.position":"Posici\xF3n","menu.preview.background.lock":"Fijar a la C\xE1mara","menu.preview.screenshot":"Captura de Pantalla","menu.preview.perspective":"Perspectiva","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Vista Cu\xE1druple","menu.preview.stop_drag":"Parar la Colocaci\xF3n del Fondo","menu.uv.mapping.rotation":"Rotaci\xF3n","menu.uv.texture":"Textura","cube.color.light_blue":"Azul claro","cube.color.yellow":"Amarillo","cube.color.orange":"Naranja","cube.color.red":"Rojo","cube.color.purple":"Morado","cube.color.blue":"Azul","cube.color.green":"Verde","cube.color.lime":"Lima","switches.visibility":"Visibilidad","switches.export":"Exportar","switches.autouv":"Auto UV","panel.uv":"UV","panel.display":"Visualizaci\xF3n","panel.textures":"Texturas","panel.outliner":"Esquema","uv_editor.title":"Editor de UV","uv_editor.all_faces":"Todo","uv_editor.no_faces":"Ninguno","face.north":"Norte","face.south":"Sur","face.west":"Oeste","face.east":"Este","face.up":"Arriba","face.down":"Abajo","direction.north":"Norte","direction.south":"Sur","direction.west":"Oeste","direction.east":"Este","direction.top":"Arriba","direction.bottom":"Abajo","display.slot.third_right":"Tercera Persona, Derecha","display.slot.third_left":"Tercera Persona, Izquierda","display.slot.first_right":"Primera Persona, Derecha","display.slot.first_left":"Primera Persona, Izquierda","display.slot.head":"Cabeza","display.slot.ground":"Suelo","display.slot.frame":"Marco","display.slot.gui":"Interfaz","display.rotation":"Rotaci\xF3n","display.translation":"Translaci\xF3n","display.scale":"Reescalado","display.slot":"Apartado","display.reference":"Modelo de Referencia","display.reference.player":"Jugador","display.reference.zombie":"Zombie","display.reference.armor_stand":"Armor Stand","display.reference.baby_zombie":"Zombie beb\xE9","display.reference.armor_stand_small":"Armor Stand Peque\xF1o","display.reference.monitor":"Normal","display.reference.bow":"Arco Cargado","display.reference.block":"Bloque","display.reference.frame":"Marco de Objetos","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Inventario","display.reference.hud":"Interfaz","display.preset.blank_name":"Por favor, introduce un nombre","display.preset.item":"Objeto Por Defecto","display.preset.block":"Bloque por defecto","display.preset.handheld":"Arma por defecto","display.preset.rod":"Palo por defecto","dialog.continue":"Continuar","message.square_textures":"Las texturas tienen que ser cuadradas","message.unsaved_texture.title":"Textura sin guardar","message.unsaved_texture.message":"Todos los cambios no guardados de esta textura ser\xE1n perdidos. \xBFQuieres continuar?","action.vertex_snap_mode.move":"Mover","action.vertex_snap_mode.scale":"Reescalar","action.open_model_folder":"Abrir la Carpeta del Modelo","action.open_model_folder.desc":"Abre la carpeta que contiene al modelo dentro","action.change_textures_folder":"Cambiar Localizaci\xF3n de las Texturas","action.change_textures_folder.desc":"Cambia la carpeta que en la que se guardan todas las texturas","menu.texture.particle":"Usar para Part\xEDculas","message.update_notification.title":"No fue posible Instalar la Actualizaci\xF3n","message.update_notification.message":"Una nueva versi\xF3n de Blockbench est\xE1 disponible. Por favor, active las Actualizaciones Autom\xE1ticas en la configuraci\xF3n para actualizar!","message.untextured":"La superficie no tiene una textura","dialog.toolbar_edit.title":"Personalizar Barra de Herramientas","keybindings.reset":"Resetear","keybindings.clear":"Vac\xEDo","action.cube_counter":"Estad\xEDsticas del Modelo","action.uv_rotation":"Rotaci\xF3n del UV","action.uv_rotation.desc":"Rotaci\xF3n de la cara del UV","action.uv_grid":"Cuadr\xEDcula del UV","action.uv_grid.desc":"La resoluci\xF3n de la cuadr\xEDcula a la que el selector del UV se engancha","action.uv_grid.auto":"Autom\xE1tico","action.uv_maximize":"Maximizar UV","action.uv_maximize.desc":"Configura el UV para esta cara a la textura completa","action.uv_auto":"Auto UV","action.uv_auto.desc":"Configura el tama\xF1o del UV de esta cara al tama\xF1o real de la propia cara","action.uv_rel_auto":"Auto UV Relativo","action.uv_rel_auto.desc":"Configura el UV de esta cara a la posici\xF3n y tama\xF1o de la propia cara","action.uv_mirror_x":"Invertir UV en X","action.uv_mirror_x.desc":"Invierte el UV de esta cara en el eje X","action.uv_mirror_y":"Invertir UV en Y","action.uv_mirror_y.desc":"Invierte el UV de esta cara en el eje Y","action.uv_transparent":"Eliminar Cara","action.uv_transparent.desc":"Convierte la cara actual en transparente","action.uv_reset":"Resetear Cara","action.uv_reset.desc":"Resetea la cara actual","action.cullface":"Cullface","action.cullface.desc":"Deshabilita el renderizado para esta cara si el lado seleccionado del modelo est\xE1 cubierto","action.auto_cullface":"Auto Cullface","action.auto_cullface.desc":"Configura el cullface para esta cara a s\xED mismo","action.face_tint":"Tintar","action.face_tint.desc":"Habilita la opci\xF3n de tintado para la cara actual","menu.toolbar.edit":"Personalizar Barra de Herramientas","menu.toolbar.reset":"Resetear","uv_editor.rotated":"Rotado","uv_editor.auto_cull":"Cullface a s\xED Mismo","uv_editor.copied":"Cara Copiada","uv_editor.pasted":"Cara Pegada","uv_editor.copied_x":"Copiadas %0 Caras","uv_editor.reset":"Resetear Cara","uv_editor.maximized":"Maximizada","uv_editor.autouv":"Tama\xF1o Autom\xE1tico","uv_editor.mirrored":"Invertida","uv_editor.to_all":"Aplicar a Todas Las Caras","uv_editor.transparent":"Hecho transparente","uv_editor.cullface_on":"Cullface Activado","uv_editor.cullface_off":"Cullface Desactivado","uv_editor.tint_on":"Tintar Activado","uv_editor.tint_off":"Tintar Desactivado","action.uv_apply_all":"Aplicar a Todas las Caras","action.uv_apply_all.desc":"Aplica los ajustes de la cara actual a todas las caras","message.image_editor_missing.title":"Editor de Im\xE1genes por Defecto","message.image_editor_missing.message":"Selecciona el archivo ejecutable de tu editor de im\xE1genes.","message.image_editor_missing.detail":"Blockbench no pudo encontrar un editor de im\xE1genes en tu computadora. Selecciona el archivo ejecutable de tu editor de im\xE1genes preferido.","action.update_autouv":"Actualizar Auto UV","action.update_autouv.desc":"Actualiza el mapeado del auto UV en los cubos seleccionados","category.uv":"UV","status_bar.saved":"El modelo est\xE1 guardado","status_bar.unsaved":"Hay cambios sin guardar","action.move_up":"Mover Hacia Arriba","action.move_up.desc":"Mueve los cubos seleccionados hacia arriba relativo al \xE1ngulo actual de la c\xE1mara","action.move_down":"Mover Hacia Abajo","action.move_down.desc":"Mueve los cubos seleccionados hacia abajorelativo al \xE1ngulo actual de la c\xE1mara","action.move_left":"Mover Hacia Izquierda","action.move_left.desc":"Mueve los cubos seleccionados hacia la izquierda relativo al \xE1ngulo actual de la c\xE1mara","action.move_right":"Mover Hacia Derecha","action.move_right.desc":"Mueve los cubos seleccionados hacia la derecha relativo al \xE1ngulo actual de la c\xE1mara","action.move_forth":"Mover Hacia Delante","action.move_forth.desc":"Mueva los elementos seleccionados hacia adelante en relaci\xF3n con el \xE1ngulo actual de la c\xE1mara","action.move_back":"Mover Hacia Atr\xE1s","action.move_back.desc":"Mueve los cubos seleccionados hacia atr\xE1s relativo al \xE1ngulo actual de la c\xE1mara","layout.color.wireframe":"Estructura","layout.color.wireframe.desc":"L\xEDneas de vista de la estructura","action.add_animation":"A\xF1adir Animaci\xF3n","action.add_animation.desc":"Crear Animaci\xF3n Vac\xEDa","action.load_animation_file":"Importar Animaciones","action.load_animation_file.desc":"Importa un archivo de animaci\xF3n","action.play_animation":"Mostrar Animaciones","action.play_animation.desc":"Previsualiza la animaci\xF3n seleccionada","action.slider_keyframe_time":"C\xF3digo de tiempo","action.slider_keyframe_time.desc":"Cambia el c\xF3digo de tiempo de los frames clave seleccionados","timeline.rotation":"Rotaci\xF3n","timeline.position":"Posici\xF3n","timeline.scale":"Escala","menu.keyframe.quaternion":"Quaternion","panel.animations":"Animaciones","panel.keyframe":"Fotograma Clave","panel.keyframe.type":"Fotograma Clave (%0)","generic.delete":"Eliminar","generic.rename":"Renombrar","message.no_animation_selected":"Tienes que seleccionar una animaci\xF3n para hacer esto","message.no_bone_selected":"Tienes que seleccionar un hueso para hacer esto","message.duplicate_groups.title":"Duplicar Nombre del Hueso","message.duplicate_groups.message":"El nombre de este hueso existe en varios huesos. Esto puede causar problemas","action.delete_keyframes":"Eliminar Fotogramas Clave","action.delete_keyframes.desc":"Elimina todos los fotogramas clave seleccionados","menu.animation":"Animaci\xF3n","menu.animation.loop":"Modo de bucle","menu.animation.override":"Sobreescribir","menu.animation.anim_time_update":"Actualizar Variable","message.display_skin_model.title":"Modelo de Skin","message.display_skin_model.message":"Escoge el tipo de modelo de tu skin","message.display_skin_model.classic":"Cl\xE1sico","message.display_skin_model.slim":"Delgado","message.bone_material":"Cambiar el material del hueso","action.slider_animation_length":"Duraci\xF3n de la Animaci\xF3n","action.slider_animation_length.desc":"Cambia la duraci\xF3n de la animaci\xF3n seleccionada","panel.variable_placeholders":"Variables Temporales","panel.variable_placeholders.info":"Muestra las variables que quieres visualizar mediante nombre=valor","status_bar.vertex_distance":"Distancia: %0","dialog.create_gif.title":"Grabar GIF","dialog.create_gif.length":"Duraci\xF3n","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Reproducir Animaci\xF3n","category.animation":"Animaci\xF3n","action.record_model_gif":"Grabar GIF...","action.record_model_gif.desc":"Graba un GIF animado de este modelo desde este \xE1ngulo","display.mirror":"Invertir","data.separator":"Separador","menu.preview.background.set_position":"Ajustar Posici\xF3n","dialog.toolbar_edit.hidden":"Oculto","action.export_class_entity":"Exportar Entidad de Java","action.export_class_entity.desc":"Exporta el modelo de entidad como una clase de Java","settings.seethrough_outline":"Bordes Rayos-X","settings.seethrough_outline.desc":"Mostrar los bordes a trav\xE9s de los objetos","mode.edit":"Editar","mode.paint":"Pintar","mode.display":"Mostrar","mode.animate":"Animar","status_bar.recording_gif":"Grabando","status_bar.processing_gif":"Procesando","settings.backup_retain":"Mantenimiento de Respaldos","settings.backup_retain.desc":"Ajustar cuanto tiempo Blockbench mantiene respaldos viejos en d\xEDas","action.rotate_tool":"Rotar","action.rotate_tool.desc":"Herramienta para seleccionar y rotar elementos","action.fill_tool":"Cubo de Pintura","action.fill_tool.desc":"Herramienta para rellenar caras enteras con un color","action.eraser":"Borrador","action.eraser.desc":"Herramienta para reemplazar colores en una textura por transparencia","action.color_picker":"Selector de Color","action.color_picker.desc":"Herramienta para seleccionar el color de p\xEDxeles en tu textura","switches.mirror":"Invertir UV",language_name:"Espa\xF1ol","message.plugin_reload":"Recargados %0 plugins locales","settings.brightness":"Brillo","settings.brightness.desc":"Brillo de la vista previa. Por defecto es 50","menu.preview.perspective.reset":"Resetear C\xE1mara","action.fill_mode":"Modo de Llenado","action.fill_mode.face":"Cara","action.fill_mode.color":"Colores","action.toggle_mirror_uv":"Invertir UV","action.toggle_mirror_uv.desc":"Activa el invertido de UV en el eje X de los cubos seleccionados","menu.texture.blank":"Aplicar a Caras sin Textura","dialog.scale.select_overflow":"Seleccionar Overflow","action.action_control":"Control de Acci\xF3n","action.action_control.desc":"Busca y ejecuta cualquier acci\xF3n disponible","keybindings.recording":"Anotando Atajo de Teclado","keybindings.press":"Pulsa una tecla o una combinaci\xF3n de teclas o haz click en cualquier lugar de tu pantalla para anotar el atajo de teclado","action.pivot_tool":"Herramienta de Pivote","action.pivot_tool.desc":"Herramienta para cambiar el punto de pivote de cubos y huesos","action.slider_animation_speed":"Velocidad de Playback","action.slider_animation_speed.desc":"Velocidad de playback del l\xEDnea de tiempo en porcentaje","action.previous_keyframe":"Fotograma Clave Anterior","action.previous_keyframe.desc":"Salta al fotograma clave anterior","action.next_keyframe":"Fotograma Clave Siguiente","action.next_keyframe.desc":"Salta al fotograma clave siguiente","message.outdated_client.title":"Programa desactualizado","message.outdated_client.message":"Por favor actualiza a la \xFAltima versi\xF3n de Blockbench para hacer esto.","action.export_asset_archive":"Descargar Archivo","action.export_asset_archive.desc":"Descarga un archivo con el modelo y todas las texturas en \xE9l","action.upload_sketchfab":"Subir a Sketchfab","message.sketchfab.name_or_token":"Por favor, introduce tu token de Sketchfab y un nombre","dialog.sketchfab_uploader.title":"Subir Modelo de Sketchfab","dialog.sketchfab_uploader.token":"Token de API","dialog.sketchfab_uploader.about_token":"El token es usado para conectar Blockbench a tu cuenta de Sketchfab. Puedes encontrarlo en %0","dialog.sketchfab_uploader.name":"Nombre del Modelo","dialog.sketchfab_uploader.description":"Descripci\xF3n","dialog.sketchfab_uploader.tags":"Etiquetas","settings.sketchfab_token":"Token de Sketchfab","settings.sketchfab_token.desc":"Token para autorizar a Blockbench a subir a tu cuenta de Sketchfab","panel.color":"Color","data.origin":"Pivote","message.sketchfab.success":"Modelo subido con \xE9xito","message.sketchfab.error":"La subida del modelo a Sketchfab ha fallado","settings.outliner_colors":"Colores del Esquema","settings.outliner_colors.desc":"Mostrar colores de los elementos y grupos en el esquema","action.upload_sketchfab.desc":"Subir tu modelo a Sketchfab","action.element_colors":"Colores de Cubo","action.element_colors.desc":"Mostrar colores de los cubos en el esquema","texture.error.file":"Archivo no encontrado","texture.error.parent":"Archivo de textura prove\xEDdo por el modelo padre","message.recover_backup.title":"Recuperar Modelos","message.recover_backup.message":"Blockbench fue cerrado sin guardar. \xBFQuieres recuperar el modelo?","message.invalid_session.title":"Token de Sesi\xF3n Inv\xE1lido","message.invalid_session.message":"La sesi\xF3n a la que estas intentando entrar ha expirado o el token prove\xEDdo es inv\xE1lido.","dialog.create_texture.power":"Tama\xF1o Al Cuadrado","dialog.create_gif.turn":"Velocidad del Tocadiscos","action.edit_session":"Editar Sesi\xF3n...","action.edit_session.desc":"Conectarse a una sesi\xF3n de edici\xF3n para colaborar con otros usuarios","action.reset_keyframe":"Resetear Fotogramas Clave","action.reset_keyframe.desc":"Resetea todos los valores de los fotogramas clave seleccionados","dialog.edit_session.title":"Editar Sesi\xF3n","edit_session.username":"Nombre de Usuario","edit_session.token":"Token","edit_session.about":"Editar Sesiones puede ser utilizado para colaborar en modelos a trav\xE9s de Internet. Crea una sesi\xF3n, copia el token y m\xE1ndaselo a amigos, los cuales lo pueden usar para entrar.","edit_session.join":"Entrar a Sesi\xF3n","edit_session.create":"Crear Sesi\xF3n","edit_session.quit":"Salir de Sesi\xF3n","edit_session.joined":"%0 ha entrado a la sesi\xF3n","edit_session.left":"%0 ha salido de la sesi\xF3n","edit_session.quit_session":"Salir de la sesi\xF3n actual","edit_session.status":"Estado","edit_session.hosting":"Anfitri\xF3n","edit_session.connected":"Conectado a una sesi\xF3n","dialog.sketchfab_uploader.private":"Privado (Pro)","dialog.sketchfab_uploader.password":"Contrase\xF1a (Pro)","action.uv_select_all":"Seleccionar Todos","action.uv_select_all.desc":"Selecciona todas las caras en el di\xE1logo del UV","panel.chat":"Chat","edit_session.welcome":"Bienvenido a esta sesi\xF3n por %0","dialog.yes":"S\xED","dialog.no":"No","generic.remove":"Eliminar","generic.download":"Descargar","generic.search":"Buscar","dates.today":"Hoy","dates.yesterday":"Ayer","dates.this_week":"Esta semana","dates.weeks_ago":"Hace %0 semanas","mode.start.new":"Nuevo","mode.start.recent":"Reciente","format.free":"Modelo Gen\xE9rico","format.free.desc":"Modelo sin restricciones. Para renders, Unity, etc.","format.java_block":"Objeto/Bloque de Java","format.java_block.desc":"Modelo de bloque o objeto para la edici\xF3n Java.","format.bedrock":"Entidad de Bedrock","format.bedrock.desc":"Modelo de Minecraft Bedrock Edition para entidades y objetos acoplables","format.bedrock_old":"Modelo Antiguo de Bedrock","format.bedrock_old.desc":"Modelo de entidad de las ediciones de Bedrock anteriores a 1.12","format.modded_entity":"Entidad Modificada","format.modded_entity.desc":"Modelo de entidad para mods de Minecraft. Se puede exportar como archivos de clase .java","format.optifine_entity":"Entidad de OptiFine","format.optifine_entity.desc":"Modelo de entidad espec\xEDfico para OptiFine","keys.mouse":"Bot\xF3n %0 del Rat\xF3n","message.cleared_blank_faces.title":"Caras en Blanco","message.cleared_blank_faces.message":"Blockbench ha encontrado %0 cubos sin textura. \xBFQuieres eliminar esos elementos?","message.wireframe.enabled":"Visualizaci\xF3n de la estructura activada","message.wireframe.disabled":"Visualizaci\xF3n de la estructura desactivada","dialog.convert_project.title":"Convertir Proyecto","dialog.create_texture.double_use":"Mantener la Ocupaci\xF3n de M\xFAltiples Texturas","dialog.model_stats.title":"Estad\xEDsticas del Modelo","dialog.model_stats.cubes":"Cubos","dialog.model_stats.locators":"Localizadores","dialog.model_stats.groups":"Grupos","dialog.model_stats.vertices":"V\xE9rtices","dialog.model_stats.faces":"Caras","settings.username":"Usuario","settings.username.desc":"Usuario para sesiones de edici\xF3n","settings.painting_grid":"Cuadr\xEDcula de Pintura","settings.painting_grid.desc":"Muestra la cuadr\xEDcula en cubos texturizados en el modo pintura","action.convert_project":"Convertir Proyecto","action.convert_project.desc":"Convierte el proyecto actual a un proyecto para otro formato de modelo","action.close_project":"Cerrar Proyecto","action.close_project.desc":"Cierra el proyecto abierto actualmente","action.export_bedrock":"Exportar como Geometr\xEDa de Bedrock","action.export_bedrock.desc":"Exporta el modelo como un archivo de geometr\xEDa de la edici\xF3n Bedrock","action.save_project":"Guardar Proyecto","action.save_project.desc":"Guarda el modelo actual como un archivo de proyecto","action.save_project_as":"Guardar Proyecto Como","action.save_project_as.desc":"Guarda el modelo actual como un archivo de proyecto en una nueva localizaci\xF3n","action.export_over":"Guardar Modelo","action.export_over.desc":"Guarda el modelo, las texturas y las animaciones al sobreescribir los archivos","action.add_locator":"A\xF1adir Localizador","action.add_locator.desc":"A\xF1ade un nuevo localizador para controlar las posiciones de part\xEDculas, cadenas, etc...","action.uv_turn_mapping":"Girar Mapeado","action.uv_turn_mapping.desc":"Gira el mapeado del UV 90\xBA","action.remove_blank_faces":"Eliminar Caras en Blanco","action.remove_blank_faces.desc":"Elimina todas las caras sin textura de la selecci\xF3n","web.download_app":"Descargar Aplicaci\xF3n","uv_editor.turned":"Mapeado Girado","display.reference.crossbow":"Ballesta Cargada","dialog.settings.search_results":"Resultados de B\xFAsqueda","settings.animation_snap":"Im\xE1n de Animaci\xF3n","settings.animation_snap.desc":"Intervalo del im\xE1n para fotogramas clave en la l\xEDnea de tiempo de la animaci\xF3n en pasos por segundo. Esto puede ser modificado para cada animaci\xF3n. El valor por defecto es 24.","action.import_optifine_part":"Importar Parte de OptiFine","action.import_optifine_part.desc":"Importa un modelo de parte de entidad para OptiFine","data.locator":"Localizador","mode.start.no_recents":"No hay modelos abiertos recientemente","panel.element":"Elemento","panel.element.position":"Posici\xF3n","panel.element.size":"Tama\xF1o","panel.element.origin":"Punto de Pivote","panel.element.rotation":"Rotaci\xF3n","message.canvas_limit_error.title":"Error de L\xEDmite del Lienzo","message.canvas_limit_error.message":"La acci\xF3n no pudo ser ejecutada correctamente porque el formato limita el lienzo a 48 unidades. Cambia el punto pivote para prevenir esto.","data.effect":"Efecto","generic.name":"Nombre","settings.recent_projects":"L\xEDmite de Modelos Recientes","settings.recent_projects.desc":"N\xFAmero m\xE1ximo de modelos recientes para recordar","settings.volume":"Volumen","settings.volume.desc":"Control del volumen para efectos de sonido en animaciones","action.clear_timeline":"Limpiar L\xEDnea de Tiempo","action.clear_timeline.desc":"Borra todos los huesos no seleccionados en la l\xEDnea de tiempo","action.select_effect_animator":"Animar Efectos","action.select_effect_animator.desc":"Abre la l\xEDnea de tiempo para a\xF1adir sonidos y efectos de part\xEDcula","action.timeline_focus":"Canal","action.timeline_focus.desc":"Selecciona los canales de animaci\xF3n para mostrar en la l\xEDnea de tiempo","timeline.particle":"Part\xEDcula","timeline.sound":"Sonido","timeline.effects":"Efectos","data.format":"Formato","format.optifine_part":"Parte de OptiFine","format.optifine_part.desc":"Parte JPM para modelos de entidad de OptiFine","action.reverse_keyframes":"Invertir Fotogramas Clave","action.reverse_keyframes.desc":"Invierte el orden de los fotogramas clave seleccionados","generic.help":"Ayuda","message.removed_faces":"Eliminadas %0 caras","dialog.sketchfab_uploader.draft":"Borrador","action.slider_pos":"Mover %0","action.slider_pos.desc":"Mover elementos en el eje %0","action.slider_size":"Tama\xF1o %0","action.slider_size.desc":"Redimensionar elementos en el eje %0","action.slider_rotation":"Rotar %0","action.slider_rotation.desc":"Rotar cubos en el eje %0","action.slider_origin":"Pivote %0","action.slider_origin.desc":"Mover pivote en el eje %0","action.rotate_cw":"Rotar %0 +90","action.rotate_cw.desc":"Rotar los cubos seleccionados 90\xBA en el eje %0","action.rotate_ccw":"Rotar %0 -90","action.rotate_ccw.desc":"Rotar los cubos seleccionados -90\xBA en el eje %0","action.flip":"Voltear %0","action.flip.desc":"Voltea los cubos seleccionados en el eje %0","action.center":"Centrar %0","action.center.desc":"Centra los cubos seleccionados en el eje %0","action.bring_up_all_animations":"Subir Todas las Animaciones","panel.bone":"Hueso","data.color":"Color","generic.export":"Exportar","generic.none":"Ninguno","status_bar.recording":"Grabando Timelapse","message.add_to_palette":"A\xF1adido a la paleta","message.size_modifiers":"Mant\xE9n pulsado Ctrl o Shift para transformar en incrementos m\xE1s peque\xF1os","message.timelapse_start":"Timelapse iniciado","message.timelapse_stop":"Timelapse parado","message.import_palette.replace_palette":"Reemplazar paleta vieja","message.import_palette.threshold":"Unir L\xEDmite","dialog.timelapse.interval":"Intervalo (Segundos)","dialog.timelapse.source":"Fuente","dialog.timelapse.source.interface":"Interfaz","dialog.timelapse.source.locked":"Angulo Bloqueado","dialog.timelapse.destination":"Carpeta de Destino","layout.color.checkerboard":"Cuadr\xEDcula","layout.color.checkerboard.desc":"Fondo del canvas y el editor de UV","layout.font.code":"Fuente de C\xF3digo","layout.css":"CSS Personalizado","settings.category.paint":"Pintar","settings.deactivate_size_limit":"Desactivar L\xEDmite de Tama\xF1o","settings.deactivate_size_limit.desc":"Desactiva el l\xEDmite de tama\xF1o para algunos formatos de modelo. ADVERTENCIA: Esto puede crear modelos inv\xE1lidos.","settings.brush_opacity_modifier":"Modificador de Opacidad del Pincel","settings.brush_opacity_modifier.desc":"Modifica la opacidad del pincel al usar un l\xE1piz","settings.brush_size_modifier":"Modificador de Tama\xF1o del Pincel","settings.brush_size_modifier.desc":"Modifica el tama\xF1o del pincel al usar un l\xE1piz","settings.brush_modifier.pressure":"Presi\xF3n","settings.brush_modifier.tilt":"Inclinar","category.color":"Color","action.import_theme":"Importar Tema","action.export_theme":"Exportar Tema","action.export_theme.desc":"Crea un archivo de tema basado en la configuraci\xF3n actual","action.slider_color_h":"Tono","action.slider_color_s":"Saturaci\xF3n","action.slider_color_v":"Valor","action.add_to_palette":"A\xF1adir a la Paleta","action.add_to_palette.desc":"A\xF1ade el color seleccionado a la paleta de colores","action.import_palette":"Importar Paleta","action.import_palette.desc":"Importar un .bbpalette","action.export_palette":"Exportar Paleta","action.export_palette.desc":"Exporta la paleta como un archivo .GPL","action.generate_palette":"Generar Paleta","action.generate_palette.desc":"Genera la paleta a partir de una textura","action.sort_palette":"Organizar Paleta","action.sort_palette.desc":"Organiza todos los colores de la paleta por color y brillo","action.timelapse":"Timelapse...","action.timelapse.desc":"Graba un timelapse de tu proceso de modelaje","action.add_keyframe":"A\xF1adir Fotograma Clave","action.add_keyframe.desc":"A\xF1ade un fotograma clave al animador seleccionado","action.bring_up_all_animations.desc":"Trae todos los animadores modificados a la l\xEDnea de tiempo","timeline.timeline":"Instrucciones","menu.palette.load.default":"Por Defecto","generic.import":"Importar","settings.brush_modifier.none":"Ninguno","action.export_entity":"Exportar Entidad de Bedrock","action.export_entity.desc":"A\xF1adir el modelo actual como una entidad a un archivo mobs.json","settings.highlight_cubes":"Resaltar Cubos","settings.highlight_cubes.desc":"Resaltar los cubos cuando pasas por encima de ellos o los seleccionas","action.add_marker":"Poner Marcador","action.add_marker.desc":"Pone un marcador de l\xEDnea de tiempo","timeline.pre_effect_script":"Gui\xF3n","format.skin":"Skin de Minecraft","format.skin.desc":"Editar las skins de entidades y jugadores","message.sketchfab.setup_guide":"\xBFQuieres aprender a preparar modelos en Sketchfab? Lee %0","dialog.skin.title":"Crear Skin de Minecraft","dialog.skin.model":"Modelo","action.toggle_skin_layer":"Cambiar Capa de Skin","action.toggle_skin_layer.desc":"Cambia la capa del gorro y de la ropa en el modelo de skin","action.gui_light":"Luz en GUI","action.gui_light.desc":"Selecciona la forma en la que el objeto es iluminado en el inventario","action.gui_light.side":"Luz Lateral","action.gui_light.front":"Luz Frontal","action.move_keyframe_back":"Mover Fotogramas Clave Atr\xE1s","action.move_keyframe_forth":"Mover Fotogramas Clave Adelante","menu.help":"Ayuda","menu.help.discord":"Servidor de Discord","menu.help.report_issue":"Reportar un Problema","menu.help.plugin_documentation":"Documentaci\xF3n de la API de Plugins","menu.help.search_action":"Buscar y Ejecutar Acci\xF3n","menu.help.donate":"Donar","menu.help.about":"Acerca de...","menu.preview.background.clipboard":"Cargar desde Portapapeles","dialog.ignore":"Ignorar","generic.unset":"Desajustar","message.invalid_builtin_parent.title":"Padre Incorporado Inv\xE1lido","message.invalid_builtin_parent.message":"El enlace al modelo inv\xE1lido padre '%0' fue quitado para exportar un modelo v\xE1lido.","dialog.resize_texture.fill":"Rellenar con","dialog.resize_texture.fill.transparent":"Transparente","dialog.resize_texture.fill.color":"Color","dialog.resize_texture.fill.repeat":"Repetir","dialog.scale.element_pivot":"Pivote de Elemento","dialog.scale.selection_center":"Centro de Selecci\xF3n","dialog.create_gif.length_mode":"Modo de Longitud","dialog.create_gif.length_mode.seconds":"Segundos","dialog.create_gif.length_mode.frames":"Fotograma","dialog.create_gif.length_mode.animation":"Longitud de Animaci\xF3n","dialog.create_gif.length_mode.turntable":"Rotaci\xF3n de Bombero","dialog.save_angle.projection":"Proyecci\xF3n","dialog.save_angle.projection.perspective":"Perspectiva","dialog.save_angle.projection.orthographic":"Ortogonal","dialog.sketchfab_uploader.animations":"Animaciones","dialog.settings.theme":"Tema","settings.category.interface":"Interfaz","settings.preview_checkerboard":"Previsualizar Cuadr\xEDcula","settings.preview_checkerboard.desc":"Cambia el fondo de la cuadr\xEDcula detr\xE1s de la vista previa","settings.uv_checkerboard":"Cuadr\xEDcula del Editor de UV","settings.uv_checkerboard.desc":"Cambia el fondo de la cuadr\xEDcula detr\xE1s del editor de UV","category.paint":"Pintar","action.fill_mode.color_connected":"Colores Conectados","action.draw_shape_type":"Tipo de Forma","action.draw_shape_type.rectangle":"Rect\xE1ngulo","action.draw_shape_type.rectangle_h":"Rect\xE1ngulo (Hueco)","action.draw_shape_type.ellipse":"Elipse","action.draw_shape_type.ellipse_h":"Elipse (Hueca)","action.draw_shape_type.line":"L\xEDnea","action.mirror_painting":"Invertir Pintura","action.mirror_painting.description":"Invierte tus trazos de pintura al otro lado del moedlo","action.lock_alpha":"Bloquear Canal Alfa","action.lock_alpha.description":"Bloquea la transparencia de todos los p\xEDxeles","action.draw_shape_tool":"Dibujar Figura","action.draw_shape_tool.desc":"Herramienta para dibujar figuras simples en texturas","action.export_gltf":"Exportar como gITF","action.export_gltf.desc":"Exporta el modelo y las animaciones como un archivo gITF para usarlo en otras aplicaciones 3D","action.transform_space":"Transformar Espacio","action.transform_space.desc":"Espacio de transformaci\xF3n por defecto para elementos y huesos","action.transform_space.global":"Global","action.transform_space.local":"Local","action.toggle_camera_projection":"Cambiar C\xE1mara de Proyecci\xF3n","action.toggle_camera_projection.desc":"Cambia la c\xE1mara de proyecci\xF3n entre perspectiva y ortogonal","action.load_camera_angle":"\xC1ngulo de C\xE1mara: %0","action.load_camera_angle.desc":"Cargar el \xE1ngulo de c\xE1mara: '%0'","action.slider_face_tint":"\xCDndice de Tintado","action.slider_face_tint.desc":"Ajusta el \xEDndice de tintado de la cara actual. -1 significa sin ajustar.","menu.help.quickstart":"Asistente de Inicio R\xE1pido","menu.help.developer":"Desarrollador","menu.help.developer.dev_tools":"Abre las Herramientas de Desarrollador","menu.help.developer.reset_storage":"Reinicio de F\xE1brica","menu.help.developer.reset_storage.confirm":"\xBFSeguro que quieres reiniciar Blockbench a los ajustes de f\xE1brica? Esto borrar\xE1 todos los ajustes personalizados, los atajos de teclado y los plugins instalados.","menu.help.developer.cache_reload":"Recargar Cach\xE9","menu.preview.orthographic":"Ortogonal","menu.preview.save_angle":"Guardar \xC1ngulo...","menu.preview.angle":"\xC1ngulos","menu.preview.angle.initial":"\xC1ngulo inicial","menu.preview.maximize":"Maximizar","uv_editor.copy_selection":"Copiar selecci\xF3n","uv_editor.paste_selection":"Pegar selecci\xF3n","uv_editor.copy_paste_tool.place":"Lugar","uv_editor.copy_paste_tool.mirror_x":"Invertir X","uv_editor.copy_paste_tool.mirror_y":"Invertir Y","uv_editor.copy_paste_tool.rotate":"Rotar 90 Grados","dialog.project.modded_entity_version":"Exportar Versi\xF3n","dialog.save_angle.position":"Posici\xF3n de la C\xE1mara","dialog.save_angle.target":"Punto Focal","dialog.skin.pose":"Pose","layout.color.frame":"Marco de Ventana","layout.color.frame.desc":"Borde y barra de t\xEDtulo de la ventana","settings.large_grid_size":"Tama\xF1o del Bloque de Cuadr\xEDcula","settings.large_grid_size.desc":"Tama\xF1o del bloque de la cuadr\xEDcula","action.load_plugin_from_url":"Cargar Plugin desde URL","action.load_plugin_from_url.desc":"Carga un plugin desde un servidor a trav\xE9s de una URL","action.cube_counter.desc":"Muestra el n\xFAmero actual de cubos y otras estad\xEDsticas","action.unlock_everything":"Desbloquear Todo","action.unlock_everything.desc":"Desbloquea todos los grupos y elementos en el esquema.","action.load_palette":"Cargar Paleta","action.load_palette.desc":"Load one of the built-in or saved palette presets","action.toggle_locked":"Cambiar Bloqueo","action.toggle_locked.desc":"Cambiar si los elementos actuales est\xE1n bloqueados o no","action.apply_display_preset":"Aplicar Plantilla","action.apply_display_preset.desc":"Aplica una plantilla de ajustes de visualizaci\xF3n por defecto o personalizada","action.apply_display_preset.here":"Aplicar A Este Apartado","action.apply_display_preset.everywhere":"Aplicar A Todos los Apartados","action.resolve_keyframe_expressions":"Resolver Fotogramas Clave","action.resolve_keyframe_expressions.desc":"Resuelve las expresiones matem\xE1ticas de los fotogramas clave seleccionados","action.fold_all_animations":"Plegar Todos los Animadores","menu.palette.load.empty":"Vac\xEDo","switches.lock":"Bloquear","settings.render_sides":"Renderizar Lados","settings.render_sides.desc":"Seleccionar qu\xE9 lado de una cara es renderizado","settings.render_sides.auto":"Autom\xE1tico","settings.render_sides.front":"Exterior","settings.render_sides.double":"Interior y Exterior","generic.enable":"Activar","generic.disable":"Desactivar","generic.redacted":"Censurado","dialog.select_texture.import_all":"Importar Todas","dialog.skin.layer_template":"Textura de Capa","about.version.up_to_date":"Actualizado","about.version.update_available":"La versi\xF3n %0 est\xE1 disponible","settings.category.application":"Aplicaci\xF3n","settings.streamer_mode":"Modo Streamer","settings.streamer_mode.desc":"Esconde informaci\xF3n sensible como los modelos recientes","settings.automatic_updates":"Actualizaciones Autom\xE1ticas","settings.automatic_updates.desc":"Actualiza autom\xE1ticamente a nuevas versiones y mantenga Blockbench actualizado","action.rotation_space":"Espacio de Rotaci\xF3n","action.focus_on_selection":"Centrar Vista en Selecci\xF3n","action.focus_on_selection.desc":"Ajusta la c\xE1mara para mirar hacia el centro de la selecci\xF3n actual","action.jump_to_timeline_start":"Saltar a Inicio de Animaci\xF3n","action.jump_to_timeline_end":"Saltar a Fin de Animaci\xF3n","menu.help.updating":"Actualizando (%0%)","menu.help.update_failed":"Actualizaci\xF3n Fallida","menu.animation.loop.once":"Reproducir Una Vez","menu.animation.loop.hold":"Pausar en \xDAltimo Fotograma","menu.animation.loop.loop":"Repetir","interface.streamer_mode_on":"Modo Streamer Activado","generic.reset":"Reiniciar","generic.restore":"Restaurar","keys.mousewheel":"Rueda del Rat\xF3n","message.delete_animation.title":"Eliminar animaci\xF3n","message.delete_animation.message":"La animaci\xF3n se elimin\xF3 de Blockbench. \xBFTambi\xE9n desea eliminar la animaci\xF3n del archivo en el que se guard\xF3?","message.no_animation_to_import":"No hay animaciones para importar","dialog.material_instances.title":"Instancias de material","dialog.animation_import.title":"Seleccionar animaciones para importar","dialog.create_texture.padding":"Relleno","settings.fov":"FOV","settings.fov.desc":"Campo de visi\xF3n de la c\xE1mara. El valor por defecto es 45","settings.minify_bbmodel":"Archivos de Projecto Minificados","settings.minify_bbmodel.desc":"Escribe los archivos .bbmodel reducidos en una linea","action.edit_material_instances":"Editar Instancias de Material","action.edit_material_instances.desc":"Editar los nombres de instancias de material para geometr\xEDas de bloques de bedrock","action.save_all_animations":"Guardar todas las animaciones","action.save_all_animations.desc":"Guardar todas las animaciones abiertas en el momento","action.keyframe_interpolation":"Interpolaci\xF3n","action.keyframe_interpolation.desc":"Seleciona el modo de interpolacion de fotogramas","action.keyframe_interpolation.linear":"Lineal","action.keyframe_interpolation.catmullrom":"Liso","action.timeline_focus.hide_empty":"Esconder canales vac\xEDos","menu.file.preferences":"Preferencias","menu.animation.blend_weight":"Peso en union","menu.animation.save":"Guardar","menu.animation.properties":"Propiedades...","menu.animation.file":"Archivo","menu.animation.snapping":"Usar Im\xE1n","menu.animation.open_location":"Mostrar en el Explorador de Archivos","panel.keyframe.add_data_point":"Agregar punto de datos del Frame Clave","panel.keyframe.remove_data_point":"Remover punto de datos","panel.keyframe.pre":"Pre","panel.keyframe.post":"Post","generic.all":"Todo","message.small_face_dimensions.title":"Dimensiones de Cara Incompatibles","message.small_face_dimensions.message":"La selecci\xF3n contiene caras que son m\xE1s peque\xF1as que 1 unidad en una direcci\xF3n. El sistema del mapeo Box UV considera cualquier cara por debajo de ese umbral como 0 p\xEDxeles de ancho. Por lo tanto, es posible que la textura de esas caras no funcione correctamente.","message.small_face_dimensions.face_uv":'El formato actual soporta mapas UV por Cara que pueden manejar caras de dimensiones peque\xF1as. Haz Clic Derecho en los cubos afectados y cambia el "Modo UV" a "UV por Cara".',"dialog.plugins.outdated_client":"Requiere una versi\xF3n m\xE1s reciente de Blockbench","dialog.plugins.outdated_plugin":"El complemento est\xE1 desactualizado y no funciona con esta versi\xF3n de Blockbench","settings.motion_trails":"Rastros de Movimiento","settings.motion_trails.desc":"Mostrar rastros de movimiento en el editor de animaci\xF3n","settings.antialiasing":"Anti-aliasing","settings.antialiasing.desc":"Alternar el anti-aliasing en la vista previa","action.timeline_frame_back":"Avanza un fotograma atras","action.timeline_frame_forth":"Avanza un fotograma adelante","panel.bone.ik":"Cinem\xE1ticas inversas (Experimental)","settings.particle_tick_rate":"Frecuencia de Actualizaci\xF3n de Part\xEDculas","settings.particle_tick_rate.desc":"Frecuencia de actualizaci\xF3n de los efectos de part\xEDculas en ticks por segundo. El valor por defecto es 30","action.lock_motion_trail":"Bloquear el rastro de movimiento","action.lock_motion_trail.desc":"Bloquear el rastro de movimiento en el grupo seleccionado","menu.animation_file.unload":"Descargar Archivo","data.null_object":"Objeto Nulo","status_bar.toggle_sidebar":"Mostrarbarralateral","message.load_plugin_failed.title":"Fall\xF3 al cargar el plugin","message.load_plugin_failed.message":"Aseg\xFArate que el nombre del archivo del plugin corresponde al ID `%0`, tal como se especifica en Plugin.Register().","dialog.project.uv_mode":"Modo UV","dialog.project.uv_mode.box_uv":"Caja UV ","dialog.project.uv_mode.face_uv":"UV por Cara","dialog.project.texture_size":"Tama\xF1o de la textura","dialog.animation_export.title":"Selecciona animaciones a exportar","dialog.create_texture.rearrange_uv":"UV de arranque","layout.color.subtle_text":"Texto Subt\xEDtulo","layout.color.subtle_text.desc":"Color del texto secundario con menos contraste","settings.interface_scale":"Escala de la Interfaz","settings.interface_scale.desc":"Escala de la interfaz de Blockbench","settings.background_rendering":"Renderizado del Fondo","settings.background_rendering.desc":"Actualiza la vista previa mientras la ventana no est\xE9 enfocada","settings.ctrl_shift_size":"Resoluci\xF3n de Control + Shift","settings.ctrl_shift_size.desc":"Resoluci\xF3n del mapa mientras mantienes presionado control y shift","settings.hardware_acceleration":"Aceleraci\xF3n de Hardware","settings.hardware_acceleration.desc":"Externaliza las tareas de renderizado a la tarjeta gr\xE1fica","action.explode_skin_model":"Expandir Modelo de Skin","action.explode_skin_model.desc":"Alternar a una vista de explosi\xF3n que le permite editar caras cubiertas","action.export_minecraft_skin":"Exportar Skin de Minecraft","action.export_minecraft_skin.desc":"Exportar la Skin de Minecraft como una textura PNG","action.add_null_object":"Agregar un objeto nulo","action.add_null_object.desc":"Agrega un nuevo objeto nulo","action.animated_texture_frame":"Fotograma de Texturas Animadas","action.animated_texture_frame.desc":"Posicionar el fotograma actual en la textura animada","action.export_animation_file":"Exportar animaciones...","action.export_animation_file.desc":"Exportar una selecci\xF3n de animaciones a un nuevo archivo","action.timeline_graph_editor":"Editor gr\xE1fico","action.timeline_graph_editor.desc":"Alternar a la l\xEDnea de tiempo entre la vista del editor de gr\xE1ficos y la vista de fotogramas clave","menu.file.recent.clear":"Limpiar archivos recientes","switches.shade":"Sombra","generic.share":"Compartir","dates.minute":"%0 Minuto","dates.minutes":"%0 Minutos","dates.hour":"%0 Hora","dates.hours":"%0 Horas","dates.day":"%0 D\xEDa","dates.days":"%0 D\xEDas","dates.week":"%0 Semana","dates.weeks":"%0 Semanas","dates.year":"%0 A\xF1o","dates.years":"%0 A\xF1os","message.installed_plugin":"Exitosamente instalado el plugin %0","message.installed_plugin_fail":"Fall\xF3 la instalaci\xF3n del plugin %0","dialog.share_model.title":"Compartir Modelo","dialog.share_model.expire_time":"Tiempo de Expiraci\xF3n","dialog.share_model.failed":"Fall\xF3 la subida del modelo","action.import_java_block_model":"A\xF1ade un Modelo de Bloque/Objeto de Java","action.import_java_block_model.desc":"A\xF1ade un Modelo de Bloque/Objeto de Minecraft Java desde un archivo json al modelo actual","action.share_model":"Compartir...","action.share_model.desc":"Genera un enlace corto para compartir tu modelo","action.import_project":"Importar Proyecto","action.import_project.desc":"Importar otro proyecto desde un archivo .bbmodel al proyecto actual","dialog.toolbar_edit.hidden_tools":"Algunas herramientas podr\xEDan estar ocultas porque no est\xE1n disponibles en el modo, formato o situaci\xF3n actual.","settings.camera_near_plane":"C\xE1mara Cerca del Plano","settings.camera_near_plane.desc":"La distancia m\xEDnima desde la c\xE1mara a la que se renderizan los objetos. Los valores m\xE1s altos reducen el Z-fighting. El valor por defecto es 1.","mode.start.keymap_preference.desc":"Si eres nuevo en Blockbench y vienes de otro programa en 3D, puedes seleccionar un mapa de teclas para hacer mas f\xE1cil tu transici\xF3n. Puedes cambiar este mapa de teclas o los atajos de teclado individuales despu\xE9s en las configuraciones.","message.load_keymap":"\xBFEst\xE1s seguro que quieres cargar este mapa de teclas? Esto sobreescribir\xE1 tus actuales atajos de teclado.","message.keymap_loaded":"Mapa de Teclas cargado","dialog.convert_project.current_format":"Formato Actual","dialog.create_texture.rearrange_uv.desc":"Crear una nueva UV de arreglo para otorgar a cada cara un lugar \xFAnico en la textura","dialog.create_texture.power.desc":"Bloquea la textura autom\xE1tica al tama\xF1o de poder-de-2, de 64 o 128. Esto requiere varios renderizados","dialog.create_texture.double_use.desc":"Si dos elementos tienen el mismo espacio del UV asignado, mantenlo as\xED para un nuevo mapa","dialog.create_texture.padding.desc":"A\xF1adir un peque\xF1o relleno entre partes individuales de la plantilla","dialog.create_texture.resolution.desc":"El tama\xF1o y la altura de la textura","dialog.create_gif.color":"Color del Fondo","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":'Los huesos opuestos est\xE1n identificados a "Izquierda" y "Derecha" sin su nombre.',"dialog.export_private_settings.title":"Configuraci\xF3n privada","dialog.export_private_settings.message":"Tu archivo contiene la siguiente informaci\xF3n privada: **%0**. Deje estos valores fuera si planea compartir este archivo con alguien m\xE1s.","dialog.export_private_settings.keep":"Mantener","settings.timecode_frame_number":"Mostrar C\xF3digos de Tiempo como N\xFAmeros de Fotograma","settings.timecode_frame_number.desc":"Mostrar los c\xF3digos de tiempo fraccionarios en la l\xEDnea de tiempo como n\xFAmeros de fotograma en lugar de cent\xE9simas de segundo","settings.animation_sample_rate":"Frecuencia de Muestreo de Animaci\xF3n","settings.animation_sample_rate.desc":"Frecuencia de muestreo en muestras por segundo para curvas que el formato respectivo no soporta de manera nativa","keybind.preview_zoom":"Vista de zoom","action.gradient_tool":"Herramienta de Gradiente","action.gradient_tool.desc":"Crea un gradiente de un color en tu textura","action.import_settings":"Importar Configuraciones","action.import_settings.desc":"Importar un archivo .bbsettings","action.export_settings":"Exportar Configuraciones","action.export_settings.desc":"Exportar las configuraciones de Blockbench como archivos .bbsettings","action.load_keymap":"Cargar Mapa de Teclas","action.load_keymap.default":"Por Defecto (Panel T\xE1ctil/Mouse)","action.load_keymap.mouse":"Por Defecto (Mouse)","action.load_keymap.default.desc":"Atajos de teclado por defecto de Blockbench, con controles de navegaci\xF3n de ventana gr\xE1fica optimizados para su uso en paneles t\xE1ctiles de laptops","action.load_keymap.mouse.desc":"Combinaciones de teclas predeterminadas de Blockbench, con la navegaci\xF3n de la ventana gr\xE1fica vinculada al bot\xF3n del medio del rat\xF3n","action.load_keymap.blender.desc":"Mapa de Teclas para usuarios que est\xE1n familiarizados con los controles de Blender","action.load_keymap.cinema4d.desc":"Mapa de Teclas para usuarios que est\xE1n familiarizados con los controles de Cinema 4D","action.load_keymap.maya.desc":"Mapa de Teclas para usuarios que estan familiarizados con los controles de Autodek Maya","action.import_keymap":"Importar Mapa de Teclas","action.import_keymap.desc":"Importar atajos de teclado a un archivo .bbkeymap","action.export_keymap":"Exportar Mapa de Teclas","action.export_keymap.desc":"Exportar los actuales atajos de teclado como un archivo .bbkeymap","action.edit_history":"Editar Historial...","action.edit_history.desc":"Ver el historial de edici\xF3n y deshacer o rehacer pasos","action.group_elements":"Elementos del Grupo","action.group_elements.desc":"Envolver los elementos seleccionados a un nuevo grupo","action.unfold_groups":"Desplegar Grupos","action.unfold_groups.desc":"Desplegar todos los grupos en el esquema","action.edit_bedrock_binding":"Editar Uni\xF3n...","action.edit_bedrock_binding.desc":"Cambiar a qu\xE9 hueso est\xE1 unida la geometr\xEDa","action.pick_screen_color":"Seleccionar color en pantalla","action.pick_screen_color.desc":"Seleccionar un color de la pantalla","action.view_mode":"Modo de Vista","action.view_mode.desc":"Cambiar el modo de vista del modelo","action.view_mode.textured":"Texturado","action.view_mode.solid":"Solido","action.view_mode.wireframe":"Estructura","action.toggle_sidebars":"Alternar las barras laterales","action.toggle_sidebars.desc":"Habilitar o inhabilitar las barras laterales","action.set_animation_end":"Establecer el final en la animaci\xF3n","action.set_animation_end.desc":"Establecer el final de la animaci\xF3n seleccionada en el periodo de tiempo seleccionado","action.flip_animation":"Voltear animaci\xF3n","action.flip_animation.desc":"Voltea parte de una animaci\xF3n copiando fotogramas clave seleccionados al otro lado del modelo","action.graph_editor_zero_line":"Incluir l\xEDnea cero","action.graph_editor_zero_line.desc":"Si el editor de gr\xE1ficos siempre incluye la l\xEDnea cero en la vista","menu.texture.render_mode":"Modo de Renderizaci\xF3n","menu.texture.render_mode.emissive":"Emisivo","menu.texture.render_mode.layered":"En capas","menu.preview.angle.edit":"Editar \xC1ngulo...","menu.animation.start_delay":"Empezar Desfase","menu.animation.loop_delay":"Repetir Desfase","menu.animation.flip_keyframes":"Voltear Fotogramas","menu.mobile_keyboard.disable_all":"Desactivar Todo","panel.keyframe.toggle_uniform_scale":"Cambiar Reescalado Uniforme","camera_angle.common_isometric_right":"Isom\xE9trico derecho (2:1)","camera_angle.common_isometric_left":"Isom\xE9trico izquierdo (2:1)","camera_angle.true_isometric_right":"Isom\xE9trico correcto derecho (30 grados)","camera_angle.true_isometric_left":"Isom\xE9trico correcto izquierdo (30 grados)","menu.help.wiki":"Wiki de BlockBench","settings.update_to_prereleases":"Actualizar a una Versi\xF3n Preliminar","settings.update_to_prereleases.desc":"Actualiza autom\xE1ticamente a una versi\xF3n beta de Blockbench para probar nuevas caracter\xEDsticas. Las versiones Preliminares pueden ser inestables, NO ACTIVES esta opci\xF3n si conf\xEDa en Blockbench para el trabajo u otros proyectos importantes.","data.separator.spacer":"Espaciador","data.separator.linebreak":"Salto de l\xEDnea","data.setting":"Configuraciones","generic.select_all":"Seleccionar Todo","generic.select_none":"Seleccionar Nada","projects.new_tab":"Nueva Pesta\xF1a","projects.close_tab":"Cerrar Pesta\xF1a","message.invalid_format.title":"Formato Inv\xE1lido","message.invalid_format.message":"Este modelo fue hecho en el formato '%0', el cual no est\xE1 disponible en tu instalaci\xF3n de Blockbench. Lo mas probable es que necesite un complemento en espec\xEDfico para abrirlo correctamente","message.invalid_link":"Link del Modelo Inv\xE1lido o Expirado","message.default_textures.current":"Ruta actual","message.update_after_restart":"La actualizaci\xF3n ser\xE1 instalada despu\xE9s del pr\xF3ximo reinicio","message.copy_paste_tool_viewport":"Esta herramienta s\xF3lo puede utilizarse en el editor 2D","dialog.project.shadow_size":"Tama\xF1o de la Sombra","dialog.find_replace.target":"Objetivo","dialog.find_replace.target.element_names":"Nombres de los Elementos","dialog.find_replace.target.group_names":"Nombres de los Grupos","dialog.find_replace.target.animation_names":"Nombres de las Animaciones","dialog.find_replace.target.keyframe_values":"Valor de los Fotogramas","dialog.find_replace.find":"Buscar","dialog.find_replace.replace":"Reemplazar","dialog.find_replace.regex":"Expresi\xF3n regular","dialog.add_primitive.shape":"Forma","dialog.add_primitive.shape.circle":"Circulo","dialog.add_primitive.shape.tube":"Tubo","dialog.add_primitive.shape.cone":"Cono","dialog.add_primitive.shape.cylinder":"Cilindro","dialog.add_primitive.shape.sphere":"Esfera","dialog.add_primitive.shape.torus":"Toro","dialog.add_primitive.shape.cube":"Cuboide","dialog.add_primitive.shape.pyramid":"Pir\xE1mide","dialog.add_primitive.diameter":"Di\xE1metro","dialog.add_primitive.height":"Altura","dialog.add_primitive.sides":"Lados","dialog.add_primitive.minor_diameter":"Espesor","dialog.add_primitive.minor_sides":"Lador Menores","dialog.create_texture.combine_polys":"Combinar Islas","dialog.create_texture.combine_polys.desc":"Combinar caras en islas UV conectadas","dialog.model_stats.meshes":"Mallas","dialog.export_private_settings.omit":"Salir","layout.select":"Seleccionar","layout.options":"Opciones","layout.color":"Esquema de Colores","layout.documentation":"Documentaci\xF3n","layout.color.bright_ui_text":"Texto de UI Brillante","layout.color.bright_ui_text.desc":"Texto en fondos brillantes","layout.name":"Nombre","layout.author":"Autor","settings.dialog.desc":'Muestra el dialogo "%0"',"settings.export_empty_groups":"Exportar Grupos Vac\xEDos","settings.export_empty_groups.desc":"Incluir grupos sin contenido en archivos exportados","category.separators":"Separadores","keybind.preview_area_select":"\xC1rea de Selecci\xF3n","action.color_erase_mode":"Modo Borrar","action.color_erase_mode.desc":"Con el modo borrar activado, las herramientas como Llenar y Rect\xE1ngulo quitan colores en vez de agregarlos","action.open_from_link":"Abrir modelo desde el Link...","action.open_from_link.desc":"Abrir un modelo desde un blckbn.ch URL","action.import_obj":"Importar Modelo OBJ","action.import_obj.desc":"Importar objetos de un modelo OBJ como una malla","action.add_plugin":"Instalar Plugin","action.add_plugin.desc":"Instala un plugin mediante un Control de Acci\xF3n","action.remove_plugin":"Desinstalar Plugin","action.remove_plugin.desc":"Desinstala un plugin mediante un Control de Acci\xF3n","action.add_mesh":"A\xF1adir Malla","action.add_mesh.desc":"A\xF1ade una nueva malla","action.add_texture_mesh":"A\xF1adir Malla de Textura","action.add_texture_mesh.desc":"A\xF1ade una nueva malla de textura","action.find_replace":"Encontrar/Reemplazar...","action.find_replace.desc":"Encontrar y reemplazar partes de los nombres","action.hide_everything_except_selection":"Ocultar todo excepto la selecci\xF3n","action.hide_everything_except_selection.desc":"Alternar la visualizaci\xF3n en todos los elementos excepto los seleccionados","action.transform_space.normal":"Normal","action.selection_mode":"Modo de Selecci\xF3n","action.selection_mode.desc":"Cambiar c\xF3mo los elementos pueden ser seleccionados en el punto de mira","action.selection_mode.object":"Objeto","action.selection_mode.face":"Cara","action.selection_mode.vertex":"V\xE9rtice","action.create_face":"Crear Cara o Borde","action.create_face.desc":"Crea una nueva cara o borde entre los v\xE9rtices seleccionados","action.convert_to_mesh":"Convertir a Malla","action.convert_to_mesh.desc":"Convertir los elementos seleccionados a mallas","action.invert_face":"Invertir Cara","action.invert_face.desc":"Invierte las caras seleccionadas para que miren en la direcci\xF3n opuesta","action.extrude_mesh_selection":"Extruir Selecci\xF3n","action.extrude_mesh_selection.desc":"Extruir las partes seleccionadas de la malla","action.loop_cut":"Corte de Bucle","action.loop_cut.desc":"Divida la malla en un bucle a trav\xE9s del borde seleccionado","action.merge_meshes":"Unir mallas","action.merge_meshes.desc":"Combinar varias mallas en una","action.keyframe_uniform":"Escalar uniforme","action.keyframe_uniform.desc":"Habilite el escalado uniforme en los fotogramas clave seleccionados","menu.locator.ignore_inherited_scale":"Ignorar escalado heredado","menu.texture.elements":"Aplicar a Elementos","uv_editor.transparent_face":"Transparentar Cara","display.pose_angle":"\xC1ngulo de Pose (Solo para Vista Previa)","data.mesh":"Malla","dialog.create_texture.type":"Tipo","dialog.create_texture.type.blank":"En Blanco","dialog.create_texture.type.template":"Plantilla de textura","dialog.create_texture.type.color_map":"Plantilla de Color S\xF3lido","dialog.sketchfab_uploader.suggested_tags":"Etiquetas sugeridas","dialog.sketchfab_uploader.category":"Categor\xEDa","dialog.sketchfab_uploader.category2":"Categor\xEDa 2","layout.restore_backup":"Tu tema personalizado %0 fue sobreescrito. Clickea aqu\xED para restaurarlo","layout.borders":"Bordes","action.fill_mode.element":"Elemento","action.inset_mesh_selection":"Insertar Selecci\xF3n","action.inset_mesh_selection.desc":"Inserta las partes seleccionadas de la malla","action.dissolve_edges":"Disolver Bordes","action.dissolve_edges.desc":"Disolver los bordes seleccionados en una malla y fusionar las caras que dividen","action.split_mesh":"Separar mallas","action.split_mesh.desc":"Separar las mallas seleccionadas en una nueva malla","action.merge_vertices":"Combinar v\xE9rtices","action.merge_vertices.desc":"Fusionar los v\xE9rtices seleccionados en la posici\xF3n del primer v\xE9rtice seleccionado","action.view_mode.normal":"Orientaci\xF3n de Cara","action.snap_uv_to_pixels":"Cambiar UV a p\xEDxeles","action.snap_uv_to_pixels.desc":"Ajusta los v\xE9rtices UV seleccionados a la cuadr\xEDcula de p\xEDxeles","menu.file.import.import_open_project":"Importar proyecto abierto","menu.help.unlock_projects":"Desbloquea todos los proyectos","status_bar.selection.faces":"%0 Caras","status_bar.selection.vertices":"%0 Vertices","message.merged_vertices":"Se encontraron y combinaron %0 v\xE9rtices en %1 ubicaciones","settings.vertex_merge_distance":"Distancia de Fusi\xF3n de V\xE9rtices","settings.vertex_merge_distance.desc":"Distancia dentro de la cual se fusionan los v\xE9rtices mediante la fusi\xF3n por distancia","settings.show_only_selected_uv":"Mostrar Solo UV Seleccionado","settings.show_only_selected_uv.desc":"Mostrar solo las caras UV seleccionadas en el editor UV por defecto","action.merge_vertices.merge_all":"Unir todo","action.merge_vertices.merge_all_in_center":"Unir todo al centro","action.merge_vertices.merge_by_distance":"Unir distancia","action.merge_vertices.merge_by_distance_in_center":"Unir distancia al centro","action.uv_rotate_left":"Rotar UV a la izquierda","action.uv_rotate_left.desc":"Rotar las caras UV seleccionadas en sentido anti-horario (izquierda)","action.uv_rotate_right":"Rotar las caras UV a la derecha","action.uv_rotate_right.desc":"Rotar las caras UV seleccionadas en sentido horario (derecha)","menu.uv.display_uv":"Mostrar UV","menu.uv.display_uv.selected_faces":"Caras seleccionadas","menu.uv.display_uv.selected_elements":"Todas las caras","menu.uv.display_uv.all_elements":"Todas las caras en todos los elementos","menu.paste.face":"Cara UV","menu.paste.mesh_selection":"Selecci\xF3n de Malla","menu.paste.outliner":"Elementos","uv_editor.show_all_faces":"Mostrar todas las caras","uv_editor.show_selected_faces":"Mostrar las caras seleccionadas","status_bar.selection.edges":"0% de ejes","action.selection_mode.edge":"Eje","message.cannot_re_import.title":"Modelo no puede ser re-importado","message.cannot_re_import.message":"El modelo del formato exportado no puede ser importado a BlockBench nuevamente. Por favor asegurate de guardar tu modelo como un archivo de proyecto.","generic.default":"Por defecto","units.pixels_per_meter":"%0 p\xEDxeles por metro","mode.pose":"Pose","modifier_actions.resize_both_sides":"Reescalar en ambas direcciones","modifier_actions.resize_one_side":"Reescalar en una sola direcci\xF3n","modifier_actions.draw_line":"Dibujar l\xEDnea","modifier_actions.drag_without_snapping":"Arrastar sin romper","modifier_actions.stretch_keyframes":"Estirar fotogramas clave","modifier_actions.resize_background":"Reescalar fondo","modifier_actions.select_multiple":"Selecci\xF3n m\xFAltiple","modifier_actions.select_range":"Seleccionar rango","modifier_actions.drag_to_duplicate":"Arrastar para duplicar","modifier_actions.uniform_scaling":"Escalado uniforme","modifier_actions.snap_direction":"Quebrar la direcci\xF3n","message.no_valid_elements":"Los elementos seleccionados no son v\xE1lidos","dialog.add_primitive.shape.plane":"Plano","dialog.save_angle.rotation_mode":"Modo de Rotaci\xF3n","dialog.save_angle.rotation":"Rotaci\xF3n","dialog.save_angle.fov":"Campo de visi\xF3n","settings.hide_tab_bar":"Ocultar Barra de Pesta\xF1as Autom\xE1ticamente","settings.hide_tab_bar.desc":"Ocultar la barra de pesta\xF1as cuando solo hay una pesta\xF1a abierta","settings.status_bar_modifier_keys":"Sugerir Teclas Modificadoras en la Barra de Estado","settings.status_bar_modifier_keys.desc":"Mostrar teclas modificadoras, sugeridas seg\xFAn el contexto en la barra de estado","settings.ground_plane":"Plano del Suelo","settings.ground_plane.desc":"Mostrar un plano del suelo debajo del modelo","settings.preview_paste_behavior":"Comportamiento Por Defecto al Pegar en la Ventana Gr\xE1fica","settings.preview_paste_behavior.desc":"Seleccione el comportamiento al pegar algo en la ventana gr\xE1fica en el Modo Edici\xF3n. Hay varias opciones disponibles","settings.preview_paste_behavior.always_ask":"Siempre Pregunta","action.new_window":"Nueva ventana","action.new_window.desc":"Abrir una nueva ventana en Blockbench","action.export_collada":"Exportar modelo Collada (dae)","action.export_collada.desc":"Exportar modelo y animaciones como archivo dae para usarlo en otras aplicaciones 3D","action.paint_mode_uv_overlay":"Cubrir UV","action.paint_mode_uv_overlay.desc":"Muestra el mapa UV como una superposici\xF3n en el modo de pintura","action.bake_animation_into_model":"Hornear animaci\xF3n en modelo","action.bake_animation_into_model.desc":"Hornea la animaci\xF3n mostrada actualmente al modelo. Solo aplica a la rotaci\xF3n y la posici\xF3n, se ignora la escala.","action.keyframe_interpolation.step":"Paso","action.set_ik_target":"Fijar objetivo IK","action.set_ik_target.desc":"Seleccione el hueso de destino que debe ser movido por este objeto nulo a trav\xE9s de cinem\xE1tica inversa","menu.action_control.type.tab":"Tabulador","menu.action_control.type.angle":"\xC1ngulo de C\xE1mara","menu.action_control.recent_in_streamer_mode":"\xBFSeguro? El modo streamer est\xE1 habilitado","menu.action_control.recent_in_streamer_mode.desc":"\xBFEst\xE1s seguro de que quieres mostrar los modelos recientes?","menu.tools":"Objetos","menu.file.recent.more":"Ver m\xE1s...","menu.null_object.lock_ik_target_rotation":"Bloquear rotaci\xF3n IK","menu.animation_file.import_remaining":"Importar animaciones restantes","edit.loop_cut.offset":"Compensar","edit.extrude_mesh_selection.extend":"Extender","cube.color.pink":"Rosa","cube.color.silver":"Gris claro","dialog.plugins.offline":"Sin conexi\xF3n a Internet","dialog.create_texture.pixel_density":"Densidad del p\xEDxel","dialog.create_texture.pixel_density.desc":"La densidad del p\xEDxel en la textura, en p\xEDxeles por metro. El tama\xF1o del mapa de la textura puede diferenciar dependiendo de el tama\xF1o y la cantidad de elementos","panel.skin_pose":"Pose","panel.skin_pose.none":"Nada","panel.skin_pose.natural":"Naturar","panel.skin_pose.walking":"Caminando","panel.skin_pose.crouching":"Acechando","panel.skin_pose.sitting":"Sentado","panel.skin_pose.jumping":"Saltando","panel.skin_pose.aiming":"Apuntando","edit.loop_cut.direction":"Direcci\xF3n","data.texture_mesh":"Malla de textura","generic.left":"Izquierda","generic.right":"Derecha","mode.start.quick_setup":"Armado r\xE1pido","mode.start.keymap":"Keymap","mode.start.quick_setup.more_themes":"M\xE1s...","dialog.resize_texture.animation_frames":"Fotograma de animaci\xF3n","dialog.export_emission_map.title":"Exportar Emission Map","dialog.export_emission_map.format":"Formato","dialog.export_emission_map.format.luminance":"Luminiscencia","dialog.export_emission_map.format.luminance_inverted":"Luminiscencia invertida","dialog.export_emission_map.format.colors":"Colores","dialog.export_emission_map.threshold":"Umbral de Transparencia","dialog.export_emission_map.round_up":"Redondear a %0 x %1","dialog.export_emission_map.flip_y":"Invertir Eje Y","dialog.select.type":"Tipo de elemento","dialog.create_texture.max_edge_angle":"Umbral de \xC1ngulo de Borde","dialog.create_texture.max_edge_angle.desc":"El \xE1ngulo m\xE1ximo entre dos caras que se pueden combinar","dialog.create_texture.max_island_angle":"Umbral de \xC1ngulo de Isla UV","dialog.create_texture.max_island_angle.desc":"El \xE1ngulo m\xE1ximo que se puede combinar en la misma isla UV","settings.mobile_panel_side":"Panel lateral m\xF3vil","settings.mobile_panel_side.desc":"Seleccione en qu\xE9 lado de la pantalla se mostrar\xE1n los paneles al usar Blockbench en orientaci\xF3n horizontal","settings.obj_face_export_mode":"Modo de Exportaci\xF3n de Caras OBJ","settings.obj_face_export_mode.desc":"Seleccione si desea que el exportador OBJ convierta todas las caras en tri\xE1ngulos o cuadril\xE1teros","settings.obj_face_export_mode.both":"Por Defecto","settings.obj_face_export_mode.tris":"Convertir a Tri\xE1ngulos","settings.obj_face_export_mode.quads":"Convertir a Cuadril\xE1teros","action.seam_tool":"Herramienta de Costura","action.seam_tool.desc":"Herramienta para definir costuras UV en los bordes de la malla","action.resolve_group":"Resolver Grupo","action.resolve_group.desc":"Resolver el grupo manteniendo sus elementos secundarios en el mismo lugar","action.move_to_group":"Mover a Grupo","action.move_to_group.desc":"Mueve los elementos seleccionados a un grupo diferente","action.select_seam":"Seleccionar Costura UV","action.select_seam.desc":"Seleccione el modo de costura UV para los bordes seleccionados","action.select_seam.auto":"Auto","action.select_seam.join":"Unir","action.select_seam.divide":"Dividir","action.adjust_brightness_contrast":"Ajustar Brillo y Contraste","action.adjust_brightness_contrast.desc":"Ajusta el brillo y contraste de la textura seleccionada","action.adjust_saturation_hue":"Ajustar saturaci\xF3n y hue...","action.adjust_saturation_hue.desc":"Ajusta la saturaci\xF3n y el hue de la textura seleccionada","action.invert_colors":"Invertir Colores","action.invert_colors.desc":"Invertir todos los colores de la textura seleccionada","action.adjust_curves":"Ajustar curvas...","action.adjust_curves.desc":"Ajusta las curvas de brillo de la textura seleccionada","action.flip_texture_x":"Invertir Textura Horizontalmente","action.flip_texture_y":"Invertir Textura Verticalmente","action.resize_texture":"Reescalar Textura...","action.view_mode.uv":"Vista Previa UV","action.append_to_template":"A\xF1adir elementos a la plantilla...","action.append_to_template.desc":"A\xF1adir los elementos actualmente seleccionados a la plantilla de textura","action.move_texture_with_uv":"Mover textura con UV","action.move_texture_with_uv.desc":"Mueve la textura de la cara al arrastrar las caras UV","action.timeline_setups":"Configuraciones de L\xEDneas de Tiempo","action.save_timeline_setup":"Guardar Configuraci\xF3n de la L\xEDnea de Tiempo...","action.save_timeline_setup.desc":"Guarda una plantilla de los animadores y canales seleccionados","menu.texture":"Textura","menu.texture.render_mode.default":"Por Defecto","menu.texture.merge_onto_texture":"Combinar con la Textura Encima","menu.animation.unload":"Descargar","panel.timeline":"L\xEDnea de Tiempo","action.pan_tool":"Herramienta de Desplazamiento","action.pan_tool.desc":"Herramienta para navegar en la ventana gr\xE1fica (viewport) y el editor de texturas","mode.start.recent.favorite":"Se\xF1alar como Favorito","mode.start.info":"Informaci\xF3n","mode.start.target":"Objetivo","mode.start.start":"Iniciar","mode.start.create_new":"Crear Nuevo Modelo","mode.start.format.informations":"Importante:","mode.start.format.resources":"Recursos:","format.free.info.meshes":"En este formato, puedes crear modelos low poly usando cubos y mallas con formas personalizadas.","format.free.info.limitation":"Estos modelos no pueden ser usados en juegos que requieran formatos especializados, como Minecraft.","format.skin.info.skin":"Este formato est\xE1 dise\xF1ado para crear skins de Minecraft y texturas para entidades.","format.skin.info.model":"Estos modelos no pueden ser modificados. Para realizar cambios, primero convierta a un formato diferente con **Archivo** > **Convertir Projecto**.","format.java_block.info.rotation":"Las rotaciones est\xE1n limitadas a incrementos de 22.5 grados y a solo un eje por cada elemento","format.java_block.info.size":"El modelo est\xE1 limitado a un tama\xF1o de 3 por3 por 3 bloques. Sin embargo, los ajustes de visualizaci\xF3n pueden hacer que los objetos parezcan m\xE1s grandes","format.java_block.info.animation":"Este formato no admite animaciones en Minecraft vanilla. Si estas creando un mod, puedes usar Geckolib para animar modelos. Si no, la \xFAnica manera de animar es intercambiar el modelo usando comandos o texturas animadas.","format.bedrock.info.textures":"Cada modelo solo puede usar una textura","format.bedrock_block":"Bloque de Bedrock","format.bedrock_block.desc":"Modelo de Bloque para Minecraft Bedrock","format.modded_entity.info.integer_size":"El tama\xF1o de cubos esta limitado a integrales.","format.modded_entity.info.format":"Los modelos son escritos en c\xF3digo java en vez de estructuras de datos como el resto de formatos de exportaci\xF3n de Blockbench.","format.optifine_entity.info.optifine_required":"Usuarios sin OptiFine instalado no podr\xE1n ver el modelo.","format.optifine_entity.info.pivots":"Los pivotes de los huesos est\xE1n bloqueados, es buena idea dejarlos sin modificar.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Otros","format_category.loaders":"Cargadores","message.recover_backup.recover":"Recuperar","message.invalid_characters.title":"Ruta Inv\xE1lida","message.invalid_characters.message":"La ruta del archivo importado contiene caracteres inv\xE1lidos, letras may\xFAsculas, o espacios. Los caracteres permitidos son: %0","dialog.share_model.thumbnail":"Miniatura","dialog.skin.high_res_texture":"Ten en cuenta que las skins con esta resoluci\xF3n seleccionada no funcionar\xE1n como skins normales de Minecraft. Selecciona una resoluci\xF3n m\xE1s baja.","settings.allow_display_slot_mirror":"Permitir Duplicaci\xF3n de Ranuras de Visualizaci\xF3n","settings.allow_display_slot_mirror.desc":"Permite duplicar las ranuras de visualizaci\xF3n para los modelos de elementos Java. ADVERTENCIA: Esto solo funciona en Minecraft 1.14 o versiones anteriores, o en casos especiales.","action.switch_tabs":"Intercambiar pesta\xF1as","action.switch_tabs.desc":"Cambia entre las pesta\xF1as abiertas. Mant\xE9n pulsada la tecla May\xFAs o Shift para cambiar en la direcci\xF3n opuesta.","action.unselect_all":"Deseleccionar todo","action.save_palette":"Guardar Paleta...","action.save_palette.desc":"Guarda la paleta de colores actual dentro de Blockbench para uso posterior","action.keyframe_column_create":"Crear Columna de Fotogramas Clave","action.keyframe_column_create.desc":"A\xF1adir fotogramas clave a todos los canales de la l\xEDnea de tiempo, en el c\xF3digo de tiempo actual, si ya tienen fotogramas clave","action.keyframe_column_select":"Seleccionar Columna de Fotogramas Clave","action.keyframe_column_select.desc":"Seleccione todos los fotogramas clave de la columna situada debajo del cabezal de reproducci\xF3n en la l\xEDnea de tiempo","menu.uv":"UV","menu.keyframe":"Fotogramas","menu.palette.load.update":"Actualizar Paleta","menu.palette.load.update.desc":"Actualiza esta paleta con los colores de la paleta actual de Blockbench","menu.timeline_marker.set_time":"Establecer hora...","uv_editor.scale_uv":"Reescalar UV","action.preview_scene":"Escenario","action.preview_scene.desc":"Cambia el escenario del modelo","preview_scene.minecraft_overworld":"Supramundo","preview_scene.minecraft_nether":"Inframundo","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"Invertir Eje Y","preview_scene.studio":"Estudio","format.image":"Imagen","modifier_actions.set_copy_source":"Establecer Fuente de Copia","message.load_images.title":"Cargar Im\xE1genes","message.load_images.edit_image":"Editar Imagen","dialog.add_primitive.align_edges":"Alinear Bordes","dialog.flip_animation.show_in_timeline":"Muestra todos los huesos modificados en la l\xEDnea de tiempo","settings.default_cube_size":"Tama\xF1o del Cubo","settings.default_cube_size.desc":"Cambia el tama\xF1o por defecto del cubo al crear un nuevo cubo","settings.uniform_keyframe":"Re-escalar Fotogramas Uniformemente","settings.uniform_keyframe.desc":"Establece los fotogramas clave a re-escalado uniforme por defecto","settings.nearest_rectangle_select":"Selecci\xF3n de rect\xE1ngulo: Borde mas cercano","settings.nearest_rectangle_select.desc":"Ajusta las selecciones rectangulares al borde del p\xEDxel m\xE1s cercano, como en GIMP, en lugar de p\xEDxeles completos.","settings.pick_color_opacity":"Seleccionar Opacidad del Color","settings.pick_color_opacity.desc":"Seleccione la opacidad del color con el Selector de Color y config\xFArela como opacidad del pincel","settings.paint_with_stylus_only":"Pintar con L\xE1piz","settings.paint_with_stylus_only.desc":"Usa solo el l\xE1piz para pintar, guarda el mouse o entrada t\xE1ctil para la navegaci\xF3n","action.copy_brush_mode":"Modo de Pincel de Copia","action.copy_brush_mode.copy":"Copia","action.copy_brush_mode.pattern":"Patr\xF3n","action.copy_brush_mode.sample":"Ejemplo","action.brush_shape":"Forma del Pincel","action.brush_shape.square":"Cuadrado","action.brush_shape.circle":"Circulo","action.blend_mode":"Modo de Combinaci\xF3n","action.blend_mode.default":"Por Defecto","action.blend_mode.set_opacity":"Establecer Opacidad","action.blend_mode.color":"Color","action.blend_mode.behind":"Por Detr\xE1s","action.blend_mode.multiply":"Multiplicar","action.blend_mode.divide":"Dividir","action.blend_mode.add":"A\xF1adir","action.blend_mode.subtract":"Restar","action.blend_mode.screen":"Pantalla","action.blend_mode.overlay":"Cubierta","action.blend_mode.hard_light":"Luz Intensa","action.blend_mode.difference":"Diferencia","action.copy_brush":"Pincel de Copia","action.copy_brush.desc":"Pincel para clonar partes de tu textura o dibujar patrones","action.validator_window":"Ver Problemas del Modelo...","action.validator_window.desc":"Abre el validador, que lista los problemas con el modelo actual.","action.cancel_gif":"Cancelar Grabaci\xF3n","menu.text_edit.copy_vector":"Copiar Vector","menu.brush_presets.dialog":"Pinceles Por Defecto...","menu.brush_presets.pixel_brush":"Pincel de Pixel","menu.brush_presets.smooth_brush":"Pincel Suave","menu.texture.edit_in_blockbench":"Editar en Blockbench","menu.mirror_painting.axis":"Eje","menu.mirror_painting.axis.desc":"Selecciona el eje en el que los trazos de pintura se invierten","menu.mirror_painting.global":"Simetr\xEDa Global","menu.mirror_painting.global.desc":"Activa la inversi\xF3n de pintura en el espacio global del modelo","menu.mirror_painting.local":"Simetr\xEDa Local","menu.mirror_painting.local.desc":"Activa la inversi\xF3n de pintura en el espacio local de cada elemento","menu.mirror_painting.texture_frames":"Fotogramas de Texturas Animadas","menu.mirror_painting.texture_frames.desc":"Invierte los trazos de pintura a cada fotograma de texturas animadas","format.bedrock_block.info.size_limit":"El tama\xF1o total de un bloque est\xE1 limitado a 30 p\xEDxeles en todas sus dimensiones. Este l\xEDmite puede estar descentrado hasta 7 p\xEDxeles en cualquier direcci\xF3n desde el centro del bloque.","format.bedrock_block.info.textures":"Se pueden aplicar m\xFAltiples texturas a diferentes cubos en Blockbench, pero requieren una configuraci\xF3n adicional en el paquete de comportamiento para que funcionen correctamente en el juego.","format.image.desc":"Editar im\xE1genes en el editor de im\xE1genes 2D","generic.delete_all":"Eliminar todo","message.child_model_only.open":"Abrir Padre","message.child_model_only.open_with_textures":"Abrir Padre y Adoptar Texturas","dialog.project.credit":"Credito","dialog.convert_project.create_copy":"Crear copia","dialog.texture.frame_time":"Tiempo de fotograma","dialog.texture.frame_time.desc":"Establece la duraci\xF3n de cada fotograma, en ticks. Cada tick equivale a 1/20 de segundo.","dialog.texture.frame_interpolate":"Interpolar","dialog.texture.frame_interpolate.desc":"Interpolar entre fotogramas de animaci\xF3n mediante fundido cruzado al siguiente fotograma.","dialog.texture.frame_order_type":"Modo de Bucle","dialog.texture.frame_order_type.loop":"Bucle","dialog.texture.frame_order_type.backwards":"Bucle en Reversa","dialog.texture.frame_order_type.back_and_forth":"Ida y Vuelta","dialog.texture.frame_order_type.custom":"Orden Personalizado","dialog.texture.frame_order":"Orden de Fotogramas","dialog.texture.frame_order.desc":"Establezca un orden de fotogramas personalizado enumerando los \xEDndices de fotogramas en un nuevo orden. Los \xEDndices de fotogramas comienzan en 0 con el primer fotograma.","dialog.select.mode":"Modo","dialog.select.mode.new":"Nueva Selecci\xF3n","dialog.select.mode.add":"A\xF1adir a la Selecci\xF3n","dialog.select.mode.remove":"Eliminar de la Selecci\xF3n","dialog.select.mode.in_selection":"Seleccionar solo de Seleccionados","dialog.predicate_overrides.model":"Modelo","dialog.predicate_overrides.predicates":"Predicados","dialog.predicate_overrides.variants":"Variantes","dialog.predicate_overrides.start_value":"Inicio","dialog.predicate_overrides.add_override":"Agregar Anulaci\xF3n","dialog.predicate_overrides.add_predicate":"A\xF1adir Predicado","dialog.predicate_overrides.generate_overrides":"Generar Anulaciones","dialog.predicate_overrides.confirm_delete":"\xBFEst\xE1s seguro de que quieres eliminar todas las anulaciones?","dialog.predicate_overrides.predicate.angle":"Angulo de la br\xFAjula","dialog.predicate_overrides.predicate.blocking":"Esta bloqueando","dialog.predicate_overrides.predicate.broken":"Esta roto","dialog.predicate_overrides.predicate.cast":"Est\xE1 lanzada","dialog.predicate_overrides.predicate.cooldown":"Enfriamiento","dialog.predicate_overrides.predicate.damage":"Da\xF1o","dialog.predicate_overrides.predicate.damaged":"Esta da\xF1ado","dialog.predicate_overrides.predicate.lefthanded":"Es zurdo","dialog.predicate_overrides.predicate.pull":"Cantidad de Carga","dialog.predicate_overrides.predicate.pulling":"Est\xE1 Cargando","dialog.predicate_overrides.predicate.charged":"Esta cargado","dialog.predicate_overrides.predicate.firework":"Tiene cohete","dialog.predicate_overrides.predicate.throwing":"Listo para Lanzar","dialog.predicate_overrides.predicate.time":"Hora del D\xEDa","dialog.predicate_overrides.predicate.custom_model_data":"Datos de Modelo Personalizado","dialog.predicate_overrides.predicate.level":"Nivel de Luz","dialog.predicate_overrides.predicate.filled":"Nivel de Llenado del Saco","dialog.predicate_overrides.predicate.tooting":"Tocando","settings.model_export_scale":"Escala de Exportaci\xF3n del Modelo","settings.model_export_scale.desc":"Factor por el que se reduce la escala de los modelos glTF, DAE y FBX exportados. El valor por defecto es 16, lo que convierte 16 unidades de Blockbench en 1 metro al exportar.","action.export_fbx":"Exportar Modelo FBX","action.export_fbx.desc":"Exporta el modelo y las animaciones como archivo FBX para usarlo en otras aplicaciones 3D y motores de juegos","action.center_lateral":"Centro lateral","action.center_lateral.desc":"Centra los elementos seleccionados en los ejes X y Z","action.adjust_opacity":"Ajustar opacidad","action.adjust_opacity.desc":"Ajusta la opacidad de la textura seleccionada","action.rotate_texture_cw":"Rotar en sentido del reloj","action.rotate_texture_ccw":"Rotar en sentido contra reloj","action.predicate_overrides":"Editar Anulaciones de Predicado...","action.predicate_overrides.desc":"Seleccione modelos para anular este modelo en funci\xF3n de las condiciones seleccionadas","action.auto_set_cullfaces":"Establecer Ocultaci\xF3n Autom\xE1tica de Caras","action.auto_set_cullfaces.desc":"Generar autom\xE1ticamente la ocultaci\xF3n de caras para esconder aquellas caras que est\xE9n cubiertas por un bloque vecino.","menu.texture.edit_externally":"Editar externamente","menu.mirror_painting.texture":"Simetr\xEDa del editor 2D","menu.mirror_painting.texture.desc":"Activar el pintado reflejado en el espacio 2D en la imagen o textura","menu.animator.rotation_global":"Rotar en el Espacio Global","uv_editor.face_properties":"Propiedades de la cara","uv_editor.face_properties.material_instance":"Instancia material","uv_editor.tint.info":"El tinte se puede habilitar en una cara para indicar a Minecraft que la pinte. En la versi\xF3n vanilla, el tinte solo se puede utilizar en bloques espec\xEDficos, como hojas y polvo de redstone, y solo puede tener un valor de 0.","uv_editor.cullface.info":"Habilitar la opci\xF3n de ocultar caras, indica a una cara de un bloque que no se renderice si se coloca otro bloque completo junto a ella en la direcci\xF3n especificada en tu mundo de Minecraft. Esto puede utilizarse para optimizar el rendimiento.","uv_editor.material_instance.info":"Las instancias de materiales pueden configurarse con un nombre definido por el usuario. Dicho nombre puede utilizarse en el archivo JSON del bloque en el paquete de comportamiento, para asignar una textura y un material espec\xEDficos a la cara.","display.reference.frame_invisible":"Marco de Objeto (invisible)","data.settings_profile":"Perfil","message.display_skin.invalid_name":'No se encuentra ninguna cuenta de Minecraft con el nombre "%0".',"dialog.load_plugins_from_query.title":"Cargar Plugins","dialog.load_plugins_from_query.text":"Has utilizado un enlace que requiere la instalaci\xF3n de plugins. \xBFDeseas instalarlos?","dialog.select_model.title":"Seleccionar Modelo","dialog.select_model.bones":"Huesos","dialog.select_model.cubes":"Cubos","dialog.settings.create_profile":"Crear Perfil...","settings_profile.confirm_delete":"\xBFSeguro que quieres eliminar este perfil de configuraci\xF3n?","settings_profile.condition.type.selectable":"Seleccionable Manualmente","settings.interface_mode":"Modo UI","settings.interface_mode.desc":"Modo de Interfaz","settings.interface_mode.auto":"Autom\xE1tico","settings.interface_mode.desktop":"Escritorio","settings.interface_mode.mobile":"M\xF3vil","settings.paint_through_transparency":"Pintar a Trav\xE9s de Transparencia","settings.paint_through_transparency.desc":"Pinta a trav\xE9s de p\xEDxeles transparentes cuando la opci\xF3n Bloquear Canal Alfa est\xE9 activada","action.tab_overview":"Vista General de las Pesta\xF1as","action.tab_overview.desc":"Vea todas las pesta\xF1as abiertas en una cuadr\xEDcula y acceda a la que desee","action.slider_color_red":"Color Rojo","action.slider_color_green":"Color Verde","action.slider_color_blue":"Color Azul","action.add_animation_controller":"A\xF1adir Controlador de Animaci\xF3n","action.add_animation_controller.desc":"Crea un controlador de animaci\xF3n en blanco","action.animation_controller_preview_mode":"Vista Previa del Controlador","action.animation_controller_preview_mode.paused":"Pausado","action.animation_controller_preview_mode.manual":"Vista Previa Manual","action.animation_controller_preview_mode.play":"Auto Reproducci\xF3n","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Mango de enlace B\xE9zier","action.keyframe_bezier_linked.desc":"Conecta el mango B\xE9zier del fotograma clave derecho e izquierdo","action.reset_keyframe_handles":"Restablecer Manejadores de Fotogramas Clave","action.reset_keyframe_handles.desc":"Reinicia el mango B\xE9zier de los fotogramas clave seleccionados","action.looped_animation_playback":"Reproducci\xF3n en Bucle","action.looped_animation_playback.desc":"Previsualizar animaciones en un bucle infinito","timeline.bind_to_actor":"Unir al actor","animation_controllers.select_preset":"Selecciona un Ajuste Preestablecido del Controlador...","animation_controllers.state.animations":"Animaciones","animation_controllers.state.particles":"Part\xEDculas","animation_controllers.state.sounds":"Sonidos","animation_controllers.state.on_entry":"En Entrada","animation_controllers.state.on_exit":"En Salida","animation_controllers.state.transitions":"Transiciones","animation_controllers.state.condition":"Condici\xF3n","animation_controllers.state.blend_transition":"Tiempo de combinaci\xF3n","animation_controllers.state.shortest_path":"Combinaci\xF3n por la ruta m\xE1s corta","animation_controllers.state.edit_transition":"Editar Transici\xF3n","menu.color_picker.picker_type":"Tipo de Selector","menu.color_picker.picker_type.square":"Cuadrado","menu.color_picker.picker_type.wheel":"Rueda","menu.color_picker.slider_mode":"Modo Deslizante","menu.color_picker.slider_mode.hsv":"Tono, Saturaci\xF3n, Valor","menu.color_picker.slider_mode.rgb":"Rojo, Verde, Azul","menu.texture.render_mode.additive":"Aditivo","panel.color.picker_options":"Opciones del Selector de Color","panel.animation_controllers":"Controlador de Animaci\xF3n","display.preset.armor_stand":"Suelo (Soporte de Armadura)","data.file_path":"Ruta del Archivo","dialog.extrude.orientation":"Orientaci\xF3n","dialog.extrude.orientation.upright":"Vertical","dialog.extrude.orientation.flat":"Plano","dialog.scale.box_uv_warning":"Al escalar un modelo UV de Caja, se puede romper el UV de tu modelo. En su lugar, intente escalar su modelo externamente o cambie al modo UV por Cara en Archivo > Proyecto.","dialog.create_gif.format":"Formato","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"Secuencia PNG","dialog.create_gif.pixelate":"Pixelar","dialog.create_gif.bg_image":"Imagen de Fondo","dialog.create_gif.turn.desc":"Gira el modelo mientras grabas. Usa valores negativos para girarlo en el sentido de las agujas del reloj. Un valor de 60 corresponde a una rotaci\xF3n por segundo.","settings_profile.condition":"Condici\xF3n","settings_profile.condition.type.file_path.desc":"Utilice la sintaxis de Expresiones Regulares para que coincida con la ruta del archivo del proyecto actual. Use barras diagonales para los directorios","settings.only_selected_bezier_handles":"Mostrar Solo los Manejadores B\xE9zier Seleccionados","settings.only_selected_bezier_handles.desc":"Ocultar los manejadores de los fotogramas clave B\xE9zier que no est\xE1n seleccionados","settings.embed_textures":"Insertar Texturas","settings.embed_textures.desc":"Insertar el contenido del archivo de textura en archivos .bbmodel","action.selection_mode.cluster":"Grupo","dialog.copied_to_clipboard":"Copiado al portapapeles","data.reference_image":"Imagen de Referencia","message.delete_reference_image":"\xBFEst\xE1 seguro de que desea eliminar esta imagen de referencia? Esta acci\xF3n no se puede deshacer.","message.add_reference_image.message":"Seleccione d\xF3nde cargar la imagen de referencia","message.add_reference_image.project":"A\xF1adir a este proyecto","message.add_reference_image.app":"A\xF1adir a todos los proyectos","message.import_particle_texture.import":"Importar Textura de Part\xEDculas","message.import_particle_texture.message":"\xBFDesea importar un archivo de textura para usarlo en su part\xEDcula?","message.save_codec_selector.title":"Guardar Formato del Modelo","message.save_codec_selector.message":"Seleccione un formato para guardar el modelo.","message.save_codec_selector.project_file":"Proyecto Blockbench (.bbmodel)","message.save_codec_selector.both":"Ambos","message.display_skin.username":"Nombre de Usuario (Java)","message.palette_locked":"La paleta est\xE1 bloqueada","dialog.project.default_uv_mode":"Modo UV Por Defecto","dialog.project.default_uv_mode.description":"Modo UV por defecto del proyecto. El modo UV tambi\xE9n se puede cambiar por cubo.","dialog.export_options.title":"Opciones de exportaci\xF3n","dialog.edit_texture.preview":"Vista previa","dialog.proportional_editing.range":"Rango","dialog.proportional_editing.falloff":"Caida","dialog.proportional_editing.falloff.linear":"Lineal","dialog.proportional_editing.falloff.hermite_spline":"Liso","dialog.proportional_editing.falloff.constant":"Constante","dialog.proportional_editing.selection":"Selecci\xF3n","dialog.proportional_editing.selection.linear":"Distancia lineal","dialog.proportional_editing.selection.connections":"Conexiones","dialog.mirror_painting_texture_center.middle":"Medio","dialog.mirror_painting_texture_center.custom":"Personalizar","dialog.settings.reset_to_default":"Reiniciar por defecto","keybindings.item.num_slider.increase":"Aumentar","keybindings.item.num_slider.decrease":"Disminuir","settings.always_show_splash_art":"Mostrar Siempre Arte de Bienvenida","settings.always_show_splash_art.desc":"Mostrar siempre arte de bienvenida en la pantalla de inicio","action.slider_palette_color":"Intercambiar paleta de color","action.slider_palette_color.desc":"Ciclo entre los colores en la paleta","action.proportional_editing":"Edici\xF3n Proporcional","action.proportional_editing.desc":"Afectar proporcionalmente los v\xE9rtices adyacentes al editar partes de una malla","action.limit_to_palette":"Limitar la paleta","action.limit_to_palette.desc":"Limita los colores de la textura a los de la paleta cargada actualmente","action.edit_reference_images":"Editar Im\xE1genes de Referencia","action.edit_reference_images.desc":"Activa el modo de imagen de referencia para agregar o editar im\xE1genes de referencia y planos","action.add_reference_image":"Agregar imagen de referencia","action.reference_image_from_clipboard":"Imagen de referencia desde el portapapeles","action.reference_image_list":"Im\xE1genes de referencia","action.connect_uv_faces":"Conectar caras UV","action.connect_uv_faces.desc":"Conecta las caras UV seleccionadas a la \xFAltima cara UV seleccionada","action.merge_uv_vertices":"Fusionar v\xE9rtices UV","action.merge_uv_vertices.desc":"Ajusta los primeros v\xE9rtices UV seleccionados a los \xFAltimos v\xE9rtices UV seleccionados","action.bedrock_animation_mode":"Modo animaci\xF3n de bedrock","action.bedrock_animation_mode.desc":"Seleccionar el modo de editar animaciones para Minecraft: Edici\xF3n Bedrock","action.bedrock_animation_mode.entity":"Entidad","action.bedrock_animation_mode.attachable_first":"Item en 1ra Persona","action.bedrock_animation_mode.attachable_third":"Item en 3ra Persona","timeline.amplify":"Amplificar","menu.options":"Opciones...","menu.palette.lock_palette":"Mirar paleta","menu.uv.export":"Exportar mapeo UV","menu.uv.flip_x":"Espejo X","menu.uv.flip_y":"Espejo Y","menu.mirror_painting.enabled":"Habilitar","reference_image.position":"Posici\xF3n","reference_image.size":"Tama\xF1o","reference_image.rotation":"Rotaci\xF3n","reference_image.opacity":"Opacidad","reference_image.visibility":"Visibilidad","reference_image.clear_mode":"Modo claro","reference_image.layer":"Capa","reference_image.layer.background":"Detr\xE1s del modelo","reference_image.layer.viewport":"Sobre el modelo","reference_image.layer.float":"Sobre la interfaz","reference_image.scope":"Alcance","reference_image.scope.project":"Solo este proyecto","reference_image.scope.global":"Todos los proyectos","reference_image.enabled_modes":"Habilitado en modos","codec.common.encoding":"Codificaci\xF3n","codec.common.armature":"Exportar los grupos como armadura","codec.common.export_animations":"Exportar animaciones","codec.common.embed_textures":"Incrustar texturas","preview.center_camera":"C\xE1mara central","display.reference.frame_top":"Cuadro de item superior","display.reference.frame_top_invisible":"Cuadro de item superior (invisible)","action.proportional_editing_range":"Rango de Edici\xF3n Proporcional","action.proportional_editing_range.desc":"Ajustar el rango para la edici\xF3n proporcional","action.toggle_all_reference_images":"Ocultar/Mostrar todas las im\xE1genes de referencia","action.toggle_all_reference_images.desc":"Alterna la visibilidad de todas las im\xE1genes de referencia a la vez","action.add_animation_controller_state":"Agregar estado del controlador de animaci\xF3n","action.add_animation_controller_state.desc":"Agregar un nuevo estado al controlador de animaciones","menu.slider.round_value":"Redondear valor","texture.error.too_large":"La resoluci\xF3n excede el m\xE1ximo de %0","dialog.copy_to_clipboard":"Copiar al portapapeles","dialog.open_url":"Abrir URL","reference_image.image":"Imagen","uv_editor.rotate_uv":"Rotar UV","generic.error":"Error","projects.start_screen":"Pantalla de inicio","message.invalid_link.message":'El modelo compartido "%0" que tu intentas cargar no es valido o ha expirado',"message.plugin_dependencies.title":"Dependencia de Plugin","message.plugin_dependencies.message1":"El Plugin requiere estas dependencias:","message.plugin_dependencies.message1_update":"El Plugin %0 ha sido actualizado y ahora requiere estas dependencias:","message.plugin_dependencies.message2":"\xBFQuieres instalarlos para continuar?","message.plugin_dependencies.invalid":"Desafortunadamente el Plugin no se puede instalar, tiene una dependencia invalida:","message.preview_scene_load_failed":"Fall\xF3 al cargar la escena previa. Revisa tu conexi\xF3n a internet.","dialog.convert_project.text1":"Convertir el proyecto a un formato diferente.","dialog.convert_project.text2":"Use la conversi\xF3n bajo su propio riesgo. Los formatos tienen diferentes caracter\xEDsticas y restricciones, por lo que, en algunos casos, romper\xEDa partes de tu proyecto.","dialog.convert_project.text3":"No puedes deshacer la conversi\xF3n, es por eso que por defecto se crear\xEDa una copia.","dialog.unsaved_work.title":"Trabajo no guardado","dialog.unsaved_work.text":"Los siguientes proyectos contienen cambios sin guardar. \xBFQuieres guardarlos?","dialog.unsaved_work.discard_all":"Descartar todo","dialog.unsaved_work.save_all":"Guardar todo","dialog.resize_texture.mode":"Modo","dialog.resize_texture.mode.crop":"Recortar/Expandir","dialog.resize_texture.mode.scale":"Escala","dialog.plugins.is_installed":"Instalado","dialog.plugins.is_disabled":"Desactivado","dialog.plugins.disable":"Desactivar","dialog.plugins.enable":"Activar","dialog.plugins.dependencies":"Depende de:","dialog.view_backups.open_folder":"Abrir Carpeta","dialog.share_model.reference_images":"Incluye im\xE1genes de referencia","dialog.share_model.too_large":"Fall\xF3 al cargar: el modelo es demasiado grande","dialog.share_model.too_large_references":"Fall\xF3 al cargar: el modelo es demasiado grande. Int\xE9ntalo sin im\xE1genes de referencia.","settings.stretch_linked":"Estiramiento de Enlaces","settings.stretch_linked.desc":"Estira el cubo en todas las direcciones con el mismo valor","settings.grids":"Mostrar Cuadr\xEDculas","settings.grids.desc":"Mostrar u ocultar todas las cuadr\xEDculas 3D","settings.double_click_switch_tools":"Cambiar Herramientas con Doble Click","settings.double_click_switch_tools.desc":"Haga doble click en la ventana gr\xE1fica para cambiar entre herramientas","settings.outlines_in_paint_mode":"Selecci\xF3n de Contornos en Modo Pintura","settings.outlines_in_paint_mode.desc":"Mostrar contornos de los elementos seleccionados mientras est\xE1s en modo pintura","settings.json_indentation":"Sangr\xEDa JSON","settings.json_indentation.desc":"Estilo de sangr\xEDa para archivos JSON exportados","settings.json_indentation.tabs":"Tabulaciones","settings.json_indentation.spaces_4":"Espacios: 4","settings.json_indentation.spaces_2":"Espacios: 2","action.slider_stretch":"Estirar","action.slider_stretch.desc":"Estira los cubos multiplicativamente en el eje %0 sin cambiar el UV","action.view_backups":"Ver Copias de Seguridad","action.view_backups.desc":"Explora la lista de copias de seguridad de proyectos guardadas autom\xE1ticamente","action.search_outliner":"Buscador en el Esquema","action.search_outliner.desc":"Buscar nombres de elementos espec\xEDficos en el esquema","action.mirror_modeling":"Modelado de espejo","action.mirror_modeling.desc":"Habilita el modelado de espejo en el eje X. Todos los cambios que realice en la ventana se reflejar\xE1n en el otro lado, a menos que se deshabiliten espec\xEDficamente en el elemento.","action.allow_element_mirror_modeling":"Permitir modelado de espejo","action.allow_element_mirror_modeling.desc":"Elije si los elementos seleccionados puedan verse afectados por el modelado de espejo","action.switch_face_crease":"Cambiar el Pliegue de Cara","action.switch_face_crease.desc":"Cambia la direcci\xF3n en la que se pliega el cuadril\xE1tero en el medio","action.clear_unused_texture_space":"Limpiar el espacio de textura sin usar","action.clear_unused_texture_space.desc":"Limpiar las partes de la textura que no est\xE1n asignadas mediante rayos UV a ning\xFAn elemento","action.split_screen":"Pantalla Dividida","action.split_screen.desc":"Selecciona un modo de pantalla dividida para la ventana grafica","action.split_screen.single":"Simple","action.split_screen.double_horizontal":"Doble Horizontal","action.split_screen.double_vertical":"Doble Vertical","action.split_screen.quad":"Cu\xE1druple","action.split_screen.triple_left":"Triple Izquierda","action.split_screen.triple_right":"Triple Derecha","action.split_screen.triple_top":"Triple Superior","action.split_screen.triple_bottom":"Triple Inferior","action.uv_project_from_view":"Proyecto UV desde la vista","action.uv_project_from_view.desc":"Genera autom\xE1ticamente UV para las caras seleccionadas desde la perspectiva de la vista 3D","action.graph_editor_other_graphs":"Mostrar otros gr\xE1ficos","action.graph_editor_other_graphs.desc":"Se muestran los gr\xE1ficos de los ejes que no est\xE1n seleccionados","action.graph_editor_include_other_graphs":"Incluir otros gr\xE1ficos","action.graph_editor_include_other_graphs.desc":"El editor de gr\xE1ficos incluye gr\xE1ficos que no est\xE1n seleccionados en la vista","action.set_ik_source":"Establecer CI de ra\xEDz","action.set_ik_source.desc":"Seleccionar el hueso ra\xEDz de la cadena que debe de ser movido por este objeto nulo a trav\xE9s de la cinem\xE1tica inversa","edit.loop_cut.cuts":"Cortes","panel.element.stretch":"Estirar","preview_scene.minecraft_plains":"Llanuras","preview_scene.minecraft_cherry_grove":"\xC1rboles de cerezo","preview_scene.minecraft_snowy_tundra":"Tundra nevada","preview_scene.minecraft_sunset":"Atardecer","preview_scene.minecraft_night":"Noche","preview_scene.minecraft_desert":"Desierto","preview_scene.minecraft_underwater":"Bajo el agua","preview_scene.minecraft_coral_reef":"Arrecifes de coral","preview_scene.minecraft_lush_cave":"Cueva exuberante","preview_scene.minecraft_deep_dark":"Profundidad oscura","generic.navigate_forward":"Adelante","generic.navigate_back":"Atr\xE1s","action.element_render_order":"Orden de Renderizado de Elementos Transparentes","action.element_render_order.default":"Autom\xE1tico","action.element_render_order.behind":"Detr\xE1s","action.element_render_order.in_front":"Delante","message.installing_update.title":"Actualizaci\xF3n disponible","message.installing_update.message":"Una nueva versi\xF3n est\xE1 listo para ser instalado. Despu\xE9s de cerrar la app, por favor espero %0 segundos antes de abrir Blockbench de nuevo o apaga el ordenador para que se instale la actualizaci\xF3n.","settings.brush_cursor_2d":"Cursor de Pincel 2D","settings.brush_cursor_2d.desc":"Mostrar un contorno alrededor del pincel en el espacio de trabajo 2D","settings.brush_cursor_3d":"Cursor de Pincel 3D","settings.brush_cursor_3d.desc":"Mostrar un contorno alrededor del pincel en el espacio de trabajo 3D","settings.cdn_mirror":"Usar CDN Espejo","settings.cdn_mirror.desc":"Utilice el espejo CDN para descargar complementos (plugins). El espejo recibe las actualizaciones m\xE1s r\xE1pidamente y funciona en algunas regiones en las que por defecto no funciona.","data.layer":"Capa","data.panel":"Panel","generic.confirm_delete":"\xBFEst\xE1s seguro que quieres eliminar esto?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Escalado libre","message.texture_refresh_conflict.title":"Conflicto de versiones de texturas","message.texture_refresh_conflict.message":"El archivo de textura podr\xEDa contener cambios que entren en conflicto con la versi\xF3n de Blockbench","message.texture_refresh_conflict.keep_ours":"Mantener la versi\xF3n de Blockbench","message.texture_refresh_conflict.keep_theirs":"Cargar archivo y descartar todos los cambios y capas en Blockbench","message.group_required_to_animate":"No puedes animar este tipo de elemento. Crea un grupo o armadura para animarlo.","dialog.texture.uv_size":"Tama\xF1o UV","dialog.advanced_screenshot.angle_preset":"Preajuste del \xE1ngulo","dialog.advanced_screenshot.resolution":"Resoluci\xF3n","dialog.advanced_screenshot.zoom_to_fit":"Zoom para ajustar","dialog.advanced_screenshot.zoom":"Zoom / Longitud focal","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Apagado","dialog.advanced_screenshot.anti_aliasing.msaa":"Muestreo multiple","dialog.advanced_screenshot.anti_aliasing.ssaa":"Super muestreo","dialog.advanced_screenshot.show_gizmos":"Mostrar edici\xF3n de Gizmos","dialog.advanced_screenshot.shading":"Sombreado","settings.auto_keyframe":"Fotograma Clave Autom\xE1tico","settings.auto_keyframe.desc":"Crear autom\xE1ticamente un fotograma clave con valores por defecto al inicio de la l\xEDnea de tiempo al transformar el hueso en un punto posterior","settings.modded_entity_integer_size":"Tama\xF1o Entero de Entidad Modificada","settings.modded_entity_integer_size.desc":"Limite el tama\xF1o de los cubos en el formato de Entidad Modificada a enteros. Si bien algunas versiones admiten n\xFAmeros flotantes, los enteros son mucho m\xE1s f\xE1ciles de mapear con UV.","category.layers":"Capas","keybind.paint_secondary_color":"Pintar con el color secundario","action.selection_tool_operation_mode":"Modo de operaci\xF3n de selecci\xF3n","action.selection_tool_operation_mode.create":"Nueva selecci\xF3n","action.selection_tool_operation_mode.add":"Agregar a la selecci\xF3n","action.selection_tool_operation_mode.subtract":"Sustraer de la selecci\xF3n","action.selection_tool_operation_mode.intersect":"Intersectar","action.pixel_perfect_drawing":"Dibujo de pixel perfecto","action.pixel_perfect_drawing.desc":"Dibujar l\xEDneas de pixel-art liso sin p\xEDxeles dobles en las curvas","action.selection_tool":"Herramienta de selecci\xF3n","action.selection_tool.desc":"Selecciona partes de la imagen","action.selection_tool.rectangle":"Rect\xE1ngulo","action.selection_tool.ellipse":"Elipse","action.selection_tool.lasso":"Selecci\xF3n de lazo","action.selection_tool.wand":"Varita m\xE1gica","action.selection_tool.color":"Mismo color","action.move_layer_tool":"Mover Capa","action.move_layer_tool.desc":"Mover la capa o selecci\xF3n actual","action.export_modded_animations":"Exportar animaciones de entidades modificadas","action.export_modded_animations.desc":"Exporta animaciones para un modelo de entidad modificada de Minecraft Edici\xF3n java","action.swap_colors":"Intercambiar colores","action.swap_colors.desc":"Intercambiar el color principal con el color secundario","action.apply_mesh_rotation":"Aplicar Rotaci\xF3n","action.apply_mesh_rotation.desc":"Restablezca la rotaci\xF3n del elemento de la malla y apl\xEDquela a la geometr\xEDa en su lugar","action.flip_texture_x.desc":"Voltear la textura o capa horizontalmente","action.flip_texture_y.desc":"Voltear la textura o capa verticalmente","action.rotate_texture_cw.desc":"Rotar la textura o capa en sentido horario","action.rotate_texture_ccw.desc":"Rotar la textura o capa en sentido antihorario","action.crop_texture_to_selection":"Recortar textura a la selecci\xF3n","action.create_empty_layer":"Crear una capa vac\xEDa","action.enable_texture_layers":"Habilitar capas","action.disable_texture_layers":"Deshabilitar capas","action.layer_opacity":"Opacidad de la capa","action.layer_to_texture_size":"Expandir capa al tama\xF1o de la textura","action.layer_to_texture_size.desc":"Expande la capa al tama\xF1o de la textura","action.merge_layer_down":"Fusionar abajo","action.merge_layer_down.desc":"Se Fusiona con la capa de abajo","action.advanced_screenshot":"Captura de pantalla avanzada","action.advanced_screenshot.desc":"Toma una captura de pantalla al modelo con opciones avanzadas","action.bake_ik_animation":"Cinem\xE1tica inversa de horneado","action.bake_ik_animation.desc":"Hornea las rotaciones aplicadas por cinem\xE1ticas inversas en la animaci\xF3n seleccionada","action.save_animation_preset":"Guarda preajuste de animaci\xF3n","action.save_animation_preset.desc":"Guarda los fotogramas clave como un ajuste preestablecido de animaci\xF3n","action.animation_onion_skin":"Animaci\xF3n de skin Onion","action.animation_onion_skin.desc":"Muestra una vista de estructura al\xE1mbrica de un cuadro diferente en la animaci\xF3n como referencia","action.apply_animation_preset":"Aplicar ajuste preestablecido de animaci\xF3n","action.apply_animation_preset.desc":"Selecciona desde una lista de ajustes preestablecidos de animaci\xF3n y lo aplica al hueso seleccionado","menu.brush_presets.pixel_perfect":"Pincel de p\xEDxeles perfectos","panel.layers":"Capas","uv_editor.copy_paste_tool.to_layer":"A la nueva capa","format.image.new":"Crear nueva imagen","format.image.info.summary":"El editor de imagen 2D te permite crear y editar im\xE1genes y pixelart directamente en Blockbench, sin la necesidad de un editor de imagen externo. \xA1Edita im\xE1genes, modifica texturas, o crea tu propio pixelart!","settings.move_with_selection_tool":"Usar la Herramienta de Selecci\xF3n para Mover Selecciones","settings.move_with_selection_tool.desc":"Permite que la Herramienta de Selecci\xF3n mueva directamente las selecciones, sin tener que cambiar a la herramienta Mover Capa","settings.final_newline":"Nueva L\xEDnea Final","settings.final_newline.desc":"Insertar un car\xE1cter de nueva l\xEDnea al final de los archivos exportados","action.crop_layer_to_selection":"Capa de recorte a la selecci\xF3n","action.edit_mode_uv_overlay.desc":"Muestra el mapa UV como una superposici\xF3n en el modo edici\xF3n","menu.image":"Imagen","menu.texture.discard_changes":"Descartar cambios","menu.texture.discard_changes.desc":"Descartar todos los cambios no guardados y cargar la \xFAltima versi\xF3n del archivo","panel.textures.images":"Im\xE1genes","dialog.advanced":"Avanzado","dialog.recommended_option":"Recomendado","modifier_actions.snap_to_center":"Ajustar centro","modifier_actions.snap_to_pixels":"Ajustar pixeles","message.invalid_format.install_plugin":"Instalar plugin '%0'","message.plugin_deprecated.message":"\xBFEst\xE1s seguro que quieres instalar este plugin obsoleto?","message.plugin_deprecated.install_anyway":"Instalar de todas maneras","message.image_editor.not_found":"No se puede encontrar el editor de im\xE1genes seleccionado. Por favor seleccione otra opci\xF3n.","message.knife_tool.confirm":"Presiona %0 o haga clic aqu\xED para aplicar la herramienta de cuchillo","message.knife_tool.skipped_face":"No se puede cortar entre caras diferentes. \xA1Incluya las aristas o v\xE9rtices entre ellas!","message.optimize_animation.keyframes_removed":"Se eliminaron %0 fotogramas claves redundantes","message.optimize_animation.nothing_to_optimize":"\xA1No se encontr\xF3 nada para optimizar!","message.duplicate_bone_copy_animation.title":"Copiar animaci\xF3n","message.duplicate_bone_copy_animation.message":"El hueso duplicado es animado en %0 animaciones. \xBFQuieres copiar los fotogramas clave al nuevo hueso?","message.auto_fix_mesh_edit.title":"Arreglar autom\xE1ticamente","message.auto_fix_mesh_edit.revert":"Revertir edici\xF3n","message.auto_fix_mesh_edit.overlapping_vertices":"Ciertos v\xE9rtices han sido movidos al mismo lugar. \xBFC\xF3mo te gustar\xEDa proceder?","message.auto_fix_mesh_edit.concave_quads":"Una o m\xE1s caras del cuadrante ahora son c\xF3ncavas, lo que puede causar problemas en el mapeo UV y el renderizado. Blockbench puede solucionarlo autom\xE1ticamente por ti:","message.auto_fix_mesh_edit.merge_vertices":"Fusionar v\xE9rtices","message.auto_fix_mesh_edit.split_quads":"Cu\xE1driceps divididos","message.load_images.add_image":"Agregar imagen","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Desplazamiento","dialog.animated_texture_editor.code_reference":"C\xF3digo de referencia","dialog.animated_texture_editor.code_reference.about":"Este c\xF3digo para implementar a la animaci\xF3n de textura se gener\xF3 como referencia y no funciona necesariamente sin modificaciones. Consulta la documentaci\xF3n para obtener m\xE1s informaci\xF3n.","dialog.animated_texture_editor.code_reference.docs":"Documentaci\xF3n","dialog.animated_texture_editor.reframe":"Recuadro","dialog.animated_texture_editor.stride":"Tama\xF1o del cuadro","dialog.animated_texture_editor.frames":"N\xFAmero de cuadros","dialog.animated_texture_editor.add_frame":"Agregar cuadro","dialog.animated_texture_editor.resize_frames":"Cambiar tama\xF1o de los cuadros...","dialog.animated_texture_editor.apply":"Aplicar","dialog.add_primitive.edge_size":"Tama\xF1o del borde","dialog.change_animation_speed.speed":"Velocidad","dialog.change_animation_speed.adjust_snapping":"Ajustar Snapping","dialog.optimize_animation.selection":"Selecci\xF3n","dialog.optimize_animation.selection.selected_keyframes":"Seleccionar Keyframes","dialog.optimize_animation.selection.selected_animation":"Animaci\xF3n seleccionada","dialog.optimize_animation.selection.all_animations":"Todas las animaciones","dialog.optimize_animation.thresholds":"L\xEDmites de valores","dialog.import_obj.obj":"Archivo OBJ","dialog.import_obj.mtl":"Archivo MTL","dialog.import_obj.scale":"Escalar","layout.thumbnail":"CSS Personalizado para Miniaturas","settings.pixel_grid":"Cuadr\xEDcula de P\xEDxeles","settings.pixel_grid.desc":"Mostrar la cuadr\xEDcula de p\xEDxeles de textura en los elementos en el modo de edici\xF3n","settings.image_editor_grid_size":"Tama\xF1o de Cuadr\xEDcula del Editor de Im\xE1genes","settings.image_editor_grid_size.desc":"Tama\xF1o de la cuadr\xEDcula grande en el editor de im\xE1genes en 2D","settings.ground_plane_double_side":"Plano de Suelo de Doble Cara","settings.ground_plane_double_side.desc":"Hacer que el plano de suelo sea visible desde abajo","settings.optifine_save_default_texture":"Optifine JEM: Exportar textura seleccionada","settings.optifine_save_default_texture.desc":"Exportar la textura seleccionada como la textura por defecto del modelo","action.slider_color_select_threshold":"Selecciona el l\xEDmite de color","action.slider_color_select_threshold.desc":"Qu\xE9 tan cerca debe estar el color de un p\xEDxel vecino para ser seleccionado por color o selecci\xF3n de varita","action.stretch_tool":"Estirar","action.stretch_tool.desc":"Herramienta para seleccionar y estirar elementos","action.knife_tool":"Herramienta de cuchillo","action.knife_tool.desc":"Herramienta para cortar caras de malla en piezas m\xE1s peque\xF1as","action.duplicate_project":"Duplicar proyecto","action.duplicate_project.desc":"Crea una copia del proyecto abierto","action.transform_space.parent":"Padre","action.transform_pivot_space":"Espacio de transformaci\xF3n del pivote","action.solidify_mesh_selection":"Solidificar Caras","action.solidify_mesh_selection.desc":"Solidifica las caras seleccionadas de la malla","action.animated_texture_editor":"Editor Flipbook","action.animated_texture_editor.desc":"Edita la animaci\xF3n Flipbook de la textura seleccionada","action.center_individual_pivots":"Pivotes individuales centrales","action.center_individual_pivots.desc":"Establece el punto del pivote de cada elemento seleccionado en su centro","action.uv_cycle":"Ciclo UV","action.uv_cycle.desc":"Recorre el orden de los v\xE9rtices UV sin cambiar las posiciones UV","action.uv_cycle_invert":"Ciclo de UV invertido","action.uv_cycle_invert.desc":"Invierte el orden de los v\xE9rtices UV sin cambiar las posiciones UV","action.slider_animation_controller_speed":"Velocidad de reproducci\xF3n del controlador","action.slider_animation_controller_speed.desc":"La velocidad de reproducci\xF3n de los controladores de animaci\xF3n en porcentaje","action.optimize_animation":"Optimizar animaci\xF3n","action.optimize_animation.desc":"Optimiza la animaci\xF3n actual y reduce la cantidad de fotogramas clave","action.change_animation_speed":"Cambiar velocidad de la animaci\xF3n","action.change_animation_speed.desc":"Cambia la velocidad de la animaci\xF3n seleccionada","timeline.select_particle_file":"Seleccionar archivo de part\xEDcula","timeline.select_sound_file":"Seleccionar archivo de sonido","menu.cube.texture.default":"Por defecto","menu.texture.particle.clear":"Dejar de usar part\xEDculas","menu.texture.use_as_default":"Establecer como predeterminado","menu.texture.use_as_default.clear":"Desasignar como predeterminado","menu.toolbar.overflow":"Desbordamiento de la barra de herramientas","edit.solidify_mesh_selection.thickness":"Espesor","reference_image.sync_to_timeline":"Sincronizar con la l\xEDnea del tiempo","reference_image.toggle_playback":"Reproducir/Pausar","dialog.add_primitive.shape.beveled_cuboid":"Cuboide biselado","dialog.ignore_all":"Ignorar todo","data.texture_group":"Grupo de texturas","data.animation":"Animaci\xF3n","generic.on":"Encendido","generic.off":"Apagado","format.free.info.3d_printing":"Impresi\xF3n 3D","message.invalid_file.merge_conflict":"El archivo contiene conflictos de fusi\xF3n Git sin resolver.","dialog.expand_texture_selection.radius":"Cantidad","dialog.expand_texture_selection.corner":"Forma de la esquina","dialog.expand_texture_selection.corner.round":"Redondo","dialog.expand_texture_selection.corner.square":"Cuadrado","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Fusionarse en","keybindings.variation_conflict":"La variaci\xF3n entra en conflicto con la combinaci\xF3n de teclas principal","settings.recovery_save_interval":"Intervalo de Guardado del Punto de Recuperaci\xF3n","settings.recovery_save_interval.desc":"Blockbench guarda peri\xF3dicamente el proyecto abierto en segundo plano para poder recuperarlo en caso de un fallo del sistema. Establezca el intervalo en segundos. Establezca el valor en 0 para desactivar el guardado.","settings.save_view_per_tab":"Guardar Vista por Pesta\xF1a","settings.save_view_per_tab.desc":"Guarda el \xE1ngulo de visi\xF3n actual para cada pesta\xF1a por separado","settings.inherit_parent_color":"Heredar Color del Padre","settings.inherit_parent_color.desc":"Establece el color del marcador de un elemento reci\xE9n creado al color del padre en lugar de un color aleatorio","keybind.preview_select.multi_select":"Selecci\xF3n multiple","keybind.preview_select.group_select":"Selecci\xF3n de grupo","keybind.preview_select.loop_select":"Selecci\xF3n de bucle","action.fill_mode.selection":"Selecci\xF3n","action.fill_mode.selected_elements":"Elementos seleccionados","action.image_tiled_view":"Vista en mosaico","action.image_tiled_view.description":"Habilita la vista en mosaico en el editor 2D","action.image_onion_skin_view":"Editor de im\xE1genes Onion Skin","action.image_onion_skin_view.description":"Habilita la vista de Skin Onion en el editor 2D","action.expand_texture_selection":"Expandir selecci\xF3n de la textura","action.expand_texture_selection.desc":"Expande o reduce la selecci\xF3n de la textura","action.switch_tabs.reverse_order":"Orden inverso","action.save_project_incremental":"Guardar proyecto con incremento","action.save_project_incremental.desc":"Guarda el modelo actual como un archivo de proyecto con un incremento (ej: projecto_2.bbmodel)","action.copy.multiple":"Copiar Todo","action.copy.multiple.desc":"Copia todos los datos disponibles individualmente","action.paste.multiple":"Pegar Todo","action.randomize_marker_colors":"Aleatorizar Colores de Marcadores","action.cube_light_emission":"Emisi\xF3n de Luz","action.cube_light_emission.desc":"Cambiar la emisividad de los cubos seleccionados, con un valor entre 0 y 15","action.view_mode.colored_solid":"S\xF3lido con colores marcados","action.focus_on_selection.rotate_only":"Solo rotaci\xF3n","action.create_texture_group":"Crear grupo de texturas","action.create_texture_group.desc":"Crear un grupo para tus texturas","action.uv_maximize.all_faces":"Afecta todas las caras","action.retarget_animators":"Reorientar animaciones","action.retarget_animators.desc":"Selecciona que animador se dirige a que hueso o elemento","action.merge_animation":"Mezclar animaci\xF3n","action.merge_animation.desc":"Mezclar la animaci\xF3n en otra animaci\xF3n","action.add_keyframe.reset_values":"Con los valores por defecto","action.set_timeline_range_start":"Establecer el inicio del rango de la l\xEDnea de tiempo","action.set_timeline_range_start.desc":"Establece el punto de inicio para un rango de reproducci\xF3n personalizado en la l\xEDnea de tiempo de la animaci\xF3n","action.set_timeline_range_end":"Establecer el final del rango de la l\xEDnea de tiempo","action.set_timeline_range_end.desc":"Establece el punto final para un rango de reproducci\xF3n personalizado en la l\xEDnea de tiempo de la animaci\xF3n","action.disable_timeline_range":"Deshabilitar el rango de la l\xEDnea de tiempo","action.disable_timeline_range.desc":"Deshabilita el rango de reproducci\xF3n personalizado en la l\xEDnea de tiempo de la animaci\xF3n","menu.texture_group.resolve":"Resolver","menu.image_tiled_view.mirrored":"Bordes reflejados","menu.image_onion_skin_view.frame":"Fotogramas","menu.image_onion_skin_view.frame.last_viewed":"Fotograma anteriormente visto","menu.image_onion_skin_view.frame.previous":"Fotograma previo","menu.image_onion_skin_view.frame.next":"Siguiente fotograma","menu.image_onion_skin_view.frame.both":"Previo + anterior","menu.image_onion_skin_view.display":"Mostrar","menu.image_onion_skin_view.display.pixels":"Pixeles mas peque\xF1os","menu.image_onion_skin_view.display.transparent":"Transparente","menu.image_onion_skin_view.above":"Mostrar abajo","menu.animation.reload":"Recargar","switches.autouv.alt":"Relativo","display.rotation_pivot":"Eje de rotaci\xF3n","display.scale_pivot":"Eje de escala","display.reference.fox":"Zorro","display.reference.eating":"Comer","preview_scene.sky":"Cielo","preview_scene.space":"Espacio","preview_scene.minecraft_ocean":"Oceano","message.import_palette.selection_only":"Solo selecci\xF3n","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generar...","dialog.blend_transition_edit.generate.learn_more":"Mas info y vista previa","dialog.blend_transition_edit.generate.curve":"Tipo de suavidad","dialog.blend_transition_edit.generate.steps":"Fotogramas clave","settings.fps_limit":"Limite de FPS","settings.fps_limit.desc":"Limita cuantos fotogramas por segundo Blockbench renderiza. La velocidad de fotogramas real est\xE1 limitada a lo que tu dispositivo puede mostrar.","settings.outliner_reveal_on_select":"Mostrar Elementos al Seleccionar","settings.outliner_reveal_on_select.desc":"Mostrar elementos en el esquema cuando se seleccionan","settings.java_export_pivots":"Exportar Pivotes en modelos de bloques/objetos de Java","settings.java_export_pivots.desc":"Guardar puntos de pivote en modelos de bloques/objetos de Java en cubos sin rotaci\xF3n","animation_controllers.state.blend_transition_curve":"Curva de transici\xF3n de combinaci\xF3n","menu.slider.reset_vector":"Reajustar vector","dialog.blend_transition_edit.extended":"Grafico extendido","message.screenshot_too_large.title":"Problema en la resoluci\xF3n de la captura","message.screenshot_too_large.message":"La captura de pantalla no podr\xE1 renderizarse exitosamente. por favor int\xE9ntelo otra vez con una resoluci\xF3n mas baja o sin supersampling.","message.rename_elements.numbering":"Puedes usar caracteres especiales para generar n\xFAmeros secuenciales: % para obtener el \xEDndice del elemento dentro de su grupo, $ para obtener el \xEDndice dentro de la selecci\xF3n.","generic.edit_externally":"Editar externamente","message.settings_require_restart.title":"Reinicio Requerido","message.settings_require_restart.message":"Algunas configuraciones solo se aplicar\xE1n despu\xE9s de reiniciar el programa.","message.settings_require_restart.restart_now":"Reiniciar Ahora","message.settings_require_restart.restart_later":"Reiniciar Despues","message.classroom_mode.install_plugin":"No se pueden instalar complementos (plugins) en el Modo Aula","dialog.collection.export_path":"Exportar ruta","dialog.collection.select_all":"Seleccionar todo","dialog.collection.select_none":"Seleccionar nada","dialog.collection.add_with_filter":"Agregar con filtro","dialog.collection.remove":"Eliminar","dialog.material_config.title":"Configuraci\xF3n del material","dialog.material_config.color_value":"Valor del color","dialog.material_config.mer":"Rugosidad emisora de metal","dialog.material_config.mer_value":"Valor REM","dialog.material_config.depth_type":"Tipo de profundidad","dialog.create_texture.disable_mirror_uv":"Deshabilitar espejo UV","dialog.create_texture.disable_mirror_uv.desc":"Deshabilita la opci\xF3n espejo UV en modelado de espejo para conservar UV separados por cada lado del modelo","dialog.create_gif.turn.sync_to_anim_length":"Sincronizar longitud de la animaci\xF3n","settings.category.controls":"Controles","settings.classroom_mode":"Modo Aula","settings.classroom_mode.desc":"Restringe funciones como la instalaci\xF3n de complementos (plugins) y elimina los enlaces a redes sociales.","settings.antialiasing_bleed_fix":"Corregir Sangrado Anti-aliasing","settings.antialiasing_bleed_fix.desc":"Corrige el sangrado de texturas al usar el suavizado de bordes (Anti-aliasing). Puede que no sea compatible con hardware antiguo.","settings.tone_mapping":"Mapeo de Tonos","settings.tone_mapping.desc":"M\xE9todo de aproximaci\xF3n para mostrar un alto rango din\xE1mico en una pantalla est\xE1ndar para renderizado PBR.","settings.audio_scrubbing":"Reproducci\xF3n de Audio al Desplazar la L\xEDnea de Tiempo","settings.audio_scrubbing.desc":"Reproduce breves fragmentos de audio mientras te desplazas por la l\xEDnea de tiempo","settings.viewport_rotate_speed":"Velocidad de Rotaci\xF3n de la Ventana Gr\xE1fica","settings.viewport_rotate_speed.desc":"Sensibilidad de entrada al rotar en la Ventana Grafica","settings.viewport_zoom_speed":"Velocidad de Zoom de la Ventana Gr\xE1fica","settings.viewport_zoom_speed.desc":"Sensibilidad de entrada al hacer zoom en la ventana gr\xE1fica","settings.editor_2d_zoom_speed":"Velocidad de Zoom del Editor 2D","settings.editor_2d_zoom_speed.desc":"Sensibilidad de entrada al hacer zoom en el editor UV y de pintura 2D","category.select":"Seleccionar","action.vertex_snap_mode.rotate":"Rotar","action.export_image":"Exportar imagen","action.export_image.desc":"Exporta tu textura como un archivo de imagen","action.apply_mirror_modeling":"Aplicar modelado de espejo","action.apply_mirror_modeling.desc":"Aplica modelado de espejo a la selecci\xF3n. Todos los elementos seleccionados ser\xE1n copiados y se voltearan respecto al eje X.","action.create_collection":"Crear colecci\xF3n","action.create_collection.desc":"Crea una colecci\xF3n a partir de la selecci\xF3n del esquema","action.set_collection_content_to_selection":"Establecer el contenido de la colecci\xF3n como seleccionado","action.set_collection_content_to_selection.desc":"Establece los grupos y elementos seleccionados como contenido de la colecci\xF3n","action.add_to_collection":"Agregar a la colecci\xF3n seleccionada","action.add_to_collection.desc":"Agrega los grupos y elementos a la colecci\xF3n seleccionada","action.view_mode.material":"Vista previa del material","action.create_material":"Crear material","action.create_material.desc":"Crea un nuevo material RBF a partir de la textura seleccionada","action.generate_pbr_map":"Generar mapa RBF...","action.generate_pbr_map.desc":"Genera un mapa RBF (mapa de altura o metalicidad, emisividad, rugosidad) a partir de una textura existente","menu.tools.main_tools":"Caja de herramientas","menu.view.panels":"Paneles","menu.texture.pbr_channel":"Canal RBF","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Altura","menu.texture.pbr_channel.mer":"MER (Metalicidad-Emisividad-Rugosidad)","menu.texture.pbr_channel.mer_subsurface":"Subsuelo MER","menu.collection.export_project":"Exportar proyecto","menu.collection.export_as":'Exportar como "%0"',"menu.panel.enable":"Habilitar","menu.panel.move_to":"Mover a","menu.panel.move_to.left_bar":"Barra lateral izquierda","menu.panel.move_to.right_bar":"Barra lateral derecha","menu.panel.move_to.top":"Arriba","menu.panel.move_to.bottom":"Abajo","menu.panel.move_to.float":"Flotar","menu.panel.move_to.hidden":"Ocultar","menu.panel.fold":"Colapsar","menu.mirror_painting.texture_center":"Origen","menu.mirror_modeling.mirror_uv":"Espejo UV","menu.animation_onion_skin.frames":"Cuadros","menu.animation_onion_skin.select":"Seleccionar","menu.animation_onion_skin.previous":"Anterior","menu.animation_onion_skin.next":"Siguiente","menu.animation_onion_skin.previous_next":"Anterior + Siguiente","menu.animation_onion_skin.count":"Contar","menu.animation_onion_skin.interval":"Intervalo","menu.animation_onion_skin_selective":"Skin Onion selectivo","menu.animation_onion_skin_selective.desc":"Muestra solo la Onion skin para la parte seleccionada del modelo","edit.loop_cut.unit":"Unidad","edit.loop_cut.unit.size_units":"Unidades de tama\xF1o","edit.loop_cut.unit.percent":"Porcentaje","edit.extrude_mesh_selection.direction":"Direcci\xF3n","edit.extrude_mesh_selection.direction.outwards":"Hacia afuera","edit.extrude_mesh_selection.direction.average":"Promedio","edit.extrude_mesh_selection.even_extend":"Incluso extender","edit.vertex_snap.align":"Alinear","edit.vertex_snap.align.longest":"Eje m\xE1s largo","edit.vertex_snap.align.direction":"Direcci\xF3n desde el pivote","edit.vertex_snap.align.align_axis":"Eje %0","edit.vertex_snap.ignore_axis":"Ignorar eje","codec.common.format":"Formato","codec.image.quality":"Calidad","panel.collections":"Colecciones","modifier_actions.always":"Habilitar Siempre","modifier_actions.unless":"A menos que %0","settings.undo_selections":"Deshacer Selecci\xF3n","settings.undo_selections.desc":"Registrar los cambios de selecci\xF3n como un paso en el historial de deshacer","action.focus_on_selection.zoom":"Zoom para ajustar","display.reference.tooting":"Tocar bocina","settings.selection_tolerance":"Selecci\xF3n de Tolerancia","settings.selection_tolerance.desc":"Tama\xF1o del \xE1rea en la que se puede hacer click para seleccionar un borde o v\xE9rtice","action.delete.keep_vertices":"Mantener bordes/v\xE9rtices","menu.mesh":"Malla","dialog.material_config.subsurface":"Dispersi\xF3n del subsuelo","dialog.material_config.subsurface_enabled.desc":"Usa el canal alfa del mapa MER para la dispersi\xF3n del subsuelo","settings.pick_combined_color":"Seleccionar Color Combinado","settings.pick_combined_color.desc":"Selecciona el color combinado de todas las capas en el p\xEDxel correspondiente, en lugar del color de la capa activa","action.split_rgb_into_layers":"Dividir canales RGB en capas","action.split_rgb_into_layers.desc":"Divide la textura en capas aditivas, una para cada canal RGB","dialog.project.java_block_version":"Formato de versi\xF3n","data.spline_mesh":"Ranura","data.billboard":"Cartelera","data.armature":"Armadura","data.armature_bone":"Hueso de armadura","generic.reload":"Recargar","modifier_actions.subtract":"Sustraer","modifier_actions.reduced_intensity":"Afinar","modifier_actions.select_bone":"Seleccionar hueso","modifier_actions.spline_select_multiple_points":"Seleccionar varios puntos o controladores","modifier_actions.move_panel_without_docking":"Mover sin acoplamiento","message.save_all_textures.message":"\xBFQuieres guardar cada una de las siguientes texturas?","message.save_all_textures.skip":"Omitir","dialog.add_spline.shape":"Forma","dialog.add_spline.shape.segment":"Segmento","dialog.add_spline.shape.square":"Rect\xE1ngulo","dialog.add_spline.shape.circle":"C\xEDrculo","dialog.add_spline.diameter":"Di\xE1metro","dialog.add_spline.sides_tubular":"Segmentos de tubo","dialog.add_spline.sides_radial":"Segmentos de anillo","dialog.add_spline.radius":"Radio del cubo","dialog.add_spline.length":"Longitud","dialog.add_spline.width":"Ancho","dialog.plugins.revoke_permissions":"Revocar permisos","dialog.expression_editor.pretty_print":"Impresi\xF3n bonita","dialog.expression_editor.minify":"Minificar","dialog.expression_editor.find_replace":"Encontrar/Reemplazar","dialog.create_gif.show_gizmos":"Grabar Gizmos y cuadr\xEDcula","dialog.preview_options.title":"Opciones de vista previa","dialog.preview_options.background":"Fondo","dialog.preview_options.background.checkerboard":"Tablero de verificaci\xF3n","dialog.preview_options.background.solid":"S\xF3lido","dialog.preview_options.background.custom_color":"Color personalizado","dialog.preview_options.show_gizmos":"Mostrar Gizmos","dialog.skin.texture_source":"Fuente de la textura","dialog.skin.texture_source.template":"Generar plantilla","dialog.skin.texture_source.load_texture":"Cargar desde Minecraft","dialog.skin.texture_file":"Archivo de textura","dialog.convert_skin.adjust_texture":"Ajustar textura","dialog.settings.clear_profile_value":"Limpiar valores del perfil","layout.section.customize":"Personalizar","layout.theme.configure":"Configurar","layout.color.elevated":"Elevado","layout.color.elevated.desc":"Elementos de la UI elevados, generalmente separados por sombra proyectada","layout.file.watch_changes":"Ver cambios y recargar","settings.autocomplete_code":"Autocompletar C\xF3digo","settings.autocomplete_code.desc":"Mostrar sugerencias de autocompletado en editores de c\xF3digo","settings.detect_flipbook_textures":"Detectar Texturas Flipbook","settings.detect_flipbook_textures.desc":"Detecta autom\xE1ticamente texturas animadas tipo flipbook y pr\xE9visual\xEDzalas como animaci\xF3n","settings.double_click_select_reference":"Seleccionar Imagen de Referencia con Doble Click","settings.double_click_select_reference.desc":"Haga doble clic en la ventana gr\xE1fica para seleccionar una imagen de referencia","settings.default_keyframe_interpolation":"Interpolaci\xF3n de Fotogramas Clave Por Defecto","settings.default_keyframe_interpolation.desc":"Seleccione el modo de interpolaci\xF3n de fotogramas clave por defecto","settings.color_picker_style":"Estilo del Selector de Color","settings.color_picker_style.desc":"Seleccione el estilo del selector de color del modo de pintura","settings.export_asset_paths":"Exportar Rutas de Recursos","settings.export_asset_paths.desc":"Seleccione c\xF3mo se guardan las rutas de recursos como texturas o animaciones en los archivos .bbmodel","settings.export_asset_paths.relative":"Rutas Relativas","settings.export_asset_paths.absolute":"Rutas Completas","settings.export_asset_paths.both":"Rutas Relativas y Completas (solo texturas)","settings.export_asset_paths.none":"No Exportar","action.slider_spline_resolution":"Resoluci\xF3n de spline %0","action.slider_spline_resolution.desc":"Cambia la resoluci\xF3n spline en el eje %0 (%1)","action.slider_spline_resolution.u.desc_precision":"Segmentos de anillo","action.slider_spline_resolution.v.desc_precision":"Segmentos de tubo","action.slider_spline_radius":"Radio de Spline","action.slider_spline_radius.desc":"Cambia el radio de Spline","action.slider_spline_handle_tilt":"Inclinaci\xF3n del controlador","action.slider_spline_handle_tilt.desc":"Cambia la inclinaci\xF3n del controlador de spline","action.slider_spline_handle_size":"Tama\xF1o del Manejador","action.slider_spline_handle_size.desc":"Cambia el tama\xF1o del controlador de spline","action.blend_mode.lighten":"Iluminar","action.blend_mode.darken":"Oscurecer","action.weight_brush":"Peso del pincel","action.weight_brush.desc":"Pinta los pesos de v\xE9rtices en mallas para deformaciones de armadura","action.convert_minecraft_skin_variant":"Convertir skin a delgado/ancho","action.convert_minecraft_skin_variant.desc":"Cambia el modelo de la skin entre el cl\xE1sico modelo ancho (Steve) y el modelo delgado (Alex). Opcionalmente, ajusta autom\xE1ticamente la textura para que se ajuste al modelo","action.custom_skin_poses":"Poses de skin personalizado","action.custom_skin_poses.desc":"Carga un ajuste preestablecido de pose de skin personalizado","action.custom_skin_poses.update":"Actualizar pose","action.custom_skin_poses.update.desc":"Sobreescribir la pose guardada con la pose actual del modelo","action.add_custom_skin_pose":"Agregar pose de skin","action.add_custom_skin_pose.desc":"Guarda la pose actual del modelo como una pose preestablecida","action.export_stl":"Exportar STL","action.export_stl.desc":"Exportar modelo STL para impresi\xF3n 3D","action.add_element":"Agregar elemento","action.add_element.desc":"Agrega un nuevo elemento a la lista de tipos de elementos","action.add_spline":"Agregar Spline","action.add_spline.desc":"Agrega una nueva spline","action.add_billboard":"Agregar Cartelera","action.add_billboard.desc":"Agrega una nueva cartelera, un elemento plano que siempre mira hacia la c\xE1mara","action.add_armature":"Agregar armadura","action.add_armature.desc":"Agrega una armadura que permite deformar una malla mediante animaci\xF3n","action.add_armature_bone":"Agregar hueso de armadura","action.add_armature_bone.desc":"Agrega un hueso a la armadura","action.search_textures":"Buscar texturas","action.search_textures.desc":"Buscar texturas por nombre","action.search_animations":"Buscar Animaciones","action.search_animations.desc":"Buscar animaciones por nombre","action.spline_selection_mode":"Modo de selecci\xF3n de Spline","action.spline_selection_mode.object":"Objeto","action.spline_selection_mode.handles":"Manejadores","action.spline_render_mode":"Geometr\xEDa","action.spline_render_mode.mesh":"Malla","action.spline_render_mode.path":"Ruta","action.spline_render_mode.desc":"Qu\xE9 geometr\xEDa debe renderizar este spline","action.spline_uv_mode":"Estilo UV","action.spline_uv_mode.length_accurate":"Longitud precisa","action.spline_uv_mode.uniform":"Uniforme","action.spline_uv_mode.per_segment":"Por segmento","action.spline_uv_mode.desc":"C\xF3mo la malla del tubo del spline debe colocar sus UV","action.spline_ring_segments":"Anillo de segmentos","action.spline_ring_segments.desc":"Cu\xE1ntas subdivisiones tiene esta Spline por anillo de tubo","action.spline_tube_segments":"Segmentos de tubo","action.spline_tube_segments.desc":"Cu\xE1ntas subdivisiones tiene esta Spline a lo largo de su trayectoria","action.spline_tube_radius":"Radio del tubo","action.spline_tube_radius.desc":"Establece el radio del tubo de la spline","action.spline_display_space":"Espacio de exhibici\xF3n","action.spline_display_space.desc":"Muestra indicadores de espacio de spline en su ruta","action.spline_handle_mode":"Modo de manejo de spline","action.spline_handle_mode.desc":"Qu\xE9 modo usar para transformar los manejos de spline","action.spline_handle_mode.aligned":"Alineado","action.spline_handle_mode.free":"Libre","action.spline_handle_mode.mirrored":"Reflejado","action.slider_weight_brush_size":"Tama\xF1o del peso del pincel","action.weight_brush_xray":"Modo rayos X con el peso del pincel","action.weight_brush_xray.desc":"Cuando est\xE1 habilitado, el peso del pincel afectar\xE1 a todos los v\xE9rtices en lugar de solo a los que son visibles en la superficie","action.apply_spline_rotation":"Aplicar rotaci\xF3n","action.apply_spline_rotation.desc":"Reinicia la rotaci\xF3n del elemento de la spline y en su lugar lo aplica a la geometr\xEDa","action.extrude_spline_selection":"Extruir Spline","action.extrude_spline_selection.desc":"Extruye el manejo seleccionado en todas las splines","action.split_spline":"Dividir Spline","action.split_spline.desc":"Divide la spline en dos splines en el manejo seleccionado","action.divide_spline_curve":"Dividir segmento Spline","action.divide_spline_curve.desc":"Divide el segmento de spline en dos nuevos segmentos con un nuevo manejo en su intersecci\xF3n","action.set_vertex_weights":"Establecer peso de v\xE9rtices","action.set_vertex_weights.desc":"Establece el peso de los v\xE9rtices seleccionados a un valor espec\xEDfico en un cierto hueso de armadura","action.calculate_vertex_weights":"Calcular peso de los v\xE9rtices","action.calculate_vertex_weights.desc":"Asigna autom\xE1ticamente pesos de v\xE9rtices en funci\xF3n de la posici\xF3n de los huesos","action.shelf_alignment":"Alineamiento del estante","action.shelf_alignment.desc":"Selecciona la alineaci\xF3n vertical de los items en el estante","action.shelf_alignment.top":"Alineamiento hacia arriba","action.shelf_alignment.bottom":"Alineamiento hacia abajo","action.view_mode.vertex_weight":"Peso del v\xE9rtice","action.view_mode.weighted_bone_colors":"Colores de los huesos del v\xE9rtice","action.create_animation_group":"Crear grupo de animaci\xF3n","action.create_animation_group.desc":"Crea un grupo de animaciones","action.move_graph_keyframes_up":"Mover el gr\xE1fico de fotogramas clave hacia arriba","action.move_graph_keyframes_down":"Mover el gr\xE1fico de fotogramas clave hacia abajo","menu.skin":"Skin","menu.text_edit.expression_editor":"Editor de expresiones","menu.color_picker.picker_type.normal":"Mapa Normal","menu.texture.flipbook_animation":"Animaci\xF3n Flipbook","menu.panel.attach_to":"Adjuntar a","menu.animation.playing":"Reproducir","menu.animation_file.save_as":"Guardar como","menu.animator.quaternion_interpolation":"Interpolaci\xF3n de cuaterniones","edit.extrude_spline_selection.extend":"Extender","edit.divide_spline_curve.position":"Posici\xF3n","group.bedrock_binding":"Vinculante","group.cem_attach":"Adjuntar CEM","group.cem_model":"Modelo CEM","group.cem_scale":"Escala CEM","cube.rescale":"Reescalar rotaci\xF3n","cube.rescale.desc":"Reescala el cubo para compensar el \xE1ngulo de rotaci\xF3n","mesh.shading":"Sombreado","mesh.shading.flat":"Plano","mesh.shading.smooth":"Liso","spline_mesh.cyclic":"C\xEDclico","spline_mesh.cyclic.desc":"La spline seleccionada debe formar un bucle (Ciclo)","billboard.offset":"Desplazamiento","billboard.facing_mode":"Modo de orientaci\xF3n","billboard.facing_mode.lookat":"Mirar a","billboard.facing_mode.lookat_y":"Mirar a Y","billboard.facing_mode.rotate":"Rotar","billboard.facing_mode.rotate_y":"Rotar Y","armature_bone.connected":"Conectado","reference_image.blueprint":"Plano bloqueado","codec.image.alpha_channel":"Canal alfa","codec.image.animation_fps":"FPS de la animaci\xF3n","panel.palette":"Paleta","panel.keyframe.change_effect_file":"Cambiar archivo de efecto","panel.transform":"Transformar","panel.element.spline_dimensions":"Dimensiones de Spline","display.slot.on_shelf":"Estante","display.reference.shelf":"Estante (todos los slots)","display.reference.shelf_left":"Estante (slot izquierdo)","display.reference.shelf_center":"Estante (slot central)","display.reference.shelf_right":"Estante (slot derecho)","message.newer_project_format_version.title":"Cliente obsoleto","message.newer_project_format_version.message":"Este archivo se guardo en una versi\xF3n m\xE1s reciente de Blockbench. Actualize Blockbench a %0 o posterior para poder abrirlo correctamente","message.load_images.add_layer":"Agregar como capa","message.load_images.category.add_to_project":"A\xF1adir al proyecto","message.load_images.category.new_project":"Nuevo proyecto","message.load_palette.title":"Cargar paleta","message.load_palette.message":"\xBFEst\xE1s seguro que quieres cargar esta paleta? Esto reemplazar\xE1 tu paleta de colores actual.","dialog.set_vertex_weights.weight":"Peso","dialog.set_vertex_weights.overwrite":"Sobreescribir otros huesos","action.element_render_order.short":"Orden de renderizado","action.element_render_order.desc":"Orden de renderizado de los elementos. Esto puede ayudar a corregir elementos que est\xE1n ocultos detr\xE1s de otros elementos con texturas transparentes. D\xE9jalo en Auto para elementos opacos.","spline.shading.flat":"Plano","spline.shading.smooth":"Liso","spline.shading":"Sombreado","spline.shading.desc":"C\xF3mo se debe sombrear el tubo de esta spline","action.slider_weight_brush_limit":"L\xEDmite de peso del pincel","action.slider_weight_brush_limit.desc":"Establece un l\xEDmite superior para la cantidad de peso que el pincel puede asignar a un v\xE9rtice","action.weight_brush_blend_mode":"Modo de combinaci\xF3n del peso de los pinceles","action.weight_brush_blend_mode.set":"Establecer","action.weight_brush_blend_mode.add":"A\xF1adir","action.apply_texture_to_elements":"Aplicar textura a los elementos","action.apply_texture_to_elements.desc":"Aplica la textura seleccionada a los elementos seleccionados","menu.panel.reset_size":"Reiniciar tama\xF1o","action.import_layer":"Importar capa","action.import_layer.desc":"Importa archivos de imagen como capas","menu.collection.open_file":"Abrir archivo","layout.version":"Versi\xF3n","settings.status_bar_transform_sliders":"Transformar controles deslizantes en la barra de estado","settings.status_bar_transform_sliders.desc":"Muestra la barra de herramientas de los controles deslizantes de transformaci\xF3n de la herramienta seleccionada en la barra de estado en lugar de usar el panel Transformar","settings.default_bedrock_format":"Formato Por Defecto de Bedrock","settings.default_bedrock_format.desc":"Selecciona el formato por defecto para cargar los modelos de Minecraft Bedrock cuando no se pueda detectar ning\xFAn formato espec\xEDfico a partir del contexto.","settings.limit_brush_opacity_per_stroke":"Limitar la Opacidad del Pincel por Trazo","settings.limit_brush_opacity_per_stroke.desc":"Limite la opacidad que un pincel puede aplicar al valor del control deslizante de opacidad durante cada trazo. Con un pincel suave, este comportamiento puede generar un ligero ruido no deseado.","action.merge_splines":"Fusionar Splines","action.merge_splines.desc":"Fusionar m\xFAltiples splines en uno","settings.default_java_block_version":"Versi\xF3n de Bloque/Item de Java por defecto","settings.default_java_block_version.desc":"Versi\xF3n de formato por defecto cuando creas nuevos modelos de bloque/item de Java o abres archivos sin formato de versi\xF3n","data.bounding_box":"Cuadro delimitador","keys.option":"Opci\xF3n","keys.slide_lmb_horizontal":"Clic izquierdo en deslice horizontal","keys.slide_lmb_vertical":"Clic izquierdo en deslice vertical","keys.slide_rmb_horizontal":"Clic derecho en deslice horizontal","keys.slide_rmb_vertical":"Clic derecho en deslice vertical","message.recover_backup.unknown_project":"Proyecto desconocido","message.recover_backup.discard_others":"Descartar todos los dem\xE1s","message.unsupported_file_extension.title":"Formato de archivo no soportado","message.unsupported_file_extension.message":"El archivo %0 no puede abrir, el formato no est\xE1 soportado. Puede que necesites un Plugin para este tipo de archivo.","message.unsupported_file_extension.open_in_default_program":"Abrir en el programa predeterminado","dialog.project.uv_size":"Tama\xF1o UV","dialog.collection.offset":"Desplazamiento","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Cuadros por segundo de la animaci\xF3n flipbook de texturas","dialog.edit_uv_size.title":"Editar tama\xF1o UV","dialog.edit_uv_size.target":"Objetivo","dialog.edit_uv_size.adjust":"Ajustar","dialog.edit_uv_size.adjust.adjust_uv":"Contador UV","dialog.edit_uv_size.adjust.adjust_scale":"Contador UV y escala","dialog.edit_uv_size.adjust.keep":"Mantener UV","dialog.edit_uv_size.target_size":"Tama\xF1o UV objetivo","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Coincidir textura","dialog.edit_uv_size.result":"Resultado","dialog.edit_uv_size.result.textures":"Texturas","dialog.adjust_brightness_contrast.brightness":"Brillo","dialog.adjust_brightness_contrast.contrast":"Contraste","dialog.adjust_saturation_hue.saturation":"Saturaci\xF3n","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Modo","dialog.adjust_opacity.mode.multiply":"Multiplicar","dialog.adjust_opacity.mode.set":"Colocar","dialog.bedrock_bounding_box.type":"Tipo","dialog.bedrock_bounding_box.type.collision_box":"Colisi\xF3n","dialog.bedrock_bounding_box.type.selection_box":"Caja de selecci\xF3n","dialog.bedrock_bounding_box.type.hitbox":"Caja de colisi\xF3n","dialog.bedrock_bounding_box.hitbox_note":"Tenga en cuenta que las cajas de colisi\xF3n de las entidades solo funcionan hasta cierto tama\xF1o y no puede adaptarse a la rotaci\xF3n de la entidad en el juego.","dialog.bedrock_bounding_box.collision_note":"Tenga en cuenta que las cajas de colisi\xF3n solo admiten una forma centrada con un perfil superior cuadrado.","dialog.bedrock_bounding_box.no_bounding_boxes":"No existen cuadros delimitadores en este proyecto","dialog.install_plugins_from_list.ids":"IDs de plugins","dialog.install_plugins_from_list.info":"Instala varios plugins desde una lista de IDs. Antes de instalarlos, aseg\xFArate de que realmente necesitas todos los plugins. Mantener plugins inactivos puede aumentar el riesgo de errores e incompatibilidad con futuras actualizaciones.","dialog.copy_installed_plugins.details":"Incluye detalles","dialog.flip_animation.phase_offset":"Desface","dialog.flip_animation.phase_offset.off":"Apagado","dialog.flip_animation.phase_offset.custom":"Personalizado","dialog.flip_animation.clear_opposite":"Sobreescribir lo opuesto","settings.flipbook_textures_in_animation":"Reproducir texturas Flipbook en animaci\xF3n","settings.flipbook_textures_in_animation.desc":"Previsualiza las animaciones en texturas flipbook sincronizada con la l\xEDnea de tiempo de la animaci\xF3n","settings.display_uv":"Mostrar caras UV","settings.display_uv.desc":"Selecciona que caras UV son mostrados en el editor UV","settings.display_uv.selected_faces":"Solo caras seleccionadas","settings.display_uv.selected_elements":"Todas las caras en elementos seleccionados","settings.display_uv.all_elements":"Todas las caras en todos los elementos","settings.local_position_values":"Valores de posici\xF3n local","settings.local_position_values.desc":"Mostrar todos los valores de posici\xF3n en el panel de transformaci\xF3n en el espacio local","settings.transform_cube_from_center":"Transformar cubos desde el centro","settings.transform_cube_from_center.desc":"Editar los valores de posici\xF3n del cubo desde el centro en vez de la esquina","settings.color_picker_tool_switch":"Interruptor de herramienta de selector de color","settings.color_picker_tool_switch.desc":"Al seleccionar un p\xEDxel transparente, cambia al borrador. Si previamente se seleccion\xF3 el borrador y se elige un color, cambia al pincel","keybind.preview_scroll_zoom":"Vista ampliada","keybind.uv_editor_scroll_zoom":"Editor Zoom UV/2D","action.blend_mode.alpha_mask":"M\xE1scara alfa","action.swap_tools.hold":"Mant\xE9n pulsado para cambiar (Selector de color)","action.import_bedrock_voxel_shape":"Importar forma del V\xF3xel de Bedrock","action.import_bedrock_voxel_shape.desc":"Agrega una forma V\xF3xel desde un archivo json al proyecto actual","action.export_bedrock_voxel_shape":"Exportar forma del V\xF3xel de Bedrock","action.export_bedrock_voxel_shape.desc":"Exporta los cuadros delimitadores del proyecto como un archivo de formas v\xF3xeles de Bedrock","action.plugins_window_menu":"Men\xFA","action.copy_installed_plugins":"Copiar plugins instalados","action.copy_installed_plugins.desc":"Generar y copar una lista de los plugins instalados recientemente","action.install_plugins_from_list":"Instalar plugins de la lista","action.install_plugins_from_list.desc":"Instalar plugins desde una lista de IDs de plugins","action.add_bounding_box":"Agregar cuadro delimitador","action.add_bounding_box.desc":"Agrega un nuevo cuadro delimitador","action.split_alpha_into_layer":"Dividir el canal alfa en capas","action.split_alpha_into_layer.desc":"Divide el canal alfa de la textura en una capa de m\xE1scara alfa.","action.generate_bedrock_block_box":"Copiar el componente Colisi\xF3n/Selecci\xF3n","action.generate_bedrock_block_box.desc":"Genera un componente de caja de colisi\xF3n o selecci\xF3n para los bloques de Minecraft bedrock","action.generate_bedrock_entity_box":"Copiar componente de Colisi\xF3n/Caja de colisi\xF3n","action.generate_bedrock_entity_box.desc":"Genera un componente de prueba de colisi\xF3n o impacto personalizado para entidades de Minecraft Bedrock.","action.refresh_texture":"Refrescar textura","action.refresh_texture.desc":"Recargar la textura desde el archivo","action.move_uv_to_cursor":"Mover UV al cursor","action.move_uv_to_cursor.desc":"Mueva las caras UV seleccionadas a la posici\xF3n del cursor del rat\xF3n","action.edit_mode_uv_overlay":"Mostrar todos los elementos","action.round_keyframe_values":"Redondear valores de los cuadros clave","action.round_keyframe_values.desc":"Redondea todos los valores de los cuadros clave seleccionados","action.keyframe_column_create.all_channels":"Todos los canales","action.keyframe_column_create.all_channels.desc":"Inicializa todos los canales con cuadros clave, incluso si no ten\xEDan cusdros clave previamente","action.add_all_to_timeline":"Agregar todo a la l\xEDnea de tiempo","action.mirror_animating":"Animaci\xF3n de espejo","action.mirror_animating.desc":"Ediciones de animaci\xF3n en espejo hacia el lado opuesto","action.copy_animation_pose":"Copiar pose de animaci\xF3n","action.copy_animation_pose.desc":"Copiar todos los cuadros claves para replicar la animaci\xF3n de pose actual","menu.texture.file_format":"Formato de archivo","menu.texture.wrap_mode":"Modo envolvente","menu.texture.wrap_mode.limited":"Restringido","menu.texture.wrap_mode.repeat":"Repetir","menu.texture.wrap_mode.clamp":"Borde de la abrazadera","edit.reparent_selection.adjust_position":"Preservar transformaci\xF3n del mundo","texture_mesh.texture_name":"Nombre de la textura","display.slot.embedded":"Incorporado","display.animate_preview":"Previsualizar animaci\xF3n","display.reference.flower_pot":"Maceta"};var SL={"dialog.ok":"OK","dialog.cancel":"Annuler","dialog.confirm":"Confirmer","dialog.close":"Fermer","dialog.import":"Importer","dialog.save":"Enregistrer","dialog.discard":"Ignorer","dialog.dontshowagain":"Ne plus afficher","data.cube":"Cube","data.group":"Groupe","data.texture":"Texture","data.plugin":"Plugin","data.preview":"Aper\xE7u","data.toolbar":"Barre d'outils","data.image":"Image","keys.ctrl":"Ctrl","keys.shift":"Maj","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Suppr","keys.space":"Espace","keys.leftclick":"Clic gauche","keys.middleclick":"Clic molette","keys.rightclick":"Clic droit","keys.tab":"Tabulation","keys.backspace":"Retour arri\xE8re","keys.enter":"Entr\xE9e","keys.escape":"\xC9chap","keys.function":"F%0","keys.numpad":"Pav\xE9 num\xE9rique %0","keys.caps":"Verr. maj.","keys.menu":"Menu contextuel","keys.left":"Gauche","keys.up":"Haut","keys.right":"Droite","keys.down":"Bas","keys.pageup":"Page pr\xE9c\xE9dente","keys.pagedown":"Page suivante","keys.plus":"Plus","keys.comma":"Virgule","keys.point":"Point","keys.minus":"Moins","keys.cross":"Croix","keys.end":"Fin","keys.pos1":"Pos 1","keys.printscreen":"Impression d'\xE9cran","keys.pause":"Pause","message.rotation_limit.title":"Limites de rotation","message.rotation_limit.message":"Minecraft limite les rotations \xE0 un axe et par intervalles de 22.5 degr\xE9s. Appliquer une rotation sur un axe va r\xE9initialiser la rotation sur les autres axes. Convertissez le mod\xE8le en \xAB\xA0Mod\xE8le libre\xA0\xBB si vous mod\xE9lisez \xE0 d'autres fins et avez besoins de rotations libres.","message.file_not_found.title":"Fichier introuvable","message.file_not_found.message":"Blockbench n'a pas pu trouver le fichier demand\xE9. Assurez-vous qu'il est bien stock\xE9 localement et non sur un cloud.","message.screenshot.title":"Capture d'\xE9cran","message.screenshot.clipboard":"Presse-papier","message.screenshot.right_click":"Clic droit ou appuyez longuement pour copier","message.invalid_file.title":"Fichier invalide","message.invalid_file.message":"Impossible d'ouvrir le fichier json\xA0: %0","message.invalid_model.title":"Fichier mod\xE8le invalide","message.invalid_model.message":"Le fichier ne contient pas de donn\xE9e de mod\xE8le valide","message.child_model_only.title":"Mod\xE8le fils vide","message.child_model_only.message":"Ce fichier est un fils de %0 et ne contient aucun mod\xE8le.","message.unsaved_textures.title":"Textures non sauvegard\xE9es","message.unsaved_textures.message":"Votre mod\xE8le pr\xE9sente des textures non sauvegard\xE9es. Assurez-vous de les enregistrer et de les coller dans le bon dossier de votre pack de ressources.","message.model_clipping.title":"Mod\xE8le trop grand","message.model_clipping.message":"Votre mod\xE8le contient %0 cubes d\xE9passant la limite de 3\xD73\xD73 impos\xE9e par Minecraft. Ce mod\xE8le ne fonctionnera pas dans Minecraft.","message.loose_texture.title":"Import de texture","message.loose_texture.message":"La texture que vous avez import\xE9e ne se trouve pas dans un pack de ressources. Minecraft ne peut charger que des textures appartenant au dossier textures d'un pack de ressources charg\xE9.","message.loose_texture.change":"Changer le chemin","message.update_res.title":"R\xE9solution de la texture","message.update_res.message":"Souhaitez-vous mettre \xE0 jour la r\xE9solution du projet vers la r\xE9solution de cette texture\xA0? Cliquez sur Annuler si votre texture a une plus grande r\xE9solution que la normale.","message.update_res.update":"Mise \xE0 jour","message.bedrock_overwrite_error.message":"Blockbench ne peut combiner ce mod\xE8le avec l'ancien fichier","message.bedrock_overwrite_error.backup_overwrite":"Faire une sauvegarde et \xE9craser","message.bedrock_overwrite_error.overwrite":"\xC9craser","message.close_warning.message":"Souhaitez-vous enregistrer votre mod\xE8le\xA0?","message.close_warning.web":"Toutes donn\xE9es non sauvegard\xE9es seront perdues. Voulez-vous vraiment quitter\xA0?","message.default_textures.title":"Textures par d\xE9faut","message.default_textures.message":"S\xE9lectionnez le dossier textures du pack de ressources par d\xE9faut","message.default_textures.detail":"Extrayez le pack de ressources par d\xE9faut de Minecraft \xE0 partir du fichier .jar ou depuis Internet et t\xE9l\xE9chargez-le. Ensuite, localisez le dossier \xAB\xA0textures\xA0\xBB et ouvrez-le. Blockbench se souviendra de cet emplacement et tentera d'y chercher des textures s'il ne parvient pas \xE0 les trouver dans le pack de ressources actuel.","message.default_textures.select":"S\xE9lectionnez un dossier de \xAB\xA0textures\xA0\xBB par d\xE9faut","message.image_editor.title":"S\xE9lectionnez un \xE9diteur d'images","message.image_editor.file":"S\xE9lectionner un fichier...","message.image_editor.exe":"S\xE9lectionnez l'ex\xE9cutable de l'\xE9diteur d'images","message.display_skin.title":"Skin Minecraft","message.display_skin.message":"S\xE9lectionnez un skin sur votre ordinateur ou entrez un nom de joueur","message.display_skin.upload":"Importer un skin","message.display_skin.reset":"R\xE9initialiser","message.invalid_plugin":"Plugin invalide, voir console","message.load_plugin_app":"Voulez-vous autoriser ce plugin \xE0 apporter des modifications \xE0 votre ordinateur\xA0? Ne chargez que des plugins venant de personnes en qui vous avez confiance.","message.load_plugin_web":"Voulez-vous charger ce plugin\xA0? Ne chargez que des plugins venant de personnes en qui vous avez confiance.","message.preset_no_info":"Ce pr\xE9r\xE9glage ne contient pas d'informations pour cet emplacement","message.restart_to_update":"Red\xE9marrez Blockbench pour appliquer les modifications","message.save_file":"Enregistr\xE9 sous %0","dialog.project.title":"Projet","dialog.project.name":"Nom du fichier","dialog.project.parent":"Mod\xE8le parent","dialog.project.geoname":"Identifiant du mod\xE8le","dialog.project.ao":"Occlusion ambiante","dialog.texture.title":"Texture","dialog.texture.variable":"Variable","dialog.texture.namespace":"Espace de noms","dialog.texture.folder":"Dossier","dialog.extrude.title":"Extruder l'image","dialog.extrude.mode":"Mode scan","dialog.extrude.mode.areas":"Zones","dialog.extrude.mode.lines":"Lignes","dialog.extrude.mode.columns":"Colonnes","dialog.extrude.mode.pixels":"Pixels","dialog.extrude.opacity":"Opacit\xE9 minimale","dialog.extrude.scan":"Scanner et importer","dialog.display_preset.title":"Cr\xE9er un pr\xE9r\xE9glage","dialog.display_preset.message":"S\xE9lectionnez les emplacement que vous voulez enregistrer","dialog.display_preset.create":"Cr\xE9er","dialog.select.title":"S\xE9lectionner","dialog.select.group":"Dans le groupe s\xE9lectionn\xE9","dialog.select.name":"Le nom contient","dialog.select.random":"Al\xE9atoire","dialog.select.select":"S\xE9lectionner","dialog.scale.title":"Mise \xE0 l'\xE9chelle","dialog.scale.axis":"Axe","dialog.scale.clipping":"Avertissement: Votre mod\xE8le est trop grand pour le canevas","dialog.scale.confirm":"Mettre \xE0 l'\xE9chelle","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Install\xE9s","dialog.plugins.available":"Disponibles","dialog.plugins.install":"Installer","dialog.plugins.uninstall":"D\xE9sinstaller","dialog.plugins.reload":"Actualiser","dialog.plugins.none_installed":"Aucun plugin install\xE9","dialog.plugins.none_available":"Aucun plugin disponible","dialog.plugins.web_only":"Seulement pour l'application en ligne","dialog.plugins.app_only":"Seulement pour l'application de bureau","dialog.plugins.author":"par %0","dialog.create_texture.folder":"Dossier","dialog.create_texture.resolution":"R\xE9solution","dialog.input.title":"Entr\xE9e","dialog.settings.settings":"Param\xE8tres","dialog.settings.keybinds":"Raccourcis clavier","dialog.settings.about":"\xC0 propos","layout.color.back":"Arri\xE8re","layout.color.back.desc":"Arri\xE8res-plans et champs de saisie","layout.color.dark":"Sombre","layout.color.dark.desc":"Canevas d'arri\xE8re-plan","layout.color.ui":"IU","layout.color.ui.desc":"Couleur principale de l'interface","layout.color.bright_ui":"IU claire","layout.color.bright_ui.desc":"Menus contextuels et info-bulles","layout.color.button":"Bouton","layout.color.button.desc":"Boutons et interrupteurs","layout.color.selected":"S\xE9lectionn\xE9","layout.color.selected.desc":"Onglets et objets s\xE9lectionn\xE9s","layout.color.border":"Bordure","layout.color.border.desc":"Bordure des boutons et entr\xE9es","layout.color.accent":"Accent","layout.color.accent.desc":"Curseur et autres d\xE9tails","layout.color.grid":"Grille","layout.color.grid.desc":"Grille d'aper\xE7u 3D","layout.color.text":"Texte","layout.color.text.desc":"Texte normal","layout.color.light":"Clair","layout.color.light.desc":"Texte s\xE9lectionn\xE9","layout.color.accent_text":"Texte accentu\xE9","layout.color.accent_text.desc":"Texte sur clair ou \xE9l\xE9ments d'accentuation","layout.font.main":"Police principale","layout.font.headline":"Police de titre","about.version":"Version\xA0:","settings.category.general":"G\xE9n\xE9ral","settings.category.preview":"Aper\xE7u","settings.category.grid":"Grille","settings.category.edit":"\xC9dition","settings.category.snapping":"Alignement","settings.category.defaults":"Par D\xE9fauts","settings.category.dialogs":"Dialogues","settings.category.export":"Exporter","settings.language":"Langue","settings.language.desc":"Langue de l'interface. Red\xE9marrez Blockbench pour appliquer les modifications.","settings.backup_interval":"Intervalle de sauvegarde","settings.backup_interval.desc":"Intervalle des sauvegardes automatiques en minutes","settings.origin_size":"Point de pivot","settings.origin_size.desc":"Taille du point de pivot","settings.control_size":"Axes de contr\xF4le","settings.control_size.desc":"Taille du gizmo de transformation","settings.display_skin":"Affichage skin","settings.display_skin.desc":"Skin utilis\xE9 pour le mod\xE8le de joueur de r\xE9f\xE9rence","settings.shading":"Ombrage","settings.shading.desc":"Activer les ombres dans l'aper\xE7u","settings.base_grid":"Petite grille","settings.base_grid.desc":"Affiche la petite grille et les axes","settings.large_grid":"Grille","settings.large_grid.desc":"Affiche la grille de pr\xE9cision 16\xD716 (taille d'un bloc)","settings.full_grid":"Grande grille","settings.full_grid.desc":"\xC9tend la grille de pr\xE9cision \xE0 la grande zone de 3\xD73 blocs","settings.large_box":"Grande bo\xEEte","settings.large_box.desc":"Affiche les limites de taille","settings.display_grid":"Mode d'affichage","settings.display_grid.desc":"Affiche la grille en mode affichage","settings.undo_limit":"Limite d'annulations","settings.undo_limit.desc":"Nombre d'\xE9tapes annulable","settings.local_move":"D\xE9placer selon les axes relatifs","settings.local_move.desc":"D\xE9place les \xE9l\xE9ments \xE0 rotation selon leurs propres axes si possible","settings.canvas_unselect":"D\xE9s\xE9lectionner par clic","settings.canvas_unselect.desc":"D\xE9s\xE9lectionne tous les \xE9l\xE9ments en cliquant sur l'arri\xE8re-plan du canevas","settings.paint_side_restrict":"Restreint le pinceau sur une face","settings.paint_side_restrict.desc":"Restreint le pinceau pour ne peindre que du c\xF4t\xE9 en cours","settings.autouv":"UV automatiques","settings.autouv.desc":"Active l'UV automatique par d\xE9faut","settings.create_rename":"Renommer le nouvel \xE9l\xE9ment","settings.create_rename.desc":"Entrer dans le champ de saisie du nom \xE0 la cr\xE9ation d'un \xE9l\xE9ment ou d'un groupe","settings.edit_size":"R\xE9solution de la grille","settings.edit_size.desc":"R\xE9solution de la grille de base sur laquelle les cubes s'alignent (s'aimantent)","settings.shift_size":"R\xE9solution shift","settings.shift_size.desc":"R\xE9solution de la grille en maintenant shift","settings.ctrl_size":"R\xE9solution Ctrl","settings.ctrl_size.desc":"R\xE9solution de la grille en maintenant Ctrl","settings.negative_size":"Taille n\xE9gative","settings.negative_size.desc":"Autorise l'outil d'\xE9chelle \xE0 utiliser des tailles n\xE9gatives","settings.minifiedout":"Minimiser l'exportation","settings.minifiedout.desc":"\xC9crit tout le code du mod\xE8le sur une seule ligne","settings.export_groups":"Exporter les groupes","settings.export_groups.desc":"Enregistrer les donn\xE9es des groupes dans les fichiers des mod\xE8les","settings.credit":"Cr\xE9dits","settings.credit.desc":"Ajoute un commentaire de cr\xE9dit personnalis\xE9 aux fichiers export\xE9s","settings.default_path":"Chemin par d\xE9faut des textures Minecraft","settings.default_path.desc":"Dossier \xE0 partir duquel Blockbench charge les textures par d\xE9faut","settings.image_editor":"\xC9diteur d'images","settings.image_editor.desc":"\xC9diteur d'images par d\xE9faut pour \xE9diter les textures","category.navigate":"Navigation","category.tools":"Outils","category.file":"Fichier","category.blockbench":"Blockbench","category.edit":"\xC9dition","category.transform":"Transformer","category.view":"Vue","category.display":"Param\xE8tres d'affichage","category.textures":"Textures","category.misc":"Divers","keybind.preview_select":"S\xE9lectionner","keybind.preview_rotate":"Rotation d'angle de vue","keybind.preview_drag":"Glissement de vue","keybind.confirm":"Confirmer","keybind.cancel":"Annuler","action.slider_inflate":"Gonfler","action.slider_inflate.desc":"Grossit les cubes dans toutes les directions sans changer les UV","action.slider_brush_size":"Taille","action.slider_brush_size.desc":"Rayon du pinceau en pixels","action.slider_brush_opacity":"Opacit\xE9","action.slider_brush_opacity.desc":"Opacit\xE9 du pinceau en pourcentage","action.slider_brush_softness":"Douceur","action.slider_brush_softness.desc":"Douceur du pinceau en pourcentage","action.uv_slider_pos_x":"Position horizontale","action.uv_slider_pos_x.desc":"D\xE9place la s\xE9lection UV horizontalement pour tous les cubes s\xE9lectionn\xE9s","action.uv_slider_pos_y":"Position verticale","action.uv_slider_pos_y.desc":"D\xE9place la s\xE9lection UV verticalement pour tous les cubes s\xE9lectionn\xE9s","action.uv_slider_size_x":"Taille horizontale","action.uv_slider_size_x.desc":"Change la taille horizontale de la s\xE9lection UV de tous les cubes s\xE9lectionn\xE9s","action.uv_slider_size_y":"Taille verticale","action.uv_slider_size_y.desc":"Change la taille verticale de la s\xE9lection UV de tous les cubes s\xE9lectionn\xE9s","action.vertex_snap_mode":"Mode d'alignement","action.vertex_snap_mode.desc":"Choisir si l'alignement (l'aimantation) Vertex doit d\xE9placer les \xE9l\xE9ments \xE0 la position voulue ou les redimentionner","action.move_tool":"D\xE9placer","action.move_tool.desc":"Outil pour s\xE9lectionner et d\xE9placer des \xE9l\xE9ments","action.resize_tool":"Redimensionner","action.resize_tool.desc":"Outil pour s\xE9lectionner et redimensionner des \xE9l\xE9ments","action.brush_tool":"Pinceau","action.brush_tool.desc":"Pinceau color\xE9 pour dessiner sur des textures","action.vertex_snap_tool":"Alignement Vertex","action.vertex_snap_tool.desc":"D\xE9place un cube vers un autre en connectant deux sommets","action.swap_tools":"Changer d'outil","action.swap_tools.desc":"Bascule entre les outils de d\xE9placement de redimension","action.project_window":"Projet\u2026","action.project_window.desc":"Ouvre la fen\xEAtre Projet, d'o\xF9 vous pouvez \xE9diter les m\xE9tadonn\xE9es de votre mod\xE8le","action.open_model":"Ouvrir un mod\xE8le","action.open_model.desc":"Ouvre un fichier de mod\xE8le \xE0 partir de votre ordinateur.","action.extrude_texture":"Texture extrud\xE9e","action.extrude_texture.desc":"G\xE9n\xE8re un mod\xE8le en \xE9tirant une texture","action.export_blockmodel":"Exporter le mod\xE8le","action.export_blockmodel.desc":"Exporter le mod\xE8le en tant que bloc ou item Java Edition","action.export_optifine_part":"Exporter en partie OptiFine","action.export_optifine_part.desc":"Exporter une partie de mod\xE8le d'entit\xE9 OptiFine","action.export_optifine_full":"Exporter JEM OptiFine","action.export_optifine_full.desc":"Exporter un mod\xE8le complet d'entit\xE9 OptiFine","action.export_obj":"Exporter un mod\xE8le OBJ","action.export_obj.desc":"Exporter un mod\xE8le OBJ Wavefront pour du rendu (dans des programmes externes)","action.settings_window":"Param\xE8tres\u2026","action.settings_window.desc":"Ouvre la bo\xEEte de dialogue des param\xE8tres Blockbench","action.plugins_window":"Plugins\u2026","action.plugins_window.desc":"Ouvrir la fen\xEAtre du magasin de plugins","action.reset_layout":"R\xE9initialiser la mise en page","action.reset_layout.desc":"R\xE9initialiser la mise en page aux valeurs par d\xE9faut de Blockbench","action.load_plugin":"Charger un plugin \xE0 partir d'un fichier","action.load_plugin.desc":"Charge un plugin en important son fichier source","action.reload_plugins":"Recharger les plugins","action.reload_plugins.desc":"Recharger tous les plugins de d\xE9veloppement","action.undo":"Annuler","action.undo.desc":"Annule la derni\xE8re action effectu\xE9e","action.redo":"R\xE9tablir","action.redo.desc":"R\xE9tablit la derni\xE8re action annul\xE9e","action.copy":"Copier","action.copy.desc":"Copie la s\xE9lection actuelle, la face ou les param\xE8tres d'affichage","action.paste":"Coller","action.paste.desc":"Colle la s\xE9lection actuelle, la face ou les param\xE8tres d'affichage","action.cut":"Couper","action.cut.desc":"Coupe la s\xE9lection actuelle, la face ou les param\xE8tres d'affichage","action.add_cube":"Ajouter un cube","action.add_cube.desc":"Ajoute un nouveau cube","action.add_group":"Ajouter un groupe","action.add_group.desc":"Ajoute un nouveau groupe ou segment","action.outliner_toggle":"Afficher plus d'options","action.outliner_toggle.desc":"Permet d'afficher/masquer des options additionnelles dans la liste","action.duplicate":"Dupliquer","action.delete":"Supprimer","action.sort_outliner":"Trier la liste","action.sort_outliner.desc":"Trie la liste par ordre alphab\xE9tique","action.select_window":"S\xE9lectionner\u2026","action.select_window.desc":"Rechercher et s\xE9lectionner des \xE9l\xE9ments en fonction de leurs propri\xE9t\xE9s","action.invert_selection":"Inverser la s\xE9lection","action.invert_selection.desc":"Inverse la s\xE9lection des \xE9l\xE9ments actuelle","action.select_all":"S\xE9lectionner tout","action.collapse_groups":"D\xE9truire les groupes","action.collapse_groups.desc":"D\xE9truit tous les groupes dans la liste","action.scale":"Mettre \xE0 l'\xE9chelle...","action.scale.desc":"Redimensionne les \xE9l\xE9ments s\xE9lectionn\xE9s","action.toggle_visibility":"Changer la visibilit\xE9","action.toggle_visibility.desc":"Affiche/masque les \xE9l\xE9ments s\xE9lectionn\xE9s","action.toggle_export":"Changer l'exportation","action.toggle_export.desc":"Change le param\xE8tre d'exportation des \xE9l\xE9ments s\xE9lectionn\xE9s","action.toggle_autouv":"UV auto/manuel","action.toggle_autouv.desc":"Active/d\xE9sactive le r\xE9glage UV automatique des cubes s\xE9lectionn\xE9s","action.toggle_shade":"Ombres","action.toggle_shade.desc":"Active/d\xE9sactive l'ombrage des cubes s\xE9lectionn\xE9s","action.rename":"Renommer","action.rename.desc":"Change le nom des \xE9l\xE9ments ou groupes s\xE9lectionn\xE9s","action.add_display_preset":"Nouveau pr\xE9r\xE9glage","action.add_display_preset.desc":"Ajoute un nouveau param\xE8tre d'affichage pr\xE9d\xE9fini","action.fullscreen":"Plein \xE9cran","action.fullscreen.desc":"Active/d\xE9sactive le mode plein \xE9cran","action.zoom_in":"Zoomer","action.zoom_in.desc":"Effectue un zoom avant pour agrandir l'interface","action.zoom_out":"D\xE9zoomer","action.zoom_out.desc":"Effectue un zoom arri\xE8re pour r\xE9duire l'interface","action.zoom_reset":"R\xE9initialiser le zoom","action.zoom_reset.desc":"R\xE9initialise le niveau de zoom \xE0 100\xA0%","action.reset_interface":"R\xE9initialiser l'interface","action.reset_interface.desc":"R\xE9initialise la taille et les positions de l'interface","action.screenshot_model":"Capture d'\xE9cran du mod\xE8le","action.screenshot_model.desc":"Prend une capture d'\xE9cran recadr\xE9e du mod\xE8le sous l'angle actuel","action.screenshot_app":"Capture d'\xE9cran","action.screenshot_app.desc":"Prend une capture d'\xE9cran de l'ensemble de l'application","action.import_texture":"Importer une texture","action.import_texture.desc":"Importer une ou plusieurs textures depuis vos fichiers","action.create_texture":"Cr\xE9er une texture","action.create_texture.desc":"Cr\xE9e une texture vierge ou une texture de r\xE9f\xE9rence","action.save_textures":"Enregistrer les textures","action.save_textures.desc":"Sauvegarde toutes les textures non sauvegard\xE9es","action.animated_textures":"Lire les animations de texture","action.animated_textures.desc":"Lecture/pause des textures anim\xE9es","action.origin_to_geometry":"Centrer le point de pivot","action.origin_to_geometry.desc":"Place le point de pivot au centre de la s\xE9lection","action.bone_reset_toggle":"R\xE9initialiser le segment","action.bone_reset_toggle.desc":"Emp\xEAche le segment d'afficher les cubes du mod\xE8le parent","action.reload":"Recharger Blockbench","action.reload.desc":"Recharge Blockbench. Toutes donn\xE9es non sauvegard\xE9es seront perdues.","menu.file":"Fichier","menu.edit":"\xC9dition","menu.transform":"Transformer","menu.display":"Affichage","menu.view":"Vue","menu.file.new":"Nouveau","menu.file.recent":"R\xE9cent","menu.file.import":"Importer","menu.file.export":"Exporter","menu.transform.rotate":"Rotation","menu.transform.flip":"Retourner","menu.transform.center":"Centrer","menu.transform.properties":"Propri\xE9t\xE9s","menu.display.preset":"Appliquer le pr\xE9r\xE9glage","menu.display.preset_all":"Appliquer le pr\xE9r\xE9glage partout","menu.display.remove_preset":"Supprimer le pr\xE9r\xE9glage","menu.view.zoom":"Zoom","menu.view.background":"Arri\xE8re-plan","menu.view.screenshot":"Capture d'\xE9cran","menu.cube.color":"Couleur du marqueur","menu.cube.texture":"Texture","menu.cube.texture.transparent":"Transparant","menu.cube.texture.blank":"Vierge","menu.group.sort":"Trier","menu.texture.face":"Appliquer \xE0 la face","menu.texture.file":"Fichier","menu.texture.refresh":"Actualiser","menu.texture.change":"Changer de fichier","menu.texture.folder":"Ouvrir dans l'explorateur de fichiers","menu.texture.edit":"Modifier","menu.texture.export":"Enregistrer sous","menu.texture.save":"Enregistrer","menu.texture.properties":"Propri\xE9t\xE9s\u2026","menu.preview.background":"Arri\xE8re-plan","menu.preview.background.load":"Charger","menu.preview.background.position":"Position","menu.preview.background.lock":"Verrouiller \xE0 la cam\xE9ra","menu.preview.screenshot":"Capture d'\xE9cran","menu.preview.perspective":"Perspective","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Affichage quadruple","menu.preview.stop_drag":"Arr\xEAter le positionnement en arri\xE8re-plan","menu.uv.mapping.rotation":"Rotation","menu.uv.texture":"Texture","cube.color.light_blue":"Bleu clair","cube.color.yellow":"Jaune","cube.color.orange":"Orange","cube.color.red":"Rouge","cube.color.purple":"Violet","cube.color.blue":"Bleu","cube.color.green":"Vert","cube.color.lime":"Vert clair","switches.visibility":"Visibilit\xE9","switches.export":"Exporter","switches.autouv":"UV automatique","panel.uv":"UV","panel.display":"Affichage","panel.textures":"Textures","panel.outliner":"\xC9l\xE9ments","uv_editor.title":"\xC9diteur UV","uv_editor.all_faces":"Toutes","uv_editor.no_faces":"Aucune","face.north":"Nord","face.south":"Sud","face.west":"Ouest","face.east":"Est","face.up":"Haut","face.down":"Bas","direction.north":"Nord","direction.south":"Sud","direction.west":"Ouest","direction.east":"Est","direction.top":"Haut","direction.bottom":"Bas","display.slot.third_right":"3\u1D49 personne droite","display.slot.third_left":"3\u1D49 personne gauche","display.slot.first_right":"1\u02B3\u1D49 personne droite","display.slot.first_left":"1\u02B3\u1D49 personne gauche","display.slot.head":"T\xEAte","display.slot.ground":"Sol","display.slot.frame":"Cadre","display.slot.gui":"GUI","display.rotation":"Rotation","display.translation":"Traduction","display.scale":"Taille","display.slot":"Emplacement","display.reference":"Mod\xE8le de r\xE9f\xE9rence","display.reference.player":"Joueur","display.reference.zombie":"Zombie","display.reference.armor_stand":"Porte-armure","display.reference.baby_zombie":"B\xE9b\xE9 zombie","display.reference.armor_stand_small":"Petit porte-armure","display.reference.monitor":"Normal","display.reference.bow":"Arc","display.reference.block":"Bloc","display.reference.frame":"Cadre","display.reference.inventory_nine":"3\xD73","display.reference.inventory_full":"Inventaire","display.reference.hud":"HUD","display.preset.blank_name":"Veuillez entrer un nom","display.preset.item":"Item par d\xE9faut","display.preset.block":"Bloc par d\xE9faut","display.preset.handheld":"Arme par d\xE9faut","display.preset.rod":"B\xE2ton par d\xE9faut","dialog.continue":"Continuer","message.square_textures":"Les textures doivent \xEAtre carr\xE9es","message.unsaved_texture.title":"Texture non sauvegard\xE9e","message.unsaved_texture.message":"Toute les modification non enregistr\xE9e de cette texture sera perdue. Voulez-vous poursuivre\xA0?","action.vertex_snap_mode.move":"D\xE9placer","action.vertex_snap_mode.scale":"Redimensionner","action.open_model_folder":"Ouvrir le dossier du mod\xE8le","action.open_model_folder.desc":"Ouvre le dossier dans lequel se trouve le mod\xE8le","action.change_textures_folder":"Changer l'emplacement des textures","action.change_textures_folder.desc":"Changer le dossier dans lequel toutes les textures sont enregistr\xE9es","menu.texture.particle":"Utiliser pour les particules","message.update_notification.title":"Impossible d'installer la mise \xE0 jour","message.update_notification.message":"Une nouvelle version de Blockbench est disponible. Veuillez activer les mises \xE0 jour automatiques dans les param\xE8tres pour effectuer la mise \xE0 jour\xA0!","message.untextured":"Cette surface n'a pas de texture","dialog.toolbar_edit.title":"Personnaliser la barre d'outils","keybindings.reset":"R\xE9initialiser","keybindings.clear":"Vide","action.cube_counter":"Compteur de cube","action.uv_rotation":"Rotation UV","action.uv_rotation.desc":"Rotation de la face UV","action.uv_grid":"Grille UV","action.uv_grid.desc":"La r\xE9solution de la grille sur laquelle le s\xE9lecteur UV s'aligne","action.uv_grid.auto":"Auto","action.uv_maximize":"Maximiser les UV","action.uv_maximize.desc":"R\xE8gle les UV de cette face pour prendre la texture enti\xE8re","action.uv_auto":"UV auto","action.uv_auto.desc":"R\xE8gle les UV de cette face \xE0 sa taille r\xE9elle","action.uv_rel_auto":"UV auto relatifs","action.uv_rel_auto.desc":"R\xE8gle les UV de cette face sa taille et sa position r\xE9elles","action.uv_mirror_x":"Miroir UV X","action.uv_mirror_x.desc":"Refl\xE8te les UV de cette face selon l'axe X","action.uv_mirror_y":"Miroir UV Y","action.uv_mirror_y.desc":"Refl\xE8te les UV de cette face selon l'axe Y","action.uv_transparent":"Face transparente","action.uv_transparent.desc":"Rend la face actuelle transparente","action.uv_reset":"R\xE9initialiser la face","action.uv_reset.desc":"R\xE9initialise la face actuelle","action.cullface":"Cullface","action.cullface.desc":"D\xE9sactive le rendu de cette face si le c\xF4t\xE9 en question du mod\xE8le est couvert","action.auto_cullface":"Cullface automatique","action.auto_cullface.desc":"D\xE9finit la cullface de cette face \xE0 elle-m\xEAme","action.face_tint":"Teinte","action.face_tint.desc":"Active l'option de teinte pour la face actuelle","menu.toolbar.edit":"Personnaliser","menu.toolbar.reset":"R\xE9initialiser","uv_editor.rotated":"Tourn\xE9","uv_editor.auto_cull":"Cullface \xE0 soi-m\xEAme","uv_editor.copied":"Face copi\xE9e","uv_editor.pasted":"Face coll\xE9e","uv_editor.copied_x":"%0 faces copi\xE9es","uv_editor.reset":"Face r\xE9initialis\xE9e","uv_editor.maximized":"Maximis\xE9","uv_editor.autouv":"Taille automatique","uv_editor.mirrored":"Miroir","uv_editor.to_all":"Appliqu\xE9 \xE0 toutes les faces","uv_editor.transparent":"Rendue transparente","uv_editor.cullface_on":"Cullface activ\xE9e","uv_editor.cullface_off":"Cullface d\xE9sativ\xE9e","uv_editor.tint_on":"Teinte activ\xE9e","uv_editor.tint_off":"Teinte d\xE9sactiv\xE9e","action.uv_apply_all":"Appliquer \xE0 toutes les faces","action.uv_apply_all.desc":"Applique les param\xE8tres de la face actuelle \xE0 toutes les faces","message.image_editor_missing.title":"\xC9diteur d'images par d\xE9faut","message.image_editor_missing.message":"S\xE9lectionnez le fichier ex\xE9cutable de votre \xE9diteur d'image.","message.image_editor_missing.detail":"Blockbench n'a pas pu trouver d'\xE9diteur d'images sur votre ordinateur. S\xE9lectionnez le fichier ex\xE9cutable de l'\xE9diteur d'images que vous utilisez.","action.update_autouv":"Mettre \xE0 jour l'UV automatique","action.update_autouv.desc":"Met \xE0 jour la cartographie UV automatique des cubes s\xE9lectionn\xE9s","category.uv":"UV","status_bar.saved":"Le mod\xE8le est enregistr\xE9","status_bar.unsaved":"Il y a des modifications non enregistr\xE9es","action.move_up":"D\xE9placer vers le haut","action.move_up.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers le haut par rapport \xE0 l'angle de cam\xE9ra actuel","action.move_down":"D\xE9placer vers le bas","action.move_down.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers le bas par rapport \xE0 l'angle de cam\xE9ra actuel","action.move_left":"D\xE9placer vers la gauche","action.move_left.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers la gauche par rapport \xE0 l'angle de cam\xE9ra actuel","action.move_right":"D\xE9placer vers la droite","action.move_right.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers la droite par rapport \xE0 l'angle de cam\xE9ra actuel","action.move_forth":"D\xE9placer vers l'avant","action.move_forth.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers l'avant par rapport \xE0 l'angle de la cam\xE9ra actuelle","action.move_back":"D\xE9placer vers l'arri\xE8re","action.move_back.desc":"D\xE9place les cubes s\xE9lectionn\xE9s vers l'arri\xE8re par rapport \xE0 l'angle de la cam\xE9ra actuel","layout.color.wireframe":"Squelette","layout.color.wireframe.desc":"Contours de vue squelettique","action.add_animation":"Ajouter une animation","action.add_animation.desc":"Cr\xE9e une animation vierge","action.load_animation_file":"Importer une animation","action.load_animation_file.desc":"Importer un fichier d'animation","action.play_animation":"Jouer l'animation","action.play_animation.desc":"Aper\xE7u de l'animation s\xE9lectionn\xE9e","action.slider_keyframe_time":"Code temporel","action.slider_keyframe_time.desc":"Modifie le code temporel des images cl\xE9s s\xE9lectionn\xE9es","timeline.rotation":"Rotation","timeline.position":"Position","timeline.scale":"Taille","menu.keyframe.quaternion":"Quaternion","panel.animations":"Animations","panel.keyframe":"Image cl\xE9","panel.keyframe.type":"Image cl\xE9 (%0)","generic.delete":"Supprimer","generic.rename":"Renommer","message.no_animation_selected":"Vous devez s\xE9lectionner une animation pour faire cela","message.no_bone_selected":"Vous devez s\xE9lectionner un segment pour faire cela","message.duplicate_groups.title":"Dupliquer le nom du segment","message.duplicate_groups.message":"Le nom de ce segment existe sur d'autres segments. Cela peut poser des probl\xE8mes.","action.delete_keyframes":"Supprimer images cl\xE9s","action.delete_keyframes.desc":"Supprime toutes les images cl\xE9s s\xE9lectionn\xE9es","menu.animation":"Animation","menu.animation.loop":"Boucle","menu.animation.override":"Outrepasser","menu.animation.anim_time_update":"Mettre la variable \xE0 jour","message.display_skin_model.title":"Mod\xE8le de skin","message.display_skin_model.message":"Choisissez le type de votre skin","message.display_skin_model.classic":"Classique","message.display_skin_model.slim":"Mince","message.bone_material":"Changer le mat\xE9riau d'un segment","action.slider_animation_length":"Longueur de l'animation","action.slider_animation_length.desc":"Change la longueur de l'animation selectionn\xE9e","panel.variable_placeholders":"Espaces de variables","panel.variable_placeholders.info":"Lister les variables \xE0 pr\xE9visualiser par nom=valeur","status_bar.vertex_distance":"Distance\xA0: %0","dialog.create_gif.title":"Enregistrer un GIF","dialog.create_gif.length":"Dur\xE9e","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"D\xE9marrer l'animation","category.animation":"Animation","action.record_model_gif":"Enregistrer un GIF...","action.record_model_gif.desc":"Enregistre un GIF anim\xE9 du mod\xE8le \xE0 partir de l'angle actuel","display.mirror":"Miroir","data.separator":"S\xE9parateur","menu.preview.background.set_position":"D\xE9finir la position","dialog.toolbar_edit.hidden":"Cach\xE9","action.export_class_entity":"Exporter une entit\xE9 Java","action.export_class_entity.desc":"Exporter le mod\xE8le d'entit\xE9 en tant que classe Java","settings.seethrough_outline":"Contours rayons X","settings.seethrough_outline.desc":"Affiche les contours \xE0 travers des objets","mode.edit":"\xC9dition","mode.paint":"Dessin","mode.display":"Affichage","mode.animate":"Animer","status_bar.recording_gif":"GIF en cours d'enregistrement","status_bar.processing_gif":"GIF en cours de traitement","settings.backup_retain":"Dur\xE9e de conservation d'une sauvegarde","settings.backup_retain.desc":"D\xE9finir la dur\xE9e (en jours) pendant laquelle Blockbench conserve les anciennes sauvegardes","action.rotate_tool":"Rotation","action.rotate_tool.desc":"Outil pour s\xE9lectionner et faire tourner des \xE9l\xE9ments","action.fill_tool":"Pot de peinture","action.fill_tool.desc":"Pot de peinture pour remplir des faces enti\xE8res d'une couleur unie","action.eraser":"Gomme","action.eraser.desc":"Gomme pour remplacer les couleurs d'une texture par de la transparence","action.color_picker":"Pipette","action.color_picker.desc":"Outil pour choisir la couleur des pixels sur votre texture","switches.mirror":"Miroir UV",language_name:"Fran\xE7ais","message.plugin_reload":"%0 plugins locaux recharg\xE9s","settings.brightness":"Luminosit\xE9","settings.brightness.desc":"Luminosit\xE9 de l'aper\xE7u. La valeur par d\xE9faut est 50.","menu.preview.perspective.reset":"R\xE9initialiser la camera","action.fill_mode":"Mode de remplissage","action.fill_mode.face":"Face","action.fill_mode.color":"Couleur","action.toggle_mirror_uv":"Miroir UV","action.toggle_mirror_uv.desc":"Active/d\xE9sactive la r\xE9flexion UV selon l'axe X des cubes s\xE9lectionn\xE9s.","menu.texture.blank":"Appliquer aux faces non textur\xE9es","dialog.scale.select_overflow":"S\xE9lectionner le d\xE9bordement","action.action_control":"Contr\xF4le d'action","action.action_control.desc":"Rechercher et ex\xE9cuter toute action disponible","keybindings.recording":"Enregistrer un raccourci clavier","keybindings.press":"Appuyez sur une touche ou une combinaison de touches ou cliquez n'importe o\xF9 pour commencer \xE0 enregistrer votre raccourci clavier.","action.pivot_tool":"Outil point de pivot","action.pivot_tool.desc":"Outil pour changer le point de pivot des cubes et segments","action.slider_animation_speed":"Vitesse de lecture","action.slider_animation_speed.desc":"Vitesse de lecture de la chronologie en pourcentage","action.previous_keyframe":"Image cl\xE9 pr\xE9c\xE9dente","action.previous_keyframe.desc":"Retourne \xE0 l'image cl\xE9 pr\xE9c\xE9dente","action.next_keyframe":"Image cl\xE9 suivante","action.next_keyframe.desc":"Passe \xE0 l'image cl\xE9 suivante","message.outdated_client.title":"Client obsol\xE8te","message.outdated_client.message":"Veuillez effectuer la mise \xE0 jour vers la derni\xE8re version de Blockbench.","action.export_asset_archive":"T\xE9l\xE9charger l'archive","action.export_asset_archive.desc":"T\xE9l\xE9charge une archive avec le mod\xE8le et toutes les textures qu'elle contient","action.upload_sketchfab":"Mettre en ligne sur Sketchfab","message.sketchfab.name_or_token":"Veuillez entrer votre jeton Sketchfab et un nom","dialog.sketchfab_uploader.title":"Uploader un mod\xE8le Sketchfab","dialog.sketchfab_uploader.token":"Jeton d'API","dialog.sketchfab_uploader.about_token":"Le jeton est utilis\xE9 pour connecter Blockbench \xE0 votre compte Sketchfab. Vous pouvez le trouver sur %0.","dialog.sketchfab_uploader.name":"Nom du mod\xE8le","dialog.sketchfab_uploader.description":"Description","dialog.sketchfab_uploader.tags":"Tags","settings.sketchfab_token":"Jeton Sketchfab","settings.sketchfab_token.desc":"Jeton autorisant Blockbench \xE0 uploader sur votre compte Sketchfab","panel.color":"Couleur","data.origin":"Point de pivot","message.sketchfab.success":"Mod\xE8le mis en ligne avec succ\xE8s","message.sketchfab.error":"\xC9chec de la mise en ligne du mod\xE8le sur Sketchfab","settings.outliner_colors":"Couleurs de la liste","settings.outliner_colors.desc":"Affiche les couleurs des \xE9l\xE9ments dans la liste","action.upload_sketchfab.desc":"Mettre en ligne votre mod\xE8le sur Sketchfab","action.element_colors":"Couleurs du cube","action.element_colors.desc":"Montre les couleurs du cube dans la liste","texture.error.file":"Fichier introuvable","texture.error.parent":"Texture fournie par le mod\xE8le parent","message.recover_backup.title":"R\xE9cup\xE9rer le mod\xE8le","message.recover_backup.message":"Blockbench a \xE9t\xE9 ferm\xE9 sans sauvegarder. Souhaitez-vous r\xE9cup\xE9rer le mod\xE8le\xA0?","message.invalid_session.title":"Jeton de session invalide","message.invalid_session.message":"La session que vous essayez de rejoindre a expir\xE9 ou le jeton fourni n'est pas valide.","dialog.create_texture.power":"Taille au carr\xE9","dialog.create_gif.turn":"Vitesse de rotation","action.edit_session":"\xC9diter la session\u2026","action.edit_session.desc":"Connectez-vous \xE0 une session de travail pour collaborer avec d'autres utilisateurs","action.reset_keyframe":"R\xE9initialiser image cl\xE9","action.reset_keyframe.desc":"R\xE9initialise toutes les valeurs des images cl\xE9s s\xE9lectionn\xE9es","dialog.edit_session.title":"\xC9diter la session","edit_session.username":"Pseudo","edit_session.token":"Jeton","edit_session.about":"Les sessions de travail peuvent \xEAtre utilis\xE9es pour collaborer sur des mod\xE8les sur Internet. Cr\xE9ez une session, copiez le jeton et envoyez-le \xE0 des amis, qui peuvent ensuite l'utiliser pour rejoindre.","edit_session.join":"Rejoindre la session","edit_session.create":"Cr\xE9er une session","edit_session.quit":"Quitter la session","edit_session.joined":"%0 a rejoint la session","edit_session.left":"%0 a quitt\xE9 la session","edit_session.quit_session":"Quitter la session actuelle","edit_session.status":"Statut","edit_session.hosting":"H\xE9bergement","edit_session.connected":"Connect\xE9 \xE0 une session","dialog.sketchfab_uploader.private":"Priv\xE9 (pro)","dialog.sketchfab_uploader.password":"Mot de passe (pro)","action.uv_select_all":"S\xE9lectionner tout","action.uv_select_all.desc":"S\xE9lectionne toutes les faces dans la bo\xEEte de dialogue UV","panel.chat":"Chat","edit_session.welcome":"Bienvenue dans la session de %0","dialog.yes":"Oui","dialog.no":"Non","generic.remove":"Retirer","generic.download":"T\xE9l\xE9charger","generic.search":"Rechercher","dates.today":"Aujourd'hui","dates.yesterday":"Hier","dates.this_week":"Cette semaine","dates.weeks_ago":"Il y a %0 semaines","mode.start.new":"Nouveau","mode.start.recent":"R\xE9cent","format.free":"Mod\xE8le libre","format.free.desc":"Mod\xE8le sans restrictions. Pour les moteurs de jeux, faire des rendus etc.","format.java_block":"Bloc/Objet Java Edition","format.java_block.desc":"Mod\xE8le de bloc ou d'objet pour Java Edition.","format.bedrock":"Entit\xE9 Bedrock","format.bedrock.desc":"Mod\xE8le Minecraft Bedrock Edition pour les entit\xE9s et les objets joints","format.bedrock_old":"Ancien mod\xE8le Bedrock","format.bedrock_old.desc":"Mod\xE8le d'entit\xE9 Bedrock ant\xE9rieur \xE0 la 1.12","format.modded_entity":"Entit\xE9 modd\xE9e","format.modded_entity.desc":"Mod\xE8le d'entit\xE9 pour mods. Peut \xEAtre export\xE9 sous forme de fichier de classe .java.","format.optifine_entity":"Entit\xE9 OptiFine","format.optifine_entity.desc":"Mod\xE8le d'entit\xE9 personnalis\xE9 pour OptiFine.","keys.mouse":"Bouton de la souris %0","message.cleared_blank_faces.title":"Faces vierges","message.cleared_blank_faces.message":"Blockbench a trouv\xE9 %0 cubes sans texture. Voulez-vous retirer ces \xE9l\xE9ments\xA0?","message.wireframe.enabled":"Vue squelettique activ\xE9e","message.wireframe.disabled":"Vue squelettique d\xE9sactiv\xE9e","dialog.convert_project.title":"Convertir le projet","dialog.create_texture.double_use":"Conserver l'occupation de textures multiples","dialog.model_stats.title":"Statistiques du mod\xE8le","dialog.model_stats.cubes":"Cubes","dialog.model_stats.locators":"Localisateurs","dialog.model_stats.groups":"Groupes","dialog.model_stats.vertices":"Sommets","dialog.model_stats.faces":"Faces","settings.username":"Pseudo","settings.username.desc":"Pseudo pour les sessions de travail","settings.painting_grid":"Grille de peinture","settings.painting_grid.desc":"Affiche la grille sur les cubes textur\xE9s en mode peinture","action.convert_project":"Convertir le projet","action.convert_project.desc":"Convertit le projet en cours en un projet pour un autre format de mod\xE8le","action.close_project":"Fermer le projet","action.close_project.desc":"Ferme le projet actuel","action.export_bedrock":"Exporter la geom\xE9trie Bedrock","action.export_bedrock.desc":"Exporter le mod\xE8le sous forme de fichier de g\xE9om\xE9trie Bedrock Edition.","action.save_project":"Enregistrer le projet","action.save_project.desc":"Enregistre le mod\xE8le actuel en tant que fichier de projet","action.save_project_as":"Enregistrer le projet sous","action.save_project_as.desc":"Enregistre le mod\xE8le actuel en tant que fichier de projet \xE0 un nouvel emplacement","action.export_over":"Enregistrer le mod\xE8le","action.export_over.desc":"Enregistre le mod\xE8le, les textures et les animations en \xE9crasant les fichiers","action.add_locator":"Ajouter un localisateur","action.add_locator.desc":"Ajoute un nouveau localisateur pour contr\xF4ler la position des particules, des laisses, etc.","action.uv_turn_mapping":"Tourner cartographie","action.uv_turn_mapping.desc":"Fait pivoter la cartographie UV de 90 degr\xE9s","action.remove_blank_faces":"Retirer les faces vierges","action.remove_blank_faces.desc":"Supprime toutes les faces non textur\xE9es de la s\xE9lection","web.download_app":"T\xE9l\xE9charger le logiciel","uv_editor.turned":"Cartographie UV tourn\xE9e","display.reference.crossbow":"Arbal\xE8te","dialog.settings.search_results":"R\xE9sultats de recherche","settings.animation_snap":"Aligner les animations","settings.animation_snap.desc":"Intervalle d'aimantation des images cl\xE9s dans la timeline d'animation en \xE9tapes par seconde. Ceci peut aussi se r\xE9gler pour une animation particuli\xE8re. La valeur par d\xE9faut est 24.","action.import_optifine_part":"Importer partie OptiFine","action.import_optifine_part.desc":"Importer une partie d'entit\xE9 pour un mod\xE8le OptiFine","data.locator":"Localisateur","mode.start.no_recents":"Aucun mod\xE8le ouvert r\xE9cemment","panel.element":"\xC9l\xE9ment","panel.element.position":"Position","panel.element.size":"Taille","panel.element.origin":"Point de pivot","panel.element.rotation":"Rotation","message.canvas_limit_error.title":"Erreur de limite du canevas","message.canvas_limit_error.message":"L'action n'a pu \xEAtre effectu\xE9e correctement car le format limite le canevas \xE0 48 unit\xE9s. D\xE9calez le point de pivot pour emp\xEAcher cela.","data.effect":"Effet","generic.name":"Nom","settings.recent_projects":"Limite de mod\xE8les r\xE9cents","settings.recent_projects.desc":"Nombre maximal de mod\xE8les r\xE9cents \xE0 garder en m\xE9moire","settings.volume":"Volume","settings.volume.desc":"Contr\xF4le du volume pour les effets sonores des animations","action.clear_timeline":"Vider la timeline","action.clear_timeline.desc":"Efface tous les segments non s\xE9lectionn\xE9s de la timeline","action.select_effect_animator":"Effets et animation","action.select_effect_animator.desc":"Ouvre la timeline pour ajouter du son et des particules","action.timeline_focus":"Canal","action.timeline_focus.desc":"S\xE9lectionner les canaux d'animation \xE0 afficher dans la timeline","timeline.particle":"Particule","timeline.sound":"Son","timeline.effects":"Effets","data.format":"Format","format.optifine_part":"Partie OptiFine","format.optifine_part.desc":"Partie JPM pour mod\xE8le d'entit\xE9 OptiFine.","action.reverse_keyframes":"Inverser images cl\xE9s","action.reverse_keyframes.desc":"Renverse l'ordre des images cl\xE9s s\xE9lectionn\xE9es","generic.help":"Aide","message.removed_faces":"%0 faces retir\xE9es","dialog.sketchfab_uploader.draft":"Brouillon","action.slider_pos":"D\xE9placement de %0","action.slider_pos.desc":"D\xE9placer selon l'axe %0","action.slider_size":"Taille \xE0 %0","action.slider_size.desc":"Redimensionner sur l'axe %0","action.slider_rotation":"Rotation de %0","action.slider_rotation.desc":"Tourner selon l'axe %0","action.slider_origin":"Point de pivot %0","action.slider_origin.desc":"D\xE9place le pivot selon l'axe %0","action.rotate_cw":"Rotation %0 +90","action.rotate_cw.desc":"Fait tourner de 90\xB0 autour de l'axe %0 (horaire)","action.rotate_ccw":"Rotation %0 -90","action.rotate_ccw.desc":"Fait tourner de 90\xB0 autour de l'axe %0 (anti-horaire)","action.flip":"Retourner %0","action.flip.desc":"Retourne la s\xE9lection selon l'axe %0","action.center":"Centrer %0","action.center.desc":"Centre la s\xE9lection sur l'axe %0","action.bring_up_all_animations":"Combine toute les animations modifi\xE9es sur la timeline","panel.bone":"Segment","data.color":"Couleur","generic.export":"Exporter","generic.none":"N\xE9ant","status_bar.recording":"Enregistrement en cours","message.add_to_palette":"Ajout\xE9 \xE0 la palette","message.size_modifiers":"Maintenir Ctrl ou Maj pour de plus petits incr\xE9ments.","message.timelapse_start":"Timelapse d\xE9marr\xE9","message.timelapse_stop":"Timelapse arr\xEAt\xE9","message.import_palette.replace_palette":"Remplacer l'ancienne palette","message.import_palette.threshold":"Seuil de fusion","dialog.timelapse.interval":"Intervalle (en secondes)","dialog.timelapse.source":"Source","dialog.timelapse.source.interface":"Interface","dialog.timelapse.source.locked":"Angle verrouill\xE9","dialog.timelapse.destination":"Dossier de destination","layout.color.checkerboard":"Damier","layout.color.checkerboard.desc":"Arri\xE8re-plan du canevas et de l'\xE9diteur UV","layout.font.code":"Code police","layout.css":"CSS personnalis\xE9","settings.category.paint":"Peinture","settings.deactivate_size_limit":"Pas de limite de taille","settings.deactivate_size_limit.desc":"L\xE8ve les restrictions de taille pour certains formats. ATTENTION : Cela peut rendre des mod\xE8les invalides.","settings.brush_opacity_modifier":"Modificateur d'opacit\xE9","settings.brush_opacity_modifier.desc":"Modifie l'opacit\xE9 du pinceau avec un stylet","settings.brush_size_modifier":"Modificateur de taille","settings.brush_size_modifier.desc":"Modifie la taille du pinceau avec un stylet","settings.brush_modifier.pressure":"Pression","settings.brush_modifier.tilt":"Inclinaison","category.color":"Couleur","action.import_theme":"Importer un th\xE8me","action.export_theme":"Exporter le th\xE8me","action.export_theme.desc":"Cr\xE9e un fichier th\xE8me bas\xE9 sur les param\xE8tres actuels","action.slider_color_h":"Teinte","action.slider_color_s":"Saturation","action.slider_color_v":"Valeur","action.add_to_palette":"Ajouter \xE0 la palette","action.add_to_palette.desc":"Ajoute la couleur s\xE9lectionn\xE9e \xE0 la palette","action.import_palette":"Importer la palette","action.import_palette.desc":"Importer un fichier palette","action.export_palette":"Exporter la palette","action.export_palette.desc":"Exporter en tant que fichier .GPL","action.generate_palette":"G\xE9n\xE9rer une palette","action.generate_palette.desc":"G\xE9n\xE8re une palette \xE0 partir d'une texture","action.sort_palette":"Trier palette","action.sort_palette.desc":"Trie toutes les couleurs par teinte et luminosit\xE9","action.timelapse":"Timelapse\u2026","action.timelapse.desc":"Enregistrer un timelapse de la mod\xE9lisation","action.add_keyframe":"Ajouter image cl\xE9","action.add_keyframe.desc":"Ajoute une keyframe automatiquement. Appuyez sur Maj pour forcer les valeurs par d\xE9faut.","action.bring_up_all_animations.desc":"Met toutes les animations modifi\xE9s dans la timeline","timeline.timeline":"Instructions","menu.palette.load.default":"Par d\xE9faut","generic.import":"Importer","settings.brush_modifier.none":"Aucun(e)","action.export_entity":"Exporter entit\xE9 Bedrock","action.export_entity.desc":"Ajoute le mod\xE8le actuel comment entit\xE9 \xE0 un fichier mobs.json","settings.highlight_cubes":"Surligner cubes","settings.highlight_cubes.desc":"Surligne les cubes que vous survolez ou s\xE9lectionnez","action.add_marker":"D\xE9finir un rep\xE8re","action.add_marker.desc":"D\xE9finir un rep\xE8re chronologique","timeline.pre_effect_script":"Script","format.skin":"Skin Minecraft","format.skin.desc":"Modifie les skins de joueurs et d'entit\xE9s.","message.sketchfab.setup_guide":"Vous voulez apprendre comment mettre en place des mod\xE8les sur Sketchfab ? Lire %0","dialog.skin.title":"Cr\xE9er un skin","dialog.skin.model":"Skin","action.toggle_skin_layer":"Alterner la couche du skin","action.toggle_skin_layer.desc":"Affiche/masque la couche externe du mod\xE8le de skin","action.gui_light":"Lumi\xE8re dans la GUI","action.gui_light.desc":"S\xE9lectionner la fa\xE7on dont l'item est \xE9clair\xE9 dans l'inventaire","action.gui_light.side":"Lumi\xE8re lat\xE9rale","action.gui_light.front":"Lumi\xE8re frontale","action.move_keyframe_back":"Images cl\xE9s en arri\xE8re","action.move_keyframe_forth":"Images cl\xE9s en avant","menu.help":"Aide","menu.help.discord":"Serveur Discord","menu.help.report_issue":"Rapporter un bug","menu.help.plugin_documentation":"Documentation de l'API du plugin","menu.help.search_action":"Chercher et ex\xE9cuter une action","menu.help.donate":"Faire un dons","menu.help.about":"A propos","menu.preview.background.clipboard":"Charger depuis le presse-papier","dialog.ignore":"Ignorer","generic.unset":"Non d\xE9fini","message.invalid_builtin_parent.title":"Parent int\xE9gr\xE9 invalide","message.invalid_builtin_parent.message":"Le lien vers le mod\xE8le parent invalide '%0' a \xE9t\xE9 retir\xE9 pour exporter un mod\xE8le valide.","dialog.resize_texture.fill":"Remplir avec","dialog.resize_texture.fill.transparent":"Transparent","dialog.resize_texture.fill.color":"Couleur","dialog.resize_texture.fill.repeat":"R\xE9p\xE9ter","dialog.scale.element_pivot":"Pivot d'\xE9l\xE9ment","dialog.scale.selection_center":"Centre de la s\xE9lection","dialog.create_gif.length_mode":"Mode Longueur","dialog.create_gif.length_mode.seconds":"Secondes","dialog.create_gif.length_mode.frames":"Images","dialog.create_gif.length_mode.animation":"Longueur d'animation","dialog.create_gif.length_mode.turntable":"Rotation platine","dialog.save_angle.projection":"Projection","dialog.save_angle.projection.perspective":"Perspective","dialog.save_angle.projection.orthographic":"Orthographique","dialog.sketchfab_uploader.animations":"Animations","dialog.settings.theme":"Th\xE8me","settings.category.interface":"Interface","settings.preview_checkerboard":"Aper\xE7u du damier","settings.preview_checkerboard.desc":"Affiche/masque le damier d'arri\xE8re-plan de l'aper\xE7u","settings.uv_checkerboard":"Damier de l'\xE9diteur UV","settings.uv_checkerboard.desc":"Affiche/masque le damier d'arri\xE8re-plan de l'\xE9diteur UV","category.paint":"Peinture","action.fill_mode.color_connected":"Couleurs connect\xE9es","action.draw_shape_type":"Type d'ombre","action.draw_shape_type.rectangle":"Rectangle","action.draw_shape_type.rectangle_h":"Rectangle (vide)","action.draw_shape_type.ellipse":"Ellipse","action.draw_shape_type.ellipse_h":"Ellipse (vide)","action.draw_shape_type.line":"Ligne","action.mirror_painting":"Peinture en miroir","action.mirror_painting.description":"Renverse vos traits de l'autre c\xF4t\xE9 du mod\xE8le","action.lock_alpha":"Verrouiller canal alpha","action.lock_alpha.description":"Verrouille la transparence de tous les pixels","action.draw_shape_tool":"Dessiner forme","action.draw_shape_tool.desc":"Outil de dessin d'ombres simples pour les textures","action.export_gltf":"Exporter en tant que gITF","action.export_gltf.desc":"Exporter le mod\xE8le et les animations en tant que fichier gITF compatible avec d'autres applications 3D","action.transform_space":"Transformer espace","action.transform_space.desc":"Transformation d'espace par d\xE9faut pour \xE9l\xE9ments et segments","action.transform_space.global":"Global","action.transform_space.local":"Local","action.toggle_camera_projection":"Activer/d\xE9sactiver projection cam\xE9ra","action.toggle_camera_projection.desc":"Bascule la projection cam\xE9ra entre perspective et orthographique","action.load_camera_angle":"Angle de cam\xE9ra\xA0: %0","action.load_camera_angle.desc":"Charge l'angle de cam\xE9ra '%0'","action.slider_face_tint":"Index de teinte","action.slider_face_tint.desc":"D\xE9finit l'index de teinte de la face actuelle. -1 indique qu'il n'est pas d\xE9fini.","menu.help.quickstart":"Wizard d\xE9marrage rapide","menu.help.developer":"D\xE9veloppeur","menu.help.developer.dev_tools":"Ouvrir outils d\xE9veloppeur","menu.help.developer.reset_storage":"Formatage d'usine","menu.help.developer.reset_storage.confirm":"Voulez-vous vraiment r\xE9initialiser Blockbench \xE0 ses param\xE8tres d'usine\xA0? Cela effacera tous les param\xE8tres personnalis\xE9s, raccourcis et plugins install\xE9s.","menu.help.developer.cache_reload":"Rechargement cache","menu.preview.orthographic":"Orthographique","menu.preview.save_angle":"Sauvegarder angle\u2026","menu.preview.angle":"Angles","menu.preview.angle.initial":"Angle initial","menu.preview.maximize":"Maximiser","uv_editor.copy_selection":"Copier la s\xE9lection","uv_editor.paste_selection":"Coller la s\xE9lection","uv_editor.copy_paste_tool.place":"Placer","uv_editor.copy_paste_tool.mirror_x":"Miroir X","uv_editor.copy_paste_tool.mirror_y":"Miroir Y","uv_editor.copy_paste_tool.rotate":"Rotation de 90 degr\xE9s","dialog.project.modded_entity_version":"Version de l'export","dialog.save_angle.position":"Position de la cam\xE9ra","dialog.save_angle.target":"Point focal","dialog.skin.pose":"Pose","layout.color.frame":"Fen\xE8tre","layout.color.frame.desc":"Bordure et titre de la fen\xE8tre","settings.large_grid_size":"Taille de la grille","settings.large_grid_size.desc":"Taille de la grille","action.load_plugin_from_url":"Charger un plugin via une URL","action.load_plugin_from_url.desc":"Charge un plugin en fournissant l'URL","action.cube_counter.desc":"Affiche le nombre de cubes actuel et autres statistiques","action.unlock_everything":"D\xE9bloquer tout","action.unlock_everything.desc":"D\xE9bloque tous les groupes et \xE9l\xE9ments dans la liste","action.load_palette":"Charger palette","action.load_palette.desc":"Charge l'un des pr\xE9r\xE9glages de palette","action.toggle_locked":"Activer/d\xE9sactiver verrouillage","action.toggle_locked.desc":"Verrouille/d\xE9verrouille les \xE9l\xE9ments s\xE9lectionn\xE9s","action.apply_display_preset":"Appliquer pr\xE9r\xE9glage","action.apply_display_preset.desc":"Applique un pr\xE9r\xE9glage d'affichage par d\xE9faut, ou personnalis\xE9","action.apply_display_preset.here":"Appliquer \xE0 cet emplacement","action.apply_display_preset.everywhere":"Appliquer \xE0 tous les emplacements","action.resolve_keyframe_expressions":"R\xE9soudre image cl\xE9","action.resolve_keyframe_expressions.desc":"R\xE9sout les expressions math\xE9matiques des images cl\xE9s s\xE9lectionn\xE9es","action.fold_all_animations":"Plier tous les animateurs","menu.palette.load.empty":"Vide","switches.lock":"Verrouiller","settings.render_sides":"Afficher c\xF4t\xE9s","settings.render_sides.desc":"S\xE9lectionner quel c\xF4t\xE9 d'une face est affich\xE9","settings.render_sides.auto":"Auto","settings.render_sides.front":"Ext\xE9rieur","settings.render_sides.double":"Int\xE9rieur et ext\xE9rieur","generic.enable":"Activ\xE9","generic.disable":"D\xE9sactiv\xE9","generic.redacted":"Censur\xE9","dialog.select_texture.import_all":"Importer tout","dialog.skin.layer_template":"Couche de texture","about.version.up_to_date":"\xC0 jour","about.version.update_available":"La version %0 est disponible","settings.category.application":"Application","settings.streamer_mode":"Mode Streamer","settings.streamer_mode.desc":"Masque des informations sensibles telles que les mod\xE8les r\xE9cents","settings.automatic_updates":"Mises \xE0 jour automatiques","settings.automatic_updates.desc":"T\xE9l\xE9charge les nouvelles mises \xE0 jour automatiquement et garde Blockbench \xE0 jour","action.rotation_space":"Espace de rotation","action.focus_on_selection":"Centrer la vue sur la s\xE9lection","action.focus_on_selection.desc":"Aligne la cam\xE9ra en direction du centre de la s\xE9lection actuelle","action.jump_to_timeline_start":"Passer au d\xE9but de l'animation","action.jump_to_timeline_end":"Passer \xE0 la fin de l'animation","menu.help.updating":"Mise \xE0 jour en cours (%0%)","menu.help.update_failed":"\xC9chec de la mise \xE0 jour","menu.animation.loop.once":"Lire une fois","menu.animation.loop.hold":"Rester \xE0 la derni\xE8re image","menu.animation.loop.loop":"Boucle","interface.streamer_mode_on":"Mode Streamer activ\xE9","generic.reset":"R\xE9initialiser","generic.restore":"Restaurer","keys.mousewheel":"Molette","message.delete_animation.title":"Effacer l'animation","message.delete_animation.message":"L'animation a \xE9t\xE9 retir\xE9e de Blockbench. Voulez-vous aussi effacer l'animation du fichier dans lequel elle \xE9tait sauvegard\xE9e\xA0?","message.no_animation_to_import":"Aucune animation \xE0 importer","dialog.material_instances.title":"Instances mat\xE9rielles","dialog.animation_import.title":"S\xE9lectionner des animations \xE0 importer","dialog.create_texture.padding":"Rembourrage","settings.fov":"FOV","settings.fov.desc":"Champ de vision de la cam\xE9ra. La valeur par d\xE9faut est 45.","settings.minify_bbmodel":"Fichiers de projet minimis\xE9s","settings.minify_bbmodel.desc":"\xC9crit l'int\xE9gralit\xE9 des fichiers .bbmodel sur une seule ligne","action.edit_material_instances":"Modifier les instances mat\xE9rielles","action.edit_material_instances.desc":"Modifier les noms d'instances mat\xE9rielles pour des g\xE9om\xE9tries de blocs Bedrock","action.save_all_animations":"Sauvegarder toutes les animations","action.save_all_animations.desc":"Sauvegarde toutes les animations actuellement charg\xE9es","action.keyframe_interpolation":"Interpolation","action.keyframe_interpolation.desc":"S\xE9lectionner le mode d'interpolation des images cl\xE9s","action.keyframe_interpolation.linear":"Lin\xE9aire","action.keyframe_interpolation.catmullrom":"Lisse","action.timeline_focus.hide_empty":"Masquer les canaux vides","menu.file.preferences":"Pr\xE9f\xE9rences","menu.animation.blend_weight":"Poids de fondu","menu.animation.save":"Enregistrer","menu.animation.properties":"Propri\xE9t\xE9s\u2026","menu.animation.file":"Fichier","menu.animation.snapping":"Alignement","menu.animation.open_location":"Ouvrir l'emplacement du fichier","panel.keyframe.add_data_point":"Ajouter un point de donn\xE9e d'image cl\xE9","panel.keyframe.remove_data_point":"Retirer un point de donn\xE9e","panel.keyframe.pre":"Pr\xE9","panel.keyframe.post":"Post","generic.all":"Tout","message.small_face_dimensions.title":"Dimensions des Faces imcompatibles","message.small_face_dimensions.message":"La s\xE9lection contient des faces plus petite que 1 unit\xE9 dans une direction. Le syst\xE8me de cartographie Encadrement UV consid\xE8re toutes les faces inf\xE9rieures \xE0 ce seuil comme ayant une largeur de 0 pixel. La texture sur ces faces est donc susceptible de ne pas fonctionner correctement.","message.small_face_dimensions.face_uv":"Le format actuel prend en charge les cartes UV par face qui peuvent g\xE9rer de petites dimensions de faces. Allez dans Fichier \u2192 Projet\u2026 et choisissez UV par face pour Mode UV.","dialog.plugins.outdated_client":"Requis une nouvelle version de Blockbench","dialog.plugins.outdated_plugin":"Le plugin n'est pas \xE0 jour et ne fonctionne pas avec cette version de Blockbench","settings.motion_trails":"Train\xE9e de Mouvement","settings.motion_trails.desc":"Montrer les train\xE9es de mouvement dans l'\xE9diteur d'animation","settings.antialiasing":"Anticr\xE9n\xE9lage","settings.antialiasing.desc":"Active l'anti-aliasing dans l'aper\xE7u. Red\xE9marrez Blockbench pour appliquer les modifications.","action.timeline_frame_back":"Sauter d'1 image en arri\xE8re","action.timeline_frame_forth":"Sauter d'1 image en avant","panel.bone.ik":"Cin\xE9matique inverse (exp\xE9rimental)","settings.particle_tick_rate":"Fr\xE9quence des particules","settings.particle_tick_rate.desc":"Fr\xE9quence de rafra\xEEchissement des effets de particules, en rafra\xEEchissements par seconde. 30 par d\xE9faut.","action.lock_motion_trail":"Verrouiller trajectoire","action.lock_motion_trail.desc":"Verrouille la ligne de trajectoire au groupe actuellement s\xE9lectionn\xE9","menu.animation_file.unload":"D\xE9charger fichier d'animation","data.null_object":"Objet nul","status_bar.toggle_sidebar":"Affiche/masque la barre d'infos","message.load_plugin_failed.title":"Le chargement du plugin a \xE9chou\xE9","message.load_plugin_failed.message":"Assurez-vous que le nom de base du fichier du plugin correspond \xE0 l'ID de plugin `%0`, comme indiqu\xE9 dans Plugin.register().","dialog.project.uv_mode":"Mode UV","dialog.project.uv_mode.box_uv":"Encadrement UV","dialog.project.uv_mode.face_uv":"UV par face","dialog.project.texture_size":"Taille de texture","dialog.animation_export.title":"S\xE9lectionner les animations \xE0 exporter","dialog.create_texture.rearrange_uv":"R\xE9arranger UV","layout.color.subtle_text":"Texte subtil","layout.color.subtle_text.desc":"Couleur de texte secondaire avec moins de contraste","settings.interface_scale":"Taille de l'interface","settings.interface_scale.desc":"Taille de toute l'interface Blockbench","settings.background_rendering":"Rendu de l'arri\xE8re-plan","settings.background_rendering.desc":"Met \xE0 jour l'aper\xE7u quand la fen\xEAtre n'est pas s\xE9lectionn\xE9e","settings.ctrl_shift_size":"R\xE9solution de Ctrl + Shift","settings.ctrl_shift_size.desc":"R\xE9solution de la grille lorsque vous maintenez Ctrl et Shift","settings.hardware_acceleration":"Acc\xE9l\xE9ration mat\xE9rielle","settings.hardware_acceleration.desc":"Sous-traite les t\xE2ches de rendu \xE0 la carte graphique. Red\xE9marrez Blockbench pour appliquer ces changements.","action.explode_skin_model":"\xC9clater le mod\xE8le de skin","action.explode_skin_model.desc":"Active/d\xE9sactive une vue \xE9clat\xE9e qui permet d'acc\xE9der aux faces cach\xE9es","action.export_minecraft_skin":"Exporter en skin Minecraft","action.export_minecraft_skin.desc":"Exporte le skin pour Minecraft, en tant que texture PNG","action.add_null_object":"Ajouter objet nul","action.add_null_object.desc":"Ajoute un nouvel objet nul","action.animated_texture_frame":"Image de texture anim\xE9e","action.animated_texture_frame.desc":"D\xE9finit l'image actuelle de la texture anim\xE9e","action.export_animation_file":"Exporter les animations\u2026","action.export_animation_file.desc":"Exporte une s\xE9lection d'animations vers un nouveau fichier","action.timeline_graph_editor":"Activer/d\xE9sactiver l'\xE9diteur de graphe","action.timeline_graph_editor.desc":"Bascule la timeline entre l'\xE9diteur de graphe et la vue en images cl\xE9s","menu.file.recent.clear":"Vider les fichiers r\xE9cents","switches.shade":"Nuance","generic.share":"Partager","dates.minute":"%0 minute","dates.minutes":"%0 minutes","dates.hour":"%0 heure","dates.hours":"%0 heures","dates.day":"%0 jour","dates.days":"%0 jours","dates.week":"%0 semaine","dates.weeks":"%0 semaines","dates.year":"%0 an","dates.years":"%0 ans","message.installed_plugin":"Le plugin %0 a \xE9t\xE9 install\xE9 avec succ\xE8s","message.installed_plugin_fail":"Le plugin %0 n'a pas pu \xEAtre install\xE9","dialog.share_model.title":"Partager mod\xE8le","dialog.share_model.expire_time":"Date d'expiration","dialog.share_model.failed":"Le mod\xE8le n'a pas pu \xEAtre upload\xE9","action.import_java_block_model":"Ajouter mod\xE8le bloc/item Java","action.import_java_block_model.desc":"Ajoute un mod\xE8le Java de bloc/d'item au mod\xE8le actuel depuis un fichier json","action.share_model":"Partager\u2026","action.share_model.desc":"G\xE9n\xE8re un lien court pour partager votre mod\xE8le","action.import_project":"Importer projet","action.import_project.desc":"Importe un projet tiers au projet actuel depuis un fichier .bbmodel","dialog.toolbar_edit.hidden_tools":"Certains outils pourraient \xEAtre masqu\xE9s car ils ne sont pas disponibles dans le mode, le format, ou la situation actuelle.","settings.camera_near_plane":"Cam\xE9ra proche du plan","settings.camera_near_plane.desc":"La distance minimale de la cam\xE9ra \xE0 l'endroit o\xF9 les objets sont affich\xE9s. Une valeur plus importante diminue le conflit en Z. La valeur par d\xE9faut est 1.","mode.start.keymap_preference.desc":"Si vous \xEAtes nouveau sur Blockbench et \xEAtes habitu\xE9 \xE0 un autre logiciel 3D, vous pouvez s\xE9lectionner une configuration clavier adapt\xE9e pour faciliter votre transition. Vous pourrez changer ce pr\xE9r\xE9glage ou des commandes particuli\xE8res plus tard dans les param\xE8tres.","message.load_keymap":"Voulez-vous vraiment charger cette configuration clavier\xA0? Cela va \xE9craser vos commandes actuelles.","message.keymap_loaded":"Configuration clavier charg\xE9e","dialog.convert_project.current_format":"Format acuel","dialog.create_texture.rearrange_uv.desc":"Cr\xE9er une nouvelle disposition UV donne \xE0 chaque face sa propre place sur la texture","dialog.create_texture.power.desc":"Verrouille la taille de texture automatique sur une puissance de 2, comme 64 ou 128. Cela est n\xE9cessaire pour certains moteurs de rendu.","dialog.create_texture.double_use.desc":"Si deux \xE9l\xE9ments ont d\xE9j\xE0 le m\xEAme espace UV attribu\xE9, cela sera conserv\xE9 dans la nouvelle disposition","dialog.create_texture.padding.desc":"Ajoutez un petit d\xE9calage entre les diff\xE9rentes parties du mod\xE8le","dialog.create_texture.resolution.desc":"La r\xE9solution de base de la texture, en pixels par m\xE8tre. La taille r\xE9elle de la carte de texture peut changer selon la quantit\xE9 et la taille des \xE9l\xE9ments.","dialog.create_gif.color":"Couleur de l'arri\xE8re plan","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":"Deux segments oppos\xE9s sont identifi\xE9s par les mots-cl\xE9s \xAB\xA0gauche\xA0\xBB et \xAB\xA0droite\xA0\xBB dans leur nom.","dialog.export_private_settings.title":"Param\xE8tres priv\xE9s","dialog.export_private_settings.message":"Votre fichier contient les informations priv\xE9es suivantes : **%0**. Retirez ces valeurs si vous comptez partager le fichier avec quelqu'un d'autre.","dialog.export_private_settings.keep":"Garder","settings.timecode_frame_number":"Afficher les codes temporels sous forme de num\xE9ros d'image","settings.timecode_frame_number.desc":"Affiche des timecodes fractionnaires dans la timeline sous forme de num\xE9ro d'image au lieu de centi\xE8me de seconde","settings.animation_sample_rate":"Taux d'\xE9chantillonnage de l'animation","settings.animation_sample_rate.desc":"Fr\xE9quence en \xE9chantillons par seconde pour les courbes que le format respectif ne prend pas nativement en charge","keybind.preview_zoom":"Zoom de l'aper\xE7u","action.gradient_tool":"Outil d\xE9grad\xE9","action.gradient_tool.desc":"Cr\xE9e un d\xE9grad\xE9 de couleurs sur votre texture","action.import_settings":"Importer des param\xE8tres","action.import_settings.desc":"Importer un fichier .bbsettings","action.export_settings":"Exporter les param\xE8tres","action.export_settings.desc":"Exporter ces param\xE8tres Blockbench dans un fichier .bbsettings","action.load_keymap":"Charger une configuration clavier","action.load_keymap.default":"Par d\xE9faut (pav\xE9 tactile/souris)","action.load_keymap.mouse":"Par d\xE9faut (souris)","action.load_keymap.default.desc":"Raccourcis clavier Blockbench par d\xE9faut, avec navigation optimis\xE9e pour utilisation sur pav\xE9 tactile d'ordinateur portable","action.load_keymap.mouse.desc":"Raccourcis clavier Blockbench par d\xE9faut, avec navigation assign\xE9e au bouton de la molette de la souris","action.load_keymap.blender.desc":"Configuration clavier pour les utilisateurs habitu\xE9s aux commandes de Blender","action.load_keymap.cinema4d.desc":"Configuration clavier pour les utilisateurs habitu\xE9s aux commandes de Cinema 4D","action.load_keymap.maya.desc":"Keymap pour les utilisateurs habitu\xE9s aux commandes d'Autodesk Maya","action.import_keymap":"Importer une configuration clavier","action.import_keymap.desc":"Importer des raccourcis clavier depuis un fichier .bbkeymap","action.export_keymap":"Exporter la configuration clavier","action.export_keymap.desc":"Exporte les raccourcis clavier actuels dans un fichier .bbkeymap","action.edit_history":"Modifier l'historique...","action.edit_history.desc":"Affiche l'historique des modifications pour annuler ou r\xE9tablir des \xE9tapes","action.group_elements":"Grouper les \xE9l\xE9ments","action.group_elements.desc":"Rassemble les \xE9l\xE9ments s\xE9lectionn\xE9s sous un nouveau groupe","action.unfold_groups":"D\xE9plier les groupes","action.unfold_groups.desc":"D\xE9plie tous les groupes dans la liste","action.edit_bedrock_binding":"Modifier les associations\u2026","action.edit_bedrock_binding.desc":"Modifier le segment auquel la g\xE9om\xE9trie est li\xE9e","action.pick_screen_color":"Choisir la couleur de l'\xE9cran","action.pick_screen_color.desc":"Choisir une couleur quelque part sur votre \xE9cran","action.view_mode":"Mode d'affichage","action.view_mode.desc":"Change le mode d'affichage du mod\xE8le","action.view_mode.textured":"Textur\xE9","action.view_mode.solid":"Solide","action.view_mode.wireframe":"Squelette","action.toggle_sidebars":"Activer/d\xE9sactiver les barres lat\xE9rales","action.toggle_sidebars.desc":"Active/d\xE9sactive les bandes sur les c\xF4t\xE9s","action.set_animation_end":"D\xE9finir la fin de l'animation","action.set_animation_end.desc":"D\xE9finit la fin de l'animation s\xE9lectionn\xE9e \xE0 l'instant actuel sur la timeline","action.flip_animation":"Retourner l'animation","action.flip_animation.desc":"Retourne une partie d'une animation en copiant les images cl\xE9s s\xE9lectionn\xE9es de l'autre c\xF4t\xE9 du mod\xE8le","action.graph_editor_zero_line":"Inclure la ligne z\xE9ro","action.graph_editor_zero_line.desc":"Si, oui ou non, l'\xE9diteur de graphiques affiche toujours la ligne z\xE9ro","menu.texture.render_mode":"Mode de rendu","menu.texture.render_mode.emissive":"\xC9missif","menu.texture.render_mode.layered":"Superpos\xE9","menu.preview.angle.edit":"Modifier l'angle\u2026","menu.animation.start_delay":"D\xE9lai de d\xE9marrage","menu.animation.loop_delay":"D\xE9lai de reprise","menu.animation.flip_keyframes":"Retourner les images cl\xE9s","menu.mobile_keyboard.disable_all":"Tout d\xE9sactiver","panel.keyframe.toggle_uniform_scale":"Basculer l'\xE9chelle uniforme","camera_angle.common_isometric_right":"Droite isom\xE9trique (2:1)","camera_angle.common_isometric_left":"Gauche isom\xE9trique (2:1)","camera_angle.true_isometric_right":"Vraie droite isom\xE9trique (30\xB0)","camera_angle.true_isometric_left":"Vraie gauche isom\xE9trique (30\xB0)","menu.help.wiki":"Wiki Blockbench","settings.update_to_prereleases":"Mettre \xE0 jour vers les versions exp\xE9rimentales","settings.update_to_prereleases.desc":"Met \xE0 jour Blockbench automatiquement vers des versions b\xEAta pour tester les nouvelles fonctionnalit\xE9s. Les versions exp\xE9rimentales peuvent \xEAtre instables, n'activez pas cette option si vous vous servez de Blockbench pour le travail ou d'autres projets importants.","data.separator.spacer":"S\xE9parateur","data.separator.linebreak":"Retour \xE0 la ligne","data.setting":"Param\xE8tre","generic.select_all":"Tout s\xE9lectionner","generic.select_none":"Vider la s\xE9lection","projects.new_tab":"Nouvel onglet","projects.close_tab":"Fermer l'onglet","message.invalid_format.title":"Format invalide","message.invalid_format.message":"Ce mod\xE8le a \xE9t\xE9 fait au format '%0', qui n'est pas disponible dans votre installation Blockbench. Il vous faut sans doute un plugin sp\xE9cifique pour l\u2019ouvrir correctement.","message.invalid_link":"Le lien mod\xE8le est invalide ou a expir\xE9","message.default_textures.current":"Chemin actuel","message.update_after_restart":"La mise \xE0 jour sera install\xE9e apr\xE8s le prochain red\xE9marrage","message.copy_paste_tool_viewport":"Cet outil ne peut \xEAtre utilis\xE9 que dans le panneau UV","dialog.project.shadow_size":"Taille des ombres","dialog.find_replace.target":"Cible","dialog.find_replace.target.element_names":"Nom des \xE9l\xE9ments","dialog.find_replace.target.group_names":"Nom des groupes","dialog.find_replace.target.animation_names":"Nom des animations","dialog.find_replace.target.keyframe_values":"Valeur des images cl\xE9s","dialog.find_replace.find":"Rechercher","dialog.find_replace.replace":"Remplacer","dialog.find_replace.regex":"Expression r\xE9guli\xE8re","dialog.add_primitive.shape":"Forme","dialog.add_primitive.shape.circle":"Cercle","dialog.add_primitive.shape.tube":"Tube","dialog.add_primitive.shape.cone":"C\xF4ne","dialog.add_primitive.shape.cylinder":"Cylindre","dialog.add_primitive.shape.sphere":"Sph\xE8re","dialog.add_primitive.shape.torus":"Tore","dialog.add_primitive.shape.cube":"Cube","dialog.add_primitive.shape.pyramid":"Pyramide","dialog.add_primitive.diameter":"Diam\xE8tre","dialog.add_primitive.height":"Hauteur","dialog.add_primitive.sides":"C\xF4t\xE9s","dialog.add_primitive.minor_diameter":"\xC9paisseur","dialog.add_primitive.minor_sides":"C\xF4t\xE9s mineurs","dialog.create_texture.combine_polys":"Combiner les faces","dialog.create_texture.combine_polys.desc":"Combine les faces coplanaires s\xE9lectionn\xE9es en une seule section UV","dialog.model_stats.meshes":"Maillage","dialog.export_private_settings.omit":"Laisser vide","layout.select":"S\xE9lectionner","layout.options":"Options","layout.color":"Sch\xE9ma de couleur","layout.documentation":"Documentation","layout.color.bright_ui_text":"Interface claire","layout.color.bright_ui_text.desc":"Texte sur arri\xE8re-plan clair","layout.name":"Nom","layout.author":"Auteur","settings.dialog.desc":'Affiche le dialogue "%0"',"settings.export_empty_groups":"Exporter les groupes vides","settings.export_empty_groups.desc":"Inclut les groupes sans contenu dans les fichiers export\xE9s","category.separators":"S\xE9parateurs","keybind.preview_area_select":"S\xE9lection de zone","action.color_erase_mode":"Mode Gomme","action.color_erase_mode.desc":"En mode Gomme, les outils tels que Remplir et Rectangle retirent des couleurs au lieu d'en ajouter","action.open_from_link":"Ouvrir mod\xE8le \xE0 partir du lien\u2026","action.open_from_link.desc":"Ouvre un mod\xE8le depuis une URL blckbn.ch","action.import_obj":"Importer mod\xE8le OBJ","action.import_obj.desc":"Importe des objets depuis un mod\xE8le OBJ en tant que maillage","action.add_plugin":"Installer un plugin","action.add_plugin.desc":"Installe un plugin \xE0 partir du Contr\xF4le d'action","action.remove_plugin":"D\xE9sinstaller plugin","action.remove_plugin.desc":"D\xE9sinstalle un plugin \xE0 partir du Contr\xF4le d'action","action.add_mesh":"Ajouter maille","action.add_mesh.desc":"Ajoute une nouvelle maille","action.add_texture_mesh":"Ajouter une maille de texture","action.add_texture_mesh.desc":"Ajoute une nouvelle maille de texture","action.find_replace":"Rechercher/remplacer\u2026","action.find_replace.desc":"Rechercher et remplacer des parties de noms","action.hide_everything_except_selection":"Masquer tout sauf la s\xE9lection","action.hide_everything_except_selection.desc":"Bascule la visibilit\xE9 de tous les \xE9l\xE9ments, hormis ceux qui sont s\xE9lectionn\xE9s","action.transform_space.normal":"Normal","action.selection_mode":"Mode de s\xE9lection","action.selection_mode.desc":"Change comment les \xE9l\xE9ments peuvent \xEAtre s\xE9lectionn\xE9s dans la fen\xEAtre","action.selection_mode.object":"Objet","action.selection_mode.face":"Face","action.selection_mode.vertex":"Sommet","action.create_face":"Cr\xE9er une face","action.create_face.desc":"Cr\xE9e une nouvelle face ou une ligne entre les sommets s\xE9lectionn\xE9s","action.convert_to_mesh":"Convertir en maillage","action.convert_to_mesh.desc":"Convertit les \xE9l\xE9ments s\xE9lectionn\xE9s en maillage","action.invert_face":"Inverser les faces","action.invert_face.desc":"Inverse les faces s\xE9lectionn\xE9es pour les faire pointer dans le sens oppos\xE9","action.extrude_mesh_selection":"Extruder la s\xE9lection","action.extrude_mesh_selection.desc":"Extrude les parties s\xE9lectionn\xE9es du maillage","action.loop_cut":"Couper boucle","action.loop_cut.desc":"S\xE9pare le maillage en une boucle \xE0 travers l'ar\xEAte s\xE9lectionn\xE9e","action.merge_meshes":"Fusionner mailles","action.merge_meshes.desc":"Fusionne plusieurs mailles en une seule","action.keyframe_uniform":"Mise \xE0 l'\xE9chelle uniforme","action.keyframe_uniform.desc":"Autorise la mise \xE0 l'\xE9chelle uniforme sur les images cl\xE9s s\xE9lectionn\xE9es","menu.locator.ignore_inherited_scale":"Ignorer l'\xE9chelle h\xE9rit\xE9e","menu.texture.elements":"Appliqu\xE9e aux \xE9l\xE9ments","uv_editor.transparent_face":"Face transparente","display.pose_angle":"Angle de pose (aper\xE7u uniquement)","data.mesh":"Maillage","dialog.create_texture.type":"Type","dialog.create_texture.type.blank":"Vierge","dialog.create_texture.type.template":"Mod\xE8le de texture","dialog.create_texture.type.color_map":"Mod\xE8le de couleur unie","dialog.sketchfab_uploader.suggested_tags":"Tags sugg\xE9r\xE9s","dialog.sketchfab_uploader.category":"Cat\xE9gorie","dialog.sketchfab_uploader.category2":"Cat\xE9gorie 2","layout.restore_backup":"Votre th\xE8me personnalis\xE9 \xAB %0 \xBB a \xE9t\xE9 \xE9cras\xE9. Cliquez ici pour le restaurer.","layout.borders":"Bordures","action.fill_mode.element":"\xC9l\xE9ment","action.inset_mesh_selection":"Encarter s\xE9lection","action.inset_mesh_selection.desc":"Int\xE8gre les parties s\xE9lectionn\xE9es du maillage","action.dissolve_edges":"Dissoudre les bords","action.dissolve_edges.desc":"Dissout les ar\xEAtes s\xE9lectionn\xE9es d'un maillage et fusionne les faces qu'elles divisent","action.split_mesh":"S\xE9parer maillage","action.split_mesh.desc":"S\xE9pare les faces s\xE9lectionn\xE9es du maillage en un nouveau maillage","action.merge_vertices":"Fusionner les sommets","action.merge_vertices.desc":"Fusionne les sommets s\xE9lectionn\xE9s \xE0 la position du premier sommet s\xE9lectionn\xE9","action.view_mode.normal":"Point de vue normal","action.snap_uv_to_pixels":"Aligner UV aux pixels","action.snap_uv_to_pixels.desc":"Aligne (aimante) les sommets UV s\xE9lectionn\xE9s \xE0 la grille de pixels","menu.file.import.import_open_project":"Importer un projet ouvert","menu.help.unlock_projects":"D\xE9bloquer tous les projets","status_bar.selection.faces":"%0 faces","status_bar.selection.vertices":"%0 sommets","message.merged_vertices":"%0 sommets ont \xE9t\xE9 trouv\xE9s et fusionn\xE9 depuis %1 emplacements","settings.vertex_merge_distance":"Distance de fusion des sommets","settings.vertex_merge_distance.desc":"Distance avant laquelle les sommets sont fusionn\xE9s en utilisant la fusion par distance","settings.show_only_selected_uv":"Afficher UV s\xE9lectionn\xE9s uniquement","settings.show_only_selected_uv.desc":"N'afficher que les faces UV s\xE9lectionn\xE9es dans l'\xE9diteur UV par d\xE9faut","action.merge_vertices.merge_all":"Tout fusionner","action.merge_vertices.merge_all_in_center":"Fusionne tout, au centre","action.merge_vertices.merge_by_distance":"Fusion par distnace","action.merge_vertices.merge_by_distance_in_center":"Fusionne par distance, au centre","action.uv_rotate_left":"Tourner UV \xE0 gauche","action.uv_rotate_left.desc":"Tourne les faces UV s\xE9lectionn\xE9es dans le sens antihoraire","action.uv_rotate_right":"Tourner UV \xE0 droite","action.uv_rotate_right.desc":"Tourne les faces UV s\xE9lectionn\xE9s dans le sens horaire","menu.uv.display_uv":"Afficher UV","menu.uv.display_uv.selected_faces":"Faces s\xE9lectionn\xE9es","menu.uv.display_uv.selected_elements":"Toutes les faces","menu.uv.display_uv.all_elements":"Toutes les faces sur tous les \xE9l\xE9ments","menu.paste.face":"Face UV","menu.paste.mesh_selection":"S\xE9lection maillage","menu.paste.outliner":"\xC9l\xE9ments","uv_editor.show_all_faces":"Montrer toutes lesfaces","uv_editor.show_selected_faces":"Montrer faces s\xE9lectionn\xE9es","status_bar.selection.edges":"%0 ar\xEAtes","action.selection_mode.edge":"Ar\xEAte","message.cannot_re_import.title":"Le mod\xE8le ne peut \xEAtre r\xE9import\xE9","message.cannot_re_import.message":"Ce format d'export de mod\xE8le ne peut \xEAtre r\xE9import\xE9 vers Blockbench. Assurez-vous de sauvegarder votre mod\xE8le en tant que fichier de projet.","generic.default":"Par d\xE9faut","units.pixels_per_meter":"%0 pixels par m\xE8tre","mode.pose":"Pose","modifier_actions.resize_both_sides":"Redimentionner dans les deux directions","modifier_actions.resize_one_side":"Redimentionner dans une direction","modifier_actions.draw_line":"Dessiner ligne","modifier_actions.drag_without_snapping":"Faire glisser sans alignement","modifier_actions.stretch_keyframes":"\xC9tirer les images cl\xE9s","modifier_actions.resize_background":"Redimentionner l'arri\xE8re-plan","modifier_actions.select_multiple":"S\xE9lection multiple","modifier_actions.select_range":"Gamme de s\xE9lection","modifier_actions.drag_to_duplicate":"Faire glisser pour dupliquer","modifier_actions.uniform_scaling":"Mise \xE0 l'\xE9chelle uniforme","modifier_actions.snap_direction":"Aligner direction","message.no_valid_elements":"Aucun \xE9l\xE9ment valide s\xE9lectionn\xE9\u2026","dialog.add_primitive.shape.plane":"Plan","dialog.save_angle.rotation_mode":"Mode de rotation","dialog.save_angle.rotation":"Rotation","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"Masquer automatiquement la barre d'onglets","settings.hide_tab_bar.desc":"Masque la barre d'onglets lorsqu'un seul onglet est ouvert","settings.status_bar_modifier_keys":"Sugg\xE9rer touches de modification dans la barre de statut","settings.status_bar_modifier_keys.desc":"Affiche des suggestions de touches de modification dans la barre de statut en fonction du contexte","settings.ground_plane":"Plan de sol","settings.ground_plane.desc":"Affiche un plan de sol sous le mod\xE8le","settings.preview_paste_behavior":"Comportement par d\xE9faut du collage d'aper\xE7u","settings.preview_paste_behavior.desc":"Choisir ce qui se passe si vous collez quelque chose dans l'aper\xE7u du mode \xC9dition alors que plusieurs options sont disponibles","settings.preview_paste_behavior.always_ask":"Toujours demander","action.new_window":"Nouvelle fen\xEAtre","action.new_window.desc":"Ouvre une nouvelle fen\xEAtre Blockbench","action.export_collada":"Exporter mod\xE8le Collada (dae)","action.export_collada.desc":"Exporte le mod\xE8le et les animations dans un fichier dae pour l'utiliser dans d'autres logiciels 3D","action.paint_mode_uv_overlay":"Overlay UV","action.paint_mode_uv_overlay.desc":"Affiche la carte UV sous forme d'overlay en mode Dessin","action.bake_animation_into_model":"Int\xE9grer l'animation au mod\xE8le","action.bake_animation_into_model.desc":"Int\xE8gre l'image d'animation actuellement affich\xE9e au mod\xE8le. Seules la rotation et la position s'appliquent, la mise \xE0 l'\xE9chelle est ignor\xE9e.","action.keyframe_interpolation.step":"\xC9tape","action.set_ik_target":"D\xE9finir une cible CI","action.set_ik_target.desc":"Choisir le segment cible \xE0 faire d\xE9placer par cet objet nul via la Cin\xE9matique inverse (CI)","menu.action_control.type.tab":"Onglet","menu.action_control.type.angle":"Angle de cam\xE9ra","menu.action_control.recent_in_streamer_mode":"\xCAtes-vous s\xFBr\xA0? Le mode Streamer est activ\xE9","menu.action_control.recent_in_streamer_mode.desc":"\xCAtes vous s\xFBr de vouloir afficher les mod\xE8les r\xE9cents\xA0?","menu.tools":"Outils","menu.file.recent.more":"Voir plus\u2026","menu.null_object.lock_ik_target_rotation":"Verrouiller la rotation de cible CI","menu.animation_file.import_remaining":"Importer les animations restantes","edit.loop_cut.offset":"D\xE9calage","edit.extrude_mesh_selection.extend":"\xC9tendre","cube.color.pink":"Rose","cube.color.silver":"Argent\xE9","dialog.plugins.offline":"Pas de connexion \xE0 Internet","dialog.create_texture.pixel_density":"Densit\xE9 de pixels","dialog.create_texture.pixel_density.desc":"La densit\xE9 de pixels de la texture, en pixels par m\xE8tre. La taille de la carte de texture pourrait varier en fonction du nombre et de la taille des \xE9l\xE9ments.","panel.skin_pose":"Pose","panel.skin_pose.none":"Aucune","panel.skin_pose.natural":"Naturelle","panel.skin_pose.walking":"Marche","panel.skin_pose.crouching":"Accroupi","panel.skin_pose.sitting":"Assis","panel.skin_pose.jumping":"En train de sauter","panel.skin_pose.aiming":"En train de viser","edit.loop_cut.direction":"Direction","data.texture_mesh":"Maille textur\xE9e","generic.left":"Gauche","generic.right":"Droite","mode.start.quick_setup":"Installation rapide","mode.start.keymap":"Configuration clavier","mode.start.quick_setup.more_themes":"Plus...","dialog.resize_texture.animation_frames":"Cadres d'animation","dialog.export_emission_map.title":"Carte des \xE9missions d'exportation","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Luminance","dialog.export_emission_map.format.luminance_inverted":"Luminance invers\xE9e","dialog.export_emission_map.format.colors":"Couleurs","dialog.export_emission_map.threshold":"Seuil de transparence","dialog.export_emission_map.round_up":"Arrondir par exc\xE8s \xE0 %0 x %1","dialog.export_emission_map.flip_y":"Inverser l'axe Y","dialog.select.type":"Type d'\xE9l\xE9ment","dialog.create_texture.max_edge_angle":"Seuil d'angle de bord","dialog.create_texture.max_edge_angle.desc":"L'angle maximal entre deux faces auquel elles seront encore combin\xE9es","dialog.create_texture.max_island_angle":"Seuil de l'angle de l'\xEEle","dialog.create_texture.max_island_angle.desc":"L'angle maximum qui peut \xEAtre combin\xE9 dans le m\xEAme \xEElot UV","settings.mobile_panel_side":"C\xF4t\xE9 panneau mobile","settings.mobile_panel_side.desc":"S\xE9lectionnez le c\xF4t\xE9 des panneaux d'\xE9cran affich\xE9s lors de l'utilisation de Blockbench en orientation paysage","settings.obj_face_export_mode":"Mode d'exportation de visage OBJ","settings.obj_face_export_mode.desc":"Choisissez de laisser l'exportateur OBJ convertir toutes les faces en tris ou quads","settings.obj_face_export_mode.both":"D\xE9faut","settings.obj_face_export_mode.tris":"Convertir en tris","settings.obj_face_export_mode.quads":"Convertir en Quads","action.seam_tool":"Outil de couture","action.seam_tool.desc":"Outil pour d\xE9finir les coutures UV sur les bords du maillage","action.resolve_group":"R\xE9soudre le groupe","action.resolve_group.desc":"R\xE9soudre le groupe tout en conservant ses enfants au m\xEAme endroit","action.move_to_group":"D\xE9placer vers le groupe","action.move_to_group.desc":"D\xE9placer les \xE9l\xE9ments s\xE9lectionn\xE9s vers un autre groupe de contours","action.select_seam":"S\xE9lectionnez la couture UV","action.select_seam.desc":"S\xE9lectionnez le mode de couture UV pour les bords s\xE9lectionn\xE9s","action.select_seam.auto":"Auto","action.select_seam.join":"Rejoindre","action.select_seam.divide":"Diviser","action.adjust_brightness_contrast":"Ajuster la luminosit\xE9 et le contraste...","action.adjust_brightness_contrast.desc":"Ajuster la luminosit\xE9 et le contraste de la texture s\xE9lectionn\xE9e","action.adjust_saturation_hue":"Ajuster la saturation et la teinte...","action.adjust_saturation_hue.desc":"Ajuster la saturation et la teinte de la texture s\xE9lectionn\xE9e","action.invert_colors":"Inverser les couleurs","action.invert_colors.desc":"Inverser toutes les couleurs de la texture s\xE9lectionn\xE9e","action.adjust_curves":"Ajuster les courbes...","action.adjust_curves.desc":"Ajuster les courbes de luminosit\xE9 de la texture s\xE9lectionn\xE9e","action.flip_texture_x":"Retourner la texture horizontalement","action.flip_texture_y":"Retourner la texture verticalement","action.resize_texture":"Redimensionner la texture...","action.view_mode.uv":"Aper\xE7u UV","action.append_to_template":"Ajouter des \xE9l\xE9ments au mod\xE8le...","action.append_to_template.desc":"Ajouter les \xE9l\xE9ments actuellement s\xE9lectionn\xE9s au mod\xE8le de texture","action.move_texture_with_uv":"D\xE9placer la texture avec UV","action.move_texture_with_uv.desc":"D\xE9placez la texture de la face lorsque vous faites glisser des faces UV","action.timeline_setups":"Configurations de la chronologie","action.save_timeline_setup":"Enregistrer la configuration de la chronologie...","action.save_timeline_setup.desc":"Enregistrer un pr\xE9r\xE9glage pour les animateurs et canaux actuellement s\xE9lectionn\xE9s","menu.texture":"Texture","menu.texture.render_mode.default":"D\xE9faut","menu.texture.merge_onto_texture":"Fusionner sur la texture ci-dessus","menu.animation.unload":"D\xE9charger","panel.timeline":"Chronologie","action.pan_tool":"Outil panoramique","action.pan_tool.desc":"Outil pour naviguer dans la fen\xEAtre et l'\xE9diteur de texture","mode.start.recent.favorite":"Marquer comme favori","mode.start.info":"Information","mode.start.target":"Cible","mode.start.start":"D\xE9marrer","mode.start.create_new":"Cr\xE9er un nouveau mod\xE8le","mode.start.format.informations":"Bon \xE0 savoir:","mode.start.format.resources":"Ressources:","format.free.info.meshes":"Dans ce format, vous pouvez cr\xE9er des mod\xE8les low poly \xE0 l'aide de cubes et de maillages de forme personnalis\xE9e.","format.free.info.limitation":"Les mod\xE8les ne peuvent pas \xEAtre charg\xE9s dans des jeux n\xE9cessitant des formats sp\xE9cialis\xE9s, tels que Minecraft.","format.skin.info.skin":"Ce format est con\xE7u pour cr\xE9er des skins Minecraft et des textures d'entit\xE9s.","format.skin.info.model":"Le mod\xE8le ne peut pas \xEAtre modifi\xE9. Pour apporter des modifications au mod\xE8le, convertissez d'abord dans un format diff\xE9rent via **Fichier** > **Convertir le projet**.","format.java_block.info.rotation":"Les rotations sont limit\xE9es \xE0 des pas de 22,5 degr\xE9s et \xE0 un axe par \xE9l\xE9ment","format.java_block.info.size":"Le mod\xE8le est limit\xE9 \xE0 une taille de 3 par 3 par 3 blocs. Les param\xE8tres d'affichage peuvent cependant agrandir les mod\xE8les d'articles","format.java_block.info.animation":"Ce format ne prend pas en charge les animations dans Minecraft vanille. Si vous cr\xE9ez un mod, vous pouvez utiliser GeckoLib pour animer des mod\xE8les. Sinon, la seule fa\xE7on d'animer est de changer le mod\xE8le \xE0 l'aide de commandes ou de textures anim\xE9es.","format.bedrock.info.textures":"Chaque mod\xE8le ne peut avoir qu'une seule texture","format.bedrock_block":"Bloc de Bedrock","format.bedrock_block.desc":"Mod\xE8le de bloc pour Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"La taille des cubes individuels est limit\xE9e \xE0 des nombres entiers.","format.modded_entity.info.format":"Les mod\xE8les sont \xE9crits en code Java au lieu de structures de donn\xE9es d\xE9di\xE9es comme tous les autres formats d'exportation Blockbench.","format.optifine_entity.info.optifine_required":"Les utilisateurs sans OptiFine install\xE9 ne verront pas le mod\xE8le.","format.optifine_entity.info.pivots":"Les pivots osseux sont verrouill\xE9s, c'est donc une bonne id\xE9e de les laisser intacts.","format_category.low_poly":"Faible Polygone","format_category.minecraft":"Minecraft","format_category.other":"Autre","format_category.loaders":"Chargeurs","message.recover_backup.recover":"R\xE9cup\xE9rer","message.invalid_characters.title":"Chemin non valide","message.invalid_characters.message":"Le chemin du fichier import\xE9 contient des caract\xE8res non valides, des lettres majuscules ou des espaces blancs. Les caract\xE8res pris en charge sont : %0","dialog.share_model.thumbnail":"Vignette","dialog.skin.high_res_texture":"Veuillez noter que les skins avec la r\xE9solution s\xE9lectionn\xE9e ne fonctionneront pas comme des skins Minecraft normaux. S\xE9lectionnez une r\xE9solution inf\xE9rieure.","settings.allow_display_slot_mirror":"Autoriser la mise en miroir de l'affichage","settings.allow_display_slot_mirror.desc":"Autoriser la mise en miroir des emplacements d'affichage pour les mod\xE8les d'\xE9l\xE9ments Java. AVERTISSEMENT : Cela ne fonctionne que dans Minecraft 1.14 ou ant\xE9rieur ou dans des cas particuliers.","action.switch_tabs":"Changer d'onglet","action.switch_tabs.desc":"Faites d\xE9filer les onglets ouverts. Maintenez la touche Maj enfonc\xE9e pour faire un cycle dans la direction oppos\xE9e.","action.unselect_all":"D\xE9s\xE9lectionner tout","action.save_palette":"Sauvegarder la palette...","action.save_palette.desc":"Enregistrez la palette de couleurs actuelle dans Blockbench pour une utilisation ult\xE9rieure","action.keyframe_column_create":"Cr\xE9er une colonne d'images cl\xE9s","action.keyframe_column_create.desc":"Cl\xE9 tous les canaux de la chronologie au code temporel actuel, s'ils ont d\xE9j\xE0 des images cl\xE9s","action.keyframe_column_select":"S\xE9lectionner la colonne d'images cl\xE9s","action.keyframe_column_select.desc":"S\xE9lectionner toutes les images cl\xE9s de la timeline le long d'une colonne sous la t\xEAte de lecture.","menu.uv":"UV","menu.keyframe":"Image cl\xE9","menu.palette.load.update":"Palette de mise \xE0 jour","menu.palette.load.update.desc":"Met \xE0 jour cette palette avec les couleurs de la palette Blockbench actuelle","menu.timeline_marker.set_time":"R\xE9gler le temps...","uv_editor.scale_uv":"\xC9chelle UV","action.preview_scene":"Aper\xE7u de la sc\xE8ne","action.preview_scene.desc":"Modifier la sc\xE8ne d'aper\xE7u du mod\xE8le","preview_scene.minecraft_overworld":"Surmonde Minecraft","preview_scene.minecraft_nether":"Nether Minecraft","preview_scene.minecraft_end":"Fin de Minecraft","dialog.project.modded_entity_flip_y":"Retourner l'axe Y","preview_scene.studio":"Studio","format.image":"Image","modifier_actions.set_copy_source":"D\xE9finir la source de la copie","message.load_images.title":"Charger les images","message.load_images.edit_image":"Modifier les images","dialog.add_primitive.align_edges":"Aligner les bords","dialog.flip_animation.show_in_timeline":"Afficher les os modifi\xE9s dans la timeline","settings.default_cube_size":"Taille du cube","settings.default_cube_size.desc":"D\xE9finir la taille du cube par d\xE9faut lors de la cr\xE9ation d'un nouveau cube","settings.uniform_keyframe":"\xC9chelle uniforme d'images cl\xE9s","settings.uniform_keyframe.desc":"D\xE9finit les \xE9chelles des images cl\xE9s \xE0 une mise \xE0 l'\xE9chelle uniforme par d\xE9faut","settings.nearest_rectangle_select":"S\xE9lection du rectangle : Bord le plus proche","settings.nearest_rectangle_select.desc":"Accrocher les s\xE9lections de rectangles au bord du pixel le plus proche, comme dans GIMP, au lieu de pixels entiers.","settings.pick_color_opacity":"Choisir l'opacit\xE9 des couleurs","settings.pick_color_opacity.desc":"Choisir l'opacit\xE9 de la couleur avec le s\xE9lecteur de couleur et d\xE9finissez-la comme opacit\xE9 du pinceau","settings.paint_with_stylus_only":"Peindre avec le stylet uniquement","settings.paint_with_stylus_only.desc":"Utiliser uniquement le stylet pour peindre, r\xE9server la souris ou l'entr\xE9e tactile pour la navigation.","action.copy_brush_mode":"Copier le mode du pinceau","action.copy_brush_mode.copy":"Copier","action.copy_brush_mode.pattern":"Motif","action.copy_brush_mode.sample":"\xC9chantillon","action.brush_shape":"Forme du pinceau","action.brush_shape.square":"Carr\xE9","action.brush_shape.circle":"Cercle","action.blend_mode":"Mode de fusion","action.blend_mode.default":"D\xE9faut","action.blend_mode.set_opacity":"D\xE9finir l'opacit\xE9","action.blend_mode.color":"Couleur","action.blend_mode.behind":"Derri\xE8re","action.blend_mode.multiply":"Multiplier","action.blend_mode.divide":"Diviser","action.blend_mode.add":"Ajouter","action.blend_mode.subtract":"Soustraire","action.blend_mode.screen":"\xC9cran","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Lumi\xE8re forte","action.blend_mode.difference":"Diff\xE9rence","action.copy_brush":"Copier le pinceau","action.copy_brush.desc":"Pinceau pour cloner des parties de votre texture ou dessiner des motifs","action.validator_window":"Voir les probl\xE8mes du mod\xE8le...","action.validator_window.desc":"Ouvre le validateur, qui r\xE9pertorie les probl\xE8mes du mod\xE8le actuel.","action.cancel_gif":"Annuler le GIF","menu.text_edit.copy_vector":"Copier le vecteur","menu.brush_presets.dialog":"Pinceaux pr\xE9r\xE9gl\xE9s...","menu.brush_presets.pixel_brush":"Pinceau de pixels","menu.brush_presets.smooth_brush":"Pinceau lisse","menu.texture.edit_in_blockbench":"Modifier dans Blockbench","menu.mirror_painting.axis":"Axe","menu.mirror_painting.axis.desc":"S\xE9lectionner l'axe sur lequel les traits de peinture seront refl\xE9t\xE9s.","menu.mirror_painting.global":"Sym\xE9trie globale","menu.mirror_painting.global.desc":"Activation de la peinture miroir sur le mod\xE8le dans l'espace global","menu.mirror_painting.local":"Sym\xE9trie locale","menu.mirror_painting.local.desc":"Permettre la peinture miroir dans l'espace local pour chaque \xE9l\xE9ment","menu.mirror_painting.texture_frames":"Images de texture anim\xE9es","menu.mirror_painting.texture_frames.desc":"Refl\xE9ter les coups de pinceau pour chaque image des textures anim\xE9es","format.bedrock_block.info.size_limit":"La taille totale d'un bloc est limit\xE9e \xE0 30 pixels dans toutes les dimensions. La limite peut \xEAtre d\xE9centr\xE9e dans toutes les directions de 7 pixels par rapport au centre du bloc.","format.bedrock_block.info.textures":"De multiples textures peuvent \xEAtre appliqu\xE9es \xE0 diff\xE9rents cubes dans Blockbench, mais cela n\xE9cessitent une configuration suppl\xE9mentaire dans le pack de comportement pour fonctionner correctement dans le jeu.","format.image.desc":"Modifier des images dans l'\xE9diteur d'images 2D","generic.delete_all":"Supprimer tout","message.child_model_only.open":"Ouvrir le parent","message.child_model_only.open_with_textures":"Ouvrir le parent & adopter ses textures","dialog.project.credit":"Cr\xE9dit","dialog.convert_project.create_copy":"Cr\xE9er une copie","dialog.texture.frame_time":"Temps d'une image","dialog.texture.frame_time.desc":"D\xE9finit la dur\xE9e pendant laquelle chaque image sera visible, en ticks. Chaque tick correspond \xE0 1/20e de seconde.","dialog.texture.frame_interpolate":"Interpoler","dialog.texture.frame_interpolate.desc":"Interpoler entre les images de l'animation par un fondu encha\xEEn\xE9 vers l'image suivante","dialog.texture.frame_order_type":'Mode "en boucle"',"dialog.texture.frame_order_type.loop":"Boucle","dialog.texture.frame_order_type.backwards":"Boucle \xE0 l'envers","dialog.texture.frame_order_type.back_and_forth":"Va-et-vient","dialog.texture.frame_order_type.custom":"Ordre personnalis\xE9","dialog.texture.frame_order":"Ordre des images","dialog.texture.frame_order.desc":"D\xE9finissez un ordre de trame personnalis\xE9 en les listant dans un nouvel ordre. Le premier indice de trame commence \xE0 0.","dialog.select.mode":"Mode","dialog.select.mode.new":"Nouvelle s\xE9lection","dialog.select.mode.add":"Ajouter \xE0 la s\xE9lection","dialog.select.mode.remove":"Retirer de la s\xE9lection","dialog.select.mode.in_selection":"S\xE9lectionner uniquement dans Selected","dialog.predicate_overrides.model":"Mod\xE8le","dialog.predicate_overrides.predicates":"Pr\xE9dicats","dialog.predicate_overrides.variants":"Variantes","dialog.predicate_overrides.start_value":"Valeur de d\xE9part","dialog.predicate_overrides.add_override":"Ajouter une surcharge","dialog.predicate_overrides.add_predicate":"Ajouter un pr\xE9dicat","dialog.predicate_overrides.generate_overrides":"G\xE9n\xE9rer des surcharges","dialog.predicate_overrides.confirm_delete":"\xCAtes-vous s\xFBr de vouloir supprimer toutes les surcharges ?","dialog.predicate_overrides.predicate.angle":"Angle de la boussole","dialog.predicate_overrides.predicate.blocking":"Bloque","dialog.predicate_overrides.predicate.broken":"Est cass\xE9","dialog.predicate_overrides.predicate.cast":"Est coul\xE9","dialog.predicate_overrides.predicate.cooldown":"Rechargement","dialog.predicate_overrides.predicate.damage":"D\xE9g\xE2ts","dialog.predicate_overrides.predicate.damaged":"Est endommag\xE9","dialog.predicate_overrides.predicate.lefthanded":"Positionn\xE9 dans la main gauche","dialog.predicate_overrides.predicate.pull":"Montant tir\xE9","dialog.predicate_overrides.predicate.pulling":"Tire","dialog.predicate_overrides.predicate.charged":"Charg\xE9","dialog.predicate_overrides.predicate.firework":"A des feux d'artifice","dialog.predicate_overrides.predicate.throwing":"Pr\xEAt \xE0 lancer","dialog.predicate_overrides.predicate.time":"Heure de la journ\xE9e","dialog.predicate_overrides.predicate.custom_model_data":"Donn\xE9e de mod\xE8le personnalis\xE9es","dialog.predicate_overrides.predicate.level":"Niveau de lumi\xE8re","dialog.predicate_overrides.predicate.filled":"Niveau de remplissage du sac","dialog.predicate_overrides.predicate.tooting":"Sifflant","settings.model_export_scale":"\xC9chelle d'exportation du mod\xE8le","settings.model_export_scale.desc":"Facteur par lequel l'\xE9chelle des mod\xE8les glTF, DAE et FBX export\xE9s est r\xE9duite. La valeur par d\xE9faut est 16, ce qui convertit 16 unit\xE9s Blockbench en 1 m\xE8tre dans l'exportation.","action.export_fbx":"Exporter le mod\xE8le FBX","action.export_fbx.desc":"Exporter le mod\xE8le et les animations au format fbx pour les utiliser dans d'autres applications 3D et moteurs de jeux.","action.center_lateral":"Lat\xE9ral central","action.center_lateral.desc":"Centrer les \xE9l\xE9ments s\xE9lectionn\xE9s sur les axes X et Z","action.adjust_opacity":"Ajuster l'opacit\xE9...","action.adjust_opacity.desc":"Ajuster l'opacit\xE9 de la texture s\xE9lectionn\xE9e","action.rotate_texture_cw":"Faire tourner la texture dans le sens des aiguilles d'une montre","action.rotate_texture_ccw":"Faire tourner la texture dans le sens inverse des aiguilles d'une montre","action.predicate_overrides":"Modifier les surcharges des pr\xE9dicats...","action.predicate_overrides.desc":"S\xE9lectionner des mod\xE8les pour remplacer ce mod\xE8le en fonction des conditions s\xE9lectionn\xE9es","action.auto_set_cullfaces":"D\xE9finir automatiquement les Cullfaces","action.auto_set_cullfaces.desc":"G\xE9n\xE9ration automatique de cullfaces pour cacher les faces lorsqu'elles sont couvertes par le bloc voisin.","menu.texture.edit_externally":"Editer en externe","menu.mirror_painting.texture":"\xC9diteur de sym\xE9trie 2D","menu.mirror_painting.texture.desc":"Permettre la peinture miroir dans l'espace 2D sur l'image ou la texture","menu.animator.rotation_global":"Tourner dans l'espace global","uv_editor.face_properties":"Propri\xE9t\xE9s des faces","uv_editor.face_properties.material_instance":"Instance de mat\xE9riau","uv_editor.tint.info":"La teinte peut \xEAtre activ\xE9e sur une face pour dire \xE0 Minecraft de le teinter. De base, la teinte ne peut \xEAtre utilis\xE9e que par des blocs sp\xE9cifiques tels que les feuilles et la poussi\xE8re de redstone, et ne peut avoir qu'une valeur de 0.","uv_editor.cullface.info":"L'activation du cullface indique \xE0 une face du bloc de dispara\xEEtre si un autre bloc plein est plac\xE9 contre dans la direction sp\xE9cifi\xE9e dans votre monde Minecraft. Ceci peut \xEAtre utilis\xE9 pour optimiser les performances.","uv_editor.material_instance.info":"Les instances de mat\xE9riau peuvent \xEAtre d\xE9finies sur un nom d\xE9fini par l'utilisateur. Ce nom peut \xEAtre utilis\xE9 dans le fichier JSON de bloc du pack de comportement pour attribuer une texture et un mat\xE9riau particuliers \xE0 la face.","display.reference.frame_invisible":"Cadre (Invisible)","data.settings_profile":"Profil","message.display_skin.invalid_name":'Impossible de trouver un compte Minecraft portant le nom de "%0".',"dialog.load_plugins_from_query.title":"Charger des plugins","dialog.load_plugins_from_query.text":"Vous avez utilis\xE9 un lien qui n\xE9cessite l'installation de plugins. Souhaitez-vous les installer ?","dialog.select_model.title":"S\xE9lectionner un mod\xE8le","dialog.select_model.bones":"Os","dialog.select_model.cubes":"Cubes","dialog.settings.create_profile":"Cr\xE9er un profil...","settings_profile.confirm_delete":"\xCAtes-vous s\xFBr de vouloir supprimer ce profil de param\xE8tres?","settings_profile.condition.type.selectable":"S\xE9lectionnable manuellement","settings.interface_mode":"Mode d'interface","settings.interface_mode.desc":"Mode d'interface. Red\xE9marrez Blockbench pour appliquer les modifications","settings.interface_mode.auto":"Automatique","settings.interface_mode.desktop":"Bureau","settings.interface_mode.mobile":"Mobile","settings.paint_through_transparency":"Peindre \xE0 travers la transparence","settings.paint_through_transparency.desc":"Peindre \xE0 travers les pixels transparents lorsque le verrouillage du canal alpha est activ\xE9","action.tab_overview":"Aper\xE7u des onglets","action.tab_overview.desc":"Afficher tous les onglets ouverts dans une grille et passer \xE0 un","action.slider_color_red":"Couleur rouge","action.slider_color_green":"Couleur verte","action.slider_color_blue":"Couleur Bleu","action.add_animation_controller":"Ajouter un contr\xF4leur d'animation","action.add_animation_controller.desc":"Cr\xE9er un contr\xF4leur d'animation vierge","action.animation_controller_preview_mode":"Aper\xE7u du contr\xF4leur","action.animation_controller_preview_mode.paused":"Mis en pause","action.animation_controller_preview_mode.manual":"Pr\xE9visualisation manuelle","action.animation_controller_preview_mode.play":"Lecture automatique","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Lier poign\xE9es de B\xE9zier","action.keyframe_bezier_linked.desc":"Connecte les poign\xE9es de B\xE9zier des images cl\xE9s droite et gauche","action.reset_keyframe_handles":"R\xE9initialiser poign\xE9es images cl\xE9s","action.reset_keyframe_handles.desc":"R\xE9initialise les poign\xE9es de B\xE9zier des images cl\xE9s s\xE9lectionn\xE9es","action.looped_animation_playback":"Lecture en boucle","action.looped_animation_playback.desc":"Pr\xE9visualisez les animations dans une boucle infinie","timeline.bind_to_actor":"Lier \xE0 l'acteur","animation_controllers.select_preset":"S\xE9lectionner un pr\xE9r\xE9glage de contr\xF4leur...","animation_controllers.state.animations":"Animations","animation_controllers.state.particles":"Particules","animation_controllers.state.sounds":"Sons","animation_controllers.state.on_entry":"En entr\xE9e","animation_controllers.state.on_exit":"En sortie","animation_controllers.state.transitions":"Transitions","animation_controllers.state.condition":"Condition","animation_controllers.state.blend_transition":"Temps de m\xE9lange","animation_controllers.state.shortest_path":"M\xE9langer par chemin le plus court","animation_controllers.state.edit_transition":"Modifier la transition","menu.color_picker.picker_type":"Type de s\xE9lecteur","menu.color_picker.picker_type.square":"Carr\xE9","menu.color_picker.picker_type.wheel":"Roue","menu.color_picker.slider_mode":"Mode curseur","menu.color_picker.slider_mode.hsv":"Teinte, Saturation, Valeur","menu.color_picker.slider_mode.rgb":"Rouge, Vert, Bleu","menu.texture.render_mode.additive":"Additif","panel.color.picker_options":"Options du s\xE9lecteur de couleurs","panel.animation_controllers":"Contr\xF4leur d'animation","display.preset.armor_stand":"Sol (Porte-armure)","data.file_path":"Chemin du fichier","dialog.extrude.orientation":"Orientation","dialog.extrude.orientation.upright":"Debout","dialog.extrude.orientation.flat":"Plat","dialog.scale.box_uv_warning":"La mise \xE0 l'\xE9chelle d'un mod\xE8le Encadrement UV peut casser les UV de votre mod\xE8le. \xC0 la place, essayez de redimensionner votre mod\xE8le avec un outil tiers, ou passez en mode UV par face dans Fichier \u2192 Projet\u2026","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"S\xE9quence PNG","dialog.create_gif.pixelate":"Pix\xE9liser","dialog.create_gif.bg_image":"Image d'arri\xE8re-plan","dialog.create_gif.turn.desc":"Faites pivoter le mod\xE8le pendant l'enregistrement. Utilisez des valeurs n\xE9gatives pour faire tourner le mod\xE8le dans le sens des aiguilles d'une montre. Une valeur de 60 correspond \xE0 une rotation toutes les secondes.","settings_profile.condition":"Condition","settings_profile.condition.type.file_path.desc":"Utilisez la syntaxe d'expression r\xE9guli\xE8re pour faire correspondre le chemin d'acc\xE8s au fichier du projet en cours. Utiliser des barres obliques pour les r\xE9pertoires","settings.only_selected_bezier_handles":"Afficher uniquement les poign\xE9es de B\xE9zier s\xE9lectionn\xE9es","settings.only_selected_bezier_handles.desc":"Masque les poign\xE9es de B\xE9zier des images cl\xE9s qui ne sont pas actuellement s\xE9lectionn\xE9es","settings.embed_textures":"Int\xE9grer les textures","settings.embed_textures.desc":"Int\xE9grer le contenu des fichiers de texture dans les fichiers .bbmodel","action.selection_mode.cluster":"Cluster","dialog.copied_to_clipboard":"Copi\xE9 dans le presse-papiers","data.reference_image":"Image de r\xE9f\xE9rence","message.delete_reference_image":"\xCAtes-vous s\xFBr de vouloir supprimer cette image de r\xE9f\xE9rence ? Cette action est irr\xE9versible.","message.add_reference_image.message":"S\xE9lectionner l'endroit o\xF9 charger l'image de r\xE9f\xE9rence","message.add_reference_image.project":"Ajouter \xE0 ce projet","message.add_reference_image.app":"Ajouter \xE0 tous les projets","message.import_particle_texture.import":"Importer une texture de particule","message.import_particle_texture.message":"Souhaitez-vous importer un fichier de texture \xE0 utiliser pour votre particule ?","message.save_codec_selector.title":"Enregistrer le format du mod\xE8le","message.save_codec_selector.message":"S\xE9lectionnez un format pour enregistrer le mod\xE8le.","message.save_codec_selector.project_file":"Projet Blockbench (.bbmodel)","message.save_codec_selector.both":"Les deux","message.display_skin.username":"Nom d'utilisateur (Java)","message.palette_locked":"La palette est verrouill\xE9e","dialog.project.default_uv_mode":"Mode UV par d\xE9faut","dialog.project.default_uv_mode.description":"Le mode UV par d\xE9faut du projet. Le mode UV peut \xE9galement \xEAtre modifi\xE9 par cube.","dialog.export_options.title":"Options d'exportation","dialog.edit_texture.preview":"Aper\xE7u","dialog.proportional_editing.range":"Plage","dialog.proportional_editing.falloff":"Tomber","dialog.proportional_editing.falloff.linear":"Lin\xE9aire","dialog.proportional_editing.falloff.hermite_spline":"Lisse","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"S\xE9lection","dialog.proportional_editing.selection.linear":"Distance lin\xE9aire","dialog.proportional_editing.selection.connections":"Connexions","dialog.mirror_painting_texture_center.middle":"Milieu","dialog.mirror_painting_texture_center.custom":"Personnaliser","dialog.settings.reset_to_default":"R\xE9initialiser par d\xE9faut","keybindings.item.num_slider.increase":"Augmenter","keybindings.item.num_slider.decrease":"Diminuer","settings.always_show_splash_art":"Toujours afficher Splash Art","settings.always_show_splash_art.desc":"Toujours afficher le splash art sur l'\xE9cran de d\xE9marrage","action.slider_palette_color":"Changer la couleur de la palette","action.slider_palette_color.desc":"Faire d\xE9filer les couleurs de la palette","action.proportional_editing":"\xC9dition proportionnelle","action.proportional_editing.desc":"Affecte proportionnellement les sommets environnants lors de la modification de parties d'un maillage","action.limit_to_palette":"Limiter \xE0 la palette","action.limit_to_palette.desc":"Limite les couleurs de la texture \xE0 celles de la palette actuellement charg\xE9e","action.edit_reference_images":"Modifier les images de r\xE9f\xE9rence","action.edit_reference_images.desc":"Activez le mode image de r\xE9f\xE9rence pour ajouter ou modifier des images de r\xE9f\xE9rence et des plans","action.add_reference_image":"Ajouter une image de r\xE9f\xE9rence","action.reference_image_from_clipboard":"Image de r\xE9f\xE9rence du presse-papier","action.reference_image_list":"Images de r\xE9f\xE9rence","action.connect_uv_faces":"Connecter les faces UV","action.connect_uv_faces.desc":"Connecter les faces UV s\xE9lectionn\xE9es \xE0 la derni\xE8re face UV s\xE9lectionn\xE9e","action.merge_uv_vertices":"Fusionner les sommets UV","action.merge_uv_vertices.desc":"Accrocher les premiers sommets UV s\xE9lectionn\xE9s aux derniers sommets UV s\xE9lectionn\xE9s","action.bedrock_animation_mode":"Mode d'Animation Bedrock","action.bedrock_animation_mode.desc":"S\xE9lectionnez le mode pour modifier les animations de Minecraft : Bedrock Edition dans","action.bedrock_animation_mode.entity":"Entit\xE9","action.bedrock_animation_mode.attachable_first":"Article 1\xE8re Personne","action.bedrock_animation_mode.attachable_third":"Article 3e Personne","timeline.amplify":"Amplifier","menu.options":"Options...","menu.palette.lock_palette":"Verrouiller la palette","menu.uv.export":"Exporter la cartographie UV","menu.uv.flip_x":"Miroir X","menu.uv.flip_y":"Miroir Y","menu.mirror_painting.enabled":"Activer","reference_image.position":"Position","reference_image.size":"Taille","reference_image.rotation":"Rotation","reference_image.opacity":"Opacit\xE9","reference_image.visibility":"Visibilit\xE9","reference_image.clear_mode":"Effacer le Mode","reference_image.layer":"Couche","reference_image.layer.background":"Derri\xE8re le Mod\xE8le","reference_image.layer.viewport":"Mod\xE8le ci-dessus","reference_image.layer.float":"Au-dessus de l'interface","reference_image.scope":"Port\xE9e","reference_image.scope.project":"Seulement ce projet","reference_image.scope.global":"Tous les projets","reference_image.enabled_modes":"Activ\xE9 dans les Modes","codec.common.encoding":"Codage","codec.common.armature":"Exporter des groupes en tant qu'armature","codec.common.export_animations":"Exporter les animations","codec.common.embed_textures":"Int\xE9grer des textures","preview.center_camera":"Cam\xE9ra centrale","display.reference.frame_top":"Article Haut du Cadre","display.reference.frame_top_invisible":"Article Cadre sup\xE9rieur (invisible)","action.proportional_editing_range":"Plage d'\xE9dition proportionnelle","action.proportional_editing_range.desc":"Ajuster la plage pour l'\xE9dition proportionnelle","action.toggle_all_reference_images":"Cacher/Afficher toutes les images de r\xE9f\xE9rence","action.toggle_all_reference_images.desc":"Afficher/Masquer toutes les images de r\xE9f\xE9rence en m\xEAme temps","action.add_animation_controller_state":"Ajouter l'\xE9tat du contr\xF4leur d'animation","action.add_animation_controller_state.desc":"Ajouter un nouvel \xE9tat au contr\xF4leur d'animation","menu.slider.round_value":"Valeur arrondie","texture.error.too_large":"La r\xE9solution d\xE9passe le maximum de %0","dialog.copy_to_clipboard":"Copier dans le presse-papier","dialog.open_url":"Ouvrir l'URL","reference_image.image":"Image","uv_editor.rotate_uv":"Rotation UV","generic.error":"Erreur","projects.start_screen":"\xC9cran d'accueil","message.invalid_link.message":'Le model partag\xE9 "%0" que vous essayez de charger et invalide ou a expir\xE9.',"message.plugin_dependencies.title":"D\xE9pendances du plugin","message.plugin_dependencies.message1":"Le plugin requiert ces d\xE9pendances :","message.plugin_dependencies.message1_update":"Le plugin %0 a \xE9t\xE9 mis \xE0 jour et requiert d\xE9sormais ces d\xE9pendances :","message.plugin_dependencies.message2":"Souhaitez-vous les installer pour continuer ?","message.plugin_dependencies.invalid":"Malheureusement le plugin ne peux pas \xEAtre install\xE9, due \xE0 une d\xE9pendance invalide :","message.preview_scene_load_failed":"Echec du chargement de la sc\xE8ne de pr\xE9visualisation. V\xE9rifiez votre connexion internet.","dialog.convert_project.text1":"Convertir le projet dans un autre format.","dialog.convert_project.text2":"La conversion se fait \xE0 vos risques et p\xE9rils. Les formats ont des caract\xE9ristiques et des restrictions diff\xE9rentes, de sorte que la conversion peut, dans certains cas, casser certaines parties de votre projet.","dialog.convert_project.text3":"Vous ne pouvez pas annuler une conversion, c'est la raison pour laquelle, par d\xE9faut, une copie est cr\xE9e.","dialog.unsaved_work.title":"Travail non sauvegard\xE9","dialog.unsaved_work.text":"Le projet en cours contiens des modifications non sauvegard\xE9es. Voulez-vous sauvegarder ces changements ?","dialog.unsaved_work.discard_all":"Tout rejeter","dialog.unsaved_work.save_all":"Tout sauvegarder","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Recadrer/\xC9tendre","dialog.resize_texture.mode.scale":"\xC9chelle","dialog.plugins.is_installed":"Install\xE9","dialog.plugins.is_disabled":"D\xE9sactiv\xE9","dialog.plugins.disable":"D\xE9sactiver","dialog.plugins.enable":"Activer","dialog.plugins.dependencies":"D\xE9pend de :","dialog.view_backups.open_folder":"Ouvrir le dossier","dialog.share_model.reference_images":"Inclure les images de r\xE9f\xE9rence","dialog.share_model.too_large":"Echec de l'envoi : Model trop volumineux","dialog.share_model.too_large_references":"Echec de l'envoi : Model trop volumineux. Essayez sans les images de r\xE9f\xE9rences.","settings.stretch_linked":"Lien d'\xE9tirement","settings.stretch_linked.desc":"Etirer le cube dans toutes les directions avec la m\xEAme valeur","settings.grids":"Afficher les grilles","settings.grids.desc":"Montrer ou cacher toutes les grilles 3D","settings.double_click_switch_tools":"Changer d'outil avec un double clique","settings.double_click_switch_tools.desc":"Double clique sur la vue pour changer d'outil","settings.outlines_in_paint_mode":"Contours de s\xE9lection en mode peinture","settings.outlines_in_paint_mode.desc":"Affichage des contours de s\xE9lection des \xE9l\xE9ments en mode peinture","settings.json_indentation":"Indentation JSON","settings.json_indentation.desc":"Style d'indentation pour les fichiers JSON export\xE9s","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Espaces : 4","settings.json_indentation.spaces_2":"Espaces : 2","action.slider_stretch":"Etirement","action.slider_stretch.desc":"Etire les cubes de fa\xE7on multiplicative sur l'axe %0 sans changer les UV","action.view_backups":"Voir les sauvegardes","action.view_backups.desc":"Parcourir la liste des sauvegardes automatiques de projets","action.search_outliner":"Rechercher une liste","action.search_outliner.desc":"Rechercher des noms d'\xE9l\xE9ments sp\xE9cifiques dans la liste","action.mirror_modeling":"Mod\xE9lisation en miroir","action.mirror_modeling.desc":"Activer la mod\xE9lisation en miroir sur l'axe X. Tous les changements effectu\xE9s dans la fen\xEAtre de visualisation seront r\xE9percut\xE9s de l'autre c\xF4t\xE9, sauf s'ils sont sp\xE9cifiquement d\xE9sactiv\xE9s dans l'\xE9l\xE9ment.","action.allow_element_mirror_modeling":"Autoris\xE9 la mod\xE9lisation en miroir","action.allow_element_mirror_modeling.desc":"Choisir si les \xE9l\xE9ments s\xE9lectionn\xE9s peuvent \xEAtre affect\xE9s par la mod\xE9lisation en miroir","action.switch_face_crease":"Changer le pli de la face","action.switch_face_crease.desc":"Changement du sens de pliage du quadrilat\xE8re au milieu","action.clear_unused_texture_space":"Effacer les espaces non utiliser de la texture","action.clear_unused_texture_space.desc":"Effacer les parties de la texture qui ne sont associ\xE9es \xE0 aucun \xE9l\xE9ment par la cartographie UV","action.split_screen":"S\xE9parer l'\xE9cran","action.split_screen.desc":"S\xE9lectionner un mode d'\xE9cran partag\xE9","action.split_screen.single":"Seul","action.split_screen.double_horizontal":"Double horizontal","action.split_screen.double_vertical":"Double vertical","action.split_screen.quad":"Quadruple","action.split_screen.triple_left":"Triple gauche","action.split_screen.triple_right":"Triple droit","action.split_screen.triple_top":"Triple haut","action.split_screen.triple_bottom":"Triple bas","action.uv_project_from_view":"Projet UV \xE0 partir de la vue","action.uv_project_from_view.desc":"G\xE9n\xE9rer automatiquement des UV pour les faces s\xE9lectionn\xE9es \xE0 partir de la perspective de la vue 3D","action.graph_editor_other_graphs":"Afficher les autres graphiques","action.graph_editor_other_graphs.desc":"Affichage ou non des graphiques des axes non s\xE9lectionn\xE9s","action.graph_editor_include_other_graphs":"Inclure d'autres graphiques","action.graph_editor_include_other_graphs.desc":"Si l'\xE9diteur de graphiques inclut les graphiques qui ne sont pas s\xE9lectionn\xE9s dans la vue","action.set_ik_source":"D\xE9finir la racine IK","action.set_ik_source.desc":"S\xE9lectionner l'os racine de la cha\xEEne qui doit \xEAtre d\xE9plac\xE9 par cet objet null via la cin\xE9matique inverse","edit.loop_cut.cuts":"Coupes","panel.element.stretch":"\xC9tirer","preview_scene.minecraft_plains":"Plaines","preview_scene.minecraft_cherry_grove":"Bois de cerisier","preview_scene.minecraft_snowy_tundra":"Toundra enneig\xE9e","preview_scene.minecraft_sunset":"Coucher de soleil","preview_scene.minecraft_night":"Nuit","preview_scene.minecraft_desert":"D\xE9sert","preview_scene.minecraft_underwater":"Sous l'eau","preview_scene.minecraft_coral_reef":"R\xE9cif de Corail","preview_scene.minecraft_lush_cave":"Cavernes luxuriantes","preview_scene.minecraft_deep_dark":"Ab\xEEmes","generic.navigate_forward":"Avant","generic.navigate_back":"Arri\xE8re","action.element_render_order":"Ordre de rendu de la transparence","action.element_render_order.default":"Auto","action.element_render_order.behind":"Derri\xE8re","action.element_render_order.in_front":"Devant","message.installing_update.title":"Mise \xE0 jour disponible","message.installing_update.message":"Une nouvelle version est pr\xEAte \xE0 \xEAtre install\xE9e. Apr\xE8s la fermeture de l'application, merci de laisser environ %0 secondes avant de rouvrir Blockbench ou d'\xE9teindre votre ordinateur afin que la mise \xE0 jour soit install\xE9e.","settings.brush_cursor_2d":"Curseur pinceau 2D","settings.brush_cursor_2d.desc":"Afficher un contour autour du pinceau dans l'espace de travail 2D","settings.brush_cursor_3d":"Curseur pinceau 3D","settings.brush_cursor_3d.desc":"Afficher un contour autour du pinceau dans l'espace de travail 3D","settings.cdn_mirror":"Utiliser le miroir CDN","settings.cdn_mirror.desc":"Utilisez le CDN miroir pour t\xE9l\xE9charger les plugins. Le miroir re\xE7oit les mises \xE0 jour plus rapidement et fonctionne dans certaines r\xE9gions o\xF9 le CDN par d\xE9faut ne fonctionne pas.","data.layer":"Calque","data.panel":"Panel","generic.confirm_delete":"\xCAtes-vous s\xFBr de vouloir supprimer ceci ?","format_category.general":"G\xE9n\xE9ral","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"R\xE9solution","dialog.advanced_screenshot.zoom_to_fit":"Zoomer pour ajuster","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Calques","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"Nouvelle s\xE9lection","action.selection_tool_operation_mode.add":"Ajouter \xE0 la s\xE9lection","action.selection_tool_operation_mode.subtract":"Soustraire \xE0 la s\xE9lection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Outil de s\xE9lection","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Baguette magique","action.selection_tool.color":"M\xEAme couleur","action.move_layer_tool":"D\xE9placer le calque","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"\xC9changer les couleurs","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Appliquer une rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Recadrer la texture \xE0 la s\xE9lection","action.create_empty_layer":"Cr\xE9er un calque vide","action.enable_texture_layers":"Activer les calques","action.disable_texture_layers":"D\xE9sactiver les calques","action.layer_opacity":"Opacit\xE9 du calque","action.layer_to_texture_size":"Agrandir le calque \xE0 la taille de la texture","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Faire une capture d'\xE9cran du mod\xE8le avec des options avanc\xE9es","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Calques","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Cr\xE9er une nouvelle image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Thickness","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Merge into","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Courbe","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"S\xE9lectionner plusieurs Points ou Poign\xE9es","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Forme","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Cercle","dialog.add_spline.diameter":"Diam\xE8tre","dialog.add_spline.sides_tubular":"Segments Tubulaires","dialog.add_spline.sides_radial":"Segments d'Anneaux","dialog.add_spline.radius":"Diam\xE8tre du Tube","dialog.add_spline.length":"Longueur","dialog.add_spline.width":"Largeur","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"R\xE9solution de la Courbe %0","action.slider_spline_resolution.desc":"Changer la r\xE9solution de la courbe sur l'axe %0 (%1)","action.slider_spline_resolution.u.desc_precision":"Segments d'Anneaux","action.slider_spline_resolution.v.desc_precision":"Segments Tubulaires","action.slider_spline_radius":"Diam\xE8tre de la courbe","action.slider_spline_radius.desc":"Changer le diam\xE8tre de la courbe","action.slider_spline_handle_tilt":"Roulis de la Poign\xE9e","action.slider_spline_handle_tilt.desc":"Changer le roulis de la Poign\xE9e de Courbe","action.slider_spline_handle_size":"Diam\xE8tre de la Poign\xE9e","action.slider_spline_handle_size.desc":"Changer le diam\xE8tre de la poign\xE9e","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Cr\xE9er une Courbe","action.add_spline.desc":"Cr\xE9er une nouvelle Courbe","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Mode de s\xE9lection des Courbes","action.spline_selection_mode.object":"Objet","action.spline_selection_mode.handles":"Poign\xE9es","action.spline_render_mode":"G\xE9om\xE9trie","action.spline_render_mode.mesh":"Tube","action.spline_render_mode.path":"Ligne","action.spline_render_mode.desc":"Quelle genre de g\xE9om\xE9trie cette courbe devrait rendre.","action.spline_uv_mode":"Type d'UV","action.spline_uv_mode.length_accurate":"Correspondant \xE0 la longueur","action.spline_uv_mode.uniform":"Uniforme","action.spline_uv_mode.per_segment":"Par Segment","action.spline_uv_mode.desc":"Comment les UV du tube de cette courbe sont d\xE9pli\xE9s.","action.spline_ring_segments":"Segments d'Anneaux","action.spline_ring_segments.desc":"Combien de divisions chaque Anneau du Tube de cette Courbe poss\xE8de.","action.spline_tube_segments":"Segment Tubulaires","action.spline_tube_segments.desc":"Combien de divisions cette Courbe poss\xE8de sur sa longueur.","action.spline_tube_radius":"Diam\xE8tre du Tube","action.spline_tube_radius.desc":"D\xE9finir le diam\xE8tre du Tube de cette Courbe.","action.spline_display_space":"Afficher les axes","action.spline_display_space.desc":"Affiche les axes spatiaux le long de la Courbe.","action.spline_handle_mode":"Mode de poign\xE9e","action.spline_handle_mode.desc":"Comment les Poign\xE9es de cette Courbe devrait se comporter.","action.spline_handle_mode.aligned":"Align\xE9e","action.spline_handle_mode.free":"Libre","action.spline_handle_mode.mirrored":"En Mirroir","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Appliqu\xE9 l'orientation","action.apply_spline_rotation.desc":"R\xE9initialise l'orientation de cette Courbe, et l'applique \xE0 la g\xE9om\xE9trie \xE0 la place.","action.extrude_spline_selection":"Extrusion sur la s\xE9l\xE9ction","action.extrude_spline_selection.desc":"Fait une extrusion a partir des Poign\xE9es s\xE9lectionn\xE9es sur toutes les Courbes.","action.split_spline":"Scind\xE9 la Courbe","action.split_spline.desc":"Coupe la courbe en deux objets \xE0 partir de la Poign\xE9e s\xE9lectionn\xE9e.","action.divide_spline_curve":"Diviser le segment","action.divide_spline_curve.desc":"Divise le segment s\xE9lectionn\xE9 en deux, et cr\xE9er une nouvelle poign\xE9e au point d'intersection.","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Etendre","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclique","spline_mesh.cyclic.desc":"D\xE9finis si cette courbe devrait \xEAtre ferm\xE9e ou non (Cercle ou Ligne)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Dimensions de la Courbe","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Plat","spline.shading.smooth":"Lisse","spline.shading":"Rendu","spline.shading.desc":"Comment le tube de cette Courbe devrait \xEAtre rendu.","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var zL={"dialog.ok":"OK","dialog.cancel":"Annulla","dialog.confirm":"Applica","dialog.close":"Chiudi","dialog.import":"Importa","dialog.save":"Salva","dialog.discard":"Ignora","dialog.dontshowagain":"Non mostrare pi\xF9","data.cube":"Cubo","data.group":"Gruppo","data.texture":"Trama","data.plugin":"Plugin","data.preview":"Anteprima","data.toolbar":"Barra Strumenti","data.image":"Immagine","keys.ctrl":"Ctrl","keys.shift":"Maiusc","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Elimina","keys.space":"Spazio","keys.leftclick":"Clic sinistro","keys.middleclick":"Clic centrale","keys.rightclick":"Clic destro","keys.tab":"Scheda","keys.backspace":"Backspace","keys.enter":"Invio","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"Tastierino numerico %0","keys.caps":"Blocco maiuscole","keys.menu":"Menu contestuale","keys.left":"Sinistra","keys.up":"Su","keys.right":"Destra","keys.down":"Gi\xF9","keys.pageup":"Pagina su","keys.pagedown":"Pagina gi\xF9","keys.plus":"Pi\xF9","keys.comma":"Virgola","keys.point":"Punto","keys.minus":"Meno","keys.cross":"Croce","keys.end":"Fine","keys.pos1":"Pos 1","keys.printscreen":"Timbro","keys.pause":"Pausa","message.rotation_limit.title":"Limiti di Rotazione","message.rotation_limit.message":'Le rotazioni sono limitate da Minecraft a un asse e incrementi di 22,5 gradi. La rotazione su un asse diverso canceller\xE0 tutte le rotazioni sugli altri assi. Converti il \u200B\u200Bmodello in "Modello generico" se stai modellando per altri scopi e hai bisogno di rotazioni libere.',"message.file_not_found.title":"File Non Trovato","message.file_not_found.message":"Blockbench non ha potuto trovare il file richiesto. Assicurati che sia salvato localmente e non in un cloud.","message.screenshot.title":"Schermata","message.screenshot.clipboard":"Appunti","message.screenshot.right_click":"Schermata - Tasto Destro per copiare","message.invalid_file.title":"File Non valido","message.invalid_file.message":"Impossibile aprire il modello: %0","message.invalid_model.title":"File Modello Non valido","message.invalid_model.message":"Questo file non contiene dati di modello validi.","message.child_model_only.title":"Modello Vuoto","message.child_model_only.message":"Questo file eredita %0 e non contiene un modello.","message.unsaved_textures.title":"Trama Non Salvata","message.unsaved_textures.message":"Questo modello utilizza trame non salvate. Assicurati di salvarle e inserirle nella nella cartella corretta della tua resource pack","message.model_clipping.title":"Modello Troppo Grande","message.model_clipping.message":"Il tuo modello contiene %0 cubi pi\xF9 grandi del limite di blocchi consentito da Minecraft. Questo modello non funzioner\xE0 in Minecraft.","message.loose_texture.title":"Importa Trama","message.loose_texture.message":"La trama importata non \xE8 contenuta in un pacchetto di risorse. Minecraft pu\xF2 caricare trame solo all'interno della cartella texture di un pacchetto di risorse caricato.","message.loose_texture.change":"Cambia Percorso","message.update_res.title":"Risoluzione Trama","message.update_res.message":'Vuoi aggiornare la risoluzione del progetto alla risoluzione di questa texture? Clic su "Annulla" se la tua trama ha una risoluzione pi\xF9 alta del normale.',"message.update_res.update":"Aggiorna","message.bedrock_overwrite_error.message":"Blockbench non riesce a combinare questo modello con un vecchio file","message.bedrock_overwrite_error.backup_overwrite":"Crea Backup e Sovrascrivi","message.bedrock_overwrite_error.overwrite":"Sovrascrivi","message.close_warning.message":"Vuoi salvare il tuo modello?","message.close_warning.web":"Il tuo lavoro corrente verra perso. Sei sicuro di volere uscire?","message.default_textures.title":"Trame Predefinite","message.default_textures.message":'Seleziona la cartella "textures" del resource pack predefinito',"message.default_textures.detail":'Estrai il resource pack predefinito dal jar di Minecraft oppure vai su google per scaricarlo. Poi trova la cartella "textures" ed aprila. Blockbench memorizzer\xE0 questa cartella e cercher\xE0 di prendere le texture da quella cartella se non pu\xF2 trovarle nel resource pack corrente.',"message.default_textures.select":'Seleziona la cartella "textures" predefinita',"message.image_editor.title":"Seleziona editor di immagini","message.image_editor.file":"Seleziona File...","message.image_editor.exe":"Seleziona un editor immagini","message.display_skin.title":"Minecraft Skin","message.display_skin.message":"Seleziona il file della Skin dal tuo computer oppure inserisci il nome del giocatore","message.display_skin.upload":"Seleziona File","message.display_skin.reset":"Resetta","message.invalid_plugin":"File Plugin Invalido, Vedi Console","message.load_plugin_app":"Vuoi permettere a questo plugin di effettuare modifiche al tuo PC? Carica plugin soltanto da persone fidate.","message.load_plugin_web":"Vuoi caricare questo plugin? Carica plugin soltanto da persone fidate.","message.preset_no_info":"Il preset non contiene informazioni per questo slot","message.restart_to_update":"Per applicare le modifiche Riavvia Blockbench","message.save_file":"Salvato come %0","dialog.project.title":"Progetto","dialog.project.name":"Nome File","dialog.project.parent":"Modello Genitore","dialog.project.geoname":"Nome Geometria Del Mob","dialog.project.ao":"Occlusione Ambientale","dialog.texture.title":"Trama","dialog.texture.variable":"Variabile","dialog.texture.namespace":"Spazio Nome","dialog.texture.folder":"Cartella","dialog.extrude.title":"Estrudi Immagine","dialog.extrude.mode":"Modalit\xE0 Scansione","dialog.extrude.mode.areas":"Area","dialog.extrude.mode.lines":"Linee","dialog.extrude.mode.columns":"Colonne","dialog.extrude.mode.pixels":"Pixel","dialog.extrude.opacity":"Opacit\xE0 Minima","dialog.extrude.scan":"Scansiona e Importa","dialog.display_preset.title":"Crea Preset","dialog.display_preset.message":"Seleziona gli slot che vuoi salvare","dialog.display_preset.create":"Crea","dialog.select.title":"Seleziona","dialog.select.group":"Nel Gruppo Selezionato","dialog.select.name":"Nome Contiene","dialog.select.random":"Casuale","dialog.select.select":"Seleziona","dialog.scale.title":"Scala Modello","dialog.scale.axis":"Assi","dialog.scale.clipping":"Ritaglio del modello: il modello \xE8 troppo grande per la tela","dialog.scale.confirm":"Scala","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Installati","dialog.plugins.available":"Disponibili","dialog.plugins.install":"Installa","dialog.plugins.uninstall":"Disinstalla","dialog.plugins.reload":"Ricarica","dialog.plugins.none_installed":"Nessun plugin installato","dialog.plugins.none_available":"Nessun plugin disponibile","dialog.plugins.web_only":"Solo per l'app web","dialog.plugins.app_only":"Solo per l'app desktop","dialog.plugins.author":"di %0","dialog.create_texture.folder":"Cartella","dialog.create_texture.resolution":"Risoluzione","dialog.input.title":"Input","dialog.settings.settings":"Impostazioni","dialog.settings.keybinds":"Combinazione Tasti","dialog.settings.about":"Informazioni","layout.color.back":"Indietro","layout.color.back.desc":"Sfondi e campi di input","layout.color.dark":"Scuro","layout.color.dark.desc":"Sfondo tela","layout.color.ui":"Interfaccia","layout.color.ui.desc":"Colore interfaccia principale","layout.color.bright_ui":"UI Luminoso","layout.color.bright_ui.desc":"Menu contestuali e suggerimenti","layout.color.button":"Tasto","layout.color.button.desc":"Tasti e modalit\xE0","layout.color.selected":"Selezionato","layout.color.selected.desc":"Schede e oggetti selezionati","layout.color.border":"Bordo","layout.color.border.desc":"Bordo dei tasti e dei input","layout.color.accent":"Accento","layout.color.accent.desc":"Pollice scorrevole e altri dettagli","layout.color.grid":"Griglia","layout.color.grid.desc":"Griglia anteprima UV","layout.color.text":"Testo","layout.color.text.desc":"Testo Normale","layout.color.light":"Chiaro","layout.color.light.desc":"Testo evidenziato","layout.color.accent_text":"Testo Accentato","layout.color.accent_text.desc":"Testo su elementi chiari o accentati","layout.font.main":"Carattere Principale:","layout.font.headline":"Carattere del Titolo","about.version":"Versione:","settings.category.general":"Generale","settings.category.preview":"Anteprima","settings.category.grid":"Griglia","settings.category.edit":"Modifica","settings.category.snapping":"Snapping","settings.category.defaults":"Predefiniti","settings.category.dialogs":"Dialoghi","settings.category.export":"Esporta","settings.language":"Lingua","settings.language.desc":"Lingua Utente","settings.backup_interval":"Intervallo Backup","settings.backup_interval.desc":"Intervallo del backup automatico in minuti","settings.origin_size":"Marcatore Rotazione","settings.origin_size.desc":"Dimensione del marcatore del punto di fulcro","settings.control_size":"Dimensione Assi Controllo","settings.control_size.desc":"Dimensioni di trasformazione","settings.display_skin":"Minecraft Skin","settings.display_skin.desc":"Skin utilizzata per il modello di riferimento del riproduttore","settings.shading":"Ombreggiatura","settings.shading.desc":"Attiva ombreggiatura nell'anteprima","settings.base_grid":"Griglia Piccola","settings.base_grid.desc":"Mostrare griglia picolla e assi","settings.large_grid":"Griglia Grande","settings.large_grid.desc":"Mostra griglia di dimensioni blocco 16x16","settings.full_grid":"Griglia Grande Completa","settings.full_grid.desc":"Mostra la griglia dei blocchi con precisione pixel","settings.large_box":"Limite Dimensione Scatola","settings.large_box.desc":"Mostra i limiti di dimensione","settings.display_grid":"Griglia Modalit\xE0 Vista","settings.display_grid.desc":"Mostra griglia in modalit\xE0 visualizzazione","settings.undo_limit":"Limite Annullamento","settings.undo_limit.desc":"Numero di passaggi che puoi annullare","settings.local_move":"Sposta sugli Assi Relativi","settings.local_move.desc":"Muovi elementi ruotati sul loro asse proprio, se possibile","settings.canvas_unselect":"Deseleziona quando Clicco Sullo Sfondo","settings.canvas_unselect.desc":"Deseleziona tutti gli elementi quando si clicca sullo sfondo dietro il modello o nella sequenza temporale","settings.paint_side_restrict":"Restringi Pennello al Lato","settings.paint_side_restrict.desc":"Restringi i pennelli a disegnare solo sul lato corrente","settings.autouv":"UV Automatico","settings.autouv.desc":"Attiva UV Automatico come predefinito","settings.create_rename":"Renomina Nuovo Cubo","settings.create_rename.desc":"Focalizzare il campo d'inserimento del nome quando si crea un nuovo elemento o un gruppo","settings.edit_size":"Risoluzione Griglia","settings.edit_size.desc":"Risoluzione della griglia alla quale si attaccano i cubi","settings.shift_size":"Risoluzione Maiusc","settings.shift_size.desc":"Risoluzione della griglia tenendo premuto Maiusc","settings.ctrl_size":"Controllo Risoluzione","settings.ctrl_size.desc":"Risoluzione della griglia tenendo premuto control","settings.negative_size":"Dimensioni Negativa","settings.negative_size.desc":"Permetti allo strumento di ridimensionamento di usare dimensioni negative","settings.minifiedout":"Esporta Minimizzata","settings.minifiedout.desc":"Registra JSON in una riga","settings.export_groups":"Esporta Guppi Modelli Blocchi/Elementi Java","settings.export_groups.desc":"Salva gruppi nei file dei modelli blocchi","settings.credit":"Commento Credito","settings.credit.desc":"Aggiungi un commento di credito ai files esportati","settings.default_path":"Percorso Predefinito Trama Di Minecraft","settings.default_path.desc":"Cartella nalla quale Blockbench carica le trame predefinite","settings.image_editor":"Editor Immagini","settings.image_editor.desc":"Editore immagini predefinito per modificare trame","category.navigate":"Navigazione","category.tools":"Strumenti","category.file":"File","category.blockbench":"Blockbench","category.edit":"Modifica","category.transform":"Trasforma","category.view":"Vista","category.display":"Impostazioni Schermo","category.textures":"Trame","category.misc":"Miscella","keybind.preview_select":"Seleziona","keybind.preview_rotate":"Ruota Vista","keybind.preview_drag":"Trascina Vista","keybind.confirm":"Applica","keybind.cancel":"Annulla","action.slider_inflate":"Gonfia","action.slider_inflate.desc":"Gonfia cubi in tutte le direzioni non modificando l'UV","action.slider_brush_size":"Dimensione","action.slider_brush_size.desc":"Raggio del pennello in pixel","action.slider_brush_opacity":"Opacit\xE0","action.slider_brush_opacity.desc":"Percentuale dell'opacit\xE0 del pennello","action.slider_brush_softness":"Morbidezza","action.slider_brush_softness.desc":"Percentuale della morbidezza del pennello","action.uv_slider_pos_x":"Sposta Orizzontale","action.uv_slider_pos_x.desc":"Sposta la selezione UV di tutti i cubi orizzontalmente","action.uv_slider_pos_y":"Sposta Verticale","action.uv_slider_pos_y.desc":"Sposta la selezione UV di tutti i cubi verticalmente","action.uv_slider_size_x":"Scala Orizzontale","action.uv_slider_size_x.desc":"Scala la selezione UV dei cubi selezionati orizzontalmente","action.uv_slider_size_y":"Scala Verticale","action.uv_slider_size_y.desc":"Scala la selezione UV dei cubi selezionati verticalmente","action.vertex_snap_mode":"Modalit\xE0","action.vertex_snap_mode.desc":"Seleziona se Vertex Snap sposta gli elementi nella posizione selezionata o li ridimensiona","action.move_tool":"Muovi","action.move_tool.desc":"Strumento per selezionare e muovere elementi","action.resize_tool":"Ridimensiona","action.resize_tool.desc":"Strumento per selezionare e ridimensionare elementi","action.brush_tool":"Pennello","action.brush_tool.desc":"Strumento per disegnare su texture bitmap, sulle superfici o sull'editore UV","action.vertex_snap_tool":"Snap Vertici","action.vertex_snap_tool.desc":"Muovi un cubo ad un'altro coniugando due vertici","action.swap_tools":"Scambia Strumenti","action.swap_tools.desc":"Alterna tra lo strumento di movimento e di ridimensionamento","action.project_window":"Progetto...","action.project_window.desc":"Apre la schermata del progetto dove puoi modificare i dati del tuo modello","action.open_model":"Apri Modello","action.open_model.desc":"Apri un modello dal tuo computer","action.extrude_texture":"Trama Estrusa","action.extrude_texture.desc":"Genera un modello sporgendo una texture","action.export_blockmodel":"Esporta Modello Blocco","action.export_blockmodel.desc":"Esporta un modello di blocco o oggetto Minecraft Java Edition","action.export_optifine_part":"Esporta OptiFine JPM","action.export_optifine_part.desc":"Esporta un modello entit\xE0 Optifine parziale","action.export_optifine_full":"Esporta OptiFine JEM","action.export_optifine_full.desc":"Esporta un modello OptiFine entity completo","action.export_obj":"Esporta Modello OBJ","action.export_obj.desc":"Esporta un Wavefront OBJ per rendering o motori di gioco","action.settings_window":"Impostazioni...","action.settings_window.desc":"Apri il dialogo delle impostazioni Blockbench","action.plugins_window":"Pluginis...","action.plugins_window.desc":"Apri la schermata dei plugin","action.reset_layout":"Ripristina Layout","action.reset_layout.desc":"Ripristina il layout al predefinito di Blockbench","action.load_plugin":"Carica Plugin dal File","action.load_plugin.desc":"Carica un plugin importando il file sorgente","action.reload_plugins":"Ricarica Plugins","action.reload_plugins.desc":"Ricarica tutti i plugins in sviluppo","action.undo":"Annulla","action.undo.desc":"Annulla l'ultima modifica","action.redo":"Ripristina","action.redo.desc":"Ripristina l'ultimo annullamento","action.copy":"Copia","action.copy.desc":"Copia la selezione selezionata, la facca o le impostazioni di visualizzazione","action.paste":"Incolla","action.paste.desc":"Incolla la selezione selezionata, la facca o le impostazioni di visualizzazione","action.cut":"Taglia","action.cut.desc":"Taglia la selezione selezionata, la faccia o le impostazioni di visualizzazione","action.add_cube":"Aggiungi Cubo","action.add_cube.desc":"Aggiungi al nuovo cubo","action.add_group":"Aggiungi Gruppo","action.add_group.desc":"Aggiungi un nuovo gruppo oppure un osso","action.outliner_toggle":"Attiva Altre Opzioni","action.outliner_toggle.desc":"Attiva/disattiva tasti pi\xF9 opzioni nella lista degli elementi","action.duplicate":"Duplica","action.delete":"Elimina","action.sort_outliner":"Ordina Lista Elementi","action.sort_outliner.desc":"Ordina la lista degli elementi in ordine alfabetico","action.select_window":"Seleziona...","action.select_window.desc":"Cerca e seleziona cubi basandosi sulle loro propriet\xE0","action.invert_selection":"Inverti Selezione","action.invert_selection.desc":"Inverti la selezione corrente dei cubi","action.select_all":"Seleziona Tutto","action.collapse_groups":"Collassa Gruppi","action.collapse_groups.desc":"Collassa tutti i gruppi","action.scale":"Scala...","action.scale.desc":"Ridimensiona i cubi selezionati","action.toggle_visibility":"Attiva Visibilit\xE0","action.toggle_visibility.desc":"Attiva/disattiva la visibilit\xE0 dei cubi selezionati","action.toggle_export":"Attiva Esportazione","action.toggle_export.desc":"Attiva/disattiva l'impostazione di esportazione degli elementi selezionati","action.toggle_autouv":"Attiva UV Automatico","action.toggle_autouv.desc":"Attiva/disattiva l'impostazione del UV automatico dei cubi selezionati","action.toggle_shade":"Attiva Ombreggiatura","action.toggle_shade.desc":"Attiva/disattiva l'ombreggiatura dei cubi selezionati","action.rename":"Rinomina","action.rename.desc":"Cambia il nome dei cubi selezionati","action.add_display_preset":"Nuovo Preset","action.add_display_preset.desc":"Aggiungi nuovo preset impostazioni schermo","action.fullscreen":"Schermo Intero","action.fullscreen.desc":"Alterna la modalit\xE0 schermo intero","action.zoom_in":"Ingrandisci","action.zoom_in.desc":"Aumenta l'interfaccia grafica","action.zoom_out":"Diminuisci","action.zoom_out.desc":"Riduci zoom per ridurre dimensioni interfaccia","action.zoom_reset":"Ripristina Zoom","action.zoom_reset.desc":"Ripristina zoom al valore predefinito di 100%","action.reset_interface":"Ripristina Interfaccia","action.reset_interface.desc":"Ripristina le dimensioni e le posizioni dell'interfaccia grafica","action.screenshot_model":"Schermata Modello","action.screenshot_model.desc":"Scatta una schermata ritagliato del modello dall'angolo corrente","action.screenshot_app":"Schermata Applicazione","action.screenshot_app.desc":"Scatta una schermata dell'applicazione intera","action.import_texture":"Importa Trama","action.import_texture.desc":"Importa una o piu trame dal tuo sistema","action.create_texture":"Crea Trama","action.create_texture.desc":"Crea una trama vuota o da un modello","action.save_textures":"Salva Trama","action.save_textures.desc":"Salva tutte le trame non salvate","action.animated_textures":"Riproduci Trama Animate","action.animated_textures.desc":"Riproduci e metti in pausa l'anteprima della trama animata","action.origin_to_geometry":"Perno Centrale","action.origin_to_geometry.desc":"Metti l'origine al centro della geometria","action.bone_reset_toggle":"Ripristina Osso","action.bone_reset_toggle.desc":"Ferma l'osso dalla visualizzazione dei cubi dal modello genitore","action.reload":"Ricarica Blockbench","action.reload.desc":"Ricarica Blockbench. Questa azione annullera tutto il progresso non salvato.","menu.file":"File","menu.edit":"Modifica","menu.transform":"Trasforma","menu.display":"Schermo","menu.view":"Vista","menu.file.new":"Nuovo","menu.file.recent":"Recenti","menu.file.import":"Importa","menu.file.export":"Esporta","menu.transform.rotate":"Ruota","menu.transform.flip":"Capovolgi","menu.transform.center":"Centro","menu.transform.properties":"Propriet\xE0","menu.display.preset":"Applica Preset","menu.display.preset_all":"Applica Preset Ovunque","menu.display.remove_preset":"Rimuovi Preset","menu.view.zoom":"Zoom","menu.view.background":"Sfondo","menu.view.screenshot":"Schermata","menu.cube.color":"Colore Cubo","menu.cube.texture":"Texture","menu.cube.texture.transparent":"Trasparente","menu.cube.texture.blank":"Vuoto","menu.group.sort":"Ordina","menu.texture.face":"Applica a Facce","menu.texture.file":"File","menu.texture.refresh":"Aggiorna","menu.texture.change":"Modifica File","menu.texture.folder":"Apri In Cartella","menu.texture.edit":"Modifica","menu.texture.export":"Salva Come...","menu.texture.save":"Salva","menu.texture.properties":"Propriet\xE0","menu.preview.background":"Sfondo","menu.preview.background.load":"Carica","menu.preview.background.position":"Posizione","menu.preview.background.lock":"Attacca Alla Videocamera","menu.preview.screenshot":"Schermata","menu.preview.perspective":"Prospettiva","menu.preview.perspective.normal":"Normale","menu.preview.quadview":"Vista Quadrupla","menu.preview.stop_drag":"Ferma Posizionamento Sfondo","menu.uv.mapping.rotation":"Rotazione","menu.uv.texture":"Trama","cube.color.light_blue":"Azzurro","cube.color.yellow":"Giallo","cube.color.orange":"Arancione","cube.color.red":"Rosso","cube.color.purple":"Viola","cube.color.blue":"Blu","cube.color.green":"Verde","cube.color.lime":"Lime","switches.visibility":"Visibilit\xE0","switches.export":"Esporta","switches.autouv":"UV Automatico","panel.uv":"UV","panel.display":"Schermo","panel.textures":"Trama","panel.outliner":"Schematizzatore","uv_editor.title":"Editore UV","uv_editor.all_faces":"Tutto","uv_editor.no_faces":"Nessuno","face.north":"Nord","face.south":"Sud","face.west":"Ovest","face.east":"Est","face.up":"Su","face.down":"Gi\xF9","direction.north":"Nord","direction.south":"Sud","direction.west":"Ovest","direction.east":"Est","direction.top":"Cima","direction.bottom":"Fondo","display.slot.third_right":"Terza Persona Destra","display.slot.third_left":"Terza Persona Sinistra","display.slot.first_right":"Prima Persona Destra","display.slot.first_left":"Prima Persona Sinistra","display.slot.head":"Testa","display.slot.ground":"Terreno","display.slot.frame":"Espositore","display.slot.gui":"GUI","display.rotation":"Rotazione","display.translation":"Traslazione","display.scale":"Scala","display.slot":"Slot","display.reference":"Modello Riferimento","display.reference.player":"Riproduttore","display.reference.zombie":"Zombie","display.reference.armor_stand":"Supporto Armatura","display.reference.baby_zombie":"Zombie Piccolo","display.reference.armor_stand_small":"Supporto Armatura Piccolo","display.reference.monitor":"Normale","display.reference.bow":"Arco","display.reference.block":"Blocco","display.reference.frame":"Espositore","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Inventario","display.reference.hud":"HUD","display.preset.blank_name":"Pregasi inserire nome","display.preset.item":"Elemento Predefinito","display.preset.block":"Blocco Predefinito","display.preset.handheld":"Arma Predefinita","display.preset.rod":"Stecca Predefinita","dialog.continue":"Continua","message.square_textures":"Le trame devono essere quadrate","message.unsaved_texture.title":"Trama Non Salvata","message.unsaved_texture.message":"Tutte le modifiche non salvate verranno perse. Vuoi procedere?","action.vertex_snap_mode.move":"Muovi","action.vertex_snap_mode.scale":"Scala","action.open_model_folder":"Apri Cartella Modello","action.open_model_folder.desc":"Apri la cartella dove \xE8 contenuto il modello","action.change_textures_folder":"Cambia Cartella Trame","action.change_textures_folder.desc":"Modifica la cartella di salvataggio trame","menu.texture.particle":"Usa per Particelle","message.update_notification.title":"Impossibile installare l'aggiornamento","message.update_notification.message":"\xC8 disponibile una nuova versione di Blockbench. Attiva gli aggiornamenti automatici nelle impostazioni per aggiornare!","message.untextured":"Questa superfice non ha una texture","dialog.toolbar_edit.title":"Personalizza Barra Strumenti","keybindings.reset":"Resetta","keybindings.clear":"Vuoto","action.cube_counter":"Contatore Cubi","action.uv_rotation":"Rotazione UV","action.uv_rotation.desc":"Rotazione della faccia UV","action.uv_grid":"Griglia UV","action.uv_grid.desc":"Risoluzione della griglia alla quale si attacca il selettore UV","action.uv_grid.auto":"Automatico","action.uv_maximize":"Massimizza UV","action.uv_maximize.desc":"Imposta l'UV di questa faccia alla texture completa","action.uv_auto":"UV Automatico","action.uv_auto.desc":"Imposta le dimensioni UV di questa faccia alle dimensioni reali della faccia","action.uv_rel_auto":"UV Automatico Relativo","action.uv_rel_auto.desc":"Imposta l'UV di questa faccia alla posizione e alla dimensione della faccia reale","action.uv_mirror_x":"Specchia UV X","action.uv_mirror_x.desc":"Specchia l'UV di questa faccia sull'asse delle X","action.uv_mirror_y":"Specchia UV Y","action.uv_mirror_y.desc":"Specchia l'UV di questa faccia sull'asse delle Y","action.uv_transparent":"Faccia Trasparente","action.uv_transparent.desc":"Rende la faccia corrente trasparente","action.uv_reset":"Ripristina Faccia","action.uv_reset.desc":"Ripristina la faccia corrente","action.cullface":"Cullface","action.cullface.desc":"Disabilita il rendering di questa faccia se il lato del modello selezionato \xE8 coperto","action.auto_cullface":"Cullface Automatico","action.auto_cullface.desc":"Imposta l'UV di questa faccia a se stesso","action.face_tint":"Tinta","action.face_tint.desc":"Abilita l'opzione della tinta per la faccia corrente","menu.toolbar.edit":"Personalizza","menu.toolbar.reset":"Ripristina","uv_editor.rotated":"Ruotato","uv_editor.auto_cull":"Cullface a Se Stesso","uv_editor.copied":"Faccia Copiata","uv_editor.pasted":"Faccia Incollata","uv_editor.copied_x":"Volti %0 Copiate","uv_editor.reset":"Ripristina Volto","uv_editor.maximized":"Massimizzato","uv_editor.autouv":"Dimensione Automatica","uv_editor.mirrored":"Specchiato","uv_editor.to_all":"Applicato a Tutte le Facce","uv_editor.transparent":"Reso Trasparente","uv_editor.cullface_on":"Cullface Abilitato","uv_editor.cullface_off":"Cullface Disattivato","uv_editor.tint_on":"Tinta Attivata","uv_editor.tint_off":"Tinta Disattivata","action.uv_apply_all":"Applica a Tutte le Facce","action.uv_apply_all.desc":"Applica le impostazioni della faccia corrente a tuttle le facce","message.image_editor_missing.title":"Editor Immagini Predefinito","message.image_editor_missing.message":"Seleziona il file eseguibile del tuo editor di immagini.","message.image_editor_missing.detail":"Blockbench non ha potuto trovare un editore immagini sul tuo computer. Seleziona il file esecutibile del tuo editore immagini preferito.","action.update_autouv":"Aggiorna UV Automatico","action.update_autouv.desc":"Aggionra la mappatura UV automatico dei cubi selezionati","category.uv":"UV","status_bar.saved":"Modello salvato","status_bar.unsaved":"Ci sono modifiche non salvate","action.move_up":"Sposta Sopra","action.move_up.desc":"Sposta i cubi selezionati in su relativamente all'angolo della ","action.move_down":"Sposta Sotto","action.move_down.desc":"Muovi i cubi selezionati in gi\xF9 relativamente all'angolo della videocamera","action.move_left":"Sposta a Sinistra","action.move_left.desc":"Sposta i cubi selezionati a sinistra relativamente all'angolo della ","action.move_right":"Sposta a Destra","action.move_right.desc":"Sposta i cubi selezionati a destra relativamente all'angolo della ","action.move_forth":"Sposta Avanti","action.move_forth.desc":"Sposta i cubi selezionati avanti relativamente all'angolo della ","action.move_back":"Sposta Indietro","action.move_back.desc":"Sposta i cubi selezionati indietro relativamente all'angolo della videocamera","layout.color.wireframe":"Wireframe","layout.color.wireframe.desc":"Linee del wireframe","action.add_animation":"Aggiungi Animazione","action.add_animation.desc":"Crea Animazione Vuota","action.load_animation_file":"Importa Animazioni","action.load_animation_file.desc":"Importa File Animazione","action.play_animation":"Riproduci Animazione","action.play_animation.desc":"Anteprima animazioni selezionate","action.slider_keyframe_time":"Codice Temporale","action.slider_keyframe_time.desc":"Modifica il Codice Temporale dei fotogrammi selezionati","timeline.rotation":"Rotazione","timeline.position":"Posizione","timeline.scale":"Scala","menu.keyframe.quaternion":"Quaternione","panel.animations":"Animazioni","panel.keyframe":"Fotogramma","panel.keyframe.type":"Fotogramma (%0)","generic.delete":"Elimina","generic.rename":"Rinomina","message.no_animation_selected":"Devi selezionare un'animazione per eseguire questa azione","message.no_bone_selected":"Devi selezionare un osso per eseguire questa azione","message.duplicate_groups.title":"Nome Osso Duplicato","message.duplicate_groups.message":"Il nome di quest'osso esiste su ossa multipli. Qusto pu\xF2 causare problemi.","action.delete_keyframes":"Elimina Fotogrammi","action.delete_keyframes.desc":"Elimina tutti i fotogrammi selezionati","menu.animation":"Animazione","menu.animation.loop":"Ciclo Continuo","menu.animation.override":"Sovrascrivi","menu.animation.anim_time_update":"Aggiornamento Tempo Animazione","message.display_skin_model.title":"Modello Skin","message.display_skin_model.message":"Seleziona il tipo della tua skin","message.display_skin_model.classic":"Classico","message.display_skin_model.slim":"Sottile","message.bone_material":"Modifica il materiale dell'osso","action.slider_animation_length":"Lunghezza Animazione","action.slider_animation_length.desc":"Modifica la lunghezza dell'animazione selezionata","panel.variable_placeholders":"Variabili Segnaposto","panel.variable_placeholders.info":"Elenca le variabili che vuoi vedere in anteprima facendo nome=valore","status_bar.vertex_distance":"Distanza: %0","dialog.create_gif.title":"Registra GIF","dialog.create_gif.length":"Lunghezza","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Riproduci Animazione","category.animation":"Animazione","action.record_model_gif":"Registra GIF","action.record_model_gif.desc":"Registra un'animazione GIF del modello dall'angolo corrente","display.mirror":"Specchio","data.separator":"Separatore","menu.preview.background.set_position":"Imposta Posizione","dialog.toolbar_edit.hidden":"Nascosto","action.export_class_entity":"Esporta Entit\xE0 Java","action.export_class_entity.desc":"Esporta il modello entit\xE0 come una classe Java","settings.seethrough_outline":"Lineamenti Trasparenti","settings.seethrough_outline.desc":"Mostra lineamenti attraverso oggetti","mode.edit":"Modifica","mode.paint":"Disegna","mode.display":"Schermo","mode.animate":"Animazione","status_bar.recording_gif":"Registrazione","status_bar.processing_gif":"Elaborazione","settings.backup_retain":"Durata Conservazione Backup","settings.backup_retain.desc":"Imposta per quanti giorni Blockbench mantiene i backup","action.rotate_tool":"Ruota","action.rotate_tool.desc":"Strumento per selezionare e ruotare elementi","action.fill_tool":"Strumento di Riempimento","action.fill_tool.desc":"Strumento di riempimento per riempire facce intere con un colore","action.eraser":"Gomma","action.eraser.desc":"Strumento gomma per cancellare colori di una trama","action.color_picker":"Selezione Colori","action.color_picker.desc":"Strumento per selezionare i colori dei pixel di una texture","switches.mirror":"Specchia UV",language_name:"Italiano","message.plugin_reload":"%0 plugin locali ricaricati","settings.brightness":"Luminosit\xE0","settings.brightness.desc":"Luminosit\xE0 dell'anteprima. Valore predefinito \xE8 50.","menu.preview.perspective.reset":"Ripristina Videocamera","action.fill_mode":"Riempimento","action.fill_mode.face":"Faccia","action.fill_mode.color":"Colori","action.toggle_mirror_uv":"Specchio UV","action.toggle_mirror_uv.desc":"Alterna lo specchiamento UV sull'asse delle X dei cubi selezionati","menu.texture.blank":"Applica a facce non strutturate","dialog.scale.select_overflow":"Seleziona Cubi Traboccanti","action.action_control":"Controllo Azioni","action.action_control.desc":"Cerca ed esegui ogni azione disponibile","keybindings.recording":"Registra Tasti","keybindings.press":"Premi un tasto, una combinazione di tasti o clicca ovunque sullo schermo per registrare una combinzaione tasti.","action.pivot_tool":"Strumento Origine","action.pivot_tool.desc":"Strumento per modificare l'origine dei cubi e delle ossa","action.slider_animation_speed":"Velocit\xE0 Riproduzione","action.slider_animation_speed.desc":"Percentuale della velocit\xE0 di riproduzione","action.previous_keyframe":"Fotogramma Precedente","action.previous_keyframe.desc":"Salta al fotogramma precedente","action.next_keyframe":"Avanti Fotogramma","action.next_keyframe.desc":"Salta al prossimo fotogramma","message.outdated_client.title":"Cliente obsoleto","message.outdated_client.message":"Pregasi aggiornare Blockbench per effettuare questa azione.","action.export_asset_archive":"Scarica Archivo","action.export_asset_archive.desc":"Scarica un archivio con il modello e le texture","action.upload_sketchfab":"Carica su Sketchfab","message.sketchfab.name_or_token":"Pregasi inserire la chiave Sketchfab ed un nome","dialog.sketchfab_uploader.title":"Carica Modello Sketchfab","dialog.sketchfab_uploader.token":"Chiave API","dialog.sketchfab_uploader.about_token":"Questa chiave \xE8 usata per connettere Blockbench al tuo profilo Sketchfab. Puoi trovarla su %0","dialog.sketchfab_uploader.name":"Nome Modello","dialog.sketchfab_uploader.description":"Descrizione","dialog.sketchfab_uploader.tags":"Tag","settings.sketchfab_token":"Chiave Sketchfab","settings.sketchfab_token.desc":"Chiave di autorizzare Blockbench a caricare modelli sul tuo profilo Sketchfab","panel.color":"Colore","data.origin":"Origine","message.sketchfab.success":"Modello caricato con successo","message.sketchfab.error":"Caricamento Sktechfab fallito","settings.outliner_colors":"Colori Outliner","settings.outliner_colors.desc":"Mostrare colore cubi nella lista degli elemeti","action.upload_sketchfab.desc":"Carica il tuo modello su Sketchfab","action.element_colors":"Colori Cubi","action.element_colors.desc":"Mostra colori cubi nella lista degli elementi","texture.error.file":"File non trovato","texture.error.parent":"File trama fornito da modello genitore","message.recover_backup.title":"Recupera Modelli","message.recover_backup.message":"Blockbench \xE8 stato chiuso senza salvare. Vuoi recuperare il modello?","message.invalid_session.title":"Chiave Sessione Non Valida","message.invalid_session.message":"La sessione alla quale stai cercando di connetterti \xE8 scaduta o la chiave \xE8 invalida","dialog.create_texture.power":"Dimensione Potenza 2","dialog.create_gif.turn":"Velocit\xE0 Rotazione","action.edit_session":"Sessione Modifiche...","action.edit_session.desc":"Connettiti ad una sessione modifiche per collaborare con altri utenti","action.reset_keyframe":"Ripristina Fotogramma","action.reset_keyframe.desc":"Ripristina tutti i valori dei fotogrammi selezionati","dialog.edit_session.title":"Sessione Modifiche","edit_session.username":"Nome Utente","edit_session.token":"Token","edit_session.about":"Sessioni Modifiche possono essere usate per collaborare su modelli con altra gente attraverso internet. Crea una sessione, coppia la chiave e mandala ai tuoi amici. I tuoi amici possono usare la chiave per unirsi alla tua sessione.","edit_session.join":"Connettiti alla Sessione","edit_session.create":"Crea Sessione","edit_session.quit":"Abbandona Sessione","edit_session.joined":"Utente %0 si \xE8 unito alla sessione","edit_session.left":"Utente %0 ha abbandonato la sessione","edit_session.quit_session":"Abbandonato sessione corrente","edit_session.status":"Stato","edit_session.hosting":"Ospidando","edit_session.connected":"Connesso ad una sessione","dialog.sketchfab_uploader.private":"Privato (Pro)","dialog.sketchfab_uploader.password":"Password (Pro)","action.uv_select_all":"Seleziona Tutto","action.uv_select_all.desc":"Seleziona tutti volti nel dialogo UV","panel.chat":"Chat","edit_session.welcome":"Benvenuto in questa sessione di %0","dialog.yes":"S\xEC","dialog.no":"No","generic.remove":"Rimuovi","generic.download":"Scarica","generic.search":"Trova","dates.today":"Oggi","dates.yesterday":"Ieri","dates.this_week":"Questa settimana","dates.weeks_ago":"%0 settimane fa","mode.start.new":"Nuovo","mode.start.recent":"Recente","format.free":"Modello Libero","format.free.desc":"Modello senza restrizioni per Unity etc.","format.java_block":"Blocco/Elemento Java","format.java_block.desc":"Modello blocco per edizione Java. Dimensioni e rotazioni sono limitate.","format.bedrock":"Modello Bedrock","format.bedrock.desc":"Modello per edizione Bedrock","format.bedrock_old":"Modello Bedrock Legacy","format.bedrock_old.desc":"Modello entit\xE0 Edizione Bedrock prima della versione 1.12","format.modded_entity":"Entit\xE0 Modificata","format.modded_entity.desc":"Modelli entit\xE0 per mod. Puo essere esportato come file delle classi java (.java)","format.optifine_entity":"Entit\xE0 OptiFine","format.optifine_entity.desc":"Modello entit\xE0 per OptiFine","keys.mouse":"Tasto Mouse %0","message.cleared_blank_faces.title":"Facce Vuote","message.cleared_blank_faces.message":"Blockbench ha trovato %0 cubi senza una texture. Vuoi rimuovere questi elementi?","message.wireframe.enabled":"Vista wireframe attivata","message.wireframe.disabled":"Vista wireframe disattivata","dialog.convert_project.title":"Converti Progetto","dialog.create_texture.double_use":"Mantieni Occupazione Multi-trama","dialog.model_stats.title":"Statistiche Modello","dialog.model_stats.cubes":"Cubi","dialog.model_stats.locators":"Localizzatori","dialog.model_stats.groups":"Gruppi","dialog.model_stats.vertices":"Vertici","dialog.model_stats.faces":"Volti","settings.username":"Nome Utente","settings.username.desc":"Nome utente per sessioni modifiche","settings.painting_grid":"Griglia Pittura","settings.painting_grid.desc":"Mostra griglia su cubi con texture in modalit\xE0 pittura","action.convert_project":"Converti Progetto","action.convert_project.desc":"Converte il progetto corrente in un altro formato","action.close_project":"Chiudi Progetto","action.close_project.desc":"Chiudi il progetto attualmente aperto","action.export_bedrock":"Esporta Geometria Bedrock","action.export_bedrock.desc":"Esporta il modello come un file geometria per edizione bedrock","action.save_project":"Salva Progetto","action.save_project.desc":"Salva il modello corrente come un file progetto","action.save_project_as":"Salva Progetto Come","action.save_project_as.desc":"Salva modelelo corrente come un file progetto in una posizione nuova","action.export_over":"Sovrascrivi Modello","action.export_over.desc":"Salva il modello, trame e animazioni sovrascrivendo i files","action.add_locator":"Aggiungi localizzatore","action.add_locator.desc":"Aggiungi un nuovo locator per controllare la posizione di particelle, guinzagli etc.","action.uv_turn_mapping":"Ruota Mappatura","action.uv_turn_mapping.desc":"Ruota la mappatura UV di 90 gradi","action.remove_blank_faces":"Elimina Facce Vuote","action.remove_blank_faces.desc":"Elimina tutte le facce della selezione senza trame","web.download_app":"Scarica app","uv_editor.turned":"Mappatura Ruotata","display.reference.crossbow":"Balestra","dialog.settings.search_results":"Risultati di Ricerca","settings.animation_snap":"Collegamento Animazioni","settings.animation_snap.desc":"Intervallo collegamento per i fotogrammi nella sequenza dell'animazione","action.import_optifine_part":"Importa parte OptiFine","action.import_optifine_part.desc":"Importa una parte di un modello per OptiFine","data.locator":"Posizione","mode.start.no_recents":"Nessun modello aperto recentemente","panel.element":"Elemento","panel.element.position":"Posizione","panel.element.size":"Dimensione","panel.element.origin":"Origine","panel.element.rotation":"Rotazione","message.canvas_limit_error.title":"Errore di Limite della Tela","message.canvas_limit_error.message":"L'azione non pu\xF2 essere eseguita correttamente perch\xE9 il formato limita la tela a 48 unit\xE0. Sposta il punto di articolazione per impedirlo.","data.effect":"Effetto","generic.name":"Nome","settings.recent_projects":"Limite Modelli Recenti","settings.recent_projects.desc":"Numero massimo di modelli recenti da ricordare","settings.volume":"Volume","settings.volume.desc":"Volume degli effetti sonori nelle animazioni","action.clear_timeline":"Cancella Linea Temporale","action.clear_timeline.desc":"Cancella tutte le ossa non selezionate dalla sequenza","action.select_effect_animator":"Anima Effetti","action.select_effect_animator.desc":"Apri la sequenza per aggiungere effetti sonori e particelle","action.timeline_focus":"Filtra Canali","action.timeline_focus.desc":"Seleziona i canali animazione da mostrare sulla sequenza","timeline.particle":"Particella","timeline.sound":"Suono","timeline.effects":"Effetti","data.format":"Formato","format.optifine_part":"Parte OptiFine","format.optifine_part.desc":"Parte JPM per modelli entity OptiFine","action.reverse_keyframes":"Inverti Fotogrammi","action.reverse_keyframes.desc":"Inverti l'ordine dei fotogrammi selezionati","generic.help":"Aiuto","message.removed_faces":"Rimossi %0 volti","dialog.sketchfab_uploader.draft":"Bozza","action.slider_pos":"Spostamento %0","action.slider_pos.desc":"Sposta cubi sull'asse %0","action.slider_size":"Dimensione %0","action.slider_size.desc":"Ridimensiona elementi sull'asse %0","action.slider_rotation":"Rotazione %0","action.slider_rotation.desc":"Ruota i cubi sull'asse %0","action.slider_origin":"Centro %0","action.slider_origin.desc":"Sposta centro sull'asse %0","action.rotate_cw":"Ruota %0 +90","action.rotate_cw.desc":"Ruota i cubi selezionati di 90\xB0 sull'asse %0","action.rotate_ccw":"Ruota %0 -90","action.rotate_ccw.desc":"Ruota i cubi selezionati di -90\xB0 sull'asse %0","action.flip":"Capovolgi %0","action.flip.desc":"Capovolgi i cubi selezionati sull'asse %0","action.center":"Centra %0","action.center.desc":"Centra i cubi selezionati sull'asse %0","action.bring_up_all_animations":"Minimizza Tutte le Animazioni","panel.bone":"Osso","data.color":"Colore","generic.export":"Esporta","generic.none":"Nessuno","status_bar.recording":"Registrazione Temporizzazione","message.add_to_palette":"Aggiunto a tavolozza","message.size_modifiers":"Tieni premuto Ctrl o Maiusc per trasformare in incrementi pi\xF9 piccoli.","message.timelapse_start":"Temporizzazione avviato","message.timelapse_stop":"Temporizzazione interrotto","message.import_palette.replace_palette":"Sostituisci vecchia tavolozza","message.import_palette.threshold":"Unisci soglia","dialog.timelapse.interval":"Intervallo (Secondi)","dialog.timelapse.source":"Sorgente","dialog.timelapse.source.interface":"Interfaccia","dialog.timelapse.source.locked":"Angolo Bloccato","dialog.timelapse.destination":"Cartella Destinataria","layout.color.checkerboard":"Scacchiera","layout.color.checkerboard.desc":"Sfondo tela ed editore UV","layout.font.code":"Carattere Codici","layout.css":"CSS Personalizzato","settings.category.paint":"Colore","settings.deactivate_size_limit":"Disattiva Limite Dimensioni","settings.deactivate_size_limit.desc":"Disattiva il limite di dimensioni per formati di modelli specifici. ATTENZIONE: ci\xF2 pu\xF2 causare modelli non validi.","settings.brush_opacity_modifier":"Modifica Opacit\xE0 Pennello","settings.brush_opacity_modifier.desc":"Modifica l'opacit\xE0 del pennello quando viene utilizzato uno stilo","settings.brush_size_modifier":"Modificata Dimensioni Pennello","settings.brush_size_modifier.desc":"Modifica le dimensioni del pennello quando si utilizza uno stilo","settings.brush_modifier.pressure":"Pressione","settings.brush_modifier.tilt":"Inclina","category.color":"Colore","action.import_theme":"Importa Tema","action.export_theme":"Esporta Tema","action.export_theme.desc":"Crea un file tema basato sulle impostazioni correnti","action.slider_color_h":"Tonalit\xE0","action.slider_color_s":"Saturazione","action.slider_color_v":"Valore","action.add_to_palette":"Aggiungi a Tavolozza","action.add_to_palette.desc":"Aggiungi il colore selezionato alla tavolozza","action.import_palette":"Importa Tavolozza","action.import_palette.desc":"Importa file tavolozza","action.export_palette":"Esporta Tavolozza","action.export_palette.desc":"Esporta la tavolozza come un file .GPL","action.generate_palette":"Genera Tavolozza","action.generate_palette.desc":"Genera una tavolozza da una texture","action.sort_palette":"Ordina Tavolozza","action.sort_palette.desc":"Ordina tutti i colori della tavolozza per colore e luminosit\xE0","action.timelapse":"Temporizzazione...","action.timelapse.desc":"Registra la Temporizzazione del tuo processo di modellazione","action.add_keyframe":"Aggiungi Fotogramma","action.add_keyframe.desc":"Aggiungi un fotogramma automaticamente. Premi Maiusc per forzare valori predefinti","action.bring_up_all_animations.desc":"Porta tutti gli animatori modificati nella sequenza temporale","timeline.timeline":"Istruzioni","menu.palette.load.default":"Predefinito","generic.import":"Importa","settings.brush_modifier.none":"Nessuno","action.export_entity":"Esporta Entit\xE0 Bedrock","action.export_entity.desc":"Aggiungi il modello corrente come un entity ad un file mobs.json","settings.highlight_cubes":"Evidenzia Cubi","settings.highlight_cubes.desc":"Evidenzia i cubi quando il mouse passa sopra o quando li selezioni","action.add_marker":"Imposta Marcatore","action.add_marker.desc":"Imposta un marcatore sulla sequenza","timeline.pre_effect_script":"Script","format.skin":"Skin","format.skin.desc":"Modifica skin giocatori ed entity","message.sketchfab.setup_guide":"Vuoi sapere come impostare i modelli su Sketchfab? Visita %0","dialog.skin.title":"Crea Minecraft Skin","dialog.skin.model":"Modello","action.toggle_skin_layer":"Attiva/Disattiva Livello Skin","action.toggle_skin_layer.desc":"Attiva/Disattiva livello del cappello e abbigliamento del modello della Skin","action.gui_light":"Interfaccia Grafica Chiara","action.gui_light.desc":"Scegli il modo in quale l'item \xE8 illuminato nell'inventario","action.gui_light.side":"Luce Laterale","action.gui_light.front":"Luce Frontale","action.move_keyframe_back":"Sposta Fotogrammi Indietro","action.move_keyframe_forth":"Sposta Fotogrammi Avanti","menu.help":"Aiuto","menu.help.discord":"Server Discord","menu.help.report_issue":"Segnala un Problema","menu.help.plugin_documentation":"Documentazione Plugin API","menu.help.search_action":"Cerca ed Esegui Azione","menu.help.donate":"Donazione","menu.help.about":"Informazioni...","menu.preview.background.clipboard":"Carica dagli Appunti","dialog.ignore":"Ignora","generic.unset":"Non settato","message.invalid_builtin_parent.title":"Genitore Incorporato Invalido","message.invalid_builtin_parent.message":"Il collegamento al modello principale non valido '% 0' \xE8 stato rimosso per esportare un modello valido.","dialog.resize_texture.fill":"Riempire con","dialog.resize_texture.fill.transparent":"Trasparente","dialog.resize_texture.fill.color":"Colore","dialog.resize_texture.fill.repeat":"Ripeti","dialog.scale.element_pivot":"Origine dell'Elemento","dialog.scale.selection_center":"Centro di Selezione","dialog.create_gif.length_mode":"Modalit\xE0 lunghezza","dialog.create_gif.length_mode.seconds":"Secondi","dialog.create_gif.length_mode.frames":"Montatura","dialog.create_gif.length_mode.animation":"Lunghezza della'animazione","dialog.create_gif.length_mode.turntable":"Velocit\xE0 Rotazione","dialog.save_angle.projection":"Proiezione","dialog.save_angle.projection.perspective":"Prospettiva","dialog.save_angle.projection.orthographic":"Ortografico","dialog.sketchfab_uploader.animations":"Animazioni","dialog.settings.theme":"Tema","settings.category.interface":"Interfaccia","settings.preview_checkerboard":"Anteprima Scacchiera","settings.preview_checkerboard.desc":"Alterna lo sfondo a scacchiera dieto l'anteprima","settings.uv_checkerboard":"Scacchiera Editore UV","settings.uv_checkerboard.desc":"Alterna lo sfondo a scacchiera dietro l'editore UV","category.paint":"Dipingi","action.fill_mode.color_connected":"Colori Connessi","action.draw_shape_type":"Tipo di forma","action.draw_shape_type.rectangle":"Rettangolo","action.draw_shape_type.rectangle_h":"Rettangolo (Vuoto)","action.draw_shape_type.ellipse":"Ellisse","action.draw_shape_type.ellipse_h":"Ellisse (Vuota)","action.draw_shape_type.line":"Linea","action.mirror_painting":"Pittura Specchiata","action.mirror_painting.description":"Specchia il tratto del pennello sull'altro lato del modello","action.lock_alpha":"Blocca Canale Alfa","action.lock_alpha.description":"Blocca la trasparenza di tutti i pixel","action.draw_shape_tool":"Disegna una forma","action.draw_shape_tool.desc":"Strumento per disegnare figure semplici sulle texture","action.export_gltf":"Esporta Modello glTF","action.export_gltf.desc":"Esporta il modello e le animzioni come un file glTF per usarlo in altre applicazioni 3D","action.transform_space":"Spazio Trasformazione","action.transform_space.desc":"Spazio trasformazione predefinito per tutti gli elementi e ossa","action.transform_space.global":"Globale","action.transform_space.local":"Locale","action.toggle_camera_projection":"Alterna Proiezione Videocamera","action.toggle_camera_projection.desc":"Alterna la proezione della videocamera tra prospettiva e ortografica","action.load_camera_angle":"Angolo Videocamera: %0","action.load_camera_angle.desc":"Carica l'angolo videocamera '%0'","action.slider_face_tint":"Indice Tinta","action.slider_face_tint.desc":"Imposta l'indice tinta della faccia corrente. -1 vuol dire non impostato.","menu.help.quickstart":"Procedura Guidata D'inizio","menu.help.developer":"Sviluppatore","menu.help.developer.dev_tools":"Apri Strumenti Sviluppo","menu.help.developer.reset_storage":"Ripristina Impostazioni","menu.help.developer.reset_storage.confirm":"Sicuro di voler ripristinare Blockbench alle impostazioni di fabbrica? Questo eliminera tutte le impostazioni, tutti i tasti personalizzati e plugin installati.","menu.help.developer.cache_reload":"Ricarica Cache","menu.preview.orthographic":"Ortografico","menu.preview.save_angle":"Salva Angolo...","menu.preview.angle":"Angoli","menu.preview.angle.initial":"Angolo Iniziale","menu.preview.maximize":"Aumentare al Massimo","uv_editor.copy_selection":"Copia Selezione","uv_editor.paste_selection":"Incolla Selezione","uv_editor.copy_paste_tool.place":"Piazza","uv_editor.copy_paste_tool.mirror_x":"Specchio Asse X","uv_editor.copy_paste_tool.mirror_y":"Specchio Asse Y","uv_editor.copy_paste_tool.rotate":"Ruota 90 Gradi","dialog.project.modded_entity_version":"Versione Esporto","dialog.save_angle.position":"Posizione Videocamera","dialog.save_angle.target":"Punto Focale","dialog.skin.pose":"Posa","layout.color.frame":"Cornice Finestra","layout.color.frame.desc":"Bordi e panello titolare della finestra","settings.large_grid_size":"Dimensioni Reticolato Blocco","settings.large_grid_size.desc":"Dimensioni del reticolato dei blocchi","action.load_plugin_from_url":"Carica Plugin da URL","action.load_plugin_from_url.desc":"Carica un plugin da un server specificando un URL","action.cube_counter.desc":"Mostra il numero corrente dei cubi e altri dati","action.unlock_everything":"Sblocca Tutti","action.unlock_everything.desc":"Sblocca tutti i gruppi ed elementi nella lista degli elementi","action.load_palette":"Carica Tavolozza","action.load_palette.desc":"Carica una delle tavolozze integrate","action.toggle_locked":"Alterna Blocco","action.toggle_locked.desc":"Alterna lo stato di blocco degli elementi selezionati","action.apply_display_preset":"Applica Preset","action.apply_display_preset.desc":"Applica un preset impostazioni schermo predefinito oppure un preset personalizzato","action.apply_display_preset.here":"Applica a Questo Slot","action.apply_display_preset.everywhere":"Applica a Tutti gli Slot","action.resolve_keyframe_expressions":"Risolvi Fotogrammi","action.resolve_keyframe_expressions.desc":"Risolvi le espressioni matematiche dei fotogrammi selezionati","action.fold_all_animations":"Chiudi Animazioni","menu.palette.load.empty":"Vuoto","switches.lock":"Blocca","settings.render_sides":"Lati Esecuzioni","settings.render_sides.desc":"Seleziona il lato di una faccia che viene mostrato","settings.render_sides.auto":"Automatico","settings.render_sides.front":"Fuori","settings.render_sides.double":"Dentro e Fuori","generic.enable":"Attiva","generic.disable":"Disattiva","generic.redacted":"Redatto","dialog.select_texture.import_all":"Importa tutto","dialog.skin.layer_template":"Livello Trama","about.version.up_to_date":"Aggiornata","about.version.update_available":"Versione %0 disponibile","settings.category.application":"Applicazione","settings.streamer_mode":"Modalit\xE0 Streamer","settings.streamer_mode.desc":"Nascondi informazioni sensibili come i modelli recenti","settings.automatic_updates":"Aggiornamenti Automatici","settings.automatic_updates.desc":"Scarica automaticamente nuove versioni e mantieni Blockbench aggiornato","action.rotation_space":"Spazio Rotazione","action.focus_on_selection":"Vista Centrale sulla Selezione","action.focus_on_selection.desc":"Allinea la telecamera in modo che sia rivolta verso il centro della selezione corrente","action.jump_to_timeline_start":"Salta all'Inizio dell'Animazione","action.jump_to_timeline_end":"Salta alla Fine dell'Animazione","menu.help.updating":"Aggiornamento (%0%)","menu.help.update_failed":"Aggiornamento Fallito","menu.animation.loop.once":"Riproduci una volta","menu.animation.loop.hold":"Mantieni l'ultimo fotogramma","menu.animation.loop.loop":"Ciclo Continuo","interface.streamer_mode_on":"Modalit\xE0 Streamer attivata","generic.reset":"Resetta","generic.restore":"Ripristina","keys.mousewheel":"Rotella Mouse","message.delete_animation.title":"Elimina Animazione","message.delete_animation.message":"L'animazione \xE8 stata rimossa da Blockbench. Vuoi eliminare l'animazione dal file in cui \xE8 stata salvata?","message.no_animation_to_import":"Nessuna animazione da importare","dialog.material_instances.title":"Material Instances","dialog.animation_import.title":"Seleziona animazioni da importare","dialog.create_texture.padding":"Padding","settings.fov":"FOV","settings.fov.desc":"Campo visivo della telecamera. Il valore predefinito \xE8 45","settings.minify_bbmodel":"File di progetto minimizzati","settings.minify_bbmodel.desc":"Scrivi file .bbmodel minimizzati in una riga","action.edit_material_instances":"Modifica istanze di materiale","action.edit_material_instances.desc":"Modifica nomi di istanze di materiale per geometrie di blocchi di roccia","action.save_all_animations":"Salva tutte le animazioni","action.save_all_animations.desc":"Salva tutte le animazioni attualmente caricate","action.keyframe_interpolation":"Interpolazione","action.keyframe_interpolation.desc":"Seleziona la modalit\xE0 di interpolazione dei fotogrammi chiave","action.keyframe_interpolation.linear":"Lineare","action.keyframe_interpolation.catmullrom":"Liscio","action.timeline_focus.hide_empty":"Nascondi canali vuoti","menu.file.preferences":"Preferenze","menu.animation.blend_weight":"Peso Miscela","menu.animation.save":"Salva","menu.animation.properties":"Propriet\xE0...","menu.animation.file":"File","menu.animation.snapping":"Snapping","menu.animation.open_location":"Apri posizione file","panel.keyframe.add_data_point":"Aggiungi punto dati fotogramma chiave","panel.keyframe.remove_data_point":"Rimuovi punto dati","panel.keyframe.pre":"Pre","panel.keyframe.post":"Post","generic.all":"Tutto","message.small_face_dimensions.title":"Dimensioni facciali incompatibili","message.small_face_dimensions.message":"La selezione contiene facce pi\xF9 piccole di 1 unit\xE0 in una direzione. Il sistema di mappatura UV Box considera tutte le facce al di sotto di tale soglia come larghe 0 pixel. La texture su quelle facce potrebbe quindi non funzionare correttamente.","message.small_face_dimensions.face_uv":'Il formato corrente supporta mappe UV per faccia che possono gestire piccole dimensioni della faccia. Fai clic con il pulsante destro del mouse sui cubi interessati e modifica "UV Mode" in "Per-face UV".',"dialog.plugins.outdated_client":"Richiede una nuova versione di Blockbench","dialog.plugins.outdated_plugin":"Il plugin \xE8 obsoleto e non funziona con questa versione di Blockbench","settings.motion_trails":"Tracce di movimento","settings.motion_trails.desc":"Mostra tracce di movimento nell'editor di animazione","settings.antialiasing":"Anti-aliasing","settings.antialiasing.desc":"Attiva l'anti-aliasing nell'anteprima. Riavvia Blockbench per applicare le modifiche","action.timeline_frame_back":"Salta 1 fotogramma indietro","action.timeline_frame_forth":"Salta 1 fotogramma avanti","panel.bone.ik":"Cinematica inversa (sperimentale)","settings.particle_tick_rate":"Frequenza Tick Particelle","settings.particle_tick_rate.desc":"Frequenza tick per effetti particelle in tick al secondo. Il valore predefinito \xE8 30","action.lock_motion_trail":"Blocca traccia movimento","action.lock_motion_trail.desc":"Blocca la traccia movimento al gruppo attualmente selezionato","menu.animation_file.unload":"Scarica File","data.null_object":"Oggetto nullo","status_bar.toggle_sidebar":"Attiva/disattiva barra laterale","message.load_plugin_failed.title":"Impossibile caricare il plugin","message.load_plugin_failed.message":"Assicurati che il nome file di base del plugin corrisponda all'ID plugin `%0`, come specificato in Plugin.register().","dialog.project.uv_mode":"Modalit\xE0 UV","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"UV per faccia","dialog.project.texture_size":"Dimensione trama","dialog.animation_export.title":"Seleziona animazioni da esportare","dialog.create_texture.rearrange_uv":"Riorganizza UV","layout.color.subtle_text":"Testo Sottile","layout.color.subtle_text.desc":"Colore testo secondario con meno contrasto","settings.interface_scale":"Scala Interfaccia","settings.interface_scale.desc":"Scala dell'intera interfaccia Blockbench","settings.background_rendering":"Rendering sfondo","settings.background_rendering.desc":"Aggiorna l'anteprima mentre la finestra non \xE8 a fuoco","settings.ctrl_shift_size":"Risoluzione Ctrl + Maiusc","settings.ctrl_shift_size.desc":"Risoluzione della griglia tenendo premuti Ctrl e Maiusc","settings.hardware_acceleration":"Accellerazione Hardware","settings.hardware_acceleration.desc":"Esternalizza le attivit\xE0 di rendering alla scheda grafica","action.explode_skin_model":"Esplodi modello skin","action.explode_skin_model.desc":"Attiva/disattiva una vista esplosione che consente di modificare le facce coperte","action.export_minecraft_skin":"Esporta Skin di Minecraft","action.export_minecraft_skin.desc":"Esporta la skin di Minecraft come texture PNG","action.add_null_object":"Aggiungi oggetto nullo","action.add_null_object.desc":"Aggiungi un nuovo oggetto nullo","action.animated_texture_frame":"Trama fotogramma animata","action.animated_texture_frame.desc":"Imposta il fotogramma corrente della trama animata","action.export_animation_file":"Esporta Animazioni...","action.export_animation_file.desc":"Esporta una selezione di animazioni in un nuovo file","action.timeline_graph_editor":"Attiva/disattiva editor grafico","action.timeline_graph_editor.desc":"Attiva/disattiva la timeline tra la vista editor grafico e la vista fotogramma","menu.file.recent.clear":"Cancella Files Recenti","switches.shade":"Ombra","generic.share":"Condividi","dates.minute":"%0 Minuto","dates.minutes":"%0 Minuti","dates.hour":"%0 Ora","dates.hours":"%0 Ore","dates.day":"%0 Giorno","dates.days":"%0 Giorni","dates.week":"%0 Settimana","dates.weeks":"%0 Settimane","dates.year":"%0 Anno","dates.years":"%0 Anni","message.installed_plugin":"Installato correttamente il plugin %0","message.installed_plugin_fail":"Impossibile installare il plugin %0","dialog.share_model.title":"Condividi Modello","dialog.share_model.expire_time":"Scadenza Tempo","dialog.share_model.failed":"Caricamento del modello fallito","action.import_java_block_model":"Aggiungi modello Java Blocco/Elemento","action.import_java_block_model.desc":"Aggiungi un modello Java Blocco/Elemento di Minecraft da un file json al modello corrente","action.share_model":"Condividi...","action.share_model.desc":"Genera un collegamento breve per condividere il tuo modello","action.import_project":"Importa progetto","action.import_project.desc":"Importa un altro progetto da un file .bbmodel nel progetto corrente","dialog.toolbar_edit.hidden_tools":"Alcuni strumenti potrebbero essere nascosti perch\xE9 non sono disponibili nella modalit\xE0, nel formato o nella situazione correnti.","settings.camera_near_plane":"Telecamera Vicino al Piano","settings.camera_near_plane.desc":"La distanza minima dalla telecamera in cui vengono renderizzati gli oggetti. Valori pi\xF9 alti riducono lo Z-fighting. Il valore predefinito \xE8 1.","mode.start.keymap_preference.desc":"Se sei nuovo su Blockbench e provieni da un altro programma 3D, puoi selezionare una mappa dei tasti per semplificare la transizione. Puoi modificare la mappa dei tasti o le singole combinazioni di tasti in seguito nelle impostazioni.","message.load_keymap":"Sicuro di voler caricare questa mappa dei tasti? Questo sovrascriver\xE0 le tue combinazioni di tasti correnti.","message.keymap_loaded":"Mappa dei tasti caricata","dialog.convert_project.current_format":"Formato corrente","dialog.create_texture.rearrange_uv.desc":"Crea una nuova disposizione UV per dare a ogni faccia il suo posto sulla texture","dialog.create_texture.power.desc":"Blocca la dimensione automatica della texture a una potenza di 2, come 64 o 128. Questo \xE8 richiesto da alcuni renderer","dialog.create_texture.double_use.desc":"Se due elementi hanno gi\xE0 assegnato lo stesso spazio UV, mantienilo cos\xEC nella nuova mappa","dialog.create_texture.padding.desc":"Aggiungi una piccola spaziatura tra le singole parti del modello","dialog.create_texture.resolution.desc":"Altezza e larghezza della trama","dialog.create_gif.color":"Colore di sfondo","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":"Le ossa opposte sono identificate dalle parole chiave 'sinistra' e 'destra' all'interno del loro nome.","dialog.export_private_settings.title":"Impostazioni private","dialog.export_private_settings.message":"Il tuo file contiene le seguenti informazioni private: **%0**. Ometti questi valori se intendi condividere il file con qualcun altro.","dialog.export_private_settings.keep":"Mantieni","settings.timecode_frame_number":"Visualizza i codici temporali come numeri di fotogramma","settings.timecode_frame_number.desc":"Visualizza codice temporale frazionari in timeline come numero di fotogramma anzich\xE9 centisecondo","settings.animation_sample_rate":"Frequenza Campionamento Animazione","settings.animation_sample_rate.desc":"Frequenza di campionamento al secondo per curve che il rispettivo formato non supporta in modo nativo","keybind.preview_zoom":"Zoom Vista","action.gradient_tool":"Strumento Inclinazione","action.gradient_tool.desc":"Crea un gradiente di colore sulla tua trama","action.import_settings":"Importa Impostazioni","action.import_settings.desc":"Importa file .bbsettings","action.export_settings":"Esporta Impostazioni","action.export_settings.desc":"Esporta le impostazioni di Blockbench come file .bbsettings","action.load_keymap":"Carica Mappa Tasti","action.load_keymap.default":"Predefinito (Trackpad/Mouse)","action.load_keymap.mouse":"Predefinito (Mouse)","action.load_keymap.default.desc":"Tasti di scelta rapida predefiniti di Blockbench, con controlli di navigazione della finestra ottimizzati per l'uso sui trackpad dei laptop","action.load_keymap.mouse.desc":"Tasti di scelta rapida predefiniti di Blockbench, con navigazione della finestra associata al tasto centrale del mouse","action.load_keymap.blender.desc":"Keymap per utenti che hanno familiarit\xE0 con i controlli di Blender","action.load_keymap.cinema4d.desc":"Keymap per utenti che hanno familiarit\xE0 con i controlli di Cinema 4D","action.load_keymap.maya.desc":"Keymap per utenti che hanno familiarit\xE0 con i controlli di Autodesk Maya","action.import_keymap":"Importa Keymap","action.import_keymap.desc":"Importa le combinazioni di tasti in un file .bbkeymap","action.export_keymap":"Esporta Keymap","action.export_keymap.desc":"Esporta le combinazioni di tasti correnti in un file .bbkeymap","action.edit_history":"Cronologia Modifiche...","action.edit_history.desc":"Visualizza la cronologia delle modifiche e annulla o ripeti i passaggi","action.group_elements":"Raggruppa Elementi","action.group_elements.desc":"Avvolgi gli elementi selezionati in un nuovo gruppo","action.unfold_groups":"Dispiega Gruppi","action.unfold_groups.desc":"Dispiega tutti i gruppi nell'outline","action.edit_bedrock_binding":"Modifica Associazione...","action.edit_bedrock_binding.desc":"Cambia a quale osso \xE8 associata la geometria","action.pick_screen_color":"Seleziona Colore Schermo","action.pick_screen_color.desc":"Seleziona un colore da qualche parte sullo schermo","action.view_mode":"Modalit\xE0 Vista","action.view_mode.desc":"Cambia la modalit\xE0 di visualizzazione del modello","action.view_mode.textured":"Struttura","action.view_mode.solid":"Solido","action.view_mode.wireframe":"Wireframe","action.toggle_sidebars":"Attiva/disattiva barre laterali","action.toggle_sidebars.desc":"Attiva o disattiva le barre laterali","action.set_animation_end":"Imposta fine animazione","action.set_animation_end.desc":"Imposta la fine dell'animazione selezionata sul tempo corrente della linea temporale","action.flip_animation":"Capovolgi Animazione","action.flip_animation.desc":"Capovolge parte di un'animazione copiando i fotogrammi chiave selezionati sull'altro lato del modello","action.graph_editor_zero_line":"Includi Zero Line","action.graph_editor_zero_line.desc":"Se l'editor grafico include sempre la linea zero nella vista","menu.texture.render_mode":"Modalit\xE0 Render","menu.texture.render_mode.emissive":"Emissivo","menu.texture.render_mode.layered":"Livelli","menu.preview.angle.edit":"Modifica Angolo...","menu.animation.start_delay":"Ritardo Avvio","menu.animation.loop_delay":"Ritardo Ripetizione","menu.animation.flip_keyframes":"Capovolgi Fotogrammi","menu.mobile_keyboard.disable_all":"Disabilita tutto","panel.keyframe.toggle_uniform_scale":"Attiva/Disattiva Scala Uniforme","camera_angle.common_isometric_right":"Isometrica Destra (2:1)","camera_angle.common_isometric_left":"Isometrica Sinistra (2:1)","camera_angle.true_isometric_right":"Isometrica Destra Vera (30\xB0)","camera_angle.true_isometric_left":"Isometrica Sinistra Vera (30\xB0)","menu.help.wiki":"Wiki Blockbench","settings.update_to_prereleases":"Aggiornamento Pre-releases","settings.update_to_prereleases.desc":"Aggiorna automaticamente alle versioni beta di Blockbench per testare le nuove funzionalit\xE0. Le versioni pre-release possono essere instabili, non abilitare questa opzione se fai affidamento su Blockbench per lavoro o altri progetti importanti.","data.separator.spacer":"Distanziatore","data.separator.linebreak":"Interruzione Riga","data.setting":"Impostazione","generic.select_all":"Seleziona Tutto","generic.select_none":"Non selezionare nessuno","projects.new_tab":"Nuova Scheda","projects.close_tab":"Chiudi Scheda","message.invalid_format.title":"Formato non valido","message.invalid_format.message":"Questo modello \xE8 stato creato nel formato '%0', che non \xE8 disponibile nella tua installazione di Blockbench. Probabilmente hai bisogno di un plugin specifico per aprirlo correttamente.","message.invalid_link":"Link al modello non valido o scaduto","message.default_textures.current":"Percorso corrente","message.update_after_restart":"L'aggiornamento verr\xE0 installato dopo il prossimo riavvio","message.copy_paste_tool_viewport":"Questo strumento pu\xF2 essere utilizzato solo nell'editor 2D","dialog.project.shadow_size":"Dimensione Ombra","dialog.find_replace.target":"Target","dialog.find_replace.target.element_names":"Nomi Elemento","dialog.find_replace.target.group_names":"Nomi Gruppo","dialog.find_replace.target.animation_names":"Nomi Animazione","dialog.find_replace.target.keyframe_values":"Valori Fotogramma","dialog.find_replace.find":"Trova","dialog.find_replace.replace":"Sostituisci","dialog.find_replace.regex":"Espressione Regolare","dialog.add_primitive.shape":"Forma","dialog.add_primitive.shape.circle":"Cerchio","dialog.add_primitive.shape.tube":"Tubo","dialog.add_primitive.shape.cone":"Cono","dialog.add_primitive.shape.cylinder":"Cilindro","dialog.add_primitive.shape.sphere":"Sfera","dialog.add_primitive.shape.torus":"Toro","dialog.add_primitive.shape.cube":"Cuboide","dialog.add_primitive.shape.pyramid":"Piramide","dialog.add_primitive.diameter":"Diametro","dialog.add_primitive.height":"Altezza","dialog.add_primitive.sides":"Lati","dialog.add_primitive.minor_diameter":"Spessore","dialog.add_primitive.minor_sides":"Lati minori","dialog.create_texture.combine_polys":"Combina isole","dialog.create_texture.combine_polys.desc":"Combina facce in isole UV connesse","dialog.model_stats.meshes":"Mesh","dialog.export_private_settings.omit":"Escludi","layout.select":"Seleziona","layout.options":"Opzioni","layout.color":"Schema Colori","layout.documentation":"Documentazione","layout.color.bright_ui_text":"Testo interfaccia utente luminoso","layout.color.bright_ui_text.desc":"Testo su sfondi luminosi","layout.name":"Nome","layout.author":"Autore","settings.dialog.desc":'Mostra la finestra di dialogo "%0"',"settings.export_empty_groups":"Esporta Gruppi Vuoti","settings.export_empty_groups.desc":"Includi gruppi senza contenuto nei file esportati","category.separators":"Separatori","keybind.preview_area_select":"Selezione Area","action.color_erase_mode":"Modalit\xE0 Cancellazione","action.color_erase_mode.desc":"Con la modalit\xE0 cancellazione abilitata, strumenti come Riempimento e Rettangolo sottraggono colori anzich\xE9 aggiungerli","action.open_from_link":"Apri modello da collegamento...","action.open_from_link.desc":"Apri un modello da un URL blckbn.ch","action.import_obj":"Importa Modello OBJ","action.import_obj.desc":"Importa oggetti da un modello OBJ come mesh","action.add_plugin":"Installa Plugin","action.add_plugin.desc":"Installa un plugin tramite Controllo Azione","action.remove_plugin":"Disinstalla plugin","action.remove_plugin.desc":"Disinstalla un plugin tramite Controllo Azione","action.add_mesh":"Aggiungi mesh","action.add_mesh.desc":"Aggiungi una nuova mesh","action.add_texture_mesh":"Aggiungi Trama Mesh","action.add_texture_mesh.desc":"Aggiungi una nuova Trama Mesh","action.find_replace":"Trova/Sostituisci...","action.find_replace.desc":"Trova e sostituisci parti di nomi","action.hide_everything_except_selection":"Nascondi tutto tranne Selezionato","action.hide_everything_except_selection.desc":"Attiva/disattiva la visibilit\xE0 su tutti gli elementi tranne quelli selezionati","action.transform_space.normal":"Normale","action.selection_mode":"Modalit\xE0 Selezione","action.selection_mode.desc":"Cambia il modo in cui gli elementi possono essere selezionati nella finestra","action.selection_mode.object":"Oggetto","action.selection_mode.face":"Faccia","action.selection_mode.vertex":"Vertice","action.create_face":"Crea faccia o bordo","action.create_face.desc":"Crea una nuova faccia o bordo tra i vertici selezionati","action.convert_to_mesh":"Converti in Mesh","action.convert_to_mesh.desc":"Converti gli elementi selezionati in mesh","action.invert_face":"Inverti faccia","action.invert_face.desc":"Inverti le facce selezionate per farle guardare nella direzione opposta","action.extrude_mesh_selection":"Espelli selezione","action.extrude_mesh_selection.desc":"Espelli le parti selezionate della mesh","action.loop_cut":"Taglio Ciclo Continuo","action.loop_cut.desc":"Dividi la mesh in un loop sul bordo selezionato","action.merge_meshes":"Unisci Mesh","action.merge_meshes.desc":"Unisci pi\xF9 mesh in una","action.keyframe_uniform":"Ridimensionamento uniforme","action.keyframe_uniform.desc":"Attiva ridimensionamento uniforme sui fotogrammi chiave selezionati","menu.locator.ignore_inherited_scale":"Ignora scala ereditata","menu.texture.elements":"Applica agli Elementi","uv_editor.transparent_face":"Faccia Trasparente","display.pose_angle":"Angolo posa (solo per anteprima)","data.mesh":"Mesh","dialog.create_texture.type":"Tipo","dialog.create_texture.type.blank":"Vuoto","dialog.create_texture.type.template":"Modello Trama","dialog.create_texture.type.color_map":"Modello Colore Pieno","dialog.sketchfab_uploader.suggested_tags":"Tag Suggeriti","dialog.sketchfab_uploader.category":"Categoria","dialog.sketchfab_uploader.category2":"Categoria 2","layout.restore_backup":'Il tema personalizzato "%0" \xE8 stato sovrascritto. Clicca qui per ripristinarlo.',"layout.borders":"Bordi","action.fill_mode.element":"Elemento","action.inset_mesh_selection":"Inserisci selezione","action.inset_mesh_selection.desc":"Inserisci le parti selezionate della mesh","action.dissolve_edges":"Sciogli bordi","action.dissolve_edges.desc":"Sciogli i bordi selezionati in una mesh e unisci le facce che dividono","action.split_mesh":"Dividi mesh","action.split_mesh.desc":"Dividi le facce selezionate della mesh in una nuova mesh","action.merge_vertices":"Unisci vertici","action.merge_vertices.desc":"Unisci i vertici selezionati nella posizione del primo vertice selezionato","action.view_mode.normal":"Orientamento faccia","action.snap_uv_to_pixels":"Aggancia UV ai pixel","action.snap_uv_to_pixels.desc":"Aggancia i vertici UV selezionati alla griglia pixel","menu.file.import.import_open_project":"Importa progetto aperto","menu.help.unlock_projects":"Sblocca tutti i progetti","status_bar.selection.faces":"%0 Volti","status_bar.selection.vertices":"%0 Vertici","message.merged_vertices":"Trovati e uniti %0 vertici in %1 posizioni","settings.vertex_merge_distance":"Vertice Distanza di unione","settings.vertex_merge_distance.desc":"Distanza entro cui i vertici vengono uniti tramite unione per distanza","settings.show_only_selected_uv":"Mostra solo UV selezionati","settings.show_only_selected_uv.desc":"Per impostazione predefinita, nell'editor UV vengono visualizzate solo le facce UV selezionate","action.merge_vertices.merge_all":"Unisci tutto","action.merge_vertices.merge_all_in_center":"Unisci tutto al centro","action.merge_vertices.merge_by_distance":"Unisci per distanza","action.merge_vertices.merge_by_distance_in_center":"Unisci per distanza al centro","action.uv_rotate_left":"Ruota UV a sinistra","action.uv_rotate_left.desc":"Ruota le facce UV selezionate in senso antiorario","action.uv_rotate_right":"Ruota UV a destra","action.uv_rotate_right.desc":"Ruota le facce UV selezionate in senso orario","menu.uv.display_uv":"Visualizza UV","menu.uv.display_uv.selected_faces":"Facce Selezionate","menu.uv.display_uv.selected_elements":"Tutte le Facce","menu.uv.display_uv.all_elements":"Tutte le facce su tutte Elementi","menu.paste.face":"Faccia UV","menu.paste.mesh_selection":"Selezione mesh","menu.paste.outliner":"Elementi","uv_editor.show_all_faces":"Mostra tutte le facce","uv_editor.show_selected_faces":"Mostra facce selezionate","status_bar.selection.edges":"%0 Bordi","action.selection_mode.edge":"Bordo","message.cannot_re_import.title":"Il modello non pu\xF2 essere reimportato","message.cannot_re_import.message":"Il formato del modello esportato non pu\xF2 essere nuovamente importato in Blockbench. Assicurati di salvare il tuo modello come file di progetto.","generic.default":"Predefinito","units.pixels_per_meter":"%0 Pixel per Metro","mode.pose":"Posa","modifier_actions.resize_both_sides":"Ridimensiona in entrambe le direzioni","modifier_actions.resize_one_side":"Ridimensiona in una direzione","modifier_actions.draw_line":"Disegna linea","modifier_actions.drag_without_snapping":"Trascina senza agganciare","modifier_actions.stretch_keyframes":"Allunga fotogrammi chiave","modifier_actions.resize_background":"Ridimensiona sfondo","modifier_actions.select_multiple":"Seleziona pi\xF9","modifier_actions.select_range":"Seleziona intervallo","modifier_actions.drag_to_duplicate":"Trascina per duplicare","modifier_actions.uniform_scaling":"Scala uniforme","modifier_actions.snap_direction":"Direzione di aggancio","message.no_valid_elements":"Nessun elemento valido selezionato...","dialog.add_primitive.shape.plane":"Piano","dialog.save_angle.rotation_mode":"Modalit\xE0 di rotazione","dialog.save_angle.rotation":"Rotazione","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"Nascondi automaticamente la barra delle schede","settings.hide_tab_bar.desc":"Nascondi la barra delle schede quando \xE8 presente solo una scheda open","settings.status_bar_modifier_keys":"Suggerisci tasti modificatori nella barra di stato","settings.status_bar_modifier_keys.desc":"Visualizza tasti modificatori suggeriti in base al contesto nella barra di stato","settings.ground_plane":"Piano Terra","settings.ground_plane.desc":"Mostra un piano del pavimento sotto il modello","settings.preview_paste_behavior":"Comportamento predefinito per incollare nella finestra","settings.preview_paste_behavior.desc":"Seleziona il comportamento quando incolli qualcosa nella finestra in modalit\xE0 Modifica e sono disponibili pi\xF9 opzioni","settings.preview_paste_behavior.always_ask":"Chiedi sempre","action.new_window":"Nuova Finestra","action.new_window.desc":"Apri una nuova finestra di Blockbench","action.export_collada":"Esporta Collada Modello (dae)","action.export_collada.desc":"Esporta modello e animazioni come file dae per utilizzarli in altre applicazioni 3D","action.paint_mode_uv_overlay":"Sovrapponi UV","action.paint_mode_uv_overlay.desc":"Visualizza la mappa UV come sovrapposizione in modalit\xE0 pittura","action.bake_animation_into_model":"Cuoci animazione in modello","action.bake_animation_into_model.desc":"Cuoci il frame dell'animazione attualmente visualizzato nel modello. Applica solo rotazione e posizione, la scala viene ignorata.","action.keyframe_interpolation.step":"Passaggio","action.set_ik_target":"Imposta target IK","action.set_ik_target.desc":"Seleziona l'osso target che deve essere spostato da questo oggetto nullo tramite cinematica inversa","menu.action_control.type.tab":"Scheda","menu.action_control.type.angle":"Angolo Telecamera","menu.action_control.recent_in_streamer_mode":"Sicuro? La modalit\xE0 Streamer \xE8 attivata","menu.action_control.recent_in_streamer_mode.desc":"Sicuro di voler visualizzare i modelli recenti?","menu.tools":"Strumenti","menu.file.recent.more":"Visualizza altro...","menu.null_object.lock_ik_target_rotation":"Blocca rotazione target IK","menu.animation_file.import_remaining":"Importa rimanente dal file","edit.loop_cut.offset":"Offset","edit.extrude_mesh_selection.extend":"Estendi","cube.color.pink":"Rosa","cube.color.silver":"Argento","dialog.plugins.offline":"Nessuna connessione Internet","dialog.create_texture.pixel_density":"Densit\xE0 Pixel","dialog.create_texture.pixel_density.desc":"Densit\xE0 pixel della trama, in pixel al metro. La dimensione della trama pu\xF2 variare a seconda della quantit\xE0 e delle dimensioni degli elementi.","panel.skin_pose":"Posa","panel.skin_pose.none":"Nessuno","panel.skin_pose.natural":"Naturale","panel.skin_pose.walking":"Camminando","panel.skin_pose.crouching":"Accovacciato","panel.skin_pose.sitting":"Seduto","panel.skin_pose.jumping":"Saltando","panel.skin_pose.aiming":"Mirando","edit.loop_cut.direction":"Direzione","data.texture_mesh":"Trama Mesh","generic.left":"Sinistra","generic.right":"Destra","mode.start.quick_setup":"Configurazione Rapida","mode.start.keymap":"Mappa Tastiera","mode.start.quick_setup.more_themes":"Altro...","dialog.resize_texture.animation_frames":"Fotogrammi Animazione","dialog.export_emission_map.title":"Esporta mappa di emissione","dialog.export_emission_map.format":"Formato","dialog.export_emission_map.format.luminance":"Luminanza","dialog.export_emission_map.format.luminance_inverted":"Luminanza Invertita","dialog.export_emission_map.format.colors":"Colori","dialog.export_emission_map.threshold":"Soglia Trasparenza","dialog.export_emission_map.round_up":"Arrotonda per eccesso a %0 x %1","dialog.export_emission_map.flip_y":"Inverti Asse Y","dialog.select.type":"Tipo di elemento","dialog.create_texture.max_edge_angle":"Soglia angolo bordo","dialog.create_texture.max_edge_angle.desc":"L'angolo massimo tra due facce a cui saranno ancora combinate","dialog.create_texture.max_island_angle":"Soglia angolo isola","dialog.create_texture.max_island_angle.desc":"L'angolo massimo che pu\xF2 essere combinato nella stessa isola UV","settings.mobile_panel_side":"Lato pannello mobile","settings.mobile_panel_side.desc":"Seleziona su quale lato dei pannelli dello schermo vengono visualizzati quando si utilizza Blockbench in orientamento orizzontale","settings.obj_face_export_mode":"Modalit\xE0 esportazione faccia OBJ","settings.obj_face_export_mode.desc":"Scegli di consentire all'esportatore OBJ di convertire tutte le facce in tris o quads","settings.obj_face_export_mode.both":"Predefinito","settings.obj_face_export_mode.tris":"Converti in Tris","settings.obj_face_export_mode.quads":"Converti in Quad","action.seam_tool":"Strumento Cucitura","action.seam_tool.desc":"Strumento per definire cuciture UV sui bordi della mesh","action.resolve_group":"Risolvi gruppo","action.resolve_group.desc":"Risolvi il gruppo mantenendo i suoi figli nello stesso posto","action.move_to_group":"Sposta nel gruppo","action.move_to_group.desc":"Sposta gli elementi selezionati in un diverso gruppo outliner","action.select_seam":"Seleziona cucitura UV","action.select_seam.desc":"Seleziona la modalit\xE0 cucitura UV per i bordi selezionati","action.select_seam.auto":"Auto","action.select_seam.join":"Unisci","action.select_seam.divide":"Dividi","action.adjust_brightness_contrast":"Regola luminosit\xE0 e contrasto...","action.adjust_brightness_contrast.desc":"Regola luminosit\xE0 e contrasto della texture selezionata","action.adjust_saturation_hue":"Regola saturazione e tonalit\xE0...","action.adjust_saturation_hue.desc":"Regola saturazione e tonalit\xE0 della texture selezionata","action.invert_colors":"Inverti Colori","action.invert_colors.desc":"Inverti tutti i colori della texture selezionata","action.adjust_curves":"Regola Curve...","action.adjust_curves.desc":"Regola le curve di luminosit\xE0 della trama selezionata","action.flip_texture_x":"Capovolgi Orizzontalmente","action.flip_texture_y":"Capovolgi Verticalmente","action.resize_texture":"Ridimensiona Trama...","action.view_mode.uv":"Anteprima UV","action.append_to_template":"Aggiungi elementi al modello...","action.append_to_template.desc":"Aggiungi gli elementi attualmente selezionati al modello di trama","action.move_texture_with_uv":"Sposta Trama con UV","action.move_texture_with_uv.desc":"Sposta la trama del viso quando trascini le facce UV","action.timeline_setups":"Impostazioni Linea Temporale","action.save_timeline_setup":"Salva Impostazioni Linea Temporale...","action.save_timeline_setup.desc":"Salva un preset per gli animatori e i canali attualmente selezionati","menu.texture":"Trama","menu.texture.render_mode.default":"Predefinito","menu.texture.merge_onto_texture":"Unisci alla trama sopra","menu.animation.unload":"Scarica","panel.timeline":"Linea Temporale","action.pan_tool":"Strumento Panoramico","action.pan_tool.desc":"Strumento per navigare nella finestra e nell'editor della trama","mode.start.recent.favorite":"Segna come preferito","mode.start.info":"Informazioni","mode.start.target":"Destinazione","mode.start.start":"Inizio","mode.start.create_new":"Crea Nuovo Modello","mode.start.format.informations":"Buono a sapersi:","mode.start.format.resources":"Risorse:","format.free.info.meshes":"In questo formato, puoi creare modelli low poly usando cubi e mesh di forma personalizzata.","format.free.info.limitation":"I modelli non possono essere caricati in giochi che necessitano di formati specializzati, come Minecraft.","format.skin.info.skin":"Questo formato \xE8 progettato per creare skin Minecraft e texture di entit\xE0.","format.skin.info.model":"Il modello non pu\xF2 essere modificato. Per apportare modifiche al modello, convertilo prima in un formato diverso tramite **File** > **Converti progetto**.","format.java_block.info.rotation":"Le rotazioni sono limitate a incrementi di 22,5 gradi e un asse per elemento","format.java_block.info.size":"Il modello \xE8 limitato a una dimensione di 3 per 3 per 3 blocchi. Tuttavia, le impostazioni di visualizzazione possono ingrandire i modelli degli oggetti","format.java_block.info.animation":"Questo formato non supporta le animazioni in Minecraft vanilla. Se stai creando una mod, puoi usare GeckoLib per animare i modelli. In caso contrario, l'unico modo per animare \xE8 cambiare il modello usando comandi o texture animate.","format.bedrock.info.textures":"Ogni modello pu\xF2 avere una sola texture","format.bedrock_block":"Blocco Bedrock","format.bedrock_block.desc":"Modello di blocco per Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"La dimensione dei singoli cubi \xE8 limitata agli interi.","format.modded_entity.info.format":"I modelli sono scritti in codice Java anzich\xE9 in strutture dati dedicate come tutti gli altri formati di esportazione di Blockbench.","format.optifine_entity.info.optifine_required":"Gli utenti senza OptiFine installato non vedranno il modello.","format.optifine_entity.info.pivots":"I perni ossei sono bloccati, quindi \xE8 una buona idea lasciarli intatti.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Altro","format_category.loaders":"Caricatori","message.recover_backup.recover":"Recupera","message.invalid_characters.title":"Percorso non valido","message.invalid_characters.message":"Il percorso del file importato contiene caratteri non validi, lettere maiuscole o spazi vuoti. I caratteri supportati sono: %0","dialog.share_model.thumbnail":"Miniatura","dialog.skin.high_res_texture":"Nota che le skin con la risoluzione selezionata non funzioneranno come normali skin di Minecraft. Seleziona una risoluzione inferiore.","settings.allow_display_slot_mirror":"Consenti mirroring slot display","settings.allow_display_slot_mirror.desc":"Consenti mirroring slot display per modelli di oggetti Java. ATTENZIONE: Funziona solo in Minecraft 1.14 o versioni precedenti o in casi particolari.","action.switch_tabs":"Cambia Scheda","action.switch_tabs.desc":"Passa da una scheda aperta all'altra. Tieni premuto shift per scorrere nella direzione opposta.","action.unselect_all":"Deseleziona tutto","action.save_palette":"Salva Tavolozza...","action.save_palette.desc":"Salva la tavolozza dei colori corrente all'interno di Blockbench per un uso successivo","action.keyframe_column_create":"Crea colonna fotogramma chiave","action.keyframe_column_create.desc":"Inserisci tutti i canali nella timeline al timecode corrente, se hanno gi\xE0 fotogrammi chiave","action.keyframe_column_select":"Seleziona colonna fotogramma chiave","action.keyframe_column_select.desc":"Seleziona tutti i fotogrammi chiave nella timeline lungo una colonna sotto la testina di riproduzione","menu.uv":"UV","menu.keyframe":"Fotogramma","menu.palette.load.update":"Aggiorna Tavolozza","menu.palette.load.update.desc":"Aggiorna questa palette con i colori della palette Blockbench corrente","menu.timeline_marker.set_time":"Imposta Tempo...","uv_editor.scale_uv":"Scala UV","action.preview_scene":"Anteprima Scena","action.preview_scene.desc":"Cambia la scena di anteprima del modello","preview_scene.minecraft_overworld":"Overworld","preview_scene.minecraft_nether":"Inferiore","preview_scene.minecraft_end":"Fine","dialog.project.modded_entity_flip_y":"Inverti Asse Y","preview_scene.studio":"Studio","format.image":"Immagine","modifier_actions.set_copy_source":"Imposta origine copia","message.load_images.title":"Carica Immagini","message.load_images.edit_image":"Modifica Immagine","dialog.add_primitive.align_edges":"Allinea bordi","dialog.flip_animation.show_in_timeline":"Mostra ossa modificate nella timeline","settings.default_cube_size":"Dimensioni cubo","settings.default_cube_size.desc":"Imposta le dimensioni predefinite del cubo quando ne crei uno nuovo","settings.uniform_keyframe":"Fotogrammi Scala Uniforme","settings.uniform_keyframe.desc":"Imposta i fotogrammi di scala su scala uniforme per impostazione predefinita","settings.nearest_rectangle_select":"Seleziona rettangolo: bordo pi\xF9 vicino","settings.nearest_rectangle_select.desc":"Aggancia le selezioni rettangolo al bordo pixel pi\xF9 vicino, come in GIMP, invece che all'intero pixel.","settings.pick_color_opacity":"Seleziona l'opacit\xE0 del colore","settings.pick_color_opacity.desc":"Seleziona l'opacit\xE0 del colore con il Selettore colore e impostala come opacit\xE0 del pennello","settings.paint_with_stylus_only":"Disegna solo con lo stilo","settings.paint_with_stylus_only.desc":"Utilizza lo stilo solo per dipingere, riserva il mouse o l'input touch per la navigazione.","action.copy_brush_mode":"Copia modalit\xE0 pennello","action.copy_brush_mode.copy":"Copia","action.copy_brush_mode.pattern":"Modello","action.copy_brush_mode.sample":"Campione","action.brush_shape":"Forma Pennello","action.brush_shape.square":"Quadrato","action.brush_shape.circle":"Cerchio","action.blend_mode":"Modalit\xE0 Fusione","action.blend_mode.default":"Predefinito","action.blend_mode.set_opacity":"Imposta Opacit\xE0","action.blend_mode.color":"Colore","action.blend_mode.behind":"Dietro","action.blend_mode.multiply":"Moltiplica","action.blend_mode.divide":"Dividi","action.blend_mode.add":"Aggiungi","action.blend_mode.subtract":"Sottrai","action.blend_mode.screen":"Schermo","action.blend_mode.overlay":"Sovrapposizione","action.blend_mode.hard_light":"Luce Intensa","action.blend_mode.difference":"Differenza","action.copy_brush":"Copia Pennello","action.copy_brush.desc":"Pennello per clonare parti della tua texture o disegnare pattern. Tieni premuto Ctrl e fai clic per selezionare una sorgente di copia.","action.validator_window":"Visualizza problemi modello...","action.validator_window.desc":"Apri il validatore, che elenca i problemi con il modello corrente.","action.cancel_gif":"Annulla GIF","menu.text_edit.copy_vector":"Copia Vettore","menu.brush_presets.dialog":"Pennello Predefinito...","menu.brush_presets.pixel_brush":"Pennello Pixel","menu.brush_presets.smooth_brush":"Pennello Liscio","menu.texture.edit_in_blockbench":"Modifica in Blockbench","menu.mirror_painting.axis":"Asse","menu.mirror_painting.axis.desc":"Seleziona su quale asse verranno specchiate le pennellate","menu.mirror_painting.global":"Simmetria Globale","menu.mirror_painting.global.desc":"Specchio pittura attivato sul modello nello spazio globale","menu.mirror_painting.local":"Simmetria Locale","menu.mirror_painting.local.desc":"Specchio pittura attivato nello spazio locale per ogni elemento","menu.mirror_painting.texture_frames":"Ripeti sui fotogrammi del flipbook","menu.mirror_painting.texture_frames.desc":"Applica pennellate di vernice speculari a ogni fotogramma di texture animate","format.bedrock_block.info.size_limit":"La dimensione totale di un blocco \xE8 limitata a 30 pixel in tutte le dimensioni. Il limite pu\xF2 essere decentrato in tutte le direzioni di 7 pixel dal centro del blocco.","format.bedrock_block.info.textures":"\xC8 possibile applicare pi\xF9 texture a cubi diversi in Blockbench, ma \xE8 richiesta una configurazione aggiuntiva nel pacchetto di comportamento per funzionare correttamente nel gioco.","format.image.desc":"Modifica le immagini nell'editor di immagini 2D","generic.delete_all":"Elimina tutto","message.child_model_only.open":"Apri Genitore","message.child_model_only.open_with_textures":"Apri genitore e adotta texture","dialog.project.credit":"Credito","dialog.convert_project.create_copy":"Crea copia","dialog.texture.frame_time":"Tempo Fotogramma","dialog.texture.frame_time.desc":"Imposta per quanto tempo ogni fotogramma sar\xE0 visibile, in tick. Ogni tick \xE8 1/20 di secondo.","dialog.texture.frame_interpolate":"Interpola","dialog.texture.frame_interpolate.desc":"Interpola tra i fotogrammi dell'animazione tramite dissolvenza incrociata al fotogramma successivo","dialog.texture.frame_order_type":"Modalit\xE0 Ripetizione","dialog.texture.frame_order_type.loop":"Ripetizione","dialog.texture.frame_order_type.backwards":"Ripeti all'indietro","dialog.texture.frame_order_type.back_and_forth":"Avanti e indietro","dialog.texture.frame_order_type.custom":"Ordine personalizzato","dialog.texture.frame_order":"Ordine Fotogrammi","dialog.texture.frame_order.desc":"Imposta un ordine dei fotogrammi personalizzato elencando gli indici dei fotogrammi in un nuovo ordine. Gli indici dei fotogrammi iniziano da 0 con il primo fotogramma.","dialog.select.mode":"Modalit\xE0","dialog.select.mode.new":"Nuova selezione","dialog.select.mode.add":"Aggiungi a Selezionato","dialog.select.mode.remove":"Rimuovi da Selezionato","dialog.select.mode.in_selection":"Seleziona solo da Selezionato","dialog.predicate_overrides.model":"Modello","dialog.predicate_overrides.predicates":"Predicati","dialog.predicate_overrides.variants":"Varianti","dialog.predicate_overrides.start_value":"Inizia","dialog.predicate_overrides.add_override":"Aggiungi override","dialog.predicate_overrides.add_predicate":"Aggiungi predicato","dialog.predicate_overrides.generate_overrides":"Genera override","dialog.predicate_overrides.confirm_delete":"Sicuro di voler eliminare tutti gli override?","dialog.predicate_overrides.predicate.angle":"Angolo bussola","dialog.predicate_overrides.predicate.blocking":"Sta bloccando","dialog.predicate_overrides.predicate.broken":"\xC8 interrotto","dialog.predicate_overrides.predicate.cast":"\xC8 lanciato","dialog.predicate_overrides.predicate.cooldown":"Tempo di recupero","dialog.predicate_overrides.predicate.damage":"Danni","dialog.predicate_overrides.predicate.damaged":"\xC8 danneggiato","dialog.predicate_overrides.predicate.lefthanded":"\xC8 mancino","dialog.predicate_overrides.predicate.pull":"Importo di tiro","dialog.predicate_overrides.predicate.pulling":"Sta tirando","dialog.predicate_overrides.predicate.charged":"\xC8 caricato","dialog.predicate_overrides.predicate.firework":"Fuochi d'artificio","dialog.predicate_overrides.predicate.throwing":"Pronto a lanciare","dialog.predicate_overrides.predicate.time":"Ora del giorno","dialog.predicate_overrides.predicate.custom_model_data":"Dati modello personalizzati","dialog.predicate_overrides.predicate.level":"Livello luce","dialog.predicate_overrides.predicate.filled":"Livello riempimento bundle","dialog.predicate_overrides.predicate.tooting":"Suonare Tromba","settings.model_export_scale":"Scala di esportazione del modello","settings.model_export_scale.desc":"Fattore di riduzione della scala dei modelli glTF, DAE e FBX esportati. Il valore predefinito \xE8 16, che converte 16 unit\xE0 Blockbench in 1 metro nell'esportazione.","action.export_fbx":"Esporta modello FBX","action.export_fbx.desc":"Esporta modello e animazioni come file fbx per utilizzarli in altre applicazioni 3D e motori di gioco","action.center_lateral":"Centra lateralmente","action.center_lateral.desc":"Centra gli elementi selezionati sugli assi X e Z","action.adjust_opacity":"Regola opacit\xE0...","action.adjust_opacity.desc":"Regola l'opacit\xE0 della texture selezionata","action.rotate_texture_cw":"Ruota in senso orario","action.rotate_texture_ccw":"Ruota in senso antiorario","action.predicate_overrides":"Modifica sostituzioni predicato...","action.predicate_overrides.desc":"Seleziona i modelli per sostituire questo modello in base alle condizioni selezionate","action.auto_set_cullfaces":"Imposta automaticamente le Cullface","action.auto_set_cullfaces.desc":"Genera automaticamente le cullface per nascondere le facce quando sono coperte dal blocco adiacente.","menu.texture.edit_externally":"Modifica esternamente","menu.mirror_painting.texture":"Simmetria editor 2D","menu.mirror_painting.texture.desc":"Abilita la pittura speculare nello spazio 2D sull'immagine o sulla texture","menu.animator.rotation_global":"Ruota nello spazio globale","uv_editor.face_properties":"Propriet\xE0 faccia","uv_editor.face_properties.material_instance":"Istanza materiale","uv_editor.tint.info":"La tinta pu\xF2 essere abilitata su una faccia per dire a Minecraft di colorarla. In Vanilla, la tinta pu\xF2 essere usata solo da blocchi specifici come foglie e polvere di redstone e pu\xF2 avere solo un valore di 0.","uv_editor.cullface.info":"L'abilitazione di cullface dice a una faccia su un blocco di non renderizzare se un altro blocco completo viene posizionato accanto ad essa nella direzione specificata nel tuo mondo di Minecraft. Questo pu\xF2 essere usato per ottimizzare le prestazioni.","uv_editor.material_instance.info":"Le istanze di materiale possono essere impostate su un nome definito dall'utente. Quel nome pu\xF2 essere usato nel file JSON del blocco nel pacchetto di comportamento per assegnare una particolare texture e materiale alla faccia.","display.reference.frame_invisible":"Cornice dell'oggetto (invisibile)","data.settings_profile":"Profilo","message.display_skin.invalid_name":`Impossibile trovare l'account Minecraft con il nome "%0".`,"dialog.load_plugins_from_query.title":"Carica plugin","dialog.load_plugins_from_query.text":"Hai utilizzato un collegamento che richiede l'installazione di plugin. Vuoi installarli?","dialog.select_model.title":"Seleziona modello","dialog.select_model.bones":"Ossa","dialog.select_model.cubes":"Cubi","dialog.settings.create_profile":"Crea profilo...","settings_profile.confirm_delete":"Sicuro di voler eliminare questo profilo di impostazioni?","settings_profile.condition.type.selectable":"Selezionabile manualmente","settings.interface_mode":"Modalit\xE0 UI","settings.interface_mode.desc":"Modalit\xE0 Interfaccia","settings.interface_mode.auto":"Automatico","settings.interface_mode.desktop":"Desktop","settings.interface_mode.mobile":"Mobile","settings.paint_through_transparency":"Dipingi su trasparenza","settings.paint_through_transparency.desc":"Dipingi attraverso i pixel trasparenti quando \xE8 abilitato Blocca canale alfa","action.tab_overview":"Panoramica schede","action.tab_overview.desc":"Visualizza tutte le schede aperte in una griglia e passa a una","action.slider_color_red":"Colore rosso","action.slider_color_green":"Colore verde","action.slider_color_blue":"Colore blu","action.add_animation_controller":"Aggiungi controllo animazione","action.add_animation_controller.desc":"Crea un controllo animazione vuoto","action.animation_controller_preview_mode":"Anteprima Controllo","action.animation_controller_preview_mode.paused":"In pausa","action.animation_controller_preview_mode.manual":"Anteprima Manuale","action.animation_controller_preview_mode.play":"Auto Riproduzione","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Collega maniglie B\xE9zier","action.keyframe_bezier_linked.desc":"Collega la maniglia B\xE9zier del fotogramma chiave destro e sinistro","action.reset_keyframe_handles":"Reimposta maniglie fotogramma","action.reset_keyframe_handles.desc":"Reimposta le maniglie B\xE9zier dei fotogrammi selezionati","action.looped_animation_playback":"Riproduzione in loop","action.looped_animation_playback.desc":"Visualizza l'anteprima delle animazioni in un ciclo infinito","timeline.bind_to_actor":"Collega all'attore","animation_controllers.select_preset":"Seleziona un preset controller...","animation_controllers.state.animations":"Animazioni","animation_controllers.state.particles":"Particelle","animation_controllers.state.sounds":"Suoni","animation_controllers.state.on_entry":"Ingresso","animation_controllers.state.on_exit":"Uscita","animation_controllers.state.transitions":"Transizioni","animation_controllers.state.condition":"Condizione","animation_controllers.state.blend_transition":"Tempo di fusione","animation_controllers.state.shortest_path":"Fusione per percorso pi\xF9 breve","animation_controllers.state.edit_transition":"Modifica transizione","menu.color_picker.picker_type":"Tipo di selettore","menu.color_picker.picker_type.square":"Quadrato","menu.color_picker.picker_type.wheel":"Wheel","menu.color_picker.slider_mode":"Modalit\xE0 cursore","menu.color_picker.slider_mode.hsv":"Tonalit\xE0, Saturazione, Valore","menu.color_picker.slider_mode.rgb":"Rosso, Verde, Blu","menu.texture.render_mode.additive":"Additivo","panel.color.picker_options":"Opzioni selettore colore","panel.animation_controllers":"Controllo animazione","display.preset.armor_stand":"Terra (supporto armatura)","data.file_path":"Percorso File","dialog.extrude.orientation":"Orientamento","dialog.extrude.orientation.upright":"Verticale","dialog.extrude.orientation.flat":"Piatto","dialog.scale.box_uv_warning":"Il ridimensionamento di un modello UV Box potrebbe interrompere l'UV del tuo modello. Invece, prova a ridimensionare il tuo modello esternamente o passa alla modalit\xE0 UV per faccia in File > Progetto.","dialog.create_gif.format":"Formato","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"Sequenza PNG","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.bg_image":"Immagine di sfondo","dialog.create_gif.turn.desc":"Ruota il modello durante la registrazione. Utilizza valori negativi per ruotare il modello in senso orario. Un valore di 60 corrisponde a una rotazione al secondo.","settings_profile.condition":"Condizione","settings_profile.condition.type.file_path.desc":"Utilizza la sintassi delle espressioni regolari per far corrispondere il percorso del file del progetto corrente. Utilizza le barre per le directory","settings.only_selected_bezier_handles":"Mostra solo le maniglie di B\xE9zier selezionate","settings.only_selected_bezier_handles.desc":"Nascondi le maniglie dei fotogrammi chiave di B\xE9zier che non sono attualmente selezionati","settings.embed_textures":"Incorpora le texture","settings.embed_textures.desc":"Incorpora il contenuto del file texture nei file .bbmodel","action.selection_mode.cluster":"Cluster","dialog.copied_to_clipboard":"Copiato negli appunti","data.reference_image":"Immagine di riferimento","message.delete_reference_image":"Sei sicuro di voler eliminare questa immagine di riferimento? Questa operazione non pu\xF2 essere annullata.","message.add_reference_image.message":"Seleziona dove caricare l'immagine di riferimento","message.add_reference_image.project":"Aggiungi a questo progetto","message.add_reference_image.app":"Aggiungi a tutti i progetti","message.import_particle_texture.import":"Importa texture particella","message.import_particle_texture.message":"Vuoi importare un file texture da utilizzare per la tua particella?","message.save_codec_selector.title":"Salva formato modello","message.save_codec_selector.message":"Seleziona un formato per salvare il modello in.","message.save_codec_selector.project_file":"Progetto Blockbench (.bbmodel)","message.save_codec_selector.both":"Entrambi","message.display_skin.username":"Nome utente (Java)","message.palette_locked":"La palette \xE8 bloccata","dialog.project.default_uv_mode":"Modalit\xE0 UV predefinita","dialog.project.default_uv_mode.description":"Modalit\xE0 UV predefinita del progetto. La modalit\xE0 UV pu\xF2 anche essere modificata per cubo.","dialog.export_options.title":"Opzioni di esportazione","dialog.edit_texture.preview":"Anteprima","dialog.proportional_editing.range":"Intervallo","dialog.proportional_editing.falloff":"Decadenza","dialog.proportional_editing.falloff.linear":"Lineare","dialog.proportional_editing.falloff.hermite_spline":"Liscio","dialog.proportional_editing.falloff.constant":"Costante","dialog.proportional_editing.selection":"Selezione","dialog.proportional_editing.selection.linear":"Distanza lineare","dialog.proportional_editing.selection.connections":"Connessioni","dialog.mirror_painting_texture_center.middle":"Centro","dialog.mirror_painting_texture_center.custom":"Personalizzato","dialog.settings.reset_to_default":"Reimposta a Predefinito","keybindings.item.num_slider.increase":"Aumenta","keybindings.item.num_slider.decrease":"Diminuisci","settings.always_show_splash_art":"Mostra sempre Splash Art","settings.always_show_splash_art.desc":"Mostra sempre Splash Art nella schermata iniziale","action.slider_palette_color":"Cambia colore tavolozza","action.slider_palette_color.desc":"Cambia i colori nella tavolozza","action.proportional_editing":"Modifica proporzionale","action.proportional_editing.desc":"Influisce in modo proporzionale sui vertici circostanti quando si modificano parti di una mesh","action.limit_to_palette":"Limita a tavolozza","action.limit_to_palette.desc":"Limita i colori della texture a quelli nella palette attualmente caricata","action.edit_reference_images":"Modifica immagini di riferimento","action.edit_reference_images.desc":"Attiva la modalit\xE0 immagine di riferimento per aggiungere o modificare immagini di riferimento e progetti","action.add_reference_image":"Aggiungi immagine di riferimento","action.reference_image_from_clipboard":"Immagine di riferimento dagli appunti","action.reference_image_list":"Immagini di riferimento","action.connect_uv_faces":"Collega facce UV","action.connect_uv_faces.desc":"Collega le facce UV selezionate all'ultima faccia UV selezionata","action.merge_uv_vertices":"Unisci vertici UV","action.merge_uv_vertices.desc":"Aggancia i primi vertici UV selezionati agli ultimi vertici UV selezionati","action.bedrock_animation_mode":"Modalit\xE0 Animazione Bedrock","action.bedrock_animation_mode.desc":"Seleziona la modalit\xE0 in cui modificare le animazioni per Minecraft: Bedrock Edition","action.bedrock_animation_mode.entity":"Entit\xE0","action.bedrock_animation_mode.attachable_first":"Oggetto 1a persona","action.bedrock_animation_mode.attachable_third":"Oggetto 3a persona","timeline.amplify":"Amplifica","menu.options":"Opzioni...","menu.palette.lock_palette":"Blocca Palette","menu.uv.export":"Esporta Mappatura UV","menu.uv.flip_x":"Specchio X","menu.uv.flip_y":"Specchio Y","menu.mirror_painting.enabled":"Abilitato","reference_image.position":"Posizione","reference_image.size":"Dimensione","reference_image.rotation":"Rotazione","reference_image.opacity":"Opacit\xE0","reference_image.visibility":"Visibilit\xE0","reference_image.clear_mode":"Modalit\xE0 Cancella","reference_image.layer":"Livello","reference_image.layer.background":"Dietro al modello","reference_image.layer.viewport":"Sopra al modello","reference_image.layer.float":"Sopra all'interfaccia","reference_image.scope":"Ambito","reference_image.scope.project":"Solo questo progetto","reference_image.scope.global":"Tutti i progetti","reference_image.enabled_modes":"Abilitato in modalit\xE0","codec.common.encoding":"Codifica","codec.common.armature":"Esporta gruppi come armatura","codec.common.export_animations":"Esporta animazioni","codec.common.embed_textures":"Incorpora trama","preview.center_camera":"Centra telecamera","display.reference.frame_top":"Parte superiore frame elemento","display.reference.frame_top_invisible":"Parte superiore frame elemento (invisibile)","action.proportional_editing_range":"Intervallo di modifica proporzionale","action.proportional_editing_range.desc":"Regola l'intervallo per la modifica proporzionale","action.toggle_all_reference_images":"Nascondi/Mostra tutte le immagini di riferimento","action.toggle_all_reference_images.desc":"Attiva/disattiva la visibilit\xE0 di tutte le immagini di riferimento contemporaneamente","action.add_animation_controller_state":"Aggiungi stato controller animazione","action.add_animation_controller_state.desc":"Aggiungi un nuovo stato al controller animazione","menu.slider.round_value":"Arrotonda valore","texture.error.too_large":"La risoluzione supera il massimo di %0","dialog.copy_to_clipboard":"Copia negli appunti","dialog.open_url":"Apri URL","reference_image.image":"Immagine","uv_editor.rotate_uv":"Ruota UV","generic.error":"Errore","projects.start_screen":"Schermata iniziale","message.invalid_link.message":'Il modello condiviso "%0" che stai tentando di caricare non \xE8 valido o \xE8 scaduto.',"message.plugin_dependencies.title":"Dipendenze del plugin","message.plugin_dependencies.message1":"Il plugin richiede queste dipendenze:","message.plugin_dependencies.message1_update":"Il plugin %0 \xE8 stato aggiornato e ora richiede queste dipendenze:","message.plugin_dependencies.message2":"Vuoi installarle per continuare?","message.plugin_dependencies.invalid":"Purtroppo il plugin non pu\xF2 essere installato, ha una dipendenza non valida:","message.preview_scene_load_failed":"Impossibile caricare la scena di anteprima. Controlla la tua connessione Internet.","dialog.convert_project.text1":"Converti il \u200B\u200Bprogetto in un formato diverso.","dialog.convert_project.text2":"Usa la conversione a tuo rischio e pericolo. I formati hanno caratteristiche e restrizioni diverse, quindi la conversione in alcuni casi interromper\xE0 parti del tuo progetto.","dialog.convert_project.text3":"Non puoi annullare la conversione, ecco perch\xE9 per impostazione predefinita verr\xE0 creata una copia.","dialog.unsaved_work.title":"Lavoro non salvato","dialog.unsaved_work.text":"I seguenti progetti contengono modifiche non salvate. Vuoi salvare le modifiche?","dialog.unsaved_work.discard_all":"Ignora tutto","dialog.unsaved_work.save_all":"Salva tutto","dialog.resize_texture.mode":"Modalit\xE0","dialog.resize_texture.mode.crop":"Ritaglia/Espandi","dialog.resize_texture.mode.scale":"Scala","dialog.plugins.is_installed":"Installato","dialog.plugins.is_disabled":"Disattivato","dialog.plugins.disable":"Disattiva","dialog.plugins.enable":"Attiva","dialog.plugins.dependencies":"Dipende da:","dialog.view_backups.open_folder":"Apri cartella","dialog.share_model.reference_images":"Includi immagini di riferimento","dialog.share_model.too_large":"Impossibile caricare: il modello \xE8 troppo grande","dialog.share_model.too_large_references":"Impossibile caricare: il modello \xE8 troppo grande. Prova senza immagini di riferimento.","settings.stretch_linked":"Allungamento collegamento","settings.stretch_linked.desc":"Allunga il cubo in tutte le direzioni con lo stesso valore","settings.grids":"Mostra griglie","settings.grids.desc":"Mostra o nascondi tutte le griglie 3D","settings.double_click_switch_tools":"Cambia strumenti con doppio clic","settings.double_click_switch_tools.desc":"Fai doppio clic sulla finestra per passare da uno strumento all'altro","settings.outlines_in_paint_mode":"Contorni di selezione in modalit\xE0 pittura","settings.outlines_in_paint_mode.desc":"Visualizza i contorni di selezione degli elementi in modalit\xE0 pittura","settings.json_indentation":"Indentazione JSON","settings.json_indentation.desc":"Stile di rientro per i file JSON esportati","settings.json_indentation.tabs":"Schede","settings.json_indentation.spaces_4":"Spazi: 4","settings.json_indentation.spaces_2":"Spazi: 2","action.slider_stretch":"Allunga","action.slider_stretch.desc":"Allunga i cubi in modo moltiplicativo sull'asse %0 senza modificare l'UV","action.view_backups":"Visualizza backup","action.view_backups.desc":"Sfoglia l'elenco dei backup di progetto salvati automaticamente","action.search_outliner":"Cerca Outliner","action.search_outliner.desc":"Cerca nomi di elementi specifici nell'outliner","action.mirror_modeling":"Modellazione speculare","action.mirror_modeling.desc":"Abilita la modellazione speculare sull'asse X. Tutte le modifiche apportate nella finestra verranno riflesse sull'altro lato, a meno che non siano specificatamente disabilitate sull'elemento.","action.allow_element_mirror_modeling":"Consenti la modellazione speculare","action.allow_element_mirror_modeling.desc":"Scegli se gli elementi selezionati possono essere interessati dalla modellazione speculare","action.switch_face_crease":"Cambia piega della faccia","action.switch_face_crease.desc":"Cambia la direzione in cui il quad si piega al centro","action.clear_unused_texture_space":"Cancella spazio texture inutilizzato","action.clear_unused_texture_space.desc":"Cancella parti della trama che non sono mappate UV su alcun elemento","action.split_screen":"Schermo diviso","action.split_screen.desc":"Seleziona una modalit\xE0 di schermo diviso della finestra di visualizzazione","action.split_screen.single":"Singolo","action.split_screen.double_horizontal":"Doppio orizzontale","action.split_screen.double_vertical":"Doppio verticale","action.split_screen.quad":"Quadruplo","action.split_screen.triple_left":"Triplo a sinistra","action.split_screen.triple_right":"Triplo a destra","action.split_screen.triple_top":"Triplo in alto","action.split_screen.triple_bottom":"Triplo in basso","action.uv_project_from_view":"Progetto UV dalla vista","action.uv_project_from_view.desc":"Genera automaticamente UV per le facce selezionate dalla prospettiva della vista 3D","action.graph_editor_other_graphs":"Visualizza altri grafici","action.graph_editor_other_graphs.desc":"Se i grafici degli assi non selezionati vengono visualizzati","action.graph_editor_include_other_graphs":"Includi altri grafici","action.graph_editor_include_other_graphs.desc":"Se l'editor grafico include i grafici non selezionati nella vista","action.set_ik_source":"Imposta radice IK","action.set_ik_source.desc":"Seleziona l'osso radice della catena che deve essere spostato da questo oggetto nullo tramite cinematica inversa","edit.loop_cut.cuts":"Tagli","panel.element.stretch":"Allunga","preview_scene.minecraft_plains":"Pianure","preview_scene.minecraft_cherry_grove":"Boschetto di ciliegie","preview_scene.minecraft_snowy_tundra":"Tundra Innevata","preview_scene.minecraft_sunset":"Tramonto","preview_scene.minecraft_night":"Notte","preview_scene.minecraft_desert":"Deserto","preview_scene.minecraft_underwater":"Sott'acqua","preview_scene.minecraft_coral_reef":"Barriera Corallina","preview_scene.minecraft_lush_cave":"Grotta Lussureggiante","preview_scene.minecraft_deep_dark":"Buio Profondo","generic.navigate_forward":"Avanti","generic.navigate_back":"Indietro","action.element_render_order":"Ordine Rendering Trasparenza","action.element_render_order.default":"Automatico","action.element_render_order.behind":"Dietro","action.element_render_order.in_front":"Davanti","message.installing_update.title":"Aggiornamento disponibile","message.installing_update.message":"Una nuova versione \xE8 pronta per essere installata. Dopo aver chiuso l'app, attendi circa %0 secondi prima di riaprire Blockbench o spegnere il computer, per installare l'aggiornamento.","settings.brush_cursor_2d":"Cursore pennello 2D","settings.brush_cursor_2d.desc":"Visualizza un contorno attorno al pennello nell'area di lavoro 2D","settings.brush_cursor_3d":"Cursore pennello 3D","settings.brush_cursor_3d.desc":"Visualizza un contorno attorno al pennello nell'area di lavoro 3D","settings.cdn_mirror":"Usa CDN Mirror","settings.cdn_mirror.desc":"Usa il mirror CDN per scaricare i plugin. Lo specchio riceve gli aggiornamenti pi\xF9 velocemente e funziona in alcune regioni in cui l'impostazione predefinita non funziona.","data.layer":"Livello","data.panel":"Pannello","generic.confirm_delete":"Sicuro di voler eliminare questo?","format_category.general":"Generale","modifier_actions.no_uniform_scaling":"Ridimensionamento libero","message.texture_refresh_conflict.title":"Versioni trama in conflitto","message.texture_refresh_conflict.message":"Il file trama potrebbe contenere modifiche in conflitto con la versione di Blockbench","message.texture_refresh_conflict.keep_ours":"Mantieni la versione di Blockbench","message.texture_refresh_conflict.keep_theirs":"Carica il file e scarta tutte le modifiche e i livelli in Blockbench","message.group_required_to_animate":"Non puoi animare questo tipo di elemento. Crea un gruppo per animarlo.","dialog.texture.uv_size":"Dimensioni UV","dialog.advanced_screenshot.angle_preset":"Preimpostazione angolo","dialog.advanced_screenshot.resolution":"Risoluzione","dialog.advanced_screenshot.zoom_to_fit":"Adatta Zoom","dialog.advanced_screenshot.zoom":"Zoom / Lunghezza focale","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Mostra i gadget di modifica","dialog.advanced_screenshot.shading":"Ombreggiatura","settings.auto_keyframe":"Auto Fotogramma","settings.auto_keyframe.desc":"Crea automaticamente un fotogramma con valori predefiniti all'inizio della timeline quando si trasforma l'osso in un secondo momento","settings.modded_entity_integer_size":"Dimensione intera entit\xE0 modificata","settings.modded_entity_integer_size.desc":"Limita le dimensioni del cubo nel formato entit\xE0 modificata agli interi. Mentre i float sono tecnicamente supportati in alcune versioni, gli interi sono molto pi\xF9 facili da mappare UV.","category.layers":"Livelli","keybind.paint_secondary_color":"Dipingi con colore secondario","action.selection_tool_operation_mode":"Modalit\xE0 operazione di selezione","action.selection_tool_operation_mode.create":"Nuova selezione","action.selection_tool_operation_mode.add":"Aggiungi alla selezione","action.selection_tool_operation_mode.subtract":"Sottrai dalla selezione","action.selection_tool_operation_mode.intersect":"Interseca","action.pixel_perfect_drawing":"Disegno pixel perfetto","action.pixel_perfect_drawing.desc":"Disegna linee pixel-art fluide senza doppi pixel sulle curve","action.selection_tool":"Strumento di selezione","action.selection_tool.desc":"Seleziona parti dell'immagine","action.selection_tool.rectangle":"Rettangolo","action.selection_tool.ellipse":"Ellisse","action.selection_tool.lasso":"Selezione con lazo","action.selection_tool.wand":"Bacchetta magica","action.selection_tool.color":"Stesso colore","action.move_layer_tool":"Sposta livello","action.move_layer_tool.desc":"Sposta il livello o la selezione corrente","action.export_modded_animations":"Esporta animazioni di entit\xE0 modificate","action.export_modded_animations.desc":"Esporta animazioni per un modello di entit\xE0 modificato Minecraft Java Edition","action.swap_colors":"Scambia colori","action.swap_colors.desc":"Scambia il colore principale con il colore secondario","action.apply_mesh_rotation":"Applica rotazione","action.apply_mesh_rotation.desc":"Reimposta la rotazione dell'elemento della mesh e applicala alla geometria","action.flip_texture_x.desc":"Capovolgi la texture o il livello orizzontalmente","action.flip_texture_y.desc":"Capovolgi la texture o il livello verticalmente","action.rotate_texture_cw.desc":"Ruota la trama o il livello in senso orario","action.rotate_texture_ccw.desc":"Ruota la trama o il livello in senso antiorario","action.crop_texture_to_selection":"Ritaglia trama alla selezione","action.create_empty_layer":"Crea livello vuoto","action.enable_texture_layers":"Attiva Livelli","action.disable_texture_layers":"Disattiva Livelli","action.layer_opacity":"Opacit\xE0 Livello","action.layer_to_texture_size":"Espandi livello alla dimensione trama","action.layer_to_texture_size.desc":"Espandi livello alla dimensione della trama","action.merge_layer_down":"Unisci Sotto","action.merge_layer_down.desc":"Unisci al livello sottostante","action.advanced_screenshot":"Schermata avanzata...","action.advanced_screenshot.desc":"Fai uno screenshot del modello con opzioni avanzate","action.bake_ik_animation":"Cuoci cinematica inversa","action.bake_ik_animation.desc":"Cuoci le rotazioni applicate dalla cinematica inversa nell'animazione selezionata","action.save_animation_preset":"Salva preset di animazione...","action.save_animation_preset.desc":"Salva i fotogrammi chiave selezionati come preset di animazione","action.animation_onion_skin":"Animazione Onion Skin","action.animation_onion_skin.desc":"Visualizza una vista wireframe di un fotogramma diverso nell'animazione come riferimento","action.apply_animation_preset":"Applica preset di animazione","action.apply_animation_preset.desc":"Seleziona da un elenco di preset di animazione e applicalo all'osso selezionato","menu.brush_presets.pixel_perfect":"Pennello pixel perfetto","panel.layers":"Livelli","uv_editor.copy_paste_tool.to_layer":"A Nuovo Livello","format.image.new":"Crea Nuova Immagine","format.image.info.summary":"L'editor di immagini 2D consente di creare e modificare immagini e pixel art direttamente in Blockbench, senza la necessit\xE0 di un editor di immagini esterno. Modifica immagini, modifica texture o crea la tua pixel art!","settings.move_with_selection_tool":"Usa lo strumento di selezione per spostare le selezioni","settings.move_with_selection_tool.desc":"Consenti allo strumento di selezione di spostare direttamente le selezioni, senza dover passare allo strumento Sposta livello","settings.final_newline":"Nuova riga finale","settings.final_newline.desc":"Inserisci un carattere di nuova riga alla fine del file esportato files","action.crop_layer_to_selection":"Ritaglia livello in selezione","action.edit_mode_uv_overlay.desc":"Visualizza la mappa UV come sovrapposizione in modalit\xE0 di modifica","menu.image":"Immagine","menu.texture.discard_changes":"Ignora modifiche","menu.texture.discard_changes.desc":"Ignora tutte le modifiche non salvate e carica l'ultima versione dal file","panel.textures.images":"Immagini","dialog.advanced":"Avanzate","dialog.recommended_option":"consigliato","modifier_actions.snap_to_center":"Aggancia al centro","modifier_actions.snap_to_pixels":"Aggancia ai pixel","message.invalid_format.install_plugin":"Installa plugin '%0'","message.plugin_deprecated.message":"Sei sicuro di voler installare questo plugin deprecato?","message.plugin_deprecated.install_anyway":"Installa comunque","message.image_editor.not_found":"Impossibile trovare l'editor di immagini selezionato. Seleziona un'opzione diversa.","message.knife_tool.confirm":"Premi %0 o fai clic qui per applicare lo strumento coltello","message.knife_tool.skipped_face":"Impossibile tagliare tra facce diverse. Includi i bordi o i vertici tra di loro!","message.optimize_animation.keyframes_removed":"Rimossi %0 keyframe ridondanti","message.optimize_animation.nothing_to_optimize":"Nulla da ottimizzare!","message.duplicate_bone_copy_animation.title":"Copia Animazione","message.duplicate_bone_copy_animation.message":"L'osso duplicato \xE8 animato in %0 animazioni. Vuoi copiare i keyframe sul nuovo osso?","message.auto_fix_mesh_edit.title":"Correzione automatica","message.auto_fix_mesh_edit.revert":"Annulla modifica","message.auto_fix_mesh_edit.overlapping_vertices":"Alcuni vertici sono stati spostati nello stesso punto. Come vuoi procedere?","message.auto_fix_mesh_edit.concave_quads":"Una o pi\xF9 facce quad sono ora concave, il che pu\xF2 causare problemi nella mappatura UV e nel rendering. Blockbench pu\xF2 correggerlo automaticamente per te:","message.auto_fix_mesh_edit.merge_vertices":"Unisci vertici","message.auto_fix_mesh_edit.split_quads":"Dividi quadri","message.load_images.add_image":"Aggiungi immagine","dialog.project.modded_entity_entity_class":"Classe entit\xE0","dialog.resize_texture.offset":"Compensa","dialog.animated_texture_editor.code_reference":"Riferimento Codice","dialog.animated_texture_editor.code_reference.about":"Questo codice per implementare l'animazione della texture \xE8 stato generato come riferimento e non funziona necessariamente senza modifiche. Consulta la documentazione per saperne di pi\xF9.","dialog.animated_texture_editor.code_reference.docs":"Documentazione","dialog.animated_texture_editor.reframe":"Riformula","dialog.animated_texture_editor.stride":"Dimensioni Fotogramma","dialog.animated_texture_editor.frames":"Numero di fotogrammi","dialog.animated_texture_editor.add_frame":"Aggiungi frame","dialog.animated_texture_editor.resize_frames":"Ridimensiona frame...","dialog.animated_texture_editor.apply":"Applica","dialog.add_primitive.edge_size":"Dimensione bordo","dialog.change_animation_speed.speed":"Velocit\xE0","dialog.change_animation_speed.adjust_snapping":"Regola aggancio","dialog.optimize_animation.selection":"Selezione","dialog.optimize_animation.selection.selected_keyframes":"Fotogrammi chiave selezionati","dialog.optimize_animation.selection.selected_animation":"Animazione selezionata","dialog.optimize_animation.selection.all_animations":"Tutte le animazioni","dialog.optimize_animation.thresholds":"Valori soglia","dialog.import_obj.obj":"File OBJ","dialog.import_obj.mtl":"File MTL","dialog.import_obj.scale":"Scala","layout.thumbnail":"CSS miniatura personalizzato","settings.pixel_grid":"Griglia pixel","settings.pixel_grid.desc":"Mostra griglia pixel texture sugli elementi in modalit\xE0 di modifica","settings.image_editor_grid_size":"Dimensioni griglia editor immagini","settings.image_editor_grid_size.desc":"Dimensioni della griglia grande nell'editor immagini 2D","settings.ground_plane_double_side":"Piano di terra bifacciale","settings.ground_plane_double_side.desc":"Rendi il piano di terra visibile dal basso","settings.optifine_save_default_texture":"OptiFine JEM: Esporta texture selezionata","settings.optifine_save_default_texture.desc":"Esporta la texture selezionata come texture predefinita del modello","action.slider_color_select_threshold":"Soglia di selezione colore","action.slider_color_select_threshold.desc":"Quanto deve essere vicino il colore di un pixel adiacente per essere selezionato tramite selezione colore o bacchetta","action.stretch_tool":"Allunga","action.stretch_tool.desc":"Strumento per selezionare e allungare gli elementi","action.knife_tool":"Strumento coltello","action.knife_tool.desc":"Strumento per tagliare le facce della mesh in pezzi pi\xF9 piccoli","action.duplicate_project":"Duplica progetto","action.duplicate_project.desc":"Crea una copia del progetto aperto","action.transform_space.parent":"Genitore","action.transform_pivot_space":"Spazio di trasformazione pivot","action.solidify_mesh_selection":"Solidifica facce","action.solidify_mesh_selection.desc":"Solidifica le facce selezionate della mesh","action.animated_texture_editor":"Animazione flipbook...","action.animated_texture_editor.desc":"Imposta o modifica l'animazione flipbook della trama selezionata","action.center_individual_pivots":"Centra i singoli perni","action.center_individual_pivots.desc":"Imposta il punto di perno di ogni elemento selezionato sul suo centro","action.uv_cycle":"Ciclo UV","action.uv_cycle.desc":"Scorri l'ordine dei vertici UV senza modificare le posizioni UV","action.uv_cycle_invert":"Ciclo Inverti UV","action.uv_cycle_invert.desc":"Inverti l'ordine dei vertici UV senza modificare le posizioni UV","action.slider_animation_controller_speed":"Velocit\xE0 di riproduzione del controller","action.slider_animation_controller_speed.desc":"Velocit\xE0 di riproduzione dei controller di animazione in percentuale","action.optimize_animation":"Ottimizza animazione","action.optimize_animation.desc":"Ottimizza l'animazione corrente e riduci il conteggio dei fotogrammi chiave","action.change_animation_speed":"Cambia velocit\xE0 animazione...","action.change_animation_speed.desc":"Cambia la velocit\xE0 dell'animazione selezionata","timeline.select_particle_file":"Seleziona file particella","timeline.select_sound_file":"Seleziona file audio","menu.cube.texture.default":"Predefinito","menu.texture.particle.clear":"Interrompi utilizzo per particelle","menu.texture.use_as_default":"Imposta come predefinito","menu.texture.use_as_default.clear":"Annulla assegnazione come predefinito","menu.toolbar.overflow":"Overflow barra degli strumenti","edit.solidify_mesh_selection.thickness":"Spessore","reference_image.sync_to_timeline":"Sincronizza linea temporale","reference_image.toggle_playback":"Riproduci/Pausa","dialog.add_primitive.shape.beveled_cuboid":"Cuboide smussato","dialog.ignore_all":"Ignora tutto","data.texture_group":"Gruppo Trame","data.animation":"Animazione","generic.on":"Attivo","generic.off":"Disattivo","format.free.info.3d_printing":"Stampa 3D","message.invalid_file.merge_conflict":"Il file contiene conflitti di unione Git non risolti.","dialog.expand_texture_selection.radius":"Importo","dialog.expand_texture_selection.corner":"Forma angolo","dialog.expand_texture_selection.corner.round":"Arrotondato","dialog.expand_texture_selection.corner.square":"Quadrato","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Unisci in","keybindings.variation_conflict":"Variazione in conflitto con la combinazione di tasti principale","settings.recovery_save_interval":"Intervallo di salvataggio per il ripristino","settings.recovery_save_interval.desc":"Blockbench salva regolarmente il progetto aperto in background per ripristinarlo in caso di crash del computer. Imposta l'intervallo in secondi. Imposta su 0 per disabilitare il salvataggio.","settings.save_view_per_tab":"Salva vista per scheda","settings.save_view_per_tab.desc":"Salva l'angolo di visualizzazione corrente per ogni scheda separatamente","settings.inherit_parent_color":"Eredita colore padre","settings.inherit_parent_color.desc":"Imposta il colore del marcatore di un elemento appena creato sul colore del padre anzich\xE9 su un colore casuale","keybind.preview_select.multi_select":"Selezione multipla","keybind.preview_select.group_select":"Selezione gruppo","keybind.preview_select.loop_select":"Selezione ciclo","action.fill_mode.selection":"Selezione","action.fill_mode.selected_elements":"Elementi selezionati","action.image_tiled_view":"Vista affiancata","action.image_tiled_view.description":"Attiva la vista affiancata nell'editor 2D","action.image_onion_skin_view":"Editor immagini Onion Skin","action.image_onion_skin_view.description":"Abilita la visualizzazione Onion Skin nell'editor 2D","action.expand_texture_selection":"Espandi selezione texture","action.expand_texture_selection.desc":"Espandi o riduci selezione texture","action.switch_tabs.reverse_order":"Ordine inverso","action.save_project_incremental":"Salva progetto con incremento","action.save_project_incremental.desc":"Salva il modello corrente come file di progetto con un incremento (ad esempio: project_2.bbmodel)","action.copy.multiple":"Copia tutto","action.copy.multiple.desc":"Copia tutti i dati disponibili singolarmente","action.paste.multiple":"Incolla tutto","action.randomize_marker_colors":"Randomizza colori marcatore","action.cube_light_emission":"Emissione di luce","action.cube_light_emission.desc":"Cambia l'emissivit\xE0 dei cubi selezionati, come valore compreso tra 0 e 15","action.view_mode.colored_solid":"Solido con colori marcatore","action.focus_on_selection.rotate_only":"Solo rotazione","action.create_texture_group":"Crea gruppo texture","action.create_texture_group.desc":"Crea un gruppo per le tue texture","action.uv_maximize.all_faces":"Influenza tutte le facce","action.retarget_animators":"Reindirizza animazioni","action.retarget_animators.desc":"Seleziona quale animatore indirizza quale osso o elemento","action.merge_animation":"Unisci animazione","action.merge_animation.desc":"Unisci l'animazione in un'altra animazione","action.add_keyframe.reset_values":"Con valori predefiniti","action.set_timeline_range_start":"Imposta inizio intervallo sequenza temporale","action.set_timeline_range_start.desc":"Imposta il punto di inizio per un intervallo di riproduzione personalizzato nella sequenza temporale dell'animazione","action.set_timeline_range_end":"Imposta fine intervallo sequenza temporale","action.set_timeline_range_end.desc":"Imposta il punto di fine per un intervallo di riproduzione personalizzato nella sequenza temporale dell'animazione","action.disable_timeline_range":"Disattiva intervallo sequenza temporale","action.disable_timeline_range.desc":"Disattiva intervallo di riproduzione personalizzato nella sequenza temporale dell'animazione","menu.texture_group.resolve":"Risolvi","menu.image_tiled_view.mirrored":"Bordi specchiati","menu.image_onion_skin_view.frame":"Fotogrammi","menu.image_onion_skin_view.frame.last_viewed":"Ultimo fotogramma visualizzato","menu.image_onion_skin_view.frame.previous":"Fotogramma precedente","menu.image_onion_skin_view.frame.next":"Fotogramma successivo","menu.image_onion_skin_view.frame.both":"Precedente + Successivo","menu.image_onion_skin_view.display":"Visualizza","menu.image_onion_skin_view.display.pixels":"Pixel pi\xF9 piccoli","menu.image_onion_skin_view.display.transparent":"Trasparente","menu.image_onion_skin_view.above":"Visualizza sopra","menu.animation.reload":"Ricarica","switches.autouv.alt":"Relativo","display.rotation_pivot":"Perno di rotazione","display.scale_pivot":"Scala Perno","display.reference.fox":"Volpe","display.reference.eating":"Mangiare","preview_scene.sky":"Cielo","preview_scene.space":"Spazio","preview_scene.minecraft_ocean":"Oceano","message.import_palette.selection_only":"Solo selezione","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Genera...","dialog.blend_transition_edit.generate.learn_more":"Ulteriori informazioni e anteprima","dialog.blend_transition_edit.generate.curve":"Tipo di Easing","dialog.blend_transition_edit.generate.steps":"Fotogrammi","settings.fps_limit":"Limite FPS","settings.fps_limit.desc":"Limita il numero di fotogrammi al secondo renderizzati da Blockbench. Il frame rate effettivo \xE8 limitato a ci\xF2 che il tuo dispositivo pu\xF2 visualizzare.","settings.outliner_reveal_on_select":"Mostra elementi alla selezione","settings.outliner_reveal_on_select.desc":"Mostra gli elementi nell'outliner quando selezionati","settings.java_export_pivots":"Esporta pivot nei modelli Java block/item","settings.java_export_pivots.desc":"Salva i punti pivot nei modelli Java block/item sui cubi senza rotazione","animation_controllers.state.blend_transition_curve":"Curva di transizione blend","menu.slider.reset_vector":"Reimposta vettore","dialog.blend_transition_edit.extended":"Grafico esteso","message.screenshot_too_large.title":"Problema di risoluzione dello screenshot","message.screenshot_too_large.message":"Impossibile eseguire correttamente il rendering dello screenshot. Riprova con una risoluzione inferiore o senza supersampling.","message.rename_elements.numbering":"Puoi usare caratteri speciali per generare numeri sequenziali: % per ottenere l'indice dell'elemento all'interno del suo gruppo, $ per ottenere l'indice all'interno della selezione.","generic.edit_externally":"Modifica esternamente","message.settings_require_restart.title":"Riavvio richiesto","message.settings_require_restart.message":"Alcune impostazioni verranno applicate solo dopo aver riavviato il programma.","message.settings_require_restart.restart_now":"Riavvia ora","message.settings_require_restart.restart_later":"Riavvia pi\xF9 tardi","message.classroom_mode.install_plugin":"Impossibile installare plugin in modalit\xE0 classe","dialog.collection.export_path":"Percorso di esportazione","dialog.collection.select_all":"Seleziona tutto","dialog.collection.select_none":"Nessuno","dialog.collection.add_with_filter":"Aggiungi con filtro","dialog.collection.remove":"Rimuovi","dialog.material_config.title":"Configurazione materiale","dialog.material_config.color_value":"Valore colore","dialog.material_config.mer":"Rugosit\xE0 emissiva del metallo","dialog.material_config.mer_value":"Valore MER","dialog.material_config.depth_type":"Tipo profondit\xE0","dialog.create_texture.disable_mirror_uv":"Disattiva specchiatura UV","dialog.create_texture.disable_mirror_uv.desc":"Disattiva l'opzione Specchio UV in Modellazione specchio per preservare UV separati per ogni lato del modello","dialog.create_gif.turn.sync_to_anim_length":"Sincronizzazione con l'animazione lunghezza","settings.category.controls":"Controlli","settings.classroom_mode":"Modalit\xE0 classe","settings.classroom_mode.desc":"Limita funzionalit\xE0 come l'installazione di plugin e rimuove i link ai social media","settings.antialiasing_bleed_fix":"Corregge il bleeding dell'anti-aliasing","settings.antialiasing_bleed_fix.desc":"Corregge il bleeding delle texture quando si usa l'anti-aliasing","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Metodo di approssimazione per visualizzare un'ampia gamma dinamica su uno schermo standard per il rendering PBR.","settings.audio_scrubbing":"Scrubbing audio della linea temporale","settings.audio_scrubbing.desc":"Riproduci brevi anteprime dell'audio durante lo scrubbing nella linea temporale","settings.viewport_rotate_speed":"Velocit\xE0 di rotazione della finestra","settings.viewport_rotate_speed.desc":"Sensibilit\xE0 di input durante la rotazione nella finestra","settings.viewport_zoom_speed":"Velocit\xE0 di zoom della finestra","settings.viewport_zoom_speed.desc":"Sensibilit\xE0 di input durante lo zoom nella finestra","settings.editor_2d_zoom_speed":"Velocit\xE0 di zoom dell'editor 2D","settings.editor_2d_zoom_speed.desc":"Sensibilit\xE0 di input durante lo zoom nell'editor di vernice UV e 2D","category.select":"Seleziona","action.vertex_snap_mode.rotate":"Ruota","action.export_image":"Esporta Immagine","action.export_image.desc":"Esporta la tua trama come file immagine","action.apply_mirror_modeling":"Applica modellazione speculare","action.apply_mirror_modeling.desc":"Applica modellazione speculare alla selezione. Tutti gli elementi selezionati verranno copiati e capovolti lungo l'asse X.","action.create_collection":"Crea raccolta","action.create_collection.desc":"Crea una raccolta dalla selezione outliner","action.set_collection_content_to_selection":"Imposta il contenuto della raccolta su Selezionato","action.set_collection_content_to_selection.desc":"Imposta i gruppi e gli elementi selezionati come contenuto della raccolta","action.add_to_collection":"Aggiungi selezionato alla raccolta","action.add_to_collection.desc":"Aggiungi i gruppi e gli elementi selezionati alla raccolta","action.view_mode.material":"Anteprima materiale","action.create_material":"Crea materiale","action.create_material.desc":"Crea un nuovo materiale PBR dalla texture selezionata","action.generate_pbr_map":"Genera mappa PBR...","action.generate_pbr_map.desc":"Genera una mappa PBR (mappa altezza o metalness, emissivit\xE0, ruvidit\xE0) da una texture esistente","menu.tools.main_tools":"Strumenti","menu.view.panels":"Pannelli","menu.texture.pbr_channel":"Canale PBR","menu.texture.pbr_channel.color":"Colore","menu.texture.pbr_channel.normal":"Normale","menu.texture.pbr_channel.height":"Altezza","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Rugosit\xE0)","menu.texture.pbr_channel.mer_subsurface":"Sottosuolo MER","menu.collection.export_project":"Esporta Progetto","menu.collection.export_as":'Esporta come "%0"',"menu.panel.enable":"Attiva","menu.panel.move_to":"Sposta in","menu.panel.move_to.left_bar":"Barra laterale sinistra","menu.panel.move_to.right_bar":"Barra laterale destra","menu.panel.move_to.top":"Alto","menu.panel.move_to.bottom":"Basso","menu.panel.move_to.float":"Mobile","menu.panel.move_to.hidden":"Nascondi","menu.panel.fold":"Comprimi","menu.mirror_painting.texture_center":"Origine","menu.mirror_modeling.mirror_uv":"Specchio UV","menu.animation_onion_skin.frames":"Fotogrammi","menu.animation_onion_skin.select":"Seleziona","menu.animation_onion_skin.previous":"Precedente","menu.animation_onion_skin.next":"Avanti","menu.animation_onion_skin.previous_next":"Precedente + Successivo","menu.animation_onion_skin.count":"Conteggio","menu.animation_onion_skin.interval":"Intervallo","menu.animation_onion_skin_selective":"Onion Skin selettiva","menu.animation_onion_skin_selective.desc":"Visualizza solo Onion Skin per la parte selezionata del modello","edit.loop_cut.unit":"Unit\xE0","edit.loop_cut.unit.size_units":"Unit\xE0 Misura","edit.loop_cut.unit.percent":"Percentuale","edit.extrude_mesh_selection.direction":"Direzione","edit.extrude_mesh_selection.direction.outwards":"Verso l'esterno","edit.extrude_mesh_selection.direction.average":"Media","edit.extrude_mesh_selection.even_extend":"Estensione uniforme","edit.vertex_snap.align":"Allinea","edit.vertex_snap.align.longest":"Asse pi\xF9 lungo","edit.vertex_snap.align.direction":"Direzione dal pivot","edit.vertex_snap.align.align_axis":"Asse %0","edit.vertex_snap.ignore_axis":"Ignora asse","codec.common.format":"Formato","codec.image.quality":"Qualit\xE0","panel.collections":"Raccolte","modifier_actions.always":"Sempre attivato","modifier_actions.unless":"A meno che %0","settings.undo_selections":"Annulla selezione","settings.undo_selections.desc":"Traccia le modifiche alla selezione come un passaggio nella cronologia degli annullamenti","action.focus_on_selection.zoom":"Adatta Zoom","display.reference.tooting":"Suono Clacson","settings.selection_tolerance":"Tolleranza Selezione","settings.selection_tolerance.desc":"Dimensione dell'area su cui \xE8 possibile fare clic per selezionare un bordo o un vertice","action.delete.keep_vertices":"Mantieni bordi/vertici","menu.mesh":"Mesh","dialog.material_config.subsurface":"Dispersione Sottosuolo","dialog.material_config.subsurface_enabled.desc":"Utilizza il canale alfa della mappa MER per la diffusione del sottosuolo","settings.pick_combined_color":"Scegli Colore Combinato","settings.pick_combined_color.desc":"Seleziona il colore combinato di tutti i livelli nel rispettivo pixel, invece del colore sul livello attivo","action.split_rgb_into_layers":"Dividi Canali RGB in Livelli","action.split_rgb_into_layers.desc":"Dividi la trama in livelli additivi, uno per ogni canale RGB","dialog.project.java_block_version":"Versione Formato","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armatura","data.armature_bone":"Osso dell'Armatura","generic.reload":"Ricarica","modifier_actions.subtract":"Sottrai","modifier_actions.reduced_intensity":"Messa a Punto","modifier_actions.select_bone":"Seleziona Osso","modifier_actions.spline_select_multiple_points":"Seleziona pi\xF9 Punti o Maniglie","modifier_actions.move_panel_without_docking":"Sposta senza agganciare","message.save_all_textures.message":"Vuoi salvare ognuna delle seguenti texture?","message.save_all_textures.skip":"Salta","dialog.add_spline.shape":"Forma","dialog.add_spline.shape.segment":"Segmento","dialog.add_spline.shape.square":"Rettangolo","dialog.add_spline.shape.circle":"Cerchio","dialog.add_spline.diameter":"Diametro","dialog.add_spline.sides_tubular":"Segmenti del Tubo","dialog.add_spline.sides_radial":"Segmenti ad Anello","dialog.add_spline.radius":"Raggio del Tubo","dialog.add_spline.length":"Lunghezza","dialog.add_spline.width":"Larghezza","dialog.plugins.revoke_permissions":"Revoca Permessi","dialog.expression_editor.pretty_print":"Formattazione Leggibile","dialog.expression_editor.minify":"Minifica","dialog.expression_editor.find_replace":"Trova/Sostituisci","dialog.create_gif.show_gizmos":"Registra Gizmo e Griglia","dialog.preview_options.title":"Opzioni Anteprima","dialog.preview_options.background":"Sfondo","dialog.preview_options.background.checkerboard":"Scacchiera","dialog.preview_options.background.solid":"Solido","dialog.preview_options.background.custom_color":"Colore Personalizzato","dialog.preview_options.show_gizmos":"Mostra Gizmo","dialog.skin.texture_source":"Sorgente Texture","dialog.skin.texture_source.template":"Genera Modello","dialog.skin.texture_source.load_texture":"Carica da Minecraft","dialog.skin.texture_file":"File Texture","dialog.convert_skin.adjust_texture":"Regola Texture","dialog.settings.clear_profile_value":"Cancella valore del profilo","layout.section.customize":"Personalizza","layout.theme.configure":"Configura","layout.color.elevated":"Elevato","layout.color.elevated.desc":"Elementi UI elevati, solitamente separati da ombra esterna","layout.file.watch_changes":"Osserva Modifiche e Ricarica","settings.autocomplete_code":"Autocompletamento Codice","settings.autocomplete_code.desc":"Mostra suggerimenti di autocompletamento negli editor di codice","settings.detect_flipbook_textures":"Rileva Texture Flipbook","settings.detect_flipbook_textures.desc":"Rileva automaticamente texture animate flipbook e mostrale come animazione","settings.double_click_select_reference":"Seleziona Immagine di Riferimento con Doppio Click","settings.double_click_select_reference.desc":"Doppio click sulla viewport per selezionare un'immagine di riferimento","settings.default_keyframe_interpolation":"Interpolazione Default dei Fotogrammi Chiave","settings.default_keyframe_interpolation.desc":"Seleziona la modalit\xE0 di interpolazione default dei fotogrammi chiave","settings.color_picker_style":"Stile Selettore Colori","settings.color_picker_style.desc":"Seleziona lo stile del selettore colori in modalit\xE0 disegno","settings.export_asset_paths":"Esporta Percorsi degli Asset","settings.export_asset_paths.desc":"Seleziona come i percorsi agli asset come texture o animazioni vengono salvati nei file .bbmodel","settings.export_asset_paths.relative":"Percorsi Relativi","settings.export_asset_paths.absolute":"Percorsi Assoluti","settings.export_asset_paths.both":"Percorsi Relativi e Assoluti (Solo Texture)","settings.export_asset_paths.none":"Nessuna Esportazione","action.slider_spline_resolution":"Risoluzione Spline %0","action.slider_spline_resolution.desc":"Cambia risoluzione della spline sull'asse %0 (%1)","action.slider_spline_resolution.u.desc_precision":"Segmenti ad Anello","action.slider_spline_resolution.v.desc_precision":"Segmenti del Tubo","action.slider_spline_radius":"Raggio Spline","action.slider_spline_radius.desc":"Cambia il raggio della spline","action.slider_spline_handle_tilt":"Inclinazione Maniglia","action.slider_spline_handle_tilt.desc":"Cambia l'inclinazione della maniglia della spline","action.slider_spline_handle_size":"Dimensione Maniglia","action.slider_spline_handle_size.desc":"Cambia la dimensione della maniglia della spline","action.blend_mode.lighten":"Schiarisci","action.blend_mode.darken":"Scurisci","action.weight_brush":"Pennello Pesi","action.weight_brush.desc":"Dipinge pesi dei vertici sulle mesh per deformazioni dell'armatura","action.convert_minecraft_skin_variant":"Converti Skin Magra/Larga","action.convert_minecraft_skin_variant.desc":"Passa dal modello skin classico largo (Steve) al modello magro (Alex). Opzionalmente regola automaticamente la texture per adattarla al modello","action.custom_skin_poses":"Pose Skin Personalizzate","action.custom_skin_poses.desc":"Carica una preset di pose skin personalizzata","action.custom_skin_poses.update":"Aggiorna Pose","action.custom_skin_poses.update.desc":"Sovrascrivi la pose salvata con la pose attuale del modello","action.add_custom_skin_pose":"Aggiungi Pose Skin Personalizzata","action.add_custom_skin_pose.desc":"Salva la pose attuale del modello come preset di pose","action.export_stl":"Esporta STL","action.export_stl.desc":"Esporta un modello STL per la stampa 3D","action.add_element":"Aggiungi Elemento","action.add_element.desc":"Aggiungi un nuovo elemento dalla lista dei tipi di elemento","action.add_spline":"Aggiungi Spline","action.add_spline.desc":"Aggiunge una nuova spline","action.add_billboard":"Aggiungi Billboard","action.add_billboard.desc":"Aggiunge un nuovo billboard, un elemento piatto che guarda sempre verso la telecamera","action.add_armature":"Aggiungi Armatura","action.add_armature.desc":"Aggiunge un'armatura che permette di deformare una mesh tramite animazione","action.add_armature_bone":"Aggiungi Osso ad Armatura","action.add_armature_bone.desc":"Aggiunge un osso all'armatura","action.search_textures":"Cerca Texture","action.search_textures.desc":"Cerca texture per nome","action.search_animations":"Cerca Animazioni","action.search_animations.desc":"Cerca animazioni per nome","action.spline_selection_mode":"Modalit\xE0 Selezione Spline","action.spline_selection_mode.object":"Oggetto","action.spline_selection_mode.handles":"Maniglie","action.spline_render_mode":"Geometria","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Percorso","action.spline_render_mode.desc":"Quale geometria dovrebbe renderizzare questa spline","action.spline_uv_mode":"Stile UV","action.spline_uv_mode.length_accurate":"Lunghezza Accurata","action.spline_uv_mode.uniform":"Uniforme","action.spline_uv_mode.per_segment":"Per Segmento","action.spline_uv_mode.desc":"Come il tubo mesh della spline dovrebbe posizionare le sue UV","action.spline_ring_segments":"Segmenti ad Anello","action.spline_ring_segments.desc":"Quante suddivisioni ha questa Spline per Anello del Tubo","action.spline_tube_segments":"Segmenti del Tubo","action.spline_tube_segments.desc":"Quante suddivisioni ha questa Spline lungo il suo percorso","action.spline_tube_radius":"Raggio del Tubo","action.spline_tube_radius.desc":"Imposta il Raggio del Tubo della Spline","action.spline_display_space":"Mostra Spazio","action.spline_display_space.desc":"Mostra indicatori dello spazio spline sul suo percorso","action.spline_handle_mode":"Modalit\xE0 Maniglia Spline","action.spline_handle_mode.desc":"Quale modalit\xE0 usare per trasformare le maniglie della spline","action.spline_handle_mode.aligned":"Allineata","action.spline_handle_mode.free":"Libera","action.spline_handle_mode.mirrored":"Specchiata","action.slider_weight_brush_size":"Dimensione Pennello Pesi","action.weight_brush_xray":"Modalit\xE0 Raggi X Pennello Pesi","action.weight_brush_xray.desc":"Quando abilitato, il pennello pesi influenzer\xE0 tutti i vertici invece che solo quelli visibili sulla superficie","action.apply_spline_rotation":"Applica Rotazione","action.apply_spline_rotation.desc":"Reimposta la rotazione dell'elemento della spline e applicala alla geometria","action.extrude_spline_selection":"Estrudi Spline","action.extrude_spline_selection.desc":"Estrudi la maniglia selezionata su tutte le spline","action.split_spline":"Dividi Spline","action.split_spline.desc":"Divide la spline in due spline alla maniglia selezionata","action.divide_spline_curve":"Dividi Segmento Spline","action.divide_spline_curve.desc":"Divide il segmento della spline in due nuovi segmenti con una nuova maniglia alla loro intersezione","action.set_vertex_weights":"Imposta Pesi Vertici","action.set_vertex_weights.desc":"Imposta i pesi dei vertici selezionati a un valore specifico su un certo osso dell'armatura","action.calculate_vertex_weights":"Calcola Pesi Vertici","action.calculate_vertex_weights.desc":"Assegna automaticamente pesi dei vertici basati sulla posizione delle ossa","action.shelf_alignment":"Allineamento Scaffale","action.shelf_alignment.desc":"Seleziona l'allineamento verticale degli elementi sullo scaffale","action.shelf_alignment.top":"Allineamento in Alto","action.shelf_alignment.bottom":"Allineamento in Basso","action.view_mode.vertex_weight":"Peso Vertice","action.view_mode.weighted_bone_colors":"Colori Ossa Vertici","action.create_animation_group":"Crea Gruppo Animazione","action.create_animation_group.desc":"Crea un gruppo di animazioni","action.move_graph_keyframes_up":"Sposta Grafico Fotogrammi Chiave Su","action.move_graph_keyframes_down":"Sposta Grafico Fotogrammi Chiave Gi\xF9","menu.skin":"Skin","menu.text_edit.expression_editor":"Editor di Espressioni","menu.color_picker.picker_type.normal":"Mappa Normale","menu.texture.flipbook_animation":"Animazione Flipbook","menu.panel.attach_to":"Aggancia a","menu.animation.playing":"In riproduzione","menu.animation_file.save_as":"Salva Come","menu.animator.quaternion_interpolation":"Interpolazione Quaternione","edit.extrude_spline_selection.extend":"Estendi","edit.divide_spline_curve.position":"Posizione","group.bedrock_binding":"Binding","group.cem_attach":"Collegamento CEM","group.cem_model":"Modello CEM","group.cem_scale":"Scala CEM","cube.rescale":"Riscala Rotazione","cube.rescale.desc":"Riscala il cubo per compensare l'angolo di rotazione","mesh.shading":"Ombreggiatura","mesh.shading.flat":"Piatto","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Ciclico","spline_mesh.cyclic.desc":"Se la spline selezionata dovrebbe formare un ciclo (Chiusa)","billboard.offset":"Offset","billboard.facing_mode":"Modalit\xE0 Orientamento","billboard.facing_mode.lookat":"Guarda Verso","billboard.facing_mode.lookat_y":"Guarda Verso Y","billboard.facing_mode.rotate":"Ruota","billboard.facing_mode.rotate_y":"Ruota Y","armature_bone.connected":"Connesso","reference_image.blueprint":"Progetto Bloccato","codec.image.alpha_channel":"Canale Alfa","codec.image.animation_fps":"FPS Animazione","panel.palette":"Tavolozza","panel.keyframe.change_effect_file":"Cambia File Effetto","panel.transform":"Trasforma","panel.element.spline_dimensions":"Dimensioni Spline","display.slot.on_shelf":"Scaffale","display.reference.shelf":"Scaffale (Tutti gli Slot)","display.reference.shelf_left":"Scaffale (Slot Sinistro)","display.reference.shelf_center":"Scaffale (Slot Centrale)","display.reference.shelf_right":"Scaffale (Slot Destro)","message.newer_project_format_version.title":"Client obsoleto","message.newer_project_format_version.message":"Questo file \xE8 stato salvato in una versione pi\xF9 recente di Blockbench. Aggiorna a Blockbench %0 o pi\xF9 recente per poterlo aprire correttamente","message.load_images.add_layer":"Aggiungi come Livello","message.load_images.category.add_to_project":"Aggiungi al progetto","message.load_images.category.new_project":"Nuovo progetto","message.load_palette.title":"Carica Tavolozza","message.load_palette.message":"Sei sicuro di voler caricare questa tavolozza? Questo sostituir\xE0 la tua tavolozza colori attuale.","dialog.set_vertex_weights.weight":"Peso","dialog.set_vertex_weights.overwrite":"Sovrascrivi altre ossa","action.element_render_order.short":"Ordine di Rendering","action.element_render_order.desc":"Ordine di rendering degli elementi. Questo pu\xF2 aiutare a sistemare elementi nascosti dietro ad altri elementi con texture trasparenti. Lascia su Auto per elementi opachi.","spline.shading.flat":"Piatto","spline.shading.smooth":"Smooth","spline.shading":"Ombreggiatura","spline.shading.desc":"Come dovrebbe essere ombreggiato il tubo di questa spline","action.slider_weight_brush_limit":"Limite Pennello Pesi","action.slider_weight_brush_limit.desc":"Imposta un limite superiore per quanto peso il pennello pu\xF2 assegnare a un vertice","action.weight_brush_blend_mode":"Modalit\xE0 Fusione Pennello Pesi","action.weight_brush_blend_mode.set":"Imposta","action.weight_brush_blend_mode.add":"Aggiungi","action.apply_texture_to_elements":"Applica Texture agli Elementi","action.apply_texture_to_elements.desc":"Applica la texture selezionata agli elementi selezionati","menu.panel.reset_size":"Reimposta Dimensione","action.import_layer":"Importa Livello","action.import_layer.desc":"Importa file immagine come livelli","menu.collection.open_file":"Apri File","layout.version":"Versione","settings.status_bar_transform_sliders":"Slider Trasformazione nella Barra di Stato","settings.status_bar_transform_sliders.desc":"Mostra la barra strumenti degli slider di trasformazione dello strumento selezionato nella barra di stato invece di usare il pannello Trasforma","settings.default_bedrock_format":"Formato Bedrock Default","settings.default_bedrock_format.desc":"Seleziona il formato default per caricare modelli Minecraft Bedrock, quando nessun formato specifico pu\xF2 essere rilevato dal contesto.","settings.limit_brush_opacity_per_stroke":"Limita Opacit\xE0 Pennello per Tratto","settings.limit_brush_opacity_per_stroke.desc":"Limita l'opacit\xE0 che un pennello pu\xF2 applicare al valore dello slider di opacit\xE0 durante ogni tratto del pennello. Con un pennello smooth questo comportamento pu\xF2 potenzialmente portare a un leggero rumore indesiderato.","action.merge_splines":"Unisci Spline","action.merge_splines.desc":"Unisci pi\xF9 spline in una","settings.default_java_block_version":"Versione Default Blocchi/Item Java","settings.default_java_block_version.desc":"Versione formato default quando si creano nuovi modelli Java blocco/item o si aprono file senza versione formato","data.bounding_box":"Bounding Box","keys.option":"Opzione","keys.slide_lmb_horizontal":"Scorri orizzontale click sinistro","keys.slide_lmb_vertical":"Scorri verticale click sinistro","keys.slide_rmb_horizontal":"Scorri orizzontale click destro","keys.slide_rmb_vertical":"Scorri verticale click destro","message.recover_backup.unknown_project":"Progetto sconosciuto","message.recover_backup.discard_others":"Scarta tutti gli altri","message.unsupported_file_extension.title":"Formato file non supportato","message.unsupported_file_extension.message":"Impossibile aprire il file %0, il formato non \xE8 supportato. Potresti aver bisogno di un plugin per questo tipo di file.","message.unsupported_file_extension.open_in_default_program":"Apri nel programma default","dialog.project.uv_size":"Dimensione UV","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Fotogrammi per secondo dell'animazione flipbook della texture","dialog.edit_uv_size.title":"Modifica Dimensione UV","dialog.edit_uv_size.target":"Obiettivo","dialog.edit_uv_size.adjust":"Regola","dialog.edit_uv_size.adjust.adjust_uv":"Contro UV","dialog.edit_uv_size.adjust.adjust_scale":"Contro UV e Scala","dialog.edit_uv_size.adjust.keep":"Mantieni UV","dialog.edit_uv_size.target_size":"Dimensione UV Obiettivo","dialog.edit_uv_size.preset.original":"Originale","dialog.edit_uv_size.preset.match_texture":"Abbina Texture","dialog.edit_uv_size.result":"Risultato","dialog.edit_uv_size.result.textures":"Texture","dialog.adjust_brightness_contrast.brightness":"Luminosit\xE0","dialog.adjust_brightness_contrast.contrast":"Contrasto","dialog.adjust_saturation_hue.saturation":"Saturazione","dialog.adjust_saturation_hue.hue":"Tonalit\xE0","dialog.adjust_opacity.mode":"Modalit\xE0","dialog.adjust_opacity.mode.multiply":"Moltiplica","dialog.adjust_opacity.mode.set":"Imposta","dialog.bedrock_bounding_box.type":"Tipo","dialog.bedrock_bounding_box.type.collision_box":"Collisione","dialog.bedrock_bounding_box.type.selection_box":"Box di Selezione","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Nota che le hitbox delle entit\xE0 funzionano solo fino a una certa dimensione e potrebbero non adattarsi alla rotazione dell'entit\xE0 nel gioco.","dialog.bedrock_bounding_box.collision_note":"Nota che i box di collisione delle entit\xE0 supportano solo una forma centrata con un profilo superiore quadrato.","dialog.bedrock_bounding_box.no_bounding_boxes":"Non esistono bounding box in questo progetto","dialog.install_plugins_from_list.ids":"ID Plugin","dialog.install_plugins_from_list.info":"Installa diversi plugin da una lista di ID. Prima di installare, assicurati di aver effettivamente bisogno di tutti i plugin. Mantenere plugin inattivi pu\xF2 aumentare il rischio di bug e incompatibilit\xE0 con aggiornamenti futuri.","dialog.copy_installed_plugins.details":"Includi Dettagli","dialog.flip_animation.phase_offset":"Offset di Fase","dialog.flip_animation.phase_offset.off":"Spento","dialog.flip_animation.phase_offset.custom":"Personalizzato","dialog.flip_animation.clear_opposite":"Sovrascrivi opposto","settings.flipbook_textures_in_animation":"Riproduci Texture Flipbook in Animazione","settings.flipbook_textures_in_animation.desc":"Mostra anteprime delle animazioni sulle texture flipbook in sincronia con la timeline dell'animazione","settings.display_uv":"Mostra Facce UV","settings.display_uv.desc":"Seleziona quali facce UV sono mostrate nell'editor UV","settings.display_uv.selected_faces":"Solo facce selezionate","settings.display_uv.selected_elements":"Tutte le facce sugli elementi selezionati","settings.display_uv.all_elements":"Tutte le facce su tutti gli elementi","settings.local_position_values":"Valori Posizione Locale","settings.local_position_values.desc":"Mostra tutti i valori di posizione nel pannello Trasforma nello spazio locale","settings.transform_cube_from_center":"Trasforma Cubi dal Centro","settings.transform_cube_from_center.desc":"Modifica i valori di posizione del cubo dal centro invece che dall'angolo","settings.color_picker_tool_switch":"Cambio Strumento Selettore Colori","settings.color_picker_tool_switch.desc":"Quando si preleva un pixel trasparente, passa alla gomma. Quando la gomma era precedentemente selezionata e viene prelevato un colore, passa al pennello","keybind.preview_scroll_zoom":"Zoom Vista","keybind.uv_editor_scroll_zoom":"Zoom Editor UV/2D","action.blend_mode.alpha_mask":"Maschera Alfa","action.swap_tools.hold":"Tieni premuto per scambiare (Selettore Colori)","action.import_bedrock_voxel_shape":"Importa Forma Voxel Bedrock","action.import_bedrock_voxel_shape.desc":"Aggiungi una forma voxel da un file json al progetto attuale","action.export_bedrock_voxel_shape":"Esporta Forma Voxel Bedrock","action.export_bedrock_voxel_shape.desc":"Esporta i bounding box nel progetto come file forma voxel bedrock","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copia Plugin Installati","action.copy_installed_plugins.desc":"Genera e copia una lista dei plugin attualmente installati","action.install_plugins_from_list":"Installa Plugin da Lista","action.install_plugins_from_list.desc":"Installa plugin da una lista di ID plugin","action.add_bounding_box":"Aggiungi Bounding Box","action.add_bounding_box.desc":"Aggiunge un nuovo bounding box","action.split_alpha_into_layer":"Dividi Canale Alfa in Livello","action.split_alpha_into_layer.desc":"Divide il canale alfa della texture in un livello maschera alfa","action.generate_bedrock_block_box":"Copia Componente Collisione/Selezione","action.generate_bedrock_block_box.desc":"Genera un componente box di collisione o selezione per blocchi Minecraft Bedrock Edition","action.generate_bedrock_entity_box":"Copia Componente Collisione/Hitbox","action.generate_bedrock_entity_box.desc":"Genera un componente di collisione o hit test personalizzato per entit\xE0 Minecraft Bedrock Edition","action.refresh_texture":"Aggiorna Texture","action.refresh_texture.desc":"Ricarica la texture dal file","action.move_uv_to_cursor":"Sposta UV al Cursore","action.move_uv_to_cursor.desc":"Sposta le facce UV selezionate alla posizione del cursore del mouse","action.edit_mode_uv_overlay":"Mostra Tutti gli Elementi","action.round_keyframe_values":"Arrotonda Valori Fotogrammi Chiave","action.round_keyframe_values.desc":"Arrotonda tutti i valori dei fotogrammi chiave selezionati","action.keyframe_column_create.all_channels":"Tutti i Canali","action.keyframe_column_create.all_channels.desc":"Inizializza tutti i canali con fotogrammi chiave anche se non ne avevano precedentemente","action.add_all_to_timeline":"Aggiungi Tutti alla Timeline","action.mirror_animating":"Animazione Speculare","action.mirror_animating.desc":"Riflette le modifiche di animazione sul lato opposto","action.copy_animation_pose":"Copia Pose Animazione","action.copy_animation_pose.desc":"Copia tutti i fotogrammi chiave per replicare la pose attuale dell'animazione","menu.texture.file_format":"Formato File","menu.texture.wrap_mode":"Modalit\xE0 Avvolgimento","menu.texture.wrap_mode.limited":"Limitato","menu.texture.wrap_mode.repeat":"Ripeti","menu.texture.wrap_mode.clamp":"Fissa Bordo","edit.reparent_selection.adjust_position":"Preserva Trasformazione Globale","texture_mesh.texture_name":"Nome Texture","display.slot.embedded":"Incorporato","display.animate_preview":"Anteprima Animazione","display.reference.flower_pot":"Vaso di Fiori"};var EL={"dialog.ok":"OK","dialog.cancel":"\u30AD\u30E3\u30F3\u30BB\u30EB","dialog.confirm":"\u6C7A\u5B9A","dialog.close":"\u9589\u3058\u308B","dialog.import":"\u8AAD\u307F\u8FBC\u307F","dialog.save":"\u4FDD\u5B58","dialog.discard":"\u4FDD\u5B58\u3057\u306A\u3044","dialog.dontshowagain":"\u6B21\u304B\u3089\u8868\u793A\u3057\u306A\u3044","data.cube":"\u30AD\u30E5\u30FC\u30D6","data.group":"\u30B0\u30EB\u30FC\u30D7","data.texture":"\u30C6\u30AF\u30B9\u30C1\u30E3","data.plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3","data.preview":"\u30D7\u30EC\u30D3\u30E5\u30FC","data.toolbar":"\u30C4\u30FC\u30EB\u30D0\u30FC","data.image":"\u753B\u50CF","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"Space","keys.leftclick":"\u5DE6\u30AF\u30EA\u30C3\u30AF","keys.middleclick":"\u30DB\u30A4\u30FC\u30EB\u30AF\u30EA\u30C3\u30AF","keys.rightclick":"\u53F3\u30AF\u30EA\u30C3\u30AF","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Caps Lock","keys.menu":"Context Menu","keys.left":"Left","keys.up":"Up","keys.right":"Right","keys.down":"Down","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Plus","keys.comma":"Comma","keys.point":"Point","keys.minus":"Minus","keys.cross":"Cross","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u56DE\u8EE2\u306E\u5236\u9650","message.rotation_limit.message":"Minecraft Java Block/Item \u3067\u306F\u3001\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3\u306F\u4E00\u3064\u306E\u56DE\u8EE2\u8EF8\u3068 22.5 \u5EA6\u523B\u307F\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059\u3002","message.file_not_found.title":"\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F","message.file_not_found.message":"\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30ED\u30FC\u30AB\u30EB\u30C7\u30A3\u30B9\u30AF\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.screenshot.title":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8","message.screenshot.clipboard":"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9","message.screenshot.right_click":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u304B\u3001\u9577\u62BC\u3057\u3057\u3066\u30B3\u30D4\u30FC\u3067\u304D\u307E\u3059","message.invalid_file.title":"\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB","message.invalid_file.message":"\u30E2\u30C7\u30EB\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A%0","message.invalid_model.title":"\u7121\u52B9\u306A\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB","message.invalid_model.message":"\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u6709\u52B9\u306A\u30E2\u30C7\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002","message.child_model_only.title":"\u7121\u52B9\u306A\u30E2\u30C7\u30EB","message.child_model_only.message":"\u3053\u306E\u30D5\u30A1\u30A4\u30EB %0 \u306F\u3001\u6709\u52B9\u306A\u30E2\u30C7\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002","message.unsaved_textures.title":"\u30C6\u30AF\u30B9\u30C1\u30E3\u304C\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u305B\u3093","message.unsaved_textures.message":"\u30E2\u30C7\u30EB\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u306A\u3044\u30C6\u30AF\u30B9\u30C1\u30E3\u304C\u3042\u308A\u307E\u3059\u3002\u6B63\u3057\u3044\u30D5\u30A9\u30EB\u30C0\u306B\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.model_clipping.title":"\u30E2\u30C7\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059 :(","message.model_clipping.message":"3x3x3 \u30D6\u30ED\u30C3\u30AF\u30B5\u30A4\u30BA\u3088\u308A\u3082\u5927\u304D\u3044\u30AD\u30E5\u30FC\u30D6\u304C %0 \u500B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u30E2\u30C7\u30EB\u306F Minecraft \u3067\u306F\u52D5\u4F5C\u3057\u307E\u305B\u3093\u3002","message.loose_texture.title":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u8AAD\u307F\u8FBC\u307F","message.loose_texture.message":"\u8AAD\u307F\u8FBC\u307E\u308C\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u306F\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002Minecraft \u306F\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002","message.loose_texture.change":"\u30D1\u30B9\u3092\u5909\u66F4\u3059\u308B","message.update_res.title":"\u30D4\u30AF\u30BB\u30EB\u6570","message.update_res.message":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u89E3\u50CF\u5EA6\u3092\u7D71\u4E00\u3057\u307E\u3059\u304B\uFF1F \u3082\u3057\u901A\u5E38\u3088\u308A\u9AD8\u3044\u89E3\u50CF\u5EA6\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u304C\u3042\u308B\u5834\u5408\u306F\u3001'\u30AD\u30E3\u30F3\u30BB\u30EB' \u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.update_res.update":"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8","message.bedrock_overwrite_error.message":"\u53E4\u3044\u30D5\u30A1\u30A4\u30EB\u3068\u7D44\u307F\u5408\u308F\u305B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093","message.bedrock_overwrite_error.backup_overwrite":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u4F5C\u6210\u3068\u4E0A\u66F8\u304D","message.bedrock_overwrite_error.overwrite":"\u4E0A\u66F8\u304D","message.close_warning.message":"\u30E2\u30C7\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F","message.close_warning.web":"\u30E2\u30C7\u30EB\u304C\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u672C\u5F53\u306B\u7D42\u4E86\u3057\u307E\u3059\u304B\uFF1F","message.default_textures.title":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30C6\u30AF\u30B9\u30C1\u30E3","message.default_textures.message":'\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u306E "textures" \u30D5\u30A9\u30EB\u30C0\u3092\u9078\u629E\u3057\u307E\u3059',"message.default_textures.detail":'Minecraft jar \u307E\u305F\u306F Google \u304B\u3089\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\u6B21\u306B "textures" \u30D5\u30A9\u30EB\u30C0\u3092\u898B\u3064\u3051\u3066\u958B\u304D\u307E\u3059\u3002\u3082\u3057\u7279\u306B\u6307\u5B9A\u304C\u306A\u3044\u5834\u5408\u3001Blockbench \u306F\u305D\u3053\u304B\u3089\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u53D6\u5F97\u3057\u3088\u3046\u3068\u3057\u307E\u3059\u3002',"message.default_textures.select":'"textures" \u30D5\u30A9\u30EB\u30C0\u3092\u9078\u629E',"message.image_editor.title":"\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u9078\u629E","message.image_editor.file":"\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E...","message.image_editor.exe":"\u4F7F\u7528\u53EF\u80FD\u306A\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u9078\u629E","message.display_skin.title":"\u30B9\u30AD\u30F3","message.display_skin.message":"\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30B9\u30AD\u30F3\u3092\u9078\u629E\u3059\u308B\u304B\u3001Minecraft ID \u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044","message.display_skin.upload":"\u30B9\u30AD\u30F3\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9","message.display_skin.reset":"\u30EA\u30BB\u30C3\u30C8","message.invalid_plugin":"\u7121\u52B9\u306A\u30D7\u30E9\u30B0\u30A4\u30F3\u30D5\u30A1\u30A4\u30EB\u3067\u3059","message.load_plugin_app":"\u3053\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30FC\u306B\u5909\u66F4\u3092\u52A0\u3048\u308B\u3053\u3068\u3092\u8A31\u53EF\u3057\u307E\u3059\u304B\uFF1F\u4FE1\u983C\u3067\u304D\u308B\u4F5C\u6210\u8005\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u307F\u3092\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.load_plugin_web":"\u3053\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u304B\uFF1F \u4FE1\u983C\u3067\u304D\u308B\u4F5C\u6210\u8005\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u307F\u3092\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.preset_no_info":"\u30D7\u30EA\u30BB\u30C3\u30C8\u306B\u306F\u30B9\u30ED\u30C3\u30C8\u60C5\u5831\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093","message.restart_to_update":"\u5909\u66F4\u3092\u9069\u7528\u3059\u308B\u305F\u3081\u306B\u3001Blockbench \u3092\u518D\u8D77\u52D5\u3057\u307E\u3059","message.save_file":"%0 \u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F","dialog.project.title":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8","dialog.project.name":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D","dialog.project.parent":"\u89AA\u30E2\u30C7\u30EB","dialog.project.geoname":"\u62E1\u5F35\u5B50","dialog.project.ao":"Ambient Occlusion","dialog.texture.title":"\u30C6\u30AF\u30B9\u30C1\u30E3","dialog.texture.variable":"\u5909\u6570","dialog.texture.namespace":"\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9","dialog.texture.folder":"\u30D5\u30A9\u30EB\u30C0","dialog.extrude.title":"\u753B\u50CF\u306E\u62BC\u3057\u51FA\u3057","dialog.extrude.mode":"\u30B9\u30AD\u30E3\u30F3\u30E2\u30FC\u30C9","dialog.extrude.mode.areas":"\u30A8\u30EA\u30A2","dialog.extrude.mode.lines":"\u884C","dialog.extrude.mode.columns":"\u5217","dialog.extrude.mode.pixels":"\u30D4\u30AF\u30BB\u30EB","dialog.extrude.opacity":"\u6700\u5C0F\u900F\u660E\u5EA6","dialog.extrude.scan":"\u30B9\u30AD\u30E3\u30F3\u3068\u8AAD\u307F\u8FBC\u307F","dialog.display_preset.title":"\u30D7\u30EA\u30BB\u30C3\u30C8\u306E\u8A2D\u5B9A","dialog.display_preset.message":"\u4FDD\u5B58\u3059\u308B\u30B9\u30ED\u30C3\u30C8\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","dialog.display_preset.create":"\u4F5C\u6210\u3059\u308B","dialog.select.title":"\u9078\u629E\u3059\u308B","dialog.select.group":"\u9078\u629E\u3055\u308C\u305F\u30B0\u30EB\u30FC\u30D7","dialog.select.name":"\u540D\u524D\u306B\u542B\u307E\u308C\u308B","dialog.select.random":"\u30E9\u30F3\u30C0\u30E0\u30C1\u30E3\u30F3\u30B9 (%)","dialog.select.select":"\u9078\u629E\u3059\u308B","dialog.scale.title":"\u30B5\u30A4\u30BA\u3092\u5909\u66F4","dialog.scale.axis":"\u8EF8","dialog.scale.clipping":"\u30E2\u30C7\u30EB\u30AF\u30EA\u30C3\u30D7\uFF1A\u30E2\u30C7\u30EB\u304C\u30AD\u30E3\u30F3\u30D0\u30B9\u306B\u5BFE\u3057\u3066\u5927\u304D\u3059\u304E\u307E\u3059","dialog.scale.confirm":"\u6C7A\u5B9A","dialog.plugins.title":"\u30D7\u30E9\u30B0\u30A4\u30F3","dialog.plugins.installed":"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F","dialog.plugins.available":"\u5229\u7528\u53EF\u80FD","dialog.plugins.install":"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","dialog.plugins.uninstall":"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","dialog.plugins.reload":"\u30EA\u30ED\u30FC\u30C9","dialog.plugins.none_installed":"\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u305B\u3093","dialog.plugins.none_available":"\u5229\u7528\u53EF\u80FD\u306A\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u3042\u308A\u307E\u305B\u3093","dialog.plugins.web_only":"\u30A6\u30A7\u30D6\u30A2\u30D7\u30EA\u306E\u307F","dialog.plugins.app_only":"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30D7\u30EA\u306E\u307F","dialog.plugins.author":"%0","dialog.create_texture.folder":"\u30D5\u30A9\u30EB\u30C0","dialog.create_texture.resolution":"\u30D4\u30AF\u30BB\u30EB","dialog.input.title":"\u30A4\u30F3\u30D7\u30C3\u30C8","dialog.settings.settings":"\u8A2D\u5B9A","dialog.settings.keybinds":"\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9","dialog.settings.about":"About","layout.color.back":"\u30D5\u30A3\u30FC\u30EB\u30C9","layout.color.back.desc":"\u80CC\u666F\u3068\u5165\u529B\u30D5\u30A3\u30FC\u30EB\u30C9","layout.color.dark":"\u30AD\u30E3\u30F3\u30D0\u30B9","layout.color.dark.desc":"\u30AD\u30E3\u30F3\u30D0\u30B9\u306E\u80CC\u666F","layout.color.ui":"UI","layout.color.ui.desc":"\u30E1\u30A4\u30F3\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9","layout.color.bright_ui":"\u30E9\u30A4\u30C8UI","layout.color.bright_ui.desc":"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30E1\u30CB\u30E5\u30FC\u3068\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7","layout.color.button":"\u30DC\u30BF\u30F3","layout.color.button.desc":"\u30DC\u30BF\u30F3\u3068\u30B9\u30A4\u30C3\u30C1","layout.color.selected":"\u30CF\u30A4\u30E9\u30A4\u30C8","layout.color.selected.desc":"\u9078\u629E\u3055\u308C\u305F\u30BF\u30D6\u3068\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8","layout.color.border":"\u30DC\u30FC\u30C0\u30FC","layout.color.border.desc":"\u30DC\u30BF\u30F3\u3068\u5165\u529B\u306E\u5883\u754C","layout.color.accent":"\u30A2\u30AF\u30BB\u30F3\u30C8","layout.color.accent.desc":"\u30B9\u30E9\u30A4\u30C0\u30FC\u3068\u305D\u306E\u4ED6\u306E\u8A73\u7D30","layout.color.grid":"\u30B0\u30EA\u30C3\u30C9","layout.color.grid.desc":"3D \u30D7\u30EC\u30D3\u30E5\u30FC\u30B0\u30EA\u30C3\u30C9","layout.color.text":"\u30C6\u30AD\u30B9\u30C8","layout.color.text.desc":"\u30CE\u30FC\u30DE\u30EB\u30C6\u30AD\u30B9\u30C8","layout.color.light":"\u30E9\u30A4\u30C8\u30C6\u30AD\u30B9\u30C8","layout.color.light.desc":"\u30CF\u30A4\u30E9\u30A4\u30C8\u30C6\u30AD\u30B9\u30C8","layout.color.accent_text":"\u30A2\u30AF\u30BB\u30F3\u30C8\u30C6\u30AD\u30B9\u30C8","layout.color.accent_text.desc":"\u30A2\u30AF\u30BB\u30F3\u30C8\u306E\u80CC\u666F\u306E\u30C6\u30AD\u30B9\u30C8","layout.font.main":"\u30E1\u30A4\u30F3\u30D5\u30A9\u30F3\u30C8","layout.font.headline":"\u898B\u51FA\u3057\u30D5\u30A9\u30F3\u30C8","about.version":"\u30D0\u30FC\u30B8\u30E7\u30F3\uFF1A","settings.category.general":"\u4E00\u822C","settings.category.preview":"\u30D7\u30EC\u30D3\u30E5\u30FC","settings.category.grid":"\u30B0\u30EA\u30C3\u30C9","settings.category.edit":"\u30A8\u30C7\u30A3\u30C3\u30C8","settings.category.snapping":"\u30B9\u30CA\u30C3\u30D7","settings.category.defaults":"\u30C7\u30D5\u30A9\u30EB\u30C8","settings.category.dialogs":"\u30C0\u30A4\u30A2\u30ED\u30B0","settings.category.export":"\u66F8\u304D\u51FA\u3057","settings.language":"\u8A00\u8A9E\u3092\u5909\u66F4","settings.language.desc":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A00\u8A9E","settings.backup_interval":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7","settings.backup_interval.desc":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u983B\u5EA6\u3092\u5909\u66F4\u3057\u307E\u3059","settings.origin_size":"\u30D4\u30DC\u30C3\u30C8\u30DE\u30FC\u30AB\u30FC","settings.origin_size.desc":"\u30D4\u30DC\u30C3\u30C8\u30DE\u30FC\u30AB\u30FC\u306E\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3057\u307E\u3059","settings.control_size":"\u30AE\u30BA\u30E2\u30B5\u30A4\u30BA","settings.control_size.desc":"\u30AE\u30BA\u30E2\u306E\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3057\u307E\u3059","settings.display_skin":"\u30B9\u30AD\u30F3\u3092\u8868\u793A","settings.display_skin.desc":"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4\u30E2\u30C7\u30EB\u306B\u4F7F\u7528\u3055\u308C\u308B\u30B9\u30AD\u30F3\u3092\u5909\u66F4\u3057\u307E\u3059","settings.shading":"\u30B7\u30A7\u30FC\u30C7\u30A3\u30F3\u30B0","settings.shading.desc":"\u30B7\u30A7\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","settings.base_grid":"\u30B9\u30E2\u30FC\u30EB\u30B0\u30EA\u30C3\u30C9","settings.base_grid.desc":"\u30B9\u30E2\u30FC\u30EB\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.large_grid":"\u30D6\u30ED\u30C3\u30AF\u30B0\u30EA\u30C3\u30C9","settings.large_grid.desc":"\u30D6\u30ED\u30C3\u30AF\u30B5\u30A4\u30BA\u306E\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.full_grid":"\u30D4\u30AF\u30BB\u30EB\u30B0\u30EA\u30C3\u30C9","settings.full_grid.desc":"1 \u30D4\u30AF\u30BB\u30EB\u306E\u6700\u5C0F\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.large_box":"\u30EA\u30DF\u30C3\u30C8\u30B0\u30EA\u30C3\u30C8","settings.large_box.desc":"3\xD73\xD73 \u306E\u30D6\u30ED\u30C3\u30AF\u30DC\u30FC\u30C0\u30FC\u3092\u8868\u793A\u3057\u307E\u3059","settings.display_grid":"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4\u30E2\u30FC\u30C9","settings.display_grid.desc":"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4\u30E2\u30FC\u30C9\u3067\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.undo_limit":"\u53D6\u308A\u6D88\u3057","settings.undo_limit.desc":"\u53D6\u308A\u6D88\u3057\u30B9\u30C6\u30C3\u30D7\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3057\u307E\u3059","settings.local_move":"\u76F8\u5BFE\u8EF8\u4E0A\u3092\u79FB\u52D5","settings.local_move.desc":"\u56DE\u8EE2\u3057\u305F\u8981\u7D20\u3092\u72EC\u81EA\u306E\u8EF8\u4E0A\u3067\u79FB\u52D5\u3057\u307E\u3059","settings.canvas_unselect":"\u30AD\u30E3\u30F3\u30D1\u30B9\u30AF\u30EA\u30A2","settings.canvas_unselect.desc":"\u80CC\u666F\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u9078\u629E\u304C\u89E3\u9664\u3055\u308C\u307E\u3059","settings.paint_side_restrict":"\u30DE\u30B9\u30AD\u30F3\u30B0\u30C6\u30FC\u30D7","settings.paint_side_restrict.desc":"\u9078\u629E\u3055\u308C\u305F\u30D5\u30A7\u30A4\u30B9\u306E\u307F\u306B\u30DA\u30A4\u30F3\u30C8\u3057\u307E\u3059","settings.autouv":"\u30AA\u30FC\u30C8 UV","settings.autouv.desc":"\u30AA\u30FC\u30C8 UV \u3092\u6709\u52B9\u306B\u3057\u307E\u3059","settings.create_rename":"\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u30EA\u30CD\u30FC\u30E0","settings.create_rename.desc":"\u65B0\u3057\u3044\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u969B\u306B\u540D\u524D\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u307E\u3059","settings.edit_size":"\u30B0\u30EA\u30C3\u30C9\u30B9\u30C6\u30C3\u30D7","settings.edit_size.desc":"\u30AD\u30E5\u30FC\u30D6\u306E\u30B0\u30EA\u30C3\u30C9\u9593\u9694\u3092\u5909\u66F4\u3057\u307E\u3059","settings.shift_size":"Shift \u30B9\u30C6\u30C3\u30D7","settings.shift_size.desc":"shift \u30AD\u30FC\u306E\u30B0\u30EA\u30C3\u30C9\u9593\u9694\u3092\u5909\u66F4\u3057\u307E\u3059","settings.ctrl_size":"Ctrl \u30B9\u30C6\u30C3\u30D7","settings.ctrl_size.desc":"control \u30AD\u30FC\u306E\u30B0\u30EA\u30C3\u30C9\u9593\u9694\u3092\u5909\u66F4\u3057\u307E\u3059","settings.negative_size":"\u30DE\u30A4\u30CA\u30B9\u30B5\u30A4\u30BA","settings.negative_size.desc":"\u30AD\u30E5\u30FC\u30D6\u304C\u8CA0\u306E\u30B5\u30A4\u30BA\u3092\u4F7F\u7528\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059","settings.minifiedout":"\u66F8\u304D\u51FA\u3057\u3092\u6700\u5C0F\u5316","settings.minifiedout.desc":"JSON \u30D5\u30A1\u30A4\u30EB\u3092 1 \u884C\u3067\u8A18\u8FF0\u3057\u307E\u3059","settings.export_groups":"\u30B0\u30EB\u30FC\u30D7\u306E\u66F8\u304D\u51FA\u3057","settings.export_groups.desc":"\u30B0\u30EB\u30FC\u30D7\u3092\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3057\u307E\u3059","settings.credit":"\u30AF\u30EC\u30B8\u30C3\u30C8","settings.credit.desc":"\u30E2\u30C7\u30EB\u306B\u30AF\u30EC\u30B8\u30C3\u30C8\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3059","settings.default_path":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30C6\u30AF\u30B9\u30C1\u30E3\u30D1\u30B9","settings.default_path.desc":"Blockbench \u304C\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D5\u30A9\u30EB\u30C0\u3092\u8A2D\u5B9A\u3057\u307E\u3059","settings.image_editor":"\u753B\u50CF\u30A8\u30C7\u30A3\u30BF","settings.image_editor.desc":"\u4F7F\u7528\u53EF\u80FD\u306A\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u9078\u629E\u3057\u307E\u3059","category.navigate":"\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3","category.tools":"\u30C4\u30FC\u30EB","category.file":"\u30D5\u30A1\u30A4\u30EB","category.blockbench":"Blockbench","category.edit":"Edit","category.transform":"\u5909\u63DB","category.view":"\u30D3\u30E5\u30FC","category.display":"\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4\u8A2D\u5B9A","category.textures":"\u30C6\u30AF\u30B9\u30C1\u30E3","category.misc":"\u305D\u306E\u4ED6","keybind.preview_select":"\u9078\u629E","keybind.preview_rotate":"\u56DE\u8EE2\u30D3\u30E5\u30FC","keybind.preview_drag":"\u30C9\u30E9\u30C3\u30B0\u30D3\u30E5\u30FC","keybind.confirm":"\u78BA\u8A8D","keybind.cancel":"\u30AD\u30E3\u30F3\u30BB\u30EB","action.slider_inflate":"\u30A4\u30F3\u30D5\u30EC\u30FC\u30C8","action.slider_inflate.desc":"UV \u3092\u5909\u66F4\u305B\u305A\u306B\u30AD\u30E5\u30FC\u30D6\u3092\u81A8\u3089\u307E\u305B\u307E\u3059","action.slider_brush_size":"\u30B5\u30A4\u30BA","action.slider_brush_size.desc":"\u30D6\u30E9\u30B7\u306E\u534A\u5F84","action.slider_brush_opacity":"\u900F\u660E\u5EA6","action.slider_brush_opacity.desc":"\u30D6\u30E9\u30B7\u306E\u900F\u660E\u5EA6","action.slider_brush_softness":"\u30BD\u30D5\u30C8\u30CD\u30B9","action.slider_brush_softness.desc":"\u30D6\u30E9\u30B7\u306E\u67D4\u3089\u304B\u3055","action.uv_slider_pos_x":"\u6C34\u5E73\u79FB\u52D5","action.uv_slider_pos_x.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u306E UV \u3092\u6C34\u5E73\u65B9\u5411\u306B\u79FB\u52D5\u3057\u307E\u3059","action.uv_slider_pos_y":"\u5782\u76F4\u79FB\u52D5","action.uv_slider_pos_y.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u306E UV \u3092\u5782\u76F4\u65B9\u5411\u306B\u79FB\u52D5\u3057\u307E\u3059","action.uv_slider_size_x":"\u6C34\u5E73\u30B5\u30A4\u30BA","action.uv_slider_size_x.desc":"\u9078\u629E\u3057\u305F UV \u3092\u6C34\u5E73\u65B9\u5411\u306B\u30EA\u30B5\u30A4\u30BA\u3057\u307E\u3059","action.uv_slider_size_y":"\u5782\u76F4\u30B5\u30A4\u30BA","action.uv_slider_size_y.desc":"\u9078\u629E\u3057\u305F UV \u3092\u5782\u76F4\u65B9\u5411\u306B\u30EA\u30B5\u30A4\u30BA\u3057\u307E\u3059","action.vertex_snap_mode":"\u30B9\u30CA\u30C3\u30D7","action.vertex_snap_mode.desc":"\u9802\u70B9\u30B9\u30CA\u30C3\u30D7\u304C\u9078\u629E\u3055\u308C\u305F\u4F4D\u7F6E\u306B\u79FB\u52D5\u3059\u308B\u304B\u3001\u30B5\u30A4\u30BA\u3092\u5909\u66F4\u3059\u308B\u304B\u3092\u9078\u629E\u3057\u307E\u3059","action.move_tool":"\u79FB\u52D5","action.move_tool.desc":"\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u9078\u629E\u3057\u3066\u79FB\u52D5\u3057\u307E\u3059","action.resize_tool":"\u30B5\u30A4\u30BA","action.resize_tool.desc":"\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u9078\u629E\u3057\u3066\u30B5\u30A4\u30BA\u3092\u5909\u66F4\u3057\u307E\u3059","action.brush_tool":"\u30D6\u30E9\u30B7","action.brush_tool.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u63CF\u304F\u305F\u3081\u306E\u30AB\u30E9\u30FC\u30D6\u30E9\u30B7","action.vertex_snap_tool":"\u30B9\u30CA\u30C3\u30D7","action.vertex_snap_tool.desc":"\uFF12\u3064\u306E\u30D6\u30ED\u30C3\u30AF\u306E\u9802\u70B9\u3092\u63A5\u7D9A\u3057\u307E\u3059","action.swap_tools":"\u30B9\u30EF\u30C3\u30D7","action.swap_tools.desc":"\u79FB\u52D5\u30C4\u30FC\u30EB\u3068\u30B5\u30A4\u30BA\u30C4\u30FC\u30EB\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.project_window":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8...","action.project_window.desc":"\u30E2\u30C7\u30EB\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u7DE8\u96C6\u3059\u308B\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u304D\u307E\u3059","action.open_model":"\u30E2\u30C7\u30EB\u3092\u958B\u304F","action.open_model.desc":"\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u304B\u3089\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059","action.extrude_texture":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u62BC\u3057\u51FA\u3057","action.extrude_texture.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u5F15\u304D\u5EF6\u3070\u3057\u3066\u30E2\u30C7\u30EB\u3092\u4F5C\u6210\u3057\u307E\u3059","action.export_blockmodel":"Json Model","action.export_blockmodel.desc":"Minecraft Block/Item \u30E2\u30C7\u30EB\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059","action.export_optifine_part":"OptiFine Part","action.export_optifine_part.desc":"OptiFine \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30D1\u30FC\u30C4\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059","action.export_optifine_full":"OptiFine JEM","action.export_optifine_full.desc":"OptiFine \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059","action.export_obj":"OBJ Model","action.export_obj.desc":"Wavefront OBJ \u30E2\u30C7\u30EB\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059","action.settings_window":"\u8A2D\u5B9A...","action.settings_window.desc":"Blockbench \u74B0\u5883\u8A2D\u5B9A\u3092\u958B\u304D\u307E\u3059\u3002","action.plugins_window":"\u30D7\u30E9\u30B0\u30A4\u30F3...","action.plugins_window.desc":"\u30D7\u30E9\u30B0\u30A4\u30F3\u30B9\u30C8\u30A2\u3092\u958B\u304D\u307E\u3059","action.reset_layout":"\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u30EA\u30BB\u30C3\u30C8","action.reset_layout.desc":"\u30EC\u30A4\u30A2\u30A6\u30C8\u8A2D\u5B9A\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u623B\u3057\u307E\u3059","action.load_plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u958B\u304F","action.load_plugin.desc":"\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059","action.reload_plugins":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30EA\u30ED\u30FC\u30C9","action.reload_plugins.desc":"\u3059\u3079\u3066\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30EA\u30ED\u30FC\u30C9\u3057\u307E\u3059","action.undo":"\u623B\u3059","action.undo.desc":"\u6700\u5F8C\u306E\u5909\u66F4\u3092\u5DFB\u304D\u623B\u3057\u307E\u3059","action.redo":"\u9032\u3080","action.redo.desc":"\u6700\u5F8C\u306E\u5909\u66F4\u3092\u5143\u306B\u623B\u3057\u307E\u3059","action.copy":"\u30B3\u30D4\u30FC","action.copy.desc":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3001\u307E\u305F\u306F\u8A2D\u5B9A\u3092\u30B3\u30D4\u30FC\u3057\u307E\u3059","action.paste":"\u30DA\u30FC\u30B9\u30C8","action.paste.desc":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3001\u307E\u305F\u306F\u8A2D\u5B9A\u3092\u30DA\u30FC\u30B9\u30C8\u3057\u307E\u3059","action.cut":"\u30AB\u30C3\u30C8","action.cut.desc":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3001\u307E\u305F\u306F\u8A2D\u5B9A\u3092\u30AB\u30C3\u30C8\u3057\u307E\u3059","action.add_cube":"\u30AD\u30E5\u30FC\u30D6\u3092\u8FFD\u52A0","action.add_cube.desc":"\u65B0\u3057\u3044\u30AD\u30E5\u30FC\u30D6\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.add_group":"\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0","action.add_group.desc":"\u65B0\u3057\u3044\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.outliner_toggle":"\u305D\u306E\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3","action.outliner_toggle.desc":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.duplicate":"\u8907\u88FD","action.delete":"\u524A\u9664","action.sort_outliner":"\u30BD\u30FC\u30C8","action.sort_outliner.desc":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3073\u66FF\u3048\u307E\u3059","action.select_window":"\u30BB\u30EC\u30AF\u30C8...","action.select_window.desc":"\u30D7\u30ED\u30D1\u30C6\u30A3\u304B\u3089\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u691C\u7D22\u3057\u307E\u3059","action.invert_selection":"\u30A4\u30F3\u30D0\u30FC\u30C8","action.invert_selection.desc":"\u9078\u629E\u4E2D\u306E\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u53CD\u8EE2\u3057\u307E\u3059","action.select_all":"\u3059\u3079\u3066\u9078\u629E","action.collapse_groups":"\u6298\u308A\u305F\u305F\u3080","action.collapse_groups.desc":"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u305F\u305F\u307F\u307E\u3059","action.scale":"\u30B9\u30B1\u30FC\u30EB...","action.scale.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u62E1\u5927\u30FB\u7E2E\u5C0F\u3057\u307E\u3059","action.toggle_visibility":"\u53EF\u8996\u5316","action.toggle_visibility.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.toggle_export":"\u66F8\u304D\u51FA\u3057","action.toggle_export.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u66F8\u304D\u51FA\u3057\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.toggle_autouv":"\u30AA\u30FC\u30C8 UV","action.toggle_autouv.desc":"\u30AA\u30FC\u30C8 UV \u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.toggle_shade":"\u30B7\u30A7\u30FC\u30C7\u30A3\u30F3\u30B0","action.toggle_shade.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u306E\u30B7\u30A7\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.rename":"\u540D\u524D\u3092\u5909\u66F4","action.rename.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u540D\u524D\u3092\u5909\u66F4\u3057\u307E\u3059","action.add_display_preset":"\u30D7\u30EA\u30BB\u30C3\u30C8\u306E\u8A2D\u5B9A","action.add_display_preset.desc":"\u65B0\u3057\u3044\u30C7\u30A3\u30B9\u30D7\u30EC\u30A4\u8A2D\u5B9A\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.fullscreen":"\u30D5\u30EB\u30B9\u30AF\u30EA\u30FC\u30F3","action.fullscreen.desc":"\u30D5\u30EB\u30B9\u30AF\u30EA\u30FC\u30F3\u3067\u8868\u793A\u3057\u307E\u3059","action.zoom_in":"\u30BA\u30FC\u30E0\u30A4\u30F3","action.zoom_in.desc":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u62E1\u5927\u3057\u307E\u3059","action.zoom_out":"\u30BA\u30FC\u30E0\u30A2\u30A6\u30C8","action.zoom_out.desc":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u7E2E\u5C0F\u3057\u307E\u3059","action.zoom_reset":"\u30EA\u30BB\u30C3\u30C8","action.zoom_reset.desc":"\u30BA\u30FC\u30E0\u8A2D\u5B9A\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059","action.reset_interface":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u30EA\u30BB\u30C3\u30C8","action.reset_interface.desc":"GUI \u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059","action.screenshot_model":"\u30E2\u30C7\u30EB\u30B7\u30E7\u30C3\u30C8","action.screenshot_model.desc":"\u30E2\u30C7\u30EB\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u3092\u64AE\u308A\u307E\u3059","action.screenshot_app":"\u30A2\u30D7\u30EA\u30B7\u30E7\u30C3\u30C8","action.screenshot_app.desc":"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u5168\u4F53\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u3092\u64AE\u308A\u307E\u3059","action.import_texture":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u8AAD\u307F\u8FBC\u307F","action.import_texture.desc":"\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059","action.create_texture":"\u65B0\u898F\u4F5C\u6210","action.create_texture.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u307E\u305F\u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u4F5C\u6210\u3057\u307E\u3059","action.save_textures":"\u4FDD\u5B58","action.save_textures.desc":"\u3059\u3079\u3066\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u4FDD\u5B58\u3057\u307E\u3059","action.animated_textures":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u751F","action.animated_textures.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u518D\u751F\u3057\u307E\u3059","action.origin_to_geometry":"\u30BB\u30F3\u30BF\u30FC\u30D4\u30DC\u30C3\u30C8","action.origin_to_geometry.desc":"\u30D4\u30DC\u30C3\u30C8\u3092\u9078\u629E\u7BC4\u56F2\u306E\u4E2D\u5FC3\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.bone_reset_toggle":"\u30DC\u30FC\u30F3\u30EA\u30BB\u30C3\u30C8","action.bone_reset_toggle.desc":"\u89AA\u30E2\u30C7\u30EB\u306E\u30DC\u30FC\u30F3\u3092\u8868\u793A\u3057\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059","action.reload":"Blockbench \u3092\u30EA\u30ED\u30FC\u30C9","action.reload.desc":"Blockbench \u3092\u30EA\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\u4FDD\u5B58\u3055\u308C\u3066\u3044\u306A\u3044\u5909\u66F4\u306F\u5931\u308F\u308C\u307E\u3059","menu.file":"File","menu.edit":"Edit","menu.transform":"Transform","menu.display":"Display","menu.view":"View","menu.file.new":"\u65B0\u898F\u4F5C\u6210","menu.file.recent":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB","menu.file.import":"\u8AAD\u307F\u8FBC\u307F","menu.file.export":"\u66F8\u304D\u51FA\u3057","menu.transform.rotate":"\u56DE\u8EE2","menu.transform.flip":"\u30D5\u30EA\u30C3\u30D7","menu.transform.center":"\u30BB\u30F3\u30BF\u30FC","menu.transform.properties":"\u30D7\u30ED\u30D1\u30C6\u30A3","menu.display.preset":"\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9069\u7528","menu.display.preset_all":"\u3059\u3079\u3066\u306E\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9069\u7528","menu.display.remove_preset":"\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u524A\u9664","menu.view.zoom":"\u30BA\u30FC\u30E0","menu.view.background":"\u80CC\u666F","menu.view.screenshot":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8","menu.cube.color":"\u30AB\u30E9\u30FC","menu.cube.texture":"\u30C6\u30AF\u30B9\u30C1\u30E3","menu.cube.texture.transparent":"\u975E\u8868\u793A","menu.cube.texture.blank":"\u30EA\u30BB\u30C3\u30C8","menu.group.sort":"\u30BD\u30FC\u30C8","menu.texture.face":"\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528","menu.texture.file":"\u30D5\u30A1\u30A4\u30EB","menu.texture.refresh":"\u66F4\u65B0","menu.texture.change":"\u30D5\u30A1\u30A4\u30EB\u3092\u5909\u66F4","menu.texture.folder":"\u30D5\u30A9\u30EB\u30C0\u304B\u3089\u958B\u304F","menu.texture.edit":"\u7DE8\u96C6","menu.texture.export":"\u4FDD\u5B58","menu.texture.save":"\u4E0A\u66F8\u304D","menu.texture.properties":"\u30D7\u30ED\u30D1\u30C6\u30A3...","menu.preview.background":"\u80CC\u666F","menu.preview.background.load":"\u30ED\u30FC\u30C9","menu.preview.background.position":"\u30DD\u30B8\u30B7\u30E7\u30F3","menu.preview.background.lock":"\u30AB\u30E1\u30E9\u3092\u56FA\u5B9A","menu.preview.screenshot":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8","menu.preview.perspective":"\u30D1\u30FC\u30B9\u30DA\u30AF\u30C6\u30A3\u30D6","menu.preview.perspective.normal":"\u30CE\u30FC\u30DE\u30EB","menu.preview.quadview":"\u30AF\u30EF\u30C3\u30C9\u30D3\u30E5\u30FC","menu.preview.stop_drag":"\u80CC\u666F\u3092\u56FA\u5B9A\u3059\u308B","menu.uv.mapping.rotation":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3","menu.uv.texture":"\u30C6\u30AF\u30B9\u30C1\u30E3","cube.color.light_blue":"\u30B7\u30A2\u30F3","cube.color.yellow":"\u30A4\u30A8\u30ED\u30FC","cube.color.orange":"\u30AA\u30EC\u30F3\u30B8","cube.color.red":"\u30EC\u30C3\u30C9","cube.color.purple":"\u30D1\u30FC\u30D7\u30EB","cube.color.blue":"\u30D6\u30EB\u30FC","cube.color.green":"\u30B0\u30EA\u30FC\u30F3","cube.color.lime":"\u30E9\u30A4\u30E0","switches.visibility":"\u53EF\u8996\u5316","switches.export":"\u66F8\u304D\u51FA\u3057","switches.autouv":"\u30AA\u30FC\u30C8 UV","panel.uv":"UV","panel.display":"Display","panel.textures":"Textures","panel.outliner":"Outliner","uv_editor.title":"UV Editor","uv_editor.all_faces":"All","uv_editor.no_faces":"None","face.north":"North","face.south":"South","face.west":"West","face.east":"East","face.up":"Up","face.down":"Down","direction.north":"North","direction.south":"South","direction.west":"West","direction.east":"East","direction.top":"Top","direction.bottom":"Bottom","display.slot.third_right":"\u53F3\u624B","display.slot.third_left":"\u5DE6\u624B","display.slot.first_right":"\u53F3\u624B","display.slot.first_left":"\u5DE6\u624B","display.slot.head":"\u5E3D\u5B50","display.slot.ground":"\u30C9\u30ED\u30C3\u30D7","display.slot.frame":"\u984D\u7E01","display.slot.gui":"GUI","display.rotation":"Rotation","display.translation":"Position","display.scale":"Scale","display.slot":"Slot","display.reference":"Reference","display.reference.player":"\u30D7\u30EC\u30A4\u30E4\u30FC","display.reference.zombie":"\u30BE\u30F3\u30D3","display.reference.armor_stand":"\u30A2\u30FC\u30DE\u30FC\u30B9\u30BF\u30F3\u30C9","display.reference.baby_zombie":"\u5B50\u4F9B\u30BE\u30F3\u30D3","display.reference.armor_stand_small":"\u30DF\u30CB\u30A2\u30FC\u30DE\u30FC\u30B9\u30BF\u30F3\u30C9","display.reference.monitor":"\u30CE\u30FC\u30DE\u30EB","display.reference.bow":"\u5F13","display.reference.block":"\u30D6\u30ED\u30C3\u30AF","display.reference.frame":"\u984D\u7E01","display.reference.inventory_nine":"\u4F5C\u696D\u53F0","display.reference.inventory_full":"\u30A4\u30F3\u30D9\u30F3\u30C8\u30EA","display.reference.hud":"HUD","display.preset.blank_name":"\u540D\u524D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044","display.preset.item":"\u30A2\u30A4\u30C6\u30E0","display.preset.block":"\u30D6\u30ED\u30C3\u30AF","display.preset.handheld":"\u30C4\u30FC\u30EB","display.preset.rod":"\u91E3\u7AFF","dialog.continue":"\u7D9A\u3051\u308B","message.square_textures":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306F\u6B63\u65B9\u5F62\u3067\u306A\u3051\u308C\u3070\u9069\u7528\u51FA\u6765\u307E\u305B\u3093","message.unsaved_texture.title":"\u4FDD\u5B58\u3055\u308C\u3066\u306A\u3044\u30C6\u30AF\u30B9\u30C1\u30E3","message.unsaved_texture.message":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306F\u4FDD\u5B58\u3055\u308C\u305A\u306B\u5931\u308F\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\uFF1F","action.vertex_snap_mode.move":"Move","action.vertex_snap_mode.scale":"Scale","action.open_model_folder":"\u30E2\u30C7\u30EB\u30D5\u30A9\u30EB\u30C0\u3092\u958B\u304F","action.open_model_folder.desc":"\u30E2\u30C7\u30EB\u30D5\u30A9\u30EB\u30C0\u3092\u958B\u304D\u307E\u3059","action.change_textures_folder":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30D5\u30A9\u30EB\u30C0\u3092\u5909\u66F4","action.change_textures_folder.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u304C\u4FDD\u5B58\u3055\u308C\u3066\u3044\u308B\u30D5\u30A9\u30EB\u30C0\u3092\u5909\u66F4\u3057\u307E\u3059","menu.texture.particle":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB","message.update_notification.title":"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F :(","message.update_notification.message":"\u65B0\u3057\u3044 Blockbench \u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u66F4\u65B0\u3059\u308B\u306B\u306F\u81EA\u52D5\u66F4\u65B0\u3092\u6709\u52B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF01","message.untextured":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F","dialog.toolbar_edit.title":"\u30C4\u30FC\u30EB\u30D0\u30FC\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA","keybindings.reset":"\u30EA\u30BB\u30C3\u30C8","keybindings.clear":"\u30AF\u30EA\u30A2","action.cube_counter":"\u30E2\u30C7\u30EB\u7D71\u8A08","action.uv_rotation":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3 UV","action.uv_rotation.desc":"UV \u3092\u56DE\u8EE2\u3057\u307E\u3059","action.uv_grid":"\u30B0\u30EA\u30C3\u30C8 UV","action.uv_grid.desc":"UV \u306E\u30B0\u30EA\u30C3\u30C9\u9593\u9694","action.uv_grid.auto":"\u30AA\u30FC\u30C8","action.uv_maximize":"\u30D5\u30EB UV","action.uv_maximize.desc":"\u3053\u306E UV \u3092\u30D5\u30EB\u30C6\u30AF\u30B9\u30C1\u30E3\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.uv_auto":"\u30AA\u30FC\u30C8 UV","action.uv_auto.desc":"\u3053\u306E\u30D5\u30A7\u30A4\u30B9 UV \u3092\u5B9F\u969B\u306E\u5927\u304D\u3055\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.uv_rel_auto":"\u30EA\u30D0\u30FC\u30B9\u30AA\u30FC\u30C8 UV","action.uv_rel_auto.desc":"\u3053\u306E\u30D5\u30A7\u30A4\u30B9 UV \u3092\u5B9F\u969B\u306E\u4F4D\u7F6E\u3068\u5927\u304D\u3055\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.uv_mirror_x":"UV Mirror X","action.uv_mirror_x.desc":"UV \u3092 X \u8EF8\u306B\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3057\u307E\u3059","action.uv_mirror_y":"UV Mirror Y","action.uv_mirror_y.desc":"UV \u3092 Y \u8EF8\u306B\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3057\u307E\u3059","action.uv_transparent":"\u524A\u9664","action.uv_transparent.desc":"\u73FE\u5728\u306E\u30D5\u30A7\u30A4\u30B9\u3092\u524A\u9664\u3057\u307E\u3059","action.uv_reset":"\u30EA\u30BB\u30C3\u30C8","action.uv_reset.desc":"\u30D5\u30A7\u30A4\u30B9\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059","action.cullface":"\u30AB\u30EA\u30F3\u30B0","action.cullface.desc":"\u9078\u629E\u3055\u308C\u305F\u30D6\u30ED\u30C3\u30AF\u304C\u4ED6\u306E\u30D6\u30ED\u30C3\u30AF\u3068\u63A5\u89E6\u3057\u305F\u5834\u5408\u3001\u305D\u306E\u30D5\u30A7\u30A4\u30B9\u3092\u63CF\u753B\u3057\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059","action.auto_cullface":"\u30AB\u30EA\u30F3\u30B0\u3092\u6709\u52B9","action.auto_cullface.desc":"\u30AB\u30EA\u30F3\u30B0\u3092\u81EA\u52D5\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.face_tint":"\u30C6\u30A3\u30F3\u30C8","action.face_tint.desc":"\u73FE\u5728\u306E\u30D5\u30A7\u30A4\u30B9\u8272\u5408\u3044\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","menu.toolbar.edit":"\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA","menu.toolbar.reset":"\u30EA\u30BB\u30C3\u30C8","uv_editor.rotated":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3","uv_editor.auto_cull":"\u30AB\u30EA\u30F3\u30B0\u3092\u624B\u52D5\u306B\u3059\u308B","uv_editor.copied":"\u30B3\u30D4\u30FC","uv_editor.pasted":"\u30DA\u30FC\u30B9\u30C8","uv_editor.copied_x":"%0 \u3092\u30B3\u30D4\u30FC","uv_editor.reset":"\u30D5\u30A7\u30A4\u30B9\u3092\u30EA\u30BB\u30C3\u30C8","uv_editor.maximized":"\u30D5\u30EB","uv_editor.autouv":"\u30AA\u30FC\u30C8\u30B5\u30A4\u30BA","uv_editor.mirrored":"\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0","uv_editor.to_all":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528","uv_editor.transparent":"\u900F\u660E","uv_editor.cullface_on":"\u30AB\u30EA\u30F3\u30B0 ON","uv_editor.cullface_off":"\u30AB\u30EA\u30F3\u30B0 OFF","uv_editor.tint_on":"\u30C6\u30A3\u30F3\u30C8 ON","uv_editor.tint_off":"\u30C6\u30A3\u30F3\u30C8 OFF","action.uv_apply_all":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528","action.uv_apply_all.desc":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528\u3057\u307E\u3059","message.image_editor_missing.title":"\u30C7\u30D5\u30A9\u30EB\u30C8\u753B\u50CF\u30A8\u30C7\u30A3\u30BF","message.image_editor_missing.message":"\u4F7F\u7528\u53EF\u80FD\u306A\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u9078\u629E\u3057\u307E\u3059\u3002","message.image_editor_missing.detail":"\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u304A\u597D\u307F\u306E\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u306E\u5B9F\u884C\u53EF\u80FD\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3057\u307E\u3059\u3002","action.update_autouv":"\u30AA\u30FC\u30C8 UV","action.update_autouv.desc":"\u30AA\u30FC\u30C8 UV \u3092\u66F4\u65B0\u3057\u307E\u3059","category.uv":"UV","status_bar.saved":"\u30E2\u30C7\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F","status_bar.unsaved":"\u5909\u66F4\u304C\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u305B\u3093","action.move_up":"Move Up","action.move_up.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059","action.move_down":"Move Down","action.move_down.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059","action.move_left":"Move Left","action.move_left.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u5DE6\u306B\u79FB\u52D5\u3057\u307E\u3059","action.move_right":"Move Right","action.move_right.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u53F3\u306B\u79FB\u52D5\u3057\u307E\u3059","action.move_forth":"Move Forth","action.move_forth.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u524D\u65B9\u306B\u79FB\u52D5\u3057\u307E\u3059","action.move_back":"Move Back","action.move_back.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u3092\u5F8C\u65B9\u306B\u79FB\u52D5\u3057\u307E\u3059","layout.color.wireframe":"\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0","layout.color.wireframe.desc":"\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0\u30D3\u30E5\u30FC","action.add_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u8FFD\u52A0","action.add_animation.desc":"\u65B0\u898F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.load_animation_file":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u307F","action.load_animation_file.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059","action.play_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u751F","action.play_animation.desc":"\u9078\u629E\u3057\u305F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u751F\u3057\u307E\u3059","action.slider_keyframe_time":"\u30BF\u30A4\u30E0\u30B3\u30FC\u30C9","action.slider_keyframe_time.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306E\u30BF\u30A4\u30E0\u30B3\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3059","timeline.rotation":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3","timeline.position":"\u30DD\u30B8\u30B7\u30E7\u30F3","timeline.scale":"\u30B9\u30B1\u30FC\u30EB","menu.keyframe.quaternion":"\u30AF\u30A9\u30FC\u30BF\u30CB\u30AA\u30F3","panel.animations":"Animations","panel.keyframe":"Keyframe","panel.keyframe.type":"Keyframe (%0)","generic.delete":"\u524A\u9664","generic.rename":"\u540D\u524D\u3092\u5909\u66F4","message.no_animation_selected":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","message.no_bone_selected":"\u3053\u308C\u3092\u884C\u3046\u306B\u306F\u30DC\u30FC\u30F3\u3092\u9078\u629E\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059","message.duplicate_groups.title":"\u30DC\u30FC\u30F3\u540D\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059","message.duplicate_groups.message":"\u3053\u306E\u540D\u524D\u306F\u3059\u3067\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5225\u306E\u540D\u524D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002","action.delete_keyframes":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u524A\u9664","action.delete_keyframes.desc":"\u9078\u629E\u3057\u305F\u3059\u3079\u3066\u306E\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u524A\u9664\u3057\u307E\u3059","menu.animation":"Animation","menu.animation.loop":"\u30EB\u30FC\u30D7\u30E2\u30FC\u30C9","menu.animation.override":"\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9","menu.animation.anim_time_update":"\u30BF\u30A4\u30E0\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8","message.display_skin_model.title":"\u30B9\u30AD\u30F3","message.display_skin_model.message":"\u30B9\u30AD\u30F3\u30BF\u30A4\u30D7\u3092\u9078\u629E\u3057\u307E\u3059","message.display_skin_model.classic":"\u30AF\u30E9\u30B7\u30C3\u30AF","message.display_skin_model.slim":"\u30B9\u30EA\u30E0","message.bone_material":"\u30DC\u30FC\u30F3\u306E\u30DE\u30C6\u30EA\u30A2\u30EB\u3092\u5909\u66F4\u3057\u307E\u3059","action.slider_animation_length":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D5\u30A3\u30FC\u30C8","action.slider_animation_length.desc":"\u9078\u629E\u3057\u305F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u9577\u3055\u3092\u5909\u66F4\u3057\u307E\u3059","panel.variable_placeholders":"Placeholders","panel.variable_placeholders.info":"List the variables placeholders","status_bar.vertex_distance":"\u30C7\u30A3\u30B9\u30BF\u30F3\u30B9\uFF1A%0","dialog.create_gif.title":"GIF","dialog.create_gif.length":"\u5C3A","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u751F","category.animation":"Animation","action.record_model_gif":"\u30EC\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0 GIF...","action.record_model_gif.desc":"\u73FE\u5728\u306E\u89D2\u5EA6\u304B\u3089\u30E2\u30C7\u30EB\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3 GIF \u3092\u8A18\u9332\u3057\u307E\u3059","display.mirror":"Mirror","data.separator":"\u30BB\u30D1\u30EC\u30FC\u30BF","menu.preview.background.set_position":"\u4F4D\u7F6E\u3092\u30BB\u30C3\u30C8","dialog.toolbar_edit.hidden":"\u96A0\u3059","action.export_class_entity":"Java Entity","action.export_class_entity.desc":"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u3092 Java class \u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","settings.seethrough_outline":"X-Rey \u30A2\u30A6\u30C8\u30E9\u30A4\u30F3","settings.seethrough_outline.desc":"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u901A\u3057\u3066\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u8868\u793A\u3057\u307E\u3059","mode.edit":"Edit","mode.paint":"Paint","mode.display":"Display","mode.animate":"Animate","status_bar.recording_gif":"\u30EC\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0","status_bar.processing_gif":"\u52A0\u5DE5\u51E6\u7406","settings.backup_retain":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u4FDD\u6301\u671F\u9593","settings.backup_retain.desc":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4FDD\u6301\u3059\u308B\u65E5\u6570\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.rotate_tool":"\u56DE\u8EE2","action.rotate_tool.desc":"\u9078\u629E\u4E2D\u306E\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u56DE\u8EE2\u3055\u305B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059","action.fill_tool":"\u30D0\u30B1\u30C4","action.fill_tool.desc":"\u9078\u629E\u6B04\u3092\u5857\u308A\u3064\u3076\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059","action.eraser":"\u6D88\u3057\u30B4\u30E0","action.eraser.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u8272\u3092\u6D88\u53BB\u3067\u304D\u307E\u3059","action.color_picker":"\u30D4\u30C3\u30AB\u30FC","action.color_picker.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u8272\u3092\u9078\u629E\u3067\u304D\u307E\u3059","switches.mirror":"Mirror UV",language_name:"\u65E5\u672C\u8A9E","message.plugin_reload":"\u30D7\u30E9\u30B0\u30A4\u30F3 %0 \u3092\u30EA\u30ED\u30FC\u30C9\u3057\u307E\u3057\u305F","settings.brightness":"\u660E\u308B\u3055","settings.brightness.desc":"\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u660E\u308B\u3055\u3092\u5909\u66F4\u3057\u307E\u3059\u3002\u521D\u671F\u5024\uFF15\uFF10","menu.preview.perspective.reset":"\u30AB\u30E1\u30E9\u3092\u30EA\u30BB\u30C3\u30C8","action.fill_mode":"\u5857\u308A\u3064\u3076\u3057","action.fill_mode.face":"\u30D5\u30A7\u30A4\u30B9","action.fill_mode.color":"\u30AB\u30E9\u30FC","action.toggle_mirror_uv":"Mirror UV","action.toggle_mirror_uv.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u306E UV \u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","menu.texture.blank":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u306A\u3044\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528","dialog.scale.select_overflow":"\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC\u3092\u9078\u629E","action.action_control":"\u30A2\u30AF\u30B7\u30E7\u30F3\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB","action.action_control.desc":"\u5229\u7528\u53EF\u80FD\u306A\u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u691C\u7D22\u3057\u307E\u3059","keybindings.recording":"\u30AD\u30FC\u8A2D\u5B9A\u3092\u8A18\u9332","keybindings.press":"\u753B\u9762\u4E0A\u306E\u4EFB\u610F\u306E\u5834\u6240\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u30AD\u30FC\u3092\u8A18\u9332\u3057\u307E\u3059\u3002","action.pivot_tool":"\u30D4\u30DC\u30C3\u30C8\u30C4\u30FC\u30EB","action.pivot_tool.desc":"\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u30D4\u30DC\u30C3\u30C8\u30DD\u30A4\u30F3\u30C8\u3092\u5909\u66F4\u3057\u307E\u3059","action.slider_animation_speed":"\u518D\u751F\u30B9\u30D4\u30FC\u30C9","action.slider_animation_speed.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u518D\u751F\u901F\u5EA6\u3092\u5909\u66F4\u3057\u307E\u3059","action.previous_keyframe":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u623B\u3059","action.previous_keyframe.desc":"\u524D\u306E\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306B\u30B8\u30E3\u30F3\u30D7","action.next_keyframe":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u9032\u3081\u308B","action.next_keyframe.desc":"\u6B21\u306E\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306B\u30B8\u30E3\u30F3\u30D7","message.outdated_client.title":"\u65E7\u30D0\u30FC\u30B8\u30E7\u30F3","message.outdated_client.message":"\u3053\u308C\u3092\u5B9F\u884C\u3059\u308B\u306B\u306F\u3001Blockbench \u3092\u6700\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u3066\u4E0B\u3055\u3044\u3002","action.export_asset_archive":"\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9","action.export_asset_archive.desc":"\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u30E2\u30C7\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3059","action.upload_sketchfab":"Sketchfab\u306B\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9...","message.sketchfab.name_or_token":"Sketchfab \u306E Token \u3068\u540D\u524D\u3092\u5165\u529B\u3057\u3066\u4E0B\u3055\u3044","dialog.sketchfab_uploader.title":"Sketchfab \u30E2\u30C7\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"Token \u306F Blockbench \u304C Sketchfab \u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u63A5\u7D9A\u3059\u308B\u306E\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002%0 \u304B\u3089\u63A2\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059","dialog.sketchfab_uploader.name":"\u984C\u540D","dialog.sketchfab_uploader.description":"\u8A73\u7D30","dialog.sketchfab_uploader.tags":"\u30BF\u30B0","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"Blockbench \u306B Sketchfab \u30A2\u30AB\u30A6\u30F3\u30C8\u3078\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3092\u8A31\u53EF\u3057\u307E\u3059","panel.color":"Color","data.origin":"\u30D4\u30DC\u30C3\u30C8","message.sketchfab.success":"\u30E2\u30C7\u30EB\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u6210\u529F\u3057\u307E\u3057\u305F","message.sketchfab.error":"Sketchfab \u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F :(","settings.outliner_colors":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u30AB\u30E9\u30FC","settings.outliner_colors.desc":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u306B\u30AD\u30E5\u30FC\u30D6\u30AB\u30E9\u30FC\u3092\u8868\u793A\u3057\u307E\u3059","action.upload_sketchfab.desc":"Sketchfab \u306B\u30E2\u30C7\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9","action.element_colors":"Cube Colors","action.element_colors.desc":"Outliner \u3067\u30AD\u30E5\u30FC\u30D6\u30AB\u30E9\u30FC\u3092\u8868\u793A\u3057\u307E\u3059","texture.error.file":"\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093","texture.error.parent":"\u89AA\u30E2\u30C7\u30EB\u306B\u3088\u3063\u3066\u63D0\u4F9B\u3055\u308C\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u30D5\u30A1\u30A4\u30EB","message.recover_backup.title":"\u30E2\u30C7\u30EB\u3092\u5FA9\u5143","message.recover_backup.message":"Blockbench \u306F\u4FDD\u5B58\u3067\u304D\u305A\u306B\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u30E2\u30C7\u30EB\u3092\u5FA9\u5143\u3057\u307E\u3059\u304B\uFF1F","message.invalid_session.title":"\u7121\u52B9\u306A\u30BB\u30C3\u30B7\u30E7\u30F3 Token","message.invalid_session.message":"\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u7121\u52B9\u3067\u3059\u3002","dialog.create_texture.power":"\u6B63\u65B9\u30B5\u30A4\u30BA","dialog.create_gif.turn":"\u30BF\u30FC\u30F3\u30C6\u30FC\u30D6\u30EB\u30B9\u30D4\u30FC\u30C9","action.edit_session":"\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7DE8\u96C6...","action.edit_session.desc":"\u4ED6\u306E\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC\u3068\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u901A\u3057\u3066\u5171\u540C\u5236\u4F5C\u304C\u3067\u304D\u307E\u3059","action.reset_keyframe":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u524A\u9664\u3059\u308B","action.reset_keyframe.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u8A2D\u5B9A\u3092\u3059\u3079\u3066\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059","dialog.edit_session.title":"\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7DE8\u96C6","edit_session.username":"\u30E6\u30FC\u30B6\u30FC\u30CD\u30FC\u30E0","edit_session.token":"Token","edit_session.about":"\u7DE8\u96C6\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u5168\u4F53\u306E\u30E2\u30C7\u30EB\u3067\u5171\u540C\u4F5C\u696D\u3092\u884C\u3048\u307E\u3059\u3002\u30C8\u30FC\u30AF\u30F3\u3092\u30B3\u30D4\u30FC\u3057\u3066\u3001\u30D5\u30EC\u30F3\u30C9\u306B\u9001\u4FE1\u3057\u3066\u304F\u3060\u3055\u3044\u3002","edit_session.join":"\u30BB\u30C3\u30B7\u30E7\u30F3\u306B\u53C2\u52A0","edit_session.create":"\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u4F5C\u6210","edit_session.quit":"\u30BB\u30C3\u30B7\u30E7\u30F3\u304B\u3089\u9000\u51FA","edit_session.joined":"%0 \u304C\u30BB\u30C3\u30B7\u30E7\u30F3\u306B\u53C2\u52A0\u3057\u307E\u3057\u305F","edit_session.left":"%0 \u304C\u9000\u51FA\u3057\u307E\u3057\u305F","edit_session.quit_session":"\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u7D42\u4E86\u3057\u307E\u3057\u305F","edit_session.status":"\u30B9\u30C6\u30FC\u30BF\u30B9","edit_session.hosting":"\u30CF\u30A6\u30B8\u30F3\u30B0","edit_session.connected":"\u30BB\u30C3\u30B7\u30E7\u30F3\u306B\u63A5\u7D9A\u3059\u308B","dialog.sketchfab_uploader.private":"\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8 (Pro)","dialog.sketchfab_uploader.password":"\u30D1\u30B9\u30EF\u30FC\u30C9 (Pro)","action.uv_select_all":"Select All","action.uv_select_all.desc":"UV \u30C0\u30A4\u30A2\u30ED\u30B0\u3067\u30D5\u30A7\u30A4\u30B9\u3092\u9078\u629E\u3057\u307E\u3059","panel.chat":"Chat","edit_session.welcome":"\u30BB\u30C3\u30B7\u30E7\u30F3 %0 \u3078\u3088\u3046\u3053\u305D\uFF01","dialog.yes":"Yes","dialog.no":"No","generic.remove":"\u524A\u9664","generic.download":"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9","generic.search":"\u691C\u7D22","dates.today":"\u4ECA\u65E5","dates.yesterday":"\u6628\u65E5","dates.this_week":"\u4ECA\u9031","dates.weeks_ago":"%0 \u9031\u9593\u524D","mode.start.new":"\u65B0\u898F\u4F5C\u6210","mode.start.recent":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB","format.free":"Generic Model","format.free.desc":"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3\u3084\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306A\u3069\u3001\u7121\u5236\u9650\u306E\u30E2\u30C7\u30EA\u30F3\u30B0\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","format.java_block":"Java Block/Item","format.java_block.desc":"Minecraft Java Edition \u30D6\u30ED\u30C3\u30AF/\u30A2\u30A4\u30C6\u30E0","format.bedrock":"Bedrock Entity","format.bedrock.desc":"Minecraft Bedrock Edition \u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u304A\u3088\u3073\u30A2\u30BF\u30C3\u30C1\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u306E\u30E2\u30C7\u30EB","format.bedrock_old":"Bedrock Legacy Model","format.bedrock_old.desc":"Pre-1.12 Minecraft Bedrock Edition \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB","format.modded_entity":"Modded Entity","format.modded_entity.desc":"Minecraft Mods \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB","format.optifine_entity":"OptiFine Entity","format.optifine_entity.desc":"OptiFine \u30AB\u30B9\u30BF\u30E0\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB","keys.mouse":"\u30DE\u30A6\u30B9\u30DC\u30BF\u30F3 %0","message.cleared_blank_faces.title":"\u30D6\u30E9\u30F3\u30AF\u30D5\u30A7\u30A4\u30B9","message.cleared_blank_faces.message":"%0 \u500B\u306E\u30D6\u30E9\u30F3\u30AF\u30D5\u30A7\u30A4\u30B9\u3092\u767A\u898B\u3057\u307E\u3057\u305F\u3002\u305D\u308C\u3089\u3092\u3059\u3079\u3066\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","message.wireframe.enabled":"\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u6709\u52B9\u306B\u3057\u307E\u3057\u305F","message.wireframe.disabled":"\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u7121\u52B9\u306B\u3057\u307E\u3057\u305F","dialog.convert_project.title":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5909\u63DB","dialog.create_texture.double_use":"\u30DE\u30EB\u30C1\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30AD\u30FC\u30D7\u3059\u308B","dialog.model_stats.title":"\u30E2\u30C7\u30EB\u30B9\u30C6\u30FC\u30BF\u30B9","dialog.model_stats.cubes":"\u30AD\u30E5\u30FC\u30D6","dialog.model_stats.locators":"\u30ED\u30B1\u30FC\u30BF\u30FC","dialog.model_stats.groups":"\u30B0\u30EB\u30FC\u30D7","dialog.model_stats.vertices":"\u9802\u70B9","dialog.model_stats.faces":"\u30D5\u30A7\u30A4\u30B9","settings.username":"\u30CB\u30C3\u30AF\u30CD\u30FC\u30E0","settings.username.desc":"\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30CB\u30C3\u30AF\u30CD\u30FC\u30E0\u3092\u7DE8\u96C6\u3057\u307E\u3059","settings.painting_grid":"\u30DA\u30A4\u30F3\u30C8\u30B0\u30EA\u30C3\u30C8","settings.painting_grid.desc":"\u30DA\u30A4\u30F3\u30C8\u30E2\u30FC\u30C9\u3067\u30AD\u30E5\u30FC\u30D6\u306B\u30B0\u30EA\u30C3\u30C8\u3092\u8868\u793A\u3057\u307E\u3059","action.convert_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5909\u63DB","action.convert_project.desc":"\u5225\u306E\u30E2\u30C7\u30EB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u5909\u63DB\u3057\u307E\u3059","action.close_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u9589\u3058\u308B","action.close_project.desc":"\u9032\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u9589\u3058\u307E\u3059","action.export_bedrock":"Bedrock Geometry","action.export_bedrock.desc":"\u30E2\u30C7\u30EB\u3092\u7D71\u5408\u7248\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002","action.save_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4FDD\u5B58","action.save_project.desc":"\u9032\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4FDD\u5B58\u3057\u307E\u3059","action.save_project_as":"\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58","action.save_project_as.desc":"\u9032\u884C\u4E2D\u306E\u3059\u3079\u3066\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4FDD\u5B58\u3057\u307E\u3059","action.export_over":"\u4E0A\u66F8\u304D\u4FDD\u5B58","action.export_over.desc":"\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u4FDD\u5B58\u3057\u307E\u3059","action.add_locator":"\u30ED\u30B1\u30FC\u30BF\uFF0D\u3092\u8FFD\u52A0","action.add_locator.desc":"\u65B0\u3057\u3044\u30ED\u30B1\u30FC\u30BF\u3092\u8FFD\u52A0\u3057\u3066\u3001\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306E\u4F4D\u7F6E\u3092\u5236\u5FA1\u3057\u307E\u3059","action.uv_turn_mapping":"\u30BF\u30FC\u30F3\u30DE\u30C3\u30D4\u30F3\u30B0","action.uv_turn_mapping.desc":"UV \u30DE\u30C3\u30D4\u30F3\u30B0\u3092 90 \u5EA6\u56DE\u8EE2\u3055\u305B\u307E\u3059","action.remove_blank_faces":"\u30D6\u30E9\u30F3\u30AF\u30D5\u30A7\u30A4\u30B9\u3092\u524A\u9664","action.remove_blank_faces.desc":"\u9078\u629E\u3057\u305F\u30D6\u30E9\u30F3\u30AF\u30D5\u30A7\u30A4\u30B9\u3092\u3059\u3079\u3066\u524A\u9664\u3057\u307E\u3059","web.download_app":"App \u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9","uv_editor.turned":"\u30BF\u30FC\u30F3\u30DE\u30C3\u30D4\u30F3\u30B0","display.reference.crossbow":"\u30AF\u30ED\u30B9\u30DC\u30A6","dialog.settings.search_results":"\u691C\u7D22","settings.animation_snap":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B9\u30CA\u30C3\u30D7","settings.animation_snap.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306E 1 \u79D2\u3042\u305F\u308A\u306E\u30B9\u30C6\u30C3\u30D7\u6570\u3002","action.import_optifine_part":"OptiFine Part","action.import_optifine_part.desc":"OptiFine \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059","data.locator":"\u30ED\u30B1\u30FC\u30BF\u30FC","mode.start.no_recents":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB\u306F\u3042\u308A\u307E\u305B\u3093","panel.element":"Element","panel.element.position":"Position","panel.element.size":"Size","panel.element.origin":"Center","panel.element.rotation":"Rotation","message.canvas_limit_error.title":"\u30AD\u30E3\u30F3\u30D0\u30B9\u5236\u9650\u30A8\u30E9\u30FC","message.canvas_limit_error.message":"\u30AD\u30E3\u30F3\u30D0\u30B9\u304C\uFF14\uFF18\u30E6\u30CB\u30C3\u30C8\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u6B63\u3057\u304F\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4FEE\u6B63\u3059\u308B\u306B\u306F\u3001\u30D4\u30DC\u30C3\u30C8\u30DD\u30A4\u30F3\u30C8\u3092\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002","data.effect":"\u30A8\u30D5\u30A7\u30AF\u30C8","generic.name":"\u540D\u524D","settings.recent_projects":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB\u6570","settings.recent_projects.desc":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB\u306E\u6700\u5927\u6570\u3092\u5909\u66F4\u3057\u307E\u3059","settings.volume":"\u30B5\u30A6\u30F3\u30C9\u30A8\u30D5\u30A7\u30AF\u30C8","settings.volume.desc":"\u30B5\u30A6\u30F3\u30C9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30DC\u30EA\u30E5\u30FC\u30E0\u3092\u5909\u66F4\u3057\u307E\u3059","action.clear_timeline":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u30AF\u30EA\u30A2","action.clear_timeline.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u4E0A\u306E\u4F7F\u7528\u3055\u308C\u3066\u3044\u306A\u3044\u30DC\u30FC\u30F3\u3092\u524A\u9664\u3057\u307E\u3059","action.select_effect_animator":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30A8\u30D5\u30A7\u30AF\u30C8","action.select_effect_animator.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u958B\u3044\u3066\u30B5\u30A6\u30F3\u30C9\u3068\u30A8\u30D5\u30A7\u30AF\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.timeline_focus":"\u30D5\u30A3\u30EB\u30BF\u30FC\u30C1\u30E3\u30F3\u30CD\u30EB","action.timeline_focus.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306B\u8868\u793A\u3059\u308B\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u9078\u629E\u3057\u307E\u3059","timeline.particle":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB","timeline.sound":"\u30B5\u30A6\u30F3\u30C9","timeline.effects":"\u30A8\u30D5\u30A7\u30AF\u30C8","data.format":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"OptiFine \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u306E JPM \u30D1\u30FC\u30C4","action.reverse_keyframes":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u53CD\u8EE2","action.reverse_keyframes.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u53CD\u8EE2\u3057\u307E\u3059","generic.help":"Help","message.removed_faces":"\uFF050 \u3092\u524A\u9664\u3057\u307E\u3057\u305F","dialog.sketchfab_uploader.draft":"\u30C9\u30E9\u30D5\u30C8","action.slider_pos":"Position %0","action.slider_pos.desc":"%0 \u8EF8\u4E0A\u3067\u79FB\u52D5\u3057\u307E\u3059","action.slider_size":"Size %0","action.slider_size.desc":"%0 \u8EF8\u4E0A\u3067\u30EA\u30B5\u30A4\u30BA\u3057\u307E\u3059","action.slider_rotation":"Rotation %0","action.slider_rotation.desc":"%0 \u8EF8\u4E0A\u3067\u56DE\u8EE2\u3057\u307E\u3059","action.slider_origin":"Pivot %0","action.slider_origin.desc":"%0 \u8EF8\u4E0A\u3067\u30D4\u30DD\u30C3\u30C8\u3057\u307E\u3059","action.rotate_cw":"Rotate %0 +90","action.rotate_cw.desc":"%0 \u8EF8\u4E0A\u3067 90\xB0 \u56DE\u8EE2\u3057\u307E\u3059","action.rotate_ccw":"Rotate %0 -90","action.rotate_ccw.desc":"%0 \u8EF8\u4E0A\u3067 -90\xB0 \u56DE\u8EE2\u3057\u307E\u3059","action.flip":"Flip %0","action.flip.desc":"%0 \u8EF8\u4E0A\u3067\u53CD\u8EE2\u3057\u307E\u3059","action.center":"Center %0","action.center.desc":"%0 \u8EF8\u306E\u4E2D\u592E\u306B\u914D\u7F6E\u3057\u307E\u3059","action.bring_up_all_animations":"\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30BF\u30FC\u3092\u53D6\u308A\u8FBC\u3080","panel.bone":"Bone","data.color":"\u30AB\u30E9\u30FC","generic.export":"\u66F8\u304D\u51FA\u3057","generic.none":"\u306A\u3057","status_bar.recording":"\u30BF\u30A4\u30E0\u30E9\u30D7\u30B9\u3092\u8A18\u9332\u4E2D\u2026","message.add_to_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u8FFD\u52A0","message.size_modifiers":"Shift \u3092\u62BC\u3057\u305F\u307E\u307E\u306B\u3059\u308B\u3068\u3001\u5C11\u3057\u305A\u3064\u5909\u5316\u3057\u307E\u3059\u3002","message.timelapse_start":"\u30B9\u30BF\u30FC\u30C8","message.timelapse_stop":"\u30B9\u30C8\u30C3\u30D7","message.import_palette.replace_palette":"\u53E4\u3044\u30D1\u30EC\u30C3\u30C8\u3092\u7F6E\u304D\u63DB\u3048\u307E\u3059","message.import_palette.threshold":"\u30DE\u30FC\u30B8","dialog.timelapse.interval":"\u30A4\u30F3\u30BF\u30FC\u30D0\u30EB\uFF08\u79D2\uFF09","dialog.timelapse.source":"\u30BD\u30FC\u30B9","dialog.timelapse.source.interface":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9","dialog.timelapse.source.locked":"\u30A2\u30F3\u30B0\u30EB\u3092\u56FA\u5B9A","dialog.timelapse.destination":"\u79FB\u52D5\u5148\u306E\u30D5\u30A9\u30EB\u30C0","layout.color.checkerboard":"\u30C1\u30A7\u30C3\u30AB\u30FC\u30DC\u30FC\u30C9","layout.color.checkerboard.desc":"\u30AD\u30E3\u30F3\u30D1\u30B9\u306E\u80CC\u666F\u3068 UV \u30A8\u30C7\u30A3\u30BF","layout.font.code":"\u30B3\u30FC\u30C9\u30D5\u30A9\u30F3\u30C8","layout.css":"\u30AB\u30B9\u30BF\u30E0 CSS","settings.category.paint":"\u30DA\u30A4\u30F3\u30C8","settings.deactivate_size_limit":"\u30B5\u30A4\u30BA\u30EA\u30DF\u30C3\u30C8","settings.deactivate_size_limit.desc":"\u30B5\u30A4\u30BA\u306E\u5236\u9650\u3092\u89E3\u9664\u3057\u307E\u3059\u3002\uFF1A\u30B5\u30A4\u30BA\u304C\u5927\u304D\u3059\u304E\u308B\u30E2\u30C7\u30EB\u306F\u4E0D\u5177\u5408\u3092\u5F15\u304D\u8D77\u3053\u3059\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002","settings.brush_opacity_modifier":"\u900F\u660E\u5EA6","settings.brush_opacity_modifier.desc":"\u30D6\u30E9\u30B7\u306E\u900F\u660E\u5EA6\u3092\u5909\u66F4\u3057\u307E\u3059","settings.brush_size_modifier":"\u30B5\u30A4\u30BA","settings.brush_size_modifier.desc":"\u30D6\u30E9\u30B7\u306E\u5927\u304D\u3055\u3092\u5909\u66F4\u3057\u307E\u3059","settings.brush_modifier.pressure":"\u7B46\u5727","settings.brush_modifier.tilt":"\u30C1\u30EB\u30C8","category.color":"\u30AB\u30E9\u30FC","action.import_theme":"\u30C6\u30FC\u30DE\u3092\u8AAD\u307F\u8FBC\u307F","action.export_theme":"\u30C6\u30FC\u30DE\u3092\u66F8\u304D\u51FA\u3057","action.export_theme.desc":"\u73FE\u5728\u306E\u8A2D\u5B9A\u306B\u57FA\u3065\u3044\u3066\u30C6\u30FC\u30DE\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u307E\u3059","action.slider_color_h":"\u8272\u76F8","action.slider_color_s":"\u5F69\u5EA6","action.slider_color_v":"\u660E\u5EA6","action.add_to_palette":"\u30D1\u30EC\u30C3\u30C8\u306B\u8FFD\u52A0","action.add_to_palette.desc":"\u30D1\u30EC\u30C3\u30C8\u306B\u9078\u629E\u3057\u305F\u30AB\u30E9\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.import_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u8AAD\u307F\u8FBC\u307F","action.import_palette.desc":"\u30D1\u30EC\u30C3\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u307F","action.export_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u4FDD\u5B58","action.export_palette.desc":".GPL \u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3057\u307E\u3059","action.generate_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u751F\u6210...","action.generate_palette.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u304B\u3089\u30D1\u30EC\u30C3\u30C8\u3092\u751F\u6210\u3057\u307E\u3059","action.sort_palette":"\u30BD\u30FC\u30C8","action.sort_palette.desc":"\u30D1\u30EC\u30C3\u30C8\u4E0A\u306E\u3059\u3079\u3066\u306E\u30AB\u30E9\u30FC\u3092\u4E26\u3079\u66FF\u3048\u307E\u3059","action.timelapse":"\u30BF\u30A4\u30E0\u30E9\u30D7\u30B9...","action.timelapse.desc":"\u30E2\u30C7\u30EA\u30F3\u30B0\u30D7\u30ED\u30BB\u30B9\u306E\u30BF\u30A4\u30E0\u30E9\u30D7\u30B9\u3092\u8A18\u9332\u3057\u307E\u3059","action.add_keyframe":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u8FFD\u52A0","action.add_keyframe.desc":"\u30A2\u30CB\u30E1\u30FC\u30BF\u30FC\u306B\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.bring_up_all_animations.desc":"\u5909\u66F4\u3055\u308C\u305F\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30BF\u30FC\u3092\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306B\u7D44\u307F\u8FBC\u307F\u307E\u3059","timeline.timeline":"\u30A4\u30F3\u30B9\u30C8\u30E9","menu.palette.load.default":"\u30C7\u30D5\u30A9\u30EB\u30C8","generic.import":"\u8AAD\u307F\u8FBC\u307F","settings.brush_modifier.none":"\u306A\u3057","action.export_entity":"Bedrock Entity","action.export_entity.desc":"\u30E2\u30C7\u30EB\u3092 Minecraft Bedrock Edition \u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059","settings.highlight_cubes":"\u30CF\u30A4\u30E9\u30A4\u30C8\u30A8\u30EC\u30E1\u30F3\u30C8","settings.highlight_cubes.desc":"\u9078\u629E\u3055\u308C\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u5F37\u8ABF\u8868\u793A\u3055\u308C\u307E\u3059","action.add_marker":"\u30DE\u30FC\u30AB\u30FC","action.add_marker.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30DE\u30FC\u30AB\u30FC\u3092\u8A2D\u5B9A\u3057\u307E\u3059","timeline.pre_effect_script":"\u30B9\u30AF\u30EA\u30D7\u30C8","format.skin":"Minecraft Skin","format.skin.desc":"\u30D7\u30EC\u30A4\u30E4\u30FC/\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3 \u30B9\u30AD\u30F3\u7DE8\u96C6","message.sketchfab.setup_guide":"Sketchfab \u3067\u30E2\u30C7\u30EB\u3092\u8A2D\u5B9A\u3059\u308B\u65B9\u6CD5\u3092\u5B66\u3073\u305F\u3044\u3067\u3059\u304B\uFF1F %0","dialog.skin.title":"Minecraft Skin \u3092\u4F5C\u6210","dialog.skin.model":"\u30E2\u30C7\u30EB","action.toggle_skin_layer":"\u30EC\u30A4\u30E4\u30FC\u306E\u5207\u308A\u66FF\u3048","action.toggle_skin_layer.desc":"\u30B9\u30AD\u30F3\u306E\u30EC\u30A4\u30E4\u30FC\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.gui_light":"GUI \u30E9\u30A4\u30C8","action.gui_light.desc":"\u30A4\u30F3\u30D9\u30F3\u30C8\u30EA\u5185\u306E\u30E9\u30A4\u30C6\u30A3\u30F3\u30B0\u3092\u9078\u629E\u3057\u307E\u3059","action.gui_light.side":"Side \u30E9\u30A4\u30C8","action.gui_light.front":"Front \u30E9\u30A4\u30C8","action.move_keyframe_back":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u623B\u3059","action.move_keyframe_forth":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u9032\u3081\u308B","menu.help":"Help","menu.help.discord":"Discord","menu.help.report_issue":"\u554F\u984C\u3092\u5831\u544A","menu.help.plugin_documentation":"\u30D7\u30E9\u30B0\u30A4\u30F3 API","menu.help.search_action":"\u63A2\u3059","menu.help.donate":"\u5BC4\u4ED8","menu.help.about":"About...","menu.preview.background.clipboard":"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089\u8AAD\u307F\u8FBC\u3080","dialog.ignore":"\u30B9\u30EB\u30FC","generic.unset":"Unset","message.invalid_builtin_parent.title":"Error","message.invalid_builtin_parent.message":"\u30E2\u30C7\u30EB\u306E\u66F8\u304D\u51FA\u3057\u306B\u969B\u3057\u3066\u3001\u7121\u52B9\u306A\u30E2\u30C7\u30EB '\uFF050' \u3078\u306E\u30EA\u30F3\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002","dialog.resize_texture.fill":"Fill","dialog.resize_texture.fill.transparent":"\u900F\u660E\u5EA6","dialog.resize_texture.fill.color":"\u30AB\u30E9\u30FC","dialog.resize_texture.fill.repeat":"\u30EA\u30D4\u30FC\u30C8","dialog.scale.element_pivot":"\u30D4\u30DC\u30C3\u30C8\u30A8\u30EC\u30E1\u30F3\u30C8","dialog.scale.selection_center":"\u30BB\u30F3\u30BF\u30FC\u3092\u9078\u629E","dialog.create_gif.length_mode":"Length \u30E2\u30FC\u30C9","dialog.create_gif.length_mode.seconds":"\u79D2","dialog.create_gif.length_mode.frames":"\u30D5\u30EC\u30FC\u30E0","dialog.create_gif.length_mode.animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u9577\u3055","dialog.create_gif.length_mode.turntable":"\u30BF\u30FC\u30F3\u30C6\u30FC\u30D6\u30EB","dialog.save_angle.projection":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30B7\u30E7\u30F3","dialog.save_angle.projection.perspective":"\u8996\u70B9","dialog.save_angle.projection.orthographic":"\u76F4\u4EA4","dialog.sketchfab_uploader.animations":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3","dialog.settings.theme":"\u30C6\u30FC\u30DE","settings.category.interface":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9","settings.preview_checkerboard":"\u30D7\u30EC\u30D3\u30E5\u30FC","settings.preview_checkerboard.desc":"\u30C1\u30A7\u30C3\u30AB\u30FC\u30DC\u30FC\u30C9\u306E\u80CC\u666F\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","settings.uv_checkerboard":"UV \u30A8\u30C7\u30A3\u30BF","settings.uv_checkerboard.desc":"UV \u30A8\u30C7\u30A3\u30BF\u306E\u80CC\u666F\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","category.paint":"Paint","action.fill_mode.color_connected":"\u30B3\u30CD\u30AF\u30C8\u30AB\u30E9\u30FC","action.draw_shape_type":"\u30B7\u30E3\u30FC\u30D7","action.draw_shape_type.rectangle":"\u56DB\u89D2\u5F62","action.draw_shape_type.rectangle_h":"\u9577\u65B9\u5F62\uFF08\u7A7A\u6D1E\uFF09","action.draw_shape_type.ellipse":"\u5186","action.draw_shape_type.ellipse_h":"\u5186\uFF08\u7A7A\u6D1E\uFF09","action.draw_shape_type.line":"\u7DDA","action.mirror_painting":"\u30DF\u30E9\u30FC\u30DA\u30A4\u30F3\u30C8","action.mirror_painting.description":"\u30E2\u30C7\u30EB\u306E\u88CF\u5074\u306B\u3082\u30DA\u30A4\u30F3\u30C8\u3057\u307E\u3059","action.lock_alpha":"\u30A2\u30EB\u30D5\u30A1\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u56FA\u5B9A","action.lock_alpha.description":"\u30D4\u30AF\u30BB\u30EB\u306E\u900F\u660E\u5EA6\u3092\u30ED\u30C3\u30AF\u3057\u307E\u3059","action.draw_shape_tool":"\u56F3\u5F62","action.draw_shape_tool.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306B\u30B7\u30F3\u30D7\u30EB\u306A\u56F3\u5F62\u3092\u63CF\u5199\u3057\u307E\u3059","action.export_gltf":"glTF Model","action.export_gltf.desc":"\u30E2\u30C7\u30EB\u3068\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092 glTF \u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.transform_space":"\u30C8\u30E9\u30F3\u30B9\u30D5\u30A9\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9","action.transform_space.desc":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30C8\u30E9\u30F3\u30B9\u30D5\u30A9\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9","action.transform_space.global":"\u30B0\u30ED\u30FC\u30D0\u30EB","action.transform_space.local":"\u30ED\u30FC\u30AB\u30EB","action.toggle_camera_projection":"\u30AB\u30E1\u30E9\u306E\u5207\u308A\u66FF\u3048","action.toggle_camera_projection.desc":"\u30AB\u30E1\u30E9\u306E\u6295\u5F71\u3092\u9060\u8FD1\u6CD5\u3068\u5E73\u884C\u6295\u5F71\u6CD5\u306E\u9593\u3067\u5207\u308A\u66FF\u3048\u307E\u3059","action.load_camera_angle":"\u30AB\u30E1\u30E9\u30A2\u30F3\u30B0\u30EB\uFF1A %0","action.load_camera_angle.desc":"\u30AB\u30E1\u30E9\u30A2\u30F3\u30B0\u30EB '%0' \u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059","action.slider_face_tint":"\u8272\u5408\u3044\u6307\u6570","action.slider_face_tint.desc":"\u30D5\u30A7\u30A4\u30B9\u306E\u8272\u5408\u3044\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -1 \u306F\u672A\u8A2D\u5B9A\u3092\u610F\u5473\u3057\u307E\u3059\u3002","menu.help.quickstart":"\u30AF\u30A4\u30C3\u30AF\u30B9\u30BF\u30FC\u30C8","menu.help.developer":"\u30C7\u30D9\u30ED\u30C3\u30D1\u30FC","menu.help.developer.dev_tools":"\u958B\u767A\u30C4\u30FC\u30EB\u3092\u958B\u304F","menu.help.developer.reset_storage":"\u521D\u671F\u5316","menu.help.developer.reset_storage.confirm":"Blockbench \u3092\u521D\u671F\u5316\u3057\u307E\u3059\u304B\uFF1F\u3059\u3079\u3066\u306E\u30AB\u30B9\u30BF\u30E0\u8A2D\u5B9A\u3001\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u3001\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u524A\u9664\u3055\u308C\u307E\u3059\u3002","menu.help.developer.cache_reload":"\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u30EA\u30ED\u30FC\u30C9","menu.preview.orthographic":"\u6B63\u6295\u5F71","menu.preview.save_angle":"\u30A2\u30F3\u30B0\u30EB\u3092\u4FDD\u5B58...","menu.preview.angle":"\u30A2\u30F3\u30B0\u30EB","menu.preview.angle.initial":"\u521D\u671F\u89D2\u5EA6","menu.preview.maximize":"\u6700\u5927\u5316","uv_editor.copy_selection":"\u9078\u629E\u7BC4\u56F2\u3092\u30B3\u30D4\u30FC","uv_editor.paste_selection":"\u9078\u629E\u7BC4\u56F2\u3092\u8CBC\u308A\u4ED8\u3051","uv_editor.copy_paste_tool.place":"\u914D\u7F6E","uv_editor.copy_paste_tool.mirror_x":"X \u8EF8\u3067\u53CD\u8EE2","uv_editor.copy_paste_tool.mirror_y":"Y \u8EF8\u3067\u53CD\u8EE2","uv_editor.copy_paste_tool.rotate":"90\xB0 \u56DE\u8EE2","dialog.project.modded_entity_version":"\u30D0\u30FC\u30B8\u30E7\u30F3","dialog.save_angle.position":"\u30AB\u30E1\u30E9\u30DD\u30B8\u30B7\u30E7\u30F3","dialog.save_angle.target":"\u7126\u70B9","dialog.skin.pose":"\u30DD\u30FC\u30BA","layout.color.frame":"\u30D5\u30EC\u30FC\u30E0","layout.color.frame.desc":"\u30DC\u30FC\u30C0\u30FC\u3068\u30BF\u30A4\u30C8\u30EB\u30D0\u30FC\u306E\u30D5\u30EC\u30FC\u30E0","settings.large_grid_size":"\u30D6\u30ED\u30C3\u30AF\u30B0\u30EA\u30C3\u30C8\u30B5\u30A4\u30BA","settings.large_grid_size.desc":"\u30D6\u30ED\u30C3\u30AF\u30B0\u30EA\u30C3\u30C8\u306E\u30B5\u30A4\u30BA\u3092\u5909\u66F4\u3057\u307E\u3059","action.load_plugin_from_url":"URL \u304B\u3089\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30ED\u30FC\u30C9","action.load_plugin_from_url.desc":"\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059","action.cube_counter.desc":"\u73FE\u5728\u306E\u30AD\u30E5\u30FC\u30D6\u6570\u3068\u305D\u306E\u4ED6\u306E\u7D71\u8A08\u3092\u8868\u793A\u3057\u307E\u3059","action.unlock_everything":"\u30A2\u30F3\u30ED\u30C3\u30AF","action.unlock_everything.desc":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u306E\u3059\u3079\u3066\u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664\u3057\u307E\u3059\u3002","action.load_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u30ED\u30FC\u30C9","action.load_palette.desc":"\u30D1\u30EC\u30C3\u30C8\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059","action.toggle_locked":"\u30C8\u30B0\u30EB\u30ED\u30C3\u30AF","action.toggle_locked.desc":"\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u30ED\u30C3\u30AF\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.apply_display_preset":"\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9069\u7528","action.apply_display_preset.desc":"\u30AB\u30B9\u30BF\u30E0\u8868\u793A\u8A2D\u5B9A\u306E\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9069\u7528\u3057\u307E\u3059","action.apply_display_preset.here":"\u30B9\u30ED\u30C3\u30C8\u306B\u9069\u7528","action.apply_display_preset.everywhere":"\u3059\u3079\u3066\u306E\u30B9\u30ED\u30C3\u30C8\u306B\u9069\u7528","action.resolve_keyframe_expressions":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u89E3\u9664","action.resolve_keyframe_expressions.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u89E3\u9664\u3057\u307E\u3059","action.fold_all_animations":"\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30BF\u30FC\u3092\u6298\u308A\u305F\u305F\u3080","menu.palette.load.empty":"\u30D6\u30E9\u30F3\u30AF","switches.lock":"\u30ED\u30C3\u30AF","settings.render_sides":"\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0","settings.render_sides.desc":"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u65B9\u6CD5\u3092\u5909\u66F4\u3057\u307E\u3059","settings.render_sides.auto":"\u30AA\u30FC\u30C8","settings.render_sides.front":"\u30A2\u30A6\u30C8\u30B5\u30A4\u30C9","settings.render_sides.double":"\u4E21\u9762","generic.enable":"\u6709\u52B9","generic.disable":"\u7121\u52B9","generic.redacted":"\u7DE8\u96C6\u6E08\u307F","dialog.select_texture.import_all":"\u3059\u3079\u3066\u3092\u8AAD\u307F\u8FBC\u307F","dialog.skin.layer_template":"\u30EC\u30A4\u30E4\u30FC\u30C6\u30AF\u30B9\u30C1\u30E3","about.version.up_to_date":"\u6700\u65B0\u306E\u72B6\u614B\u3067\u3059","about.version.update_available":"\u30D0\u30FC\u30B8\u30E7\u30F3 %0 \u304C\u5229\u7528\u53EF\u80FD\u3067\u3059","settings.category.application":"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3","settings.streamer_mode":"\u30B9\u30C8\u30EA\u30FC\u30DE\u30FC\u30E2\u30FC\u30C9","settings.streamer_mode.desc":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB\u306A\u3069\u3092\u975E\u8868\u793A\u306B\u3057\u307E\u3059","settings.automatic_updates":"\u81EA\u52D5\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8","settings.automatic_updates.desc":"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u3001Blockbench \u3092\u5E38\u306B\u6700\u65B0\u306E\u72B6\u614B\u306B\u4FDD\u3061\u307E\u3059","action.rotation_space":"\u30ED\u30C6\u30FC\u30C8\u30B9\u30DA\u30FC\u30B9","action.focus_on_selection":"\u30BB\u30F3\u30BF\u30FC\u30D3\u30E5\u30FC","action.focus_on_selection.desc":"\u9078\u629E\u7BC4\u56F2\u306E\u4E2D\u5FC3\u3092\u5411\u304F\u3088\u3046\u306B\u30AB\u30E1\u30E9\u3092\u8ABF\u6574\u3057\u307E\u3059","action.jump_to_timeline_start":"\u59CB\u7AEF\u306B\u30B8\u30E3\u30F3\u30D7","action.jump_to_timeline_end":"\u7D42\u7AEF\u306B\u30B8\u30E3\u30F3\u30D7","menu.help.updating":"\u66F4\u65B0\u4E2D (%0%)","menu.help.update_failed":"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F","menu.animation.loop.once":"\uFF11\u56DE\u306E\u307F","menu.animation.loop.hold":"\u6700\u5F8C\u306E\u30D5\u30EC\u30FC\u30E0\u3092\u4FDD\u6301","menu.animation.loop.loop":"\u30EB\u30FC\u30D7","interface.streamer_mode_on":"\u30B9\u30C8\u30EA\u30FC\u30DE\u30FC\u30E2\u30FC\u30C9\u3092\u6709\u52B9\u306B\u3057\u307E\u3057\u305F","generic.reset":"\u30EA\u30BB\u30C3\u30C8","generic.restore":"\u623B\u3059","keys.mousewheel":"\u30DE\u30A6\u30B9\u30DB\u30A4\u30FC\u30EB","message.delete_animation.title":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u524A\u9664","message.delete_animation.message":"Blockbench \u304B\u3089\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u524A\u9664\u3057\u307E\u3057\u305F\u3002\u4FDD\u5B58\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u3082\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F","message.no_animation_to_import":"\u8AAD\u307F\u8FBC\u307F\u53EF\u80FD\u306A\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093","dialog.material_instances.title":"\u30DE\u30C6\u30EA\u30A2\u30EB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9","dialog.animation_import.title":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u9078\u629E","dialog.create_texture.padding":"\u30D1\u30C7\u30A3\u30F3\u30B0","settings.fov":"FOV","settings.fov.desc":"\u30AB\u30E1\u30E9\u306E\u8996\u91CE\u89D2\u3092\u5909\u66F4\u3057\u307E\u3059\u3002","settings.minify_bbmodel":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u6700\u5C0F\u5316","settings.minify_bbmodel.desc":".bbmodel\u30D5\u30A1\u30A4\u30EB\u3092\uFF11\u884C\u3067\u66F8\u304D\u51FA\u3057\u307E\u3059","action.edit_material_instances":"\u30DE\u30C6\u30EA\u30A2\u30EB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u7DE8\u96C6","action.edit_material_instances.desc":"\u7D71\u5408\u7248\u30D6\u30ED\u30C3\u30AF\u30B8\u30AA\u30E1\u30C8\u30EA\u30FC\u3092\u7DE8\u96C6","action.save_all_animations":"\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u4FDD\u5B58","action.save_all_animations.desc":"\u73FE\u5728\u30ED\u30FC\u30C9\u3055\u308C\u3066\u3044\u308B\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u4FDD\u5B58\u3057\u307E\u3059","action.keyframe_interpolation":"\u88DC\u9593","action.keyframe_interpolation.desc":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u88DC\u9593\u30E2\u30FC\u30C9","action.keyframe_interpolation.linear":"\u30EA\u30CB\u30A2","action.keyframe_interpolation.catmullrom":"\u30B9\u30E0\u30FC\u30BA","action.timeline_focus.hide_empty":"\u30D6\u30E9\u30F3\u30AF\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u975E\u8868\u793A\u306B\u3059\u308B","menu.file.preferences":"\u74B0\u5883\u8A2D\u5B9A","menu.animation.blend_weight":"\u30D6\u30EC\u30F3\u30C9","menu.animation.save":"\u30BB\u30FC\u30D6","menu.animation.properties":"\u30D7\u30ED\u30D1\u30C6\u30A3...","menu.animation.file":"\u30D5\u30A1\u30A4\u30EB","menu.animation.snapping":"\u30B9\u30CA\u30C3\u30D7","menu.animation.open_location":"\u30D5\u30A1\u30A4\u30EB\u3092\u53C2\u7167","panel.keyframe.add_data_point":"\u30C7\u30FC\u30BF\u30DD\u30A4\u30F3\u30C8\u306E\u8FFD\u52A0","panel.keyframe.remove_data_point":"\u30C7\u30FC\u30BF\u30DD\u30A4\u30F3\u30C8\u3092\u524A\u9664","panel.keyframe.pre":"Pre","panel.keyframe.post":"Post","generic.all":"All","message.small_face_dimensions.title":"\u4E92\u63DB\u6027\u306E\u306A\u3044\u30D5\u30A7\u30A4\u30B9","message.small_face_dimensions.message":"\u9078\u629E\u7BC4\u56F2\u306B 1 \u3088\u308A\u5C0F\u3055\u3044\u30D5\u30A7\u30A4\u30B9\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30DE\u30C3\u30D4\u30F3\u30B0\u30B7\u30B9\u30C6\u30E0\u306F\u3001\u305D\u306E\u3057\u304D\u3044\u5024\u3092\u4E0B\u56DE\u308B\u30D5\u30A7\u30A4\u30B9\u3092 0 \u30D4\u30AF\u30BB\u30EB\u3068\u898B\u306A\u3057\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30D5\u30A7\u30A4\u30B9\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u306F\u6B63\u3057\u304F\u6A5F\u80FD\u3057\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002","message.small_face_dimensions.face_uv":"\u73FE\u5728\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u3001Per-face UV \u30DE\u30C3\u30D7\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059\u3002\u5F71\u97FF\u3092\u53D7\u3051\u308B\u30AD\u30E5\u30FC\u30D6\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u3057\u3001\u300CUV Mode \u300D\u3092 \u300CPer-face UV \u300D\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002","dialog.plugins.outdated_client":"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306E Blockbench \u304C\u5FC5\u8981\u3067\u3059","dialog.plugins.outdated_plugin":"\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306E Blockbench \u3067\u306F\u52D5\u4F5C\u3057\u307E\u305B\u3093","settings.motion_trails":"\u30E2\u30FC\u30B7\u30E7\u30F3\u30C8\u30EC\u30A4\u30EB","settings.motion_trails.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30A8\u30C7\u30A3\u30BF\u3067\u30E2\u30FC\u30B7\u30E7\u30F3\u30C8\u30EC\u30A4\u30EB\u3092\u8868\u793A\u3057\u307E\u3059","settings.antialiasing":"\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B7\u30F3\u30B0","settings.antialiasing.desc":"\u30D7\u30EC\u30D3\u30E5\u30FC\u3067\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B9\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.timeline_frame_back":"\uFF11\u30D5\u30EC\u30FC\u30E0\u623B\u308B","action.timeline_frame_forth":"\uFF11\u30D5\u30EC\u30FC\u30E0\u9032\u3080","panel.bone.ik":"\u9006\u904B\u52D5\u5B66 (IK)","settings.particle_tick_rate":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB TPS","settings.particle_tick_rate.desc":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30C6\u30A3\u30C3\u30AF\u30EC\u30FC\u30C8\u3092\u5909\u66F4\u3057\u307E\u3059\u3002","action.lock_motion_trail":"\u30E2\u30FC\u30B7\u30E7\u30F3\u30C8\u30EC\u30A4\u30EB\u3092\u56FA\u5B9A","action.lock_motion_trail.desc":"\u73FE\u5728\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u30B0\u30EB\u30FC\u30D7\u306B\u30E2\u30FC\u30B7\u30E7\u30F3\u30C8\u30EC\u30A4\u30EB\u3092\u56FA\u5B9A\u3057\u307E\u3059","menu.animation_file.unload":"\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30F3\u30ED\u30FC\u30C9","data.null_object":"Null \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8","status_bar.toggle_sidebar":"\u30B5\u30A4\u30C9\u30D0\u30FC\u306E\u5207\u308A\u66FF\u3048","message.load_plugin_failed.title":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F :(","message.load_plugin_failed.message":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30D9\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u3001Plugin.register() \u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D7\u30E9\u200B\u200B\u30B0\u30A4\u30F3ID `\uFF050` \u3068\u4E00\u81F4\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002","dialog.project.uv_mode":"UV \u30E2\u30FC\u30C9","dialog.project.uv_mode.box_uv":"\u30DC\u30C3\u30AF\u30B9 UV","dialog.project.uv_mode.face_uv":"UV","dialog.project.texture_size":"\u30C6\u30AF\u30B9\u30C1\u30E3","dialog.animation_export.title":"\u66F8\u304D\u51FA\u3059\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u9078\u629E","dialog.create_texture.rearrange_uv":"\u30A2\u30EC\u30F3\u30B8 UV","layout.color.subtle_text":"\u30B5\u30D6\u30C6\u30AD\u30B9\u30C8","layout.color.subtle_text.desc":"\u30B5\u30D6\u30C6\u30AD\u30B9\u30C8\u306E\u8272\u3092\u5909\u66F4\u3057\u307E\u3059","settings.interface_scale":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u30B9\u30B1\u30FC\u30EB","settings.interface_scale.desc":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u5168\u4F53\u306E\u5927\u304D\u3055\u3092\u8ABF\u6574\u3057\u307E\u3059","settings.background_rendering":"\u80CC\u666F\u3092\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0","settings.background_rendering.desc":"\u30A6\u30A3\u30F3\u30C9\u30A6\u304C\u30D5\u30A9\u30FC\u30AB\u30B9\u3055\u308C\u3066\u3044\u306A\u3044\u3068\u304D\u306B\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u66F4\u65B0\u3057\u307E\u3059","settings.ctrl_shift_size":"\u30C0\u30D6\u30EB\u30B9\u30C6\u30C3\u30D7","settings.ctrl_shift_size.desc":"Control + Shift \u306E\u30B0\u30EA\u30C3\u30C9\u9593\u9694\u3092\u5909\u66F4\u3057\u307E\u3059","settings.hardware_acceleration":"\u30A2\u30D7\u30EA\u3092\u6700\u9069\u5316","settings.hardware_acceleration.desc":"\u30B0\u30E9\u30D5\u30A3\u30C3\u30AF\u30AB\u30FC\u30C9\u3092\u4F7F\u7528\u3057\u3001\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u9AD8\u901F\u5316\u3057\u307E\u3059","action.explode_skin_model":"\u30E2\u30C7\u30EB\u3092\u5206\u96E2","action.explode_skin_model.desc":"\u30B9\u30AD\u30F3\u3092\u30D0\u30FC\u30C4\u3054\u3068\u306B\u5206\u89E3\u3057\u307E\u3059","action.export_minecraft_skin":"Minecraft Skin","action.export_minecraft_skin.desc":"Minecraft Skin \u3092 PNG \u30C6\u30AF\u30B9\u30C1\u30E3\u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.add_null_object":"Null Object \u3092\u8FFD\u52A0","action.add_null_object.desc":"\u65B0\u3057\u304F Null Object \u3092\u8FFD\u52A0\u3059\u308B","action.animated_texture_frame":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u30D5\u30EC\u30FC\u30E0","action.animated_texture_frame.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30D5\u30EC\u30FC\u30E0\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.export_animation_file":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u66F8\u304D\u51FA\u3057...","action.export_animation_file.desc":"\u9078\u629E\u3057\u305F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u65B0\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304D\u51FA\u3057\u307E\u3059","action.timeline_graph_editor":"\u30C8\u30B0\u30EB\u30B0\u30E9\u30D5\u30A8\u30C7\u30A3\u30BF","action.timeline_graph_editor.desc":"\u30B0\u30E9\u30D5\u30A8\u30C7\u30A3\u30BF\u30D3\u30E5\u30FC\u3068\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u30D3\u30E5\u30FC\u306E\u9593\u3067\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","menu.file.recent.clear":"\u30AF\u30EA\u30A2","switches.shade":"\u30B7\u30A7\u30FC\u30C9","generic.share":"\u30B7\u30A7\u30A2","dates.minute":"%0 \u5206","dates.minutes":"%0 \u5206","dates.hour":"%0 \u6642","dates.hours":"%0 \u6642","dates.day":"%0 \u65E5","dates.days":"%0 \u65E5","dates.week":"%0 \u9031","dates.weeks":"%0 \u9031","dates.year":"%0 \u5E74","dates.years":"%0 \u5E74","message.installed_plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3 %0 \u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u307E\u3057\u305F","message.installed_plugin_fail":"\u30D7\u30E9\u30B0\u30A4\u30F3 %0 \u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F :(","dialog.share_model.title":"\u30E2\u30C7\u30EB\u3092\u30B7\u30A7\u30A2","dialog.share_model.expire_time":"\u6709\u52B9\u671F\u9650","dialog.share_model.failed":"\u30E2\u30C7\u30EB\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F :(","action.import_java_block_model":"Java Block/Item Model \u3092\u8FFD\u52A0","action.import_java_block_model.desc":"Minecraft Java block/item model \u3092 json \u30D5\u30A1\u30A4\u30EB\u304B\u3089\u73FE\u5728\u306E\u30E2\u30C7\u30EB\u306B\u8FFD\u52A0\u3057\u307E\u3059","action.share_model":"\u30B7\u30A7\u30A2...","action.share_model.desc":"\u30E2\u30C7\u30EB\u3092\u5171\u6709\u3059\u308B\u305F\u3081\u306E\u30EA\u30F3\u30AF\u3092\u751F\u6210\u3057\u307E\u3059","action.import_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u8AAD\u307F\u8FBC\u307F","action.import_project.desc":"\u5225\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092 .bbmodel \u30D5\u30A1\u30A4\u30EB\u304B\u3089\u73FE\u5728\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8AAD\u307F\u8FBC\u307F\u307E\u3059","dialog.toolbar_edit.hidden_tools":"\u4E00\u90E8\u306E\u30C4\u30FC\u30EB\u306F\u3001\u73FE\u5728\u306E\u30E2\u30FC\u30C9\u3067\u4F7F\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u975E\u8868\u793A\u306B\u306A\u308A\u307E\u3059\u3002","settings.camera_near_plane":"\u30AB\u30E1\u30E9","settings.camera_near_plane.desc":"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3055\u308C\u308B\u6700\u5C0F\u8DDD\u96E2\u3002\u5024\u3092\u5927\u304D\u304F\u3059\u308B\u3068\u3001\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u3061\u3089\u3064\u304D\u304C\u6E1B\u5C11\u3057\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F 1 \u3067\u3059\u3002","mode.start.keymap_preference.desc":"\u521D\u3081\u3066 Blockbench \u3092\u4F7F\u3046\u65B9\u3084\u3001\u4ED6\u306E 3D \u30D7\u30ED\u30B0\u30E9\u30E0\u304B\u3089\u6765\u305F\u65B9\u306F\u3001\u30AD\u30FC\u30DE\u30C3\u30D7\u3092\u9078\u629E\u3059\u308B\u3053\u3068\u3092\u304A\u3059\u3059\u3081\u3057\u307E\u3059\u3002\u30AD\u30FC\u30DE\u30C3\u30D7\u306F\u8A2D\u5B9A\u304B\u3089\u5909\u66F4\u3067\u304D\u307E\u3059\u3002","message.load_keymap":"\u30AD\u30FC\u30DE\u30C3\u30D7\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u304B\uFF1F \u73FE\u5728\u306E\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u304C\u7F6E\u304D\u63DB\u3048\u3089\u308C\u307E\u3059\u3002","message.keymap_loaded":"\u30AD\u30FC\u30DE\u30C3\u30D7\u306E\u30ED\u30FC\u30C9","dialog.convert_project.current_format":"\u73FE\u5728\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","dialog.create_texture.rearrange_uv.desc":"\u65B0\u3057\u3044 UV \u30A2\u30EC\u30F3\u30B8\u30E1\u30F3\u30C8\u3092\u4F5C\u6210\u3057\u3066\u3001\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u306B\u72EC\u81EA\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u4E0E\u3048\u307E\u3059","dialog.create_texture.power.desc":"\u30AA\u30FC\u30C8\u30C6\u30AF\u30B9\u30C1\u30E3\u30B5\u30A4\u30BA\u3092\u6B63\u65B9\u5F62\u306B\u56FA\u5B9A\u3057\u307E\u3059\u3002","dialog.create_texture.double_use.desc":"\uFF12\u3064\u306E\u8981\u7D20\u306B\u540C\u3058 UV \u30B9\u30DA\u30FC\u30B9\u304C\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u65B0\u3057\u3044\u30DE\u30C3\u30D7\u3067\u3082\u7DAD\u6301\u3057\u307E\u3059","dialog.create_texture.padding.desc":"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u9593\u306B\u30D1\u30C7\u30A3\u30F3\u30B0\u3092\u8FFD\u52A0\u3057\u307E\u3059","dialog.create_texture.resolution.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30DE\u30C3\u30D7\u306E\u5B9F\u969B\u306E\u30B5\u30A4\u30BA\u306F\u3001\u8981\u7D20\u306E\u91CF\u3068\u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u7570\u306A\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059","dialog.create_gif.color":"\u80CC\u666F\u306E\u8272","dialog.save_angle.zoom":"\u30BA\u30FC\u30E0","dialog.skin.variant":"\u30D0\u30EA\u30A8\u30FC\u30B7\u30E7\u30F3","dialog.flip_animation.info":"\u5BFE\u306B\u306A\u308B\u30DC\u30FC\u30F3\u306F\u3001\u540D\u524D\u306B 'left' \u3068 'right' \u3068\u3044\u3046\u30AD\u30FC\u30EF\u30FC\u30C9\u304C\u5165\u3063\u3066\u3044\u307E\u3059\u3002","dialog.export_private_settings.title":"\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8\u8A2D\u5B9A","dialog.export_private_settings.message":"\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u6B21\u306E\u500B\u4EBA\u60C5\u5831\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\uFF1A**%0**\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u8AB0\u304B\u3068\u5171\u6709\u3059\u308B\u5834\u5408\u306F\u5909\u66F4\u3059\u308B\u3053\u3068\u3092\u304A\u3059\u3059\u3081\u3057\u307E\u3059\u3002","dialog.export_private_settings.keep":"\u30AD\u30FC\u30D7","settings.timecode_frame_number":"\u30D5\u30EC\u30FC\u30E0\u30CA\u30F3\u30D0\u30FC","settings.timecode_frame_number.desc":"\u30BF\u30A4\u30E0\u30B3\u30FC\u30C9\u3092\u30D5\u30EC\u30FC\u30E0\u30CA\u30F3\u30D0\u30FC\u3068\u3057\u3066\u8868\u793A\u3057\u307E\u3059","settings.animation_sample_rate":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B5\u30F3\u30D7\u30EB\u30EC\u30FC\u30C8","settings.animation_sample_rate.desc":"\uFF11\u79D2\u3042\u305F\u308A\u306E\u30B5\u30F3\u30D7\u30EB\u6570\u3092\u30B5\u30F3\u30D7\u30EB\u30EC\u30FC\u30C8\u3067\u4FDD\u5B58\u3057\u307E\u3059","keybind.preview_zoom":"\u30BA\u30FC\u30E0\u8868\u793A","action.gradient_tool":"\u30B0\u30E9\u30C7\u30FC\u30B7\u30E7\u30F3","action.gradient_tool.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306B\u30AB\u30E9\u30FC\u30B0\u30E9\u30C7\u30FC\u30B7\u30E7\u30F3\u3092\u4F5C\u6210\u3057\u307E\u3059","action.import_settings":"\u8A2D\u5B9A\u3092\u8AAD\u307F\u8FBC\u307F","action.import_settings.desc":".bbsettings \u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059","action.export_settings":"\u8A2D\u5B9A\u3092\u66F8\u304D\u51FA\u3057","action.export_settings.desc":"\u73FE\u5728\u306E\u8A2D\u5B9A\u3092 .bbsettings \u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.load_keymap":"\u30AD\u30FC\u30DE\u30C3\u30D7\u3092\u30ED\u30FC\u30C9","action.load_keymap.default":"\u30C7\u30D5\u30A9\u30EB\u30C8 (Trackpad/Mouse)","action.load_keymap.mouse":"\u30C7\u30D5\u30A9\u30EB\u30C8 (Mouse)","action.load_keymap.default.desc":"\u30CE\u30FC\u30C8\u30D1\u30BD\u30B3\u30F3\u306E\u30C8\u30E9\u30C3\u30AF\u30D1\u30C3\u30C9\u306B\u6700\u9069\u5316\u3055\u308C\u305F\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9","action.load_keymap.mouse.desc":"Blockbench \u30C7\u30D5\u30A9\u30EB\u30C8\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9","action.load_keymap.blender.desc":"Blender \u30BF\u30A4\u30D7\u306E\u30AD\u30FC\u30DE\u30C3\u30D7","action.load_keymap.cinema4d.desc":"Cinema 4D \u30BF\u30A4\u30D7\u306E\u30AD\u30FC\u30DE\u30C3\u30D7","action.load_keymap.maya.desc":"Autodesk Maya \u30BF\u30A4\u30D7\u306E\u30AD\u30FC\u30DE\u30C3\u30D7","action.import_keymap":"\u30AD\u30FC\u30DE\u30C3\u30D7\u3092\u8AAD\u307F\u8FBC\u307F","action.import_keymap.desc":"\u30AD\u30FC\u30D0\u30A4\u30F3\u30C9\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059 .bbkeymap","action.export_keymap":"\u30AD\u30FC\u30DE\u30C3\u30D7\u3092\u66F8\u304D\u51FA\u3057","action.export_keymap.desc":"\u73FE\u5728\u306E\u30AD\u30FC\u30DE\u30C3\u30D7\u3092 .bbkeymap \u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.edit_history":"\u5C65\u6B74...","action.edit_history.desc":"\u7DE8\u96C6\u5C65\u6B74\u3092\u8868\u793A\u3057\u3001\u624B\u9806\u3092\u5DFB\u304D\u623B\u3057\u307E\u3059","action.group_elements":"\u30B0\u30EB\u30FC\u30D7\u69CB\u6210","action.group_elements.desc":"\u9078\u629E\u3057\u305F\u8981\u7D20\u3092\u65B0\u898F\u30B0\u30EB\u30FC\u30D7\u306B\u307E\u3068\u3081\u308B","action.unfold_groups":"\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B","action.unfold_groups.desc":"\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B\u3057\u307E\u3059","action.edit_bedrock_binding":"\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3092\u7DE8\u96C6...","action.edit_bedrock_binding.desc":"\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u308B\u30DC\u30FC\u30F3\u3092\u5909\u66F4\u3057\u307E\u3059","action.pick_screen_color":"\u30B9\u30DD\u30A4\u30C8","action.pick_screen_color.desc":"\u30B9\u30AF\u30EA\u30FC\u30F3\u304B\u3089\u8272\u3092\u30B9\u30DD\u30A4\u30C8\u3057\u307E\u3059","action.view_mode":"\u8868\u793A\u30E2\u30FC\u30C9","action.view_mode.desc":"\u30E2\u30C7\u30EB\u306E\u8868\u793A\u30E2\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3059","action.view_mode.textured":"\u30C6\u30AF\u30B9\u30C1\u30E3","action.view_mode.solid":"\u30E2\u30C7\u30EB","action.view_mode.wireframe":"\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0","action.toggle_sidebars":"\u30B5\u30A4\u30C9\u30D0\u30FC","action.toggle_sidebars.desc":"\u30B5\u30A4\u30C9\u30D0\u30FC\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","action.set_animation_end":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u9577\u3055\u3092\u8A2D\u5B9A","action.set_animation_end.desc":"\u9078\u629E\u3057\u305F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u7D42\u308F\u308A\u6642\u9593\u3092\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.flip_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u53CD\u8EE2\u3059\u308B","action.flip_animation.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u30B3\u30D4\u30FC\u3057\u3001\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u53CD\u8EE2\u3057\u307E\u3059","action.graph_editor_zero_line":"\u30BC\u30ED\u30E9\u30A4\u30F3","action.graph_editor_zero_line.desc":"\u30D3\u30E5\u30FC\u306B\u30BC\u30ED\u30E9\u30A4\u30F3\u3092\u542B\u3081\u308B\u3088\u3046\u306B\u3057\u307E\u3059","menu.texture.render_mode":"\u30EC\u30F3\u30C0\u30FC\u30E2\u30FC\u30C9","menu.texture.render_mode.emissive":"\u767A\u5149","menu.texture.render_mode.layered":"\u30EC\u30A4\u30E4\u30FC\u30C9","menu.preview.angle.edit":"\u8996\u70B9\u3092\u5909\u66F4...","menu.animation.start_delay":"\u9045\u5EF6\u3092\u8FFD\u52A0","menu.animation.loop_delay":"\u9045\u5EF6","menu.animation.flip_keyframes":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u53CD\u8EE2","menu.mobile_keyboard.disable_all":"\u7121\u52B9","panel.keyframe.toggle_uniform_scale":"\u30E6\u30CB\u30B9\u30B1\u30FC\u30EB","camera_angle.common_isometric_right":"\u659C\u6295\u5F71 \u53F3\uFF08\uFF12\uFF1A\uFF11\uFF09","camera_angle.common_isometric_left":"\u659C\u6295\u5F71 \u5DE6\uFF08\uFF12\uFF1A\uFF11\uFF09","camera_angle.true_isometric_right":"\u7B49\u89D2\u6295\u5F71 \u53F3\uFF08 30\xB0\uFF09","camera_angle.true_isometric_left":"\u7B49\u89D2\u6295\u5F71 \u5DE6\uFF08 30\xB0\uFF09","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"\u30D7\u30EC\u30EA\u30EA\u30FC\u30B9","settings.update_to_prereleases.desc":"\u65B0\u6A5F\u80FD\u3092\u3044\u3061\u65E9\u304F\u4F53\u9A13\u3059\u308B\u305F\u3081\u306B\u3001Blockbench \u306E\u30D7\u30EC\u30EA\u30EA\u30FC\u30B9\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u81EA\u52D5\u7684\u306B\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002\u305F\u3060\u3057\u3001\u30D7\u30EC\u30EA\u30EA\u30FC\u30B9\u30D0\u30FC\u30B8\u30E7\u30F3\u306F\u4E0D\u5B89\u5B9A\u306A\u5834\u5408\u304C\u3042\u308B\u305F\u3081\u3001\u5B9F\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u3042\u308B\u5834\u5408\u306F\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002","data.separator.spacer":"\u30B9\u30DA\u30FC\u30B5\u30FC","data.separator.linebreak":"\u6539\u884C","data.setting":"Setting","generic.select_all":"\u3059\u3079\u3066\u9078\u629E","generic.select_none":"\u30AF\u30EA\u30A2","projects.new_tab":"New Tab","projects.close_tab":"Close Tab","message.invalid_format.title":"\u7121\u52B9\u306A\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","message.invalid_format.message":"\u3053\u306E\u30E2\u30C7\u30EB\u306F '%0' \u306E\u5F62\u5F0F\u3067\u4F5C\u6210\u3055\u308C\u3066\u304A\u308A\u3001\u73FE\u5728\u306E Blockbench \u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u6B63\u3057\u304F\u958B\u304F\u306B\u306F\u7279\u5B9A\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u306B\u306A\u308A\u307E\u3059\u3002","message.invalid_link":"\u7121\u52B9\u306A\u30E2\u30C7\u30EB URL","message.default_textures.current":"\u73FE\u5728\u306E\u30D1\u30B9","message.update_after_restart":"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306F\u6B21\u56DE\u306E\u518D\u8D77\u52D5\u5F8C\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u307E\u3059","message.copy_paste_tool_viewport":"\u3053\u306E\u30C4\u30FC\u30EB\u306F 2D \u30A8\u30C7\u30A3\u30BF\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059","dialog.project.shadow_size":"\u5F71\u306E\u30B5\u30A4\u30BA","dialog.find_replace.target":"\u30BF\u30FC\u30B2\u30C3\u30C8","dialog.find_replace.target.element_names":"\u540D\u524D","dialog.find_replace.target.group_names":"\u30B0\u30EB\u30FC\u30D7\u30CD\u30FC\u30E0","dialog.find_replace.target.animation_names":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30CD\u30FC\u30E0","dialog.find_replace.target.keyframe_values":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","dialog.find_replace.find":"\u30B5\u30FC\u30C1","dialog.find_replace.replace":"\u7F6E\u304D\u63DB\u3048\u308B","dialog.find_replace.regex":"\u30EC\u30AE\u30E5\u30E9\u30FC","dialog.add_primitive.shape":"\u5F62\u72B6","dialog.add_primitive.shape.circle":"\u30B5\u30FC\u30AF\u30EB","dialog.add_primitive.shape.tube":"\u30C1\u30E5\u30FC\u30D6","dialog.add_primitive.shape.cone":"\u30B3\u30FC\u30F3","dialog.add_primitive.shape.cylinder":"\u30B7\u30EA\u30F3\u30C0\u30FC","dialog.add_primitive.shape.sphere":"\u30B9\u30D5\u30A3\u30A2","dialog.add_primitive.shape.torus":"\u30C8\u30FC\u30E9\u30B9","dialog.add_primitive.shape.cube":"\u30AD\u30E5\u30FC\u30DC\u30A4\u30C9","dialog.add_primitive.shape.pyramid":"\u30D4\u30E9\u30DF\u30C3\u30C9","dialog.add_primitive.diameter":"\u76F4\u5F84","dialog.add_primitive.height":"\u9AD8\u3055","dialog.add_primitive.sides":"\u591A\u89D2\u5F62","dialog.add_primitive.minor_diameter":"\u5E45","dialog.add_primitive.minor_sides":"\u6ED1\u3089\u304B\u3055","dialog.create_texture.combine_polys":"\u30B3\u30F3\u30D0\u30A4\u30F3","dialog.create_texture.combine_polys.desc":"\u63A5\u7D9A\u3055\u308C\u305F\u30D5\u30A7\u30A4\u30B9\u3092\uFF11\u3064\u306E UV \u306B\u7D50\u5408\u3057\u307E\u3059","dialog.model_stats.meshes":"\u30E1\u30C3\u30B7\u30E5","dialog.export_private_settings.omit":"\u9664\u5916\u3059\u308B","layout.select":"\u30EC\u30A4\u30A2\u30A6\u30C8","layout.options":"\u30AA\u30D7\u30B7\u30E7\u30F3","layout.color":"UI \u30AB\u30E9\u30FC","layout.documentation":"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","layout.color.bright_ui_text":"\u30D6\u30E9\u30A4\u30C8 UI","layout.color.bright_ui_text.desc":"\u30D6\u30E9\u30A4\u30C9\u30C6\u30AD\u30B9\u30C8","layout.name":"\u540D\u524D","layout.author":"\u30AA\u30FC\u30B5\u30FC","settings.dialog.desc":'"%0" \u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u8868\u793A\u3059\u308B',"settings.export_empty_groups":"\u30D6\u30E9\u30F3\u30AF\u30B0\u30EB\u30FC\u30D7\u3092\u66F8\u304D\u51FA\u3057","settings.export_empty_groups.desc":"\u66F8\u304D\u51FA\u3057\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u306B\u7A7A\u767D\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u4FDD\u5B58\u3057\u307E\u3059","category.separators":"\u30BB\u30D1\u30EC\u30FC\u30BF\u30FC","keybind.preview_area_select":"\u30A8\u30EA\u30A2\u30BB\u30EC\u30AF\u30C8","action.color_erase_mode":"\u6D88\u53BB\u30E2\u30FC\u30C9","action.color_erase_mode.desc":"\u6D88\u53BB\u30E2\u30FC\u30C9\u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u5857\u308A\u3064\u3076\u3057\u3084\u9577\u65B9\u5F62\u306A\u3069\u306E\u30C4\u30FC\u30EB\u306F\u3001\u8272\u3092\u6E1B\u7B97\u3057\u307E\u3059","action.open_from_link":"\u30EA\u30F3\u30AF\u304B\u3089\u958B\u304F...","action.open_from_link.desc":"blckbn.ch \u304B\u3089\u30E2\u30C7\u30EB\u3092\u958B\u304D\u307E\u3059","action.import_obj":"OBJ Model","action.import_obj.desc":"OBJ \u30E2\u30C7\u30EB\u3092\u30E1\u30C3\u30B7\u30E5\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u8AAD\u307F\u8FBC\u307F\u307E\u3059","action.add_plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","action.add_plugin.desc":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059","action.remove_plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","action.remove_plugin.desc":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059","action.add_mesh":"\u30E1\u30C3\u30B7\u30E5\u3092\u8FFD\u52A0","action.add_mesh.desc":"\u65B0\u3057\u3044\u30E1\u30C3\u30B7\u30E5\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.add_texture_mesh":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30E1\u30C3\u30B7\u30E5\u3092\u8FFD\u52A0","action.add_texture_mesh.desc":"\u65B0\u3057\u3044\u30C6\u30AF\u30B9\u30C1\u30E3\u30E1\u30C3\u30B7\u30E5\u3092\u8FFD\u52A0\u3057\u307E\u3059","action.find_replace":"\u691C\u7D22/\u7F6E\u63DB...","action.find_replace.desc":"\u540D\u524D\u306E\u4E00\u90E8\u3092\u898B\u3064\u3051\u3066\u7F6E\u304D\u63DB\u3048\u307E\u3059","action.hide_everything_except_selection":"\u975E\u9078\u629E\u7BC4\u56F2\u3092\u975E\u8868\u793A","action.hide_everything_except_selection.desc":"\u9078\u629E\u3057\u305F\u8981\u7D20\u3092\u9664\u304F\u3059\u3079\u3066\u306E\u8981\u7D20\u306E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.transform_space.normal":"\u30CE\u30FC\u30DE\u30EB","action.selection_mode":"\u9078\u629E\u30E2\u30FC\u30C9","action.selection_mode.desc":"\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u3067\u8981\u7D20\u3092\u9078\u629E\u3059\u308B\u65B9\u6CD5\u3092\u5909\u66F4\u3059\u308B","action.selection_mode.object":"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8","action.selection_mode.face":"\u30D5\u30A7\u30A4\u30B9","action.selection_mode.vertex":"\u30D0\u30FC\u30C6\u30C3\u30AF\u30B9","action.create_face":"\u30D5\u30A7\u30A4\u30B9\u307E\u305F\u306F\u30A8\u30C3\u30B8\u3092\u4F5C\u6210\u3059\u308B","action.create_face.desc":"\u9078\u629E\u3057\u305F\u9802\u70B9\u306B\u30D5\u30A7\u30A4\u30B9\u307E\u305F\u306F\u30A8\u30C3\u30B8\u3092\u4F5C\u6210\u3057\u307E\u3059","action.convert_to_mesh":"\u30E1\u30C3\u30B7\u30E5\u306B\u5909\u63DB","action.convert_to_mesh.desc":"\u9078\u629E\u3057\u305F\u8981\u7D20\u3092\u30E1\u30C3\u30B7\u30E5\u306B\u5909\u63DB\u3057\u307E\u3059","action.invert_face":"\u30D5\u30A7\u30A4\u30B9\u3092\u53CD\u8EE2","action.invert_face.desc":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3092\u53CD\u8EE2\u3057\u307E\u3059","action.extrude_mesh_selection":"\u30A8\u30AF\u30B9\u30C8","action.extrude_mesh_selection.desc":"\u30E1\u30C3\u30B7\u30E5\u306E\u9078\u629E\u3057\u305F\u90E8\u5206\u3092\u62BC\u3057\u51FA\u3057\u307E\u3059","action.loop_cut":"\u30EB\u30FC\u30D7\u30AB\u30C3\u30C8","action.loop_cut.desc":"\u9078\u629E\u3057\u305F\u30E9\u30A4\u30F3\u5168\u4F53\u3092\u30EB\u30FC\u30D7\u72B6\u306B\u5206\u5272\u3057\u307E\u3059","action.merge_meshes":"\u30DE\u30FC\u30B8\u30E1\u30C3\u30B7\u30E5","action.merge_meshes.desc":"\u8907\u6570\u306E\u30E1\u30C3\u30B7\u30E5\u3092\uFF11\u3064\u306B\u30DE\u30FC\u30B8\u3057\u307E\u3059","action.keyframe_uniform":"\u30E6\u30CB\u30B9\u30B1\u30FC\u30EB","action.keyframe_uniform.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3067\u5747\u4E00\u306A\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","menu.locator.ignore_inherited_scale":"\u30B9\u30B1\u30FC\u30EB\u3092\u7121\u8996\u3059\u308B","menu.texture.elements":"\u30A8\u30EC\u30E1\u30F3\u30C8\u306B\u9069\u7528","uv_editor.transparent_face":"\u900F\u660E\u306A\u30D5\u30A7\u30A4\u30B9","display.pose_angle":"Pose Angle (Preview)","data.mesh":"\u30E1\u30C3\u30B7\u30E5","dialog.create_texture.type":"\u30BF\u30A4\u30D7","dialog.create_texture.type.blank":"\u30D6\u30E9\u30F3\u30AF","dialog.create_texture.type.template":"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8","dialog.create_texture.type.color_map":"\u5358\u8272\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8","dialog.sketchfab_uploader.suggested_tags":"\u30BF\u30B0","dialog.sketchfab_uploader.category":"\u30AB\u30C6\u30B4\u30EA\u30FC","dialog.sketchfab_uploader.category2":"\u30AB\u30C6\u30B4\u30EA\u30FC 2","layout.restore_backup":'\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u305F\u30C6\u30FC\u30DE "%0" \u304C\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u3053\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002',"layout.borders":"\u30DC\u30FC\u30C0\u30FC\u30BA","action.fill_mode.element":"\u30A8\u30EC\u30E1\u30F3\u30C8","action.inset_mesh_selection":"\u30A4\u30F3\u30BB\u30C3\u30C8","action.inset_mesh_selection.desc":"\u30E1\u30C3\u30B7\u30E5\u306E\u9078\u629E\u3057\u305F\u90E8\u5206\u3092\u306F\u3081\u8FBC\u307F\u307E\u3059","action.dissolve_edges":"\u30C7\u30A3\u30BE\u30EB\u30D6\u30A8\u30C3\u30B8","action.dissolve_edges.desc":"\u9078\u629E\u3057\u305F\u30A8\u30C3\u30B8\u3092\u30E1\u30C3\u30B7\u30E5\u306B\u9069\u5408\u3057\u3001\u5206\u5272\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3092\u30DE\u30FC\u30B8\u3057\u307E\u3059","action.split_mesh":"\u30B9\u30D7\u30EA\u30C3\u30C8\u30E1\u30C3\u30B7\u30E5","action.split_mesh.desc":"\u30E1\u30C3\u30B7\u30E5\u306E\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3092\u65B0\u3057\u3044\u30E1\u30C3\u30B7\u30E5\u306B\u5206\u5272\u3057\u307E\u3059","action.merge_vertices":"\u30DE\u30FC\u30B8\u30D0\u30FC\u30C6\u30AF\u30B9","action.merge_vertices.desc":"\u6700\u521D\u306B\u9078\u629E\u3057\u305F\u9802\u70B9\u306E\u4F4D\u7F6E\u306B\u30DE\u30FC\u30B8\u3057\u307E\u3059","action.view_mode.normal":"\u30D5\u30A7\u30A4\u30B9\u306E\u5411\u304D","action.snap_uv_to_pixels":"UV \u30D4\u30AF\u30BB\u30EB","action.snap_uv_to_pixels.desc":"\u9078\u629E\u3057\u305F UV \u9802\u70B9\u3092\u30D4\u30AF\u30BB\u30EB\u30B0\u30EA\u30C3\u30C9\u306B\u30B9\u30CA\u30C3\u30D7\u3057\u307E\u3059","menu.file.import.import_open_project":"\u30AA\u30FC\u30D7\u30F3\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u8AAD\u307F\u8FBC\u307F","menu.help.unlock_projects":"\u3059\u3079\u3066\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u89E3\u9664","status_bar.selection.faces":"%0 \u30D5\u30A7\u30A4\u30B9","status_bar.selection.vertices":"%0 \u30D0\u30FC\u30C6\u30AF\u30B9","message.merged_vertices":"%1 \u3067 %0 \u306E\u9802\u70B9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F","settings.vertex_merge_distance":"\u30D0\u30FC\u30C6\u30AF\u30B9","settings.vertex_merge_distance.desc":"\u9802\u70B9\u304C\u30DE\u30FC\u30B8\u3055\u308C\u308B\u8DDD\u96E2\u3092\u5909\u66F4\u3057\u307E\u3059","settings.show_only_selected_uv":"\u30BB\u30EC\u30AF\u30C8 UV","settings.show_only_selected_uv.desc":"\u9078\u629E\u3057\u305F UV \u30D5\u30A7\u30A4\u30B9\u306E\u307F\u3092 UV \u30A8\u30C7\u30A3\u30BF\u306B\u8868\u793A\u3057\u307E\u3059","action.merge_vertices.merge_all":"\u3059\u3079\u3066\u30DE\u30FC\u30B8","action.merge_vertices.merge_all_in_center":"\u4E2D\u592E\u306B\u3059\u3079\u3066\u30DE\u30FC\u30B8","action.merge_vertices.merge_by_distance":"\u8DDD\u96E2\u30DE\u30FC\u30B8","action.merge_vertices.merge_by_distance_in_center":"\u4E2D\u592E\u306B\u8DDD\u96E2\u30DE\u30FC\u30B8","action.uv_rotate_left":"UV \u3092\u5DE6\u56DE\u8EE2","action.uv_rotate_left.desc":"\u9078\u629E\u3057\u305F UV \u30D5\u30A7\u30A4\u30B9\u3092\u53CD\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2\u3057\u307E\u3059","action.uv_rotate_right":"UV \u3092\u53F3\u56DE\u8EE2","action.uv_rotate_right.desc":"\u9078\u629E\u3057\u305F UV \u30D5\u30A7\u30A4\u30B9\u3092\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2\u3057\u307E\u3059","menu.uv.display_uv":"UV \u3092\u8868\u793A","menu.uv.display_uv.selected_faces":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9","menu.uv.display_uv.selected_elements":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9","menu.uv.display_uv.all_elements":"All Faces on All Elements","menu.paste.face":"UV \u30D5\u30A7\u30A4\u30B9","menu.paste.mesh_selection":"\u30E1\u30C3\u30B7\u30E5\u306E\u9078\u629E","menu.paste.outliner":"\u30A8\u30EC\u30E1\u30F3\u30C8","uv_editor.show_all_faces":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u3092\u8868\u793A","uv_editor.show_selected_faces":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3092\u8868\u793A","status_bar.selection.edges":"%0 \u500B\u306E\u30A8\u30C3\u30B8","action.selection_mode.edge":"\u30A8\u30C3\u30B8","message.cannot_re_import.title":"\u30E2\u30C7\u30EB\u3092\u518D\u8AAD\u307F\u8FBC\u307F\u51FA\u6765\u307E\u305B\u3093\u3067\u3057\u305F :(","message.cannot_re_import.message":"\u66F8\u304D\u51FA\u3055\u308C\u305F\u30E2\u30C7\u30EB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092 Blockbench \u306B\u518D\u5EA6\u8AAD\u307F\u8FBC\u3080\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30E2\u30C7\u30EB\u306F\u5FC5\u305A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\u3002","generic.default":"\u30C7\u30D5\u30A9\u30EB\u30C8","units.pixels_per_meter":"%0 \u30D4\u30AF\u30BB\u30EB/\u30E1\u30FC\u30C8\u30EB","mode.pose":"Pose","modifier_actions.resize_both_sides":"\u4E21\u30B5\u30A4\u30C9\u306B\u30B5\u30A4\u30BA\u5909\u66F4","modifier_actions.resize_one_side":"\u4E00\u65B9\u5411\u306B\u30B5\u30A4\u30BA\u5909\u66F4","modifier_actions.draw_line":"\u30E9\u30A4\u30F3","modifier_actions.drag_without_snapping":"\u30B9\u30CA\u30C3\u30D7\u305B\u305A\u306B\u30C9\u30E9\u30C3\u30B0","modifier_actions.stretch_keyframes":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u4F38\u3070\u3059","modifier_actions.resize_background":"\u80CC\u666F\u306E\u30B5\u30A4\u30BA\u3092\u5909\u66F4\u3059\u308B","modifier_actions.select_multiple":"\u30DE\u30EB\u30C1\u9078\u629E","modifier_actions.select_range":"\u7BC4\u56F2\u9078\u629E","modifier_actions.drag_to_duplicate":"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u8907\u88FD","modifier_actions.uniform_scaling":"\u30E6\u30CB\u30B9\u30B1\u30FC\u30EB","modifier_actions.snap_direction":"\u30B9\u30CA\u30C3\u30D7\u65B9\u5411","message.no_valid_elements":"\u6709\u52B9\u306A\u8981\u7D20\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093...","dialog.add_primitive.shape.plane":"\u30D7\u30EC\u30FC\u30F3","dialog.save_angle.rotation_mode":"\u56DE\u8EE2\u30E2\u30FC\u30C9","dialog.save_angle.rotation":"\u56DE\u8EE2","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"\u30BF\u30D6\u306E\u81EA\u52D5\u975E\u8868\u793A","settings.hide_tab_bar.desc":"\u30BF\u30D6\u304C\uFF11\u3064\u3060\u3051\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u30BF\u30D6\u30D0\u30FC\u3092\u975E\u8868\u793A\u306B\u3057\u307E\u3059","settings.status_bar_modifier_keys":"\u4FEE\u98FE\u30AD\u30FC\u306E\u63D0\u6848","settings.status_bar_modifier_keys.desc":"\u72B6\u6CC1\u306B\u5FDC\u3058\u305F\u4FEE\u98FE\u30AD\u30FC\u3092\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u306B\u8868\u793A\u3057\u307E\u3059","settings.ground_plane":"\u30B0\u30E9\u30F3\u30C9","settings.ground_plane.desc":"\u30E2\u30C7\u30EB\u306E\u4E0B\u306B\u30B0\u30E9\u30F3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.preview_paste_behavior":"\u30C7\u30D5\u30A9\u30EB\u30C8\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8","settings.preview_paste_behavior.desc":"\u7DE8\u96C6\u30E2\u30FC\u30C9\u3067\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u306B\u30DA\u30FC\u30B9\u30C8\u3059\u308B\u969B\u306E\u52D5\u4F5C\u3092\u9078\u629E\u3057\u3001\u8907\u6570\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u5229\u7528\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059","settings.preview_paste_behavior.always_ask":"\u5E38\u306B\u5C0B\u306D\u308B","action.new_window":"\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6","action.new_window.desc":"\u65B0\u3057\u3044 Blockbench \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u304D\u307E\u3059","action.export_collada":"Collada Model (dae)","action.export_collada.desc":"\u30E2\u30C7\u30EB\u3068\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092 dae \u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.paint_mode_uv_overlay":"UV \u30AA\u30FC\u30D0\u30FC\u30EC\u30A4","action.paint_mode_uv_overlay.desc":"\u30DA\u30A4\u30F3\u30C8\u30E2\u30FC\u30C9\u3067 UV \u30DE\u30C3\u30D7\u3092\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4\u3068\u3057\u3066\u8868\u793A\u3057\u307E\u3059","action.bake_animation_into_model":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30E2\u30C7\u30EB\u306B\u713C\u304D\u4ED8\u3051\u308B","action.bake_animation_into_model.desc":"\u73FE\u5728\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D5\u30EC\u30FC\u30E0\u3092\u30E2\u30C7\u30EB\u306B\u30D9\u30A4\u30AF\u51E6\u7406\u3057\u307E\u3059\u3002\u56DE\u8EE2\u3068\u4F4D\u7F6E\u306E\u307F\u3092\u9069\u7528\u3057\u3001\u30B9\u30B1\u30FC\u30EB\u306F\u7121\u8996\u3055\u308C\u307E\u3059\u3002","action.keyframe_interpolation.step":"\u30B9\u30C6\u30C3\u30D7","action.set_ik_target":"IK \u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8A2D\u5B9A\u3059\u308B","action.set_ik_target.desc":"\u9006\u904B\u52D5\u5B66\u3092\u4ECB\u3057\u3066\u3053\u306E\u30CC\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306B\u3088\u3063\u3066\u79FB\u52D5\u3055\u308C\u308B\u30BF\u30FC\u30B2\u30C3\u30C8\u30DC\u30FC\u30F3\u3092\u9078\u629E\u3057\u307E\u3059","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"Camera","menu.action_control.recent_in_streamer_mode":"\u30B9\u30C8\u30EA\u30FC\u30DE\u30FC \u30E2\u30FC\u30C9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059","menu.action_control.recent_in_streamer_mode.desc":"\u6700\u8FD1\u958B\u3044\u305F\u30E2\u30C7\u30EB\u3092\u8868\u793A\u3057\u307E\u3059\u304B\uFF1F","menu.tools":"Tools","menu.file.recent.more":"More...","menu.null_object.lock_ik_target_rotation":"IK \u30BF\u30FC\u30B2\u30C3\u30C8\u56DE\u8EE2\u3092\u30ED\u30C3\u30AF\u3059\u308B","menu.animation_file.import_remaining":"\u6B8B\u308A\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u307F","edit.loop_cut.offset":"\u30AA\u30D5\u30BB\u30C3\u30C8","edit.extrude_mesh_selection.extend":"\u62E1\u5F35","cube.color.pink":"\u30D4\u30F3\u30AF","cube.color.silver":"\u30B7\u30EB\u30D0\u30FC","dialog.plugins.offline":"\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u306B\u63A5\u7D9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093","dialog.create_texture.pixel_density":"\u30D4\u30AF\u30BB\u30EB","dialog.create_texture.pixel_density.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30D4\u30AF\u30BB\u30EB\u30B5\u30A4\u30BA\u3002\u30C6\u30AF\u30B9\u30C1\u30E3\u30DE\u30C3\u30D7\u306F\u3001\u30A8\u30EC\u30E1\u30F3\u30C8\u306E\u91CF\u3068\u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u7570\u306A\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002","panel.skin_pose":"Pose","panel.skin_pose.none":"\u30CE\u30FC\u30DE\u30EB","panel.skin_pose.natural":"\u30C7\u30D5\u30A9\u30EB\u30C8","panel.skin_pose.walking":"\u6B69\u304F","panel.skin_pose.crouching":"\u3057\u3083\u304C\u3080","panel.skin_pose.sitting":"\u5EA7\u308B","panel.skin_pose.jumping":"\u30B8\u30E3\u30F3\u30D7","panel.skin_pose.aiming":"\u5F13\u3092\u69CB\u3048\u308B","edit.loop_cut.direction":"\u5411\u304D","data.texture_mesh":"\u30E1\u30C3\u30B7\u30E5\u30C6\u30AF\u30B9\u30C1\u30E3","generic.left":"Left","generic.right":"Right","mode.start.quick_setup":"\u30AF\u30A4\u30C3\u30AF\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7","mode.start.keymap":"\u30AD\u30FC\u30DE\u30C3\u30D7","mode.start.quick_setup.more_themes":"More...","dialog.resize_texture.animation_frames":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D5\u30EC\u30FC\u30E0","dialog.export_emission_map.title":"\u30A8\u30DF\u30C3\u30B7\u30E7\u30F3\u30DE\u30C3\u30D7\u3092\u66F8\u304D\u51FA\u3057","dialog.export_emission_map.format":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","dialog.export_emission_map.format.luminance":"\u8F1D\u5EA6","dialog.export_emission_map.format.luminance_inverted":"\u8F1D\u5EA6\u3092\u53CD\u8EE2","dialog.export_emission_map.format.colors":"\u30AB\u30E9\u30FC","dialog.export_emission_map.threshold":"\u900F\u660E\u5EA6","dialog.export_emission_map.round_up":"%0 x %1 \u306B\u5207\u308A\u4E0A\u3052","dialog.export_emission_map.flip_y":"Y \u8EF8\u3092\u53CD\u8EE2","dialog.select.type":"\u30A8\u30EC\u30E1\u30F3\u30C8\u30BF\u30A4\u30D7","dialog.create_texture.max_edge_angle":"\u30A8\u30C3\u30B8\u89D2\u5EA6","dialog.create_texture.max_edge_angle.desc":"\uFF12\u3064\u306E\u9762\u306E\u9593\u306E\u6700\u5927\u89D2\u5EA6","dialog.create_texture.max_island_angle":"\u30A2\u30A4\u30E9\u30F3\u30C9\u30A2\u30F3\u30B0\u30EB\u306E\u3057\u304D\u3044\u5024","dialog.create_texture.max_island_angle.desc":"\u540C\u3058 UV \u306B\u7D50\u5408\u3067\u304D\u308B\u6700\u5927\u89D2\u5EA6","settings.mobile_panel_side":"\u30E2\u30D0\u30A4\u30EB\u30D1\u30CD\u30EB","settings.mobile_panel_side.desc":"Blockbench \u3092\u6A2A\u5411\u304D\u3067\u4F7F\u7528\u3059\u308B\u3068\u304D\u306B\u3001\u753B\u9762\u30D1\u30CD\u30EB\u306E\u3069\u3061\u3089\u5074\u306B\u8868\u793A\u3059\u308B\u304B\u3092\u9078\u629E\u3057\u307E\u3059","settings.obj_face_export_mode":"OBJ \u66F8\u304D\u51FA\u3057\u30E2\u30FC\u30C9","settings.obj_face_export_mode.desc":"OBJ \u30A8\u30AF\u30B9\u30DD\u30FC\u30BF\u30FC\u306E\u5909\u63DB\u5F62\u5F0F\u3092\u5909\u66F4\u3057\u307E\u3059","settings.obj_face_export_mode.both":"\u30C7\u30D5\u30A9\u30EB\u30C8","settings.obj_face_export_mode.tris":"\u30C8\u30EA\u30B9\u306B\u5909\u63DB","settings.obj_face_export_mode.quads":"\u30AF\u30EF\u30C3\u30C9\u306B\u5909\u63DB","action.seam_tool":"\u30B7\u30FC\u30E0\u30C4\u30FC\u30EB","action.seam_tool.desc":"\u30E1\u30C3\u30B7\u30E5\u30A8\u30C3\u30B8\u306E UV \u30B7\u30FC\u30E0\u3092\u5B9A\u7FA9\u3057\u307E\u3059","action.resolve_group":"\u30B0\u30EB\u30FC\u30D7\u3092\u89E3\u9664","action.resolve_group.desc":"\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u540C\u3058\u5834\u6240\u306B\u4FDD\u6301\u3057\u305F\u307E\u307E\u30B0\u30EB\u30FC\u30D7\u3092\u89E3\u9664\u3057\u307E\u3059","action.move_to_group":"\u30B0\u30EB\u30FC\u30D7\u306B\u79FB\u52D5","action.move_to_group.desc":"\u9078\u629E\u3057\u305F\u8981\u7D20\u3092\u5225\u306E\u30B0\u30EB\u30FC\u30D7\u306B\u79FB\u52D5\u3057\u307E\u3059","action.select_seam":"\u30B7\u30FC\u30E0 UV \u3092\u9078\u629E","action.select_seam.desc":"\u9078\u629E\u3057\u305F\u30A8\u30C3\u30B8\u306E UV \u30B7\u30FC\u30E0\u30E2\u30FC\u30C9\u3092\u9078\u629E\u3057\u307E\u3059","action.select_seam.auto":"Auto","action.select_seam.join":"Join","action.select_seam.divide":"Divide","action.adjust_brightness_contrast":"\u660E\u308B\u3055\u3068\u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u3092\u8ABF\u6574...","action.adjust_brightness_contrast.desc":"\u9078\u629E\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u660E\u308B\u3055\u3068\u30B3\u30F3\u30C8\u30E9\u30B9\u30C8\u3092\u8ABF\u6574\u3057\u307E\u3059","action.adjust_saturation_hue":"\u5F69\u5EA6\u3068\u8272\u76F8\u3092\u8ABF\u6574...","action.adjust_saturation_hue.desc":"\u9078\u629E\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u5F69\u5EA6\u3068\u8272\u76F8\u3092\u8ABF\u6574\u3057\u307E\u3059","action.invert_colors":"\u30AB\u30E9\u30FC\u3092\u53CD\u8EE2","action.invert_colors.desc":"\u9078\u629E\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u3059\u3079\u3066\u306E\u8272\u3092\u53CD\u8EE2\u3057\u307E\u3059","action.adjust_curves":"\u30C8\u30FC\u30F3\u30AB\u30FC\u30D6\u3092\u8ABF\u6574...","action.adjust_curves.desc":"\u9078\u629E\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30C8\u30FC\u30F3\u30AB\u30FC\u30D6\u3092\u8ABF\u6574\u3057\u307E\u3059","action.flip_texture_x":"\u6C34\u5E73\u65B9\u5411\u306B\u53CD\u8EE2","action.flip_texture_y":"\u5782\u76F4\u65B9\u5411\u306B\u53CD\u8EE2","action.resize_texture":"\u30EA\u30B5\u30A4\u30BA...","action.view_mode.uv":"UV","action.append_to_template":"\u8981\u7D20\u3092\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306B\u8FFD\u52A0...","action.append_to_template.desc":"\u73FE\u5728\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u8981\u7D20\u3092\u30C6\u30AF\u30B9\u30C1\u30E3\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306B\u8FFD\u52A0\u3057\u307E\u3059","action.move_texture_with_uv":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u79FB\u52D5","action.move_texture_with_uv.desc":"UV \u3092\u30C9\u30E9\u30C3\u30B0\u3059\u308B\u3068\u304D\u306B\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u79FB\u52D5\u3057\u307E\u3059","action.timeline_setups":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7","action.save_timeline_setup":"\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u4FDD\u5B58...","action.save_timeline_setup.desc":"\u73FE\u5728\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u30C1\u30E3\u30F3\u30CD\u30EB\u306E\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u4FDD\u5B58\u3057\u307E\u3059","menu.texture":"Texture","menu.texture.render_mode.default":"\u30C7\u30D5\u30A9\u30EB\u30C8","menu.texture.merge_onto_texture":"\u4E0A\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u306B\u30DE\u30FC\u30B8","menu.animation.unload":"Unload","panel.timeline":"Timeline","action.pan_tool":"\u30D1\u30F3","action.pan_tool.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30A8\u30C7\u30A3\u30BF\u3092\u30CA\u30D3\u30B2\u30FC\u30C8\u3057\u307E\u3059","mode.start.recent.favorite":"\u304A\u6C17\u306B\u5165\u308A\u3068\u3057\u3066\u30DE\u30FC\u30AF","mode.start.info":"Info","mode.start.target":"Target","mode.start.start":"Start","mode.start.create_new":"\u65B0\u898F\u30E2\u30C7\u30EB","mode.start.format.informations":"\u30DD\u30A4\u30F3\u30C8\uFF1A","mode.start.format.resources":"\u30EA\u30BD\u30FC\u30B9\uFF1A","format.free.info.meshes":"\u30AD\u30E5\u30FC\u30D6\u3084\u30AB\u30B9\u30BF\u30E0\u30B7\u30A7\u30A4\u30D7\u306E\u30E1\u30C3\u30B7\u30E5\u3092\u4F7F\u3063\u3066\u3001\u30ED\u30FC\u30DD\u30EA\u30E2\u30C7\u30EB\u3092\u4F5C\u6210\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","format.free.info.limitation":"Minecraft \u306A\u3069\u306E\u7279\u6B8A\u306A\u5F62\u5F0F\u3092\u5FC5\u8981\u3068\u3059\u308B\u30B2\u30FC\u30E0\u306B\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002","format.skin.info.skin":"Minecraft\u306E\u30B9\u30AD\u30F3\u3084\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u4F5C\u6210\u3067\u304D\u307E\u3059\u3002","format.skin.info.model":"\u30E2\u30C7\u30EB\u306E\u7DE8\u96C6\u306F\u3067\u304D\u307E\u305B\u3093","format.java_block.info.rotation":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3\u306F 22.5 \u5EA6\u523B\u307F\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059","format.java_block.info.size":"\u30E2\u30C7\u30EB\u306E\u30B5\u30A4\u30BA\u306F 3 x 3 x 3 \u306E\u30D6\u30ED\u30C3\u30AF\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059\u3002","format.java_block.info.animation":"\u3053\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u306F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093\u3002mod \u7528\u306B\u4F5C\u6210\u3059\u308B\u5834\u5408\u306F\u3001GeckoLib \u3092\u4F7F\u7528\u3057\u3066\u30E2\u30C7\u30EB\u3092\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u5316\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","format.bedrock.info.textures":"\u5404\u30E2\u30C7\u30EB\u306B\u306F 1 \u3064\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3057\u304B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Minecraft Bedrock Edition \u306E\u30D6\u30ED\u30C3\u30AF\u30E2\u30C7\u30EB","format.modded_entity.info.integer_size":"\u30AD\u30E5\u30FC\u30D6\u306E\u30B5\u30A4\u30BA\u306F\u6574\u6570\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059\u3002","format.modded_entity.info.format":"\u5F53\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u306F\u3001Java\u30B3\u30FC\u30C9\u3067\u8A18\u8FF0\u3055\u308C\u307E\u3059\u3002","format.optifine_entity.info.optifine_required":"OptiFine\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3044\u30E6\u30FC\u30B6\u30FC\u306F\u3001\u30E2\u30C7\u30EB\u304C\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002","format.optifine_entity.info.pivots":"\u30DC\u30FC\u30F3\u30D4\u30DC\u30C3\u30C8\u306F\u56FA\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Other","format_category.loaders":"Loaders","message.recover_backup.recover":"\u5FA9\u5143","message.invalid_characters.title":"\u7121\u52B9\u306A\u30D1\u30B9","message.invalid_characters.message":"\u8AAD\u307F\u8FBC\u307E\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u306B\u3001\u7121\u52B9\u306A\u6587\u5B57\u3001\u5927\u6587\u5B57\u3001\u307E\u305F\u306F\u7A7A\u767D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u6587\u5B57\u306F\u6B21\u306E\u901A\u308A\u3067\u3059\uFF1A %0","dialog.share_model.thumbnail":"\u30B5\u30E0\u30CD\u30A4\u30EB","dialog.skin.high_res_texture":"\u9078\u629E\u3057\u305F\u89E3\u50CF\u5EA6\u306E\u30B9\u30AD\u30F3\u306F\u3001\u901A\u5E38\u306E Minecraft \u30B9\u30AD\u30F3\u3068\u3057\u3066\u6A5F\u80FD\u3057\u307E\u305B\u3093","settings.allow_display_slot_mirror":"\u30B9\u30ED\u30C3\u30C8\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0","settings.allow_display_slot_mirror.desc":"Java \u30A2\u30A4\u30C6\u30E0\u30B9\u30ED\u30C3\u30C8\u3092\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059\u3002WARNING\uFF1A\u3053\u308C\u306F\u3001Minecraft 1.14 \u4EE5\u524D\u307E\u305F\u306F\u7279\u5225\u306A\u5834\u5408\u306B\u306E\u307F\u6A5F\u80FD\u3057\u307E\u3059\u3002","action.switch_tabs":"\u30BF\u30D6\u306E\u5207\u308A\u66FF\u3048","action.switch_tabs.desc":"\u958B\u3044\u3066\u3044\u308B\u30BF\u30D6\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002","action.unselect_all":"\u9078\u629E\u3092\u89E3\u9664","action.save_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u4FDD\u5B58...","action.save_palette.desc":"\u73FE\u5728\u306E\u30AB\u30E9\u30FC\u30D1\u30EC\u30C3\u30C8\u3092 Blockbench \u5185\u306B\u4FDD\u5B58\u3057\u307E\u3059","action.keyframe_column_create":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u5217\u3092\u4F5C\u6210","action.keyframe_column_create.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u3059\u3079\u3066\u306E\u30C1\u30E3\u30F3\u30CD\u30EB\u306B\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u304C\u3042\u308B\u5834\u5408\u306F\u3001\u73FE\u5728\u306E\u30BF\u30A4\u30E0\u30B3\u30FC\u30C9\u3067\u30AD\u30FC\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.keyframe_column_select":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u5217\u3092\u9078\u629E","action.keyframe_column_select.desc":"\u518D\u751F\u30D8\u30C3\u30C9\u306B\u6CBF\u3063\u3066\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u3059\u3079\u3066\u306E\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u9078\u629E\u3057\u307E\u3059","menu.uv":"UV","menu.keyframe":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","menu.palette.load.update":"\u30D1\u30EC\u30C3\u30C8\u3092\u66F4\u65B0","menu.palette.load.update.desc":"\u73FE\u5728\u306E Blockbench \u30D1\u30EC\u30C3\u30C8\u306E\u8272\u3067\u66F4\u65B0\u3057\u307E\u3059","menu.timeline_marker.set_time":"\u6642\u9593\u3092\u30BB\u30C3\u30C8...","uv_editor.scale_uv":"\u30B9\u30B1\u30FC\u30EB UV","action.preview_scene":"\u30B7\u30FC\u30F3","action.preview_scene.desc":"\u30E2\u30C7\u30EB\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u30B7\u30FC\u30F3\u3092\u5909\u66F4\u3057\u307E\u3059","preview_scene.minecraft_overworld":"\u30AA\u30FC\u30D0\u30FC\u30EF\u30FC\u30EB\u30C9","preview_scene.minecraft_nether":"\u30CD\u30B6\u30FC","preview_scene.minecraft_end":"\u30A8\u30F3\u30C9","dialog.project.modded_entity_flip_y":"Y \u8EF8\u3092\u53CD\u8EE2","preview_scene.studio":"\u30B9\u30BF\u30B8\u30AA","format.image":"Image","modifier_actions.set_copy_source":"\u30B3\u30D4\u30FC\u5143\u306E\u8A2D\u5B9A","message.load_images.title":"\u753B\u50CF\u3092\u30ED\u30FC\u30C9","message.load_images.edit_image":"\u753B\u50CF\u3092\u7DE8\u96C6","dialog.add_primitive.align_edges":"\u30A8\u30C3\u30B8\u3092\u63C3\u3048\u308B","dialog.flip_animation.show_in_timeline":"\u5909\u66F4\u3057\u305F\u30DC\u30FC\u30F3\u3092\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306B\u8868\u793A","settings.default_cube_size":"\u30AD\u30E5\u30FC\u30D6\u30B5\u30A4\u30BA","settings.default_cube_size.desc":"\u65B0\u3057\u3044\u30AD\u30E5\u30FC\u30D6\u306E\u5927\u304D\u3055\u3092\u8A2D\u5B9A\u3057\u307E\u3059","settings.uniform_keyframe":"\u30E6\u30CB\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","settings.uniform_keyframe.desc":"\u30B9\u30B1\u30FC\u30EB\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u5747\u4E00\u306B\u8A2D\u5B9A\u3057\u307E\u3059","settings.nearest_rectangle_select":"\u30A8\u30C3\u30B8\u30B9\u30C6\u30C3\u30D7\uFF1A\u6700\u3082\u8FD1\u304F","settings.nearest_rectangle_select.desc":"\u30AD\u30E5\u30FC\u30D6\u306E\u9078\u629E\u7BC4\u56F2\u3092\u6700\u3082\u8FD1\u3044\u30A8\u30C3\u30B8\u306B\u30B9\u30CA\u30C3\u30D7\u3057\u307E\u3059\u3002","settings.pick_color_opacity":"\u30AB\u30E9\u30FC\u30D4\u30C3\u30AF\u900F\u660E\u5EA6","settings.pick_color_opacity.desc":"\u30AB\u30E9\u30FC\u30D4\u30C3\u30AB\u30FC\u3067\u9078\u629E\u3057\u305F\u900F\u660E\u5EA6\u3092\u30D6\u30E9\u30B7\u306B\u8A2D\u5B9A\u3057\u307E\u3059","settings.paint_with_stylus_only":"\u30B9\u30BF\u30A4\u30E9\u30B9\u30DA\u30A4\u30F3\u30C8","settings.paint_with_stylus_only.desc":"\u30BF\u30C3\u30C1\u30D1\u30CD\u30EB\u3067\u30DA\u30A4\u30F3\u30C8\u3057\u307E\u3059\u3002","action.copy_brush_mode":"\u30B3\u30D4\u30FC\u30D6\u30E9\u30B7\u30E2\u30FC\u30C9","action.copy_brush_mode.copy":"\u30B3\u30D4\u30FC","action.copy_brush_mode.pattern":"\u30D1\u30BF\u30FC\u30F3","action.copy_brush_mode.sample":"\u30B5\u30F3\u30D7\u30EB","action.brush_shape":"\u30D6\u30E9\u30B7\u306E\u5F62\u72B6","action.brush_shape.square":"\u56DB\u89D2","action.brush_shape.circle":"\u5186","action.blend_mode":"\u30D6\u30EC\u30F3\u30C9\u30E2\u30FC\u30C9","action.blend_mode.default":"\u30C7\u30D5\u30A9\u30EB\u30C8","action.blend_mode.set_opacity":"\u900F\u660E\u5EA6\u3092\u30BB\u30C3\u30C8","action.blend_mode.color":"\u30AB\u30E9\u30FC","action.blend_mode.behind":"\u30D3\u30CF\u30A4\u30F3\u30C9","action.blend_mode.multiply":"\u4E57\u6570","action.blend_mode.divide":"\u5206\u5272","action.blend_mode.add":"\u8FFD\u52A0","action.blend_mode.subtract":"\u6E1B\u7B97","action.blend_mode.screen":"\u30B9\u30AF\u30EA\u30FC\u30F3","action.blend_mode.overlay":"\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4","action.blend_mode.hard_light":"\u30CF\u30FC\u30C9\u30E9\u30A4\u30C8","action.blend_mode.difference":"\u5DEE\u7570","action.copy_brush":"\u30B3\u30D4\u30FC\u30D6\u30E9\u30B7","action.copy_brush.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u4E00\u90E8\u3092\u8907\u88FD\u3001\u63CF\u753B\u3057\u307E\u3059\u3002","action.validator_window":"\u30E2\u30C7\u30EB\u306E\u30A8\u30E9\u30FC\u3092\u8868\u793A...","action.validator_window.desc":"\u73FE\u5728\u306E\u30E2\u30C7\u30EB\u306E\u30A8\u30E9\u30FC\u3092\u8868\u793A\u3059\u308B\u30D0\u30EA\u30C7\u30FC\u30BF\u30FC\u3092\u958B\u304D\u307E\u3059\u3002","action.cancel_gif":"GIF \u3092\u30AD\u30E3\u30F3\u30BB\u30EB","menu.text_edit.copy_vector":"\u30D9\u30AF\u30BF\u30FC\u3092\u30B3\u30D4\u30FC","menu.brush_presets.dialog":"\u30D6\u30E9\u30B7\u306E\u30D7\u30EA\u30BB\u30C3\u30C8...","menu.brush_presets.pixel_brush":"\u30D4\u30AF\u30BB\u30EB\u30D6\u30E9\u30B7","menu.brush_presets.smooth_brush":"\u30B9\u30E0\u30FC\u30B9\u30D6\u30E9\u30B7","menu.texture.edit_in_blockbench":"Blockbench \u3067\u7DE8\u96C6","menu.mirror_painting.axis":"\u8EF8","menu.mirror_painting.axis.desc":"\u30DA\u30A4\u30F3\u30C8\u30B9\u30C8\u30ED\u30FC\u30AF\u3092\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3059\u308B\u8EF8\u3092\u9078\u629E\u3057\u307E\u3059","menu.mirror_painting.global":"\u30B0\u30ED\u30FC\u30D0\u30EB\u5BFE\u79F0\u6027","menu.mirror_painting.global.desc":"\u30B0\u30ED\u30FC\u30D0\u30EB\u7A7A\u9593\u3067\u30DF\u30E9\u30FC\u30DA\u30A4\u30F3\u30C6\u30A3\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","menu.mirror_painting.local":"\u30ED\u30FC\u30AB\u30EB\u5BFE\u79F0\u6027","menu.mirror_painting.local.desc":"\u30ED\u30FC\u30AB\u30EB\u7A7A\u9593\u3067\u30DF\u30E9\u30FC\u30DA\u30A4\u30F3\u30C6\u30A3\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","menu.mirror_painting.texture_frames":"\u30D5\u30EA\u30C3\u30D7\u30D5\u30EC\u30FC\u30E0\u3092\u30EA\u30D4\u30FC\u30C8","menu.mirror_painting.texture_frames.desc":"\u3059\u3079\u3066\u306E\u30D5\u30EC\u30FC\u30E0\u306B\u30DA\u30A4\u30F3\u30C8\u30B9\u30C8\u30ED\u30FC\u30AF\u3092\u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3057\u307E\u3059","format.bedrock_block.info.size_limit":"\u30D6\u30ED\u30C3\u30AF\u306E\u5408\u8A08\u30B5\u30A4\u30BA\u306F 30 \u30D4\u30AF\u30BB\u30EB\u4EE5\u5185\u306B\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059\u3002","format.bedrock_block.info.textures":"Blockbench \u3067\u306F\u3001\u8907\u6570\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u3055\u307E\u3056\u307E\u306A\u30AD\u30E5\u30FC\u30D6\u306B\u9069\u7528\u3067\u304D\u307E\u3059\u304C\u3001\u30B2\u30FC\u30E0\u5185\u3067\u6B63\u3057\u304F\u6A5F\u80FD\u3055\u305B\u308B\u306B\u306F\u3001\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u306B\u8FFD\u52A0\u306E\u8A2D\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002","format.image.desc":"2D \u753B\u50CF\u30A8\u30C7\u30A3\u30BF","generic.delete_all":"\u3059\u3079\u3066\u524A\u9664","message.child_model_only.open":"\u89AA\u30E2\u30C7\u30EB\u3092\u958B\u304F","message.child_model_only.open_with_textures":"\u89AA\u30E2\u30C7\u30EB\u304B\u3089\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u9069\u7528\u3057\u307E\u3059","dialog.project.credit":"\u30AF\u30EC\u30B8\u30C3\u30C8","dialog.convert_project.create_copy":"\u30B3\u30D4\u30FC\u3092\u4F5C\u6210","dialog.texture.frame_time":"\u30D5\u30EC\u30FC\u30E0\u30BF\u30A4\u30E0","dialog.texture.frame_time.desc":"\u5404\u30D5\u30EC\u30FC\u30E0\u304C\u8868\u793A\u3055\u308C\u308B\u6642\u9593\u3092\u30C6\u30A3\u30C3\u30AF\u5358\u4F4D\u3067\u8A2D\u5B9A\u3057\u307E\u3059\u3002 \u5404\u30C6\u30A3\u30C3\u30AF\u306F 1/20 \u79D2\u3067\u3059\u3002","dialog.texture.frame_interpolate":"\u30B3\u30CD\u30AF\u30C8","dialog.texture.frame_interpolate.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D5\u30EC\u30FC\u30E0\u3092\u88DC\u9593\u3057\u307E\u3059","dialog.texture.frame_order_type":"\u30EB\u30FC\u30D7\u30E2\u30FC\u30C9","dialog.texture.frame_order_type.loop":"\u30EB\u30FC\u30D7","dialog.texture.frame_order_type.backwards":"\u30EB\u30FC\u30D7\u30EA\u30D0\u30FC\u30B9","dialog.texture.frame_order_type.back_and_forth":"\u30D0\u30C3\u30AF\u30D5\u30A9\u30FC\u30B9","dialog.texture.frame_order_type.custom":"\u30AB\u30B9\u30BF\u30E0\u30AA\u30FC\u30C0\u30FC","dialog.texture.frame_order":"\u30D5\u30EC\u30A4\u30E0\u30AA\u30FC\u30C0\u30FC","dialog.texture.frame_order.desc":"\u30AB\u30B9\u30BF\u30E0\u30D5\u30EC\u30FC\u30E0\u306E\u9806\u5E8F\u3092\u8A2D\u5B9A\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30EC\u30FC\u30E0\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u65B0\u3057\u3044\u9806\u306B\u30EA\u30B9\u30C8\u30A2\u30C3\u30D7\u3057\u307E\u3059\u3002","dialog.select.mode":"\u30E2\u30FC\u30C9","dialog.select.mode.new":"\u65B0\u898F\u30BB\u30EC\u30AF\u30C8","dialog.select.mode.add":"\u30BB\u30EC\u30AF\u30C8\u3092\u8FFD\u52A0","dialog.select.mode.remove":"\u30BB\u30EC\u30AF\u30C8\u304B\u3089\u524A\u9664","dialog.select.mode.in_selection":"\u30BB\u30EC\u30AF\u30C8\u304B\u3089\u306E\u307F\u9078\u629E","dialog.predicate_overrides.model":"\u30E2\u30C7\u30EB","dialog.predicate_overrides.predicates":"\u9069\u7528\u6761\u4EF6","dialog.predicate_overrides.variants":"\u30D0\u30EA\u30A2\u30F3\u30C8","dialog.predicate_overrides.start_value":"\u30B9\u30BF\u30FC\u30C8","dialog.predicate_overrides.add_override":"\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3092\u8FFD\u52A0","dialog.predicate_overrides.add_predicate":"\u9069\u7528\u6761\u4EF6\u3092\u8FFD\u52A0","dialog.predicate_overrides.generate_overrides":"\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3092\u751F\u6210","dialog.predicate_overrides.confirm_delete":"\u3059\u3079\u3066\u306E\u4E0A\u66F8\u304D\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","dialog.predicate_overrides.predicate.angle":"\u30B3\u30F3\u30D1\u30B9\u306E\u89D2\u5EA6","dialog.predicate_overrides.predicate.blocking":"\u76FE\u3092\u69CB\u3048\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.broken":"\u30A8\u30EA\u30C8\u30E9\u306A\u3069\u304C\u58CA\u308C\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.cast":"\u91E3\u308A\u7AFF\u304C\u632F\u3089\u308C\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.cooldown":"\u30AF\u30FC\u30EB\u30C0\u30A6\u30F3","dialog.predicate_overrides.predicate.damage":"\u8010\u4E45\u5024","dialog.predicate_overrides.predicate.damaged":"\u8010\u4E45\u5024\u304C\u5C11\u3057\u3067\u3082\u6D88\u8CBB\u3055\u308C\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.lefthanded":"\u5DE6\u5229\u304D\u7528\u304B","dialog.predicate_overrides.predicate.pull":"\u5F13\u3084\u30AF\u30ED\u30B9\u30DC\u30A6\u306E\u5F15\u304D\u5177\u5408","dialog.predicate_overrides.predicate.pulling":"\u5F13\u3084\u30AF\u30ED\u30B9\u30DC\u30A6\u3092\u5F15\u3044\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.charged":"\u30AF\u30ED\u30B9\u30DC\u30A6\u304C\u88C5\u586B\u3055\u308C\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.firework":"\u30ED\u30B1\u30C3\u30C8\u82B1\u706B\u304C\u88C5\u586B\u3055\u308C\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.throwing":"\u30C8\u30E9\u30A4\u30C7\u30F3\u30C8\u3092\u69CB\u3048\u3066\u3044\u308B\u304B","dialog.predicate_overrides.predicate.time":"\u6642\u523B","dialog.predicate_overrides.predicate.custom_model_data":"\u30AB\u30B9\u30BF\u30E0\u30E2\u30C7\u30EB\u30C7\u30FC\u30BF","dialog.predicate_overrides.predicate.level":"\u5149\u6E90\u30EC\u30D9\u30EB","dialog.predicate_overrides.predicate.filled":"\u30D0\u30F3\u30C9\u30EB\u306E\u5145\u586B\u30EC\u30D9\u30EB","dialog.predicate_overrides.predicate.tooting":"\u89D2\u7B1B\u304C\u9CF4\u3089\u3055\u308C\u3066\u3044\u308B\u304B","settings.model_export_scale":"\u66F8\u304D\u51FA\u3057\u30B9\u30B1\u30FC\u30EB","settings.model_export_scale.desc":"\u66F8\u304D\u51FA\u3055\u308C\u305F\u30E2\u30C7\u30EB\u306E\u30B9\u30B1\u30FC\u30EB\u4FC2\u6570\u3002 \u30C7\u30D5\u30A9\u30EB\u30C8\u306F 16 \u3067\u3001Blockbench \u3067\u306F 1 \u30E1\u30FC\u30C8\u30EB\u306B\u5909\u63DB\u3057\u307E\u3059\u3002","action.export_fbx":"FBX Model","action.export_fbx.desc":"\u30E2\u30C7\u30EB\u3068\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092 fbx \u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u66F8\u304D\u51FA\u3057\u307E\u3059","action.center_lateral":"\u30BB\u30F3\u30BF\u30FC\u30E9\u30C6\u30E9\u30EB","action.center_lateral.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u3092 X \u8EF8\u3068 Z \u8EF8\u306E\u4E2D\u592E\u306B\u914D\u7F6E\u3057\u307E\u3059","action.adjust_opacity":"\u900F\u660E\u5EA6\u3092\u8ABF\u6574...","action.adjust_opacity.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u900F\u660E\u5EA6\u3092\u8ABF\u6574\u3057\u307E\u3059","action.rotate_texture_cw":"\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2","action.rotate_texture_ccw":"\u53CD\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2","action.predicate_overrides":"\u9069\u7528\u6761\u4EF6\u306E\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3092\u7DE8\u96C6...","action.predicate_overrides.desc":"\u6761\u4EF6\u306B\u57FA\u3065\u3044\u3066\u3001\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u30E2\u30C7\u30EB\u3092\u9078\u629E\u3057\u307E\u3059","action.auto_set_cullfaces":"\u30AB\u30EA\u30F3\u30B0\u30D5\u30A7\u30A4\u30B9\u3092\u30AA\u30FC\u30C8\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.auto_set_cullfaces.desc":"\u96A3\u63A5\u3059\u308B\u30D6\u30ED\u30C3\u30AF\u306B\u3088\u3063\u3066\u8986\u308F\u308C\u305F\u5834\u5408\u3001\u81EA\u52D5\u7684\u306B\u30D5\u30A7\u30A4\u30B9\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\u3002","menu.texture.edit_externally":"\u5916\u90E8\u30C4\u30FC\u30EB\u3067\u7DE8\u96C6","menu.mirror_painting.texture":"\u5BFE\u79F0 2D \u30A8\u30C7\u30A3\u30BF","menu.mirror_painting.texture.desc":"\u753B\u50CF\u307E\u305F\u306F\u30C6\u30AF\u30B9\u30C1\u30E3\u3067\u30DF\u30E9\u30FC\u30DA\u30A4\u30F3\u30C8\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","menu.animator.rotation_global":"\u30B0\u30ED\u30FC\u30D0\u30EB\u30B9\u30DA\u30FC\u30B9\u3067\u56DE\u8EE2","uv_editor.face_properties":"\u30D7\u30ED\u30D1\u30C6\u30A3","uv_editor.face_properties.material_instance":"\u30DE\u30C6\u30EA\u30A2\u30EB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9","uv_editor.tint.info":"Tint \u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001Minecraft \u306B\u8272\u5408\u3044\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u30D0\u30CB\u30E9\u3067\u306F\u3001\u8272\u5408\u3044\u306F\u8449\u3063\u3071\u3084\u30EC\u30C3\u30C9\u30B9\u30C8\u30FC\u30F3\u30C0\u30B9\u30C8\u306A\u3069\u306E\u7279\u5B9A\u306E\u30D6\u30ED\u30C3\u30AF\u306B\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002","uv_editor.cullface.info":"\u30AB\u30EA\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001Minecraft \u30EF\u30FC\u30EB\u30C9\u5185\u3067\u5225\u306E\u30D6\u30ED\u30C3\u30AF\u304C\u96A3\u63A5\u3057\u305F\u5834\u5408\u3001\u30D6\u30ED\u30C3\u30AF\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u304C\u89E3\u9664\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u308A\u3001\u30B2\u30FC\u30E0\u5185\u306E\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u304C\u6700\u9069\u5316\u3055\u308C\u307E\u3059\u3002","uv_editor.material_instance.info":"\u30DE\u30C6\u30EA\u30A2\u30EB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u30EA\u30BD\u30FC\u30B9\u30D1\u30C3\u30AF\u306E block.json \u30D5\u30A1\u30A4\u30EB\u306B\u3066\u3001\u30D5\u30A7\u30A4\u30B9\u306B\u7279\u5B9A\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3068\u30DE\u30C6\u30EA\u30A2\u30EB\u3092\u5272\u308A\u5F53\u3066\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","display.reference.frame_invisible":"\u984D\u7E01\uFF08\u900F\u660E\uFF09","data.settings_profile":"\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB","message.display_skin.invalid_name":'Minecraft \u30A2\u30AB\u30A6\u30F3\u30C8\u540D "%0" \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002',"dialog.load_plugins_from_query.title":"\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30ED\u30FC\u30C9","dialog.load_plugins_from_query.text":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5FC5\u8981\u306A\u30EA\u30F3\u30AF\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u3002 \u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F","dialog.select_model.title":"\u30E2\u30C7\u30EB\u3092\u9078\u629E","dialog.select_model.bones":"\u30DC\u30FC\u30F3","dialog.select_model.cubes":"\u30AD\u30E5\u30FC\u30D6","dialog.settings.create_profile":"\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210...","settings_profile.confirm_delete":"\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","settings_profile.condition.type.selectable":"\u624B\u52D5\u3067\u9078\u629E","settings.interface_mode":"UI \u30E2\u30FC\u30C9","settings.interface_mode.desc":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u30E2\u30FC\u30C9","settings.interface_mode.auto":"\u30AA\u30FC\u30C8","settings.interface_mode.desktop":"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7","settings.interface_mode.mobile":"\u30E2\u30D0\u30A4\u30EB","settings.paint_through_transparency":"\u900F\u660E\u5EA6\u30DA\u30A4\u30F3\u30C8","settings.paint_through_transparency.desc":"\u30A2\u30EB\u30D5\u30A1\u30C1\u30E3\u30CD\u30EB\u306E\u30ED\u30C3\u30AF\u304C\u6709\u52B9\u306A\u5834\u5408\u3001\u900F\u660E\u306A\u30D4\u30AF\u30BB\u30EB\u3092\u30DA\u30A4\u30F3\u30C8\u3057\u307E\u3059","action.tab_overview":"\u7DCF\u89A7\u30BF\u30D6","action.tab_overview.desc":"\u3059\u3079\u3066\u306E\u30BF\u30D6\u3092\u30B0\u30EA\u30C3\u30C9\u5185\u306B\u8868\u793A\u3057\u3001\u305D\u306E\u30BF\u30D6\u306B\u30B8\u30E3\u30F3\u30D7\u3057\u307E\u3059","action.slider_color_red":"\u30EC\u30C3\u30C9","action.slider_color_green":"\u30B0\u30EA\u30FC\u30F3","action.slider_color_blue":"\u30D6\u30EB\u30FC","action.add_animation_controller":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u3092\u8FFD\u52A0","action.add_animation_controller.desc":"\u65B0\u898F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u4F5C\u6210\u3057\u307E\u3059","action.animation_controller_preview_mode":"\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u30D7\u30EC\u30D3\u30E5\u30FC","action.animation_controller_preview_mode.paused":"\u30DD\u30FC\u30BA","action.animation_controller_preview_mode.manual":"\u30DE\u30CB\u30E5\u30A2\u30EB\u30D7\u30EC\u30D3\u30E5\u30FC","action.animation_controller_preview_mode.play":"\u30AA\u30FC\u30C8","action.keyframe_interpolation.bezier":"\u30D9\u30B8\u30A7","action.keyframe_bezier_linked":"\u30EA\u30F3\u30AF\u30D9\u30B8\u30A7\u30CF\u30F3\u30C9\u30EB","action.keyframe_bezier_linked.desc":"\u5DE6\u53F3\u306E\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306E\u30D9\u30B8\u30A7\u30CF\u30F3\u30C9\u30EB\u3092\u63A5\u7D9A\u3057\u307E\u3059","action.reset_keyframe_handles":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u30CF\u30F3\u30C9\u30EB\u3092\u30EA\u30BB\u30C3\u30C8","action.reset_keyframe_handles.desc":"\u9078\u629E\u3057\u305F\u30D9\u30B8\u30A7\u30CF\u30F3\u30C9\u30EB\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059","action.looped_animation_playback":"\u30EB\u30FC\u30D7\u518D\u751F","action.looped_animation_playback.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u30EB\u30FC\u30D7\u518D\u751F\u3057\u307E\u3059","timeline.bind_to_actor":"\u30A2\u30AF\u30BF\u30FC\u306B\u30D0\u30A4\u30F3\u30C9","animation_controllers.select_preset":"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u306E\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9078\u629E...","animation_controllers.state.animations":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3","animation_controllers.state.particles":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB","animation_controllers.state.sounds":"\u30B5\u30A6\u30F3\u30C9","animation_controllers.state.on_entry":"\u30A8\u30F3\u30C8\u30EA\u30FC","animation_controllers.state.on_exit":"\u30A4\u30B0\u30B8\u30C3\u30C8","animation_controllers.state.transitions":"\u30C8\u30E9\u30F3\u30B8\u30B7\u30E7\u30F3","animation_controllers.state.condition":"\u30B3\u30F3\u30C7\u30A3\u30B7\u30E7\u30F3","animation_controllers.state.blend_transition":"\u30D6\u30EC\u30F3\u30C9\u30BF\u30A4\u30E0","animation_controllers.state.shortest_path":"\u6700\u77ED\u30D1\u30B9\u3067\u30D6\u30EC\u30F3\u30C9\u3057\u307E\u3059","animation_controllers.state.edit_transition":"\u30C8\u30E9\u30F3\u30B8\u30B7\u30E7\u30F3\u3092\u9000\u51FA","menu.color_picker.picker_type":"\u30D4\u30C3\u30AB\u30FC\u30BF\u30A4\u30D7","menu.color_picker.picker_type.square":"\u56DB\u89D2\u5F62","menu.color_picker.picker_type.wheel":"\u30DB\u30A4\u30FC\u30EB","menu.color_picker.slider_mode":"\u30B9\u30E9\u30A4\u30C0\u30FC\u30E2\u30FC\u30C9","menu.color_picker.slider_mode.hsv":"\u8272\u76F8\u3001\u5F69\u5EA6\u3001\u660E\u5EA6","menu.color_picker.slider_mode.rgb":"RGB","menu.texture.render_mode.additive":"\u30A2\u30AF\u30C6\u30A3\u30D6","panel.color.picker_options":"Color Picker Options","panel.animation_controllers":"Animation Controller","display.preset.armor_stand":"\u5730\u9762\uFF08\u30A2\u30FC\u30DE\u30FC\u30B9\u30BF\u30F3\u30C9\uFF09","data.file_path":"\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9","dialog.extrude.orientation":"\u30AA\u30EA\u30A8\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3","dialog.extrude.orientation.upright":"\u6B63\u7ACB","dialog.extrude.orientation.flat":"\u30D5\u30E9\u30C3\u30C8","dialog.scale.box_uv_warning":"\u30DC\u30C3\u30AF\u30B9 UV \u30E2\u30C7\u30EB\u3092\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u3059\u308B\u3068\u3001\u30E2\u30C7\u30EB\u306E UV \u304C\u58CA\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 \u4EE3\u308F\u308A\u306B\u3001\u30E2\u30C7\u30EB\u3092\u5916\u90E8\u7684\u306B\u30B9\u30B1\u30FC\u30EB\u3059\u308B\u304B\u3001\u30D5\u30A1\u30A4\u30EB > \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u30D5\u30A7\u30A4\u30B9\u3054\u3068\u306B UV \u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002","dialog.create_gif.format":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG \u30AA\u30FC\u30C0\u30FC","dialog.create_gif.pixelate":"\u30D4\u30AF\u30BB\u30EB\u5316","dialog.create_gif.bg_image":"\u80CC\u666F\u753B\u50CF","dialog.create_gif.turn.desc":"\u30EC\u30B3\u30FC\u30C9\u4E2D\u306B\u30E2\u30C7\u30EB\u3092\u56DE\u8EE2\u3057\u307E\u3059\u3002 \u30E2\u30C7\u30EB\u3092\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2\u3059\u308B\u306B\u306F\u3001\u8CA0\u306E\u5024\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 \u5024 60 \u306F\u30011 \u79D2\u3054\u3068\u306B 1 \u56DE\u8EE2\u306B\u76F8\u5F53\u3057\u307E\u3059\u3002","settings_profile.condition":"\u30B3\u30F3\u30C7\u30A3\u30B7\u30E7\u30F3","settings_profile.condition.type.file_path.desc":"\u6B63\u898F\u8868\u73FE\u69CB\u6587\u3092\u4F7F\u7528\u3057\u3066\u3001\u73FE\u5728\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3068\u4E00\u81F4\u3055\u305B\u307E\u3059\u3002 \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u306F / \u3092\u4F7F\u7528\u3057\u307E\u3059","settings.only_selected_bezier_handles":"\u9078\u629E\u3057\u305F\u30D9\u30B8\u30A7\u30CF\u30F3\u30C9\u30EB\u306E\u307F\u3092\u8868\u793A","settings.only_selected_bezier_handles.desc":"\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u30D9\u30B8\u30A7\u30CF\u30F3\u30C9\u30EB\u3092\u975E\u8868\u793A\u306B\u3057\u307E\u3059","settings.embed_textures":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u57CB\u3081\u8FBC\u307F","settings.embed_textures.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30D5\u30A1\u30A4\u30EB\u3092 .bbmodel \u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u307F\u307E\u3059","action.selection_mode.cluster":"\u30AF\u30E9\u30B9\u30BF\u30FC","dialog.copied_to_clipboard":"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F","data.reference_image":"\u53C2\u8003\u753B\u50CF","message.delete_reference_image":"\u3053\u306E\u53C2\u8003\u753B\u50CF\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F\u3053\u306E\u5DE5\u7A0B\u306F\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002","message.add_reference_image.message":"\u53C2\u8003\u753B\u50CF\u3092\u30ED\u30FC\u30C9\u3059\u308B\u5834\u6240\u3092\u9078\u629E\u3057\u307E\u3059","message.add_reference_image.project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0","message.add_reference_image.app":"\u3059\u3079\u3066\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8FFD\u52A0","message.import_particle_texture.import":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30A4\u30F3\u30DD\u30FC\u30C8","message.import_particle_texture.message":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306B\u4F7F\u7528\u3059\u308B\u30C6\u30AF\u30B9\u30C1\u30E3\u30D5\u30A1\u30A4\u30EB\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059\u304B\uFF1F","message.save_codec_selector.title":"\u30E2\u30C7\u30EB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u4FDD\u5B58","message.save_codec_selector.message":"\u4FDD\u5B58\u3057\u305F\u3044\u30E2\u30C7\u30EB\u5F62\u5F0F\u3092\u9078\u629E\u3057\u307E\u3059\u3002","message.save_codec_selector.project_file":"Blockbench \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 (.bbmodel)","message.save_codec_selector.both":"\u4E21\u65B9","message.display_skin.username":"\u30E6\u30FC\u30B6\u30FC\u30CD\u30FC\u30E0 (Java)","message.palette_locked":"\u30D1\u30EC\u30C3\u30C8\u306F\u56FA\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059","dialog.project.default_uv_mode":"UV \u30E2\u30FC\u30C9","dialog.project.default_uv_mode.description":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306E UV \u30E2\u30FC\u30C9\u3002 UV \u30E2\u30FC\u30C9\u306F\u30AD\u30E5\u30FC\u30D6\u3054\u3068\u306B\u5909\u66F4\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002","dialog.export_options.title":"\u8A2D\u5B9A\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","dialog.edit_texture.preview":"\u30D7\u30EC\u30D3\u30E5\u30FC","dialog.proportional_editing.range":"\u7BC4\u56F2","dialog.proportional_editing.falloff":"\u30D5\u30A9\u30FC\u30EB\u30AA\u30D5","dialog.proportional_editing.falloff.linear":"\u30EA\u30CB\u30A2","dialog.proportional_editing.falloff.hermite_spline":"\u30B9\u30E0\u30FC\u30BA","dialog.proportional_editing.falloff.constant":"\u30B3\u30F3\u30B9\u30BF\u30F3\u30C8","dialog.proportional_editing.selection":"\u9078\u629E","dialog.proportional_editing.selection.linear":"\u30EA\u30CB\u30A2\u30C7\u30A3\u30B9\u30BF\u30F3\u30B9","dialog.proportional_editing.selection.connections":"\u63A5\u7D9A","dialog.mirror_painting_texture_center.middle":"\u30DF\u30C9\u30EB","dialog.mirror_painting_texture_center.custom":"\u30AB\u30B9\u30BF\u30E0","dialog.settings.reset_to_default":"\u521D\u671F\u5024\u306B\u30EA\u30BB\u30C3\u30C8","keybindings.item.num_slider.increase":"\u5897\u52A0","keybindings.item.num_slider.decrease":"\u6E1B\u5C11","settings.always_show_splash_art":"\u30B9\u30D7\u30E9\u30C3\u30B7\u30E5\u30A2\u30FC\u30C8\u3092\u8868\u793A","settings.always_show_splash_art.desc":"\u30B9\u30BF\u30FC\u30C8\u753B\u9762\u306B\u30B9\u30D7\u30E9\u30C3\u30B7\u30E5\u30A2\u30FC\u30C8\u3092\u5E38\u306B\u8868\u793A\u3057\u307E\u3059","action.slider_palette_color":"\u30D1\u30EC\u30C3\u30C8\u30AB\u30E9\u30FC\u3092\u30B9\u30A4\u30C3\u30C1","action.slider_palette_color.desc":"\u30D1\u30EC\u30C3\u30C8\u5185\u306E\u30AB\u30E9\u30FC\u3092\u5FAA\u74B0\u3057\u307E\u3059","action.proportional_editing":"\u30D7\u30ED\u30DD\u30FC\u30B7\u30E7\u30CA\u30EB\u7DE8\u96C6","action.proportional_editing.desc":"\u30E1\u30C3\u30B7\u30E5\u306E\u4E00\u90E8\u3092\u7DE8\u96C6\u3059\u308B\u3068\u304D\u306B\u5468\u56F2\u306E\u9802\u70B9\u306B\u6BD4\u4F8B\u3057\u3066\u5F71\u97FF\u3092\u4E0E\u3048\u307E\u3059","action.limit_to_palette":"\u9650\u5B9A\u30D1\u30EC\u30C3\u30C8","action.limit_to_palette.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30AB\u30E9\u30FC\u3092\u73FE\u5728\u306E\u30D1\u30EC\u30C3\u30C8\u5185\u306B\u5236\u9650\u3057\u307E\u3059","action.edit_reference_images":"\u53C2\u8003\u753B\u50CF\u306E\u7DE8\u96C6","action.edit_reference_images.desc":"\u53C2\u8003\u753B\u50CF\u30E2\u30FC\u30C9\u3092\u30AA\u30F3\u306B\u3057\u3066\u3001\u753B\u50CF\u3068\u8A2D\u8A08\u56F3\u3092\u8FFD\u52A0\u307E\u305F\u306F\u7DE8\u96C6\u3057\u307E\u3059","action.add_reference_image":"\u53C2\u8003\u753B\u50CF\u3092\u8FFD\u52A0","action.reference_image_from_clipboard":"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089","action.reference_image_list":"\u53C2\u8003\u753B\u50CF","action.connect_uv_faces":"UV \u30D5\u30A7\u30A4\u30B9\u3092\u63A5\u7D9A\u3059\u308B","action.connect_uv_faces.desc":"\u9078\u629E\u3057\u305F UV \u30D5\u30A7\u30A4\u30B9\u3092\u6700\u5F8C\u306B\u9078\u629E\u3057\u305F UV \u30D5\u30A7\u30A4\u30B9\u306B\u63A5\u7D9A\u3057\u307E\u3059","action.merge_uv_vertices":"\u9802\u70B9 UV \u3092\u7D50\u5408","action.merge_uv_vertices.desc":"\u6700\u521D\u306B\u9078\u629E\u3057\u305F UV \u9802\u70B9\u3092\u6700\u5F8C\u306B\u9078\u629E\u3057\u305F UV \u9802\u70B9\u306B\u30B9\u30CA\u30C3\u30D7\u3057\u307E\u3059","action.bedrock_animation_mode":"Bedrock \u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30E2\u30FC\u30C9","action.bedrock_animation_mode.desc":"Minecraft: Bedrock Edition \u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u7DE8\u96C6\u30E2\u30FC\u30C9\u3092\u9078\u629E\u3057\u307E\u3059","action.bedrock_animation_mode.entity":"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3","action.bedrock_animation_mode.attachable_first":"\u30A2\u30A4\u30C6\u30E0\u3000\u4E00\u4EBA\u79F0\u8996\u70B9","action.bedrock_animation_mode.attachable_third":"\u30A2\u30A4\u30C6\u30E0\u3000\u4E09\u4EBA\u79F0\u8996\u70B9","timeline.amplify":"\u5897\u5E45","menu.options":"\u30AA\u30D7\u30B7\u30E7\u30F3...","menu.palette.lock_palette":"\u30D1\u30EC\u30C3\u30C8\u3092\u30ED\u30C3\u30AF","menu.uv.export":"UV \u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","menu.uv.flip_x":"Mirror X","menu.uv.flip_y":"Mirror Y","menu.mirror_painting.enabled":"\u6709\u52B9","reference_image.position":"Position","reference_image.size":"Size","reference_image.rotation":"Rotation","reference_image.opacity":"\u900F\u660E\u5EA6","reference_image.visibility":"\u53EF\u8996\u5316","reference_image.clear_mode":"\u30AF\u30EA\u30A2\u30FC\u30E2\u30FC\u30C9","reference_image.layer":"\u30EC\u30A4\u30E4\u30FC","reference_image.layer.background":"\u30E2\u30C7\u30EB\u5F8C\u65B9","reference_image.layer.viewport":"\u30E2\u30C7\u30EB\u4E0A\u65B9","reference_image.layer.float":"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u4E0A","reference_image.scope":"\u30B9\u30B3\u30FC\u30D7","reference_image.scope.project":"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u307F","reference_image.scope.global":"\u3059\u3079\u3066\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8","reference_image.enabled_modes":"\u30E2\u30FC\u30C9\u3067\u6709\u52B9","codec.common.encoding":"\u30A8\u30F3\u30B3\u30FC\u30C9","codec.common.armature":"\u30B0\u30EB\u30FC\u30D7\u3092\u30A2\u30DE\u30C1\u30E5\u30A2\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","codec.common.export_animations":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","codec.common.embed_textures":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u57CB\u3081\u8FBC\u307F","preview.center_camera":"\u30BB\u30F3\u30BF\u30FC\u30AB\u30E1\u30E9","display.reference.frame_top":"\u984D\u7E01\u30C8\u30C3\u30D7","display.reference.frame_top_invisible":"\u984D\u7E01\u30C8\u30C3\u30D7\uFF08\u900F\u660E\uFF09","action.proportional_editing_range":"\u30D7\u30ED\u30DD\u30FC\u30B7\u30E7\u30CA\u30EB\u7DE8\u96C6\u7BC4\u56F2","action.proportional_editing_range.desc":"\u30D7\u30ED\u30DD\u30FC\u30B7\u30E7\u30CA\u30EB\u7DE8\u96C6\u306E\u7BC4\u56F2\u3092\u8ABF\u6574\u3057\u307E\u3059","action.toggle_all_reference_images":"\u3059\u3079\u3066\u306E\u53C2\u8003\u753B\u50CF\u3092\u8868\u793A/\u975E\u8868\u793A","action.toggle_all_reference_images.desc":"\u3059\u3079\u3066\u306E\u53C2\u8003\u753B\u50CF\u306E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","action.add_animation_controller_state":"\u30B9\u30C6\u30FC\u30C8\u3092\u8FFD\u52A0","action.add_animation_controller_state.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u306B\u65B0\u3057\u3044\u30B9\u30C6\u30FC\u30C8\u3092\u8FFD\u52A0\u3057\u307E\u3059","menu.slider.round_value":"\u56DB\u6368\u4E94\u5165\u5024","texture.error.too_large":"\u89E3\u50CF\u5EA6\u304C\u6700\u5927\u5024\u306E %0 \u3092\u8D85\u3048\u3066\u3044\u307E\u3059","dialog.copy_to_clipboard":"\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC","dialog.open_url":"URL \u3092\u958B\u304F","reference_image.image":"\u30A4\u30E1\u30FC\u30B8","uv_editor.rotate_uv":"Rotate UV","generic.error":"Error","projects.start_screen":"\u30B9\u30BF\u30FC\u30C8\u753B\u9762","message.invalid_link.message":'\u30ED\u30FC\u30C9\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308B\u5171\u6709\u30E2\u30C7\u30EB "%0" \u306F\u7121\u52B9\u307E\u305F\u306F\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059\u3002',"message.plugin_dependencies.title":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u4F9D\u5B58\u95A2\u4FC2","message.plugin_dependencies.message1":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306B\u306F\u6B21\u306E\u4F9D\u5B58\u95A2\u4FC2\u304C\u5FC5\u8981\u3067\u3059\uFF1A","message.plugin_dependencies.message1_update":"\u30D7\u30E9\u30B0\u30A4\u30F3 %0 \u304C\u66F4\u65B0\u3055\u308C\u3001\u6B21\u306E\u4F9D\u5B58\u95A2\u4FC2\u304C\u5FC5\u8981\u306B\u306A\u308A\u307E\u3057\u305F\uFF1A","message.plugin_dependencies.message2":"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3092\u7D99\u7D9A\u3057\u307E\u3059\u304B\uFF1F","message.plugin_dependencies.invalid":"\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u7121\u52B9\u306A\u4F9D\u5B58\u95A2\u4FC2\u304C\u3042\u308B\u305F\u3081\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F :","message.preview_scene_load_failed":"\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u63A5\u7D9A\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002","dialog.convert_project.text1":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5225\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u5909\u63DB\u3057\u307E\u3059\u3002","dialog.convert_project.text2":"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306B\u306F\u3055\u307E\u3056\u307E\u306A\u6A5F\u80FD\u3068\u5236\u9650\u304C\u3042\u308B\u305F\u3081\u3001\u5909\u63DB\u3059\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u90E8\u304C\u58CA\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002","dialog.convert_project.text3":"\u5909\u63DB\u3092\u5143\u306B\u623B\u3059\u3053\u3068\u306F\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u30B3\u30D4\u30FC\u304C\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"\u6B21\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u306F\u3001\u4FDD\u5B58\u3055\u308C\u3066\u3044\u306A\u3044\u5909\u66F4\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 \u5909\u66F4\u3092\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F","dialog.unsaved_work.discard_all":"\u7834\u68C4","dialog.unsaved_work.save_all":"\u3059\u3079\u3066\u4FDD\u5B58","dialog.resize_texture.mode":"\u30E2\u30FC\u30C9","dialog.resize_texture.mode.crop":"\u30C8\u30EA\u30DF\u30F3\u30B0/\u62E1\u5927","dialog.resize_texture.mode.scale":"\u30B9\u30B1\u30FC\u30EB","dialog.plugins.is_installed":"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F","dialog.plugins.is_disabled":"\u7121\u52B9","dialog.plugins.disable":"\u7121\u52B9","dialog.plugins.enable":"\u6709\u52B9","dialog.plugins.dependencies":"\u4EE5\u4E0B\u306B\u4F9D\u5B58\u3057\u307E\u3059\uFF1A","dialog.view_backups.open_folder":"\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u958B\u304F","dialog.share_model.reference_images":"\u53C2\u8003\u753B\u50CF\u3092\u542B\u3081\u308B","dialog.share_model.too_large":"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\u30E2\u30C7\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059 :(","dialog.share_model.too_large_references":"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\u30E2\u30C7\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002 \u53C2\u8003\u753B\u50CF\u306A\u3057\u3067\u8A66\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002","settings.stretch_linked":"\u30EA\u30F3\u30AF\u30B9\u30C8\u30EC\u30C3\u30C1","settings.stretch_linked.desc":"\u540C\u3058\u5024\u3067\u7ACB\u65B9\u4F53\u3092\u5168\u65B9\u5411\u306B\u5F15\u304D\u4F38\u3070\u3057\u307E\u3059","settings.grids":"\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A","settings.grids.desc":"\uFF13D \u30B0\u30EA\u30C3\u30C8\u3092\u8868\u793A\u3057\u307E\u3059","settings.double_click_switch_tools":"\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u5207\u308A\u66FF\u3048","settings.double_click_switch_tools.desc":"\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3067\u30C4\u30FC\u30EB\u3092\u5207\u308A\u66FF\u3048\u307E\u3059","settings.outlines_in_paint_mode":"\u9078\u629E\u7BC4\u56F2\u306E\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3","settings.outlines_in_paint_mode.desc":"\u30DA\u30A4\u30F3\u30C8\u30E2\u30FC\u30C9\u3067\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u8868\u793A\u3057\u307E\u3059","settings.json_indentation":"Json \u30A4\u30F3\u30C7\u30F3\u30C8","settings.json_indentation.desc":"Json \u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30F3\u30C8\u30B9\u30BF\u30A4\u30EB\u3092\u5909\u66F4\u3057\u307E\u3059","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"\u30B9\u30C8\u30EC\u30C3\u30C1","action.slider_stretch.desc":"UV \u3092\u5909\u66F4\u305B\u305A\u306B\u3001%0 \u8EF8\u4E0A\u3067\u7ACB\u65B9\u4F53\u3092\u5F15\u304D\u4F38\u3070\u3057\u307E\u3059","action.view_backups":"\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7","action.view_backups.desc":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30EA\u30B9\u30C8\u3092\u53C2\u7167\u3057\u307E\u3059","action.search_outliner":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u691C\u7D22","action.search_outliner.desc":"\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u5185\u306E\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u691C\u7D22\u3057\u307E\u3059","action.mirror_modeling":"\u30DF\u30E9\u30FC\u30E2\u30C7\u30EA\u30F3\u30B0","action.mirror_modeling.desc":"X \u8EF8\u3067\u306E\u30DF\u30E9\u30FC\u30E2\u30C7\u30EA\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3059\u308B\u3068\u3001\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u3067\u884C\u3063\u305F\u5909\u66F4\u304C\u53CD\u5BFE\u5074\u306B\u3082\u53CD\u6620\u3055\u308C\u307E\u3059\u3002","action.allow_element_mirror_modeling":"\u30DF\u30E9\u30FC\u30E2\u30C7\u30EA\u30F3\u30B0\u3092\u8A31\u53EF","action.allow_element_mirror_modeling.desc":"\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u304C\u30DF\u30E9\u30FC\u30E2\u30C7\u30EA\u30F3\u30B0\u306E\u5F71\u97FF\u3092\u53D7\u3051\u308B\u304B\u3069\u3046\u304B\u3092\u9078\u629E\u3057\u307E\u3059","action.switch_face_crease":"\u30D5\u30A7\u30A4\u30B9\u30AF\u30EA\u30FC\u30B9","action.switch_face_crease.desc":"\u30AF\u30EF\u30C3\u30C9\u3092\u4E2D\u592E\u3067\u6298\u308A\u305F\u305F\u3080\u65B9\u5411\u3092\u5909\u3048\u307E\u3059","action.clear_unused_texture_space":"\u30D6\u30E9\u30F3\u30AF\u30B9\u30DA\u30FC\u30B9\u3092\u30AF\u30EA\u30A2","action.clear_unused_texture_space.desc":"UV \u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u306A\u3044\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059","action.split_screen":"\u30B9\u30AF\u30EA\u30FC\u30F3\u3092\u5206\u5272","action.split_screen.desc":"\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u306E\u5206\u5272\u30E2\u30FC\u30C9\u3092\u9078\u629E\u3057\u307E\u3059","action.split_screen.single":"\u30B7\u30F3\u30B0\u30EB","action.split_screen.double_horizontal":"\u30DB\u30EA\u30BE\u30F3\u30BF\u30EB","action.split_screen.double_vertical":"\u30D0\u30FC\u30C6\u30A3\u30AB\u30EB","action.split_screen.quad":"\u30AF\u30EF\u30C3\u30C9","action.split_screen.triple_left":"\u30C8\u30EA\u30D7\u30EB\u30EC\u30D5\u30C8","action.split_screen.triple_right":"\u30C8\u30EA\u30D7\u30EB\u30E9\u30A4\u30C8","action.split_screen.triple_top":"\u30C8\u30EA\u30D7\u30EB\u30C8\u30C3\u30D7","action.split_screen.triple_bottom":"\u30C8\u30EA\u30D7\u30EB\u30DC\u30C8\u30E0","action.uv_project_from_view":"UV \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8","action.uv_project_from_view.desc":"3D \u30D3\u30E5\u30FC\u304B\u3089\u9078\u629E\u3057\u305F UV \u3092\u81EA\u52D5\u7684\u306B\u751F\u6210\u3057\u307E\u3059","action.graph_editor_other_graphs":"\u4ED6\u306E\u30B0\u30E9\u30D5\u3092\u8868\u793A","action.graph_editor_other_graphs.desc":"\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u8EF8\u306E\u30B0\u30E9\u30D5\u3092\u8868\u793A\u3057\u307E\u3059","action.graph_editor_include_other_graphs":"\u4ED6\u306E\u30B0\u30E9\u30D5\u3092\u542B\u3081\u308B","action.graph_editor_include_other_graphs.desc":"\u30D3\u30E5\u30FC\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u30B0\u30E9\u30D5\u304C\u542B\u307E\u308C\u308B\u304B","action.set_ik_source":"IK \u30EB\u30FC\u30C8\u3092\u30BB\u30C3\u30C8","action.set_ik_source.desc":"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u79FB\u52D5\u3059\u308B\u969B\u306B\u4F7F\u7528\u3059\u308B\u30EB\u30FC\u30C8\u30DC\u30FC\u30F3\u3092\u9078\u629E\u3057\u307E\u3059","edit.loop_cut.cuts":"\u30AB\u30C3\u30C8","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"\u5E73\u539F","preview_scene.minecraft_cherry_grove":"\u685C\u306E\u4E18","preview_scene.minecraft_snowy_tundra":"\u30C4\u30F3\u30C9\u30E9","preview_scene.minecraft_sunset":"\u5915\u66AE\u308C","preview_scene.minecraft_night":"\u771F\u591C\u4E2D","preview_scene.minecraft_desert":"\u7802\u6F20","preview_scene.minecraft_underwater":"\u6C34\u4E2D","preview_scene.minecraft_coral_reef":"\u30B5\u30F3\u30B4\u7901","preview_scene.minecraft_lush_cave":"\u7E41\u8302\u3057\u305F\u6D1E\u7A9F","preview_scene.minecraft_deep_dark":"\u30C7\u30A3\u30FC\u30D7\u30C0\u30FC\u30AF","generic.navigate_forward":"\u524D\u65B9","generic.navigate_back":"\u5F8C\u65B9","action.element_render_order":"\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u30AA\u30FC\u30C0\u30FC","action.element_render_order.default":"\u30AA\u30FC\u30C8","action.element_render_order.behind":"\u30D3\u30CF\u30A4\u30F3\u30C9","action.element_render_order.in_front":"\u30D5\u30ED\u30F3\u30C8","message.installing_update.title":"\u5229\u7528\u53EF\u80FD\u306A\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u304C\u3042\u308A\u307E\u3059","message.installing_update.message":"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F\u3002 \u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u304C\u5B8C\u4E86\u3059\u308B\u307E\u3067\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u30FC\u306E\u96FB\u6E90\u3092\u5207\u3089\u305A\u306B\u3001%0 \u79D2\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002","settings.brush_cursor_2d":"2D \u30D6\u30E9\u30B7\u30AB\u30FC\u30BD\u30EB","settings.brush_cursor_2d.desc":"2D \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u3067\u30D6\u30E9\u30B7\u306B\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u8868\u793A\u3057\u307E\u3059","settings.brush_cursor_3d":"3D \u30D6\u30E9\u30B7\u30AB\u30FC\u30BD\u30EB","settings.brush_cursor_3d.desc":"3D \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u3067\u30D6\u30E9\u30B7\u306B\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u3092\u8868\u793A\u3057\u307E\u3059","settings.cdn_mirror":"CDN \u30DF\u30E9\u30FC\u30E2\u30FC\u30C9","settings.cdn_mirror.desc":"CDN \u30DF\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u5E38\u306B\u6700\u65B0\u306E\u72B6\u614B\u306B\u3057\u307E\u3059","data.layer":"\u30EC\u30A4\u30E4\u30FC","data.panel":"\u30D1\u30CD\u30EB","generic.confirm_delete":"\u3053\u308C\u3089\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","format_category.general":"General","modifier_actions.no_uniform_scaling":"\u30D5\u30EA\u30FC\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0","message.texture_refresh_conflict.title":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059","message.texture_refresh_conflict.message":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u3001Blockbench \u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3068\u7AF6\u5408\u3059\u308B\u5909\u66F4\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059","message.texture_refresh_conflict.keep_ours":"Blockbench \u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u7DAD\u6301\u3059\u308B","message.texture_refresh_conflict.keep_theirs":"\u30D5\u30A1\u30A4\u30EB\u3092\u30ED\u30FC\u30C9\u3057\u3001Blockbench \u306E\u3059\u3079\u3066\u306E\u5909\u66F4\u3068\u30EC\u30A4\u30E4\u30FC\u3092\u7834\u68C4\u3057\u307E\u3059","message.group_required_to_animate":"\u3053\u306E\u30BF\u30A4\u30D7\u306E\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u5316\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 \u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210\u3057\u3066\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u5316\u3057\u307E\u3059\u3002","dialog.texture.uv_size":"UV \u30B5\u30A4\u30BA","dialog.advanced_screenshot.angle_preset":"\u30A2\u30F3\u30B0\u30EB\u30D7\u30EA\u30BB\u30C3\u30C8","dialog.advanced_screenshot.resolution":"\u89E3\u50CF\u5EA6","dialog.advanced_screenshot.zoom_to_fit":"\u30D5\u30A3\u30C3\u30C8\u30BA\u30FC\u30E0","dialog.advanced_screenshot.zoom":"\u30BA\u30FC\u30E0 / Focal Length","dialog.advanced_screenshot.anti_aliasing":"\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B9","dialog.advanced_screenshot.anti_aliasing.off":"\u30AA\u30D5","dialog.advanced_screenshot.anti_aliasing.msaa":"\u30DE\u30EB\u30C1\u30B5\u30F3\u30D7\u30EA\u30F3\u30B0","dialog.advanced_screenshot.anti_aliasing.ssaa":"\u30B9\u30FC\u30D1\u30FC\u30B5\u30F3\u30D7\u30EA\u30F3\u30B0","dialog.advanced_screenshot.show_gizmos":"\u30AE\u30BA\u30E2\u3092\u8868\u793A","dialog.advanced_screenshot.shading":"\u30B7\u30A7\u30FC\u30C7\u30A3\u30F3\u30B0","settings.auto_keyframe":"\u30AA\u30FC\u30C8\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","settings.auto_keyframe.desc":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u958B\u59CB\u6642\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u4F7F\u7528\u3057\u3066\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u81EA\u52D5\u7684\u306B\u4F5C\u6210\u3057\u307E\u3059","settings.modded_entity_integer_size":"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u6574\u6570\u30B5\u30A4\u30BA","settings.modded_entity_integer_size.desc":"Modded Entity \u5F62\u5F0F\u306E\u30AD\u30E5\u30FC\u30D6\u306E\u30B5\u30A4\u30BA\u3092\u6574\u6570\u306B\u5236\u9650\u3057\u307E\u3059\u3002\u5C0F\u6570\u70B9\u306F\u4E00\u90E8\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u6280\u8853\u7684\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u6574\u6570\u306E\u65B9\u304C UV \u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u306F\u308B\u304B\u306B\u7C21\u5358\u306B\u3057\u307E\u3059\u3002","category.layers":"Layers","keybind.paint_secondary_color":"2\u6B21\u8272\u30DA\u30A4\u30F3\u30C8","action.selection_tool_operation_mode":"\u52D5\u4F5C\u30E2\u30FC\u30C9\u306E\u9078\u629E","action.selection_tool_operation_mode.create":"\u65B0\u898F\u9078\u629E","action.selection_tool_operation_mode.add":"\u9078\u629E\u306B\u8FFD\u52A0","action.selection_tool_operation_mode.subtract":"\u9078\u629E\u7BC4\u56F2\u304B\u3089\u5916\u3059","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"\u30D1\u30FC\u30D5\u30A7\u30AF\u30C8\u30D4\u30AF\u30BB\u30EB\u63CF\u753B","action.pixel_perfect_drawing.desc":"\u66F2\u7DDA\u90E8\u5206\u306B\u304A\u3044\u3066\u3001\u4E8C\u91CD\u30D4\u30AF\u30BB\u30EB\u3092\u767A\u751F\u3055\u305B\u305A\u306B\u3001\u6ED1\u3089\u304B\u306A\u30D4\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3092\u63CF\u753B\u3057\u307E\u3059","action.selection_tool":"\u9078\u629E\u30C4\u30FC\u30EB","action.selection_tool.desc":"\u753B\u50CF\u306E\u4E00\u90E8\u3092\u9078\u629E\u3057\u307E\u3059","action.selection_tool.rectangle":"\u9577\u65B9\u5F62","action.selection_tool.ellipse":"\u6955\u5186\u5F62","action.selection_tool.lasso":"\u306A\u3052\u308F","action.selection_tool.wand":"\u9B54\u6CD5\u306E\u6756","action.selection_tool.color":"\u540C\u8272","action.move_layer_tool":"\u30EC\u30A4\u30E4\u30FC\u306E\u79FB\u52D5","action.move_layer_tool.desc":"\u73FE\u5728\u306E\u30EC\u30A4\u30E4\u30FC\u307E\u305F\u306F\u9078\u629E\u7BC4\u56F2\u3092\u79FB\u52D5\u3057\u307E\u3059","action.export_modded_animations":"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","action.export_modded_animations.desc":"Minecraft Java Edition \u306E MOD \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30E2\u30C7\u30EB\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059","action.swap_colors":"\u30B9\u30EF\u30C3\u30D7\u30AB\u30E9\u30FC","action.swap_colors.desc":"\u30E1\u30A4\u30F3\u30AB\u30E9\u30FC\u3068\u30BB\u30AB\u30F3\u30C0\u30EA\u30AB\u30E9\u30FC\u3092\u4EA4\u63DB\u3057\u307E\u3059","action.apply_mesh_rotation":"\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3\u3092\u8A31\u53EF","action.apply_mesh_rotation.desc":"\u30E1\u30C3\u30B7\u30E5\u306E\u56DE\u8EE2\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3001\u4EE3\u308F\u308A\u306B\u30B8\u30AA\u30E1\u30C8\u30EA\u306B\u9069\u7528\u3057\u307E\u3059","action.flip_texture_x.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u307E\u305F\u306F\u30EC\u30A4\u30E4\u30FC\u3092\u6C34\u5E73\u65B9\u5411\u306B\u53CD\u8EE2\u3057\u307E\u3059","action.flip_texture_y.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u307E\u305F\u306F\u30EC\u30A4\u30E4\u30FC\u3092\u5782\u76F4\u65B9\u5411\u306B\u53CD\u8EE2\u3057\u307E\u3059","action.rotate_texture_cw.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u307E\u305F\u306F\u30EC\u30A4\u30E4\u30FC\u3092\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2\u3057\u307E\u3059","action.rotate_texture_ccw.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u307E\u305F\u306F\u30EC\u30A4\u30E4\u30FC\u3092\u53CD\u6642\u8A08\u56DE\u308A\u306B\u56DE\u8EE2\u3057\u307E\u3059","action.crop_texture_to_selection":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30AF\u30ED\u30C3\u30D7","action.create_empty_layer":"\u65B0\u898F\u30EC\u30A4\u30E4\u30FC","action.enable_texture_layers":"\u30EC\u30A4\u30E4\u30FC\u3092\u8A31\u53EF","action.disable_texture_layers":"\u30EC\u30A4\u30E4\u30FC\u3092\u7121\u52B9","action.layer_opacity":"\u30EC\u30A4\u30E4\u30FC\u900F\u660E\u5EA6","action.layer_to_texture_size":"\u30EC\u30A4\u30E4\u30FC\u3092\u62E1\u5F35","action.layer_to_texture_size.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30B5\u30A4\u30BA\u307E\u3067\u30EC\u30A4\u30E4\u30FC\u3092\u62E1\u5927\u3057\u307E\u3059","action.merge_layer_down":"\u30EC\u30A4\u30E4\u30FC\u3092\u7D71\u5408","action.merge_layer_down.desc":"\u4E0B\u306E\u30EC\u30A4\u30E4\u30FC\u3068\u7D71\u5408\u3057\u307E\u3059","action.advanced_screenshot":"\u9AD8\u5EA6\u306A\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8...","action.advanced_screenshot.desc":"\u9AD8\u5EA6\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u30E2\u30C7\u30EB\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u3092\u64AE\u5F71\u3057\u307E\u3059","action.bake_ik_animation":"IK \u30D9\u30A4\u30AF\u51E6\u7406","action.bake_ik_animation.desc":"\u30A4\u30F3\u30D0\u30FC\u30B9\u30AD\u30CD\u30DE\u30C6\u30A3\u30AF\u30B9\u3092\u9069\u7528\u3057\u305F\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306B\u30D9\u30A4\u30AF\u51E6\u7406\u3092\u65BD\u3057\u307E\u3059","action.save_animation_preset":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u4FDD\u5B58...","action.save_animation_preset.desc":"\u9078\u629E\u3057\u305F\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D7\u30EA\u30BB\u30C3\u30C8\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059","action.animation_onion_skin":"\u30A2\u30CB\u30E1\u30FC\u30C8\u30EC\u30A4\u30E4\u30FC\u30B9\u30AD\u30F3","action.animation_onion_skin.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u4E2D\u306E\u306E\u30EF\u30A4\u30E4\u30FC\u30D5\u30EC\u30FC\u30E0\u30D3\u30E5\u30FC\u3092\u53C2\u7167\u7528\u306B\u8868\u793A\u3057\u307E\u3059","action.apply_animation_preset":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u9069\u7528","action.apply_animation_preset.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u30D7\u30EA\u30BB\u30C3\u30C8\u30EA\u30B9\u30C8\u304B\u3089\u9078\u629E\u3057\u3066\u3001\u30DC\u30FC\u30F3\u306B\u9069\u7528\u3057\u307E\u3059","menu.brush_presets.pixel_perfect":"\u30D1\u30FC\u30D5\u30A7\u30AF\u30C8\u30D4\u30AF\u30BB\u30EB\u30D6\u30E9\u30B7","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"\u65B0\u898F\u30EC\u30A4\u30E4\u30FC\u3078","format.image.new":"\u65B0\u898F\u30A4\u30E1\u30FC\u30B8","format.image.info.summary":"2D \u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u3092\u4F7F\u7528\u3059\u308C\u3070\u3001\u5916\u90E8\u30C4\u30FC\u30EB\u3092\u5FC5\u8981\u3068\u305B\u305A\u306B\u3001Blockbench \u3067\u30C6\u30AF\u30B9\u30C1\u30E3\u3084\u30D4\u30AF\u30BB\u30EB\u30A2\u30FC\u30C8\u3092\u4F5C\u6210\u30FB\u7DE8\u96C6\u3067\u304D\u307E\u3059\u3002","settings.move_with_selection_tool":"\u9078\u629E\u30C4\u30FC\u30EB\u3092\u4F7F\u3063\u3066\u9078\u629E\u3057\u305F\u7BC4\u56F2\u3092\u79FB\u52D5\u3057\u307E\u3059","settings.move_with_selection_tool.desc":"\u30EC\u30A4\u30E4\u30FC\u79FB\u52D5\u30C4\u30FC\u30EB\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u306A\u304F\u3001\u9078\u629E\u7BC4\u56F2\u3092\u76F4\u63A5\u79FB\u52D5\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059","settings.final_newline":"\u6539\u884C\u3092\u8FFD\u52A0","settings.final_newline.desc":"\u30D5\u30A1\u30A4\u30EB\u306E\u672B\u5C3E\u306B\u6539\u884C\u3092\u633F\u5165\u3057\u307E\u3059","action.crop_layer_to_selection":"\u30EC\u30A4\u30E4\u30FC\u3092\u9078\u629E\u7BC4\u56F2\u306B\u30C8\u30EA\u30DF\u30F3\u30B0","action.edit_mode_uv_overlay.desc":"\u7DE8\u96C6\u30E2\u30FC\u30C9\u3067 UV \u30DE\u30C3\u30D7\u3092\u30AA\u30FC\u30D0\u30FC\u30EC\u30A4\u3068\u3057\u3066\u8868\u793A\u3057\u307E\u3059","menu.image":"Image","menu.texture.discard_changes":"\u5143\u306B\u623B\u3059","menu.texture.discard_changes.desc":"\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6700\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3059","panel.textures.images":"Images","dialog.advanced":"\u30A2\u30C9\u30D0\u30F3\u30B9\u30C9","dialog.recommended_option":"\u63A8\u5968","modifier_actions.snap_to_center":"\u30BB\u30F3\u30BF\u30FC\u3078\u30B9\u30CA\u30C3\u30D7","modifier_actions.snap_to_pixels":"\u30D4\u30AF\u30BB\u30EB\u3078\u30B9\u30CA\u30C3\u30D7","message.invalid_format.install_plugin":"\u30D7\u30E9\u30B0\u30A4\u30F3 '%0' \u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","message.plugin_deprecated.message":"\u3053\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u306F\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3001\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F","message.plugin_deprecated.install_anyway":"\u7121\u8996\u3057\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB","message.image_editor.not_found":"\u9078\u629E\u3057\u305F\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5225\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002","message.knife_tool.confirm":"\u30CA\u30A4\u30D5\u30C4\u30FC\u30EB\u3092\u4F7F\u3046\u306B\u306F\u3001%0 \u3092\u62BC\u3059\u304B\u3001\u3053\u3061\u3089\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044","message.knife_tool.skipped_face":"\u7570\u306A\u308B\u30D5\u30A7\u30A4\u30B9\u540C\u58EB\u3092\u30AB\u30C3\u30C8\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30AB\u30C3\u30C8\u3059\u308B\u5834\u5408\u306F\u3001\u30A8\u30C3\u30B8\u3084\u9802\u70B9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044","message.optimize_animation.keyframes_removed":"%0 \u500B\u306E\u4F59\u5206\u306A\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u524A\u9664\u3057\u307E\u3057\u305F","message.optimize_animation.nothing_to_optimize":"\u3059\u3067\u306B\u6700\u9069\u5316\u3055\u308C\u3066\u3044\u307E\u3059","message.duplicate_bone_copy_animation.title":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30B3\u30D4\u30FC","message.duplicate_bone_copy_animation.message":"\u8907\u88FD\u3057\u305F\u30DC\u30FC\u30F3\u306F %0 \u3067\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u3092\u65B0\u3057\u3044\u30DC\u30FC\u30F3\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3059\u304B\uFF1F","message.auto_fix_mesh_edit.title":"\u30AA\u30FC\u30C8\u30D5\u30A3\u30C3\u30AF\u30B9","message.auto_fix_mesh_edit.revert":"\u7DE8\u96C6\u3092\u53D6\u308A\u6D88\u3059","message.auto_fix_mesh_edit.overlapping_vertices":"\u3044\u304F\u3064\u304B\u306E\u9802\u70B9\u304C\u540C\u3058\u5834\u6240\u306B\u79FB\u52D5\u3055\u308C\u307E\u3057\u305F\u3002","message.auto_fix_mesh_edit.concave_quads":"\u30D5\u30A7\u30A4\u30B9\u304C\u51F9\u72B6\u306B\u306A\u308A\u3001UV \u30DE\u30C3\u30D4\u30F3\u30B0\u3068\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3067\u554F\u984C\u304C\u767A\u751F\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002Blockbench \u306F\u3053\u308C\u3092\u81EA\u52D5\u7684\u306B\u4FEE\u6B63\u3057\u307E\u3059:","message.auto_fix_mesh_edit.merge_vertices":"\u9802\u70B9\u3092\u30DE\u30FC\u30B8","message.auto_fix_mesh_edit.split_quads":"\u30B9\u30D7\u30EA\u30C3\u30C8\u30AF\u30EF\u30C3\u30C9","message.load_images.add_image":"\u753B\u50CF\u3092\u8FFD\u52A0","dialog.project.modded_entity_entity_class":"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30AF\u30E9\u30B9","dialog.resize_texture.offset":"\u30AA\u30D5\u30BB\u30C3\u30C8","dialog.animated_texture_editor.code_reference":"\u30B3\u30FC\u30C9\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9","dialog.animated_texture_editor.code_reference.about":"\u3053\u306E\u30B3\u30FC\u30C9\u306F\u30C6\u30AF\u30B9\u30C1\u30E3\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u5B9F\u88C5\u3059\u308B\u305F\u3081\u306E\u53C2\u8003\u7528\u306B\u4F5C\u6210\u3055\u308C\u305F\u3082\u306E\u3067\u3042\u308A\u3001\u305D\u306E\u307E\u307E\u3067\u306F\u52D5\u4F5C\u3057\u306A\u3044\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002","dialog.animated_texture_editor.code_reference.docs":"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8","dialog.animated_texture_editor.reframe":"\u30EA\u30D5\u30EC\u30FC\u30E0","dialog.animated_texture_editor.stride":"\u30D5\u30EC\u30FC\u30E0\u30B5\u30A4\u30BA","dialog.animated_texture_editor.frames":"\u30D5\u30EC\u30FC\u30E0\u6570","dialog.animated_texture_editor.add_frame":"\u30D5\u30EC\u30FC\u30E0\u3092\u8FFD\u52A0","dialog.animated_texture_editor.resize_frames":"\u30D5\u30EC\u30FC\u30E0\u3092\u30EA\u30B5\u30A4\u30BA...","dialog.animated_texture_editor.apply":"\u9069\u5FDC","dialog.add_primitive.edge_size":"\u30A8\u30C3\u30B8\u30B5\u30A4\u30BA","dialog.change_animation_speed.speed":"\u30B9\u30D4\u30FC\u30C9","dialog.change_animation_speed.adjust_snapping":"\u30B9\u30CA\u30C3\u30D7\u3092\u8ABF\u6574","dialog.optimize_animation.selection":"\u9078\u629E","dialog.optimize_animation.selection.selected_keyframes":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","dialog.optimize_animation.selection.selected_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3","dialog.optimize_animation.selection.all_animations":"\u3059\u3079\u3066\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3","dialog.optimize_animation.thresholds":"\u5024","dialog.import_obj.obj":"OBJ \u30D5\u30A1\u30A4\u30EB","dialog.import_obj.mtl":"MTL \u30D5\u30A1\u30A4\u30EB","dialog.import_obj.scale":"\u30B9\u30B1\u30FC\u30EB","layout.thumbnail":"\u30AB\u30B9\u30BF\u30E0\u30B5\u30E0\u30CD\u30A4\u30EB CSS","settings.pixel_grid":"\u30D4\u30AF\u30BB\u30EB\u30B0\u30EA\u30C3\u30C8","settings.pixel_grid.desc":"\u30A8\u30C7\u30A3\u30C3\u30C8\u30E2\u30FC\u30C9\u3067\u3001\u30C6\u30AF\u30B9\u30C1\u30E3\u306B\u30D4\u30AF\u30BB\u30EB\u30B0\u30EA\u30C3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059","settings.image_editor_grid_size":"\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u306E\u30B0\u30EA\u30C3\u30C8\u30B5\u30A4\u30BA","settings.image_editor_grid_size.desc":"\u753B\u50CF\u30A8\u30C7\u30A3\u30BF\u306E\u6700\u5927\u30B0\u30EA\u30C3\u30C8\u30B5\u30A4\u30BA\u3092\u5909\u66F4\u3057\u307E\u3059","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM : \u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","settings.optifine_save_default_texture.desc":"\u9078\u629E\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u30E2\u30C7\u30EB\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30C6\u30AF\u30B9\u30C1\u30E3\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059","action.slider_color_select_threshold":"\u30AB\u30E9\u30FC\u9078\u629E\u3057\u304D\u3044\u5024","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"\u30B9\u30C8\u30EC\u30C3\u30C1","action.stretch_tool.desc":"\u8981\u7D20\u3092\u5F15\u304D\u4F38\u3070\u3057\u307E\u3059","action.knife_tool":"\u30CA\u30A4\u30D5","action.knife_tool.desc":"\u30E1\u30C3\u30B7\u30E5\u3092\u5C0F\u3055\u304F\u30AB\u30C3\u30C8\u3057\u307E\u3059","action.duplicate_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u8907\u88FD","action.duplicate_project.desc":"\u9032\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30D4\u30FC\u3092\u4F5C\u6210\u3057\u307E\u3059","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"\u30BD\u30EA\u30C3\u30C8\u5316","action.solidify_mesh_selection.desc":"\u9078\u629E\u3057\u305F\u30D5\u30A7\u30A4\u30B9\u3092\u30BD\u30EA\u30C3\u30C9\u5316\u3057\u307E\u3059","action.animated_texture_editor":"\u30D5\u30EA\u30C3\u30D7\u30D6\u30C3\u30AF\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3...","action.animated_texture_editor.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u30D5\u30EA\u30C3\u30D7\u30D6\u30C3\u30AF\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u8A2D\u5B9A\u3001\u307E\u305F\u306F\u7DE8\u96C6\u3057\u307E\u3059","action.center_individual_pivots":"\u30BB\u30F3\u30BF\u30FC\u30D4\u30DC\u30C3\u30C8","action.center_individual_pivots.desc":"\u9078\u629E\u3057\u305F\u30D4\u30DC\u30C3\u30C8\u30DD\u30A4\u30F3\u30C8\u3092\u4E2D\u5FC3\u306B\u8A2D\u5B9A\u3057\u307E\u3059","action.uv_cycle":"\u30B5\u30A4\u30AF\u30EB UV","action.uv_cycle.desc":"UV \u9802\u70B9\u306E\u9806\u5E8F\u3092\u5FAA\u74B0\u3057\u307E\u3059","action.uv_cycle_invert":"\u9006\u30B5\u30A4\u30AF\u30EB UV","action.uv_cycle_invert.desc":"UV \u9802\u70B9\u306E\u9806\u5E8F\u3092\u9006\u306B\u3057\u307E\u3059","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u306E\u518D\u751F\u901F\u5EA6","action.optimize_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u6700\u9069\u5316","action.optimize_animation.desc":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0\u306E\u6570\u3092\u6E1B\u3089\u3057\u3066\u3001\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u6700\u9069\u5316\u3057\u307E\u3059","action.change_animation_speed":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30B9\u30D4\u30FC\u30C9\u3092\u5909\u66F4...","action.change_animation_speed.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306E\u518D\u751F\u901F\u5EA6\u3092\u5909\u66F4\u3057\u307E\u3059","timeline.select_particle_file":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E","timeline.select_sound_file":"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E","menu.cube.texture.default":"\u30C7\u30D5\u30A9\u30EB\u30C8","menu.texture.particle.clear":"\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u3092\u4F7F\u7528\u3057\u306A\u3044","menu.texture.use_as_default":"\u30C7\u30D5\u30A9\u30EB\u30C8\u306B\u8A2D\u5B9A","menu.texture.use_as_default.clear":"\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u89E3\u9664","menu.toolbar.overflow":"\u30C4\u30FC\u30EB\u30D0\u30FC\u30D5\u30ED\u30FC","edit.solidify_mesh_selection.thickness":"\u30C6\u30A3\u30C3\u30AF\u30CD\u30B9","reference_image.sync_to_timeline":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306B\u540C\u671F","reference_image.toggle_playback":"\u30D7\u30EC\u30A4/\u30DD\u30FC\u30BA","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"\u3059\u3079\u3066\u7121\u8996","data.texture_group":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30B0\u30EB\u30FC\u30D7","data.animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D \u30D7\u30EA\u30F3\u30C8","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"\u5927\u304D\u3055","dialog.expand_texture_selection.corner":"\u30B3\u30FC\u30CA\u30FC\u30B7\u30A7\u30A4\u30D7","dialog.expand_texture_selection.corner.round":"\u89D2\u5EA6","dialog.expand_texture_selection.corner.square":"\u56DB\u89D2\u5F62","dialog.expand_texture_selection.corner.manhattan":"\u30DE\u30F3\u30CF\u30C3\u30BF\u30F3","dialog.merge_animation.merge_target":"\u30DE\u30FC\u30B8","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"\u30EA\u30AB\u30D0\u30EA\u30FC\u30DD\u30A4\u30F3\u30C8\u9593\u9694","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"\u30BF\u30D6\u3054\u3068\u306B\u30D3\u30E5\u30FC\u3092\u4FDD\u5B58","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"\u9078\u629E-\u8907\u6570","keybind.preview_select.group_select":"\u9078\u629E-\u30B0\u30EB\u30FC\u30D7","keybind.preview_select.loop_select":"\u9078\u629E-\u30EB\u30FC\u30D7","action.fill_mode.selection":"\u9078\u629E","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"\u30BF\u30A4\u30EB\u8868\u793A","action.image_tiled_view.description":"2D \u30A8\u30C7\u30A3\u30BF\u3067\u30BF\u30A4\u30EB\u8868\u793A\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"2D \u30A8\u30C7\u30A3\u30BF\u3067\u30AA\u30CB\u30AA\u30F3\u30B9\u30AD\u30F3\u8868\u793A\u3092\u6709\u52B9\u306B\u3057\u307E\u3059","action.expand_texture_selection":"\u30C6\u30AF\u30B9\u30C1\u30E3\u9078\u629E\u7BC4\u56F2\u306E\u62E1\u5F35","action.expand_texture_selection.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u306E\u9078\u629E\u7BC4\u56F2\u3092\u62E1\u5927\u307E\u305F\u306F\u7E2E\u5C0F\u3057\u307E\u3059","action.switch_tabs.reverse_order":"\u9006\u9806","action.save_project_incremental":"Increment \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4FDD\u5B58","action.save_project_incremental.desc":"\u73FE\u5728\u306E\u30E2\u30C7\u30EB\u3092\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A4\u30F3\u30AF\u30EA\u30E1\u30F3\u30C8\u4ED8\u304D\u3067\u4FDD\u5B58\u3057\u307E\u3059 (ex: project_2.bbmodel)","action.copy.multiple":"\u3059\u3079\u3066\u30B3\u30D4\u30FC","action.copy.multiple.desc":"\u5229\u7528\u53EF\u80FD\u306A\u3059\u3079\u3066\u306E\u30C7\u30FC\u30BF\u3092\u500B\u5225\u306B\u30B3\u30D4\u30FC\u3057\u307E\u3059","action.paste.multiple":"\u3059\u3079\u3066\u8CBC\u308A\u4ED8\u3051","action.randomize_marker_colors":"\u30E9\u30F3\u30C0\u30E0\u306A\u30DE\u30FC\u30AB\u30FC\u30AB\u30E9\u30FC","action.cube_light_emission":"\u5149\u6E90\u30EC\u30D9\u30EB","action.cube_light_emission.desc":"\u9078\u629E\u3057\u305F\u30AD\u30E5\u30FC\u30D6\u306E\u767A\u5149\u30EC\u30D9\u30EB\u3092 0 ~ 15 \u306E\u5024\u3067\u5909\u66F4\u3057\u307E\u3059,","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"\u30ED\u30FC\u30C6\u30FC\u30C8\u306E\u307F","action.create_texture_group":"\u30C6\u30AF\u30B9\u30C1\u30E3\u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210","action.create_texture_group.desc":"\u30C6\u30AF\u30B9\u30C1\u30E3\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210\u3057\u307E\u3059","action.uv_maximize.all_faces":"\u3059\u3079\u3066\u306E\u30D5\u30A7\u30A4\u30B9\u306B\u9069\u7528","action.retarget_animators":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30EA\u30BF\u30FC\u30B2\u30C3\u30C8","action.retarget_animators.desc":"\u30A2\u30CB\u30E1\u30FC\u30BF\u30FC\u304C\u65B0\u305F\u306B\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u518D\u9078\u629E\u3057\u307E\u3059","action.merge_animation":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u30DE\u30FC\u30B8","action.merge_animation.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u3092\u5225\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u306B\u7D50\u5408\u3057\u307E\u3059","action.add_keyframe.reset_values":"\u30C7\u30D5\u30A9\u30EB\u30C8\u5024","action.set_timeline_range_start":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u958B\u59CB\u70B9\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.set_timeline_range_start.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3067\u518D\u751F\u7BC4\u56F2\u306E\u958B\u59CB\u70B9\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.set_timeline_range_end":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u7D42\u70B9\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.set_timeline_range_end.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u3067\u518D\u751F\u7BC4\u56F2\u306E\u7D42\u70B9\u3092\u8A2D\u5B9A\u3057\u307E\u3059","action.disable_timeline_range":"\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u7BC4\u56F2\u3092\u7121\u52B9","action.disable_timeline_range.desc":"\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u306E\u30AB\u30B9\u30BF\u30E0\u518D\u751F\u7BC4\u56F2\u3092\u7121\u52B9\u306B\u3057\u307E\u3059","menu.texture_group.resolve":"\u78BA\u5B9A","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"\u30D5\u30EC\u30FC\u30E0","menu.image_onion_skin_view.frame.last_viewed":"\u524D\u56DE\u306E\u30D5\u30EC\u30FC\u30E0","menu.image_onion_skin_view.frame.previous":"\u524D\u306E\u30D5\u30EC\u30FC\u30E0","menu.image_onion_skin_view.frame.next":"\u6B21\u306E\u30D5\u30EC\u30FC\u30E0","menu.image_onion_skin_view.frame.both":"\u6BD4\u8F03","menu.image_onion_skin_view.display":"\u8868\u793A","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"\u900F\u660E","menu.image_onion_skin_view.above":"\u4E0A\u90E8\u306B\u8868\u793A","menu.animation.reload":"\u30EA\u30ED\u30FC\u30C9","switches.autouv.alt":"\u76F8\u5BFE","display.rotation_pivot":"\u30D4\u30DC\u30C3\u30C8\u30ED\u30FC\u30C6\u30FC\u30B7\u30E7\u30F3","display.scale_pivot":"\u30D4\u30DC\u30C3\u30C8\u30B9\u30B1\u30FC\u30EB","display.reference.fox":"\u30AD\u30C4\u30CD","display.reference.eating":"\u98DF\u3079\u308B","preview_scene.sky":"\u7A7A","preview_scene.space":"\u30B9\u30DA\u30FC\u30B9","preview_scene.minecraft_ocean":"\u6D77","message.import_palette.selection_only":"\u9078\u629E\u306E\u307F","dialog.blend_transition_edit.ease_in_out":"\u30A4\u30FC\u30BA\u30A4\u30F3\u30A2\u30A6\u30C8 (%0)","dialog.blend_transition_edit.generate":"\u751F\u6210\u3059\u308B...","dialog.blend_transition_edit.generate.learn_more":"\u8A73\u7D30\u60C5\u5831\u3068\u30D7\u30EC\u30D3\u30E5\u30FC","dialog.blend_transition_edit.generate.curve":"\u30A4\u30FC\u30B8\u30F3\u30B0\u30BF\u30A4\u30D7","dialog.blend_transition_edit.generate.steps":"\u30AD\u30FC\u30D5\u30EC\u30FC\u30E0","settings.fps_limit":"\u30D5\u30EC\u30FC\u30E0\u30EC\u30FC\u30C8","settings.fps_limit.desc":"Blockbench \u304C 1 \u79D2\u3042\u305F\u308A\u306B\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3059\u308B\u30D5\u30EC\u30FC\u30E0\u6570\u3092\u5236\u9650\u3057\u307E\u3059\u3002\u5B9F\u969B\u306E\u30D5\u30EC\u30FC\u30E0\u30EC\u30FC\u30C8\u306F\u3001\u304A\u4F7F\u3044\u306E\u30C7\u30D0\u30A4\u30B9\u306B\u3088\u3063\u3066\u5909\u52D5\u3057\u307E\u3059\u3002","settings.outliner_reveal_on_select":"\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u30CF\u30A4\u30E9\u30A4\u30C8","settings.outliner_reveal_on_select.desc":"\u9078\u629E\u3055\u308C\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u30CF\u30A4\u30E9\u30A4\u30C8\u8868\u793A\u3057\u307E\u3059","settings.java_export_pivots":"java block/item \u3092\u30D4\u30DC\u30C3\u30C8\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","settings.java_export_pivots.desc":"\u30AD\u30E5\u30FC\u30D6\u4E0A\u306E Java \u30D6\u30ED\u30C3\u30AF/\u30A2\u30A4\u30C6\u30E0\u30E2\u30C7\u30EB\u306E\u30D4\u30DC\u30C3\u30C8\u30DD\u30A4\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u307E\u3059","animation_controllers.state.blend_transition_curve":"\u30D6\u30EC\u30F3\u30C9\u9077\u79FB\u66F2\u7DDA","menu.slider.reset_vector":"\u30D9\u30AF\u30C8\u30EB\u3092\u30EA\u30BB\u30C3\u30C8","dialog.blend_transition_edit.extended":"\u62E1\u5F35\u30B0\u30E9\u30D5","message.screenshot_too_large.title":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u89E3\u50CF\u5EA6\u30A8\u30E9\u30FC","message.screenshot_too_large.message":"\u30B9\u30AF\u30EA\u30FC\u30F3\u30B7\u30E7\u30C3\u30C8\u304C\u3046\u307E\u304F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u89E3\u50CF\u5EA6\u3092\u4E0B\u3052\u308B\u304B\u3001\u30B9\u30FC\u30D1\u30FC\u30B5\u30F3\u30D7\u30EA\u30F3\u30B0\u3092\u30AA\u30D5\u306B\u3057\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002","message.rename_elements.numbering":"\u9023\u756A\u3092\u751F\u6210\u3059\u308B\u969B\u306B\u3001\u7279\u6B8A\u6587\u5B57\u3092\u6D3B\u7528\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059: % \u3092\u4F7F\u3046\u3068\u3001\u30B0\u30EB\u30FC\u30D7\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u53D6\u5F97\u3067\u304D\u3001 $ \u3092\u4F7F\u3046\u3068\u3001\u9078\u629E\u7BC4\u56F2\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u53D6\u5F97\u3059\u308B\u3053\u3068\u304C\u51FA\u6765\u307E\u3059\u3002","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"\u518D\u8D77\u52D5\u304C\u5FC5\u8981\u3067\u3059","message.settings_require_restart.message":"\u4E00\u90E8\u306E\u8A2D\u5B9A\u306F\u3001\u30A2\u30D7\u30EA\u3092\u518D\u8D77\u52D5\u3057\u305F\u3042\u3068\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002","message.settings_require_restart.restart_now":"\u4ECA\u3059\u3050\u518D\u8D77\u52D5","message.settings_require_restart.restart_later":"\u3042\u3068\u3067\u518D\u8D77\u52D5","message.classroom_mode.install_plugin":"\u30AF\u30E9\u30B9\u30EB\u30FC\u30E0\u30E2\u30FC\u30C9\u3067\u306F\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3067\u304D\u307E\u305B\u3093","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"\u3059\u3079\u3066\u9078\u629E","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"\u524A\u9664","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"UV \u30DF\u30E9\u30FC\u30EA\u30F3\u30B0\u3092\u7121\u52B9","dialog.create_texture.disable_mirror_uv.desc":"\u30DF\u30E9\u30FC\u30E2\u30C7\u30EA\u30F3\u30B0\u306E UV \u30DF\u30E9\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3001\u30D5\u30A7\u30A4\u30B9\u3054\u3068\u306B\u500B\u5225\u306E UV \u3092\u4FDD\u5B58\u3057\u307E\u3059","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB","settings.classroom_mode":"\u30AF\u30E9\u30B9\u30EB\u30FC\u30E0\u30E2\u30FC\u30C9","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"\u30C8\u30FC\u30F3\u30DE\u30C3\u30D4\u30F3\u30B0","settings.tone_mapping.desc":"PBR \u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306B\u30CF\u30A4\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30EC\u30F3\u30B8\u3092\u8868\u793A\u3057\u307E\u3059\u3002","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u56DE\u8EE2\u901F\u5EA6","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u30BA\u30FC\u30E0\u901F\u5EA6","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D \u30A8\u30C7\u30A3\u30BF\u306E\u30BA\u30FC\u30E0\u901F\u5EA6","settings.editor_2d_zoom_speed.desc":"UV \u304A\u3088\u3073 2D \u30DA\u30A4\u30F3\u30C8\u30A8\u30C7\u30A3\u30BF\u3067\u30BA\u30FC\u30E0\u3059\u308B\u3068\u304D\u306E\u901F\u5EA6\u3092\u5909\u66F4\u3057\u307E\u3059","category.select":"Select","action.vertex_snap_mode.rotate":"\u56DE\u8EE2","action.export_image":"\u753B\u50CF\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"\u30DE\u30C6\u30EA\u30A2\u30EB\u3092\u30D7\u30EC\u30D3\u30E5\u30FC","action.create_material":"\u30DE\u30C6\u30EA\u30A2\u30EB\u3092\u4F5C\u6210","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"\u30CE\u30FC\u30DE\u30EB","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move to","menu.panel.move_to.left_bar":"Left Side","menu.panel.move_to.right_bar":"Right Side","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"\u30D5\u30EC\u30FC\u30E0","menu.animation_onion_skin.select":"\u9078\u629E","menu.animation_onion_skin.previous":"\u524D","menu.animation_onion_skin.next":"\u6B21","menu.animation_onion_skin.previous_next":"\u524D + \u6B21","menu.animation_onion_skin.count":"\u30AB\u30A6\u30F3\u30C8","menu.animation_onion_skin.interval":"\u30A4\u30F3\u30BF\u30FC\u30D0\u30EB","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"\u30E6\u30CB\u30C3\u30C8","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"\u65B9\u5411","edit.extrude_mesh_selection.direction.outwards":"\u5916\u5074","edit.extrude_mesh_selection.direction.average":"\u5E73\u5747","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"\u6574\u5217","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 \u8EF8","edit.vertex_snap.ignore_axis":"%0 \u8EF8\u3092\u7121\u8996","codec.common.format":"Format","codec.image.quality":"\u30AF\u30AA\u30EA\u30C6\u30A3","panel.collections":"Collections","modifier_actions.always":"\u5E38\u306B\u6709\u52B9","modifier_actions.unless":"%0 \u3092\u9664\u304F","settings.undo_selections":"\u5DFB\u304D\u623B\u3057\u9078\u629E","settings.undo_selections.desc":"\u5DFB\u304D\u623B\u3057\u305F\u5909\u66F4\u3092\u3001\u30B9\u30C6\u30C3\u30D7\u3054\u3068\u306B\u8FFD\u8DE1\u3057\u307E\u3059","action.focus_on_selection.zoom":"\u30A6\u30A3\u30F3\u30C9\u30A6\u306B\u30D5\u30A3\u30C3\u30C8","display.reference.tooting":"\u89D2\u7B1B\u3092\u5439\u304F","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"\u30E1\u30C3\u30B7\u30E5","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var ML={"dialog.ok":"\uD655\uC778","dialog.cancel":"\uCDE8\uC18C","dialog.confirm":"\uD655\uC778","dialog.close":"\uB2EB\uAE30","dialog.import":"\uAC00\uC838\uC624\uAE30","dialog.save":"\uC800\uC7A5\uD558\uAE30","dialog.discard":"\uB098\uAC00\uAE30","dialog.dontshowagain":"\uB2E4\uC2DC \uBCF4\uC9C0 \uC54A\uAE30","data.cube":"\uD050\uBE0C","data.group":"\uADF8\uB8F9","data.texture":"\uD14D\uC2A4\uCCD0","data.plugin":"\uD50C\uB7EC\uADF8\uC778","data.preview":"\uBBF8\uB9AC\uBCF4\uAE30","data.toolbar":"\uB3C4\uAD6C \uCC3D","data.image":"\uC774\uBBF8\uC9C0","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"\uCEE4\uB9E8\uB4DC \uD0A4","keys.delete":"Delete","keys.space":"Space","keys.leftclick":"\uC67C\uCABD \uB9C8\uC6B0\uC2A4 \uD074\uB9AD","keys.middleclick":"\uAC00\uC6B4\uB370 \uB9C8\uC6B0\uC2A4 \uD074\uB9AD","keys.rightclick":"\uC624\uB978\uCABD \uB9C8\uC6B0\uC2A4 \uD074\uB9AD","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"\uD0A4\uD328\uB4DC %0","keys.caps":"Capslock","keys.menu":"Menu","keys.left":"\u2190","keys.up":"\u2191","keys.right":"\u2192","keys.down":"\u2193","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"+","keys.comma":",","keys.point":".","keys.minus":"-","keys.cross":"+","keys.end":"End","keys.pos1":"\uC704\uCE58 1","keys.printscreen":"Print Screen","keys.pause":"\uC77C\uC2DC \uC815\uC9C0","message.rotation_limit.title":"\uAC01\uB3C4 \uC81C\uD55C","message.rotation_limit.message":'\uB9C8\uC778\uD06C\uB798\uD504\uD2B8\uC5D0\uC11C\uB294 \uAC01\uC744 22.5\uB3C4\uC529\uB9CC \uC870\uC808\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB610\uD55C \uD68C\uC804\uC740 \uD55C \uBC29\uD5A5\uC73C\uB85C\uB9CC \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uBAA9\uC801\uC73C\uB85C \uC790\uC720 \uD68C\uC804\uC744 \uC774\uC6A9 \uD558\uACE0\uC2F6\uB2E4\uBA74 \uBAA8\uB378\uC744 "\uC790\uC720 \uBAA8\uB378"\uB85C \uBCC0\uD658\uD558\uC2ED\uC2DC\uC624.',"message.file_not_found.title":"\uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4","message.file_not_found.message":"\uC9C0\uC815\uB41C \uD30C\uC77C\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD074\uB77C\uC6B0\uB4DC \uAC19\uC740 \uAC00\uC0C1 \uD3F4\uB354\uC5D0 \uC800\uC7A5\uB41C \uD30C\uC77C\uC774 \uC544\uB2CC\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624.","message.screenshot.title":"\uC2A4\uD06C\uB9B0\uC0F7","message.screenshot.clipboard":"\uD074\uB9BD\uBCF4\uB4DC","message.screenshot.right_click":"\uB9C8\uC6B0\uC2A4 \uC624\uB978\uCABD \uBC84\uD2BC\uC73C\uB85C \uD074\uB9AD\uD558\uAC70\uB098 \uAE38\uAC8C \uB20C\uB7EC \uC2A4\uD06C\uB9B0\uC0F7 \uBCF5\uC0AC\uD558\uAE30","message.invalid_file.title":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD30C\uC77C","message.invalid_file.message":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 .json \uD30C\uC77C : %0","message.invalid_model.title":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uBAA8\uB378 \uD30C\uC77C","message.invalid_model.message":"\uC774 \uD30C\uC77C\uC740 \uBAA8\uB378\uC5D0 \uAD00\uB828\uB41C \uD30C\uC77C\uC774 \uC544\uB2D9\uB2C8\uB2E4.","message.child_model_only.title":"\uBE44\uC5B4\uC788\uB294 \uC790\uC2DD \uBAA8\uB378","message.child_model_only.message":"\uC774 \uD30C\uC77C\uC740 %0\uC758 \uC790\uC2DD \uBAA8\uB378\uC774\uBA70 \uB0B4\uC6A9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","message.unsaved_textures.title":"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uD14D\uC2A4\uCCD0","message.unsaved_textures.message":"\uB2F9\uC2E0\uC758 \uBAA8\uB378\uC5D0\uB294 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC740 \uD14D\uC2A4\uCCD0\uAC00 \uD3EC\uD568\uB418\uC5B4\uC788\uC2B5\uB2C8\uB2E4. \uB9AC\uC18C\uC2A4\uD329 \uB0B4\uBD80\uC758 \uC54C\uB9DE\uB294 \uD3F4\uB354\uC5D0 \uD14D\uC2A4\uCCD0\uB97C \uC0BD\uC785\uD558\uC2ED\uC2DC\uC624.","message.model_clipping.title":"\uBAA8\uB378\uC774 \uB108\uBB34 \uD06C\uBA74 \uACBD\uACE0","message.model_clipping.message":'"%0"\uB85C \uC9C0\uC815\uB41C \uD050\uBE0C\uAC003x3x3 \uD06C\uAE30 \uC81C\uD55C\uC744 \uB118\uC5B4\uAC00\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uBAA8\uB378\uC740 \uB9C8\uC778\uD06C\uB798\uD504\uD2B8\uC5D0\uC11C \uC0AC\uC6A9\uC774 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4.',"message.loose_texture.title":"\uD14D\uC2A4\uCCD0 \uAC00\uC838\uC624\uAE30","message.loose_texture.message":"\uBC29\uAE08 \uBD88\uB7EC\uC628 \uD14D\uC2A4\uCCD0\uB294 \uC633\uC9C0 \uC54A\uC740 \uACBD\uB85C\uC5D0 \uC788\uC2B5\uB2C8\uB2E4. \uB9C8\uC778\uD06C\uB798\uD504\uD2B8\uC5D0\uC11C \uC815\uC0C1\uC801\uC73C\uB85C \uBD88\uB7EC\uB0B4\uAE30 \uC704\uD574\uC11C\uB294 \uB9AC\uC18C\uC2A4\uD329 \uD3F4\uB354 \uB0B4\uBD80\uC5D0 \uD14D\uC2A4\uCCD0\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.","message.loose_texture.change":"\uACBD\uB85C \uBCC0\uACBD\uD558\uAE30","message.update_res.title":"\uD14D\uC2A4\uCCD0 \uD574\uC0C1\uB3C4","message.update_res.message":"\uD504\uB85C\uC81D\uD2B8 \uD574\uC0C1\uB3C4\uB97C \uC774 \uD14D\uC2A4\uCCD0\uC758 \uD574\uC0C1\uB3C4\uB85C \uC5C5\uB370\uC774\uD2B8 \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uD14D\uC2A4\uCCD0\uC758 \uD574\uC0C1\uB3C4\uAC00 \uD504\uB85C\uC81D\uD2B8\uBCF4\uB2E4 \uB192\uC740 \uACBD\uC6B0 '\uCDE8\uC18C'\uB97C \uD074\uB9AD\uD558\uC2ED\uC2DC\uC624.","message.update_res.update":"\uC5C5\uB370\uC774\uD2B8","message.bedrock_overwrite_error.message":"Blockbench\uAC00 \uC774\uC804 \uBAA8\uB378\uACFC \uC774 \uBAA8\uB378\uC744 \uD569\uCE58\uB294\uB370 \uC2E4\uD328\uD568","message.bedrock_overwrite_error.backup_overwrite":"\uBC31\uC5C5 \uB9CC\uB4E4\uACE0 \uB36E\uC5B4\uC4F0\uAE30","message.bedrock_overwrite_error.overwrite":"\uB36E\uC5B4\uC4F0\uAE30","message.close_warning.message":"\uBAA8\uB378\uC744 \uC800\uC7A5\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.close_warning.web":"\uC9C4\uD589\uB41C \uC791\uC5C5\uC744 \uC783\uC744 \uAC83\uC785\uB2C8\uB2E4. \uC800\uC7A5\uD558\uC9C0 \uC54A\uACE0 \uB098\uAC00\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.default_textures.title":"\uAE30\uBCF8 \uD14D\uC2A4\uCCD0","message.default_textures.message":'\uBC14\uB2D0\uB77C \uB9AC\uC18C\uC2A4\uD329\uC758 "textures" \uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694',"message.default_textures.detail":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uB0B4\uBD80\uC758 jar \uD30C\uC77C\uC5D0\uC11C \uAE30\uBCF8 \uB9AC\uC18C\uC2A4\uD329\uC744 \uCD94\uCD9C\uD558\uAC70\uB098 \uC6F9\uC5D0\uC11C \uB2E4\uC6B4\uB85C\uB4DC \uD558\uC2ED\uC2DC\uC624. \uADF8\uB7F0 \uB2E4\uC74C textures \uD3F4\uB354\uB97C \uCC3E\uC544 \uC5EC\uC2ED\uC2DC\uC624. Blockbench\uAC00 \uD574\uB2F9 \uC704\uCE58\uB97C \uAE30\uC5B5\uD558\uACE0 \uD604\uC7AC \uB9AC\uC18C\uC2A4 \uD329\uC5D0\uC11C \uCC3E\uC744 \uC218\uC5C6\uB294 \uACBD\uC6B0 \uAE30\uBCF8 \uB9AC\uC18C\uC2A4\uD329\uC5D0\uC11C \uD14D\uC2A4\uCCD0\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.","message.default_textures.select":'\uAE30\uBCF8 "textures" \uD3F4\uB354\uB97C \uC120\uD0DD\uD558\uC138\uC694',"message.image_editor.title":"\uC774\uBBF8\uC9C0 \uD3B8\uC9D1 \uD504\uB85C\uADF8\uB7A8 \uC120\uD0DD\uD558\uAE30","message.image_editor.file":"\uD30C\uC77C \uC5F4\uAE30...","message.image_editor.exe":"\uC2E4\uD589 \uAC00\uB2A5\uD55C \uC774\uBBF8\uC9C0 \uD3B8\uC9D1 \uD504\uB85C\uADF8\uB7A8 \uC120\uD0DD\uD558\uAE30","message.display_skin.title":"\uC2A4\uD0A8 \uD45C\uC2DC","message.display_skin.message":"\uD50C\uB808\uC774\uC5B4 \uC774\uB984\uC744 \uC4F0\uAC70\uB098 \uCEF4\uD4E8\uD130\uC5D0\uC11C \uD30C\uC77C\uC744 \uACE8\uB77C \uC2A4\uD0A8 \uBCC0\uACBD","message.display_skin.upload":"\uC2A4\uD0A8 \uC800\uC7A5","message.display_skin.reset":"\uCD08\uAE30\uD654","message.invalid_plugin":"\uC798\uBABB\uB41C \uD50C\uB7EC\uADF8\uC778\uC785\uB2C8\uB2E4. \uCF58\uC194\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624","message.load_plugin_app":"\uC774 \uD50C\uB7EC\uADF8\uC778\uC774 \uB2F9\uC2E0\uC758 \uCEF4\uD4E8\uD130\uB97C \uBCC0\uACBD\uD560 \uC218 \uC788\uB3C4\uB85D \uD558\uC6A9\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uC2E0\uB8B0\uD560 \uC218 \uC788\uB294 \uD50C\uB7EC\uADF8\uC778\uB9CC \uBD88\uB7EC\uC624\uC2ED\uC2DC\uC624.","message.load_plugin_web":"\uC774 \uD50C\uB7EC\uADF8\uC778\uC744 \uBD88\uB7EC\uC62C\uAE4C\uC694? \uC2E0\uB8B0\uD560 \uC218 \uC788\uB294 \uD50C\uB7EC\uADF8\uC778\uB9CC \uBD88\uB7EC\uC624\uC2ED\uC2DC\uC624.","message.preset_no_info":"\uC0AC\uC804 \uC124\uC815\uC5D0\uC11C \uC774 \uC2AC\uB86F\uC5D0 \uB300\uD55C \uC815\uBCF4\uAC00 \uC5C6\uC74C","message.restart_to_update":"Blockbench \uC7AC\uC2DC\uC791","message.save_file":"%0\uB97C \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4","dialog.project.title":"\uD504\uB85C\uC81D\uD2B8","dialog.project.name":"\uD30C\uC77C \uC774\uB984","dialog.project.parent":"\uBD80\uBAA8 \uBAA8\uB378","dialog.project.geoname":"\uBAA8\uB378 \uC2DD\uBCC4\uC790","dialog.project.ao":"\uC570\uBE44\uC5B8\uD2B8 \uC624\uD074\uB8E8\uC804","dialog.texture.title":"\uD14D\uC2A4\uCCD0","dialog.texture.variable":"\uBCC0\uC218","dialog.texture.namespace":"\uC774\uB984 \uACF5\uAC04","dialog.texture.folder":"\uD3F4\uB354","dialog.extrude.title":"\uC774\uBBF8\uC9C0 \uC555\uCD9C","dialog.extrude.mode":"\uC77D\uAE30 \uBAA8\uB4DC","dialog.extrude.mode.areas":"\uC601\uC5ED","dialog.extrude.mode.lines":"\uC120","dialog.extrude.mode.columns":"\uC5F4","dialog.extrude.mode.pixels":"\uD53D\uC140","dialog.extrude.opacity":"\uCD5C\uC18C \uD22C\uBA85\uB3C4","dialog.extrude.scan":"\uC77D\uAE30 \uBC0F \uAC00\uC838\uC624\uAE30","dialog.display_preset.title":"\uC0AC\uC804 \uC124\uC815 \uCD94\uAC00","dialog.display_preset.message":"\uC800\uC7A5\uD558\uACE0 \uC2F6\uC740 \uC2AC\uB86F \uC120\uD0DD","dialog.display_preset.create":"\uB9CC\uB4E4\uAE30","dialog.select.title":"\uC120\uD0DD","dialog.select.group":"\uC120\uD0DD\uB41C \uADF8\uB8F9","dialog.select.name":"\uC774\uB984 \uD3EC\uD568","dialog.select.random":"\uB79C\uB364","dialog.select.select":"\uC120\uD0DD","dialog.scale.title":"\uBAA8\uB378 \uD06C\uAE30","dialog.scale.axis":"\uCD95","dialog.scale.clipping":"\uBAA8\uB378 \uD074\uB9AC\uD551: \uBAA8\uB378\uC774 \uCE94\uBC84\uC2A4\uBCF4\uB2E4 \uB108\uBB34 \uD07D\uB2C8\uB2E4.","dialog.scale.confirm":"\uD06C\uAE30","dialog.plugins.title":"\uD50C\uB7EC\uADF8\uC778","dialog.plugins.installed":"\uC124\uCE58\uB41C \uD50C\uB7EC\uADF8\uC778","dialog.plugins.available":"\uD65C\uC131\uD654\uB41C \uD50C\uB7EC\uADF8\uC778","dialog.plugins.install":"\uD50C\uB7EC\uADF8\uC778 \uC124\uCE58","dialog.plugins.uninstall":"\uD50C\uB7EC\uADF8\uC778 \uC81C\uAC70","dialog.plugins.reload":"\uD50C\uB7EC\uADF8\uC778 \uC0C8\uB85C\uACE0\uCE68","dialog.plugins.none_installed":"\uC124\uCE58\uB41C \uD50C\uB7EC\uADF8\uC778\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","dialog.plugins.none_available":"\uD65C\uC131\uD654\uB41C \uD50C\uB7EC\uADF8\uC778\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.","dialog.plugins.web_only":"\uC6F9 \uBC84\uC804 \uC804\uC6A9","dialog.plugins.app_only":"\uC124\uCE58 \uBC84\uC804 \uC804\uC6A9","dialog.plugins.author":"\uC81C\uC791 : %0","dialog.create_texture.folder":"\uD3F4\uB354","dialog.create_texture.resolution":"\uD14D\uC2A4\uCCD0 \uD574\uC0C1\uB3C4","dialog.input.title":"\uC785\uB825","dialog.settings.settings":"\uC124\uC815","dialog.settings.keybinds":"\uD0A4 \uC124\uC815","dialog.settings.about":"\uC815\uBCF4","layout.color.back":"\uB4A4\uB85C","layout.color.back.desc":"\uBC30\uACBD \uBC0F \uC785\uB825\uCC3D","layout.color.dark":"\uC5B4\uB450\uC6C0","layout.color.dark.desc":"\uCE94\uBC84\uC2A4 \uBC30\uACBD","layout.color.ui":"UI","layout.color.ui.desc":"\uC8FC \uD654\uBA74 \uC0C9\uC0C1","layout.color.bright_ui":"\uBC1D\uC740 UI","layout.color.bright_ui.desc":"\uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274 \uBC0F \uD234\uD301","layout.color.button":"\uBC84\uD2BC","layout.color.button.desc":"\uBC84\uD2BC\uACFC \uC2A4\uC704\uCE58","layout.color.selected":"\uC120\uD0DD\uB428","layout.color.selected.desc":"\uC120\uD0DD \uCC3D \uBC0F \uAC1D\uCCB4","layout.color.border":"\uACBD\uACC4","layout.color.border.desc":"\uC785\uB825\uCC3D \uBC0F \uBC84\uD2BC\uC758 \uD14C\uB450\uB9AC","layout.color.accent":"\uAC15\uC870","layout.color.accent.desc":"\uC2AC\uB77C\uC774\uB354 \uBC14 \uBC0F \uC138\uBD80\uC0AC\uD56D","layout.color.grid":"\uACA9\uC790","layout.color.grid.desc":"3D \uBBF8\uB9AC\uBCF4\uAE30 \uACA9\uC790","layout.color.text":"\uD14D\uC2A4\uD2B8","layout.color.text.desc":"\uC77C\uBC18 \uD14D\uC2A4\uD2B8","layout.color.light":"\uBE5B","layout.color.light.desc":"\uD558\uC774\uB77C\uC774\uD2B8 \uAE00\uC528","layout.color.accent_text":"\uAC15\uC870\uB41C \uAE00\uC528","layout.color.accent_text.desc":"\uBC1D\uAC70\uB098 \uAC15\uC870\uB41C \uC694\uC18C\uC758 \uD14D\uC2A4\uD2B8","layout.font.main":"\uC8FC \uD3F0\uD2B8","layout.font.headline":"\uD5E4\uB4DC\uB77C\uC778 \uD3F0\uD2B8","about.version":"\uBC84\uC804:","settings.category.general":"\uC77C\uBC18","settings.category.preview":"\uBBF8\uB9AC\uBCF4\uAE30","settings.category.grid":"\uACA9\uC790","settings.category.edit":"\uD3B8\uC9D1","settings.category.snapping":"\uC2A4\uB0B4\uD551","settings.category.defaults":"\uAE30\uBCF8","settings.category.dialogs":"\uB300\uD654 \uC0C1\uC790","settings.category.export":"\uB0B4\uBCF4\uB0B4\uAE30 \uC124\uC815","settings.language":"\uC5B8\uC5B4","settings.language.desc":"\uC5B8\uC5B4. \uBCC0\uACBD \uC0AC\uD56D\uC744 \uC801\uC6A9\uD558\uB824\uBA74 Blockbench \uC7AC\uC2DC\uC791 \uD544\uC694","settings.backup_interval":"\uBC31\uC5C5 \uC8FC\uAE30","settings.backup_interval.desc":"\uBD84\uB2F9 \uC790\uB3D9 \uBC31\uC5C5 \uC8FC\uAE30","settings.origin_size":"\uD68C\uC804 \uC911\uC2EC \uD45C\uC2DC","settings.origin_size.desc":"\uD68C\uC804 \uC911\uC2EC\uC744 \uBCF4\uC5EC\uC8FC\uB294 \uC120\uC758 \uAE38\uC774 \uC870\uC808","settings.control_size":"\uCD95 \uD654\uC0B4\uD45C \uD06C\uAE30 \uC870\uC808","settings.control_size.desc":"\uAC01 \uCD95\uC5D0 \uB2EC\uB9B0 \uD654\uC0B4\uD45C\uC758 \uD06C\uAE30 \uC870\uC808","settings.display_skin":"\uC2A4\uD0A8 \uD45C\uC2DC","settings.display_skin.desc":"\uCC38\uACE0 \uD50C\uB808\uC774\uC5B4 \uBAA8\uB378\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uC2A4\uD0A8","settings.shading":"\uC170\uC774\uB529","settings.shading.desc":"\uD504\uB9AC\uBDF0\uC5D0\uC11C \uC170\uC774\uB529 \uD5C8\uC6A9","settings.base_grid":"\uC791\uC740 \uACA9\uC790","settings.base_grid.desc":"\uC791\uC740 \uACA9\uC790\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.","settings.large_grid":"\uBE14\uB85D \uACA9\uC790","settings.large_grid.desc":"16x16 \uD06C\uAE30\uC758 \uBE14\uB85D \uACA9\uC790 \uD45C\uC2DC","settings.full_grid":"\uC815\uD655\uD55C \uBE14\uB85D \uACA9\uC790","settings.full_grid.desc":"\uD53D\uC140\uC758 \uC815\uD655\uD55C \uBE14\uB85D \uACA9\uC790 \uD45C\uC2DC","settings.large_box":"\uC911\uAC04 \uBC15\uC2A4","settings.large_box.desc":"3x3x3 \uCE78\uC758 \uBE14\uB85D \uACBD\uACC4 \uD45C\uC2DC","settings.display_grid":"\uBCF4\uAE30 \uBAA8\uB4DC","settings.display_grid.desc":"\uB514\uC2A4\uD50C\uB808\uC774 \uBAA8\uB4DC\uC5D0\uC11C\uB3C4 \uACA9\uC790 \uD45C\uC2DC","settings.undo_limit":"\uC2E4\uD589 \uCDE8\uC18C \uD55C\uACC4","settings.undo_limit.desc":"\uC2E4\uD589 \uCDE8\uC18C \uD69F\uC218 \uC81C\uD55C","settings.local_move":"\uC0C1\uB300\uC801\uC73C\uB85C \uCD95 \uC774\uB3D9","settings.local_move.desc":"\uAC00\uB2A5\uD55C \uACBD\uC6B0 \uD68C\uC804\uB41C \uC694\uC18C\uB294 \uAC01\uC790\uC758 \uCD95\uC73C\uB85C \uC774\uB3D9","settings.canvas_unselect":"\uCE94\uBC84\uC2A4 \uD074\uB9AD \uD574\uC81C","settings.canvas_unselect.desc":"\uBC14\uD0D5 \uD074\uB9AD \uC2DC \uC804\uCCB4 \uC120\uD0DD \uD574\uC81C","settings.paint_side_restrict":"\uBE0C\uB7EC\uC2DC \uC606\uC73C\uB85C \uC81C\uD55C","settings.paint_side_restrict.desc":"\uBE0C\uB7EC\uC2DC\uAC00 \uD604\uC7AC \uBA74\uC5D0\uB9CC \uCE60\uD558\uB3C4\uB85D \uC81C\uD55C","settings.autouv":"\uC790\uB3D9 UV","settings.autouv.desc":"\uC790\uB3D9 UV\uB97C \uAE30\uBCF8\uC73C\uB85C \uD5C8\uC6A9","settings.create_rename":"\uC694\uC18C \uC774\uB984 \uBC14\uAFB8\uAE30","settings.create_rename.desc":"\uC694\uC18C \uB610\uB294 \uADF8\uB8F9\uC744 \uC0DD\uC131\uD560 \uB54C \uC774\uB984 \uAC15\uC870","settings.edit_size":"\uACA9\uC790 \uD06C\uAE30","settings.edit_size.desc":"\uC694\uC18C \uC774\uB3D9 \uAC70\uB9AC","settings.shift_size":"Shift \uB2E8\uC704","settings.shift_size.desc":"\uC6C0\uC9C1\uC774\uAC70\uB098 \uC774\uB3D9\uD560\uB54C Shift\uB97C \uB204\uB97C \uB54C\uC758 \uB2E8\uC704","settings.ctrl_size":"Ctrl \uB2E8\uC704","settings.ctrl_size.desc":"\uC6C0\uC9C1\uC774\uAC70\uB098 \uC774\uB3D9\uD560\uB54C Ctrl\uB97C \uB204\uB97C \uB54C\uC758 \uB2E8\uC704","settings.negative_size":"\uC74C(-)\uC758 \uD06C\uAE30","settings.negative_size.desc":"\uD06C\uAE30 \uC870\uC815 \uC2DC \uC74C\uC218 \uD5C8\uC6A9","settings.minifiedout":"\uCD5C\uC18C\uD654 \uB41C \uB0B4\uBCF4\uB0B4\uAE30","settings.minifiedout.desc":"\uD55C\uC904\uC5D0 \uB123\uAE30","settings.export_groups":"\uC790\uBC14 \uBE14\uB85D/\uC544\uC774\uD15C \uBAA8\uB378\uB85C \uADF8\uB8F9 \uB0B4\uBCF4\uB0B4\uAE30","settings.export_groups.desc":"\uADF8\uB8F9\uC744 \uC790\uBC14 \uBE14\uB85D \uB610\uB294 \uC544\uC774\uD15C \uBAA8\uB378 JSON \uD30C\uC77C\uB85C \uC800\uC7A5","settings.credit":"\uD06C\uB808\uB527 ","settings.credit.desc":"\uB0B4\uBCF4\uB0B8 \uD30C\uC77C\uC5D0 \uD06C\uB808\uB527 \uC124\uBA85 \uCD94\uAC00","settings.default_path":"\uAE30\uBCF8 \uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uD14D\uC2A4\uCCD0 \uC704\uCE58","settings.default_path.desc":"\uAE30\uBCF8 \uD14D\uC2A4\uCCD0 \uD3F4\uB354","settings.image_editor":"\uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30","settings.image_editor.desc":"\uD14D\uC2A4\uCCD0\uB97C \uD3B8\uC9D1\uD560 \uAE30\uBCF8 \uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30","category.navigate":"\uCC3E\uAE30","category.tools":"\uB3C4\uAD6C","category.file":"\uD30C\uC77C","category.blockbench":"Blockbench","category.edit":"\uD3B8\uC9D1","category.transform":"\uBCC0\uD658","category.view":"\uBCF4\uAE30","category.display":"\uBCF4\uAE30 \uC124\uC815","category.textures":"\uD14D\uC2A4\uCCD0","category.misc":"\uC5EC\uB7EC\uAC00\uC9C0","keybind.preview_select":"\uC120\uD0DD","keybind.preview_rotate":"\uBCF4\uB294 \uAC01\uB3C4 \uC870\uC815","keybind.preview_drag":"\uB4DC\uB798\uADF8 \uBCF4\uAE30","keybind.confirm":"\uD655\uC778","keybind.cancel":"\uCDE8\uC18C","action.slider_inflate":"\uBD80\uD480\uB9AC\uAE30","action.slider_inflate.desc":"UV \uBCC0\uD654 \uC5C6\uC774 \uD050\uBE0C\uC758 \uD06C\uAE30\uB97C \uD655\uC7A5","action.slider_brush_size":"\uD06C\uAE30","action.slider_brush_size.desc":"\uBE0C\uB7EC\uC2DC \uAD75\uAE30 (\uD53D\uC140 \uB2E8\uC704)","action.slider_brush_opacity":"\uD22C\uBA85\uB3C4","action.slider_brush_opacity.desc":"\uBE0C\uB7EC\uC2DC \uD22C\uBA85\uB3C4 \uC870\uC808 (0\uC5D0\uC11C 255)","action.slider_brush_softness":"\uBD80\uB4DC\uB7EC\uC6C0","action.slider_brush_softness.desc":"\uBE0C\uB7EC\uC2DC \uBD80\uB4DC\uB7EC\uC6C0 (\uBC31\uBD84\uC728)","action.uv_slider_pos_x":"\uC88C\uC6B0\uB85C \uC774\uB3D9","action.uv_slider_pos_x.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C\uC758 UV \uC218\uD3C9 \uC774\uB3D9","action.uv_slider_pos_y":"\uC0C1\uD558\uB85C \uC774\uB3D9","action.uv_slider_pos_y.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C\uC758 UV \uC218\uC9C1 \uC774\uB3D9","action.uv_slider_size_x":"\uC218\uD3C9 \uD06C\uAE30","action.uv_slider_size_x.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C\uC758 UV\uC758 \uC218\uD3C9 \uD06C\uAE30 \uC870\uC808","action.uv_slider_size_y":"\uC218\uC9C1 \uD06C\uAE30","action.uv_slider_size_y.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C\uC758 UV\uC758 \uC218\uC9C1 \uD06C\uAE30 \uC870\uC808","action.vertex_snap_mode":"\uB9DE\uCDA4 \uBAA8\uB4DC","action.vertex_snap_mode.desc":"\uAF2D\uC9D3\uC810\uC744 \uC774\uB3D9\uD558\uAC70\uB098 \uD06C\uAE30 \uC870\uC808 \uC2DC \uC120\uD0DD","action.move_tool":"\uC774\uB3D9","action.move_tool.desc":"\uC120\uD0DD \uBC0F \uC774\uB3D9 \uB3C4\uAD6C","action.resize_tool":"\uD06C\uAE30 \uC870\uC815","action.resize_tool.desc":"\uC120\uD0DD \uBC0F \uD06C\uAE30 \uC870\uC808 \uB3C4\uAD6C","action.brush_tool":"\uD398\uC778\uD2B8 \uBE0C\uB7EC\uC2DC","action.brush_tool.desc":"\uD45C\uBA74 \uB610\uB294 UV \uC5D0\uB514\uD130\uC758 \uBE44\uD2B8\uB9F5 \uD14D\uC2A4\uCCD0\uC5D0 \uCE60\uC744 \uD558\uB294 \uB3C4\uAD6C","action.vertex_snap_tool":"\uAF2D\uC9D3\uC810 \uB9DE\uCDA4","action.vertex_snap_tool.desc":"\uB450 \uD050\uBE0C\uB97C \uAF2D\uC9D3\uC810\uC744 \uAE30\uC900\uC73C\uB85C \uB9DE\uCDA5\uB2C8\uB2E4","action.swap_tools":"\uAD50\uD658 \uB3C4\uAD6C","action.swap_tools.desc":"\uC774\uB3D9 \uBC0F \uD06C\uAE30 \uC870\uC815 \uB3C4\uAD6C \uAC04 \uC804\uD658","action.project_window":"\uD504\uB85C\uC81D\uD2B8...","action.project_window.desc":"\uBAA8\uB378\uC758 \uBA54\uD0C0\uB370\uC774\uD130\uB97C \uD3B8\uC9D1\uD560 \uC218 \uC788\uB294 \uD504\uB85C\uC81D\uD2B8 \uCC3D \uC5F4\uAE30","action.open_model":"\uBAA8\uB378 \uC5F4\uAE30","action.open_model.desc":"\uB0B4 \uCEF4\uD4E8\uD130\uC5D0\uC11C \uBAA8\uB378 \uCC3E\uAE30","action.extrude_texture":"\uC555\uCD9C\uB41C \uD14D\uC2A4\uCCD0","action.extrude_texture.desc":"\uD14D\uC2A4\uCCD0\uB97C \uB298\uB824 \uBAA8\uB378 \uC0DD\uC131","action.export_blockmodel":"\uBE14\uB85D/\uC544\uC774\uD15C \uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30","action.export_blockmodel.desc":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC790\uBC14 \uC5D0\uB514\uC158\uC6A9 \uBE14\uB85D/\uC544\uC774\uD15C \uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30","action.export_optifine_part":"OptiFine \uBD80\uC704 \uB0B4\uBCF4\uB0B4\uAE30","action.export_optifine_part.desc":"OptiFine \uC5D4\uD2F0\uD2F0 \uBAA8\uB378 \uBD80\uC704 \uB2E8\uC77C \uB0B4\uBCF4\uB0B4\uAE30","action.export_optifine_full":"OptiFine JEM \uB0B4\uBCF4\uB0B4\uAE30","action.export_optifine_full.desc":"OptiFine \uC5D4\uD2F0\uD2F0 \uBAA8\uB378 \uC804\uCCB4 \uB0B4\uBCF4\uB0B4\uAE30","action.export_obj":".OBJ \uB0B4\uBCF4\uB0B4\uAE30","action.export_obj.desc":"\uB80C\uB354\uB9C1\uC6A9 Wavefront \uAC1D\uCCB4 \uB0B4\uBCF4\uB0B4\uAE30","action.settings_window":"\uC124\uC815..","action.settings_window.desc":"Blockbench \uC124\uC815 \uB300\uD654 \uC0C1\uC790 \uC5F4\uAE30","action.plugins_window":"\uD50C\uB7EC\uADF8\uC778","action.plugins_window.desc":"\uD50C\uB7EC\uADF8\uC778 \uC2A4\uD1A0\uC5B4 \uBA54\uB274\uB97C \uC5FD\uB2C8\uB2E4.","action.reset_layout":"\uB808\uC774\uC544\uC6C3 \uCD08\uAE30\uD654","action.reset_layout.desc":"Blockbench \uAE30\uBCF8\uC73C\uB85C \uB808\uC774\uC544\uC6C3 \uCD08\uAE30\uD654","action.load_plugin":"\uD30C\uC77C\uC5D0\uC11C \uD50C\uB7EC\uADF8\uC778 \uB85C\uB4DC","action.load_plugin.desc":"\uC18C\uC2A4 \uD30C\uC77C \uBD88\uB7EC\uC624\uAE30\uB85C \uD50C\uB7EC\uADF8\uC778 \uB85C\uB4DC","action.reload_plugins":"\uD50C\uB7EC\uADF8\uC778 \uC0C8\uB85C\uACE0\uCE68","action.reload_plugins.desc":"\uBAA8\uB4E0 \uAC1C\uBC1C \uD50C\uB7EC\uADF8\uC778 \uC0C8\uB85C \uACE0\uCE68","action.undo":"\uB418\uB3CC\uB9AC\uAE30","action.undo.desc":"\uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC9C4\uD589\uD55C \uC791\uC5C5 \uCDE8\uC18C","action.redo":"\uC2E4\uD589 \uCDE8\uC18C","action.redo.desc":"\uB9C8\uC9C0\uB9C9 \uB418\uB3CC\uB9AC\uAE30 \uC791\uC5C5 \uCDE8\uC18C","action.copy":"\uBCF5\uC0AC","action.copy.desc":"\uC120\uD0DD\uD55C \uBC94\uC704 \uBCF5\uC0AC","action.paste":"\uBD99\uC5EC\uB123\uAE30","action.paste.desc":"\uC120\uD0DD\uD55C \uBC94\uC704 \uBD99\uC5EC\uB123\uAE30","action.cut":"\uC798\uB77C\uB0B4\uAE30","action.cut.desc":"\uC120\uD0DD\uD55C \uBC94\uC704 \uC798\uB77C\uB0B4\uAE30","action.add_cube":"\uD050\uBE0C \uCD94\uAC00","action.add_cube.desc":"\uC0C8\uB85C\uC6B4 \uD050\uBE0C \uCD94\uAC00","action.add_group":"\uADF8\uB8F9 \uCD94\uAC00","action.add_group.desc":"\uC0C8\uB85C\uC6B4 \uADF8\uB8F9 \uB610\uB294 \uBF08\uB300 \uCD94\uAC00","action.outliner_toggle":"\uCD94\uAC00 \uC635\uC158 \uC804\uD658","action.outliner_toggle.desc":"\uC678\uACFD\uC120 \uCD94\uAC00 \uC635\uC158 \uC2A4\uC704\uCE58 \uC804\uD658","action.duplicate":"\uBCF5\uC81C","action.delete":"\uC0AD\uC81C","action.sort_outliner":"\uC678\uACFD\uC120 \uC815\uB82C","action.sort_outliner.desc":"\uC54C\uD30C\uBCB3 \uC21C\uC73C\uB85C \uC678\uACFD\uC120 \uC815\uB82C","action.select_window":"\uC120\uD0DD...","action.select_window.desc":"\uC18D\uC131 \uAE30\uBC18 \uD050\uBE0C \uC120\uD0DD \uBC0F \uAC80\uC0C9","action.invert_selection":"\uC120\uD0DD \uBC18\uC804","action.invert_selection.desc":"\uD604\uC7AC \uC120\uD0DD\uB41C \uD050\uBE0C \uBC18\uC804","action.select_all":"\uBAA8\uB450 \uC120\uD0DD","action.collapse_groups":"\uADF8\uB8F9 \uB2EB\uAE30","action.collapse_groups.desc":"\uBAA8\uB4E0 \uADF8\uB8F9 \uB2EB\uAE30","action.scale":"\uD06C\uAE30 \uC870\uC815...","action.scale.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uD06C\uAE30","action.toggle_visibility":"\uAC00\uC2DC\uC131 \uC804\uD658","action.toggle_visibility.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uAC00\uC2DC\uC131 \uC804\uD658","action.toggle_export":"\uB0B4\uBCF4\uB0B4\uAE30 \uC804\uD658","action.toggle_export.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uB0B4\uBCF4\uB0B4\uAE30 \uC124\uC815 \uC804\uD658","action.toggle_autouv":"\uC790\uB3D9 UV \uC804\uD658","action.toggle_autouv.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uC790\uB3D9 UV \uC804\uD658","action.toggle_shade":"\uC170\uC774\uB529 \uC804\uD658","action.toggle_shade.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uC170\uC774\uB529 \uC804\uD658","action.rename":"\uC774\uB984 \uBC14\uAFB8\uAE30","action.rename.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C \uC774\uB984 \uBC14\uAFB8\uAE30","action.add_display_preset":"\uC0C8 \uC0AC\uC804 \uC124\uC815","action.add_display_preset.desc":"\uC0C8\uB85C\uC6B4 \uC0AC\uC804 \uD45C\uAE30 \uC124\uC815 \uCD94\uAC00","action.fullscreen":"\uC804\uCCB4 \uD654\uBA74","action.fullscreen.desc":"\uC804\uCCB4 \uD654\uBA74 \uC804\uD658","action.zoom_in":"\uD655\uB300","action.zoom_in.desc":"\uC778\uD130\uD398\uC774\uC2A4\uC758 \uD06C\uAE30 \uD655\uB300","action.zoom_out":"\uCD95\uC18C","action.zoom_out.desc":"\uC778\uD130\uD398\uC774\uC2A4\uC758 \uD06C\uAE30 \uCD95\uC18C","action.zoom_reset":"\uD655\uB300/\uCD95\uC18C \uCD08\uAE30\uD654","action.zoom_reset.desc":"\uD655\uB300/\uCD95\uC18C\uB97C \uAE30\uBCF8 100%\uB85C \uCD08\uAE30\uD654","action.reset_interface":"\uC791\uC5C5 \uD654\uBA74 \uCD08\uAE30\uD654","action.reset_interface.desc":"GUI \uD06C\uAE30 \uBC0F \uC704\uCE58 \uCD08\uAE30\uD654","action.screenshot_model":"\uC2A4\uD06C\uB9B0\uC0F7 \uBAA8\uB378","action.screenshot_model.desc":"\uD604\uC7AC \uAC01\uB3C4\uC5D0\uC11C \uBAA8\uB378 \uC2A4\uD06C\uB9B0\uC0F7 \uC790\uB974\uAE30","action.screenshot_app":"\uC2A4\uD06C\uB9B0\uC0F7 \uC571","action.screenshot_app.desc":"\uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC804\uCCB4 \uC2A4\uD06C\uB9B0\uC0F7","action.import_texture":"\uD14D\uC2A4\uCCD0 \uBD88\uB7EC\uC624\uAE30","action.import_texture.desc":"\uB0B4 \uD30C\uC77C\uC5D0\uC11C \uD558\uB098 \uC774\uC0C1\uC758 \uD14D\uC2A4\uCCD0 \uAC00\uC838\uC624\uAE30","action.create_texture":"\uD14D\uC2A4\uCCD0 \uC0DD\uC131","action.create_texture.desc":"\uBE48 \uD14D\uC2A4\uCCD0 \uB610\uB294 \uD15C\uD50C\uB9BF \uD14D\uC2A4\uCCD0 \uC0DD\uC131","action.save_textures":"\uD14D\uC2A4\uCCD0 \uC800\uC7A5","action.save_textures.desc":"\uC800\uC7A5\uD558\uC9C0 \uC54A\uC740 \uBAA8\uB4E0 \uD14D\uC2A4\uCCD0 \uC800\uC7A5","action.animated_textures":"\uD14D\uC2A4\uCCD0 \uC560\uB2C8\uBA54\uC774\uC158 \uC7AC\uC0DD","action.animated_textures.desc":"\uD14D\uC2A4\uCCD0 \uBBF8\uB9AC\uBCF4\uAE30\uC758 \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uC7AC\uC0DD \uB610\uB294 \uC815\uC9C0","action.origin_to_geometry":"\uC911\uC559 \uD68C\uC804 \uC911\uC2EC","action.origin_to_geometry.desc":"\uD68C\uC804 \uC911\uC2EC\uC744 \uC120\uD0DD \uC911\uC2EC\uC73C\uB85C \uC124\uC815","action.bone_reset_toggle":"\uBF08\uB300 \uCD08\uAE30\uD654","action.bone_reset_toggle.desc":"\uBF08\uB300\uAC00 \uBD80\uBAA8 \uBAA8\uB378\uC5D0\uC11C \uD050\uBE0C\uB97C \uD45C\uC2DC\uD558\uC9C0 \uC54A\uB3C4\uB85D \uC911\uC9C0","action.reload":"Blockbench \uC0C8\uB85C \uACE0\uCE68","action.reload.desc":"Blockbench \uC0C8\uB85C \uACE0\uCE68. \uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD \uC0AC\uD56D\uC740 \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uC74C","menu.file":"\uD30C\uC77C","menu.edit":"\uD3B8\uC9D1","menu.transform":"\uBCC0\uD658","menu.display":"\uBCF4\uAE30","menu.view":"\uBCF4\uAE30","menu.file.new":"\uC0C8 \uBAA8\uB378","menu.file.recent":"\uCD5C\uADFC \uC791\uC5C5\uBB3C","menu.file.import":"\uAC00\uC838\uC624\uAE30","menu.file.export":"\uB0B4\uBCF4\uB0B4\uAE30","menu.transform.rotate":"\uD68C\uC804","menu.transform.flip":"\uB4A4\uC9D1\uAE30","menu.transform.center":"\uC911\uC559\uC73C\uB85C","menu.transform.properties":"\uC18D\uC131","menu.display.preset":"\uC0AC\uC804 \uC124\uC815 \uC801\uC6A9","menu.display.preset_all":"\uC0AC\uC804 \uC124\uC815 \uC804\uCCB4 \uC801\uC6A9","menu.display.remove_preset":"\uC0AC\uC804 \uC124\uC815 \uC81C\uAC70","menu.view.zoom":"\uD655\uB300\uD558\uAE30","menu.view.background":"\uBC30\uACBD\uD654\uBA74","menu.view.screenshot":"\uC2A4\uD06C\uB9B0\uC0F7","menu.cube.color":"\uC9C0\uC815 \uC0C9","menu.cube.texture":"\uD14D\uC2A4\uCCD0","menu.cube.texture.transparent":"\uD22C\uBA85","menu.cube.texture.blank":"\uBE44\uC5B4\uC788\uC74C","menu.group.sort":"\uBD84\uB958","menu.texture.face":"\uD55C \uBA74\uC5D0 \uC801\uC6A9","menu.texture.file":"\uD30C\uC77C","menu.texture.refresh":"\uD14D\uC2A4\uCCD0 \uC0C8\uB85C\uACE0\uCE68","menu.texture.change":"\uD30C\uC77C \uBC14\uAFB8\uAE30","menu.texture.folder":"\uD3F4\uB354\uC5D0\uC11C \uC5F4\uAE30","menu.texture.edit":"\uC678\uBD80\uC801\uC73C\uB85C \uC218\uC815","menu.texture.export":"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5","menu.texture.save":"\uC800\uC7A5","menu.texture.properties":"\uD658\uACBD \uC124\uC815...","menu.preview.background":"\uBC30\uACBD","menu.preview.background.load":"\uBD88\uB7EC\uC624\uAE30","menu.preview.background.position":"\uC704\uCE58","menu.preview.background.lock":"\uCE74\uBA54\uB77C \uC7A0\uAE08","menu.preview.screenshot":"\uC2A4\uD06C\uB9B0\uC0F7","menu.preview.perspective":"\uC6D0\uADFC\uAC10","menu.preview.perspective.normal":"\uC77C\uBC18","menu.preview.quadview":"\uC0AC\uBA74 \uBCF4\uAE30","menu.preview.stop_drag":"\uBC30\uACBD \uC704\uCE58 \uC911\uC9C0","menu.uv.mapping.rotation":"\uD68C\uC804","menu.uv.texture":"\uD14D\uC2A4\uCCD0","cube.color.light_blue":"\uD558\uB298\uC0C9","cube.color.yellow":"\uB178\uB791\uC0C9","cube.color.orange":"\uC8FC\uD669\uC0C9","cube.color.red":"\uBE68\uAC15\uC0C9","cube.color.purple":"\uBCF4\uB77C\uC0C9","cube.color.blue":"\uD30C\uB791\uC0C9","cube.color.green":"\uCD08\uB85D\uC0C9","cube.color.lime":"\uC5F0\uB450\uC0C9","switches.visibility":"\uAC00\uC2DC\uC131","switches.export":"\uB0B4\uBCF4\uB0B4\uAE30","switches.autouv":"\uC790\uB3D9 UV","panel.uv":"UV","panel.display":"\uB514\uC2A4\uD50C\uB808\uC774","panel.textures":"\uD14D\uC2A4\uCCD0","panel.outliner":"\uC678\uACFD\uC120","uv_editor.title":"UV \uD3B8\uC9D1\uAE30","uv_editor.all_faces":"\uC804\uCCB4","uv_editor.no_faces":"\uC5C6\uC74C","face.north":"\uBD81\uCABD","face.south":"\uB0A8\uCABD","face.west":"\uC11C\uCABD","face.east":"\uB3D9\uCABD","face.up":"\uC704","face.down":"\uC544\uB798","direction.north":"\uBD81\uCABD","direction.south":"\uB3D9\uCABD","direction.west":"\uC11C\uCABD","direction.east":"\uB3D9\uCABD","direction.top":"\uC704","direction.bottom":"\uC544\uB798","display.slot.third_right":"3\uC778\uCE6D \uC6B0\uCE21","display.slot.third_left":"3\uC778\uCE6D \uC88C\uCE21","display.slot.first_right":"1\uC778\uCE6D \uC6B0\uCE21","display.slot.first_left":"1\uC778\uCE6D \uC88C\uCE21","display.slot.head":"\uBA38\uB9AC","display.slot.ground":"\uB545","display.slot.frame":"\uD2C0","display.slot.gui":"GUI","display.rotation":"\uD68C\uC804","display.translation":"\uC704\uCE58","display.scale":"\uADDC\uBAA8","display.slot":"\uC2AC\uB86F","display.reference":"\uCC38\uACE0 \uBAA8\uB378","display.reference.player":"\uD50C\uB808\uC774\uC5B4","display.reference.zombie":"\uC880\uBE44","display.reference.armor_stand":"\uAC11\uC637 \uAC70\uCE58\uB300","display.reference.baby_zombie":"\uC544\uAE30 \uC880\uBE44","display.reference.armor_stand_small":"\uC791\uC740 \uAC11\uC637 \uAC70\uCE58\uB300","display.reference.monitor":"\uC77C\uBC18","display.reference.bow":"\uAD7D\uD788\uAE30","display.reference.block":"\uBE14\uB85D","display.reference.frame":"\uC544\uC774\uD15C \uC561\uC790","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"\uC778\uBCA4\uD1A0\uB9AC","display.reference.hud":"HUD","display.preset.blank_name":"\uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.","display.preset.item":"\uAE30\uBCF8 \uC544\uC774\uD15C","display.preset.block":"\uAE30\uBCF8 \uBE14\uB85D","display.preset.handheld":"\uAE30\uBCF8 \uBB34\uAE30","display.preset.rod":"\uAE30\uBCF8 \uB9C9\uB300","dialog.continue":"\uACC4\uC18D","message.square_textures":"\uD14D\uC2A4\uCCD0\uB294 \uC815\uC0AC\uAC01\uD615\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.","message.unsaved_texture.title":"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uD14D\uC2A4\uCCD0","message.unsaved_texture.message":"\uC774 \uD14D\uC2A4\uCCD0\uC5D0 \uB300\uD55C \uBCC0\uACBD \uC0AC\uD56D\uC740 \uC804\uBD80 \uC9C0\uC6CC\uC9C8 \uAC83\uC785\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","action.vertex_snap_mode.move":"\uC774\uB3D9","action.vertex_snap_mode.scale":"\uD06C\uAE30","action.open_model_folder":"\uBAA8\uB378 \uD3F4\uB354 \uC5F4\uAE30","action.open_model_folder.desc":"\uBAA8\uB378\uC774 \uD3EC\uD568\uB41C \uD3F4\uB354 \uC5F4\uAE30","action.change_textures_folder":"\uD14D\uC2A4\uCCD0 \uC704\uCE58 \uBCC0\uACBD","action.change_textures_folder.desc":"\uD14D\uC2A4\uCCD0\uAC00 \uC800\uC7A5\uB41C \uD3F4\uB354 \uBC14\uAFB8\uAE30","menu.texture.particle":"\uD30C\uD2F0\uD074\uB85C \uC0AC\uC6A9","message.update_notification.title":"\uC5C5\uB370\uC774\uD2B8\uB97C \uC124\uCE58\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4","message.update_notification.message":'Blockbench\uC758 \uC0C8\uB85C\uC6B4 \uBC84\uC804 "%0"\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC5C5\uB370\uC774\uD2B8\uB97C \uC704\uD574 \uC790\uB3D9 \uC5C5\uB370\uC774\uD2B8 \uC124\uC815\uC744 \uD5C8\uC6A9\uD574\uC8FC\uC138\uC694!',"message.untextured":"\uC774 \uD45C\uBA74\uC740 \uD14D\uC2A4\uCCD0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4","dialog.toolbar_edit.title":"\uD234\uBC14 \uC0AC\uC6A9\uC790 \uC124\uC815","keybindings.reset":"\uCD08\uAE30\uD654","keybindings.clear":"\uC5C6\uC74C","action.cube_counter":"\uBAA8\uB378 \uD1B5\uACC4","action.uv_rotation":"UV \uD68C\uC804","action.uv_rotation.desc":"UV \uD45C\uBA74\uC758 \uAC01\uB3C4","action.uv_grid":"UV \uACA9\uC790","action.uv_grid.desc":"UV \uC120\uD0DD\uAE30\uAC00 \uC2A4\uB0C5\uD558\uB294 \uACA9\uC790\uC758 \uD574\uC0C1\uB3C4","action.uv_grid.auto":"\uC790\uB3D9","action.uv_maximize":"UV \uCD5C\uB300\uD654","action.uv_maximize.desc":"\uC774 \uD45C\uBA74\uC758 UV\uB97C \uC804\uCCB4 \uD14D\uC2A4\uCCD0\uB85C \uC124\uC815","action.uv_auto":"\uC790\uB3D9 UV","action.uv_auto.desc":"\uC774 \uD45C\uBA74\uC758 UV \uD06C\uAE30\uB97C \uD45C\uBA74\uC758 \uC2E4\uC81C \uD06C\uAE30\uB85C \uC124\uC815","action.uv_rel_auto":"\uC0C1\uB300\uC801 \uC790\uB3D9 UV","action.uv_rel_auto.desc":"\uC774 \uD45C\uBA74\uC758 UV\uB97C \uC2E4\uC81C \uD45C\uBA74\uC758 \uC704\uCE58 \uBC0F \uD06C\uAE30\uB85C \uC124\uC815","action.uv_mirror_x":"X\uB85C UV \uC88C\uC6B0\uBC18\uC804","action.uv_mirror_x.desc":"X\uCD95\uC5D0\uC11C \uC774 \uD45C\uBA74\uC758 UV\uB97C \uC88C\uC6B0\uBC18\uC804","action.uv_mirror_y":"Y\uB85C UV \uC88C\uC6B0\uBC18\uC804","action.uv_mirror_y.desc":"Y\uCD95\uC5D0\uC11C \uC774 \uD45C\uBA74\uC758 UV\uB97C \uC88C\uC6B0\uBC18\uC804","action.uv_transparent":"\uD45C\uBA74 \uC81C\uAC70","action.uv_transparent.desc":"\uD604\uC7AC \uD45C\uBA74 \uC81C\uAC70","action.uv_reset":"\uD45C\uBA74 \uCD08\uAE30\uD654","action.uv_reset.desc":"\uD604\uC7AC \uD45C\uBA74 \uCD08\uAE30\uD654","action.cullface":"\uD6C4\uBA74 \uC81C\uAC70","action.cullface.desc":"\uC120\uD0DD\uD55C \uBAA8\uB378\uC758 \uCE21\uBA74\uC774 \uB36E\uC778 \uACBD\uC6B0 \uC774 \uBA74\uC5D0 \uB300\uD55C \uB80C\uB354\uB9C1 \uBE44\uD65C\uC131\uD654","action.auto_cullface":"\uD6C4\uBA74 \uC81C\uAC70 \uD0A4\uAE30","action.auto_cullface.desc":"\uC774 \uD45C\uBA74\uC758 \uD6C4\uBA74 \uC81C\uAC70\uB97C \uC790\uCCB4\uB85C \uC124\uC815","action.face_tint":"\uC0C9\uC870","action.face_tint.desc":"\uD604\uC7AC \uD45C\uBA74\uC5D0 \uB300\uD55C \uC0C9\uC870 \uC635\uC158\uC744 \uC0AC\uC6A9 \uAC00\uB2A5\uC73C\uB85C \uC124\uC815","menu.toolbar.edit":"\uC0AC\uC6A9\uC790 \uC815\uC758","menu.toolbar.reset":"\uCD08\uAE30\uD654","uv_editor.rotated":"\uAE30\uC6B8\uC5EC\uC9D0","uv_editor.auto_cull":"\uC218\uB3D9 \uD6C4\uBA74 \uC81C\uAC70","uv_editor.copied":"\uD45C\uBA74 \uBCF5\uC0AC\uB428","uv_editor.pasted":"\uD45C\uBA74 \uBD99\uC5EC\uB123\uC5B4\uC9D0","uv_editor.copied_x":"%0 \uD45C\uBA74 \uBCF5\uC0AC\uB428","uv_editor.reset":"\uD45C\uBA74 \uCD08\uAE30\uD654","uv_editor.maximized":"\uCD5C\uB300\uD654\uB428","uv_editor.autouv":"\uC790\uB3D9 \uD06C\uAE30","uv_editor.mirrored":"\uC88C\uC6B0\uBC18\uC804\uB428","uv_editor.to_all":"\uBAA8\uB4E0 \uD45C\uBA74\uC5D0 \uC801\uC6A9","uv_editor.transparent":"\uD22C\uBA85\uD558\uAC8C \uB9CC\uB4E4\uAE30","uv_editor.cullface_on":"\uD6C4\uBA74 \uC81C\uAC70 \uD0A4\uAE30","uv_editor.cullface_off":"\uD6C4\uBA74 \uC81C\uAC70 \uB044\uAE30","uv_editor.tint_on":"\uC605\uC740 \uC0C9 \uD0A4\uAE30","uv_editor.tint_off":"\uC605\uC740 \uC0C9 \uB044\uAE30","action.uv_apply_all":"\uBAA8\uB4E0 \uD45C\uBA74\uC5D0 \uC801\uC6A9","action.uv_apply_all.desc":"\uD604\uC7AC \uD45C\uBA74\uC758 \uC124\uC815\uC744 \uBAA8\uB4E0 \uBA74\uC5D0 \uC801\uC6A9","message.image_editor_missing.title":"\uAE30\uBCF8 \uC774\uBBF8\uC9C0 \uC5D0\uB514\uD130","message.image_editor_missing.message":"\uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30\uC758 \uC2E4\uD589 \uD30C\uC77C\uC744 \uC120\uD0DD","message.image_editor_missing.detail":"Blockbench\uB294 \uCEF4\uD4E8\uD130\uC5D0\uC11C \uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC6D0\uD558\uB294 \uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30\uC758 \uC2E4\uD589 \uD30C\uC77C\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624.","action.update_autouv":"\uC790\uB3D9 UV \uC5C5\uB370\uC774\uD2B8","action.update_autouv.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uC758 \uC790\uB3D9 UV \uB9E4\uD551 \uC5C5\uB370\uC774\uD2B8","category.uv":"UV","status_bar.saved":"\uBAA8\uB378 \uC800\uC7A5\uB428","status_bar.unsaved":"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC2B5\uB2C8\uB2E4.","action.move_up":"\uC704\uB85C","action.move_up.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uC704\uB85C \uC774\uB3D9","action.move_down":"\uC544\uB798\uB85C","action.move_down.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uC544\uB798\uB85C \uC774\uB3D9","action.move_left":"\uC606\uC73C\uB85C","action.move_left.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uC67C\uCABD\uC73C\uB85C \uC774\uB3D9","action.move_right":"\uC624\uB978\uCABD\uC73C\uB85C","action.move_right.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uC624\uB978\uCABD\uC73C\uB85C \uC774\uB3D9","action.move_forth":"\uC55E\uC73C\uB85C","action.move_forth.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uC55E\uC73C\uB85C \uC774\uB3D9","action.move_back":"\uB4A4\uB85C","action.move_back.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C \uD604\uC7AC \uCE74\uBA54\uB77C \uAC01\uB3C4\uC5D0 \uB300\uD574 \uB4A4\uB85C \uC774\uB3D9","layout.color.wireframe":"\uC640\uC774\uC5B4\uD504\uB808\uC784","layout.color.wireframe.desc":"\uC640\uC774\uC5B4\uD504\uB808\uC784 \uC120 \uBCF4\uAE30","action.add_animation":"\uC560\uB2C8\uBA54\uC774\uC158 \uCD94\uAC00","action.add_animation.desc":"\uBE48 \uC560\uB2C8\uBA54\uC774\uC158 \uC0DD\uC131","action.load_animation_file":"\uC560\uB2C8\uBA54\uC774\uC158 \uAC00\uC838\uC624\uAE30","action.load_animation_file.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uD30C\uC77C \uAC00\uC838\uC624\uAE30","action.play_animation":"\uC560\uB2C8\uBA54\uC774\uC158 \uC7AC\uC0DD","action.play_animation.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uBBF8\uB9AC \uBCF4\uAE30","action.slider_keyframe_time":"\uD0C0\uC784\uCF54\uB4DC","action.slider_keyframe_time.desc":"\uC120\uD0DD\uD55C \uD0A4\uD504\uB808\uC784\uC758 \uD0C0\uC784\uCF54\uB4DC \uBCC0\uACBD","timeline.rotation":"\uD68C\uC804","timeline.position":"\uC704\uCE58","timeline.scale":"\uD06C\uAE30","menu.keyframe.quaternion":"\uCFFC\uD130\uB2C8\uC5B8","panel.animations":"\uC560\uB2C8\uBA54\uC774\uC158","panel.keyframe":"\uD0A4\uD504\uB808\uC784","panel.keyframe.type":"\uD0A4\uD504\uB808\uC784 (%0)","generic.delete":"\uC0AD\uC81C","generic.rename":"\uC774\uB984 \uBC14\uAFB8\uAE30","message.no_animation_selected":"\uC774 \uC791\uC5C5\uC744 \uD558\uB824\uBA74 \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uC120\uD0DD \uD574\uC57C\uD569\uB2C8\uB2E4.","message.no_bone_selected":"\uC774 \uC791\uC5C5\uC744 \uD558\uB824\uBA74 \uBF08\uB300\uB97C \uC120\uD0DD \uD574\uC57C\uD569\uB2C8\uB2E4.","message.duplicate_groups.title":"\uBF08\uB300 \uC774\uB984 \uBCF5\uC81C","message.duplicate_groups.message":"\uC774 \uBF08\uB300\uC758 \uC774\uB984\uC740 \uC5EC\uB7EC \uAC1C\uC758 \uBF08\uB300\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uC774\uAC83\uC740 \uBB38\uC81C\uB97C \uC77C\uC73C\uD0AC \uC218 \uC788\uC2B5\uB2C8\uB2E4","action.delete_keyframes":"\uD0A4\uD504\uB808\uC784 \uC0AD\uC81C","action.delete_keyframes.desc":"\uC120\uD0DD\uB41C \uD0A4\uD504\uB808\uC784 \uC0AD\uC81C","menu.animation":"\uC560\uB2C8\uBA54\uC774\uC158","menu.animation.loop":"\uB8E8\uD504 \uB9CC\uB4E4\uAE30","menu.animation.override":"\uC7AC\uC815\uC758","menu.animation.anim_time_update":"\uC560\uB2C8\uBA54\uC774\uC158 \uC2DC\uAC04 \uC5C5\uB370\uC774\uD2B8","message.display_skin_model.title":"\uC2A4\uD0A8 \uBAA8\uB378","message.display_skin_model.message":"\uC2A4\uD0A8\uC758 \uBAA8\uB378 \uC885\uB958\uB97C \uACE0\uB974\uC138\uC694.","message.display_skin_model.classic":"\uC77C\uBC18","message.display_skin_model.slim":"\uC2AC\uB9BC","message.bone_material":"\uBF08\uB300 \uBB3C\uC9C8 \uBC14\uAFB8\uAE30","action.slider_animation_length":"\uC560\uB2C8\uBA54\uC774\uC158 \uAE38\uC774","action.slider_animation_length.desc":"\uC120\uD0DD\uB41C \uC560\uB2C8\uBA54\uC774\uC158 \uAE38\uC774 \uBC14\uAFB8\uAE30","panel.variable_placeholders":"\uBCC0\uC218 \uD50C\uB808\uC774\uC2A4\uD640\uB354","panel.variable_placeholders.info":"\uC774\uB984=\uAC12\uC744 \uD1B5\uD574 \uBBF8\uB9AC \uBCFC \uBCC0\uC218 \uB098\uC5F4","status_bar.vertex_distance":"\uAC70\uB9AC: %0","dialog.create_gif.title":"\uB179\uD654\uB41C GIF","dialog.create_gif.length":"\uAE38\uC774","dialog.create_gif.fps":"\uD504\uB808\uC784","dialog.create_gif.play":"\uC560\uB2C8\uBA54\uC774\uC158 \uC2DC\uC791","category.animation":"\uC560\uB2C8\uBA54\uC774\uC158","action.record_model_gif":"GIF\uB85C \uB179\uD654...","action.record_model_gif.desc":"\uD604\uC7AC \uAC01\uB3C4\uC5D0\uC11C \uBAA8\uB378\uC758 \uC560\uB2C8\uBA54\uC774\uC158 GIF \uB179\uD654","display.mirror":"\uC88C\uC6B0\uBC18\uC804","data.separator":"\uBD84\uB9AC\uAE30","menu.preview.background.set_position":"\uC704\uCE58 \uC124\uC815","dialog.toolbar_edit.hidden":"\uC228\uAE40","action.export_class_entity":"Java \uC5D4\uD2F0\uD2F0 \uB0B4\uBCF4\uB0B4\uAE30","action.export_class_entity.desc":"Java classs\uB85C \uC5D4\uD2F0\uD2F0 \uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30","settings.seethrough_outline":"\uC678\uACFD\uC120 X-Ray","settings.seethrough_outline.desc":"\uAC1D\uCCB4 \uB4A4\uB85C \uC678\uACFD\uC120\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","mode.edit":"\uD3B8\uC9D1","mode.paint":"\uCE60\uD558\uAE30","mode.display":"\uB514\uC2A4\uD50C\uB808\uC774","mode.animate":"\uC560\uB2C8\uBA54\uC774\uC158","status_bar.recording_gif":"GIF \uB179\uD654 \uC911","status_bar.processing_gif":"GIF \uCC98\uB9AC \uC911","settings.backup_retain":"\uBCF5\uC0AC\uBCF8 \uBCF4\uC874 \uAE30\uAC04","settings.backup_retain.desc":"\uC624\uB798\uB41C \uBCF5\uC0AC\uBCF8 \uCD5C\uB300 \uBCF4\uC874 \uAE30\uAC04 \uC124\uC815","action.rotate_tool":"\uD68C\uC804","action.rotate_tool.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uB97C \uD68C\uC804\uD558\uB294 \uB3C4\uAD6C","action.fill_tool":"\uCC44\uC6B0\uAE30","action.fill_tool.desc":"\uD55C \uBA74\uC744 \uC120\uD0DD\uD55C \uC0C9\uC0C1\uC73C\uB85C \uCC44\uC6B0\uAE30","action.eraser":"\uC9C0\uC6B0\uAC1C","action.eraser.desc":"\uD22C\uBA85\uD558\uAC8C \uC9C0\uC6B0\uB294 \uC9C0\uC6B0\uAC1C","action.color_picker":"\uC0C9 \uCD94\uCD9C","action.color_picker.desc":"\uC0C9 \uC9C0\uC815 \uB3C4\uAD6C","switches.mirror":"UV \uBC18\uC804",language_name:"\uD55C\uAD6D\uC5B4","message.plugin_reload":"%0 \uAC1C\uC758 \uD50C\uB7EC\uADF8\uC778\uC744 \uC0C8\uB85C\uACE0\uCE68 \uD588\uC2B5\uB2C8\uB2E4.","settings.brightness":"\uBC1D\uAE30","settings.brightness.desc":"\uD504\uB9AC\uBDF0 \uBC1D\uAE30. \uAE30\uBCF8\uAC12 50","menu.preview.perspective.reset":"\uCE74\uBA54\uB77C \uCD08\uAE30\uD654","action.fill_mode":"\uCC44\uC6B0\uAE30 \uBAA8\uB4DC","action.fill_mode.face":"\uBA74","action.fill_mode.color":"\uC0C9\uAE54","action.toggle_mirror_uv":"UV \uBC18\uC804","action.toggle_mirror_uv.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uC758 X\uCD95\uC5D0\uC11C UV \uBBF8\uB7EC\uB9C1 \uD1A0\uAE00","menu.texture.blank":"\uD14D\uC2A4\uCCD0\uAC00 \uC5C6\uB294 \uD45C\uBA74\uC5D0 \uC801\uC6A9","dialog.scale.select_overflow":"\uC624\uBC84\uD50C\uB85C\uC6B0 \uC120\uD0DD","action.action_control":"\uD589\uB3D9 \uC81C\uC5B4","action.action_control.desc":"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBAA8\uB4E0 \uD589\uB3D9\uC744 \uAC80\uC0C9\uD558\uACE0 \uC2E4\uD589","keybindings.recording":"\uD0A4\uBC14\uC778\uB529 \uB179\uD654\uC911","keybindings.press":"\uD0A4 \uB610\uB294 \uD0A4 \uC870\uD569\uC744 \uB204\uB974\uAC70\uB098 \uD654\uBA74\uC758 \uC544\uBB34 \uACF3\uC774\uB098 \uD074\uB9AD\uD558\uC5EC \uD0A4 \uBC14\uC778\uB529\uC744 \uAE30\uB85D\uD558\uC138\uC694.","action.pivot_tool":"\uD68C\uC804 \uC911\uC2EC \uB3C4\uAD6C","action.pivot_tool.desc":"\uD050\uBE0C \uBC0F \uBF08\uB300\uC758 \uD68C\uC804 \uC911\uC2EC \uD3EC\uC778\uD2B8\uB97C \uBCC0\uACBD\uD558\uB294 \uB3C4\uAD6C","action.slider_animation_speed":"\uC7AC\uC0DD \uC18D\uB3C4","action.slider_animation_speed.desc":"\uD0C0\uC784\uB77C\uC778\uC758 \uC7AC\uC0DD \uC18D\uB3C4 (\uD37C\uC13C\uD2B8)","action.previous_keyframe":"\uC774\uC804 \uD0A4\uD504\uB808\uC784","action.previous_keyframe.desc":"\uC774\uC804 \uD0A4\uD504\uB808\uC784\uC73C\uB85C \uAC74\uB108\uB6F0\uAE30","action.next_keyframe":"\uB514\uC74C \uD0A4\uD504\uB808\uC784","action.next_keyframe.desc":"\uB2E4\uC74C \uD0A4\uD504\uB808\uC784\uC73C\uB85C \uAC74\uB108\uB6F0\uAE30","message.outdated_client.title":"\uC5C5\uB370\uC774\uD2B8 \uB418\uC9C0 \uC54A\uC740 \uD074\uB77C\uC774\uC5B8\uD2B8","message.outdated_client.message":"\uC774 \uC791\uC5C5\uC744 \uD558\uB824\uBA74 Blockbench\uB97C \uCD5C\uC2E0 \uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD574\uC57C \uD569\uB2C8\uB2E4.","action.export_asset_archive":"\uC555\uCD95\uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC","action.export_asset_archive.desc":"\uBAA8\uB378\uACFC \uBAA8\uB4E0 \uD14D\uC2A4\uCCD0\uAC00 \uD3EC\uD568\uB41C \uC555\uCD95 \uD30C\uC77C\uC744 \uB2E4\uC6B4\uB85C\uB4DC","action.upload_sketchfab":"Sketchfab \uC5C5\uB85C\uB4DC","message.sketchfab.name_or_token":"Sketchfab \uD1A0\uD070\uACFC \uC774\uB984 \uC785\uB825","dialog.sketchfab_uploader.title":"Sketchfab \uBAA8\uB378 \uC5C5\uB85C\uB4DC","dialog.sketchfab_uploader.token":"API \uD1A0\uD070","dialog.sketchfab_uploader.about_token":"\uD1A0\uD070\uC740 Blockbench\uB97C Sketchfab \uACC4\uC815\uC5D0 \uC5F0\uACB0\uD558\uB294 \uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. %0\uC5D0\uC11C \uCC3E\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","dialog.sketchfab_uploader.name":"\uBAA8\uB378 \uC774\uB984","dialog.sketchfab_uploader.description":"\uC124\uBA85","dialog.sketchfab_uploader.tags":"\uD0DC\uADF8","settings.sketchfab_token":"Sketchfab \uD1A0\uD070","settings.sketchfab_token.desc":"Blockbench\uC5D0 Sketchfab \uACC4\uC815\uC744 \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC788\uB294 \uAD8C\uD55C\uC744 \uBD80\uC5EC\uD558\uB294 \uD1A0\uD070","panel.color":"\uC0C9\uC0C1","data.origin":"\uD68C\uC804 \uC911\uC2EC","message.sketchfab.success":"\uBAA8\uB378\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC5C5\uB85C\uB4DC\uD558\uC600\uC2B5\uB2C8\uB2E4","message.sketchfab.error":"Sketchfab\uC5D0 \uC5C5\uB85C\uB4DC\uB97C \uC2E4\uD328\uD558\uC600\uC2B5\uB2C8\uB514","settings.outliner_colors":"\uC678\uACFD\uC120 \uC0C9\uC0C1","settings.outliner_colors.desc":"\uC678\uACFD\uC120\uC5D0 \uC788\uB294 \uC694\uC18C\uC758 \uC0C9\uC0C1 \uD45C\uC2DC","action.upload_sketchfab.desc":"Sketchfab\uC5D0 \uC790\uC2E0\uC758 \uBAA8\uB378 \uC5C5\uB85C\uB4DC","action.element_colors":"\uD050\uBE0C \uC0C9\uC0C1","action.element_colors.desc":"\uC678\uACFD\uC120\uC5D0 \uC788\uB294 \uD050\uBE0C\uC758 \uC0C9\uC0C1 \uD45C\uC2DC","texture.error.file":"\uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4","texture.error.parent":"\uC0C1\uC704\uC758 \uBAA8\uB378\uC5D0\uC11C \uC81C\uACF5\uD558\uB294 \uD14D\uC2A4\uCCD0 \uD30C\uC77C","message.recover_backup.title":"\uBAA8\uB378 \uBCF5\uAD6C","message.recover_backup.message":"Blockbench\uAC00 \uC800\uC7A5\uB418\uC9C0 \uC54A\uACE0 \uC885\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBAA8\uB378\uC744 \uBCF5\uAD6C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.invalid_session.title":"\uC798\uBABB\uB41C \uC138\uC158 \uD1A0\uD070","message.invalid_session.message":"\uAC00\uC785\uD558\uB824\uB294 \uC138\uC158\uC774 \uB9CC\uB8CC\uB418\uC5C8\uAC70\uB098 \uC81C\uACF5\uB41C \uD1A0\uD070\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","dialog.create_texture.power":"\uD798 \uD06C\uAE30 2","dialog.create_gif.turn":"\uD134\uD14C\uC774\uBE14 \uC18D\uB3C4","action.edit_session":"\uC138\uC158 \uC218\uC815","action.edit_session.desc":"\uD3B8\uC9D1 \uC138\uC158\uC5D0 \uC5F0\uACB0\uD558\uC5EC \uB2E4\uB978 \uC0AC\uC6A9\uC790\uC640 \uD611\uC5C5","action.reset_keyframe":"\uD0A4\uD504\uB808\uC784 \uCD08\uAE30\uD654","action.reset_keyframe.desc":"\uC120\uD0DD\uD55C \uD0A4\uD504\uB808\uC784\uC758 \uBAA8\uB4E0 \uAC12\uC744 \uC7AC\uC124\uC815","dialog.edit_session.title":"\uC138\uC158 \uC218\uC815","edit_session.username":"\uB2C9\uB124\uC784","edit_session.token":"\uD1A0\uD070","edit_session.about":"\uC138\uC158 \uD3B8\uC9D1\uC740 \uC778\uD130\uB137\uC744 \uD1B5\uD55C \uBAA8\uB378\uC5D0\uC11C \uACF5\uB3D9 \uC791\uC5C5\uD558\uB294 \uB370 \uC0AC\uC6A9\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC138\uC158\uC744 \uB9CC\uB4E4\uACE0 \uD1A0\uD070\uC744 \uBCF5\uC0AC\uD558\uC5EC \uCE5C\uAD6C\uC5D0\uAC8C \uBCF4\uB0B4\uBA74, \uD1A0\uD070\uC744 \uC0AC\uC6A9\uD558\uC5EC \uAC00\uC785\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","edit_session.join":"\uC138\uC158 \uB4E4\uC5B4\uAC00\uAE30","edit_session.create":"\uC138\uC158 \uB9CC\uB4E4\uAE30","edit_session.quit":"\uC138\uC158 \uB098\uAC00\uAE30","edit_session.joined":"%0 (\uC774)\uAC00 \uC138\uC158\uC5D0 \uB4E4\uC5B4\uC654\uC2B5\uB2C8\uB2E4.","edit_session.left":"&0 \uC774(\uAC00) \uC138\uC158\uC5D0\uC11C \uB098\uAC14\uC2B5\uB2C8\uB2E4.","edit_session.quit_session":"\uD604\uC7AC \uC138\uC158 \uB098\uAC00\uAE30","edit_session.status":"\uC0C1\uD0DC","edit_session.hosting":"\uD638\uC2A4\uD305","edit_session.connected":"\uC138\uC158\uC5D0 \uC5F0\uACB0\uB428","dialog.sketchfab_uploader.private":"\uAC1C\uC778 (Pro)","dialog.sketchfab_uploader.password":"\uBE44\uBC00\uBC88\uD638 (Pro)","action.uv_select_all":"\uBAA8\uB450 \uC120\uD0DD","action.uv_select_all.desc":"UV \uB2E4\uC544\uC5BC\uB85C\uADF8\uC5D0\uC11C \uBAA8\uB4E0 \uBA74\uC744 \uC120\uD0DD","panel.chat":"\uCC44\uD305","edit_session.welcome":"\uC774 \uC138\uC158\uC5D0 %0 \uC73C\uB85C \uC624\uC2E0 \uAC83\uC744 \uD658\uC601\uD569\uB2C8\uB2E4","dialog.yes":"\uC608","dialog.no":"\uC544\uB2C8\uC624","generic.remove":"\uC0AD\uC81C","generic.download":"\uB2E4\uC6B4\uB85C\uB4DC","generic.search":"\uAC80\uC0C9","dates.today":"\uC624\uB298","dates.yesterday":"\uC5B4\uC81C","dates.this_week":"\uC774\uBC88 \uC8FC","dates.weeks_ago":"%0 \uC8FC \uC9C0\uB0A8","mode.start.new":"\uC0C8 \uBAA8\uB378","mode.start.recent":"\uCD5C\uADFC","format.free":"\uC790\uC720 \uBAA8\uB378","format.free.desc":"\uAC8C\uC784 \uC5D4\uC9C4\uC774\uB098 \uB80C\uB354\uB9C1 \uB4F1\uC744 \uC704\uD55C \uC81C\uD55C \uC5C6\uB294 \uBAA8\uB378","format.java_block":"\uC790\uBC14 \uBE14\uB85D/\uC544\uC774\uD15C","format.java_block.desc":"\uC790\uBC14 \uC5D0\uB514\uC158\uC744 \uC704\uD55C \uBAA8\uB378 \uD615\uC2DD\uC785\uB2C8\uB2E4.","format.bedrock":"\uBCA0\uB4DC\uB77D \uBAA8\uB378","format.bedrock.desc":"\uBCA0\uB4DC\uB77D \uC5D0\uB514\uC158\uC744 \uC704\uD55C \uBAA8\uB378 \uD615\uC2DD","format.bedrock_old":"\uBCA0\uB4DC\uB77D \uB808\uAC70\uC2DC \uBAA8\uB378","format.bedrock_old.desc":"Pre-1.12 \uBCA0\uB4DC\uB77D \uC5D0\uB514\uC158 \uC5D4\uD2F0\uD2F0 \uBAA8\uB378","format.modded_entity":"\uC218\uC815\uB41C \uC5D4\uD2F0\uD2F0","format.modded_entity.desc":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uBAA8\uB4DC\uB97C \uC704\uD55C \uC5D4\uD2F0\uD2F0 \uBAA8\uB378\uC785\uB2C8\uB2E4. .java \uD074\uB798\uC2A4 \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0BC \uC218 \uC788\uC2B5\uB2C8\uB2E4.","format.optifine_entity":"OptiFine \uC5D4\uD2F0\uD2F0","format.optifine_entity.desc":"OptiFine \uBAA8\uB4DC\uB97C \uC704\uD55C \uCEE4\uC2A4\uD140 \uC5D4\uD2F0\uD2F0 \uBAA8\uB378 \uD615\uC2DD","keys.mouse":"\uB9C8\uC6B0\uC2A4 \uBC84\uD2BC %0","message.cleared_blank_faces.title":"\uBE44\uC5B4\uC788\uB294 \uD45C\uBA74","message.cleared_blank_faces.message":"Blockbench\uC5D0\uC11C \uD14D\uC2A4\uCCD0\uAC00 \uC5C6\uB294 %0\uAC1C\uC758 \uD050\uBE0C\uB97C \uBC1C\uACAC\uD588\uC2B5\uB2C8\uB2E4. \uC774 \uC694\uC18C\uB4E4\uC744 \uC81C\uAC70\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.wireframe.enabled":"\uC640\uC774\uC5B4\uD504\uB808\uC784 \uBDF0 \uD65C\uC131\uD654","message.wireframe.disabled":"\uC640\uC774\uC5B4\uD504\uB808\uC784 \uBDF0 \uBE44\uD65C\uC131\uD654","dialog.convert_project.title":"\uD504\uB85C\uC81D\uD2B8 \uBCC0\uD658","dialog.create_texture.double_use":"\uB2E4\uC911 \uD14D\uC2A4\uCCD0 \uC810\uC720 \uC720\uC9C0","dialog.model_stats.title":"\uBAA8\uB378 \uC0C1\uD0DC","dialog.model_stats.cubes":"\uD050\uBE0C\uB4E4","dialog.model_stats.locators":"\uB85C\uCF00\uC774\uD130","dialog.model_stats.groups":"\uADF8\uB8F9\uB4E4","dialog.model_stats.vertices":"\uC815\uC810","dialog.model_stats.faces":"\uD45C\uBA74\uB4E4","settings.username":"\uB2C9\uB124\uC784","settings.username.desc":"\uC218\uC815\uB41C \uC138\uC158\uC744 \uC704\uD55C \uB2C9\uB124\uC784","settings.painting_grid":"\uACA9\uC790 \uCE60\uD558\uAE30","settings.painting_grid.desc":"\uD398\uC778\uD2B8 \uBAA8\uB4DC\uC5D0\uC11C \uD14D\uC2A4\uCCD0\uAC00 \uC788\uB294 \uD050\uBE0C\uC5D0 \uACA9\uC790 \uD45C\uC2DC","action.convert_project":"\uD504\uB85C\uC81D\uD2B8 \uBCC0\uD658","action.convert_project.desc":"\uD604\uC7AC \uD504\uB85C\uC81D\uD2B8\uB97C \uB2E4\uB978 \uD30C\uC77C \uD615\uC2DD\uC73C\uB85C \uBCC0\uD658","action.close_project":"\uD504\uB85C\uC81D\uD2B8 \uB2EB\uAE30","action.close_project.desc":"\uD604\uC7AC \uC5F4\uB824\uC788\uB294 \uD504\uB85C\uC81D\uD2B8 \uB2EB\uAE30","action.export_bedrock":"\uBCA0\uB4DC\uB77D \uC9C0\uC624\uBA54\uD2B8\uB9AC \uB0B4\uBCF4\uB0B4\uAE30","action.export_bedrock.desc":"\uBCA0\uB4DC\uB77D \uC9C0\uC624\uBA54\uD2B8\uB9AC \uD30C\uC77C\uB85C \uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30.","action.save_project":"\uD504\uB85C\uC81D\uD2B8 \uC800\uC7A5","action.save_project.desc":"\uD604\uC7AC \uD504\uB85C\uC81D\uD2B8\uB97C \uD30C\uC77C\uB85C \uC800\uC7A5","action.save_project_as":"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uD504\uB85C\uC81D\uD2B8 \uC800\uC7A5","action.save_project_as.desc":"\uC0C8\uB85C\uC6B4 \uACF3\uC5D0 \uD604\uC7AC \uD504\uB85C\uC81D\uD2B8\uB97C \uC800\uC7A5","action.export_over":"\uBAA8\uB378 \uC800\uC7A5","action.export_over.desc":"\uD30C\uC77C\uC744 \uB36E\uC5B4\uC4F0\uACE0 \uBAA8\uB378, \uD14D\uC2A4\uCCD0 \uBC0F \uC560\uB2C8\uBA54\uC774\uC158 \uC800\uC7A5","action.add_locator":"\uB85C\uCF00\uC774\uD130 \uCD94\uAC00","action.add_locator.desc":"\uC785\uC790, \uB9AC\uC26C \uB4F1\uC744 \uC81C\uC5B4\uD558\uAE30 \uC704\uD55C \uC0C8 \uB85C\uCF00\uC774\uD130 \uCD94\uAC00","action.uv_turn_mapping":"\uB9E4\uD551 \uC804\uD658","action.uv_turn_mapping.desc":"UV \uB9E4\uD551\uC744 90\uB3C4 \uC815\uB3C4 \uB3CC\uB9AC\uAE30","action.remove_blank_faces":"\uBE48 \uD45C\uBA74 \uC9C0\uC6B0\uAE30","action.remove_blank_faces.desc":"\uD14D\uC2A4\uCCD0\uAC00 \uC5C6\uB294 \uBAA8\uB4E0 \uBA74 \uC81C\uAC70","web.download_app":"\uC571 \uB2E4\uC6B4\uB85C\uB4DC","uv_editor.turned":"\uB9E4\uD551 \uC804\uD658\uD568","display.reference.crossbow":"\uD06C\uB85C\uC2A4\uBCF4\uC6B0","dialog.settings.search_results":"\uAC80\uC0C9 \uACB0\uACFC","settings.animation_snap":"\uC560\uB2C8\uBA54\uC774\uC158 \uC2A4\uB0C5","settings.animation_snap.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uD0C0\uC784\uB77C\uC778\uC758 \uD0A4\uD504\uB808\uC784\uC5D0 \uB300\uD55C \uAE30\uBCF8 \uC2A4\uB0C5 \uAC04\uACA9(\uCD08\uB2F9 \uB2E8\uACC4)\uC785\uB2C8\uB2E4. \uC560\uB2C8\uBA54\uC774\uC158\uBCC4\uB85C \uBCC0\uACBD\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 24\uC785\uB2C8\uB2E4.","action.import_optifine_part":"OptiFine \uBD80\uC704 \uBD88\uB7EC\uC624\uAE30","action.import_optifine_part.desc":"OptiFine\uC744 \uC704\uD55C \uC5D4\uD2F0\uD2F0 \uBD80\uC704 \uBD88\uB7EC\uC624\uAE30","data.locator":"\uB85C\uCF00\uC774\uD130","mode.start.no_recents":"\uCD5C\uADFC\uC5D0 \uC5F4\uB9B0 \uBAA8\uB378 \uC5C6\uC74C","panel.element":"\uC694\uC18C","panel.element.position":"\uC704\uCE58","panel.element.size":"\uD06C\uAE30","panel.element.origin":"\uD68C\uC804 \uC911\uC2EC \uD3EC\uC778\uD2B8","panel.element.rotation":"\uAC01\uB3C4","message.canvas_limit_error.title":"\uCE94\uBC84\uC2A4 \uC81C\uD55C \uC624\uB958","message.canvas_limit_error.message":"\uD615\uC2DD\uC774 \uCE94\uBC84\uC2A4\uB97C 48 \uB2E8\uC704\uB85C \uC81C\uD55C\uD558\uAE30 \uB54C\uBB38\uC5D0 \uC791\uC5C5\uC744 \uC62C\uBC14\uB974\uAC8C \uC218\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD68C\uC804 \uC911\uC2EC \uD3EC\uC778\uD2B8\uB97C \uBCC0\uACBD\uD558\uC5EC \uC774 \uBB38\uC81C\uB97C \uBC29\uC9C0\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","data.effect":"\uD6A8\uACFC","generic.name":"\uC774\uB984","settings.recent_projects":"\uCD5C\uADFC \uBAA8\uB378 \uCEA1","settings.recent_projects.desc":"\uC800\uC7A5\uB418\uC5B4\uC57C\uD558\uB294 \uCD5C\uADFC \uBAA8\uB378\uC758 \uCD5C\uB300 \uC218","settings.volume":"\uC74C\uB7C9","settings.volume.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uC74C\uD5A5\uD6A8\uACFC \uBCFC\uB968 \uC81C\uC5B4","action.clear_timeline":"\uD0C0\uC784\uB77C\uC778 \uCD08\uAE30\uD654","action.clear_timeline.desc":"\uD0C0\uC784\uB77C\uC778\uC5D0\uC11C \uC120\uD0DD\uB418\uC9C0 \uC54A\uC740 \uBF08\uB300 \uBAA8\uB450 \uC9C0\uC6B0\uAE30","action.select_effect_animator":"\uC5D0\uB2C8\uB9E4\uC774\uC158 \uD6A8\uACFC","action.select_effect_animator.desc":"\uD0C0\uC784\uB77C\uC778\uC744 \uC5F4\uC5B4 \uC18C\uB9AC \uBC0F \uC785\uC790 \uD6A8\uACFC\uB97C \uCD94\uAC00","action.timeline_focus":"\uD544\uD130 \uCC44\uB110","action.timeline_focus.desc":"\uD0C0\uC784\uB77C\uC778\uC5D0 \uD45C\uC2DC\uD560 \uC560\uB2C8\uBA54\uC774\uC158 \uCC44\uB110 \uC120\uD0DD","timeline.particle":"\uC785\uC790","timeline.sound":"\uC18C\uB9AC","timeline.effects":"\uD6A8\uACFC","data.format":"\uD615\uC2DD","format.optifine_part":"OptiFine \uBD80\uC704","format.optifine_part.desc":"OptiFine \uC5D4\uD2F0\uD2F0 \uBAA8\uB378\uC744 \uC704\uD55C JPM \uBD80\uC704","action.reverse_keyframes":"\uD0A4\uD504\uB808\uC784 \uBC18\uC804","action.reverse_keyframes.desc":"\uC120\uD0DD\uB41C \uD0A4\uD504\uB808\uC784\uB4E4\uC758 \uC21C\uC11C\uB97C \uBC18\uC804\uC2DC\uD0B5\uB2C8\uB2E4","generic.help":"\uB3C4\uC6C0\uB9D0","message.removed_faces":"%0\uAC1C\uC758 \uBA74\uC774 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4","dialog.sketchfab_uploader.draft":"\uCD08\uC548","action.slider_pos":"%0\uCD95 \uC774\uB3D9","action.slider_pos.desc":"%0\uCD95\uC744 \uAE30\uC900\uC73C\uB85C \uD050\uBE0C \uC774\uB3D9","action.slider_size":"%0\uCD95 \uD06C\uAE30","action.slider_size.desc":"%0\uCD95\uC744 \uAE30\uC900\uC73C\uB85C \uD050\uBE0C \uD06C\uAE30 \uC870\uC815","action.slider_rotation":"%0 \uD68C\uC804","action.slider_rotation.desc":"%0\uCD95\uC744 \uAE30\uC900\uC73C\uB85C \uD050\uBE0C \uD68C\uC804","action.slider_origin":"%0\uCD95 \uD68C\uC804 \uC911\uC2EC","action.slider_origin.desc":"\uD68C\uC804 \uC911\uC2EC\uC744 %0\uCD95\uC744 \uAE30\uC900\uC73C\uB85C \uC774\uB3D9","action.rotate_cw":"+90\uB3C4\uB9CC\uD07C %0 \uD68C\uC804","action.rotate_cw.desc":"%0\uCD95\uC744 \uAE30\uC900\uC73C\uB85C \uD050\uBE0C 90\xB0 \uD68C\uC804","action.rotate_ccw":"-90\uB3C4\uB9CC\uD07C %0 \uD68C\uC804","action.rotate_ccw.desc":"\uC120\uD0DD\uD55C \uD050\uBE0C\uB97C %0 \uCD95\uC5D0\uC11C -90\xB0 \uD68C\uC804","action.flip":"%0 \uB4A4\uC9D1\uAE30","action.flip.desc":"%0 \uCD95\uC744 \uC911\uC2EC\uC73C\uB85C \uC120\uD0DD\uB41C \uD050\uBE0C \uB4A4\uC9D1\uAE30","action.center":"%0\uCD95 \uC911\uC2EC","action.center.desc":"\uC120\uD0DD\uB41C \uD050\uBE0C\uB97C %0 \uCD95\uC758 \uC911\uC2EC\uC73C\uB85C \uC774\uB3D9","action.bring_up_all_animations":"\uBAA8\uB4E0 \uC560\uB2C8\uBA54\uC774\uC158 \uAC00\uC838\uC624\uAE30","panel.bone":"\uBF08\uB300","data.color":"\uC0C9\uC0C1","generic.export":"\uB0B4\uBCF4\uB0B4\uAE30","generic.none":"\uC5C6\uC74C","status_bar.recording":"\uD0C0\uC784\uB7A9\uC2A4 \uAE30\uB85D","message.add_to_palette":"\uD314\uB808\uD2B8\uC5D0 \uCD94\uAC00","message.size_modifiers":"Ctrl \uB610\uB294 Shift\uB97C \uC720\uC9C0\uD558\uC5EC \uB354 \uC791\uC740 \uC99D\uBD84\uC73C\uB85C \uBCC0\uD658","message.timelapse_start":"\uD0C0\uC784\uB7A9\uC2A4 \uC2DC\uC791\uB428","message.timelapse_stop":"\uD0C0\uC784\uB7A9\uC2A4 \uBA48\uCDA4","message.import_palette.replace_palette":"\uC624\uB798\uB41C \uD314\uB808\uD2B8 \uBC14\uAFB8\uAE30","message.import_palette.threshold":"\uBCD1\uD569 \uC784\uACC4\uAC12","dialog.timelapse.interval":"\uAC04\uACA9 (\uCD08)","dialog.timelapse.source":"\uCD9C\uCC98","dialog.timelapse.source.interface":"\uC778\uD130\uD398\uC774\uC2A4","dialog.timelapse.source.locked":"\uAC01\uB3C4 \uACE0\uC815","dialog.timelapse.destination":"\uBAA9\uC801\uC9C0 \uD3F4\uB354","layout.color.checkerboard":"\uCCB4\uCEE4\uBCF4\uB4DC","layout.color.checkerboard.desc":"\uCE94\uBC84\uC2A4\uC640 UV \uD3B8\uC9D1\uAE30\uC758 \uBC30\uACBD","layout.font.code":"\uD3F0\uD2B8 \uCF54\uB4DC","layout.css":"\uCEE4\uC2A4\uD140 CSS","settings.category.paint":"\uCE60\uD558\uAE30","settings.deactivate_size_limit":"\uD06C\uAE30 \uC81C\uD55C \uBE44\uD65C\uC131\uD654","settings.deactivate_size_limit.desc":"\uD2B9\uC815 \uBAA8\uB378\uC758 \uD06C\uAE30 \uC81C\uD55C\uC744 \uC81C\uAC70\uD569\uB2C8\uB2E4. ( \uACBD\uACE0 : \uC774 \uC124\uC815\uC740 \uC624\uB958\uB97C \uBC1C\uC0DD\uC2DC\uD0AC \uC218 \uC788\uC2B5\uB2C8\uB2E4! )","settings.brush_opacity_modifier":"\uBD88\uD22C\uBA85 \uBE0C\uB7EC\uC2DC \uC218\uC815","settings.brush_opacity_modifier.desc":"\uC2A4\uD0C0\uC77C\uB7EC\uC2A4\uD39C\uC744 \uC0AC\uC6A9\uD560 \uB54C \uBE0C\uB7EC\uC2DC \uD22C\uBA85\uB3C4 \uC124\uC815","settings.brush_size_modifier":"\uBE0C\uB7EC\uC2DC \uD06C\uAE30 \uC870\uC815","settings.brush_size_modifier.desc":"\uC2A4\uD0C0\uC77C\uB7EC\uC2A4\uD39C\uC744 \uC0AC\uC6A9\uD560 \uB54C \uBE0C\uB7EC\uC2DC \uD06C\uAE30 \uC124\uC815","settings.brush_modifier.pressure":"\uC555\uB825","settings.brush_modifier.tilt":"\uAE30\uC6B8\uAE30","category.color":"\uC0C9\uC0C1","action.import_theme":"\uD14C\uB9C8 \uBD88\uB7EC\uC624\uAE30","action.export_theme":"\uD14C\uB9C8 \uB0B4\uBCF4\uB0B4\uAE30","action.export_theme.desc":"\uD604\uC7AC \uC124\uC815\uC744 \uBC31\uC5C5 \uD30C\uC77C\uB85C \uC0DD\uC131","action.slider_color_h":"\uD569\uC131 \uC0C9","action.slider_color_s":"\uCC44\uB3C4","action.slider_color_v":"\uAC12","action.add_to_palette":"\uD314\uB808\uD2B8\uC5D0 \uCD94\uAC00","action.add_to_palette.desc":"\uC120\uD0DD\uB41C \uC0C9\uAE54\uC744 \uD314\uB808\uD2B8\uC5D0 \uCD94\uAC00","action.import_palette":"\uD314\uB808\uD2B8 \uBD88\uB7EC\uC624\uAE30","action.import_palette.desc":"\uD314\uB808\uD2B8 \uD30C\uC77C \uBD88\uB7EC\uC624\uAE30","action.export_palette":"\uD314\uB808\uD2B8 \uB0B4\uBCF4\uB0B4\uAE30","action.export_palette.desc":".GPL \uD30C\uC77C\uB85C \uC0C9\uC0C1 \uACAC\uBCF8 \uB0B4\uBCF4\uB0B4\uAE30","action.generate_palette":"\uD314\uB808\uD2B8 \uC0DD\uC131...","action.generate_palette.desc":"\uD14D\uC2A4\uCCD0\uB85C\uBD80\uD130 \uD314\uB808\uD2B8 \uC0DD\uC131","action.sort_palette":"\uD314\uB808\uD2B8 \uC815\uB82C","action.sort_palette.desc":"\uD314\uB808\uD2B8\uC758 \uBAA8\uB4E0 \uC0C9\uAE54\uC744 \uC0C9\uAE54\uACFC \uBC1D\uAE30\uB85C \uC815\uB82C","action.timelapse":"\uD0C0\uC784\uB7A9\uC2A4","action.timelapse.desc":"\uBAA8\uB378 \uC81C\uC791\uC758 \uC9C4\uD589 \uB4F1\uC758 \uBAA8\uB4E0 \uD589\uB3D9\uB4E4\uC744 \uAE30\uB85D\uD569\uB2C8\uB2E4.","action.add_keyframe":"\uD0A4\uD504\uB808\uC784 \uCD94\uAC00","action.add_keyframe.desc":"\uC790\uB3D9\uC73C\uB85C \uD0A4 \uD504\uB808\uC784\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4. \uC26C\uD504\uD2B8\uB97C \uB20C\uB7EC \uAC15\uC81C\uB85C \uAE30\uBCF8 \uAC12\uC73C\uB85C \uD569\uB2C8\uB2E4.","action.bring_up_all_animations.desc":"\uC124\uC815\uB41C \uBAA8\uB4E0 \uC560\uB2C8\uBA54\uC774\uC158\uB4E4\uC744 \uD0C0\uC784\uB77C\uC778\uC73C\uB85C \uBD88\uB7EC\uC635\uB2C8\uB2E4.","timeline.timeline":"\uC9C0\uC2DC","menu.palette.load.default":"\uAE30\uBCF8\uAC12","generic.import":"\uBD88\uB7EC\uC624\uAE30","settings.brush_modifier.none":"\uC5C6\uC74C","action.export_entity":"\uBCA0\uB4DC\uB77D \uC5D4\uD2F0\uD2F0 \uB0B4\uBCF4\uB0B4\uAE30","action.export_entity.desc":"\uD604\uC7AC \uC81C\uC791\uB418\uC5B4\uC788\uB294 \uBAA8\uB378\uC744 \uC5D4\uD2F0\uD2F0 \uBAA8\uB378 (mobs.json) \uB85C \uC800\uC7A5","settings.highlight_cubes":"\uD050\uBE0C \uAC15\uC870\uD558\uAE30","settings.highlight_cubes.desc":"\uD050\uBE0C\uB97C \uB9C8\uC6B0\uC2A4\uB85C \uAC00\uB9AC\uD0AC \uC2DC \uD639\uC740 \uC120\uD0DD\uD560 \uC2DC \uAC15\uC870\uD558\uAE30","action.add_marker":"\uB9C8\uCEE4 \uC124\uC815","action.add_marker.desc":"\uD0C0\uC784\uB77C\uC778 \uD45C\uC2DC\uD558\uAE30","timeline.pre_effect_script":"\uC2A4\uD06C\uB9BD\uD2B8","format.skin":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8","format.skin.desc":"\uD50C\uB808\uC774\uC5B4, \uC5D4\uD2F0\uD2F0 \uC2A4\uD0A8 \uC218\uC815","message.sketchfab.setup_guide":"Sketchfab \uC5D0\uC11C 3D \uBAA8\uB378\uC744 \uC81C\uC791\uD558\uB294 \uBC29\uBC95\uC740 %0 \uC744(\uB97C) \uCC38\uACE0\uD558\uC138\uC694.","dialog.skin.title":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8 \uC0DD\uC131","dialog.skin.model":"\uC2A4\uD0A8 \uBAA8\uB378","action.toggle_skin_layer":"\uC2A4\uD0A8 \uB808\uC774\uC5B4 \uC2A4\uC704\uCE58","action.toggle_skin_layer.desc":"\uC2A4\uD0A8 \uBAA8\uB378\uC758 \uBAA8\uC790\uC640 \uC637 \uB4F1\uC758 \uB808\uC774\uC5B4\uB97C \uD65C\uC131\uD654 \uD639\uC740 \uBE44\uD65C\uC131\uD654","action.gui_light":"GUI \uBC1D\uAE30","action.gui_light.desc":"\uC544\uC774\uD15C\uC774 \uC778\uBCA4\uD1A0\uB9AC\uC5D0\uC11C \uBC1D\uD600\uC9C0\uB294 \uBC29\uBC95 \uC120\uD0DD","action.gui_light.side":"\uC606\uBA74 \uBE5B","action.gui_light.front":"\uC55E\uBA74 \uBE5B","action.move_keyframe_back":"\uD0A4 \uD504\uB808\uC784\uC744 \uB4A4\uB85C \uC62E\uAE30\uAE30","action.move_keyframe_forth":"\uD0A4 \uD504\uB808\uC784\uC744 \uC55E\uC73C\uB85C \uC774\uB3D9","menu.help":"\uB3C4\uC6C0","menu.help.discord":"\uB514\uC2A4\uCF54\uB4DC \uC11C\uBC84","menu.help.report_issue":"\uBB38\uC81C \uC2E0\uACE0","menu.help.plugin_documentation":"\uD50C\uB7EC\uADF8\uC778 API \uBB38\uC11C","menu.help.search_action":"\uAC80\uC0C9 \uD6C4 \uC2E4\uD589 \uB3D9\uC791","menu.help.donate":"\uAE30\uBD80","menu.help.about":"\uB354\uBCF4\uAE30","menu.preview.background.clipboard":"\uD074\uB9BD\uBCF4\uB4DC\uC5D0\uC11C \uBD88\uB7EC\uC624\uAE30","dialog.ignore":"\uBB34\uC2DC","generic.unset":"\uC124\uC815 \uC548\uD568","message.invalid_builtin_parent.title":"\uC798\uBABB\uB41C \uD398\uB7F0\uD2B8\uC785\uB2C8\uB2E4.","message.invalid_builtin_parent.message":"\uC798\uBABB\uB41C \uD398\uB7F0\uD2B8 '%0' \uC758 \uB9C1\uD06C\uAC00 \uBAA8\uB378\uC744 \uC800\uC7A5\uD558\uAE30 \uC704\uD558\uC5EC \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","dialog.resize_texture.fill":"\uCC44\uC6B0\uAE30","dialog.resize_texture.fill.transparent":"\uD22C\uBA85","dialog.resize_texture.fill.color":"\uC0C9\uC0C1","dialog.resize_texture.fill.repeat":"\uBC18\uBCF5","dialog.scale.element_pivot":"\uC694\uC18C \uC911\uC2EC\uC810","dialog.scale.selection_center":"\uC911\uC2EC \uC120\uD0DD","dialog.create_gif.length_mode":"\uAE38\uC774 \uC124\uC815","dialog.create_gif.length_mode.seconds":"\uCD08","dialog.create_gif.length_mode.frames":"\uD504\uB808\uC784","dialog.create_gif.length_mode.animation":"\uC560\uB2C8\uBA54\uC774\uC158 \uAE38\uC774","dialog.create_gif.length_mode.turntable":"\uD68C\uC804\uAC00\uB2A5\uD55C \uD68C\uC120","dialog.save_angle.projection":"\uBE5B \uAD00\uD1B5","dialog.save_angle.projection.perspective":"\uC6D0\uADFC\uBC95","dialog.save_angle.projection.orthographic":"\uC9C1\uAD50","dialog.sketchfab_uploader.animations":"\uC560\uB2C8\uBA54\uC774\uC158","dialog.settings.theme":"\uD14C\uB9C8","settings.category.interface":"\uC778\uD130\uD398\uC774\uC2A4","settings.preview_checkerboard":"\uCCB4\uCEE4\uBCF4\uB4DC \uD504\uB9AC\uBDF0","settings.preview_checkerboard.desc":"\uBBF8\uB9AC\uBCF4\uAE30 \uB4A4\uC5D0 \uC788\uB294 \uCCB4\uD06C\uBCF4\uB4DC \uBC30\uACBD \uC804\uD658","settings.uv_checkerboard":"UV \uC5D0\uB514\uD130 \uCCB4\uCEE4\uBCF4\uB4DC","settings.uv_checkerboard.desc":"UV \uC5D0\uB514\uD130 \uB4A4\uC5D0 \uC788\uB294 \uCCB4\uD06C\uBCF4\uB4DC \uBC30\uACBD \uC804\uD658","category.paint":"\uCE60\uD558\uAE30","action.fill_mode.color_connected":"\uC5F0\uACB0\uB41C \uC0C9\uC0C1\uB4E4","action.draw_shape_type":"\uBAA8\uC591 \uD0C0\uC785","action.draw_shape_type.rectangle":"\uC9C1\uC0AC\uAC01\uD615","action.draw_shape_type.rectangle_h":"\uC9C1\uC0AC\uAC01\uD615 (\uD560\uB85C\uC6B0)","action.draw_shape_type.ellipse":"\uD0C0\uC6D0\uD615","action.draw_shape_type.ellipse_h":"\uD0C0\uC6D0\uD615 (\uD560\uB85C\uC6B0)","action.draw_shape_type.line":"\uC120","action.mirror_painting":"\uC88C\uC6B0\uBC18\uC804 \uCE60\uD558\uAE30","action.mirror_painting.description":"\uD398\uC778\uD2B8 \uC2A4\uD2B8\uB85C\uD06C\uB97C \uBAA8\uB378\uC758 \uB2E4\uB978 \uCABD\uC73C\uB85C \uBC18\uC804\uD569\uB2C8\uB2E4","action.lock_alpha":"\uC54C\uD30C \uCC44\uB110 \uC7A0\uADF8\uAE30","action.lock_alpha.description":"\uBAA8\uB4E0 \uD53D\uC140\uC758 \uD22C\uBA85\uC131\uC744 \uC7A0\uADF8\uAE30","action.draw_shape_tool":"\uBAA8\uC591 \uADF8\uB9AC\uAE30","action.draw_shape_tool.desc":"\uD14D\uC2A4\uCCD0\uC5D0 \uAC04\uB2E8\uD55C \uBAA8\uC591\uC744 \uADF8\uB9AC\uB294 \uB3C4\uAD6C","action.export_gltf":"glTF \uBAA8\uB378\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.export_gltf.desc":"\uBAA8\uB378\uACFC \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uACF5\uC720\uC640 \uB80C\uB354\uB9C1\uC744 \uC704\uD55C glTF \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.transform_space":"\uACF5\uAC04 \uBC14\uAFB8\uAE30","action.transform_space.desc":"\uD050\uBE0C \uBC0F \uBF08\uB300\uC758 \uAE30\uBCF8 \uBCC0\uD658 \uACF5\uAC04","action.transform_space.global":"\uAE00\uB85C\uBC8C","action.transform_space.local":"\uB85C\uCEEC","action.toggle_camera_projection":"\uCE74\uBA54\uB77C \uD22C\uC0AC \uD1A0\uAE00","action.toggle_camera_projection.desc":"\uC6D0\uADFC\uBC95\uACFC \uC9C1\uAD50\uBC95 \uC0AC\uC774\uC5D0 \uCE74\uBA54\uB77C \uD22C\uC601 \uC804\uD658","action.load_camera_angle":"\uCE74\uBA54\uB77C \uAC01\uB3C4: %0","action.load_camera_angle.desc":"\uCE74\uBA54\uB77C \uAC01\uB3C4 \uBD88\uB7EC\uC624\uAE30 '%0'","action.slider_face_tint":"\uC605\uC740 \uC0C9 \uC0C9\uC778","action.slider_face_tint.desc":"\uD604\uC7AC \uBA74\uC758 \uC0C9\uC778 \uC9C0\uC218\uB97C \uC124\uC815\uD569\uB2C8\uB2E4. -1\uC740 \uC124\uC815 \uD574\uC81C\uB97C \uC758\uBBF8\uD569\uB2C8\uB2E4.","menu.help.quickstart":"\uBE60\uB978\uC2DC\uC791 \uB9C8\uBC95\uC0AC","menu.help.developer":"\uAC1C\uBC1C\uC9C4","menu.help.developer.dev_tools":"\uAC1C\uBC1C \uB3C4\uAD6C \uC5F4\uAE30","menu.help.developer.reset_storage":"\uACF5\uC7A5 \uCD08\uAE30\uD654","menu.help.developer.reset_storage.confirm":"Blockbench\uB97C \uACF5\uC7A5\uCD08\uAE30\uD654 \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uBAA8\uB4E0 \uCEE4\uC2A4\uD140 \uC124\uC815\uACFC \uD0A4 \uBC14\uC778\uB529, \uC124\uCE58\uB41C \uD50C\uB7EC\uADF8\uC778\uB4E4\uC774 \uC9C0\uC6CC\uC9C8\uAC83\uC785\uB2C8\uB2E4","menu.help.developer.cache_reload":"\uCE90\uC26C \uB9AC\uB85C\uB4DC","menu.preview.orthographic":"\uC815\uC0AC\uC601","menu.preview.save_angle":"\uAC01\uB3C4 \uC800\uC7A5...","menu.preview.angle":"\uAC01\uB3C4","menu.preview.angle.initial":"\uCCAB \uAC01\uB3C4","menu.preview.maximize":"\uCD5C\uB300\uCE58","uv_editor.copy_selection":"\uC120\uD0DD \uD56D\uBAA9 \uBCF5\uC0AC","uv_editor.paste_selection":"\uC120\uD0DD \uD56D\uBAA9 \uBD99\uC5EC\uB123\uAE30","uv_editor.copy_paste_tool.place":"\uD655\uC778","uv_editor.copy_paste_tool.mirror_x":"X\uCD95\uC73C\uB85C \uC88C\uC6B0\uBC18\uC804","uv_editor.copy_paste_tool.mirror_y":"Y\uCD95\uC73C\uB85C \uC88C\uC6B0\uBC18\uC804","uv_editor.copy_paste_tool.rotate":"90\uB3C4 \uD68C\uC804","dialog.project.modded_entity_version":"\uC800\uC7A5\uB420 \uBC84\uC804","dialog.save_angle.position":"\uCE74\uBA54\uB77C \uC704\uCE58","dialog.save_angle.target":"\uCD08\uC810","dialog.skin.pose":"\uD3EC\uC988","layout.color.frame":"\uD504\uB808\uC784","layout.color.frame.desc":"\uACBD\uACC4\uC640 \uC81C\uBAA9","settings.large_grid_size":"\uBE14\uB85D \uACA9\uC790 \uD06C\uAE30","settings.large_grid_size.desc":"\uBE14\uB85D \uACA9\uC790\uC758 \uD06C\uAE30","action.load_plugin_from_url":"URL\uB85C\uBD80\uD130 \uD50C\uB7EC\uADF8\uC778\uC744 \uBD88\uB7EC\uC635\uB2C8\uB2E4.","action.load_plugin_from_url.desc":"\uC9C0\uC815\uB41C URL\uC758 \uC11C\uBC84\uB85C\uBD80\uD130 \uD50C\uB7EC\uADF8\uC778\uC744 \uBD88\uB7EC\uC634","action.cube_counter.desc":"\uD050\uBE0C\uC758 \uD604\uC7AC \uAC2F\uC218\uC640 \uB2E4\uB978 \uD1B5\uACC4\uB97C \uD45C\uC2DC\uD568","action.unlock_everything":"\uBAA8\uB450 \uC7A0\uAE08 \uD574\uC81C","action.unlock_everything.desc":"\uBC14\uAE65\uCABD\uC758 \uC694\uC18C \uC7A0\uAE08 \uD574\uC81C","action.load_palette":"\uD314\uB808\uD2B8 \uBD88\uB7EC\uC624\uAE30","action.load_palette.desc":"\uC0AC\uC804\uC5D0 \uC124\uC815\uB41C \uD314\uB808\uD2B8 \uC124\uC815 \uBD88\uB7EC\uC624\uAE30","action.toggle_locked":"\uC7A0\uAE08 \uC5EC\uBD80 \uC124\uC815","action.toggle_locked.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uC758 \uC7A0\uAE08 \uC5EC\uBD80\uB97C \uC804\uD658\uD568","action.apply_display_preset":"\uAE30\uBCF8 \uC124\uC815 \uC801\uC6A9\uD558\uAE30","action.apply_display_preset.desc":"\uAE30\uBCF8 \uC124\uC815 \uD639\uC740 \uCEE4\uC2A4\uD140 \uC124\uC815 \uC801\uC6A9\uD558\uAE30","action.apply_display_preset.here":"\uD574\uB2F9 \uC2AC\uB987\uC5D0 \uC801\uC6A9\uD558\uAE30","action.apply_display_preset.everywhere":"\uBAA8\uB4E0 \uC2AC\uB987\uC5D0 \uC801\uC6A9\uD558\uAE30","action.resolve_keyframe_expressions":"\uD0A4 \uD504\uB808\uC784 \uC7AC\uC124\uC815","action.resolve_keyframe_expressions.desc":"\uC124\uC815\uB41C \uD0A4 \uD504\uB808\uC784\uC758 \uC218\uD559 \uAC12\uC744 \uC7AC\uC124\uC815\uD568","action.fold_all_animations":"\uBAA8\uB4E0 \uC560\uB2C8\uBA54\uC774\uC158 \uC811\uAE30","menu.palette.load.empty":"\uACF5\uBC31","switches.lock":"\uC7A0\uAE08","settings.render_sides":"\uC606\uBA74 \uB80C\uB354","settings.render_sides.desc":"\uC5B4\uB290 \uBA74\uC774 \uB80C\uB354\uB420\uC9C0 \uC120\uD0DD","settings.render_sides.auto":"\uC790\uB3D9","settings.render_sides.front":"\uBC14\uAE65","settings.render_sides.double":"\uC548\uCABD\uACFC \uBC14\uAE65","generic.enable":"\uD5C8\uC6A9","generic.disable":"\uBE44\uD5C8\uC6A9","generic.redacted":"\uC7AC\uC870\uC815\uB428","dialog.select_texture.import_all":"\uBAA8\uB450 \uBD88\uB7EC\uC624\uAE30","dialog.skin.layer_template":"\uB808\uC774\uC5B4 \uD14D\uC2A4\uCCD0","about.version.up_to_date":"\uCD5C\uC2E0 \uC815\uBCF4","about.version.update_available":"%0 \uBC84\uC804\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4","settings.category.application":"\uC560\uD50C\uB9AC\uCF00\uC774\uC158","settings.streamer_mode":"\uC2A4\uD2B8\uB9AC\uBA38 \uBAA8\uB4DC","settings.streamer_mode.desc":"\uCD5C\uADFC \uBAA8\uB378\uACFC \uAC19\uC740 \uBBFC\uAC10\uD55C \uC815\uBCF4 \uC228\uAE30\uAE30","settings.automatic_updates":"\uC790\uB3D9 \uC5C5\uB370\uC774\uD2B8","settings.automatic_updates.desc":"BlockBench\uC758 \uCD5C\uC2E0 \uC815\uBCF4\uC640 \uBC84\uC804\uC744 \uC790\uB3D9\uC73C\uB85C \uB2E4\uC6B4\uB85C\uB4DC","action.rotation_space":"\uD68C\uC804 \uACF5\uBC31","action.focus_on_selection":"\uC120\uD0DD \uC911\uC2EC \uBCF4\uAE30","action.focus_on_selection.desc":"\uD604\uC7AC \uC120\uD0DD \uC911\uC2EC\uC73C\uB85C \uCE74\uBA54\uB77C \uC815\uB82C","action.jump_to_timeline_start":"\uC560\uB2C8\uBA54\uC774\uC158 \uC2DC\uC791 \uC9C0\uC810\uC73C\uB85C","action.jump_to_timeline_end":"\uC560\uB2C8\uBA54\uC774\uC158 \uB9C8\uCE68 \uC9C0\uC810\uC73C\uB85C","menu.help.updating":"\uC5C5\uB370\uC774\uD2B8 \uC911.. (%0%)","menu.help.update_failed":"\uC5C5\uB370\uC774\uD2B8 \uC2E4\uD328","menu.animation.loop.once":"\uD55C \uBC88 \uC2E4\uD589","menu.animation.loop.hold":"\uB9C8\uC9C0\uB9C9 \uD504\uB808\uC784 \uC720\uC9C0","menu.animation.loop.loop":"\uB8E8\uD504","interface.streamer_mode_on":"\uC2A4\uD2B8\uB9AC\uBA38 \uBAA8\uB4DC \uD5C8\uC6A9","generic.reset":"\uCD08\uAE30\uD654","generic.restore":"\uBCF5\uAD6C","keys.mousewheel":"\uB9C8\uC6B0\uC2A4 \uD720","message.delete_animation.title":"\uC560\uB2C8\uBA54\uC774\uC158 \uC0AD\uC81C","message.delete_animation.message":"\uC560\uB2C8\uBA54\uC774\uC158\uC774 Blockbench\uC5D0\uC11C \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC800\uC7A5\uB41C \uC560\uB2C8\uBA54\uC774\uC158 \uD30C\uC77C\uB3C4 \uC81C\uAC70\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.no_animation_to_import":"\uBD88\uB7EC\uC62C \uC560\uB2C8\uBA54\uC774\uC158\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","dialog.material_instances.title":"\uBA38\uD2F0\uB9AC\uC5BC \uC778\uC2A4\uD134\uC2A4","dialog.animation_import.title":"\uBD88\uB7EC\uC62C \uC560\uB2C8\uBA54\uC774\uC158 \uC120\uD0DD","dialog.create_texture.padding":"\uB0B4\uBD80 \uC5EC\uBC31","settings.fov":"\uC2DC\uC57C\uAC01","settings.fov.desc":"\uCE74\uBA54\uB77C \uC2DC\uC57C\uAC01. \uAE30\uBCF8\uAC12 45.","settings.minify_bbmodel":"\uC555\uCD95\uB41C \uD504\uB85C\uC81D\uD2B8 \uD30C\uC77C","settings.minify_bbmodel.desc":".bbmodel \uD30C\uC77C\uC744 \uD55C \uC904\uC5D0 \uC555\uCD95\uD558\uAE30","action.edit_material_instances":"\uBA38\uD2F0\uB9AC\uC5BC \uC778\uC2A4\uD134\uC2A4 \uD3B8\uC9D1","action.edit_material_instances.desc":"\uBCA0\uB4DC\uB77D \uBE14\uB85D \uC9C0\uC624\uBA54\uD2B8\uB9AC\uB97C \uC704\uD55C \uBA38\uD2F0\uB9AC\uC5BC \uC778\uC2A4\uD134\uC2A4 \uC774\uB984 \uC218\uC815","action.save_all_animations":"\uC560\uB2C8\uBA54\uC774\uC158 \uBAA8\uB450 \uC800\uC7A5","action.save_all_animations.desc":"\uD604\uC7AC \uB85C\uB4DC \uB41C \uC560\uB2C8\uBA54\uC774\uC158 \uBAA8\uB450 \uC800\uC7A5","action.keyframe_interpolation":"\uBCF4\uAC04","action.keyframe_interpolation.desc":"\uD0A4\uD504\uB808\uC784 \uBCF4\uAC04 \uBAA8\uB4DC \uC120\uD0DD","action.keyframe_interpolation.linear":"\uC120\uD615","action.keyframe_interpolation.catmullrom":"\uBD80\uB4DC\uB7EC\uC6C0","action.timeline_focus.hide_empty":"\uBE48 \uCC44\uB110 \uC228\uAE30\uAE30","menu.file.preferences":"\uC0AC\uC6A9\uC790 \uC124\uC815","menu.animation.blend_weight":"\uD63C\uD569 \uC911\uB7C9","menu.animation.save":"\uC800\uC7A5","menu.animation.properties":"\uC18D\uC131...","menu.animation.file":"\uD30C\uC77C","menu.animation.snapping":"\uC2A4\uB0C5","menu.animation.open_location":"\uD30C\uC77C \uC704\uCE58 \uC5F4\uAE30","panel.keyframe.add_data_point":"\uD0A4\uC2A4\uD398\uB9BC \uB370\uC774\uD130 \uD3EC\uC778\uD2B8 \uCD94\uAC00","panel.keyframe.remove_data_point":"\uB370\uC774\uD130 \uD3EC\uC778\uD2B8 \uC0AD\uC81C","panel.keyframe.pre":"\uD504\uB9AC","panel.keyframe.post":"\uAC8C\uC2DC","generic.all":"\uBAA8\uB450","message.small_face_dimensions.title":"\uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uBA74","message.small_face_dimensions.message":"\uC120\uD0DD\uC0AC\uD56D\uC5D0 \uD55C \uBC29\uD5A5\uC73C\uB85C 1 \uC720\uB2DB\uBCF4\uB2E4 \uC791\uC740 \uD45C\uBA74\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uC0C1\uC790 UV \uB9E4\uD551 \uC2DC\uC2A4\uD15C\uC740 \uD574\uB2F9 \uC784\uACC4\uAC12 \uC774\uD558\uC758 \uBA74\uC744 0 \uD53D\uC140 \uD3ED\uC73C\uB85C \uAC04\uC8FC\uD569\uB2C8\uB2E4. \uB530\uB77C\uC11C \uADF8 \uD45C\uBA74\uC758 \uC9C8\uAC10\uC740 \uC62C\uBC14\uB974\uAC8C \uC791\uB3D9\uD558\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","message.small_face_dimensions.face_uv":'\uD604\uC7AC \uD3EC\uB9F7\uC740 \uC791\uC740 \uD45C\uBA74 \uCE58\uC218\uB97C \uCC98\uB9AC\uD560 \uC218 \uC788\uB294 \uD45C\uBA74\uBCC4 UV \uB9F5\uC744 \uC9C0\uC6D0\uD569\uB2C8\uB2E4. "\uD30C\uC77C" > "\uD504\uB85C\uC81D\uD2B8..." \uB85C \uAC00\uC11C "UV \uBAA8\uB4DC"\uB97C "\uD45C\uBA74\uBCC4 UV"\uB85C \uBC14\uAFC0 \uC218 \uC788\uC2B5\uB2C8\uB2E4.',"dialog.plugins.outdated_client":"Blockbench\uB97C \uC0C8 \uBC84\uC804\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8 \uD574\uC57C \uD569\uB2C8\uB2E4","dialog.plugins.outdated_plugin":"\uD50C\uB7EC\uADF8\uC778\uC774 \uAD6C \uBC84\uC804\uC774\uBA70 \uD604\uC7AC Blockbench \uBC84\uC804\uC5D0\uC11C \uC791\uB3D9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4","settings.motion_trails":"\uBAA8\uC158 \uD2B8\uB808\uC77C","settings.motion_trails.desc":"\uC5D0\uB2C8\uBA54\uC774\uC158 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uBAA8\uC158 \uD2B8\uB808\uC77C\uC744 \uD45C\uC2DC\uD558\uAE30","settings.antialiasing":"\uC548\uD2F0\uC5D0\uC77C\uB9AC\uC5B4\uC2F1","settings.antialiasing.desc":"\uBBF8\uB9AC\uBCF4\uAE30\uC5D0\uC11C \uC548\uD2F0\uC5D0\uC77C\uB9AC\uC5B4\uC2F1 \uD1A0\uAE00\uD558\uAE30. Blockbench \uB97C \uC7AC\uC2DC\uC791\uD558\uC5EC \uBCC0\uACBD\uC0AC\uD56D\uC744 \uC801\uC6A9\uD558\uC138\uC694.","action.timeline_frame_back":"1 \uD504\uB808\uC784 \uB4A4\uB85C \uBCF4\uB0B4\uAE30","action.timeline_frame_forth":"1 \uD504\uB808\uC784 \uC55E\uC73C\uB85C \uBCF4\uB0B4\uAE30","panel.bone.ik":"Inverse Kinematics (\uC2E4\uD5D8\uC801 \uAE30\uB2A5)","settings.particle_tick_rate":"\uD30C\uD2F0\uD074 \uD2F1 \uB808\uC774\uD2B8","settings.particle_tick_rate.desc":"\uCD08\uB2F9 \uD2F1\uC758 \uD30C\uD2F0\uD074 \uD6A8\uACFC\uC5D0 \uB300\uD55C \uD2F1 \uB808\uC774\uD2B8. \uAE30\uBCF8\uAC12 30","action.lock_motion_trail":"\uBAA8\uC158 \uD2B8\uB808\uC77C \uC7A0\uAD7C","action.lock_motion_trail.desc":"\uD604\uC7AC \uC120\uD0DD\uB41C \uADF8\uB8F9\uC758 \uBAA8\uC158 \uD2B8\uB808\uC77C \uC7A0\uAD6C\uAE30","menu.animation_file.unload":"\uC5D0\uB2C8\uBA54\uC774\uC158 \uD30C\uC77C \uC5B8\uB85C\uB4DC","data.null_object":"\uBE48 \uAC1D\uCCB4","status_bar.toggle_sidebar":"\uC0AC\uC774\uB4DC\uBC14 \uD1A0\uAE00\uD558\uAE30","message.load_plugin_failed.title":"\uD50C\uB7EC\uADF8\uC778\uC744 \uBD88\uB7EC\uC624\uB294\uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4","message.load_plugin_failed.message":"\uD50C\uB7EC\uADF8\uC778\uC758 \uAE30\uBCF8 \uD30C\uC77C \uC774\uB984\uC774 Plugin.register()\uC5D0 \uC815\uC758\uB41C \uD50C\uB7EC\uADF8\uC778 ID '%0'\uACFC \uC77C\uCE58\uD558\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624","dialog.project.uv_mode":"UV \uBAA8\uB4DC","dialog.project.uv_mode.box_uv":"\uC0C1\uC790 UV","dialog.project.uv_mode.face_uv":"\uD45C\uBA74\uBCC4 UV","dialog.project.texture_size":"\uD14D\uC2A4\uCCD0 \uD06C\uAE30","dialog.animation_export.title":"\uB0B4\uBCF4\uB0BC \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uC120\uD0DD\uD558\uC138\uC694","dialog.create_texture.rearrange_uv":"\uC7AC\uC815\uB82C UV","layout.color.subtle_text":"\uC138\uBC00 \uD14D\uC2A4\uD2B8","layout.color.subtle_text.desc":"\uB300\uC870\uB3C4\uAC00 \uB0AE\uC740 \uC774\uCC28 \uD14D\uC2A4\uD2B8 \uC0C9\uC0C1","settings.interface_scale":"\uC778\uD130\uD398\uC774\uC2A4 \uD06C\uAE30","settings.interface_scale.desc":"\uC804\uCCB4 Blockbench \uC778\uD130\uD398\uC774\uC2A4 \uD06C\uAE30","settings.background_rendering":"\uBC30\uACBD \uB79C\uB354\uB9C1","settings.background_rendering.desc":"\uCC3D\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC740 \uB3D9\uC548\uC5D0 \uD504\uB9AC\uBDF0 \uC5C5\uB370\uC774\uD2B8","settings.ctrl_shift_size":"Control + Shift \uD574\uC0C1\uB3C4","settings.ctrl_shift_size.desc":"Control\uACFC Shift\uB97C \uB204\uB974\uB294 \uB3D9\uC548 \uACA9\uC790\uC758 \uD574\uC0C1\uB3C4 \uC870\uC815","settings.hardware_acceleration":"\uD558\uB4DC\uC6E8\uC5B4 \uAC00\uC18D","settings.hardware_acceleration.desc":"\uADF8\uB798\uD53D \uCE74\uB4DC\uC5D0 \uB80C\uB354\uB9C1 \uC791\uC5C5\uC744 \uC544\uC6C3\uC18C\uC2F1\uD569\uB2C8\uB2E4. \uBCC0\uACBD\uC0AC\uD56D\uC744 \uC801\uC6A9\uD558\uB824\uBA74 Blockbench\uB97C \uB2E4\uC2DC \uC2DC\uC791\uD558\uC2ED\uC2DC\uC624.","action.explode_skin_model":"\uC2A4\uD0A8 \uBAA8\uB378 \uD30C\uAD34","action.explode_skin_model.desc":"\uB36E\uC778 \uD45C\uBA74\uC744 \uD3B8\uC9D1\uD560 \uC218 \uC788\uB294 \uD3ED\uBC1C \uBDF0 \uC804\uD658","action.export_minecraft_skin":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8 \uB0B4\uBCF4\uB0B4\uAE30","action.export_minecraft_skin.desc":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8 PNG\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.add_null_object":"\uBE48 \uAC1D\uCCB4 \uCD94\uAC00","action.add_null_object.desc":"\uC0C8 \uBE48 \uAC1D\uCCB4\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4","action.animated_texture_frame":"\uC560\uB2C8\uBA54\uC774\uC158 \uD0DD\uC2A4\uCCD0 \uD504\uB808\uC784","action.animated_texture_frame.desc":"\uC5D0\uB2C8\uBA54\uC774\uC158 \uD0DD\uC2A4\uCCD0\uC758 \uD604\uC7AC \uD504\uB808\uC784 \uC124\uC815\uD558\uAE30","action.export_animation_file":"\uC560\uB2C8\uBA54\uC774\uC158 \uB0B4\uBCF4\uB0B4\uAE30...","action.export_animation_file.desc":"\uC120\uD0DD\uB41C \uC5D0\uB2C8\uBA54\uC774\uC158\uB4E4\uC744 \uC0C8\uB85C\uC6B4 \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.timeline_graph_editor":"\uADF8\uB798\uD504 \uD3B8\uC9D1\uAE30 \uD1A0\uAE00\uD558\uAE30","action.timeline_graph_editor.desc":"\uADF8\uB798\uD504 \uD3B8\uC9D1\uAE30 \uBDF0\uC640 \uD0A4\uD504\uB808\uC784 \uBDF0 \uC0AC\uC774\uC758 \uD0C0\uC784\uB77C\uC778 \uC804\uD658","menu.file.recent.clear":"\uCD5C\uADFC \uC0AC\uC6A9\uB41C \uD30C\uC77C \uAE30\uB85D \uC0AD\uC81C","switches.shade":"\uADF8\uB9BC\uC790","generic.share":"\uACF5\uC720","dates.minute":"%0\uBD84","dates.minutes":"%0\uBD84","dates.hour":"%0\uC2DC\uAC04","dates.hours":"%0\uC2DC\uAC04","dates.day":"%0\uC77C","dates.days":"%0\uC77C","dates.week":"%0\uC8FC","dates.weeks":"%0\uC8FC","dates.year":"%0\uB144","dates.years":"%0\uB144","message.installed_plugin":"%0 \uD50C\uB7EC\uADF8\uC778\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC124\uCE58\uD588\uC2B5\uB2C8\uB2E4","message.installed_plugin_fail":"%0 \uD50C\uB7EC\uADF8\uC778\uC744 \uC124\uCE58\uD558\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4","dialog.share_model.title":"\uBAA8\uB378 \uACF5\uC720\uD558\uAE30","dialog.share_model.expire_time":"\uB9CC\uB8CC \uC2DC\uAC04","dialog.share_model.failed":"\uBAA8\uB378\uC744 \uC5C5\uB85C\uB4DC\uD558\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4","action.import_java_block_model":"Java \uBE14\uB85D/\uC544\uC774\uD15C \uBAA8\uB378 \uCD94\uAC00","action.import_java_block_model.desc":"\uD604\uC7AC \uBAA8\uB378\uC5D0 json \uD30C\uC77C\uB85C \uBD80\uD130 Minecraft Java \uC758 \uBE14\uB85D/\uC544\uC774\uD15C\uC744 \uCD94\uAC00","action.share_model":"\uACF5\uC720\uD558\uAE30...","action.share_model.desc":"\uBAA8\uB378 \uACF5\uC720 \uB9C1\uD06C \uC0DD\uC131","action.import_project":"\uD504\uB85C\uC81D\uD2B8 \uBD88\uB7EC\uC624\uAE30","action.import_project.desc":".bbmodel \uD30C\uC77C\uC5D0\uC11C \uB2E4\uB978 \uD504\uB85C\uC81D\uD2B8\uB97C \uD604\uC7AC \uD504\uB85C\uC81D\uD2B8\uB85C \uAC00\uC838\uC624\uAE30","dialog.toolbar_edit.hidden_tools":"\uC77C\uBD80 \uB3C4\uAD6C\uB294 \uD604\uC7AC \uBAA8\uB4DC, \uD615\uC2DD \uB610\uB294 \uC0C1\uD669\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 \uC228\uACA8\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","settings.camera_near_plane":"\uCE74\uBA54\uB77C \uADFC\uBC29 \uD3C9\uBA74","settings.camera_near_plane.desc":"\uAC1D\uCCB4\uAC00 \uB80C\uB354\uB9C1\uB418\uB294 \uCE74\uBA54\uB77C\uC5D0\uC11C \uCD5C\uC18C \uAC70\uB9AC\uC785\uB2C8\uB2E4. \uAC12\uC774 \uB192\uC744\uC218\uB85D Z-\uD30C\uC774\uD305\uC774 \uAC10\uC18C\uD569\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 1\uC785\uB2C8\uB2E4.","mode.start.keymap_preference.desc":"Blockbench\uC5D0 \uCC98\uC74C \uC628 \uC0AC\uB78C\uC774\uACE0 \uB2E4\uB978 3D \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC628 \uC0AC\uB78C\uC774\uB77C\uBA74 \uD0A4\uB9F5\uD551\uC744 \uC120\uD0DD\uD558\uC5EC \uC804\uD658\uC744 \uC27D\uAC8C \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB098\uC911\uC5D0 \uC124\uC815\uC5D0\uC11C \uD0A4\uB9F5\uD551 \uB610\uB294 \uAC1C\uBCC4 \uD0A4\uBC14\uC778\uB529\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","message.load_keymap":"\uC774 \uD0A4 \uC124\uC815\uC744 \uBD88\uB7EC\uC624\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uD604\uC7AC \uD0A4 \uC124\uC815\uC744 \uB36E\uC5B4\uC4F0\uAC8C \uB429\uB2C8\uB2E4.","message.keymap_loaded":"\uD0A4\uB9F5\uD551 \uB85C\uB4DC\uB428","dialog.convert_project.current_format":"\uD604\uC7AC \uD3EC\uB9F7","dialog.create_texture.rearrange_uv.desc":"\uC0C8\uB85C\uC6B4 UV \uBC30\uC5F4\uC744 \uB9CC\uB4E4\uC5B4 \uBAA8\uB4E0 \uD45C\uBA74\uC5D0 \uC9C8\uAC10\uC5D0 \uB300\uD55C \uC790\uCCB4 \uC9C0\uC810\uC744 \uC0DD\uC131","dialog.create_texture.power.desc":"\uC790\uB3D9 \uD14D\uC2A4\uCCD0 \uD06C\uAE30\uB97C 64 \uB610\uB294 128\uACFC \uAC19\uC740 2\uC758 \uAC70\uB4ED\uC81C\uACF1\uC73C\uB85C \uC7A0\uAE08. \uC77C\uBD80 \uB80C\uB354\uB7EC\uAC00 \uC694\uAD6C\uB428","dialog.create_texture.double_use.desc":"\uB450 \uC694\uC18C\uAC00 \uC774\uBBF8 \uB3D9\uC77C\uD55C UV \uACF5\uAC04\uC744 \uD560\uB2F9\uD55C \uACBD\uC6B0 \uC0C8 \uB9F5\uC5D0 \uADF8\uB300\uB85C \uC720\uC9C0","dialog.create_texture.padding.desc":"\uD15C\uD50C\uB9BF\uC758 \uAC1C\uBCC4 \uBD80\uC704 \uC0AC\uC774\uC5D0 \uC791\uC740 \uC5EC\uBC31\uC744 \uCD94\uAC00","dialog.create_texture.resolution.desc":"\uD14D\uC2A4\uCCD0\uC758 \uB192\uC774 \uBC0F \uD3ED","dialog.create_gif.color":"\uBC30\uACBD \uC0C9","dialog.save_angle.zoom":"\uD655\uB300\uD558\uAE30","dialog.skin.variant":"\uBCC0\uD615","dialog.flip_animation.info":"\uBC18\uB300 \uBF08\uB294 \uC774\uB984 \uC548\uC5D0 '\uC67C\uCABD'\uACFC '\uC624\uB978\uCABD'\uC774\uB77C\uB294 \uD0A4\uC6CC\uB4DC\uB85C \uC2DD\uBCC4\uB429\uB2C8\uB2E4.","dialog.export_private_settings.title":"\uAC1C\uC778 \uC124\uC815","dialog.export_private_settings.message":"\uD30C\uC77C\uC5D0 \uB2E4\uC74C \uAC1C\uC778 \uC815\uBCF4\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4 : **%0**. \uD30C\uC77C\uC744 \uB2E4\uB978 \uC0AC\uB78C\uACFC \uACF5\uC720\uD560 \uACBD\uC6B0 \uC774 \uAC12\uC744 \uC81C\uC678\uD558\uC2ED\uC2DC\uC624.","dialog.export_private_settings.keep":"\uC720\uC9C0","settings.timecode_frame_number":"\uD504\uB808\uC784 \uC22B\uC790\uC758 \uD0C0\uC784\uCF54\uB4DC \uD45C\uC2DC","settings.timecode_frame_number.desc":"\uD0C0\uC784\uB77C\uC778\uC5D0 \uD0C0\uC784\uCF54\uB4DC \uBD80\uBD84\uC744 \uC13C\uD2F0\uC138\uCEE8\uB4DC \uB300\uC2E0 \uD504\uB808\uC784 \uC22B\uC790\uB85C \uD45C\uC2DC","settings.animation_sample_rate":"\uC560\uB2C8\uBA54\uC774\uC158 \uC0D8\uD50C \uB808\uC774\uD2B8","settings.animation_sample_rate.desc":"\uAC01 \uD3EC\uB9F7\uC774 \uAE30\uBCF8\uC801\uC73C\uB85C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uACE1\uC120\uC5D0 \uB300\uD574 \uCD08\uB2F9 \uC0D8\uD50C \uBE44\uC728","keybind.preview_zoom":"\uD655\uB300 \uBCF4\uAE30","action.gradient_tool":"\uADF8\uB77C\uB370\uC774\uC158 \uB3C4\uAD6C","action.gradient_tool.desc":"\uD14D\uC2A4\uCCD0\uC5D0 \uADF8\uB77C\uB370\uC774\uC158 \uC0C9\uC0C1 \uC0DD\uC131","action.import_settings":"\uC124\uC815 \uBD88\uB7EC\uC624\uAE30","action.import_settings.desc":".bbsettings \uD30C\uC77C \uB0B4\uBCF4\uB0B4\uAE30","action.export_settings":"\uC124\uC815 \uB0B4\uBCF4\uB0B4\uAE30","action.export_settings.desc":".bbsettings \uD30C\uC77C\uB85C Blockbench \uC124\uC815 \uB0B4\uBCF4\uB0B4\uAE30","action.load_keymap":"\uD0A4\uB9F5\uD551 \uBD88\uB7EC\uC624\uAE30","action.load_keymap.default":"\uAE30\uBCF8 (\uD2B8\uB799\uD328\uB4DC/\uB9C8\uC6B0\uC2A4)","action.load_keymap.mouse":"\uAE30\uBCF8 (\uB9C8\uC6B0\uC2A4)","action.load_keymap.default.desc":"\uB178\uD2B8\uBD81 \uD2B8\uB799\uD328\uB4DC\uC5D0\uC11C \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574 \uCD5C\uC801\uD654\uB41C \uBDF0\uD3EC\uD2B8 \uD0D0\uC0C9 \uCEE8\uD2B8\uB864\uC774 \uC788\uB294 \uAE30\uBCF8 Blockbench \uD0A4 \uBC14\uC778\uB529","action.load_keymap.mouse.desc":"\uBDF0\uD3EC\uD2B8 \uD0D0\uC0C9\uC774 \uAC00\uC6B4\uB370 \uB9C8\uC6B0\uC2A4 \uBC84\uD2BC\uC5D0 \uBC14\uC778\uB529\uB41C \uAE30\uBCF8 Blockbench \uD0A4 \uBC14\uC778\uB529","action.load_keymap.blender.desc":"Blender\uC758 \uC870\uC791\uC5D0 \uC775\uC219\uD55C \uC720\uC800\uB4E4\uC744 \uC704\uD55C \uC870\uC791\uD0A4","action.load_keymap.cinema4d.desc":"Cinema 4D\uC758 \uC870\uC791\uC5D0 \uC775\uC219\uD55C \uC720\uC800\uB4E4\uC744 \uC704\uD55C \uC870\uC791\uD0A4","action.load_keymap.maya.desc":"Autodesk Maya\uC758 \uC870\uC791\uC5D0 \uC775\uC219\uD55C \uC720\uC800\uB4E4\uC744 \uC704\uD55C \uC870\uC791\uD0A4","action.import_keymap":"\uD0A4\uB9F5\uD551 \uBD88\uB7EC\uC624\uAE30","action.import_keymap.desc":".bbkeymap \uD30C\uC77C\uB85C \uD0A4 \uC124\uC815 \uBD88\uB7EC\uC624\uAE30","action.export_keymap":"\uD0A4\uB9F5\uD551 \uB0B4\uBCF4\uB0B4\uAE30","action.export_keymap.desc":"\uD604\uC7AC \uD0A4\uBC14\uC778\uB529\uC744 .bbkeymap \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.edit_history":"\uD788\uC2A4\uD1A0\uB9AC \uC218\uC815...","action.edit_history.desc":"\uC218\uC815 \uD788\uC2A4\uD1A0\uB9AC\uC640 \uC2E4\uD589 \uCDE8\uC18C \uB610\uB294 \uB418\uB3CC\uB9AC\uAE30 \uB2E8\uACC4 \uBCF4\uAE30","action.group_elements":"\uADF8\uB8F9 \uC694\uC18C","action.group_elements.desc":"\uC120\uD0DD\uB41C \uC694\uC18C\uB97C \uC0C8 \uADF8\uB8F9\uC73C\uB85C \uBAA8\uC73C\uAE30","action.unfold_groups":"\uADF8\uB8F9 \uD3BC\uCE58\uAE30","action.unfold_groups.desc":"\uAC1C\uC694\uC758 \uBAA8\uB4E0 \uADF8\uB8F9 \uC811\uAE30","action.edit_bedrock_binding":"\uD0A4 \uD3B8\uC9D1...","action.edit_bedrock_binding.desc":"\uC9C0\uC624\uBA54\uD2B8\uB9AC\uAC00 \uBC14\uC6B4\uB4DC\uB41C \uBF08\uB300 \uBCC0\uACBD","action.pick_screen_color":"\uD654\uBA74 \uC0C9\uC0C1 \uC120\uD0DD","action.pick_screen_color.desc":"\uD654\uBA74\uC5D0 \uC788\uB294 \uC0C9\uC0C1 \uC120\uD0DD","action.view_mode":"\uBDF0 \uBAA8\uB4DC","action.view_mode.desc":"\uBAA8\uB378 \uBCF4\uAE30 \uBAA8\uB4DC \uC804\uD658","action.view_mode.textured":"\uD0DD\uC2A4\uCCD0 \uC801\uC6A9","action.view_mode.solid":"\uD0DD\uC2A4\uCCD0 \uBE44\uC801\uC6A9","action.view_mode.wireframe":`
`,"action.toggle_sidebars":"\uC0AC\uC774\uB4DC\uBC14 \uC804\uD658","action.toggle_sidebars.desc":"\uC0AC\uC774\uB4DC\uBC14 \uD65C\uC131\uD654 \uB610\uB294 \uBE44\uD65C\uC131\uD654","action.set_animation_end":"\uC560\uB2C8\uBA54\uC774\uC158 \uB05D \uC124\uC815","action.set_animation_end.desc":"\uC120\uD0DD\uD55C \uC560\uB2C8\uBA54\uC774\uC158\uC758 \uB05D\uC744 \uD604\uC7AC \uD0C0\uC784\uB77C\uC778 \uC2DC\uAC04\uC73C\uB85C \uC124\uC815","action.flip_animation":"\uB4A4\uC9D1\uAE30 \uC560\uB2C8\uBA54\uC774\uC158","action.flip_animation.desc":"\uC120\uD0DD\uD55C \uD0A4\uD504\uB808\uC784\uC744 \uBAA8\uB378\uC758 \uB2E4\uB978 \uBA74\uC5D0 \uBCF5\uC0AC\uD558\uC5EC \uC560\uB2C8\uBA54\uC774\uC158\uC758 \uC77C\uBD80\uB97C \uB4A4\uC9D1\uC74C","action.graph_editor_zero_line":"\uC81C\uB85C \uB77C\uC778 \uD3EC\uD568","action.graph_editor_zero_line.desc":"\uADF8\uB798\uD504 \uD3B8\uC9D1\uAE30\uAC00 \uD56D\uC0C1 \uBDF0\uC5D0 \uC81C\uB85C \uB77C\uC778\uC744 \uD3EC\uD568\uD558\uB294\uC9C0 \uC5EC\uBD80","menu.texture.render_mode":"\uB80C\uB354 \uBAA8\uB4DC","menu.texture.render_mode.emissive":"\uBC29\uCD9C","menu.texture.render_mode.layered":"\uB808\uC774\uC5B4\uB4DC","menu.preview.angle.edit":"\uAC01\uB3C4 \uD3B8\uC9D1","menu.animation.start_delay":"\uC2DC\uC791 \uB51C\uB808\uC774","menu.animation.loop_delay":"\uB8E8\uD504 \uB51C\uB808\uC774","menu.animation.flip_keyframes":"\uD0A4\uD504\uB808\uC784 \uB4A4\uC9D1\uAE30","menu.mobile_keyboard.disable_all":"\uBAA8\uB450 \uBE44\uD65C\uC131\uD654","panel.keyframe.toggle_uniform_scale":"\uC720\uB2C8\uD3FC \uD06C\uAE30 \uC804\uD658","camera_angle.common_isometric_right":"\uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uC624\uB978\uCABD (2:1)","camera_angle.common_isometric_left":"\uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uC67C\uCABD (2:1)","camera_angle.true_isometric_right":"\uD2B8\uB8E8 \uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uC624\uB978\uCABD (30\xB0)","camera_angle.true_isometric_left":"\uD2B8\uB8E8 \uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uC67C\uCABD (30\xB0)","menu.help.wiki":"Blockbench \uC704\uD0A4","settings.update_to_prereleases":"\uC0AC\uC804 \uB9B4\uB9AC\uC988\uB85C \uC5C5\uB370\uC774\uD2B8","settings.update_to_prereleases.desc":"\uC0C8\uB85C\uC6B4 \uAE30\uB2A5\uC744 \uD14C\uC2A4\uD2B8\uD558\uAE30 \uC704\uD574 \uBE14\uB85D\uBCA4\uCE58 \uBCA0\uD0C0 \uBC84\uC804\uC744 \uC790\uB3D9\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4. \uC0AC\uC804 \uB9B4\uB9AC\uC2A4 \uBC84\uC804\uC740 \uBD88\uC548\uC815\uD560 \uC218 \uC788\uC73C\uBA70, \uC791\uC5C5 \uB610\uB294 \uAE30\uD0C0 \uC911\uC694\uD55C \uD504\uB85C\uC81D\uD2B8\uC5D0 \uB300\uD574 Blockbench\uC5D0 \uC758\uC874\uD560 \uACBD\uC6B0 \uC774 \uC635\uC158\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624.","data.separator.spacer":"\uC2A4\uD398\uC774\uC11C","data.separator.linebreak":"\uB77C\uC778 \uBE0C\uB808\uC774\uD06C","data.setting":"\uC124\uC815","generic.select_all":"\uBAA8\uB450 \uC120\uD0DD","generic.select_none":"\uC120\uD0DD \uD574\uC81C","projects.new_tab":"\uC0C8\uB85C\uC6B4 \uD0ED","projects.close_tab":"\uD0ED \uB2EB\uAE30","message.invalid_format.title":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD3EC\uB9F7","message.invalid_format.message":"\uC774 \uBAA8\uB378\uC740 Blockbench \uC124\uCE58\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uB294 '%0' \uD3EC\uB9F7\uC73C\uB85C \uB9CC\uB4E4\uC5B4\uC84C\uC2B5\uB2C8\uB2E4. \uC815\uC0C1\uC801\uC73C\uB85C \uC5F4\uAE30 \uC704\uD574\uC11C\uB294 \uD2B9\uC815 \uD50C\uB7EC\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.","message.invalid_link":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uAC70\uB098 \uB9CC\uB8CC\uB41C \uBAA8\uB378 \uB9C1\uD06C","message.default_textures.current":"\uD604\uC7AC \uC704\uCE58","message.update_after_restart":"\uC774 \uC5C5\uB370\uC774\uD2B8\uB294 \uB2E4\uC74C \uC7AC\uC2DC\uC791 \uD6C4\uC5D0 \uC124\uCE58\uB429\uB2C8\uB2E4","message.copy_paste_tool_viewport":"\uC774 \uB3C4\uAD6C\uB294 UV \uD328\uB110\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4","dialog.project.shadow_size":"\uADF8\uB9BC\uC790 \uD06C\uAE30","dialog.find_replace.target":"\uB300\uC0C1","dialog.find_replace.target.element_names":"\uC694\uC18C \uC774\uB984","dialog.find_replace.target.group_names":"\uADF8\uB8F9 \uC774\uB984","dialog.find_replace.target.animation_names":"\uC560\uB2C8\uBA54\uC774\uC158 \uC774\uB984","dialog.find_replace.target.keyframe_values":"\uD0A4\uD504\uB808\uC784 \uAC12","dialog.find_replace.find":"\uCC3E\uAE30","dialog.find_replace.replace":"\uAD50\uCCB4","dialog.find_replace.regex":"\uADDC\uCE59\uC801 \uD45C\uD604","dialog.add_primitive.shape":"\uBAA8\uC591","dialog.add_primitive.shape.circle":"\uC6D0","dialog.add_primitive.shape.tube":"\uD29C\uBE0C","dialog.add_primitive.shape.cone":"\uC6D0\uBFD4","dialog.add_primitive.shape.cylinder":"\uC6D0\uAE30\uB465","dialog.add_primitive.shape.sphere":"\uAD6C","dialog.add_primitive.shape.torus":"\uC6D0\uD658\uBA74","dialog.add_primitive.shape.cube":"\uD050\uBE0C","dialog.add_primitive.shape.pyramid":"\uD53C\uB77C\uBBF8\uB4DC","dialog.add_primitive.diameter":"\uC9C0\uB984","dialog.add_primitive.height":"\uB192\uC774","dialog.add_primitive.sides":"\uC606\uBA74","dialog.add_primitive.minor_diameter":"\uAD75\uAE30","dialog.add_primitive.minor_sides":"\uC8FC\uC694 \uC606\uBA74","dialog.create_texture.combine_polys":"\uD45C\uBA74 \uACB0\uD569","dialog.create_texture.combine_polys.desc":"\uC5F0\uACB0\uB41C \uD3C9\uBA74 \uBA74\uC744 \uD558\uB098\uC758 UV \uC139\uC158\uC5D0 \uACB0\uD569\uD568","dialog.model_stats.meshes":"\uBA54\uC26C\uB4E4","dialog.export_private_settings.omit":"\uB5A0\uB098\uAE30","layout.select":"\uC120\uD0DD","layout.options":"\uC124\uC815","layout.color":"\uC0C9\uB3C4","layout.documentation":"\uBB38\uC11C","layout.color.bright_ui_text":"\uBC1D\uC740 UI \uD14D\uC2A4\uD2B8","layout.color.bright_ui_text.desc":"\uBC1D\uC740 \uBC30\uACBD\uC5D0 \uD14D\uC2A4\uD2B8","layout.name":"\uC774\uB984","layout.author":"\uC81C\uC791\uC790","settings.dialog.desc":'"%0" \uB2E4\uC774\uC5BC\uB85C\uADF8 \uD45C\uC2DC',"settings.export_empty_groups":"\uBE44\uC5B4\uC788\uB294 \uADF8\uB8F9 \uB0B4\uBCF4\uB0B4\uAE30","settings.export_empty_groups.desc":"\uB0B4\uBCF4\uB0B8 \uD30C\uC77C\uC5D0 \uB0B4\uC6A9 \uC5C6\uB294 \uADF8\uB8F9\uC744 \uD3EC\uD568\uD568","category.separators":"\uBD84\uB9AC\uAE30","keybind.preview_area_select":"\uC601\uC5ED \uC120\uD0DD","action.color_erase_mode":"\uC9C0\uC6B0\uAE30 \uBAA8\uB4DC","action.color_erase_mode.desc":"\uC9C0\uC6B0\uAE30 \uBAA8\uB4DC\uAC00 \uD65C\uC131\uD654\uB41C \uC0C1\uD0DC\uC5D0\uC11C \uCC44\uC6B0\uAE30 \uBC0F \uC9C1\uC0AC\uAC01\uD615\uACFC \uAC19\uC740 \uB3C4\uAD6C\uB294 \uC0C9\uC0C1\uC744 \uCD94\uAC00\uD558\uC9C0 \uC54A\uACE0 \uC9C0\uC6C0","action.open_from_link":"\uB9C1\uD06C\uC5D0\uC11C \uBAA8\uB378 \uC5F4\uAE30...","action.open_from_link.desc":"blckbn.ch URL\uC5D0\uC11C \uBAA8\uB378 \uC5F4\uAE30","action.import_obj":"OBJ \uBAA8\uB378 \uBD88\uB7EC\uC624\uAE30","action.import_obj.desc":"OBJ \uBAA8\uB378\uC5D0\uC11C \uAC1D\uCCB4\uB97C \uBA54\uC26C\uB85C \uAC00\uC838\uC624\uAE30","action.add_plugin":"\uD50C\uB7EC\uADF8\uC778 \uC124\uCE58","action.add_plugin.desc":"\uC561\uC158 \uCEE8\uD2B8\uB864\uC5D0\uC11C \uD50C\uB7EC\uADF8\uC778 \uC124\uCE58","action.remove_plugin":"\uD50C\uB7EC\uADF8\uC778 \uC81C\uAC70","action.remove_plugin.desc":"\uC561\uC158 \uCEE8\uD2B8\uB864\uC5D0\uC11C \uD50C\uB7EC\uADF8\uC778 \uC81C\uAC70","action.add_mesh":"\uBA54\uC26C \uCD94\uAC00","action.add_mesh.desc":"\uC0C8\uB85C\uC6B4 \uBA54\uC26C \uCD94\uAC00","action.add_texture_mesh":"\uD14D\uC2A4\uCCD0 \uBA54\uC26C \uCD94\uAC00","action.add_texture_mesh.desc":"\uC0C8\uB85C\uC6B4 \uD14D\uC2A4\uCCD0 \uBA54\uC26C \uCD94\uAC00","action.find_replace":"\uCC3E\uAE30/\uBC14\uAFB8\uAE30...","action.find_replace.desc":"\uC774\uB984\uC758 \uBD80\uC704\uB97C \uCC3E\uACE0 \uBC14\uAFB8\uAE30","action.hide_everything_except_selection":"\uC120\uD0DD\uC744 \uC81C\uC678\uD55C \uBAA8\uB4E0 \uAC83 \uC228\uAE30\uAE30","action.hide_everything_except_selection.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uB97C \uC81C\uC678\uD55C \uBAA8\uB4E0 \uC694\uC18C\uC5D0 \uB300\uD55C \uAC00\uC2DC\uC131\uC744 \uC804\uD658\uD568","action.transform_space.normal":"\uC77C\uBC18","action.selection_mode":"\uC120\uD0DD \uBAA8\uB4DC","action.selection_mode.desc":"\uBDF0\uD3EC\uD2B8\uC5D0\uC11C \uC694\uC18C\uB97C \uC120\uD0DD\uD558\uB294 \uBC29\uBC95 \uBCC0\uACBD","action.selection_mode.object":"\uAC1D\uCCB4","action.selection_mode.face":"\uD45C\uBA74","action.selection_mode.vertex":"\uC815\uC810","action.create_face":"\uD45C\uBA74\uC774\uB098 \uBAA8\uC11C\uB9AC \uC0DD\uC131","action.create_face.desc":"\uC120\uD0DD\uD55C \uC815\uC810 \uC0AC\uC774\uC5D0 \uC0C8 \uD45C\uBA74 \uB610\uB294 \uBAA8\uC11C\uB9AC\uB97C \uC791\uC131\uD568","action.convert_to_mesh":"\uBA54\uC26C\uB85C \uBCC0\uD658","action.convert_to_mesh.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uB97C \uBA54\uC26C\uB85C \uBCC0\uD658\uD568","action.invert_face":"\uD45C\uBA74 \uBC18\uC804","action.invert_face.desc":"\uC120\uD0DD\uD55C \uBA74\uC744 \uBC18\uC804\uD558\uC5EC \uBC18\uB300 \uBC29\uD5A5\uC73C\uB85C \uD5A5\uD558\uAC8C \uD568","action.extrude_mesh_selection":"\uC120\uD0DD \uC555\uCD9C","action.extrude_mesh_selection.desc":"\uBA54\uC26C\uC758 \uC120\uD0DD\uB41C \uBD80\uBD84\uC744 \uC555\uCD9C\uD569\uB2C8\uB2E4","action.loop_cut":"\uB8E8\uD504 \uC790\uB974\uAE30","action.loop_cut.desc":"\uC120\uD0DD\uD55C \uBAA8\uC11C\uB9AC\uB97C \uAC00\uB85C\uC9C0\uB974\uB294 \uB8E8\uD504\uC5D0\uC11C \uBA54\uC26C \uBD84\uD560\uD568","action.merge_meshes":"\uBA54\uC26C \uBCD1\uD569","action.merge_meshes.desc":"\uC5EC\uB7EC\uAC1C\uC758 \uBA54\uC26C\uB97C \uD558\uB098\uB85C \uBCD1\uD569","action.keyframe_uniform":"\uC720\uB2C8\uD3FC \uC2A4\uCF00\uC77C\uB9C1","action.keyframe_uniform.desc":"\uC120\uD0DD\uB41C \uD0A4\uD504\uB808\uC784\uC5D0\uC11C \uC720\uB2C8\uD3FC \uC2A4\uCF00\uC77C\uB9C1 \uD65C\uC131\uD654","menu.locator.ignore_inherited_scale":"\uC0C1\uC18D\uB41C \uD06C\uAE30 \uBB34\uC2DC","menu.texture.elements":"\uC694\uC18C\uC5D0 \uC801\uC6A9","uv_editor.transparent_face":"\uD22C\uBA85\uD55C \uD45C\uBA74","display.pose_angle":"\uD3EC\uC988 \uAC01\uB3C4 (\uD504\uB9AC\uBDF0 \uC804\uC6A9)","data.mesh":"\uBA54\uC26C","dialog.create_texture.type":"\uC885\uB958","dialog.create_texture.type.blank":"\uACF5\uBC31","dialog.create_texture.type.template":"\uD14D\uC2A4\uCCD0 \uD15C\uD50C\uB9BF","dialog.create_texture.type.color_map":"\uC194\uB9AC\uB4DC \uCEEC\uB7EC \uD15C\uD50C\uB9BF","dialog.sketchfab_uploader.suggested_tags":"\uC81C\uC548\uB41C \uD0DC\uADF8","dialog.sketchfab_uploader.category":"\uCE74\uD14C\uACE0\uB9AC","dialog.sketchfab_uploader.category2":"\uCE74\uD14C\uACE0\uB9AC 2","layout.restore_backup":'\uCEE4\uC2A4\uD140\uB9C8\uC774\uC988\uD55C \uD14C\uB9C8 "%0"\uAC00 \uB36E\uC5B4\uC50C\uC6CC\uC84C\uC2B5\uB2C8\uB2E4. \uC5EC\uAE30\uB97C \uB20C\uB7EC \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624.',"layout.borders":"\uACBD\uACC4\uC120","action.fill_mode.element":"\uC694\uC18C","action.inset_mesh_selection":"\uC778\uC14B \uC0BD\uC785","action.inset_mesh_selection.desc":"\uC120\uD0DD\uD55C \uBA54\uC26C\uC758 \uBD80\uC704\uB97C \uC0BD\uC785\uD569\uB2C8\uB2E4","action.dissolve_edges":"\uBAA8\uC11C\uB9AC \uBD84\uD574","action.dissolve_edges.desc":"\uC120\uD0DD\uD55C \uBAA8\uC11C\uB9AC\uB97C \uBA54\uC26C\uB85C \uBD84\uD574\uD558\uACE0 \uBD84\uD560\uD55C \uBA74 \uBCD1\uD569","action.split_mesh":"\uBA54\uC26C \uBD84\uD560","action.split_mesh.desc":"\uBA54\uC26C\uC758 \uC120\uD0DD\uB41C \uBA74\uC744 \uC0C8 \uBA54\uC26C\uB85C \uBD84\uD560","action.merge_vertices":"\uC815\uC810 \uBCD1\uD569","action.merge_vertices.desc":"\uC120\uD0DD\uD55C \uC815\uC810\uC744 \uCC98\uC74C \uC120\uD0DD\uD55C \uC815\uC810\uC758 \uC704\uCE58\uC5D0 \uBCD1\uD569","action.view_mode.normal":"\uC77C\uBC18 \uD45C\uBA74","action.snap_uv_to_pixels":"UV\uB97C \uD53D\uC140\uC5D0 \uB9DE\uCDA4","action.snap_uv_to_pixels.desc":"\uC120\uD0DD\uD55C UV \uC815\uC810\uC744 \uD53D\uC140 \uACA9\uC790\uB85C \uC2A4\uB0C5","menu.file.import.import_open_project":"\uC5F4\uB9B0 \uD504\uB85C\uC81D\uD2B8 \uAC00\uC838\uC624\uAE30","menu.help.unlock_projects":"\uBAA8\uB4E0 \uD504\uB85C\uC81D\uD2B8 \uC7A0\uAE08 \uD574\uC81C","status_bar.selection.faces":"%0 \uD45C\uBA74","status_bar.selection.vertices":"%0 \uC815\uC810","message.merged_vertices":"%1 \uC704\uCE58\uC5D0\uC11C %0 \uC815\uC810 \uBC1C\uACAC \uBC0F \uBCD1\uD569","settings.vertex_merge_distance":"\uC815\uC810 \uBCD1\uD569 \uAC70\uB9AC","settings.vertex_merge_distance.desc":"\uAC70\uB9AC\uBCC4 \uBCD1\uD569\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC815\uC810\uC774 \uBCD1\uD569\uB418\uB294 \uAC70\uB9AC","settings.show_only_selected_uv":"\uC120\uD0DD\uB41C UV\uB9CC \uD45C\uC2DC","settings.show_only_selected_uv.desc":"\uAE30\uBCF8\uC801\uC73C\uB85C \uC120\uD0DD\uD55C UV \uBA74\uB9CC UV \uD3B8\uC9D1\uAE30\uC5D0 \uD45C\uC2DC","action.merge_vertices.merge_all":"\uBAA8\uB450 \uBA85\uD569","action.merge_vertices.merge_all_in_center":"\uBAA8\uB450 \uC911\uC559\uC5D0 \uBCD1\uD569","action.merge_vertices.merge_by_distance":"\uAC70\uB9AC\uC5D0 \uB530\uB77C \uBCD1\uD569","action.merge_vertices.merge_by_distance_in_center":"\uC911\uC559\uC5D0\uC11C\uC758 \uAC70\uB9AC\uC5D0 \uB530\uB77C \uBCD1\uD569","action.uv_rotate_left":"UV\uB97C \uC67C\uCABD\uC73C\uB85C \uD68C\uC804","action.uv_rotate_left.desc":"\uC120\uD0DD\uD55C UV \uBA74\uC744 \uC2DC\uACC4 \uBC18\uB300 \uBC29\uD5A5\uC73C\uB85C \uD68C\uC804","action.uv_rotate_right":"UV\uB97C \uC624\uB978\uCABD\uC73C\uB85C \uD68C\uC804","action.uv_rotate_right.desc":"\uC120\uD0DD\uD55C UV \uBA74\uC744 \uC2DC\uACC4 \uBC29\uD5A5\uC73C\uB85C \uD68C\uC804","menu.uv.display_uv":"UV \uD45C\uC2DC","menu.uv.display_uv.selected_faces":"\uC120\uD0DD\uB41C \uD45C\uBA74","menu.uv.display_uv.selected_elements":"\uBAA8\uB4E0 \uD45C\uBA74","menu.uv.display_uv.all_elements":"\uBAA8\uB4E0 \uC694\uC18C\uC758 \uBAA8\uB4E0 \uD45C\uBA74","menu.paste.face":"UV \uD45C\uBA74","menu.paste.mesh_selection":"\uBA54\uC26C \uC120\uD0DD","menu.paste.outliner":"\uC694\uC18C","uv_editor.show_all_faces":"\uBAA8\uB4E0 \uD45C\uBA74 \uD45C\uC2DC","uv_editor.show_selected_faces":"\uC120\uD0DD\uB41C \uD45C\uBA74 \uD45C\uC2DC","status_bar.selection.edges":"%0 \uBAA8\uC11C\uB9AC","action.selection_mode.edge":"\uBAA8\uC11C\uB9AC","message.cannot_re_import.title":"\uBAA8\uB378\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4","message.cannot_re_import.message":"\uBAA8\uB378 \uD615\uC2DD\uC73C\uB85C \uB0B4\uBCF4\uB0B4\uC9C4 \uBAA8\uB378\uC740 \uB2E4\uC2DC Blockbench\uC5D0\uC11C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBAA8\uB378\uC744 \uD504\uB85C\uC81D\uD2B8 \uD30C\uC77C\uB85C \uC800\uC7A5\uD574\uC8FC\uC138\uC694.","generic.default":"\uAE30\uBCF8","units.pixels_per_meter":"\uBBF8\uD130 \uB2F9 %0 \uD53D\uC140","mode.pose":"\uD3EC\uC988","modifier_actions.resize_both_sides":"\uC591 \uBC29\uD5A5\uC73C\uB85C \uD06C\uAE30 \uC7AC\uC870\uC815","modifier_actions.resize_one_side":"\uD55C \uBC29\uD5A5\uC73C\uB85C \uD06C\uAE30 \uC7AC\uC870\uC815","modifier_actions.draw_line":"\uC120 \uADF8\uB9AC\uAE30","modifier_actions.drag_without_snapping":"\uC2A4\uB0B4\uD551 \uC5C6\uC774 \uB4DC\uB798\uADF8","modifier_actions.stretch_keyframes":"\uD0A4\uD504\uB808\uC784 \uB298\uC774\uAE30","modifier_actions.resize_background":"\uBC30\uACBD \uD06C\uAE30 \uC7AC\uC870\uC815","modifier_actions.select_multiple":"\uB2E4\uC911 \uC120\uD0DD","modifier_actions.select_range":"\uBC94\uC704 \uC120\uD0DD","modifier_actions.drag_to_duplicate":"\uB4DC\uB798\uADF8\uB85C \uBCF5\uC0AC","modifier_actions.uniform_scaling":"\uC720\uB2C8\uD3FC \uC2A4\uCF00\uC77C\uB9C1","modifier_actions.snap_direction":"\uBC29\uD5A5 \uB9DE\uCDA4","message.no_valid_elements":"\uAC00\uB2A5\uD55C \uC694\uC18C\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4...","dialog.add_primitive.shape.plane":"\uBA74","dialog.save_angle.rotation_mode":"\uD68C\uC804 \uBAA8\uB4DC","dialog.save_angle.rotation":"\uD68C\uC804","dialog.save_angle.fov":"\uC2DC\uC57C\uAC01","settings.hide_tab_bar":"\uD0ED \uBC14 \uC790\uB3D9 \uC228\uAE30\uAE30","settings.hide_tab_bar.desc":"\uC624\uC9C1 \uD55C \uAC1C\uC758 \uD0ED\uC774 \uC5F4\uB824\uC788\uC744 \uB54C \uD0ED \uBC14\uB97C \uC228\uAE40","settings.status_bar_modifier_keys":"\uC0C1\uD0DC\uBC14\uC5D0\uC11C \uC218\uC815\uC790 \uD0A4 \uC81C\uC548","settings.status_bar_modifier_keys.desc":"\uC0C1\uD0DC\uBC14\uC5D0 \uCEE8\uD14D\uC2A4\uD2B8 \uC778\uC2DD \uC81C\uC548\uB41C \uC218\uC815\uC790 \uD0A4 \uD45C\uC2DC","settings.ground_plane":"\uBC14\uB2E5","settings.ground_plane.desc":"\uC791\uC5C5 \uACF5\uAC04\uC5D0 \uBC14\uB2E5\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.","settings.preview_paste_behavior":"\uAE30\uBCF8 \uBBF8\uB9AC\uBCF4\uAE30 \uBD99\uC5EC\uB123\uAE30 \uB3D9\uC791","settings.preview_paste_behavior.desc":"\uD3B8\uC9D1 \uBAA8\uB4DC\uC5D0\uC11C \uBBF8\uB9AC\uBCF4\uAE30\uC5D0 \uBB34\uC5B8\uAC00\uB97C \uBD99\uC5EC\uB123\uC744 \uB54C \uB3D9\uC791\uC744 \uC120\uD0DD\uD558\uACE0 \uC5EC\uB7EC \uC635\uC158\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC74C","settings.preview_paste_behavior.always_ask":"\uD56D\uC0C1 \uBB3B\uAE30","action.new_window":"\uC0C8 \uCC3D","action.new_window.desc":"\uC0C8\uB85C\uC6B4 Blockbench \uCC3D \uC5F4\uAE30","action.export_collada":"Collada \uBAA8\uB378 (dae) \uB0B4\uBCF4\uB0B4\uAE30","action.export_collada.desc":"\uBAA8\uB378 \uBC0F \uC560\uB2C8\uBA54\uC774\uC158\uC744 dae \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uC11C \uB2E4\uB978 3D \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC0AC\uC6A9","action.paint_mode_uv_overlay":"UV \uC624\uBC84\uB808\uC774","action.paint_mode_uv_overlay.desc":"\uD398\uC778\uD2B8 \uBAA8\uB4DC\uC5D0\uC11C UV \uB9F5\uC744 \uC624\uBC84\uB808\uC774\uB85C \uD45C\uC2DC","action.bake_animation_into_model":"\uC560\uB2C8\uBA54\uC774\uC158\uC744 \uBAA8\uB378\uB85C \uB9CC\uB4E4\uAE30","action.bake_animation_into_model.desc":"\uD604\uC7AC \uD45C\uC2DC\uB41C \uC560\uB2C8\uBA54\uC774\uC158 \uD504\uB808\uC784\uC744 \uBAA8\uB378\uB85C \uB9CC\uB4ED\uB2C8\uB2E4. \uD68C\uC804 \uBC0F \uC704\uCE58\uB9CC \uC801\uC6A9\uD558\uACE0 \uD06C\uAE30\uB294 \uBB34\uC2DC\uB429\uB2C8\uB2E4.","action.keyframe_interpolation.step":"\uB2E8\uACC4","action.set_ik_target":"Set IK Target","action.set_ik_target.desc":"Inverse Kinematics\uC744 \uD1B5\uD574 \uC774 null \uAC1D\uCCB4\uB85C \uC774\uB3D9\uD574\uC57C \uD558\uB294 \uB300\uC0C1 \uBF08\uB300 \uC120\uD0DD","menu.action_control.type.tab":"\uD0ED","menu.action_control.type.angle":"\uCE74\uBA54\uB77C \uAC01\uB3C4","menu.action_control.recent_in_streamer_mode":"\uD655\uC2E4\uD569\uB2C8\uAE4C? \uC2A4\uD2B8\uB9AC\uBA38 \uBAA8\uB4DC\uAC00 \uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4","menu.action_control.recent_in_streamer_mode.desc":"\uCD5C\uADFC \uBAA8\uB378\uC758 \uBBF8\uB9AC \uBCF4\uAE30\uB97C \uBCF4\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","menu.tools":"\uB3C4\uAD6C","menu.file.recent.more":"\uB354 \uBCF4\uAE30...","menu.null_object.lock_ik_target_rotation":"IK \uBAA9\uD45C \uAC01 \uACE0\uC815","menu.animation_file.import_remaining":"\uB0A8\uC740 \uC5D0\uB2C8\uBA54\uC774\uC158 \uAC00\uC838\uC624\uAE30","edit.loop_cut.offset":"\uC624\uD504\uC14B","edit.extrude_mesh_selection.extend":"\uD655\uC7A5","cube.color.pink":"\uBD84\uD64D","cube.color.silver":"\uD68C\uC0C9","dialog.plugins.offline":"\uC778\uD130\uB137 \uC5F0\uACB0 \uC5C6\uC74C","dialog.create_texture.pixel_density":"\uD53D\uC140 \uBC00\uB3C4","dialog.create_texture.pixel_density.desc":"\uBE14\uB85D \uB108\uBE44 \uB2F9 \uD53D\uC140\uC758 \uBC00\uB3C4\uC785\uB2C8\uB2E4. \uCC38\uC870 : \uD14D\uC2A4\uCCD0 \uB9F5\uC758 \uD06C\uAE30\uB294 \uC694\uC18C\uC758 \uD06C\uAE30\uC5D0\uB3C4 \uC601\uD5A5\uC744 \uBC1B\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","panel.skin_pose":"\uC790\uC138","panel.skin_pose.none":"\uC5C6\uC74C","panel.skin_pose.natural":"\uAE30\uBCF8","panel.skin_pose.walking":"\uAC77\uAE30","panel.skin_pose.crouching":"\uC6C5\uD06C\uB9AC\uAE30","panel.skin_pose.sitting":"\uC549\uAE30","panel.skin_pose.jumping":"\uC810\uD504","panel.skin_pose.aiming":"\uC0AC\uACA9","edit.loop_cut.direction":"\uBC29\uD5A5","data.texture_mesh":"\uD14D\uC2A4\uCCD0 \uBA54\uC26C","generic.left":"\uC67C\uCABD","generic.right":"\uC624\uB978\uCABD","mode.start.quick_setup":"\uBE60\uB978 \uC124\uC815","mode.start.keymap":"\uD0A4\uB9F5\uD551","mode.start.quick_setup.more_themes":"\uB354\uBCF4\uAE30...","dialog.resize_texture.animation_frames":"\uC560\uB2C8\uBA54\uC774\uC158 \uD504\uB808\uC784","dialog.export_emission_map.title":"Emission \uB9F5 \uB0B4\uBCF4\uB0B4\uAE30","dialog.export_emission_map.format":"\uD3EC\uB9F7","dialog.export_emission_map.format.luminance":"\uD718\uB3C4","dialog.export_emission_map.format.luminance_inverted":"\uD718\uB3C4 \uBC18\uC804\uB428","dialog.export_emission_map.format.colors":"\uC0C9","dialog.export_emission_map.threshold":"\uD22C\uBA85\uB3C4 \uC784\uACC4\uAC12","dialog.export_emission_map.round_up":"%0 x %1 \uAE4C\uC9C0 .\uB77C\uC6B4\uB4DC \uC5C5","dialog.export_emission_map.flip_y":"Y\uCD95 \uB4A4\uC9D1\uAE30","dialog.select.type":"\uC694\uC18C \uD0C0\uC785","dialog.create_texture.max_edge_angle":"\uBAA8\uC11C\uB9AC \uAC01\uB3C4 \uC784\uACC4\uAC12","dialog.create_texture.max_edge_angle.desc":"\uB450 \uBA74\uC774 \uC5EC\uC804\uD788 \uACB0\uD569\uB418\uB294 \uCD5C\uB300 \uAC01\uB3C4","dialog.create_texture.max_island_angle":"\uD45C\uBA74 \uAC01\uB3C4 \uC784\uACC4\uAC12","dialog.create_texture.max_island_angle.desc":"\uB3D9\uC77C\uD55C UV \uD45C\uBA74\uC5D0 \uACB0\uD569\uD560 \uC218 \uC788\uB294 \uCD5C\uB300 \uAC01\uB3C4","settings.mobile_panel_side":"\uBAA8\uBC14\uC77C \uD328\uB110 \uCE21\uBA74","settings.mobile_panel_side.desc":"\uC218\uD3C9 \uBC29\uD5A5\uC73C\uB85C Blockbench\uB97C \uC0AC\uC6A9\uD560 \uB54C \uD654\uBA74 \uD328\uB110\uC758 \uC5B4\uB290 \uCABD\uC774 \uD45C\uC2DC\uB418\uB294\uC9C0 \uC120\uD0DD","settings.obj_face_export_mode":"OBJ \uD45C\uBA74 \uB0B4\uBCF4\uB0B4\uAE30 \uBAA8\uB4DC","settings.obj_face_export_mode.desc":"OBJ \uB0B4\uBCF4\uB0B4\uAE30\uC5D0\uC11C \uBAA8\uB4E0 \uD45C\uBA74\uC744 tris \uB610\uB294 quads\uB85C \uBCC0\uD658\uD558\uB824\uBA74 \uC120\uD0DD","settings.obj_face_export_mode.both":"\uAE30\uBCF8","settings.obj_face_export_mode.tris":"Tris\uB85C \uBCC0\uD658","settings.obj_face_export_mode.quads":"Quads\uB85C \uBCC0\uD658","action.seam_tool":"\uC787\uAE30 \uB3C4\uAD6C","action.seam_tool.desc":"\uBA54\uC26C \uBAA8\uC11C\uB9AC\uC5D0 UV \uC787\uAE30\uB97C \uC815\uC758\uD558\uB294 \uB3C4\uAD6C","action.resolve_group":"\uADF8\uB8F9 \uC7AC\uC124\uC815","action.resolve_group.desc":"\uC790\uC2DD\uC744 \uAC19\uC740 \uC704\uCE58\uC5D0 \uC720\uC9C0\uD558\uBA74\uC11C \uADF8\uB8F9\uC744 \uC7AC\uC124\uC815\uD569\uB2C8\uB2E4.","action.move_to_group":"\uADF8\uB8F9\uC73C\uB85C \uC774\uB3D9","action.move_to_group.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uB97C \uB2E4\uB978 \uC678\uACFD\uC120 \uADF8\uB8F9\uC73C\uB85C \uC774\uB3D9","action.select_seam":"UV \uC787\uAE30 \uC120\uD0DD","action.select_seam.desc":"\uC120\uD0DD\uD55C \uBAA8\uC11C\uB9AC\uC5D0 \uB300\uD574 UV \uC787\uAE30 \uBAA8\uB4DC \uC120\uD0DD","action.select_seam.auto":"\uC790\uB3D9","action.select_seam.join":"\uD569\uCE58\uAE30","action.select_seam.divide":"\uB098\uB204\uAE30","action.adjust_brightness_contrast":"\uBC1D\uAE30 & \uB300\uC870 \uC870\uC808...","action.adjust_brightness_contrast.desc":"\uC120\uD0DD\uB41C \uD14D\uC2A4\uCCD0\uC758 \uBC1D\uAE30\uC640 \uB300\uC870\uB97C \uC870\uC808","action.adjust_saturation_hue":"\uCC44\uB3C4 & \uC0C9\uC870 \uC870\uC808...","action.adjust_saturation_hue.desc":"\uC120\uD0DD\uB41C \uD14D\uC2A4\uCCD0\uC758 \uCC44\uB3C4\uC640 \uC0C9\uC870\uB97C \uC870\uC808","action.invert_colors":"\uC0C9 \uBC18\uC804","action.invert_colors.desc":"\uC120\uD0DD\uB41C \uD14D\uC2A4\uCCD0\uC758 \uBAA8\uB4E0 \uC0C9\uC744 \uBC18\uC804","action.adjust_curves":"\uACE1\uC120 \uC870\uC808...","action.adjust_curves.desc":"\uC120\uD0DD\uB41C \uD14D\uC2A4\uCCD0\uC758 \uBC1D\uAE30 \uACE1\uC120\uC744 \uC870\uC808","action.flip_texture_x":"\uC218\uD3C9\uC73C\uB85C \uD14D\uC2A4\uCCD0 \uB4A4\uC9D1\uAE30","action.flip_texture_y":"\uC218\uC9C1\uC73C\uB85C \uD14D\uC2A4\uCCD0 \uB4A4\uC9D1\uAE30","action.resize_texture":"\uD14D\uC2A4\uCCD0 \uD06C\uAE30 \uC870\uC815...","action.view_mode.uv":"UV \uBBF8\uB9AC\uBCF4\uAE30","action.append_to_template":"\uC694\uC18C\uB97C \uD15C\uD50C\uB9BF\uC5D0 \uCD94\uAC00...","action.append_to_template.desc":"\uD604\uC7AC \uC120\uD0DD\uD55C \uC694\uC18C\uB97C \uD14D\uC2A4\uCCD0 \uD15C\uD50C\uB9BF\uC5D0 \uCD94\uAC00\uD568","action.move_texture_with_uv":"UV\uC640 \uD14D\uC2A4\uCCD0 \uC774\uB3D9","action.move_texture_with_uv.desc":"UV \uD45C\uBA74\uC744 \uB4DC\uB798\uADF8\uD560 \uB54C \uD45C\uBA74\uC758 \uD14D\uC2A4\uCCD0\uB97C \uC774\uB3D9\uD569\uB2C8\uB2E4","action.timeline_setups":"\uD0C0\uC784\uB77C\uC778 \uC124\uC815","action.save_timeline_setup":"\uD0C0\uC784\uB77C\uC778 \uC124\uC815 \uC800\uC7A5...","action.save_timeline_setup.desc":"\uD604\uC7AC \uC120\uD0DD\uD55C \uC560\uB2C8\uBA54\uC774\uD130 \uBC0F \uCC44\uB110\uC758 \uD504\uB9AC\uC14B \uC800\uC7A5","menu.texture":"\uD14D\uC2A4\uCCD0","menu.texture.render_mode.default":"\uAE30\uBCF8","menu.texture.merge_onto_texture":"\uC704\uC758 \uD14D\uC2A4\uCCD0\uC640 \uBCD1\uD569","menu.animation.unload":"\uC5B8\uB85C\uB4DC","panel.timeline":"\uD0C0\uC784\uB77C\uC778","action.pan_tool":"\uD32C \uB3C4\uAD6C","action.pan_tool.desc":"\uBDF0\uD3EC\uD2B8\uC640 \uD14D\uC2A4\uCCD0 \uC5D0\uB514\uD130\uB97C \uCC3E\uB294 \uB3C4\uAD6C","mode.start.recent.favorite":"\uC990\uACA8\uCC3E\uAE30\uB85C \uD45C\uC2DC","mode.start.info":"\uC815\uBCF4","mode.start.target":"\uB300\uC0C1","mode.start.start":"\uC2DC\uC791","mode.start.create_new":"\uC0C8\uB85C\uC6B4 \uBAA8\uB378 \uB9CC\uB4E4\uAE30","mode.start.format.informations":"\uC54C\uBA74 \uC88B\uC740 \uAC83:","mode.start.format.resources":"\uB9AC\uC18C\uC2A4:","format.free.info.meshes":"\uC774 \uD615\uC2DD\uC5D0\uC11C\uB294 \uD050\uBE0C\uC640 \uC0AC\uC6A9\uC790 \uC815\uC758 \uBAA8\uC591\uC758 \uBA54\uC26C\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB85C\uC6B0 \uD3F4\uB9AC \uBAA8\uD615\uC744 \uC81C\uC791\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","format.free.info.limitation":"Minecraft \uAC19\uC740 \uD2B9\uBCC4\uD55C \uD3EC\uB9F7\uC774 \uD544\uC694\uD55C \uAC8C\uC784\uC5D0\uC11C\uB294 \uBAA8\uB378\uC774 \uB85C\uB4DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","format.skin.info.skin":"\uC774 \uD3EC\uB9F7\uC740 \uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8\uACFC \uC5D4\uD2F0\uD2F0 \uD14D\uC2A4\uCCD0\uB97C \uB9CC\uB4E4\uAE30 \uC704\uD574 \uC0DD\uACBC\uC2B5\uB2C8\uB2E4.","format.skin.info.model":"\uC774 \uBAA8\uB378\uC740 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC774 \uBAA8\uB378\uC744 \uC218\uC815\uD558\uB824\uBA74, \uBA3C\uC800 **\uD30C\uC77C** > **\uD504\uB85C\uC81D\uD2B8 \uBCC0\uD658** \uC744 \uD1B5\uD574 \uB2E4\uB978 \uD3EC\uB9F7\uC73C\uB85C \uBCC0\uD658\uD558\uC138\uC694.","format.java_block.info.rotation":"\uD68C\uC804\uC774 \uC694\uC18C\uB2F9 22.5\uB3C4 \uB2E8\uACC4\uC640 \uD558\uB098\uC758 \uD68C\uC804\uCD95\uC73C\uB85C \uC81C\uD55C\uB428","format.java_block.info.size":"\uC774 \uBAA8\uB378\uC740 3, 3, 3 \uBE14\uB85D\uC758 \uD06C\uAE30\uB85C \uC81C\uD55C\uB418\uC5B4\uC788\uC2B5\uB2C8\uB2E4. \uD558\uC9C0\uB9CC \uBCF4\uAE30 \uC124\uC815\uC5D0\uC11C \uC544\uC774\uD15C \uBAA8\uB378\uC744 \uB354 \uD06C\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4","format.java_block.info.animation":"\uC774 \uD615\uC2DD\uC740 \uBC14\uB2D0\uB77C \uB9C8\uC778\uD06C\uB798\uD504\uD2B8\uC5D0\uC11C \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBAA8\uB4DC\uB97C \uB9CC\uB4DC\uB294 \uACBD\uC6B0 GeckoLib\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB378\uC744 \uC560\uB2C8\uBA54\uC774\uC158\uD654\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uADF8\uB807\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uC560\uB2C8\uBA54\uC774\uC158\uC744 \uB9CC\uB4DC\uB294 \uC720\uC77C\uD55C \uBC29\uBC95\uC740 \uBA85\uB839\uC5B4 \uB610\uB294 \uC560\uB2C8\uBA54\uC774\uC158 \uD14D\uC2A4\uCC98\uB97C \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB378\uC744 \uC804\uD658\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4.","format.bedrock.info.textures":"\uAC01\uAC01\uC758 \uBAA8\uB378\uC740 \uD558\uB098\uC758 \uD14D\uC2A4\uCCD0\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4","format.bedrock_block":"\uBCA0\uB4DC\uB77D \uBE14\uB85D","format.bedrock_block.desc":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uBCA0\uB4DC\uB77D \uC5D0\uB514\uC158\uC744 \uC704\uD55C \uBE14\uB85D \uBAA8\uB378","format.modded_entity.info.integer_size":"\uAC1C\uBCC4 \uD050\uBE0C\uC758 \uD06C\uAE30\uB294 \uC815\uC218\uB85C \uC81C\uD55C\uB429\uB2C8\uB2E4.","format.modded_entity.info.format":"\uBAA8\uB378\uC740 \uB2E4\uB978 \uBAA8\uB4E0 Blockbench \uB0B4\uBCF4\uB0B4\uAE30 \uD615\uC2DD\uACFC \uAC19\uC740 \uC804\uC6A9 \uB370\uC774\uD130 \uAD6C\uC870 \uB300\uC2E0 Java \uCF54\uB4DC\uB85C \uC791\uC131\uB429\uB2C8\uB2E4.","format.optifine_entity.info.optifine_required":"OptiFine\uC774 \uC124\uCE58\uB418\uC9C0 \uC54A\uC740 \uC0AC\uC6A9\uC790\uC5D0\uAC8C\uB294 \uBAA8\uB378\uC774 \uBCF4\uC774\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","format.optifine_entity.info.pivots":"\uBF08\uB300\uC758 \uD68C\uC804 \uC911\uC2EC\uC740 \uC7A0\uACA8\uC788\uC73C\uB2C8, \uC190\uB300\uC9C0 \uC54A\uB294 \uAC83\uC774 \uC88B\uACA0\uB124\uC694.","format_category.low_poly":"\uB85C\uC6B0 \uD3F4\uB9AC","format_category.minecraft":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8","format_category.other":"\uADF8 \uC678","format_category.loaders":"\uB85C\uB354","message.recover_backup.recover":"\uBCF5\uAD6C","message.invalid_characters.title":"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uACBD\uB85C","message.invalid_characters.message":"\uAC00\uC838\uC628 \uD30C\uC77C\uC758 \uACBD\uB85C\uAC00 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uBB38\uC790, \uB300\uBB38\uC790, \uB610\uB294 \uB744\uC5B4\uC4F0\uAE30\uB97C \uD3EC\uD568\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC9C0\uC6D0\uB418\uB294 \uBB38\uC790: %0","dialog.share_model.thumbnail":"\uC378\uB124\uC77C","dialog.skin.high_res_texture":"\uC120\uD0DD\uD55C \uD574\uC0C1\uB3C4\uC758 \uC2A4\uD0A8\uC740 \uC77C\uBC18 \uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC2A4\uD0A8\uC73C\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB354 \uB0AE\uC740 \uD574\uC0C1\uB3C4\uB97C \uC120\uD0DD\uD558\uC138\uC694.","settings.allow_display_slot_mirror":"\uB514\uC2A4\uD50C\uB808\uC774 \uC2AC\uB86F \uBBF8\uB7EC\uB9C1 \uD5C8\uC6A9","settings.allow_display_slot_mirror.desc":"Java \uC544\uC774\uD15C \uBAA8\uB378\uC758 \uB514\uC2A4\uD50C\uB808\uC774 \uC2AC\uB86F\uC744 \uBBF8\uB7EC\uB9C1\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uACBD\uACE0: \uC774\uAC83\uC740 Minecraft 1.14 \uC774\uC804 \uBC84\uC804 \uB610\uB294 \uD2B9\uBCC4\uD55C \uACBD\uC6B0\uC5D0\uB9CC \uC791\uB3D9\uD569\uB2C8\uB2E4.","action.switch_tabs":"\uD0ED \uC804\uD658","action.switch_tabs.desc":"\uC5F4\uB824\uC788\uB294 \uD0ED\uB4E4\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4. Shift\uB97C \uB20C\uB7EC \uBC18\uB300 \uBC29\uD5A5\uC73C\uB85C \uC774\uB3D9\uD560 \uC218 \uC788\uC74C","action.unselect_all":"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C","action.save_palette":"\uD314\uB808\uD2B8 \uC800\uC7A5...","action.save_palette.desc":"\uD604\uC7AC \uC0C9\uC0C1 \uD314\uB808\uD2B8\uB97C \uB098\uC911\uC5D0 \uC0AC\uC6A9\uD558\uAE30 \uC704\uD574 Blockbench\uC5D0 \uC800\uC7A5","action.keyframe_column_create":"\uD0A4\uD504\uB808\uC784 \uC5F4 \uC0DD\uC131","action.keyframe_column_create.desc":"\uD0A4\uD504\uB808\uC784\uC774 \uC774\uBBF8 \uC788\uB294 \uACBD\uC6B0, \uD604\uC7AC \uD0C0\uC784\uCF54\uB4DC\uC5D0\uC11C \uD0C0\uC784\uB77C\uC778\uC758 \uBAA8\uB4E0 \uCC44\uB110\uC744 \uD0A4","action.keyframe_column_select":"\uD0A4\uD504\uB808\uC784 \uC5F4 \uC120\uD0DD","action.keyframe_column_select.desc":"\uD50C\uB808\uC774\uD5E4\uB4DC \uC544\uB798\uC758 \uC5F4\uC744 \uB530\uB77C \uD0C0\uC784\uB77C\uC778\uC5D0\uC11C \uBAA8\uB4E0 \uD0A4\uD504\uB808\uC784 \uC120\uD0DD","menu.uv":"UV","menu.keyframe":"\uD0A4\uD504\uB808\uC784","menu.palette.load.update":"\uD314\uB808\uD2B8 \uC5C5\uB370\uC774\uD2B8","menu.palette.load.update.desc":"\uC774 \uD314\uB808\uD2B8\uB97C \uD604\uC7AC Blockbench \uD314\uB808\uD2B8\uB85C \uC5C5\uB370\uC774\uD2B8","menu.timeline_marker.set_time":"\uC2DC\uAC04 \uC124\uC815...","uv_editor.scale_uv":"UV \uD06C\uAE30 \uC870\uC815","action.preview_scene":"\uC52C \uBBF8\uB9AC\uBCF4\uAE30","action.preview_scene.desc":"\uBAA8\uB378 \uBBF8\uB9AC\uBCF4\uAE30 \uC52C \uBCC0\uACBD\uD558\uAE30","preview_scene.minecraft_overworld":"Minecraft \uC624\uBC84\uC6D4\uB4DC","preview_scene.minecraft_nether":"Minecraft \uB124\uB354","preview_scene.minecraft_end":"Minecraft \uC5D4\uB4DC","dialog.project.modded_entity_flip_y":"Y\uCD95 \uB4A4\uC9D1\uAE30","preview_scene.studio":"\uC2A4\uD29C\uB514\uC624","format.image":"\uC774\uBBF8\uC9C0","modifier_actions.set_copy_source":"\uBCF5\uC0AC \uCD9C\uCC98 \uC124\uC815","message.load_images.title":"\uC774\uBBF8\uC9C0 \uBD88\uB7EC\uC624\uAE30","message.load_images.edit_image":"\uC774\uBBF8\uC9C0 \uC218\uC815","dialog.add_primitive.align_edges":"\uBAA8\uC11C\uB9AC \uC815\uB82C","dialog.flip_animation.show_in_timeline":"\uC218\uC815\uB41C \uBF08\uB300\uB97C \uD0C0\uC784\uB77C\uC778\uC5D0 \uD45C\uC2DC","settings.default_cube_size":"\uD050\uBE0C \uD06C\uAE30","settings.default_cube_size.desc":"\uC0C8\uB85C\uC6B4 \uD050\uBE0C\uB97C \uC0DD\uC131\uD560 \uB54C \uD050\uBE0C\uC758 \uAE30\uBCF8 \uD06C\uAE30\uB97C \uC124\uC815","settings.uniform_keyframe":"\uB3D9\uC77C\uD55C \uD06C\uAE30\uC758 \uD0A4\uD504\uB808\uC784","settings.uniform_keyframe.desc":"\uAE30\uBCF8\uC801\uC73C\uB85C \uD0A4\uD504\uB808\uC784\uC758 \uD06C\uAE30\uB97C \uB3D9\uC77C\uD55C \uD06C\uAE30\uC73C\uB85C \uC124\uC815","settings.nearest_rectangle_select":"\uC9C1\uC0AC\uAC01\uD615 \uC120\uD0DD: \uAC00\uC7A5 \uAC00\uAE4C\uC6B4 \uAC00\uC7A5\uC790\uB9AC","settings.nearest_rectangle_select.desc":"\uC9C1\uC0AC\uAC01\uD615 \uC120\uD0DD\uC744 \uC804\uCCB4 \uD53D\uC140 \uB300\uC2E0 GIMP\uC640 \uAC19\uC774 \uAC00\uC7A5 \uAC00\uAE4C\uC6B4 \uD53D\uC140 \uAC00\uC7A5\uC790\uB9AC\uB85C \uB9DE\uCDA4","settings.pick_color_opacity":"\uC0C9 \uD22C\uBA85\uB3C4 \uC120\uD0DD","settings.pick_color_opacity.desc":"\uC0C9\uC0C1 \uCD94\uCD9C\uB85C \uC0C9\uC0C1 \uBD88\uD22C\uBA85\uB3C4\uB97C \uC120\uD0DD\uD558\uACE0 \uBE0C\uB7EC\uC2DC \uBD88\uD22C\uBA85\uB3C4\uB85C \uC124\uC815\uD568","settings.paint_with_stylus_only":"\uC2A4\uD0C0\uC77C\uB7EC\uC2A4\uD39C\uC73C\uB85C\uB9CC \uCE60\uD558\uAE30","settings.paint_with_stylus_only.desc":"\uCC3E\uAE30\uC5D0\uB294 \uCE60\uD558\uAE30, \uB9C8\uC6B0\uC2A4 \uC81C\uD55C \uB610\uB294 \uD130\uCE58 \uC785\uB825\uC5D0\uB9CC \uC2A4\uD0C0\uC77C\uB7EC\uC2A4\uD39C\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4.","action.copy_brush_mode":"\uBE0C\uB7EC\uC2DC \uBAA8\uB4DC \uBCF5\uC0AC","action.copy_brush_mode.copy":"\uBCF5\uC0AC","action.copy_brush_mode.pattern":"\uD328\uD134","action.copy_brush_mode.sample":"\uC0D8\uD50C","action.brush_shape":"\uBE0C\uB7EC\uC2DC \uBAA8\uC591","action.brush_shape.square":"\uC815\uC0AC\uAC01\uD615","action.brush_shape.circle":"\uC6D0","action.blend_mode":"\uD63C\uD569 \uBAA8\uB4DC","action.blend_mode.default":"\uAE30\uBCF8","action.blend_mode.set_opacity":"\uD22C\uBA85\uB3C4 \uC124\uC815","action.blend_mode.color":"\uC0C9","action.blend_mode.behind":"\uB4A4","action.blend_mode.multiply":"\uACF1\uD558\uAE30","action.blend_mode.divide":"\uB098\uB204\uAE30","action.blend_mode.add":"\uB354\uD558\uAE30","action.blend_mode.subtract":"\uC9C0\uC6B0\uAE30","action.blend_mode.screen":"\uC2A4\uD06C\uB9B0","action.blend_mode.overlay":"\uC624\uBC84\uB808\uC774","action.blend_mode.hard_light":"\uD558\uB4DC \uB77C\uC774\uD2B8","action.blend_mode.difference":"\uCC28\uC774","action.copy_brush":"\uBE0C\uB7EC\uC2DC \uBCF5\uC0AC","action.copy_brush.desc":"\uBE0C\uB7EC\uC2DC\uB85C \uD14D\uC2A4\uCCD0\uC758 \uC77C\uBD80\uB97C \uBCF5\uC81C\uD558\uAC70\uB098 \uD328\uD134\uC744 \uADF8\uB9BD\uB2C8\uB2E4. Ctrl \uD0A4\uB97C \uB204\uB978 \uC0C1\uD0DC\uC5D0\uC11C \uD074\uB9AD\uD558\uC5EC \uBCF5\uC0AC \uD560 \uACF3\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.","action.validator_window":"\uBAA8\uB378 \uBB38\uC81C \uBCF4\uAE30...","action.validator_window.desc":"\uD604\uC7AC \uBAA8\uB378\uC758 \uBB38\uC81C\uB97C \uB098\uC5F4\uD558\uB294 \uC720\uD6A8\uC131 \uAC80\uC0AC\uAE30\uB97C \uC5FD\uB2C8\uB2E4.","action.cancel_gif":"GIF \uCDE8\uC18C","menu.text_edit.copy_vector":"\uBCA1\uD130 \uBCF5\uC0AC","menu.brush_presets.dialog":"\uBE0C\uB7EC\uC2DC \uC0AC\uC804 \uC124\uC815...","menu.brush_presets.pixel_brush":"\uD53D\uC140 \uBE0C\uB7EC\uC2DC","menu.brush_presets.smooth_brush":"\uC2A4\uBB34\uC2A4 \uBE0C\uB7EC\uC2DC","menu.texture.edit_in_blockbench":"Blockbench\uC5D0\uC11C \uC218\uC815","menu.mirror_painting.axis":"\uCD95","menu.mirror_painting.axis.desc":"\uB300\uCE6D\uB418\uB294 \uCD95 \uD398\uC778\uD2B8 \uC2A4\uD2B8\uB85C\uD06C\uB97C \uC120\uD0DD\uD568","menu.mirror_painting.global":"\uC804\uC5ED \uB300\uCE6D","menu.mirror_painting.global.desc":"\uC804\uC5ED \uACF5\uAC04\uC5D0\uC11C \uBAA8\uB378\uC5D0 \uBC18\uC804 \uCE60\uD558\uAE30 \uC0AC\uC6A9","menu.mirror_painting.local":"\uC9C0\uC5ED \uB300\uCE6D","menu.mirror_painting.local.desc":"\uAC01 \uC694\uC18C\uC5D0 \uB300\uD574 \uB85C\uCEEC \uACF5\uAC04\uC5D0\uC11C \uBC18\uC804 \uCE60\uD558\uAE30 \uC0AC\uC6A9","menu.mirror_painting.texture_frames":"\uC560\uB2C8\uBA54\uC774\uC158 \uD14D\uC2A4\uCCD0 \uD504\uB808\uC784\uC5D0\uC11C \uBC18\uBCF5","menu.mirror_painting.texture_frames.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uD14D\uC2A4\uCCD0\uC758 \uBAA8\uB4E0 \uD504\uB808\uC784\uC5D0 \uB300\uD55C \uBC18\uC804 \uD398\uC778\uD2B8 \uC2A4\uD2B8\uB85C\uD06C","format.bedrock_block.info.size_limit":"\uD06C\uAE30 \uBE14\uB85D\uC758 \uC804\uCCB4 \uD06C\uAE30\uB294 \uBAA8\uB4E0 \uACF3\uC5D0\uC11C 30\uD53D\uC140\uB85C \uC81C\uD55C\uB429\uB2C8\uB2E4. \uC81C\uD55C\uC740 \uBE14\uB85D \uC911\uC2EC\uC5D0\uC11C 7\uD53D\uC140\uB9CC\uD07C \uBAA8\uB4E0 \uBC29\uD5A5\uC73C\uB85C \uC911\uC2EC\uC744 \uBC97\uC5B4\uB0A0 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","format.bedrock_block.info.textures":"Blockbench\uC5D0\uC11C\uB294 \uC5EC\uB7EC \uD050\uBE0C\uC5D0 \uC5EC\uB7EC \uD14D\uC2A4\uCCD0\uB97C \uC801\uC6A9\uD560 \uC218 \uC788\uC9C0\uB9CC \uAC8C\uC784 \uB0B4\uC5D0\uC11C \uC62C\uBC14\uB974\uAC8C \uC791\uB3D9\uD558\uB824\uBA74 \uD589\uB3D9 \uD329\uC5D0\uC11C \uCD94\uAC00 \uC124\uC815\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.","format.image.desc":"2D \uC774\uBBF8\uC9C0 \uD3B8\uC9D1\uAE30\uC5D0\uC11C \uC774\uBBF8\uC9C0 \uD3B8\uC9D1","generic.delete_all":"\uBAA8\uB450 \uC0AD\uC81C","message.child_model_only.open":"\uBD80\uBAA8 \uC5F4\uAE30","message.child_model_only.open_with_textures":"\uBD80\uBAA8 \uC5F4\uAE30 & \uD14D\uC2A4\uCCD0 \uC120\uD0DD","dialog.project.credit":"\uD06C\uB808\uB527","dialog.convert_project.create_copy":"\uC0AC\uBCF8 \uC0DD\uC131","dialog.texture.frame_time":"\uD504\uB808\uC784 \uC2DC\uAC04","dialog.texture.frame_time.desc":"\uAC01 \uD504\uB808\uC784\uC774 \uD45C\uC2DC\uB418\uB294 \uC2DC\uAC04\uC744 \uB208\uAE08 \uB2E8\uC704\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. \uD55C \uD2F1\uB2F9 1/20\uCD08\uB97C \uC758\uBBF8\uD569\uB2C8\uB2E4.","dialog.texture.frame_interpolate":"\uBCF4\uAC04","dialog.texture.frame_interpolate.desc":"\uB2E4\uC74C \uD504\uB808\uC784\uC73C\uB85C \uAD50\uCC28 \uD398\uC774\uB529\uD558\uC5EC \uC560\uB2C8\uBA54\uC774\uC158 \uD504\uB808\uC784 \uAC04 \uBCF4\uAC04","dialog.texture.frame_order_type":"\uBC18\uBCF5 \uBAA8\uB4DC","dialog.texture.frame_order_type.loop":"\uBC18\uBCF5","dialog.texture.frame_order_type.backwards":"\uB4A4\uB85C \uBC18\uBCF5","dialog.texture.frame_order_type.back_and_forth":"\uC55E\uB4A4 \uBC18\uBCF5","dialog.texture.frame_order_type.custom":"\uB9DE\uCDA4 \uC8FC\uBB38","dialog.texture.frame_order":"\uD504\uB808\uC784 \uC21C\uC11C","dialog.texture.frame_order.desc":"\uD504\uB808\uC784 \uC778\uB371\uC2A4\uB97C \uC0C8 \uC21C\uC11C\uB85C \uB098\uC5F4\uD558\uC5EC \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uD504\uB808\uC784 \uC21C\uC11C\uB97C \uC124\uC815\uD569\uB2C8\uB2E4. \uD504\uB808\uC784 \uC778\uB371\uC2A4\uB294 \uCCAB \uBC88\uC9F8 \uD504\uB808\uC784\uBD80\uD130 0\uBD80\uD130 \uC2DC\uC791\uD569\uB2C8\uB2E4.","dialog.select.mode":"\uBAA8\uB4DC","dialog.select.mode.new":"\uC0C8\uB85C \uC120\uD0DD","dialog.select.mode.add":"\uC120\uD0DD \uD56D\uBAA9\uC5D0 \uCD94\uAC00","dialog.select.mode.remove":"\uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C \uC81C\uAC70","dialog.select.mode.in_selection":"\uC120\uD0DD \uD56D\uBAA9\uC5D0\uC11C\uB9CC \uC120\uD0DD","dialog.predicate_overrides.model":"\uBAA8\uB378","dialog.predicate_overrides.predicates":"\uC870\uAC74","dialog.predicate_overrides.variants":"\uBCC0\uD615","dialog.predicate_overrides.start_value":"\uC2DC\uC791","dialog.predicate_overrides.add_override":"\uC7AC\uC815\uC758 \uCD94\uAC00","dialog.predicate_overrides.add_predicate":"\uC870\uAC74 \uCD94\uAC00","dialog.predicate_overrides.generate_overrides":"\uC7AC\uC815\uC758 \uC0DD\uC131","dialog.predicate_overrides.confirm_delete":"\uBAA8\uB4E0 \uC7AC\uC815\uC758\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","dialog.predicate_overrides.predicate.angle":"\uB098\uCE68\uBC18 \uAC01\uB3C4","dialog.predicate_overrides.predicate.blocking":"\uCC28\uB2E8\uB428","dialog.predicate_overrides.predicate.broken":"\uACE0\uC7A5\uB0A8","dialog.predicate_overrides.predicate.cast":"\uB358\uC9D0","dialog.predicate_overrides.predicate.cooldown":"\uCFE8\uB2E4\uC6B4","dialog.predicate_overrides.predicate.damage":"\uB370\uBBF8\uC9C0","dialog.predicate_overrides.predicate.damaged":"\uB370\uBBF8\uC9C0\uC785\uC74C","dialog.predicate_overrides.predicate.lefthanded":"\uC67C\uC190\uC7A1\uC774","dialog.predicate_overrides.predicate.pull":"\uB2F9\uAE40 \uC815\uB3C4","dialog.predicate_overrides.predicate.pulling":"\uB2F9\uAE30\uACE0 \uC788\uC74C","dialog.predicate_overrides.predicate.charged":"\uCC28\uC9C0\uC911","dialog.predicate_overrides.predicate.firework":"\uD3ED\uC8FD\uC774 \uC788\uC74C","dialog.predicate_overrides.predicate.throwing":"\uB358\uC9C8 \uC900\uBE44","dialog.predicate_overrides.predicate.time":"\uC2DC\uAC04","dialog.predicate_overrides.predicate.custom_model_data":"\uCEE4\uC2A4\uD140 \uBAA8\uB378 \uB370\uC774\uD130","dialog.predicate_overrides.predicate.level":"\uBE5B \uC138\uAE30","dialog.predicate_overrides.predicate.filled":"\uBC88\uB4E4 \uCC44\uC6CC\uC9D0 \uC815\uB3C4","dialog.predicate_overrides.predicate.tooting":"\uB098\uD314\uC744 \uBD8A","settings.model_export_scale":"\uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30 \uD06C\uAE30","settings.model_export_scale.desc":"\uB0B4\uBCF4\uB0B8 glTF, DAE \uBC0F FBX \uBAA8\uB378\uC758 \uCD95\uC18C \uBE44\uC728\uC785\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 16\uC774\uBA70, \uB0B4\uBCF4\uB0B4\uAE30\uC5D0\uC11C 16 \uBE14\uB85D\uBCA4\uCE58 \uB2E8\uC704\uB97C 1\uBBF8\uD130\uB85C \uBCC0\uD658\uD569\uB2C8\uB2E4.","action.export_fbx":"FBX\uBAA8\uB378 \uB0B4\uBCF4\uB0B4\uAE30","action.export_fbx.desc":"\uB2E4\uB978 3D \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uBC0F \uAC8C\uC784 \uC5D4\uC9C4\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC788\uB3C4\uB85D \uBAA8\uB378 \uBC0F \uC560\uB2C8\uBA54\uC774\uC158\uC744 fbx \uD30C\uC77C\uB85C \uB0B4\uBCF4\uB0B4\uAE30","action.center_lateral":"\uC911\uC559 \uCE21\uBA74","action.center_lateral.desc":"\uC120\uD0DD\uD55C \uC694\uC18C\uB97C X \uBC0F Z\uCD95 \uC911\uC559\uC5D0 \uBC30\uCE58","action.adjust_opacity":"\uBD88\uD22C\uBA85\uB3C4 \uC870\uC815...","action.adjust_opacity.desc":"\uC120\uD0DD\uD55C \uD14D\uC2A4\uCCD0\uC758 \uBD88\uD22C\uBA85\uB3C4\uB97C \uC870\uC815","action.rotate_texture_cw":"\uD14D\uC2A4\uCCD0\uB97C \uC2DC\uACC4 \uBC29\uD5A5\uC73C\uB85C \uD68C\uC804","action.rotate_texture_ccw":"\uD14D\uC2A4\uCCD0\uB97C \uC2DC\uACC4 \uBC18\uB300 \uBC29\uD5A5\uC73C\uB85C \uD68C\uC804","action.predicate_overrides":"\uC870\uAC74\uC790 \uC7AC\uC815\uC758 \uD3B8\uC9D1...","action.predicate_overrides.desc":"\uC120\uD0DD\uD55C \uC870\uAC74\uC5D0 \uB530\uB77C \uC774 \uBAA8\uB378\uC744 \uC7AC\uC815\uC758\uD558\uB824\uBA74 \uBAA8\uB378\uC744 \uC120\uD0DD\uD558\uC138\uC694.","action.auto_set_cullfaces":"\uD6C4\uBA74 \uC81C\uAC70\uB97C \uC790\uB3D9\uC73C\uB85C \uC124\uC815","action.auto_set_cullfaces.desc":"\uC778\uC811\uD55C \uBE14\uB85D\uC5D0 \uC758\uD574 \uAC00\uB824\uC9C8 \uB54C \uBA74\uC744 \uC228\uAE30\uAE30 \uC704\uD574 \uD6C4\uBA74 \uC81C\uAC70\uB97C \uC790\uB3D9\uC73C\uB85C \uC0DD\uC131\uD569\uB2C8\uB2E4.","menu.texture.edit_externally":"\uC678\uBD80\uC5D0\uC11C \uD3B8\uC9D1","menu.mirror_painting.texture":"2D \uD3B8\uC9D1\uAE30 \uB300\uCE6D","menu.mirror_painting.texture.desc":"\uC774\uBBF8\uC9C0 \uB610\uB294 \uD14D\uC2A4\uCCD0\uC758 2D \uACF5\uAC04\uC5D0\uC11C \uBC18\uC804 \uCE60\uD558\uAE30 \uD65C\uC131\uD654","menu.animator.rotation_global":"\uC804\uC5ED \uACF5\uAC04\uC5D0\uC11C \uD68C\uC804","uv_editor.face_properties":"\uD45C\uBA74 \uC18D\uC131","uv_editor.face_properties.material_instance":"\uBA38\uD2F0\uB9AC\uC5BC \uC778\uC2A4\uD134\uC2A4","uv_editor.tint.info":"\uD45C\uBA74\uC5D0 \uC0C9\uC870\uB97C \uD65C\uC131\uD654\uD558\uC5EC \uB9C8\uC778\uD06C\uB798\uD504\uD2B8\uC5D0 \uC0C9\uC870\uB97C \uC9C0\uC815\uD558\uB3C4\uB85D \uC9C0\uC2DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uBC14\uB2D0\uB77C\uC5D0\uC11C \uC0C9\uC870\uB294 \uB098\uBB47\uC78E, \uB808\uB4DC\uC2A4\uD1A4 \uAC00\uB8E8\uC640 \uAC19\uC740 \uD2B9\uC815 \uBE14\uB85D\uC5D0\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC73C\uBA70 0\uC758 \uAC12\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","uv_editor.cullface.info":"\uD6C4\uBA74 \uC81C\uAC70\uB97C \uD65C\uC131\uD654\uD558\uBA74 \uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uC138\uACC4\uC5D0\uC11C \uC9C0\uC815\uB41C \uBC29\uD5A5\uC73C\uB85C \uBE14\uB85D \uC606\uC5D0 \uB2E4\uB978 \uC804\uCCB4 \uBE14\uB85D\uC774 \uBC30\uCE58\uB418\uB294 \uACBD\uC6B0 \uBE14\uB85D\uC758 \uD45C\uBA74\uC774 \uB80C\uB354\uB418\uC9C0 \uC54A\uAC8C\uB429\uB2C8\uB2E4. \uC774\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC131\uB2A5\uC744 \uCD5C\uC801\uD654\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","uv_editor.material_instance.info":"\uBA38\uD2F0\uB9AC\uC5BC \uC778\uC2A4\uD134\uC2A4\uB294 \uC0AC\uC6A9\uC790 \uC815\uC758 \uC774\uB984\uC73C\uB85C \uC124\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uC774\uB984\uC740 \uD589\uB3D9 \uD329\uC758 \uBE14\uB85D JSON \uD30C\uC77C\uC5D0\uC11C \uD45C\uBA74\uC5D0\uC5D0 \uD2B9\uC815 \uC9C8\uAC10\uACFC \uC7AC\uC9C8\uC744 \uD560\uB2F9\uD558\uB294 \uB370 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.","display.reference.frame_invisible":"\uC544\uC774\uD15C \uC561\uC790 (\uBD88\uD22C\uBA85)","data.settings_profile":"\uD504\uB85C\uD544","message.display_skin.invalid_name":'"%0" \uC758 Minecraft \uACC4\uC815\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.',"dialog.load_plugins_from_query.title":"\uD50C\uB7EC\uADF8\uC778 \uBD88\uB7EC\uC624\uAE30","dialog.load_plugins_from_query.text":"\uD50C\uB7EC\uADF8\uC778 \uC124\uCE58\uAC00 \uD544\uC694\uD55C \uB9C1\uD06C\uB97C \uC0AC\uC6A9\uD558\uC600\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uD50C\uB7EC\uADF8\uC778\uC744 \uC124\uCE58\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","dialog.select_model.title":"\uBAA8\uB378 \uC120\uD0DD\uD558\uAE30","dialog.select_model.bones":"\uBCF8","dialog.select_model.cubes":"\uD050\uBE0C","dialog.settings.create_profile":"\uD504\uB85C\uD544 \uC0DD\uC131...","settings_profile.confirm_delete":"\uC774 \uD504\uB85C\uD544 \uC124\uC815\uC744 \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","settings_profile.condition.type.selectable":"\uC218\uB3D9 \uC120\uD0DD \uAC00\uB2A5","settings.interface_mode":"UI \uBAA8\uB4DC","settings.interface_mode.desc":"\uC778\uD130\uD398\uC774\uC2A4 \uBAA8\uB4DC. \uC801\uC6A9\uC744 \uC704\uD574\uC11C\uB294 Blockbench \uC7AC\uC2DC\uC791\uC774 \uD544\uC694\uD569\uB2C8\uB2E4","settings.interface_mode.auto":"\uC790\uB3D9","settings.interface_mode.desktop":"\uB370\uC2A4\uD06C\uD0D1","settings.interface_mode.mobile":"\uBAA8\uBC14\uC77C","settings.paint_through_transparency":"\uD22C\uBA85\uD55C \uD53D\uC140 \uB4A4\uB85C \uADF8\uB9AC\uAE30","settings.paint_through_transparency.desc":"\uD22C\uBA85\uB3C4 \uCC44\uB110\uC774 \uC7A0\uACA8 \uC788\uC744 \uB54C \uD22C\uBA85\uD55C \uD53D\uC140 \uB4A4\uB85C \uADF8\uB9AC\uAE30","action.tab_overview":"\uD0ED \uAC1C\uC694","action.tab_overview.desc":"\uC5F4\uB824\uC788\uB294 \uBAA8\uB4E0 \uD0ED\uC744 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4","action.slider_color_red":"\uBE68\uAC04\uC0C9","action.slider_color_green":"\uCD08\uB85D\uC0C9","action.slider_color_blue":"\uD30C\uB780\uC0C9","action.add_animation_controller":"\uC560\uB2C8\uBA54\uC774\uC158 \uCEE8\uD2B8\uB864\uB7EC \uCD94\uAC00","action.add_animation_controller.desc":"\uBE48 \uC560\uB2C8\uBA54\uC774\uC158 \uCEE8\uD2B8\uB864\uB7EC \uC0DD\uC131","action.animation_controller_preview_mode":"\uCEE8\uD2B8\uB864\uB7EC \uBBF8\uB9AC\uBCF4\uAE30","action.animation_controller_preview_mode.paused":"\uC77C\uC2DC\uC815\uC9C0","action.animation_controller_preview_mode.manual":"\uC218\uB3D9 \uBBF8\uB9AC\uBCF4\uAE30","action.animation_controller_preview_mode.play":"\uC790\uB3D9 \uBBF8\uB9AC\uBCF4\uAE30","action.keyframe_interpolation.bezier":"\uBCA0\uC9C0\uC5B4","action.keyframe_bezier_linked":"\uBCA0\uC9C0\uC5B4 \uC190\uC7A1\uC774 \uC5F0\uACB0","action.keyframe_bezier_linked.desc":"\uC591\uCABD \uBCA0\uC9C0\uC5B4 \uC190\uC7A1\uC774 \uC5F0\uACB0","action.reset_keyframe_handles":"\uD0A4\uD504\uB808\uC784 \uCD08\uAE30\uD654","action.reset_keyframe_handles.desc":"\uC120\uD0DD\uB41C \uD0A4\uD504\uB808\uC784\uC758 \uBCA0\uC9C0\uC5B4 \uC190\uC7A1\uC774 \uCD08\uAE30\uD654","action.looped_animation_playback":"\uBC18\uBCF5 \uC7AC\uC0DD","action.looped_animation_playback.desc":"\uBB34\uD55C \uBC18\uBCF5 \uC7AC\uC0DD","timeline.bind_to_actor":"\uC561\uD130\uC5D0 \uBC14\uC778\uB4DC","animation_controllers.select_preset":"\uCEE8\uD2B8\uB864\uB7EC \uD504\uB9AC\uC14B \uC120\uD0DD...","animation_controllers.state.animations":"\uC560\uB2C8\uBA54\uC774\uC158","animation_controllers.state.particles":"\uC785\uC790","animation_controllers.state.sounds":"\uC18C\uB9AC","animation_controllers.state.on_entry":"\uC2DC\uC791 \uC2DC","animation_controllers.state.on_exit":"\uC885\uB8CC \uC2DC","animation_controllers.state.transitions":"\uC804\uD658 \uD6A8\uACFC","animation_controllers.state.condition":"\uC870\uAC74","animation_controllers.state.blend_transition":"\uBE14\uB80C\uB4DC \uC2DC\uAC04","animation_controllers.state.shortest_path":"\uCD5C\uB2E8 \uACBD\uB85C\uB85C \uBE14\uB80C\uB4DC","animation_controllers.state.edit_transition":"\uC804\uD658 \uD3B8\uC9D1","menu.color_picker.picker_type":"\uC2A4\uD3EC\uC774\uD2B8 \uC885\uB958","menu.color_picker.picker_type.square":"\uC0AC\uAC01\uD615","menu.color_picker.picker_type.wheel":"\uBC14\uD034","menu.color_picker.slider_mode":"\uC2AC\uB77C\uC774\uB354 \uBAA8\uB4DC","menu.color_picker.slider_mode.hsv":"HSV","menu.color_picker.slider_mode.rgb":"RGB","menu.texture.render_mode.additive":"\uB354\uD558\uAE30","panel.color.picker_options":"\uC2A4\uD3EC\uC774\uD2B8 \uC124\uC815","panel.animation_controllers":"\uC560\uB2C8\uBA54\uC774\uC158 \uCEE8\uD2B8\uB864\uB7EC","display.preset.armor_stand":"\uC9C0\uBA74 (\uAC11\uC637 \uAC70\uCE58\uB300)","data.file_path":"\uD30C\uC77C \uACBD\uB85C","dialog.extrude.orientation":"\uBC29\uD5A5","dialog.extrude.orientation.upright":"\uC218\uC9C1","dialog.extrude.orientation.flat":"\uD3C9\uBA74","dialog.scale.box_uv_warning":"\uC0C1\uC790 UV \uBAA8\uB378\uC758 \uD06C\uAE30\uC744 \uC870\uC815\uD558\uBA74 \uBAA8\uB378\uC758 UV\uAC00 \uC190\uC0C1\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 \uC678\uBD80\uC5D0\uC11C \uBAA8\uB378 \uC2A4\uCF00\uC77C\uC744 \uC870\uC815\uD558\uAC70\uB098 \uD30C\uC77C > \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uD45C\uBA74\uBCC4 UV \uBAA8\uB4DC\uB85C \uC804\uD658\uD558\uC138\uC694.","dialog.create_gif.format":"\uD3EC\uB9F7","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG \uC21C\uC11C","dialog.create_gif.pixelate":"\uD53D\uC140\uD654","dialog.create_gif.bg_image":"\uBC30\uACBD \uC774\uBBF8\uC9C0","dialog.create_gif.turn.desc":"\uB179\uD654\uD558\uB294 \uB3D9\uC548 \uBAA8\uB378\uC744 \uD68C\uC804\uD569\uB2C8\uB2E4. \uC74C\uC218 \uAC12\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB378\uC744 \uC2DC\uACC4 \uBC29\uD5A5\uC73C\uB85C \uB3CC\uB9BD\uB2C8\uB2E4. 60 \uAC12\uC740 \uCD08\uB2F9 \uD55C \uBC88 \uD68C\uC804\uD558\uB294 \uAC83\uC744 \uC758\uBBF8\uD569\uB2C8\uB2E4.","settings_profile.condition":"\uC870\uAC74","settings_profile.condition.type.file_path.desc":"\uC815\uADDC\uC2DD \uAD6C\uBB38\uC744 \uC0AC\uC6A9\uD558\uC5EC \uD604\uC7AC \uD504\uB85C\uC81D\uD2B8\uC758 \uD30C\uC77C \uACBD\uB85C\uC640 \uC77C\uCE58\uC2DC\uD0B5\uB2C8\uB2E4. \uD30C\uC77C \uACBD\uB85C\uC5D0 \uC2AC\uB798\uC2DC\uB97C \uC0AC\uC6A9\uD558\uC138\uC694","settings.only_selected_bezier_handles":"\uC120\uD0DD\uD55C \uBCA0\uC9C0\uC5B4 \uD578\uB4E4\uB9CC \uD45C\uC2DC\uD558\uAE30","settings.only_selected_bezier_handles.desc":"\uD604\uC7AC \uC120\uD0DD\uB418\uC9C0 \uC54A\uC740 \uBCA0\uC9C0\uC5B4 \uD0A4\uD504\uB808\uC784\uC758 \uD578\uB4E4 \uC228\uAE30\uAE30","settings.embed_textures":"\uD14D\uC2A4\uCCD0 \uC784\uBCA0\uB4DC","settings.embed_textures.desc":"\uD14D\uC2A4\uCCD0 \uD30C\uC77C \uCF58\uD150\uCE20\uB97C .bbmodel \uD30C\uC77C\uC5D0 \uC784\uBCA0\uB4DC","action.selection_mode.cluster":"\uD074\uB7EC\uC2A4\uD130","dialog.copied_to_clipboard":"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC\uB428","data.reference_image":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0","message.delete_reference_image":"\uC774 \uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C? \uC774 \uC791\uC5C5\uC740 \uCDE8\uC18C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","message.add_reference_image.message":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0\uB97C \uB85C\uB4DC\uD560 \uC704\uCE58 \uC120\uD0DD","message.add_reference_image.project":"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00\uD558\uAE30","message.add_reference_image.app":"\uBAA8\uB4E0 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCD94\uAC00\uD558\uAE30","message.import_particle_texture.import":"\uD30C\uD2F0\uD074 \uC774\uBBF8\uC9C0 \uAC00\uC838\uC624\uAE30","message.import_particle_texture.message":"\uD30C\uD2F0\uD074\uC5D0 \uC0AC\uC6A9\uD560 \uD14D\uC2A4\uCCD0 \uD30C\uC77C\uC744 \uAC00\uC838\uC624\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","message.save_codec_selector.title":"\uBAA8\uB378 \uD615\uC2DD \uC800\uC7A5","message.save_codec_selector.message":"\uBAA8\uB378\uC744 \uC800\uC7A5\uD560 \uD615\uC2DD\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.","message.save_codec_selector.project_file":"Blockbench \uD504\uB85C\uC81D\uD2B8 (.bbmodel)","message.save_codec_selector.both":"\uB458 \uB2E4","message.display_skin.username":"\uB2C9\uB124\uC784 (Java)","message.palette_locked":"\uD314\uB808\uD2B8\uAC00 \uC7A0\uACA8 \uC788\uC2B5\uB2C8\uB2E4","dialog.project.default_uv_mode":"\uAE30\uBCF8 UV \uBAA8\uB4DC","dialog.project.default_uv_mode.description":"\uD504\uB85C\uC81D\uD2B8\uC758 \uAE30\uBCF8 UV \uBAA8\uB4DC\uC785\uB2C8\uB2E4. UV \uBAA8\uB4DC\uB294 \uD050\uBE0C\uBCC4\uB85C \uBCC0\uACBD\uD560 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.","dialog.export_options.title":"\uB0B4\uBCF4\uB0B4\uAE30 \uC635\uC158","dialog.edit_texture.preview":"\uBBF8\uB9AC\uBCF4\uAE30","dialog.proportional_editing.range":"\uBC94\uC704","dialog.proportional_editing.falloff":"\uD3F4\uC624\uD504","dialog.proportional_editing.falloff.linear":"\uC120\uD615","dialog.proportional_editing.falloff.hermite_spline":"\uC2A4\uBB34\uC2A4","dialog.proportional_editing.falloff.constant":"\uCEE8\uC2A4\uD134\uD2B8","dialog.proportional_editing.selection":"\uC120\uD0DD","dialog.proportional_editing.selection.linear":"\uC120\uD615 \uAC70\uB9AC","dialog.proportional_editing.selection.connections":"\uC5F0\uACB0","dialog.mirror_painting_texture_center.middle":"\uC911\uAC04","dialog.mirror_painting_texture_center.custom":"\uC0AC\uC6A9\uC790 \uC9C0\uC815","dialog.settings.reset_to_default":"\uAE30\uBCF8\uAC12\uC73C\uB85C \uC7AC\uC124\uC815","keybindings.item.num_slider.increase":"\uC99D\uAC00","keybindings.item.num_slider.decrease":"\uAC10\uC18C","settings.always_show_splash_art":"\uD56D\uC0C1 \uC2A4\uD50C\uB798\uC2DC \uC544\uD2B8 \uD45C\uC2DC","settings.always_show_splash_art.desc":"\uC2DC\uC791 \uD654\uBA74\uC5D0 \uD56D\uC0C1 \uC2A4\uD50C\uB798\uC2DC \uC544\uD2B8\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4","action.slider_palette_color":"\uD314\uB808\uD2B8 \uC0C9\uC0C1 \uC804\uD658","action.slider_palette_color.desc":"\uD314\uB808\uD2B8\uC758 \uC0C9\uC0C1 \uC21C\uD658","action.proportional_editing":"\uBE44\uC728 \uD3B8\uC9D1","action.proportional_editing.desc":"\uBA54\uC26C\uC758 \uC77C\uBD80\uB97C \uD3B8\uC9D1\uD560 \uB54C \uC8FC\uBCC0 \uC815\uC810\uC5D0 \uBE44\uB840\uC801\uC73C\uB85C \uC601\uD5A5\uC744 \uC90D\uB2C8\uB2E4","action.limit_to_palette":"\uD314\uB808\uD2B8 \uC81C\uD55C","action.limit_to_palette.desc":"\uD14D\uC2A4\uCCD0\uC758 \uC0C9\uC0C1\uC744 \uD604\uC7AC \uB85C\uB4DC\uB41C \uD314\uB808\uD2B8\uC5D0 \uC788\uB294 \uC0C9\uC0C1\uC73C\uB85C \uC81C\uD55C\uD569\uB2C8\uB2E4","action.edit_reference_images":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0 \uD3B8\uC9D1","action.edit_reference_images.desc":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0 \uBAA8\uB4DC\uB97C \uCF1C\uC11C \uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0\uC640 \uCCAD\uC0AC\uC9C4\uC744 \uCD94\uAC00\uD558\uAC70\uB098 \uD3B8\uC9D1\uD568","action.add_reference_image":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0 \uCD94\uAC00","action.reference_image_from_clipboard":"\uD074\uB9BD\uBCF4\uB4DC\uC758 \uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0","action.reference_image_list":"\uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0","action.connect_uv_faces":"UV \uD45C\uBA74 \uC5F0\uACB0","action.connect_uv_faces.desc":"\uC120\uD0DD\uD55C UV \uD45C\uBA74\uC744 \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC120\uD0DD\uD55C UV \uD45C\uBA74\uC5D0 \uC5F0\uACB0","action.merge_uv_vertices":"UV \uC815\uC810 \uBCD1\uD569","action.merge_uv_vertices.desc":"\uCC98\uC74C \uC120\uD0DD\uD55C UV \uC815\uC810\uC744 \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC120\uD0DD\uD55C UV \uC815\uC810\uC5D0 \uB9DE\uCDA5\uB2C8\uB2E4","action.bedrock_animation_mode":"Bedrock \uC560\uB2C8\uBA54\uC774\uC158 \uBAA8\uB4DC","action.bedrock_animation_mode.desc":"\uB9C8\uC778\uD06C\uB798\uD504\uD2B8 \uBCA0\uB4DC\uB77D\uC5D0\uB514\uC158\uC758 \uC5D0\uB2C8\uB9E4\uC774\uC158\uC744 \uD3B8\uC9D1\uD560 \uBAA8\uB4DC\uB97C \uC120\uD0DD","action.bedrock_animation_mode.entity":"\uC5D4\uD2F0\uD2F0","action.bedrock_animation_mode.attachable_first":"\uC544\uC774\uD15C 1\uC778\uCE6D","action.bedrock_animation_mode.attachable_third":"\uC544\uC774\uD15C 3\uC778\uCE6D","timeline.amplify":"\uC99D\uD3ED","menu.options":"\uC635\uC158...","menu.palette.lock_palette":"\uD314\uB808\uD2B8 \uC7A0\uAE08","menu.uv.export":"UV \uB9E4\uD551 \uB0B4\uBCF4\uB0B4\uAE30","menu.uv.flip_x":"X \uBC18\uC804","menu.uv.flip_y":"Y \uBC18\uC804","menu.mirror_painting.enabled":"\uCF1C\uC9D0","reference_image.position":"\uC704\uCE58","reference_image.size":"\uD06C\uAE30","reference_image.rotation":"\uD68C\uC804","reference_image.opacity":"\uD22C\uBA85\uB3C4","reference_image.visibility":"\uAC00\uC2DC\uC131","reference_image.clear_mode":"\uC9C0\uC6B0\uAE30 \uBAA8\uB4DC","reference_image.layer":"\uB808\uC774\uC5B4","reference_image.layer.background":"\uBAA8\uB378 \uC544\uB798","reference_image.layer.viewport":"\uBAA8\uB378 \uC704","reference_image.layer.float":"\uC778\uD130\uD398\uC774\uC2A4 \uC704","reference_image.scope":"\uBC94\uC704","reference_image.scope.project":"\uC774 \uD504\uB85C\uC81D\uD2B8\uB9CC","reference_image.scope.global":"\uBAA8\uB4E0 \uD504\uB85C\uC81D\uD2B8","reference_image.enabled_modes":"\uBAA8\uB4DC\uC5D0\uC11C \uD65C\uC131\uD654\uB428","codec.common.encoding":"\uC778\uCF54\uB529","codec.common.armature":"\uADF8\uB8F9\uC744 \uBF08\uB300\uB85C \uB0B4\uBCF4\uB0B4\uAE30","codec.common.export_animations":"\uC5D0\uB2C8\uBA54\uC774\uC158 \uCD94\uCD9C","codec.common.embed_textures":"\uD14D\uC2A4\uCCD0 \uC784\uBCA0\uB4DC","preview.center_camera":"\uC911\uC559 \uCE74\uBA54\uB77C","display.reference.frame_top":"\uC544\uC774\uD15C \uC561\uC790 \uC704","display.reference.frame_top_invisible":"\uC544\uC774\uD15C \uC561\uC790 \uC704 (\uD22C\uBA85)","action.proportional_editing_range":"\uBE44\uC728 \uD3B8\uC9D1 \uBC94\uC704","action.proportional_editing_range.desc":"\uBE44\uC728 \uD3B8\uC9D1 \uBC94\uC704 \uC870\uC815","action.toggle_all_reference_images":"\uBAA8\uB4E0 \uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0 \uC228\uAE30\uAE30/\uBCF4\uAE30","action.toggle_all_reference_images.desc":"\uBAA8\uB4E0 \uCC38\uC870\uC6A9 \uC774\uBBF8\uC9C0\uC758 \uD45C\uC2DC \uC5EC\uBD80\uB97C \uD55C \uBC88\uC5D0 \uC804\uD658","action.add_animation_controller_state":"\uC560\uB2C8\uBA54\uC774\uC158 \uCEE8\uD2B8\uB864\uB7EC \uC0C1\uD0DC \uCD94\uAC00","action.add_animation_controller_state.desc":"\uC560\uB2C8\uBA54\uC774\uC158 \uCEE8\uD2B8\uB864\uB7EC\uC5D0 \uC0C8\uB85C\uC6B4 \uC0C1\uD0DC \uCD94\uAC00","menu.slider.round_value":"\uB77C\uC6B4\uB4DC \uAC12","texture.error.too_large":"\uD574\uC0C1\uB3C4\uAC00 \uCD5C\uB300 %0\uC744 \uCD08\uACFC\uD568","dialog.copy_to_clipboard":"\uD074\uB9BD\uBCF4\uB4DC\uC5D0 \uBCF5\uC0AC","dialog.open_url":"URL \uC5F4\uAE30","reference_image.image":"\uC774\uBBF8\uC9C0","uv_editor.rotate_uv":"UV \uD68C\uC804","generic.error":"Error","projects.start_screen":"Start Screen","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.plugin_dependencies.title":"Plugin Dependencies","message.plugin_dependencies.message1":"The plugin requires these dependencies:","message.plugin_dependencies.message1_update":"The plugin %0 has been updated and now requires these dependencies:","message.plugin_dependencies.message2":"Do you want to install them to continue?","message.plugin_dependencies.invalid":"Unfortunately the plugin cannot be installed, it has an invalid dependency:","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","dialog.convert_project.text1":"Convert the project into a different format.","dialog.convert_project.text2":"Use conversion at your own risk. Formats have different features and restrictions, so converting will in some cases break parts of your project.","dialog.convert_project.text3":"You cannot undo converting, that is why by default a copy will be created.","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"The following projects contain unsaved changes. Do you want to save your changes?","dialog.unsaved_work.discard_all":"Discard All","dialog.unsaved_work.save_all":"Save All","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Crop/Expand","dialog.resize_texture.mode.scale":"Scale","dialog.plugins.is_installed":"Installed","dialog.plugins.is_disabled":"Disabled","dialog.plugins.disable":"Disable","dialog.plugins.enable":"Enable","dialog.plugins.dependencies":"Depends on:","dialog.view_backups.open_folder":"Open Folder","dialog.share_model.reference_images":"Include Reference Images","dialog.share_model.too_large":"Failed to upload: Model is too large","dialog.share_model.too_large_references":"Failed to upload: Model is too large. Try without reference images.","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","edit.loop_cut.cuts":"Cuts","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"Transparency Render Order","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"Layer","data.panel":"Panel","generic.confirm_delete":"Are you sure you want to delete this?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Layers","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Crop Texture to Selection","action.create_empty_layer":"Create Empty Layer","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"\uB098\uC774\uD504 \uB3C4\uAD6C","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Thickness","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Merge into","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var TL={"dialog.ok":"OK","dialog.cancel":"Annuleren","dialog.confirm":"Bevestig","dialog.close":"Sluit","dialog.import":"Importeer","dialog.save":"Opslaan","dialog.discard":"Weggooien","dialog.dontshowagain":"Niet Opnieuw Laten Zien","data.cube":"Kubus","data.group":"Groep","data.texture":"Textuur","data.plugin":"Plugin","data.preview":"Voorvertoning","data.toolbar":"Gereedschapsbalk","data.image":"Afbeelding","keys.ctrl":"Control","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Verwijderen","keys.space":"Space","keys.leftclick":"Linker muisknop","keys.middleclick":"Midden muisknop","keys.rightclick":"Rechter muisknop","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"Textmenu","keys.left":"Links","keys.up":"Omhoog","keys.right":"Rechts","keys.down":"Omlaag","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Plus","keys.comma":"Komma","keys.point":"Punt","keys.minus":"Min","keys.cross":"Plus","keys.end":"Einde","keys.pos1":"Pos 1","keys.printscreen":"Schermafbeelding","keys.pause":"Pauzeer","message.rotation_limit.title":"Rotatie Limiet","message.rotation_limit.message":'Rotaties zijn door Minecraft over \xE9\xE9n as tegelijkertijd en stappen van 22,5 graad gelimiteerd. Roteren op een andere as zal de rotaties op overige assen verwijderen. Je kan je model converteren naar een "vrije model" als je voor een andere reden aan het moddelen bent en vrije rotatie nodig hebt.',"message.file_not_found.title":"Bestand Niet Gevonden","message.file_not_found.message":"Blockbench kon het gekozen bestand niet vinden. Zorg ervoor dat het lokaal opgeslagen is en niet in de cloud.","message.screenshot.title":"Schermafbeelding","message.screenshot.clipboard":"Klembord","message.screenshot.right_click":"Schermafbeelding - Rechtermuisklik om te kopi\xEBren","message.invalid_file.title":"Ongeldig Bestand","message.invalid_file.message":"Kon model bestand %0 niet openen","message.invalid_model.title":"Onjuist Model Bestand","message.invalid_model.message":"Dit bestand bevat geen juiste data voor een model","message.child_model_only.title":"Leeg Kind Element","message.child_model_only.message":"Dit bestand is een kind van %0 en bevat geen model","message.unsaved_textures.title":"Niet-opgeslagen Texturen","message.unsaved_textures.message":"Je model heeft niet-opgeslagen texturen. Zorg ervoor dat ze opgeslagen zijn en plaats ze in de juiste map in je resource pack.","message.model_clipping.title":"Model Te Groot","message.model_clipping.message":"Je model bevat %0 kubussen die groter zijn dan het toegestane 3x3x3 limiet in Minecraft. Dit model zal niet werken in Minecraft.","message.loose_texture.title":"Textuur Import","message.loose_texture.message":"De ge\xEFmporteerde textuur zit niet in een resource pack. Minecraft kan alleen texturen laden uit de textuur map van een geladen resource pack.","message.loose_texture.change":"Bestandsroute Veranderen","message.update_res.title":"Textuur Resolutie","message.update_res.message":"Wil je de resolutie van het project veranderen naar de resolutie van deze textuur? Klik 'Terug' als je afbeelding een grotere resolutie heeft dan normaal.","message.update_res.update":"Update","message.bedrock_overwrite_error.message":"Blockbench kan dit model niet combineren met het oude bestand","message.bedrock_overwrite_error.backup_overwrite":"Maak een Backup en overschrijf","message.bedrock_overwrite_error.overwrite":"Overschrijven","message.close_warning.message":"Wil je je model opslaan?","message.close_warning.web":"Je huidige werk zal verloren gaan. Weet je zeker dat je wilt afsluiten?","message.default_textures.title":"Standaard Texturen","message.default_textures.message":'Selecteer de "textures"-map van het standaard resource pack',"message.default_textures.detail":'Pak de standaard resource pack van de Minecraft jar uit of google en download het. Zoek de "textures"-map en open hem. Blockbench zal de locatie onthouden en daar afbeeldingen uit halen als ze niet in de huidige resource pack te vinden zijn.',"message.default_textures.select":'Selecteer de standaard "textures"-map',"message.image_editor.title":"Selecteer een afbeelding-bewerker","message.image_editor.file":"Selecteer Bestand...","message.image_editor.exe":"Selecteer een foto-bewerker uitvoerbaar bestand","message.display_skin.title":"Minecraft Skin","message.display_skin.message":"Selecteer een skin bestand van je computer of vul een spelernaam in","message.display_skin.upload":"Selecteer Bestand","message.display_skin.reset":"Herstel","message.invalid_plugin":"Onjuist Plugin Bestand, Zie Console","message.load_plugin_app":"Wil je toestaan dat deze plugin verandering aanbrengt aan je PC? Laad alleen plugins van mensen die je vertrouwt.","message.load_plugin_web":"Wil je deze plugin laden? Laad alleen plugins van mensen die je vertrouwt.","message.preset_no_info":"Preset bevat geen informatie voor dit slot","message.restart_to_update":"Herstart Blockbench om wijzigingen aan te brengen","message.save_file":"Opgeslagen als %0","dialog.project.title":"Project","dialog.project.name":"Bestandsnaam","dialog.project.parent":"Ouder model","dialog.project.geoname":"Mob Geometrie Naam","dialog.project.ao":"Ambient Occlusion","dialog.texture.title":"Textuur","dialog.texture.variable":"Variabele","dialog.texture.namespace":"Naamruimte","dialog.texture.folder":"Map","dialog.extrude.title":"Beeld Extruderen","dialog.extrude.mode":"Scanmodus","dialog.extrude.mode.areas":"Gebieden","dialog.extrude.mode.lines":"Lijnen","dialog.extrude.mode.columns":"Kolommen","dialog.extrude.mode.pixels":"Pixels","dialog.extrude.opacity":"Minimum Ondoorzichtigheid","dialog.extrude.scan":"Scan en Importeer","dialog.display_preset.title":"Maak Preset","dialog.display_preset.message":"Selecteer de slots die je wilt opslaan","dialog.display_preset.create":"Maak","dialog.select.title":"Selecteer","dialog.select.group":"In Geselecteerde Groep","dialog.select.name":"Naam Bevat","dialog.select.random":"Willekeurig (%)","dialog.select.select":"Selecteer","dialog.scale.title":"Schaal Model","dialog.scale.axis":"As","dialog.scale.clipping":"Model clipping: Je model is te groot voor het canvas","dialog.scale.confirm":"Herschaal","dialog.plugins.title":"Plugins","dialog.plugins.installed":"Ge\xEFnstalleerd","dialog.plugins.available":"Beschikbaar","dialog.plugins.install":"Installeer","dialog.plugins.uninstall":"de-installeren","dialog.plugins.reload":"Herlaad","dialog.plugins.none_installed":"Geen plugins ge\xEFnstalleerd","dialog.plugins.none_available":"Geen plugins beschikbaar","dialog.plugins.web_only":"Alleen voor de web app","dialog.plugins.app_only":"Alleen voor de desktop app","dialog.plugins.author":"door %0","dialog.create_texture.folder":"Map","dialog.create_texture.resolution":"Resolutie","dialog.input.title":"Invoer","dialog.settings.settings":"Instellingen","dialog.settings.keybinds":"Sneltoetsen","dialog.settings.about":"Over","layout.color.back":"Terug","layout.color.back.desc":"Achtergronden en invoervelden","layout.color.dark":"Donker","layout.color.dark.desc":"Canvas achtergrond","layout.color.ui":"UI","layout.color.ui.desc":"Hoofdinterface kleur","layout.color.bright_ui":"Helder UI","layout.color.bright_ui.desc":"Context menu's en tooltips","layout.color.button":"Knop","layout.color.button.desc":"Knoppen en Schakelaars","layout.color.selected":"Geselecteerd","layout.color.selected.desc":"Geselecteerde tabladen en objecten","layout.color.border":"Rand","layout.color.border.desc":"Rand van knoppen en invoer","layout.color.accent":"Accent","layout.color.accent.desc":"Schuifknop en andere details","layout.color.grid":"Rooster","layout.color.grid.desc":"3D voorvertooning rooster","layout.color.text":"Tekst","layout.color.text.desc":"Normale tekst","layout.color.light":"Licht","layout.color.light.desc":"Geselecteerde tekst","layout.color.accent_text":"Accent Tekst","layout.color.accent_text.desc":"Tekst op accent elementen","layout.font.main":"Hoofd lettertype","layout.font.headline":"Opschriftlettertype","about.version":"Versie:","settings.category.general":"Algemeen:","settings.category.preview":"Voorvertooning","settings.category.grid":"Rooster","settings.category.edit":"Wijzigen","settings.category.snapping":"Snapping","settings.category.defaults":"Standaard","settings.category.dialogs":"Dialogen","settings.category.export":"Exporteren","settings.language":"Taal","settings.language.desc":"Interface taal. Herstart Blockbench om wijzigingen aan te brengen","settings.backup_interval":"Backup Frequentie","settings.backup_interval.desc":"Frequentie van de automatische backups in minuten","settings.origin_size":"Draaipunt Markeerder","settings.origin_size.desc":"Grootte van rotatie draaipunt markeerder","settings.control_size":"As Controle Grootte","settings.control_size.desc":"Grootte van de 3 assen controle gereedschap","settings.display_skin":"Toon Skin","settings.display_skin.desc":"Skin gebruikt voor het referentie speler model","settings.shading":"Shading","settings.shading.desc":"Gebruik shading","settings.base_grid":"Klein Rooster","settings.base_grid.desc":"Toon klein grid en assen","settings.large_grid":"Blokrooster","settings.large_grid.desc":"Toon 3x3 blok rooster","settings.full_grid":"Volledig Blokrooster","settings.full_grid.desc":"Toon pixel-precies blokrooster","settings.large_box":"Groottelimiet Box","settings.large_box.desc":"Toon groottelimiet grenzen","settings.display_grid":"Weergavemodus","settings.display_grid.desc":"Toon rooster in weergavemodus","settings.undo_limit":"Ongedaan maken Limiet","settings.undo_limit.desc":"Aantal stappen dat je ongedaan kan maken","settings.local_move":"Beweeg op Relatieve Assen","settings.local_move.desc":"Beweeg gedraaide elementen op hun eigen assen indien mogelijk","settings.canvas_unselect":"Canvas Klik Deselecteer","settings.canvas_unselect.desc":"Deselecteerd alle elementen wanneer er op de canvas achtergrond wordt geklikt","settings.paint_side_restrict":"Beperk Kwast tot Vlak","settings.paint_side_restrict.desc":"Beperk Kwast om enkel op het huidige vlak te tekenen","settings.autouv":"Auto UV","settings.autouv.desc":"Pas Auto UV standaard toe","settings.create_rename":"Geef Nieuwe Kubus Een Naam","settings.create_rename.desc":"Focus naam veld bij het cre\xEBren van een nieuw element of groep","settings.edit_size":"Rooster Resolutie","settings.edit_size.desc":"Resolutie van het rooster waar kubussen naartoe snappen","settings.shift_size":"Shift Resolutie","settings.shift_size.desc":"Resolutie van het rooster waneer je shift inhoudt","settings.ctrl_size":"Control Resolutie","settings.ctrl_size.desc":"Resolutie van het rooster waneer je control inhoudt","settings.negative_size":"Negatieve Grootte","settings.negative_size.desc":"Toestaan om negatieve grootte te gebruiken","settings.minifiedout":"Geminimaliseerde Export","settings.minifiedout.desc":"Schrijf JSON bestand op een lijn","settings.export_groups":"Exporteer Groepen","settings.export_groups.desc":"Sla groepen op in blokmodel bestanden","settings.credit":"Credit Opmerking","settings.credit.desc":"Voeg een credit opmerking toe aan ge\xEBxporteerde bestanden","settings.default_path":"Standaard Minecraft Texturen Pad","settings.default_path.desc":"Map waarvan Blockbench de standaard texturen laadt","settings.image_editor":"Afbeelding Bewerker","settings.image_editor.desc":"Standaard afbeelding verwerker om textures mee te bewerken","category.navigate":"Navigatie","category.tools":"Gereedschap","category.file":"Bestand","category.blockbench":"Blockbench","category.edit":"Bewerk","category.transform":"Transformeren","category.view":"Bekijken","category.display":"Tentoonstel instellingen","category.textures":"Texturen","category.misc":"Overig","keybind.preview_select":"Selecteer","keybind.preview_rotate":"Beeld draaien","keybind.preview_drag":"Zicht verplaatsen","keybind.confirm":"Bevestig","keybind.cancel":"Annuleer","action.slider_inflate":"Opblazen","action.slider_inflate.desc":"Kubussen alle kanten op opblazen zonder de UV te veranderen","action.slider_brush_size":"Grootte","action.slider_brush_size.desc":"Straal van de kwast in pixels","action.slider_brush_opacity":"Doorzichtigheid","action.slider_brush_opacity.desc":"Doorzichtigheid van de kwast van 0 tot 255","action.slider_brush_softness":"Zachtheid","action.slider_brush_softness.desc":"Zacheid van de kwast in %","action.uv_slider_pos_x":"Beweeg Horizontaal","action.uv_slider_pos_x.desc":"Verplaats alle geselecteerde UV vlakken horizontaal","action.uv_slider_pos_y":"Beweeg Verticaal","action.uv_slider_pos_y.desc":"Verplaats alle geselecteerde UV vlakken verticaal","action.uv_slider_size_x":"Herschaal Horizontaal","action.uv_slider_size_x.desc":"Herschaal alle geselecteerde UV vlakken horizontaal","action.uv_slider_size_y":"Herschaal Verticaal","action.uv_slider_size_y.desc":"Herschaal alle geselecteerde UV vlakken verticaal","action.vertex_snap_mode":"Snap Mode","action.vertex_snap_mode.desc":"Selecteer of Vertex Snap elementen verplaatst of herschaalt naar de geselecteerde positie","action.move_tool":"Verplaatsen","action.move_tool.desc":"Gereedschap om elementen te selecteren en te verplaatsen","action.resize_tool":"Formaat veranderen","action.resize_tool.desc":"Gereedschap om elementen te selecteren en te vergrootten","action.brush_tool":"Verfkwast","action.brush_tool.desc":"Gereedschap om te tekenen op texturen","action.vertex_snap_tool":"Vertex Snap","action.vertex_snap_tool.desc":"Beweeg een kubus naar een ander kubus door twee hoeken te verbinden","action.swap_tools":"Verwissel Gereedschap","action.swap_tools.desc":"Verwissel verplaats en vergroot gereedschap","action.project_window":"Project...","action.project_window.desc":"Opend het project scherm, waar de metadata van je model kan wijzigen","action.open_model":"Open Model","action.open_model.desc":"Open een model bestand op je computer","action.extrude_texture":"Ge\xEBxtrudeerde textuur","action.extrude_texture.desc":"Genereer een model door een textuur uit te rekken","action.export_blockmodel":"Exporteer Blockmodel","action.export_blockmodel.desc":"Exporteer Minecraft blok of item model","action.export_optifine_part":"Exporteer OptiFine JPM","action.export_optifine_part.desc":"Exporteer een entity deel model voor OptiFine","action.export_optifine_full":"Exporteer OptiFine JEM","action.export_optifine_full.desc":"Exporteer een volledig OptiFine entity model","action.export_obj":"Exporteer OBJ Model","action.export_obj.desc":"Exporteer een Wavefront OBJ model voor rendering","action.settings_window":"Instellingen...","action.settings_window.desc":"Open het Blockbench instellingen venster","action.plugins_window":"Plugins...","action.plugins_window.desc":"Open het plugin venster","action.reset_layout":"Herstel Lay-out","action.reset_layout.desc":"Herstel de lay-out naar Blockbench's standaard","action.load_plugin":"Laad Plugin uit Bestand","action.load_plugin.desc":"Laad een plugin door het bronbestand te importeren","action.reload_plugins":"Herlaad Plugins","action.reload_plugins.desc":"Herlaadt alle development plugins.","action.undo":"Ongedaan Maken","action.undo.desc":"Maakt de laatste verandering ongedaan","action.redo":"Herhalen","action.redo.desc":"Herhaalt de laatste ongedaanmaking","action.copy":"Kopi\xEBren","action.copy.desc":"Kopieer de geselecteerde selectie, vlak of weergave-instelling","action.paste":"Plakken","action.paste.desc":"Plak de geselecteerde selectie, vlak of weergave-instelling","action.cut":"Knippen","action.cut.desc":"Knip de geselecteerde selectie, vlak of weergave-instelling","action.add_cube":"Voeg Kubus Toe","action.add_cube.desc":"Voegt een nieuwe kubus toe","action.add_group":"Nieuwe Groep","action.add_group.desc":"Voegt een nieuwe groep of been toe","action.outliner_toggle":"Meer Opties","action.outliner_toggle.desc":"Zet knoppen voor meer opties in de omlijner aan/uit","action.duplicate":"Dupliceren","action.delete":"Verwijderen","action.sort_outliner":"Omlijning Sorteren","action.sort_outliner.desc":"Sorteer de omlijning alfabetisch","action.select_window":"Selecteer...","action.select_window.desc":"Zoek en selecteer kubussen op basis van hun eigenschappen","action.invert_selection":"Selectie Omkeren","action.invert_selection.desc":"Keer de selectie van kubussen om","action.select_all":"Alles Selecteren","action.collapse_groups":"Groepen Samenvouwen","action.collapse_groups.desc":"Vouw alle groepen in de omlijning samen","action.scale":"Schalen...","action.scale.desc":"Schaal de geselecteerde kubussen","action.toggle_visibility":"Zet Zichtbaarheid Aan/Uit","action.toggle_visibility.desc":"Zet de zichtbaarheid van de geselecteerde kubussen aan/uit","action.toggle_export":"Zet Export Aan/Uit","action.toggle_export.desc":"Zet de expoteer instellingen van de geselecteerde kubusen aan/uit.","action.toggle_autouv":"Zet Auto UV Aan/Uit","action.toggle_autouv.desc":"Zet de auto UV setting van de geselecteerde kubusen aan/uit.","action.toggle_shade":"Zet Shading Aan/Uit","action.toggle_shade.desc":"Zet de shading van de geselecteerde kubussen aan/uit.","action.rename":"Een Andere Naam Geven","action.rename.desc":"Wijzig de naam van de geselecteerde kubussen","action.add_display_preset":"Nieuwe Preset","action.add_display_preset.desc":"Voeg een nieuwe weergave preset toe","action.fullscreen":"Volledig Scherm","action.fullscreen.desc":"Zet volledig scherm modus aan/uit.","action.zoom_in":"Zoom In","action.zoom_in.desc":"Zoom in om de interface te vergrootten","action.zoom_out":"Zoom Uit","action.zoom_out.desc":"Zoom uit om de interface the verkleinen","action.zoom_reset":"Herstel Zoom","action.zoom_reset.desc":"Herstel zoom tot de standaard 100%","action.reset_interface":"Herstel Interface","action.reset_interface.desc":"Herstel grootte en positie van de GUI","action.screenshot_model":"Screenshot Model","action.screenshot_model.desc":"Neem een screenshot van het model vanuit het huidige standpunt","action.screenshot_app":"Screenshot App","action.screenshot_app.desc":"Neem een screenshot van de hele applicatie","action.import_texture":"Textuur Importeren","action.import_texture.desc":"Importeer een of meerdere texturen van je bestandssysteem","action.create_texture":"Maak Textuur Aan","action.create_texture.desc":"Maak een nieuwe textuur of sjabloon aan","action.save_textures":"Texturen Opslaan","action.save_textures.desc":"Sla alle niet-opgeslagen texturen op","action.animated_textures":"Start Geanimeerde Texturen","action.animated_textures.desc":"Start en pauzeer de weergave van geanimeerde texturen","action.origin_to_geometry":"Centreer Draaipunt","action.origin_to_geometry.desc":"Zet het draaipunt naar het midden van de geometrie","action.bone_reset_toggle":"Herstel bot","action.bone_reset_toggle.desc":"Stop het bot van de kubussen van de ouder te laten zien ","action.reload":"Herlaad Blockbench","action.reload.desc":"Herstart Blockbench. Alle niet-opgeslagen veranderingen zullen verloren gaan.","menu.file":"Bestand","menu.edit":"Bewerken","menu.transform":"Transformeren","menu.display":"Weergave","menu.view":"Beeld","menu.file.new":"Nieuw","menu.file.recent":"Recente","menu.file.import":"Importeren","menu.file.export":"Exporteren","menu.transform.rotate":"Draaien","menu.transform.flip":"Omdraaien","menu.transform.center":"Centreren","menu.transform.properties":"Eigenschappen","menu.display.preset":"Pas Preset Toe","menu.display.preset_all":"Pas Preset Overal Toe","menu.display.remove_preset":"Verwijder Preset","menu.view.zoom":"Zoom","menu.view.background":"Achtergrond","menu.view.screenshot":"Schermafbeelding","menu.cube.color":"Markeerkleur","menu.cube.texture":"Afbeelding","menu.cube.texture.transparent":"Transparant","menu.cube.texture.blank":"Leeg","menu.group.sort":"Sorteren","menu.texture.face":"Pas Toe op Vlak","menu.texture.file":"Bestand","menu.texture.refresh":"Ververs","menu.texture.change":"Wijzig Bestand","menu.texture.folder":"Open in Map","menu.texture.edit":"Wijzigen","menu.texture.export":"Opslaan Als","menu.texture.save":"Opslaan","menu.texture.properties":"Eigenschappen","menu.preview.background":"Achtergrond","menu.preview.background.load":"Laden","menu.preview.background.position":"Positie","menu.preview.background.lock":"Vastzetten Op De Camera","menu.preview.screenshot":"Schermafbeelding","menu.preview.perspective":"Perspectief","menu.preview.perspective.normal":"Normaal","menu.preview.quadview":"Vierdelige Weergave","menu.preview.stop_drag":"Stop Achtergrong Positionering","menu.uv.mapping.rotation":"Rotatie","menu.uv.texture":"Afbeelding","cube.color.light_blue":"Lichtblauw","cube.color.yellow":"Geel","cube.color.orange":"Oranje","cube.color.red":"Rood","cube.color.purple":"Paars","cube.color.blue":"Blauw","cube.color.green":"Groen","cube.color.lime":"Lichtgroen","switches.visibility":"Zichtbaarheid","switches.export":"Exporteer","switches.autouv":"Auto UV","panel.uv":"UV","panel.display":"Toning","panel.textures":"Afbeeldingen","panel.outliner":"Omlijning","uv_editor.title":"UV Bewerker","uv_editor.all_faces":"Alle","uv_editor.no_faces":"Geen","face.north":"Noord","face.south":"Zuid","face.west":"West","face.east":"Oost","face.up":"Boven","face.down":"Onder","direction.north":"Noord","direction.south":"Zuid","direction.west":"West","direction.east":"Oost","direction.top":"Bovenkant","direction.bottom":"Onderkant","display.slot.third_right":"Derde Persoon Rechts","display.slot.third_left":"Derde Persoon Links","display.slot.first_right":"Eerste Persoon Rechts","display.slot.first_left":"Eerste Persoon Links","display.slot.head":"Hoofd","display.slot.ground":"Grond","display.slot.frame":"Voorwerplijst","display.slot.gui":"GUI","display.rotation":"Rotatie","display.translation":"Translatie","display.scale":"Schaal","display.slot":"Slot","display.reference":"Verwijs Naar Model","display.reference.player":"Speler","display.reference.zombie":"Zombie","display.reference.armor_stand":"Armor Stand","display.reference.baby_zombie":"Baby Zombie","display.reference.armor_stand_small":"Small Armor Stand","display.reference.monitor":"Normaal","display.reference.bow":"Boog","display.reference.block":"Blok","display.reference.frame":"Item Frame","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Inventaris","display.reference.hud":"HUD","display.preset.blank_name":"Vul een naam in a.u.b.","display.preset.item":"Standaard Item","display.preset.block":"Standaard Blok","display.preset.handheld":"Standaard Wapen","display.preset.rod":"Standaard Rod","dialog.continue":"Doorgaan","message.square_textures":"Texturen moeten vierkant zijn","message.unsaved_texture.title":"Niet Opgeslagen Textuur","message.unsaved_texture.message":"Alle niet opgeslagen veranderingen van deze textuur zullen verloren gaan. Wil je doorgaan?","action.vertex_snap_mode.move":"Beweeg","action.vertex_snap_mode.scale":"Schaal","action.open_model_folder":"Open Model Map","action.open_model_folder.desc":"Opend de map waar het model in zit","action.change_textures_folder":"Verander Textuur Locatie","action.change_textures_folder.desc":"Verander de map waar alle texturen zijn opgeslagen","menu.texture.particle":"Gebruik voor Deeltjes","message.update_notification.title":"Er is een update van Blockbench beschikbaar.","message.update_notification.message":"Blockbench versie %0 is uit. Wil je deze nu installeren?","message.untextured":"Dit vlak heeft geen textuur","dialog.toolbar_edit.title":"Aangepast Gereedschap","keybindings.reset":"Reset","keybindings.clear":"Leeg","action.cube_counter":"Blok teller","action.uv_rotation":"UV Rotatie","action.uv_rotation.desc":"Rotatie van het UV vlak","action.uv_grid":"UV Rooster","action.uv_grid.desc":"De resolutie van het rooster waarnaar de UV selector snapt","action.uv_grid.auto":"Automatisch","action.uv_maximize":"Maximaliseer UV","action.uv_maximize.desc":"Stelt de UV voor dit vlak in op de hele textuur","action.uv_auto":"Auto UV","action.uv_auto.desc":"Stelt de UV grootte voor dit vlak in op de werkelijke grootte van het vlak","action.uv_rel_auto":"Rel. Auto UV","action.uv_rel_auto.desc":"Verandert de positie van de UV van dit vlak naar de positie en grootte van het werkelijke vlak","action.uv_mirror_x":"UV Spiegelen X","action.uv_mirror_x.desc":"Spiegelt de UV van dit vlak op de X as","action.uv_mirror_y":"UV spiegel Y","action.uv_mirror_y.desc":"Spiegelt de UV van dit vlak op de Y as","action.uv_transparent":"Verwijder Vlak","action.uv_transparent.desc":"Verwijdert het huidige vlak","action.uv_reset":"Reset Vlak","action.uv_reset.desc":"Reset het huidige vlak","action.cullface":"Cullface","action.cullface.desc":"Verbergt dit vlK wanneer de geselecteerde zijkant van dit model is bedekt","action.auto_cullface":"Auto Cullface","action.auto_cullface.desc":"Verandert de cullface voor dit vlak naar zichzelf","action.face_tint":"Tint","action.face_tint.desc":"Zet de tint optie voor het huidige vlak aan","menu.toolbar.edit":"Aanpassen","menu.toolbar.reset":"Resetten","uv_editor.rotated":"Geroteerd","uv_editor.auto_cull":"Cullface Naar Zichzelf","uv_editor.copied":"Vlak Gekopieerd","uv_editor.pasted":"Vlak Geplakt","uv_editor.copied_x":"%0 Vlakken Gekopieerd","uv_editor.reset":"Herstel Vlak","uv_editor.maximized":"Gemaximaliseerd","uv_editor.autouv":"Auto Grootte","uv_editor.mirrored":"Gespiegeld","uv_editor.to_all":"Toegepast Op Alle Vlakken","uv_editor.transparent":"Doorzichtig Gemaakt","uv_editor.cullface_on":"Cullface Aan","uv_editor.cullface_off":"Cullface Uit","uv_editor.tint_on":"Tint Aan","uv_editor.tint_off":"Tint Uit","action.uv_apply_all":"Pas Toe Op Alle Vlakken","action.uv_apply_all.desc":"Past de huidige instelling toe op alle vlakken","message.image_editor_missing.title":"Standaard Afbeelding Editor","message.image_editor_missing.message":"Selecteer het executeerbare bestand van je afbeeldingsbewerker.","message.image_editor_missing.detail":"Blockbench kon geen afbeelding editor vinden op jouw computer. Selecteer het executeerbare bestand van jouw gewenste afbeeldingsbewerker.","action.update_autouv":"Update Auto UV","action.update_autouv.desc":"Update de auto UV van de geselecteerde","category.uv":"UV","status_bar.saved":"Model is opgeslagen","status_bar.unsaved":"Er zijn onopgeslagen veranderingen","action.move_up":"Beweeg omhoog","action.move_up.desc":"Beweeg de geselecteerde kubussen omhoog in opzicht van de huidige camerahoek","action.move_down":"Beweeg naar beneden","action.move_down.desc":"Beweeg de geselecteerde kubussen naar beneden ten opzichte van de huidige camerahoek","action.move_left":"Beweeg Naar Links","action.move_left.desc":"Beweeg de geselecteerde kubussen naar links ten opzichte van de huidige camera hoek","action.move_right":"Beweeg Naar Rechts","action.move_right.desc":"Beweeg de geselecteerde kubussen naar rechts ten opzichte van de huidige camera hoek","action.move_forth":"Beweeg naar voren","action.move_forth.desc":"Beweeg de geselecteerde kubussen naar voren ten opzichte van de huidige camera hoek","action.move_back":"Beweeg naar achteren","action.move_back.desc":"Beweeg de geselecteerde kubussen naar achteren ten opzichte van de huidige camera hoek","layout.color.wireframe":"Wireframe","layout.color.wireframe.desc":"Wireframe bekijk lijnen","action.add_animation":"Voeg Animatie Toe","action.add_animation.desc":"Maak een blanco animatie","action.load_animation_file":"Import Animatie","action.load_animation_file.desc":"Import een animatie bestand","action.play_animation":"Speel Animaties","action.play_animation.desc":"Voorvertoning de geselecteerde animatie","action.slider_keyframe_time":"Tijdcode","action.slider_keyframe_time.desc":"Verander de tijdcode van de geselecteerde keyframes","timeline.rotation":"Rotatie","timeline.position":"Positie","timeline.scale":"Schaal","menu.keyframe.quaternion":"Quaternion","panel.animations":"Animaties","panel.keyframe":"Keyframe","panel.keyframe.type":"Keyframe (%0)","generic.delete":"Verwijder","generic.rename":"Hernoem","message.no_animation_selected":"Je moet een animatie selecteren om dit te doen","message.no_bone_selected":"Je moet een bot selecteren om dit te doen","message.duplicate_groups.title":"Bot Naam Dupliceren","message.duplicate_groups.message":"De naam van dit bot bestaat op meerdere botten. Dit kan voor problemen zorgen.","action.delete_keyframes":"Verwijder Keyframes","action.delete_keyframes.desc":"Verwijder alle geselecteerde keyframes","menu.animation":"Animatie","menu.animation.loop":"Herhaal","menu.animation.override":"Overschrijf","menu.animation.anim_time_update":"Update Nummer","message.display_skin_model.title":"Skin Model","message.display_skin_model.message":"Kies je type skin","message.display_skin_model.classic":"Klassiek (steve)","message.display_skin_model.slim":"Slim (alex)","message.bone_material":"Verander materiaal","action.slider_animation_length":"Animatie Lengte","action.slider_animation_length.desc":"Verander de lengte van de geselecteerde animatie","panel.variable_placeholders":"Variabele Plaatshouder","panel.variable_placeholders.info":"Maak een lijst van de variabele s die je vooraf wil zien via naam=waarde","status_bar.vertex_distance":"Afstand: %0","dialog.create_gif.title":"Neem GIF Op","dialog.create_gif.length":"Tijdsduur","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Start Animatie","category.animation":"Animatie","action.record_model_gif":"Neem GIF Op","action.record_model_gif.desc":"Neem een geanimeerde GIF op van het model van de huidige hoek","display.mirror":"Spiegel","data.separator":"Scheidingsteken","menu.preview.background.set_position":"Stel Positie In","dialog.toolbar_edit.hidden":"Verborgen","action.export_class_entity":"Exporteer Java Editie Entiteit","action.export_class_entity.desc":"Exporteer het entity model als een Java klasse","settings.seethrough_outline":"X-Ray Buitenlijnen","settings.seethrough_outline.desc":"Laat buitenlijnen door voorwerpen heen zien","mode.edit":"Bewerk","mode.paint":"Verf","mode.display":"Positie","mode.animate":"Animeer","status_bar.recording_gif":"Opnemen GIF","status_bar.processing_gif":"Verwerken GIF","settings.backup_retain":"Backup Ophalen Duratie","settings.backup_retain.desc":"Stel in hoe lang Blockbench oude updates ophaalt in dagen","action.rotate_tool":"Roteer","action.rotate_tool.desc":"Gereedschap om elementen te selecteren en te draaien","action.fill_tool":"Verf Emmer","action.fill_tool.desc":"Verf emmer om hele vlakken met een kleur te bedekken","action.eraser":"Gum","action.eraser.desc":"Gum gereedschap om kleuren op texturen met transparantie te vervangen","action.color_picker":"Kleur Pipet","action.color_picker.desc":"Gereedschap om de kleur van de pixels op je textuur te selecteren","switches.mirror":"Spiegel UV",language_name:"Nederlands","message.plugin_reload":"%0 lokale plugins herlaadden","settings.brightness":"Helderheid","settings.brightness.desc":"Helderheid van de voorvertoning. Standaard is 50","menu.preview.perspective.reset":"Herstel Camera","action.fill_mode":"Vul Modus","action.fill_mode.face":"Vlak","action.fill_mode.color":"Kleur","action.toggle_mirror_uv":"Spiegel UV","action.toggle_mirror_uv.desc":"Zet de UV spiegeling op de X as van de geselecteerde kubus aan/uit","menu.texture.blank":"Breng aan op Ongetextuurde Vlakken","dialog.scale.select_overflow":"Selecteer Overflow","action.action_control":"Actie Controle","action.action_control.desc":"Zoek en voer elke beschikbare actie uit","keybindings.recording":"Neem Toetsbinding Op","keybindings.press":"Druk op een knop of een combinatie van knoppen of klik ergens op het scherm om toetsbinding op te nemen","action.pivot_tool":"Draai Gereedschap","action.pivot_tool.desc":"Gereedschap om het Draaipunt van de kubussen en botten te veranderen","action.slider_animation_speed":"Terugspeelsnelheid","action.slider_animation_speed.desc":"Terugspeelsnelheid van de tijdlijn in percent","action.previous_keyframe":"Vorige Keyframe","action.previous_keyframe.desc":"Spring naar de vorige keyframe","action.next_keyframe":"Volgende Keyframe","action.next_keyframe.desc":"Spring naar de volgende Keyframe","message.outdated_client.title":"Verouderde client","message.outdated_client.message":"Alstublieft update naar de laatste versie van Blockbench om dit te doen","action.export_asset_archive":"Download Archief","action.export_asset_archive.desc":"Download een archief met model en alle texturen erin","action.upload_sketchfab":"Sketchfab Upload","message.sketchfab.name_or_token":"Alstublieft vul uw Sketchfab token en een naam in","dialog.sketchfab_uploader.title":"Upload Sketchfab Model","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"De token is gebruikt om Blockbench met u Sketchfab account te verbinden. U can het vinden op %0","dialog.sketchfab_uploader.name":"Model Naam","dialog.sketchfab_uploader.description":"Beschrijving","dialog.sketchfab_uploader.tags":"Tags","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"Token om blockbench te autoriseren om te uploaden naar u Sketchfab account","panel.color":"Kleur","data.origin":"Draaipunt","message.sketchfab.success":"Model succesvol ge\xFCpload","message.sketchfab.error":"Gefaald om model up te loaden naar Sketchfab","settings.outliner_colors":"Omlijning Kleuren","settings.outliner_colors.desc":"Laat kubus kleuren in de omlijning zien","action.upload_sketchfab.desc":"Upload je model naar Sketchfab","action.element_colors":"Kubus Kleuren","action.element_colors.desc":"Toon kubus kleuren in de omlijning","texture.error.file":"Bestand niet gevonden","texture.error.parent":"Textuur bestand geleverd door ouder model","message.recover_backup.title":"Haal Model Terug","message.recover_backup.message":"Blockbench was gesloten zonder opslaan. Wil je het model terughalen?","message.invalid_session.title":"Ongeldige Sessie Token","message.invalid_session.message":"De sessie waar je aan probeert toe te treden is verlopen of de token gegeven is ongeldig.","dialog.create_texture.power":"Macht-van-2 Grootte","dialog.create_gif.turn":"Draaitafel Snelheid","action.edit_session":"Bewerk Sessie...","action.edit_session.desc":"Verbind met een bewerk sessie om samen te werken met andere gebruikers","action.reset_keyframe":"Herstel Keyframe","action.reset_keyframe.desc":"Herstel alle waarden van de geselecteerde keyframes","dialog.edit_session.title":"Bewerk Sessie","edit_session.username":"Gebruikersnaam","edit_session.token":"Token","edit_session.about":"Bewerk Sessies kan gebruikt worden om samen te weken met modellen over het internet. Maak een sessie en copi\xEBer de token en verstuur het naar vrienden, die het dan kan gebruiken om toe te treden.","edit_session.join":"Treed Toe Tot Sessie","edit_session.create":"Maak Sessie","edit_session.quit":"Ga Uit Sessie","edit_session.joined":"%0 is toegetreden tot de sessie","edit_session.left":"%0 is uit de sessie gegaan","edit_session.quit_session":"Uit de huidige sessie gegaan","edit_session.status":"Status","edit_session.hosting":"Hosten","edit_session.connected":"Verbonden met een sessie","dialog.sketchfab_uploader.private":"Priv\xE9 (Pro)","dialog.sketchfab_uploader.password":"Password (Pro)","action.uv_select_all":"Selecteer Alles","action.uv_select_all.desc":"Selecteer alle vlakken in het UV dialoog","panel.chat":"Chat","edit_session.welcome":"Welkom bij deze sessie door %0","dialog.yes":"Ja","dialog.no":"Nee","generic.remove":"Verwijder","generic.download":"Download","generic.search":"Zoek","dates.today":"Vandaag","dates.yesterday":"Gisteren","dates.this_week":"Deze week","dates.weeks_ago":"%0 weken geleden","mode.start.new":"Nieuw","mode.start.recent":"Recent","format.free":"Vrij Model","format.free.desc":"Model zonder beperkingen. Voor game engines, rendering etc.","format.java_block":"Java Blok/Item","format.java_block.desc":"Blok model voor Java Editie. Grootte en rotatie zijn gelimiteerd","format.bedrock":"Bedrock Model","format.bedrock.desc":"Model voor Bedrock Editie","format.bedrock_old":"Bedrock Legacy Model","format.bedrock_old.desc":"Voor-1.12 Bedrock Editie entity model","format.modded_entity":"Modded Entity","format.modded_entity.desc":"Entity model voor mods. Kan ge\xEBxporteerd worden als .java class bestanden","format.optifine_entity":"OptiFine Entity","format.optifine_entity.desc":"Custom entity model voor OptiFine","keys.mouse":"Muis Knop %0","message.cleared_blank_faces.title":"Blanke Vlakken","message.cleared_blank_faces.message":"Blockbench heeft %0 kubussen zonder textuur gevonden. Wil je deze elementen verwijderen","message.wireframe.enabled":"Wireframe beeld ingeschakeld","message.wireframe.disabled":"Wireframe beeld uitgeschakeld","dialog.convert_project.title":"Coverteer Project","dialog.create_texture.double_use":"Houd Meer Textuur Gebruik","dialog.model_stats.title":"Model Stats","dialog.model_stats.cubes":"Kubussen","dialog.model_stats.locators":"Locators","dialog.model_stats.groups":"Groepen","dialog.model_stats.vertices":"Vertices","dialog.model_stats.faces":"Vlakken","settings.username":"Gebruikersnaam","settings.username.desc":"Gebruikersnaam voor bewerk sessie","settings.painting_grid":"Verf Grid","settings.painting_grid.desc":"Toon grid op getextuurde kubussen in verf modus","action.convert_project":"Converteer Project","action.convert_project.desc":"Converteerd het huidige project in een project van een ander format","action.close_project":"Sluit Project","action.close_project.desc":"Sluit het huidige open project","action.export_bedrock":"Exporteer Bedrock Geometrie","action.export_bedrock.desc":"Exporteer het model als een Bedrock editie geometrie bestand.","action.save_project":"Sla Project Op","action.save_project.desc":"Slaat het huidige model op als een project bestand","action.save_project_as":"Sla Project Op Als","action.save_project_as.desc":"Slaat het huidige model op als een project bestand op een nieuwe locatie","action.export_over":"Overschrijf Model","action.export_over.desc":"Slaat het model, texturen en animaties op door de bestanden te overschrijven","action.add_locator":"Voeg Locator toe","action.add_locator.desc":"Voegt een nieuwe locator toe om posities van deeltjes, leashes etc. the controleren","action.uv_turn_mapping":"Draai Mapping","action.uv_turn_mapping.desc":"Draai de UV mapping rond met 90 graden","action.remove_blank_faces":"Verwijder Lege Vlakken","action.remove_blank_faces.desc":"Verwijderd alle ongetextuurde vlakken van de selectie","web.download_app":"Download App","uv_editor.turned":"Gedraaide Mapping","display.reference.crossbow":"Kruisboog","dialog.settings.search_results":"Zoek Resultaten","settings.animation_snap":"Animatie Snap","settings.animation_snap.desc":"Snap interval voor keyframes in de animatie tijdlijn in stappen per seconde","action.import_optifine_part":"Importeer OptiFine Onderdeel","action.import_optifine_part.desc":"Importeer een entity deel model voor OptiFine","data.locator":"Locator","mode.start.no_recents":"Geen recent geopende modellen","panel.element":"Element","panel.element.position":"Positie","panel.element.size":"Grootte","panel.element.origin":"Draaipunt","panel.element.rotation":"Rotatie","message.canvas_limit_error.title":"Canvas limiet Error","message.canvas_limit_error.message":"De actie kon niet correct worden uitgevoerd omdat het format het canvas limiteert tot 48 eenheden. Verschuif het draaipunt om dit te voorkomen.","data.effect":"Effect","generic.name":"Naam","settings.recent_projects":"Recent Model Limiet","settings.recent_projects.desc":"Maximale aantal recente modellen om te onthouden","settings.volume":"Volume","settings.volume.desc":"Volume controle voor geluidseffecten in animaties","action.clear_timeline":"Verwijder alles op tijdlijn","action.clear_timeline.desc":"Verwijder alle ongeselecteerde botten van de tijdlijn.","action.select_effect_animator":"Animeer Effecten","action.select_effect_animator.desc":"Opent de tijdlijn om geluid en deeltjes effecten toe te voegen","action.timeline_focus":"Kanaal","action.timeline_focus.desc":"Selecteer de animatie kanalen om op de tijdlijn te laten zien","timeline.particle":"Deeltje","timeline.sound":"Geluid","timeline.effects":"Effecten","data.format":"Formaat","format.optifine_part":"OptiFine Deel","format.optifine_part.desc":"JPM deel voor OptiFine entity modellen","action.reverse_keyframes":"Draai Keyframes Om","action.reverse_keyframes.desc":"Draai de volgorde van de geselecteerde keyframes om","generic.help":"Help","message.removed_faces":"%0 vlakken verwijderd","dialog.sketchfab_uploader.draft":"Draft","action.slider_pos":"Beweeg %0","action.slider_pos.desc":"Beweeg kubussen op de %0 as","action.slider_size":"Grootte %0","action.slider_size.desc":"Herschaal kubussen op de %0 as","action.slider_rotation":"Roteer %0","action.slider_rotation.desc":"Roteer kubussen op de %0 as","action.slider_origin":"Draaipunt %0","action.slider_origin.desc":"Verplaats draaipunt op de %0 as","action.rotate_cw":"Roteer %0 +90","action.rotate_cw.desc":"Roteer de geselecteerde kubussen 90\xB0 om de %0 as","action.rotate_ccw":"Roteer %0 -90","action.rotate_ccw.desc":"Roteer de geselecteerde kubussen -90\xB0 op de %0 as","action.flip":"Draai %0 om","action.flip.desc":"Draai de geselecteerde kubussen om rond de %0 as","action.center":"Centreer %0","action.center.desc":"Centreer de geselecteerde kubussen om de %0 as","action.bring_up_all_animations":"Toon Alle Animaties","panel.bone":"Bot","data.color":"Kleur","generic.export":"Exporteren","generic.none":"Geen","status_bar.recording":"Timelapse Aan Het Opnemen","message.add_to_palette":"Toegevoegd aan palet","message.size_modifiers":"Houd Ctrl of Shift vast om met ","message.timelapse_start":"Timelapse gestart ","message.timelapse_stop":"Timelapse gestopt","message.import_palette.replace_palette":"Vervang oud palet","message.import_palette.threshold":"Voeg Drempel Samen","dialog.timelapse.interval":"Interval (Seconden)","dialog.timelapse.source":"Bron","dialog.timelapse.source.interface":"Deactiveer het grootte limiet voor specifieke model formaten. WARNING: Dit kan ongeldige modellen veroorzaken.","dialog.timelapse.source.locked":"Vastgezette Hoek","dialog.timelapse.destination":"Bestemmingsmap","layout.color.checkerboard":"Dambord","layout.color.checkerboard.desc":"Achtergrond van canvas en UV editor","layout.font.code":"Code Font","layout.css":"Custom CSS","settings.category.paint":"Verf","settings.deactivate_size_limit":"De","settings.deactivate_size_limit.desc":"Deactiveer het grootte limiet voor specifieke model formaten. WAARSCHUWING:Dit kan zorgen voor ongeldige modellen.","settings.brush_opacity_modifier":"Kwast Ondoorzichtigheid Bewerker","settings.brush_opacity_modifier.desc":"Bewerk de kwast ondoorzichtigheid waneer een stylus wordt gebruikt","settings.brush_size_modifier":"Kwast Grootte Bewerker","settings.brush_size_modifier.desc":"Bewerk de kwast grootte wanneer een pen wordt gebruikt","settings.brush_modifier.pressure":"Druk","settings.brush_modifier.tilt":"Tilt","category.color":"Kleur","action.import_theme":"Importeer Thema","action.export_theme":"Exporteer Thema","action.export_theme.desc":"Maak een thema bestand gebaseerd op huidige instellingen","action.slider_color_h":"Tint","action.slider_color_s":"Verzadiging","action.slider_color_v":"Waarde","action.add_to_palette":"Voeg toe aan palet","action.add_to_palette.desc":"Voeg de geselecteerde kleur toe aan het kleurenpalet","action.import_palette":"Importeer palet","action.import_palette.desc":"Een paletbestand importeren","action.export_palette":"Exporteer Palet","action.export_palette.desc":"Exporteer palet als een .GPL bestand","action.generate_palette":"Genereer Palet","action.generate_palette.desc":"Genereer palette van een textuur","action.sort_palette":"Sorteer Palet","action.sort_palette.desc":"Sorteer alle kleuren op het palet op basis van kleur en helderheid","action.timelapse":"Timelapse...","action.timelapse.desc":"Neem een timelapse van u modeleer proces op","action.add_keyframe":"Voeg Keyframe toe","action.add_keyframe.desc":"Voeg Automatisch een keyframe toe. Druk op shift om standaard waarden te forceren","action.bring_up_all_animations.desc":"Brengt alle gemodificeerde animatoren in de tijdlijn","timeline.timeline":"Instructies","menu.palette.load.default":"Standaard","generic.import":"Importeer","settings.brush_modifier.none":"Geen","action.export_entity":"Exporteer Bedrock Entity","action.export_entity.desc":"Voeg het huidige model als een enitity toe aan een mobs.json bestand","settings.highlight_cubes":"Markeer Kubussen","settings.highlight_cubes.desc":"Markeer kubussen waneer je over ze heen beweegt of ze selecteert","action.add_marker":"Stel Markeerder In","action.add_marker.desc":"Stel een tijdlijn markeerder in","timeline.pre_effect_script":"Script","format.skin":"Skin","format.skin.desc":"Wijzig speler en entiteit skins","message.sketchfab.setup_guide":"Wil je leren hoe je modellen moet instellen op Sketchfab? Lees %0","dialog.skin.title":"Maak Skin","dialog.skin.model":"Skin","action.toggle_skin_layer":"Zet Skin Laag Aan/Uit","action.toggle_skin_layer.desc":"Zet de hoed- en klerenlaag van het skin model aan/uit","action.gui_light":"GUI Licht","action.gui_light.desc":"Selecteer de manier waarop het item is belicht in de inventaris","action.gui_light.side":"Zijkant Licht","action.gui_light.front":"Voorkant Licht","action.move_keyframe_back":"Beweeg Keyframes Naar Achteren","action.move_keyframe_forth":"Beweeg Keyframes Naar Voren","menu.help":"Help","menu.help.discord":"Discord Server","menu.help.report_issue":"Rapporteer een probleem","menu.help.plugin_documentation":"Plugin API Documentatie","menu.help.search_action":"Zoek en Voer Actie uit","menu.help.donate":"Doneer","menu.help.about":"Over...","menu.preview.background.clipboard":"Laad van Klembord","dialog.ignore":"Negeer","generic.unset":"Ongezet","message.invalid_builtin_parent.title":"Ongeldige Ingebouwde Ouder","message.invalid_builtin_parent.message":"De link naar het ongeldige ouder model '%0' was verwijderd om een geldig model te exporteren","dialog.resize_texture.fill":"Vul met","dialog.resize_texture.fill.transparent":"Transparant","dialog.resize_texture.fill.color":"Kleur","dialog.resize_texture.fill.repeat":"Herhaal","dialog.scale.element_pivot":"Element Draaipunt","dialog.scale.selection_center":"Selectie Midden","dialog.create_gif.length_mode":"Lengte Modus","dialog.create_gif.length_mode.seconds":"Seconden","dialog.create_gif.length_mode.frames":"Frames","dialog.create_gif.length_mode.animation":"Animatie Lengte","dialog.create_gif.length_mode.turntable":"Draaitafel Rotatie","dialog.save_angle.projection":"Projectie","dialog.save_angle.projection.perspective":"Perspectief","dialog.save_angle.projection.orthographic":"Orthografisch","dialog.sketchfab_uploader.animations":"Animaties","dialog.settings.theme":"Thema","settings.category.interface":"Interface","settings.preview_checkerboard":"Preview Dambord","settings.preview_checkerboard.desc":"Zet de dambord achtergrond achter de voorvertoning aan/uit","settings.uv_checkerboard":"UV Bewerker Dambord","settings.uv_checkerboard.desc":"Zet de dambord achtergrond achter de UV bewerker aan/uit","category.paint":"Verf","action.fill_mode.color_connected":"Verbonden Kleuren","action.draw_shape_type":"Vorm Type","action.draw_shape_type.rectangle":"Rechthoek","action.draw_shape_type.rectangle_h":"Rechthoek (Hol)","action.draw_shape_type.ellipse":"Elipse","action.draw_shape_type.ellipse_h":"Elipse (Hol)","action.draw_shape_type.line":"Lijn","action.mirror_painting":"Spiegel Schilderij","action.mirror_painting.description":"Spiegel je verfstreken naar de andere kant van het model","action.lock_alpha":"Zet Alpha Kanaal Vast","action.lock_alpha.description":"Zet de doorzichtigheid van alle pixels vast","action.draw_shape_tool":"Teken Vorm","action.draw_shape_tool.desc":"Gereedschap om simpele vormen op texturen tekenen","action.export_gltf":"Exporteer Als glTF","action.export_gltf.desc":"Exporteer model en animaties als glTF bestand voor delen en rendering","action.transform_space":"Transformeer Ruimte","action.transform_space.desc":"Standaard transformeer ruimte voor elementen en botten","action.transform_space.global":"Globaal","action.transform_space.local":"Lokaal","action.toggle_camera_projection":"Schakel Camera Projectie","action.toggle_camera_projection.desc":"Schakel de cameraprojectie tussen perspectief en orthografisch","action.load_camera_angle":"Camerahoek: %0","action.load_camera_angle.desc":"Laad de camerahoek '%0'.","action.slider_face_tint":"Tint Index","action.slider_face_tint.desc":"Set de tint index van ","menu.help.quickstart":"Snelstart Assistent","menu.help.developer":"Ontwikkelaar","menu.help.developer.dev_tools":"Open Dev Gereedschap","menu.help.developer.reset_storage":"Fabrieksherstel","menu.help.developer.reset_storage.confirm":"Weet je zeker dat je Blockbench wilt resetten naar de fabrieksinstellingen? Dan worden alle aangepaste instellingen, toetsbindingen en ge\xEFnstalleerde plugins verwijderd.","menu.help.developer.cache_reload":"Cache Herladen","menu.preview.orthographic":"Orthografisch","menu.preview.save_angle":"Bewaar hoek","menu.preview.angle":"Hoeken","menu.preview.angle.initial":"Oorsprongkelijke hoek","menu.preview.maximize":"Maximaliseer","uv_editor.copy_selection":"Kopieer Selectie","uv_editor.paste_selection":"Plak selectie","uv_editor.copy_paste_tool.place":"Plaats","uv_editor.copy_paste_tool.mirror_x":"Spiegel X","uv_editor.copy_paste_tool.mirror_y":"Spiegel Y","uv_editor.copy_paste_tool.rotate":"Draai 90 graden","dialog.project.modded_entity_version":"Exporteer versie","dialog.save_angle.position":"Camera positie","dialog.save_angle.target":"Brandpunt","dialog.skin.pose":"Poseren","layout.color.frame":"Venster Kader","layout.color.frame.desc":"Borduur en titel van het venster","settings.large_grid_size":"Blokrooster grootte","settings.large_grid_size.desc":"Grootte van het blokrooster","action.load_plugin_from_url":"Laad een plugin via een URL","action.load_plugin_from_url.desc":"Laad een plugin van een server door de URL op te geven","action.cube_counter.desc":"Toont het huidig aantal elementen en andere statistieken","action.unlock_everything":"Ontgrendel alles","action.unlock_everything.desc":"Ontgrendel alle groepen en elementen in de omlijning.","action.load_palette":"Palet laden","action.load_palette.desc":"Laad een van de ingebouwde paletvoorinstellingen","action.toggle_locked":"Schakel Vergrendeling","action.toggle_locked.desc":"Schakel of de huidig geselecteerde elementen vergrendeld moeten worden","action.apply_display_preset":"Pas Preset Toe","action.apply_display_preset.desc":"Pas een standaard of aangepaste weergave-instelling toe","action.apply_display_preset.here":"Pas Toe Naar Dit Slot","action.apply_display_preset.everywhere":"Pas Toe Naar Alle Slots","action.resolve_keyframe_expressions":"Keyframe Oplossen","action.resolve_keyframe_expressions.desc":"Lost de wiskundige uitdrukkingen op van de huidig geselecteerde keyframes","action.fold_all_animations":"Vouw Alle Animators In","menu.palette.load.empty":"Leeg","switches.lock":"Sluit","settings.render_sides":"Render Zijkanten","settings.render_sides.desc":"Selecteer welke kant van het object wordt weergegeven","settings.render_sides.auto":"Automatisch","settings.render_sides.front":"Buiten","settings.render_sides.double":"Binnen en Buiten","generic.enable":"Schakel in","generic.disable":"Schakel uit","generic.redacted":"Geredigeerd","dialog.select_texture.import_all":"Importeer alles","dialog.skin.layer_template":"Laag Textuur","about.version.up_to_date":"Up-to-date","about.version.update_available":"Versie %0 is beschikbaar","settings.category.application":"Applicatie","settings.streamer_mode":"Streamer Modus","settings.streamer_mode.desc":"Verbergt gevoelige informatie, zoals recente modellen","settings.automatic_updates":"Automatische Updates","settings.automatic_updates.desc":"Download de nieuwste versies van BlockBench automatisch om up-to-date te blijven","action.rotation_space":"Rotatie Ruimte","action.focus_on_selection":"Centreer Zicht op Selectie","action.focus_on_selection.desc":"Lijn de camera uit naar het midden van de huidige selectie","action.jump_to_timeline_start":"Spring naar Start Animatie","action.jump_to_timeline_end":"Spring naar Einde Animatie","menu.help.updating":"Updaten (%0%)","menu.help.update_failed":"Updaten Gefaald","menu.animation.loop.once":"Speel \xE9\xE9n keer af","menu.animation.loop.hold":"Hou Vast Op Laatste Frame","menu.animation.loop.loop":"Herhalen","interface.streamer_mode_on":"Steamer Modus Ingeschakeld","generic.reset":"Reset","generic.restore":"Herstel","keys.mousewheel":"Muiswiel","message.delete_animation.title":"Verwijder Animatie","message.delete_animation.message":"De animatie is verwijderd uit Blockbench. Wil je de animatie ook verwijderden uit het bestand waarin het is opgeslagen?","message.no_animation_to_import":"Geen animaties om te importeren","dialog.material_instances.title":"Materiaal Instanties","dialog.animation_import.title":"Selecteer animaties om te importeren","dialog.create_texture.padding":"Vulling","settings.fov":"FOV","settings.fov.desc":"Camera gezichtsveld. Standaard is 45","settings.minify_bbmodel":"Geminimaliseerde Projectbestanden","settings.minify_bbmodel.desc":"Schrijf .bbmodel bestanden weg geminimaliseerd tot \xE9\xE9n lijn","action.edit_material_instances":"Wijzig Materiaal Instanties","action.edit_material_instances.desc":"Wijzig de naam van materiaal instanties voor bedrock blok geometrie\xEBn","action.save_all_animations":"Bewaar Alle Animaties","action.save_all_animations.desc":"Bewaar alle momenteel geladen animaties","action.keyframe_interpolation":"Interpolatie","action.keyframe_interpolation.desc":"Selecteer de keyframe interpolatiemodus","action.keyframe_interpolation.linear":"Lineair","action.keyframe_interpolation.catmullrom":"Vloeiend","action.timeline_focus.hide_empty":"Verberg lege kanalen","menu.file.preferences":"Voorkeuren","menu.animation.blend_weight":"Mix Gewicht","menu.animation.save":"Bewaar","menu.animation.properties":"Eigenschappen...","menu.animation.file":"Bestand","menu.animation.snapping":"Snapping","menu.animation.open_location":"Open Bestand Locatie","panel.keyframe.add_data_point":"Voeg Keyframe Datapunt toe","panel.keyframe.remove_data_point":"Verwijder Datapunt","panel.keyframe.pre":"Voor","panel.keyframe.post":"Na","generic.all":"Alle","message.small_face_dimensions.title":"Incompatibele Vlak Dimensies","message.small_face_dimensions.message":"De selectie bevat vlakken die kleiner zijn dan 1 eenheid in \xE9\xE9n richting. Het Box UV mapping systeem beschouwt alle vlakken onder die drempel als 0 pixels breed. De textuur op die vlakken werkt daarom mogelijk niet correct.","message.small_face_dimensions.face_uv":'Het huidige formaat ondersteunt per-vlak UV-maps die kleine vlakafmetingen aankunnen. Ga naar "Bestand" > "Project..." en verander "UV Modus" in "Per-vlak UV".',"dialog.plugins.outdated_client":"Vereist een nieuwere versie van Blockbench","dialog.plugins.outdated_plugin":"Plugin is verouderd en werkt niet voor deze versie van Blockbench","settings.motion_trails":"Bewegingspaden","settings.motion_trails.desc":"Toon bewegingspaden in de animatie-editor","settings.antialiasing":"Anti-aliasing","settings.antialiasing.desc":"Schakel anti-aliasing in de voorvertoning aan/uit. Herstart Blockbench om de wijzigingen aan te brengen","action.timeline_frame_back":"Spring 1 Frame Terug","action.timeline_frame_forth":"Spring 1 Frame Vooruit","panel.bone.ik":"Inverse Kinematica (Experimenteel)","settings.particle_tick_rate":"Deeltje Tikfrequentie","settings.particle_tick_rate.desc":"Tikfrequentie voor deeltjeseffecten in tikken per seconde. Standaard is 30","action.lock_motion_trail":"Vergrendel Beweginspad","action.lock_motion_trail.desc":"Vergrendel het bewegingspad voor de huidig geselecteerde groep","menu.animation_file.unload":"Bestand Lossen","data.null_object":"Leeg Object","status_bar.toggle_sidebar":"Schakel Zijbalk","message.load_plugin_failed.title":"Kon plugin niet laden","message.load_plugin_failed.message":"Zorg ervoor dat de basisbestandsnaam van de plugin overeenkomt met de plugin-ID `%0`, zoals opgegeven in Plugin.register().","dialog.project.uv_mode":"UV Modus","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-vlak UV","dialog.project.texture_size":"Textuurgrootte","dialog.animation_export.title":"Selecter Animaties om te Exporteren","dialog.create_texture.rearrange_uv":"Herschik UV","layout.color.subtle_text":"Subtiele Tekst","layout.color.subtle_text.desc":"Secundaire tekstkleur met minder contrast","settings.interface_scale":"Interface Schaal","settings.interface_scale.desc":"Schaal van de volledige Blockbench interface","settings.background_rendering":"Renderen op de Achtergrond","settings.background_rendering.desc":"Update de voorvertoning zelfs wanneer het venster niet in focus is","settings.ctrl_shift_size":"Control + Shift Resolutie","settings.ctrl_shift_size.desc":"Resolutie van het grid bij indrukken van control en shift","settings.hardware_acceleration":"Hardware Versnelling","settings.hardware_acceleration.desc":"Besteed renderingstaken uit aan de grafische kaart. Herstart Blockbench om de wijzigingen toe te passen","action.explode_skin_model":"Explodeer Skin Model","action.explode_skin_model.desc":"Schakelt een explosieweergave in waarmee u bedekte vlakken kunt bewerken","action.export_minecraft_skin":"Exporteer Minecraft Skin","action.export_minecraft_skin.desc":"Exporteer de Minecraft skin als een PNG textuur","action.add_null_object":"Voeg Leeg Object Toe","action.add_null_object.desc":"Voegt een nieuw leeg object toe","action.animated_texture_frame":"Geanimeerde Textuur Frame","action.animated_texture_frame.desc":"Stel het huidige frame van de geanimeerde textuur in","action.export_animation_file":"Exporteer Animaties...","action.export_animation_file.desc":"Exporteer een selectie van animaties naar een nieuw bestand","action.timeline_graph_editor":"Schakel Grafiek Editor","action.timeline_graph_editor.desc":"Schakelt de tijdlijn tussen grafiekeditorweergave en keyframe-weergave","menu.file.recent.clear":"Wis Recente Bestanden","switches.shade":"Schaduw","generic.share":"Deel","dates.minute":"%0 Minuut","dates.minutes":"%0 Minuten","dates.hour":"%0 Uur","dates.hours":"%0 Uren","dates.day":"%0 Dag","dates.days":"%0 Dagen","dates.week":"%0 Week","dates.weeks":"%0 Weken","dates.year":"%0 Jaar","dates.years":"%0 Jaren","message.installed_plugin":"De plugin %0 is succesvol ge\xEFnstalleerd","message.installed_plugin_fail":"Kon plugin %0 niet installeren","dialog.share_model.title":"Deel Model","dialog.share_model.expire_time":"Vervaltijd","dialog.share_model.failed":"Kon model niet uploaden","action.import_java_block_model":"Voeg Java Blok/Item Model Toe","action.import_java_block_model.desc":"Voeg een Minecraft Java blok/item model uit een json bestand toe aan het huidige model","action.share_model":"Deel...","action.share_model.desc":"Genereer een korte link om uw model te delen","action.import_project":"Importeer Project","action.import_project.desc":"Importeer een ander project uit een .bbmodel-bestand in het huidige project","dialog.toolbar_edit.hidden_tools":"Sommige gereedschappen kunnen verborgen zijn omdat ze niet beschikbaar zijn in de huidige modus, indeling of situatie.","settings.camera_near_plane":"Camera Near Plane","settings.camera_near_plane.desc":"De minimale afstand tot de camera waar objecten worden weergegeven. Hogere waarden verminderen het vechten voor diepte. De standaardwaarde is 1.","mode.start.keymap_preference.desc":"Als u nieuw bent in Blockbench en uit een ander 3D-programma komt, kunt u een toetsenbordindeling selecteren om de overgang te vergemakkelijken. U kunt de toetsenbordindeling of individuele sneltoetsen later wijzigen in de instellingen.","message.load_keymap":"Weet je zeker dat je deze toetsenbordindeling wilt laden? Dit zal je huidige toetsbindingen overschrijven.","message.keymap_loaded":"Toetsenbordindeling geladen","dialog.convert_project.current_format":"Huidig Formaat","dialog.create_texture.rearrange_uv.desc":"Maak een nieuwe UV-indeling om elk vlak zijn eigen plek op de textuur te geven","dialog.create_texture.power.desc":"Beperk de automatische textuurgrootte tot een macht van 2, bijvoorbeeld 64 of 128. Dit is vereist voor sommige renderers","dialog.create_texture.double_use.desc":"Als aan twee elementen al dezelfde UV-ruimte is toegewezen, moet dat zo blijven in de nieuwe map","dialog.create_texture.padding.desc":"Voeg een kleine vulling toe tussen individuele onderdelen van de sjabloon","dialog.create_texture.resolution.desc":"De hoogte en breedte van de textuur","dialog.create_gif.color":"Achtergrond Kleur","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variant","dialog.flip_animation.info":"Tegengestelde botten worden ge\xEFdentificeerd door de sleutelwoorden 'links' en 'rechts' in hun naam.","dialog.export_private_settings.title":"Priv\xE9 Instellingen","dialog.export_private_settings.message":"Uw bestand bevat de volgende priv\xE9 informatie: **%0**. Laat deze waarden weg als u van plan bent het bestand met iemand anders te delen.","dialog.export_private_settings.keep":"Behoud","settings.timecode_frame_number":"Toon Tijdcodes als Framenummers","settings.timecode_frame_number.desc":"Toont fractie-tijdcodes in de tijdlijn als een framenummer in plaats van centiseconden","settings.animation_sample_rate":"Animatie Bemonstering Frequentie","settings.animation_sample_rate.desc":"Bemonsteringsfrequentie in stalen per seconde voor curven die het respectieve formaat niet van nature ondersteunt","keybind.preview_zoom":"Zoom Weergave","action.gradient_tool":"Gradi\xEBnt Gereedschap","action.gradient_tool.desc":"Maak een kleurengradi\xEBnt voor uw textuur","action.import_settings":"Importeer Instellingen","action.import_settings.desc":"Importeer een .bbsettings-bestand","action.export_settings":"Exporteer Instellingen","action.export_settings.desc":"Exporteer Blockbench-voorkeuren naar een .bbsettings-bestand","action.load_keymap":"Laad Toetsenbordindeling","action.load_keymap.default":"Standaard (Trackpad/Muis)","action.load_keymap.mouse":"Standaard (Muis)","action.load_keymap.default.desc":"Standaard Blockbench keybindings, met viewport navigatie controls geoptimaliseerd voor gebruik op laptop trackpads","action.load_keymap.mouse.desc":"Standaard Blockbench toetsbindingen, met viewport navigatie gebonden aan de middelste muisknop","action.load_keymap.blender.desc":"Toetsenbordindeling voor gebruikers die vertrouwd zijn met de bediening van Blender","action.load_keymap.cinema4d.desc":"Toetsenbordindeling voor gebruikers die vertrouwd zijn met de bediening van Cinema 4D","action.load_keymap.maya.desc":"Toetsenbordindeling voor gebruikers die vertrouwd zijn met de bediening van Autodesk Maya","action.import_keymap":"Importeer Toestenbordindeling","action.import_keymap.desc":"Importeer sneltoetsen .bbkeymap-bestand","action.export_keymap":"Exporteer Toetsenbordindeling","action.export_keymap.desc":"Exporteer de huidige sneltoetsen als een .bbkeymap-bestand","action.edit_history":"Bewerking Geschiedenis...","action.edit_history.desc":"Bekijk de bewerkingsgeschiedenis en ongedane/herhaalde stappen","action.group_elements":"Groepeer Elementen","action.group_elements.desc":"Wikkel geselecteerde elementen in een nieuwe groep","action.unfold_groups":"Ontvouw Groepen","action.unfold_groups.desc":"Ontvouw alle groepen in de omlijning","action.edit_bedrock_binding":"Bewerk Binding...","action.edit_bedrock_binding.desc":"Verander aan welk bot de geometrie is gebonden","action.pick_screen_color":"Selecter Kleur op Scherm","action.pick_screen_color.desc":"Kies een kleur van ergens op je scherm","action.view_mode":"Weergave Modus","action.view_mode.desc":"Verander het model naar Weergave Modus","action.view_mode.textured":"Getextureerd","action.view_mode.solid":"Massief","action.view_mode.wireframe":"Wireframe","action.toggle_sidebars":"Schakel Zijbalken","action.toggle_sidebars.desc":"Zijbalken in- of uitschakelen","action.set_animation_end":"Stel Animatie-einde In","action.set_animation_end.desc":"Stel het einde van de geselecteerde animatie in op de huidige tijdlijntijd","action.flip_animation":"Draai Animatie Om","action.flip_animation.desc":"Draait een deel van een animatie om door geselecteerde keyframes te kopi\xEBren naar de andere kant van het model","action.graph_editor_zero_line":"Nullijn Meenemen","action.graph_editor_zero_line.desc":"Of de grafiekeditor altijd de nullijn in de weergave omvat","menu.texture.render_mode":"Rendere Modus","menu.texture.render_mode.emissive":"Emissief","menu.texture.render_mode.layered":"Gelaagd","menu.preview.angle.edit":"Bewerk Hoek","menu.animation.start_delay":"Start Vertraging","menu.animation.loop_delay":"Lus Vertraging","menu.animation.flip_keyframes":"Draai Keyframes Om","menu.mobile_keyboard.disable_all":"Alles Uitschakelen","panel.keyframe.toggle_uniform_scale":"Schakel Uniforme Schaal","camera_angle.common_isometric_right":"Isometrisch Rechts (2:1)","camera_angle.common_isometric_left":"Isometrisch Links (2:1)","camera_angle.true_isometric_right":"Rechts Isometrisch (30\xB0)","camera_angle.true_isometric_left":"Links Isometrisch (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"Update naar Pre-releases","settings.update_to_prereleases.desc":"Automatisch updaten naar Blockbench beta versies om nieuwe functies te testen. Pre-release versies kunnen onstabiel zijn, schakel deze optie niet in als u vertrouwt op Blockbench voor werk of andere belangrijke projecten.","data.separator.spacer":"Afstandhouder","data.separator.linebreak":"Regeleinde","data.setting":"Instelling","generic.select_all":"Selecteer Alles","generic.select_none":"Selecteer Niets","projects.new_tab":"Nieuw Tabblad","projects.close_tab":"Sluit Tabblad","message.invalid_format.title":"Ongeldig Formaat","message.invalid_format.message":"Dit model is gemaakt in het formaat '%0', dat niet beschikbaar is in uw Blockbench-installatie. U heeft waarschijnlijk een specifieke plugin nodig om het correct te openen.","message.invalid_link":"Ongeldige of Verlopen Model Link","message.default_textures.current":"Huidig pad","message.update_after_restart":"De update zal ge\xEFnstalleerd worden na de volgende herstart","message.copy_paste_tool_viewport":"Dit gereedschap kan enkel gebruikt worden in de 2D-editor","dialog.project.shadow_size":"Schaduw Grootte","dialog.find_replace.target":"Doel","dialog.find_replace.target.element_names":"Element Namen","dialog.find_replace.target.group_names":"Groep Namen","dialog.find_replace.target.animation_names":"Animatie Namen","dialog.find_replace.target.keyframe_values":"Keyframe Waardes","dialog.find_replace.find":"Zoek","dialog.find_replace.replace":"Vervang","dialog.find_replace.regex":"Regular Expression","dialog.add_primitive.shape":"Vorm","dialog.add_primitive.shape.circle":"Cirkel","dialog.add_primitive.shape.tube":"Buis","dialog.add_primitive.shape.cone":"Kegel","dialog.add_primitive.shape.cylinder":"Cilinder","dialog.add_primitive.shape.sphere":"Bol","dialog.add_primitive.shape.torus":"Torus","dialog.add_primitive.shape.cube":"Kubusvormig","dialog.add_primitive.shape.pyramid":"Pyramide","dialog.add_primitive.diameter":"Diameter","dialog.add_primitive.height":"Hoogte","dialog.add_primitive.sides":"Zijkanten","dialog.add_primitive.minor_diameter":"Dikte","dialog.add_primitive.minor_sides":"Kleine Kanten","dialog.create_texture.combine_polys":"Combineer Eilanden","dialog.create_texture.combine_polys.desc":"Vlakken combineren tot verbonden UV-eilanden","dialog.model_stats.meshes":"Meshes","dialog.export_private_settings.omit":"Laat Weg","layout.select":"Selecteer","layout.options":"Opties","layout.color":"Kleur Schema","layout.documentation":"Documentatie","layout.color.bright_ui_text":"Heldere UI Tekst","layout.color.bright_ui_text.desc":"Tekst op heldere achtergronden","layout.name":"Naam","layout.author":"Auteur","settings.dialog.desc":'Toon het "%0" dialoog',"settings.export_empty_groups":"Exporteer Lege Groepen","settings.export_empty_groups.desc":"Lege groepen in ge\xEBxporteerde bestanden opnemen","category.separators":"Scheiders","keybind.preview_area_select":"Selecteer Gebied","action.color_erase_mode":"Wis Modus","action.color_erase_mode.desc":"Als de wismodus is ingeschakeld, trekken gereedschappen als Vullen en Rechthoek kleuren af in plaats van ze toe te voegen","action.open_from_link":"Open Model via Link...","action.open_from_link.desc":"Open een model via een blckbn.ch URL","action.import_obj":"Importeer OBJ Model","action.import_obj.desc":"Importeert objecten uit een OBJ-model als meshes","action.add_plugin":"Installeer Plugin","action.add_plugin.desc":"Installeer een plugin via Action Control","action.remove_plugin":"Verwijder Plugin","action.remove_plugin.desc":"Verwijder een plugin via Action Control","action.add_mesh":"Voeg Mesh Toe","action.add_mesh.desc":"Voegt een nieuwe mesh toe","action.add_texture_mesh":"Voeg Texture Mesh Toe","action.add_texture_mesh.desc":"Voegt een nieuwe texture mesh toe","action.find_replace":"Zoek/Vervang...","action.find_replace.desc":"Zoek en vervang delen van namen","action.hide_everything_except_selection":"Verberg Alles Behalve Selectie","action.hide_everything_except_selection.desc":"Schakel zichtbaarheid van alle elementen, behalve de huidig geselecteerden","action.transform_space.normal":"Normaal","action.selection_mode":"Selectie Modus","action.selection_mode.desc":"Verander hoe elementen geselecteerd kunnen worden in de viewport","action.selection_mode.object":"Object","action.selection_mode.face":"Vlak","action.selection_mode.vertex":"Vertex","action.create_face":"Maak Vlak of Rand","action.create_face.desc":"Maakt een nieuw vlak of rand tussen de geselecteerde vertices","action.convert_to_mesh":"Converteer naar Mesh","action.convert_to_mesh.desc":"Converteer de geselecteerde elementen in meshes","action.invert_face":"Inverteer Vlak","action.invert_face.desc":"Inverteer de geselecteerde vlakken zodat ze in de tegenovergestelde richting wijzen","action.extrude_mesh_selection":"Extrudeer Selectie","action.extrude_mesh_selection.desc":"Extrudeer de geselecteerde onderdelen van de mesh","action.loop_cut":"Lus Snede","action.loop_cut.desc":"Splits de mesh in een lus over de geselecteerde rand","action.merge_meshes":"Meshes Samenvoegen","action.merge_meshes.desc":"Voeg verschillende meshes samen tot \xE9\xE9n mesh","action.keyframe_uniform":"Uniforme Schaling","action.keyframe_uniform.desc":"Schakel uniforme schaling in op de geselecteerde keyframes","menu.locator.ignore_inherited_scale":"Negeer Overge\xEBrfde Schaal","menu.texture.elements":"Pas Toe op Elementen","uv_editor.transparent_face":"Transparant Vlak","display.pose_angle":"Poseerhoek (Enkel in Voorvertoning)","data.mesh":"Mesh","dialog.create_texture.type":"Type","dialog.create_texture.type.blank":"Leeg","dialog.create_texture.type.template":"Textuur Sjabloon","dialog.create_texture.type.color_map":"Effen Kleur Sjabloon","dialog.sketchfab_uploader.suggested_tags":"Voorgestelde Labels","dialog.sketchfab_uploader.category":"Categorie","dialog.sketchfab_uploader.category2":"Categorie 2","layout.restore_backup":'Uw aangepaste thema "%0" is overschreven. Klik hier om het te herstellen.',"layout.borders":"Randen","action.fill_mode.element":"Element","action.inset_mesh_selection":"Inzet Selectie","action.inset_mesh_selection.desc":"De geselecteerde delen van de mesh inbedden","action.dissolve_edges":"Los Randen Op","action.dissolve_edges.desc":"Geselecteerde randen in een mesh oplossen en de vlakken die ze verdelen samenvoegen","action.split_mesh":"Splits Mesh","action.split_mesh.desc":"Splits de geselecteerde vlakken van de mesh in een nieuwe mesh","action.merge_vertices":"Vertices Samenvoegen","action.merge_vertices.desc":"De geselecteerde vertices samenvoegen op de positie van de eerste geselecteerde vertex","action.view_mode.normal":"Ori\xEBntatie Vlak","action.snap_uv_to_pixels":"Snap UV naar Pixels","action.snap_uv_to_pixels.desc":"Snapt de geselecteerde UV vertices naar het pixel grid","menu.file.import.import_open_project":"Importeer Open Project","menu.help.unlock_projects":"Ontgrendel Alle Projecten","status_bar.selection.faces":"%0 Vlakken","status_bar.selection.vertices":"%0 Vertices","message.merged_vertices":"%0 vertices in %1 locatie(s) gevonden en samengevoegd","settings.vertex_merge_distance":"Vertex Samenvoeg Afstand","settings.vertex_merge_distance.desc":"Afstand waarbinnen vertices worden samengevoegd met behulp van samenvoegen op afstand","settings.show_only_selected_uv":"Toon Enkel Geselecteerde UVs","settings.show_only_selected_uv.desc":"Toont standaard alleen de geselecteerde UV vlakken in de UV-editor","action.merge_vertices.merge_all":"Voeg Alles Samen","action.merge_vertices.merge_all_in_center":"Voeg Alles Samen in Centrum","action.merge_vertices.merge_by_distance":"Voeg Samen volgens Afstand","action.merge_vertices.merge_by_distance_in_center":"Voeg Samen volgens Afstand in Midden","action.uv_rotate_left":"Draai UV Links","action.uv_rotate_left.desc":"Draai het geselecteerde UV vlak tegen de klok in","action.uv_rotate_right":"Draai UV Rechts","action.uv_rotate_right.desc":"Draai het geselecteerde UV vlak met de klok mee","menu.uv.display_uv":"Toon UV","menu.uv.display_uv.selected_faces":"Geselecteerde Vlakken","menu.uv.display_uv.selected_elements":"Alle Vlakken","menu.uv.display_uv.all_elements":"Alle Vlakken op Alle Elementen","menu.paste.face":"UV Vlak","menu.paste.mesh_selection":"Mesh Selectie","menu.paste.outliner":"Elementen","uv_editor.show_all_faces":"Toon Alle Vlakken","uv_editor.show_selected_faces":"Toon Geselecteerde Vlakken","status_bar.selection.edges":"%0 Randen","action.selection_mode.edge":"Rand","message.cannot_re_import.title":"Model kan niet opnieuw ge\xEFmporteerd worden","message.cannot_re_import.message":"Het ge\xEBxporteerde modelformaat kan niet opnieuw in Blockbench worden ge\xEFmporteerd. Zorg ervoor dat u uw model opslaat als een projectbestand.","generic.default":"Standaard","units.pixels_per_meter":"%0 Pixels per Meter","mode.pose":"Houding","modifier_actions.resize_both_sides":"Herschaal in beide richtingen","modifier_actions.resize_one_side":"Herschaal in \xE9\xE9n richting","modifier_actions.draw_line":"Teken lijn","modifier_actions.drag_without_snapping":"Sleep zonder snapping","modifier_actions.stretch_keyframes":"Rek keyframes","modifier_actions.resize_background":"Herschaal achtergrond","modifier_actions.select_multiple":"Select meerderen","modifier_actions.select_range":"Select bereik","modifier_actions.drag_to_duplicate":"Sleep om te dupliceren","modifier_actions.uniform_scaling":"Uniforme Schaling","modifier_actions.snap_direction":"Snap Richting","message.no_valid_elements":"Geen geldige elementen geselecteerd...","dialog.add_primitive.shape.plane":"Vlak","dialog.save_angle.rotation_mode":"Rotatie Modus","dialog.save_angle.rotation":"Rotatie","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"Tabbladbalk Automatisch Verbergen","settings.hide_tab_bar.desc":"Verberg de tabbladbalk wanneer slechts \xE9\xE9n tabblad geopend is","settings.status_bar_modifier_keys":"Wijzigingstoetsen in de statusbalk voorstellen","settings.status_bar_modifier_keys.desc":"Contextbewuste voorgestelde toetsen in de statusbalk weergeven","settings.ground_plane":"Grondvlak","settings.ground_plane.desc":"Toon een vloervlak onder het model","settings.preview_paste_behavior":"Standaard Voorbeeld Plakgedrag","settings.preview_paste_behavior.desc":"Selecteer het gedrag bij het plakken van iets in het voorbeeld in de bewerkingsmodus en er zijn meerdere opties beschikbaar","settings.preview_paste_behavior.always_ask":"Altijd Vragen","action.new_window":"Nieuw Venster","action.new_window.desc":"Opent een nieuw Blockbench venster","action.export_collada":"Exporteer Collada Model (dae)","action.export_collada.desc":"Exporteer modellen en animaties als .dae-bestand voor gebruik in andere 3D-applicaties","action.paint_mode_uv_overlay":"UV Overlay","action.paint_mode_uv_overlay.desc":"De UV-map weergeven als een overlay in verfmodus","action.bake_animation_into_model":"Bak Animatie in Model","action.bake_animation_into_model.desc":"Bak het huidig weergegeven animatieframe in het model. Past alleen rotatie en positie toe, schaal wordt genegeerd.","action.keyframe_interpolation.step":"Stap","action.set_ik_target":"Stel IK Doel In","action.set_ik_target.desc":"Selecteer het doelbot dat door dit leeg object moet worden verplaatst via Inverse Kinematica","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"Camera Hoek","menu.action_control.recent_in_streamer_mode":"Zeker weten? Streamer Modus is ingeschakeld","menu.action_control.recent_in_streamer_mode.desc":"Bent u zeker dat u recente modellen wilt weergeven?","menu.tools":"Gereedschappen","menu.file.recent.more":"Meer Bekijken...","menu.null_object.lock_ik_target_rotation":"Vergrendel Rotatie van IK Doel","menu.animation_file.import_remaining":"Importeer Resterend van Bestand","edit.loop_cut.offset":"Offset","edit.extrude_mesh_selection.extend":"Breid Uit","cube.color.pink":"Roze","cube.color.silver":"Zilver","dialog.plugins.offline":"Geen internetverbinding","dialog.create_texture.pixel_density":"Pixel Dichtheid","dialog.create_texture.pixel_density.desc":"De pixeldichtheid van de textuur, in pixels per meter. De grootte van de textuur map kan verschillen, afhankelijk van het aantal en de grootte van de elementen.","panel.skin_pose":"Houding","panel.skin_pose.none":"Geen","panel.skin_pose.natural":"Natuurlijk","panel.skin_pose.walking":"Stappen","panel.skin_pose.crouching":"Hurken","panel.skin_pose.sitting":"Zitten","panel.skin_pose.jumping":"Springen","panel.skin_pose.aiming":"Richten","edit.loop_cut.direction":"Richting","data.texture_mesh":"Textuur Mesh","generic.left":"Links","generic.right":"Rechts","mode.start.quick_setup":"Snelle Opstart","mode.start.keymap":"Toetsenbordindeling","mode.start.quick_setup.more_themes":"Meer...","dialog.resize_texture.animation_frames":"Animatie Frames","dialog.export_emission_map.title":"Exporteer Emissie-map","dialog.export_emission_map.format":"Formaat","dialog.export_emission_map.format.luminance":"Lichtsterkte","dialog.export_emission_map.format.luminance_inverted":"Lichtsterkte Ge\xEFnverteerd","dialog.export_emission_map.format.colors":"Kleuren","dialog.export_emission_map.threshold":"Transparantie Drempel","dialog.export_emission_map.round_up":"Rond af op %0 x %1","dialog.export_emission_map.flip_y":"Draai de Y-As Om","dialog.select.type":"Element Type","dialog.create_texture.max_edge_angle":"Randhoek Drempel","dialog.create_texture.max_edge_angle.desc":"De maximale hoek tussen twee vlakken waarbij ze nog steeds worden gecombineerd","dialog.create_texture.max_island_angle":"Eilandhoek Drempel","dialog.create_texture.max_island_angle.desc":"De maximale hoek die in hetzelfde UV-eiland kan worden gecombineerd","settings.mobile_panel_side":"Mobieltje Paneelzijde","settings.mobile_panel_side.desc":"Selecteer aan welke kant van het scherm panelen worden weergegeven bij gebruik van Blockbench in landschapsori\xEBntatie","settings.obj_face_export_mode":"OBJ Face Export Modus","settings.obj_face_export_mode.desc":"Kies of the OBJ exporteur alle vlakken moeten omzetten in drie- of vierhoeken","settings.obj_face_export_mode.both":"Standaard","settings.obj_face_export_mode.tris":"Converteer naar Driehoeken","settings.obj_face_export_mode.quads":"Converteer naar Vierhoeken","action.seam_tool":"Naad Gereedschap","action.seam_tool.desc":"Gereedschap om de UV naad te defini\xEBren op mesh randen","action.resolve_group":"Los Groep op","action.resolve_group.desc":"Los de groep op, maar behoud de plaats van de kinderen","action.move_to_group":"Verplaats naar Groep","action.move_to_group.desc":"Verplaats alle geselecteerde elementen naar een andere omlijning groep","action.select_seam":"Selecteer UV Naad","action.select_seam.desc":"Selecteer de UV naad modus voor de geselecteerde randen","action.select_seam.auto":"Auto","action.select_seam.join":"Voeg Samen","action.select_seam.divide":"Verdeel","action.adjust_brightness_contrast":"Pas Helderheid & Contrast Aan...","action.adjust_brightness_contrast.desc":"De helderheid en het contrast van de geselecteerde textuur aanpassen","action.adjust_saturation_hue":"Pas Verzadiging en Tint Aan...","action.adjust_saturation_hue.desc":"De verzadiging en tint van de geselecteerde textuur aanpassen","action.invert_colors":"Inverteer Kleuren","action.invert_colors.desc":"Inverteer alle kleuren van de geselecteerde textuur","action.adjust_curves":"Pas Curves Aan...","action.adjust_curves.desc":"Pas de helderheidscurves van de geselecteerde textuur aan","action.flip_texture_x":"Draai Textuur Horizontaal Om","action.flip_texture_y":"Draai Textuur Verticaal Om","action.resize_texture":"Herschaal Textuur...","action.view_mode.uv":"UV Voorvertoning","action.append_to_template":"Voeg Elementen Toe aan Sjabloon...","action.append_to_template.desc":"Voegt de huidig geselecteerde elementen toe aan de textuur sjabloon","action.move_texture_with_uv":"Textuur verplaatsen met UV","action.move_texture_with_uv.desc":"Verplaats de textuur van het vlak mee bij het verslepen van UV-vlakken","action.timeline_setups":"Tijdlijn Instellingen","action.save_timeline_setup":"Tijdlijn Instellingen Opslaan...","action.save_timeline_setup.desc":"Sla een preset op voor de momenteel geselecteerde animatoren en kanalen","menu.texture":"Textuur","menu.texture.render_mode.default":"Standaard","menu.texture.merge_onto_texture":"Samenvoegen op Textuur Hierboven","menu.animation.unload":"Lossen","panel.timeline":"Tijdlijn","action.pan_tool":"Pan Gereedschap","action.pan_tool.desc":"Gereedschap om te navigeren in de viewport en textuur-editor","mode.start.recent.favorite":"Markeer als Favoriet","mode.start.info":"Info","mode.start.target":"Doel","mode.start.start":"Start","mode.start.create_new":"Maak Nieuw Model","mode.start.format.informations":"Goed om weten:","mode.start.format.resources":"Hulpbronnen:","format.free.info.meshes":"In dit formaat kan u low-poly modellen maken met kubussen en aangepaste meshes.","format.free.info.limitation":"Modellen kunnen niet worden geladen in spellen die speciale formaten nodig hebben, zoals Minecraft.","format.skin.info.skin":"Dit formaat is ontworpen om Minecraft-skins en entiteittexturen te maken.","format.skin.info.model":"Het model kan niet worden gewijzigd. Om wijzigingen in het model aan te brengen, moet u eerst converteren naar een ander formaat via **Bestand** > **Converteer Project**.","format.java_block.info.rotation":"De rotaties zijn beperkt tot stappen van 22.5 graden en \xE9\xE9n as per element","format.java_block.info.size":"Het model is beperkt tot een grootte van 3 bij 3 bij 3 blokken. Weergave-instellingen kunnen itemmodellen echter groter maken","format.java_block.info.animation":"Dit formaat ondersteunt geen animaties in vanilla Minecraft. Als u een mod maakt, kan u GeckoLib gebruiken om modellen te animeren. Zo niet, dan is de enige manier om te animeren het model uit te wisselen met commando's of geanimeerde texturen.","format.bedrock.info.textures":"Elk model kan slechts \xE9\xE9n textuur hebben","format.bedrock_block":"Bedrock Blok","format.bedrock_block.desc":"Blokmodel voor Minecraft Bedrock Editie","format.modded_entity.info.integer_size":"De grootte van de individuele kubussen is beperkt tot gehele getallen.","format.modded_entity.info.format":"Modellen worden geschreven in Java-code in plaats van specifieke gegevensstructuren zoals alle andere Blockbench-exportformaten.","format.optifine_entity.info.optifine_required":"Gebruikers zonder OptiFine zien het model niet.","format.optifine_entity.info.pivots":"De botscharnieren zijn vergrendeld, dus het is een goed idee ze ongemoeid te laten.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Andere","format_category.loaders":"Laders","message.recover_backup.recover":"Herstel","message.invalid_characters.title":"Ongeldig Pad","message.invalid_characters.message":"Het pad van het ge\xEFmporteerde bestand bevat ongeldige tekens, hoofdletters of witte spaties. De ondersteunde tekens zijn: %0","dialog.share_model.thumbnail":"Miniatuur","dialog.skin.high_res_texture":"Houd er rekening mee dat skins met de geselecteerde resolutie niet werken als gewone Minecraft-skins. Selecteer een lagere resolutie.","settings.allow_display_slot_mirror":"Spiegeling van Weergaveslot Toestaan","settings.allow_display_slot_mirror.desc":"Toestaan \u200B\u200Bdat weergaveslots voor modellen van Java-items worden gespiegeld. WAARSCHUWING: dit werkt alleen in Minecraft 1.14 of eerder, of in speciale gevallen.","action.switch_tabs":"Schakel tussen Tabbladen","action.switch_tabs.desc":"Schakel tussen geopende tabbladen. Houd shift ingedrukt om in de tegenovergestelde richting te fietsen.","action.unselect_all":"Alles Deselecteren","action.save_palette":"Sla Palet Op...","action.save_palette.desc":"Bewaar het huidige kleurenpalet in Blockbench voor later gebruik","action.keyframe_column_create":"Maak Keyframe Kolom","action.keyframe_column_create.desc":"Toets alle kanalen in de tijdlijn in op de huidige tijdcode, als ze al keyframes hebben","action.keyframe_column_select":"Selecteer Keyframe Kolom","action.keyframe_column_select.desc":"Selecteer alle hoofdframes in de tijdlijn langs een kolom onder de afspeelkop","menu.uv":"UV","menu.keyframe":"Keyframe","menu.palette.load.update":"Update Palet","menu.palette.load.update.desc":"Werkt dit palet bij met de kleuren van het huidige Blockbench-palet","menu.timeline_marker.set_time":"Stel Tijd In...","uv_editor.scale_uv":"Schaal UV","action.preview_scene":"Toon Scene","action.preview_scene.desc":"Wijzig de voorbeeldsc\xE8ne van het model","preview_scene.minecraft_overworld":"Minecraft Overworld","preview_scene.minecraft_nether":"Minecraft Nether","preview_scene.minecraft_end":"Minecraft End","dialog.project.modded_entity_flip_y":"Draai de Y-As Om","preview_scene.studio":"Studio","format.image":"Afbeelding","modifier_actions.set_copy_source":"Kopieerbron Instellen","message.load_images.title":"Laad Afbeeldingen","message.load_images.edit_image":"Pas Afbeelding Aan","dialog.add_primitive.align_edges":"Randen Uitlijnen","dialog.flip_animation.show_in_timeline":"Toon gewijzigde botten in tijdlijn","settings.default_cube_size":"Kubus Grootte","settings.default_cube_size.desc":"Stel de standaard grootte in van een nieuwe kubus","settings.uniform_keyframe":"Uniforme Schaal Keyframes","settings.uniform_keyframe.desc":"Stel schaal hoofdframes standaard in op uniform schalen","settings.nearest_rectangle_select":"Rechthoekselectie: Dichtstbijzijnde rand","settings.nearest_rectangle_select.desc":"Snap rechthoekige selecties naar de dichtstbijzijnde pixelrand, zoals in GIMP, in plaats van hele pixels.","settings.pick_color_opacity":"Kies Ondoorzichtigheid","settings.pick_color_opacity.desc":"Kies de ondoorzichtigheid met de Kleur Pipet en stel deze in als penseeldekking","settings.paint_with_stylus_only":"Verf Alleen met Stylus","settings.paint_with_stylus_only.desc":"Gebruik de stylus alleen om te schilderen, reserveer muis- of aanraakinvoer voor navigatie.","action.copy_brush_mode":"Kopieer Kwast Modus","action.copy_brush_mode.copy":"Kopieer","action.copy_brush_mode.pattern":"Patroon","action.copy_brush_mode.sample":"Sample","action.brush_shape":"Kwast Vorm","action.brush_shape.square":"Vierkant","action.brush_shape.circle":"Cirkel","action.blend_mode":"Meng Modus","action.blend_mode.default":"Standaard","action.blend_mode.set_opacity":"Stel Ondoorzichtigheid In","action.blend_mode.color":"Kleur","action.blend_mode.behind":"Achter","action.blend_mode.multiply":"Vermenigvuldig","action.blend_mode.divide":"Deel door","action.blend_mode.add":"Voeg Toe","action.blend_mode.subtract":"Trek Af","action.blend_mode.screen":"Scherm","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Hard Licht","action.blend_mode.difference":"Verschil","action.copy_brush":"Kopieer Kwast","action.copy_brush.desc":"Kwast om delen van je textuur te klonen of patronen te tekenen. Houd Ctrl ingedrukt en klik om een kopieerbron te selecteren.","action.validator_window":"Toon Problemen met Model...","action.validator_window.desc":"Opent de validator, die problemen met het huidige model opsomt.","action.cancel_gif":"Annuleer GIF","menu.text_edit.copy_vector":"Kopieer Vector","menu.brush_presets.dialog":"Kwast Presets...","menu.brush_presets.pixel_brush":"Pixel Kwast","menu.brush_presets.smooth_brush":"Vloeiende Kwast","menu.texture.edit_in_blockbench":"Wijzig in Blockbench","menu.mirror_painting.axis":"As","menu.mirror_painting.axis.desc":"Selecteer langs welke as verfstroken gespiegeld zullen worden","menu.mirror_painting.global":"Globale Symmetrie","menu.mirror_painting.global.desc":"Spiegelschilderen op het model in de globale ruimte ingeschakeld","menu.mirror_painting.local":"Lokale Symmetrie","menu.mirror_painting.local.desc":"Spiegelschilderen in de lokale ruimte voor elk element mogelijk maken","menu.mirror_painting.texture_frames":"Herhaal op Geanimeerde Textuur Kaders","menu.mirror_painting.texture_frames.desc":"Verfstreken spiegelen aan elk frame van geanimeerde texturen","format.bedrock_block.info.size_limit":"De totale grootte van een blok is beperkt tot 30 pixels in alle dimensies. De grens kan in alle richtingen 7 pixels van het midden van het blok verwijderd zijn.","format.bedrock_block.info.textures":"Meerdere texturen kunnen worden toegepast op verschillende kubussen in Blockbench, maar vereisen extra instellingen in het behavior pack om correct te werken in het spel.","format.image.desc":"Bewerk afbeeldingen in de 2D-beeldeditor","generic.delete_all":"Verwijder Alles","message.child_model_only.open":"Open Ouder","message.child_model_only.open_with_textures":"Open Ouder en Adopteer Texturen","dialog.project.credit":"Credit","dialog.convert_project.create_copy":"Maak Kopie","dialog.texture.frame_time":"Frame Tijd","dialog.texture.frame_time.desc":"Stel in hoe lang elk frame zichtbaar is, in tikken. Elke tik is 1/20ste van een seconde.","dialog.texture.frame_interpolate":"Interpoleer","dialog.texture.frame_interpolate.desc":"Interpoleer tussen animatieframes door cross-fading naar het volgende frame","dialog.texture.frame_order_type":"Herhaal Modus","dialog.texture.frame_order_type.loop":"Herhaal","dialog.texture.frame_order_type.backwards":"Herhaal Achterstevoren","dialog.texture.frame_order_type.back_and_forth":"Heen-en-Weer","dialog.texture.frame_order_type.custom":"Aangepaste Volgorde","dialog.texture.frame_order":"Frame Volgorde","dialog.texture.frame_order.desc":"Stel een aangepaste framevolgorde in door frame-indexen in een nieuwe volgorde weer te geven. Frame-indexen beginnen bij 0 bij het eerste frame.","dialog.select.mode":"Modus","dialog.select.mode.new":"Nieuwe Selectie","dialog.select.mode.add":"Voeg toe aan Selectie","dialog.select.mode.remove":"Verwijder uit Selectie","dialog.select.mode.in_selection":"Selecteer enkel uit Selectie","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Voorgangers","dialog.predicate_overrides.variants":"Varianten","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Voeg Overschrijving Toe","dialog.predicate_overrides.add_predicate":"Voeg Voorganger Toe","dialog.predicate_overrides.generate_overrides":"Genereer Overschrijvingen","dialog.predicate_overrides.confirm_delete":"Bent u zeker dat u alle overschrijvingen wilt verwijderen?","dialog.predicate_overrides.predicate.angle":"Kompashoek","dialog.predicate_overrides.predicate.blocking":"Blokkeert","dialog.predicate_overrides.predicate.broken":"Is Gebroken","dialog.predicate_overrides.predicate.cast":"Is Gecast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Schade","dialog.predicate_overrides.predicate.damaged":"Is Beschadigd","dialog.predicate_overrides.predicate.lefthanded":"Is Linkshandig","dialog.predicate_overrides.predicate.pull":"Trek Hoeveelheid","dialog.predicate_overrides.predicate.pulling":"Trekt","dialog.predicate_overrides.predicate.charged":"Is Geladen","dialog.predicate_overrides.predicate.firework":"Heeft Vuurwerk","dialog.predicate_overrides.predicate.throwing":"Klaar om te Gooien","dialog.predicate_overrides.predicate.time":"Tijdstip","dialog.predicate_overrides.predicate.custom_model_data":"Aangepaste Modelgegevens","dialog.predicate_overrides.predicate.level":"Lichtniveau","dialog.predicate_overrides.predicate.filled":"Bundel Vulniveau","dialog.predicate_overrides.predicate.tooting":"Toeteren","settings.model_export_scale":"Model Export Schaal","settings.model_export_scale.desc":"Factor waarmee de schaal van ge\xEBxporteerde glTF-, DAE- en FBX-modellen wordt verkleind. De standaardwaarde is 16, wat 16 Blockbench-eenheden converteert naar 1 meter in de export.","action.export_fbx":"Exporteer FBX Model","action.export_fbx.desc":"Exporteer model en animaties als .fbx-bestand voor gebruik in andere 3D-applicaties en game engines","action.center_lateral":"Centreer Lateraal","action.center_lateral.desc":"Centreer de geselecteerde elementen op de X- en Z-as","action.adjust_opacity":"Pas Ondoorzichtigheid Aan...","action.adjust_opacity.desc":"Pas ondoorzichtigheid aan van de geselecteerde textuur","action.rotate_texture_cw":"Draai Textuur met de Klok Mee","action.rotate_texture_ccw":"Draai Textuur tegen de Klok In","action.predicate_overrides":"Wijzig Voorganger Overschrijvingen...","action.predicate_overrides.desc":"Selecteer modellen om dit model te overschrijven op basis van geselecteerde voorwaarden","action.auto_set_cullfaces":"Stel Cullfaces Automatisch In","action.auto_set_cullfaces.desc":"Automatisch cullfaces genereren om vlakken te verbergen als ze bedekt worden door het naburige blok.","menu.texture.edit_externally":"Extern Bewerken","menu.mirror_painting.texture":"2D Editor Symmetrie","menu.mirror_painting.texture.desc":"Spiegelschilderen in 2D ruimte op de afbeelding of textuur mogelijk maken","menu.animator.rotation_global":"Draaien in Globale Ruimte","uv_editor.face_properties":"Vlak Eigenschappen","uv_editor.face_properties.material_instance":"Materiaal Instanties","uv_editor.tint.info":"Tint kan worden ingeschakeld op een vlak om Minecraft te vertellen het te kleuren. In vanille kan tint alleen worden gebruikt door specifieke blokken zoals bladeren en redstone dust, en kan alleen een waarde van 0 hebben.","uv_editor.cullface.info":"Het inschakelen van cullface vertelt een vlak op een blok om te ontrenden als een ander vol blok ernaast wordt geplaatst in de opgegeven richting in je Minecraft wereld. Dit kan gebruikt worden om de prestaties te optimaliseren.","uv_editor.material_instance.info":"Materiaal instanties kunnen worden ingesteld op een door de gebruiker gedefinieerde naam. Die naam kan worden gebruikt in het JSON-bestand in het gedragspakket om een bepaalde textuur en materiaal aan het gezicht toe te wijzen.","display.reference.frame_invisible":"Item Frame (Onzichtbaar)","data.settings_profile":"Profiel","message.display_skin.invalid_name":'Kan Minecraft-account met de naam "%0" niet vinden.',"dialog.load_plugins_from_query.title":"Laad Plugins","dialog.load_plugins_from_query.text":"U heeft een link gebruikt waarvoor plugins ge\xEFnstalleerd moeten worden. Wilt u ze installeren?","dialog.select_model.title":"Selecteer Model","dialog.select_model.bones":"Botten","dialog.select_model.cubes":"Kubussen","dialog.settings.create_profile":"Maak Profiel...","settings_profile.confirm_delete":"Bent u zeker dat u het geselecteerde profiel wilt verwijderen?","settings_profile.condition.type.selectable":"Manueel Selecteerbaar","settings.interface_mode":"UI Modus","settings.interface_mode.desc":"Interface modus. Herstart Blockbench om de wijzigingen toe te passen","settings.interface_mode.auto":"Automatisch","settings.interface_mode.desktop":"Bureaublad","settings.interface_mode.mobile":"Mobieltje","settings.paint_through_transparency":"Verf Door Transparantie","settings.paint_through_transparency.desc":"Verf door transparante pixels wanneer alfakanaal vergrendelen is ingeschakeld","action.tab_overview":"Tabblad Overzicht","action.tab_overview.desc":"Bekijk alle geopende tabbladen in een raster en spring naar \xE9\xE9n","action.slider_color_red":"Kleur Rood","action.slider_color_green":"Kleur Groen","action.slider_color_blue":"Kleur Blauw","action.add_animation_controller":"Animatie Controller Toevoegen","action.add_animation_controller.desc":"Maak een Lege Animatiecontroller","action.animation_controller_preview_mode":"Controller Voorbeeld","action.animation_controller_preview_mode.paused":"Gepauzeerd","action.animation_controller_preview_mode.manual":"Handmatig Voorbeeld","action.animation_controller_preview_mode.play":"Auto Afspelen","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Koppel B\xE9zier Handgrepen","action.keyframe_bezier_linked.desc":"Verbind de rechter en linker keyframe b\xE9zier-handgreep","action.reset_keyframe_handles":"Reset Keyframe Handgrepen","action.reset_keyframe_handles.desc":"Reset de b\xE9zierhandles van de geselecteerde keyframes","action.looped_animation_playback":"Lus Afspelen","action.looped_animation_playback.desc":"Voorvertoning van animaties in een oneindige lus","timeline.bind_to_actor":"Binden aan Actor","animation_controllers.select_preset":"Selecteer een controller preset...","animation_controllers.state.animations":"Animaties","animation_controllers.state.particles":"Deeltjes","animation_controllers.state.sounds":"Geluiden","animation_controllers.state.on_entry":"Bij Binnenkomen","animation_controllers.state.on_exit":"Bij Weggaan","animation_controllers.state.transitions":"Transities","animation_controllers.state.condition":"Conditie","animation_controllers.state.blend_transition":"Meng Tijd","animation_controllers.state.shortest_path":"Meng via Kortste Pas","animation_controllers.state.edit_transition":"Wijzig Transitie","menu.color_picker.picker_type":"Kiezer Type","menu.color_picker.picker_type.square":"Vierkant","menu.color_picker.picker_type.wheel":"Wiel","menu.color_picker.slider_mode":"Slider Modus","menu.color_picker.slider_mode.hsv":"Tint, Verzadiging, Waarde","menu.color_picker.slider_mode.rgb":"Rood, Groen, Blauw","menu.texture.render_mode.additive":"Additief","panel.color.picker_options":"Kleur Pipet Opties","panel.animation_controllers":"Animatie Controller","display.preset.armor_stand":"Grond (Harnashouder)","data.file_path":"Bestandslocatie","dialog.extrude.orientation":"Ori\xEBntatie","dialog.extrude.orientation.upright":"Rechtop","dialog.extrude.orientation.flat":"Plat","dialog.scale.box_uv_warning":"Het schalen van een Box UV-model kan de UV van uw model breken. Probeer in plaats daarvan uw model extern te schalen, of schakel over op Per-vlak UV Mode in Bestand > Project.","dialog.create_gif.format":"Formaat","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Sequentie","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.bg_image":"Achtergrond Afbeelding","dialog.create_gif.turn.desc":"Draai het model tijdens het opnemen. Gebruik negatieve waarden om het model rechtsom te draaien. Een waarde van 60 komt overeen met \xE9\xE9n rotatie per seconde.","settings_profile.condition":"Voorwaarde","settings_profile.condition.type.file_path.desc":"Gebruik Regular Expression syntax om het bestandspad van het huidige project te matchen. Gebruik schuine streep voor mappen","settings.only_selected_bezier_handles":"Toon Alleen Geselecteerde B\xE9zier Handgrepen","settings.only_selected_bezier_handles.desc":"Handvatten van b\xE9zier-hoofdframes verbergen die momenteel niet zijn geselecteerd","settings.embed_textures":"Sluit Texturen In","settings.embed_textures.desc":"Inhoud van textuurbestanden insluiten in .bbmodel-bestanden","action.selection_mode.cluster":"Kluster","dialog.copied_to_clipboard":"Kopieer naar klembord","data.reference_image":"Referentiebeeld","message.delete_reference_image":"Weet u zeker dat u dit referentiebeeld wilt verwijderen? Dit kan niet ongedaan gemaakt worden.","message.add_reference_image.message":"Selecteer waar u het referentiebeeld wilt laden","message.add_reference_image.project":"Voeg toe aan dit project","message.add_reference_image.app":"Voeg toe aan alle projecten","message.import_particle_texture.import":"Importeer Deeltjestextuur","message.import_particle_texture.message":"Wilt u een textuurbestand importeren om te gebruiken voor uw deeltje?","message.save_codec_selector.title":"Sla Modelformaat Op","message.save_codec_selector.message":"Selecteer een formaat om het model in op te slaan.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"Beiden","message.display_skin.username":"Gebruikersnaam (Java)","message.palette_locked":"Het palet is vergrendeld","dialog.project.default_uv_mode":"Standaard UV Modus","dialog.project.default_uv_mode.description":"Standaard UV-modus van het project. De UV-modus is ook per kubus te wijzigen.","dialog.export_options.title":"Exporteer Opties","dialog.edit_texture.preview":"Voorvertoning","dialog.proportional_editing.range":"Bereik","dialog.proportional_editing.falloff":"Afval","dialog.proportional_editing.falloff.linear":"Lineair","dialog.proportional_editing.falloff.hermite_spline":"Vloeiend","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"Selectie","dialog.proportional_editing.selection.linear":"Lineaire Afstand","dialog.proportional_editing.selection.connections":"Connecties","dialog.mirror_painting_texture_center.middle":"Midden","dialog.mirror_painting_texture_center.custom":"Aangepast","dialog.settings.reset_to_default":"Herstel naar Standaard","keybindings.item.num_slider.increase":"Verhoog","keybindings.item.num_slider.decrease":"Verlaag","settings.always_show_splash_art":"Toon Altijd Splash Art","settings.always_show_splash_art.desc":"Geef de splash-art altijd weer op het startscherm","action.slider_palette_color":"Paletkleur Wisselen","action.slider_palette_color.desc":"Schakel tussen de kleuren in het palet","action.proportional_editing":"Proportioneel Bewerken","action.proportional_editing.desc":"Be\xEFnvloed proportioneel omringende vertices bij het bewerken van delen van een mesh","action.limit_to_palette":"Beperk tot Palet","action.limit_to_palette.desc":"Beperkt de kleuren van de textuur tot die in het huidig \u200B\u200Bgeladen palet","action.edit_reference_images":"Bewerk Referentiebeeld","action.edit_reference_images.desc":"Schakel de referentiebeeldmodus in om referentiebeelden en blauwdrukken toe te voegen of te bewerken","action.add_reference_image":"Voeg Referentiebeeld Toe","action.reference_image_from_clipboard":"Referentiebeeld van klembord","action.reference_image_list":"Referentiebeelden","action.connect_uv_faces":"Verbind UV Vlakken","action.connect_uv_faces.desc":"Verbind de geselecteerde UV-gezichten met het laatst geselecteerde UV-gezicht","action.merge_uv_vertices":"Voeg UV Vertices Samen","action.merge_uv_vertices.desc":"Klik de eerste geselecteerde UV-vertices vast op de laatst geselecteerde UV-vertices","action.bedrock_animation_mode":"Bedrock Animatie Modus","action.bedrock_animation_mode.desc":"Selecteer de modus om animaties voor Minecraft: Bedrock Edition in te bewerken","action.bedrock_animation_mode.entity":"Entiteit","action.bedrock_animation_mode.attachable_first":"Item 1st Person","action.bedrock_animation_mode.attachable_third":"Item 3rd Person","timeline.amplify":"Versterk","menu.options":"Opties...","menu.palette.lock_palette":"Palet Vergrendelen","menu.uv.export":"Exporteer UV Mapping","menu.uv.flip_x":"Spiegel X","menu.uv.flip_y":"Spiegel Y","menu.mirror_painting.enabled":"Ingeschakeld","reference_image.position":"Positie","reference_image.size":"Grootte","reference_image.rotation":"Rotatie","reference_image.opacity":"Ondoorzichtigheid","reference_image.visibility":"Zichtbaarheid","reference_image.clear_mode":"Doorzichtige Modus","reference_image.layer":"Laag","reference_image.layer.background":"Achter Model","reference_image.layer.viewport":"Boven Model","reference_image.layer.float":"Boven Interface","reference_image.scope":"Bereik","reference_image.scope.project":"Enkel dit project","reference_image.scope.global":"Alle projecten","reference_image.enabled_modes":"Ingeschakeld in Modi","codec.common.encoding":"Codering","codec.common.armature":"Exporteer Groepen als Armature","codec.common.export_animations":"Exporteer Animaties","codec.common.embed_textures":"Sluit Texturen In","preview.center_camera":"Centreer Camera","display.reference.frame_top":"Item Frame Bovenkant","display.reference.frame_top_invisible":"Item Frame Bovenkant (Onzichtbaar)","action.proportional_editing_range":"Proportioneel Bewerkingsbereik","action.proportional_editing_range.desc":"Pas het bereik aan voor proportioneel bewerken","action.toggle_all_reference_images":"Toon/Verberg Alle Referentiebeelden","action.toggle_all_reference_images.desc":"Schakel de zichtbaarheid van alle referentiebeelden tegelijk","action.add_animation_controller_state":"Voeg Animatie Controller Toestand Toe","action.add_animation_controller_state.desc":"Voeg een nieuwe toestand toe aan de animatie controller","menu.slider.round_value":"Rond Waarde Af","texture.error.too_large":"Resolutie overschrijdt het maximum van %0","dialog.copy_to_clipboard":"Kopieer naar klembord","dialog.open_url":"Open URL","reference_image.image":"Afbeelding","uv_editor.rotate_uv":"UV Draaien","generic.error":"Fout","projects.start_screen":"Startscherm","message.invalid_link.message":'Het gedeelde model "%0" dat je probeert te laden is verlopen of invalide.',"message.plugin_dependencies.title":"Plugin Afhankelijkheden","message.plugin_dependencies.message1":"De plugin heeft deze afhankelijkheden nodig:","message.plugin_dependencies.message1_update":"Plugin %0 is bijgewerkt en heeft nu deze afhankelijkheden nodig:","message.plugin_dependencies.message2":"Wil je ze installeren om verder te gaan?","message.plugin_dependencies.invalid":"Helaas kan de plugin niet worden ge\xEFnstalleerd, het heeft een ongeldige afhankelijkheid:","message.preview_scene_load_failed":"Niet gelukt om voorbeeld scene te laden. Check je internet verbinding.","dialog.convert_project.text1":"Zet het project om naar een ander formaat.","dialog.convert_project.text2":"Gebruik omzetting op eigen risico. Formaten hebben verschillende functies en beperkingen, omzetten zal dus in sommige gevallen delen van je project breken.","dialog.convert_project.text3":"Je kan omzetten niet ongedaan maken, dat is waarom er standaard een kopie zal worden aangemaakt.","dialog.unsaved_work.title":"Niet-opgeslagen Werk","dialog.unsaved_work.text":"De volgende projecten bevatten niet-opgeslagen veranderingen. Wil je je veranderingen opslaan?","dialog.unsaved_work.discard_all":"Alles Weggooien","dialog.unsaved_work.save_all":"Alles Opslaan","dialog.resize_texture.mode":"Modus","dialog.resize_texture.mode.crop":"Bijsnijden/Vergroten","dialog.resize_texture.mode.scale":"Schaal","dialog.plugins.is_installed":"Ge\xEFnstalleerd","dialog.plugins.is_disabled":"Uitgeschakeld","dialog.plugins.disable":"Uitschakelen","dialog.plugins.enable":"Inschakelen","dialog.plugins.dependencies":"Is afhankelijk van:","dialog.view_backups.open_folder":"Open Folder","dialog.share_model.reference_images":"Referentiebeeld Bijvoegen","dialog.share_model.too_large":"Uploaden is mislukt: Model is te groot","dialog.share_model.too_large_references":"Uploaden is mislukt: Model is te groot. Probeer het zonder referentiebeeld.","settings.stretch_linked":"Link Rekken","settings.stretch_linked.desc":"Rek de kubus uit in alle richtingen met dezelfde waarde","settings.grids":"Toon Rasters","settings.grids.desc":"Toon of verberg alle 3D rasters","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","edit.loop_cut.cuts":"Cuts","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"Transparency Render Order","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"Layer","data.panel":"Panel","generic.confirm_delete":"Are you sure you want to delete this?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Layers","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Crop Texture to Selection","action.create_empty_layer":"Create Empty Layer","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Thickness","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Merge into","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var AL={"dialog.ok":"OK","dialog.cancel":"Anuluj","dialog.confirm":"Potwierd\u017A","dialog.close":"Zamknij","dialog.import":"Importuj","dialog.save":"Zapisz","dialog.discard":"Odrzu\u0107","dialog.dontshowagain":"Nie pokazuj ponownie","data.cube":"Kostka","data.group":"Grupa","data.texture":"Tekstura","data.plugin":"Plugin","data.preview":"Podgl\u0105d","data.toolbar":"Pasek narz\u0119dzi","data.image":"Obraz","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Usu\u0144","keys.space":"Spacja","keys.leftclick":"Lewy przycisk myszy","keys.middleclick":"\u015Arodkowy przycisk myszy","keys.rightclick":"Prawy przycisk myszy","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Num %0","keys.caps":"Capslock","keys.menu":"Menu kontekstowe","keys.left":"Lewo","keys.up":"G\xF3ra","keys.right":"Prawo","keys.down":"D\xF3\u0142","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Plus","keys.comma":"Przecinek","keys.point":"Kropka","keys.minus":"Minus","keys.cross":"Krzy\u017Cyk","keys.end":"Koniec","keys.pos1":"Pozycja 1","keys.printscreen":"Print Screen","keys.pause":"Pauza","message.rotation_limit.title":"Ograniczenia rotacji","message.rotation_limit.message":'Rotacje s\u0105 ograniczone do jednej osi i wielokrotno\u015Bci 22,5 stopni przez Minecraft. Obracanie na innej osi zresetuje obroty na innych osiach. Przekonwertuj model na "Model og\xF3lny" je\u015Bli modelujesz do innych program\xF3w ni\u017C Minecraft i potrzebujesz rozszerzonych opcji rotacji',"message.file_not_found.title":"Nie znaleziono pliku","message.file_not_found.message":"Blockbench nie m\xF3g\u0142 odnale\u017A\u0107 pliku. Upewnij si\u0119 \u017Ce jest zapisany lokalnie, a nie w chmurze.","message.screenshot.title":"Zrzut ekranu","message.screenshot.clipboard":"Schowek","message.screenshot.right_click":"Zrzut ekranu - kliknij prawym przyciskiem myszy aby skopiowa\u0107","message.invalid_file.title":"Nieprawid\u0142owy plik","message.invalid_file.message":"Nie uda\u0142o si\u0119 otworzy\u0107 pliku modelu: %0","message.invalid_model.title":"Nieprawid\u0142owy plik modelu","message.invalid_model.message":"Ten plik nie zawiera prawid\u0142owych danych modelu.","message.child_model_only.title":"Pusty model dziecka","message.child_model_only.message":"Ten plik jest dzieckiem %0 i nie zawiera modelu.","message.unsaved_textures.title":"Niezapisane tekstury","message.unsaved_textures.message":"Tw\xF3j model ma niezapisane tekstury. Zapisz je i wstaw w odpowiedni folder w swoim resource packu.","message.model_clipping.title":"Model zbyt du\u017Cy","message.model_clipping.message":"Tw\xF3j model zawiera %0 kostek, kt\xF3re s\u0105 wi\u0119ksze ni\u017C limit 3x3x3 dozwalany przez Minecraft. Ten model nie b\u0119dzie dzia\u0142a\u0142 w Minecrafcie. W\u0142\u0105cz opcj\u0119 'Ograniczony obszar roboczy' \u017Ceby temu zapobiec.","message.loose_texture.title":"Import tekstur","message.loose_texture.message":"Zaimportowana tekstura nie jest w paczce tekstur. Minecraft mo\u017Ce za\u0142adowa\u0107 tylko tekstury z folderu textures z za\u0142adowanej paczki tekstur.","message.loose_texture.change":"Zmie\u0144 \u015Bcie\u017Ck\u0119","message.update_res.title":"Rozdzielczo\u015B\u0107 tekstury","message.update_res.message":"Czy chcesz zmieni\u0107 rozdzielczo\u015B\u0107 projektu do rozdzielczo\u015Bci tekstury? Kliknij 'Anuluj' je\u017Celi twoja tekstura ma wi\u0119ksz\u0105 rozdzielczo\u015B\u0107 ni\u017C normalnie.","message.update_res.update":"Aktualizuj","message.bedrock_overwrite_error.message":"Blockbench nie mo\u017Ce po\u0142\u0105czy\u0107 tego modelu ze starym plikiem","message.bedrock_overwrite_error.backup_overwrite":"Stw\xF3rz kopi\u0119 zapasow\u0105 i nadpisz","message.bedrock_overwrite_error.overwrite":"Nadpisz","message.close_warning.message":"Czy chcesz zapisa\u0107 sw\xF3j model?","message.close_warning.web":"Twoje niezapisane zmiany zostan\u0105 utracone. Jeste\u015B pewien, \u017Ce chcesz wyj\u015B\u0107?","message.default_textures.title":"Domy\u015Blne tekstury","message.default_textures.message":'Wybierz folder "textures" w domy\u015Blnym resource packu',"message.default_textures.detail":'Wyci\u0105gnij domy\u015Blny resource pack z pliku .jar Minecrafta albo wygoogluj i \u015Bci\u0105gnij go. Potem, znajd\u017A folder "textures" i otw\xF3rz go. Blockbench zapami\u0119ta to miejsce i we\u017Amie stamt\u0105d tekstury, je\u017Celi nie znajdzie ich w aktualnym resource packu.',"message.default_textures.select":'Wybierz domy\u015Blny folder "textures"',"message.image_editor.title":"Wybierz edytor obraz\xF3w","message.image_editor.file":"Wybierz plik...","message.image_editor.exe":"Wybierz .exe edytora obraz\xF3w","message.display_skin.title":"Wy\u015Bwietl sk\xF3rk\u0119","message.display_skin.message":"Wybierz sk\xF3rk\u0119 z komputera lub wpisz nazw\u0119 gracza","message.display_skin.upload":"Prze\u015Blij sk\xF3rk\u0119","message.display_skin.reset":"Resetuj","message.invalid_plugin":"Nieprawid\u0142owy plugin, sprawd\u017A konsol\u0119","message.load_plugin_app":"Czy chcesz zezwoli\u0107 temu pluginowi na dokonywanie zmian na twoim komputerze? U\u017Cywaj tylko plugin\xF3w autor\xF3w, kt\xF3rym ufasz.","message.load_plugin_web":"Czy chcesz za\u0142adowa\u0107 ten plugin? U\u017Cywaj tylko plugin\xF3w os\xF3b, kt\xF3rym ufasz.","message.preset_no_info":"Ten preset nie zawiera informacji dla tego slotu","message.restart_to_update":"Otw\xF3rz Blockbench ponownie by zatwierdzi\u0107 zmiany","message.save_file":"Zapisano jako %0","dialog.project.title":"Projekt","dialog.project.name":"Nazwa pliku","dialog.project.parent":"Model rodzica","dialog.project.geoname":"Identyfikator modelu","dialog.project.ao":"Ambient Occlusion","dialog.texture.title":"Tekstura","dialog.texture.variable":"Zmienna","dialog.texture.namespace":"Przestrze\u0144 nazw","dialog.texture.folder":"Folder","dialog.extrude.title":"Wyt\u0142ocz obrazek","dialog.extrude.mode":"Tryb skanowania","dialog.extrude.mode.areas":"Pola","dialog.extrude.mode.lines":"Linie","dialog.extrude.mode.columns":"Kolumny","dialog.extrude.mode.pixels":"Piksele","dialog.extrude.opacity":"Minimalne krycie","dialog.extrude.scan":"Skanuj i importuj","dialog.display_preset.title":"Stw\xF3rz preset","dialog.display_preset.message":"Wybierz sloty, kt\xF3re chcesz zapisa\u0107","dialog.display_preset.create":"Stw\xF3rz","dialog.select.title":"Wybierz","dialog.select.group":"W zaznaczonej grupie","dialog.select.name":"Nazwa zawiera","dialog.select.random":"Losowy","dialog.select.select":"Wybierz","dialog.scale.title":"Skaluj model","dialog.scale.axis":"O\u015B","dialog.scale.clipping":"Uci\u0119ty model: tw\xF3j model jest zbyt du\u017Cy dla obszaru roboczego","dialog.scale.confirm":"Skala","dialog.plugins.title":"Pluginy","dialog.plugins.installed":"Zainstalowane","dialog.plugins.available":"Dost\u0119pne","dialog.plugins.install":"Zainstaluj","dialog.plugins.uninstall":"Odinstaluj","dialog.plugins.reload":"Prze\u0142aduj","dialog.plugins.none_installed":"Brak zainstalowanych plugin\xF3w","dialog.plugins.none_available":"Brak dost\u0119pnych plugin\xF3w","dialog.plugins.web_only":"Tylko dla wersji przegl\u0105darkowej","dialog.plugins.app_only":"Tylko dla aplikacji komputerowej","dialog.plugins.author":"autorstwa %0","dialog.create_texture.folder":"Folder","dialog.create_texture.resolution":"Rozdzielczo\u015B\u0107","dialog.input.title":"Wstaw","dialog.settings.settings":"Ustawienia","dialog.settings.keybinds":"Klawisze","dialog.settings.about":"O programie","layout.color.back":"Wstecz","layout.color.back.desc":"T\u0142a i pola wpisywania","layout.color.dark":"Ciemny","layout.color.dark.desc":"T\u0142o obszaru roboczego","layout.color.ui":"UI","layout.color.ui.desc":"G\u0142\xF3wny kolor interfejsu","layout.color.bright_ui":"Jasny interfejs","layout.color.bright_ui.desc":"Menu kontekstowe i podpowiedzi","layout.color.button":"Przycisk","layout.color.button.desc":"Przyciski i prze\u0142\u0105czniki","layout.color.selected":"Wybrany","layout.color.selected.desc":"Wybrane zak\u0142adki i obiekty","layout.color.border":"Ramki","layout.color.border.desc":"Ramki przycisk\xF3w i p\xF3l wpisywania","layout.color.accent":"Akcent","layout.color.accent.desc":"Ga\u0142ki prze\u0142\u0105cznik\xF3w i inne detale","layout.color.grid":"Siatka","layout.color.grid.desc":"Siatka podgl\u0105du 3D","layout.color.text":"Tekst","layout.color.text.desc":"Normalny tekst","layout.color.light":"Jasny","layout.color.light.desc":"Zaznaczony tekst","layout.color.accent_text":"Akcent tekstu","layout.color.accent_text.desc":"Tekst na zaakcentowanych elementach","layout.font.main":"G\u0142\xF3wna czcionka","layout.font.headline":"Czcionka nag\u0142\xF3wkowa","about.version":"Wersja:","settings.category.general":"Og\xF3lne","settings.category.preview":"Podgl\u0105d","settings.category.grid":"Siatka","settings.category.edit":"Edytuj","settings.category.snapping":"Przyci\u0105ganie","settings.category.defaults":"Warto\u015Bci domy\u015Blne","settings.category.dialogs":"Okienka dialogowe","settings.category.export":"Eksportuj","settings.language":"J\u0119zyk","settings.language.desc":"J\u0119zyk interfejsu. Otw\xF3rz Blockbench ponownie, \u017Ceby zatwierdzi\u0107 zmiany.","settings.backup_interval":"Interwa\u0142 kopii zapasowych","settings.backup_interval.desc":"Interwa\u0142 tworzenia automatycznych kopii zapasowych, w minutach","settings.origin_size":"Punkt osi","settings.origin_size.desc":"Rozmiar punktu osi","settings.control_size":"Rozmiar kontroli osi","settings.control_size.desc":"Rozmiar narz\u0119dzia do kontroli 3 osi","settings.display_skin":"Wy\u015Bwietlana sk\xF3rka","settings.display_skin.desc":"Sk\xF3rka u\u017Cywana do wy\u015Bwietlenia na referencyjnym modelu gracza","settings.shading":"Cienie","settings.shading.desc":"W\u0142\u0105cz cienie w podgl\u0105dzie","settings.base_grid":"Ma\u0142a siatka","settings.base_grid.desc":"Poka\u017C ma\u0142\u0105 siatk\u0119 i osie","settings.large_grid":"Du\u017Ca siatka","settings.large_grid.desc":"Poka\u017C siatk\u0119 blok\xF3w 3x3","settings.full_grid":"Pe\u0142na du\u017Ca siatka","settings.full_grid.desc":"Poka\u017C precyzyjn\u0105 siatk\u0119 3x3","settings.large_box":"Du\u017Ce pude\u0142ko","settings.large_box.desc":"Poka\u017C granice blok\xF3w 3x3","settings.display_grid":"Tryb wy\u015Bwietlania","settings.display_grid.desc":"Poka\u017C siatk\u0119 w trybie wy\u015Bwietlania","settings.undo_limit":"Limit krok\xF3w wstecz","settings.undo_limit.desc":"Maksymalna liczba krok\xF3w wstecz","settings.local_move":"Przesuwaj na osiach lokalnych","settings.local_move.desc":"Przesuwaj elementy po ich w\u0142asnych osiach, je\u017Celi jest to mo\u017Cliwe","settings.canvas_unselect":"Klikni\u0119cie w obszar roboczy odznacza","settings.canvas_unselect.desc":"Odznacza wszystkie elementy kiedy obszar roboczy jest klikni\u0119ty","settings.paint_side_restrict":"Ogranicz szczotk\u0119 do strony","settings.paint_side_restrict.desc":"Ogranicz dzia\u0142anie szczotek aby tylko malowa\u0107 na aktualnej stronie","settings.autouv":"Automatyczne UV","settings.autouv.desc":"Domy\u015Blnie w\u0142\u0105cz automatyczne UV","settings.create_rename":"Nazwij now\u0105 kostk\u0119","settings.create_rename.desc":"Wpisz nazw\u0119 po stworzeniu nowego elementu lub grupy","settings.edit_size":"Rozdzielczo\u015B\u0107 siatki","settings.edit_size.desc":"Rozdzielczo\u015B\u0107 siatki, do kt\xF3rej przyci\u0105gane s\u0105 kostki","settings.shift_size":"Rozdzielczo\u015B\u0107 shifta","settings.shift_size.desc":"Rozdzielczo\u015B\u0107 siatki gdy trzymany jest shift","settings.ctrl_size":"Rozdzielczo\u015B\u0107 ctrl","settings.ctrl_size.desc":"Rozdzielczo\u015B\u0107 siatki gdy trzymany jest ctrl","settings.negative_size":"Ujemny rozmiar","settings.negative_size.desc":"Pozwalaj narz\u0119dziu skalowania na u\u017Cywanie ujemnych rozmiar\xF3w","settings.minifiedout":"Zminifikowany eksport","settings.minifiedout.desc":"Wypisz plik JSON w jednej linii","settings.export_groups":"Eksportuj grupy w model bloku/itemu Java","settings.export_groups.desc":"Zapisuj grupy w plikach modeli blok\xF3w","settings.credit":"Komentarz uznania","settings.credit.desc":"Dodaj komentarz uznania do eksportowanych plik\xF3w","settings.default_path":"Domy\u015Blna \u015Bcie\u017Cka Minecraft'owych tekstur","settings.default_path.desc":"Folder, z kt\xF3rego Blockbench \u0142aduje domy\u015Blne tekstury","settings.image_editor":"Edytor obraz\xF3w","settings.image_editor.desc":"Domy\u015Blny edytor obraz\xF3w do edytowania tekstur","category.navigate":"Nawigacja","category.tools":"Narz\u0119dzia","category.file":"Plik","category.blockbench":"Blockbench","category.edit":"Edycja","category.transform":"Przesuwanie","category.view":"Widok","category.display":"Ustawienia wygl\u0105du","category.textures":"Tekstury","category.misc":"Inne","keybind.preview_select":"Wybierz","keybind.preview_rotate":"Obr\xF3\u0107 widok","keybind.preview_drag":"Przenie\u015B widok","keybind.confirm":"Potwierd\u017A","keybind.cancel":"Anuluj","action.slider_inflate":"Nadmuchaj","action.slider_inflate.desc":"Nadmuchaj kostki we wszystkich kierunkach, bez zmieniania UV.","action.slider_brush_size":"Wielko\u015B\u0107","action.slider_brush_size.desc":"Promie\u0144 p\u0119dzla w pikselach","action.slider_brush_opacity":"Nieprzezroczysto\u015B\u0107","action.slider_brush_opacity.desc":"Nieprzezroczysto\u015B\u0107 p\u0119dzla w procentach","action.slider_brush_softness":"Mi\u0119kko\u015B\u0107","action.slider_brush_softness.desc":"Mi\u0119kko\u015B\u0107 p\u0119dzla w procentach","action.uv_slider_pos_x":"Przesu\u0144 w poziomie","action.uv_slider_pos_x.desc":"Przesu\u0144 zaznaczenie UV wszystkich zaznaczonych kostek w poziomie","action.uv_slider_pos_y":"Przesu\u0144 w pionie","action.uv_slider_pos_y.desc":"Przesu\u0144 pionowy wyb\xF3r UV wszystkich zaznaczonych kostek","action.uv_slider_size_x":"Skaluj poziomo","action.uv_slider_size_x.desc":"Skaluj zaznaczenie UV wszystkich zaznaczonych kostek w poziomie","action.uv_slider_size_y":"Skaluj w pionie","action.uv_slider_size_y.desc":"Skaluj zaznaczenie UV wszystkich zaznaczonych kostek w pionie","action.vertex_snap_mode":"Tryb przyci\u0105gania","action.vertex_snap_mode.desc":"Wybierz czy przyci\u0105ganie wierzcho\u0142k\xF3w ma przesuwa\u0107 elementy czy zmienia\u0107 ich rozmiar","action.move_tool":"Przesu\u0144","action.move_tool.desc":"Narz\u0119dzie do wybierania i przesuwania element\xF3w","action.resize_tool":"Zmie\u0144 rozmiar","action.resize_tool.desc":"Narz\u0119dzie do wybierania i zmieniania rozmiaru element\xF3w","action.brush_tool":"P\u0119dzel","action.brush_tool.desc":"Narz\u0119dzie do malowania na teksturach bitmapowych na powierzniach lub w edytorze UV.","action.vertex_snap_tool":"Przyci\u0105ganie wierzcho\u0142k\xF3w","action.vertex_snap_tool.desc":"Przesu\u0144 jedn\u0105 kostk\u0119 do innej przez po\u0142\u0105czenie dw\xF3ch wierzcho\u0142k\xF3w.","action.swap_tools":"Prze\u0142\u0105cz narz\u0119dzia","action.swap_tools.desc":"Prze\u0142\u0105cz si\u0119 pomi\u0119dzy narz\u0119dziem przesuwania i zmiany rozmiaru","action.project_window":"Projekt...","action.project_window.desc":"Otwiera okienko projektu, gdzie mo\u017Cesz edytowa\u0107 metadat\u0119 twojego modelu","action.open_model":"Otw\xF3rz model","action.open_model.desc":"Otw\xF3rz plik modelu z komputera","action.extrude_texture":"Wyci\u0105gni\u0119ta tekstura","action.extrude_texture.desc":"Generuj model przez rozci\u0105gni\u0119cie tekstury","action.export_blockmodel":"Eksportuj model bloku/itemu","action.export_blockmodel.desc":"Eksportuj model bloku lub przedmiotu Minecraft Java Edition","action.export_optifine_part":"Eksportuj cz\u0119\u015B\u0107 OptiFine","action.export_optifine_part.desc":"Eksportuj pojedy\u0144cz\u0105 cz\u0119\u015B\u0107 dla modelu bytu OptiFine","action.export_optifine_full":"Eksportuj JEM OptiFine","action.export_optifine_full.desc":"Eksportuj ca\u0142y model bytu OptiFine","action.export_obj":"Eksportuj model OBJ","action.export_obj.desc":"Eksportuj model Wavefront OBJ dla renderowania","action.settings_window":"Ustawienia...","action.settings_window.desc":"Otw\xF3rz okienko ustawie\u0144 Blockbench","action.plugins_window":"Pluginy...","action.plugins_window.desc":"Otw\xF3rz okienko sklepu z pluginami","action.reset_layout":"Resetuj uk\u0142ad","action.reset_layout.desc":"Resetuj uk\u0142ad do domy\u015Blnego w Blockbench","action.load_plugin":"Za\u0142aduj plugin z pliku","action.load_plugin.desc":"Za\u0142aduj plugin z pliku \u017Ar\xF3d\u0142owego","action.reload_plugins":"Prze\u0142aduj pluginy","action.reload_plugins.desc":"Prze\u0142adowuje wszystkie pluginy deweloperskie","action.undo":"Cofnij","action.undo.desc":"Odwraca ostatni\u0105 zmian\u0119","action.redo":"Pon\xF3w","action.redo.desc":"Ponawia ostatnie cofni\u0119cie","action.copy":"Kopiuj","action.copy.desc":"Kopiuj zaznaczenie, \u015Bcian\u0119 lub ustawienia wy\u015Bwietlania","action.paste":"Wklej","action.paste.desc":"Wklej zaznaczenie, \u015Bcian\u0119 lub ustawienia wy\u015Bwietlania","action.cut":"Wytnij","action.cut.desc":"Wytnij zaznaczenie, \u015Bcian\u0119 lub ustawienia wy\u015Bwietlania","action.add_cube":"Dodaj kostk\u0119","action.add_cube.desc":"Dodaje now\u0105 kostk\u0119","action.add_group":"Dodaj grup\u0119","action.add_group.desc":"Dodaje now\u0105 grup\u0119 lub ko\u015B\u0107","action.outliner_toggle":"Prze\u0142\u0105cz wi\u0119cej opcji","action.outliner_toggle.desc":"Pokazuje wi\u0119cej opcji w outlinerze","action.duplicate":"Duplikuj","action.delete":"Usu\u0144","action.sort_outliner":"Sortuj outliner","action.sort_outliner.desc":"Sortuj outliner alfabetycznie","action.select_window":"Wybierz...","action.select_window.desc":"Wyszukaj i wybierz kostki ze wzgl\u0119du na ich w\u0142asno\u015Bci","action.invert_selection":"Odwr\xF3\u0107 zaznaczenie","action.invert_selection.desc":"Odwr\xF3\u0107 aktualnie zaznaczone kostki","action.select_all":"Wybierz wszystko","action.collapse_groups":"Zwi\u0144 grupy","action.collapse_groups.desc":"Zwi\u0144 wszystkie grupy w outlinerze","action.scale":"Skaluj","action.scale.desc":"Skaluj zaznaczone kostki","action.toggle_visibility":"Prze\u0142\u0105cz widoczno\u015B\u0107","action.toggle_visibility.desc":"Prze\u0142\u0105cz widoczno\u015B\u0107 zaznaczonych kostek.","action.toggle_export":"Prze\u0142\u0105cz eksportowanie","action.toggle_export.desc":"Prze\u0142\u0105cz ustawienia eksportowania zaznaczonych kostek.","action.toggle_autouv":"Prze\u0142\u0105cz automatyczne UV","action.toggle_autouv.desc":"Prze\u0142\u0105cz ustawienie automatycznego UV dla zaznaczonych kostek.","action.toggle_shade":"Prze\u0142\u0105cz cienie","action.toggle_shade.desc":"Prze\u0142\u0105cz cienie zaznaczonych kostek","action.rename":"Zmie\u0144 nazw\u0119","action.rename.desc":"Zmie\u0144 nazw\u0119 zaznaczonych kostek.","action.add_display_preset":"Nowy preset","action.add_display_preset.desc":"Dodaj nowy preset ustawie\u0144 widoku","action.fullscreen":"Pe\u0142ny ekran","action.fullscreen.desc":"Prze\u0142\u0105cza tryb pe\u0142nego ekranu.","action.zoom_in":"Przybli\u017C","action.zoom_in.desc":"Przybli\u017C aby powi\u0119kszy\u0107 interfejs.","action.zoom_out":"Oddal","action.zoom_out.desc":"Oddal aby zmniejszy\u0107 interfejs.","action.zoom_reset":"Resetuj powi\u0119kszenie","action.zoom_reset.desc":"Resetuj powi\u0119kszenie do domy\u015Blnych 100%","action.reset_interface":"Resetuj interfejs","action.reset_interface.desc":"Resetuj rozmiar i pozycje GUI","action.screenshot_model":"Zrzut ekranu modelu","action.screenshot_model.desc":"Wykonaj przyci\u0119tyu zrzut ekranu modelu z aktualnego k\u0105ta","action.screenshot_app":"Zrzut ekranu programu","action.screenshot_app.desc":"Wykonaj zrzut ekranu ca\u0142ej aplikacji","action.import_texture":"Importuj tekstur\u0119","action.import_texture.desc":"Zaimportuj jedn\u0105 lub wi\u0119cej tekstur z komputera","action.create_texture":"Stw\xF3rz tekstur\u0119","action.create_texture.desc":"Stw\xF3rz czyst\u0105 tekstur\u0119 lub szablon tekstury","action.save_textures":"Zapisz tekstury","action.save_textures.desc":"Zapisz wszystkie niezapisane tekstury","action.animated_textures":"Odtwarzaj animowane tekstury","action.animated_textures.desc":"Odtwarzaj i pauzuj animowane tekstury","action.origin_to_geometry":"Punkt obrotu do geometrii","action.origin_to_geometry.desc":"Ustal punkt osi w \u015Brodku zaznaczenia","action.bone_reset_toggle":"Resetuj ko\u015B\u0107","action.bone_reset_toggle.desc":"Ko\u015B\u0107 nie b\u0119dzie wy\u015Bwietla\u0107 kostek z modelu rodzica","action.reload":"Prze\u0142aduj Blockbench","action.reload.desc":"Prze\u0142aduj Blockbench. To usunie wszystkie niezapisane post\u0119py.","menu.file":"Plik","menu.edit":"Edycja","menu.transform":"Przesu\u0144","menu.display":"Wy\u015Bwietlanie","menu.view":"Widok","menu.file.new":"Nowy","menu.file.recent":"Ostatnio","menu.file.import":"Import","menu.file.export":"Eksport","menu.transform.rotate":"Obr\xF3\u0107","menu.transform.flip":"Odwr\xF3\u0107","menu.transform.center":"Wy\u015Brodkuj","menu.transform.properties":"W\u0142a\u015Bciwo\u015Bci","menu.display.preset":"Zastosuj preset","menu.display.preset_all":"Zastosuj preset wsz\u0119dzie","menu.display.remove_preset":"Usu\u0144 Preset","menu.view.zoom":"Powi\u0119kszenie","menu.view.background":"T\u0142o","menu.view.screenshot":"Zrzut ekranu","menu.cube.color":"Kolor znacznika","menu.cube.texture":"Tekstura","menu.cube.texture.transparent":"Przezroczysta","menu.cube.texture.blank":"Pusta","menu.group.sort":"Sortuj","menu.texture.face":"Zastosuj do \u015Bciany","menu.texture.file":"Plik","menu.texture.refresh":"Od\u015Bwie\u017C","menu.texture.change":"Zmie\u0144 plik","menu.texture.folder":"Otw\xF3rz w folderze","menu.texture.edit":"Edytuj","menu.texture.export":"Zapisz jako","menu.texture.save":"Zapisz","menu.texture.properties":"W\u0142a\u015Bciwo\u015Bci","menu.preview.background":"T\u0142o","menu.preview.background.load":"Za\u0142aduj","menu.preview.background.position":"Pozycja","menu.preview.background.lock":"Zablokuj do kamery","menu.preview.screenshot":"Zrzut ekranu","menu.preview.perspective":"Perspektywa","menu.preview.perspective.normal":"Normalna","menu.preview.quadview":"Widok Quad","menu.preview.stop_drag":"Sko\u0144cz pozycjonowanie t\u0142a","menu.uv.mapping.rotation":"Rotacja","menu.uv.texture":"Tekstura","cube.color.light_blue":"Jasnoniebieski","cube.color.yellow":"\u017B\xF3\u0142ty","cube.color.orange":"Pomara\u0144czowy","cube.color.red":"Czerwony","cube.color.purple":"Fioletowy","cube.color.blue":"Niebieski","cube.color.green":"Zielony","cube.color.lime":"Limonkowy","switches.visibility":"Widoczno\u015B\u0107","switches.export":"Eksport","switches.autouv":"Automatyczne UV","panel.uv":"UV","panel.display":"Wy\u015Bwietlanie","panel.textures":"Tekstury","panel.outliner":"Outliner","uv_editor.title":"Edytor UV","uv_editor.all_faces":"Wszystkie","uv_editor.no_faces":"\u017Badne","face.north":"P\xF3\u0142noc","face.south":"Po\u0142udnie","face.west":"Zach\xF3d","face.east":"Wsch\xF3d","face.up":"G\xF3ra","face.down":"D\xF3\u0142","direction.north":"P\xF3\u0142noc","direction.south":"Po\u0142udnie","direction.west":"Zach\xF3d","direction.east":"Wsch\xF3d","direction.top":"G\xF3ra","direction.bottom":"D\xF3\u0142","display.slot.third_right":"Trzecioosobowa Prawa","display.slot.third_left":"Trzecioosobowa Lewa","display.slot.first_right":"Pierwszoosobowa Prawa","display.slot.first_left":"Pierwszoosobowa Lewa","display.slot.head":"G\u0142owa","display.slot.ground":"Pod\u0142o\u017Ce","display.slot.frame":"Ramka","display.slot.gui":"GUI","display.rotation":"Rotacja","display.translation":"Transpozycja","display.scale":"Skala","display.slot":"Slot","display.reference":"Model referencyjny","display.reference.player":"Gracz","display.reference.zombie":"Zombie","display.reference.armor_stand":"Stojak na zbroje","display.reference.baby_zombie":"Zombie dziecko","display.reference.armor_stand_small":"Ma\u0142y stojak na zbroje","display.reference.monitor":"Normalny","display.reference.bow":"\u0141uk","display.reference.block":"Blok","display.reference.frame":"Ramka na przedmiot","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Ekwipunek","display.reference.hud":"HUD","display.preset.blank_name":"Prosz\u0119 poda\u0107 nazw\u0119","display.preset.item":"Podstawowy Przedmiot","display.preset.block":"Podstawowy blok","display.preset.handheld":"Podstawowa bro\u0144","display.preset.rod":"Podstawowa r\xF3\u017Ad\u017Cka","dialog.continue":"Kontynuuj","message.square_textures":"Tekstury musz\u0105 by\u0107 kwadratowe","message.unsaved_texture.title":"Niezapisana tekstura","message.unsaved_texture.message":"Wszystkie niezapisane zmiany tej tekstury zostan\u0105 utracone. Chcesz kontynuowa\u0107?","action.vertex_snap_mode.move":"Przesu\u0144","action.vertex_snap_mode.scale":"Skaluj","action.open_model_folder":"Otw\xF3rz folder modelu","action.open_model_folder.desc":"Otwiera folder, w kt\xF3rym znajduje si\u0119 model","action.change_textures_folder":"Zmie\u0144 lokalizacje tekstur","action.change_textures_folder.desc":"Zmienia katalog, w kt\xF3rym s\u0105 zapisane wszystkie tekstury","menu.texture.particle":"U\u017Cyj dla cz\u0105stek","message.update_notification.title":"Nie mo\u017Cna zainstalowa\u0107 aktualizacji","message.update_notification.message":'Nowa wersja Blockbench "%0" jest dost\u0119pna. Chcesz j\u0105 teraz zainstalowa\u0107?',"message.untextured":"Ta powierzchnia nie ma tekstury","dialog.toolbar_edit.title":"Dostosuj pasek z narz\u0119dziami","keybindings.reset":"Resetuj","keybindings.clear":"Pusty","action.cube_counter":"Licznik kostek","action.uv_rotation":"Obr\xF3t UV","action.uv_rotation.desc":"Obr\xF3t UV \u015Bciany","action.uv_grid":"Siatka UV","action.uv_grid.desc":"Rozdzielczo\u015B\u0107 siatki, do kt\xF3rej selektor UV si\u0119 przyci\u0105ga","action.uv_grid.auto":"Auto","action.uv_maximize":"Maksymalizuj UV","action.uv_maximize.desc":"Ustala UV tej \u015Bciany na ca\u0142\u0105 tekstur\u0119","action.uv_auto":"Automatyczne UV","action.uv_auto.desc":"Ustala UV tej \u015Bciany na prawdziwy rozmiar \u015Bciany","action.uv_rel_auto":"Wzgl\u0119dne Automatyczne UV","action.uv_rel_auto.desc":"Ustala UV tej \u015Bciany do pozycji i wielko\u015B\u0107i \u015Bciany","action.uv_mirror_x":"Odbij X UV","action.uv_mirror_x.desc":"Odbija UV tej \u015Bciany na osi X","action.uv_mirror_y":"Odbij Y UV","action.uv_mirror_y.desc":"Odbija UV tej \u015Bciany na osi Y","action.uv_transparent":"Przezroczysta \u015Bciana","action.uv_transparent.desc":"Ustawia wybran\u0105 \u015Bcian\u0119 na przezroczyst\u0105","action.uv_reset":"Resetuj \u015Bcian\u0119","action.uv_reset.desc":"Resetuje wybran\u0105 \u015Bcian\u0119","action.cullface":"Cullface","action.cullface.desc":"Nie renderuje tej \u015Bciany je\u017Celi wybrana strona modelu jest zakryta","action.auto_cullface":"Auto Cullface","action.auto_cullface.desc":"Ustala cullface tej \u015Bciany do siebie","action.face_tint":"Odcie\u0144","action.face_tint.desc":"Pozwala na ustalenie odcienia dla wybranej \u015Bciany","menu.toolbar.edit":"Dostosuj","menu.toolbar.reset":"Resetuj","uv_editor.rotated":"Obr\xF3cone","uv_editor.auto_cull":"Cullface do siebie","uv_editor.copied":"Skopiowana \u015Bciana","uv_editor.pasted":"Wklejona \u015Bciana","uv_editor.copied_x":"Skopiowano %0 \u015Bcian","uv_editor.reset":"Resetuj \u015Bcian\u0119","uv_editor.maximized":"Maksymalizowane","uv_editor.autouv":"Auto rozmiar","uv_editor.mirrored":"Odbito","uv_editor.to_all":"Zastosowano do wszystkich \u015Bcian","uv_editor.transparent":"Zrobiono przezroczyste","uv_editor.cullface_on":"Cullface w\u0142\u0105czony","uv_editor.cullface_off":"Cullface wy\u0142\u0105czony","uv_editor.tint_on":"Odcie\u0144 w\u0142\u0105czony","uv_editor.tint_off":"Odcie\u0144 wy\u0142\u0105czony","action.uv_apply_all":"Zastosuj do wszystkich \u015Bcian","action.uv_apply_all.desc":"Stosuje ustawienia wybranej \u015Bciany do wszystkich ","message.image_editor_missing.title":"Domy\u015Blny edytor obraz\xF3w","message.image_editor_missing.message":"Wybierz plik exe twojego edytora obraz\xF3w.","message.image_editor_missing.detail":"Blockbench nie m\xF3g\u0142 odnale\u017A\u0107 edytora obraz\xF3w na twoim komputerze. Wybierz plik exe twojego preferowanego edytora obraz\xF3w.","action.update_autouv":"Aktualizuj auto UV","action.update_autouv.desc":"Aktualizuj automatyczne mapowanie UV zaznaczonych kostek","category.uv":"UV","status_bar.saved":"Model jest zapisany","status_bar.unsaved":"Istniej\u0105 niezapisane zmiany","action.move_up":"Przesu\u0144 w g\xF3r\u0119","action.move_up.desc":"Przesu\u0144 zaznaczone kostki w g\xF3r\u0119, wzgl\u0119dem aktualnego k\u0105ta kamery","action.move_down":"Przesu\u0144 w d\xF3\u0142","action.move_down.desc":"Przesu\u0144 zaznaczone kostki w d\xF3\u0142, wzgl\u0119dem aktualnego k\u0105ta kamery","action.move_left":"Przesu\u0144 w lewo","action.move_left.desc":"Przesu\u0144 zaznaczone kostki w lewo, wzgl\u0119dem aktualnego k\u0105ta kamery","action.move_right":"Przesu\u0144 w prawo","action.move_right.desc":"Przesu\u0144 zaznaczone kostki w prawo, wzgl\u0119dem aktualnego k\u0105ta kamery","action.move_forth":"Przesu\u0144 do prz\xF3du","action.move_forth.desc":"Przesu\u0144 zaznaczone kostki do przodu, wzgl\u0119dem aktualnego k\u0105ta kamery","action.move_back":"Przesu\u0144 do ty\u0142u","action.move_back.desc":"Przesu\u0144 zaznaczone kostki do ty\u0142u, wzgl\u0119dem aktualnego k\u0105ta kamery","layout.color.wireframe":"Szkielet","layout.color.wireframe.desc":"Widok linii szkielet\xF3w","action.add_animation":"Dodaj animacj\u0119","action.add_animation.desc":"Stw\xF3rz pust\u0105 animacj\u0119","action.load_animation_file":"Importuj animacje","action.load_animation_file.desc":"Importuj plik animacji","action.play_animation":"Odtw\xF3rz animacje","action.play_animation.desc":"Obejrzyj zaznaczon\u0105 animacj\u0119","action.slider_keyframe_time":"Czas","action.slider_keyframe_time.desc":"Zmie\u0144 czas zaznaczonych klatek","timeline.rotation":"Rotacja","timeline.position":"Pozycja","timeline.scale":"Rozmiar","menu.keyframe.quaternion":"Kwaternion","panel.animations":"Animacje","panel.keyframe":"Klatka kluczowa","panel.keyframe.type":"Klatka kluczowa (%0)","generic.delete":"Usu\u0144","generic.rename":"Zmie\u0144 nazw\u0119","message.no_animation_selected":"Musisz wybra\u0107 animacj\u0119 \u017Ceby to zrobi\u0107","message.no_bone_selected":"Musisz wybra\u0107 ko\u015B\u0107 \u017Ceby to zrobi\u0107","message.duplicate_groups.title":"Duplikat nazwy ko\u015Bci","message.duplicate_groups.message":"Nazwa tej ko\u015Bci istnieje na wielu ko\u015Bciach. To moze sprawi\u0107 problemy.","action.delete_keyframes":"Usu\u0144 klatki kluczowe","action.delete_keyframes.desc":"Usu\u0144 wszystkie zaznaczone klatki kluczowe","menu.animation":"Animacja","menu.animation.loop":"Zap\u0119tl","menu.animation.override":"Nadpisz","menu.animation.anim_time_update":"Aktualizuj zmienn\u0105","message.display_skin_model.title":"Model skina","message.display_skin_model.message":"Zmie\u0144 typ modelu skina","message.display_skin_model.classic":"Klasyczny","message.display_skin_model.slim":"Slim","message.bone_material":"Zmie\u0144 materia\u0142 ko\u015Bci","action.slider_animation_length":"D\u0142ugo\u015B\u0107 animacji","action.slider_animation_length.desc":"Zmie\u0144 d\u0142ugo\u015B\u0107 zaznaczonej animacji","panel.variable_placeholders":`
Zmienne symbole zast\u0119pcze`,"panel.variable_placeholders.info":" Wymie\u0144 zmienne, kt\xF3re chcesz podgl\u0105dn\u0105\u0107 za pomoc\u0105 nazwy = warto\u015B\u0107","status_bar.vertex_distance":"Odleg\u0142o\u015B\u0107: 0%","dialog.create_gif.title":"Zapisz GIF","dialog.create_gif.length":"D\u0142ugo\u015B\u0107","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Rozpocznij animacj\u0119","category.animation":"Animacja","action.record_model_gif":"Zapisz GIF","action.record_model_gif.desc":`\uFFFC
Nagraj animowany GIF modelu z bie\u017C\u0105cego k\u0105ta`,"display.mirror":"Lustro","data.separator":"Separator","menu.preview.background.set_position":"Ustaw pozycj\u0119","dialog.toolbar_edit.hidden":`\uFFFC
Ukryty`,"action.export_class_entity":"Eksportuj byt Java","action.export_class_entity.desc":"\uFFFCWyeksportuj model bytu jako klas\u0119 Java","settings.seethrough_outline":"Kontury X-Ray","settings.seethrough_outline.desc":"Poka\u017C kontury przez obiekty","mode.edit":"Edytuj","mode.paint":"Maluj","mode.display":"Ekspozycja","mode.animate":"Animuj","status_bar.recording_gif":"Nagrywanie GIF","status_bar.processing_gif":"Przetwarzanie GIF","settings.backup_retain":"Czas podtrzymania kopii zapasowej","settings.backup_retain.desc":"Ustaw jak d\u0142ugo Blockbench zachowuje stare kopie zapasowe w dniach","action.rotate_tool":"Narz\u0119dzie oobracania","action.rotate_tool.desc":"\uFFFCNarz\u0119dzie do wybierania i obracania element\xF3w","action.fill_tool":"Wiaderko farby","action.fill_tool.desc":"Wiaderko farby zalewa maluje obszar na jeden kolor","action.eraser":"Gumka","action.eraser.desc":"Gumka zast\u0119puje tekstur\u0119 prze\u017Croczysto\u015Bci\u0105","action.color_picker":"Pr\xF3bnik koloru","action.color_picker.desc":"Narz\u0119dzie do wyboru koloru pikseli na teksturze","switches.mirror":"Lustro UV",language_name:"Angielski","message.plugin_reload":"Prze\u0142adowano %0 lokalnych plugin\xF3w","settings.brightness":"Jasno\u015B\u0107","settings.brightness.desc":"Jasno\u015B\u0107 podgl\u0105du. Domy\u015Blnie 50.","menu.preview.perspective.reset":"Zresetuj kamer\u0119","action.fill_mode":"Tryb wype\u0142niania","action.fill_mode.face":"Prz\xF3d","action.fill_mode.color":"Kolory","action.toggle_mirror_uv":"Odbicie UV","action.toggle_mirror_uv.desc":"Prze\u0142\u0105cz odbicie lustrzane UV na osi X wybranych kostek","menu.texture.blank":"Stosuj na \u015Bcian\u0119 bez tekstury","dialog.scale.select_overflow":"Select Overflow","action.action_control":"Kontroler akcji","action.action_control.desc":"Wyszukaj i wykonaj ka\u017Cd\u0105 dost\u0119pn\u0105 akcj\u0119","keybindings.recording":"Nagrywanie skr\xF3t\xF3w klawiszowych","keybindings.press":"Naci\u015Bnij klawisz lub kombinacj\u0119 klawiszy albo kliknij w dowolnym miejscu na ekranie, aby nagra\u0107 swoje skojarzenie klawiszy.","action.pivot_tool":"Narz\u0119dzie punktu osi","action.pivot_tool.desc":"Narz\u0119dzie do zmiany punktu osi kostek i ko\u015Bci","action.slider_animation_speed":"Szybko\u015B\u0107 Odtwarzania","action.slider_animation_speed.desc":"Pr\u0119dko\u015B\u0107 odtwarzania osi czasu w procentach","action.previous_keyframe":"Poprzednia klatka kluczowa","action.previous_keyframe.desc":"Skocz do poprzedniej klatki kluczowej","action.next_keyframe":"Nast\u0119pna klatka kluczowa","action.next_keyframe.desc":"Skocz do nast\u0119pnej klatki kluczowej","message.outdated_client.title":"Przestarza\u0142y klient","message.outdated_client.message":"Zaktualizuj blockbencha do nowszej wersji \u017Ceby to zrobi\u0107!","action.export_asset_archive":"Pobier Archiv","action.export_asset_archive.desc":"Pobierz archiwum z modelem i wszystkimi teksturami.","action.upload_sketchfab":"Prze\u015Blij na Sketchfab","message.sketchfab.name_or_token":"Wpisz Tw\xF3j token Sketchfab i nazw\u0119","dialog.sketchfab_uploader.title":"Prze\u015Blij model Sketchfab","dialog.sketchfab_uploader.token":"Token API","dialog.sketchfab_uploader.about_token":"Token jest u\u017Cywany do \u0142\u0105czenia Blockbencha z Twoim kontem Sketchfab. Mo\u017Cesz go znale\u017A\u0107 na stronie %0","dialog.sketchfab_uploader.name":"Nazwa modelu","dialog.sketchfab_uploader.description":"Opis","dialog.sketchfab_uploader.tags":"Tagi","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"Token upowa\u017Cniaj\u0105cy Blockbench do przesy\u0142ania danych na Twoje konto Sketchfab","panel.color":"Kolor","data.origin":"Punkt osi","message.sketchfab.success":"Model zosta\u0142 wys\u0142any","message.sketchfab.error":"Wyst\u0105pi\u0142 problem podczas udost\u0119pniania modelu na Sketchfab","settings.outliner_colors":"Kolory outlinera","settings.outliner_colors.desc":"Wy\u015Bwietlaj kolory element\xF3w i grup w outlinerze","action.upload_sketchfab.desc":"Udost\u0119pnij model na Sketchfab","action.element_colors":"Kolory kostki","action.element_colors.desc":"Poka\u017C kolory kostek w outlinerze","texture.error.file":"Plik nieznaleziony","texture.error.parent":"Plik tekstury dostarczony przez model rodzica","message.recover_backup.title":"Odzyskaj model","message.recover_backup.message":"Blockbench zosta\u0142 zamkni\u0119ty bez zapisywania. Czy chcesz odzyska\u0107 model?","message.invalid_session.title":"Nieprawid\u0142owy Token Sesji","message.invalid_session.message":"Sesja, do kt\xF3rej pr\xF3bujesz si\u0119 przy\u0142\u0105czy\u0107 wygas\u0142a lub podany token jest nieprawid\u0142owy.","dialog.create_texture.power":"Power-of-2 Size","dialog.create_gif.turn":"Turntable Speed","action.edit_session":"Edytuj Sesj\u0119...","action.edit_session.desc":"Po\u0142\u0105cz si\u0119 z sesj\u0105 edycji, aby wsp\xF3\u0142pracowa\u0107 z innymi u\u017Cytkownikami","action.reset_keyframe":"Resetuj klatk\u0119 kluczow\u0105","action.reset_keyframe.desc":"Zresetuj wszystkie warto\u015Bci wybranych klatek kluczowych","dialog.edit_session.title":"Edytuj Sesj\u0119","edit_session.username":"Nazwa u\u017Cytkownika","edit_session.token":"Token","edit_session.about":"Sesje edycji mog\u0105 by\u0107 u\u017Cywane do wsp\xF3\u0142pracy nad modelami przez internet. Utw\xF3rz sesj\u0119, skopiuj token i wy\u015Blij go do przyjaci\xF3\u0142, kt\xF3rzy mog\u0105 nast\u0119pnie u\u017Cy\u0107 go, aby do\u0142\u0105czy\u0107.","edit_session.join":"Do\u0142\u0105cz do sesji","edit_session.create":"Stw\xF3rz sesj\u0119","edit_session.quit":"Wyjd\u017A z sesji","edit_session.joined":"%0 do\u0142\u0105czy\u0142 do sesji","edit_session.left":"%0 opu\u015Bci\u0142 sesj\u0119","edit_session.quit_session":"Opu\u015B\u0107 aktualn\u0105 sesj\u0119","edit_session.status":"Status","edit_session.hosting":"Hosting","edit_session.connected":"Po\u0142\u0105czono z sesj\u0105","dialog.sketchfab_uploader.private":"Prywatne (Pro)","dialog.sketchfab_uploader.password":"Has\u0142o (Pro)","action.uv_select_all":"Zaznacz wszystkie","action.uv_select_all.desc":"Zaznacz wszystkie \u015Bciany w oknie dialogowym UV","panel.chat":"Czat","edit_session.welcome":"Welcome to this session by %0","dialog.yes":"Tak","dialog.no":"Nie","generic.remove":"Usu\u0144","generic.download":"Pobierz","generic.search":"Szukaj","dates.today":"Dzisiaj","dates.yesterday":"Wczoraj","dates.this_week":"W tym tygodniu","dates.weeks_ago":"%0 tygodni temu","mode.start.new":"Nowy","mode.start.recent":"Ostatnie","format.free":"Model og\xF3lny","format.free.desc":"Model bez restrykcji. Dla silnik\xF3w gier, renderowania itd.","format.java_block":"Java Blok/Przedmiot","format.java_block.desc":"Model bloku na Java Edition. Rozmiar i k\u0105ty obrotu s\u0105 ograniczone.","format.bedrock":"Bedrock Model","format.bedrock.desc":"Model na Bedrock Edition","format.bedrock_old":"Bedrock Legacy Model","format.bedrock_old.desc":"Model bytu sprzed 1.12 Minecraft Bedrock Edition","format.modded_entity":"Zmodowany byt","format.modded_entity.desc":"Model bytu do minecraftowych mod\xF3w. Mo\u017Ce by\u0107 wyeksportowany jako klasowy plik .java","format.optifine_entity":"Byt OptiFine","format.optifine_entity.desc":"W\u0142asny model bytu dla OptiFine","keys.mouse":"Przycisk myszy %0","message.cleared_blank_faces.title":"Puste \u015Bciany","message.cleared_blank_faces.message":"Blockbench znalaz\u0142 %0 kostek bez \u017Cadnej tekstury. Czy chcesz usun\u0105\u0107 te elementy?","message.wireframe.enabled":"Widok szkieletu w\u0142\u0105czony","message.wireframe.disabled":"Widok szkieletu wy\u0142\u0105czony","dialog.convert_project.title":"Konwertuj Projekt","dialog.create_texture.double_use":"Keep Multi Texture Occupancy","dialog.model_stats.title":"Statystyki modelu","dialog.model_stats.cubes":"Kostki","dialog.model_stats.locators":"Lokalizator","dialog.model_stats.groups":"Grupy","dialog.model_stats.vertices":"Wierzcho\u0142ki","dialog.model_stats.faces":"Powierzchnie","settings.username":"Nazwa u\u017Cytkownika","settings.username.desc":"Nazwa u\u017Cytkownika dla sesji edycji","settings.painting_grid":"Siatka malarska","settings.painting_grid.desc":"Poka\u017C siatk\u0119 na oteksturowanych kostkach w trybie malowania","action.convert_project":"Konwertuj projekt","action.convert_project.desc":"Konwertuje bie\u017C\u0105cy projekt na projekt dla innego formatu modelu","action.close_project":"Zamknij projekt","action.close_project.desc":"Zamyka aktualnie otworzony projekt","action.export_bedrock":"Eksportuj bedrockow\u0105 geometri\u0119","action.export_bedrock.desc":"Wyeksportuj model jako plik geometrii Bedrock Edition","action.save_project":"Zapisz projekt","action.save_project.desc":"Zapisuje bie\u017C\u0105cy model jako plik projektu","action.save_project_as":"Zapisz projekt jako","action.save_project_as.desc":"Zapisuje bie\u017C\u0105cy model jako plik projektu w nowej lokalizacji","action.export_over":"Zapisz model","action.export_over.desc":"Zapisuje model, tekstury i animacje poprzez nadpisanie plik\xF3w","action.add_locator":"Dodaj lokalizator","action.add_locator.desc":"Dodaje nowy lokalizator do kontrolowania pozycji cz\u0105steczek, smyczy itp","action.uv_turn_mapping":"W\u0142\u0105cz mapowanie","action.uv_turn_mapping.desc":"Obr\xF3\u0107 mapowanie UV o 90 stopni","action.remove_blank_faces":"Usu\u0144 puste powierzchnie","action.remove_blank_faces.desc":"Usuwa wszystkie nieoteksturowane powierzchnie z zaznaczenia","web.download_app":"Pobierz aplikacj\u0119","uv_editor.turned":"Turned Mapping","display.reference.crossbow":"Kusza","dialog.settings.search_results":"Wyniki wyszukiwania","settings.animation_snap":"Animation Snap","settings.animation_snap.desc":"Default snap interval for keyframes in the animation timeline in steps per second. This can also be changed per animation. The default value is 24.","action.import_optifine_part":"Import OptiFine Part","action.import_optifine_part.desc":"Importuj cz\u0119\u015B\u0107 modelu bytu dla OptiFine","data.locator":"Lokalizator","mode.start.no_recents":"Brak ostatnio otwartych modeli","panel.element":"Element","panel.element.position":"Pozycja","panel.element.size":"Rozmiar","panel.element.origin":"Punkt osi","panel.element.rotation":"Obr\xF3t","message.canvas_limit_error.title":"B\u0142\u0105d limitu przestrzeni roboczej","message.canvas_limit_error.message":"Akcja nie mog\u0142a zosta\u0107 wykonana poprawnie, poniewa\u017C format ogranicza obszar roboczy do 48 jednostek. Przesu\u0144 punkt osi, aby temu zapobiec.","data.effect":"Efekt","generic.name":"Nazwa","settings.recent_projects":"Limit ostatnich modeli","settings.recent_projects.desc":"Maksymalna liczba ostatnich modeli do zapami\u0119tania","settings.volume":"G\u0142o\u015Bno\u015B\u0107","settings.volume.desc":"Regulacja g\u0142o\u015Bno\u015Bci dla efekt\xF3w d\u017Awi\u0119kowych w animacjach","action.clear_timeline":"Wyczy\u015B\u0107 o\u015B czasu","action.clear_timeline.desc":"Wyczy\u015B\u0107 wszystkie niezaznaczone ko\u015Bci z osi czasu","action.select_effect_animator":"Animuj Efekty","action.select_effect_animator.desc":"Otwiera lini\u0119 czas","action.timeline_focus":"Filtruj kana\u0142y","action.timeline_focus.desc":"Wybierz kana\u0142y animacji, kt\xF3re maj\u0105 by\u0107 wy\u015Bwietlane na osi czasu","timeline.particle":"Cz\u0105steczka","timeline.sound":"D\u017Awi\u0119k","timeline.effects":"Efekty","data.format":"Format","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"JPM part for OptiFine entity models","action.reverse_keyframes":"Odwr\xF3\u0107 klatki kluczowe","action.reverse_keyframes.desc":"Odwr\xF3\u0107 kolejno\u015B\u0107 wybranych klatek kluczowych","generic.help":"Pomoc","message.removed_faces":"Usuni\u0119to %0 powierzchni","dialog.sketchfab_uploader.draft":"Szkic","action.slider_pos":"Przesu\u0144 %0","action.slider_pos.desc":"Przesu\u0144 kostki na osi %0","action.slider_size":"Rozmiar %0","action.slider_size.desc":"Zmie\u0144 rozmiar kostek na osi %0","action.slider_rotation":"Obr\xF3\u0107 %0","action.slider_rotation.desc":"Obr\xF3\u0107 kostk\u0119 na osi %0","action.slider_origin":"Punkt osi %0","action.slider_origin.desc":"Przesu\u0144 punk osi na osi %0","action.rotate_cw":"Obr\xF3\u0107 %0 +90","action.rotate_cw.desc":"Obr\xF3\u0107 wybrane kostki o 90\xB0 na osi %0","action.rotate_ccw":"Obr\xF3\u0107 %0 -90","action.rotate_ccw.desc":"Obr\xF3\u0107 wybrane kostki o 90\xB0 na osi %0","action.flip":"Przerzu\u0107 %0","action.flip.desc":"Przerzu\u0107 wybrane kostki na o\u015B %0","action.center":"Wy\u015Brodkuj %0","action.center.desc":"Wy\u015Brodkuj wybrane kostki na osi %0","action.bring_up_all_animations":"Bring Up All Animators","panel.bone":"Ko\u015B\u0107","data.color":"Kolor","generic.export":"Eksportuj","generic.none":"\u017Badne","status_bar.recording":"Nagrywanie timelapse","message.add_to_palette":"Dodano do palety","message.size_modifiers":"Przytrzymaj wci\u015Bni\u0119ty klawisz Ctrl lub Shift, aby przekszta\u0142ca\u0107 w mniejszych krokach.","message.timelapse_start":"Timelapse rozpocz\u0119ty","message.timelapse_stop":"Timelapse zatrzymany","message.import_palette.replace_palette":"Zamie\u0144 star\u0105 palet\u0119","message.import_palette.threshold":"Pr\xF3g scalania","dialog.timelapse.interval":"Interwa\u0142 (sekundy)","dialog.timelapse.source":"\u0179r\xF3d\u0142o","dialog.timelapse.source.interface":"Interfejs","dialog.timelapse.source.locked":"Zablokowany k\u0105t","dialog.timelapse.destination":"Folder docelowy","layout.color.checkerboard":"Szachownica","layout.color.checkerboard.desc":"T\u0142o sceny i edytora UV","layout.font.code":"Code Font","layout.css":"W\u0142asny CSS","settings.category.paint":"Maluj","settings.deactivate_size_limit":"Dezaktywuj limit rozmiaru","settings.deactivate_size_limit.desc":"Wy\u0142\u0105czenie ograniczenia rozmiaru dla okre\u015Blonych format\xF3w modeli. OSTRZE\u017BENIE: Mo\u017Ce to spowodowa\u0107 nieprawid\u0142owe modele.","settings.brush_opacity_modifier":"Modyfikator krycia p\u0119dzla","settings.brush_opacity_modifier.desc":"Modyfikuj krycie p\u0119dzla podczas u\u017Cywania rysika","settings.brush_size_modifier":"Modyfikator wielko\u015Bci p\u0119dzla","settings.brush_size_modifier.desc":"Modyfikuj rozmiar p\u0119dzla podczas u\u017Cywania rysika","settings.brush_modifier.pressure":"Nacisk","settings.brush_modifier.tilt":"Pochylenie","category.color":"Kolor","action.import_theme":"Importuj motyw","action.export_theme":"Eksportuj motyw","action.export_theme.desc":"Stw\xF3rz plik stylu bazowany na aktualnych ustawieniach","action.slider_color_h":"Barwa","action.slider_color_s":"Nasycenie","action.slider_color_v":"Warto\u015B\u0107","action.add_to_palette":"Dodaj do palety","action.add_to_palette.desc":"Dodaj zaznaczony kolor do palety kolor\xF3w","action.import_palette":"Importuj palet\u0119","action.import_palette.desc":"Importuj plik palety","action.export_palette":"Eksportuj palet\u0119","action.export_palette.desc":"Eksportuj palet\u0119 jako plik .GPL","action.generate_palette":"Generuj palet\u0119","action.generate_palette.desc":"Wygeneruj palet\u0119 z tekstury","action.sort_palette":"Sortuj palet\u0119","action.sort_palette.desc":"Sortuj wszystkie kolory na palecie wed\u0142ug koloru i jasno\u015Bci","action.timelapse":"Timelapse","action.timelapse.desc":"Nagraj timelaps procesu modelowania","action.add_keyframe":"Dodaj klatk\u0119 kluczow\u0105","action.add_keyframe.desc":"Automatycznie dodawaj klatki kluczowe. Naci\u015Bnij Shift, aby wymusi\u0107 podstawowe warto\u015Bci","action.bring_up_all_animations.desc":"Brings all modified animators into the timeline","timeline.timeline":"Instrukcje","menu.palette.load.default":"Podstawowa","generic.import":"Importuj","settings.brush_modifier.none":"\u017Baden","action.export_entity":"Eksportuj byt Bedrock","action.export_entity.desc":"Dodaj bie\u017C\u0105cy model jako byt do pliku mobs.json","settings.highlight_cubes":"Pod\u015Bwietl kostki","settings.highlight_cubes.desc":"Pod\u015Bwietlaj kostki po najechaniu na nie lub wybraniu ich","action.add_marker":"Ustaw znacznik","action.add_marker.desc":"Ustaw znacznik osi czasu","timeline.pre_effect_script":"Skrypt","format.skin":"Sk\xF3rka","format.skin.desc":"Edytuj sk\xF3rki graczy i stworze\u0144","message.sketchfab.setup_guide":"Chcesz dowiedzie\u0107 si\u0119 jak ustawia\u0107 modele w Sketchfab? Przeczytaj %0","dialog.skin.title":"Stw\xF3rz sk\xF3rk\u0119","dialog.skin.model":"Sk\xF3rka","action.toggle_skin_layer":"W\u0142\u0105cz warstw\u0119 sk\xF3rki","action.toggle_skin_layer.desc":"W\u0142\u0105cz warstw\u0119 nakrycia g\u0142owy i ubra\u0144","action.gui_light":"\u015Awiat\u0142o GUI","action.gui_light.desc":"Wybierz spos\xF3b w jaki przedmiot jest pod\u015Bwietlony w ekwipunku","action.gui_light.side":"Boczne \u015Bwiat\u0142o","action.gui_light.front":"Frontowe \u015Bwiat\u0142o","action.move_keyframe_back":"Przemie\u015B\u0107 klatki kluczowe do ty\u0142u","action.move_keyframe_forth":"Przemie\u015B\u0107 klatki kluczowe do przodu","menu.help":"Pomoc","menu.help.discord":"Serwer Discord","menu.help.report_issue":"Zg\u0142o\u015B b\u0142\u0105d","menu.help.plugin_documentation":"Dokumentacja API plugin\xF3w","menu.help.search_action":"Wyszukaj i wykonaj akcj\u0119","menu.help.donate":"Wesprzyj","menu.help.about":"O Blockbench...","menu.preview.background.clipboard":"Wczytaj ze schowka","dialog.ignore":"Ignoruj","generic.unset":"Unset","message.invalid_builtin_parent.title":"Nieprawid\u0142owy wbudowany rodzic","message.invalid_builtin_parent.message":"Link do nieprawid\u0142owego modelu rodzica '%0' zosta\u0142 usuni\u0119ty w celu wyeksportowania prawid\u0142owego modelu.","dialog.resize_texture.fill":"Wype\u0142nij za pomoc\u0105","dialog.resize_texture.fill.transparent":"Prze\u017Aroczysty","dialog.resize_texture.fill.color":"Kolor","dialog.resize_texture.fill.repeat":"Powt\xF3rz","dialog.scale.element_pivot":"Element Pivot","dialog.scale.selection_center":"\u015Arodek zaznaczenia","dialog.create_gif.length_mode":"Length Mode","dialog.create_gif.length_mode.seconds":"Sekund","dialog.create_gif.length_mode.frames":"Klatki","dialog.create_gif.length_mode.animation":"D\u0142ugo\u015B\u0107 animacji","dialog.create_gif.length_mode.turntable":"Turntable Rotation","dialog.save_angle.projection":"Projekcja","dialog.save_angle.projection.perspective":"Perspektywa","dialog.save_angle.projection.orthographic":"Rzut ortograficzny","dialog.sketchfab_uploader.animations":"Animacje","dialog.settings.theme":"Motyw","settings.category.interface":"Interfejs","settings.preview_checkerboard":"Podgl\u0105d szachownicy","settings.preview_checkerboard.desc":"Prze\u0142\u0105cz t\u0142o szachownicy za podgl\u0105dem","settings.uv_checkerboard":"Szachownica edytoru UV","settings.uv_checkerboard.desc":"Prze\u0142\u0105cz t\u0142o szachownicy za edytorem UV","category.paint":"Maluj","action.fill_mode.color_connected":"Po\u0142\u0105czone kolory","action.draw_shape_type":"Typ kszta\u0142tu","action.draw_shape_type.rectangle":"Prostok\u0105t","action.draw_shape_type.rectangle_h":"Rectangle (Hollow)","action.draw_shape_type.ellipse":"Elipsa","action.draw_shape_type.ellipse_h":"Ellipse (Hollow)","action.draw_shape_type.line":"Linia","action.mirror_painting":"Lustrzane malowanie","action.mirror_painting.description":"Odbija lustrzanie poci\u0105gni\u0119cia farb\u0105 na drug\u0105 stron\u0119 modelu","action.lock_alpha":"Zablokuj kana\u0142 alfa","action.lock_alpha.description":"Zablokuj przezroczysto\u015B\u0107 wszystkich pikseli","action.draw_shape_tool":"Rysuj Kszta\u0142t","action.draw_shape_tool.desc":"Narz\u0119dzie do rysowania prostych kszta\u0142t\xF3w na teksturach","action.export_gltf":"Eksportuj model glTF","action.export_gltf.desc":"Eksportuj model i animacje jako plik glTF, aby u\u017Cy\u0107 go w innych aplikacjach 3D","action.transform_space":"Przestrze\u0144 przekszta\u0142ce\u0144","action.transform_space.desc":"Domy\u015Blna przestrze\u0144 przekszta\u0142ce\u0144 dla element\xF3w i ko\u015Bci","action.transform_space.global":"Globalnie","action.transform_space.local":"Lokalnie","action.toggle_camera_projection":"Prze\u0142\u0105cz projekcj\u0119 kamery","action.toggle_camera_projection.desc":"Prze\u0142\u0105czanie projekcji kamery mi\u0119dzy perspektyw\u0105 a ortografi\u0105","action.load_camera_angle":"K\u0105t kamery: %0","action.load_camera_angle.desc":"Wczytaj k\u0105t kamery '%0'","action.slider_face_tint":"Tint Index","action.slider_face_tint.desc":"Set the tint index of the current face. -1 means unset.","menu.help.quickstart":"Quickstart Wizard","menu.help.developer":"Deweloper","menu.help.developer.dev_tools":"Otw\xF3rz Dev Toolsy","menu.help.developer.reset_storage":"Reset do ustawie\u0144 fabrycznych","menu.help.developer.reset_storage.confirm":"Czy na pewno chcesz zresetowa\u0107 Blockbencha do ustawie\u0144 fabrycznych? Spowoduje to usuni\u0119cie wszystkich w\u0142asnych ustawie\u0144, przypisa\u0144 klawiszy i zainstalowanych wtyczek.","menu.help.developer.cache_reload":"Prze\u0142adowanie pami\u0119ci podr\u0119cznej","menu.preview.orthographic":"Rzut ortograficzny","menu.preview.save_angle":"Zapisz k\u0105t...","menu.preview.angle":"K\u0105ty","menu.preview.angle.initial":"K\u0105t pocz\u0105tkowy","menu.preview.maximize":"Maksymalizuj","uv_editor.copy_selection":"Kopiuj zaznaczenie","uv_editor.paste_selection":"Wklej zaznaczenie","uv_editor.copy_paste_tool.place":"Place","uv_editor.copy_paste_tool.mirror_x":"Odbij lustrzanie w osi X","uv_editor.copy_paste_tool.mirror_y":"Odbij lustrzanie w osi Y","uv_editor.copy_paste_tool.rotate":"Obr\xF3\u0107 o 90 stopni","dialog.project.modded_entity_version":"Export Version","dialog.save_angle.position":"Pozycja kamery","dialog.save_angle.target":"Focal Point","dialog.skin.pose":"Poza","layout.color.frame":"Obramowanie okna","layout.color.frame.desc":"Obramowanie i pasek tytu\u0142owy okna","settings.large_grid_size":"Rozmiar siatki bloku","settings.large_grid_size.desc":"Rozmiar siatki bloku","action.load_plugin_from_url":"Za\u0142aduj plugin z URL","action.load_plugin_from_url.desc":"Za\u0142aduj plugin z serwera podaj\u0105c adres URL","action.cube_counter.desc":"Wy\u015Bwietla bie\u017C\u0105c\u0105 liczb\u0119 element\xF3w i inne statystyki","action.unlock_everything":"Odblokuj Wszystko","action.unlock_everything.desc":"Odblokuj wszystkie grupy i elementy w outlinerze","action.load_palette":"Za\u0142aduj palete","action.load_palette.desc":"Wczytaj jeden z wbudowanych ustawieniach palety","action.toggle_locked":"Toggle Lock","action.toggle_locked.desc":"Toggle whether the selected elements are locked","action.apply_display_preset":"Apply Preset","action.apply_display_preset.desc":"Zastosuj domy\u015Blne lub niestandardowe ustawienia wy\u015Bwietlania","action.apply_display_preset.here":"Aplikuj na ten slot","action.apply_display_preset.everywhere":"Aplikuj na wszystkie sloty","action.resolve_keyframe_expressions":"Rozwi\u0105\u017C klatk\u0119 kluczow\u0105","action.resolve_keyframe_expressions.desc":"Rozwi\u0105zuje wyra\u017Cenia matematyczne dla wybranych klatek kluczowyc","action.fold_all_animations":"Fold All Animators","menu.palette.load.empty":"Pusta","switches.lock":"Zablokuj","settings.render_sides":"Renderowanie stron","settings.render_sides.desc":"Wybierz, kt\xF3ra strona \u015Bciany jest renderowana","settings.render_sides.auto":"Automatycznie","settings.render_sides.front":"Na zewn\u0105trz","settings.render_sides.double":"Wewn\u0105trz i na zewn\u0105trz","generic.enable":"W\u0142\u0105cz","generic.disable":"Wy\u0142\u0105cz","generic.redacted":"Redacted","dialog.select_texture.import_all":"Importuj wszystkie","dialog.skin.layer_template":"Layer Texture","about.version.up_to_date":"Aktualna","about.version.update_available":"Dost\u0119pna jest wersja %0","settings.category.application":"Aplikacja","settings.streamer_mode":"Tryb streamera","settings.streamer_mode.desc":"Ukrywa wra\u017Cliwe dane, takie jak ostatnie modele","settings.automatic_updates":"Automatyczne aktualizacje","settings.automatic_updates.desc":"Automatycznie pobieraj nowe wersje i utrzymuj Blockbench w stanie aktualnym","action.rotation_space":"Rotation Space","action.focus_on_selection":"Wycentruj widok na zaznaczonych elementach","action.focus_on_selection.desc":"Wyr\xF3wnaj kamer\u0119 tak, aby znalaz\u0142a si\u0119 w \u015Brodku bie\u017C\u0105cego zaznaczenia.","action.jump_to_timeline_start":"Przeskocz na pocz\u0105tek animacji","action.jump_to_timeline_end":"Przeskocz na koniec animacji","menu.help.updating":"Aktualizowanie (%0%)","menu.help.update_failed":"Aktualizacja nieudana","menu.animation.loop.once":"Odtw\xF3rz Raz","menu.animation.loop.hold":"Hold On Last Frame","menu.animation.loop.loop":"Powtarzaj","interface.streamer_mode_on":"Tryb streamera aktywny","generic.reset":"Reset","generic.restore":"Przywr\xF3\u0107","keys.mousewheel":"K\xF3\u0142ko myszy","message.delete_animation.title":"Usu\u0144 Animacj\u0119","message.delete_animation.message":"Animacja zosta\u0142a usuni\u0119ta z Blockbencha. Czy chcesz r\xF3wnie\u017C usun\u0105\u0107 animacj\u0119 z pliku, w kt\xF3rym zosta\u0142a zapisana?","message.no_animation_to_import":"Brak animacji do zaimportowania","dialog.material_instances.title":"Material Instances","dialog.animation_import.title":"Wybierz animacje do zaimportowania","dialog.create_texture.padding":"Wype\u0142nienie","settings.fov":"Pole widzenia","settings.fov.desc":"Pole widzenia kamery. Domy\u015Blnie to 45","settings.minify_bbmodel":"Minified Project Files","settings.minify_bbmodel.desc":"Write .bbmodel files minified into one line","action.edit_material_instances":"Edytuj instancje materia\u0142u","action.edit_material_instances.desc":"Edycja nazw instancji materia\u0142u dla geometrii blok\xF3w Minecraft Bedrock","action.save_all_animations":"Zapisz wszystkie animacje","action.save_all_animations.desc":"Zapisz wszystkie aktualnie za\u0142adowane animacje","action.keyframe_interpolation":"Interpolacja","action.keyframe_interpolation.desc":"Wybierz tryb interpolacji klatek kluczowych","action.keyframe_interpolation.linear":"Liniowa","action.keyframe_interpolation.catmullrom":"G\u0142adka","action.timeline_focus.hide_empty":"Ukryj puste kana\u0142y","menu.file.preferences":"Preferencje","menu.animation.blend_weight":"Blend Weight","menu.animation.save":"Zapisz","menu.animation.properties":"W\u0142a\u015Bciwo\u015Bci","menu.animation.file":"Plik","menu.animation.snapping":"Snapping","menu.animation.open_location":"Otw\xF3rz Lokalizacj\u0119 Pliku","panel.keyframe.add_data_point":"Dodaj punkt danych klatki kluczowej","panel.keyframe.remove_data_point":"Remove Data Point","panel.keyframe.pre":"Przed","panel.keyframe.post":"Po","generic.all":"Wszystkie","message.small_face_dimensions.title":"Incompatible Face Dimensions","message.small_face_dimensions.message":"Zaznaczenie zawiera \u015Bciany, kt\xF3re s\u0105 mniejsze ni\u017C 1 jednostka w jednym kierunku. System mapowania pude\u0142kowego UV traktuje wszystkie \u015Bciany poni\u017Cej tego progu jako \u015Bciany o szeroko\u015Bci 0 pikseli. Tekstura na tych powierzchniach mo\u017Ce wi\u0119c nie dzia\u0142a\u0107 poprawnie.","message.small_face_dimensions.face_uv":'The current format supports per-face UV maps which can handle small face dimensions. Right click the affected cubes and change "UV Mode" to "Per-face UV".',"dialog.plugins.outdated_client":"Wymaga nowszej wersji programu Blockbench","dialog.plugins.outdated_plugin":"Plugin jest przestarza\u0142y i nie dzia\u0142a z t\u0105 wersj\u0105 Blockbench","settings.motion_trails":"\u015Acie\u017Cki ruchu","settings.motion_trails.desc":"Poka\u017C \u015Bcie\u017Cki ruchu w edytorze animacji","settings.antialiasing":"Wyg\u0142adzanie kraw\u0119dzi","settings.antialiasing.desc":"Prze\u0142\u0105cz wyg\u0142adzanie kraw\u0119dzi w podgl\u0105dzie. Uruchom ponownie Blockbench aby zastosowa\u0107 zmiany","action.timeline_frame_back":"Przeskocz o 1 klatk\u0119 do ty\u0142u","action.timeline_frame_forth":"Przeskocz o 1 klatk\u0119 do przodu","panel.bone.ik":"Odwr\xF3cona kinematyka (eksperymentalne)","settings.particle_tick_rate":"Particle Tick Rate","settings.particle_tick_rate.desc":"Cz\u0119stotliwo\u015B\u0107 tykania dla efekt\xF3w cz\u0105steczkowych w tykni\u0119ciach na sekund\u0119. Warto\u015B\u0107 domy\u015Blna to 30","action.lock_motion_trail":"Zablokuj \u015Bcie\u017Ck\u0119 ruchu","action.lock_motion_trail.desc":"Zablokuj \u015Bcie\u017Ck\u0119 ruchu dla aktualnie zaznaczonych grup","menu.animation_file.unload":"Unload File","data.null_object":"Pusty obiekt","status_bar.toggle_sidebar":"Prze\u0142\u0105cz pasek boczny","message.load_plugin_failed.title":"Nie uda\u0142o si\u0119 za\u0142adowa\u0107 pluginu","message.load_plugin_failed.message":"Ensure that the base file name of the plugin matches the plugin ID `%0`, as specified in Plugin.register().","dialog.project.uv_mode":"Tryb UV","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-face UV","dialog.project.texture_size":"Rozmiar tekstury","dialog.animation_export.title":"Wybierz animacje do wyeksportowania","dialog.create_texture.rearrange_uv":"Zmie\u0144 uk\u0142ad UV","layout.color.subtle_text":"Subtle Text","layout.color.subtle_text.desc":"Drugi kolor tekstu z mniejszym kontrastem","settings.interface_scale":"Skala interfejsu","settings.interface_scale.desc":"Skala interfejsu ca\u0142ego Blockbencha","settings.background_rendering":"Renderowanie w tle","settings.background_rendering.desc":"Aktualizuj podgl\u0105d, gdy okno nie jest na wierzchu","settings.ctrl_shift_size":"Control + Shift Resolution","settings.ctrl_shift_size.desc":"Resolution of the grid while holding control and shift","settings.hardware_acceleration":"Akceleracja sprz\u0119towa","settings.hardware_acceleration.desc":"Zlecanie zada\u0144 renderowania karcie graficznej. Wymagany restart do zastosowania zmiany","action.explode_skin_model":"Explode Skin Model","action.explode_skin_model.desc":"Toggles an explosion view that allows you to edit covered faces","action.export_minecraft_skin":"Eksportuj sk\xF3rk\u0119 Minecraft","action.export_minecraft_skin.desc":"Wyeksportuj sk\xF3rk\u0119 jako tekstur\u0119 PNG","action.add_null_object":"Dodaj pusty obiekt","action.add_null_object.desc":"Dodaje nowy pusty obiekt","action.animated_texture_frame":"Animated Texture Frame","action.animated_texture_frame.desc":"Ustawia bie\u017C\u0105c\u0105 klatk\u0119 animowanej tekstury","action.export_animation_file":"Eksportuj animacj\u0119...","action.export_animation_file.desc":"Eksportuj wybrane animacje do nowego pliku","action.timeline_graph_editor":"Prze\u0142\u0105cz edytor wykres\xF3w","action.timeline_graph_editor.desc":"Toggle the timeline between graph editor view and keyframe view","menu.file.recent.clear":"Wyczy\u015B\u0107 ostatnie pliki","switches.shade":"Shade","generic.share":"Udost\u0119pnij","dates.minute":"%0 Minuta","dates.minutes":"%0 Minuty","dates.hour":"%0 Godzina","dates.hours":"%0 Godzin","dates.day":"%0 Dzie\u0144","dates.days":"%0 Dni","dates.week":"%0 Tygodnia","dates.weeks":"%0 Tygodni","dates.year":"%0 Roku","dates.years":"%0 Lat","message.installed_plugin":"Pomy\u015Blnie zainstalowano plugin %0","message.installed_plugin_fail":"Nie uda\u0142o si\u0119 zainstalowa\u0107 plugina %0","dialog.share_model.title":"Udost\u0119pnij Model","dialog.share_model.expire_time":"Termin wyga\u015Bni\u0119cia","dialog.share_model.failed":"Nie uda\u0142o si\u0119 przes\u0142a\u0107 modelu","action.import_java_block_model":"Dodaj model Bloku/Przedmiotu Java","action.import_java_block_model.desc":"Dodaj model bloku/itemu Minecraft Java z pliku json do bie\u017C\u0105cego modelu","action.share_model":"Udost\u0119pnij...","action.share_model.desc":"Wygeneruj kr\xF3tki link, \u017Ceby udost\u0119pni\u0107 sw\xF3j model","action.import_project":"Importuj Projekt","action.import_project.desc":"Importuj inny projekt z pliku .bbmodel do bie\u017C\u0105cego projektu","dialog.toolbar_edit.hidden_tools":"Niekt\xF3re narz\u0119dzia mog\u0105 by\u0107 ukryte, poniewa\u017C nie s\u0105 dost\u0119pne w bie\u017C\u0105cym trybie, formacie lub sytuacji.","settings.camera_near_plane":"Kamera w pobli\u017Cu p\u0142aszczyzny","settings.camera_near_plane.desc":"Minimalny dystans z kamery gdzie objekt si\u0119 renderuje. Wy\u017Csze warto\u015Bci obni\u017Ca Z-fighting. Domy\u015Blne to 1.","mode.start.keymap_preference.desc":"Je\u015Bli jeste\u015B nowym u\u017Cytkownikiem Blockbencha i przechodzisz z innego programu 3D, mo\u017Cesz wybra\u0107 map\u0119 klawiszy, aby u\u0142atwi\u0107 sobie przej\u015Bcie. Mo\u017Cesz zmieni\u0107 map\u0119 klawiszy lub poszczeg\xF3lne przypisania klawiszy p\xF3\u017Aniej w ustawieniach.","message.load_keymap":"Czy na pewno chcesz za\u0142adowa\u0107 t\u0119 map\u0119 klawiszy? To nadpisze twoje obecne przypisania klawiszy.","message.keymap_loaded":"Mapa klawiszy za\u0142adowana","dialog.convert_project.current_format":"Aktualny format","dialog.create_texture.rearrange_uv.desc":"Utw\xF3rz nowy uk\u0142ad UV, aby nada\u0107 ka\u017Cdej \u015Bcianie jej w\u0142asne miejsce na teksturze","dialog.create_texture.power.desc":"Zablokuj automatyczny rozmiar tekstury do pot\u0119gi 2, takiej jak 64 lub 128. Jest to wymagane przez niekt\xF3re programy","dialog.create_texture.double_use.desc":"Je\u015Bli dwa elementy maj\u0105 ju\u017C przypisan\u0105 t\u0119 sam\u0105 przestrze\u0144 UV, zachowaj j\u0105 w ten spos\xF3b w nowej mapie","dialog.create_texture.padding.desc":"Dodaj niewielkie wype\u0142nienie mi\u0119dzy poszczeg\xF3lnymi cz\u0119\u015Bciami szablonu","dialog.create_texture.resolution.desc":"Podstawowa rozdzielczo\u015B\u0107 tekstury, w pikselach na metr. Rzeczywisty rozmiar mapy tekstury mo\u017Ce si\u0119 r\xF3\u017Cni\u0107 w zale\u017Cno\u015Bci od ilo\u015Bci i wielko\u015Bci element\xF3w.","dialog.create_gif.color":"Kolor t\u0142a","dialog.save_angle.zoom":"Przybli\u017Cenie","dialog.skin.variant":"Wariant","dialog.flip_animation.info":'Przeciwleg\u0142e ko\u015Bci s\u0105 identyfikowane przez s\u0142owa kluczowe "lewa" i "prawa" w ich nazwie.',"dialog.export_private_settings.title":"Prywatne ustawienia","dialog.export_private_settings.message":"Tw\xF3j plik zawiera nast\u0119puj\u0105ce prywatne informacje: **%0**. Usu\u0144 te warto\u015Bci, je\u015Bli planujesz udost\u0119pni\u0107 plik komu\u015B innemu.","dialog.export_private_settings.keep":"Zachowaj","settings.timecode_frame_number":"Wy\u015Bwietlanie kod\xF3w czasowych jako numer\xF3w klatek","settings.timecode_frame_number.desc":"Wy\u015Bwietlanie kod\xF3w czasowych frakcji na osi czasu w postaci numeru klatki zamiast centysekundy","settings.animation_sample_rate":"Animation Sample Rate","settings.animation_sample_rate.desc":"Sample rate in samples per second for curves that the respective format does not support natively","keybind.preview_zoom":"Przybli\u017Cenie widoku","action.gradient_tool":"Narz\u0119dzie gradientu","action.gradient_tool.desc":"Utw\xF3rz kolorowy gradient na swojej teksturze","action.import_settings":"Importuj ustawienia","action.import_settings.desc":"Importuj plik .bbsettings","action.export_settings":"Eksportuj ustawienia","action.export_settings.desc":"Wyeksportuj ustawienia Blockbencha jako plik .bbsettings","action.load_keymap":"Za\u0142aduj map\u0119 klawiszy","action.load_keymap.default":"Domy\u015Blne (g\u0142adzik/mysz)","action.load_keymap.mouse":"Domy\u015Blne (mysz)","action.load_keymap.default.desc":"Default Blockbench keybindings, with viewport navigation controls optimized for use on laptop trackpads","action.load_keymap.mouse.desc":"Default Blockbench keybindings, with viewport navigation bound to the middle mouse button","action.load_keymap.blender.desc":"Mapa klawiszy dla u\u017Cytkownik\xF3w, kt\xF3rzy s\u0105 zaznajomieni z kontrolkami Blendera","action.load_keymap.cinema4d.desc":"Mapa klawiszy dla u\u017Cytkownik\xF3w, kt\xF3rzy s\u0105 zaznajomieni z kontrolkami w Cinema 4D","action.load_keymap.maya.desc":"Mapa klawiszy dla u\u017Cytkownik\xF3w, kt\xF3rzy s\u0105 zaznajomieni z kontrolkami programu Autodesk Maya","action.import_keymap":"Importuj map\u0119 klawiszy","action.import_keymap.desc":"Importuj przypisanie klawiszy z pliku .bbkeymap","action.export_keymap":"Eksportuj map\u0119 klawiszy","action.export_keymap.desc":"Eksportuj aktualne przypisania klawiszy jako plik .bbkeymap","action.edit_history":"Edytuj histori\u0119...","action.edit_history.desc":"Przegl\u0105daj histori\u0119 edycji i cofaj lub ponawiaj kroki","action.group_elements":"Grupuj elementy","action.group_elements.desc":"W\u0142\xF3\u017C wybrane elementy w now\u0105 grup\u0119","action.unfold_groups":"Rozwi\u0144 grupy","action.unfold_groups.desc":"Rozwi\u0144 wszystkie grupy w outlinerze","action.edit_bedrock_binding":"Edytuj przypisanie...","action.edit_bedrock_binding.desc":"Zmie\u0144 ko\u015B\u0107, z kt\xF3r\u0105 zwi\u0105zana jest geometria","action.pick_screen_color":"Pick Screen Color","action.pick_screen_color.desc":"Wybierz kolor z jakiego\u015B miejsca na ekranie","action.view_mode":"Tryb przegl\u0105dania","action.view_mode.desc":"Zmiana trybu widoku modelu","action.view_mode.textured":"Oteksturowany","action.view_mode.solid":"Solid","action.view_mode.wireframe":"Szkielet","action.toggle_sidebars":"Prze\u0142\u0105cz paski boczne","action.toggle_sidebars.desc":"W\u0142\u0105cz lub wy\u0142\u0105cz pask\xF3w bocznych","action.set_animation_end":"Ustaw koniec animacji","action.set_animation_end.desc":"Ustaw koniec wybranej animacji na aktualny czas na osi czasu","action.flip_animation":"Flip Animation","action.flip_animation.desc":"Przerzucenie cz\u0119\u015Bci animacji poprzez skopiowanie wybranych klatek kluczowych na drug\u0105 stron\u0119 modelu","action.graph_editor_zero_line":"Include Zero Line","action.graph_editor_zero_line.desc":"Whether the graph editor always includes the zero line in the view","menu.texture.render_mode":"Tryb renderowania","menu.texture.render_mode.emissive":"Emissive","menu.texture.render_mode.layered":"Layered","menu.preview.angle.edit":"Zmie\u0144 k\u0105t...","menu.animation.start_delay":"Start Delay","menu.animation.loop_delay":"Op\xF3\u017Anienie p\u0119tli","menu.animation.flip_keyframes":"Flip Keyframes","menu.mobile_keyboard.disable_all":"Wy\u0142\u0105cz wszystkie","panel.keyframe.toggle_uniform_scale":"Toggle Uniform Scale","camera_angle.common_isometric_right":"Izometryczny prawy (2:1)","camera_angle.common_isometric_left":"Izometryczny lewy (2:1)","camera_angle.true_isometric_right":"Prawdziwy izometryczny prawy (30\xB0)","camera_angle.true_isometric_left":"Prawdziwy izometryczny lewy (30\xB0)","menu.help.wiki":"Wiki Blockbencha","settings.update_to_prereleases":"Aktualizacja do wersji przedpremierowej","settings.update_to_prereleases.desc":"Automatycznie aktualizuj Blockbench do wersji beta, aby testowa\u0107 nowe funkcje. Wersje przedpremierowe mog\u0105 by\u0107 niestabilne, nie w\u0142\u0105czaj tej opcji je\u015Bli polegasz na Blockbench w pracy lub innych wa\u017Cnych projektach.","data.separator.spacer":"Spacer","data.separator.linebreak":"Line Break","data.setting":"Ustawienie","generic.select_all":"Wybierz wszystko","generic.select_none":"Wybierz nic","projects.new_tab":"Nowa zak\u0142adka","projects.close_tab":"Zamknij zak\u0142adk\u0119","message.invalid_format.title":"Nieprawid\u0142owy format","message.invalid_format.message":"Ten model zosta\u0142 stworzony w formacie '%0', kt\xF3ry nie jest dost\u0119pny w twojej instalacji Blockbencha. Najprawdopodobniej potrzebujesz pluginu, aby otworzy\u0107 go poprawnie.","message.invalid_link":"Nieprawid\u0142owy lub wygas\u0142y link modelu","message.default_textures.current":"Aktualna \u015Bcie\u017Cka","message.update_after_restart":"Aktualizacja zostanie zainstalowana po nast\u0119pnym uruchomieniu","message.copy_paste_tool_viewport":"To narz\u0119dzie mo\u017Ce by\u0107 u\u017Cywane tylko w panelu UV","dialog.project.shadow_size":"Rozmiar cienia","dialog.find_replace.target":"Cel","dialog.find_replace.target.element_names":"Nazwy element\xF3w","dialog.find_replace.target.group_names":"Nazwy grup","dialog.find_replace.target.animation_names":"Nazwy animacji","dialog.find_replace.target.keyframe_values":"Warto\u015Bci klatek kluczowych","dialog.find_replace.find":"Znajd\u017A","dialog.find_replace.replace":"Zamie\u0144","dialog.find_replace.regex":"Regular Expression","dialog.add_primitive.shape":"Kszta\u0142t","dialog.add_primitive.shape.circle":"K\xF3\u0142ko","dialog.add_primitive.shape.tube":"Tuba","dialog.add_primitive.shape.cone":"Sto\u017Cek","dialog.add_primitive.shape.cylinder":"Cylinder","dialog.add_primitive.shape.sphere":"Sfera","dialog.add_primitive.shape.torus":"Torus","dialog.add_primitive.shape.cube":"Kostka","dialog.add_primitive.shape.pyramid":"Piramida","dialog.add_primitive.diameter":"\u015Arednica","dialog.add_primitive.height":"Wysoko\u015B\u0107","dialog.add_primitive.sides":"\u015Aciany","dialog.add_primitive.minor_diameter":"Grubo\u015B\u0107","dialog.add_primitive.minor_sides":"Minor Sides","dialog.create_texture.combine_polys":"Po\u0142\u0105cz \u015Bciany","dialog.create_texture.combine_polys.desc":"Combine faces into connected UV islands","dialog.model_stats.meshes":"Siatki","dialog.export_private_settings.omit":"Leave Out","layout.select":"Wybierz","layout.options":"Opcje","layout.color":"Schemat kolor\xF3w","layout.documentation":"Dokumentacja","layout.color.bright_ui_text":"Jasne UI","layout.color.bright_ui_text.desc":"Text on bright backgrounds","layout.name":"Nazwa","layout.author":"Autor","settings.dialog.desc":'Show the "%0" dialog',"settings.export_empty_groups":"Eksportuj puste grupy","settings.export_empty_groups.desc":"Uwzgl\u0119dniaj grupy bez zawarto\u015Bci w eksportowanych plikach","category.separators":"Separatory","keybind.preview_area_select":"Area Select","action.color_erase_mode":"Tryb kasowania","action.color_erase_mode.desc":"Po w\u0142\u0105czeniu trybu wymazywania narz\u0119dzia takie jak wype\u0142nienie i prostok\u0105t usuwaj\u0105 kolory, zamiast je dodawa\u0107.","action.open_from_link":"Otw\xF3rz model poprzez link...","action.open_from_link.desc":"Otw\xF3rz model z adresu URL blckbn.ch","action.import_obj":"Importuj model OBJ","action.import_obj.desc":"Importuj obiekty z modelu OBJ jako siatk\u0119","action.add_plugin":"Zainstaluj plugin","action.add_plugin.desc":"Install a plugin through Action Control","action.remove_plugin":"Odinstaluj plugin","action.remove_plugin.desc":"Odinstaluj plugin za pomoc\u0105 narz\u0119dzia Action Control","action.add_mesh":"Dodaj siatk\u0119","action.add_mesh.desc":"Dodaje now\u0105 siatk\u0119","action.add_texture_mesh":"Dodaj tekstur\u0119 siatki","action.add_texture_mesh.desc":"Dodaje now\u0105 tekstur\u0119 siatki","action.find_replace":"Znajd\u017A/Zamie\u0144...","action.find_replace.desc":"Znajd\u017A i zast\u0105p cz\u0119\u015Bci nazw","action.hide_everything_except_selection":"Ukryj wszystko poza zaznaczonymi elementami","action.hide_everything_except_selection.desc":"Prze\u0142\u0105czanie widoczno\u015Bci wszystkich element\xF3w opr\xF3cz tych, kt\xF3re s\u0105 zaznaczone","action.transform_space.normal":"Zwykle","action.selection_mode":"Tryb zaznaczania","action.selection_mode.desc":"Change how elements can be selected in the viewport","action.selection_mode.object":"Obiekt","action.selection_mode.face":"\u015Aciana","action.selection_mode.vertex":"Wierzcho\u0142ek","action.create_face":"Stw\xF3rz \u015Bcian\u0119 lub lini\u0119","action.create_face.desc":"Tworzy now\u0105 \u015Bcian\u0119 lub lini\u0119 pomi\u0119dzy wybranymi wierzcho\u0142kami","action.convert_to_mesh":"Przekonwertuj na siatk\u0119","action.convert_to_mesh.desc":"Przekonwertuj zaznaczone elementy na siatk\u0119","action.invert_face":"Odwr\xF3\u0107 \u015Bcian\u0119","action.invert_face.desc":"Odwr\xF3\u0107 wybrane \u015Bciany, aby by\u0142y zwr\xF3cone w przeciwnym kierunku","action.extrude_mesh_selection":"Extrude Selection","action.extrude_mesh_selection.desc":"Extrude the selected parts of the mesh","action.loop_cut":"Loop Cut","action.loop_cut.desc":"Podziel siatk\u0119 w p\u0119tli przez wybran\u0105 lini\u0119","action.merge_meshes":"Scal siatki","action.merge_meshes.desc":"Scal wiele siatek w jedn\u0105","action.keyframe_uniform":"Uniform Scaling","action.keyframe_uniform.desc":"Enable uniform scaling on the selected keyframes","menu.locator.ignore_inherited_scale":"Ignoruj skal\u0119 dziedziczon\u0105","menu.texture.elements":"Zastosuj do element\xF3w","uv_editor.transparent_face":"Przezroczysta \u015Bciana","display.pose_angle":"K\u0105t pozy (tylko do podgl\u0105du)","data.mesh":"Siatka","dialog.create_texture.type":"Typ","dialog.create_texture.type.blank":"Pusty","dialog.create_texture.type.template":"Szablon tekstury","dialog.create_texture.type.color_map":"Szablon kolor\xF3w jednolitych","dialog.sketchfab_uploader.suggested_tags":"Sugerowane tagi","dialog.sketchfab_uploader.category":"Kategoria","dialog.sketchfab_uploader.category2":"Kategoria 2","layout.restore_backup":'Tw\xF3j niestandardowy motyw "%0" zosta\u0142 nadpisany. Kliknij tutaj, aby go przywr\xF3ci\u0107.',"layout.borders":"Obramowania","action.fill_mode.element":"Element","action.inset_mesh_selection":"Inset Selection","action.inset_mesh_selection.desc":"Inset the selected parts of the mesh","action.dissolve_edges":"Dissolve Edges","action.dissolve_edges.desc":"Dissolve selected edges in a mesh and merge the faces they divide","action.split_mesh":"Podziel siatk\u0119","action.split_mesh.desc":"Podziel wybrane \u015Bciany siatki w now\u0105 siatk\u0119","action.merge_vertices":"Scal wierzcho\u0142ki","action.merge_vertices.desc":"Scal wybrane wierzcho\u0142ki w pozycji pierwszego wybranego wierzcho\u0142ka","action.view_mode.normal":"Face Orientation","action.snap_uv_to_pixels":"Snap UV to Pixels","action.snap_uv_to_pixels.desc":"Snaps the selected UV vertices to the pixel grid","menu.file.import.import_open_project":"Importuj otwarty projekt","menu.help.unlock_projects":"Odblokuj wszystkie projekty","status_bar.selection.faces":"%0 \u015Acia\u0144","status_bar.selection.vertices":"%0 Wierzcho\u0142k\xF3w","message.merged_vertices":"Znaleziono i po\u0142\u0105czono %0 wierzcho\u0142k\xF3w w %1 lokalizacjach","settings.vertex_merge_distance":"Odleg\u0142o\u015B\u0107 scalania wierzcho\u0142k\xF3w","settings.vertex_merge_distance.desc":"Odleg\u0142o\u015B\u0107, w ramach kt\xF3rej wierzcho\u0142ki s\u0105 scalane przy u\u017Cyciu scalania przez odleg\u0142o\u015B\u0107","settings.show_only_selected_uv":"Poka\u017C tylko wybrane UV","settings.show_only_selected_uv.desc":"Domy\u015Blnie wy\u015Bwietlaj tylko wybrane twarze UV w edytorze UV","action.merge_vertices.merge_all":"Scal wszystko","action.merge_vertices.merge_all_in_center":"Scal wszystko w centrum","action.merge_vertices.merge_by_distance":"Scal wed\u0142ug odleg\u0142o\u015Bci","action.merge_vertices.merge_by_distance_in_center":"Scalanie wed\u0142ug odleg\u0142o\u015Bci w centrum","action.uv_rotate_left":"Obr\xF3\u0107 UV w lewo","action.uv_rotate_left.desc":"Obr\xF3\u0107 wybrane \u015Bciany UV w kierunku przeciwnym do ruchu wskaz\xF3wek zegara.","action.uv_rotate_right":"Obr\xF3\u0107 UV w prawo","action.uv_rotate_right.desc":"Obr\xF3\u0107 wybrane twarze UV zgodnie z ruchem wskaz\xF3wek zegara","menu.uv.display_uv":"Wy\u015Bwietl UV","menu.uv.display_uv.selected_faces":"Zaznaczone \u015Bciany","menu.uv.display_uv.selected_elements":"Wszystkie \u015Bciany","menu.uv.display_uv.all_elements":"Wszystkie \u015Bciany na wszystkich elementach","menu.paste.face":"\u015Aciana UV","menu.paste.mesh_selection":"Wyb\xF3r siatki","menu.paste.outliner":"Elementy","uv_editor.show_all_faces":"Poka\u017C wszystkie \u015Bciany","uv_editor.show_selected_faces":"Poka\u017C wybrane \u015Bciany","status_bar.selection.edges":"%0 Kraw\u0119dzi","action.selection_mode.edge":"Kraw\u0119d\u017A","message.cannot_re_import.title":"Model nie mo\u017Ce zosta\u0107 ponownie zaimportowany","message.cannot_re_import.message":"Wybrany format modelu nie mo\u017Ce by\u0107 zaimportowany do Blockbencha ponownie. Upewnij si\u0119, \u017Ce zapisujesz model w pliku projektu.","generic.default":"Domy\u015Blny","units.pixels_per_meter":"%0 Pikseli na metr","mode.pose":"Poza","modifier_actions.resize_both_sides":"Zmie\u0144 rozmiar w dw\xF3ch kierunkach","modifier_actions.resize_one_side":"Zmie\u0144 rozmiar w jednym kierunku","modifier_actions.draw_line":"Narysuj lini\u0119","modifier_actions.drag_without_snapping":"Drag without snapping","modifier_actions.stretch_keyframes":"Stretch keyframes","modifier_actions.resize_background":"Zmie\u0144 rozmiar t\u0142a","modifier_actions.select_multiple":"Zaznacz wiele","modifier_actions.select_range":"Wybierz zakres","modifier_actions.drag_to_duplicate":"Przeci\u0105gnij aby powieli\u0107","modifier_actions.uniform_scaling":"Uniform Scaling","modifier_actions.snap_direction":"Snap Direction","message.no_valid_elements":"No valid elements selected...","dialog.add_primitive.shape.plane":"P\u0142aszczyzna","dialog.save_angle.rotation_mode":"Rotation Mode","dialog.save_angle.rotation":"Obr\xF3t","dialog.save_angle.fov":"Pole widzenia","settings.hide_tab_bar":"Automatycznie ukrywaj pasek tab","settings.hide_tab_bar.desc":"Ukryj pasek tab, gdy otwarta jest tylko jedna karta","settings.status_bar_modifier_keys":"Suggest Modifier Keys in Status Bar","settings.status_bar_modifier_keys.desc":"Display context aware suggested modifier keys in the status bar","settings.ground_plane":"Ground Plane","settings.ground_plane.desc":"Show a floor plane below the model","settings.preview_paste_behavior":"Default Viewport Paste Behavior","settings.preview_paste_behavior.desc":"Select the behavior when pasting something into the viewport in Edit mode and multiple options are available","settings.preview_paste_behavior.always_ask":"Zawsze pytaj","action.new_window":"Nowe okno","action.new_window.desc":"Otwiera nowe okno Blockbencha","action.export_collada":"Eksportuj model Collada (dae)","action.export_collada.desc":"Eksportuj model i animacje jako plik dae, aby u\u017Cywa\u0107 ich w innych programach 3D","action.paint_mode_uv_overlay":"UV Overlay","action.paint_mode_uv_overlay.desc":"Display the UV map as an overlay in paint mode","action.bake_animation_into_model":"Bake Animation Pose into Model","action.bake_animation_into_model.desc":"Bake the currently displayed animation frame into the model. Only applies rotation and position, scale is ignored.","action.keyframe_interpolation.step":"Step","action.set_ik_target":"Set IK Target","action.set_ik_target.desc":"Select the target bone that should be moved by this null object via Inverse Kinematics","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"K\u0105t kamery","menu.action_control.recent_in_streamer_mode":"Na pewno? Tryb Streamera jest w\u0142\u0105czony","menu.action_control.recent_in_streamer_mode.desc":"Are you sure you want to display recent models?","menu.tools":"Tools","menu.file.recent.more":"View More...","menu.null_object.lock_ik_target_rotation":"Lock IK Target Rotation","menu.animation_file.import_remaining":"Import Remaining from File","edit.loop_cut.offset":"Offset","edit.extrude_mesh_selection.extend":"Extend","cube.color.pink":"Pink","cube.color.silver":"Srebrny","dialog.plugins.offline":"Brak po\u0142\u0105czenia internetowego","dialog.create_texture.pixel_density":"Pixel Density","dialog.create_texture.pixel_density.desc":"The pixel density of the texture, in pixels per meter. The size of the texture map may differ depending on the amount and size of elements.","panel.skin_pose":"Poza","panel.skin_pose.none":"\u017Badna","panel.skin_pose.natural":"Naturalna","panel.skin_pose.walking":"Chodzenie","panel.skin_pose.crouching":"Kucanie","panel.skin_pose.sitting":"Siedzenie","panel.skin_pose.jumping":"Skakanie","panel.skin_pose.aiming":"Celowanie","edit.loop_cut.direction":"Kierunek","data.texture_mesh":"Texture Mesh","generic.left":"Left","generic.right":"Right","mode.start.quick_setup":"Quick Setup","mode.start.keymap":"Keymap","mode.start.quick_setup.more_themes":"More...","dialog.resize_texture.animation_frames":"Animation Frames","dialog.export_emission_map.title":"Export Emission Map","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Luminance","dialog.export_emission_map.format.luminance_inverted":"Luminance Inverted","dialog.export_emission_map.format.colors":"Colors","dialog.export_emission_map.threshold":"Transparency Threshold","dialog.export_emission_map.round_up":"Round Up to %0 x %1","dialog.export_emission_map.flip_y":"Flip Y Axis","dialog.select.type":"Element Type","dialog.create_texture.max_edge_angle":"Edge Angle Threshold","dialog.create_texture.max_edge_angle.desc":"The maximum angle between two faces at which they will still be combined","dialog.create_texture.max_island_angle":"Island Angle Threshold","dialog.create_texture.max_island_angle.desc":"The maximum angle that can be combined into the same UV island","settings.mobile_panel_side":"Mobile Panel Side","settings.mobile_panel_side.desc":"Select which side of the screen panels are displayed on when using Blockbench on in landscape orientation","settings.obj_face_export_mode":"OBJ Face Export Mode","settings.obj_face_export_mode.desc":"Choose to let the OBJ exporter convert all faces into tris or quads","settings.obj_face_export_mode.both":"Default","settings.obj_face_export_mode.tris":"Convert to Tris","settings.obj_face_export_mode.quads":"Convert to Quads","action.seam_tool":"Seam Tool","action.seam_tool.desc":"Tool to define UV seams on mesh edges","action.resolve_group":"Resolve Group","action.resolve_group.desc":"Resolve the group while retaining its children in the same place","action.move_to_group":"Move to","action.move_to_group.desc":"Move the selected elements to a different outliner group or element","action.select_seam":"Select UV Seam","action.select_seam.desc":"Select the UV seam mode for the selected edges","action.select_seam.auto":"Auto","action.select_seam.join":"Join","action.select_seam.divide":"Divide","action.adjust_brightness_contrast":"Adjust Brightness & Contrast...","action.adjust_brightness_contrast.desc":"Adjust the brightness and contrast of the selected texture","action.adjust_saturation_hue":"Adjust Saturation & Hue...","action.adjust_saturation_hue.desc":"Adjust the saturation and hue of the selected texture","action.invert_colors":"Invert Colors","action.invert_colors.desc":"Invert all colors of the selected texture","action.adjust_curves":"Adjust Curves...","action.adjust_curves.desc":"Adjust the brightness curves of the selected texture","action.flip_texture_x":"Flip Horizontally","action.flip_texture_y":"Flip Vertically","action.resize_texture":"Resize Texture...","action.view_mode.uv":"UV Preview","action.append_to_template":"Append Elements to Template...","action.append_to_template.desc":"Add the currently selected elements to the texture template","action.move_texture_with_uv":"Move Texture with UV","action.move_texture_with_uv.desc":"Move the texture of the face along when dragging UV faces","action.timeline_setups":"Timeline Setups","action.save_timeline_setup":"Save Timeline Setup...","action.save_timeline_setup.desc":"Save a preset for the currently selected animators and channels","menu.texture":"Texture","menu.texture.render_mode.default":"Default","menu.texture.merge_onto_texture":"Merge Onto Texture Above","menu.animation.unload":"Unload","panel.timeline":"Timeline","action.pan_tool":"Pan Tool","action.pan_tool.desc":"Tool to navigate in the viewport and the texture editor","mode.start.recent.favorite":"Mark as Favorite","mode.start.info":"Info","mode.start.target":"Target","mode.start.start":"Start","mode.start.create_new":"Create New Model","mode.start.format.informations":"Good to know:","mode.start.format.resources":"Resources:","format.free.info.meshes":"In this format, you can create low poly models using cubes and custom shaped meshes.","format.free.info.limitation":"Models cannot be loaded into games that need specialized formats, such as Minecraft.","format.skin.info.skin":"This format is designed to create Minecraft skins and entity textures.","format.skin.info.model":"The model cannot be changed. In order to make changes to the model, first convert to a different format via **File** > **Convert Project**.","format.java_block.info.rotation":"Rotations are limited to one axis per element","format.java_block.info.size":"The model is limited to a size of 3 by 3 by 3 blocks. Display settings can make item models larger though","format.java_block.info.animation":"This format does not support animations in vanilla Minecraft. If you are creating a mod, you can use GeckoLib to animate models. If not, the only way to animate is to switch out the model using commands or animated textures.","format.bedrock.info.textures":"Each model can only have one texture","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Block model for Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"The size of individual cubes is limited to integers.","format.modded_entity.info.format":"Models are written in Java code instead of dedicated data structures like all other Blockbench export formats.","format.optifine_entity.info.optifine_required":"Users without OptiFine installed won't see the model.","format.optifine_entity.info.pivots":"Bone pivots are locked, so it is a good idea to leave them untouched.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Other","format_category.loaders":"Loaders","message.recover_backup.recover":"Recover","message.invalid_characters.title":"Invalid Path","message.invalid_characters.message":"The path of the imported file contains invalid characters, uppercase letters, or white spaces. The supported characters are: %0","dialog.share_model.thumbnail":"Thumbnail","dialog.skin.high_res_texture":"Please note that skins with the selected resolution will not work as regular Minecraft skins. Select a lower resolution.","settings.allow_display_slot_mirror":"Allow Display Slot Mirroring","settings.allow_display_slot_mirror.desc":"Allow Display slots for Java item models to be mirrored. WARNING: This only works in Minecraft 1.14 or earlier or in special cases.","action.switch_tabs":"Switch Tabs","action.switch_tabs.desc":"Cycle between opened tabs. Hold shift to cycle in the opposite direction.","action.unselect_all":"Unselect All","action.save_palette":"Save Palette...","action.save_palette.desc":"Save the current color palette inside Blockbench for later use","action.keyframe_column_create":"Create Keyframe Column","action.keyframe_column_create.desc":"Key all channels in the timeline at the current timecode, if they already have keyframes","action.keyframe_column_select":"Select Keyframe Column","action.keyframe_column_select.desc":"Select all keyframes in the timeline along a column below the playhead","menu.uv":"UV","menu.keyframe":"Keyframe","menu.palette.load.update":"Update Palette","menu.palette.load.update.desc":"Updates this palette with the colors of the current Blockbench palette","menu.timeline_marker.set_time":"Set Time...","uv_editor.scale_uv":"Scale UV","action.preview_scene":"Preview Scene","action.preview_scene.desc":"Change the model preview scene","preview_scene.minecraft_overworld":"Overworld","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"Flip Y Axis","preview_scene.studio":"Studio","format.image":"Image","modifier_actions.set_copy_source":"Set Copy Source","message.load_images.title":"Load Images","message.load_images.edit_image":"Edit Image","dialog.add_primitive.align_edges":"Align Edges","dialog.flip_animation.show_in_timeline":"Show modified bones in timeline","settings.default_cube_size":"Cube Size","settings.default_cube_size.desc":"Set the default cube size when creating a new cube","settings.uniform_keyframe":"Uniform Scale Keyframes","settings.uniform_keyframe.desc":"Set scale keyframes to uniform scaling by default","settings.nearest_rectangle_select":"Rectangle Selection: Nearest Edge","settings.nearest_rectangle_select.desc":"Snap rectangle selections to the nearest pixel edge, like in GIMP, instead of entire pixels.","settings.pick_color_opacity":"Pick Color Opacity","settings.pick_color_opacity.desc":"Pick the color opacity with the Color Picker and set it as brush opacity","settings.paint_with_stylus_only":"Paint with Stylus Only","settings.paint_with_stylus_only.desc":"Only use the stylus for painting, reserve mouse or touch input for navigation.","action.copy_brush_mode":"Copy Brush Mode","action.copy_brush_mode.copy":"Copy","action.copy_brush_mode.pattern":"Pattern","action.copy_brush_mode.sample":"Sample","action.brush_shape":"Brush Shape","action.brush_shape.square":"Square","action.brush_shape.circle":"Circle","action.blend_mode":"Blend Mode","action.blend_mode.default":"Default","action.blend_mode.set_opacity":"Set Opacity","action.blend_mode.color":"Color","action.blend_mode.behind":"Behind","action.blend_mode.multiply":"Multiply","action.blend_mode.divide":"Divide","action.blend_mode.add":"Add","action.blend_mode.subtract":"Subtract","action.blend_mode.screen":"Screen","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Hard Light","action.blend_mode.difference":"Difference","action.copy_brush":"Copy Brush","action.copy_brush.desc":"Brush to clone parts of your texture or draw patterns. Hold Ctrl and click to select a copy source.","action.validator_window":"View Model Issues...","action.validator_window.desc":"Opens the validator, which lists issues with the current model.","action.cancel_gif":"Cancel GIF","menu.text_edit.copy_vector":"Copy Vector","menu.brush_presets.dialog":"Brush Presets...","menu.brush_presets.pixel_brush":"Pixel Brush","menu.brush_presets.smooth_brush":"Smooth Brush","menu.texture.edit_in_blockbench":"Edit in Blockbench","menu.mirror_painting.axis":"Axis","menu.mirror_painting.axis.desc":"Select on which axis paint strokes will get mirrored","menu.mirror_painting.global":"Global Symmetry","menu.mirror_painting.global.desc":"Enabled mirror painting on the model in global space","menu.mirror_painting.local":"Local Symmetry","menu.mirror_painting.local.desc":"Enable mirror painting in local space for each element","menu.mirror_painting.texture_frames":"Repeat on Flipbook Frames","menu.mirror_painting.texture_frames.desc":"Mirror paint strokes to every frame of animated textures","format.bedrock_block.info.size_limit":"Size total size of a block is limited to 30 pixels in all dimensions. The limit can be off-centered in all directions by 7 pixels from the block center.","format.bedrock_block.info.textures":"Multiple textures can be applied to different cubes in Blockbench, but require additional setup in the behavior pack to work correctly in-game.","format.image.desc":"Edit images in the 2D image editor","generic.delete_all":"Delete All","message.child_model_only.open":"Open Parent","message.child_model_only.open_with_textures":"Open Parent & Adopt Textures","dialog.project.credit":"Credit","dialog.convert_project.create_copy":"Create Copy","dialog.texture.frame_time":"Frame Time","dialog.texture.frame_time.desc":"Set for how long each frame will be visible, in ticks. Each tick is 1/20th of a second.","dialog.texture.frame_interpolate":"Interpolate","dialog.texture.frame_interpolate.desc":"Interpolate between animation frames by cross-fading to the next frame","dialog.texture.frame_order_type":"Loop Mode","dialog.texture.frame_order_type.loop":"Loop","dialog.texture.frame_order_type.backwards":"Loop Backwards","dialog.texture.frame_order_type.back_and_forth":"Back-and-Forth","dialog.texture.frame_order_type.custom":"Custom Order","dialog.texture.frame_order":"Frame Order","dialog.texture.frame_order.desc":"Set a custom frame order by listing frame indices in a new order. Frame indices start at 0 with the first frame.","dialog.select.mode":"Mode","dialog.select.mode.new":"New Selection","dialog.select.mode.add":"Add to Selected","dialog.select.mode.remove":"Remove from Selected","dialog.select.mode.in_selection":"Select only from Selected","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Predicates","dialog.predicate_overrides.variants":"Variants","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Add Override","dialog.predicate_overrides.add_predicate":"Add Predicate","dialog.predicate_overrides.generate_overrides":"Generate Overrides","dialog.predicate_overrides.confirm_delete":"Are you sure you want to delete all overrides?","dialog.predicate_overrides.predicate.angle":"Compass Angle","dialog.predicate_overrides.predicate.blocking":"Is Blocking","dialog.predicate_overrides.predicate.broken":"Is Broken","dialog.predicate_overrides.predicate.cast":"Is Cast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Damage","dialog.predicate_overrides.predicate.damaged":"Is Damaged","dialog.predicate_overrides.predicate.lefthanded":"Is Left-Handed","dialog.predicate_overrides.predicate.pull":"Pull Amount","dialog.predicate_overrides.predicate.pulling":"Is Pulling","dialog.predicate_overrides.predicate.charged":"Is Charged","dialog.predicate_overrides.predicate.firework":"Has Firework","dialog.predicate_overrides.predicate.throwing":"Ready to Throw","dialog.predicate_overrides.predicate.time":"Time of Day","dialog.predicate_overrides.predicate.custom_model_data":"Custom Model Data","dialog.predicate_overrides.predicate.level":"Light Level","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","settings.model_export_scale":"Model Export Scale","settings.model_export_scale.desc":"Factor by which the scale of exported glTF, DAE, and FBX models gets reduced. The default is 16, which converts 16 Blockbench units into 1 meter in the export.","action.export_fbx":"Export FBX Model","action.export_fbx.desc":"Export model and animations as fbx file to use it in other 3D applications and game engines","action.center_lateral":"Center Lateral","action.center_lateral.desc":"Center the selected elements on the X and Z axis","action.adjust_opacity":"Adjust Opacity...","action.adjust_opacity.desc":"Adjust the opacity of the selected texture","action.rotate_texture_cw":"Rotate Clockwise","action.rotate_texture_ccw":"Rotate Counter-clockwise","action.predicate_overrides":"Edit Predicate Overrides...","action.predicate_overrides.desc":"Select models to override this model based on selected conditions","action.auto_set_cullfaces":"Set Cullfaces Automatically","action.auto_set_cullfaces.desc":"Automatically generate cullfaces to hide faces when they are covered by the neighboring block.","menu.texture.edit_externally":"Edit Externally","menu.mirror_painting.texture":"2D Editor Symmetry","menu.mirror_painting.texture.desc":"Enable mirror painting in 2D space on the image or texture","menu.animator.rotation_global":"Rotate in Global Space","uv_editor.face_properties":"Face Properties","uv_editor.face_properties.material_instance":"Material Instance","uv_editor.tint.info":"Tint can be enabled on a face to tell Minecraft to tint it. In vanilla, tint can only be used by specific blocks such as leaves and redstone dust, and can only have a value of 0.","uv_editor.cullface.info":"Enabling cullface tells a face on a block to unrender if another full block is placed next to it in the specified direction in your Minecraft world. This can be used to optimize performance.","uv_editor.material_instance.info":"Material instances can be set to a user-defined name. That name can be used in the block JSON file in the behavior pack to assign a particular texture and material that the face.","display.reference.frame_invisible":"Item Frame (Invisible)","data.settings_profile":"Profile","message.display_skin.invalid_name":'Cannot find Minecraft account with the name "%0".',"dialog.load_plugins_from_query.title":"Load Plugins","dialog.load_plugins_from_query.text":"You used a link that requires plugins to be installed. Would you like to install them?","dialog.select_model.title":"Select Model","dialog.select_model.bones":"Bones","dialog.select_model.cubes":"Cubes","dialog.settings.create_profile":"Create Profile...","settings_profile.confirm_delete":"Are you sure you want to delete this settings profile?","settings_profile.condition.type.selectable":"Manually Selectable","settings.interface_mode":"UI Mode","settings.interface_mode.desc":"Interface mode","settings.interface_mode.auto":"Automatic","settings.interface_mode.desktop":"Desktop","settings.interface_mode.mobile":"Mobile","settings.paint_through_transparency":"Paint Through Transparency","settings.paint_through_transparency.desc":"Paint through transparent pixels when Lock Alpha Channel is enabled","action.tab_overview":"Tab Overview","action.tab_overview.desc":"View all open tabs in a grid and jump to one","action.slider_color_red":"Color Red","action.slider_color_green":"Color Green","action.slider_color_blue":"Color Blue","action.add_animation_controller":"Add Animation Controller","action.add_animation_controller.desc":"Create a blank animation controller","action.animation_controller_preview_mode":"Controller Preview","action.animation_controller_preview_mode.paused":"Paused","action.animation_controller_preview_mode.manual":"Manual Preview","action.animation_controller_preview_mode.play":"Auto Play","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Link B\xE9zier Handles","action.keyframe_bezier_linked.desc":"Connect the right and left keyframe b\xE9zier handle","action.reset_keyframe_handles":"Reset Keyframe Handles","action.reset_keyframe_handles.desc":"Reset the b\xE9zier handles of the selected keyframes","action.looped_animation_playback":"Looped Playback","action.looped_animation_playback.desc":"Preview animations in an infinite loop","timeline.bind_to_actor":"Bind to Actor","animation_controllers.select_preset":"Select a controller preset...","animation_controllers.state.animations":"Animations","animation_controllers.state.particles":"Particles","animation_controllers.state.sounds":"Sounds","animation_controllers.state.on_entry":"On Entry","animation_controllers.state.on_exit":"On Exit","animation_controllers.state.transitions":"Transitions","animation_controllers.state.condition":"Condition","animation_controllers.state.blend_transition":"Blend Time","animation_controllers.state.shortest_path":"Blend by Shortest Path","animation_controllers.state.edit_transition":"Edit Transition","menu.color_picker.picker_type":"Picker Type","menu.color_picker.picker_type.square":"Square","menu.color_picker.picker_type.wheel":"Wheel","menu.color_picker.slider_mode":"Slider Mode","menu.color_picker.slider_mode.hsv":"Hue, Saturation, Value","menu.color_picker.slider_mode.rgb":"Red, Green, Blue","menu.texture.render_mode.additive":"Additive","panel.color.picker_options":"Color Picker Options","panel.animation_controllers":"Animation Controller","display.preset.armor_stand":"Ground (Armor Stand)","data.file_path":"File Path","dialog.extrude.orientation":"Orientation","dialog.extrude.orientation.upright":"Upright","dialog.extrude.orientation.flat":"Flat","dialog.scale.box_uv_warning":"Scaling a Box UV model may break the UV of your model. Instead, try to scale your model externally, or switch to Per-face UV Mode in File > Project.","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Sequence","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.bg_image":"Background Image","dialog.create_gif.turn.desc":"Rotate the model while recording. Use negative values to turn the model clockwise. A value of 60 corresponds to one rotation every second.","settings_profile.condition":"Condition","settings_profile.condition.type.file_path.desc":"Use Regular Expression syntax to match the file path of the current project. Use forward slashes for directories","settings.only_selected_bezier_handles":"Show Only Selected B\xE9zier Handles","settings.only_selected_bezier_handles.desc":"Hide handles of b\xE9zier keyframes that are not currently selected","settings.embed_textures":"Embed Textures","settings.embed_textures.desc":"Embed texture file content in .bbmodel files","action.selection_mode.cluster":"Cluster","dialog.copied_to_clipboard":"Copied to clipboard","data.reference_image":"Reference Image","message.delete_reference_image":"Are you sure you want to delete this reference image? This cannot be undone.","message.add_reference_image.message":"Select where to load the reference image","message.add_reference_image.project":"Add to this project","message.add_reference_image.app":"Add to all projects","message.import_particle_texture.import":"Import Particle Texture","message.import_particle_texture.message":"Would you like to import a texture file to be used for your particle?","message.save_codec_selector.title":"Save Model Format","message.save_codec_selector.message":"Select a format to save the model in.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"Both","message.display_skin.username":"Username (Java)","message.palette_locked":"The palette is locked","dialog.project.default_uv_mode":"Default UV Mode","dialog.project.default_uv_mode.description":"Default UV Mode of the project. The UV mode can also be changed per cube.","dialog.export_options.title":"Export Options","dialog.edit_texture.preview":"Preview","dialog.proportional_editing.range":"Range","dialog.proportional_editing.falloff":"Falloff","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Smooth","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"Selection","dialog.proportional_editing.selection.linear":"Linear Distance","dialog.proportional_editing.selection.connections":"Connections","dialog.mirror_painting_texture_center.middle":"Middle","dialog.mirror_painting_texture_center.custom":"Custom","dialog.settings.reset_to_default":"Reset to Default","keybindings.item.num_slider.increase":"Increase","keybindings.item.num_slider.decrease":"Decrease","settings.always_show_splash_art":"Always Show Splash Art","settings.always_show_splash_art.desc":"Always display the splash art on the start screen","action.slider_palette_color":"Switch Palette Color","action.slider_palette_color.desc":"Cycle between the colors in the palette","action.proportional_editing":"Proportional Editing","action.proportional_editing.desc":"Proportionally affect surrounding vertices when editing parts of a mesh","action.limit_to_palette":"Limit to Palette","action.limit_to_palette.desc":"Limits the colors of the texture to those in the currently loaded palette","action.edit_reference_images":"Edit Reference Images","action.edit_reference_images.desc":"Turn on reference image mode to add or edit reference images and blueprints","action.add_reference_image":"Add Reference Image","action.reference_image_from_clipboard":"Reference Image from Clipboard","action.reference_image_list":"Reference Images","action.connect_uv_faces":"Connect UV Faces","action.connect_uv_faces.desc":"Connect the selected UV faces to the last selected UV face","action.merge_uv_vertices":"Merge UV Vertices","action.merge_uv_vertices.desc":"Snap the first selected UV vertices to the last selected UV vertices","action.bedrock_animation_mode":"Bedrock Animation Mode","action.bedrock_animation_mode.desc":"Select the mode to edit animations for Minecraft: Bedrock Edition in","action.bedrock_animation_mode.entity":"Entity","action.bedrock_animation_mode.attachable_first":"Item 1st Person","action.bedrock_animation_mode.attachable_third":"Item 3rd Person","timeline.amplify":"Amplify","menu.options":"Options...","menu.palette.lock_palette":"Lock Palette","menu.uv.export":"Export UV Mapping","menu.uv.flip_x":"Mirror X","menu.uv.flip_y":"Mirror Y","menu.mirror_painting.enabled":"Enabled","reference_image.position":"Position","reference_image.size":"Size","reference_image.rotation":"Rotation","reference_image.opacity":"Opacity","reference_image.visibility":"Visibility","reference_image.clear_mode":"Clear Mode","reference_image.layer":"Layer","reference_image.layer.background":"Behind Model","reference_image.layer.viewport":"Above Model","reference_image.layer.float":"Above Interface","reference_image.scope":"Scope","reference_image.scope.project":"Just this project","reference_image.scope.global":"All projects","reference_image.enabled_modes":"Enabled in Modes","codec.common.encoding":"Encoding","codec.common.armature":"Export Groups as Armature","codec.common.export_animations":"Export Animations","codec.common.embed_textures":"Embed Textures","preview.center_camera":"Center Camera","display.reference.frame_top":"Item Frame Top","display.reference.frame_top_invisible":"Item Frame Top (Invisible)","action.proportional_editing_range":"Proportional Editing Range","action.proportional_editing_range.desc":"Adjust the range for proportional editing","action.toggle_all_reference_images":"Hide/Show All Reference Images","action.toggle_all_reference_images.desc":"Toggle the visibility of all reference images at once","action.add_animation_controller_state":"Add Animation Controller State","action.add_animation_controller_state.desc":"Add a new state to the animation controller","menu.slider.round_value":"Round Value","texture.error.too_large":"Resolution exceeds the maximum of %0","dialog.copy_to_clipboard":"Copy to clipboard","dialog.open_url":"Open URL","reference_image.image":"Image","uv_editor.rotate_uv":"Rotate UV","generic.error":"Error","projects.start_screen":"Start Screen","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.plugin_dependencies.title":"Plugin Dependencies","message.plugin_dependencies.message1":"The plugin requires these dependencies:","message.plugin_dependencies.message1_update":"The plugin %0 has been updated and now requires these dependencies:","message.plugin_dependencies.message2":"Do you want to install them to continue?","message.plugin_dependencies.invalid":"Unfortunately the plugin cannot be installed, it has an invalid dependency:","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","dialog.convert_project.text1":"Convert the project into a different format.","dialog.convert_project.text2":"Use conversion at your own risk. Formats have different features and restrictions, so converting will in some cases break parts of your project.","dialog.convert_project.text3":"You cannot undo converting, that is why by default a copy will be created.","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"The following projects contain unsaved changes. Do you want to save your changes?","dialog.unsaved_work.discard_all":"Discard All","dialog.unsaved_work.save_all":"Save All","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Crop/Expand","dialog.resize_texture.mode.scale":"Scale","dialog.plugins.is_installed":"Installed","dialog.plugins.is_disabled":"Disabled","dialog.plugins.disable":"Disable","dialog.plugins.enable":"Enable","dialog.plugins.dependencies":"Depends on:","dialog.view_backups.open_folder":"Open Folder","dialog.share_model.reference_images":"Include Reference Images","dialog.share_model.too_large":"Failed to upload: Model is too large","dialog.share_model.too_large_references":"Failed to upload: Model is too large. Try without reference images.","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","edit.loop_cut.cuts":"Cuts","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"Transparency Render Order","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"Layer","data.panel":"Panel","generic.confirm_delete":"Are you sure you want to delete this?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Layers","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Crop Texture to Selection","action.create_empty_layer":"Create Empty Layer","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Thickness","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Merge into","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var CL={"dialog.ok":"OK","dialog.cancel":"Cancelar","dialog.confirm":"Confirmar","dialog.close":"Fechar","dialog.import":"Importar","dialog.save":"Salvar","dialog.discard":"Discartar","dialog.dontshowagain":"N\xE3o mostrar de novo","data.cube":"Cubo","data.group":"Grupo","data.texture":"Textura","data.plugin":"Plug-in","data.preview":"Pr\xE9-visualiza\xE7\xE3o","data.toolbar":"Barra de ferramentas","data.image":"Imagem","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Deletar","keys.space":"Espa\xE7o","keys.leftclick":"Clique esquerdo","keys.middleclick":"Clique do meio","keys.rightclick":"Clique direito","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"Num\xE9rico %0","keys.caps":"Caps Lock","keys.menu":"Menu de contexto","keys.left":"Esquerda","keys.up":"Cima","keys.right":"Direita","keys.down":"Baixo","keys.pageup":"p\xE1gina para cima","keys.pagedown":"p\xE1gina para baixo","keys.plus":"Mais","keys.comma":"V\xEDrgula","keys.point":"Ponto","keys.minus":"Menos","keys.cross":"Mais","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print","keys.pause":"Pause","message.rotation_limit.title":"Limites de rota\xE7\xE3o","message.rotation_limit.message":'As rota\xE7\xF5es no Minecraft s\xE3o limitadas a um eixo e incrementos de 22.5 graus. Rotacionar em um eixo diferente ir\xE1 limpar todas as rota\xE7\xF5es nos outros eixos. Converta o modelo para "Modelo Gen\xE9rico" se estiver modelando para outros prop\xF3sitos e precisar de rota\xE7\xF5es livres.',"message.file_not_found.title":"Arquivo n\xE3o encontrado","message.file_not_found.message":"O Blockbench n\xE3o p\xF4de encontrar o arquivo solicitado. Verifique se ele est\xE1 salvo localmente e n\xE3o em uma nuvem.","message.screenshot.title":"Captura de tela","message.screenshot.clipboard":"\xC1rea de transfer\xEAncia","message.screenshot.right_click":"Captura de tela - Bot\xE3o direito do mouse para copiar","message.invalid_file.title":"Arquivo inv\xE1lido","message.invalid_file.message":"N\xE3o foi poss\xEDvel abrir o arquivo JSON: %0","message.invalid_model.title":"Arquivo de modelo inv\xE1lido","message.invalid_model.message":"Este arquivo n\xE3o cont\xE9m dados de modelo v\xE1lidos.","message.child_model_only.title":`Modelo derivado vazio
`,"message.child_model_only.message":"Este arquivo \xE9 derivado de %0 e n\xE3o cont\xE9m nenhum modelo.","message.unsaved_textures.title":"Texturas n\xE3o salvas","message.unsaved_textures.message":"Seu modelo tem texturas que ainda n\xE3o foram salvas. Certifique-se de salv\xE1-las e col\xE1-las na pasta correta do seu pacote de recursos.","message.model_clipping.title":"Modelo muito grande","message.model_clipping.message":"Seu modelo tem %0 cubos maiores que o limite de 3x3x3 permitido pelo Minecraft, e por isso n\xE3o ir\xE1 funcionar.","message.loose_texture.title":"Importar textura","message.loose_texture.message":"A textura importada n\xE3o faz parte de um pacote de recursos. O Minecraft s\xF3 pode carregar texturas da pasta de texturas de um pacote de recursos que esteja carregado.","message.loose_texture.change":"Mudar caminho","message.update_res.title":"Resolu\xE7\xE3o da textura","message.update_res.message":"Deseja atualizar a resolu\xE7\xE3o do projeto para a resolu\xE7\xE3o dessa textura? Clique em 'Cancelar' se a sua textura tem uma resolu\xE7\xE3o maior que o normal.","message.update_res.update":"Atualizar","message.bedrock_overwrite_error.message":"O Blockbench n\xE3o pode combinar esse modelo com o arquivo antigo","message.bedrock_overwrite_error.backup_overwrite":"Criar c\xF3pia e substituir","message.bedrock_overwrite_error.overwrite":"Substituir","message.close_warning.message":"Deseja salvar o seu modelo?","message.close_warning.web":"O seu trabalho atual ser\xE1 perdido. Deseja mesmo sair?","message.default_textures.title":"Texturas padr\xE3o","message.default_textures.message":'Selecione a pasta "textures" do pacote de recursos padr\xE3o',"message.default_textures.detail":'Extraia o pacote de texturas padr\xE3o do jar do Minecraft, ou baixe-o da internet. Em seguida, localize e abra a pasta "textures". O Blockbench se lembrar\xE1 desse local e tentar\xE1 obter texturas a partir dele se n\xE3o puder encontr\xE1-las no pacote de recursos atual.',"message.default_textures.select":'Selecione a pasta "textures" padr\xE3o',"message.image_editor.title":"Selecione um editor de imagens","message.image_editor.file":"Selecionar um arquivo...","message.image_editor.exe":"Selecione o execut\xE1vel do editor de imagens","message.display_skin.title":"Mostrar skin","message.display_skin.message":"Selecione uma skin do seu computador ou digite o nome de um jogador","message.display_skin.upload":"Carregar uma skin","message.display_skin.reset":"Redefinir","message.invalid_plugin":"Extens\xE3o inv\xE1lida. Veja o console","message.load_plugin_app":"Voc\xEA quer permitir que essa extens\xE3o fa\xE7a altera\xE7\xF5es no seu computador? Apenas carregue extens\xF5es de pessoas em quem voc\xEA confia.","message.load_plugin_web":"Voc\xEA quer carregar essa extens\xE3o? Apenas carregue extens\xF5es de pessoas em quem voc\xEA confia.","message.preset_no_info":"A predefini\xE7\xE3o n\xE3o cont\xE9m informa\xE7\xF5es para este espa\xE7o","message.restart_to_update":"Reinicie o Blockbench para aplicar as mudan\xE7as","message.save_file":"Salvo como %0","dialog.project.title":"Projeto","dialog.project.name":"Nome do arquivo","dialog.project.parent":"Modelo de origem","dialog.project.geoname":"Identificador do modelo","dialog.project.ao":"Oclus\xE3o de ambiente","dialog.texture.title":"Textura","dialog.texture.variable":"Vari\xE1vel","dialog.texture.namespace":"Ambiente","dialog.texture.folder":"Pasta","dialog.extrude.title":"Extrudar imagem","dialog.extrude.mode":"Modo de digitaliza\xE7\xE3o","dialog.extrude.mode.areas":"\xC1reas","dialog.extrude.mode.lines":"Linhas","dialog.extrude.mode.columns":"Colunas","dialog.extrude.mode.pixels":"Pixels","dialog.extrude.opacity":"Opacidade m\xEDnima","dialog.extrude.scan":"Digitalizar e importar","dialog.display_preset.title":"Criar predefini\xE7\xE3o","dialog.display_preset.message":"Selecione os espa\xE7os que deseja salvar","dialog.display_preset.create":"Criar","dialog.select.title":"Selecionar","dialog.select.group":"No grupo selecionado","dialog.select.name":"O nome cont\xE9m...","dialog.select.random":"Aleatorizar","dialog.select.select":"Selecionar","dialog.scale.title":"Redimensionar modelo","dialog.scale.axis":"Eixo","dialog.scale.clipping":"Seu modelo \xE9 muito grande para a \xE1rea de trabalho","dialog.scale.confirm":"Redimensionar","dialog.plugins.title":"Extens\xF5es","dialog.plugins.installed":"Instaladas","dialog.plugins.available":"Dispon\xEDveis","dialog.plugins.install":"Instalar","dialog.plugins.uninstall":"Desinstalar","dialog.plugins.reload":"Recarregar","dialog.plugins.none_installed":"Nenhuma extens\xE3o instalada","dialog.plugins.none_available":"Nenhuma extens\xE3o dispon\xEDvel","dialog.plugins.web_only":"Apenas para o aplicativo da web","dialog.plugins.app_only":"Apenas para o aplicativo da \xE1rea de trabalho","dialog.plugins.author":"por %0","dialog.create_texture.folder":"Pasta","dialog.create_texture.resolution":"Resolu\xE7\xE3o","dialog.input.title":"Entrada","dialog.settings.settings":"Configura\xE7\xF5es","dialog.settings.keybinds":"Atalhos","dialog.settings.about":"Sobre","layout.color.back":"Cor de fundo","layout.color.back.desc":"Planos de fundo e campos de texto","layout.color.dark":"Cor escura","layout.color.dark.desc":"Plano de fundo da tela","layout.color.ui":"Interface","layout.color.ui.desc":"Cor principal da interface","layout.color.bright_ui":"Interface clara","layout.color.bright_ui.desc":"Menus de contexto e dicas","layout.color.button":"Bot\xF5es","layout.color.button.desc":"Bot\xF5es e seletores","layout.color.selected":"Sele\xE7\xF5es","layout.color.selected.desc":"Abas e objetos selecionados","layout.color.border":"Bordas","layout.color.border.desc":"Bordas de bot\xF5es e campos de texto","layout.color.accent":"Cor de destaque","layout.color.accent.desc":"Bot\xF5es deslizantes e outros detalhes","layout.color.grid":"Grade","layout.color.grid.desc":"Grade da pr\xE9-visualiza\xE7\xE3o 3D","layout.color.text":"Texto","layout.color.text.desc":"Texto normal","layout.color.light":"Cor clara","layout.color.light.desc":"Texto selecionado","layout.color.accent_text":"Texto em destaque","layout.color.accent_text.desc":"Texto em elementos claros ou destacados","layout.font.main":"Fonte principal","layout.font.headline":"Fonte de t\xEDtulos","about.version":"Vers\xE3o:","settings.category.general":"Principal","settings.category.preview":"Pr\xE9-visualiza\xE7\xE3o","settings.category.grid":"Grade","settings.category.edit":"Edi\xE7\xE3o","settings.category.snapping":"Ajuste","settings.category.defaults":"Padr\xF5es","settings.category.dialogs":"Di\xE1logos","settings.category.export":"Exporta\xE7\xE3o","settings.language":"Idioma","settings.language.desc":"Idioma da interface. Reinicie o Blockbench para aplicar as altera\xE7\xF5es","settings.backup_interval":"Intervalo de salvamento","settings.backup_interval.desc":"Intervalo entre salvamentos autom\xE1ticos (em minutos)","settings.origin_size":"Origem da rota\xE7\xE3o","settings.origin_size.desc":"Tamanho da origem da rota\xE7\xE3o","settings.control_size":"Tamanho do controle de eixos","settings.control_size.desc":"Tamanho da ferramenta de controle de 3 eixos","settings.display_skin":"Mostrar skin","settings.display_skin.desc":"Skin utilizada no modelo de jogador de refer\xEAncia de exibi\xE7\xE3o","settings.shading":"Sombras","settings.shading.desc":"Ativar sombreamento","settings.base_grid":"Grade pequena","settings.base_grid.desc":"Mostrar grade pequena e eixos","settings.large_grid":"Grade grande","settings.large_grid.desc":"Mostrar grade de blocos 16x16","settings.full_grid":"Grade completa","settings.full_grid.desc":"Mostrar grade precisa em pixel","settings.large_box":"Caixa grande","settings.large_box.desc":"Mostrar limite de blocos 3x3x3","settings.display_grid":"Modo de exibi\xE7\xE3o","settings.display_grid.desc":"Mostrar grade no modo de exibi\xE7\xE3o","settings.undo_limit":"Limite de desfazer","settings.undo_limit.desc":"N\xFAmero de a\xE7\xF5es que voc\xEA pode desfazer","settings.local_move":"Mover nos eixos relativos","settings.local_move.desc":"Mover elementos rotacionados em seus pr\xF3prios eixos, se poss\xEDvel","settings.canvas_unselect":"Cancelar sele\xE7\xE3o ao clicar na tela","settings.canvas_unselect.desc":"Desmarcar todos os elementos ao clicar no fundo da tela","settings.paint_side_restrict":"Restringir o pincel ao lado atual","settings.paint_side_restrict.desc":"Restringir os pinc\xE9is para pintar apenas no lado atual","settings.autouv":"Mapeamento autom\xE1tico","settings.autouv.desc":"Ativar mapeamento UV autom\xE1tico por padr\xE3o","settings.create_rename":"Renomear novos cubos","settings.create_rename.desc":"Selecionar o campo de nome ao criar um novo elemento ou grupo","settings.edit_size":"Resolu\xE7\xE3o da grade","settings.edit_size.desc":"Resolu\xE7\xE3o da grade \xE0 qual os cubos se encaixam","settings.shift_size":"Resolu\xE7\xE3o ao segurar Shift","settings.shift_size.desc":"Resolu\xE7\xE3o da grade ao manter Shift pressionado","settings.ctrl_size":"Resolu\xE7\xE3o ao segurar Ctrl","settings.ctrl_size.desc":"Resolu\xE7\xE3o da grade ao manter Ctrl pressionado","settings.negative_size":"Tamanho negativo","settings.negative_size.desc":"Permitir que a ferramenta de redimensionamento use tamanhos negativos","settings.minifiedout":"Exporta\xE7\xE3o simplificada","settings.minifiedout.desc":"Salvar o arquivo JSON em uma \xFAnica linha","settings.export_groups":"Exportar grupos","settings.export_groups.desc":"Salvar grupos em modelos de bloco ou item","settings.credit":"Coment\xE1rio de cr\xE9dito","settings.credit.desc":"Adicionar um coment\xE1rio de cr\xE9dito aos arquivos exportados","settings.default_path":"Caminho Padr\xE3o de Texturas do Minecraft","settings.default_path.desc":"Pasta da qual o Blockbench carrega texturas padr\xE3o","settings.image_editor":"Editor de imagem","settings.image_editor.desc":"Editor de imagens padr\xE3o para editar texturas","category.navigate":"Navega\xE7\xE3o","category.tools":"Ferramentas","category.file":"Arquivo","category.blockbench":"Blockbench","category.edit":"Editar","category.transform":"Transformar","category.view":"Visualizar","category.display":"Configura\xE7\xF5es de exibi\xE7\xE3o","category.textures":"Texturas","category.misc":"Diversos","keybind.preview_select":"Selecionar","keybind.preview_rotate":"Rotacionar a vis\xE3o","keybind.preview_drag":"Arrastar a vis\xE3o","keybind.confirm":"Confirmar","keybind.cancel":"Cancelar","action.slider_inflate":"Aumentar","action.slider_inflate.desc":"Aumentar cubos em todas as dire\xE7\xF5es sem alterar o mapeamento.","action.slider_brush_size":"Tamanho","action.slider_brush_size.desc":"Tamanho do pincel (em pixels)","action.slider_brush_opacity":"Opacidade","action.slider_brush_opacity.desc":"Opacidade do pincel (em %)","action.slider_brush_softness":"Suavidade","action.slider_brush_softness.desc":"Suavidade do pincel (em %)","action.uv_slider_pos_x":"Mover horizontalmente","action.uv_slider_pos_x.desc":"Mover a sele\xE7\xE3o UV de todos os cubos selecionados horizontalmente","action.uv_slider_pos_y":"Mover verticalmente","action.uv_slider_pos_y.desc":"Mover a sele\xE7\xE3o UV de todos os cubos selecionados verticalmente","action.uv_slider_size_x":"Redimensionar horizontalmente","action.uv_slider_size_x.desc":"Redimensionar a sele\xE7\xE3o UV de todos os cubos selecionados horizontalmente","action.uv_slider_size_y":"Redimensionar verticalmente","action.uv_slider_size_y.desc":"Redimensionar verticalmente a sele\xE7\xE3o UV de todos os cubos selecionados","action.vertex_snap_mode":"Modo de ajuste","action.vertex_snap_mode.desc":"Seleciona se o ajuste a v\xE9rtices deve mover elementos para a posi\xE7\xE3o selecionada ou redimension\xE1-los","action.move_tool":"Mover","action.move_tool.desc":"Selecionar e mover elementos","action.resize_tool":"Redimensionar","action.resize_tool.desc":"Selecionar e redimensionar elementos","action.brush_tool":"Pincel","action.brush_tool.desc":"Pintar em texturas de bitmap em superf\xEDcies ou no editor de UV","action.vertex_snap_tool":"Ajustar a v\xE9rtices","action.vertex_snap_tool.desc":"Mover um cubo para outro cubo conectando dois v\xE9rtices","action.swap_tools":"Trocar ferramentas","action.swap_tools.desc":"Alternar entre as ferramentas de mover e redimensionar","action.project_window":"Projeto...","action.project_window.desc":"Abre a janela do projeto, na qual voc\xEA pode editar os metadados do seu modelo","action.open_model":"Abrir modelo","action.open_model.desc":"Abrir um arquivo de modelo do seu computador","action.extrude_texture":"Textura extrudada","action.extrude_texture.desc":"Gerar um modelo a partir do esticamento de uma textura","action.export_blockmodel":"Exportar modelo de bloco ou item","action.export_blockmodel.desc":"Exportar um modelo de bloco ou item do Minecraft Java Edition","action.export_optifine_part":"Exportar modelo OptiFine","action.export_optifine_part.desc":"Exportar um \xFAnico modelo de parte de entidade para o OptiFine","action.export_optifine_full":"Exportar OptiFine JEM","action.export_optifine_full.desc":"Exportar um modelo de entidade completo do OptiFine","action.export_obj":"Exportar modelo OBJ","action.export_obj.desc":"Exportar um modelo Wavefront OBJ para renderiza\xE7\xE3o","action.settings_window":"Configura\xE7\xF5es...","action.settings_window.desc":"Abrir a janela de configura\xE7\xF5es do Blockbench.","action.plugins_window":"Extens\xF5es...","action.plugins_window.desc":"Abrir a janela da loja de extens\xF5es","action.reset_layout":"Redefinir apar\xEAncia","action.reset_layout.desc":"Redefinir a apar\xEAncia ao padr\xE3o do Blockbench","action.load_plugin":"Carregar extens\xE3o de um arquivo","action.load_plugin.desc":"Carregar uma extens\xE3o importando o arquivo de origem.","action.reload_plugins":"Recarregar extens\xF5es","action.reload_plugins.desc":"Recarregar todas as extens\xF5es de desenvolvimento.","action.undo":"Desfazer","action.undo.desc":"Desfaz a \xFAltima altera\xE7\xE3o","action.redo":"Refazer","action.redo.desc":"Reverte a \xFAltima a\xE7\xE3o desfeita","action.copy":"Copiar","action.copy.desc":"Copiar a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais","action.paste":"Colar","action.paste.desc":"Colar a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais","action.cut":"Recortar","action.cut.desc":"Recortar a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais","action.add_cube":"Adicionar cubo","action.add_cube.desc":"Adiciona um novo cubo","action.add_group":"Adicionar grupo","action.add_group.desc":"Adiciona um novo grupo ou osso","action.outliner_toggle":"Mostrar mais op\xE7\xF5es","action.outliner_toggle.desc":"Mostra op\xE7\xF5es adicionais no organizador","action.duplicate":"Duplicar","action.delete":"Excluir","action.sort_outliner":"Ordenar","action.sort_outliner.desc":"Ordenar os elementos em ordem alfab\xE9tica","action.select_window":"Selecionar...","action.select_window.desc":"Procurar e selecionar cubos com base em suas propriedades","action.invert_selection":"Inverter sele\xE7\xE3o","action.invert_selection.desc":"Inverter a sele\xE7\xE3o atual de cubos","action.select_all":"Selecionar tudo","action.collapse_groups":"Recolher grupos","action.collapse_groups.desc":"Recolher todos os grupos","action.scale":"Redimensionar...","action.scale.desc":"Redimensionar os cubos selecionados","action.toggle_visibility":"Alternar visibilidade","action.toggle_visibility.desc":"Alternar a visibilidade dos cubos selecionados","action.toggle_export":"Alternar exporta\xE7\xE3o","action.toggle_export.desc":"Alternar as configura\xE7\xF5es de exporta\xE7\xE3o dos cubos selecionados","action.toggle_autouv":"Alternar Auto UV","action.toggle_autouv.desc":"Alternar as configura\xE7\xF5es de auto UV dos cubos selecionados","action.toggle_shade":"Alternar sombreamento","action.toggle_shade.desc":"Alternar o sombreamento dos cubos selecionados","action.rename":"Renomear","action.rename.desc":"Mudar o nome dos cubos selecionados","action.add_display_preset":"Nova predefini\xE7\xE3o","action.add_display_preset.desc":"Adicionar uma nova predefini\xE7\xE3o de configura\xE7\xE3o de exibi\xE7\xE3o","action.fullscreen":"Tela Cheia","action.fullscreen.desc":"Alterna para o modo de Tela Cheia","action.zoom_in":"Mais Zoom","action.zoom_in.desc":"Aumentar o zoom para ampliar a interface","action.zoom_out":"Reduzir o Zoom","action.zoom_out.desc":"Reduzir o Zoom para reduzir a interface","action.zoom_reset":"Redefinir Zoom","action.zoom_reset.desc":"Redefinir o Zoom para o padr\xE3o 100%","action.reset_interface":"Redefinir Interface","action.reset_interface.desc":"Redefinir o tamanho e as posi\xE7\xF5es da interface","action.screenshot_model":"Fotografar Modelo","action.screenshot_model.desc":"Fazer uma captura de tela recortada do modelo do \xE2ngulo atual","action.screenshot_app":"Fotografar Aplicativo","action.screenshot_app.desc":"Tirar uma captura de tela de toda a aplica\xE7\xE3o","action.import_texture":"Importar Textura","action.import_texture.desc":"Importar uma ou mais texturas do seu arquivo do sistema","action.create_texture":"Criar Textura","action.create_texture.desc":"Criar uma textura ou padr\xE3o de textura em branco","action.save_textures":"Salvar Texturas","action.save_textures.desc":"Salva as texturas n\xE3o salvas","action.animated_textures":"Iniciar Texturas Animadas","action.animated_textures.desc":"Iniciar e pausar a pr\xE9 visualiza\xE7\xE3o das texturas animadas","action.origin_to_geometry":"Origem para Geometria","action.origin_to_geometry.desc":"Definir a origem para o centro da geometria","action.bone_reset_toggle":"Redefinir Osso","action.bone_reset_toggle.desc":"Impedir que o osso exiba cubos do modelo pai","action.reload":"Recarregar o Blockbench","action.reload.desc":"Recarrega o Blockbench. Isso remover\xE1 todos os progressos n\xE3o salvos","menu.file":"Arquivo","menu.edit":"Editar","menu.transform":"Transformar","menu.display":"Exibi\xE7\xE3o","menu.view":"Visualizar","menu.file.new":"Novo","menu.file.recent":"Recente","menu.file.import":"Importar","menu.file.export":"Exportar","menu.transform.rotate":"Girar","menu.transform.flip":"Inverter","menu.transform.center":"Centralizar","menu.transform.properties":"Propriedades","menu.display.preset":"Aplicar Predefini\xE7\xE3o","menu.display.preset_all":"Aplicar Predefini\xE7\xE3o em Todo Lugar","menu.display.remove_preset":"Remover Predefini\xE7\xE3o","menu.view.zoom":"Zoom","menu.view.background":"Plano de Fundo","menu.view.screenshot":"Captura de Tela","menu.cube.color":"Cor do Marcador","menu.cube.texture":"Textura","menu.cube.texture.transparent":"Transparente","menu.cube.texture.blank":"Em Branco","menu.group.sort":"Ordenar","menu.texture.face":"Aplicar \xE0 Face","menu.texture.file":"Arquivo","menu.texture.refresh":"Atualizar","menu.texture.change":"Mudar Arquivo","menu.texture.folder":"Abrir na Pasta","menu.texture.edit":"Editar","menu.texture.export":"Salvar Como","menu.texture.save":"Salvar","menu.texture.properties":"Propriedades...","menu.preview.background":"Plano de Fundo","menu.preview.background.load":"Carregar","menu.preview.background.position":"Posi\xE7\xE3o","menu.preview.background.lock":"Travar \xC0 C\xE2mera","menu.preview.screenshot":"Captura de Tela","menu.preview.perspective":"Perspectiva","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Vis\xE3o Quad","menu.preview.stop_drag":"Pare o Posicionamento do Plano de Fundo","menu.uv.mapping.rotation":"Rota\xE7\xE3o","menu.uv.texture":"Textura","cube.color.light_blue":"Azul claro","cube.color.yellow":"Amarelo","cube.color.orange":"Laranja","cube.color.red":"Vermelho","cube.color.purple":"Roxo","cube.color.blue":"Azul","cube.color.green":"Verde","cube.color.lime":"Lime","switches.visibility":"Visibilidade","switches.export":"Exportar","switches.autouv":"Auto UV","panel.uv":"UV","panel.display":"Padr\xE3o","panel.textures":"Texturas","panel.outliner":"Organizador","uv_editor.title":"Editor de UV","uv_editor.all_faces":"Todas","uv_editor.no_faces":"Nenhum","face.north":"Norte","face.south":"Sul","face.west":"Oeste","face.east":"Leste","face.up":"Cima","face.down":"Baixo","direction.north":"Norte","direction.south":"Sul","direction.west":"Oeste","direction.east":"Leste","direction.top":"Topo","direction.bottom":"Baixo","display.slot.third_right":"Direita da Terceira Pessoa","display.slot.third_left":"Esquerda da Terceira Pessoa","display.slot.first_right":"Direita da Primeira Pessoa","display.slot.first_left":"Esquerda da Primeira Pessoa","display.slot.head":"Cabe\xE7a","display.slot.ground":"Ground","display.slot.frame":"Quadro","display.slot.gui":"Interface","display.rotation":"Rota\xE7\xE3o","display.translation":"Transla\xE7\xE3o","display.scale":"Redimensionar","display.slot":"Slot","display.reference":"Modelo de Refer\xEAncia","display.reference.player":"Jogador","display.reference.zombie":"Zumbi","display.reference.armor_stand":"Suporte de Armadura","display.reference.baby_zombie":"Zumbi Beb\xEA","display.reference.armor_stand_small":"Suporte de Armadura Pequeno","display.reference.monitor":"Normal","display.reference.bow":"Arco","display.reference.block":"Bloco","display.reference.frame":"Moldura","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Invent\xE1rio","display.reference.hud":"HUD","display.preset.blank_name":"Por favor insira um nome","display.preset.item":"Item Padr\xE3o","display.preset.block":"Bloco Padr\xE3o","display.preset.handheld":"Arma Padr\xE3o","display.preset.rod":"Vara Padr\xE3o","dialog.continue":"Continuar","message.square_textures":"Texturas t\xEAm que ser quadradas","message.unsaved_texture.title":"Textura N\xE3o Salva","message.unsaved_texture.message":"Todas as altera\xE7\xF5es n\xE3o salvas ser\xE3o perdidas. Deseja continuar?","action.vertex_snap_mode.move":"Mover","action.vertex_snap_mode.scale":"Redimensionar","action.open_model_folder":"Abrir Pasta de Modelos","action.open_model_folder.desc":"Abre a pasta onde o modelo est\xE1 contido","action.change_textures_folder":"Mudar Local da Textura","action.change_textures_folder.desc":"Alterar a pasta em que todas as texturas s\xE3o salvas","menu.texture.particle":"Usar para Part\xEDculas","message.update_notification.title":"N\xE3o foi poss\xEDvel instalar a atualiza\xE7\xE3o","message.update_notification.message":"Uma nova vers\xE3o do Blockbench est\xE1 dispon\xEDvel. Por favor ative a op\xE7\xE3o Atualiza\xE7\xF5es Autom\xE1ticas nas configura\xE7\xF5es para atualizar!","message.untextured":"Esta superf\xEDcie n\xE3o tem uma textura","dialog.toolbar_edit.title":"Customizar Barra de Ferramentas","keybindings.reset":"Redefinir","keybindings.clear":"Vazio","action.cube_counter":"Contador de Cubos","action.uv_rotation":"Rota\xE7\xE3o UV","action.uv_rotation.desc":"Rota\xE7\xE3o da face UV","action.uv_grid":"Grade UV","action.uv_grid.desc":"A resolu\xE7\xE3o da grade na qual o seletor UV se encaixa","action.uv_grid.auto":"Auto","action.uv_maximize":"Maximizar UV","action.uv_maximize.desc":"Define o UV desta face para a textura total","action.uv_auto":"Auto UV","action.uv_auto.desc":"Define o tamanho de UV dessa face para o tamanho real da face","action.uv_rel_auto":"Auto UV Relativo","action.uv_rel_auto.desc":"Define o UV dessa face para a posi\xE7\xE3o e tamanho da face real","action.uv_mirror_x":"Espelhar UV X","action.uv_mirror_x.desc":"Espelha o UV da face no eixo X","action.uv_mirror_y":"Espelhar UV Y","action.uv_mirror_y.desc":"Espelha o UV da face no eixo Y","action.uv_transparent":"Remover face","action.uv_transparent.desc":"Remove a face atual","action.uv_reset":"Redefinir Face","action.uv_reset.desc":"Redefine a Face atual","action.cullface":"Face Coberta","action.cullface.desc":"Desativa a renderiza\xE7\xE3o para essa face se o lado selecionado do modelo for coberto","action.auto_cullface":"Auto Cobrir Face","action.auto_cullface.desc":"Define a cobertura de face desta para si","action.face_tint":"Tom","action.face_tint.desc":"Ativa a op\xE7\xE3o de tom para a face atual","menu.toolbar.edit":"Customizar","menu.toolbar.reset":"Redefinir","uv_editor.rotated":"Girado","uv_editor.auto_cull":"Cobrir Pr\xF3pria Face","uv_editor.copied":"Face Copiada","uv_editor.pasted":"Face Colada","uv_editor.copied_x":"Copiadas %0 Faces","uv_editor.reset":"Redefinir Face","uv_editor.maximized":"Maximizado","uv_editor.autouv":"Tamanho Autom\xE1tico","uv_editor.mirrored":"Espelhado","uv_editor.to_all":"Aplicado para todas as Faces","uv_editor.transparent":"Feito Transparente","uv_editor.cullface_on":"Face Coberta Ligada","uv_editor.cullface_off":"Face Coberta Desligada","uv_editor.tint_on":"Tom Ligado","uv_editor.tint_off":"Tom Desligado","action.uv_apply_all":"Aplicar para todas as Faces","action.uv_apply_all.desc":"Aplica as configura\xE7\xF5es na face atual e para todas as faces","message.image_editor_missing.title":"Editor de Imagem Padr\xE3o","message.image_editor_missing.message":"Selecione o arquivo execut\xE1vel do seu editor de imagem","message.image_editor_missing.detail":"O Blockbench n\xE3o conseguiu encontrar um editor de imagens no seu computador. Selecione o arquivo execut\xE1vel do seu editor de imagens preferido.","action.update_autouv":"Atualizar Auto UV","action.update_autouv.desc":"Atualiza o auto UV mapeando os cubos selecionados","category.uv":"UV","status_bar.saved":"O Modelo foi salvo","status_bar.unsaved":"Existem altera\xE7\xF5es n\xE3o salvas","action.move_up":"Mover para Cima","action.move_up.desc":"Mover os cubos selecionados para cima em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","action.move_down":"Mover para Baixo","action.move_down.desc":"Mover os cubos selecionados para baixo em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","action.move_left":"Mover para Esquerda","action.move_left.desc":"Mover os cubos selecionados para a esquerda em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","action.move_right":"Mover para Direita","action.move_right.desc":"Mover os cubos selecionados para a direita em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","action.move_forth":"Mover para Frente","action.move_forth.desc":"Mover os cubos selecionados para a frente em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","action.move_back":"Mover para Tr\xE1s","action.move_back.desc":"Mover os cubos selecionados para a tr\xE1s em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera","layout.color.wireframe":"Vis\xE3o de Arames","layout.color.wireframe.desc":"Linhas de vis\xE3o de arames","action.add_animation":"Adicionar Anima\xE7\xE3o","action.add_animation.desc":"Criar uma anima\xE7\xE3o em branco","action.load_animation_file":"Importar Anima\xE7\xF5es","action.load_animation_file.desc":"Importar um arquivo de anima\xE7\xE3o","action.play_animation":"Iniciar Anima\xE7\xE3o","action.play_animation.desc":"Pr\xE9 Visualiza\xE7\xE3o de anima\xE7\xE3o","action.slider_keyframe_time":"Tempo","action.slider_keyframe_time.desc":"Alterar o tempo dos quadros selecionados","timeline.rotation":"Rota\xE7\xE3o","timeline.position":"Posi\xE7\xE3o","timeline.scale":"Redimensionar","menu.keyframe.quaternion":"Quaterni\xE3o","panel.animations":"Anima\xE7\xF5es","panel.keyframe":"Quadro","panel.keyframe.type":"Quadro (%0)","generic.delete":"Apagar","generic.rename":"Renomear","message.no_animation_selected":"Voc\xEA tem que selecionar uma anima\xE7\xE3o para fazer isso","message.no_bone_selected":"Voc\xEA tem que selecionar um osso para fazer isso","message.duplicate_groups.title":"Nome do Osso Duplicado","message.duplicate_groups.message":"O nome deste osso existe em v\xE1rios ossos. Isso pode causar problemas.","action.delete_keyframes":"Apagar Quadros","action.delete_keyframes.desc":"Apagar todos os quadros selecionados","menu.animation":"Anima\xE7\xE3o","menu.animation.loop":"Modo Loop","menu.animation.override":"Sobrescrever","menu.animation.anim_time_update":"Atualizar tempo de anima\xE7\xE3o","message.display_skin_model.title":"Modelo da Skin","message.display_skin_model.message":"Selecione o tipo de modelo da sua skin","message.display_skin_model.classic":"Cl\xE1ssico","message.display_skin_model.slim":"Magro","message.bone_material":"Mudar o material do osso","action.slider_animation_length":"Dura\xE7\xE3o da anima\xE7\xE3o","action.slider_animation_length.desc":"Muda a dura\xE7\xE3o da anima\xE7\xE3o selecionada","panel.variable_placeholders":"Preenchedores de Espa\xE7o de Vari\xE1veis","panel.variable_placeholders.info":"Lista as vari\xE1veis \u200B\u200Bque voc\xEA deseja visualizar via nome=valor","status_bar.vertex_distance":"Dist\xE2ncia: %0","dialog.create_gif.title":"Gravar GIF","dialog.create_gif.length":"Dura\xE7\xE3o","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Iniciar Anima\xE7\xE3o","category.animation":"Anima\xE7\xE3o","action.record_model_gif":"Gravar GIF","action.record_model_gif.desc":"Grava um GIF animado do modelo do \xE2ngulo atual","display.mirror":"Reflexar","data.separator":"Separador","menu.preview.background.set_position":"Definir Posi\xE7\xE3o","dialog.toolbar_edit.hidden":"Escondido","action.export_class_entity":"Exportar Entidade Java","action.export_class_entity.desc":"Exportar o modelo da entidade como uma classe Java","settings.seethrough_outline":"Contornos Raio X","settings.seethrough_outline.desc":"Mostrar contornos atrav\xE9s de objetos","mode.edit":"Editar","mode.paint":"Pintar","mode.display":"Exibir","mode.animate":"Animar","status_bar.recording_gif":"Gravando GIF","status_bar.processing_gif":"Processando GIF","settings.backup_retain":"Prazo de Armazenamento de Backups","settings.backup_retain.desc":"Definir por quanto tempo o Blockbench mant\xE9m backups antigos em dias","action.rotate_tool":"Girar","action.rotate_tool.desc":"Ferramenta para selecionar e girar elementos","action.fill_tool":"Lata de Tinta","action.fill_tool.desc":"Lata de tinta para preencher faces inteiras com uma cor","action.eraser":"Borracha","action.eraser.desc":"Ferramenta borracha para substituir cores em uma textura com transpar\xEAncia","action.color_picker":"Seletor de Cores","action.color_picker.desc":"Ferramenta para escolher a cor dos pixels na sua textura","switches.mirror":"Reflexar UV",language_name:"Portugu\xEAs","message.plugin_reload":"Recarregados %0 plugins locais","settings.brightness":"Brilho","settings.brightness.desc":"Brilho da pr\xE9 visualiza\xE7\xE3o. O brilho padr\xE3o \xE9 50","menu.preview.perspective.reset":"Redefinir C\xE2mera","action.fill_mode":"Modo de Preenchimento","action.fill_mode.face":"Face","action.fill_mode.color":"Cores","action.toggle_mirror_uv":"Espelhar UV","action.toggle_mirror_uv.desc":"Alternar a inver\xE7\xE3o do UV no eixo X dos cubos selecionados","menu.texture.blank":"Aplicar a Faces N\xE3o Texturizadas","dialog.scale.select_overflow":"Selecionar Estouro","action.action_control":"Controle de A\xE7\xE3o","action.action_control.desc":"Pesquise e execute qualquer a\xE7\xE3o dispon\xEDvel","keybindings.recording":"Gravando de Atalho do Teclado","keybindings.press":"Pressione uma tecla ou combina\xE7\xE3o de teclas ou clique em qualquer lugar da tela para gravar sua combina\xE7\xE3o de teclas.","action.pivot_tool":"Ferramenta Piv\xF4","action.pivot_tool.desc":"Ferramenta para alterar o ponto de articula\xE7\xE3o de cubos e ossos","action.slider_animation_speed":"Velocidade de reprodu\xE7\xE3o","action.slider_animation_speed.desc":"Velocidade de reprodu\xE7\xE3o da linha do tempo em porcentagem","action.previous_keyframe":"Quadro anterior","action.previous_keyframe.desc":"Pular para o quadro anterior","action.next_keyframe":"Pr\xF3ximo quadro","action.next_keyframe.desc":"Pular para o pr\xF3ximo quadro","message.outdated_client.title":"Cliente desatualizado","message.outdated_client.message":"Por favor atualize o Blockbench para a \xFAltima vers\xE3o para fazer isso.","action.export_asset_archive":"Baixar Pacote","action.export_asset_archive.desc":"Baixar um pacote contendo o modelo e todas as texturas","action.upload_sketchfab":"Fazer Upload no Sketchfab","message.sketchfab.name_or_token":"Por favor insira seu token e nome do Sketchfab","dialog.sketchfab_uploader.title":"Upload do Modelo no Sketchfab","dialog.sketchfab_uploader.token":"Token de API","dialog.sketchfab_uploader.about_token":"O token \xE9 usado para conectar o Blockbench \xE0 sua conta do Sketchfab. Voc\xEA pode encontr\xE1-lo em %0","dialog.sketchfab_uploader.name":"Nome do Modelo","dialog.sketchfab_uploader.description":"Descri\xE7\xE3o","dialog.sketchfab_uploader.tags":"Tags","settings.sketchfab_token":"Token do Sketchfab","settings.sketchfab_token.desc":"Token para autorizar o Blockbench a fazer upload para sua conta do Sketchfab","panel.color":"Cor","data.origin":"Origem","message.sketchfab.success":"Upload do modelo realizado com sucesso","message.sketchfab.error":"Falha ao fazer upload do modelo ao Sketchfab","settings.outliner_colors":"Cores do organizador","settings.outliner_colors.desc":"Mostrar cores de elementos e grupos no organizador","action.upload_sketchfab.desc":"Fazer upload do seu modelo no Sketchfab","action.element_colors":"Cores de Cubos","action.element_colors.desc":"Mostrar cores de cubos no organizador","texture.error.file":"Arquivo n\xE3o encontrado","texture.error.parent":"Arquivo de textura dado pelo modelo pai","message.recover_backup.title":"Recuperar Modelo","message.recover_backup.message":"Blockbench foi fechado sem salvar. Deseja recuperar o modelo?","message.invalid_session.title":"Token de Sess\xE3o Inv\xE1lido","message.invalid_session.message":"A sess\xE3o a qual voc\xEA est\xE1 tentando entrar expirou ou o token fornecido \xE9 inv\xE1lido.","dialog.create_texture.power":"Tamanho em Pot\xEAncia-de-base-2","dialog.create_gif.turn":"Velocidade do tocador","action.edit_session":"Sess\xE3o de Edi\xE7\xE3o...","action.edit_session.desc":"Conectar a uma sess\xE3o de edi\xE7\xE3o para colaborar com outros usu\xE1rios","action.reset_keyframe":"Redefinir Quadro","action.reset_keyframe.desc":"Redefinir todos os valores dos quadros selecionados","dialog.edit_session.title":"Sess\xE3o de Edi\xE7\xE3o","edit_session.username":"Nome de usu\xE1rio","edit_session.token":"Token","edit_session.about":"Sess\xF5es de Edi\xE7\xE3o podem ser usadas para colaborar em modelos atrav\xE9s da Internet. Crie uma sess\xE3o, copie o token e envie-o para amigos, que podem us\xE1-lo para entrar.","edit_session.join":"Entrar na Sess\xE3o","edit_session.create":"Criar Sess\xE3o","edit_session.quit":"Sair da Sess\xE3o","edit_session.joined":"%0 entrou na sess\xE3o","edit_session.left":"%0 saiu da sess\xE3o","edit_session.quit_session":"Saiu da sess\xE3o atual","edit_session.status":"Status","edit_session.hosting":"Hospedando","edit_session.connected":"Conectado a uma sess\xE3o","dialog.sketchfab_uploader.private":"Privado (Pro)","dialog.sketchfab_uploader.password":"Senha (Pro)","action.uv_select_all":"Selecionar Tudo","action.uv_select_all.desc":"Seleciona todas as faces no di\xE1logo de UV","panel.chat":"Bate-papo","edit_session.welcome":"Bem vindo \xE0 essa sess\xE3o de %0","dialog.yes":"Sim","dialog.no":"N\xE3o","generic.remove":"Remover","generic.download":"Download","generic.search":"Pesquisa","dates.today":"Hoje","dates.yesterday":"Ontem","dates.this_week":"Esta semana","dates.weeks_ago":"%0 semanas atr\xE1s","mode.start.new":"Novo","mode.start.recent":"Recente","format.free":"Modelo Gen\xE9rico","format.free.desc":"Modelo sem restri\xE7\xF5es. Para motores de jogos, renderiza\xE7\xE3o, etc.","format.java_block":"Bloco/Item Java","format.java_block.desc":"Modelo de Bloco ou Item para a Edi\xE7\xE3o Java.","format.bedrock":"Modelo Bedrock","format.bedrock.desc":"Modelo para Minecraft Bedrock Edition","format.bedrock_old":"Modelo de Legado Bedrock Edition","format.bedrock_old.desc":"Modelo de entidade para Minecraft Bedrock Edition Pre-1.12","format.modded_entity":"Entidade Modificada","format.modded_entity.desc":"Modelos de entidade para mods. Pode ser exportado como arquivos .java class.","format.optifine_entity":"Entidade OptiFine","format.optifine_entity.desc":"Modelo customizado de entidade para OptiFine.","keys.mouse":"Bot\xE3o do Mouse %0","message.cleared_blank_faces.title":"Faces em branco","message.cleared_blank_faces.message":"O Blockbench encontrou %0 cubos sem nenhuma textura. Deseja remover esses elementos?","message.wireframe.enabled":"Visualiza\xE7\xE3o de estrutura de arame ativada","message.wireframe.disabled":"Visualiza\xE7\xE3o de estrutura de arame desativada","dialog.convert_project.title":"Converter Projeto","dialog.create_texture.double_use":"Manter ocupa\xE7\xE3o de textura m\xFAltipla","dialog.model_stats.title":"Status do Modelo","dialog.model_stats.cubes":"Cubos","dialog.model_stats.locators":"Localizadores","dialog.model_stats.groups":"Grupos","dialog.model_stats.vertices":"V\xE9rtices","dialog.model_stats.faces":"Faces","settings.username":"Nome de Usu\xE1rio","settings.username.desc":"Nome de usu\xE1rio para sess\xF5es de edi\xE7\xE3o.","settings.painting_grid":"Grade de pintura","settings.painting_grid.desc":"Mostrar grade em cubos texturizados no modo de pintura.","action.convert_project":"Converter Projeto","action.convert_project.desc":"Converte o projeto atual em um projeto para outro formato de modelo.","action.close_project":"Fechar Projeto","action.close_project.desc":"Fecha o projeto aberto atualmente.","action.export_bedrock":"Exportar Geometria Bedrock","action.export_bedrock.desc":"Exporte o modelo como um arquivo de Geometria Bedrock Edition.","action.save_project":"Salvar o projeto","action.save_project.desc":"Salva o modelo atual como um arquivo de projeto.","action.save_project_as":"Salvar Projeto Como...","action.save_project_as.desc":"Salva o modelo atual como um arquivo de projeto em um novo local.","action.export_over":"Substituir Modelo","action.export_over.desc":"Salva o modelo, texturas e anima\xE7\xF5es substituindo os arquivos.","action.add_locator":"Adicionar localizador","action.add_locator.desc":"Adiciona um novo localizador para controlar posi\xE7\xF5es de part\xEDculas, cordas etc.","action.uv_turn_mapping":"Mapeamento de Giros","action.uv_turn_mapping.desc":"Gire o mapeamento UV em cerca de 90 graus.","action.remove_blank_faces":"Remover faces em branco","action.remove_blank_faces.desc":"Exclui todas as faces n\xE3o texturizadas da sele\xE7\xE3o.","web.download_app":"Baixar aplicativo","uv_editor.turned":"Mapeamento ativado","display.reference.crossbow":"Besta","dialog.settings.search_results":"Procurar Resultados","settings.animation_snap":"Snap de anima\xE7\xE3o","settings.animation_snap.desc":"Intervalo de snap para quadros na linha do tempo da anima\xE7\xE3o em etapas por segundo.","action.import_optifine_part":"Importar parte OptiFine","action.import_optifine_part.desc":"Importar uma parte de modelo de entidade para o OptiFine.","data.locator":"Localizador","mode.start.no_recents":"Nenhum modelo aberto recentemente","panel.element":"Elemento","panel.element.position":"Posi\xE7\xE3o","panel.element.size":"Tamanho","panel.element.origin":"Ponto de Piv\xF4","panel.element.rotation":"Rota\xE7\xE3o","message.canvas_limit_error.title":"Erro de limite de tela","message.canvas_limit_error.message":"A a\xE7\xE3o n\xE3o p\xF4de ser executada corretamente porque o formato limita a tela a 48 unidades. Mude o ponto de articula\xE7\xE3o para evitar isso.","data.effect":"Efeito","generic.name":"Nome","settings.recent_projects":"Limite de modelo recente","settings.recent_projects.desc":"N\xFAmero m\xE1ximo de modelos recentes a serem lembrados.","settings.volume":"Volume","settings.volume.desc":"Controle de volume para efeitos sonoros em anima\xE7\xF5es.","action.clear_timeline":"Limpar Linha do Tempo","action.clear_timeline.desc":"Limpar todos os ossos n\xE3o selecionados da linha do tempo.","action.select_effect_animator":"Efeitos animados","action.select_effect_animator.desc":"Abre a linha do tempo para adicionar sons e efeitos de part\xEDculas.","action.timeline_focus":"Filtrar canais","action.timeline_focus.desc":"Selecione os canais de anima\xE7\xE3o para exibir na linha do tempo.","timeline.particle":"Part\xEDcula","timeline.sound":"Som","timeline.effects":"Efeitos","data.format":"Formato","format.optifine_part":"Parte de OptiFine","format.optifine_part.desc":"Parte JPM para modelos de entidade OptiFine.","action.reverse_keyframes":"Quadros reversos","action.reverse_keyframes.desc":"Inverter a ordem dos quadros selecionados.","generic.help":"Ajuda","message.removed_faces":"%0 faces removidas","dialog.sketchfab_uploader.draft":"Esbo\xE7o","action.slider_pos":"Mover %0","action.slider_pos.desc":"Mover cubos no eixo %0","action.slider_size":"Tamanho %0","action.slider_size.desc":"Redimensionar cubos no eixo %0.","action.slider_rotation":"Rodar %0","action.slider_rotation.desc":"Girar cubos no eixo %0","action.slider_origin":"Piv\xF4 %0","action.slider_origin.desc":"Mover o piv\xF4 no eixo %0","action.rotate_cw":"Girar %0 +90","action.rotate_cw.desc":"Gira os cubos selecionados 90 \xB0 no eixo %0","action.rotate_ccw":"Rodar %0 -90","action.rotate_ccw.desc":"Gira os cubos selecionados -90\xB0 no eixo %0","action.flip":"Virar %0","action.flip.desc":"Vire os cubos selecionados no eixo %0","action.center":"Centro %0","action.center.desc":"Centralize os cubos selecionados no eixo %0","action.bring_up_all_animations":"Trazer todas as anima\xE7\xF5es","panel.bone":"Osso","data.color":"Cor","generic.export":"Exportar","generic.none":"Nenhum","status_bar.recording":"Linha do Tempo de grava\xE7\xE3o","message.add_to_palette":"Adicionado \xE0 paleta","message.size_modifiers":"Mantenha pressionada a tecla Ctrl ou Shift para transformar em incrementos menores.","message.timelapse_start":"Timelapse iniciado","message.timelapse_stop":"Timelapse parado","message.import_palette.replace_palette":"Substituir paleta antiga","message.import_palette.threshold":"Limiar de mesclagem","dialog.timelapse.interval":"Intervalo (Segundos)","dialog.timelapse.source":"Fonte","dialog.timelapse.source.interface":"Interface","dialog.timelapse.source.locked":"\xC2ngulo bloqueado","dialog.timelapse.destination":"Pasta de destino","layout.color.checkerboard":"Tabuleiro Xadrez","layout.color.checkerboard.desc":"Fundo de tela e editor UV","layout.font.code":"C\xF3digo da fonte","layout.css":"CSS customizado","settings.category.paint":"Pintar","settings.deactivate_size_limit":"Desativar limite de tamanho","settings.deactivate_size_limit.desc":"Desative o limite de tamanho para formatos de modelo espec\xEDficos. AVISO: Isso pode causar modelos inv\xE1lidos.","settings.brush_opacity_modifier":"Modificador de opacidade do pincel","settings.brush_opacity_modifier.desc":"Modifique a opacidade do pincel ao usar uma caneta","settings.brush_size_modifier":"Modificador de tamanho de pincel","settings.brush_size_modifier.desc":"Modifique o tamanho do pincel ao usar uma caneta","settings.brush_modifier.pressure":"Press\xE3o","settings.brush_modifier.tilt":"Inclinar","category.color":"Cor","action.import_theme":"Importar Tema","action.export_theme":"Exportar Tema","action.export_theme.desc":"Crie um arquivo de tema com base nas configura\xE7\xF5es atuais","action.slider_color_h":"Matiz","action.slider_color_s":"Satura\xE7\xE3o","action.slider_color_v":"Value","action.add_to_palette":"Adicionar a Paleta","action.add_to_palette.desc":"Adicione a cor selecionada \xE0 paleta de cores","action.import_palette":"Importar Paleta","action.import_palette.desc":"Importar um ficheiro .bbpalette","action.export_palette":"Exportar Paleta","action.export_palette.desc":"Exportar a paleta com um arquivo .bbpalette","action.generate_palette":"Gerar Paleta","action.generate_palette.desc":"Gerar paleta a partir de uma textura","action.sort_palette":"Classificar Paleta","action.sort_palette.desc":"Classifique todas as cores da paleta por cor e brilho","action.timelapse":"Timelapse...","action.timelapse.desc":"Grave um timelapse do seu progresso de modelagem","action.add_keyframe":"Adicionar quadro-chave","action.add_keyframe.desc":"Adicione automaticamente um quadro-chave. Pressione shift para for\xE7ar os valores padr\xE3o","action.bring_up_all_animations.desc":"Traz todos os animadores modificados para a linha do tempo","timeline.timeline":"Instru\xE7\xF5es","menu.palette.load.default":"Padr\xE3o","generic.import":"Importar","settings.brush_modifier.none":"Nenhum","action.export_entity":"Exportar Entidade Bedrock","action.export_entity.desc":"Inclua o modelo atual como uma entidade em um arquivo mobs.json","settings.highlight_cubes":"Destacar cubos","settings.highlight_cubes.desc":"Realce cubos quando voc\xEA passa o mouse sobre eles ou os seleciona","action.add_marker":"Definir marcador","action.add_marker.desc":"Definir um marcador da linha do tempo","timeline.pre_effect_script":"Roteiro","format.skin":"Skin do Minecraft","format.skin.desc":"Edite skins de jogadores e entidades","message.sketchfab.setup_guide":"Precisa aprender a como configurar seus modelos no Sketchfab? Leia %0","dialog.skin.title":"Criar Skin do Minecraft","dialog.skin.model":"Modelo","action.toggle_skin_layer":"Alterar camada da Skin","action.toggle_skin_layer.desc":"Alterar a camada do chap\xE9u e da roupa do modelo da skin","action.gui_light":"Luz da GUI","action.gui_light.desc":"Selecione a maneira como o item \xE9 iluminado no invent\xE1rio","action.gui_light.side":"Luz Lateral","action.gui_light.front":"Luz Frontal","action.move_keyframe_back":"Mover quadros para tr\xE1s","action.move_keyframe_forth":"Mover quadros adiante","menu.help":`Ajuda
`,"menu.help.discord":"Servidor Discord","menu.help.report_issue":"Reportar um erro","menu.help.plugin_documentation":"Documenta\xE7\xE3o Plugin API","menu.help.search_action":"Buscar e rodar uma a\xE7\xE3o","menu.help.donate":"Doar","menu.help.about":"Sobre...","menu.preview.background.clipboard":"Carregar da \xE1rea de transfer\xEAncia","dialog.ignore":"Ignorar","generic.unset":"Desativar","message.invalid_builtin_parent.title":"Pai incorporado interno inv\xE1lido","message.invalid_builtin_parent.message":"O link para o modelo pai inv\xE1lido '%0' foi removido para exportar um modelo v\xE1lido.","dialog.resize_texture.fill":"Preencher com","dialog.resize_texture.fill.transparent":"Transparente","dialog.resize_texture.fill.color":"Cor","dialog.resize_texture.fill.repeat":"Repetir","dialog.scale.element_pivot":"Elemento do Piv\xF4","dialog.scale.selection_center":"Centro de Sele\xE7\xE3o","dialog.create_gif.length_mode":"Modo Comprimento","dialog.create_gif.length_mode.seconds":"Segundos","dialog.create_gif.length_mode.frames":"Quadros","dialog.create_gif.length_mode.animation":"Comprimento da Anima\xE7\xE3o","dialog.create_gif.length_mode.turntable":"Rota\xE7\xE3o de mesa girat\xF3ria","dialog.save_angle.projection":"Proje\xE7\xE3o","dialog.save_angle.projection.perspective":"Perspectiva","dialog.save_angle.projection.orthographic":"Ortogr\xE1fico","dialog.sketchfab_uploader.animations":"Anima\xE7\xF5es","dialog.settings.theme":"Tema","settings.category.interface":"Interface","settings.preview_checkerboard":"Mostrar Tabuleiro Xadrez","settings.preview_checkerboard.desc":"Alterne o plano de fundo do tabuleiro xadrez atr\xE1s da visualiza\xE7\xE3o","settings.uv_checkerboard":"Editor UV do tabuleiro xadrez","settings.uv_checkerboard.desc":"Alterne o fundo do tabuleiro xadrez atr\xE1s do editor UV","category.paint":"Pintar","action.fill_mode.color_connected":"Cores Conectadas","action.draw_shape_type":"Tipo da Forma","action.draw_shape_type.rectangle":"Ret\xE2ngulo","action.draw_shape_type.rectangle_h":"Ret\xE2ngulo(Vazio)","action.draw_shape_type.ellipse":"Elipse","action.draw_shape_type.ellipse_h":"Elipse(Vazio)","action.draw_shape_type.line":"Linha","action.mirror_painting":"Pintura Espelhada","action.mirror_painting.description":"Espelhe seus tra\xE7os de tinta para o outro lado do modelo","action.lock_alpha":"Travar Canal Alfa","action.lock_alpha.description":"Trave a transpar\xEAncia de todos os pixels","action.draw_shape_tool":"Desenhar Forma","action.draw_shape_tool.desc":"Ferramenta para desenhar formas simples em texturas","action.export_gltf":"Exportar como modelo glTF","action.export_gltf.desc":"Exporta modelo e anima\xE7\xF5es como arquivo glTF para usar em outros aplicativos 3D","action.transform_space":"Transformar Espa\xE7o","action.transform_space.desc":"Espa\xE7o de transforma\xE7\xE3o padr\xE3o para elementos e ossos","action.transform_space.global":"Global","action.transform_space.local":"Local","action.toggle_camera_projection":"Alternar Proje\xE7\xE3o de C\xE2mera","action.toggle_camera_projection.desc":"Alterna a proje\xE7\xE3o da c\xE2mera entre perspectiva e ortografia","action.load_camera_angle":"\xC2ngulo de C\xE2mera: %0","action.load_camera_angle.desc":"Carregar o \xE2ngulo '%0' da c\xE2mera ","action.slider_face_tint":"\xCDndice de tonalidade","action.slider_face_tint.desc":"Defina o \xEDndice de tonalidade da face atual. -1 significa n\xE3o definido.","menu.help.quickstart":"Assistente para Iniciantes","menu.help.developer":"Desenvolvedor","menu.help.developer.dev_tools":"\xDAteis para desenvolvedor","menu.help.developer.reset_storage":"Restaura\xE7\xE3o de f\xE1brica","menu.help.developer.reset_storage.confirm":"Tem certeza de que deseja redefinir as configura\xE7\xF5es de f\xE1brica do Blockbench? Isso excluir\xE1 todas as configura\xE7\xF5es personalizadas, combina\xE7\xF5es de teclas e plugins instalados.","menu.help.developer.cache_reload":"Recarga de cache","menu.preview.orthographic":"Ortogr\xE1fico","menu.preview.save_angle":"Salvar \xC2ngulo","menu.preview.angle":"\xC2ngulos","menu.preview.angle.initial":"\xC2ngulo Inicial","menu.preview.maximize":"Maximizar","uv_editor.copy_selection":"Copiar Sele\xE7\xE3o","uv_editor.paste_selection":"Colar Sele\xE7\xE3o","uv_editor.copy_paste_tool.place":"Colocar","uv_editor.copy_paste_tool.mirror_x":"Espelhar X","uv_editor.copy_paste_tool.mirror_y":"Espelhar Y","uv_editor.copy_paste_tool.rotate":"Rodar 90 Graus","dialog.project.modded_entity_version":"Vers\xE3o de Exporte","dialog.save_angle.position":"Posi\xE7\xE3o da C\xE2mera","dialog.save_angle.target":"Ponto focal","dialog.skin.pose":"Pose","layout.color.frame":"Moldura da janela","layout.color.frame.desc":"Borda e barra de t\xEDtulo da janela","settings.large_grid_size":"Tamanho da grade do bloco","settings.large_grid_size.desc":"Tamanho da grade do bloco","action.load_plugin_from_url":"Carregar Plugin de uma URL","action.load_plugin_from_url.desc":"Carregue um plugin de um servidor especificando o URL","action.cube_counter.desc":"Exibe o n\xFAmero atual de cubos e outras estat\xEDsticas","action.unlock_everything":"Destravar Tudo","action.unlock_everything.desc":"Desbloqueie todos os grupos e elementos no organizador.","action.load_palette":"Carregar Paleta","action.load_palette.desc":"Carregue uma das predefini\xE7\xF5es da paleta incorporada","action.toggle_locked":"Alternar trava","action.toggle_locked.desc":"Alternar se os elementos selecionados est\xE3o travados","action.apply_display_preset":"Aplicar padr\xE3o","action.apply_display_preset.desc":"Aplicar uma predefini\xE7\xE3o de configura\xE7\xE3o de exibi\xE7\xE3o padr\xE3o ou personalizada","action.apply_display_preset.here":"Aplicar para esse slot","action.apply_display_preset.everywhere":"Aplicar para todos os slots","action.resolve_keyframe_expressions":"Resolver quadro-chave","action.resolve_keyframe_expressions.desc":"Resolve as express\xF5es matem\xE1ticas dos quadros selecionados","action.fold_all_animations":"Dobre todos os animadores","menu.palette.load.empty":"Vazio","switches.lock":"Travar","settings.render_sides":"Lados Carregados","settings.render_sides.desc":"Selecione qual lado de uma face \xE9 carregado","settings.render_sides.auto":"Auto","settings.render_sides.front":"Fora","settings.render_sides.double":"Dentro e Fora","generic.enable":"Ativar","generic.disable":"Desativar","generic.redacted":"Editado","dialog.select_texture.import_all":"Importar Tudo","dialog.skin.layer_template":"Textura da camada","about.version.up_to_date":"Mais recente","about.version.update_available":"Vers\xE3o %o est\xE1 disponivel","settings.category.application":"Aplica\xE7\xF5es","settings.streamer_mode":"Modo de Streamer","settings.streamer_mode.desc":"Esconder informa\xE7\xF5es sens\xEDveis como modelos recentes","settings.automatic_updates":"Atualiza\xE7\xF5es autom\xE1ticas","settings.automatic_updates.desc":"Download autom\xE1tico de novas vers\xF5es e manter BlockBench com a vers\xE3o mais recente","action.rotation_space":"Espa\xE7o de rota\xE7\xE3o","action.focus_on_selection":"Centralizar o campo de vis\xE3o na sele\xE7\xE3o","action.focus_on_selection.desc":"Alinhar a c\xE2mera para olhar o centro da sele\xE7\xE3o atual","action.jump_to_timeline_start":"Pular para o in\xEDcio da anima\xE7\xE3o","action.jump_to_timeline_end":"Pular para o fim da anima\xE7\xE3o","menu.help.updating":"Atualizando (%0%)","menu.help.update_failed":"Falha na atualiza\xE7\xE3o","menu.animation.loop.once":"Reproduza uma vez","menu.animation.loop.hold":"Manter no \xFAltimo quadro","menu.animation.loop.loop":"Loop","interface.streamer_mode_on":"Modo Streamer ativado","generic.reset":"Reiniciar","generic.restore":"Restaurar","keys.mousewheel":"Roda do mouse","message.delete_animation.title":"Anima\xE7\xE3o eliminada","message.delete_animation.message":"A anima\xE7\xE3o foi removida do Blockbench. Quer que a anima\xE7\xE3o tamb\xE9m seja eliminada do ficheiro onde estava guardada?","message.no_animation_to_import":"Nenhuma anima\xE7\xE3o para importar","dialog.material_instances.title":"Material","dialog.animation_import.title":"Selecionar anima\xE7\xF5es para importar","dialog.create_texture.padding":"Preenchimento","settings.fov":"FOV","settings.fov.desc":"Campo de vis\xE3o da c\xE2mera. O padr\xE3o \xE9 45","settings.minify_bbmodel":"Reduzir arquivos do projeto","settings.minify_bbmodel.desc":"Escrever arquivos .bbmodel reduzidos em uma linha","action.edit_material_instances":"Editar materiais","action.edit_material_instances.desc":"Editar nomes dos materiais para blocos bedrock","action.save_all_animations":"Guardas todas as anima\xE7\xF5es","action.save_all_animations.desc":"Salvar todas as anima\xE7\xF5es carregadas","action.keyframe_interpolation":"Interpola\xE7\xE3o","action.keyframe_interpolation.desc":"Selecione o modo de interpola\xE7\xE3o do quadro","action.keyframe_interpolation.linear":"Linear","action.keyframe_interpolation.catmullrom":"Suavizar","action.timeline_focus.hide_empty":"Esconder canais vazios","menu.file.preferences":"Prefer\xEAncias","menu.animation.blend_weight":"Peso dos v\xE9rtices","menu.animation.save":"Guardar","menu.animation.properties":"Propriedades...","menu.animation.file":"Ficheiro","menu.animation.snapping":"Encaixar","menu.animation.open_location":"Abrir local do arquivo","panel.keyframe.add_data_point":"Adicionar ponto de dados do quadro","panel.keyframe.remove_data_point":"Remover ponto de dados do quadro","panel.keyframe.pre":"Pr\xE9","panel.keyframe.post":"P\xF3s","generic.all":"Todos","message.small_face_dimensions.title":"Dimens\xF5es de face incompat\xEDveis","message.small_face_dimensions.message":"A sele\xE7\xE3o cont\xE9m faces que s\xE3o menores que 1 unidade em uma dire\xE7\xE3o. O sistema de mapeamento em UV c\xFAbico considera qualquer face menor que esse limiar como 0 pixels de largura. A textura nessas faces pode n\xE3o funcionar corretamente.","message.small_face_dimensions.face_uv":'O formato atual suporta mapas UV por face, que podem lidar com faces de menores dimen\xE7\xF5es. Fa\xE7a Clique Direito nos cubos afetados e mude o "Modo UV" para "UV por face"',"dialog.plugins.outdated_client":"Requer uma vers\xE3o mais recente do Blockbench","dialog.plugins.outdated_plugin":"O plugin est\xE1 desatualizado e n\xE3o funciona com essa vers\xE3o do Blockbench","settings.motion_trails":"Trilhas de movimento","settings.motion_trails.desc":"Mostrar trilhas de movimento no editor de anima\xE7\xF5es","settings.antialiasing":"Anti-aliasing","settings.antialiasing.desc":"Habilitar anti-aliasing na pr\xE9via. Reiniciar o Blockbench ir\xE1 aplicar as mudan\xE7as","action.timeline_frame_back":"Voltar 1 segundo","action.timeline_frame_forth":"Pular 1 segundo","panel.bone.ik":"Cinem\xE1tica reversa (Experimental)","settings.particle_tick_rate":"Taxa de tique da part\xEDcula","settings.particle_tick_rate.desc":"Taxa de tiques para os efeitos da part\xEDcula em tiques por segundo. O padr\xE3o \xE9 30","action.lock_motion_trail":"Travar trilhos de movimento","action.lock_motion_trail.desc":"Travar trilhos de movimento para o grupo selecionado","menu.animation_file.unload":"Descarregar arquivo de anima\xE7\xE3o","data.null_object":"Objeto vazio","status_bar.toggle_sidebar":"Habilitar barra lateral","message.load_plugin_failed.title":"Falha ao carregar plugin","message.load_plugin_failed.message":"Garanta que o nome do arquivo base desse plugin corresponde ao ID '%0' do plugin, como especificado em Plugin.register().","dialog.project.uv_mode":"Modo UV","dialog.project.uv_mode.box_uv":"Cubo UV","dialog.project.uv_mode.face_uv":"UV por face","dialog.project.texture_size":"Tamanho da textura","dialog.animation_export.title":"Selecionar anima\xE7\xF5es para exportar","dialog.create_texture.rearrange_uv":"Organizar UV","layout.color.subtle_text":"Texto sutil","layout.color.subtle_text.desc":"Cor secund\xE1ria do texto com menos contraste","settings.interface_scale":"Escala da interface","settings.interface_scale.desc":"Escala de toda a interface do Blockbench","settings.background_rendering":"Renderizar plano de fundo","settings.background_rendering.desc":"Atualizar a pr\xE9via enquanto a janela n\xE3o est\xE1 em foco","settings.ctrl_shift_size":"Resolu\xE7\xE3o Ctrl + Shift","settings.ctrl_shift_size.desc":"Resolu\xE7\xE3o da grade enquanto segura Control e Shift","settings.hardware_acceleration":"Acelera\xE7\xE3o de Hardware","settings.hardware_acceleration.desc":"Mandar tarefas de renderiza\xE7\xE3o para a placa de v\xEDdeo. Reinicie o Blockbench para aplicar as mudan\xE7as","action.explode_skin_model":"Aumentar Modelo de Skin","action.explode_skin_model.desc":"Habilita uma vis\xE3o em explos\xE3o que te possibilita editar faces cobertas","action.export_minecraft_skin":"Exportar Skin do Minecraft","action.export_minecraft_skin.desc":"Exportar skin do Minecraft como uma textura PNG","action.add_null_object":"Adicionar objeto vazio","action.add_null_object.desc":"Adiciona um objeto nulo novo","action.animated_texture_frame":"Quadro de textura animada","action.animated_texture_frame.desc":"Definir o quadro atual da textura animada","action.export_animation_file":"Exportar anima\xE7\xF5es...","action.export_animation_file.desc":"Exportar uma sele\xE7\xE3o de anima\xE7\xF5es em um novo arquivo","action.timeline_graph_editor":"Habilitar editor de grafos","action.timeline_graph_editor.desc":"Habilitar a linha do tempo entre o editor de grafos e o editor de chaves","menu.file.recent.clear":"Limpar arquivos recentes","switches.shade":"Sombra","generic.share":"Compartilhar","dates.minute":"%0 Minuto","dates.minutes":"%0 Minutos","dates.hour":"%0 Hora","dates.hours":"%0 Horas","dates.day":"%0 Dia","dates.days":"%0 Dias","dates.week":"%0 Semana","dates.weeks":"%0 Semanas","dates.year":"%0 Ano","dates.years":"%0 Anos","message.installed_plugin":"Sucesso em instalar o plugin %0","message.installed_plugin_fail":"Falha ao instalar o plugin %0","dialog.share_model.title":"Compartilhar modelo","dialog.share_model.expire_time":"Tempo expirado","dialog.share_model.failed":"Falha em atualizar o modelo","action.import_java_block_model":"Adicionar Bloco Java ou Modelo de Item","action.import_java_block_model.desc":"Adicionar um Bloco Java ou Modelo de Item de um arquivo json para o modelo atual","action.share_model":"Compartilhar...","action.share_model.desc":"Gerar um link curto para compartilhar seu modelo","action.import_project":"Importar projeto","action.import_project.desc":"Importar outro projeto de um arquivo .bbmodel para o projeto atual","dialog.toolbar_edit.hidden_tools":"Algumas ferramentas podem estar escondidas porque elas n\xE3o est\xE3o dispon\xEDveis no modelo, formato ou situa\xE7\xE3o atual.","settings.camera_near_plane":"C\xE2mera perto do plano","settings.camera_near_plane.desc":"A dist\xE2ncia m\xEDnima da c\xE2mera onde os objetos renderizam. Valores maiores diminuem o Z-fighting. O padr\xE3o \xE9 1.","mode.start.keymap_preference.desc":"Se voc\xEA for novo no Blockbench e estiver vindo de outro programa 3D, voc\xEA pode selecionar os atalhos do teclado para fazer sua transi\xE7\xE3o mais simples. Voc\xEA pode mudar os atalhos ou atalhos individuais depois nas configura\xE7\xF5es.","message.load_keymap":"Voc\xEA tem certeza que quer carregar esses atalhos? Isso ir\xE1 sobrescrever seus atalhos atuais.","message.keymap_loaded":"Atalhos carregados","dialog.convert_project.current_format":"Formato atual","dialog.create_texture.rearrange_uv.desc":"Criar um novo arranjamento UV para dar destaque a cada face na textura","dialog.create_texture.power.desc":"Prender o tamanho da textura autom\xE1tica para uma pot\xEAncia de 2, como 64 ou 128. Isso \xE9 necess\xE1rio para alguns renderers","dialog.create_texture.double_use.desc":"Se dois elementos j\xE1 tem o mesmo espa\xE7o UV correspondente, mantenha assim no novo mapa","dialog.create_texture.padding.desc":"Adicione uma pequena pintura entre as partes individuais do template","dialog.create_texture.resolution.desc":"A resolu\xE7\xE3o base da textura, em pixels por metro. O tamanho real do mapa de textura pode diferir dependendo da quantidade e tamanho dos elementos.","dialog.create_gif.color":"Cor de fundo","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":"Ossos opostos s\xE3o identificados pelas palavras 'esquerdo' e 'direito' com o seu nome.","dialog.export_private_settings.title":"Op\xE7\xF5es privadas","dialog.export_private_settings.message":"Seu arquivo cont\xE9m as seguintes informa\xE7\xF5es privadas: **%0**. Remova esses valores de voc\xEA planeja compartilhar o arquvio com mais algu\xE9m.","dialog.export_private_settings.keep":"Manter","settings.timecode_frame_number":"Mostrar c\xF3digos de tempo como n\xFAmero do quadro","settings.timecode_frame_number.desc":"Mostrar fra\xE7\xE3o de c\xF3digos de tempo na linha do tempo como o n\xFAmero do quadro ao inv\xE9s de centissegundo","settings.animation_sample_rate":"Taxa de amostra da anima\xE7\xE3o","settings.animation_sample_rate.desc":"Taxa de amostra em amostras por segundo para curvas que o respectivo formato n\xE3o suporta nativamente","keybind.preview_zoom":"Zoom no campo de vis\xE3o","action.gradient_tool":"Ferramenta gradiente","action.gradient_tool.desc":"Cria uma cor gradiente na sua textura","action.import_settings":"Importar configura\xE7\xF5es","action.import_settings.desc":"Importar arquivo .bbsettings","action.export_settings":"Exportar configura\xE7\xF5es","action.export_settings.desc":"Exportar configura\xE7\xF5es do Blockbench como um arquivo .bbsettings","action.load_keymap":"Carregar mapa de atalhos","action.load_keymap.default":"Padr\xE3o (Trackpad)","action.load_keymap.mouse":"Padr\xE3o (Mouse)","action.load_keymap.default.desc":"Atalhos padr\xE3o do Blockbench, com os controles de navega\xE7\xE3o no campo de vis\xE3o otimizados para trackpads de laptops","action.load_keymap.mouse.desc":"Atalhos padr\xE3o do Blockbench, com a navega\xE7\xE3o no campo de vis\xE3o usando o bot\xE3o do meio do mouse","action.load_keymap.blender.desc":"Atalhos para usu\xE1rios que s\xE3o familiares com Blender","action.load_keymap.cinema4d.desc":"Atalhos para usu\xE1rios que s\xE3o familiares com os controles do Cinema 4D","action.load_keymap.maya.desc":"Atalhos para usu\xE1rios que s\xE3o familiares com os controles do Autodesk Maya","action.import_keymap":"Importar atalhos","action.import_keymap.desc":"Importar atalhos de um arquivo .bbkeymap","action.export_keymap":"Exportar mapa de atalhos","action.export_keymap.desc":"Exportar mapa de atalhos como um arquivo .bbkeymap","action.edit_history":"Editar hist\xF3rico","action.edit_history.desc":"Ver o hist\xF3rico de edi\xE7\xE3o e voltar/refazer etapas","action.group_elements":"Elementos de grupo","action.group_elements.desc":"Colocar os elementos sleecionados em um novo grupo","action.unfold_groups":"Desdobrar grupos","action.unfold_groups.desc":"Separa todos os grupos","action.edit_bedrock_binding":"Editando atalho...","action.edit_bedrock_binding.desc":"Mudar a qual geometria o osso est\xE1 em fronteira","action.pick_screen_color":"Selecionar cor da tela","action.pick_screen_color.desc":"Selecionar uma cor em qualquer lugar da sua tela","action.view_mode":"Modo campo de vis\xE3o","action.view_mode.desc":"Mudaro campo de vis\xE3o do modelo","action.view_mode.textured":"Texturizado","action.view_mode.solid":"S\xF3lido","action.view_mode.wireframe":"Aramado","action.toggle_sidebars":"Habilitar barras laterais","action.toggle_sidebars.desc":"Habilitar ou desabilitar barras laterais","action.set_animation_end":"Configurar fim da anima\xE7\xE3o","action.set_animation_end.desc":"Configurar o fim da anima\xE7\xE3o selecionada para o tempo selecionado na linha do tempo","action.flip_animation":"Girar anima\xE7\xE3o","action.flip_animation.desc":"Gira partes da anima\xE7\xE3o copiando os quadros selecionados para o outro lado do modelo","action.graph_editor_zero_line":"Incluir linha zero","action.graph_editor_zero_line.desc":"Se o editor de grafos sempre inclui uma linha zero no campo de vis\xE3o","menu.texture.render_mode":"Modo renderiza\xE7\xE3o","menu.texture.render_mode.emissive":"Emissivo","menu.texture.render_mode.layered":"Camadas","menu.preview.angle.edit":"Editar \xE2ngulo...","menu.animation.start_delay":"Come\xE7ar delay","menu.animation.loop_delay":"Loop Delay","menu.animation.flip_keyframes":"Girar chaves de quadro","menu.mobile_keyboard.disable_all":"Desabilitar tudo","panel.keyframe.toggle_uniform_scale":"Habilitar escala uniforme","camera_angle.common_isometric_right":"Direita isom\xE9trica (2:1)","camera_angle.common_isometric_left":"Esquerda isom\xE9trica (2:1)","camera_angle.true_isometric_right":"Habilitar direita isom\xE9trica (30\xB0)","camera_angle.true_isometric_left":"Habilitar esquerda isom\xE9trica (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"Atualizar para Pr\xE9-lan\xE7amentos","settings.update_to_prereleases.desc":"Atualize automaticamente para uma vers\xE3o beta do Blockbench para testar novos recursos. Vers\xF5es pre-lan\xE7amento podem ser inst\xE1veis, n\xE3o ligue esta op\xE7\xE3o se depende do Blockbench para trabalhar ou para outros projetos importantes","data.separator.spacer":"Espa\xE7ador","data.separator.linebreak":"Quebra de Linha","data.setting":"Configura\xE7\xE3o","generic.select_all":"Selecionar Todos","generic.select_none":"Selecionar Nenhum","projects.new_tab":"Nova Aba","projects.close_tab":"Fechar Aba","message.invalid_format.title":"Formato Inv\xE1lido","message.invalid_format.message":"Este modelo foi feito no formato '%0', que n\xE3o est\xE1 dispon\xEDvel nesta instala\xE7\xE3o do Blockbench. O mais prov\xE1vel \xE9 que precisa de um Plug-in para abrir-lo corretamente.","message.invalid_link":"Fo","message.default_textures.current":"Ender\xE7o atual","message.update_after_restart":"A atualisa\xE7\xE3o ser\xE1 instalada ap\xF3s reiniciar","message.copy_paste_tool_viewport":"Esta ferramenta s\xF3 pode ser utilisada no editor 2D","dialog.project.shadow_size":"Tamanho da Sombra","dialog.find_replace.target":"Alvo","dialog.find_replace.target.element_names":"Nomes dos Elementos","dialog.find_replace.target.group_names":"Nomes dos Grupos","dialog.find_replace.target.animation_names":"Nomes das Anima\xE7\xF5es","dialog.find_replace.target.keyframe_values":"Valores de quadro","dialog.find_replace.find":"Encontrar","dialog.find_replace.replace":"Substituir","dialog.find_replace.regex":"Express\xE3o Regular","dialog.add_primitive.shape":"Forma","dialog.add_primitive.shape.circle":"C\xEDrculo","dialog.add_primitive.shape.tube":"Tubo","dialog.add_primitive.shape.cone":"Cone","dialog.add_primitive.shape.cylinder":"Cilindro","dialog.add_primitive.shape.sphere":"Esfera","dialog.add_primitive.shape.torus":"Toro","dialog.add_primitive.shape.cube":"Cubo","dialog.add_primitive.shape.pyramid":"Pir\xE1mide","dialog.add_primitive.diameter":"Di\xE2metro","dialog.add_primitive.height":"Altura","dialog.add_primitive.sides":"Lados","dialog.add_primitive.minor_diameter":"Grossura","dialog.add_primitive.minor_sides":"Lados menores","dialog.create_texture.combine_polys":"Combinar Ilhas","dialog.create_texture.combine_polys.desc":"Formar ilhas ligadas de UV combinando faces","dialog.model_stats.meshes":"Malha","dialog.export_private_settings.omit":"Deixar","layout.select":"Selecionar","layout.options":"Op\xE7\xF5es","layout.color":"Esquema de Cores","layout.documentation":"Documenta\xE7\xE3o","layout.color.bright_ui_text":"Texto de IU claro","layout.color.bright_ui_text.desc":"Texto em fundos claros","layout.name":"Nome","layout.author":"Autor","settings.dialog.desc":'Mostrar o di\xE1logo de "%0"',"settings.export_empty_groups":"Exportar grupos vazios","settings.export_empty_groups.desc":"Incluir grupos sem conte\xFAdo nos ficheiros exportados","category.separators":"Separadores","keybind.preview_area_select":"Sele\xE7\xE3o por area","action.color_erase_mode":"Modo Apagar","action.color_erase_mode.desc":"Com o modo de apagar ligado, ferramentas como Preencher e Ret\xE2ngulo subtraem cores, em vez de as adicionar.","action.open_from_link":"Abrir modelo de um link...","action.open_from_link.desc":"Abrir um modelo de um URL blckbn.ch","action.import_obj":"Importar Modelo OBJ","action.import_obj.desc":"Importa objetos de um modelo OBJ como uma Malha","action.add_plugin":"Instalar Plugin","action.add_plugin.desc":"Instalar um Plug-in pelo Controlo de A\xE7\xF5es","action.remove_plugin":"Desinstalar Plugin","action.remove_plugin.desc":"Desinstalar um Plug-in pelo Controlo de A\xE7\xF5es","action.add_mesh":"Adicionar Malha","action.add_mesh.desc":"Adiciona uma nova Malha","action.add_texture_mesh":"Adicionar nova malha de textura","action.add_texture_mesh.desc":"Adiciona uma nova malha de textura","action.find_replace":"Encontrar/Substituir...","action.find_replace.desc":"Encontra e substitui partes de nomes ou valores","action.hide_everything_except_selection":"Ocultar tudo menos a sele\xE7\xE3o","action.hide_everything_except_selection.desc":"Alternar a visibilidade de todos os elementos exeto os que est\xE3o selecionados","action.transform_space.normal":"Normal","action.selection_mode":"Modo de Sela\xE7\xE3o","action.selection_mode.desc":"Mudar como elementos podem ser selecionados na janela de visualiza\xE7\xE3o","action.selection_mode.object":"Objeto","action.selection_mode.face":"Face","action.selection_mode.vertex":"V\xE9rtice","action.create_face":"Criar face ou aresta","action.create_face.desc":"Cria uma nova face ou aresta entre os v\xE9rtices selecionados","action.convert_to_mesh":"Converter para malha","action.convert_to_mesh.desc":"Converter os elementos selecionados para malhas","action.invert_face":"Inverter Face","action.invert_face.desc":"Inverter as faces selecionadas de modo a fazer-las apontar na dire\xE7\xE3o oposta","action.extrude_mesh_selection":"Extrudir sele\xE7\xE3o","action.extrude_mesh_selection.desc":"Extrudir as partes selecionadas da malha","action.loop_cut":"Corte em loop","action.loop_cut.desc":"Dividir a malha num loop \xE0 volta da aresta selecionada","action.merge_meshes":"Juntar malhas","action.merge_meshes.desc":"Junta v\xE1rias malhas em uma","action.keyframe_uniform":"Dilata\xE7\xE3o uniforme","action.keyframe_uniform.desc":"Ligar dilata\xE7\xE3o uniforme nos quadros selecionados","menu.locator.ignore_inherited_scale":"Ignorar dilata\xE7\xE3o herdada","menu.texture.elements":"Aplicar a elementos","uv_editor.transparent_face":"Face transparente","display.pose_angle":"\xC2ngulo de pose (s\xF3 para pr\xE9-estreia)","data.mesh":"Malha","dialog.create_texture.type":"Tipo","dialog.create_texture.type.blank":"Vazio","dialog.create_texture.type.template":"Modelo de textura","dialog.create_texture.type.color_map":"Modelo de cor s\xF3lida","dialog.sketchfab_uploader.suggested_tags":"Tags sugeridas","dialog.sketchfab_uploader.category":"Categoria","dialog.sketchfab_uploader.category2":"Categoria 2","layout.restore_backup":'O seu tema customisado "%0" foi substituido, clique aqui para o repor.',"layout.borders":"Bordas","action.fill_mode.element":"Elemento","action.inset_mesh_selection":"Indentar sele\xE7\xE3o","action.inset_mesh_selection.desc":"Indenta as partes selecionadas da malha","action.dissolve_edges":"Dissolver arestas","action.dissolve_edges.desc":"Dissolve as arestas selecionadas numa malha e junta as faces que dividiam","action.split_mesh":"Dividir malha","action.split_mesh.desc":"Separar as faces selecionadas da malha para uma nova malha","action.merge_vertices":"Juntar v\xE9rtices","action.merge_vertices.desc":"Junta os v\xE9rtices selecionados para a posi\xE7\xE3o do v\xE9rtice que foi selecionado primeiro","action.view_mode.normal":"Orienta\xE7\xE3o da face","action.snap_uv_to_pixels":"For\xE7ar o UV para pixeis","action.snap_uv_to_pixels.desc":"For\xE7a os v\xE9rtices de UV selecionados para a gralha de pixeis","menu.file.import.import_open_project":"Importar projeto aberto","menu.help.unlock_projects":"Desbloquear todos os projetos","status_bar.selection.faces":"%0 faces","status_bar.selection.vertices":"%0 v\xE9rtices","message.merged_vertices":"Foram encontrados e juntados %0 v\xE9rtices em %1 posi\xE7\xF5es","settings.vertex_merge_distance":"Dist\xE2ncia de ajuntamento","settings.vertex_merge_distance.desc":"A dist\xE2ncia dentro da qual v\xE9rtices s\xE3o juntos por ajuntamento por dist\xE2ncia","settings.show_only_selected_uv":"S\xF3 mostrar o UV selecionado","settings.show_only_selected_uv.desc":"So mostrar as faces UV selecionadas no editor UV por padr\xE3o","action.merge_vertices.merge_all":"Juntar todos os v\xE9rtices","action.merge_vertices.merge_all_in_center":"Juntar todos os v\xE9rtices no centro","action.merge_vertices.merge_by_distance":"Juntar os v\xE9rtices por dist\xE2ncia","action.merge_vertices.merge_by_distance_in_center":"Juntar por dist\xE2ncia no centro","action.uv_rotate_left":"Rodar UV para a esquerda","action.uv_rotate_left.desc":"Roda as faces de UV selecionadas no sentido anti-hor\xE1rio","action.uv_rotate_right":"Rodar UV para a direita","action.uv_rotate_right.desc":"Roda as faces de UV selecionadas no sentido hor\xE1rio","menu.uv.display_uv":"Mostrar UV","menu.uv.display_uv.selected_faces":"Faces selecionadas","menu.uv.display_uv.selected_elements":"Todas as faces","menu.uv.display_uv.all_elements":"Todas as faces de todos os elementos","menu.paste.face":"Face UV","menu.paste.mesh_selection":"Sele\xE7\xE3o de malha","menu.paste.outliner":"Elementos","uv_editor.show_all_faces":"Mostrar todas as faces","uv_editor.show_selected_faces":"Mostrar as faces selecionadas","status_bar.selection.edges":"%0 arestas","action.selection_mode.edge":"Aresta","message.cannot_re_import.title":"Modelo n\xE3o pode ser reimportado","message.cannot_re_import.message":"O modelo exportado n\xE3o pode ser reimportado no Blockbench novamente. Por favor grave o seu modelo como um ficheiro de projeto.","generic.default":"padr\xE3o","units.pixels_per_meter":"%0 Pixels para depois","mode.pose":"pose","modifier_actions.resize_both_sides":"Dilatar em ambas as dire\xE7\xF5es","modifier_actions.resize_one_side":"redimensionar em uma dire\xE7\xE3o","modifier_actions.draw_line":"desenhar linha","modifier_actions.drag_without_snapping":"Arraste sem encaixar","modifier_actions.stretch_keyframes":"Esticar quadros","modifier_actions.resize_background":"Redimensionar plano de fundo","modifier_actions.select_multiple":`
Selecione multiplos`,"modifier_actions.select_range":"selecionar intervalo","modifier_actions.drag_to_duplicate":"Arraste para duplicar","modifier_actions.uniform_scaling":"escala uniforme","modifier_actions.snap_direction":"Dire\xE7\xE3o de ajuste","message.no_valid_elements":"sem elementos selecionados","dialog.add_primitive.shape.plane":"plano","dialog.save_angle.rotation_mode":"modo de rota\xE7\xE3o","dialog.save_angle.rotation":"rota\xE7\xE3o","dialog.save_angle.fov":"fov","settings.hide_tab_bar":"Esconder automaticamente a barra de aba","settings.hide_tab_bar.desc":"Esconder a barra de aba quando s\xF3 um separador est\xE1 aberto","settings.status_bar_modifier_keys":"Sugerir teclas de modificador na barra de estado","settings.status_bar_modifier_keys.desc":"Mostrar teclas de modificador sugeridas baseadas no contexto na barra de aba","settings.ground_plane":"plana de ch\xE3o","settings.ground_plane.desc":"Mostrar um plano de ch\xE3o abaixo do modelo","settings.preview_paste_behavior":"Comportamento de colagem de visualiza\xE7\xE3o padr\xE3o","settings.preview_paste_behavior.desc":"Selecione o comportamento quando colando algo na janela de visualiza\xE7\xE3o","settings.preview_paste_behavior.always_ask":"Perguntar sempre","action.new_window":"nova aba","action.new_window.desc":"abrir nova aba do blockbench","action.export_collada":"exportar collada modelo (dae)","action.export_collada.desc":"exportar collada modelo (dae) para usar em outras aplica\xE7\xF5es","action.paint_mode_uv_overlay":"Sobreposi\xE7\xE3o UV","action.paint_mode_uv_overlay.desc":"Mostrar o mapa UV sobreposto no modo de pintura","action.bake_animation_into_model":"Cozer anima\xE7\xE3o no modelo","action.bake_animation_into_model.desc":"Cozer o quadro da anima\xE7\xE3o mostrada no modelo. S\xF3 se aplica \xE0 rota\xE7\xE3o e posi\xE7\xE3o, dilata\xE7\xE3o \xE9 ignorada.","action.keyframe_interpolation.step":"Passo","action.set_ik_target":"Definir alvo de CI","action.set_ik_target.desc":"Selecionar o osso alvo que deve ser movido por este objeto nulo por Cinem\xE1tica Inversa","menu.action_control.type.tab":"tab","menu.action_control.type.angle":"angulo de camera","menu.action_control.recent_in_streamer_mode":"Tem a certeza? O modo de Streamer est\xE1 ligado","menu.action_control.recent_in_streamer_mode.desc":"Tem a certeza que deseja mostrar os modelos recentes?","menu.tools":"feramentas","menu.file.recent.more":"ver mais","menu.null_object.lock_ik_target_rotation":"Bloquear a rota\xE7\xE3o do alvo IK","menu.animation_file.import_remaining":"inportar restante das anima\xE7\xF5es","edit.loop_cut.offset":"Desvio","edit.extrude_mesh_selection.extend":"estendido","cube.color.pink":"rosa","cube.color.silver":"prata","dialog.plugins.offline":"sem conex\xE3o de internet","dialog.create_texture.pixel_density":"Densidade de pixels","dialog.create_texture.pixel_density.desc":"A densidade de pixels da textura, em pixels por metro. O tamanho do mapa de textura pode diferir dependendo da quantidade e tamanho dos elementos.","panel.skin_pose":"pose","panel.skin_pose.none":"nada","panel.skin_pose.natural":"natural","panel.skin_pose.walking":"andando","panel.skin_pose.crouching":"Agachado","panel.skin_pose.sitting":"Sentado","panel.skin_pose.jumping":"pulando","panel.skin_pose.aiming":"Apontar","edit.loop_cut.direction":"dire\xE7\xE3o","data.texture_mesh":"Malha de textura","generic.left":"Esquerda","generic.right":"Direita","mode.start.quick_setup":"Setup r\xE1pido","mode.start.keymap":"Mapa-chave","mode.start.quick_setup.more_themes":"Mais...","dialog.resize_texture.animation_frames":"Quadros de anima\xE7\xE3o","dialog.export_emission_map.title":"Exportar mapa de emi\xE7\xE3o","dialog.export_emission_map.format":"Formato","dialog.export_emission_map.format.luminance":"Lumin\xE2ncia","dialog.export_emission_map.format.luminance_inverted":"Lumin\xE2ncia invertida","dialog.export_emission_map.format.colors":"Cores","dialog.export_emission_map.threshold":"Limiar de transpar\xEAncia","dialog.export_emission_map.round_up":"Arredondar para cima para %0 \xD7 %1","dialog.export_emission_map.flip_y":"Inverter o eixo Y","dialog.select.type":"Tipo de elemento","dialog.create_texture.max_edge_angle":"Edge Angle Threshold","dialog.create_texture.max_edge_angle.desc":"The maximum angle between two faces at which they will still be combined","dialog.create_texture.max_island_angle":"Island Angle Threshold","dialog.create_texture.max_island_angle.desc":"The maximum angle that can be combined into the same UV island","settings.mobile_panel_side":"Mobile Panel Side","settings.mobile_panel_side.desc":"Select which side of the screen panels are displayed on when using Blockbench on in landscape orientation","settings.obj_face_export_mode":"OBJ Face Export Mode","settings.obj_face_export_mode.desc":"Choose to let the OBJ exporter convert all faces into tris or quads","settings.obj_face_export_mode.both":"Default","settings.obj_face_export_mode.tris":"Convert to Tris","settings.obj_face_export_mode.quads":"Convert to Quads","action.seam_tool":"Seam Tool","action.seam_tool.desc":"Tool to define UV seams on mesh edges","action.resolve_group":"Resolve Group","action.resolve_group.desc":"Resolve the group while retaining its children in the same place","action.move_to_group":"Move to","action.move_to_group.desc":"Move the selected elements to a different outliner group or element","action.select_seam":"Select UV Seam","action.select_seam.desc":"Select the UV seam mode for the selected edges","action.select_seam.auto":"Auto","action.select_seam.join":"Join","action.select_seam.divide":"Divide","action.adjust_brightness_contrast":"Adjust Brightness & Contrast...","action.adjust_brightness_contrast.desc":"Adjust the brightness and contrast of the selected texture","action.adjust_saturation_hue":"Adjust Saturation & Hue...","action.adjust_saturation_hue.desc":"Adjust the saturation and hue of the selected texture","action.invert_colors":"Invert Colors","action.invert_colors.desc":"Invert all colors of the selected texture","action.adjust_curves":"Adjust Curves...","action.adjust_curves.desc":"Adjust the brightness curves of the selected texture","action.flip_texture_x":"Inverter horizontalmente","action.flip_texture_y":"Inverter verticalmente","action.resize_texture":"Resize Texture...","action.view_mode.uv":"UV Preview","action.append_to_template":"Append Elements to Template...","action.append_to_template.desc":"Add the currently selected elements to the texture template","action.move_texture_with_uv":"Move Texture with UV","action.move_texture_with_uv.desc":"Move the texture of the face along when dragging UV faces","action.timeline_setups":"Timeline Setups","action.save_timeline_setup":"Save Timeline Setup...","action.save_timeline_setup.desc":"Save a preset for the currently selected animators and channels","menu.texture":"Texture","menu.texture.render_mode.default":"Default","menu.texture.merge_onto_texture":"Merge Onto Texture Above","menu.animation.unload":"Unload","panel.timeline":"Timeline","action.pan_tool":"Pan Tool","action.pan_tool.desc":"Tool to navigate in the viewport and the texture editor","mode.start.recent.favorite":"Mark as Favorite","mode.start.info":"Info","mode.start.target":"Target","mode.start.start":"Start","mode.start.create_new":"Create New Model","mode.start.format.informations":"Good to know:","mode.start.format.resources":"Resources:","format.free.info.meshes":"In this format, you can create low poly models using cubes and custom shaped meshes.","format.free.info.limitation":"Models cannot be loaded into games that need specialized formats, such as Minecraft.","format.skin.info.skin":"This format is designed to create Minecraft skins and entity textures.","format.skin.info.model":"The model cannot be changed. In order to make changes to the model, first convert to a different format via **File** > **Convert Project**.","format.java_block.info.rotation":"Rotations are limited to one axis per element","format.java_block.info.size":"The model is limited to a size of 3 by 3 by 3 blocks. Display settings can make item models larger though","format.java_block.info.animation":"This format does not support animations in vanilla Minecraft. If you are creating a mod, you can use GeckoLib to animate models. If not, the only way to animate is to switch out the model using commands or animated textures.","format.bedrock.info.textures":"Each model can only have one texture","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Block model for Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"The size of individual cubes is limited to integers.","format.modded_entity.info.format":"Models are written in Java code instead of dedicated data structures like all other Blockbench export formats.","format.optifine_entity.info.optifine_required":"Users without OptiFine installed won't see the model.","format.optifine_entity.info.pivots":"Bone pivots are locked, so it is a good idea to leave them untouched.","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"Other","format_category.loaders":"Loaders","message.recover_backup.recover":"Recover","message.invalid_characters.title":"Invalid Path","message.invalid_characters.message":"The path of the imported file contains invalid characters, uppercase letters, or white spaces. The supported characters are: %0","dialog.share_model.thumbnail":"Thumbnail","dialog.skin.high_res_texture":"Please note that skins with the selected resolution will not work as regular Minecraft skins. Select a lower resolution.","settings.allow_display_slot_mirror":"Allow Display Slot Mirroring","settings.allow_display_slot_mirror.desc":"Allow Display slots for Java item models to be mirrored. WARNING: This only works in Minecraft 1.14 or earlier or in special cases.","action.switch_tabs":"Switch Tabs","action.switch_tabs.desc":"Cycle between opened tabs. Hold shift to cycle in the opposite direction.","action.unselect_all":"Unselect All","action.save_palette":"Save Palette...","action.save_palette.desc":"Save the current color palette inside Blockbench for later use","action.keyframe_column_create":"Create Keyframe Column","action.keyframe_column_create.desc":"Key all channels in the timeline at the current timecode, if they already have keyframes","action.keyframe_column_select":"Select Keyframe Column","action.keyframe_column_select.desc":"Select all keyframes in the timeline along a column below the playhead","menu.uv":"UV","menu.keyframe":"Keyframe","menu.palette.load.update":"Update Palette","menu.palette.load.update.desc":"Updates this palette with the colors of the current Blockbench palette","menu.timeline_marker.set_time":"Set Time...","uv_editor.scale_uv":"Scale UV","action.preview_scene":"Preview Scene","action.preview_scene.desc":"Change the model preview scene","preview_scene.minecraft_overworld":"Overworld","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"Inverter o eixo Y","preview_scene.studio":"Studio","format.image":"Image","modifier_actions.set_copy_source":"Set Copy Source","message.load_images.title":"Load Images","message.load_images.edit_image":"Edit Image","dialog.add_primitive.align_edges":"Align Edges","dialog.flip_animation.show_in_timeline":"Mostrar ossos modificados na reta cronol\xF3gica","settings.default_cube_size":"Cube Size","settings.default_cube_size.desc":"Set the default cube size when creating a new cube","settings.uniform_keyframe":"Uniform Scale Keyframes","settings.uniform_keyframe.desc":"Set scale keyframes to uniform scaling by default","settings.nearest_rectangle_select":"Rectangle Selection: Nearest Edge","settings.nearest_rectangle_select.desc":"Snap rectangle selections to the nearest pixel edge, like in GIMP, instead of entire pixels.","settings.pick_color_opacity":"Pick Color Opacity","settings.pick_color_opacity.desc":"Pick the color opacity with the Color Picker and set it as brush opacity","settings.paint_with_stylus_only":"Paint with Stylus Only","settings.paint_with_stylus_only.desc":"Only use the stylus for painting, reserve mouse or touch input for navigation.","action.copy_brush_mode":"Copy Brush Mode","action.copy_brush_mode.copy":"Copy","action.copy_brush_mode.pattern":"Pattern","action.copy_brush_mode.sample":"Sample","action.brush_shape":"Brush Shape","action.brush_shape.square":"Square","action.brush_shape.circle":"Circle","action.blend_mode":"Blend Mode","action.blend_mode.default":"Default","action.blend_mode.set_opacity":"Set Opacity","action.blend_mode.color":"Color","action.blend_mode.behind":"Behind","action.blend_mode.multiply":"Multiply","action.blend_mode.divide":"Divide","action.blend_mode.add":"Add","action.blend_mode.subtract":"Subtract","action.blend_mode.screen":"Screen","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Hard Light","action.blend_mode.difference":"Difference","action.copy_brush":"Copy Brush","action.copy_brush.desc":"Brush to clone parts of your texture or draw patterns. Hold Ctrl and click to select a copy source.","action.validator_window":"View Model Issues...","action.validator_window.desc":"Opens the validator, which lists issues with the current model.","action.cancel_gif":"Cancel GIF","menu.text_edit.copy_vector":"Copy Vector","menu.brush_presets.dialog":"Brush Presets...","menu.brush_presets.pixel_brush":"Pixel Brush","menu.brush_presets.smooth_brush":"Smooth Brush","menu.texture.edit_in_blockbench":"Edit in Blockbench","menu.mirror_painting.axis":"Axis","menu.mirror_painting.axis.desc":"Select on which axis paint strokes will get mirrored","menu.mirror_painting.global":"Global Symmetry","menu.mirror_painting.global.desc":"Enabled mirror painting on the model in global space","menu.mirror_painting.local":"Local Symmetry","menu.mirror_painting.local.desc":"Enable mirror painting in local space for each element","menu.mirror_painting.texture_frames":"Repeat on Flipbook Frames","menu.mirror_painting.texture_frames.desc":"Mirror paint strokes to every frame of animated textures","format.bedrock_block.info.size_limit":"Size total size of a block is limited to 30 pixels in all dimensions. The limit can be off-centered in all directions by 7 pixels from the block center.","format.bedrock_block.info.textures":"Multiple textures can be applied to different cubes in Blockbench, but require additional setup in the behavior pack to work correctly in-game.","format.image.desc":"Edit images in the 2D image editor","generic.delete_all":"Delete All","message.child_model_only.open":"Open Parent","message.child_model_only.open_with_textures":"Open Parent & Adopt Textures","dialog.project.credit":"Credit","dialog.convert_project.create_copy":"Create Copy","dialog.texture.frame_time":"Frame Time","dialog.texture.frame_time.desc":"Set for how long each frame will be visible, in ticks. Each tick is 1/20th of a second.","dialog.texture.frame_interpolate":"Interpolate","dialog.texture.frame_interpolate.desc":"Interpolate between animation frames by cross-fading to the next frame","dialog.texture.frame_order_type":"Loop Mode","dialog.texture.frame_order_type.loop":"Loop","dialog.texture.frame_order_type.backwards":"Loop Backwards","dialog.texture.frame_order_type.back_and_forth":"Back-and-Forth","dialog.texture.frame_order_type.custom":"Custom Order","dialog.texture.frame_order":"Frame Order","dialog.texture.frame_order.desc":"Set a custom frame order by listing frame indices in a new order. Frame indices start at 0 with the first frame.","dialog.select.mode":"Mode","dialog.select.mode.new":"New Selection","dialog.select.mode.add":"Add to Selected","dialog.select.mode.remove":"Remove from Selected","dialog.select.mode.in_selection":"Select only from Selected","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Predicates","dialog.predicate_overrides.variants":"Variants","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Add Override","dialog.predicate_overrides.add_predicate":"Add Predicate","dialog.predicate_overrides.generate_overrides":"Generate Overrides","dialog.predicate_overrides.confirm_delete":"Are you sure you want to delete all overrides?","dialog.predicate_overrides.predicate.angle":"Compass Angle","dialog.predicate_overrides.predicate.blocking":"Is Blocking","dialog.predicate_overrides.predicate.broken":"Is Broken","dialog.predicate_overrides.predicate.cast":"Is Cast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Damage","dialog.predicate_overrides.predicate.damaged":"Is Damaged","dialog.predicate_overrides.predicate.lefthanded":"Is Left-Handed","dialog.predicate_overrides.predicate.pull":"Pull Amount","dialog.predicate_overrides.predicate.pulling":"Is Pulling","dialog.predicate_overrides.predicate.charged":"Is Charged","dialog.predicate_overrides.predicate.firework":"Has Firework","dialog.predicate_overrides.predicate.throwing":"Ready to Throw","dialog.predicate_overrides.predicate.time":"Time of Day","dialog.predicate_overrides.predicate.custom_model_data":"Custom Model Data","dialog.predicate_overrides.predicate.level":"Light Level","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","settings.model_export_scale":"Model Export Scale","settings.model_export_scale.desc":"Factor by which the scale of exported glTF, DAE, and FBX models gets reduced. The default is 16, which converts 16 Blockbench units into 1 meter in the export.","action.export_fbx":"Export FBX Model","action.export_fbx.desc":"Export model and animations as fbx file to use it in other 3D applications and game engines","action.center_lateral":"Center Lateral","action.center_lateral.desc":"Center the selected elements on the X and Z axis","action.adjust_opacity":"Adjust Opacity...","action.adjust_opacity.desc":"Adjust the opacity of the selected texture","action.rotate_texture_cw":"Rotate Clockwise","action.rotate_texture_ccw":"Rotate Counter-clockwise","action.predicate_overrides":"Edit Predicate Overrides...","action.predicate_overrides.desc":"Select models to override this model based on selected conditions","action.auto_set_cullfaces":"Set Cullfaces Automatically","action.auto_set_cullfaces.desc":"Automatically generate cullfaces to hide faces when they are covered by the neighboring block.","menu.texture.edit_externally":"Edit Externally","menu.mirror_painting.texture":"2D Editor Symmetry","menu.mirror_painting.texture.desc":"Enable mirror painting in 2D space on the image or texture","menu.animator.rotation_global":"Rotate in Global Space","uv_editor.face_properties":"Face Properties","uv_editor.face_properties.material_instance":"Material Instance","uv_editor.tint.info":"Tint can be enabled on a face to tell Minecraft to tint it. In vanilla, tint can only be used by specific blocks such as leaves and redstone dust, and can only have a value of 0.","uv_editor.cullface.info":"Enabling cullface tells a face on a block to unrender if another full block is placed next to it in the specified direction in your Minecraft world. This can be used to optimize performance.","uv_editor.material_instance.info":"Material instances can be set to a user-defined name. That name can be used in the block JSON file in the behavior pack to assign a particular texture and material that the face.","display.reference.frame_invisible":"Item Frame (Invisible)","data.settings_profile":"Profile","message.display_skin.invalid_name":'Cannot find Minecraft account with the name "%0".',"dialog.load_plugins_from_query.title":"Load Plugins","dialog.load_plugins_from_query.text":"You used a link that requires plugins to be installed. Would you like to install them?","dialog.select_model.title":"Select Model","dialog.select_model.bones":"Bones","dialog.select_model.cubes":"Cubes","dialog.settings.create_profile":"Create Profile...","settings_profile.confirm_delete":"Are you sure you want to delete this settings profile?","settings_profile.condition.type.selectable":"Manually Selectable","settings.interface_mode":"UI Mode","settings.interface_mode.desc":"Interface mode","settings.interface_mode.auto":"Automatic","settings.interface_mode.desktop":"Desktop","settings.interface_mode.mobile":"Mobile","settings.paint_through_transparency":"Paint Through Transparency","settings.paint_through_transparency.desc":"Paint through transparent pixels when Lock Alpha Channel is enabled","action.tab_overview":"Tab Overview","action.tab_overview.desc":"View all open tabs in a grid and jump to one","action.slider_color_red":"Color Red","action.slider_color_green":"Color Green","action.slider_color_blue":"Color Blue","action.add_animation_controller":"Adicionar Controlador de Anima\xE7\xE3o","action.add_animation_controller.desc":"Create a blank animation controller","action.animation_controller_preview_mode":"Controller Preview","action.animation_controller_preview_mode.paused":"Paused","action.animation_controller_preview_mode.manual":"Manual Preview","action.animation_controller_preview_mode.play":"Auto Play","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Link B\xE9zier Handles","action.keyframe_bezier_linked.desc":"Connect the right and left keyframe b\xE9zier handle","action.reset_keyframe_handles":"Reset Keyframe Handles","action.reset_keyframe_handles.desc":"Reset the b\xE9zier handles of the selected keyframes","action.looped_animation_playback":"Looped Playback","action.looped_animation_playback.desc":"Preview animations in an infinite loop","timeline.bind_to_actor":"Bind to Actor","animation_controllers.select_preset":"Select a controller preset...","animation_controllers.state.animations":"Animations","animation_controllers.state.particles":"Particles","animation_controllers.state.sounds":"Sounds","animation_controllers.state.on_entry":"On Entry","animation_controllers.state.on_exit":"On Exit","animation_controllers.state.transitions":"Transitions","animation_controllers.state.condition":"Condition","animation_controllers.state.blend_transition":"Blend Time","animation_controllers.state.shortest_path":"Blend by Shortest Path","animation_controllers.state.edit_transition":"Edit Transition","menu.color_picker.picker_type":"Picker Type","menu.color_picker.picker_type.square":"Square","menu.color_picker.picker_type.wheel":"Wheel","menu.color_picker.slider_mode":"Slider Mode","menu.color_picker.slider_mode.hsv":"Hue, Saturation, Value","menu.color_picker.slider_mode.rgb":"Red, Green, Blue","menu.texture.render_mode.additive":"Additive","panel.color.picker_options":"Color Picker Options","panel.animation_controllers":"Animation Controller","display.preset.armor_stand":"Ground (Armor Stand)","data.file_path":"File Path","dialog.extrude.orientation":"Orientation","dialog.extrude.orientation.upright":"Upright","dialog.extrude.orientation.flat":"Flat","dialog.scale.box_uv_warning":"Scaling a Box UV model may break the UV of your model. Instead, try to scale your model externally, or switch to Per-face UV Mode in File > Project.","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Sequence","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.bg_image":"Background Image","dialog.create_gif.turn.desc":"Rotate the model while recording. Use negative values to turn the model clockwise. A value of 60 corresponds to one rotation every second.","settings_profile.condition":"Condition","settings_profile.condition.type.file_path.desc":"Use Regular Expression syntax to match the file path of the current project. Use forward slashes for directories","settings.only_selected_bezier_handles":"Show Only Selected B\xE9zier Handles","settings.only_selected_bezier_handles.desc":"Hide handles of b\xE9zier keyframes that are not currently selected","settings.embed_textures":"Embed Textures","settings.embed_textures.desc":"Embed texture file content in .bbmodel files","action.selection_mode.cluster":"Cluster","dialog.copied_to_clipboard":"Copied to clipboard","data.reference_image":"Reference Image","message.delete_reference_image":"Are you sure you want to delete this reference image? This cannot be undone.","message.add_reference_image.message":"Select where to load the reference image","message.add_reference_image.project":"Add to this project","message.add_reference_image.app":"Add to all projects","message.import_particle_texture.import":"Import Particle Texture","message.import_particle_texture.message":"Would you like to import a texture file to be used for your particle?","message.save_codec_selector.title":"Save Model Format","message.save_codec_selector.message":"Select a format to save the model in.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"Both","message.display_skin.username":"Username (Java)","message.palette_locked":"The palette is locked","dialog.project.default_uv_mode":"Default UV Mode","dialog.project.default_uv_mode.description":"Default UV Mode of the project. The UV mode can also be changed per cube.","dialog.export_options.title":"Export Options","dialog.edit_texture.preview":"Preview","dialog.proportional_editing.range":"Range","dialog.proportional_editing.falloff":"Falloff","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Smooth","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"Selection","dialog.proportional_editing.selection.linear":"Linear Distance","dialog.proportional_editing.selection.connections":"Connections","dialog.mirror_painting_texture_center.middle":"Middle","dialog.mirror_painting_texture_center.custom":"Custom","dialog.settings.reset_to_default":"Reset to Default","keybindings.item.num_slider.increase":"Increase","keybindings.item.num_slider.decrease":"Decrease","settings.always_show_splash_art":"Always Show Splash Art","settings.always_show_splash_art.desc":"Always display the splash art on the start screen","action.slider_palette_color":"Switch Palette Color","action.slider_palette_color.desc":"Cycle between the colors in the palette","action.proportional_editing":"Proportional Editing","action.proportional_editing.desc":"Proportionally affect surrounding vertices when editing parts of a mesh","action.limit_to_palette":"Limit to Palette","action.limit_to_palette.desc":"Limits the colors of the texture to those in the currently loaded palette","action.edit_reference_images":"Edit Reference Images","action.edit_reference_images.desc":"Turn on reference image mode to add or edit reference images and blueprints","action.add_reference_image":"Add Reference Image","action.reference_image_from_clipboard":"Reference Image from Clipboard","action.reference_image_list":"Reference Images","action.connect_uv_faces":"Connect UV Faces","action.connect_uv_faces.desc":"Connect the selected UV faces to the last selected UV face","action.merge_uv_vertices":"Merge UV Vertices","action.merge_uv_vertices.desc":"Snap the first selected UV vertices to the last selected UV vertices","action.bedrock_animation_mode":"Bedrock Animation Mode","action.bedrock_animation_mode.desc":"Select the mode to edit animations for Minecraft: Bedrock Edition in","action.bedrock_animation_mode.entity":"Entity","action.bedrock_animation_mode.attachable_first":"Item 1st Person","action.bedrock_animation_mode.attachable_third":"Item 3rd Person","timeline.amplify":"Amplify","menu.options":"Options...","menu.palette.lock_palette":"Lock Palette","menu.uv.export":"Export UV Mapping","menu.uv.flip_x":"Mirror X","menu.uv.flip_y":"Mirror Y","menu.mirror_painting.enabled":"Enabled","reference_image.position":"Position","reference_image.size":"Size","reference_image.rotation":"Rotation","reference_image.opacity":"Opacity","reference_image.visibility":"Visibility","reference_image.clear_mode":"Clear Mode","reference_image.layer":"Layer","reference_image.layer.background":"Behind Model","reference_image.layer.viewport":"Above Model","reference_image.layer.float":"Above Interface","reference_image.scope":"Scope","reference_image.scope.project":"Just this project","reference_image.scope.global":"All projects","reference_image.enabled_modes":"Enabled in Modes","codec.common.encoding":"Encoding","codec.common.armature":"Export Groups as Armature","codec.common.export_animations":"Export Animations","codec.common.embed_textures":"Embed Textures","preview.center_camera":"Center Camera","display.reference.frame_top":"Item Frame Top","display.reference.frame_top_invisible":"Item Frame Top (Invisible)","action.proportional_editing_range":"Proportional Editing Range","action.proportional_editing_range.desc":"Adjust the range for proportional editing","action.toggle_all_reference_images":"Hide/Show All Reference Images","action.toggle_all_reference_images.desc":"Toggle the visibility of all reference images at once","action.add_animation_controller_state":"Add Animation Controller State","action.add_animation_controller_state.desc":"Add a new state to the animation controller","menu.slider.round_value":"Round Value","texture.error.too_large":"Resolution exceeds the maximum of %0","dialog.copy_to_clipboard":"Copy to clipboard","dialog.open_url":"Open URL","reference_image.image":"Image","uv_editor.rotate_uv":"Rotate UV","generic.error":"Error","projects.start_screen":"Start Screen","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.plugin_dependencies.title":"Plugin Dependencies","message.plugin_dependencies.message1":"The plugin requires these dependencies:","message.plugin_dependencies.message1_update":"The plugin %0 has been updated and now requires these dependencies:","message.plugin_dependencies.message2":"Do you want to install them to continue?","message.plugin_dependencies.invalid":"Unfortunately the plugin cannot be installed, it has an invalid dependency:","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","dialog.convert_project.text1":"Convert the project into a different format.","dialog.convert_project.text2":"Use conversion at your own risk. Formats have different features and restrictions, so converting will in some cases break parts of your project.","dialog.convert_project.text3":"You cannot undo converting, that is why by default a copy will be created.","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"The following projects contain unsaved changes. Do you want to save your changes?","dialog.unsaved_work.discard_all":"Discard All","dialog.unsaved_work.save_all":"Save All","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Crop/Expand","dialog.resize_texture.mode.scale":"Scale","dialog.plugins.is_installed":"Installed","dialog.plugins.is_disabled":"Disabled","dialog.plugins.disable":"Disable","dialog.plugins.enable":"Enable","dialog.plugins.dependencies":"Depends on:","dialog.view_backups.open_folder":"Open Folder","dialog.share_model.reference_images":"Include Reference Images","dialog.share_model.too_large":"Failed to upload: Model is too large","dialog.share_model.too_large_references":"Failed to upload: Model is too large. Try without reference images.","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","edit.loop_cut.cuts":"Cuts","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"Transparency Render Order","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"Layer","data.panel":"Panel","generic.confirm_delete":"Are you sure you want to delete this?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Layers","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Crop Texture to Selection","action.create_empty_layer":"Create Empty Layer","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Merge Down","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Display an wireframe view of a different frame in the animation for reference","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entity Class","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Apply","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Selected Keyframes","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Thickness","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Merge into","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Merge Animation","action.merge_animation.desc":"Merge the animation into another animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Keyframes","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var PL={"dialog.ok":"OK","dialog.cancel":"Cancelar","dialog.confirm":"Confirmar","dialog.close":"Fechar","dialog.import":"Importar","dialog.save":"Salvar","dialog.discard":"Descartar","dialog.dontshowagain":"N\xE3o mostrar de novo","data.cube":"Cubo","data.group":"Grupo","data.texture":"Textura","data.plugin":"Plugin","data.preview":"Pr\xE9-visualiza\xE7\xE3o","data.toolbar":"Barra de ferramentas","data.image":"Imagem","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"Espa\xE7o","keys.leftclick":"Clique esquerdo","keys.middleclick":"Clique do meio","keys.rightclick":"Clique direito","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"Num\xE9rico %0","keys.caps":"Capslock","keys.menu":"Contextmenu","keys.left":"Seta para esquerda","keys.up":"Seta para cima","keys.right":"Seta para direita","keys.down":"Seta para baixo","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"Mais","keys.comma":"V\xEDrgula","keys.point":"Ponto","keys.minus":"Menos","keys.cross":"Cruz","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"Limites de rota\xE7\xE3o","message.rotation_limit.message":'As rota\xE7\xF5es no Minecraft s\xE3o limitadas a um eixo e incrementos de 22.5 graus. Rotacionar em um eixo diferente ir\xE1 limpar todas as rota\xE7\xF5es nos outros eixos. Converta o modelo para "Modelo Padr\xE3o" se estiver modelando para outras finalidades e precisa de rota\xE7\xF5es livres.',"message.file_not_found.title":"Arquivo n\xE3o encontrado","message.file_not_found.message":"O Blockbench n\xE3o p\xF4de encontrar o arquivo solicitado. Verifique se ele est\xE1 salvo localmente e n\xE3o em nuvem.","message.screenshot.title":"Captura de tela","message.screenshot.clipboard":"\xC1rea de transfer\xEAncia","message.screenshot.right_click":"Captura de tela \u2014 Bot\xE3o direito do mouse para copiar","message.invalid_file.title":"Arquivo inv\xE1lido","message.invalid_file.message":"N\xE3o foi poss\xEDvel abrir o arquivo JSON: %0","message.invalid_model.title":"Arquivo de modelo inv\xE1lido","message.invalid_model.message":"Esse arquivo tem dados de modelo inv\xE1lidos.","message.child_model_only.title":`Modelo derivado vazio
`,"message.child_model_only.message":"Esse arquivo \xE9 derivado de %0 e n\xE3o tem nenhum modelo.","message.unsaved_textures.title":"Texturas n\xE3o salvas","message.unsaved_textures.message":"Seu modelo tem texturas que ainda n\xE3o foram salvas. Certifique-se de salv\xE1-las e col\xE1-las na pasta correta do seu pacote de recursos.","message.model_clipping.title":"Modelo muito grande","message.model_clipping.message":"Isso n\xE3o funcionar\xE1 porque seu modelo tem %0 cubos maiores que o limite de 3x3x3 permitido pelo Minecraft.","message.loose_texture.title":"Importar textura","message.loose_texture.message":"A textura importada n\xE3o faz parte de um pacote de recursos. O Minecraft s\xF3 pode carregar texturas da pasta de texturas de um pacote de recursos que esteja carregado.","message.loose_texture.change":"Mudar caminho","message.update_res.title":"Resolu\xE7\xE3o da textura","message.update_res.message":"Deseja atualizar a resolu\xE7\xE3o do projeto para a resolu\xE7\xE3o dessa textura? Clique em 'Cancelar' se a sua textura tem uma resolu\xE7\xE3o maior que o normal.","message.update_res.update":"Atualizar","message.bedrock_overwrite_error.message":"O Blockbench n\xE3o pode combinar esse modelo com o arquivo antigo","message.bedrock_overwrite_error.backup_overwrite":"Criar c\xF3pia e substituir","message.bedrock_overwrite_error.overwrite":"Substituir","message.close_warning.message":"Deseja salvar o seu modelo?","message.close_warning.web":"O seu trabalho atual ser\xE1 perdido. Deseja mesmo sair?","message.default_textures.title":"Textura padr\xE3o","message.default_textures.message":'Selecione a pasta "textures" do pacote de recursos padr\xE3o',"message.default_textures.detail":'Extraia o pacote de texturas padr\xE3o do jar do Minecraft, ou baixe-o da internet. Em seguida, localize e abra a pasta "textures". O Blockbench se lembrar\xE1 desse local e tentar\xE1 obter texturas a partir dele se n\xE3o puder encontr\xE1-las no pacote de recursos atual.',"message.default_textures.select":'Selecione a pasta padr\xE3o "textures"',"message.image_editor.title":"Selecione um editor de imagens","message.image_editor.file":"Selecionar um arquivo...","message.image_editor.exe":"Selecione o execut\xE1vel do editor de imagens","message.display_skin.title":"Mostrar skin","message.display_skin.message":"Selecione uma skin em seu computador ou digite o nome de um jogador","message.display_skin.upload":"Carregar uma skin","message.display_skin.reset":"Redefinir","message.invalid_plugin":"Extens\xE3o inv\xE1lida. Veja o console","message.load_plugin_app":"Deseja permitir que essa extens\xE3o fa\xE7a altera\xE7\xF5es no seu computador? Apenas carregue extens\xF5es de fontes confi\xE1veis.","message.load_plugin_web":"Deseja carregar este plugin? Apenas carregue plugins de fontes confi\xE1veis.","message.preset_no_info":"A predefini\xE7\xE3o n\xE3o tem informa\xE7\xF5es para esse espa\xE7o","message.restart_to_update":"Reinicie o Blockbench para aplicar as mudan\xE7as","message.save_file":"Salvo como %0","dialog.project.title":"Projeto","dialog.project.name":"Nome do arquivo","dialog.project.parent":"Modelo derivado","dialog.project.geoname":"Identificador do modelo","dialog.project.ao":"Oclus\xE3o de ambiente","dialog.texture.title":"Textura","dialog.texture.variable":"Vari\xE1vel","dialog.texture.namespace":"Espa\xE7o de nomes","dialog.texture.folder":"Pasta","dialog.extrude.title":"Extrudir imagem","dialog.extrude.mode":"Modo varredura","dialog.extrude.mode.areas":"\xC1reas","dialog.extrude.mode.lines":"Linhas","dialog.extrude.mode.columns":"Colunas","dialog.extrude.mode.pixels":"P\xEDxeis","dialog.extrude.opacity":"Opacidade m\xEDnima","dialog.extrude.scan":"Escanear e importar","dialog.display_preset.title":"Criar predefini\xE7\xE3o","dialog.display_preset.message":"Selecione os espa\xE7os que deseja salvar","dialog.display_preset.create":"Criar","dialog.select.title":"Selecionar","dialog.select.group":"No grupo selecionado","dialog.select.name":"O nome cont\xE9m","dialog.select.random":"Chance aleat\xF3ria (%)","dialog.select.select":"Selecionar","dialog.scale.title":"Escala do modelo","dialog.scale.axis":"Eixo","dialog.scale.clipping":"Modelo de recorte: Seu modelo \xE9 muito grande para a tela","dialog.scale.confirm":"Escala","dialog.plugins.title":"Extens\xF5es","dialog.plugins.installed":"Instaladas","dialog.plugins.available":"Dispon\xEDveis","dialog.plugins.install":"Instalar","dialog.plugins.uninstall":"Desinstalar","dialog.plugins.reload":"Recarregar","dialog.plugins.none_installed":"Nenhum plugin instalado","dialog.plugins.none_available":"Nenhuma extens\xE3o dispon\xEDvel","dialog.plugins.web_only":"Apenas para o aplicativo web","dialog.plugins.app_only":"Apenas para o aplicativo de desktop","dialog.plugins.author":"Criado por %0","dialog.create_texture.folder":"Pasta","dialog.create_texture.resolution":"Resolu\xE7\xE3o","dialog.input.title":"Entrada","dialog.settings.settings":"Configura\xE7\xF5es","dialog.settings.keybinds":"Atalhos","dialog.settings.about":"Sobre","layout.color.back":"Cor de fundo","layout.color.back.desc":"Planos de fundo e campos de texto","layout.color.dark":"Cor escura","layout.color.dark.desc":"Plano de fundo da tela","layout.color.ui":"Interface","layout.color.ui.desc":"Cor principal da interface","layout.color.bright_ui":"Interface clara","layout.color.bright_ui.desc":"Menus de contexto e dicas","layout.color.button":"Bot\xF5es","layout.color.button.desc":"Bot\xF5es e seletores","layout.color.selected":"Sele\xE7\xF5es","layout.color.selected.desc":"Abas e objetos selecionados","layout.color.border":"Bordas","layout.color.border.desc":"Bordas de bot\xF5es e campos de texto","layout.color.accent":"Cor de destaque","layout.color.accent.desc":"Bot\xF5es deslizantes e outros detalhes","layout.color.grid":"Grade","layout.color.grid.desc":"Grade da pr\xE9-visualiza\xE7\xE3o 3D","layout.color.text":"Texto","layout.color.text.desc":"Texto normal","layout.color.light":"Cor clara","layout.color.light.desc":"Texto destacado","layout.color.accent_text":"Texto em destaque","layout.color.accent_text.desc":"Texto em elementos claros ou destacados","layout.font.main":"Fonte principal","layout.font.headline":"Fonte de t\xEDtulos","about.version":"Vers\xE3o:","settings.category.general":"Principal","settings.category.preview":"Pr\xE9-visualiza\xE7\xE3o","settings.category.grid":"Grade","settings.category.edit":"Edi\xE7\xE3o","settings.category.snapping":"Ajuste","settings.category.defaults":"Padr\xF5es","settings.category.dialogs":"Di\xE1logos","settings.category.export":"Exporta\xE7\xE3o","settings.language":"Idioma","settings.language.desc":"Idioma da interface. Reinicie o Blockbench para aplicar as altera\xE7\xF5es","settings.backup_interval":"Intervalo de salvamento","settings.backup_interval.desc":"Intervalo entre salvamentos autom\xE1ticos (em minutos)","settings.origin_size":"Origem da rota\xE7\xE3o","settings.origin_size.desc":"Tamanho da origem da rota\xE7\xE3o","settings.control_size":"Tamanho do controle de eixos","settings.control_size.desc":"Tamanho da ferramenta de controle de 3 eixos","settings.display_skin":"Mostrar skin","settings.display_skin.desc":"Skin utilizada no modelo de jogador de refer\xEAncia de exibi\xE7\xE3o.","settings.shading":"Sombreamento","settings.shading.desc":"Ativa o sombreamento.","settings.base_grid":"Grade pequena","settings.base_grid.desc":"Mostrar grade pequena e eixos.","settings.large_grid":"Grade grande","settings.large_grid.desc":"Mostrar grade de blocos 16x16.","settings.full_grid":"Grade completa","settings.full_grid.desc":"Mostrar grade precisa em p\xEDxel.","settings.large_box":"Caixa grande","settings.large_box.desc":"Mostrar limite de blocos 3x3x3.","settings.display_grid":"Modo exibi\xE7\xE3o","settings.display_grid.desc":"Mostrar grade no modo de exibi\xE7\xE3o.","settings.undo_limit":"Limite de desfazer","settings.undo_limit.desc":"N\xFAmero de a\xE7\xF5es que voc\xEA pode desfazer.","settings.local_move":"Mover nos eixos relativos","settings.local_move.desc":"Mover elementos rotacionados em seus pr\xF3prios eixos, se poss\xEDvel.","settings.canvas_unselect":"Cancelar sele\xE7\xE3o ao clicar na tela","settings.canvas_unselect.desc":"Desmarca todos os elementos ao clicar no fundo da tela.","settings.paint_side_restrict":"Restringir pincel \xE0 lateral","settings.paint_side_restrict.desc":"Restringe os pinc\xE9is para pintar apenas no lado atual.","settings.autouv":"Mapeamento autom\xE1tico","settings.autouv.desc":"Ativa o mapeamento UV autom\xE1tico por padr\xE3o,","settings.create_rename":"Renomear novos cubos","settings.create_rename.desc":"Seleciona o campo de nome ao criar um novo elemento ou grupo.","settings.edit_size":"Resolu\xE7\xE3o da grade","settings.edit_size.desc":"Resolu\xE7\xE3o da grade de encaixe dos cubos.","settings.shift_size":"Resolu\xE7\xE3o ao segurar Shift","settings.shift_size.desc":"Resolu\xE7\xE3o da grade ao manter Shift pressionado.","settings.ctrl_size":"Resolu\xE7\xE3o ao segurar Ctrl","settings.ctrl_size.desc":"Resolu\xE7\xE3o da grade ao manter Ctrl pressionado.","settings.negative_size":"Tamanho negativo","settings.negative_size.desc":"Permite que a ferramenta de redimensionamento use tamanhos negativos.","settings.minifiedout":"Exporta\xE7\xE3o simplificada","settings.minifiedout.desc":"Salvar o arquivo JSON em uma \xFAnica linha.","settings.export_groups":"Exportar grupos","settings.export_groups.desc":"Salvar grupos em modelos de bloco ou item.","settings.credit":"Coment\xE1rio de cr\xE9dito","settings.credit.desc":"Adiciona um coment\xE1rio de cr\xE9dito aos arquivos exportados.","settings.default_path":"Caminho padr\xE3o de texturas do Minecraft","settings.default_path.desc":"Pasta de origem das texturas padr\xF5es do Blockbench.","settings.image_editor":"Editor de imagem","settings.image_editor.desc":"Editor de imagens padr\xE3o para editar texturas.","category.navigate":"Navega\xE7\xE3o","category.tools":"Ferramentas","category.file":"Arquivo","category.blockbench":"Blockbench","category.edit":"Editar","category.transform":"Transformar","category.view":"Ver","category.display":"Configura\xE7\xF5es de exibi\xE7\xE3o","category.textures":"Texturas","category.misc":"Diversos","keybind.preview_select":"Sele\xE7\xE3o","keybind.preview_rotate":"Rotacionar a vis\xE3o","keybind.preview_drag":"Arrastar a vis\xE3o","keybind.confirm":"Confirmar","keybind.cancel":"Cancelar","action.slider_inflate":"Aumentar","action.slider_inflate.desc":"Aumentar cubos em todas as dire\xE7\xF5es sem alterar o mapeamento.","action.slider_brush_size":"Tamanho","action.slider_brush_size.desc":"Tamanho do pincel (em p\xEDxeis).","action.slider_brush_opacity":"Opacidade","action.slider_brush_opacity.desc":"Opacidade do pincel (em %).","action.slider_brush_softness":"Suavidade","action.slider_brush_softness.desc":"Suavidade do pincel (em %).","action.uv_slider_pos_x":"Mover horizontalmente","action.uv_slider_pos_x.desc":"Move a sele\xE7\xE3o UV de todos os cubos selecionados horizontalmente.","action.uv_slider_pos_y":"Mover verticalmente","action.uv_slider_pos_y.desc":"Move a sele\xE7\xE3o UV de todos os cubos selecionados verticalmente.","action.uv_slider_size_x":"Redimensionar horizontalmente","action.uv_slider_size_x.desc":"Redimensiona a sele\xE7\xE3o UV de todos os cubos selecionados horizontalmente.","action.uv_slider_size_y":"Redimensionar verticalmente","action.uv_slider_size_y.desc":"Redimensiona verticalmente a sele\xE7\xE3o UV de todos os cubos selecionados.","action.vertex_snap_mode":"Modo ajuste","action.vertex_snap_mode.desc":"Seleciona se o ajuste a v\xE9rtices deve mover os elementos para a posi\xE7\xE3o selecionada ou redimension\xE1-los.","action.move_tool":"Mover","action.move_tool.desc":"Seleciona e move os elementos.","action.resize_tool":"Redimensionar","action.resize_tool.desc":"Seleciona e redimensiona os elementos.","action.brush_tool":"Pincel","action.brush_tool.desc":"Pinta em texturas de bitmap em superf\xEDcies ou no editor de UV.","action.vertex_snap_tool":"Ajustar v\xE9rtices","action.vertex_snap_tool.desc":"Move um cubo para outro conectando dois v\xE9rtices.","action.swap_tools":"Trocar ferramentas","action.swap_tools.desc":"Alterna entre as ferramentas de mover e redimensionar","action.project_window":"Projeto...","action.project_window.desc":"Abre a janela de projeto para edi\xE7\xE3o dos metadados do seu modelo.","action.open_model":"Abrir modelo","action.open_model.desc":"Abre um arquivo de modelo em seu computador.","action.extrude_texture":"Textura extrudada","action.extrude_texture.desc":"Gera um modelo a partir do esticamento de uma textura.","action.export_blockmodel":"Exportar modelo de bloco ou item","action.export_blockmodel.desc":"Exporta um modelo de bloco ou item do Minecraft Java Edition.","action.export_optifine_part":"Exportar modelo OptiFine","action.export_optifine_part.desc":"Exporta um \xFAnico modelo de parte de entidade para o OptiFine.","action.export_optifine_full":"Exportar OptiFine JEM","action.export_optifine_full.desc":"Exporta um modelo de entidade completo do OptiFine.","action.export_obj":"Exportar modelo OBJ","action.export_obj.desc":"Exporta um modelo Wavefront OBJ para renderiza\xE7\xE3o.","action.settings_window":"Configura\xE7\xF5es...","action.settings_window.desc":"Abre a janela de configura\xE7\xF5es do Blockbench.","action.plugins_window":"Extens\xF5es...","action.plugins_window.desc":"Abre a janela da loja de plugins","action.reset_layout":"Redefinir apar\xEAncia","action.reset_layout.desc":"Redefinir a apar\xEAncia ao padr\xE3o do Blockbench","action.load_plugin":"Carregar plugin de um arquivo","action.load_plugin.desc":"Carregar uma extens\xE3o importando o arquivo de origem.","action.reload_plugins":"Recarregar plugins","action.reload_plugins.desc":"Recarregar todos os plugins de desenvolvimento.","action.undo":"Desfazer","action.undo.desc":"Desfaz a \xFAltima altera\xE7\xE3o.","action.redo":"Refazer","action.redo.desc":"Reverte a \xFAltima a\xE7\xE3o desfeita.","action.copy":"Copiar","action.copy.desc":"Copia a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais.","action.paste":"Colar","action.paste.desc":"Cola a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais.","action.cut":"Recortar","action.cut.desc":"Recorta a sele\xE7\xE3o, face ou configura\xE7\xF5es de exibi\xE7\xE3o atuais.","action.add_cube":"Adicionar cubo","action.add_cube.desc":"Adiciona um novo cubo.","action.add_group":"Adicionar grupo","action.add_group.desc":"Adiciona um novo grupo ou osso.","action.outliner_toggle":"Mostrar mais op\xE7\xF5es","action.outliner_toggle.desc":"Mostra op\xE7\xF5es adicionais no organizador.","action.duplicate":"Duplicar","action.delete":"Apagar","action.sort_outliner":"Ordenar","action.sort_outliner.desc":"Ordena os elementos em ordem alfab\xE9tica.","action.select_window":"Selecionar...","action.select_window.desc":"Busca e seleciona os cubos com base em suas propriedades.","action.invert_selection":"Inverter sele\xE7\xE3o","action.invert_selection.desc":"Inverte a sele\xE7\xE3o atual de cubos","action.select_all":"Selecionar tudo","action.collapse_groups":"Recolher grupos","action.collapse_groups.desc":"Recolhe todos os grupos.","action.scale":"Redimensionar...","action.scale.desc":"Redimensiona os cubos selecionados.","action.toggle_visibility":"Alternar visibilidade","action.toggle_visibility.desc":"Alterna a visibilidade dos cubos selecionados.","action.toggle_export":"Alternar exporta\xE7\xE3o","action.toggle_export.desc":"Alterna as configura\xE7\xF5es de exporta\xE7\xE3o dos cubos selecionados.","action.toggle_autouv":"Alternar UV auto.","action.toggle_autouv.desc":"Alterna as configura\xE7\xF5es do UV autom\xE1tico dos cubos selecionados.","action.toggle_shade":"Alternar sombreamento","action.toggle_shade.desc":"Alterna o sombreamento dos cubos selecionados.","action.rename":"Renomear","action.rename.desc":"Mudar o nome dos cubos selecionados.","action.add_display_preset":"Nova predefini\xE7\xE3o","action.add_display_preset.desc":"Adicionar uma nova predefini\xE7\xE3o de configura\xE7\xE3o de exibi\xE7\xE3o.","action.fullscreen":"Tela cheia","action.fullscreen.desc":"Alterna para o modo tela cheia.","action.zoom_in":"Aumentar zoom","action.zoom_in.desc":"Aumenta o zoom para ampliar a interface.","action.zoom_out":"Reduzir zoom","action.zoom_out.desc":"Reduz o zoom para reduzir a interface.","action.zoom_reset":"Redefinir zoom","action.zoom_reset.desc":"Redefine o zoom para o padr\xE3o (100%).","action.reset_interface":"Redefinir interface","action.reset_interface.desc":"Redefine o tamanho e as posi\xE7\xF5es da interface.","action.screenshot_model":"Fotografar modelo","action.screenshot_model.desc":"Faz uma captura de tela recortada do modelo do \xE2ngulo atual.","action.screenshot_app":"Fotografar aplicativo","action.screenshot_app.desc":"Faz uma captura de tela de toda a aplica\xE7\xE3o.","action.import_texture":"Importar Textura","action.import_texture.desc":"Importa uma ou mais texturas do seu arquivo do sistema.","action.create_texture":"Criar textura","action.create_texture.desc":"Cria uma textura ou padr\xE3o de textura em branco.","action.save_textures":"Salvar texturas","action.save_textures.desc":"Salva as texturas n\xE3o salvas.","action.animated_textures":"Iniciar Texturas Animadas","action.animated_textures.desc":"Iniciar e pausar a pr\xE9-visualiza\xE7\xE3o das texturas animadas.","action.origin_to_geometry":"Origem para geometria","action.origin_to_geometry.desc":"Define a origem para o centro da geometria.","action.bone_reset_toggle":"Redefinir osso","action.bone_reset_toggle.desc":"Impedir que o osso exiba cubos do modelo derivador.","action.reload":"Recarregar Blockbench","action.reload.desc":"Recarrega o Blockbench. Isso remover\xE1 todos os progressos n\xE3o salvos.","menu.file":"Arquivo","menu.edit":"Editar","menu.transform":"Transformar","menu.display":"Exibi\xE7\xE3o","menu.view":"Visualizar","menu.file.new":"Novo","menu.file.recent":"Recente","menu.file.import":"Importar","menu.file.export":"Exportar","menu.transform.rotate":"Girar","menu.transform.flip":"Inverter","menu.transform.center":"Centralizar","menu.transform.properties":"Propriedades","menu.display.preset":"Aplicar predefini\xE7\xE3o","menu.display.preset_all":"Aplicar predefini\xE7\xE3o em tudo","menu.display.remove_preset":"Remover predefini\xE7\xE3o","menu.view.zoom":"Zoom","menu.view.background":"Plano de fundo","menu.view.screenshot":"Captura de tela","menu.cube.color":"Cor do marcador","menu.cube.texture":"Textura","menu.cube.texture.transparent":"Transparente","menu.cube.texture.blank":"Em branco","menu.group.sort":"Ordenar","menu.texture.face":"Aplicar \xE0 face","menu.texture.file":"Arquivo","menu.texture.refresh":"Atualizar","menu.texture.change":"Mudar arquivo","menu.texture.folder":"Abrir na pasta","menu.texture.edit":"Editar","menu.texture.export":"Salvar como","menu.texture.save":"Salvar","menu.texture.properties":"Propriedades...","menu.preview.background":"Plano de fundo","menu.preview.background.load":"Carregar","menu.preview.background.position":"Posi\xE7\xE3o","menu.preview.background.lock":"Bloquear c\xE2mera","menu.preview.screenshot":"Captura de tela","menu.preview.perspective":"Perspectiva","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Vis\xE3o Qu\xE1drupla","menu.preview.stop_drag":"Parar posicionamento do plano de fundo","menu.uv.mapping.rotation":"Rota\xE7\xE3o","menu.uv.texture":"Textura","cube.color.light_blue":"Azul-claro","cube.color.yellow":"Amarelo","cube.color.orange":"Laranja","cube.color.red":"Vermelho","cube.color.purple":"Roxo","cube.color.blue":"Azul","cube.color.green":"Verde","cube.color.lime":"Verde-lim\xE3o","switches.visibility":"Visibilidade","switches.export":"Exportar","switches.autouv":"UV auto.","panel.uv":"UV","panel.display":"Padr\xE3o","panel.textures":"Texturas","panel.outliner":"Organizador","uv_editor.title":"Editor de UV","uv_editor.all_faces":"Todas","uv_editor.no_faces":"Nenhum","face.north":"Norte","face.south":"Sul","face.west":"Oeste","face.east":"Leste","face.up":"Cima","face.down":"Baixo","direction.north":"Norte","direction.south":"Sul","direction.west":"Oeste","direction.east":"Leste","direction.top":"Topo","direction.bottom":"Baixo","display.slot.third_right":"Direita da terceira pessoa","display.slot.third_left":"Esquerda da terceira pessoa","display.slot.first_right":"Direita da primeira pessoa","display.slot.first_left":"Esquerda da primeira pessoa","display.slot.head":"Cabe\xE7a","display.slot.ground":"Ch\xE3o","display.slot.frame":"Quadro","display.slot.gui":"Interface","display.rotation":"Rota\xE7\xE3o","display.translation":"Transla\xE7\xE3o","display.scale":"Redimensionar","display.slot":"Espa\xE7o","display.reference":"Modelo de refer\xEAncia","display.reference.player":"Jogador","display.reference.zombie":"Zumbi","display.reference.armor_stand":"Suporte de armadura","display.reference.baby_zombie":"Zumbi beb\xEA","display.reference.armor_stand_small":"Suporte de armadura pequeno","display.reference.monitor":"Normal","display.reference.bow":"Arco","display.reference.block":"Bloco","display.reference.frame":"Moldura","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Invent\xE1rio","display.reference.hud":"HUD","display.preset.blank_name":"Digite um nome","display.preset.item":"Item padr\xE3o","display.preset.block":"Bloco padr\xE3o","display.preset.handheld":"Arma padr\xE3o","display.preset.rod":"Vara padr\xE3o","dialog.continue":"Continuar","message.square_textures":"Texturas t\xEAm que ser quadradas","message.unsaved_texture.title":"Textura n\xE3o salva","message.unsaved_texture.message":"Todas as altera\xE7\xF5es n\xE3o salvas ser\xE3o perdidas. Deseja continuar?","action.vertex_snap_mode.move":"Mover","action.vertex_snap_mode.scale":"Redimensionar","action.open_model_folder":"Abrir pasta de modelos","action.open_model_folder.desc":"Abre a pasta onde o modelo est\xE1 localizado.","action.change_textures_folder":"Mudar local da textura","action.change_textures_folder.desc":"Altera a pasta onde todas as texturas s\xE3o salvas.","menu.texture.particle":"Usar para part\xEDculas","message.update_notification.title":"N\xE3o foi poss\xEDvel instalar a atualiza\xE7\xE3o","message.update_notification.message":"Uma nova vers\xE3o do Blockbench est\xE1 dispon\xEDvel. Ative a op\xE7\xE3o de atualiza\xE7\xF5es autom\xE1ticas nas configura\xE7\xF5es para atualizar!","message.untextured":"Superf\xEDcie sem textura","dialog.toolbar_edit.title":"Personalizar barra de ferramentas","keybindings.reset":"Redefinir","keybindings.clear":"Vazio","action.cube_counter":"Contador de cubos","action.uv_rotation":"Rota\xE7\xE3o UV","action.uv_rotation.desc":"Rota\xE7\xE3o da face UV","action.uv_grid":"Grade UV","action.uv_grid.desc":"Define a resolu\xE7\xE3o de alinhamento da grade para o seletor UV.","action.uv_grid.auto":"Auto.","action.uv_maximize":"Maximizar UV","action.uv_maximize.desc":"Define o UV desta face para a textura total.","action.uv_auto":"UV auto.","action.uv_auto.desc":"Define o tamanho de UV dessa face para o tamanho real da face.","action.uv_rel_auto":"UV relativo auto.","action.uv_rel_auto.desc":"Define o UV dessa face para a posi\xE7\xE3o e tamanho da face real.","action.uv_mirror_x":"Espelhar UV no eixo X","action.uv_mirror_x.desc":"Espelha o UV da face no eixo X.","action.uv_mirror_y":"Espelhar UV no eixo Y","action.uv_mirror_y.desc":"Espelha o UV da face no eixo Y.","action.uv_transparent":"Remover face","action.uv_transparent.desc":"Remove a face atual.","action.uv_reset":"Redefinir face","action.uv_reset.desc":"Redefine a face atual.","action.cullface":"Face coberta","action.cullface.desc":"Desativa a renderiza\xE7\xE3o para essa face se o lado selecionado do modelo for coberto.","action.auto_cullface":"Cobrir face auto.","action.auto_cullface.desc":"Define a cobertura de face para ela mesma.","action.face_tint":"Matiz","action.face_tint.desc":"Ative a op\xE7\xE3o de matiz para a face atual.","menu.toolbar.edit":"Personalizar","menu.toolbar.reset":"Redefinir","uv_editor.rotated":"Girado","uv_editor.auto_cull":"Cobrir face","uv_editor.copied":"Face copiada","uv_editor.pasted":"Face colada","uv_editor.copied_x":"%0 faces copiadas","uv_editor.reset":"Redefinir face","uv_editor.maximized":"Maximizado","uv_editor.autouv":"Tamanho autom\xE1tico","uv_editor.mirrored":"Espelhado","uv_editor.to_all":"Aplicado para todas as faces","uv_editor.transparent":"Tornar transparente","uv_editor.cullface_on":"Face oculta ligada","uv_editor.cullface_off":"Face oculta desligada","uv_editor.tint_on":"Matiz ligado","uv_editor.tint_off":"Matiz desligado","action.uv_apply_all":"Aplicar para todas as faces","action.uv_apply_all.desc":"Aplica as configura\xE7\xF5es na face atual e para todas as faces","message.image_editor_missing.title":"Editor de imagem padr\xE3o","message.image_editor_missing.message":"Seleciona o arquivo execut\xE1vel em seu editor de imagem","message.image_editor_missing.detail":"O Blockbench n\xE3o encontrou um editor de imagens em seu computador. Selecione o arquivo execut\xE1vel em um editor de imagens de sua prefer\xEAncia.","action.update_autouv":"Atualizar UV auto.","action.update_autouv.desc":"Atualiza o UV autom\xE1tico mapeando os cubos selecionados","category.uv":"UV","status_bar.saved":"Modelo salvo","status_bar.unsaved":"H\xE1 altera\xE7\xF5es n\xE3o salvas","action.move_up":"Mover para cima","action.move_up.desc":"Move os cubos selecionados para cima em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","action.move_down":"Mover para baixo","action.move_down.desc":"Move os cubos selecionados para baixo em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","action.move_left":"Mover para esquerda","action.move_left.desc":"Move os cubos selecionados para a esquerda em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","action.move_right":"Mover para direita","action.move_right.desc":"Move os cubos selecionados para a direita em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","action.move_forth":"Mover para frente","action.move_forth.desc":"Mover os cubos selecionados para a frente em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","action.move_back":"Mover para tr\xE1s","action.move_back.desc":"Move os cubos selecionados para atr\xE1s em rela\xE7\xE3o ao \xE2ngulo atual da c\xE2mera.","layout.color.wireframe":"Estrutura de arame","layout.color.wireframe.desc":"Linhas da estrutura de arame.","action.add_animation":"Adicionar anima\xE7\xE3o","action.add_animation.desc":"Cria uma anima\xE7\xE3o em branco.","action.load_animation_file":"Importar anima\xE7\xF5es","action.load_animation_file.desc":"Importa um arquivo de anima\xE7\xE3o.","action.play_animation":"Iniciar anima\xE7\xE3o","action.play_animation.desc":"Pr\xE9-visualizar anima\xE7\xE3o.","action.slider_keyframe_time":"Tempo","action.slider_keyframe_time.desc":"Altera o tempo dos quadros selecionados.","timeline.rotation":"Rota\xE7\xE3o","timeline.position":"Posi\xE7\xE3o","timeline.scale":"Redimensionar","menu.keyframe.quaternion":"Quaterni\xE3o","panel.animations":"Anima\xE7\xF5es","panel.keyframe":"Quadro","panel.keyframe.type":"Quadro (%0)","generic.delete":"Apagar","generic.rename":"Renomear","message.no_animation_selected":"Selecione uma anima\xE7\xE3o para fazer isso","message.no_bone_selected":"Selecione um osso para fazer isso","message.duplicate_groups.title":"Nome do osso duplicado","message.duplicate_groups.message":"Esse nome j\xE1 existe em v\xE1rios outros ossos. Isso pode causar problemas.","action.delete_keyframes":"Apagar quadros","action.delete_keyframes.desc":"Apaga todos os quadros selecionados.","menu.animation":"Anima\xE7\xE3o","menu.animation.loop":"Modo loop","menu.animation.override":"Sobrescrever","menu.animation.anim_time_update":"Atualizar tempo de anima\xE7\xE3o","message.display_skin_model.title":"Modelo da skin","message.display_skin_model.message":"Seleciona o tipo de modelo da sua skin","message.display_skin_model.classic":"Cl\xE1ssica","message.display_skin_model.slim":"Fina","message.bone_material":"Mudar material do osso","action.slider_animation_length":"Dura\xE7\xE3o da anima\xE7\xE3o","action.slider_animation_length.desc":"Altera a dura\xE7\xE3o da anima\xE7\xE3o selecionada","panel.variable_placeholders":"Preenchedores de Espa\xE7o de Vari\xE1veis","panel.variable_placeholders.info":"Lista as vari\xE1veis \u200B\u200Bque voc\xEA deseja visualizar via nome=valor","status_bar.vertex_distance":"Dist\xE2ncia: %0","dialog.create_gif.title":"Gravar GIF","dialog.create_gif.length":"Dura\xE7\xE3o","dialog.create_gif.fps":"QPS","dialog.create_gif.play":"Iniciar anima\xE7\xE3o","category.animation":"Anima\xE7\xE3o","action.record_model_gif":"Gravar GIF","action.record_model_gif.desc":"Grava um GIF animado do modelo do \xE2ngulo atual.","display.mirror":"Espelhar","data.separator":"Separador","menu.preview.background.set_position":"Definir posi\xE7\xE3o","dialog.toolbar_edit.hidden":"Escondido","action.export_class_entity":"Exportar entidade java","action.export_class_entity.desc":"Exporta o modelo da entidade como uma classe Java.","settings.seethrough_outline":"Contornos em raio-x","settings.seethrough_outline.desc":"Mostrar contornos dos objetos.","mode.edit":"Editar","mode.paint":"Pintar","mode.display":"Mostrar","mode.animate":"Animar","status_bar.recording_gif":"Gravando GIF","status_bar.processing_gif":"Processando GIF","settings.backup_retain":"Dura\xE7\xE3o do armazenamento de backups","settings.backup_retain.desc":"Defina por quantos dias o Blockbench dever\xE1 manter os backups antigos.","action.rotate_tool":"Girar","action.rotate_tool.desc":"Seleciona e gira elementos.","action.fill_tool":"Balde de tinta","action.fill_tool.desc":"Preenche as faces inteiras com uma cor.","action.eraser":"Borracha","action.eraser.desc":"Substitui as cores por uma textura transparente.","action.color_picker":"Seletor de cores","action.color_picker.desc":"Escolhe a cor dos p\xEDxeis na sua textura.","switches.mirror":"Espelhar UV",language_name:"Portugu\xEAs (Brasil)","message.plugin_reload":"%0 plugins locais recarregadas","settings.brightness":"Brilho","settings.brightness.desc":"Brilho de pr\xE9-visualiza\xE7\xE3o. O valor padr\xE3o do brilho \xE9 50.","menu.preview.perspective.reset":"Redefinir c\xE2mera","action.fill_mode":"Modo preenchimento","action.fill_mode.face":"Face","action.fill_mode.color":"Cores","action.toggle_mirror_uv":"Espelhar UV","action.toggle_mirror_uv.desc":"Alterna a invers\xE3o do UV no eixo X dos cubos selecionados.","menu.texture.blank":"Aplicar \xE0s faces sem texturas","dialog.scale.select_overflow":"Selecionar excesso","action.action_control":"Controle de a\xE7\xE3o","action.action_control.desc":"Pesquisa e executa qualquer a\xE7\xE3o dispon\xEDvel.","keybindings.recording":"Gravando tecla de atalho","keybindings.press":"Pressione, combine ou clique em qualquer lugar da tela para salvar a(s) tecla(s) de sua prefer\xEAncia.","action.pivot_tool":"Ferramenta piv\xF4","action.pivot_tool.desc":"Altera o ponto de articula\xE7\xE3o de cubos e ossos.","action.slider_animation_speed":"Velocidade de reprodu\xE7\xE3o","action.slider_animation_speed.desc":"Velocidade de reprodu\xE7\xE3o da linha do tempo em porcentagem.","action.previous_keyframe":"Quadro anterior","action.previous_keyframe.desc":"Pular para o quadro anterior.","action.next_keyframe":"Pr\xF3ximo quadro","action.next_keyframe.desc":"Pular para o pr\xF3ximo quadro.","message.outdated_client.title":"Cliente desatualizado","message.outdated_client.message":"Atualize o Blockbench para a vers\xE3o mais recente para fazer isso.","action.export_asset_archive":"Baixar pacote","action.export_asset_archive.desc":"Baixe um pacote que tenha o modelo e todas as texturas.","action.upload_sketchfab":"Enviar para o Sketchfab\u2026","message.sketchfab.name_or_token":"Digite seu token e o nome do Sketchfab","dialog.sketchfab_uploader.title":"Enviar modelo Sketchfab","dialog.sketchfab_uploader.token":"Token de API","dialog.sketchfab_uploader.about_token":"O token \xE9 usado para conectar o Blockbench \xE0 sua conta do Sketchfab. Voc\xEA pode encontr\xE1-lo em %0","dialog.sketchfab_uploader.name":"Nome do modelo","dialog.sketchfab_uploader.description":"Descri\xE7\xE3o","dialog.sketchfab_uploader.tags":"Marcadores","settings.sketchfab_token":"Token do Sketchfab","settings.sketchfab_token.desc":"Token para autorizar o Blockbench a enviar modelos para a sua conta Sketchfab.","panel.color":"Cor","data.origin":"Origem","message.sketchfab.success":"Envio do modelo realizado","message.sketchfab.error":"Falha ao enviar o modelo para o Sketchfab","settings.outliner_colors":"Cores do organizador","settings.outliner_colors.desc":"Mostrar cores de elementos e grupos no organizador.","action.upload_sketchfab.desc":"Envia seu modelo para o Sketchfab.","action.element_colors":"Cores de cubos","action.element_colors.desc":"Mostrar cores de cubos no organizador.","texture.error.file":"Arquivo n\xE3o encontrado","texture.error.parent":"Arquivo de textura dado pelo modelo derivador","message.recover_backup.title":"Recuperar modelo","message.recover_backup.message":"Blockbench foi fechado sem salvar. Deseja recuperar o modelo?","message.invalid_session.title":"Token de sess\xE3o inv\xE1lido","message.invalid_session.message":"A sess\xE3o que voc\xEA est\xE1 tentando acessar expirou ou o token fornecido \xE9 inv\xE1lido.","dialog.create_texture.power":"Tamanho em pot\xEAncia de dois","dialog.create_gif.turn":"Velocidade da mesa girat\xF3ria","action.edit_session":"Sess\xE3o de edi\xE7\xE3o...","action.edit_session.desc":"Conecte-se a uma sess\xE3o de edi\xE7\xE3o para colaborar com outros usu\xE1rios.","action.reset_keyframe":"Redefinir quadro","action.reset_keyframe.desc":"Redefine todos os valores dos quadros selecionados.","dialog.edit_session.title":"Sess\xE3o de Edi\xE7\xE3o","edit_session.username":"Nome de usu\xE1rio","edit_session.token":"Token","edit_session.about":"As sess\xF5es de edi\xE7\xE3o podem ser usadas para colaborar em modelos pela internet. Crie uma sess\xE3o, copie o token e envie-o aos seus amigos que poder\xE3o us\xE1-lo para entrar.","edit_session.join":"Entrar na sess\xE3o","edit_session.create":"Criar sess\xE3o","edit_session.quit":"Sair da sess\xE3o","edit_session.joined":"%0 entrou na sess\xE3o","edit_session.left":"%0 saiu da sess\xE3o","edit_session.quit_session":"Saiu da sess\xE3o atual","edit_session.status":"Status","edit_session.hosting":"Hospedando","edit_session.connected":"Conectado a uma sess\xE3o","dialog.sketchfab_uploader.private":"Privado (Pro)","dialog.sketchfab_uploader.password":"Senha (Pro)","action.uv_select_all":"Selecionar tudo","action.uv_select_all.desc":"Seleciona todas as faces no di\xE1logo de UV.","panel.chat":"Bate-papo","edit_session.welcome":"Bem-vindo(a) \xE0 sess\xE3o de %0","dialog.yes":"Sim","dialog.no":"N\xE3o","generic.remove":"Remover","generic.download":"Baixar","generic.search":"Pesquisa","dates.today":"Hoje","dates.yesterday":"Ontem","dates.this_week":"Esta semana","dates.weeks_ago":"H\xE1 %0 semanas","mode.start.new":"Novo","mode.start.recent":"Recente","format.free":"Modelo padr\xE3o","format.free.desc":"Modelo sem restri\xE7\xF5es. Para motores de jogos, renderiza\xE7\xE3o etc.","format.java_block":"Bloco/Item Java","format.java_block.desc":"Modelo de bloco ou item para a edi\xE7\xE3o Java.","format.bedrock":"Modelo Bedrock","format.bedrock.desc":"Modelo para Minecraft: Bedrock Edition","format.bedrock_old":"Modelo legado para a Bedrock Edition","format.bedrock_old.desc":"Modelo de entidade para o Minecraft: Bedrock Edition (Pr\xE9-1.12)","format.modded_entity":"Entidade modificada","format.modded_entity.desc":"Modelos de entidade para mods. Pode ser exportado como arquivos .java class.","format.optifine_entity":"Entidade OptiFine","format.optifine_entity.desc":"Modelo personalizado de entidade para OptiFine.","keys.mouse":"Bot\xE3o do mouse: %0","message.cleared_blank_faces.title":"Faces em branco","message.cleared_blank_faces.message":"O Blockbench encontrou %0 cubo(s) sem nenhuma textura. Deseja remover esse(s) elemento(s)?","message.wireframe.enabled":"Visualiza\xE7\xE3o de estrutura de arame ativada","message.wireframe.disabled":"Visualiza\xE7\xE3o de estrutura de arame desativada","dialog.convert_project.title":"Converter projeto","dialog.create_texture.double_use":"Manter ocupa\xE7\xE3o de textura m\xFAltipla","dialog.model_stats.title":"Status do modelo","dialog.model_stats.cubes":"Cubos","dialog.model_stats.locators":"Localizadores","dialog.model_stats.groups":"Grupos","dialog.model_stats.vertices":"V\xE9rtices","dialog.model_stats.faces":"Faces","settings.username":"Nome de usu\xE1rio","settings.username.desc":"Nome de usu\xE1rio para as sess\xF5es de edi\xE7\xE3o.","settings.painting_grid":"Grade de pintura","settings.painting_grid.desc":"Mostra a grade em cubos texturizados no modo pintura.","action.convert_project":"Converter projeto","action.convert_project.desc":"Converte o projeto atual em um projeto para outro formato de modelo.","action.close_project":"Fechar projeto","action.close_project.desc":"Fecha o projeto aberto.","action.export_bedrock":"Exportar geometria Bedrock","action.export_bedrock.desc":"Exporte o modelo como um arquivo de geometria da Bedrock Edition.","action.save_project":"Salvar projeto","action.save_project.desc":"Salva o modelo atual como um arquivo de projeto.","action.save_project_as":"Salvar projeto como...","action.save_project_as.desc":"Salva o modelo atual como um arquivo de projeto em um novo local.","action.export_over":"Substituir modelo","action.export_over.desc":"Salva o modelo, texturas e anima\xE7\xF5es substituindo os arquivos.","action.add_locator":"Adicionar localizador","action.add_locator.desc":"Adiciona um novo localizador para controlar posi\xE7\xF5es de part\xEDculas, cordas etc.","action.uv_turn_mapping":"Mapeamento de giros","action.uv_turn_mapping.desc":"Gire o mapeamento UV em cerca de 90 graus.","action.remove_blank_faces":"Remover faces em branco","action.remove_blank_faces.desc":"Apaga todas as faces n\xE3o texturizadas da sele\xE7\xE3o.","web.download_app":"Baixar aplicativo","uv_editor.turned":"Mapeamento ativado","display.reference.crossbow":"Besta","dialog.settings.search_results":"Buscar resultados","settings.animation_snap":"Encaixe de anima\xE7\xE3o","settings.animation_snap.desc":"Intervalo de encaixe padr\xE3o para quadros-chave na linha do tempo da anima\xE7\xE3o, em passos por segundo. Isso tamb\xE9m pode ser alterado por anima\xE7\xE3o. O valor padr\xE3o \xE9 24.","action.import_optifine_part":"Importar parte OptiFine","action.import_optifine_part.desc":"Importa uma parte de modelo de entidade para o OptiFine.","data.locator":"Localizador","mode.start.no_recents":"Nenhum modelo aberto recentemente","panel.element":"Elemento","panel.element.position":"Posi\xE7\xE3o","panel.element.size":"Tamanho","panel.element.origin":"Ponto de Piv\xF4","panel.element.rotation":"Rota\xE7\xE3o","message.canvas_limit_error.title":"Erro de limite de tela","message.canvas_limit_error.message":"A a\xE7\xE3o n\xE3o p\xF4de ser executada corretamente porque o formato limita a \xE1rea de trabalho a 48 unidades. Desloque o ponto de piv\xF4 para evitar isso.","data.effect":"Efeito","generic.name":"Nome","settings.recent_projects":"Limite de modelo recente","settings.recent_projects.desc":"N\xFAmero m\xE1ximo de modelos recentes a serem lembrados.","settings.volume":"Volume","settings.volume.desc":"Controle o volume dos efeitos sonoros em anima\xE7\xF5es.","action.clear_timeline":"Limpar linha do tempo","action.clear_timeline.desc":"Limpar todos os ossos n\xE3o selecionados da linha do tempo.","action.select_effect_animator":"Efeitos animados","action.select_effect_animator.desc":"Abre a linha do tempo para adicionar sons e efeitos de part\xEDculas.","action.timeline_focus":"Filtrar canais","action.timeline_focus.desc":"Selecione os canais de anima\xE7\xE3o para mostrar na linha do tempo.","timeline.particle":"Part\xEDcula","timeline.sound":"Som","timeline.effects":"Efeitos","data.format":"Formato","format.optifine_part":"Parte de OptiFine","format.optifine_part.desc":"Parte JPM para modelos de entidade OptiFine.","action.reverse_keyframes":"Quadros reversos","action.reverse_keyframes.desc":"Inverte a ordem dos quadros selecionados.","generic.help":"Ajuda","message.removed_faces":"%0 faces removidas","dialog.sketchfab_uploader.draft":"Rascunho","action.slider_pos":"Mover %0","action.slider_pos.desc":"Move os cubos no eixo %0","action.slider_size":"Tamanho %0","action.slider_size.desc":"Redimensiona os cubos no eixo %0.","action.slider_rotation":"Girar %0","action.slider_rotation.desc":"Gira os cubos no eixo %0","action.slider_origin":"Piv\xF4 %0","action.slider_origin.desc":"Move o piv\xF4 no eixo %0","action.rotate_cw":"Girar %0 +90","action.rotate_cw.desc":"Gira os cubos selecionados 90\xB0 no eixo %0","action.rotate_ccw":"Girar %0 -90","action.rotate_ccw.desc":"Gira os cubos selecionados -90\xB0 no eixo %0","action.flip":"Virar %0","action.flip.desc":"Vira os cubos selecionados no eixo %0","action.center":"Centro %0","action.center.desc":"Centraliza os cubos selecionados no eixo %0","action.bring_up_all_animations":"Mostrar todos os animadores","panel.bone":"Osso","data.color":"Cor","generic.export":"Exportar","generic.none":"Nenhum","status_bar.recording":"Linha do tempo da grava\xE7\xE3o","message.add_to_palette":"Adicionado \xE0 paleta","message.size_modifiers":"Mantenha pressionada a tecla Ctrl ou Shift para transformar em incrementos menores.","message.timelapse_start":"Timelapse iniciado","message.timelapse_stop":"Timelapse parado","message.import_palette.replace_palette":"Substituir paleta antiga","message.import_palette.threshold":"Limiar de mesclagem","dialog.timelapse.interval":"Intervalo (segundos)","dialog.timelapse.source":"Fonte","dialog.timelapse.source.interface":"Interface","dialog.timelapse.source.locked":"\xC2ngulo bloqueado","dialog.timelapse.destination":"Pasta de destino","layout.color.checkerboard":"Matriz","layout.color.checkerboard.desc":"Fundo de tela e editor UV.","layout.font.code":"C\xF3digo da fonte","layout.css":"CSS personalizado","settings.category.paint":"Pintar","settings.deactivate_size_limit":"Desativar limite de tamanho","settings.deactivate_size_limit.desc":"Desativa o limite de tamanho para formatos de modelo espec\xEDficos. AVISO: Isso pode causar modelos inv\xE1lidos.","settings.brush_opacity_modifier":"Modificador de opacidade do pincel","settings.brush_opacity_modifier.desc":"Modifica a opacidade do pincel ao usar uma caneta.","settings.brush_size_modifier":"Modificador de tamanho de pincel","settings.brush_size_modifier.desc":"Modifica o tamanho do pincel ao usar uma caneta","settings.brush_modifier.pressure":"Press\xE3o","settings.brush_modifier.tilt":"Inclinar","category.color":"Cor","action.import_theme":"Importar tema","action.export_theme":"Exportar tema","action.export_theme.desc":"Cria um arquivo de tema com base nas configura\xE7\xF5es atuais.","action.slider_color_h":"Matiz","action.slider_color_s":"Satura\xE7\xE3o","action.slider_color_v":"Valor","action.add_to_palette":"Adicionar \xE0 paleta","action.add_to_palette.desc":"Adicione a cor selecionada \xE0 paleta de cores.","action.import_palette":"Importar paleta","action.import_palette.desc":"Importar um ficheiro .bbpalette.","action.export_palette":"Exportar paleta","action.export_palette.desc":"Exportar a paleta com um arquivo .bbpalette.","action.generate_palette":"Gerar paleta","action.generate_palette.desc":"Gera a paleta a partir de uma textura.","action.sort_palette":"Classificar paleta","action.sort_palette.desc":"Classifica todas as cores da paleta por cor e brilho.","action.timelapse":"Timelapse...","action.timelapse.desc":"Grave um timelapse do seu progresso de modelagem.","action.add_keyframe":"Adicionar quadro-chave","action.add_keyframe.desc":"Adicione automaticamente um quadro-chave. Pressione shift para for\xE7ar os valores padr\xE3o.","action.bring_up_all_animations.desc":"Traz todos os animadores modificados para a linha do tempo.","timeline.timeline":"Instru\xE7\xF5es","menu.palette.load.default":"Padr\xE3o","generic.import":"Importar","settings.brush_modifier.none":"Nenhum","action.export_entity":"Exportar entidade Bedrock","action.export_entity.desc":"Inclua o modelo atual como uma entidade em um arquivo mobs.json.","settings.highlight_cubes":"Destacar cubos","settings.highlight_cubes.desc":"Realce os cubos quando voc\xEA passa o mouse sobre eles ou os seleciona.","action.add_marker":"Definir marcador","action.add_marker.desc":"Define um marcador na linha do tempo.","timeline.pre_effect_script":"Roteiro","format.skin":"Skin do Minecraft","format.skin.desc":"Edite skins de jogadores e entidades.","message.sketchfab.setup_guide":"Deseja aprender a como configurar seus modelos no Sketchfab? Saiba mais em %0","dialog.skin.title":"Criar skin do Minecraft","dialog.skin.model":"Modelo","action.toggle_skin_layer":"Alterar camada da skin","action.toggle_skin_layer.desc":"Altera a camada do chap\xE9u e da roupa do modelo da skin.","action.gui_light":"Luz da GUI","action.gui_light.desc":"Selecione a maneira como o item \xE9 iluminado no invent\xE1rio.","action.gui_light.side":"Luz lateral","action.gui_light.front":"Luz frontal","action.move_keyframe_back":"Mover quadros para tr\xE1s","action.move_keyframe_forth":"Mover quadros para frente","menu.help":`Ajuda
`,"menu.help.discord":"Servidor no Discord","menu.help.report_issue":"Relatar um erro","menu.help.plugin_documentation":"Documenta\xE7\xE3o Plugin API","menu.help.search_action":"Buscar e executar uma a\xE7\xE3o","menu.help.donate":"Doar","menu.help.about":"Sobre...","menu.preview.background.clipboard":"Carregar da \xE1rea de transfer\xEAncia","dialog.ignore":"Ignorar","generic.unset":"Desativar","message.invalid_builtin_parent.title":"Derivador integrado interno inv\xE1lido","message.invalid_builtin_parent.message":"O link para o modelo derivador inv\xE1lido '%0' foi removido para exportar um modelo v\xE1lido.","dialog.resize_texture.fill":"Preencher com","dialog.resize_texture.fill.transparent":"Transparente","dialog.resize_texture.fill.color":"Cor","dialog.resize_texture.fill.repeat":"Repetir","dialog.scale.element_pivot":"Elemento do piv\xF4","dialog.scale.selection_center":"Centro de sele\xE7\xE3o","dialog.create_gif.length_mode":"Modo comprimento","dialog.create_gif.length_mode.seconds":"Segundos","dialog.create_gif.length_mode.frames":"Quadros","dialog.create_gif.length_mode.animation":"Comprimento da anima\xE7\xE3o","dialog.create_gif.length_mode.turntable":"Rota\xE7\xE3o de mesa girat\xF3ria","dialog.save_angle.projection":"Proje\xE7\xE3o","dialog.save_angle.projection.perspective":"Perspectiva","dialog.save_angle.projection.orthographic":"Ortogr\xE1fico","dialog.sketchfab_uploader.animations":"Anima\xE7\xF5es","dialog.settings.theme":"Tema","settings.category.interface":"Interface","settings.preview_checkerboard":"Mostrar matriz","settings.preview_checkerboard.desc":"Alterna o plano de fundo da matriz por tr\xE1s da visualiza\xE7\xE3o","settings.uv_checkerboard":"Editor UV da matriz","settings.uv_checkerboard.desc":"Alterna o fundo da matriz por tr\xE1s do editor UV","category.paint":"Pintar","action.fill_mode.color_connected":"Cores conectadas","action.draw_shape_type":"Tipo da forma","action.draw_shape_type.rectangle":"Ret\xE2ngulo","action.draw_shape_type.rectangle_h":"Ret\xE2ngulo (vazio)","action.draw_shape_type.ellipse":"Elipse","action.draw_shape_type.ellipse_h":"Elipse (vazia)","action.draw_shape_type.line":"Linha","action.mirror_painting":"Pintura espelhada","action.mirror_painting.description":"Espelhe seus tra\xE7os de tinta para o outro lado do modelo.","action.lock_alpha":"Bloquear canal alfa","action.lock_alpha.description":"Bloqueia a transpar\xEAncia de todos os p\xEDxeis","action.draw_shape_tool":"Desenhar forma","action.draw_shape_tool.desc":"Desenha formas simples em texturas","action.export_gltf":"Exportar como modelo glTF","action.export_gltf.desc":"Exporta modelo e anima\xE7\xF5es como arquivo glTF para usar em outros aplicativos 3D.","action.transform_space":"Transformar espa\xE7o","action.transform_space.desc":"Espa\xE7o de transforma\xE7\xE3o padr\xE3o para elementos e ossos","action.transform_space.global":"Global","action.transform_space.local":"Local","action.toggle_camera_projection":"Alternar proje\xE7\xE3o de c\xE2mera","action.toggle_camera_projection.desc":"Alterna a proje\xE7\xE3o da c\xE2mera entre perspectiva e ortografia","action.load_camera_angle":"\xC2ngulo de c\xE2mera: %0","action.load_camera_angle.desc":"Carrega o \xE2ngulo '%0' da c\xE2mera ","action.slider_face_tint":"\xCDndice de matiz","action.slider_face_tint.desc":"Defina o \xEDndice de matiz da face atual. O valor '-1' significa indefinido.","menu.help.quickstart":"Guia r\xE1pido para iniciantes","menu.help.developer":"Desenvolvedor","menu.help.developer.dev_tools":"\xDAteis para desenvolvedor","menu.help.developer.reset_storage":"Restaurar o Blockbench","menu.help.developer.reset_storage.confirm":"Deseja mesmo redefinir o Blockbench? Essa a\xE7\xE3o apagar\xE1 as configura\xE7\xF5es personalizadas, combina\xE7\xF5es de teclas e plugins instalados.","menu.help.developer.cache_reload":"Recarregar cache","menu.preview.orthographic":"Ortogr\xE1fico","menu.preview.save_angle":"Salvar \xE2ngulo","menu.preview.angle":"\xC2ngulos","menu.preview.angle.initial":"\xC2ngulo inicial","menu.preview.maximize":"Maximizar","uv_editor.copy_selection":"Copiar sele\xE7\xE3o","uv_editor.paste_selection":"Colar sele\xE7\xE3o","uv_editor.copy_paste_tool.place":"Colocar","uv_editor.copy_paste_tool.mirror_x":"Espelhar eixo X","uv_editor.copy_paste_tool.mirror_y":"Espelhar eixo Y","uv_editor.copy_paste_tool.rotate":"Girar 90\xBA","dialog.project.modded_entity_version":"Vers\xE3o de exporta\xE7\xE3o","dialog.save_angle.position":"Posi\xE7\xE3o da c\xE2mera","dialog.save_angle.target":"Ponto focal","dialog.skin.pose":"Pose","layout.color.frame":"Moldura da janela","layout.color.frame.desc":"Borda e barra de t\xEDtulo da janela.","settings.large_grid_size":"Tamanho da grade do bloco","settings.large_grid_size.desc":"Tamanho da grade do bloco.","action.load_plugin_from_url":"Carregar plugin por URL","action.load_plugin_from_url.desc":"Carrega plugin de um servidor especificando a URL.","action.cube_counter.desc":"Mostra o n\xFAmero atual de cubos e outras estat\xEDsticas.","action.unlock_everything":"Desbloquear tudo","action.unlock_everything.desc":"Desbloquea todos os grupos e elementos no organizador.","action.load_palette":"Carregar paleta","action.load_palette.desc":"Carregue uma das predefini\xE7\xF5es da paleta incorporada.","action.toggle_locked":"Alternar bloqueio","action.toggle_locked.desc":"Alterna se os elementos selecionados est\xE3o bloqueados.","action.apply_display_preset":"Aplicar padr\xE3o","action.apply_display_preset.desc":"Aplica uma predefini\xE7\xE3o de configura\xE7\xE3o de exibi\xE7\xE3o padr\xE3o ou personalizada.","action.apply_display_preset.here":"Aplicar para esse espa\xE7o","action.apply_display_preset.everywhere":"Aplicar para todos os espa\xE7os","action.resolve_keyframe_expressions":"Resolver quadro-chave","action.resolve_keyframe_expressions.desc":"Resolve as express\xF5es matem\xE1ticas dos quadros selecionados.","action.fold_all_animations":"Dobre todos os animadores","menu.palette.load.empty":"Vazia","switches.lock":"Bloquear","settings.render_sides":"Lados carregados","settings.render_sides.desc":"Selecione qual lado de uma face \xE9 carregado.","settings.render_sides.auto":"Auto.","settings.render_sides.front":"Fora","settings.render_sides.double":"Dentro e fora","generic.enable":"Ativar","generic.disable":"Desativar","generic.redacted":"Editado","dialog.select_texture.import_all":"Importar tudo","dialog.skin.layer_template":"Textura da camada","about.version.up_to_date":"Mais recente","about.version.update_available":"Vers\xE3o %o dispon\xEDvel","settings.category.application":"Aplica\xE7\xF5es","settings.streamer_mode":"Modo transmiss\xE3o","settings.streamer_mode.desc":"Esconder informa\xE7\xF5es sens\xEDveis como modelos recentes","settings.automatic_updates":"Atualiza\xE7\xF5es autom\xE1ticas","settings.automatic_updates.desc":"Download autom\xE1tico de novas vers\xF5es e manter BlockBench com a vers\xE3o mais recente","action.rotation_space":"Espa\xE7o de rota\xE7\xE3o","action.focus_on_selection":"Centralizar o campo visual na sele\xE7\xE3o","action.focus_on_selection.desc":"Alinhar a c\xE2mera para olhar o centro da sele\xE7\xE3o atual.","action.jump_to_timeline_start":"Pular para o in\xEDcio da anima\xE7\xE3o","action.jump_to_timeline_end":"Pular para o fim da anima\xE7\xE3o","menu.help.updating":"Atualizando (%0%)","menu.help.update_failed":"Falha ao atualizar","menu.animation.loop.once":"Reproduzir uma vez","menu.animation.loop.hold":"Manter no \xFAltimo quadro","menu.animation.loop.loop":"Loop","interface.streamer_mode_on":"Modo transmiss\xE3o ativado","generic.reset":"Reiniciar","generic.restore":"Restaurar","keys.mousewheel":"Bot\xE3o de rolagem","message.delete_animation.title":"Anima\xE7\xE3o apagada","message.delete_animation.message":"Anima\xE7\xE3o removida do Blockbench. Deseja apagar a anima\xE7\xE3o do arquivo onde estava salva?","message.no_animation_to_import":"Nenhuma anima\xE7\xE3o para importar","dialog.material_instances.title":"Material","dialog.animation_import.title":"Selecionar anima\xE7\xF5es para importar","dialog.create_texture.padding":"Preenchimento","settings.fov":"CAMPO VISUAL","settings.fov.desc":"Campo visual da c\xE2mera. O valor padr\xE3o \xE9 45","settings.minify_bbmodel":"Reduzir arquivos do projeto","settings.minify_bbmodel.desc":"Escreve arquivos .bbmodel reduzidos em uma linha.","action.edit_material_instances":"Editar materiais","action.edit_material_instances.desc":"Editar nomes dos materiais para blocos Bedrock.","action.save_all_animations":"Salvar todas as anima\xE7\xF5es","action.save_all_animations.desc":"Salvar todas as anima\xE7\xF5es carregadas.","action.keyframe_interpolation":"Interpola\xE7\xE3o","action.keyframe_interpolation.desc":"Selecione o modo de interpola\xE7\xE3o do quadro.","action.keyframe_interpolation.linear":"Linear","action.keyframe_interpolation.catmullrom":"Suavizar","action.timeline_focus.hide_empty":"Esconder canais vazios","menu.file.preferences":"Prefer\xEAncias","menu.animation.blend_weight":"For\xE7a da mesclagem","menu.animation.save":"Salvar","menu.animation.properties":"Propriedades...","menu.animation.file":"Arquivo","menu.animation.snapping":"Encaixar","menu.animation.open_location":"Abrir local do arquivo","panel.keyframe.add_data_point":"Adicionar ponto de dados do quadro","panel.keyframe.remove_data_point":"Remover ponto de dados do quadro","panel.keyframe.pre":"Pr\xE9","panel.keyframe.post":"P\xF3s","generic.all":"Todos","message.small_face_dimensions.title":"Dimens\xF5es de face incompat\xEDveis","message.small_face_dimensions.message":"A sele\xE7\xE3o tem faces que s\xE3o menores do que 1 unidade em uma dire\xE7\xE3o. O sistema de mapeamento UV por Caixa considera quaisquer faces abaixo desse limite como tendo 0 p\xEDxeis de largura. Por isso, a textura nessas faces pode n\xE3o funcionar corretamente.","message.small_face_dimensions.face_uv":'O formato atual suporta mapas UV por face, que podem lidar com faces de menores dimens\xF5es. Fa\xE7a Clique Direito nos cubos afetados e mude o "Modo UV" para "UV por face".',"dialog.plugins.outdated_client":"Requer uma vers\xE3o mais recente do Blockbench","dialog.plugins.outdated_plugin":"O plugin est\xE1 desatualizado e n\xE3o funciona com essa vers\xE3o do Blockbench","settings.motion_trails":"Trilhas de movimento","settings.motion_trails.desc":"Mostrar trilhas de movimento no editor de anima\xE7\xF5es.","settings.antialiasing":"Suaviza\xE7\xE3o","settings.antialiasing.desc":"Ative a suaviza\xE7\xE3o na pr\xE9-visualiza\xE7\xE3o. Reinicie o Blockbench para aplicar as mudan\xE7as.","action.timeline_frame_back":"Voltar 1 segundo","action.timeline_frame_forth":"Avan\xE7ar 1 segundo","panel.bone.ik":"Cinem\xE1tica reversa (experimental)","settings.particle_tick_rate":"Taxa de tique da part\xEDcula","settings.particle_tick_rate.desc":"Taxa de tiques para os efeitos da part\xEDcula em tiques por segundo. O valor padr\xE3o \xE9 30.","action.lock_motion_trail":"Bloquear trilha de movimento","action.lock_motion_trail.desc":"Bloqueia a trilha de movimento para o grupo selecionado.","menu.animation_file.unload":"Descarregar arquivo de anima\xE7\xE3o","data.null_object":"Objeto vazio","status_bar.toggle_sidebar":"Ativar barra lateral","message.load_plugin_failed.title":"Falha ao carregar plugin","message.load_plugin_failed.message":"Garanta que o nome do arquivo base desse plugin corresponde ao ID '%0' do plugin, como especificado em Plugin.register().","dialog.project.uv_mode":"Modo UV","dialog.project.uv_mode.box_uv":"Cubo UV","dialog.project.uv_mode.face_uv":"UV por face","dialog.project.texture_size":"Tamanho da textura","dialog.animation_export.title":"Selecionar anima\xE7\xF5es para exportar","dialog.create_texture.rearrange_uv":"Organizar UV","layout.color.subtle_text":"Texto sutil","layout.color.subtle_text.desc":"Cor secund\xE1ria do texto com menos contraste.","settings.interface_scale":"Escala da interface","settings.interface_scale.desc":"Escala de toda a interface do Blockbench.","settings.background_rendering":"Renderizar plano de fundo","settings.background_rendering.desc":"Atualiza a pr\xE9-visualiza\xE7\xE3o enquanto a janela n\xE3o est\xE1 em foco.","settings.ctrl_shift_size":"Resolu\xE7\xE3o Ctrl + Shift","settings.ctrl_shift_size.desc":"Resolu\xE7\xE3o da grade enquanto segura Ctrl e Shift.","settings.hardware_acceleration":"Acelera\xE7\xE3o de hardware","settings.hardware_acceleration.desc":"Permite que a placa gr\xE1fica execute as tarefas de renderiza\xE7\xE3o.","action.explode_skin_model":"Aumentar modelo de skin","action.explode_skin_model.desc":"Alterna uma vista explosiva que permite editar faces cobertas.","action.export_minecraft_skin":"Exportar skin do minecraft","action.export_minecraft_skin.desc":"Exportar skin do Minecraft como uma textura PNG","action.add_null_object":"Adicionar objeto vazio","action.add_null_object.desc":"Adiciona um novo objeto nulo.","action.animated_texture_frame":"Quadro de textura animada","action.animated_texture_frame.desc":"Define o quadro atual da textura animada.","action.export_animation_file":"Exportar anima\xE7\xF5es...","action.export_animation_file.desc":"Exportar uma sele\xE7\xE3o de anima\xE7\xF5es em um novo arquivo.","action.timeline_graph_editor":"Ativar editor de grafos","action.timeline_graph_editor.desc":"Ativa a linha do tempo entre o editor de grafos e o editor de chaves","menu.file.recent.clear":"Limpar arquivos recentes","switches.shade":"Sombra","generic.share":"Compartilhar","dates.minute":"%0 minuto","dates.minutes":"%0 minutos","dates.hour":"%0 hora","dates.hours":"%0 horas","dates.day":"%0 dia","dates.days":"%0 dias","dates.week":"%0 semana","dates.weeks":"%0 semanas","dates.year":"%0 ano","dates.years":"%0 anos","message.installed_plugin":"Plugin %0 instalado","message.installed_plugin_fail":"Falha ao instalar o plugin %0","dialog.share_model.title":"Compartilhar modelo","dialog.share_model.expire_time":"Tempo expirado","dialog.share_model.failed":"Falha em atualizar o modelo","action.import_java_block_model":"Adicionar bloco java ou modelo de item","action.import_java_block_model.desc":"Adiciona um bloco java ou modelo de item de um arquivo .json para o modelo atual.","action.share_model":"Compartilhar...","action.share_model.desc":"Gerar um link curto para compartilhar seu modelo","action.import_project":"Importar projeto","action.import_project.desc":"Importa outro projeto de um arquivo .bbmodel para o projeto atual.","dialog.toolbar_edit.hidden_tools":"Algumas ferramentas podem estar escondidas porque elas n\xE3o est\xE3o dispon\xEDveis no modelo, formato ou situa\xE7\xE3o atual.","settings.camera_near_plane":"C\xE2mera pr\xF3ximo ao plano","settings.camera_near_plane.desc":"A dist\xE2ncia m\xEDnima da c\xE2mera onde os objetos renderizam. Valores maiores diminuem o Z-fighting. O valor padr\xE3o \xE9 1.","mode.start.keymap_preference.desc":"Se \xE9 novo no Blockbench e vem de outro programa 3D, pode selecionar um mapa de teclas para facilitar a transi\xE7\xE3o. \xC9 poss\xEDvel alterar o mapa de teclas ou as atribui\xE7\xF5es de teclas individuais em outro momento nas configura\xE7\xF5es.","message.load_keymap":"Deseja mesmo carregar esses atalhos? Isso ir\xE1 substituir seus atalhos atuais.","message.keymap_loaded":"Atalhos carregados","dialog.convert_project.current_format":"Formato atual","dialog.create_texture.rearrange_uv.desc":"Cria um novo arranjo UV para dar a cada face o seu pr\xF3prio espa\xE7o na textura.","dialog.create_texture.power.desc":"Prender o tamanho da textura autom\xE1tica para uma pot\xEAncia de 2, como 64 ou 128. Isso \xE9 necess\xE1rio para alguns renderizadores.","dialog.create_texture.double_use.desc":"Se dois elementos j\xE1 tem o mesmo espa\xE7o UV correspondente, mantenha assim no novo mapa","dialog.create_texture.padding.desc":"Adicione uma pequena pintura entre as partes individuais do modelo.","dialog.create_texture.resolution.desc":"A resolu\xE7\xE3o base da textura, em pixels por metro. O tamanho real do mapa de textura pode diferir dependendo da quantidade e tamanho dos elementos.","dialog.create_gif.color":"Cor de fundo","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variante","dialog.flip_animation.info":"Ossos opostos t\xEAm identificadores escritos como 'esquerdo' e 'direito' em seu nome.","dialog.export_private_settings.title":"Op\xE7\xF5es privadas","dialog.export_private_settings.message":"Seu arquivo tem as seguintes informa\xE7\xF5es privadas: **%0**. Remova esses valores se planeja compartilhar o arquivo com outra pessoa.","dialog.export_private_settings.keep":"Manter","settings.timecode_frame_number":"Mostrar c\xF3digos de tempo como n\xFAmero do quadro","settings.timecode_frame_number.desc":"Mostrar fra\xE7\xE3o de c\xF3digos de tempo na linha do tempo como o n\xFAmero do quadro ao inv\xE9s de centissegundo","settings.animation_sample_rate":"Taxa de amostra da anima\xE7\xE3o","settings.animation_sample_rate.desc":"Taxa de amostra em amostras por segundo para curvas que o respectivo formato n\xE3o suporta nativamente","keybind.preview_zoom":"Zoom no campo visual","action.gradient_tool":"Ferramenta gradiente","action.gradient_tool.desc":"Cria uma cor gradiente na sua textura.","action.import_settings":"Importar configura\xE7\xF5es","action.import_settings.desc":"Importar arquivo .bbsettings","action.export_settings":"Exportar configura\xE7\xF5es","action.export_settings.desc":"Exporta as configura\xE7\xF5es do Blockbench como um arquivo .bbsettings","action.load_keymap":"Carregar mapa de atalhos","action.load_keymap.default":"Padr\xE3o (Trackpad)","action.load_keymap.mouse":"Padr\xE3o (Mouse)","action.load_keymap.default.desc":"Atribui\xE7\xF5es de teclas padr\xF5es do Blockbench, com controles de navega\xE7\xE3o da \xE1rea de trabalho otimizados para uso em trackpads de laptops.","action.load_keymap.mouse.desc":"Atribui\xE7\xF5es de teclas padr\xF5es do Blockbench, com a navega\xE7\xE3o da \xE1rea de trabalho vinculada ao bot\xE3o do meio do mouse.","action.load_keymap.blender.desc":"Mapa de teclas para usu\xE1rios familiarizados com os controles do Blender","action.load_keymap.cinema4d.desc":"Mapa de teclas para usu\xE1rios familiarizados com os controles do Cinema 4D","action.load_keymap.maya.desc":"Mapa de teclas para usu\xE1rios familiarizados com os controles do Autodesk Maya","action.import_keymap":"Importar atalhos","action.import_keymap.desc":"Importar atalhos de um arquivo .bbkeymap","action.export_keymap":"Exportar mapa de atalhos","action.export_keymap.desc":"Exportar mapa de atalhos como um arquivo .bbkeymap","action.edit_history":"Editar hist\xF3rico","action.edit_history.desc":"Ver o hist\xF3rico de edi\xE7\xE3o e voltar/refazer etapas","action.group_elements":"Elementos de grupo","action.group_elements.desc":"Coloca os elementos selecionados em um novo grupo.","action.unfold_groups":"Desdobrar grupos","action.unfold_groups.desc":"Separa todos os grupos.","action.edit_bedrock_binding":"Editando atalho...","action.edit_bedrock_binding.desc":"Define a qual osso a geometria deve ser vinculada.","action.pick_screen_color":"Selecionar cor da tela","action.pick_screen_color.desc":"Seleciona uma cor em qualquer lugar da sua tela.","action.view_mode":"Modo campo visual","action.view_mode.desc":"Muda o campo visual do modelo.","action.view_mode.textured":"Texturizado","action.view_mode.solid":"S\xF3lido","action.view_mode.wireframe":"Aramado","action.toggle_sidebars":"Ativar barras laterais","action.toggle_sidebars.desc":"Ativa ou desativa as barras laterais.","action.set_animation_end":"Configurar fim da anima\xE7\xE3o","action.set_animation_end.desc":"Configura o fim da anima\xE7\xE3o selecionada para o tempo selecionado na linha do tempo.","action.flip_animation":"Girar anima\xE7\xE3o","action.flip_animation.desc":"Gira partes da anima\xE7\xE3o copiando os quadros selecionados para o outro lado do modelo.","action.graph_editor_zero_line":"Incluir linha zero","action.graph_editor_zero_line.desc":"Se o editor de gr\xE1ficos sempre inclui a linha zero na visualiza\xE7\xE3o.","menu.texture.render_mode":"Modo renderiza\xE7\xE3o","menu.texture.render_mode.emissive":"Emissivo","menu.texture.render_mode.layered":"Camadas","menu.preview.angle.edit":"Editar \xE2ngulo...","menu.animation.start_delay":"Come\xE7ar atraso","menu.animation.loop_delay":"Atraso em loop","menu.animation.flip_keyframes":"Girar chaves de quadro","menu.mobile_keyboard.disable_all":"Desabilitar tudo","panel.keyframe.toggle_uniform_scale":"Ativar escala uniforme","camera_angle.common_isometric_right":"Direita isom\xE9trica (2:1)","camera_angle.common_isometric_left":"Esquerda isom\xE9trica (2:1)","camera_angle.true_isometric_right":"Ativar direita isom\xE9trica (30\xB0)","camera_angle.true_isometric_left":"Ativar esquerda isom\xE9trica (30\xB0)","menu.help.wiki":"Wiki do Blockbench","settings.update_to_prereleases":"Atualizar para pr\xE9-lan\xE7amentos","settings.update_to_prereleases.desc":"Atualize automaticamente para vers\xF5es beta do Blockbench para testar novos recursos. As vers\xF5es de pr\xE9-lan\xE7amento podem ser inst\xE1veis. Deixe essa op\xE7\xE3o desativada se usa o Blockbench para trabalho ou outros projetos importantes.","data.separator.spacer":"Espa\xE7ador","data.separator.linebreak":"Quebra de linha","data.setting":"Configura\xE7\xE3o","generic.select_all":"Selecionar todos","generic.select_none":"Selecionar nenhum","projects.new_tab":"Nova aba","projects.close_tab":"Fechar aba","message.invalid_format.title":"Formato Inv\xE1lido","message.invalid_format.message":"Esse modelo foi feito no formato '%0' que est\xE1 indispon\xEDvel nesta instala\xE7\xE3o do Blockbench. Provavelmente, requer um plugin para abri-lo corretamente.","message.invalid_link":"Link do modelo expirado ou inv\xE1lido","message.default_textures.current":"Caminho atual","message.update_after_restart":"A atualiza\xE7\xE3o ser\xE1 instalada ap\xF3s reiniciar","message.copy_paste_tool_viewport":"Essa ferramenta s\xF3 pode ser utilizada no editor 2D","dialog.project.shadow_size":"Tamanho da sombra","dialog.find_replace.target":"Alvo","dialog.find_replace.target.element_names":"Nomes dos elementos","dialog.find_replace.target.group_names":"Nomes dos grupos","dialog.find_replace.target.animation_names":"Nomes das anima\xE7\xF5es","dialog.find_replace.target.keyframe_values":"Valores de quadro","dialog.find_replace.find":"Encontrar","dialog.find_replace.replace":"Substituir","dialog.find_replace.regex":"Express\xE3o regular","dialog.add_primitive.shape":"Forma","dialog.add_primitive.shape.circle":"C\xEDrculo","dialog.add_primitive.shape.tube":"Tubo","dialog.add_primitive.shape.cone":"Cone","dialog.add_primitive.shape.cylinder":"Cilindro","dialog.add_primitive.shape.sphere":"Esfera","dialog.add_primitive.shape.torus":"Toro","dialog.add_primitive.shape.cube":"Cubo","dialog.add_primitive.shape.pyramid":"Pir\xE2mide","dialog.add_primitive.diameter":"Di\xE2metro","dialog.add_primitive.height":"Altura","dialog.add_primitive.sides":"Lados","dialog.add_primitive.minor_diameter":"Espessura","dialog.add_primitive.minor_sides":"Lados menores","dialog.create_texture.combine_polys":"Combinar ilhas","dialog.create_texture.combine_polys.desc":"Combina faces em ilhas UV conectadas.","dialog.model_stats.meshes":"Malha","dialog.export_private_settings.omit":"Apagar","layout.select":"Selecionar","layout.options":"Op\xE7\xF5es","layout.color":"Esquema de cores","layout.documentation":"Documenta\xE7\xE3o","layout.color.bright_ui_text":"Texto de IU claro","layout.color.bright_ui_text.desc":"Texto em fundos claros.","layout.name":"Nome","layout.author":"Autor","settings.dialog.desc":'Mostrar o di\xE1logo de "%0"',"settings.export_empty_groups":"Exportar grupos vazios","settings.export_empty_groups.desc":"Inclui os grupos sem conte\xFAdo nos arquivos exportados.","category.separators":"Separadores","keybind.preview_area_select":"Sele\xE7\xE3o por area","action.color_erase_mode":"Modo apagar","action.color_erase_mode.desc":"Ao ativar, ferramentas como preencher e ret\xE2ngulo subtraem cores, ao inv\xE9s de as adicionar.","action.open_from_link":"Abrir modelo de um link...","action.open_from_link.desc":"Abrir um modelo de um URL blckbn.ch","action.import_obj":"Importar modelo OBJ","action.import_obj.desc":"Importa os objetos de um modelo OBJ como uma malha.","action.add_plugin":"Instalar plugin","action.add_plugin.desc":"Instalar um plugin pelo controle de a\xE7\xF5es.","action.remove_plugin":"Desinstalar plugin","action.remove_plugin.desc":"Desinstala um plugin pelo controle de a\xE7\xF5es.","action.add_mesh":"Adicionar malha","action.add_mesh.desc":"Adiciona uma nova malha.","action.add_texture_mesh":"Adicionar nova malha texturizada","action.add_texture_mesh.desc":"Adiciona uma nova malha de textura.","action.find_replace":"Encontrar/Substituir...","action.find_replace.desc":"Encontra e substitui partes de nomes ou valores","action.hide_everything_except_selection":"Ocultar tudo menos a sele\xE7\xE3o","action.hide_everything_except_selection.desc":"Alterna a visibilidade de todos os elementos, exceto os selecionados.","action.transform_space.normal":"Normal","action.selection_mode":"Modo sele\xE7\xE3o","action.selection_mode.desc":"Muda como elementos podem ser selecionados na \xE1rea de visualiza\xE7\xE3o.","action.selection_mode.object":"Objeto","action.selection_mode.face":"Face","action.selection_mode.vertex":"V\xE9rtice","action.create_face":"Criar face ou aresta","action.create_face.desc":"Cria uma nova face ou aresta entre os v\xE9rtices selecionados.","action.convert_to_mesh":"Converter para malha","action.convert_to_mesh.desc":"Converter os elementos selecionados para malhas.","action.invert_face":"Inverter face","action.invert_face.desc":"Inverte as faces selecionadas fazendo com que elas apontam na dire\xE7\xE3o oposta","action.extrude_mesh_selection":"Extrudir sele\xE7\xE3o","action.extrude_mesh_selection.desc":"Extrude as partes selecionadas da malha.","action.loop_cut":"Corte em loop","action.loop_cut.desc":"Divide a malha em um loop atrav\xE9s da aresta selecionada.","action.merge_meshes":"Juntar malhas","action.merge_meshes.desc":"Junta v\xE1rias malhas em uma.","action.keyframe_uniform":"Dilata\xE7\xE3o uniforme","action.keyframe_uniform.desc":"Liga a dilata\xE7\xE3o uniforme nos quadros selecionados.","menu.locator.ignore_inherited_scale":"Ignorar dilata\xE7\xE3o herdada","menu.texture.elements":"Aplicar aos elementos","uv_editor.transparent_face":"Face transparente","display.pose_angle":"\xC2ngulo de pose (s\xF3 para pr\xE9-estreia)","data.mesh":"Malha","dialog.create_texture.type":"Tipo","dialog.create_texture.type.blank":"Vazio","dialog.create_texture.type.template":"Modelo de textura","dialog.create_texture.type.color_map":"Modelo de cor s\xF3lida","dialog.sketchfab_uploader.suggested_tags":"Marcadores sugeridos","dialog.sketchfab_uploader.category":"Categoria","dialog.sketchfab_uploader.category2":"Categoria 2","layout.restore_backup":'Seu tema personalizado "%0" foi substitu\xEDdo. Clique para rep\xF4-lo.',"layout.borders":"Bordas","action.fill_mode.element":"Elemento","action.inset_mesh_selection":"Inverter sele\xE7\xE3o","action.inset_mesh_selection.desc":"Inverte as partes selecionadas da malha.","action.dissolve_edges":"Dissolver arestas","action.dissolve_edges.desc":"Dissolve as arestas selecionadas em uma malha e junta as faces que dividiam.","action.split_mesh":"Dividir malha","action.split_mesh.desc":"Divide as faces selecionadas da malha para uma nova.","action.merge_vertices":"Juntar v\xE9rtices","action.merge_vertices.desc":"Junta os v\xE9rtices selecionados para a posi\xE7\xE3o do v\xE9rtice que foi selecionado primeiro.","action.view_mode.normal":"Orienta\xE7\xE3o da face","action.snap_uv_to_pixels":"For\xE7ar UV para p\xEDxels","action.snap_uv_to_pixels.desc":"For\xE7a os v\xE9rtices de UV selecionados para a gralha de p\xEDxeis","menu.file.import.import_open_project":"Importar projeto aberto","menu.help.unlock_projects":"Desbloquear todos os projetos","status_bar.selection.faces":"%0 faces","status_bar.selection.vertices":"%0 v\xE9rtices","message.merged_vertices":"%0 v\xE9rtices encontrados em %1 posi\xE7\xF5es","settings.vertex_merge_distance":"Dist\xE2ncia de ajuntamento","settings.vertex_merge_distance.desc":"Define a dist\xE2ncia limite para mesclar v\xE9rtices automaticamente.","settings.show_only_selected_uv":"S\xF3 mostrar UV selecionado","settings.show_only_selected_uv.desc":"S\xF3 mostra as faces UV selecionadas no editor UV por padr\xE3o.","action.merge_vertices.merge_all":"Juntar todos os v\xE9rtices","action.merge_vertices.merge_all_in_center":"Juntar todos os v\xE9rtices no centro","action.merge_vertices.merge_by_distance":"Juntar os v\xE9rtices por dist\xE2ncia","action.merge_vertices.merge_by_distance_in_center":"Juntar por dist\xE2ncia no centro","action.uv_rotate_left":"Girar UV para a esquerda","action.uv_rotate_left.desc":"Gira as faces UV selecionadas no sentido anti-hor\xE1rio.","action.uv_rotate_right":"Rodar UV para a direita","action.uv_rotate_right.desc":"Roda as faces de UV selecionadas no sentido hor\xE1rio.","menu.uv.display_uv":"Mostrar UV","menu.uv.display_uv.selected_faces":"Faces selecionadas","menu.uv.display_uv.selected_elements":"Todas as faces","menu.uv.display_uv.all_elements":"Todas as faces de todos os elementos","menu.paste.face":"Face UV","menu.paste.mesh_selection":"Sele\xE7\xE3o de malha","menu.paste.outliner":"Elementos","uv_editor.show_all_faces":"Mostrar todas as faces","uv_editor.show_selected_faces":"Mostrar as faces selecionadas","status_bar.selection.edges":"%0 arestas","action.selection_mode.edge":"Aresta","message.cannot_re_import.title":"Modelo n\xE3o pode ser reimportado","message.cannot_re_import.message":"O modelo exportado n\xE3o pode ser importado novamente no Blockbench. Salve o seu modelo como um arquivo de projeto.","generic.default":"padr\xE3o","units.pixels_per_meter":"%0 p\xEDxeis por metro","mode.pose":"Pose","modifier_actions.resize_both_sides":"Dilatar em ambas as dire\xE7\xF5es","modifier_actions.resize_one_side":"Redimensionar em uma dire\xE7\xE3o","modifier_actions.draw_line":"Desenhar linha","modifier_actions.drag_without_snapping":"Arrastar sem encaixar","modifier_actions.stretch_keyframes":"Esticar quadros","modifier_actions.resize_background":"Redimensionar plano de fundo","modifier_actions.select_multiple":`
Selecionar m\xFAltiplos`,"modifier_actions.select_range":"Selecionar intervalo","modifier_actions.drag_to_duplicate":"Arraste para duplicar","modifier_actions.uniform_scaling":"Escala uniforme","modifier_actions.snap_direction":"Dire\xE7\xE3o de ajuste","message.no_valid_elements":"Sem elementos selecionados","dialog.add_primitive.shape.plane":"Plano","dialog.save_angle.rotation_mode":"Modo rota\xE7\xE3o","dialog.save_angle.rotation":"Rota\xE7\xE3o","dialog.save_angle.fov":"Campo visual","settings.hide_tab_bar":"Esconder automaticamente a barra da aba","settings.hide_tab_bar.desc":"Esconde a barra da aba quando s\xF3 uma aba estiver aberta.","settings.status_bar_modifier_keys":"Sugerir teclas de modificador na barra de status","settings.status_bar_modifier_keys.desc":"Mostrar teclas de modificador sugeridas baseadas no contexto na barra da aba","settings.ground_plane":"Ch\xE3o","settings.ground_plane.desc":"Mostra um ch\xE3o embaixo do modelo","settings.preview_paste_behavior":"Comportamento de colagem de visualiza\xE7\xE3o padr\xE3o","settings.preview_paste_behavior.desc":"Seleciona o comportamento ao colar algo na \xE1rea de visualiza\xE7\xE3o.","settings.preview_paste_behavior.always_ask":"Perguntar sempre","action.new_window":"Nova aba","action.new_window.desc":"Abre uma nova aba no Blockbench.","action.export_collada":"Exportar modelo collada (dae)","action.export_collada.desc":"Exporta um modelo collada (dae) para usar em outras aplica\xE7\xF5es.","action.paint_mode_uv_overlay":"Sobreposi\xE7\xE3o UV","action.paint_mode_uv_overlay.desc":"Mostra o mapa UV sobreposto no modo pintura.","action.bake_animation_into_model":"Aplicar anima\xE7\xE3o no modelo","action.bake_animation_into_model.desc":"Aplica o quadro da anima\xE7\xE3o mostrada no modelo. Aplica-se apenas a rota\xE7\xE3o e a posi\xE7\xE3o. A dilata\xE7\xE3o \xE9 ignorada.","action.keyframe_interpolation.step":"Passo","action.set_ik_target":"Definir alvo CI","action.set_ik_target.desc":"Seleciona o osso-alvo que deve ser movido por esse objeto nulo por cinem\xE1tica inversa.","menu.action_control.type.tab":"Aba","menu.action_control.type.angle":"\xC2ngulo de c\xE2mera","menu.action_control.recent_in_streamer_mode":"Deseja continuar? O modo transmiss\xE3o est\xE1 ligado","menu.action_control.recent_in_streamer_mode.desc":"Deseja mesmo mostrar os modelos recentes?","menu.tools":"Ferramentas","menu.file.recent.more":"Ver mais","menu.null_object.lock_ik_target_rotation":"Bloquear a rota\xE7\xE3o do alvo IK","menu.animation_file.import_remaining":"Importar anima\xE7\xF5es restantes do arquivo","edit.loop_cut.offset":"Desvio","edit.extrude_mesh_selection.extend":"Estendido","cube.color.pink":"Rosa","cube.color.silver":"Prata","dialog.plugins.offline":"Sem conex\xE3o com a internet","dialog.create_texture.pixel_density":"Densidade de p\xEDxeis","dialog.create_texture.pixel_density.desc":"A densidade de p\xEDxeis da textura, em p\xEDxeis por metro. O tamanho do mapa de textura pode diferir dependendo da quantidade e tamanho dos elementos.","panel.skin_pose":"Pose","panel.skin_pose.none":"Neutro","panel.skin_pose.natural":"Natural","panel.skin_pose.walking":"Andando","panel.skin_pose.crouching":"Agachado","panel.skin_pose.sitting":"Sentado","panel.skin_pose.jumping":"Pulando","panel.skin_pose.aiming":"Apontando","edit.loop_cut.direction":"Dire\xE7\xE3o","data.texture_mesh":"Malha de textura","generic.left":"Esquerda","generic.right":"Direita","mode.start.quick_setup":"Configura\xE7\xE3o r\xE1pida","mode.start.keymap":"Mapa-chave","mode.start.quick_setup.more_themes":"Mais...","dialog.resize_texture.animation_frames":"Quadros de anima\xE7\xE3o","dialog.export_emission_map.title":"Exportar mapa de emiss\xE3o","dialog.export_emission_map.format":"Formato","dialog.export_emission_map.format.luminance":"Lumin\xE2ncia","dialog.export_emission_map.format.luminance_inverted":"Lumin\xE2ncia invertida","dialog.export_emission_map.format.colors":"Cores","dialog.export_emission_map.threshold":"Limiar de transpar\xEAncia","dialog.export_emission_map.round_up":"Arredondar para cima para %0 \xD7 %1","dialog.export_emission_map.flip_y":"Inverter eixo Y","dialog.select.type":"Tipo de elemento","dialog.create_texture.max_edge_angle":"Limiar de \xE2ngulo da aresta","dialog.create_texture.max_edge_angle.desc":"Define o limite angular para a combina\xE7\xE3o de faces adjacentes.","dialog.create_texture.max_island_angle":"Limiar de \xE2ngulo da ilha","dialog.create_texture.max_island_angle.desc":"O \xE2ngulo m\xE1ximo que pode ser combinado na mesma ilha UV.","settings.mobile_panel_side":"Lado do painel m\xF3vel","settings.mobile_panel_side.desc":"Seleciona em qual lado da tela os pain\xE9is s\xE3o mostrados ao usar o Blockbench no modo paisagem.","settings.obj_face_export_mode":"Modo de exporta\xE7\xE3o de face OBJ","settings.obj_face_export_mode.desc":"Escolha se o exportador OBJ deve converter todas as faces em tri\xE2ngulos ou quadril\xE1teros.","settings.obj_face_export_mode.both":"Padr\xE3o","settings.obj_face_export_mode.tris":"Converter para tri\xE2ngulos","settings.obj_face_export_mode.quads":"Converter para quadril\xE1teros","action.seam_tool":"Ferramenta de costura","action.seam_tool.desc":"Define costuras UV em arestas de malha.","action.resolve_group":"Resolver grupo","action.resolve_group.desc":"Resolve o grupo mantendo seus derivantes no mesmo lugar.","action.move_to_group":"Mover para","action.move_to_group.desc":"Mova os elementos selecionados para um grupo ou elemento diferente na lista hier\xE1rquica.","action.select_seam":"Selecionar costura UV","action.select_seam.desc":"Seleciona o modo costura UV para as arestas selecionadas.","action.select_seam.auto":"Auto.","action.select_seam.join":"Entrar","action.select_seam.divide":"Dividir","action.adjust_brightness_contrast":"Ajustar brilho e contraste...","action.adjust_brightness_contrast.desc":"Ajusta o brilho e o contraste da textura selecionada.","action.adjust_saturation_hue":"Ajustar satura\xE7\xE3o e matiz...","action.adjust_saturation_hue.desc":"Ajusta a satura\xE7\xE3o e o matiz da textura selecionada.","action.invert_colors":"Inverter cores","action.invert_colors.desc":"Inverte todas as cores da textura selecionada.","action.adjust_curves":"Ajustar curvas...","action.adjust_curves.desc":"Ajusta o brilho das curvas da textura selecionada.","action.flip_texture_x":"Inverter horizontalmente","action.flip_texture_y":"Inverter verticalmente","action.resize_texture":"Redimensionar textura...","action.view_mode.uv":"Pr\xE9-visualiza\xE7\xE3o UV","action.append_to_template":"Adicionar elementos ao modelo...","action.append_to_template.desc":"Adiciona ao modelo de textura os elementos que est\xE3o selecionados","action.move_texture_with_uv":"Mover textura com UV","action.move_texture_with_uv.desc":"Mova a textura da face ao arrastar faces UV","action.timeline_setups":"Configura\xE7\xF5es da linha do tempo","action.save_timeline_setup":"Salvar configura\xE7\xE3o da linha do tempo...","action.save_timeline_setup.desc":"Salva uma predefini\xE7\xE3o para as anima\xE7\xF5es e os canais selecionados","menu.texture":"Textura","menu.texture.render_mode.default":"Padr\xE3o","menu.texture.merge_onto_texture":"Mesclar na textura acima","menu.animation.unload":"Descarregar","panel.timeline":"Linha do tempo","action.pan_tool":"Ferramenta panor\xE2mica","action.pan_tool.desc":"Navegue pela \xE1rea de trabalho e no editor de texturas.","mode.start.recent.favorite":"Marcar como favorito","mode.start.info":"Outros","mode.start.target":"Alvo","mode.start.start":"Iniciar","mode.start.create_new":"Criar novo modelo","mode.start.format.informations":"Saiba que:","mode.start.format.resources":"Recursos:","format.free.info.meshes":"Nesse formato, voc\xEA pode criar modelos com baixo n\xFAmeros de pol\xEDgonos usando cubos e malhas com formatos personalizados.","format.free.info.limitation":"Os modelos n\xE3o podem ser carregados em jogos que exigem formatos espec\xEDficos, como o Minecraft.","format.skin.info.skin":"Esse formato foi desenvolvido para criar skins e texturas de entidades para Minecraft.","format.skin.info.model":"O modelo n\xE3o pode ser alterado. Para fazer altera\xE7\xF5es nele, primeiro converta para um formato diferente por meio de: **Arquivo** > **Converter Projeto**.","format.java_block.info.rotation":"As rota\xE7\xF5es s\xE3o limitadas a um eixo por elemento","format.java_block.info.size":"O modelo est\xE1 limitado a um tamanho de 3x3x3 blocos. No entanto, as configura\xE7\xF5es de exibi\xE7\xE3o podem tornar os modelos de itens maiores","format.java_block.info.animation":"Esse formato n\xE3o suporta anima\xE7\xF5es no Minecraft vanilla. Se estiver criando um mod, voc\xEA pode usar o GeckoLib para animar modelos. Caso contr\xE1rio, a \xFAnica forma de animar \xE9 alternar o modelo usando comandos ou texturas animadas.","format.bedrock.info.textures":"Cada modelo pode ter apenas uma textura","format.bedrock_block":"Bloco Bedrock","format.bedrock_block.desc":"Modelo de bloco para Minecraft: Bedrock Edition","format.modded_entity.info.integer_size":"O tamanho dos cubos individuais \xE9 limitado a n\xFAmeros inteiros.","format.modded_entity.info.format":"Os modelos s\xE3o escritos em c\xF3digo Java em vez de estruturas de dados dedicadas como todos os outros formatos de exporta\xE7\xE3o do Blockbench.","format.optifine_entity.info.optifine_required":"O modelo n\xE3o \xE9 vis\xEDvel para os usu\xE1rios sem o OptiFine instalado.","format.optifine_entity.info.pivots":"Os piv\xF4s dos ossos est\xE3o travados, sendo recomendado mant\xEA-los inalterados.","format_category.low_poly":"Menos pol\xEDgonos","format_category.minecraft":"Minecraft","format_category.other":"Outro","format_category.loaders":"Carregadores","message.recover_backup.recover":"Recuperar","message.invalid_characters.title":"Caminho inv\xE1lido","message.invalid_characters.message":"O caminho do arquivo importado tem caracteres inv\xE1lidos, letras mai\xFAsculas ou espa\xE7os em branco. Os caracteres suportados s\xE3o: %0","dialog.share_model.thumbnail":"Miniatura","dialog.skin.high_res_texture":"Observe que as skins com a resolu\xE7\xE3o selecionada n\xE3o funcionar\xE3o como skins normais do Minecraft. Selecione uma resolu\xE7\xE3o menor.","settings.allow_display_slot_mirror":"Permitir espelhamento do espa\xE7o de tela","settings.allow_display_slot_mirror.desc":"Permite espelhar os espa\xE7os de exibi\xE7\xE3o dos modelos de itens Java. AVISO: Isso s\xF3 funciona no Minecraft 1.14 ou inferior, ou em casos especiais.","action.switch_tabs":"Trocar abas","action.switch_tabs.desc":"Alterna entre as abas abertas. Mantenha a tecla Shift pressionada para alternar na dire\xE7\xE3o oposta.","action.unselect_all":"Desmarcar tudo","action.save_palette":"Salvar paleta...","action.save_palette.desc":"Salva a paleta de cores atual no Blockbench para usar em outro momento","action.keyframe_column_create":"Criar coluna de quadro-chave","action.keyframe_column_create.desc":"Define os quadros-chave de todos os canais na linha do tempo no c\xF3digo de tempo atual, caso j\xE1 tenham outros.","action.keyframe_column_select":"Selecionar coluna de quadros-chave.","action.keyframe_column_select.desc":"Seleciona todos os quadros-chave na linha do tempo ao longo de uma coluna abaixo da cabe\xE7a de reprodu\xE7\xE3o.","menu.uv":"UV","menu.keyframe":"Quadro-chave","menu.palette.load.update":"Atualizar paleta","menu.palette.load.update.desc":"Atualiza essa paleta com as cores da atual do Blockbench.","menu.timeline_marker.set_time":"Definir tempo...","uv_editor.scale_uv":"Escala UV","action.preview_scene":"Pr\xE9-visualizar cena","action.preview_scene.desc":"Altera a cena de pr\xE9-visualiza\xE7\xE3o do modelo","preview_scene.minecraft_overworld":"Superf\xEDcie","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"Inverter eixo Y","preview_scene.studio":"Est\xFAdio","format.image":"Imagem","modifier_actions.set_copy_source":"Definir copiar de origem","message.load_images.title":"Carregar imagens","message.load_images.edit_image":"Editar imagem","dialog.add_primitive.align_edges":"Alinhar arestas","dialog.flip_animation.show_in_timeline":"Mostrar ossos modificados na reta cronol\xF3gica","settings.default_cube_size":"Tamanho do cubo","settings.default_cube_size.desc":"Define o tamanho padr\xE3o do cubo ao criar um novo.","settings.uniform_keyframe":"Quadros-chave de escala uniforme","settings.uniform_keyframe.desc":"Define os quadros-chave de escala para escala uniforme por padr\xE3o.","settings.nearest_rectangle_select":"Sele\xE7\xE3o retangular: aresta mais pr\xF3xima","settings.nearest_rectangle_select.desc":"Ajusta as sele\xE7\xF5es retangulares para a aresta de p\xEDxel mais pr\xF3xima, como no GIMP, em vez de p\xEDxeis inteiros.","settings.pick_color_opacity":"Pegar opacidade da cor","settings.pick_color_opacity.desc":"Pega a opacidade da cor com o seletor de cores e a define como opacidade do pincel","settings.paint_with_stylus_only":"Pintar apenas com caneta","settings.paint_with_stylus_only.desc":"Usar apenas a caneta para pintura, reservando o mouse ou toque para navega\xE7\xE3o.","action.copy_brush_mode":"Modo pincel copiador","action.copy_brush_mode.copy":"Copiar","action.copy_brush_mode.pattern":"Padr\xE3o","action.copy_brush_mode.sample":"Amostragem","action.brush_shape":"Formato do pincel","action.brush_shape.square":"Quadrado","action.brush_shape.circle":"C\xEDrculo","action.blend_mode":"Modo de mesclagem","action.blend_mode.default":"Padr\xE3o","action.blend_mode.set_opacity":"Definir opacidade","action.blend_mode.color":"Cor","action.blend_mode.behind":"Por tr\xE1s","action.blend_mode.multiply":"Multiplicar","action.blend_mode.divide":"Dividir","action.blend_mode.add":"Adicionar","action.blend_mode.subtract":"Subtrair","action.blend_mode.screen":"Tela","action.blend_mode.overlay":"Sobreposi\xE7\xE3o","action.blend_mode.hard_light":"Luz s\xF3lida","action.blend_mode.difference":"Diferen\xE7a","action.copy_brush":"Pincel copiador","action.copy_brush.desc":"Um pincel que clona partes da sua textura ou desenhar padr\xF5es. Mantenha pressionada a tecla Ctrl e clique para selecionar uma fonte de c\xF3pia.","action.validator_window":"Problemas do modelo de visualiza\xE7\xE3o...","action.validator_window.desc":"Abre o validador que lista os problemas com o modelo atual.","action.cancel_gif":"Cancelar GIF","menu.text_edit.copy_vector":"Copiar vetor","menu.brush_presets.dialog":"Pinc\xE9is predefinidos...","menu.brush_presets.pixel_brush":"Pincel de p\xEDxel","menu.brush_presets.smooth_brush":"Pincel suave","menu.texture.edit_in_blockbench":"Editar no Blockbench","menu.mirror_painting.axis":"Eixos","menu.mirror_painting.axis.desc":"Seleciona em qual eixo os tra\xE7os de pintura ser\xE3o espelhados","menu.mirror_painting.global":"Simetria global","menu.mirror_painting.global.desc":"Ativa a pintura espelhada no modelo no espa\xE7o global.","menu.mirror_painting.local":"Simetria local","menu.mirror_painting.local.desc":"Ativa a pintura espelhada no espa\xE7o local para cada elemento.","menu.mirror_painting.texture_frames":"Repetir em quadros de foliosc\xF3pio","menu.mirror_painting.texture_frames.desc":"Espelha tra\xE7os de pintura para cada quadro de texturas animadas","format.bedrock_block.info.size_limit":"O tamanho total de um bloco \xE9 limitado a 30 pixels em todas as dimens\xF5es. O limite pode estar descentralizado em todas as dire\xE7\xF5es em 7 pixels a partir do centro do bloco.","format.bedrock_block.info.textures":"Podem ser aplicadas v\xE1rias texturas a diferentes cubos no Blockbench, mas exigem uma configura\xE7\xE3o adicional no pacote de comportamento para funcionar corretamente no jogo.","format.image.desc":"Edita imagens no editor de imagem 2D","generic.delete_all":"Apagar tudo","message.child_model_only.open":"Abrir pai","message.child_model_only.open_with_textures":"Abrir derivador e adotar texturas","dialog.project.credit":"Cr\xE9dito","dialog.convert_project.create_copy":"Criar c\xF3pia","dialog.texture.frame_time":"Tempo de quadro","dialog.texture.frame_time.desc":"Define por quanto tempo cada quadro ficar\xE1 vis\xEDvel, em tiques. Cada tique corresponde a 1/20 de segundo.","dialog.texture.frame_interpolate":"Interpolar","dialog.texture.frame_interpolate.desc":"Interpole entre os quadros da anima\xE7\xE3o fazendo uma transi\xE7\xE3o suave para o pr\xF3ximo quadro.","dialog.texture.frame_order_type":"Modo loop","dialog.texture.frame_order_type.loop":"Loop","dialog.texture.frame_order_type.backwards":"Loop invertido","dialog.texture.frame_order_type.back_and_forth":"Vai e volta","dialog.texture.frame_order_type.custom":"Ordem personalizada","dialog.texture.frame_order":"Ordem de quadros","dialog.texture.frame_order.desc":"Define uma ordem de quadros personalizada listando os \xEDndices dos quadros em uma nova ordem. Os \xEDndices come\xE7am em 0 com o primeiro quadro.","dialog.select.mode":"Modo","dialog.select.mode.new":"Nova sele\xE7\xE3o","dialog.select.mode.add":"Adicionar \xE0 sele\xE7\xE3o","dialog.select.mode.remove":"Remover da sele\xE7\xE3o","dialog.select.mode.in_selection":"Selecionar apenas do selecionado","dialog.predicate_overrides.model":"Modelo","dialog.predicate_overrides.predicates":"Predicados","dialog.predicate_overrides.variants":"Variantes","dialog.predicate_overrides.start_value":"Iniciar","dialog.predicate_overrides.add_override":"Adicionar sobreposi\xE7\xE3o","dialog.predicate_overrides.add_predicate":"Adicionar predicado","dialog.predicate_overrides.generate_overrides":"Gerenciar sobreposi\xE7\xF5es","dialog.predicate_overrides.confirm_delete":"Deseja mesmo apagar todas as sobreposi\xE7\xF5es?","dialog.predicate_overrides.predicate.angle":"\xC2ngulo da b\xFAssola","dialog.predicate_overrides.predicate.blocking":"Est\xE1 bloqueando","dialog.predicate_overrides.predicate.broken":"Est\xE1 quebrado","dialog.predicate_overrides.predicate.cast":"Est\xE1 lan\xE7ado","dialog.predicate_overrides.predicate.cooldown":"Tempo de recarga","dialog.predicate_overrides.predicate.damage":"Dano","dialog.predicate_overrides.predicate.damaged":"Est\xE1 danificado","dialog.predicate_overrides.predicate.lefthanded":"\xC9 canhoto","dialog.predicate_overrides.predicate.pull":"Quantidade de torque","dialog.predicate_overrides.predicate.pulling":"Est\xE1 puxando","dialog.predicate_overrides.predicate.charged":"Est\xE1 carregado","dialog.predicate_overrides.predicate.firework":"Tem fogo de artif\xEDcio","dialog.predicate_overrides.predicate.throwing":"Pronto para lan\xE7ar","dialog.predicate_overrides.predicate.time":"Tempo do dia","dialog.predicate_overrides.predicate.custom_model_data":"Dados do modelo personalizado","dialog.predicate_overrides.predicate.level":"N\xEDvel da luz","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","settings.model_export_scale":"Exportar escala do modelo","settings.model_export_scale.desc":"O fator pelo qual a escala dos modelos glTF, DAE e FBX exportados \xE9 reduzida. O padr\xE3o \xE9 16 que converte 16 unidades do Blockbench em 1 metro na exporta\xE7\xE3o.","action.export_fbx":"Exportar moldelo FBX","action.export_fbx.desc":"Exporta o modelo e as anima\xE7\xF5es como arquivo FBX para us\xE1-lo em outros aplicativos 3D e motores de jogo.","action.center_lateral":"Centralizar lateral","action.center_lateral.desc":"Centralizar os elementos selecionados nos eixos X e Z","action.adjust_opacity":"Ajustar opacidade...","action.adjust_opacity.desc":"Ajusta a opacidade da textura selecionada","action.rotate_texture_cw":"Girar no sentido hor\xE1rio","action.rotate_texture_ccw":"Gire no sentido anti-hor\xE1rio.","action.predicate_overrides":"Editar substitui\xE7\xF5es de predicado...","action.predicate_overrides.desc":"Selecione os modelos para substituir esse com base nas condi\xE7\xF5es selecionadas.","action.auto_set_cullfaces":"Definir filtros de face oculta automaticamente","action.auto_set_cullfaces.desc":"Gera automaticamente faces ocultas para esconder as outras quando elas estiverem cobertas pelo bloco ao lado.","menu.texture.edit_externally":"Editar externamente","menu.mirror_painting.texture":"Simetria do editor 2D","menu.mirror_painting.texture.desc":"Ativa a pintura espelhada em espa\xE7o 2D na imagem ou textura","menu.animator.rotation_global":"Rotacionar no espa\xE7o global","uv_editor.face_properties":"Propriedades da face","uv_editor.face_properties.material_instance":"Inst\xE2ncia de material","uv_editor.tint.info":"A op\xE7\xE3o de matiz pode ser ativada em uma face para instruir o Minecraft a colorir essa face. No Minecraft vanilla, o matiz s\xF3 pode ser usada por blocos espec\xEDficos, como folhas e p\xF3 de redstone, e s\xF3 pode ter o valor 0.","uv_editor.cullface.info":"Ativar a 'face oculta' instrui uma face em um bloco a n\xE3o ser renderizada se outro bloco completo seja colocado adjacente a ela na dire\xE7\xE3o especificada no seu mundo do Minecraft. Isso pode ser usado para otimizar o desempenho.","uv_editor.material_instance.info":"As inst\xE2ncias de material podem ser definidas com um nome colocado pelo usu\xE1rio. Esse nome pode ser usado no arquivo JSON do bloco, no pacote de comportamento, para atribuir uma textura e um material espec\xEDfico \xE0 face.","display.reference.frame_invisible":"Moldura (invis\xEDvel)","data.settings_profile":"Perfil","message.display_skin.invalid_name":"N\xE3o foi poss\xEDvel encontrar a conta do Minecraft com o nome '%0'","dialog.load_plugins_from_query.title":"Carregar plugins","dialog.load_plugins_from_query.text":"Voc\xEA usou um link que requer a instala\xE7\xE3o de plugins. Deseja instal\xE1-los?","dialog.select_model.title":"Selecionar modelo","dialog.select_model.bones":"Ossos","dialog.select_model.cubes":"Cubos","dialog.settings.create_profile":"Criar perfil...","settings_profile.confirm_delete":"Deseja mesmo apagar essas configura\xE7\xF5es de perfil?","settings_profile.condition.type.selectable":"Selecion\xE1vel manualmente","settings.interface_mode":"Modo UI","settings.interface_mode.desc":"Modo interface","settings.interface_mode.auto":"Autom\xE1tico","settings.interface_mode.desktop":"\xC1rea de trabalho","settings.interface_mode.mobile":"Celular","settings.paint_through_transparency":"Pintar por transpar\xEAncia","settings.paint_through_transparency.desc":"Pinte por p\xEDxeis transparentes quando o 'canal alfa bloqueado' estiver ativado","action.tab_overview":"Vis\xE3o geral da aba","action.tab_overview.desc":"Veja todas as abas abertas em uma grade e acesse uma delas.","action.slider_color_red":"Cor vermelha","action.slider_color_green":"Cor verde","action.slider_color_blue":"Color azul","action.add_animation_controller":"Adicionar controlador de anima\xE7\xE3o","action.add_animation_controller.desc":"Cria um controlador de anima\xE7\xE3o em branco","action.animation_controller_preview_mode":"Pr\xE9-visualiza\xE7\xE3o do controlador","action.animation_controller_preview_mode.paused":"Pausado","action.animation_controller_preview_mode.manual":"Pr\xE9-visualiza\xE7\xE3o manual","action.animation_controller_preview_mode.play":"Reprodu\xE7\xE3o autom\xE1tica","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"Curva de liga\xE7\xE3o de B\xE9zier","action.keyframe_bezier_linked.desc":"Conecta as curvas de B\xE9zier aos quadros-chave direito e esquerdo.","action.reset_keyframe_handles":"Redefinir curvas do quadro-chave","action.reset_keyframe_handles.desc":"Redefine as curvas de B\xE9zier dos quadros-chave selecionados.","action.looped_animation_playback":"Reprodu\xE7\xE3o em loop","action.looped_animation_playback.desc":"Pr\xE9-visualiza\xE7\xE3o de anima\xE7\xF5es em loop","timeline.bind_to_actor":"Vincular ao ator","animation_controllers.select_preset":"Selecione uma predefini\xE7\xE3o de controlador...","animation_controllers.state.animations":"Anima\xE7\xF5es","animation_controllers.state.particles":"Part\xEDculas","animation_controllers.state.sounds":"Sons","animation_controllers.state.on_entry":"Na entrada","animation_controllers.state.on_exit":"Na sa\xEDda","animation_controllers.state.transitions":"Transi\xE7\xF5es","animation_controllers.state.condition":"Condi\xE7\xE3o","animation_controllers.state.blend_transition":"Tempo de mesclagem","animation_controllers.state.shortest_path":"Mesclar pelo caminho mais curto","animation_controllers.state.edit_transition":"Editar transi\xE7\xE3o","menu.color_picker.picker_type":"Tipo de selecionador","menu.color_picker.picker_type.square":"Quadrado","menu.color_picker.picker_type.wheel":"Roda","menu.color_picker.slider_mode":"Modo deslizante","menu.color_picker.slider_mode.hsv":"Matiz, Satura\xE7\xE3o, Valor","menu.color_picker.slider_mode.rgb":"Vermelho, Verde, Azul","menu.texture.render_mode.additive":"Aditivo","panel.color.picker_options":"Op\xE7\xF5es do seletor de cores","panel.animation_controllers":"Controlador de anima\xE7\xF5es","display.preset.armor_stand":"Ch\xE3o (Suporte de Armaduras)","data.file_path":"Caminho do arquivo","dialog.extrude.orientation":"Orienta\xE7\xE3o","dialog.extrude.orientation.upright":"Vertical","dialog.extrude.orientation.flat":"Plano","dialog.scale.box_uv_warning":"Redimensionar uma caixa de modelo UV pode corromper as coordenadas UV do seu modelo. Em vez disso, tente redimensionar o modelo externamente ou alterne para o modo UV por face em Arquivo > Projeto.","dialog.create_gif.format":"Formato","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"Sequ\xEAncia PNG","dialog.create_gif.pixelate":"Pixelar","dialog.create_gif.bg_image":"Imagem do plano de fundo","dialog.create_gif.turn.desc":"Gira o modelo enquanto grava. Use valores negativos para girar o modelo no sentido hor\xE1rio. Um valor de 60 corresponde a uma rota\xE7\xE3o por segundo.","settings_profile.condition":"Condi\xE7\xE3o","settings_profile.condition.type.file_path.desc":"Use a sintaxe de express\xE3o regular para encontrar o caminho do arquivo do projeto atual. Use barras (/) para diret\xF3rios.","settings.only_selected_bezier_handles":"Mostrar apenas as curvas de B\xE9zier selecionadas","settings.only_selected_bezier_handles.desc":"Oculta as curvas de b\xE9zier nos quadros-chave que n\xE3o est\xE3o selecionados","settings.embed_textures":"Incorporar texturas","settings.embed_textures.desc":"Incorpora o conte\xFAdo do arquivo de textura nos arquivos .bbmodel","action.selection_mode.cluster":"Conjunto","dialog.copied_to_clipboard":"Copiado","data.reference_image":"Imagem de refer\xEAncia","message.delete_reference_image":"Deseja mesmo apagar essa imagem de refer\xEAncia? Isso n\xE3o pode ser desfeito.","message.add_reference_image.message":"Selecione onde carregar a imagem de refer\xEAncia","message.add_reference_image.project":"Adicionar para esse projeto","message.add_reference_image.app":"Adicionar para todos os projetos","message.import_particle_texture.import":"Importar textura de part\xEDcula","message.import_particle_texture.message":"Deseja importar um arquivo de textura para ser usado em sua part\xEDcula?","message.save_codec_selector.title":"Salvar formato do modelo","message.save_codec_selector.message":"Seleciona um formato para salvar o modelo.","message.save_codec_selector.project_file":"Projeto Blockbench (.bbmodel)","message.save_codec_selector.both":"Ambos","message.display_skin.username":"Nome de usu\xE1rio (Java)","message.palette_locked":"Paleta bloqueada","dialog.project.default_uv_mode":"Modo UV padr\xE3o","dialog.project.default_uv_mode.description":"Modo UV padr\xE3o do projeto. O esse modo tamb\xE9m pode ser alterado por cubo.","dialog.export_options.title":"Op\xE7\xF5es de exporta\xE7\xE3o","dialog.edit_texture.preview":"Pr\xE9-visualiza\xE7\xE3o","dialog.proportional_editing.range":"Alcance","dialog.proportional_editing.falloff":"Decaimento","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Suave","dialog.proportional_editing.falloff.constant":"Constante","dialog.proportional_editing.selection":"Sele\xE7\xE3o","dialog.proportional_editing.selection.linear":"Dist\xE2ncia linear","dialog.proportional_editing.selection.connections":"Conex\xF5es","dialog.mirror_painting_texture_center.middle":"Meio","dialog.mirror_painting_texture_center.custom":"Personalizada","dialog.settings.reset_to_default":"Redefinir para o padr\xE3o","keybindings.item.num_slider.increase":"Aumentar","keybindings.item.num_slider.decrease":"Diminuir","settings.always_show_splash_art":"Sempre mostrar tela de abertura","settings.always_show_splash_art.desc":"Sempre mostra a imagem de abertura na tela inicial","action.slider_palette_color":"Mudar cor da paleta","action.slider_palette_color.desc":"Alterna entre as cores da paleta","action.proportional_editing":"Edi\xE7\xE3o proporcional","action.proportional_editing.desc":"Afetar proporcionalmente os v\xE9rtices circundantes ao editar partes de uma malha.","action.limit_to_palette":"Limitar paleta","action.limit_to_palette.desc":"Limita as cores da textura \xE0quelas carregadas na paleta.","action.edit_reference_images":"Editar imagens de refer\xEAncia","action.edit_reference_images.desc":"Ativar o modo de imagem de refer\xEAncia para adicionar ou editar imagens de refer\xEAncia e projeto","action.add_reference_image":"Adicionar imagem de refer\xEAncia","action.reference_image_from_clipboard":"Copiar imagem de refer\xEAncia","action.reference_image_list":"Imagens de refer\xEAncia","action.connect_uv_faces":"Conectar faces UV","action.connect_uv_faces.desc":"Conecta as faces UV selecionadas na \xFAltima selecionada.","action.merge_uv_vertices":"Mesclar v\xE9rtices UV","action.merge_uv_vertices.desc":"Ajusta os primeiros v\xE9rtices UV selecionados aos \xFAltimos selecionados","action.bedrock_animation_mode":"Modo de anima\xE7\xE3o bedrock","action.bedrock_animation_mode.desc":"Seleciona o modo para editar anima\xE7\xF5es do Minecraft: Bedrock Edition","action.bedrock_animation_mode.entity":"Entidade","action.bedrock_animation_mode.attachable_first":"Item em 1\xAA pessoa","action.bedrock_animation_mode.attachable_third":"Item em 3\xAA pessoa","timeline.amplify":"Amplificar","menu.options":"Op\xE7\xF5es...","menu.palette.lock_palette":"Bloquear paleta","menu.uv.export":"Exportar mapeamento UV","menu.uv.flip_x":"Espelhar eixo X","menu.uv.flip_y":"Espelhar eixo Y","menu.mirror_painting.enabled":"Ativado","reference_image.position":"Posi\xE7\xE3o","reference_image.size":"Tamanho","reference_image.rotation":"Rota\xE7\xE3o","reference_image.opacity":"Opacidade","reference_image.visibility":"Visibilidade","reference_image.clear_mode":"Modo limpeza","reference_image.layer":"Camada","reference_image.layer.background":"Atr\xE1s do modelo","reference_image.layer.viewport":"Acima do modelo","reference_image.layer.float":"Acima da interface","reference_image.scope":"Escopo","reference_image.scope.project":"Apenas esse projeto","reference_image.scope.global":"Todos os projetos","reference_image.enabled_modes":"Ativado em modos","codec.common.encoding":"Codificando","codec.common.armature":"Exportar grupos como armadura","codec.common.export_animations":"Exportar anima\xE7\xF5es","codec.common.embed_textures":"Incorporar texturas","preview.center_camera":"Centralizar c\xE2mera","display.reference.frame_top":"Topo da moldura","display.reference.frame_top_invisible":"Topo da moldura (invis\xEDvel)","action.proportional_editing_range":"Alcance da edi\xE7\xE3o proporcional ","action.proportional_editing_range.desc":"Ajusta o alcance para a edi\xE7\xE3o proporcional.","action.toggle_all_reference_images":"Ocultar/Mostrar todas as imagens de refer\xEAncia","action.toggle_all_reference_images.desc":"Alterna a visibilidade de todas as imagens de refer\xEAncia de uma vez.","action.add_animation_controller_state":"Adicionar estado do controlador de anima\xE7\xE3o","action.add_animation_controller_state.desc":"Adicionar um novo estado ao controlador de anima\xE7\xE3o.","menu.slider.round_value":"Arredondar valor","texture.error.too_large":"A resolu\xE7\xE3o excede o m\xE1ximo de %0","dialog.copy_to_clipboard":"Copiar","dialog.open_url":"Abrir URL","reference_image.image":"Imagem","uv_editor.rotate_uv":"Girar UV","generic.error":"Erro","projects.start_screen":"Iniciar tela","message.invalid_link.message":'O modelo compartilhado "%0" que est\xE1 tentando carregar \xE9 inv\xE1lido ou expirou.',"message.plugin_dependencies.title":"Depend\xEAncias de plugin","message.plugin_dependencies.message1":"O plugin requer as seguintes depend\xEAncias:","message.plugin_dependencies.message1_update":"O plugin %0 foi atualizado e agora requer as seguintes depend\xEAncias:","message.plugin_dependencies.message2":"Deseja instal\xE1-los para continuar?","message.plugin_dependencies.invalid":"Infelizmente, o plugin n\xE3o pode ser instalado. H\xE1 uma depend\xEAncia inv\xE1lida nele:","message.preview_scene_load_failed":"Falha ao carregar a cena de pr\xE9-visualiza\xE7\xE3o. Verifique a conex\xE3o com a internet.","dialog.convert_project.text1":"Converter o projeto em um formato diferente.","dialog.convert_project.text2":"Use a convers\xE3o por sua conta e risco. Os formatos t\xEAm diferentes caracter\xEDsticas e restri\xE7\xF5es, por isso a convers\xE3o em alguns casos quebrar\xE1 partes do seu projeto.","dialog.convert_project.text3":"A convers\xE3o n\xE3o pode ser desfeita. Por padr\xE3o, uma c\xF3pia ser\xE1 criada.","dialog.unsaved_work.title":"Trabalho n\xE3o salvo","dialog.unsaved_work.text":"Os projetos t\xEAm mudan\xE7as n\xE3o salvas. Deseja salvar suas altera\xE7\xF5es?","dialog.unsaved_work.discard_all":"Descartar tudo","dialog.unsaved_work.save_all":"Salvar tudo","dialog.resize_texture.mode":"Modo","dialog.resize_texture.mode.crop":"Recortar/Expandir","dialog.resize_texture.mode.scale":"Escala","dialog.plugins.is_installed":"Instalado","dialog.plugins.is_disabled":"Desabilitado","dialog.plugins.disable":"Desativar","dialog.plugins.enable":"Ativar","dialog.plugins.dependencies":"Depend\xEAncias em:","dialog.view_backups.open_folder":"Abrir pasta","dialog.share_model.reference_images":"Incluir imagem de refer\xEAncia","dialog.share_model.too_large":"Falha ao enviar: O modelo \xE9 muito grande","dialog.share_model.too_large_references":"Falha ao enviar: O modelo \xE9 muito grande. Tente sem as imagens de refer\xEAncia.","settings.stretch_linked":"Vincular esticamento","settings.stretch_linked.desc":"Estica o cubo em todas as dire\xE7\xF5es com o mesmo valor","settings.grids":"Mostrar grades","settings.grids.desc":"Mostrar ou ocultar todas as grades 3D","settings.double_click_switch_tools":"Alternar ferramentas com um clique duplo","settings.double_click_switch_tools.desc":"Clique duas vezes na \xE1rea de visualiza\xE7\xE3o para alternar entre as ferramentas.","settings.outlines_in_paint_mode":"Contornos de sele\xE7\xE3o no modo de pintura","settings.outlines_in_paint_mode.desc":"Mostra contornos de sele\xE7\xE3o de elementos no modo de pintura.","settings.json_indentation":"Indenta\xE7\xE3o JSON","settings.json_indentation.desc":"Estilo de recuo para arquivos JSON exportados.","settings.json_indentation.tabs":"Abas","settings.json_indentation.spaces_4":"Espa\xE7os: 4","settings.json_indentation.spaces_2":"Espa\xE7os: 2","action.slider_stretch":"Esticar","action.slider_stretch.desc":"Estica os cubos multiplicativamente no eixo %0 sem alterar as coordenadas UV.","action.view_backups":"Ver backups","action.view_backups.desc":"Navega pela lista de backups de projetos salvos automaticamente.","action.search_outliner":"Lista de t\xF3picos de pesquisa","action.search_outliner.desc":"Pesquisa nomes de elementos espec\xEDficos no painel de estrutura de t\xF3picos.","action.mirror_modeling":"Modelagem espelhada","action.mirror_modeling.desc":"Ativa a modelagem espelhada no eixo X. Todas as altera\xE7\xF5es feitas na \xE1rea de visualiza\xE7\xE3o ser\xE3o refletidas no outro lado, a menos que sejam especificamente desativadas no elemento.","action.allow_element_mirror_modeling":"Permitir modelagem espelhada","action.allow_element_mirror_modeling.desc":"Escolha se os elementos selecionados podem ser afetados pela modelagem espelhada.","action.switch_face_crease":"Alternar vinco da face","action.switch_face_crease.desc":"Alterna a dire\xE7\xE3o em que o quadril\xE1tero dobra ao meio.","action.clear_unused_texture_space":"Limpar espa\xE7o inutilizado da textura","action.clear_unused_texture_space.desc":"Limpa as partes da textura que n\xE3o est\xE3o mapeadas por UV a nenhum elemento.","action.split_screen":"Divis\xE3o da tela","action.split_screen.desc":"Seleciona uma \xE1rea de visualiza\xE7\xE3o no modo divis\xE3o de tela.","action.split_screen.single":"\xDAnica","action.split_screen.double_horizontal":"Dupla horizontal","action.split_screen.double_vertical":"Dupla vertical","action.split_screen.quad":"Quatro","action.split_screen.triple_left":"Tr\xEAs (esquerda)","action.split_screen.triple_right":"Tr\xEAs (direita)","action.split_screen.triple_top":"Tr\xEAs (topo)","action.split_screen.triple_bottom":"Tr\xEAs (inferior)","action.uv_project_from_view":"Proje\xE7\xE3o UV da visualiza\xE7\xE3o","action.uv_project_from_view.desc":"Gera UVs automaticamente para as faces selecionadas a partir da perspectiva da visualiza\xE7\xE3o 3D.","action.graph_editor_other_graphs":"Mostrar outros gr\xE1ficos","action.graph_editor_other_graphs.desc":"Define se os gr\xE1ficos dos eixos n\xE3o selecionados s\xE3o mostrados.","action.graph_editor_include_other_graphs":"Incluir outros gr\xE1ficos","action.graph_editor_include_other_graphs.desc":"Define se o editor de gr\xE1ficos inclui na visualiza\xE7\xE3o os gr\xE1ficos que n\xE3o est\xE3o selecionados.","action.set_ik_source":"Definir IK Root","action.set_ik_source.desc":"Seleciona o osso raiz da cadeia que deve ser movido por esse objeto nulo atrav\xE9s da cinem\xE1tica inversa.","edit.loop_cut.cuts":"Cortes","panel.element.stretch":"Esticar","preview_scene.minecraft_plains":"Plan\xEDcies","preview_scene.minecraft_cherry_grove":"Cerejal","preview_scene.minecraft_snowy_tundra":"Tundra nevada","preview_scene.minecraft_sunset":"P\xF4r do sol","preview_scene.minecraft_night":"Noite","preview_scene.minecraft_desert":"Deserto","preview_scene.minecraft_underwater":"Submerso","preview_scene.minecraft_coral_reef":"Recife de corais","preview_scene.minecraft_lush_cave":"Cavernas verdejantes","preview_scene.minecraft_deep_dark":"Profundezas sombrias","generic.navigate_forward":"Avan\xE7ar","generic.navigate_back":"Voltar","action.element_render_order":"Ordem de renderiza\xE7\xE3o de transpar\xEAncia","action.element_render_order.default":"Auto.","action.element_render_order.behind":"Atr\xE1s","action.element_render_order.in_front":"Na frente","message.installing_update.title":"Atualiza\xE7\xE3o dispon\xEDvel","message.installing_update.message":"Uma nova vers\xE3o j\xE1 est\xE1 dispon\xEDvel para ser instalada. Ap\xF3s fechar o aplicativo, aguarde cerca de %0 segundos antes de abrir o Blockbench novamente ou desligar o computador, para que a atualiza\xE7\xE3o seja instalada.","settings.brush_cursor_2d":"Pincel 2D (Cursor)","settings.brush_cursor_2d.desc":"Mostra um contorno ao redor do pincel na \xE1rea de trabalho 2D","settings.brush_cursor_3d":"Pincel 3D (Cursor)","settings.brush_cursor_3d.desc":"Mostra um contorno ao redor do pincel na \xE1rea de trabalho 3D","settings.cdn_mirror":"Usar espelho CDN","settings.cdn_mirror.desc":"Usa o espelho CDN para baixar os plugins. Ele recebe atualiza\xE7\xF5es mais rapidamente e funciona em algumas regi\xF5es onde o padr\xE3o n\xE3o est\xE1 acess\xEDvel.","data.layer":"Camada","data.panel":"Painel","generic.confirm_delete":"Deseja mesmo apagar isso?","format_category.general":"Geral","modifier_actions.no_uniform_scaling":"Escala livre","message.texture_refresh_conflict.title":"Vers\xF5es de textura conflitantes","message.texture_refresh_conflict.message":"O arquivo de textura pode ter altera\xE7\xF5es que conflitam com a vers\xE3o do Blockbench","message.texture_refresh_conflict.keep_ours":"Manter a vers\xE3o do Blockbench","message.texture_refresh_conflict.keep_theirs":"Carrega arquivo e descarta todas as altera\xE7\xF5es e camadas no Blockbench","message.group_required_to_animate":"Voc\xEA n\xE3o pode animar esse tipo de elemento. Crie um grupo ou armadura para anim\xE1-lo.","dialog.texture.uv_size":"Tamanho UV","dialog.advanced_screenshot.angle_preset":"\xC2ngulo predefinido","dialog.advanced_screenshot.resolution":"Resolu\xE7\xE3o","dialog.advanced_screenshot.zoom_to_fit":"Zoom para ajustar","dialog.advanced_screenshot.zoom":"Zoom / Dist\xE2ncia focal","dialog.advanced_screenshot.anti_aliasing":"Suaviza\xE7\xE3o","dialog.advanced_screenshot.anti_aliasing.off":"N\xE3o","dialog.advanced_screenshot.anti_aliasing.msaa":"Multiamostragem (MSAA)","dialog.advanced_screenshot.anti_aliasing.ssaa":"Superamostragem (SSAA)","dialog.advanced_screenshot.show_gizmos":"Mostrar gizmos de edi\xE7\xE3o","dialog.advanced_screenshot.shading":"Sombreamento","settings.auto_keyframe":"Quadro-chave auto.","settings.auto_keyframe.desc":"Cria automaticamente um quadro-chave com valores padr\xF5es no in\xEDcio da linha do tempo ao transformar o osso em um ponto posterior.","settings.modded_entity_integer_size":"Tamanho inteiro da entidade modificada","settings.modded_entity_integer_size.desc":"Limita os tamanhos de cubo no formato entidade modificada a n\xFAmeros inteiros. Embora n\xFAmeros flutuantes sejam tecnicamente suportados em algumas vers\xF5es, os inteiros s\xE3o muito mais f\xE1ceis de mapear UV.","category.layers":"Camadas","keybind.paint_secondary_color":"Pintar com cor secund\xE1ria.","action.selection_tool_operation_mode":"Modo de opera\xE7\xE3o de sele\xE7\xE3o","action.selection_tool_operation_mode.create":"Nova sele\xE7\xE3o","action.selection_tool_operation_mode.add":"Adicionar \xE0 sele\xE7\xE3o","action.selection_tool_operation_mode.subtract":"Subtrair da sele\xE7\xE3o","action.selection_tool_operation_mode.intersect":"Interse\xE7\xE3o","action.pixel_perfect_drawing":"Desenho preciso de pixel","action.pixel_perfect_drawing.desc":"Desenhe linhas lisas de pixel-art sem p\xEDxeis duplos nas curvas","action.selection_tool":"Ferramenta de sele\xE7\xE3o","action.selection_tool.desc":"Seleciona as partes da imagem","action.selection_tool.rectangle":"Ret\xE2ngulo","action.selection_tool.ellipse":"Elipse","action.selection_tool.lasso":"La\xE7o seletor","action.selection_tool.wand":"Varinha m\xE1gica","action.selection_tool.color":"Seletor de cor","action.move_layer_tool":"Mover camada","action.move_layer_tool.desc":"Mover a camada ou sele\xE7\xE3o atual","action.export_modded_animations":"Exportar anima\xE7\xF5es de entidades modificadas","action.export_modded_animations.desc":"Exportar anima\xE7\xF5es para um modelo de entidades modificadas do Minecraft Java Edition","action.swap_colors":"Trocar cores","action.swap_colors.desc":"Troca a cor principal com a cor secund\xE1ria","action.apply_mesh_rotation":"Aplicar rota\xE7\xE3o","action.apply_mesh_rotation.desc":"Redefine a rota\xE7\xE3o do elemento da malha e a aplica \xE0 geometria.","action.flip_texture_x.desc":"Virar a textura ou camada horizontalmente","action.flip_texture_y.desc":"Virar a textura ou camada verticalmente","action.rotate_texture_cw.desc":"Girar a textura ou camada no sentido hor\xE1rio","action.rotate_texture_ccw.desc":"Girar a textura ou camada no sentido anti-hor\xE1rio","action.crop_texture_to_selection":"Cortar textura para sele\xE7\xE3o","action.create_empty_layer":"Criar camada vazia","action.enable_texture_layers":"Ativar camadas","action.disable_texture_layers":"Desativar camadas","action.layer_opacity":"Opacidade da camada","action.layer_to_texture_size":"Expandir camada para o tamanho da textura","action.layer_to_texture_size.desc":"Expande a camada para o tamanho da textura","action.merge_layer_down":"Mesclagem inferior","action.merge_layer_down.desc":"Mescla a camada abaixo","action.advanced_screenshot":"Captura de tela avan\xE7ada...","action.advanced_screenshot.desc":"Faz uma captura de tela do modelo com op\xE7\xF5es avan\xE7adas","action.bake_ik_animation":"Aplicar cinem\xE1tica inversa","action.bake_ik_animation.desc":"Aplica as rota\xE7\xF5es usadas pela cinem\xE1tica inversa para a anima\xE7\xE3o selecionada.","action.save_animation_preset":"Salvar predefini\xE7\xE3o de anima\xE7\xE3o...","action.save_animation_preset.desc":"Salva os quadros-chave como uma predefini\xE7\xE3o de anima\xE7\xE3o","action.animation_onion_skin":"Anima\xE7\xE3o onion skin","action.animation_onion_skin.desc":"Mostra a visualiza\xE7\xE3o da estrutura de arame de um quadro diferente na anima\xE7\xE3o para refer\xEAncia","action.apply_animation_preset":"Aplicar anima\xE7\xE3o predefinida","action.apply_animation_preset.desc":"Seleciona em uma lista de predefini\xE7\xF5es de anima\xE7\xE3o e aplica ao osso selecionado.","menu.brush_presets.pixel_perfect":"Pincel de p\xEDxel preciso","panel.layers":"Camadas","uv_editor.copy_paste_tool.to_layer":"Para nova camada","format.image.new":"Criar nova imagem","format.image.info.summary":"O editor de imagens 2D permite criar e editar imagens e pixel-art diretamente no Blockbench, sem a precisar de um editor de imagens externo. Edite imagens, modifique texturas ou crie sua pr\xF3pria pixel-art!","settings.move_with_selection_tool":"Usar ferramenta de sele\xE7\xE3o para mover sele\xE7\xF5es","settings.move_with_selection_tool.desc":"Permite que a ferramenta de sele\xE7\xE3o mova as sele\xE7\xF5es diretamente, sem precisar alternar para a ferramenta de mover camada.","settings.final_newline":"\xDAltima linha","settings.final_newline.desc":"Insere um caractere de nova linha no final dos arquivos exportados.","action.crop_layer_to_selection":"Camada de corte para sele\xE7\xE3o","action.edit_mode_uv_overlay.desc":"Mostra o mapa UV como uma sobreposi\xE7\xE3o no modo de edi\xE7\xE3o.","menu.image":"Imagem","menu.texture.discard_changes":"Descartar mudan\xE7as","menu.texture.discard_changes.desc":"Descarta todas as altera\xE7\xF5es n\xE3o salvas e carrega a vers\xE3o mais recente do arquivo.","panel.textures.images":"Imagens","dialog.advanced":"Avan\xE7ado","dialog.recommended_option":"recomendado","modifier_actions.snap_to_center":"Ajustar ao centro","modifier_actions.snap_to_pixels":"Ajustar aos p\xEDxeis","message.invalid_format.install_plugin":"Instalar plugin '%0'","message.plugin_deprecated.message":"Deseja mesmo instalar esse plugin obsoleto?","message.plugin_deprecated.install_anyway":"Instalar mesmo assim","message.image_editor.not_found":"N\xE3o foi poss\xEDvel encontrar o editor de imagens selecionado. Selecione outra op\xE7\xE3o.","message.knife_tool.confirm":"Pressione %0 ou clique aqui para aplicar a ferramenta bisturi","message.knife_tool.skipped_face":"N\xE3o \xE9 poss\xEDvel cortar entre faces diferentes. Inclua as arestas ou v\xE9rtices entre elas!","message.optimize_animation.keyframes_removed":"%0 quadro(s)-chave reduntante(s) removido(s)","message.optimize_animation.nothing_to_optimize":"N\xE3o h\xE1 nada para otimizar!","message.duplicate_bone_copy_animation.title":"Copiar anima\xE7\xE3o","message.duplicate_bone_copy_animation.message":"O osso duplicado \xE9 animado em %0 anima\xE7\xE3o(\xF5es). Deseja copiar os quadros-chave para o novo osso?","message.auto_fix_mesh_edit.title":"Corre\xE7\xE3o autom\xE1tica","message.auto_fix_mesh_edit.revert":"Reverter edi\xE7\xE3o","message.auto_fix_mesh_edit.overlapping_vertices":"Alguns v\xE9rtices foram movidos para o mesmo local. Como deseja prosseguir?","message.auto_fix_mesh_edit.concave_quads":"Uma ou mais faces quadril\xE1teras agora est\xE3o c\xF4ncavas. Isso pode causar problemas no mapeamento UV e na renderiza\xE7\xE3o. O Blockbench pode corrigir isso automaticamente para voc\xEA:","message.auto_fix_mesh_edit.merge_vertices":"Unir v\xE9rtices","message.auto_fix_mesh_edit.split_quads":"Dividir quadril\xE1teros","message.load_images.add_image":"Adicionar imagem","dialog.project.modded_entity_entity_class":"Classe da entidade","dialog.resize_texture.offset":"Compensar","dialog.animated_texture_editor.code_reference":"C\xF3digo de refer\xEAncia","dialog.animated_texture_editor.code_reference.about":"Esse c\xF3digo \xE9 usado para implementar a anima\xE7\xE3o de textura gerada como refer\xEAncia e n\xE3o funciona necessariamente sem modifica\xE7\xF5es. Consulte a documenta\xE7\xE3o para saber mais.","dialog.animated_texture_editor.code_reference.docs":"Documenta\xE7\xE3o","dialog.animated_texture_editor.reframe":"Reenquadrar","dialog.animated_texture_editor.stride":"Tamanho do quadro","dialog.animated_texture_editor.frames":"N\xFAmero de quadros","dialog.animated_texture_editor.add_frame":"Adicionar quadro","dialog.animated_texture_editor.resize_frames":"Redimensionar quadros...","dialog.animated_texture_editor.apply":"Aplicar","dialog.add_primitive.edge_size":"Tamanho da aresta","dialog.change_animation_speed.speed":"Velocidade","dialog.change_animation_speed.adjust_snapping":"Ajustar encaixe","dialog.optimize_animation.selection":"Sele\xE7\xE3o","dialog.optimize_animation.selection.selected_keyframes":"Quadros-chave selecionados","dialog.optimize_animation.selection.selected_animation":"Anima\xE7\xE3o selecionada","dialog.optimize_animation.selection.all_animations":"Todas as anima\xE7\xF5es","dialog.optimize_animation.thresholds":"Valores de limiar","dialog.import_obj.obj":"Arquivo OBJ","dialog.import_obj.mtl":"Arquivo MTL","dialog.import_obj.scale":"Escala","layout.thumbnail":"Miniatura CSS personalizada","settings.pixel_grid":"Grade de p\xEDxeis","settings.pixel_grid.desc":"Mostra a grade de p\xEDxeis da textura nos elementos no modo de edi\xE7\xE3o.","settings.image_editor_grid_size":"Tamanho da grade do editor de imagens","settings.image_editor_grid_size.desc":"Tamanho da grade maior no editor de imagens 2D","settings.ground_plane_double_side":"Plano de ch\xE3o em dupla face","settings.ground_plane_double_side.desc":"Torna o plano do ch\xE3o vis\xEDvel","settings.optifine_save_default_texture":"OptiFine JEM: Exportar textura selecionada","settings.optifine_save_default_texture.desc":"Exporta a textura selecionada como a textura padr\xE3o do modelo.","action.slider_color_select_threshold":"Limiar de sele\xE7\xE3o de cor","action.slider_color_select_threshold.desc":"A proximidade da cor de um p\xEDxel ao lado para que ele seja selecionado por cor ou pela varinha m\xE1gica.","action.stretch_tool":"Esticar","action.stretch_tool.desc":"Usada para selecionar e esticar elementos.","action.knife_tool":"Bisturi","action.knife_tool.desc":"Usada para cortar faces de malha em pe\xE7as menores.","action.duplicate_project":"Duplicar projeto","action.duplicate_project.desc":"Crie uma c\xF3pia do projeto aberto.","action.transform_space.parent":"Parente","action.transform_pivot_space":"Espa\xE7o de transforma\xE7\xE3o de piv\xF4","action.solidify_mesh_selection":"Solidificar faces","action.solidify_mesh_selection.desc":"Solidifique as faces selecionadas da malha.","action.animated_texture_editor":"Editor flipbook...","action.animated_texture_editor.desc":"Edite a anima\xE7\xE3o flipbook da textura selecionada.","action.center_individual_pivots":"Piv\xF4s individuais centrais","action.center_individual_pivots.desc":"Define o ponto de piv\xF4 de cada elemento selecionado como seu centro.","action.uv_cycle":"Ciclo UV","action.uv_cycle.desc":"Percorra a ordem dos v\xE9rtices UV sem alterar as posi\xE7\xF5es UV.","action.uv_cycle_invert":"Ciclo UV invertido","action.uv_cycle_invert.desc":"Inverta a ordem dos v\xE9rtices UV sem alterar as posi\xE7\xF5es UV.","action.slider_animation_controller_speed":"Velocidade de reprodu\xE7\xE3o do controlador","action.slider_animation_controller_speed.desc":"A velocidade de reprodu\xE7\xE3o dos controladores de anima\xE7\xE3o em porcentagem","action.optimize_animation":"Otimizar anima\xE7\xE3o","action.optimize_animation.desc":"Otimize a anima\xE7\xE3o atual e reduza o n\xFAmero de quadros-chave.","action.change_animation_speed":"Alterar velocidade da anima\xE7\xE3o...","action.change_animation_speed.desc":"Altera a velocidade da anima\xE7\xE3o selecionada.","timeline.select_particle_file":"Selecionar arquivo de part\xEDcula","timeline.select_sound_file":"Selecionar arquivo de som","menu.cube.texture.default":"Padr\xE3o","menu.texture.particle.clear":"Parar part\xEDculas","menu.texture.use_as_default":"Definir como padr\xE3o","menu.texture.use_as_default.clear":"Desatribuir como padr\xE3o","menu.toolbar.overflow":"Barra de ferramentas sobrecarregada","edit.solidify_mesh_selection.thickness":"Espessura","reference_image.sync_to_timeline":"Sincronizar para a linha do tempo","reference_image.toggle_playback":"Reproduzir/Pausar","dialog.add_primitive.shape.beveled_cuboid":"Cuboide biselado","dialog.ignore_all":"Ignorar tudo","data.texture_group":"Grupo de textura","data.animation":"Anima\xE7\xE3o","generic.on":"Sim","generic.off":"N\xE3o","format.free.info.3d_printing":"Impress\xE3o 3D","message.invalid_file.merge_conflict":"O arquivo cont\xE9m conflitos de mesclagem Git n\xE3o resolvidos.","dialog.expand_texture_selection.radius":"Quantidade","dialog.expand_texture_selection.corner":"Formato de canto","dialog.expand_texture_selection.corner.round":"Redondo","dialog.expand_texture_selection.corner.square":"Quadrado","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Fundir em","keybindings.variation_conflict":"A varia\xE7\xE3o entra em conflito com a tecla de atalho principal","settings.recovery_save_interval":"Intervalo de salvamento do ponto de recupera\xE7\xE3o","settings.recovery_save_interval.desc":"O Blockbench salva regularmente o projeto aberto em segundo plano para recupera\xE7\xE3o em caso de falha do computador. Defina o intervalo em segundos. Utilize 0 para desativar o salvamento.","settings.save_view_per_tab":"Salvar visualiza\xE7\xE3o por aba","settings.save_view_per_tab.desc":"Salve o \xE2ngulo de vis\xE3o atual para cada aba separadamente.","settings.inherit_parent_color":"Herdar a cor do derivador","settings.inherit_parent_color.desc":"Defina a cor do marcador de um elemento rec\xE9m-criado para a cor do elemento derivador ao inv\xE9s de uma cor aleat\xF3ria.","keybind.preview_select.multi_select":"Sele\xE7\xE3o m\xFAltipla","keybind.preview_select.group_select":"Sele\xE7\xE3o em grupo","keybind.preview_select.loop_select":"Sele\xE7\xE3o de loop","action.fill_mode.selection":"Sele\xE7\xE3o","action.fill_mode.selected_elements":"Elementos selecionados","action.image_tiled_view":"Visualiza\xE7\xE3o em mosaico","action.image_tiled_view.description":"Ativa a visualiza\xE7\xE3o em mosaico no editor 2D.","action.image_onion_skin_view":"Editor de imagens onion skin","action.image_onion_skin_view.description":"Ativa a visualiza\xE7\xE3o em camadas (onion skin) no editor 2D.","action.expand_texture_selection":"Expandir sele\xE7\xE3o de textura","action.expand_texture_selection.desc":"Expande ou reduzir a sele\xE7\xE3o de texturas","action.switch_tabs.reverse_order":"Ordem inversa","action.save_project_incremental":"Salvar projeto com incremento","action.save_project_incremental.desc":"Salva o modelo atual como um arquivo de projeto com um incremento (p. ex.: project_2.bbmodel).","action.copy.multiple":"Copiar tudo","action.copy.multiple.desc":"Copiar todos os dados dispon\xEDveis individualmente","action.paste.multiple":"Colar tudo","action.randomize_marker_colors":"Aleatorizar as cores dos marcadores","action.cube_light_emission":"Emiss\xE3o de luz","action.cube_light_emission.desc":"Altera a emissividade dos cubos selecionados, com um valor entre 0 e 15.","action.view_mode.colored_solid":"S\xF3lido com cores de marcador","action.focus_on_selection.rotate_only":"Apenas girar","action.create_texture_group":"Criar grupo de textura","action.create_texture_group.desc":"Crie um grupo para suas texturas.","action.uv_maximize.all_faces":"Afeta todas as faces","action.retarget_animators":"Anima\xE7\xF5es de redirecionamento","action.retarget_animators.desc":"Seleciona qual animador tem como alvo o osso ou elemento.","action.merge_animation":"Mesclar anima\xE7\xF5es","action.merge_animation.desc":"Mescle a anima\xE7\xE3o com outra.","action.add_keyframe.reset_values":"Com valores padr\xF5es","action.set_timeline_range_start":"Definir intervalo de tempo de in\xEDcio da linha do tempo","action.set_timeline_range_start.desc":"Defina o ponto inicial para um intervalo de reprodu\xE7\xE3o personalizado na linha do tempo da anima\xE7\xE3o.","action.set_timeline_range_end":"Definir fim do intervalo da linha do tempo","action.set_timeline_range_end.desc":"Define o ponto final para um intervalo de reprodu\xE7\xE3o personalizado na linha do tempo da anima\xE7\xE3o.","action.disable_timeline_range":"Desativar fim do intervalo da linha do tempo","action.disable_timeline_range.desc":"Desativa o intervalo de reprodu\xE7\xE3o personalizado na linha do tempo da anima\xE7\xE3o.","menu.texture_group.resolve":"Resolver","menu.image_tiled_view.mirrored":"Arestas espelhadas","menu.image_onion_skin_view.frame":"Quadros","menu.image_onion_skin_view.frame.last_viewed":"\xDAltimo quadro visualizado","menu.image_onion_skin_view.frame.previous":"Quadro anterior","menu.image_onion_skin_view.frame.next":"Pr\xF3ximo quadro","menu.image_onion_skin_view.frame.both":"Anterior + Pr\xF3ximo","menu.image_onion_skin_view.display":"Exibi\xE7\xE3o","menu.image_onion_skin_view.display.pixels":"P\xEDxeis menores","menu.image_onion_skin_view.display.transparent":"Transparente","menu.image_onion_skin_view.above":"Mostrar acima","menu.animation.reload":"Recarregar","switches.autouv.alt":"Relativo","display.rotation_pivot":"Piv\xF4 de rota\xE7\xE3o","display.scale_pivot":"Piv\xF4 de escala","display.reference.fox":"Raposa","display.reference.eating":"Comendo","preview_scene.sky":"C\xE9u","preview_scene.space":"Espa\xE7o","preview_scene.minecraft_ocean":"Oceano","message.import_palette.selection_only":"Apenas sele\xE7\xE3o","dialog.blend_transition_edit.ease_in_out":"Suavizar in\xEDcio e fim (%0)","dialog.blend_transition_edit.generate":"Gerar...","dialog.blend_transition_edit.generate.learn_more":"Mais informa\xE7\xF5es e pr\xE9-visualiza\xE7\xE3o","dialog.blend_transition_edit.generate.curve":"Tipo de suaviza\xE7\xE3o","dialog.blend_transition_edit.generate.steps":"Quadros-chave","settings.fps_limit":"Limite de QPS","settings.fps_limit.desc":"Limita a quantidade de quadros por segundo que o Blockbench renderiza. A taxa de quadros real \xE9 limitada pela capacidade de exibi\xE7\xE3o do seu dispositivo.","settings.outliner_reveal_on_select":"Revelar elementos ao selecionar","settings.outliner_reveal_on_select.desc":"Revela os elementos no painel de estrutura de t\xF3picos quando selecionados.","settings.java_export_pivots":"Exportar piv\xF4s em modelos de bloco/item Java","settings.java_export_pivots.desc":"Salva pontos de piv\xF4 em modelos de bloco/item Java em cubos sem rota\xE7\xE3o.","animation_controllers.state.blend_transition_curve":"Curva de transi\xE7\xE3o de mistura","menu.slider.reset_vector":"Redefinir vetor","dialog.blend_transition_edit.extended":"Gr\xE1fico estendido","message.screenshot_too_large.title":"Problema de resolu\xE7\xE3o de captura de tela","message.screenshot_too_large.message":"N\xE3o foi poss\xEDvel renderizar a captura de tela. Tente novamente com uma resolu\xE7\xE3o menor ou sem superamostragem (SSAA).","message.rename_elements.numbering":"Voc\xEA pode usar caracteres especiais para gerar n\xFAmeros sequenciais. Use % para obter o \xEDndice do elemento dentro do seu grupo e $ para obter o \xEDndice dentro da sele\xE7\xE3o.","generic.edit_externally":"Editar externamente","message.settings_require_restart.title":"Reinicializa\xE7\xE3o necess\xE1ria","message.settings_require_restart.message":"Algumas configura\xE7\xF5es s\xF3 ser\xE3o aplicadas ap\xF3s reiniciar o programa.","message.settings_require_restart.restart_now":"Reiniciar agora","message.settings_require_restart.restart_later":"Reiniciar depois","message.classroom_mode.install_plugin":"N\xE3o \xE9 poss\xEDvel instalar os plugins no modo Sala de Aula.","dialog.collection.export_path":"Exportar caminho","dialog.collection.select_all":"Selecionar tudo","dialog.collection.select_none":"N\xE3o selecionar","dialog.collection.add_with_filter":"Adicionar com filtro","dialog.collection.remove":"Remover","dialog.material_config.title":"Configura\xE7\xE3o de material","dialog.material_config.color_value":"Valor da cor","dialog.material_config.mer":"Metal-Emissivo-Rugosidade","dialog.material_config.mer_value":"Valor MER","dialog.material_config.depth_type":"Tipo de profundidade","dialog.create_texture.disable_mirror_uv":"Desativar espelhamento UV","dialog.create_texture.disable_mirror_uv.desc":"Desativa a op\xE7\xE3o espelhamento UV na modelagem espelhada para preservar UVs separadas para cada lado do modelo.","dialog.create_gif.turn.sync_to_anim_length":"Sincronizar com o comprimento da anima\xE7\xE3o","settings.category.controls":"Controles","settings.classroom_mode":"Modo sala de aula","settings.classroom_mode.desc":"Restringe as funcionalidades, como a instala\xE7\xE3o de plugins, e remove links para m\xEDdias sociais","settings.antialiasing_bleed_fix":"Corrigir vazamento de textura","settings.antialiasing_bleed_fix.desc":"Corrige o vazamento de texturas ao usar anti-serrilhamento. Pode ter incompatibilidade com hardware mais antigo.","settings.tone_mapping":"Mapeamento de tons","settings.tone_mapping.desc":"M\xE9todo de aproxima\xE7\xE3o para mostrar alta faixa din\xE2mica em uma tela padr\xE3o para renderiza\xE7\xE3o PBR.","settings.audio_scrubbing":"Linha do tempo de reprodu\xE7\xE3o de \xE1udio","settings.audio_scrubbing.desc":"Reproduz trechos curtos do \xE1udio enquanto navega pela linha do tempo.","settings.viewport_rotate_speed":"Velocidade de rota\xE7\xE3o da \xE1rea de visualiza\xE7\xE3o","settings.viewport_rotate_speed.desc":"Sensibilidade de entrada ao rotacionar na \xE1rea de visualiza\xE7\xE3o.","settings.viewport_zoom_speed":"Velocidade do zoom na \xE1rea de visualiza\xE7\xE3o","settings.viewport_zoom_speed.desc":"Sensibilidade de entrada ao ampliar a \xE1rea de visualiza\xE7\xE3o","settings.editor_2d_zoom_speed":"Velocidade do zoom no editor 2D","settings.editor_2d_zoom_speed.desc":"Sensibilidade de entrada ao aplicar zoom no editor de pintura UV e 2D.","category.select":"Selecionar","action.vertex_snap_mode.rotate":"Girar","action.export_image":"Exportar imagem","action.export_image.desc":"Exporta sua textura como um arquivo de imagem","action.apply_mirror_modeling":"Aplicar modelo espelhado","action.apply_mirror_modeling.desc":"Aplica um modelo espelhado para a sele\xE7\xE3o. Todos os elementos selecionados ser\xE3o copiados e invertidos em rela\xE7\xE3o ao eixo X.","action.create_collection":"Criar cole\xE7\xE3o","action.create_collection.desc":"Cria uma cole\xE7\xE3o a partir da sele\xE7\xE3o delineada.","action.set_collection_content_to_selection":"Definir conte\xFAdo da cole\xE7\xE3o para selecionado","action.set_collection_content_to_selection.desc":"Define os grupos e elementos selecionados como o conte\xFAdo da cole\xE7\xE3o.","action.add_to_collection":"Adicionar sele\xE7\xE3o \xE0 cole\xE7\xE3o","action.add_to_collection.desc":"Adiciona os grupos e elementos selecionados para a cole\xE7\xE3o.","action.view_mode.material":"Pr\xE9-visualizar material","action.create_material":"Criar material","action.create_material.desc":"Cria um novo material PBR fora da textura selecionada","action.generate_pbr_map":"Gerar mapa PBR...","action.generate_pbr_map.desc":"Gera um mapa PBR (mapa de altura ou metaliza\xE7\xE3o, emissividade, rugosidade) a partir de uma textura existente.","menu.tools.main_tools":"Caixa de ferramentas","menu.view.panels":"Paineis","menu.texture.pbr_channel":"Canal PBR","menu.texture.pbr_channel.color":"Cor","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Altura","menu.texture.pbr_channel.mer":"MER (Metal-Emissivo-Rugosidade)","menu.texture.pbr_channel.mer_subsurface":"Subsuperf\xEDcie MER","menu.collection.export_project":"Exportar projeto","menu.collection.export_as":'Exportar como "%0"',"menu.panel.enable":"Ativado","menu.panel.move_to":"Mover para","menu.panel.move_to.left_bar":"Barra lateral esquerda","menu.panel.move_to.right_bar":"Barra lateral direita","menu.panel.move_to.top":"Topo","menu.panel.move_to.bottom":"Baixo","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Ocultar","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origem","menu.mirror_modeling.mirror_uv":"Espelho UV","menu.animation_onion_skin.frames":"Molduras","menu.animation_onion_skin.select":"Selecionar","menu.animation_onion_skin.previous":"Anterior","menu.animation_onion_skin.next":"Pr\xF3ximo","menu.animation_onion_skin.previous_next":"Anterior + Pr\xF3ximo","menu.animation_onion_skin.count":"Quantidade","menu.animation_onion_skin.interval":"Intervalo","menu.animation_onion_skin_selective":"Onion skin seletiva","menu.animation_onion_skin_selective.desc":"Mostra apenas a onion skin para a parte selecionada do modelo.","edit.loop_cut.unit":"Unidade","edit.loop_cut.unit.size_units":"Tamanho das unidades","edit.loop_cut.unit.percent":"Percentual","edit.extrude_mesh_selection.direction":"Dire\xE7\xE3o","edit.extrude_mesh_selection.direction.outwards":"Para fora","edit.extrude_mesh_selection.direction.average":"M\xE9dia","edit.extrude_mesh_selection.even_extend":"Extens\xE3o uniforme","edit.vertex_snap.align":"Alinhar","edit.vertex_snap.align.longest":"Eixo mais longo","edit.vertex_snap.align.direction":"Dire\xE7\xE3o a partir do piv\xF4","edit.vertex_snap.align.align_axis":"%0 eixos","edit.vertex_snap.ignore_axis":"Ignorar eixos","codec.common.format":"Formato","codec.image.quality":"Qualidade","panel.collections":"Cole\xE7\xF5es","modifier_actions.always":"Sempre ativado","modifier_actions.unless":"A menos que %0","settings.undo_selections":"Desfazer sele\xE7\xE3o","settings.undo_selections.desc":"Acompanhe as altera\xE7\xF5es de sele\xE7\xE3o como uma etapa no hist\xF3rico de desfazer.","action.focus_on_selection.zoom":"Zoom para ajustar","display.reference.tooting":"Alardeando","settings.selection_tolerance":"Sele\xE7\xE3o de toler\xE2ncia","settings.selection_tolerance.desc":"Tamanho da \xE1rea que pode ser clicada para selecionar uma aresta ou v\xE9rtice","action.delete.keep_vertices":"Manter arestas/v\xE9rtices","menu.mesh":"Malha","dialog.material_config.subsurface":"Dispers\xE3o subsuperficial","dialog.material_config.subsurface_enabled.desc":"Usa o canal alfa do mapa MER para espalhamento subsuperficial","settings.pick_combined_color":"Selecionar a cor combinada","settings.pick_combined_color.desc":"Selecione a cor combinada de todas as camadas no respectivo p\xEDxel, em vez da cor na camada ativa.","action.split_rgb_into_layers":"Dividir canais RGB em camadas","action.split_rgb_into_layers.desc":"Divide a textura em camadas aditivas, uma para cada canal RGB.","dialog.project.java_block_version":"Vers\xE3o de formato","data.spline_mesh":"Ranhura","data.billboard":"Painel","data.armature":"Arma\xE7\xE3o","data.armature_bone":"Arma\xE7\xE3o de osso","generic.reload":"Recarregar","modifier_actions.subtract":"Subtrair","modifier_actions.reduced_intensity":"Ajuste fino","modifier_actions.select_bone":"Selecionar osso","modifier_actions.spline_select_multiple_points":"Selecione v\xE1rios pontos ou curvas.","modifier_actions.move_panel_without_docking":"Mover sem encaixe","message.save_all_textures.message":"Deseja salvar cada uma destas texturas?","message.save_all_textures.skip":"Pular","dialog.add_spline.shape":"Formato","dialog.add_spline.shape.segment":"Segmento","dialog.add_spline.shape.square":"Ret\xE2ngulo","dialog.add_spline.shape.circle":"C\xEDrculo","dialog.add_spline.diameter":"Di\xE2metro","dialog.add_spline.sides_tubular":"Segmentos de tubo","dialog.add_spline.sides_radial":"Segmentos de anel","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Altura","dialog.add_spline.width":"Largura","dialog.plugins.revoke_permissions":"Revogar permiss\xF5es","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minificar","dialog.expression_editor.find_replace":"Buscar/Substituir","dialog.create_gif.show_gizmos":"Gravar gizmos e grade","dialog.preview_options.title":"Pr\xE9-visualizar op\xE7\xF5es","dialog.preview_options.background":"Fundo","dialog.preview_options.background.checkerboard":"Quadriculado","dialog.preview_options.background.solid":"S\xF3lido","dialog.preview_options.background.custom_color":"Cor personalizada","dialog.preview_options.show_gizmos":"Mostrar gizmos","dialog.skin.texture_source":"Textura de origem","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Arquivo de textura","dialog.convert_skin.adjust_texture":"Ajustar textura","dialog.settings.clear_profile_value":"Limpar valor do perfil","layout.section.customize":"Personalizar","layout.theme.configure":"Configurar","layout.color.elevated":"Elevado","layout.color.elevated.desc":"Geralmente, os elementos UI elevados s\xE3o separados por quebra de sombra","layout.file.watch_changes":"Ver altera\xE7\xF5es e recarregar","settings.autocomplete_code":"Preenchimento autom\xE1tico de c\xF3digo","settings.autocomplete_code.desc":"Mostra sugest\xF5es de autopreenchimento em editores de c\xF3digo","settings.detect_flipbook_textures":"Detectar texturas do foliosc\xF3pio","settings.detect_flipbook_textures.desc":"Detectar automaticamente as texturas animadas do foliosc\xF3pio e visualiz\xE1-las como anima\xE7\xE3o.","settings.double_click_select_reference":"Seleciona a imagem de refer\xEAncia ao clicar duas vezes","settings.double_click_select_reference.desc":"Clique duas vezes na \xE1rea de visualiza\xE7\xE3o para selecionar uma imagem de refer\xEAncia.","settings.default_keyframe_interpolation":"Interpola\xE7\xE3o de quadro-chave padr\xE3o","settings.default_keyframe_interpolation.desc":"Seleciona o modo de interpola\xE7\xE3o de quadro-chave padr\xE3o.","settings.color_picker_style":"Estilo de sele\xE7\xE3o de cores","settings.color_picker_style.desc":"Seleciona o estilo do seletor de cores do modo pintura.","settings.export_asset_paths":"Caminhos de ativos de exporta\xE7\xE3o","settings.export_asset_paths.desc":"Seleciona como os caminhos para recursos como texturas ou anima\xE7\xF5es ser\xE3o salvos nos arquivos .bbmodel.","settings.export_asset_paths.relative":"Caminhos relativos","settings.export_asset_paths.absolute":"Caminhos completos","settings.export_asset_paths.both":"Caminhos relativos e completos (Apenas textura)","settings.export_asset_paths.none":"Nenhuma exporta\xE7\xE3o","action.slider_spline_resolution":"Resolu\xE7\xE3o da ranhura %0","action.slider_spline_resolution.desc":"Altera a resolu\xE7\xE3o da ranhura no eixo %0 (%1).","action.slider_spline_resolution.u.desc_precision":"Segmentos de anel","action.slider_spline_resolution.v.desc_precision":"Segmentos de tubo","action.slider_spline_radius":"Raio da ranhura","action.slider_spline_radius.desc":"Altera raio da ranhura","action.slider_spline_handle_tilt":"Inclina\xE7\xE3o da curva","action.slider_spline_handle_tilt.desc":"Altera a curva de inclina\xE7\xE3o","action.slider_spline_handle_size":"Tamanho da curva","action.slider_spline_handle_size.desc":"Alterar o tamanho da curva estriada","action.blend_mode.lighten":"Clearear","action.blend_mode.darken":"Escurecer","action.weight_brush":"Pincel de peso","action.weight_brush.desc":"Pinta os pesos de v\xE9rtices em malhas para deforma\xE7\xF5es de arma\xE7\xE3o","action.convert_minecraft_skin_variant":"Converter skin para fina/larga","action.convert_minecraft_skin_variant.desc":"Alterna o modelo da skin entre o largo (steve) ou fino (alex). Ajusta automaticamente a textura para se adequar ao modelo (opcional)","action.custom_skin_poses":"Pose personalizada para skin","action.custom_skin_poses.desc":"Carrega uma predefini\xE7\xE3o personalizada de pose para a skin","action.custom_skin_poses.update":"Atualizar pose","action.custom_skin_poses.update.desc":"Substituir a pose salva com a atual do modelo","action.add_custom_skin_pose":"Adicionar pose personalizada para skin","action.add_custom_skin_pose.desc":"Salva a pose atual do modelo como uma predefini\xE7\xE3o de pose","action.export_stl":"Exportar STL","action.export_stl.desc":"Exporta um modelo STL para a impress\xE3o 3D.","action.add_element":"Adicionar elemento","action.add_element.desc":"Adiciona um novo elemento para a lista de tipos de elementos.","action.add_spline":"Adicionar ranhura","action.add_spline.desc":"Adiciona uma nova ranhura","action.add_billboard":"Adicionar painel","action.add_billboard.desc":"Adiciona um novo painel. Um elemento plano que est\xE1 sempre voltado para a c\xE2mera.","action.add_armature":"Adicionar arma\xE7\xE3o","action.add_armature.desc":"Adiciona uma arma\xE7\xE3o que permite deformar uma malha por anima\xE7\xE3o.","action.add_armature_bone":"Adicionar arma\xE7\xE3o de osso","action.add_armature_bone.desc":"Adiciona um osso para a arma\xE7\xE3o","action.search_textures":"Buscar texturas","action.search_textures.desc":"Busca texturas por nome","action.search_animations":"Buscar anima\xE7\xF5es","action.search_animations.desc":"Busca anima\xE7\xF5es por nome","action.spline_selection_mode":"Modo de sele\xE7\xE3o de ranhura","action.spline_selection_mode.object":"Objeto","action.spline_selection_mode.handles":"Curvas","action.spline_render_mode":"Geometria","action.spline_render_mode.mesh":"Malha","action.spline_render_mode.path":"Caminho","action.spline_render_mode.desc":"Qual geometria essa ranhura deve renderizar?","action.spline_uv_mode":"Estilo UV","action.spline_uv_mode.length_accurate":"Comprimento preciso","action.spline_uv_mode.uniform":"Uniforme","action.spline_uv_mode.per_segment":"Por segmento","action.spline_uv_mode.desc":"Como a malha tubular da ranhura deve posicionar suas coordenadas UV.","action.spline_ring_segments":"Segmentos de anel","action.spline_ring_segments.desc":"Quantas subdivis\xF5es essa ranhura tem por anel tubular?","action.spline_tube_segments":"Segmentos de tubo","action.spline_tube_segments.desc":"Quantas subdivis\xF5es essa ranhura tem ao longo do seu percurso?","action.spline_tube_radius":"Raio do tubo","action.spline_tube_radius.desc":"Define o raio do tubo da ranhura","action.spline_display_space":"Espa\xE7o para exibi\xE7\xE3o","action.spline_display_space.desc":"Mostra os indicadores de espa\xE7amento da ranhura em seu caminho.","action.spline_handle_mode":"Modo ranhura estriada","action.spline_handle_mode.desc":"Qual modo usar para transformar as curvas da ranhura.","action.spline_handle_mode.aligned":"Alinhado","action.spline_handle_mode.free":"Livre","action.spline_handle_mode.mirrored":"Espelhado","action.slider_weight_brush_size":"Tamanho do pincel de peso","action.weight_brush_xray":"Modo raio-x do pincel de peso","action.weight_brush_xray.desc":"Quando ativada, a ferramenta de pincel de peso afetar\xE1 todos os v\xE9rtices, e n\xE3o apenas aqueles vis\xEDveis na superf\xEDcie.","action.apply_spline_rotation":"Aplicar rota\xE7\xE3o","action.apply_spline_rotation.desc":"Redefine a rota\xE7\xE3o do elemento da curva e a aplique \xE0 geometria.","action.extrude_spline_selection":"Extrus\xE3o de ranhura","action.extrude_spline_selection.desc":"Expele a curva selecionada em todas as ranhuras.","action.split_spline":"Ranhura dividida","action.split_spline.desc":"Divide a ranhura em duas na curva selecionada.","action.divide_spline_curve":"Dividir segmento de ranhura","action.divide_spline_curve.desc":"Divide o segmento de ranhura em dois novos segmentos com uma nova curva na intersec\xE7\xE3o entre eles.","action.set_vertex_weights":"Definir pesos dos v\xE9rtices","action.set_vertex_weights.desc":"Define os pesos dos v\xE9rtices selecionados para um valor espec\xEDfico em um determinado osso da arma\xE7\xE3o.","action.calculate_vertex_weights":"Calcular pesos dos v\xE9rtices","action.calculate_vertex_weights.desc":"Atribue automaticamente pesos aos v\xE9rtices com base na posi\xE7\xE3o dos ossos.","action.shelf_alignment":"Alinhamento de prateleira","action.shelf_alignment.desc":"Selecione o alinhamento vertical dos itens na prateleira.","action.shelf_alignment.top":"Alinhamento superior","action.shelf_alignment.bottom":"Alinhamento inferior","action.view_mode.vertex_weight":"Peso do v\xE9rtice","action.view_mode.weighted_bone_colors":"Cores dos ossos do v\xE9rtice","action.create_animation_group":"Criar grupo de anima\xE7\xE3o","action.create_animation_group.desc":"Cria um grupo de anima\xE7\xE3o.","action.move_graph_keyframes_up":"Mover o gr\xE1fico de quadros-chave para cima","action.move_graph_keyframes_down":"Mover o gr\xE1fico de quadros-chave para baixo","menu.skin":"Skin","menu.text_edit.expression_editor":"Editor de express\xE3o","menu.color_picker.picker_type.normal":"Mapa normal","menu.texture.flipbook_animation":"Anima\xE7\xE3o de foliosc\xF3pio","menu.panel.attach_to":"Anexar a","menu.animation.playing":"Reproduzindo","menu.animation_file.save_as":"Salvar como","menu.animator.quaternion_interpolation":"Interpola\xE7\xE3o de quat\xE9rnios","edit.extrude_spline_selection.extend":"Estender","edit.divide_spline_curve.position":"Posi\xE7\xE3o","group.bedrock_binding":"Vinculado","group.cem_attach":"Anexo CEM","group.cem_model":"Modelo CEM","group.cem_scale":"Escala CEM","cube.rescale":"Redimensionamento da rota\xE7\xE3o","cube.rescale.desc":"Redimensiona o cubo para compensar o \xE2ngulo de rota\xE7\xE3o.","mesh.shading":"Sombreamento","mesh.shading.flat":"Plano","mesh.shading.smooth":"Suave","spline_mesh.cyclic":"C\xEDclico","spline_mesh.cyclic.desc":"Indica se a ranhura selecionada deve formar um loop (ciclo).","billboard.offset":"Desvio","billboard.facing_mode":"Modo de frente","billboard.facing_mode.lookat":"Olhar para","billboard.facing_mode.lookat_y":"Olhar para Y","billboard.facing_mode.rotate":"Girar","billboard.facing_mode.rotate_y":"Girar eixo Y","armature_bone.connected":"Conectado","reference_image.blueprint":"Bloquear planta","codec.image.alpha_channel":"Canal alfa","codec.image.animation_fps":"Anima\xE7\xE3o QPS","panel.palette":"Paleta","panel.keyframe.change_effect_file":"Alterar arquivo de efeito","panel.transform":"Transformar","panel.element.spline_dimensions":"Dimens\xF5es da curva","display.slot.on_shelf":"Prateleira","display.reference.shelf":"Prateleira (todos os espa\xE7os)","display.reference.shelf_left":"Prateleira (espa\xE7o \xE0 esquerda)","display.reference.shelf_center":"Prateleira (espa\xE7o central)","display.reference.shelf_right":"Prateleira (espa\xE7o \xE0 direita)","message.newer_project_format_version.title":"Cliente desatualizado","message.newer_project_format_version.message":"Esse arquivo foi salvo em uma vers\xE3o mais recente do Blockbench. Atualize o aplicativo para a vers\xE3o %0 ou mais recente para poder abri-lo corretamente","message.load_images.add_layer":"Adicionar como camada","message.load_images.category.add_to_project":"Adicionar ao projeto","message.load_images.category.new_project":"Novo projeto","message.load_palette.title":"Carregar paleta","message.load_palette.message":"Deseja mesmo carregar essa paleta? Isso substituir\xE1 a sua atual.","dialog.set_vertex_weights.weight":"Peso","dialog.set_vertex_weights.overwrite":"Sobrescrever outros ossos","action.element_render_order.short":"Renderizar ordem","action.element_render_order.desc":"Ordem de renderiza\xE7\xE3o dos elementos. Isso pode ajudar a corrigir elementos que est\xE3o ocultos atr\xE1s de outros elementos com texturas transparentes. Deixe em 'autom\xE1tico' para elementos opacos.","spline.shading.flat":"Plano","spline.shading.smooth":"Suave","spline.shading":"Sombreamento","spline.shading.desc":"Como o tubo dessa ranhura deve ser sombreado.","action.slider_weight_brush_limit":"Limite do pincel de peso","action.slider_weight_brush_limit.desc":"Define um limite m\xE1ximo para a quantidade de peso que o pincel pode atribuir a um v\xE9rtice.","action.weight_brush_blend_mode":"Modo de mesclagem do pincel de peso","action.weight_brush_blend_mode.set":"Definir","action.weight_brush_blend_mode.add":"Adicionar","action.apply_texture_to_elements":"Aplicar textura para os elementos","action.apply_texture_to_elements.desc":"Aplica a textura selecionada aos elementos selecionados.","menu.panel.reset_size":"Redefinir tamanho","action.import_layer":"Importar camada","action.import_layer.desc":"Importar arquivo de imagem como camadas","menu.collection.open_file":"Abrir arquivo","layout.version":"Vers\xE3o","settings.status_bar_transform_sliders":"Transformar controles deslizantes na barra de status","settings.status_bar_transform_sliders.desc":"Mostra a barra de ferramentas com os controles deslizantes de transforma\xE7\xE3o da ferramenta selecionada na barra de status em vez de usar o painel de transforma\xE7\xE3o.","settings.default_bedrock_format":"Formato padr\xE3o do Bedrock","settings.default_bedrock_format.desc":"Selecione o formato padr\xE3o para carregar os modelos do Minecraft Bedrock, quando nenhum formato espec\xEDfico puder ser detectado pelo contexto.","settings.limit_brush_opacity_per_stroke":"Limitar a opacidade do pincel por tra\xE7o","settings.limit_brush_opacity_per_stroke.desc":"Limita a opacidade que um pincel pode aplicar ao valor do controle deslizante de opacidade durante cada pincelada. Com um pincel suave, esse comportamento pode gerar um leve ru\xEDdo indesejado.","action.merge_splines":"Mesclar ranhuras","action.merge_splines.desc":"Mesclar v\xE1rias ranhuras numa s\xF3","settings.default_java_block_version":"Vers\xE3o padr\xE3o do bloco/item Java","settings.default_java_block_version.desc":"Vers\xE3o de formato padr\xE3o ao criar novos modelos de bloco/item Java ou ao abrir arquivos sem vers\xE3o de formato","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var BL={"dialog.ok":"\u041F\u0440\u0438\u043D\u044F\u0442\u044C","dialog.cancel":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","dialog.confirm":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C","dialog.close":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","dialog.import":"\u0418\u043C\u043F\u043E\u0440\u0442","dialog.save":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","dialog.discard":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C","dialog.dontshowagain":"\u0411\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C","data.cube":"\u041A\u0443\u0431","data.group":"\u0413\u0440\u0443\u043F\u043F\u0430","data.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","data.plugin":"\u041F\u043B\u0430\u0433\u0438\u043D","data.preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","data.toolbar":"\u041F\u0430\u043D\u0435\u043B\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432","data.image":"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"\u041F\u0440\u043E\u0431\u0435\u043B","keys.leftclick":"\u041B\u041A\u041C","keys.middleclick":"\u043D\u0430\u0436\u0430\u0442\u044C \u043A\u043E\u043B\u0451\u0441\u0438\u043A\u043E\u043C","keys.rightclick":"\u041F\u041A\u041C","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"ESC","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E","keys.left":"\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u043B\u0435\u0432\u043E","keys.up":"\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u0432\u0435\u0440\u0445","keys.right":"\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u043F\u0440\u0430\u0432\u043E","keys.down":"\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u043D\u0438\u0437","keys.pageup":"Page up","keys.pagedown":"Page down","keys.plus":"\u041F\u043B\u044E\u0441","keys.comma":"\u0417\u0430\u043F\u044F\u0442\u0430\u044F","keys.point":"\u0422\u043E\u0447\u043A\u0430","keys.minus":"\u041C\u0438\u043D\u0443\u0441","keys.cross":"\u041A\u0440\u0435\u0441\u0442\u0438\u043A","keys.end":"End","keys.pos1":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u041B\u0438\u043C\u0438\u0442\u044B \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F","message.rotation_limit.message":'\u0412 Minecraft \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u044B \u043E\u0434\u043D\u043E\u0439 \u043E\u0441\u044C\u044E \u0438 \u0448\u0430\u0433\u043E\u043C \u0432 22,5 \u0433\u0440\u0430\u0434\u0443\u0441\u0430. \u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043F\u043E \u0434\u0440\u0443\u0433\u043E\u0439 \u043E\u0441\u0438 \u043E\u0431\u043D\u0443\u043B\u044F\u0435\u0442 \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043F\u043E \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u043C. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0439 \u043C\u043E\u0434\u0435\u043B\u044C \u0432 "\u043E\u0431\u0449\u0443\u044E", \u0435\u0441\u043B\u0438 \u0442\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0448\u044C \u0435\u0451 \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u0438\u0445 \u0446\u0435\u043B\u0435\u0439 \u0438 \u0431\u0435\u0437 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439.',"message.file_not_found.title":"\u0424\u0430\u0439\u043B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D","message.file_not_found.message":"Blockbench \u043D\u0435 \u043D\u0430\u0448\u0451\u043B \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u0444\u0430\u0439\u043B. \u0423\u0431\u0435\u0434\u0438\u0441\u044C, \u0447\u0442\u043E \u0444\u0430\u0439\u043B \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E, \u0430 \u043D\u0435 \u0432 \u043E\u0431\u043B\u0430\u043A\u0435.","message.screenshot.title":"\u0421\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430","message.screenshot.clipboard":"\u0411\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","message.screenshot.right_click":"\u041D\u0430\u0436\u043C\u0438 \u041F\u041A\u041C \u0438\u043B\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439 \u0441\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E","message.invalid_file.title":"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0444\u0430\u0439\u043B","message.invalid_file.message":"\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B JSON: %0","message.invalid_model.title":"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0444\u0430\u0439\u043B \u043C\u043E\u0434\u0435\u043B\u0438","message.invalid_model.message":"\u0412 \u0444\u0430\u0439\u043B\u0435 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u0438.","message.child_model_only.title":"\u041F\u0443\u0441\u0442\u0430\u044F \u0434\u043E\u0447\u0435\u0440\u043D\u044F\u044F \u043C\u043E\u0434\u0435\u043B\u044C","message.child_model_only.message":"\u042D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u043C \u0434\u043B\u044F %0 \u0438 \u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043C\u043E\u0434\u0435\u043B\u0438.","message.unsaved_textures.title":"\u041D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","message.unsaved_textures.message":"\u0412 \u0442\u0432\u043E\u0435\u0439 \u043C\u043E\u0434\u0435\u043B\u0438 \u0438\u043C\u0435\u044E\u0442\u0441\u044F \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043E\u0445\u0440\u0430\u043D\u0438 \u0438\u0445 \u0438 \u043F\u043E\u043C\u0435\u0441\u0442\u0438 \u0432 \u043D\u0443\u0436\u043D\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u043D\u0430\u0431\u043E\u0440\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432.","message.model_clipping.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0430\u044F","message.model_clipping.message":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 %0 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432, \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u044E\u0449\u0438\u0445 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u044B \u0431\u043B\u043E\u043A\u043E\u0432 \u0432 Minecraft. \u042D\u0442\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0432 \u0438\u0433\u0440\u0435.","message.loose_texture.title":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","message.loose_texture.message":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043D\u0435 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u043D\u0430\u0431\u043E\u0440\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432. Minecraft \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0438\u0437 \u043F\u0430\u043F\u043A\u0438 /textures \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u043E\u0433\u043E \u043D\u0430\u0431\u043E\u0440\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432.","message.loose_texture.change":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C","message.update_res.title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","message.update_res.message":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0434\u043E \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F \u044D\u0442\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B? \u041D\u0430\u0436\u043C\u0438 ''\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C'', \u0435\u0441\u043B\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u044B\u0448\u0435 \u043E\u0431\u044B\u0447\u043D\u043E\u0433\u043E.","message.update_res.update":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","message.bedrock_overwrite_error.message":"Blockbench \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u044D\u0442\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043E \u0441\u0442\u0430\u0440\u044B\u043C \u0444\u0430\u0439\u043B\u043E\u043C.","message.bedrock_overwrite_error.backup_overwrite":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0443\u044E \u043A\u043E\u043F\u0438\u044E \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C","message.bedrock_overwrite_error.overwrite":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C","message.close_warning.message":"\u0422\u044B \u0445\u043E\u0447\u0435\u0448\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0441\u0432\u043E\u044E \u043C\u043E\u0434\u0435\u043B\u044C?","message.close_warning.web":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0432\u044B\u0439\u0442\u0438?","message.default_textures.title":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","message.default_textures.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043F\u0430\u043F\u043A\u0443 /textures \u0432 \u043D\u0430\u0431\u043E\u0440\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","message.default_textures.detail":"\u0418\u0437\u0432\u043B\u0435\u043A\u0438 \u043D\u0430\u0431\u043E\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0438\u0437 minecraft.jar \u0438\u043B\u0438 \u0441\u043A\u0430\u0447\u0430\u0439 \u0435\u0433\u043E \u0432 \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0435. \u041D\u0430\u0439\u0434\u0438 \u043F\u0430\u043F\u043A\u0443 /textures \u0438 \u043E\u0442\u043A\u0440\u043E\u0439 \u0435\u0451. Blockbench \u0437\u0430\u043F\u043E\u043C\u043D\u0438\u0442 \u044D\u0442\u043E \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0438\u0437\u0432\u043B\u0435\u0447\u0451\u0442 \u043E\u0442\u0442\u0443\u0434\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B, \u0435\u0441\u043B\u0438 \u043D\u0435 \u043D\u0430\u0439\u0434\u0451\u0442 \u0438\u0445 \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u043D\u0430\u0431\u043E\u0440\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432.","message.default_textures.select":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043F\u0430\u043F\u043A\u0443 /textures \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","message.image_editor.title":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","message.image_editor.file":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B...","message.image_editor.exe":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","message.display_skin.title":"Minecraft-\u0441\u043A\u0438\u043D","message.display_skin.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0441\u043A\u0438\u043D \u0432 \u0441\u0432\u043E\u0438\u0445 \u0444\u0430\u0439\u043B\u0430\u0445 \u0438\u043B\u0438 \u0432\u0432\u0435\u0434\u0438 \u043D\u0438\u043A \u0438\u0433\u0440\u043E\u043A\u0430","message.display_skin.upload":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B","message.display_skin.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C","message.invalid_plugin":"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0444\u0430\u0439\u043B \u043F\u043B\u0430\u0433\u0438\u043D\u0430, \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0438 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u043E\u0442\u043B\u0430\u0434\u043A\u0438","message.load_plugin_app":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u044D\u0442\u043E\u043C\u0443 \u043F\u043B\u0430\u0433\u0438\u043D\u0443 \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B? \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u044B.","message.load_plugin_web":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043F\u043B\u0430\u0433\u0438\u043D? \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043D\u044B\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u044B.","message.preset_no_info":"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043E\u0431 \u044D\u0442\u043E\u043C \u0441\u043B\u043E\u0442\u0435","message.restart_to_update":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438 Blockbench, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F","message.save_file":"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E \u043A\u0430\u043A %0","dialog.project.title":"\u041F\u0440\u043E\u0435\u043A\u0442","dialog.project.name":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u0430","dialog.project.parent":"\u0420\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C","dialog.project.geoname":"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.project.ao":"\u041E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u044F\u044F \u043E\u043A\u043A\u043B\u044E\u0437\u0438\u044F","dialog.texture.title":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","dialog.texture.variable":"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F","dialog.texture.namespace":"\u041F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E \u0438\u043C\u0451\u043D","dialog.texture.folder":"\u041F\u0430\u043F\u043A\u0430","dialog.extrude.title":"\u042D\u043A\u0441\u0442\u0440\u0443\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","dialog.extrude.mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","dialog.extrude.mode.areas":"\u041F\u043E \u043E\u0431\u043B\u0430\u0441\u0442\u044F\u043C","dialog.extrude.mode.lines":"\u041F\u043E \u043B\u0438\u043D\u0438\u044F\u043C","dialog.extrude.mode.columns":"\u041F\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u0430\u043C","dialog.extrude.mode.pixels":"\u041F\u043E \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u043C","dialog.extrude.opacity":"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","dialog.extrude.scan":"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438 \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","dialog.display_preset.title":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D","dialog.display_preset.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0441\u043B\u043E\u0442\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043D\u0443\u0436\u043D\u043E \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","dialog.display_preset.create":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C","dialog.select.title":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","dialog.select.group":"\u0412 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435","dialog.select.name":"\u0418\u043C\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442","dialog.select.random":"\u0421\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0448\u0430\u043D\u0441 (%)","dialog.select.select":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C","dialog.scale.title":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.scale.axis":"\u041E\u0441\u0438","dialog.scale.clipping":"\u041E\u0431\u0440\u0435\u0437\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u0438: \u0422\u0432\u043E\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0432\u0435\u043B\u0438\u043A\u0430","dialog.scale.confirm":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","dialog.plugins.title":"\u041F\u043B\u0430\u0433\u0438\u043D\u044B","dialog.plugins.installed":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435","dialog.plugins.available":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435","dialog.plugins.install":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C","dialog.plugins.uninstall":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","dialog.plugins.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C","dialog.plugins.none_installed":"\u041D\u0435\u0442 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u0432","dialog.plugins.none_available":"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u0432","dialog.plugins.web_only":"\u0422\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0432\u0435\u0431-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F","dialog.plugins.app_only":"\u0422\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F","dialog.plugins.author":"\u043E\u0442 %0","dialog.create_texture.folder":"\u041F\u0430\u043F\u043A\u0430","dialog.create_texture.resolution":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435","dialog.input.title":"\u0412\u0432\u043E\u0434","dialog.settings.settings":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","dialog.settings.keybinds":"\u0413\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438","dialog.settings.about":"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435","layout.color.back":"\u0417\u0430\u0434\u043D\u0438\u0439 \u043F\u043B\u0430\u043D","layout.color.back.desc":"\u0424\u043E\u043D \u0438 \u043F\u043E\u043B\u044F \u0432\u0432\u043E\u0434\u0430","layout.color.dark":"\u0422\u0451\u043C\u043D\u044B\u0439","layout.color.dark.desc":"\u0424\u043E\u043D \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","layout.color.ui":"\u0418\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","layout.color.ui.desc":"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0446\u0432\u0435\u0442 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","layout.color.bright_ui":"\u0421\u0432\u0435\u0442\u043B\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","layout.color.bright_ui.desc":"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E \u0438 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438","layout.color.button":"\u041A\u043D\u043E\u043F\u043A\u0430","layout.color.button.desc":"\u041A\u043D\u043E\u043F\u043A\u0438 \u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u0438","layout.color.selected":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435","layout.color.selected.desc":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u0438 \u043E\u0431\u044A\u0435\u043A\u0442\u044B","layout.color.border":"\u0413\u0440\u0430\u043D\u0438\u0446\u044B","layout.color.border.desc":"\u0413\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043E\u043B\u0435\u0439 \u0432\u0432\u043E\u0434\u0430 \u0438 \u043A\u043D\u043E\u043F\u043E\u043A","layout.color.accent":"\u0410\u043A\u0446\u0435\u043D\u0442","layout.color.accent.desc":"\u041F\u043E\u043B\u0437\u0443\u043D\u043A\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0442\u0430\u043B\u0438","layout.color.grid":"\u0421\u0435\u0442\u043A\u0430","layout.color.grid.desc":"\u0421\u0435\u0442\u043A\u0430 \u0442\u0440\u0451\u0445\u043C\u0435\u0440\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","layout.color.text":"\u0422\u0435\u043A\u0441\u0442","layout.color.text.desc":"\u041E\u0431\u044B\u0447\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.light":"\u041F\u043E\u0434\u0441\u0432\u0435\u0442\u043A\u0430","layout.color.light.desc":"\u041F\u043E\u0434\u0441\u0432\u0435\u0447\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.accent_text":"\u041A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.accent_text.desc":"\u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u0441\u0432\u0435\u0442\u043B\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445","layout.font.main":"\u0428\u0440\u0438\u0444\u0442 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430","layout.font.headline":"\u0428\u0440\u0438\u0444\u0442 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430","about.version":"\u0412\u0435\u0440\u0441\u0438\u044F:","settings.category.general":"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435","settings.category.preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","settings.category.grid":"\u0421\u0435\u0442\u043A\u0430","settings.category.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","settings.category.snapping":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430 \u043A \u0441\u0435\u0442\u043A\u0435","settings.category.defaults":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","settings.category.dialogs":"\u0414\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u044B\u0435 \u043E\u043A\u043D\u0430","settings.category.export":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","settings.language":"\u042F\u0437\u044B\u043A","settings.language.desc":"\u042F\u0437\u044B\u043A \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438 Blockbench, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F","settings.backup_interval":"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0431\u044D\u043A\u0430\u043F\u043E\u0432","settings.backup_interval.desc":"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0431\u044D\u043A\u0430\u043F\u043E\u0432 \u0432 \u043C\u0438\u043D\u0443\u0442\u0430\u0445","settings.origin_size":"\u0426\u0435\u043D\u0442\u0440 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","settings.origin_size.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0446\u0435\u043D\u0442\u0440\u0430 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","settings.control_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0433\u0438\u0437\u043C\u043E \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","settings.control_size.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0440\u0451\u0445 \u043E\u0441\u0435\u0432\u044B\u0445 \u0441\u0442\u0440\u0435\u043B\u043E\u043A \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","settings.display_skin":"Minecraft-\u0441\u043A\u0438\u043D","settings.display_skin.desc":"\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u043D\u044B\u0439 \u0441\u043A\u0438\u043D \u043C\u043E\u0434\u0435\u043B\u0438 \u0438\u0433\u0440\u043E\u043A\u0430","settings.shading":"\u0428\u044D\u0439\u0434\u0438\u043D\u0433","settings.shading.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0448\u044D\u0439\u0434\u0438\u043D\u0433 \u043C\u043E\u0434\u0435\u043B\u0438","settings.base_grid":"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0430\u044F \u0441\u0435\u0442\u043A\u0430","settings.base_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0443\u043C\u043D\u044C\u0448\u0435\u043D\u043D\u0443\u044E \u0441\u0435\u0442\u043A\u0443 \u0441 \u043E\u0441\u044F\u043C\u0438","settings.large_grid":"\u0411\u043B\u043E\u0447\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430","settings.large_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0431\u043B\u043E\u0447\u043D\u0443\u044E \u0441\u0435\u0442\u043A\u0443 \u043F\u043E\u0434 \u0440\u0430\u0437\u043C\u0435\u0440 16\xD716","settings.full_grid":"\u041F\u043E\u043B\u043D\u0430\u044F \u0431\u043E\u043B\u044C\u0448\u0430\u044F \u0441\u0435\u0442\u043A\u0430","settings.full_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u043E\u043B\u043D\u0443\u044E \u0431\u043B\u043E\u0447\u043D\u0443\u044E \u0441\u0435\u0442\u043A\u0443 3\xD73","settings.large_box":"\u0411\u043E\u043B\u044C\u0448\u0430\u044F \u043A\u043E\u0440\u043E\u0431\u043A\u0430","settings.large_box.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0433\u0440\u0430\u043D\u0438\u0446\u0443 \u0431\u043B\u043E\u043A\u043E\u0432 \u0432 \u043A\u0443\u0431\u0435 3\xD73\xD73","settings.display_grid":"\u0420\u0435\u0436\u0438\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","settings.display_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u0435\u0442\u043A\u0443 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","settings.undo_limit":"\u0428\u0430\u0433\u0438 \u043E\u0442\u043C\u0435\u043D\u044B","settings.undo_limit.desc":"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0442\u043C\u0435\u043D\u044F\u0435\u043C\u044B\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","settings.local_move":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043F\u043E \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u043C \u043E\u0441\u044F\u043C","settings.local_move.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0451\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044E \u0438\u0445 \u043E\u0441\u0435\u0439 \u043F\u0440\u0438 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438","settings.canvas_unselect":"\u0421\u043D\u044F\u0442\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043F\u043E \u0444\u043E\u043D\u0443","settings.canvas_unselect.desc":"\u0421\u043D\u0438\u043C\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043F\u043E \u0444\u043E\u043D\u0443 \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","settings.paint_side_restrict":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043A\u0438\u0441\u0442\u044C \u0434\u043E \u0433\u0440\u0430\u043D\u0438","settings.paint_side_restrict.desc":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043A\u0438\u0441\u0442\u044C \u0434\u043E \u043E\u043A\u0440\u0430\u0441\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0433\u0440\u0430\u043D\u0438","settings.autouv":"\u0410\u0432\u0442\u043E-UV","settings.autouv.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u0410\u0432\u0442\u043E-UV \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","settings.create_rename":"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u044B\u0432\u0430\u043D\u0438\u0435 \u043D\u043E\u0432\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","settings.create_rename.desc":"\u041F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0438\u043B\u0438 \u0433\u0440\u0443\u043F\u043F\u044B \u043F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u0438\u0445","settings.edit_size":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u0435\u0442\u043A\u0438","settings.edit_size.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u0435\u0442\u043A\u0438, \u043A \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043F\u0440\u0438\u0432\u044F\u0437\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","settings.shift_size":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442 Shift","settings.shift_size.desc":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0441\u0435\u0442\u043A\u0438 \u043F\u0440\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043D\u0438\u0438 Shift","settings.ctrl_size":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442 Ctrl","settings.ctrl_size.desc":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0441\u0435\u0442\u043A\u0438 \u043F\u0440\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043D\u0438\u0438 Ctrl","settings.negative_size":"\u041E\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440","settings.negative_size.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u0432","settings.minifiedout":"\u041C\u0438\u043D\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u044D\u043A\u0441\u043F\u043E\u0440\u0442","settings.minifiedout.desc":"\u0417\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C JSON-\u0444\u0430\u0439\u043B \u0432 \u043E\u0434\u043D\u0443 \u0441\u0442\u0440\u043E\u043A\u0443","settings.export_groups":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0433\u0440\u0443\u043F\u043F \u0432 \u043C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F Minecraft JE","settings.export_groups.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B \u0432 JSON \u0444\u0430\u0439\u043B \u043C\u043E\u0434\u0435\u043B\u0438 \u0431\u043B\u043E\u043A\u0430/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430","settings.credit":"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u0441\u043E\u0437\u0434\u0430\u0442\u0435\u043B\u044F","settings.credit.desc":"\u041F\u0440\u043E\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B","settings.default_path":"\u041F\u0443\u0442\u044C \u043A \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u043C Minecraft-\u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u043C","settings.default_path.desc":"\u041F\u0430\u043F\u043A\u0430, \u0438\u0437 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","settings.image_editor":"\u0424\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","settings.image_editor.desc":"\u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440","category.navigate":"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F","category.tools":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B","category.file":"\u0424\u0430\u0439\u043B","category.blockbench":"Blockbench","category.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","category.transform":"\u0422\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F","category.view":"\u0412\u0438\u0434","category.display":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","category.textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u044B","category.misc":"\u0420\u0430\u0437\u043D\u043E\u0435","keybind.preview_select":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442","keybind.preview_rotate":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432\u0438\u0434\u0430","keybind.preview_drag":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u044C \u0432\u0438\u0434","keybind.confirm":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C","keybind.cancel":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","action.slider_inflate":"\u0420\u0430\u0437\u0434\u0443\u0442\u044C","action.slider_inflate.desc":"\u0420\u0430\u0437\u0434\u0443\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u043E \u0432\u0441\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0432 UV","action.slider_brush_size":"\u0420\u0430\u0437\u043C\u0435\u0440","action.slider_brush_size.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043A\u0438\u0441\u0442\u0438 \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445","action.slider_brush_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","action.slider_brush_opacity.desc":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u043A\u0438\u0441\u0442\u0438 \u043E\u0442 0 \u0434\u043E 255","action.slider_brush_softness":"\u041C\u044F\u0433\u043A\u043E\u0441\u0442\u044C","action.slider_brush_softness.desc":"\u041C\u044F\u0433\u043A\u043E\u0441\u0442\u044C \u043A\u0438\u0441\u0442\u0438 \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445","action.uv_slider_pos_x":"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0434\u0432\u0438\u0433","action.uv_slider_pos_x.desc":"\u0421\u0434\u0432\u0438\u043D\u0443\u0442\u044C UV \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E-\u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438","action.uv_slider_pos_y":"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0434\u0432\u0438\u0433","action.uv_slider_pos_y.desc":"\u0421\u0434\u0432\u0438\u043D\u0443\u0442\u044C UV \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E-\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438","action.uv_slider_size_x":"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440","action.uv_slider_size_x.desc":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u0442\u044C UV \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E-\u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438","action.uv_slider_size_y":"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440","action.uv_slider_size_y.desc":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u0442\u044C UV \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E-\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438","action.vertex_snap_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0438","action.vertex_snap_mode.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C, \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0435\u0442 \u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0432\u0435\u0440\u0448\u0438\u043D\u043D\u043E\u0439 \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0438\u0445 \u0440\u0430\u0437\u043C\u0435\u0440","action.move_tool":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435","action.move_tool.desc":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0438/\u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","action.resize_tool":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u0430","action.resize_tool.desc":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0438/\u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u044D\u043B\u0435\u043C\u0435\u043D\u043E\u0432","action.brush_tool":"\u041A\u0438\u0441\u0442\u044C","action.brush_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u0445","action.vertex_snap_tool":"\u0412\u0435\u0440\u0448\u0438\u043D\u043D\u0430\u044F \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0430","action.vertex_snap_tool.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043E\u0434\u0438\u043D \u043A\u0443\u0431 \u043A \u0434\u0440\u0443\u0433\u043E\u043C\u0443, \u0441\u043E\u0435\u0434\u0438\u043D\u0438\u0432 \u0434\u0432\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B","action.swap_tools":"\u0421\u043C\u0435\u043D\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","action.swap_tools.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043C\u0435\u0436\u0434\u0443 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0440\u0430\u0437\u043C\u0435\u0440\u0430","action.project_window":"\u041F\u0440\u043E\u0435\u043A\u0442...","action.project_window.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u043A\u043D\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430, \u0433\u0434\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u043D\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","action.open_model":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","action.open_model.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430","action.extrude_texture":"\u042D\u043A\u0441\u0442\u0440\u0443\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.extrude_texture.desc":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u043E\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u0440\u0430\u0441\u0442\u044F\u0436\u0435\u043D\u0438\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.export_blockmodel":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043C\u043E\u0434\u0435\u043B\u0438 \u0431\u043B\u043E\u043A\u0430/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430","action.export_blockmodel.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0430/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 \u0434\u043B\u044F Minecraft JE","action.export_optifine_part":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0447\u0430\u0441\u0442\u0438 OptiFine-\u043C\u043E\u0434\u0435\u043B\u0438","action.export_optifine_part.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u0443\u044E \u0447\u0430\u0441\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438 OptiFine-\u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438","action.export_optifine_full":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 OptiFine JEM","action.export_optifine_full.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0446\u0435\u043B\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C OptiFine-\u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438","action.export_obj":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 OBJ-\u043C\u043E\u0434\u0435\u043B\u0438","action.export_obj.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C Wavefront OBJ-\u043C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0430","action.settings_window":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438...","action.settings_window.desc":"\u041E\u0442\u043A\u0440\u043E\u0439 \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A Blockbench.","action.plugins_window":"\u041F\u043B\u0430\u0433\u0438\u043D\u044B...","action.plugins_window.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u0432","action.reset_layout":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434","action.reset_layout.desc":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434 \u043A \u043F\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u043E\u043C\u0443","action.load_plugin":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430","action.load_plugin.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D, \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0432 \u0444\u0430\u0439\u043B","action.reload_plugins":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D\u044B","action.reload_plugins.desc":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0441\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u044B \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u043A\u0438","action.undo":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C","action.undo.desc":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435","action.redo":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","action.redo.desc":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435","action.copy":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","action.copy.desc":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435, \u0433\u0440\u0430\u043D\u044C \u0438\u043B\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","action.paste":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","action.paste.desc":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435, \u0433\u0440\u0430\u043D\u044C \u0438\u043B\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430","action.cut":"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C","action.cut.desc":"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435, \u0433\u0440\u0430\u043D\u044C \u0438\u043B\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","action.add_cube":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u0443\u0431\u0430","action.add_cube.desc":"\u041F\u043E\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043F\u0440\u0438\u043C\u0438\u0442\u0438\u0432\u043D\u044B\u0439 \u043A\u0443\u0431\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043C\u044D\u0448","action.add_group":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0433\u0440\u0443\u043F\u043F\u044B","action.add_group.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0433\u0440\u0443\u043F\u043F\u0443 \u0438\u043B\u0438 \u043A\u043E\u0441\u0442\u044C \u0434\u043B\u044F \u0440\u0438\u0433\u0433\u0438\u043D\u0433\u0430","action.outliner_toggle":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043E\u043F\u0446\u0438\u0438","action.outliner_toggle.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.duplicate":"\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C","action.delete":"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435","action.sort_outliner":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","action.sort_outliner.desc":"\u041E\u0442\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0430\u043B\u0444\u0430\u0432\u0438\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435","action.select_window":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C...","action.select_window.desc":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0438\u0445 \u0441\u0432\u043E\u0439\u0441\u0442\u0432","action.invert_selection":"\u0418\u043D\u0432\u0435\u0440\u0441\u0438\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","action.invert_selection.desc":"\u0418\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0435\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.select_all":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0451","action.collapse_groups":"\u0421\u043A\u0440\u044B\u0442\u0438\u0435 \u0433\u0440\u0443\u043F\u043F\u044B","action.collapse_groups.desc":"\u0421\u043F\u0440\u044F\u0442\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0432\u0441\u0435\u0445 \u0433\u0440\u0443\u043F\u043F","action.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u0442\u044C...","action.scale.desc":"\u041F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0432\u0441\u0435\u0445 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.toggle_visibility":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C","action.toggle_visibility.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.toggle_export":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442","action.toggle_export.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.toggle_autouv":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0410\u0432\u0442\u043E-UV","action.toggle_autouv.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u0410\u0432\u0442\u043E-UV \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.toggle_shade":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0448\u044D\u0439\u0434\u0438\u043D\u0433","action.toggle_shade.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0448\u044D\u0439\u0434\u0438\u043D\u0433 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.rename":"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C","action.rename.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u043B\u0438 \u0433\u0440\u0443\u043F\u043F","action.add_display_preset":"\u041D\u043E\u0432\u044B\u0439 \u0448\u0430\u0431\u043B\u043E\u043D","action.add_display_preset.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","action.fullscreen":"\u041F\u043E\u043B\u043D\u044B\u0439 \u044D\u043A\u0440\u0430\u043D","action.fullscreen.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C","action.zoom_in":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C","action.zoom_in.desc":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","action.zoom_out":"\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C","action.zoom_out.desc":"\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","action.zoom_reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431","action.zoom_reset.desc":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0435 \u043A \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u043C 100%","action.reset_interface":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","action.reset_interface.desc":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0438 \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","action.screenshot_model":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u043C\u043E\u0434\u0435\u043B\u0438","action.screenshot_model.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0435\u0437\u0430\u043D\u043D\u044B\u0439 \u0441\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u043C\u043E\u0434\u0435\u043B\u0438 \u0441 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0430","action.screenshot_app":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F","action.screenshot_app.desc":"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u044D\u043A\u0440\u0430\u043D\u0430 \u0432\u0441\u0435\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F","action.import_texture":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.import_texture.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0438\u0437 \u0444\u0430\u0439\u043B\u043E\u0432\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B.","action.create_texture":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.create_texture.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u0438\u043B\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u043D\u0443\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.save_textures":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.save_textures.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.animated_textures":"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.animated_textures.desc":"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.origin_to_geometry":"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0441\u0438 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430","action.origin_to_geometry.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0446\u0435\u043D\u0442\u0440 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430 \u0432 \u0446\u0435\u043D\u0442\u0440 \u0432\u044B\u0431\u043E\u0440\u0430","action.bone_reset_toggle":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044C","action.bone_reset_toggle.desc":"\u041D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u0440\u0438 \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0441 \u043A\u043E\u0441\u0442\u044C\u044E","action.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C Blockbench","action.reload.desc":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C Blockbench. \u042D\u0442\u043E \u0443\u0434\u0430\u043B\u0438\u0442 \u0432\u0435\u0441\u044C \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0439 \u043F\u0440\u043E\u0433\u0440\u0435\u0441\u0441","menu.file":"\u0424\u0430\u0439\u043B","menu.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","menu.transform":"\u0422\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F","menu.display":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","menu.view":"\u0412\u0438\u0434","menu.file.new":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C","menu.file.recent":"\u041D\u0435\u0434\u0430\u0432\u043D\u0438\u0435","menu.file.import":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","menu.file.export":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","menu.transform.rotate":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C","menu.transform.flip":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u044C","menu.transform.center":"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C","menu.transform.properties":"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430","menu.display.preset":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D","menu.display.preset_all":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u0432\u0435\u0437\u0434\u0435","menu.display.remove_preset":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D","menu.view.zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","menu.view.background":"\u0424\u043E\u043D","menu.view.screenshot":"\u0421\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430","menu.cube.color":"\u0426\u0432\u0435\u0442 \u043A\u0443\u0431\u0430","menu.cube.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","menu.cube.texture.transparent":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u0430\u044F","menu.cube.texture.blank":"\u041F\u0443\u0441\u0442\u0430\u044F","menu.group.sort":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","menu.texture.face":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A \u0433\u0440\u0430\u043D\u0438","menu.texture.file":"\u0424\u0430\u0439\u043B","menu.texture.refresh":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","menu.texture.change":"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0430\u0439\u043B","menu.texture.folder":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u0430\u043F\u043A\u0435","menu.texture.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","menu.texture.export":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u043A","menu.texture.save":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","menu.texture.properties":"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430...","menu.preview.background":"\u0424\u043E\u043D","menu.preview.background.load":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C","menu.preview.background.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","menu.preview.background.lock":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C \u043A \u043A\u0430\u043C\u0435\u0440\u0435","menu.preview.screenshot":"\u0421\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430","menu.preview.perspective":"\u041F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u0430","menu.preview.perspective.normal":"\u041E\u0431\u044B\u0447\u043D\u0430\u044F","menu.preview.quadview":"\u0427\u0435\u0442\u044B\u0440\u0435 \u0432\u0438\u0434\u0430","menu.preview.stop_drag":"\u0417\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043F\u043E\u0437\u0438\u0446\u0438\u0438","menu.uv.mapping.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","menu.uv.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","cube.color.light_blue":"\u0413\u043E\u043B\u0443\u0431\u043E\u0439","cube.color.yellow":"\u0416\u0451\u043B\u0442\u044B\u0439","cube.color.orange":"\u041E\u0440\u0430\u043D\u0436\u0435\u0432\u044B\u0439","cube.color.red":"\u041A\u0440\u0430\u0441\u043D\u044B\u0439","cube.color.purple":"\u0424\u0438\u043E\u043B\u0435\u0442\u043E\u0432\u044B\u0439","cube.color.blue":"\u0421\u0438\u043D\u0438\u0439","cube.color.green":"\u0417\u0435\u043B\u0451\u043D\u044B\u0439","cube.color.lime":"\u0421\u0430\u043B\u0430\u0442\u043E\u0432\u044B\u0439","switches.visibility":"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C","switches.export":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","switches.autouv":"\u0410\u0432\u0442\u043E UV","panel.uv":"UV","panel.display":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","panel.textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u044B","panel.outliner":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","uv_editor.title":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 UV","uv_editor.all_faces":"\u0412\u0441\u0435","uv_editor.no_faces":"\u041D\u0435\u0442","face.north":"\u0421\u0435\u0432\u0435\u0440","face.south":"\u042E\u0433","face.west":"\u0417\u0430\u043F\u0430\u0434","face.east":"\u0412\u043E\u0441\u0442\u043E\u043A","face.up":"\u0412\u0435\u0440\u0445","face.down":"\u041D\u0438\u0437","direction.north":"\u0421\u0435\u0432\u0435\u0440","direction.south":"\u042E\u0433","direction.west":"\u0417\u0430\u043F\u0430\u0434","direction.east":"\u0412\u043E\u0441\u0442\u043E\u043A","direction.top":"\u0412\u0435\u0440\u0445","direction.bottom":"\u041D\u0438\u0437","display.slot.third_right":"\u041F\u0440\u0430\u0432\u0430\u044F \u0440\u0443\u043A\u0430 \u043E\u0442 \u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E \u043B\u0438\u0446\u0430","display.slot.third_left":"\u041B\u0435\u0432\u0430\u044F \u0440\u0443\u043A\u0430 \u043E\u0442 \u0442\u0440\u0435\u0442\u044C\u0435\u0433\u043E \u043B\u0438\u0446\u0430","display.slot.first_right":"\u041F\u0440\u0430\u0432\u0430\u044F \u0440\u0443\u043A\u0430 \u043E\u0442 \u043F\u0435\u0440\u0432\u043E\u0433\u043E \u043B\u0438\u0446\u0430","display.slot.first_left":"\u041B\u0435\u0432\u0430\u044F \u0440\u0443\u043A\u0430 \u043E\u0442 \u043F\u0435\u0440\u0432\u043E\u0433\u043E \u043B\u0438\u0446\u0430","display.slot.head":"\u0413\u043E\u043B\u043E\u0432\u0430","display.slot.ground":"\u041F\u043E\u043B","display.slot.frame":"\u0420\u0430\u043C\u043A\u0430","display.slot.gui":"\u0418\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","display.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","display.translation":"\u0421\u043C\u0435\u0449\u0435\u043D\u0438\u0435","display.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","display.slot":"\u0421\u043B\u043E\u0442","display.reference":"\u042D\u0442\u0430\u043B\u043E\u043D\u043D\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C","display.reference.player":"\u0418\u0433\u0440\u043E\u043A","display.reference.zombie":"\u0417\u043E\u043C\u0431\u0438","display.reference.armor_stand":"\u0421\u0442\u043E\u0439\u043A\u0430 \u0434\u043B\u044F \u0431\u0440\u043E\u043D\u0438","display.reference.baby_zombie":"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0439 \u0437\u043E\u043C\u0431\u0438","display.reference.armor_stand_small":"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0430\u044F \u0441\u0442\u043E\u0439\u043A\u0430 \u0434\u043B\u044F \u0431\u0440\u043E\u043D\u0438","display.reference.monitor":"\u041E\u0431\u044B\u0447\u043D\u044B\u0439 \u0432\u0438\u0434","display.reference.bow":"\u0417\u0430\u0440\u044F\u0436\u0435\u043D\u043D\u044B\u0439 \u043B\u0443\u043A","display.reference.block":"\u0411\u043B\u043E\u043A","display.reference.frame":"\u0420\u0430\u043C\u043A\u0430","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"\u0418\u043D\u0432\u0435\u043D\u0442\u0430\u0440\u044C","display.reference.hud":"HUD","display.preset.blank_name":"\u0412\u0432\u0435\u0434\u0438 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435","display.preset.item":"\u041F\u0440\u0435\u0434\u043C\u0435\u0442","display.preset.block":"\u0411\u043B\u043E\u043A","display.preset.handheld":"\u041E\u0440\u0443\u0436\u0438\u0435","display.preset.rod":"\u0421\u0442\u0435\u0440\u0436\u0435\u043D\u044C","dialog.continue":"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C","message.square_textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u043A\u0432\u0430\u0434\u0440\u0430\u0442\u043D\u044B\u043C\u0438","message.unsaved_texture.title":"\u041D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u0430\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430","message.unsaved_texture.message":"\u0412\u0441\u0435 \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043A \u044D\u0442\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C?","action.vertex_snap_mode.move":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435","action.vertex_snap_mode.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u0442\u044C","action.open_model_folder":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043C\u043E\u0434\u0435\u043B\u0438","action.open_model_folder.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043F\u0430\u043F\u043A\u0438 \u0441 \u043C\u043E\u0434\u0435\u043B\u044C\u044E","action.change_textures_folder":"\u0420\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.change_textures_folder.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","menu.texture.particle":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u0447\u0430\u0441\u0442\u0438\u0446","message.update_notification.title":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435","message.update_notification.message":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F Blockbench. \u0412\u043A\u043B\u044E\u0447\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445, \u0447\u0442\u043E\u0431\u044B \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C\u0441\u044F!","message.untextured":"\u042D\u0442\u0430 \u043F\u043E\u0432\u0435\u0440\u0445\u043D\u043E\u0441\u0442\u044C \u043D\u0435 \u0438\u043C\u0435\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","dialog.toolbar_edit.title":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432","keybindings.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C","keybindings.clear":"\u041F\u0443\u0441\u0442\u043E","action.cube_counter":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","action.uv_rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 UV","action.uv_rotation.desc":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0433\u0440\u0430\u043D\u0438 UV","action.uv_grid":"\u0421\u0435\u0442\u044C UV","action.uv_grid.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u0435\u0442\u043A\u0438, \u043A \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043F\u0440\u0438\u0432\u044F\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F UV-\u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440","action.uv_grid.auto":"\u0410\u0432\u0442\u043E","action.uv_maximize":"\u041C\u0430\u043A\u0441\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C UV","action.uv_maximize.desc":"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 UV \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438 \u043D\u0430 \u043F\u043E\u043B\u043D\u0443\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.uv_auto":"\u0410\u0432\u0442\u043E-UV","action.uv_auto.desc":"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 UV \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438 \u043D\u0430 \u0440\u0435\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0433\u0440\u0430\u043D\u0438","action.uv_rel_auto":"\u041E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0410\u0432\u0442\u043E-UV","action.uv_rel_auto.desc":"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 UV \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438 \u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438 \u0440\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0433\u0440\u0430\u043D\u0438","action.uv_mirror_x":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C UV \u043F\u043E \u043E\u0441\u0438 X","action.uv_mirror_x.desc":"\u041E\u0442\u0440\u0430\u0436\u0430\u0435\u0442 UV \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438 \u043F\u043E \u043E\u0441\u0438 X","action.uv_mirror_y":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C UV \u043F\u043E \u043E\u0441\u0438 Y","action.uv_mirror_y.desc":"\u041E\u0442\u0440\u0430\u0436\u0430\u0435\u0442 UV \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438 \u043F\u043E \u043E\u0441\u0438 Y","action.uv_transparent":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u0430\u044F \u0433\u0440\u0430\u043D\u044C","action.uv_transparent.desc":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C UV \u0441 \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438","action.uv_reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u044C","action.uv_reset.desc":"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u044D\u0442\u0443 \u0433\u0440\u0430\u043D\u044C","action.cullface":"\u041A\u0443\u043B\u0444\u0435\u0439\u0441","action.cullface.desc":"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u0440\u0438\u0441\u043E\u0432\u043A\u0443 \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438, \u0435\u0441\u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430 \u043F\u0435\u0440\u0435\u043A\u0440\u044B\u0442\u0430","action.auto_cullface":"\u041A\u0443\u043B\u0444\u0435\u0439\u0441","action.auto_cullface.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u0443\u043B\u0444\u0435\u0439\u0441 \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u0433\u0440\u0430\u043D\u0438","action.face_tint":"\u0422\u043E\u043D\u0438\u0440\u043E\u0432\u043A\u0430","action.face_tint.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0442\u043E\u043D\u0438\u0440\u043E\u0432\u043A\u0443 \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u043C\u043E\u0434\u0435\u043B\u0438","menu.toolbar.edit":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432","menu.toolbar.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432","uv_editor.rotated":"\u041F\u043E\u0432\u0451\u0440\u043D\u0443\u0442\u043E","uv_editor.auto_cull":"\u041A\u0443\u043B\u0444\u0435\u0439\u0441 \u043A \u0441\u0435\u0431\u0435","uv_editor.copied":"\u0413\u0440\u0430\u043D\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0430","uv_editor.pasted":"\u0413\u0440\u0430\u043D\u044C \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0430","uv_editor.copied_x":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E %0 \u0433\u0440\u0430\u043D\u0435\u0439","uv_editor.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u044C","uv_editor.maximized":"\u041C\u0430\u043A\u0441\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043E","uv_editor.autouv":"\u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440","uv_editor.mirrored":"\u041E\u0442\u0440\u0430\u0436\u0435\u043D\u043E","uv_editor.to_all":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u043E \u043A\u043E \u0432\u0441\u0435\u043C \u0433\u0440\u0430\u043D\u044F\u043C","uv_editor.transparent":"\u0421\u0434\u0435\u043B\u0430\u043D\u043E \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C","uv_editor.cullface_on":"\u041A\u0443\u043B\u0444\u0435\u0439\u0441 \u0432\u043A\u043B\u044E\u0447\u0435\u043D","uv_editor.cullface_off":"\u041A\u0443\u043B\u0444\u0435\u0439\u0441 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D","uv_editor.tint_on":"\u0422\u043E\u043D \u0432\u043A\u043B\u044E\u0447\u0435\u043D","uv_editor.tint_off":"\u0422\u043E\u043D \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D","action.uv_apply_all":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E \u0432\u0441\u0435\u043C \u0433\u0440\u0430\u043D\u044F\u043C","action.uv_apply_all.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0433\u0440\u0430\u043D\u0438 \u0432\u0441\u0435\u043C \u0433\u0440\u0430\u043D\u044F\u043C","message.image_editor_missing.title":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","message.image_editor_missing.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u044B\u0439 \u0444\u0430\u0439\u043B \u0441\u0432\u043E\u0435\u0433\u043E \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","message.image_editor_missing.detail":"Blockbench \u043D\u0435 \u0441\u043C\u043E\u0433 \u043D\u0430\u0439\u0442\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440. \u0412\u044B\u0431\u0435\u0440\u0438 \u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u044B\u0439 \u0444\u0430\u0439\u043B \u0432\u0440\u0443\u0447\u043D\u0443\u044E.","action.update_autouv":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0410\u0432\u0442\u043E-UV","action.update_autouv.desc":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0430\u043F\u043F\u0438\u043D\u0433 \u0410\u0432\u0442\u043E-UV \u0443 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","category.uv":"UV","status_bar.saved":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430","status_bar.unsaved":"\u0415\u0441\u0442\u044C \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F","action.move_up":"\u0421\u0434\u0432\u0438\u0433 \u0432\u0432\u0435\u0440\u0445","action.move_up.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u0432\u0435\u0440\u0445 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","action.move_down":"\u0421\u0434\u0432\u0438\u0433 \u0432\u043D\u0438\u0437","action.move_down.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u043D\u0438\u0437 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","action.move_left":"\u0421\u0434\u0432\u0438\u0433 \u0432\u043B\u0435\u0432\u043E","action.move_left.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u043B\u0435\u0432\u043E \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","action.move_right":"\u0421\u0434\u0432\u0438\u0433 \u0432\u043F\u0440\u0430\u0432\u043E","action.move_right.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u043F\u0440\u0430\u0432\u043E \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","action.move_forth":"\u0421\u0434\u0432\u0438\u0433 \u0432\u043F\u0435\u0440\u0451\u0434","action.move_forth.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u043F\u0435\u0440\u0435\u0434 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","action.move_back":"\u0421\u0434\u0432\u0438\u0433 \u043D\u0430\u0437\u0430\u0434","action.move_back.desc":"\u0421\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0430\u0437\u0430\u0434 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u0430\u043C\u0435\u0440\u044B","layout.color.wireframe":"\u041A\u0430\u0440\u043A\u0430\u0441","layout.color.wireframe.desc":"\u041B\u0438\u043D\u0438\u0438 \u043F\u0440\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0438 \u043A\u0430\u0440\u043A\u0430\u0441\u0430","action.add_animation":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.add_animation.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","action.load_animation_file":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","action.load_animation_file.desc":"\u0418\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.play_animation":"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.play_animation.desc":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.slider_keyframe_time":"\u0422\u0430\u0439\u043C\u043A\u043E\u0434","action.slider_keyframe_time.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u0430\u0439\u043C\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","timeline.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","timeline.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","timeline.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","menu.keyframe.quaternion":"\u041A\u0432\u0430\u0442\u0435\u0440\u043D\u0438\u043E\u043D","panel.animations":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u0438","panel.keyframe":"\u041A\u0430\u0434\u0440","panel.keyframe.type":"\u041A\u0430\u0434\u0440 (%0)","generic.delete":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","generic.rename":"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C","message.no_animation_selected":"\u0422\u044B \u0434\u043E\u043B\u0436\u0435\u043D \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u044D\u0442\u043E","message.no_bone_selected":"\u0422\u044B \u0434\u043E\u043B\u0436\u0435\u043D \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u044D\u0442\u043E","message.duplicate_groups.title":"\u0414\u0443\u0431\u043B\u0438\u043A\u0430\u0442 \u0438\u043C\u0435\u043D\u0438 \u043A\u043E\u0441\u0442\u0438","message.duplicate_groups.message":"\u0418\u043C\u044F \u044D\u0442\u043E\u0439 \u043A\u043E\u0441\u0442\u0438 \u0443\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F. \u042D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B.","action.delete_keyframes":"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043A\u0430\u0434\u0440\u043E\u0432","action.delete_keyframes.desc":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043A\u0430\u0434\u0440\u044B","menu.animation":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u044F","menu.animation.loop":"\u0426\u0438\u043A\u043B","menu.animation.override":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C","menu.animation.anim_time_update":"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F","message.display_skin_model.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u043A\u0438\u043D\u0430","message.display_skin_model.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F \u0441\u043A\u0438\u043D\u0430","message.display_skin_model.classic":"\u041A\u043B\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043A\u0438\u0439","message.display_skin_model.slim":"\u0422\u043E\u043D\u043A\u0438\u0439","message.bone_material":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B \u043A\u043E\u0441\u0442\u0438","action.slider_animation_length":"\u0414\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.slider_animation_length.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","panel.variable_placeholders":"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445","panel.variable_placeholders.info":"\u041F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0445\u043E\u0447\u0435\u0448\u044C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0432\u0438\u0434 \u0438\u043C\u044F=\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435","status_bar.vertex_distance":"\u0414\u0438\u0441\u0442\u0430\u043D\u0446\u0438\u044F: %0","dialog.create_gif.title":"\u0417\u0430\u043F\u0438\u0441\u044C GIF","dialog.create_gif.length":"\u0414\u043B\u0438\u043D\u0430","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","category.animation":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u044F","action.record_model_gif":"\u0417\u0430\u043F\u0438\u0441\u044C GIF","action.record_model_gif.desc":"\u0417\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 GIF \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u0441 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0443\u0433\u043B\u0430 \u043A\u0430\u043C\u0435\u0440\u044B","display.mirror":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C","data.separator":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C","menu.preview.background.set_position":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E","dialog.toolbar_edit.hidden":"\u0421\u043F\u0440\u044F\u0442\u0430\u043D\u043E","action.export_class_entity":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 \u0434\u043B\u044F Minecraft JE","action.export_class_entity.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 Java-\u043A\u043B\u0430\u0441\u0441\u043E\u043C","settings.seethrough_outline":"\u0420\u0435\u043D\u0442\u0433\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043D\u0442\u0443\u0440\u044B","settings.seethrough_outline.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0443\u0440\u044B \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0447\u0435\u0440\u0435\u0437 \u043E\u0431\u044A\u0435\u043A\u0442\u044B","mode.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","mode.paint":"\u0420\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","mode.display":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","mode.animate":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u044F","status_bar.recording_gif":"\u0417\u0430\u043F\u0438\u0441\u044C GIF","status_bar.processing_gif":"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 GIF","settings.backup_retain":"\u0412\u0440\u0435\u043C\u044F \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0430\u0432\u0442\u043E\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0439","settings.backup_retain.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0436\u0438\u0437\u043D\u0438 \u0430\u0432\u0442\u043E\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0432 \u0434\u043D\u044F\u0445","action.rotate_tool":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","action.rotate_tool.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","action.fill_tool":"\u0417\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435","action.fill_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0433\u0440\u0430\u043D\u0435\u0439 \u043E\u0434\u043D\u0438\u043C \u0446\u0432\u0435\u0442\u043E\u043C","action.eraser":"\u041B\u0430\u0441\u0442\u0438\u043A","action.eraser.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C\u044E \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u0445","action.color_picker":"\u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430","action.color_picker.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0446\u0432\u0435\u0442\u0430 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435","switches.mirror":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C UV",language_name:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","message.plugin_reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E %0 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u0432","settings.brightness":"\u042F\u0440\u043A\u043E\u0441\u0442\u044C","settings.brightness.desc":"\u042F\u0440\u043A\u043E\u0441\u0442\u044C \u0434\u0438\u0441\u043F\u043B\u0435\u044F (50 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)","menu.preview.perspective.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u0430\u043C\u0435\u0440\u0443","action.fill_mode":"\u0420\u0435\u0436\u0438\u043C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F","action.fill_mode.face":"\u0413\u0440\u0430\u043D\u044C","action.fill_mode.color":"\u0426\u0432\u0435\u0442\u0430","action.toggle_mirror_uv":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C UV","action.toggle_mirror_uv.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C UV \u043D\u0430 \u043E\u0441\u0438 X \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u043A\u0443\u0431\u043E\u0432","menu.texture.blank":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A \u0433\u0440\u0430\u043D\u044F\u043C \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","dialog.scale.select_overflow":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0437\u0430 \u0433\u0440\u0430\u043D\u0438\u0446\u0435\u0439","action.action_control":"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","action.action_control.desc":"\u041D\u0430\u0439\u0442\u0438 \u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043B\u044E\u0431\u043E\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435","keybindings.recording":"\u0417\u0430\u043F\u0438\u0441\u044C","keybindings.press":"\u041D\u0430\u0436\u043C\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u0438\u043B\u0438 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 \u0432 \u043B\u044E\u0431\u043E\u043C \u043C\u0435\u0441\u0442\u0435 \u043D\u0430 \u044D\u043A\u0440\u0430\u043D\u0435, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0433\u043E\u0440\u044F\u0447\u0443\u044E \u043A\u043B\u0430\u0432\u0438\u0448\u0443","action.pivot_tool":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0446\u0435\u043D\u0442\u0440\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430","action.pivot_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0446\u0435\u043D\u0442\u0440\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0438 \u043A\u043E\u0441\u0442\u0435\u0439","action.slider_animation_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F","action.slider_animation_speed.desc":"\u0421\u043A\u043E\u0440\u043E\u0442\u044C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445","action.previous_keyframe":"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u043A\u0430\u0434\u0440","action.previous_keyframe.desc":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043F\u0440\u043E\u0448\u043B\u043E\u043C\u0443 \u043A\u0430\u0434\u0440\u0443","action.next_keyframe":"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043A\u0430\u0434\u0440","action.next_keyframe.desc":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u043A\u0430\u0434\u0440\u0443","message.outdated_client.title":"\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u043A\u043B\u0438\u0435\u043D\u0442","message.outdated_client.message":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043E\u0431\u043D\u043E\u0432\u0438 Blockbench \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.","action.export_asset_archive":"\u0421\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430","action.export_asset_archive.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u0440\u0445\u0438\u0432 \u0441 \u043C\u043E\u0434\u0435\u043B\u044C\u044E \u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u043C\u0438","action.upload_sketchfab":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432 Sketchfab...","message.sketchfab.name_or_token":"\u0412\u0432\u0435\u0434\u0438 Sketchfab-\u0442\u043E\u043A\u0435\u043D \u0438 \u0438\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F","dialog.sketchfab_uploader.title":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C Sketchfab-\u043C\u043E\u0434\u0435\u043B\u044C","dialog.sketchfab_uploader.token":"API-\u0442\u043E\u043A\u0435\u043D","dialog.sketchfab_uploader.about_token":"\u042D\u0442\u043E\u0442 \u0442\u043E\u043A\u0435\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F Blockbench \u043A Sketchfab. \u0422\u044B \u043C\u043E\u0436\u0435\u0448\u044C \u043D\u0430\u0439\u0442\u0438 \u0435\u0433\u043E \u043D\u0430 0%","dialog.sketchfab_uploader.name":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.sketchfab_uploader.description":"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435","dialog.sketchfab_uploader.tags":"\u0422\u044D\u0433\u0438","settings.sketchfab_token":"Sketchfab-\u0442\u043E\u043A\u0435\u043D","settings.sketchfab_token.desc":"\u0422\u043E\u043A\u0435\u043D \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u0438 Blockbench \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u043D\u0430 Sketchfab-\u0430\u043A\u043A\u0430\u0443\u043D\u0442","panel.color":"\u0426\u0432\u0435\u0442","data.origin":"\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430","message.sketchfab.success":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u0440\u043E\u0448\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E","message.sketchfab.error":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0430 Sketchfab","settings.outliner_colors":"\u0426\u0432\u0435\u0442\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","settings.outliner_colors.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0446\u0432\u0435\u0442\u0430 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.upload_sketchfab.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0430 Sketchfab","action.element_colors":"\u0426\u0432\u0435\u0442\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.element_colors.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0446\u0432\u0435\u0442\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","texture.error.file":"\u0424\u0430\u0439\u043B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D","texture.error.parent":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0430 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u043C\u043E\u0434\u0435\u043B\u044C\u044E","message.recover_backup.title":"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C","message.recover_backup.message":"Blockbench \u0431\u044B\u043B \u0437\u0430\u043A\u0440\u044B\u0442 \u0431\u0435\u0437 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F. \u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C?","message.invalid_session.title":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0442\u043E\u043A\u0435\u043D \u0441\u0435\u0441\u0441\u0438\u0438","message.invalid_session.message":"\u0421\u0435\u0441\u0441\u0438\u044F, \u043A \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0442\u044B \u043F\u044B\u0442\u0430\u0435\u0448\u044C\u0441\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F, \u0438\u0441\u0442\u0435\u043A\u043B\u0430 \u0438\u043B\u0438 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u043E\u043A\u0435\u043D \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u0435\u043D.","dialog.create_texture.power":"2\u207F-\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435","dialog.create_gif.turn":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430 \u043A\u0430\u043C\u0435\u0440\u044B","action.edit_session":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u044E...","action.edit_session.desc":"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043A \u0441\u0435\u0441\u0441\u0438\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u0447\u0442\u043E\u0431\u044B \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C\u0438","action.reset_keyframe":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u0430\u0434\u0440","action.reset_keyframe.desc":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","dialog.edit_session.title":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438","edit_session.username":"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F","edit_session.token":"\u0422\u043E\u043A\u0435\u043D","edit_session.about":"\u0421\u0435\u0441\u0441\u0438\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0441\u043E\u0432\u043C\u0435\u0441\u0442\u043D\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0430\u0434 \u043C\u043E\u0434\u0435\u043B\u044F\u043C\u0438 \u0432 \u043E\u043D\u043B\u0430\u0439\u043D-\u0444\u043E\u0440\u043C\u0430\u0442\u0435. \u0421\u043E\u0437\u0434\u0430\u0439 \u0441\u0435\u0441\u0441\u0438\u044E, \u0441\u043A\u043E\u043F\u0438\u0440\u0443\u0439 \u0442\u043E\u043A\u0435\u043D \u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u044C \u0435\u0433\u043E \u043F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u044F\u0435\u043C\u043E\u043C\u0443.","edit_session.join":"\u041F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C\u0441\u044F \u043A \u0441\u0435\u0441\u0441\u0438\u0438","edit_session.create":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u044E","edit_session.quit":"\u041F\u043E\u043A\u0438\u043D\u0443\u0442\u044C \u0441\u0435\u0441\u0441\u0438\u044E","edit_session.joined":"%0 \u043F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u044F\u0435\u0442\u0441\u044F \u043A \u0441\u0435\u0441\u0441\u0438\u0438","edit_session.left":"%0 \u043F\u043E\u043A\u0438\u0434\u0430\u0435\u0442 \u0441\u0435\u0441\u0441\u0438\u044E","edit_session.quit_session":"\u041F\u043E\u043A\u0438\u0434\u0430\u0435\u0442 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E","edit_session.status":"\u0421\u0442\u0430\u0442\u0443\u0441","edit_session.hosting":"\u0425\u043E\u0441\u0442","edit_session.connected":"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0451\u043D \u043A \u0441\u0435\u0441\u0441\u0438\u0438","dialog.sketchfab_uploader.private":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F (Pro)","dialog.sketchfab_uploader.password":"\u041F\u0430\u0440\u043E\u043B\u044C (Pro)","action.uv_select_all":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0451","action.uv_select_all.desc":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0430\u043D\u0438 \u0432 \u0434\u0438\u0430\u043B\u043E\u0433\u0435 UV","panel.chat":"\u0427\u0430\u0442","edit_session.welcome":"\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u0435\u0441\u0441\u0438\u044E %0!","dialog.yes":"\u0414\u0430","dialog.no":"\u041D\u0435\u0442","generic.remove":"\u0423\u0431\u0440\u0430\u0442\u044C","generic.download":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","generic.search":"\u041F\u043E\u0438\u0441\u043A","dates.today":"\u0421\u0435\u0433\u043E\u0434\u043D\u044F","dates.yesterday":"\u0412\u0447\u0435\u0440\u0430","dates.this_week":"\u042D\u0442\u043E\u0439 \u043D\u0435\u0434\u0435\u043B\u044C\u044E","dates.weeks_ago":"%0 \u043D\u0435\u0434\u0435\u043B\u044C \u043D\u0430\u0437\u0430\u0434","mode.start.new":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C","mode.start.recent":"\u041D\u0435\u0434\u0430\u0432\u043D\u0438\u0435","format.free":"\u041E\u0431\u0449\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C","format.free.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0431\u0435\u0437 \u043E\u0441\u0435\u0432\u044B\u0445, \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u044B\u0445 \u0438 \u043A\u0430\u043A\u0438\u0445-\u043B\u0438\u0431\u043E \u0438\u043D\u044B\u0445 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0438\u0433\u0440\u043E\u0432\u044B\u0445 \u0434\u0432\u0438\u0436\u043A\u043E\u0432 (Unity, Godot) \u0438 \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0430","format.java_block":"\u041C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F Minecraft JE","format.java_block.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F \u0431\u043B\u043E\u043A\u043E\u0432 \u0438 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u0432 \u0432 Minecraft JE","format.bedrock":"\u041C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F Minecraft BE","format.bedrock.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439 \u0438 \u044D\u043A\u0438\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u0432 \u0432 Minecraft BE","format.bedrock_old":"\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C Bedrock","format.bedrock_old.desc":"\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0439 \u0438\u0433\u0440\u044B \u0434\u043E 1.12 \u0432 Minecraft BE","format.modded_entity":"\u041C\u043E\u0434\u043E\u0432\u0430\u044F \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u044C","format.modded_entity.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u043C\u043E\u0434\u043E\u0432\u043E\u0439 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 \u0434\u043B\u044F Minecraft JE. \u041C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0432 \u0432\u0438\u0434\u0435 .java-\u0444\u0430\u0439\u043B\u0430","format.optifine_entity":"OptiFine-\u0441\u0443\u0449\u043D\u043E\u0441\u0442\u044C","format.optifine_entity.desc":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 \u0434\u043B\u044F OptiFine","keys.mouse":"\u041A\u043D\u043E\u043F\u043A\u0430 \u041C\u044B\u0448\u0438 %0","message.cleared_blank_faces.title":"\u041F\u0443\u0441\u0442\u044B\u0435 \u0433\u0440\u0430\u043D\u0438","message.cleared_blank_faces.message":"Blockbench \u043D\u0430\u0448\u0435\u043B %0 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B. \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B?","message.wireframe.enabled":"\u041A\u0430\u0440\u043A\u0430\u0441 \u0432\u043A\u043B\u044E\u0447\u0435\u043D","message.wireframe.disabled":"\u041A\u0430\u0440\u043A\u0430\u0441 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D","dialog.convert_project.title":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442","dialog.create_texture.double_use":"\u041C\u043D\u043E\u0433\u043E\u043A\u0440\u0430\u0442\u043D\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","dialog.model_stats.title":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.model_stats.cubes":"\u041A\u0443\u0431\u044B","dialog.model_stats.locators":"\u041B\u043E\u043A\u0430\u0442\u043E\u0440\u044B","dialog.model_stats.groups":"\u0413\u0440\u0443\u043F\u043F\u044B","dialog.model_stats.vertices":"\u0412\u0435\u0440\u0448\u0438\u043D\u044B","dialog.model_stats.faces":"\u0413\u0440\u0430\u043D\u0438","settings.username":"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F","settings.username.desc":"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0441\u0435\u0441\u0441\u0438\u044F\u0445 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","settings.painting_grid":"\u0421\u0435\u0442\u043A\u0430 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F","settings.painting_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u0435\u0442\u043A\u0443 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445 \u0441 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u0439 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F","action.convert_project":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.convert_project.desc":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442 \u0432 \u043F\u0440\u043E\u0435\u043A\u0442 \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","action.close_project":"\u0417\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.close_project.desc":"\u0417\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.export_bedrock":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0438\u0438 Minecraft BE","action.export_bedrock.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u0430\u043A \u0444\u0430\u0439\u043B \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0438\u0438 Minecraft BE","action.save_project":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442","action.save_project.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u0430\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.save_project_as":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 \u043A\u0430\u043A","action.save_project_as.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u0430\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0432 \u043D\u043E\u0432\u043E\u043C \u043C\u0435\u0441\u0442\u0435","action.export_over":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C","action.export_over.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C, \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u044F \u0444\u0430\u0439\u043B\u044B","action.add_locator":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043B\u043E\u043A\u0430\u0442\u043E\u0440\u0430","action.add_locator.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043B\u043E\u043A\u0430\u0442\u043E\u0440 \u0434\u043B\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438 \u0447\u0430\u0441\u0442\u0438\u0446, \u043F\u043E\u0432\u043E\u0434\u043A\u043E\u0432 \u0438 \u0442.\u0434.","action.uv_turn_mapping":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435","action.uv_turn_mapping.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C UV-\u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043D\u0430 90\xB0","action.remove_blank_faces":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u0433\u0440\u0430\u043D\u0438","action.remove_blank_faces.desc":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0430\u043D\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","web.download_app":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435","uv_editor.turned":"\u041F\u0440\u0435\u043E\u0431\u0440\u043E\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0432\u0451\u0440\u043D\u0443\u0442\u043E","display.reference.crossbow":"\u0417\u0430\u0440\u044F\u0436\u0435\u043D\u043D\u044B\u0439 \u0430\u0440\u0431\u0430\u043B\u0435\u0442","dialog.settings.search_results":"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430","settings.animation_snap":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","settings.animation_snap.desc":"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0434\u043B\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432 \u0432 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438, \u0438\u0437\u043C\u0435\u0440\u044F\u0435\u043C\u044B\u0439 \u0432 FPS. \u042D\u0442\u043E\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2014 24.","action.import_optifine_part":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 OptiFine-\u043C\u043E\u0434\u0435\u043B\u0438","action.import_optifine_part.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0447\u0430\u0441\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 OptiFine","data.locator":"\u041B\u043E\u043A\u0430\u0442\u043E\u0440","mode.start.no_recents":"\u041D\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439","panel.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","panel.element.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","panel.element.size":"\u0420\u0430\u0437\u043C\u0435\u0440","panel.element.origin":"\u0426\u0435\u043D\u0442\u0440\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u043E\u0447\u043A\u0430","panel.element.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","message.canvas_limit_error.title":"\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438","message.canvas_limit_error.message":"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E, \u043F\u043E\u0441\u043A\u043E\u043B\u044C\u043A\u0443 \u0444\u043E\u0440\u043C\u0430\u0442 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440\u044B \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0434\u043E 48 \u0435\u0434\u0438\u043D\u0438\u0446. \u0421\u043C\u0435\u0441\u0442\u0438 \u0446\u0435\u043D\u0442\u0440 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430, \u0447\u0442\u043E\u0431\u044B \u0438\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u043E.","data.effect":"\u042D\u0444\u0444\u0435\u043A\u0442","generic.name":"\u0418\u043C\u044F","settings.recent_projects":"\u041D\u0435\u0434\u0430\u0432\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","settings.recent_projects.desc":"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C","settings.volume":"\u0413\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u044C","settings.volume.desc":"\u0420\u0435\u0433\u0443\u043B\u044F\u0442\u043E\u0440 \u0433\u0440\u043E\u043C\u043A\u043E\u0441\u0442\u0438 \u0437\u0432\u0443\u043A\u043E\u0432\u044B\u0445 \u044D\u0444\u0444\u0435\u043A\u0442\u043E\u0432 \u0432 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.clear_timeline":"\u041E\u0447\u0438\u0441\u0442\u043A\u0430 \u0448\u043A\u0430\u043B\u044B \u0432\u0440\u0435\u043C\u0435\u043D\u0438","action.clear_timeline.desc":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0440\u043E\u0436\u043A\u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0438\u0437 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","action.select_effect_animator":"\u042D\u0444\u0444\u0435\u043A\u0442\u044B \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.select_effect_animator.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0448\u043A\u0430\u043B\u0443 \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0437\u0432\u0443\u043A\u043E\u0432\u044B\u0445 \u044D\u0444\u0444\u0435\u043A\u0442\u043E\u0432 \u0438 \u0447\u0430\u0441\u0442\u0438\u0446","action.timeline_focus":"\u041A\u0430\u043D\u0430\u043B","action.timeline_focus.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043A\u0430\u043D\u0430\u043B\u044B \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435","timeline.particle":"\u0427\u0430\u0441\u0442\u0438\u0446\u0430","timeline.sound":"\u0417\u0432\u0443\u043A","timeline.effects":"\u042D\u0444\u0444\u0435\u043A\u0442\u044B","data.format":"\u0424\u043E\u0440\u043C\u0430\u0442","format.optifine_part":"\u0420\u0430\u0437\u0434\u0435\u043B Optifine","format.optifine_part.desc":"JPM \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 OptiFine","action.reverse_keyframes":"\u0420\u0435\u0432\u0435\u0440\u0441 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","action.reverse_keyframes.desc":"\u0420\u0435\u0432\u0435\u0440\u0441 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432 \u0432 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435","generic.help":"\u0421\u043F\u0440\u0430\u0432\u043A\u0430","message.removed_faces":"\u0423\u0434\u0430\u043B\u0435\u043D\u043E %0 \u0433\u0440\u0430\u043D\u0435\u0439","dialog.sketchfab_uploader.draft":"\u0427\u0435\u0440\u043D\u043E\u0432\u0438\u043A","action.slider_pos":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u043E %0","action.slider_pos.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E \u043E\u0441\u0438 %0","action.slider_size":"\u0420\u0430\u0437\u043C\u0435\u0440 %0","action.slider_size.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0430 \u043E\u0441\u0438 %0","action.slider_rotation":"\u041F\u043E\u0432\u043E\u0440\u043E\u0442 %0","action.slider_rotation.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0430 \u043E\u0441\u0438 %0","action.slider_origin":"\u041E\u0441\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F %0","action.slider_origin.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043E\u0441\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u043D\u0430 \u043E\u0441\u0438 %0","action.rotate_cw":"\u041F\u043E\u0432\u043E\u0440\u043E\u0442 %0 +90","action.rotate_cw.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0430 90\xB0 \u043D\u0430 \u043E\u0441\u0438 %0","action.rotate_ccw":"\u041F\u043E\u0432\u043E\u0440\u043E\u0442 %0 -90","action.rotate_ccw.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043D\u0430 -90\xB0 \u043D\u0430 \u043E\u0441\u0438 %0","action.flip":"\u041F\u0435\u0440\u0435\u0432\u043E\u0440\u043E\u0442 %0","action.flip.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043F\u043E \u043E\u0441\u0438 %0","action.center":"\u0426\u0435\u043D\u0442\u0440 %0","action.center.desc":"\u0426\u0435\u043D\u0442\u0440 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u043E \u043E\u0441\u0438 %0","action.bring_up_all_animations":"\u0421\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","panel.bone":"\u041A\u043E\u0441\u0442\u044C","data.color":"\u0426\u0432\u0435\u0442","generic.export":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","generic.none":"\u041D\u0438\u0447\u0435\u0433\u043E","status_bar.recording":"\u0428\u043A\u0430\u043B\u0430 \u0437\u0430\u043F\u0438\u0441\u0438","message.add_to_palette":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0443","message.size_modifiers":"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439 Ctrl \u0438\u043B\u0438 Shift \u0434\u043B\u044F \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u0438\u044F \u043A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442\u0430 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","message.timelapse_start":"\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u043D\u0430\u044F \u0441\u044A\u0435\u043C\u043A\u0430 \u043D\u0430\u0447\u0430\u043B\u0430\u0441\u044C","message.timelapse_stop":"\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u043D\u0430\u044F \u0441\u044A\u0435\u043C\u043A\u0430 \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u043B\u0430\u0441\u044C","message.import_palette.replace_palette":"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0430\u0440\u0443\u044E \u043F\u0430\u043B\u0438\u0442\u0440\u0443","message.import_palette.threshold":"\u0413\u0440\u0430\u043D\u0438\u0446\u0430 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F","dialog.timelapse.interval":"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B (\u0441)","dialog.timelapse.source":"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A","dialog.timelapse.source.interface":"\u0418\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","dialog.timelapse.source.locked":"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0443\u0433\u043E\u043B","dialog.timelapse.destination":"\u041F\u0430\u043F\u043A\u0430 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F","layout.color.checkerboard":"\u041A\u043B\u0435\u0442\u043A\u0430","layout.color.checkerboard.desc":"\u0424\u043E\u043D \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 UV","layout.font.code":"\u0428\u0440\u0438\u0444\u0442 \u043A\u043E\u0434\u0430","layout.css":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 CSS","settings.category.paint":"\u0420\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","settings.deactivate_size_limit":"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043B\u0438\u043C\u0438\u0442 \u0440\u0430\u0437\u043C\u0435\u0440\u0430","settings.deactivate_size_limit.desc":"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043B\u0438\u043C\u0438\u0442 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0434\u043B\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u0444\u043E\u0440\u043C\u0430\u0442\u043E\u0432. \u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435: \u042D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043E\u0448\u0438\u0431\u043A\u0438 \u0441 \u043C\u043E\u0434\u0435\u043B\u044F\u043C\u0438.","settings.brush_opacity_modifier":"\u041C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438 \u043A\u0438\u0441\u0442\u0438","settings.brush_opacity_modifier.desc":"\u041C\u043E\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u043A\u0438\u0441\u0442\u0438 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0441\u0442\u0438\u043B\u0443\u0441\u0430","settings.brush_size_modifier":"\u041C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u043A\u0438\u0441\u0442\u0438","settings.brush_size_modifier.desc":"\u041C\u043E\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u0438\u0441\u0442\u0438 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0441\u0442\u0438\u043B\u0443\u0441\u0430","settings.brush_modifier.pressure":"\u0414\u0430\u0432\u043B\u0435\u043D\u0438\u0435","settings.brush_modifier.tilt":"\u041D\u0430\u043A\u043B\u043E\u043D","category.color":"\u0426\u0432\u0435\u0442","action.import_theme":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043C\u044B","action.export_theme":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0442\u0435\u043C\u044B","action.export_theme.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B \u0442\u0435\u043C\u044B \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0442\u0435\u043A\u0443\u0449\u0438\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A","action.slider_color_h":"\u041E\u0442\u0442\u0435\u043D\u043E\u043A","action.slider_color_s":"\u041D\u0430\u0441\u044B\u0449\u0435\u043D\u0438\u0435","action.slider_color_v":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","action.add_to_palette":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0443","action.add_to_palette.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430 \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0443","action.import_palette":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.import_palette.desc":"\u0418\u043C\u043F\u043E\u0440\u0442 .bbpalette \u0444\u0430\u0439\u043B","action.export_palette":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.export_palette.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043F\u0430\u043B\u0438\u0442\u0440\u044B \u0432 \u0444\u0430\u0439\u043B .GPL","action.generate_palette":"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.generate_palette.desc":"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0430\u043B\u0438\u0442\u0440\u0443 \u0438\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.sort_palette":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.sort_palette.desc":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0446\u0432\u0435\u0442\u0430 \u043D\u0430 \u043F\u0430\u043B\u0438\u0442\u0440\u0435 \u043F\u043E \u0446\u0432\u0435\u0442\u0443 \u0438 \u044F\u0440\u043A\u043E\u0441\u0442\u0438","action.timelapse":"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0448\u043A\u0430\u043B\u0430","action.timelapse.desc":"\u0417\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043C\u043E\u0434\u0435\u043B\u0438","action.add_keyframe":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430","action.add_keyframe.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0439 \u043A\u0430\u0434\u0440 \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0430\u043D\u0438\u043C\u0430\u0442\u043E\u0440","action.bring_up_all_animations.desc":"\u041F\u0435\u0440\u0435\u043D\u043E\u0441 \u0432\u0441\u0435\u0445 \u043C\u043E\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439 \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0448\u043A\u0430\u043B\u0443","timeline.timeline":"\u0418\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0438","menu.palette.load.default":"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442","generic.import":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","settings.brush_modifier.none":"\u041D\u0438\u0447\u0435\u0433\u043E","action.export_entity":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 Minecraft BE","action.export_entity.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C \u043A\u0430\u043A \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u044C \u0432 \u0444\u0430\u0439\u043B mobs.json","settings.highlight_cubes":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","settings.highlight_cubes.desc":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043D\u0430 \u043D\u0438\u0445 \u043A\u0443\u0440\u0441\u043E\u0440\u0430 \u043C\u044B\u0448\u0438","action.add_marker":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043C\u0430\u0440\u043A\u0451\u0440\u0430","action.add_marker.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0430\u0440\u043A\u0451\u0440 \u043D\u0430 \u0448\u043A\u0430\u043B\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438","timeline.pre_effect_script":"\u0421\u043A\u0440\u0438\u043F\u0442","format.skin":"\u0421\u043A\u0438\u043D","format.skin.desc":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u043A\u0438\u043D\u043E\u0432 \u0438\u0433\u0440\u043E\u043A\u043E\u0432 \u0438 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439","message.sketchfab.setup_guide":"\u0425\u043E\u0447\u0435\u0448\u044C \u0443\u0437\u043D\u0430\u0442\u044C, \u043A\u0430\u043A \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438 \u0432 Sketchfab? \u0427\u0438\u0442\u0430\u0442\u044C %0","dialog.skin.title":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043A\u0438\u043D","dialog.skin.model":"\u041C\u043E\u0434\u0435\u043B\u044C","action.toggle_skin_layer":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043B\u043E\u0439 \u0441\u043A\u0438\u043D\u0430","action.toggle_skin_layer.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043B\u043E\u0438 \u0448\u043B\u044F\u043F\u044B \u0438 \u043E\u0434\u0435\u0436\u0434\u044B","action.gui_light":"\u0421\u0432\u0435\u0442\u043B\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","action.gui_light.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u043F\u043E\u0441\u043E\u0431 \u043E\u0441\u0432\u0435\u0449\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 \u0432 \u0438\u043D\u0432\u0435\u043D\u0442\u0430\u0440\u0435","action.gui_light.side":"\u0411\u043E\u043A\u043E\u0432\u043E\u0439 \u0441\u0432\u0435\u0442","action.gui_light.front":"\u041F\u0435\u0440\u0435\u0434\u043D\u0438\u0439 \u0441\u0432\u0435\u0442","action.move_keyframe_back":"\u0421\u0434\u0432\u0438\u0433 \u043A\u0430\u0434\u0440\u043E\u0432 \u043D\u0430\u0437\u0430\u0434","action.move_keyframe_forth":"\u0421\u0434\u0432\u0438\u0433 \u043A\u0430\u0434\u0440\u043E\u0432 \u0432\u043F\u0435\u0440\u0435\u0434","menu.help":"\u041F\u043E\u043C\u043E\u0449\u044C","menu.help.discord":"\u0421\u0435\u0440\u0432\u0435\u0440 \u0432 Discord","menu.help.report_issue":"\u0421\u043E\u043E\u0431\u0449\u0438\u0442\u044C \u043E \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0435","menu.help.plugin_documentation":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F Plugin API","menu.help.search_action":"\u041D\u0430\u0439\u0442\u0438 \u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435","menu.help.donate":"\u041F\u043E\u0436\u0435\u0440\u0442\u0432\u043E\u0432\u0430\u0442\u044C","menu.help.about":"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435...","menu.preview.background.clipboard":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430","dialog.ignore":"\u0418\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C","generic.unset":"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E","message.invalid_builtin_parent.title":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C","message.invalid_builtin_parent.message":"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0443\u044E \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C '%0' \u0431\u044B\u043B\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0439 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.resize_texture.fill":"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E","dialog.resize_texture.fill.transparent":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0439","dialog.resize_texture.fill.color":"\u0426\u0432\u0435\u0442","dialog.resize_texture.fill.repeat":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C","dialog.scale.element_pivot":"\u0426\u0435\u043D\u0442\u0440 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","dialog.scale.selection_center":"\u0426\u0435\u043D\u0442\u0440 \u0432\u044B\u0431\u043E\u0440\u0430","dialog.create_gif.length_mode":"\u0420\u0435\u0436\u0438\u043C \u0434\u043B\u0438\u043D\u044B","dialog.create_gif.length_mode.seconds":"\u0421\u0435\u043A\u0443\u043D\u0434\u044B","dialog.create_gif.length_mode.frames":"\u041A\u0430\u0434\u0440\u044B","dialog.create_gif.length_mode.animation":"\u0414\u043B\u0438\u043D\u0430 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","dialog.create_gif.length_mode.turntable":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0435\u043C\u043E\u0435 \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435","dialog.save_angle.projection":"\u041F\u0440\u043E\u044D\u043A\u0446\u0438\u044F","dialog.save_angle.projection.perspective":"\u041F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u0430","dialog.save_angle.projection.orthographic":"\u041E\u0440\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u044F","dialog.sketchfab_uploader.animations":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u0438","dialog.settings.theme":"\u0422\u0435\u043C\u0430","settings.category.interface":"\u0418\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","settings.preview_checkerboard":"\u0428\u0430\u0445\u043C\u0430\u0442\u043D\u0430\u044F \u0434\u043E\u0441\u043A\u0430 \u0432 \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435","settings.preview_checkerboard.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0448\u0430\u0445\u043C\u0430\u0442\u043D\u043E\u0439 \u0434\u043E\u0441\u043A\u0438 \u043D\u0430 \u0444\u043E\u043D\u0435 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","settings.uv_checkerboard":"\u0428\u0430\u0445\u043C\u0430\u0442\u043D\u0430\u044F \u0434\u043E\u0441\u043A\u0430 UV-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","settings.uv_checkerboard.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0448\u0430\u0445\u043C\u0430\u0442\u043D\u043E\u0439 \u0434\u043E\u0441\u043A\u0438 \u043D\u0430 \u0444\u043E\u043D\u0435 UV-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","category.paint":"\u0420\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","action.fill_mode.color_connected":"\u0421\u043E\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430","action.draw_shape_type":"\u0422\u0438\u043F \u0444\u0438\u0433\u0443\u0440\u044B","action.draw_shape_type.rectangle":"\u0427\u0435\u0442\u044B\u0440\u0451\u0445\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A","action.draw_shape_type.rectangle_h":"\u041F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A (\u043F\u043E\u043B\u044B\u0439)","action.draw_shape_type.ellipse":"\u042D\u043B\u043B\u0438\u043F\u0441","action.draw_shape_type.ellipse_h":"\u042D\u043B\u043B\u0438\u043F\u0441 (\u043F\u043E\u043B\u044B\u0439)","action.draw_shape_type.line":"\u041B\u0438\u043D\u0438\u044F","action.mirror_painting":"\u0417\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","action.mirror_painting.description":"\u0417\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E \u043E\u0442\u0440\u0430\u0437\u0438\u0442\u0435 \u0441\u0432\u043E\u0438 \u043C\u0430\u0437\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","action.lock_alpha":"\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B\u0430","action.lock_alpha.description":"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438 \u0432\u0441\u0435\u0445 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439","action.draw_shape_tool":"\u0424\u0438\u0433\u0443\u0440\u0430","action.draw_shape_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u043E\u0441\u0442\u044B\u0445 \u0444\u0438\u0433\u0443\u0440","action.export_gltf":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 gLTF-\u043C\u043E\u0434\u0435\u043B\u0438","action.export_gltf.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043A\u0430\u043A glTF-\u0444\u0430\u0439\u043B \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430\u0445","action.transform_space":"\u0421\u043F\u043E\u0441\u043E\u0431 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F","action.transform_space.desc":"\u041C\u0435\u0442\u043E\u0434 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0439, \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u0438\u043B\u0438 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u0439 \u043E\u0441\u0435\u0439","action.transform_space.global":"\u0413\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0439","action.transform_space.local":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439","action.toggle_camera_projection":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0446\u0438\u044E \u043A\u0430\u043C\u0435\u0440\u044B","action.toggle_camera_projection.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0446\u0438\u044E \u043A\u0430\u043C\u0435\u0440\u044B \u043C\u0435\u0436\u0434\u0443 \u043F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u043E\u0439 \u0438 \u043E\u0440\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0435\u0439","action.load_camera_angle":"\u0423\u0433\u043E\u043B \u043A\u0430\u043C\u0435\u0440\u044B: %0","action.load_camera_angle.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0440\u0430\u043A\u0443\u0440\u0441 \u043A\u0430\u043C\u0435\u0440\u044B \u0432 %0","action.slider_face_tint":"\u0418\u043D\u0434\u0435\u043A\u0441 \u043E\u0442\u0442\u0435\u043D\u043A\u0430","action.slider_face_tint.desc":"\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u043D\u0434\u0435\u043A\u0441 \u043E\u0442\u0442\u0435\u043D\u043A\u0430 \u043D\u0430 \u044D\u0442\u0443 \u0433\u0440\u0430\u043D\u044C. -1 \u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442 \u043D\u0435\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E","menu.help.quickstart":"\u041F\u0443\u0442\u0435\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C Blockbench","menu.help.developer":"\u0424\u0443\u043D\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0430","menu.help.developer.dev_tools":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A\u0430","menu.help.developer.reset_storage":"\u0421\u0431\u0440\u043E\u0441 \u0434\u043E \u0437\u0430\u0432\u043E\u0434\u0441\u043A\u0438\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A","menu.help.developer.reset_storage.confirm":"\u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0432\u0435\u0440\u043D\u0443\u0442\u044C Blockbench \u0434\u043E \u0437\u0430\u0432\u043E\u0434\u0441\u043A\u0438\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432? \u042D\u0442\u043E \u0441\u0431\u0440\u043E\u0441\u0438\u0442 \u0432\u0441\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438, \u0433\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 \u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u044B.","menu.help.developer.cache_reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043A\u044D\u0448","menu.preview.orthographic":"\u041E\u0440\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u044F","menu.preview.save_angle":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0443\u0433\u043E\u043B...","menu.preview.angle":"\u0423\u0433\u043B\u044B","menu.preview.angle.initial":"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0443\u0433\u043E\u043B","menu.preview.maximize":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430","uv_editor.copy_selection":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u043E\u0440","uv_editor.paste_selection":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043E\u0431\u044C\u0435\u043A\u0442","uv_editor.copy_paste_tool.place":"\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C","uv_editor.copy_paste_tool.mirror_x":"\u041E\u0442\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u0442\u044C \u043F\u043E X","uv_editor.copy_paste_tool.mirror_y":"\u041E\u0442\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u044C \u043F\u043E Y","uv_editor.copy_paste_tool.rotate":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043D\u0430 90 \u0433\u0440\u0430\u0434\u0443\u0441\u043E\u0432","dialog.project.modded_entity_version":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E","dialog.save_angle.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u043A\u0430\u043C\u0435\u0440\u044B","dialog.save_angle.target":"\u0422\u043E\u0447\u043A\u0430 \u0424\u043E\u043A\u0443\u0441\u0430","dialog.skin.pose":"\u041F\u043E\u0437\u0430","layout.color.frame":"\u041E\u043A\u043D\u043E","layout.color.frame.desc":"\u0420\u0430\u043C\u043A\u0430 \u0438 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u043E\u043A\u043D\u0430","settings.large_grid_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u0435\u0442\u043A\u0438 \u0431\u043B\u043E\u043A\u0430","settings.large_grid_size.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u0435\u0442\u043A\u0438 \u0431\u043B\u043E\u043A\u0430","action.load_plugin_from_url":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435","action.load_plugin_from_url.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0440\u0432\u0435\u0440, \u0443\u0442\u043E\u0447\u043D\u044F\u044F \u0441\u0441\u044B\u043B\u043A\u0443","action.cube_counter.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043D\u043E\u043C\u0435\u0440 \u043A\u0443\u0431\u043E\u0432 \u0438 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0443","action.unlock_everything":"\u0420\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0451","action.unlock_everything.desc":"\u0420\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0430\u0443\u0442\u043B\u0430\u0439\u043D\u0435\u0440\u0435","action.load_palette":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.load_palette.desc":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043E\u0434\u043D\u0443 \u0438\u0437 \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0445 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0430\u043B\u0438\u0442\u0440","action.toggle_locked":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0443","action.toggle_locked.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u0443\u0434\u0443\u0442 \u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u044B","action.apply_display_preset":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0448\u0430\u0431\u043B\u043E\u043D\u0430","action.apply_display_preset.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043E\u0431\u044B\u0447\u043D\u044B\u0439 \u0438\u043B\u0438 \u0441\u0432\u043E\u0439 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043D\u0430\u0431\u043E\u0440 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A","action.apply_display_preset.here":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043A \u044D\u0442\u043E\u043C\u0443 \u0441\u043B\u043E\u0442\u0443","action.apply_display_preset.everywhere":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043A\u043E \u0432\u0441\u0435\u043C \u0441\u043B\u043E\u0442\u0430\u043C","action.resolve_keyframe_expressions":"\u0412\u044B\u0447\u0438\u0441\u043B\u0438\u0442\u044C \u043A\u0430\u0434\u0440\u044B","action.resolve_keyframe_expressions.desc":"\u0412\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u0442 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u043F\u0440\u0438\u043C\u0435\u0440\u044B \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","action.fold_all_animations":"\u0421\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0432\u0441\u0435\u0445 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","menu.palette.load.empty":"\u0427\u0438\u0441\u0442\u043E","switches.lock":"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C","settings.render_sides":"\u0421\u0442\u043E\u0440\u043E\u043D\u044B \u0440\u0435\u043D\u0434\u0435\u0440\u0430","settings.render_sides.desc":"\u0412\u044B\u0431\u0435\u0440\u0438, \u043A\u0430\u043A\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0440\u0435\u0431\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u0440\u0435\u043D\u0434\u0435\u0440\u0435\u043D\u0430","settings.render_sides.auto":"\u0410\u0432\u0442\u043E","settings.render_sides.front":"\u0421\u043D\u0430\u0440\u0443\u0436\u0438","settings.render_sides.double":"\u0412\u043D\u0443\u0442\u0440\u0438 \u0438 \u0441\u043D\u0430\u0440\u0443\u0436\u0438","generic.enable":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C","generic.disable":"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C","generic.redacted":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E","dialog.select_texture.import_all":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0432\u0441\u0435","dialog.skin.layer_template":"\u0421\u043B\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","about.version.up_to_date":"\u0410\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F","about.version.update_available":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 %0","settings.category.application":"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435","settings.streamer_mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430","settings.streamer_mode.desc":"\u0421\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E, \u0442\u0430\u043A\u0443\u044E \u043A\u0430\u043A \u0441\u043F\u0438\u0441\u043E\u043A \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u0438 \u043B\u0438\u0447\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435","settings.automatic_updates":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F","settings.automatic_updates.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044C Blockbench \u0432 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E\u043C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0438","action.rotation_space":"\u0412\u0440\u0430\u0449\u0430\u044E\u0449\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E","action.focus_on_selection":"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u0430\u043C\u0435\u0440\u044B \u043D\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438","action.focus_on_selection.desc":"\u0412\u044B\u0440\u043E\u0432\u043D\u044F\u0442\u044C \u043A\u0430\u043C\u0435\u0440\u0443 \u043F\u043E \u0446\u0435\u043D\u0442\u0440\u0443 \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","action.jump_to_timeline_start":"\u0412 \u043D\u0430\u0447\u0430\u043B\u043E \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.jump_to_timeline_end":"\u0412 \u043A\u043E\u043D\u0435\u0446 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","menu.help.updating":"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 (%0%)","menu.help.update_failed":"\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F","menu.animation.loop.once":"\u041F\u0440\u043E\u0438\u0433\u0440\u0430\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437","menu.animation.loop.hold":"\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u043A\u0430\u0434\u0440\u0435","menu.animation.loop.loop":"\u0426\u0438\u043A\u043B","interface.streamer_mode_on":"\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430 \u0432\u043A\u043B\u044E\u0447\u0451\u043D","generic.reset":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C","generic.restore":"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C","keys.mousewheel":"\u041A\u043E\u043B\u0435\u0441\u043E \u043C\u044B\u0448\u0438","message.delete_animation.title":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","message.delete_animation.message":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0430 \u0438\u0437 Blockbench. \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u043C \u043E\u043D\u0430 \u0431\u044B\u043B\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430?","message.no_animation_to_import":"\u041D\u0435\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430","dialog.material_instances.title":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432","dialog.animation_import.title":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0438\u043C\u043F\u043E\u0440\u0442\u0430","dialog.create_texture.padding":"\u041E\u0442\u0441\u0442\u0443\u043F","settings.fov":"FOV","settings.fov.desc":"\u041F\u043E\u043B\u0435 \u0437\u0440\u0435\u043D\u0438\u044F \u043A\u0430\u043C\u0435\u0440\u044B. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2014 45\xB0","settings.minify_bbmodel":"\u0423\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u043F\u0440\u043E\u0435\u043A\u0442\u0430","settings.minify_bbmodel.desc":"\u0417\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B .bbmodel \u0432 \u043E\u0434\u043D\u0443 \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u043D\u0443\u044E \u0441\u0442\u0440\u043E\u0447\u043A\u0443","action.edit_material_instances":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043E\u0431\u0440\u0430\u0437\u0446\u043E\u0432 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432","action.edit_material_instances.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u044B \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u0434\u043B\u044F \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0438\u0438 \u0431\u043B\u043E\u043A\u043E\u0432 Minecraft BE","action.save_all_animations":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.save_all_animations.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.keyframe_interpolation":"\u0418\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0438\u044F","action.keyframe_interpolation.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u0438\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0438\u0438 \u0434\u043B\u044F \u043A\u0430\u0434\u0440\u043E\u0432","action.keyframe_interpolation.linear":"\u041B\u0438\u043D\u0435\u0439\u043D\u044B\u0439","action.keyframe_interpolation.catmullrom":"\u0421\u0433\u043B\u0430\u0436\u0435\u043D\u043D\u044B\u0439","action.timeline_focus.hide_empty":"\u0421\u043F\u0440\u044F\u0442\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u043A\u0430\u043D\u0430\u043B\u044B","menu.file.preferences":"\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0442\u0435\u043D\u0438\u044F","menu.animation.blend_weight":"\u0421\u0438\u043B\u0430 \u0441\u043C\u0435\u0448\u0438\u0432\u0430\u043D\u0438\u044F","menu.animation.save":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","menu.animation.properties":"\u0425\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A\u0438","menu.animation.file":"\u0424\u0430\u0439\u043B","menu.animation.snapping":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430","menu.animation.open_location":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u0430","panel.keyframe.add_data_point":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u0434\u0440\u0430","panel.keyframe.remove_data_point":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445","panel.keyframe.pre":"\u0414\u043E","panel.keyframe.post":"\u041F\u043E\u0441\u043B\u0435","generic.all":"\u0412\u0441\u0451","message.small_face_dimensions.title":"\u041D\u0435\u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u044B \u043B\u0438\u0446\u0430","message.small_face_dimensions.message":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043B\u0438\u0446\u0430 \u043C\u0435\u043D\u044C\u0448\u0435 1 \u044E\u043D\u0438\u0442\u0430 \u0432 \u043A\u0430\u043A\u043E\u043C-\u043B\u0438\u0431\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438. \u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F Box UV \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043B\u0438\u0446\u0430 \u043C\u0435\u043D\u044C\u0448\u0435 1 \u044E\u043D\u0438\u0442\u0430, \u043A\u0430\u043A 0 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439 \u0432 \u0448\u0438\u0440\u0438\u043D\u0443. \u041F\u043E\u044D\u0442\u043E\u043C\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043D\u0430 \u044D\u0442\u0438\u0445 \u0447\u0430\u0441\u0442\u044F\u0445 \u043C\u043E\u0436\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u0432\u0435\u0440\u043D\u043E.","message.small_face_dimensions.face_uv":'\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 UV \u043F\u043E \u043B\u0438\u0446\u0430\u043C, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0433\u0443\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441 \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u043C\u0438 \u0440\u0430\u0437\u043C\u0435\u0440\u0430\u043C\u0438. \u041D\u0430\u0436\u043C\u0438 \u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043F\u0440\u0430\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438 \u0438 \u043F\u043E\u043C\u0435\u043D\u044F\u0439 "UV Mode" \u043D\u0430 "Per-face UV".',"dialog.plugins.outdated_client":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E Blockbench","dialog.plugins.outdated_plugin":"\u041F\u043B\u0430\u0433\u0438\u043D \u0443\u0441\u0442\u0430\u0440\u0435\u043B \u0438 \u0431\u043E\u043B\u0435\u0435 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441 \u044D\u0442\u043E\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 Blockbench","settings.motion_trails":"\u041F\u0443\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u044F","settings.motion_trails.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043F\u0443\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","settings.antialiasing":"\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435","settings.antialiasing.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0432 \u043F\u0440\u0435\u0432\u044C\u044E. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A Blockbench","action.timeline_frame_back":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u043A\u0430\u0434\u0440 \u043D\u0430\u0437\u0430\u0434","action.timeline_frame_forth":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u043A\u0430\u0434\u0440 \u0432\u043F\u0435\u0440\u0435\u0434","panel.bone.ik":"\u0418\u043D\u0432\u0435\u0440\u0441\u043D\u0430\u044F \u043A\u0438\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0430","settings.particle_tick_rate":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0442\u0430\u043A\u0442\u043E\u0432 \u0447\u0430\u0441\u0442\u0438\u0446","settings.particle_tick_rate.desc":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0434\u043B\u044F \u044D\u0444\u0444\u0435\u043A\u0442\u043E\u0432 \u043F\u0430\u0440\u0442\u0438\u043A\u043B\u0435\u0439 \u0432 \u0442\u0430\u043A\u0442\u0430\u0445 \u0432 \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2014 30","action.lock_motion_trail":"\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u0443\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u044F","action.lock_motion_trail.desc":"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u044B\u0445 \u0433\u0440\u0443\u043F\u043F","menu.animation_file.unload":"\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0444\u0430\u0439\u043B \u0441 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0435\u0439","data.null_object":"\u041D\u0443\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442","status_bar.toggle_sidebar":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u043E\u043A\u043E\u0432\u0443\u044E \u043F\u0430\u043D\u0435\u043B\u044C","message.load_plugin_failed.title":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D","message.load_plugin_failed.message":"\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0438\u043C\u044F \u0444\u0430\u0439\u043B\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 ID \u043F\u043B\u0430\u0433\u0438\u043D\u0430 `%0`, \u043A\u0430\u043A \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0432 Plugin.register().","dialog.project.uv_mode":"\u0420\u0435\u0436\u0438\u043C UV","dialog.project.uv_mode.box_uv":"UV-\u043A\u043E\u0440\u043E\u0431\u043A\u0430","dialog.project.uv_mode.face_uv":"UV \u043F\u043E \u043B\u0438\u0446\u0430\u043C","dialog.project.texture_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","dialog.animation_export.title":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430","dialog.create_texture.rearrange_uv":"\u041F\u0435\u0440\u0435\u0441\u0442\u0440\u043E\u0438\u0442\u044C UV","layout.color.subtle_text":"\u0422\u043E\u043D\u043A\u0438\u0439 \u0422\u0435\u043A\u0441\u0442","layout.color.subtle_text.desc":"\u0426\u0432\u0435\u0442 \u0432\u0442\u043E\u0440\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043A\u0441\u0442\u0430 \u0441 \u043C\u0435\u043D\u044C\u0448\u0438\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043E\u043C","settings.interface_scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","settings.interface_scale.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0435\u0433\u043E \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 Blockbench","settings.background_rendering":"\u0420\u0435\u043D\u0434\u0435\u0440 \u0444\u043E\u043D\u0430","settings.background_rendering.desc":"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440, \u043A\u043E\u0433\u0434\u0430 \u043E\u043A\u043D\u043E \u0441\u0432\u0435\u0440\u043D\u0443\u0442\u043E","settings.ctrl_shift_size":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0435\u043D\u0442 Ctrl+Shift","settings.ctrl_shift_size.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u0435\u0442\u043A\u0438 \u043F\u0440\u0438 \u0437\u0430\u0436\u0430\u0442\u0438\u0438 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0430 \u0438 \u0448\u0438\u0444\u0442\u0430","settings.hardware_acceleration":"\u0410\u043F\u043F\u0430\u0440\u0430\u0442\u043D\u043E\u0435 \u0443\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435","settings.hardware_acceleration.desc":"\u0420\u0435\u043D\u0434\u0435\u0440\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u0440\u0438 \u043F\u043E\u043C\u043E\u0449\u0438 \u0432\u0438\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u044B. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438 Blockbench, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F.","action.explode_skin_model":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0438\u0433\u0440\u043E\u043A\u0430","action.explode_skin_model.desc":"\u0420\u0430\u0437\u044A\u0435\u0434\u0438\u043D\u044F\u0435\u0442 \u0447\u0430\u0441\u0442\u0438 \u0442\u0435\u043B\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0437\u0430\u043A\u0440\u044B\u0442\u044B\u0445 \u0443\u0447\u0430\u0441\u0442\u043A\u043E\u0432 \u043C\u043E\u0434\u0435\u043B\u0438","action.export_minecraft_skin":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 Minecraft-\u0441\u043A\u0438\u043D\u0430","action.export_minecraft_skin.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C Minecraft-\u0441\u043A\u0438\u043D \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 .png","action.add_null_object":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0443\u043B\u0435\u0432\u043E\u0433\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u0430","action.add_null_object.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043D\u0443\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442","action.animated_texture_frame":"\u041A\u0430\u0434\u0440 \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.animated_texture_frame.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043A\u0430\u0434\u0440 \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.export_animation_file":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439...","action.export_animation_file.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0432 \u043D\u043E\u0432\u044B\u0439 \u0444\u0430\u0439\u043B","action.timeline_graph_editor":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0413\u0440\u0430\u0444\u0438\u043A\u043E\u0432","action.timeline_graph_editor.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B \u043C\u0435\u0436\u0434\u0443 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435\u043C \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u043A\u043B\u044E\u0447\u0435\u0439","menu.file.recent.clear":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u044B","switches.shade":"\u0422\u0435\u043D\u044C","generic.share":"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F","dates.minute":"%0 \u043C\u0438\u043D\u0443\u0442","dates.minutes":"%0 \u043C\u0438\u043D\u0443\u0442","dates.hour":"%0 \u0447\u0430\u0441\u043E\u0432","dates.hours":"%0 \u0447\u0430\u0441\u043E\u0432","dates.day":"%0 \u0434\u043D\u0435\u0439","dates.days":"%0 \u0434\u043D\u0435\u0439","dates.week":"%0 \u043D\u0435\u0434\u0435\u043B\u044F","dates.weeks":"%0 \u043D\u0435\u0434\u0435\u043B\u044C","dates.year":"%0 \u043B\u0435\u0442","dates.years":"%0 \u043B\u0435\u0442","message.installed_plugin":"\u041F\u043B\u0430\u0433\u0438\u043D %0 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D","message.installed_plugin_fail":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D %0","dialog.share_model.title":"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F \u043C\u043E\u0434\u0435\u043B\u044C\u044E","dialog.share_model.expire_time":"\u0412\u0440\u0435\u043C\u044F \u0438\u0441\u0442\u0435\u043A\u0430\u043D\u0438\u044F","dialog.share_model.failed":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C","action.import_java_block_model":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u0431\u043B\u043E\u043A\u0430/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 \u0434\u043B\u044F Minecraft JE","action.import_java_block_model.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0434\u043B\u044F Minecraft JE \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 .json \u0432 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C","action.share_model":"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F...","action.share_model.desc":"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u0443\u044E \u0441\u0441\u044B\u043B\u043A\u0443 \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F \u043C\u043E\u0434\u0435\u043B\u044C\u044E","action.import_project":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.import_project.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0435\u043A\u0442 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 .bbmodel \u0432 \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442","dialog.toolbar_edit.hidden_tools":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0441\u043A\u0440\u044B\u0442\u044B \u0438\u0437-\u0437\u0430 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u0440\u0435\u0436\u0438\u043C\u0435, \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0438\u043B\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438.","settings.camera_near_plane":"\u041A\u0430\u043C\u0435\u0440\u0430 \u0440\u044F\u0434\u043E\u043C \u0441 \u043F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C\u044E","settings.camera_near_plane.desc":"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0434\u0438\u0441\u0442\u0430\u043D\u0446\u0438\u044F \u0434\u043B\u044F \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432. \u0411\u043E\u0301\u043B\u044C\u0448\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u044F\u044E\u0442 Z-\u0444\u0430\u0439\u0442\u0438\u043D\u0433 (\u043C\u0438\u0433\u0430\u044E\u0449\u0438\u0435 \u0433\u0440\u0430\u043D\u0438). \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2013 0.","mode.start.keymap_preference.desc":"\u0415\u0441\u043B\u0438 \u0442\u044B \u043D\u043E\u0432\u0438\u0447\u043E\u043A \u0432 Blockbench \u0438\u043B\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0448\u044C \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u0442\u0438\u043B\u0438\u0442\u044B \u0434\u043B\u044F 3D-\u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u043C\u043E\u0436\u0435\u0448\u044C \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u0445\u0435\u043C\u0443 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043B\u0443\u0447\u0448\u0435\u0439 \u0430\u0434\u0430\u043F\u0442\u0430\u0446\u0438\u0438. \u041F\u043E\u0437\u0436\u0435 \u0442\u044B \u0441\u043C\u043E\u0436\u0435\u0448\u044C \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044D\u0442\u043E \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445.","message.load_keymap":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u044D\u0442\u0443 \u0441\u0445\u0435\u043C\u0443? \u041E\u043D\u0430 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0448\u0435\u0442 \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u0433\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438.","message.keymap_loaded":"\u0421\u0445\u0435\u043C\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u0430","dialog.convert_project.current_format":"\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442","dialog.create_texture.rearrange_uv.desc":"\u0421\u043E\u0437\u0434\u0430\u0439 \u043D\u043E\u0432\u043E\u0435 \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 UV, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u0434\u0430\u0442\u044C \u043A\u0430\u0436\u0434\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435 \u0441\u0432\u043E\u0451 \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0435 \u043C\u0435\u0441\u0442\u043E \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435","dialog.create_texture.power.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0441 \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u043C, \u043A\u0440\u0430\u0442\u043D\u044B\u043C \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0439 \u0441\u0442\u0435\u043F\u0435\u043D\u0438 \u0434\u0432\u043E\u0439\u043A\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 32, 64, 128). \u041C\u043E\u0436\u0435\u0442 \u043F\u043E\u043D\u0430\u0434\u043E\u0431\u0438\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0435.","dialog.create_texture.double_use.desc":"\u0415\u0441\u043B\u0438 \u0434\u0432\u0435 \u0433\u0440\u0430\u043D\u0438 \u0438\u043C\u0435\u044E\u0442 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E\u0435 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 UV, \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u043E \u043D\u0430 \u043D\u043E\u0432\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435","dialog.create_texture.padding.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0441\u0442\u0443\u043F \u043C\u0435\u0436\u0434\u0443 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u043C\u0438 \u0447\u0430\u0441\u0442\u044F\u043C\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","dialog.create_texture.resolution.desc":"\u0412\u044B\u0441\u043E\u0442\u0430 \u0438 \u0448\u0438\u0440\u0438\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","dialog.create_gif.color":"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430","dialog.save_angle.zoom":"\u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0435","dialog.skin.variant":"\u0412\u0430\u0440\u0438\u0430\u043D\u0442","dialog.flip_animation.info":"\u041F\u0440\u043E\u0442\u0438\u0432\u043E\u043F\u043E\u043B\u043E\u0436\u043D\u044B\u0435 \u043A\u043E\u0441\u0442\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 'left' \u0438 'right' \u0432 \u0438\u0445 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0438.","dialog.export_private_settings.title":"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","dialog.export_private_settings.message":"\u0422\u0432\u043E\u0439 \u0444\u0430\u0439\u043B \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E \u043B\u0438\u0447\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E: **%0**. \u0423\u0434\u0430\u043B\u0438 \u044D\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F, \u0435\u0441\u043B\u0438 \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u0448\u044C \u0441 \u043A\u0435\u043C-\u0442\u043E \u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F \u044D\u0442\u0438\u043C \u0444\u0430\u0439\u043B\u043E\u043C.","dialog.export_private_settings.keep":"\u0423\u0434\u0435\u0440\u0436\u0430\u0442\u044C","settings.timecode_frame_number":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u0430\u0439\u043C-\u043A\u043E\u0434\u044B \u043A\u0430\u043A \u043D\u043E\u043C\u0435\u0440\u0430 \u043A\u0430\u0434\u0440\u043E\u0432","settings.timecode_frame_number.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u0434\u044B \u0434\u0440\u043E\u0431\u0435\u0439 \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u043A\u0430\u0434\u0440\u0430 \u0432\u043C\u0435\u0441\u0442\u043E \u0441\u0430\u043D\u0442\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u044B","settings.animation_sample_rate":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0432\u044B\u0431\u043E\u0440\u043A\u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","settings.animation_sample_rate.desc":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0432 \u0432\u044B\u0431\u043E\u0440\u043A\u0430\u0445 \u0432 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0434\u043B\u044F \u043A\u0440\u0438\u0432\u044B\u0445, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0438\u0437\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442","keybind.preview_zoom":"\u0412\u0438\u0434 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F","action.gradient_tool":"\u0413\u0440\u0430\u0434\u0438\u0435\u043D\u0442","action.gradient_tool.desc":"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0446\u0432\u0435\u0442\u043D\u043E\u0439 \u0433\u0440\u0430\u0434\u0438\u0435\u043D\u0442 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435","action.import_settings":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A","action.import_settings.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B .bbsettings","action.export_settings":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","action.export_settings.desc":"\u042D\u043A\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Blockbench \u043A\u0430\u043A \u0444\u0430\u0439\u043B .bbsettings","action.load_keymap":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0433\u043E\u0440\u044F\u0447\u0438\u0445 \u043A\u043B\u0430\u0432\u0438\u0448","action.load_keymap.default":"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439 (\u0442\u0430\u0447\u043F\u0430\u0434/\u043C\u044B\u0448\u044C)","action.load_keymap.mouse":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u043C\u044B\u0448\u044C)","action.load_keymap.default.desc":"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F Blockbench \u0441 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C\u0438 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u043E\u043C, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u043C\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u0430 \u0442\u0430\u0447\u043F\u0430\u0434\u0430\u0445 \u043D\u043E\u0443\u0442\u0431\u0443\u043A\u043E\u0432","action.load_keymap.mouse.desc":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0438 \u043A\u043B\u0430\u0432\u0438\u0448 Blockbench \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043F\u0440\u0438 \u044D\u0442\u043E\u043C \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u043F\u0440\u0438\u0432\u044F\u0437\u0430\u043D\u0430 \u043A \u0441\u0440\u0435\u0434\u043D\u0435\u0439 \u043A\u043D\u043E\u043F\u043A\u0435 \u043C\u044B\u0448\u0438.","action.load_keymap.blender.desc":"\u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439, \u0437\u043D\u0430\u043A\u043E\u043C\u044B\u0445 \u0441 Blender","action.load_keymap.cinema4d.desc":"\u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439, \u0437\u043D\u0430\u043A\u043E\u043C\u044B\u0445 \u0441 Cinema 4D","action.load_keymap.maya.desc":"\u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439, \u0437\u043D\u0430\u043A\u043E\u043C\u044B\u0445 \u0441 Autodesk Maya","action.import_keymap":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0433\u043E\u0440\u044F\u0447\u0438\u0445 \u043A\u043B\u0430\u0432\u0438\u0448","action.import_keymap.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 \u0442\u0438\u043F\u0430 .bbkeymap","action.export_keymap":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0433\u043E\u0440\u044F\u0447\u0438\u0445 \u043A\u043B\u0430\u0432\u0438\u0448","action.export_keymap.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0433\u043E\u0440\u044F\u0447\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 \u0432 \u0444\u0430\u0439\u043B \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F .bbkeymap","action.edit_history":"\u0418\u0441\u0442\u043E\u0440\u0438\u044F...","action.edit_history.desc":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0438 \u043E\u0442\u043C\u0435\u043D\u0430/\u0432\u043E\u0437\u0432\u0440\u0430\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","action.group_elements":"\u0413\u0440\u0443\u043F\u043F\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.group_elements.desc":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u044B \u0432 \u043D\u043E\u0432\u0443\u044E \u0433\u0440\u0443\u043F\u043F\u0443","action.unfold_groups":"\u0420\u0430\u0441\u043A\u0440\u044B\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B","action.unfold_groups.desc":"\u0420\u0430\u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0432 \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A\u0435","action.edit_bedrock_binding":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430 \u043A\u043E\u0441\u0442\u0435\u0439...","action.edit_bedrock_binding.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u043E, \u043A \u043A\u0430\u043A\u043E\u0439 \u043A\u043E\u0441\u0442\u0438 \u043F\u0440\u0438\u0432\u044F\u0437\u0430\u043D\u0430 \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","action.pick_screen_color":"\u0412\u044B\u0431\u043E\u0440 \u0446\u0432\u0435\u0442\u0430 \u0441 \u044D\u043A\u0440\u0430\u043D\u0430","action.pick_screen_color.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043E\u0442\u0442\u0435\u043D\u043E\u043A \u0441 \u044D\u043A\u0440\u0430\u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0430","action.view_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","action.view_mode.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","action.view_mode.textured":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439","action.view_mode.solid":"\u0421\u043F\u043B\u043E\u0448\u043D\u043E\u0439","action.view_mode.wireframe":"\u041A\u0430\u0440\u043A\u0430\u0441","action.toggle_sidebars":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u043E\u043A\u043E\u0432\u0443\u044E \u043F\u0430\u043D\u0435\u043B\u044C","action.toggle_sidebars.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u043E\u043A\u043E\u0432\u0443\u044E \u043F\u0430\u043D\u0435\u043B\u044C","action.set_animation_end":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u041A\u043E\u043D\u0435\u0446 \u0410\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.set_animation_end.desc":"\u041D\u0430\u0437\u043D\u0430\u0447\u0438\u0442\u044C \u043A\u043E\u043D\u0435\u0446 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043D\u0430 \u043D\u044B\u043D\u0435\u0448\u043D\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0442\u0430\u0439\u043C\u043B\u0430\u0439\u043D\u0430","action.flip_animation":"\u041F\u0435\u0440\u0435\u0432\u043E\u0440\u043E\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.flip_animation.desc":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C \u0447\u0430\u0441\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432 \u043D\u0430 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0442\u043E\u0440\u043E\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u0438","action.graph_editor_zero_line":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0443\u043B\u0435\u0432\u043E\u0439 \u043B\u0438\u043D\u0438\u0438","action.graph_editor_zero_line.desc":"\u0412\u0441\u0435\u0433\u0434\u0430 \u043B\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0433\u0440\u0430\u0444\u0438\u043A\u0430 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u043D\u0443\u043B\u0435\u0432\u0443\u044E \u043B\u0438\u043D\u0438\u044E \u0432 \u0440\u0430\u0441\u0441\u043C\u043E\u0442\u0440\u0435\u043D\u0438\u0435","menu.texture.render_mode":"\u0420\u0435\u0436\u0438\u043C \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0430","menu.texture.render_mode.emissive":"\u042D\u043C\u0438\u0441\u0441\u0438\u0432\u043D\u044B\u0439","menu.texture.render_mode.layered":"\u041F\u043E\u0441\u043B\u043E\u0439\u043D\u044B\u0439","menu.preview.angle.edit":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u0433\u043E\u043B...","menu.animation.start_delay":"\u041D\u0430\u0447\u0430\u0442\u044C \u0437\u0430\u0434\u0435\u0440\u0436\u043A\u0443","menu.animation.loop_delay":"\u0417\u0430\u0446\u0438\u043A\u043B\u0438\u0442\u044C \u0437\u0430\u0434\u0435\u0440\u0436\u043A\u0443","menu.animation.flip_keyframes":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B","menu.mobile_keyboard.disable_all":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0441\u0435","panel.keyframe.toggle_uniform_scale":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0435\u0434\u0438\u043D\u044B\u0439 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","camera_angle.common_isometric_right":"\u0418\u0437\u043E\u043C\u0435\u0442\u0440\u0438\u044F \u0441\u043F\u0440\u0430\u0432\u0430 (2:1)","camera_angle.common_isometric_left":"\u0418\u0437\u043E\u043C\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043B\u0435\u0432\u044B\u0439 (2:1)","camera_angle.true_isometric_right":"\u0418\u0441\u0442\u0438\u043D\u043D\u0430\u044F \u0438\u0437\u043E\u043C\u0435\u0442\u0440\u0438\u044F \u0441\u043F\u0440\u0430\u0432\u0430 (30\xB0)","camera_angle.true_isometric_left":"\u0418\u0441\u0442\u0438\u043D\u043D\u0430\u044F \u0438\u0437\u043E\u043C\u0435\u0442\u0440\u0438\u044F \u0441\u043B\u0435\u0432\u0430 (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0432\u044B\u043F\u0443\u0441\u043A\u043E\u0432","settings.update_to_prereleases.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u0434\u043E \u0431\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u0439 Blockbench \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043D\u043E\u0432\u044B\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439. \u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043D\u0435\u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u044B\u043C\u0438, \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0439 \u044D\u0442\u0443 \u043E\u043F\u0446\u0438\u044E, \u0435\u0441\u043B\u0438 \u0442\u044B \u043F\u043E\u043B\u0430\u0433\u0430\u0435\u0448\u044C\u0441\u044F \u043D\u0430 Blockbench \u0434\u043B\u044F \u0432\u0430\u0436\u043D\u044B\u0445 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432.","data.separator.spacer":"\u0420\u0430\u0441\u043F\u043E\u0440\u043A\u0430","data.separator.linebreak":"\u0420\u0430\u0437\u0440\u044B\u0432 \u0441\u0442\u0440\u043E\u043A\u0438","data.setting":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430","generic.select_all":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451","generic.select_none":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","projects.new_tab":"\u041D\u043E\u0432\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430","projects.close_tab":"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443","message.invalid_format.title":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442","message.invalid_format.message":"\u042D\u0442\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043E\u0437\u0434\u0430\u043D\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 %0, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0432 \u0442\u0432\u043E\u0451\u043C Blockbench. \u0421\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E, \u0442\u0435\u0431\u0435 \u043F\u043E\u043D\u0430\u0434\u043E\u0431\u0438\u0442\u0441\u044F \u043F\u043B\u0430\u0433\u0438\u043D \u0434\u043B\u044F \u0435\u0433\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F.","message.invalid_link":"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430\u044F \u0438\u043B\u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044F \u0441\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C","message.default_textures.current":"\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u043F\u0443\u0442\u044C","message.update_after_restart":"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u0435","message.copy_paste_tool_viewport":"\u042D\u0442\u043E\u0442 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0442\u043E\u043B\u044C\u043A\u043E \u0432 UV \u043F\u0430\u043D\u0435\u043B\u0438","dialog.project.shadow_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043D\u0438","dialog.find_replace.target":"\u0426\u0435\u043B\u044C","dialog.find_replace.target.element_names":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","dialog.find_replace.target.group_names":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0433\u0440\u0443\u043F\u043F","dialog.find_replace.target.animation_names":"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","dialog.find_replace.target.keyframe_values":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","dialog.find_replace.find":"\u041D\u0430\u0439\u0442\u0438","dialog.find_replace.replace":"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C","dialog.find_replace.regex":"\u041E\u0431\u044B\u0447\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0435","dialog.add_primitive.shape":"\u0424\u043E\u0440\u043C\u0430","dialog.add_primitive.shape.circle":"\u041A\u0440\u0443\u0433","dialog.add_primitive.shape.tube":"\u0422\u0440\u0443\u0431\u0430","dialog.add_primitive.shape.cone":"\u041A\u043E\u043D\u0443\u0441","dialog.add_primitive.shape.cylinder":"\u0426\u0438\u043B\u0438\u043D\u0434\u0440","dialog.add_primitive.shape.sphere":"\u0421\u0444\u0435\u0440\u0430","dialog.add_primitive.shape.torus":"\u0422\u043E\u0440\u0443\u0441","dialog.add_primitive.shape.cube":"\u041F\u0430\u0440\u0430\u043B\u043B\u0435\u043B\u0435\u043F\u0438\u043F\u0435\u0434","dialog.add_primitive.shape.pyramid":"\u041F\u0438\u0440\u0430\u043C\u0438\u0434\u0430","dialog.add_primitive.diameter":"\u0414\u0438\u0430\u043C\u0435\u0442\u0440","dialog.add_primitive.height":"\u0412\u044B\u0441\u043E\u0442\u0430","dialog.add_primitive.sides":"\u0421\u0442\u043E\u0440\u043E\u043D\u044B","dialog.add_primitive.minor_diameter":"\u0422\u043E\u043B\u0449\u0438\u043D\u0430","dialog.add_primitive.minor_sides":"\u041C\u0430\u043B\u044B\u0435 \u0441\u0435\u0433\u043C\u0435\u043D\u0442\u044B","dialog.create_texture.combine_polys":"\u0421\u0448\u0438\u0442\u044C UV-\u043E\u0441\u0442\u0440\u043E\u0432\u0430","dialog.create_texture.combine_polys.desc":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u0438 \u0432 \u043A\u043B\u0430\u0441\u0442\u0435\u0440\u044B UV-\u043E\u0441\u0442\u0440\u043E\u0432\u043E\u0432","dialog.model_stats.meshes":"\u041C\u044D\u0448\u0438","dialog.export_private_settings.omit":"\u0412\u044B\u043F\u0443\u0441\u0442\u0438\u0442\u044C","layout.select":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C","layout.options":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","layout.color":"\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u0441\u0445\u0435\u043C\u0430","layout.documentation":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F","layout.color.bright_ui_text":"\u042F\u0440\u043A\u0438\u0439 UI","layout.color.bright_ui_text.desc":"\u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u044F\u0440\u043A\u0438\u0445 \u0444\u043E\u043D\u0430\u0445","layout.name":"\u0418\u043C\u044F","layout.author":"\u0410\u0432\u0442\u043E\u0440","settings.dialog.desc":'\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 "%0"',"settings.export_empty_groups":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u0433\u0440\u0443\u043F\u043F\u044B","settings.export_empty_groups.desc":"\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B \u0431\u0435\u0437 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430 \u0432 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0444\u0430\u0439\u043B\u0430\u0445","category.separators":"\u0420\u0430\u0437\u044A\u0435\u0434\u0435\u043D\u0438\u0442\u0435\u043B\u0438","keybind.preview_area_select":"\u0412\u044B\u0431\u043E\u0440 \u041E\u0431\u043B\u0430\u0441\u0442\u0438","action.color_erase_mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0438\u0440\u0430\u043D\u0438\u044F","action.color_erase_mode.desc":"\u041F\u0440\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0442\u0438\u0440\u0430\u043D\u0438\u044F \u0442\u0430\u043A\u0438\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B, \u043A\u0430\u043A \xAB\u0417\u0430\u043B\u0438\u0432\u043A\u0430\xBB \u0438 \xAB\u041F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\xBB, \u0432\u044B\u0447\u0438\u0442\u0430\u044E\u0442 \u0446\u0432\u0435\u0442\u0430, \u0430 \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u044E\u0442 \u0438\u0445.","action.open_from_link":"\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435...","action.open_from_link.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0438\u0437 blckbn.ch URL","action.import_obj":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 OBJ","action.import_obj.desc":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 OBJ-\u043C\u043E\u0434\u0435\u043B\u0438","action.add_plugin":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430","action.add_plugin.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D \u0447\u0435\u0440\u0435\u0437 Action Control","action.remove_plugin":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D","action.remove_plugin.desc":"\u0421\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D \u0447\u0435\u0440\u0435\u0437 Action Control","action.add_mesh":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043C\u044D\u0448\u0430","action.add_mesh.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043C\u044D\u0448 \u043D\u0430 \u0441\u0435\u0442\u043A\u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","action.add_texture_mesh":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043C\u044D\u0448\u0430 \u0441 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u0439","action.add_texture_mesh.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0430 \u0441\u0435\u0442\u043A\u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043C\u044D\u0448 \u0441 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u0439","action.find_replace":"\u041F\u043E\u0438\u0441\u043A/\u0437\u0430\u043C\u0435\u043D\u0430","action.find_replace.desc":"\u041D\u0430\u0439\u0442\u0438 \u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0447\u0430\u0441\u0442\u0438 \u0438\u043C\u0451\u043D","action.hide_everything_except_selection":"\u0421\u043F\u0440\u044F\u0442\u0430\u0442\u044C \u0432\u0441\u0451 \u043A\u0440\u043E\u043C\u0435 \u0432\u044B\u0431\u043E\u0440\u0430","action.hide_everything_except_selection.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u0441\u0435\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043A\u0440\u043E\u043C\u0435 \u0442\u0435\u0445 \u0447\u0442\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u044B","action.transform_space.normal":"\u041E\u0431\u044B\u0447\u043D\u044B\u0439","action.selection_mode":"\u0420\u0435\u0436\u0438\u043C \u0432\u044B\u0431\u043E\u0440\u0430","action.selection_mode.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u0430\u043A \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u044B \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","action.selection_mode.object":"\u041E\u0431\u044A\u0435\u043A\u0442","action.selection_mode.face":"\u0413\u0440\u0430\u043D\u044C","action.selection_mode.vertex":"\u0412\u0435\u0440\u0448\u0438\u043D\u0430","action.create_face":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0433\u0440\u0430\u043D\u0438 \u0438\u043B\u0438 \u0440\u0435\u0431\u0440\u0430","action.create_face.desc":"\u0421\u043E\u0437\u0434\u0430\u0451\u0442 \u043D\u043E\u0432\u043E\u044E \u0433\u0440\u0430\u043D\u044C \u0438\u043B\u0438 \u0440\u0435\u0431\u0440\u043E \u043C\u0435\u0436\u0434\u0443 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0430\u043C\u0438","action.convert_to_mesh":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044F \u0432 \u043C\u044D\u0448","action.convert_to_mesh.desc":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u043C\u044D\u0448\u0438","action.invert_face":"\u0418\u043D\u0432\u0435\u0440\u0441\u0438\u044F \u0433\u0440\u0430\u043D\u0438","action.invert_face.desc":"\u0418\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0438 \u0431\u044B\u043B\u0438 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B \u0432 \u043F\u0440\u043E\u0442\u0438\u0432\u043E\u043F\u043E\u043B\u043E\u0436\u043D\u043E\u043C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438","action.extrude_mesh_selection":"\u042D\u043A\u0441\u0442\u0440\u0443\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.extrude_mesh_selection.desc":"\u0412\u044B\u0434\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0447\u0430\u0441\u0442\u0438 \u043C\u044D\u0448\u0430","action.loop_cut":"\u0420\u0430\u0437\u0440\u0435\u0437\u0430\u0442\u044C \u043F\u0435\u0442\u043B\u0451\u0439","action.loop_cut.desc":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0448 \u043F\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0440\u0435\u0431\u0440\u0443 \u0432\u0434\u043E\u043B\u044C \u043F\u0435\u0442\u043B\u0438","action.merge_meshes":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u043C\u044D\u0448\u0435\u0439","action.merge_meshes.desc":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u0445 \u043C\u044D\u0448\u0435\u0439 \u0432 \u043E\u0434\u0438\u043D","action.keyframe_uniform":"\u0420\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u043E\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.keyframe_uniform.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u043E\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","menu.locator.ignore_inherited_scale":"\u0418\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0443\u043D\u0430\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","menu.texture.elements":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","uv_editor.transparent_face":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u0430\u044F \u0433\u0440\u0430\u043D\u044C","display.pose_angle":"\u0423\u0433\u043E\u043B \u043F\u043E\u0437\u044B (\u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430)","data.mesh":"\u041C\u044D\u0448","dialog.create_texture.type":"\u0422\u0438\u043F","dialog.create_texture.type.blank":"\u041F\u0443\u0441\u0442\u043E\u0442\u0430","dialog.create_texture.type.template":"\u0428\u0430\u0431\u043B\u043E\u043D","dialog.create_texture.type.color_map":"\u0421\u043F\u043B\u043E\u0448\u043D\u043E\u0439 \u0446\u0432\u0435\u0442","dialog.sketchfab_uploader.suggested_tags":"\u041F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u0435\u043C\u044B\u0435 \u0442\u0435\u0433\u0438","dialog.sketchfab_uploader.category":"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F","dialog.sketchfab_uploader.category2":"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F 2","layout.restore_backup":'\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u0442\u0435\u043C\u0430 "%0" \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D\u0430. \u041D\u0430\u0436\u043C\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0435\u0451.',"layout.borders":"\u041A\u0440\u0430\u044F","action.fill_mode.element":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442","action.inset_mesh_selection":"\u0412\u0441\u0442\u0430\u0432\u043A\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","action.inset_mesh_selection.desc":"\u0412\u0441\u0442\u0430\u0432\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0447\u0430\u0441\u0442\u0438 \u043C\u044D\u0448\u0430","action.dissolve_edges":"\u0420\u0430\u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0435 \u043A\u0440\u0430\u0451\u0432","action.dissolve_edges.desc":"\u0420\u0430\u0441\u0442\u0432\u043E\u0440\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0440\u0435\u0431\u0440\u0430 \u0432 \u0441\u0435\u0442\u043A\u0435 \u0438 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u0438, \u0440\u0430\u0437\u0434\u0435\u043B\u044F\u0435\u043C\u044B\u0435 \u0438\u043C\u0438","action.split_mesh":"\u0420\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u043C\u044D\u0448\u0435\u0439","action.split_mesh.desc":"\u041E\u0442\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438 \u0432 \u043D\u043E\u0432\u044B\u0439 \u043C\u044D\u0448","action.merge_vertices":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0432\u0435\u0440\u0448\u0438\u043D","action.merge_vertices.desc":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u0432 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0432\u043E\u0439 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0432\u0435\u0440\u0448\u0438\u043D\u044B","action.view_mode.normal":"\u041E\u0440\u0438\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u0433\u0440\u0430\u043D\u0438","action.snap_uv_to_pixels":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C UV \u043A \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u043C","action.snap_uv_to_pixels.desc":"\u041F\u0440\u0438\u0432\u044F\u0437\u044B\u0432\u0430\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B UV \u043A \u043F\u0438\u043A\u0441\u0435\u043B\u044C\u043D\u043E\u0439 \u0441\u0435\u0442\u043A\u0435.","menu.file.import.import_open_project":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 \u043F\u0440\u043E\u0435\u043A\u0442","menu.help.unlock_projects":"\u0420\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B","status_bar.selection.faces":"%0 \u0433\u0440\u0430\u043D\u0438","status_bar.selection.vertices":"%0 \u0432\u0435\u0440\u0448\u0438\u043D\u044B","message.merged_vertices":"\u041D\u0430\u0439\u0434\u0435\u043D\u044B \u0438 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u044B %0 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u0432 %1 \u043C\u0435\u0441\u0442\u0430\u0445","settings.vertex_merge_distance":"\u0420\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0434\u043B\u044F \u0441\u043B\u0438\u044F\u043D\u0438\u044F \u0432\u0435\u0440\u0448\u0438\u043D","settings.vertex_merge_distance.desc":"\u0420\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435, \u0432 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u0445 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u044F\u044E\u0442\u0441\u044F \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F \u043F\u043E \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u044E","settings.show_only_selected_uv":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 UV","settings.show_only_selected_uv.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 UV-\u0433\u0440\u0430\u043D\u0435\u0439 \u0432 UV-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.","action.merge_vertices.merge_all":"\u041A \u043F\u0435\u0440\u0432\u043E\u0439 \u0432\u0435\u0440\u0448\u0438\u043D\u0435","action.merge_vertices.merge_all_in_center":"\u041A \u0446\u0435\u043D\u0442\u0440\u0443 \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0448\u0438\u043D","action.merge_vertices.merge_by_distance":"\u041F\u043E \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u043C \u0432\u0435\u0440\u0448\u0438\u043D\u0430\u043C","action.merge_vertices.merge_by_distance_in_center":"\u041F\u043E \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u043C \u0432 \u0446\u0435\u043D\u0442\u0440\u0435","action.uv_rotate_left":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C UV \u0432\u043B\u0435\u0432\u043E","action.uv_rotate_left.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438 UV \u043F\u0440\u043E\u0442\u0438\u0432 \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0438","action.uv_rotate_right":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C UV \u0432\u043F\u0440\u0430\u0432\u043E","action.uv_rotate_right.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438 UV \u043F\u043E \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0435.","menu.uv.display_uv":"\u0414\u0438\u0441\u043F\u043B\u0435\u0439 UV","menu.uv.display_uv.selected_faces":"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438","menu.uv.display_uv.selected_elements":"\u0412\u0441\u0435 \u0433\u0440\u0430\u043D\u0438","menu.uv.display_uv.all_elements":"\u0412\u0441\u0435 \u0433\u0440\u0430\u043D\u0438 \u043D\u0430 \u0432\u0441\u0435\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445","menu.paste.face":"\u0413\u0440\u0430\u043D\u044C UV","menu.paste.mesh_selection":"\u0412\u044B\u0431\u043E\u0440 \u043C\u044D\u0448\u0430","menu.paste.outliner":"\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","uv_editor.show_all_faces":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0430\u043D\u0438","uv_editor.show_selected_faces":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438","status_bar.selection.edges":"%0 \u0440\u0451\u0431\u0440","action.selection_mode.edge":"\u0420\u0435\u0431\u0440\u043E","message.cannot_re_import.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0440\u0435-\u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C","message.cannot_re_import.message":"\u0424\u043E\u0440\u043C\u0430\u0442 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u043C\u043E\u0434\u0435\u043B\u0438 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0435\u0440\u0435\u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D \u0432 Blockbench. \u0423\u0431\u0435\u0434\u0438\u0441\u044C, \u0447\u0442\u043E \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430 \u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u043D\u043E\u043C \u0432\u0438\u0434\u0435","generic.default":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","units.pixels_per_meter":"%0 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439 \u043D\u0430 \u043C\u0435\u0442\u0440","mode.pose":"\u041F\u043E\u0437\u0430","modifier_actions.resize_both_sides":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0432 \u043E\u0431\u043E\u0438\u0445 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445","modifier_actions.resize_one_side":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0432 \u043E\u0434\u043D\u043E\u043C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438","modifier_actions.draw_line":"\u041D\u0430\u0440\u0438\u0441\u043E\u0432\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u044E","modifier_actions.drag_without_snapping":"\u041F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0435 \u0431\u0435\u0437 \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0438","modifier_actions.stretch_keyframes":"\u0420\u0430\u0441\u0442\u044F\u043D\u0443\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B","modifier_actions.resize_background":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u043E\u043D\u0430","modifier_actions.select_multiple":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E","modifier_actions.select_range":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0435\u0440\u0438\u043E\u0434","modifier_actions.drag_to_duplicate":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438, \u0447\u0442\u043E\u0431\u044B \u0434\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C","modifier_actions.uniform_scaling":"\u0420\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u043E\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","modifier_actions.snap_direction":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435","message.no_valid_elements":"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432...","dialog.add_primitive.shape.plane":"\u041F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C","dialog.save_angle.rotation_mode":"\u0420\u0435\u0436\u0438\u043C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F","dialog.save_angle.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0432\u043A\u043B\u0430\u0434\u043E\u043A","settings.hide_tab_bar.desc":"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0432\u043A\u043B\u0430\u0434\u043E\u043A \u043A\u043E\u0433\u0434\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u0430 \u043E\u0434\u043D\u0430 \u0432\u043A\u043B\u0430\u0434\u043A\u0430","settings.status_bar_modifier_keys":"\u041F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u0442\u044C \u043A\u043B\u044E\u0447\u0438-\u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u044B \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F","settings.status_bar_modifier_keys.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E-\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u044B\u0445 \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u0435\u043C\u044B\u0445 \u043A\u043B\u0430\u0432\u0438\u0448-\u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u0432 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F","settings.ground_plane":"\u041F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C \u0437\u0435\u043C\u043B\u0438","settings.ground_plane.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C \u043F\u043E\u0434 \u043C\u043E\u0434\u0435\u043B\u044C\u044E","settings.preview_paste_behavior":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","settings.preview_paste_behavior.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C, \u0447\u0442\u043E \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u0435\u0441\u043B\u0438 \u0432 \u043D\u0451\u043C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439","settings.preview_paste_behavior.always_ask":"\u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044C","action.new_window":"\u041D\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E","action.new_window.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E Blockbench","action.export_collada":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 Collada (DAE)","action.export_collada.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043A\u0430\u043A DAE-\u0444\u0430\u0439\u043B \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430\u0445","action.paint_mode_uv_overlay":"UV-\u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u0435","action.paint_mode_uv_overlay.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 UV-\u043A\u0430\u0440\u0442\u044B \u0432 \u0432\u0438\u0434\u0435 \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F","action.bake_animation_into_model":"\u0417\u0430\u043F\u0435\u0447\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0432 \u043C\u043E\u0434\u0435\u043B\u044C","action.bake_animation_into_model.desc":"\u0417\u0430\u043F\u0435\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u043C\u044B\u0439 \u043A\u0430\u0434\u0440 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0432 \u043C\u043E\u0434\u0435\u043B\u044C. \u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0438 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435, \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044F.","action.keyframe_interpolation.step":"\u041F\u043E\u0448\u0430\u0433\u043E\u0432\u044B\u0439","action.set_ik_target":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0446\u0435\u043B\u044C IK","action.set_ik_target.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0446\u0435\u043B\u0435\u0432\u0443\u044E \u043A\u043E\u0441\u0442\u044C, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0430 \u044D\u0442\u0438\u043C \u043D\u0443\u043B\u0435\u0432\u044B\u043C \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u043C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0438\u043D\u0432\u0435\u0440\u0441\u043D\u043E\u0439 \u043A\u0438\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0438.","menu.action_control.type.tab":"\u0412\u043A\u043B\u0430\u0434\u043A\u0430","menu.action_control.type.angle":"\u0423\u0433\u043E\u043B \u043A\u0430\u043C\u0435\u0440\u044B","menu.action_control.recent_in_streamer_mode":"\u0422\u043E\u0447\u043D\u043E? \u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430 \u0432\u043A\u043B\u044E\u0447\u0451\u043D","menu.action_control.recent_in_streamer_mode.desc":"\u0422\u044B \u0442\u043E\u0447\u043D\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438?","menu.tools":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B","menu.file.recent.more":"\u0421\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0435\u0449\u0451...","menu.null_object.lock_ik_target_rotation":"\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430 \u0446\u0435\u043B\u0438 IK","menu.animation_file.import_remaining":"\u0418\u043C\u043F\u043E\u0440\u0442 \u043E\u0441\u0442\u0430\u0442\u043A\u0430 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430","edit.loop_cut.offset":"\u041A\u043E\u043C\u043F\u0435\u043D\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C","edit.extrude_mesh_selection.extend":"\u041F\u0440\u043E\u0434\u043B\u0435\u0432\u0430\u0442\u044C","cube.color.pink":"\u0420\u043E\u0437\u043E\u0432\u044B\u0439","cube.color.silver":"\u0421\u0435\u0440\u0435\u0431\u0440\u0438\u0441\u0442\u044B\u0439","dialog.plugins.offline":"\u041D\u0435\u0442 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043A \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443","dialog.create_texture.pixel_density":"\u041F\u043B\u043E\u0442\u043D\u043E\u0441\u0442\u044C \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439","dialog.create_texture.pixel_density.desc":"\u041F\u043B\u043E\u0442\u043D\u043E\u0441\u0442\u044C \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B, \u0438\u0437\u043C\u0435\u0440\u044F\u0435\u043C\u0430\u044F \u0432 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u0445 \u043D\u0430 \u043C\u0435\u0442\u0440. \u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043C\u043E\u0436\u0435\u0442 \u0432\u0430\u0440\u044C\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438 \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u0432 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432.","panel.skin_pose":"\u041F\u043E\u0437\u0430","panel.skin_pose.none":"\u041D\u0435\u0442","panel.skin_pose.natural":"\u041D\u0430\u0442\u0443\u0440\u0430\u043B\u044C\u043D\u043E","panel.skin_pose.walking":"\u0425\u043E\u0434\u044C\u0431\u0430","panel.skin_pose.crouching":"\u041F\u043E\u043B\u0437\u0430\u043D\u0438\u0435","panel.skin_pose.sitting":"\u0421\u0438\u0434\u0435\u043D\u0438\u0435","panel.skin_pose.jumping":"\u041F\u0440\u044B\u0436\u043E\u043A","panel.skin_pose.aiming":"\u041F\u0440\u0438\u0446\u0435\u043B\u0438\u0432\u0430\u043D\u0438\u0435","edit.loop_cut.direction":"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435","data.texture_mesh":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043C\u044D\u0448\u0430","generic.left":"\u041B\u0435\u0432\u044B\u0439","generic.right":"\u041F\u0440\u0430\u0432\u044B\u0439","mode.start.quick_setup":"\u0411\u044B\u0441\u0442\u0440\u0430\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430","mode.start.keymap":"\u0440\u0430\u0441\u043A\u043B\u0430\u0434\u043A\u0430","mode.start.quick_setup.more_themes":"\u0411\u043E\u043B\u0435\u0435...","dialog.resize_texture.animation_frames":"\u041A\u0430\u0434\u0440\u044B \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","dialog.export_emission_map.title":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C Emission \u043A\u0430\u0440\u0442\u0443","dialog.export_emission_map.format":"\u0424\u043E\u0440\u043C\u0430\u0442","dialog.export_emission_map.format.luminance":"\u042F\u0440\u043A\u043E\u0441\u0442\u044C","dialog.export_emission_map.format.luminance_inverted":"\u0418\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u044F\u0440\u043A\u043E\u0441\u0442\u044C","dialog.export_emission_map.format.colors":"\u0426\u0432\u0435\u0442\u0430","dialog.export_emission_map.threshold":"\u041F\u0440\u0435\u0434\u0435\u043B \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438","dialog.export_emission_map.round_up":"\u041E\u043A\u0440\u0443\u0433\u043B\u0438\u0442\u044C \u0434\u043E %0 x %1","dialog.export_emission_map.flip_y":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C Y \u043E\u0441\u044C","dialog.select.type":"\u0422\u0438\u043F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","dialog.create_texture.max_edge_angle":"\u041F\u043E\u0440\u043E\u0433 \u0443\u0433\u043B\u0430 \u0440\u0435\u0431\u0440\u0430","dialog.create_texture.max_edge_angle.desc":"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0443\u0433\u043E\u043B \u043C\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043C\u044F \u0433\u0440\u0430\u043D\u044F\u043C\u0438 \u0434\u043B\u044F \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F \u0432 UV-\u043E\u0441\u0442\u0440\u043E\u0432","dialog.create_texture.max_island_angle":"\u041F\u043E\u0440\u043E\u0433 \u0443\u0433\u043B\u0430 UV-\u043E\u0441\u0442\u0440\u043E\u0432\u0430","dialog.create_texture.max_island_angle.desc":"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0443\u0433\u043E\u043B \u043C\u0435\u0436\u0434\u0443 \u043D\u043E\u0440\u043C\u0430\u043B\u044F\u043C\u0438 \u0434\u043B\u044F \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F \u0432 UV-\u043E\u0441\u0442\u0440\u043E\u0432","settings.mobile_panel_side":"\u0421\u0442\u043E\u0440\u043E\u043D\u0430 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0439 \u043F\u0430\u043D\u0435\u043B\u0438","settings.mobile_panel_side.desc":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043D\u0430 \u043A\u0430\u043A\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435 \u044D\u043A\u0440\u0430\u043D\u0430 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043F\u0430\u043D\u0435\u043B\u0438 \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 Blockbench \u0432 \u0430\u043B\u044C\u0431\u043E\u043C\u043D\u043E\u0439 \u043E\u0440\u0438\u0435\u043D\u0442\u0430\u0446\u0438\u0438.","settings.obj_face_export_mode":"\u0420\u0435\u0436\u0438\u043C OBJ \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 \u0433\u0440\u0430\u043D\u0435\u0439","settings.obj_face_export_mode.desc":"\u0412\u044B\u0431\u0435\u0440\u0438, \u0447\u0442\u043E\u0431\u044B \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C OBJ-\u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0435\u0440\u0443 \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0433\u0440\u0430\u043D\u0438 \u0432 \u0442\u0440\u0435\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438 \u0438\u043B\u0438 \u0447\u0435\u0442\u044B\u0440\u0451\u0445\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438","settings.obj_face_export_mode.both":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","settings.obj_face_export_mode.tris":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0442\u0440\u0435\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438","settings.obj_face_export_mode.quads":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0447\u0435\u0442\u044B\u0440\u0451\u0445\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438","action.seam_tool":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \xAB\u0428\u043E\u0432\xBB","action.seam_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F UV-\u0448\u0432\u043E\u0432 \u043D\u0430 \u043A\u0440\u0430\u044F\u0445 \u0441\u0435\u0442\u043A\u0438.","action.resolve_group":"\u0413\u0440\u0443\u043F\u043F\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F","action.resolve_group.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443, \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u044F \u0435\u0435 \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0442\u043E\u043C \u0436\u0435 \u043C\u0435\u0441\u0442\u0435","action.move_to_group":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0432 \u0433\u0440\u0443\u043F\u043F\u0443","action.move_to_group.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0434\u0440\u0443\u0433\u0443\u044E \u0433\u0440\u0443\u043F\u043F\u0443 \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A\u0430","action.select_seam":"\u0412\u044B\u0431\u0435\u0440\u0438 UV-\u0448\u043E\u0432","action.select_seam.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0440\u0435\u0436\u0438\u043C \u0448\u0432\u0430 UV \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0440\u0430\u0435\u0432.","action.select_seam.auto":"\u0410\u0432\u0442\u043E","action.select_seam.join":"\u041F\u0440\u0438\u0441\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C","action.select_seam.divide":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C","action.adjust_brightness_contrast":"\u042F\u0440\u043A\u043E\u0441\u0442\u044C \u0438 \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u043E\u0441\u0442\u044C...","action.adjust_brightness_contrast.desc":"\u041E\u0442\u0440\u0435\u0433\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u044F\u0440\u043A\u043E\u0441\u0442\u044C \u0438 \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u043E\u0441\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.adjust_saturation_hue":"\u041D\u0430\u0441\u044B\u0449\u0435\u043D\u043D\u043E\u0441\u0442\u044C \u0438 \u043E\u0442\u0442\u0435\u043D\u043E\u043A...","action.adjust_saturation_hue.desc":"\u041E\u0442\u0440\u0435\u0433\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u044B\u0449\u0435\u043D\u043D\u043E\u0441\u0442\u044C \u0438 \u043E\u0442\u0442\u0435\u043D\u043E\u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.invert_colors":"\u0418\u043D\u0432\u0435\u0440\u0441\u0438\u044F \u0446\u0432\u0435\u0442\u0430","action.invert_colors.desc":"\u0418\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0446\u0432\u0435\u0442\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.adjust_curves":"\u041A\u0440\u0438\u0432\u044B\u0435...","action.adjust_curves.desc":"\u041E\u0442\u0440\u0435\u0433\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0440\u0438\u0432\u044B\u0435 \u044F\u0440\u043A\u043E\u0441\u0442\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.flip_texture_x":"\u041E\u0442\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u043E-\u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438","action.flip_texture_y":"\u041E\u0442\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u043E-\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438","action.resize_texture":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B...","action.view_mode.uv":"\u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 UV","action.append_to_template":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432 \u0448\u0430\u0431\u043B\u043E\u043D...","action.append_to_template.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0432 \u0434\u0430\u043D\u043D\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.move_texture_with_uv":"\u0421\u0434\u0432\u0438\u0433 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E UV","action.move_texture_with_uv.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u043B\u0438\u0446\u0430 \u043F\u0440\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0438 UV-\u0433\u0440\u0430\u043D\u0435\u0439","action.timeline_setups":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","action.save_timeline_setup":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B...","action.save_timeline_setup.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0432 \u0434\u0430\u043D\u043D\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0430\u043D\u0438\u043C\u0430\u0442\u043E\u0440\u043E\u0432 \u0438 \u043A\u0430\u043D\u0430\u043B\u043E\u0432","menu.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","menu.texture.render_mode.default":"\u041E\u0431\u044B\u0447\u043D\u044B\u0439","menu.texture.merge_onto_texture":"\u0421\u043B\u0438\u044F\u043D\u0438\u0435 \u0421 \u0422\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u0439 \u0412\u044B\u0448\u0435","menu.animation.unload":"\u0420\u0430\u0437\u0433\u0440\u0443\u0437\u0438\u0442\u044C","panel.timeline":"\u0422\u0430\u0439\u043C\u043B\u0430\u0439\u043D","action.pan_tool":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u043F\u0430\u043D\u043E\u0440\u0430\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","action.pan_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0432 \u043E\u043A\u043D\u0435 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","mode.start.recent.favorite":"\u041F\u043E\u043C\u0435\u0442\u0438\u0442\u044C \u043A\u0430\u043A \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435","mode.start.info":"\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F","mode.start.target":"\u041F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F","mode.start.start":"\u041D\u0430\u0447\u0438\u043D\u0430\u0442\u044C","mode.start.create_new":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C","mode.start.format.informations":"\u0424\u0430\u043A\u0442\u044B \u043A\u0430\u0441\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u044D\u0442\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u043C\u043E\u0434\u0435\u043B\u0438:","mode.start.format.resources":"\u0420\u0435\u0441\u0443\u0440\u0441\u044B:","format.free.info.meshes":"\u0412 \u044D\u0442\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0442\u044B \u043C\u043E\u0436\u0435\u0448\u044C \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043D\u0438\u0437\u043A\u043E\u043F\u043E\u043B\u0438\u0433\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u0438, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u043A\u0443\u0431\u044B \u0438 \u043C\u044D\u0448\u0438 \u043D\u0435\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u043E\u0439 \u0444\u043E\u0440\u043C\u044B.","format.free.info.limitation":"\u041C\u043E\u0434\u0435\u043B\u0438 \u043D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0432 \u0438\u0433\u0440\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043D\u0443\u0436\u043D\u044B \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0444\u043E\u0440\u043C\u0430\u0442\u044B, \u0442\u0430\u043A\u0438\u0435 \u043A\u0430\u043A Minecraft.","format.skin.info.skin":"\u042D\u0442\u043E\u0442 \u0444\u043E\u0440\u043C\u0430\u0442 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0441\u043A\u0438\u043D\u043E\u0432 Minecraft \u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439.","format.skin.info.model":"\u041C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430. \u0427\u0442\u043E\u0431\u044B \u0432\u043D\u0435\u0441\u0442\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0432 \u043C\u043E\u0434\u0435\u043B\u044C, \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0439 \u0435\u0451 \u0432 \u0434\u0440\u0443\u0433\u043E\u0439 \u0444\u043E\u0440\u043C\u0430\u0442.","format.java_block.info.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u044B \u0448\u0430\u0433\u0430\u043C\u0438 \u0432 22,5 \u0433\u0440\u0430\u0434\u0443\u0441\u0430 \u0438 \u043E\u0434\u043D\u043E\u0439 \u043E\u0441\u044C\u044E \u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442.","format.java_block.info.size":"\u041C\u043E\u0434\u0435\u043B\u044C \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u043C 3 \u043D\u0430 3 \u043D\u0430 3 \u0431\u043B\u043E\u043A\u0430. \u041E\u0434\u043D\u0430\u043A\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043C\u043E\u0433\u0443\u0442 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0438 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u0432 \u0431\u043E\u043B\u044C\u0448\u0435 \u0434\u043E \u0447\u0435\u0442\u044B\u0440\u0451\u0445 \u0440\u0430\u0437.","format.java_block.info.animation":"\u042D\u0442\u043E\u0442 \u0444\u043E\u0440\u043C\u0430\u0442 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u0434\u043B\u044F Minecraft JE. \u041F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u043C\u043E\u0434\u043E\u0432 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0432\u0438\u0436\u043E\u043A GeckoLib \u0434\u043B\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043C\u043E\u0434\u0435\u043B\u0435\u0439.","format.bedrock.info.textures":"\u041A\u0430\u0436\u0434\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u043C\u043E\u0436\u0435\u0442 \u0438\u043C\u0435\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","format.bedrock_block":"\u0411\u043B\u043E\u043A Minecraft BE","format.bedrock_block.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0430 \u0434\u043B\u044F Minecraft BE","format.modded_entity.info.integer_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0443\u0431\u043E\u0432 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D \u0446\u0435\u043B\u044B\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438.","format.modded_entity.info.format":"\u041C\u043E\u0434\u0435\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u0432 \u043A\u043E\u0434\u0435 Java, \u0430 \u043D\u0435 \u0432 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0445 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\u0445 \u0434\u0430\u043D\u043D\u044B\u0445, \u043A\u0430\u043A \u0432\u043E \u0432\u0441\u0435\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u043E\u0440\u043C\u0430\u0442\u0430\u0445 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 Blockbench.","format.optifine_entity.info.optifine_required":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u043E\u0433\u043E OptiFine \u043D\u0435 \u0443\u0432\u0438\u0434\u044F\u0442 \u043C\u043E\u0434\u0435\u043B\u044C.","format.optifine_entity.info.pivots":"\u041A\u043E\u0441\u0442\u043D\u044B\u0435 \u0448\u0430\u0440\u043D\u0438\u0440\u044B \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u044B, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u0445 \u043D\u0435\u0442\u0440\u043E\u043D\u0443\u0442\u044B\u043C\u0438.","format_category.low_poly":"\u041D\u0438\u0437\u043A\u043E\u043F\u043E\u043B\u0438\u0433\u043E\u043D\u0430\u043B\u044C\u043D\u0430\u044F","format_category.minecraft":"Minecraft","format_category.other":"\u0414\u0440\u0443\u0433\u043E\u0435","format_category.loaders":"\u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A","message.recover_backup.recover":"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C","message.invalid_characters.title":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043F\u0443\u0442\u044C","message.invalid_characters.message":"\u041F\u0443\u0442\u044C \u043A \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u043C\u043E\u043C\u0443 \u0444\u0430\u0439\u043B\u0443 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B, \u0431\u0443\u043A\u0432\u044B \u0432\u0435\u0440\u0445\u043D\u0435\u0433\u043E \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u0435\u043B\u044B. \u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B: %0","dialog.share_model.thumbnail":"\u041C\u0438\u043D\u0438\u0430\u0442\u044E\u0440\u0430","dialog.skin.high_res_texture":"\u041E\u0431\u0440\u0430\u0442\u0438 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u0441\u043A\u0438\u043D\u044B \u0441 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u043D\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043A\u0430\u043A \u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u0441\u043A\u0438\u043D\u044B Minecraft. \u0412\u044B\u0431\u0435\u0440\u0438 \u043C\u0435\u043D\u044C\u0448\u0435\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435.","settings.allow_display_slot_mirror":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u043B\u043E\u0442\u0430 \u0434\u0438\u0441\u043F\u043B\u0435\u044F","settings.allow_display_slot_mirror.desc":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0442\u043E\u0432 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 Java. \u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u042D\u0442\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043E \u0432\u0435\u0440\u0441\u0438\u0438 Minecraft 1.14 \u0438\u043B\u0438 \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u043E\u0441\u043E\u0431\u044B\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445.","action.switch_tabs":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0438","action.switch_tabs.desc":"\u0426\u0438\u043A\u043B \u043C\u0435\u0436\u0434\u0443 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u043C\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0430\u043C\u0438. \u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439 Shift \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0432 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u043C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438.","action.unselect_all":"\u0421\u043D\u044F\u0442\u044C \u0432\u0441\u0435","action.save_palette":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0430\u043B\u0438\u0442\u0440\u0443...","action.save_palette.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u043F\u0430\u043B\u0438\u0442\u0440\u0443 \u0432 Blockbench \u0434\u043B\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F.","action.keyframe_column_create":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u0442\u043E\u043B\u0431\u0435\u0446 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430","action.keyframe_column_create.desc":"\u0412\u043A\u043B\u044E\u0447\u0438 \u0432\u0441\u0435 \u043A\u0430\u043D\u0430\u043B\u044B \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435 \u0441 \u0442\u0435\u043A\u0443\u0449\u0438\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C \u043A\u043E\u0434\u043E\u043C, \u0435\u0441\u043B\u0438 \u0443 \u043D\u0438\u0445 \u0443\u0436\u0435 \u0435\u0441\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B.","action.keyframe_column_select":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0441\u0442\u043E\u043B\u0431\u0435\u0446 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430","action.keyframe_column_select.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0432\u0441\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435 \u0432 \u0441\u0442\u043E\u043B\u0431\u0446\u0435 \u043F\u043E\u0434 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u0435\u043C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F.","menu.uv":"UV","menu.keyframe":"\u041A\u043B\u044E\u0447\u0435\u0432\u043E\u0439 \u043A\u0430\u0434\u0440","menu.palette.load.update":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0430\u043B\u0438\u0442\u0440\u0443","menu.palette.load.update.desc":"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442 \u044D\u0442\u0443 \u043F\u0430\u043B\u0438\u0442\u0440\u0443 \u0446\u0432\u0435\u0442\u0430\u043C\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u043F\u0430\u043B\u0438\u0442\u0440\u044B Blockbench.","menu.timeline_marker.set_time":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0440\u0435\u043C\u044F...","uv_editor.scale_uv":"\u0428\u043A\u0430\u043B\u0430 UV","action.preview_scene":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0441\u0446\u0435\u043D\u044B","action.preview_scene.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0446\u0435\u043D\u0443 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","preview_scene.minecraft_overworld":"\u0412\u0435\u0440\u0445\u043D\u0438\u0439 \u043C\u0438\u0440","preview_scene.minecraft_nether":"\u0427\u0438\u0441\u0442\u0438\u043B\u0438\u0449\u0435","preview_scene.minecraft_end":"\u041A\u0440\u0430\u0439","dialog.project.modded_entity_flip_y":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C \u043E\u0441\u044C Y","preview_scene.studio":"\u0421\u0442\u0443\u0434\u0438\u044F","format.image":"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","modifier_actions.set_copy_source":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","message.load_images.title":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","message.load_images.edit_image":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","dialog.add_primitive.align_edges":"\u0412\u044B\u0440\u043E\u0432\u043D\u044F\u0442\u044C \u043A\u0440\u0430\u044F","dialog.flip_animation.show_in_timeline":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u0441\u0442\u0438 \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435","settings.default_cube_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043A\u0443\u0431\u0430","settings.default_cube_size.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u0443\u0431\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0438 \u043D\u043E\u0432\u043E\u0433\u043E \u043A\u0443\u0431\u0430","settings.uniform_keyframe":"\u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B \u0435\u0434\u0438\u043D\u043E\u0433\u043E \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0430","settings.uniform_keyframe.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432 \u043D\u0430 \u0440\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u043E\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.","settings.nearest_rectangle_select":"\u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0430: \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u043A\u0440\u0430\u0439","settings.nearest_rectangle_select.desc":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u043F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438 \u043A \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u043F\u0438\u043A\u0441\u0435\u043B\u044F, \u043A\u0430\u043A \u0432 GIMP, \u0430 \u043D\u0435 \u043A \u0446\u0435\u043B\u044B\u043C \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u043C.","settings.pick_color_opacity":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u0446\u0432\u0435\u0442\u0430","settings.pick_color_opacity.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u0446\u0432\u0435\u0442\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u0430\u043B\u0438\u0442\u0440\u044B \u0446\u0432\u0435\u0442\u043E\u0432 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438 \u0435\u0451 \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438 \u043A\u0438\u0441\u0442\u0438.","settings.paint_with_stylus_only":"\u0420\u0438\u0441\u043E\u0432\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043E \u0441\u0442\u0438\u043B\u0443\u0441\u043E\u043C","settings.paint_with_stylus_only.desc":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0438\u043B\u0443\u0441 \u0434\u043B\u044F \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F, \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0443\u044E \u043C\u044B\u0448\u044C \u0438\u043B\u0438 \u0441\u0435\u043D\u0441\u043E\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434 \u0434\u043B\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438.","action.copy_brush_mode":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u0436\u0438\u043C\u0430 \u043A\u0438\u0441\u0442\u0438","action.copy_brush_mode.copy":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.copy_brush_mode.pattern":"\u0428\u0430\u0431\u043B\u043E\u043D","action.copy_brush_mode.sample":"\u041E\u0431\u0440\u0430\u0437\u0435\u0446","action.brush_shape":"\u0424\u043E\u0440\u043C\u0430 \u043A\u0438\u0441\u0442\u0438","action.brush_shape.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442","action.brush_shape.circle":"\u041A\u0440\u0443\u0433","action.blend_mode":"\u0420\u0435\u0436\u0438\u043C \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u044F","action.blend_mode.default":"\u041E\u0431\u044B\u0447\u043D\u044B\u0439","action.blend_mode.set_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","action.blend_mode.color":"\u0426\u0432\u0435\u0442\u043E\u0432\u043E\u0439 \u0442\u043E\u043D","action.blend_mode.behind":"\u041F\u043E\u0434\u043B\u043E\u0436\u043A\u0430","action.blend_mode.multiply":"\u0423\u043C\u043D\u043E\u0436\u0435\u043D\u0438\u0435","action.blend_mode.divide":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C","action.blend_mode.add":"\u041B\u0438\u043D\u0435\u0439\u043D\u043E\u0435 \u0432\u044B\u0433\u043E\u0440\u0430\u043D\u0438\u0435","action.blend_mode.subtract":"\u0412\u044B\u0447\u0438\u0442\u0430\u043D\u0438\u0435","action.blend_mode.screen":"\u042D\u043A\u0440\u0430\u043D","action.blend_mode.overlay":"\u041D\u0430\u043B\u043E\u0436\u0435\u043D\u0438\u0435","action.blend_mode.hard_light":"\u0416\u0451\u0441\u0442\u043A\u0438\u0439 \u0441\u0432\u0435\u0442","action.blend_mode.difference":"\u0420\u0430\u0437\u043D\u0438\u0446\u0430","action.copy_brush":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u0438\u0441\u0442\u0438","action.copy_brush.desc":"\u041A\u0438\u0441\u0442\u044C \u0434\u043B\u044F \u043A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0447\u0430\u0441\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0438\u043B\u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0443\u0437\u043E\u0440\u043E\u0432. \u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044F Ctrl, \u043D\u0430\u0436\u043C\u0438, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.","action.validator_window":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043F\u0440\u043E\u0431\u043B\u0435\u043C \u0441 \u043C\u043E\u0434\u0435\u043B\u044C\u044E...","action.validator_window.desc":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0440\u043E\u0444\u0438\u043B\u0438\u0440\u043E\u0432\u0449\u0438\u043A, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u0441 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u043C\u043E\u0434\u0435\u043B\u044C\u044E.","action.cancel_gif":"\u041E\u0442\u043C\u0435\u043D\u0430 GIF","menu.text_edit.copy_vector":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0435\u043A\u0442\u043E\u0440","menu.brush_presets.dialog":"\u041F\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043A\u0438\u0441\u0442\u0435\u0439...","menu.brush_presets.pixel_brush":"\u041F\u0438\u043A\u0441\u0435\u043B\u044C\u043D\u0430\u044F \u043A\u0438\u0441\u0442\u044C","menu.brush_presets.smooth_brush":"\u0413\u043B\u0430\u0434\u043A\u0430\u044F \u043A\u0438\u0441\u0442\u044C","menu.texture.edit_in_blockbench":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 Blockbench","menu.mirror_painting.axis":"\u041E\u0441\u044C","menu.mirror_painting.axis.desc":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435, \u043F\u043E \u043A\u0430\u043A\u043E\u0439 \u043E\u0441\u0438 \u0448\u0442\u0440\u0438\u0445\u0438 \u043A\u0440\u0430\u0441\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F","menu.mirror_painting.global":"\u0413\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u0430\u044F \u0441\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u044F","menu.mirror_painting.global.desc":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435 \u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u0438 \u0432 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435","menu.mirror_painting.local":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u0441\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u044F","menu.mirror_painting.local.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u043C \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","menu.mirror_painting.texture_frames":"\u041F\u043E\u0432\u0442\u043E\u0440 \u043D\u0430 \u043A\u0430\u0434\u0440\u0430\u0445 \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","menu.mirror_painting.texture_frames.desc":"\u041E\u0442\u0440\u0430\u0436\u0430\u0439 \u043C\u0430\u0437\u043A\u0438 \u043A\u0440\u0430\u0441\u043A\u043E\u0439 \u0432 \u200B\u200B\u043A\u0430\u0436\u0434\u043E\u043C \u043A\u0430\u0434\u0440\u0435 \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440.","format.bedrock_block.info.size_limit":"\u041E\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0431\u043B\u043E\u043A\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D 30 \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u043C\u0438 \u0432\u043E \u0432\u0441\u0435\u0445 \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F\u0445. \u041F\u0440\u0435\u0434\u0435\u043B \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043C\u0435\u0449\u0451\u043D \u0432\u043E \u0432\u0441\u0435\u0445 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043D\u0430 7 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439 \u043E\u0442 \u0446\u0435\u043D\u0442\u0440\u0430 \u0431\u043B\u043E\u043A\u0430.","format.bedrock_block.info.textures":"\u041D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043A \u0440\u0430\u0437\u043D\u044B\u043C \u043A\u0443\u0431\u0430\u043C \u0432 Blockbench, \u043D\u043E \u0434\u043B\u044F \u0438\u0445 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0432 \u043F\u0430\u043A\u0435\u0442\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F.","format.image.desc":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 2D-\u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","generic.delete_all":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451","message.child_model_only.open":"\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C","message.child_model_only.open_with_textures":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0438 \u043F\u0440\u0438\u043D\u044F\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","dialog.project.credit":"\u041A\u0440\u0435\u0434\u0438\u0442","dialog.convert_project.create_copy":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u043E\u043F\u0438\u044E","dialog.texture.frame_time":"\u0412\u0440\u0435\u043C\u044F \u043A\u0430\u0434\u0440\u0430","dialog.texture.frame_time.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438, \u043A\u0430\u043A \u0434\u043E\u043B\u0433\u043E \u043A\u0430\u0436\u0434\u044B\u0439 \u043A\u0430\u0434\u0440 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0435\u043D \u0432 \u0442\u0438\u043A\u0430\u0445. \u041A\u0430\u0436\u0434\u044B\u0439 \u0442\u0438\u043A \u0440\u0430\u0432\u0435\u043D 1/20 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.","dialog.texture.frame_interpolate":"\u0418\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C","dialog.texture.frame_interpolate.desc":"\u0418\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0430\u0434\u0440\u044B \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043F\u0443\u0442\u0451\u043C \u043F\u043B\u0430\u0432\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430 \u043A \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C\u0443 \u043A\u0430\u0434\u0440\u0443","dialog.texture.frame_order_type":"\u0420\u0435\u0436\u0438\u043C \u0446\u0438\u043A\u043B\u0430","dialog.texture.frame_order_type.loop":"\u0426\u0438\u043A\u043B","dialog.texture.frame_order_type.backwards":"\u041E\u0431\u0440\u0430\u0442\u043D\u044B\u0439 \u0446\u0438\u043A\u043B","dialog.texture.frame_order_type.back_and_forth":"\u0422\u0443\u0434\u0430-\u0441\u044E\u0434\u0430","dialog.texture.frame_order_type.custom":"\u0421\u0432\u043E\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C","dialog.texture.frame_order":"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u043A\u0430\u0434\u0440\u043E\u0432","dialog.texture.frame_order.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u043A\u0430\u0434\u0440\u043E\u0432, \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0438\u0432 \u0438\u043D\u0434\u0435\u043A\u0441\u044B \u043A\u0430\u0434\u0440\u043E\u0432 \u0432 \u043D\u043E\u0432\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435. \u0418\u043D\u0434\u0435\u043A\u0441\u044B \u043A\u0430\u0434\u0440\u043E\u0432 \u043D\u0430\u0447\u0438\u043D\u0430\u044E\u0442\u0441\u044F \u0441 0.","dialog.select.mode":"\u0420\u0435\u0436\u0438\u043C","dialog.select.mode.new":"\u041D\u043E\u0432\u044B\u0439 \u0432\u044B\u0431\u043E\u0440","dialog.select.mode.add":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435","dialog.select.mode.remove":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445","dialog.select.mode.in_selection":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0438\u0437 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445","dialog.predicate_overrides.model":"\u041C\u043E\u0434\u0435\u043B\u044C","dialog.predicate_overrides.predicates":"\u041F\u0440\u0435\u0434\u0438\u043A\u0430\u0442\u044B","dialog.predicate_overrides.variants":"\u0412\u0430\u0440\u0438\u0430\u043D\u0442\u044B","dialog.predicate_overrides.start_value":"\u041D\u0430\u0447\u0438\u043D\u0430\u0442\u044C","dialog.predicate_overrides.add_override":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435","dialog.predicate_overrides.add_predicate":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u0438\u043A\u0430\u0442","dialog.predicate_overrides.generate_overrides":"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F","dialog.predicate_overrides.confirm_delete":"\u0422\u044B \u0445\u043E\u0447\u0435\u0448\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435 \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F?","dialog.predicate_overrides.predicate.angle":"\u0423\u0433\u043E\u043B \u043A\u043E\u043C\u043F\u0430\u0441\u0430","dialog.predicate_overrides.predicate.blocking":"\u0411\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442","dialog.predicate_overrides.predicate.broken":"\u0421\u043B\u043E\u043C\u0430\u043D","dialog.predicate_overrides.predicate.cast":"\u043B\u0438\u0442\u043E\u0439","dialog.predicate_overrides.predicate.cooldown":"\u041E\u0441\u0442\u044B\u0432\u0430\u0442\u044C","dialog.predicate_overrides.predicate.damage":"\u041F\u043E\u0432\u0440\u0435\u0436\u0434\u0430\u0442\u044C","dialog.predicate_overrides.predicate.damaged":"\u041F\u043E\u0432\u0440\u0435\u0436\u0434\u0435\u043D","dialog.predicate_overrides.predicate.lefthanded":"\u041B\u0435\u0432\u0448\u0430","dialog.predicate_overrides.predicate.pull":"\u0421\u0443\u043C\u043C\u0430 \u0432\u044B\u0442\u044F\u0433\u0438\u0432\u0430\u043D\u0438\u044F","dialog.predicate_overrides.predicate.pulling":"\u0422\u044F\u043D\u0435\u0442","dialog.predicate_overrides.predicate.charged":"\u0412\u0437\u0438\u043C\u0430\u0435\u0442\u0441\u044F","dialog.predicate_overrides.predicate.firework":"\u0418\u043C\u0435\u0435\u0442 \u0444\u0435\u0439\u0435\u0440\u0432\u0435\u0440\u043A","dialog.predicate_overrides.predicate.throwing":"\u0413\u043E\u0442\u043E\u0432 \u0431\u0440\u043E\u0441\u0438\u0442\u044C","dialog.predicate_overrides.predicate.time":"\u0412\u0440\u0435\u043C\u044F \u0441\u0443\u0442\u043E\u043A","dialog.predicate_overrides.predicate.custom_model_data":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u0438","dialog.predicate_overrides.predicate.level":"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u043E\u0441\u0432\u0435\u0449\u0435\u043D\u043D\u043E\u0441\u0442\u0438","dialog.predicate_overrides.predicate.filled":"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u0430\u043A\u0435\u0442\u0430","dialog.predicate_overrides.predicate.tooting":"\u0412\u0435\u0440\u043D\u043E \u043F\u043E\u0434\u043C\u0435\u0447\u0435\u043D\u043E","settings.model_export_scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430 \u043C\u043E\u0434\u0435\u043B\u0438","settings.model_export_scale.desc":"\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0438\u0435\u043D\u0442 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0430 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u043C\u044B\u0445 glTF, DAE \u0438 FBX \u043C\u043E\u0434\u0435\u043B\u0435\u0439. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u2014 16, \u0447\u0442\u043E \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 16 \u0434\u0435\u043B\u0435\u043D\u0438\u0439 Blockbench \u0432 1 \u043C\u0435\u0442\u0440 \u043F\u0440\u0438 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0435.","action.export_fbx":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 FBX-\u043C\u043E\u0434\u0435\u043B\u0438","action.export_fbx.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043A\u0430\u043A FBX-\u0444\u0430\u0439\u043B \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430\u0445","action.center_lateral":"\u0411\u043E\u043A\u043E\u0432\u043E\u0435 \u0446\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.center_lateral.desc":"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043F\u043E \u043E\u0441\u044F\u043C X \u0438 Z","action.adjust_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C...","action.adjust_opacity.desc":"\u041E\u0442\u0440\u0435\u0433\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.rotate_texture_cw":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u043E \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0435","action.rotate_texture_ccw":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u0440\u043E\u0442\u0438\u0432 \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0438","action.predicate_overrides":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u0435\u0434\u0438\u043A\u0430\u0442\u043E\u0432...","action.predicate_overrides.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u043C\u043E\u0434\u0435\u043B\u0438 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u044D\u0442\u043E\u0439 \u043C\u043E\u0434\u0435\u043B\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0443\u0441\u043B\u043E\u0432\u0438\u0439","action.auto_set_cullfaces":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u043A\u0443\u043B\u0444\u0435\u0439\u0441\u044B","action.auto_set_cullfaces.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0443\u043B\u0444\u0435\u0439\u0441\u044B, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0440\u044B\u0442\u044C \u0433\u0440\u0430\u043D\u0438, \u043F\u0435\u0440\u0435\u043A\u0440\u044B\u0442\u044B\u0435 \u0441\u043E\u0441\u0435\u0434\u043D\u0438\u043C \u0431\u043B\u043E\u043A\u043E\u043C.","menu.texture.edit_externally":"\u0412\u043D\u0435\u0448\u043D\u0435\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","menu.mirror_painting.texture":"\u0421\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u044F 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","menu.mirror_painting.texture.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u0447\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 2D-\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435","menu.animator.rotation_global":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u043C \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435","uv_editor.face_properties":"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0433\u0440\u0430\u043D\u0438","uv_editor.face_properties.material_instance":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u0430","uv_editor.tint.info":"\u041E\u0442\u0442\u0435\u043D\u043E\u043A \u043C\u043E\u0436\u043D\u043E \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430 \u0433\u0440\u0430\u043D\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u043E\u0431\u0449\u0438\u0442\u044C Minecraft \u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u043E\u0434\u043A\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044C \u0435\u0451. \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043E\u0442\u0442\u0435\u043D\u043E\u043A \u0438\u043C\u0435\u0435\u0442 \u043D\u0443\u043B\u0435\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u043C\u0438 \u0431\u043B\u043E\u043A\u0430\u043C\u0438, \u0442\u0430\u043A\u0438\u043C\u0438 \u043A\u0430\u043A \u043B\u0438\u0441\u0442\u0432\u0430 \u0438 \u043F\u044B\u043B\u044C \u043A\u0440\u0430\u0441\u043D\u043E\u0433\u043E \u043A\u0430\u043C\u043D\u044F.","uv_editor.cullface.info":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A\u0443\u043B\u0444\u0435\u0439\u0441 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0433\u0440\u0430\u043D\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433, \u0435\u0441\u043B\u0438 \u0435\u0451 \u0437\u0430\u0433\u043E\u0440\u0430\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0440\u0443\u0433\u043E\u0439 \u0446\u0435\u043B\u044C\u043D\u044B\u0439 \u0431\u043B\u043E\u043A. \u042D\u0442\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u0438.","uv_editor.material_instance.info":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0430\u043C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u0441\u0432\u043E\u0438\u0442\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u043C\u043E\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u043C \u0438\u043C\u044F. \u042D\u0442\u043E \u0438\u043C\u044F \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0444\u0430\u0439\u043B\u0435 \u0431\u043B\u043E\u043A\u0430 JSON \u0432 \u043F\u0430\u043A\u0435\u0442\u0435 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F, \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u0437\u043D\u0430\u0447\u0438\u0442\u044C \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0443\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0438 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B \u0434\u043B\u044F \u043B\u0438\u0446\u0430.","display.reference.frame_invisible":"\u041D\u0435\u0432\u0438\u0434\u0438\u043C\u0430\u044F \u0440\u0430\u043C\u043A\u0430","data.settings_profile":"\u041F\u0440\u043E\u0444\u0438\u043B\u044C","message.display_skin.invalid_name":"\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0443\u0447\u0435\u0442\u043D\u0443\u044E \u0437\u0430\u043F\u0438\u0441\u044C Minecraft \u0441 \u043D\u0438\u043A\u043E\u043C ''%0''.","dialog.load_plugins_from_query.title":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D\u044B","dialog.load_plugins_from_query.text":"\u0422\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0448\u044C \u0441\u0441\u044B\u043B\u043A\u0443, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u043E\u0432. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0445?","dialog.select_model.title":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C","dialog.select_model.bones":"\u041A\u043E\u0441\u0442\u0438","dialog.select_model.cubes":"\u041A\u0443\u0431\u044B","dialog.settings.create_profile":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0440\u043E\u0444\u0438\u043B\u044C...","settings_profile.confirm_delete":"\u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043F\u0440\u043E\u0444\u0438\u043B\u044C?","settings_profile.condition.type.selectable":"\u0412\u044B\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E","settings.interface_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0433\u043E \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430","settings.interface_mode.desc":"\u0420\u0435\u0436\u0438\u043C \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438 Blockbench, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F","settings.interface_mode.auto":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439","settings.interface_mode.desktop":"\u041D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u044B\u0439","settings.interface_mode.mobile":"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0439","settings.paint_through_transparency":"\u0420\u0438\u0441\u043E\u0432\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","settings.paint_through_transparency.desc":"\u0420\u0438\u0441\u043E\u0432\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0435 \u043F\u0438\u043A\u0441\u0435\u043B\u0438 \u043F\u0440\u0438 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0435 \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B\u0430","action.tab_overview":"\u041E\u0431\u0437\u043E\u0440 \u0432\u043A\u043B\u0430\u0434\u043A\u0438","action.tab_overview.desc":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0432\u0441\u0435\u0445 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0432\u043A\u043B\u0430\u0434\u043E\u043A \u0432 \u0441\u0435\u0442\u043A\u0435 \u0438 \u043F\u0435\u0440\u0435\u0445\u043E\u0434 \u043A \u043E\u0434\u043D\u043E\u0439 \u0438\u0437 \u043D\u0438\u0445","action.slider_color_red":"\u041A\u0440\u0430\u0441\u043D\u044B\u0439 \u0446\u0432\u0435\u0442","action.slider_color_green":"\u0417\u0435\u043B\u0451\u043D\u044B\u0439 \u0446\u0432\u0435\u0442","action.slider_color_blue":"\u0421\u0438\u043D\u0438\u0439 \u0446\u0432\u0435\u0442","action.add_animation_controller":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u0430 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","action.add_animation_controller.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0443\u0441\u0442\u043E\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.animation_controller_preview_mode":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u0430","action.animation_controller_preview_mode.paused":"\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E","action.animation_controller_preview_mode.manual":"\u0420\u0443\u0447\u043D\u043E\u0439 \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","action.animation_controller_preview_mode.play":"\u0410\u0432\u0442\u043E\u043F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u043D\u0438\u0435","action.keyframe_interpolation.bezier":"\u041A\u0440\u0438\u0432\u0430\u044F \u0411\u0435\u0437\u044C\u0435","action.keyframe_bezier_linked":"Link \u0420\u0443\u0447\u043A\u0438 \u0411\u0435\u0437\u044C\u0435","action.keyframe_bezier_linked.desc":"\u0421\u043E\u0435\u0434\u0438\u043D\u0438 \u043F\u0440\u0430\u0432\u044B\u0439 \u0438 \u043B\u0435\u0432\u044B\u0439 \u043C\u0430\u0440\u043A\u0435\u0440 \u0411\u0435\u0437\u044C\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430","action.reset_keyframe_handles":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u0440\u043A\u0435\u0440\u044B \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430","action.reset_keyframe_handles.desc":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u0440\u043A\u0435\u0440\u044B \u0411\u0435\u0437\u044C\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","action.looped_animation_playback":"\u0417\u0430\u0446\u0438\u043A\u043B\u0435\u043D\u043D\u043E\u0435 \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0435","action.looped_animation_playback.desc":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0432 \u0431\u0435\u0441\u043A\u043E\u043D\u0435\u0447\u043D\u043E\u043C \u0446\u0438\u043A\u043B\u0435","timeline.bind_to_actor":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C \u043A \u0430\u043A\u0442\u043E\u0440\u0443","animation_controllers.select_preset":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0448\u0430\u0431\u043B\u043E\u043D \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u0430...","animation_controllers.state.animations":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u0438","animation_controllers.state.particles":"\u0427\u0430\u0441\u0442\u0438\u0446\u044B","animation_controllers.state.sounds":"\u0417\u0432\u0443\u043A\u0438","animation_controllers.state.on_entry":"\u041F\u0440\u0438 \u0432\u044A\u0435\u0437\u0434\u0435","animation_controllers.state.on_exit":"\u041D\u0430 \u0432\u044B\u0445\u043E\u0434\u0435","animation_controllers.state.transitions":"\u041F\u0435\u0440\u0435\u0445\u043E\u0434\u044B","animation_controllers.state.condition":"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","animation_controllers.state.blend_transition":"\u0412\u0440\u0435\u043C\u044F \u0441\u043C\u0435\u0448\u0438\u0432\u0430\u043D\u0438\u044F","animation_controllers.state.shortest_path":"\u0421\u043C\u0435\u0448\u0430\u0442\u044C \u043F\u043E \u043A\u0440\u0430\u0442\u0447\u0430\u0439\u0448\u0435\u043C\u0443 \u043F\u0443\u0442\u0438","animation_controllers.state.edit_transition":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0445\u043E\u0434","menu.color_picker.picker_type":"\u0422\u0438\u043F \u043F\u043E\u0434\u0431\u043E\u0440\u0449\u0438\u043A\u0430","menu.color_picker.picker_type.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442","menu.color_picker.picker_type.wheel":"\u041A\u043E\u043B\u0435\u0441\u043E","menu.color_picker.slider_mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u043B\u0430\u0439\u0434\u0435\u0440\u0430","menu.color_picker.slider_mode.hsv":"HSV","menu.color_picker.slider_mode.rgb":"\u041A\u0440\u0430\u0441\u043D\u044B\u0439, \u0417\u0435\u043B\u0451\u043D\u044B\u0439, \u0421\u0438\u043D\u0438\u0439","menu.texture.render_mode.additive":"\u0421\u043B\u043E\u0436\u0435\u043D\u0438\u0435","panel.color.picker_options":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043F\u0430\u043B\u0438\u0442\u0440\u044B \u0446\u0432\u0435\u0442\u043E\u0432","panel.animation_controllers":"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","display.preset.armor_stand":"\u041F\u043E\u043B (\u0441\u0442\u043E\u0439\u043A\u0430 \u0434\u043B\u044F \u0431\u0440\u043E\u043D\u0438)","data.file_path":"\u041F\u0443\u0442\u044C \u0434\u043E \u0444\u0430\u0439\u043B\u044B","dialog.extrude.orientation":"\u041E\u0440\u0438\u0435\u043D\u0442\u0430\u0446\u0438\u044F","dialog.extrude.orientation.upright":"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439","dialog.extrude.orientation.flat":"\u041F\u043B\u043E\u0441\u043A\u0438\u0439","dialog.scale.box_uv_warning":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 Box UV \u043C\u043E\u0436\u0435\u0442 \u0441\u043B\u043E\u043C\u0430\u0442\u044C UV \u0442\u0432\u043E\u0435\u0439 \u043C\u043E\u0434\u0435\u043B\u0438. \u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0439 \u043C\u043E\u0434\u0435\u043B\u044C \u0446\u0435\u043B\u0438\u043A\u043E\u043C \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0441\u044C \u0432 Per-face UV Mode \u0432 \u043C\u0435\u043D\u044E \u043F\u0440\u043E\u0435\u043A\u0442\u0430.","dialog.create_gif.format":"\u0424\u043E\u0440\u043C\u0430\u0442","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"\u041F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C PNG","dialog.create_gif.pixelate":"\u041F\u0438\u043A\u0441\u0435\u043B\u0438\u0437\u0430\u0446\u0438\u044F","dialog.create_gif.bg_image":"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","dialog.create_gif.turn.desc":"\u041E\u0431\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u043F\u0438\u0441\u0438. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u043E\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043F\u043E \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0435. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 60 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043E\u0434\u043D\u043E\u043C\u0443 \u043E\u0431\u043E\u0440\u043E\u0442\u0443 \u0432 \u0441\u0435\u043A\u0443\u043D\u0434\u0443.","settings_profile.condition":"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","settings_profile.condition.type.file_path.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C RegEx-\u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0434\u043B\u044F \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u043F\u0443\u0442\u0438 \u043A \u0444\u0430\u0439\u043B\u0443 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u0441\u043B\u044D\u0448 \u0434\u043B\u044F \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0439 \u0444\u0430\u0439\u043B\u043E\u0432)","settings.only_selected_bezier_handles":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0440\u0443\u0447\u043A\u0438 \u0411\u0435\u0437\u044C\u0435","settings.only_selected_bezier_handles.desc":"\u0421\u043A\u0440\u044B\u0442\u044C \u043C\u0430\u0440\u043A\u0435\u0440\u044B \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432 \u0411\u0435\u0437\u044C\u0435, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432 \u0434\u0430\u043D\u043D\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B","settings.embed_textures":"\u0412\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","settings.embed_textures.desc":"\u0412\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u0444\u0430\u0439\u043B\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0432 \u0444\u0430\u0439\u043B\u044B .bbmodel","action.selection_mode.cluster":"\u041A\u043B\u0430\u0441\u0442\u0435\u0440","dialog.copied_to_clipboard":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","data.reference_image":"\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0441","message.delete_reference_image":"\u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441? \u042D\u0442\u043E \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u043E.","message.add_reference_image.message":"\u0412\u044B\u0431\u0435\u0440\u0438, \u043A\u0443\u0434\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441","message.add_reference_image.project":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u044D\u0442\u043E\u0442 \u043F\u0440\u043E\u0435\u043A\u0442","message.add_reference_image.app":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u043E \u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B","message.import_particle_texture.import":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0447\u0430\u0441\u0442\u0438\u0446","message.import_particle_texture.message":"\u0422\u044B \u0445\u043E\u0447\u0435\u0448\u044C \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u0443\u044E \u0434\u043B\u044F \u0442\u0432\u043E\u0435\u0439 \u0447\u0430\u0441\u0442\u0438\u0446\u044B?","message.save_codec_selector.title":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0434\u0435\u043B\u0438","message.save_codec_selector.message":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0444\u043E\u0440\u043C\u0430\u0442 \u0434\u043B\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u043C\u043E\u0434\u0435\u043B\u0438.","message.save_codec_selector.project_file":"\u041F\u0440\u043E\u0435\u043A\u0442 Blockbench (.bbmodel)","message.save_codec_selector.both":"\u041E\u0431\u0430","message.display_skin.username":"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F (Java)","message.palette_locked":"\u041F\u0430\u043B\u0438\u0442\u0440\u0430 \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0430","dialog.project.default_uv_mode":"UV-\u0440\u0435\u0436\u0438\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","dialog.project.default_uv_mode.description":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C UV-\u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E. \u0420\u0435\u0436\u0438\u043C UV \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430.","dialog.export_options.title":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430","dialog.edit_texture.preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","dialog.proportional_editing.range":"\u0414\u0438\u0430\u043F\u0430\u0437\u043E\u043D","dialog.proportional_editing.falloff":"\u0421\u043F\u0430\u0434","dialog.proportional_editing.falloff.linear":"\u041B\u0438\u043D\u0435\u0439\u043D\u044B\u0439","dialog.proportional_editing.falloff.hermite_spline":"\u0413\u043B\u0430\u0434\u043A\u0438\u0439","dialog.proportional_editing.falloff.constant":"\u041F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u0439","dialog.proportional_editing.selection":"\u0412\u044B\u0431\u043E\u0440","dialog.proportional_editing.selection.linear":"\u041B\u0438\u043D\u0435\u0439\u043D\u043E\u0435 \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435","dialog.proportional_editing.selection.connections":"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F","dialog.mirror_painting_texture_center.middle":"\u0426\u0435\u043D\u0442\u0440","dialog.mirror_painting_texture_center.custom":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439","dialog.settings.reset_to_default":"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0432\u043E\u0434\u0441\u043A\u0438\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A","keybindings.item.num_slider.increase":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0442\u044C","keybindings.item.num_slider.decrease":"\u0421\u043D\u0438\u0436\u0430\u0442\u044C\u0441\u044F","settings.always_show_splash_art":"\u0412\u0441\u0435\u0433\u0434\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0437\u0430\u0441\u0442\u0430\u0432\u043A\u0438","settings.always_show_splash_art.desc":"\u0412\u0441\u0435\u0433\u0434\u0430 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0437\u0430\u0441\u0442\u0430\u0432\u043A\u0443 \u043D\u0430 \u0441\u0442\u0430\u0440\u0442\u043E\u0432\u043E\u043C \u044D\u043A\u0440\u0430\u043D\u0435","action.slider_palette_color":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0446\u0432\u0435\u0442 \u043F\u0430\u043B\u0438\u0442\u0440\u044B","action.slider_palette_color.desc":"\u0426\u0438\u043A\u043B \u043C\u0435\u0436\u0434\u0443 \u0446\u0432\u0435\u0442\u0430\u043C\u0438 \u0432 \u043F\u0430\u043B\u0438\u0442\u0440\u0435","action.proportional_editing":"\u041F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.proportional_editing.desc":"\u041F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E \u0432\u043B\u0438\u044F\u0435\u0442 \u043D\u0430 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u043F\u0440\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438 \u0447\u0430\u0441\u0442\u0435\u0439 \u0441\u0435\u0442\u043A\u0438.","action.limit_to_palette":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0435 \u043F\u0430\u043B\u0438\u0442\u0440\u043E\u0439","action.limit_to_palette.desc":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0446\u0432\u0435\u0442\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0446\u0432\u0435\u0442\u0430\u043C\u0438 \u0438\u0437 \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u043E\u0439 \u043F\u0430\u043B\u0438\u0442\u0440\u044B.","action.edit_reference_images":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u043E\u0432","action.edit_reference_images.desc":"\u0412\u043A\u043B\u044E\u0447\u0438 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u043E\u0432, \u0447\u0442\u043E\u0431\u044B \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u044B \u0438 \u0447\u0435\u0440\u0442\u0435\u0436\u0438.","action.add_reference_image":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u0430","action.reference_image_from_clipboard":"\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0441 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430","action.reference_image_list":"\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u044B","action.connect_uv_faces":"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 UV-\u0433\u0440\u0430\u043D\u0435\u0439","action.connect_uv_faces.desc":"\u0421\u043E\u0435\u0434\u0438\u043D\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 UV-\u0433\u0440\u0430\u043D\u0438 \u0441 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 UV-\u0433\u0440\u0430\u043D\u044C\u044E","action.merge_uv_vertices":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 UV-\u0432\u0435\u0440\u0448\u0438\u043D","action.merge_uv_vertices.desc":"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u044B\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B UV \u043A \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C \u0432\u0435\u0440\u0448\u0438\u043D\u0430\u043C UV","action.bedrock_animation_mode":"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 Minecraft BE","action.bedrock_animation_mode.desc":"\u0412\u044B\u0431\u0435\u0440\u0438 \u0440\u0435\u0436\u0438\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F Minecraft BE \u0432","action.bedrock_animation_mode.entity":"\u0421\u0443\u0449\u043D\u043E\u0441\u0442\u044C","action.bedrock_animation_mode.attachable_first":"\u041F\u0443\u043D\u043A\u0442 1-\u0435 \u043B\u0438\u0446\u043E","action.bedrock_animation_mode.attachable_third":"\u041F\u0443\u043D\u043A\u0442 3-\u0435 \u043B\u0438\u0446\u043E","timeline.amplify":"\u0423\u0441\u0438\u043B\u0435\u043D\u0438\u0435","menu.options":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B...","menu.palette.lock_palette":"\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0430\u043B\u0438\u0442\u0440\u0443","menu.uv.export":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 UV-\u043A\u0430\u0440\u0442\u044B","menu.uv.flip_x":"\u0417\u0435\u0440\u043A\u0430\u043B\u043E \u0425","menu.uv.flip_y":"\u0417\u0435\u0440\u043A\u0430\u043B\u043E Y","menu.mirror_painting.enabled":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E","reference_image.position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F","reference_image.size":"\u0420\u0430\u0437\u043C\u0435\u0440","reference_image.rotation":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435","reference_image.opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","reference_image.visibility":"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C","reference_image.clear_mode":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C","reference_image.layer":"\u0421\u043B\u043E\u0439","reference_image.layer.background":"\u0417\u0430\u0434\u043D\u0438\u0439 \u043F\u043B\u0430\u043D","reference_image.layer.viewport":"\u041F\u0435\u0440\u0435\u0434\u043D\u0438\u0439 \u043F\u043B\u0430\u043D","reference_image.layer.float":"\u041D\u0430\u0434 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043E\u043C","reference_image.scope":"\u041E\u0431\u044A\u0451\u043C","reference_image.scope.project":"\u0422\u043E\u043B\u044C\u043A\u043E \u044D\u0442\u043E\u0442 \u043F\u0440\u043E\u0435\u043A\u0442","reference_image.scope.global":"\u0412\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B","reference_image.enabled_modes":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0432 \u0440\u0435\u0436\u0438\u043C\u0430\u0445","codec.common.encoding":"\u041A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","codec.common.armature":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B \u043A\u0430\u043A \u0430\u0440\u043C\u0430\u0442\u0443\u0440\u0443","codec.common.export_animations":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","codec.common.embed_textures":"\u0412\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","preview.center_camera":"\u0426\u0435\u043D\u0442\u0440\u0430\u043B\u044C\u043D\u0430\u044F \u043A\u0430\u043C\u0435\u0440\u0430","display.reference.frame_top":"\u0412\u0435\u0440\u0445 \u0440\u0430\u043C\u043A\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","display.reference.frame_top_invisible":"\u0412\u0435\u0440\u0445\u043D\u044F\u044F \u0447\u0430\u0441\u0442\u044C \u0440\u0430\u043C\u043A\u0438 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 (\u043D\u0435\u0432\u0438\u0434\u0438\u043C\u0430\u044F)","action.proportional_editing_range":"\u041F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","action.proportional_editing_range.desc":"\u041E\u0442\u0440\u0435\u0433\u0443\u043B\u0438\u0440\u0443\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","action.toggle_all_reference_images":"\u0421\u043A\u0440\u044B\u0442\u044C/\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u044B","action.toggle_all_reference_images.desc":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u0441\u0435\u0445 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u043E\u0432 \u043E\u0434\u043D\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E","action.add_animation_controller_state":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u0430","action.add_animation_controller_state.desc":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u043E\u0432\u043E\u0433\u043E \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u0432 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440","menu.slider.round_value":"\u041A\u0440\u0443\u0433\u043B\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435","texture.error.too_large":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u043C\u0430\u043A\u0441\u0438\u043C\u0443\u043C %0","dialog.copy_to_clipboard":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","dialog.open_url":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C URL","reference_image.image":"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","uv_editor.rotate_uv":"\u0412\u0440\u0430\u0449\u0435\u043D\u0438\u0435 UV","generic.error":"\u041E\u0448\u0438\u0431\u043A\u0430","projects.start_screen":"\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 \u044D\u043A\u0440\u0430\u043D","message.invalid_link.message":"\u041C\u043E\u0434\u0435\u043B\u044C %0, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0442\u044B \u043F\u044B\u0442\u0430\u0435\u0448\u044C\u0441\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C, \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430 \u0438\u043B\u0438 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u043D\u0435\u0439 \u0438\u0441\u0442\u0451\u043A.","message.plugin_dependencies.title":"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u043B\u0430\u0433\u0438\u043D\u0430","message.plugin_dependencies.message1":"\u041F\u043B\u0430\u0433\u0438\u043D \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439:","message.plugin_dependencies.message1_update":"\u041F\u043B\u0430\u0433\u0438\u043D %0 \u0431\u044B\u043B \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D \u0438 \u0442\u0435\u043F\u0435\u0440\u044C \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439:","message.plugin_dependencies.message2":"\u0425\u043E\u0447\u0435\u0448\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0445 \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F?","message.plugin_dependencies.invalid":"\u041F\u043B\u0430\u0433\u0438\u043D \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0442\u0430\u043A \u043A\u0430\u043A \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0443\u044E \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C:","message.preview_scene_load_failed":"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0435 \u0441\u0446\u0435\u043D\u044B \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430. \u041F\u0440\u043E\u0432\u0435\u0440\u044C \u0441\u0432\u043E\u0451 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435.","dialog.convert_project.text1":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0439 \u043F\u0440\u043E\u0435\u043A\u0442 \u0432 \u0434\u0440\u0443\u0433\u043E\u0439 \u0444\u043E\u0440\u043C\u0430\u0442.","dialog.convert_project.text2":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439 \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044E \u043D\u0430 \u0441\u0432\u043E\u0439 \u0441\u0442\u0440\u0430\u0445 \u0438 \u0440\u0438\u0441\u043A \u2013 \u0444\u043E\u0440\u043C\u0430\u0442\u044B \u0438\u043C\u0435\u044E\u0442 \u0440\u0430\u0437\u043D\u044B\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u0438 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043A \u043F\u043E\u043B\u043E\u043C\u043A\u0435 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.","dialog.convert_project.text3":"\u0422\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0448\u044C \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044E, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u0430 \u043A\u043E\u043F\u0438\u044F.","dialog.unsaved_work.title":"\u041D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u0430\u044F \u0440\u0430\u0431\u043E\u0442\u0430","dialog.unsaved_work.text":"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442 \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F. \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F?","dialog.unsaved_work.discard_all":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435","dialog.unsaved_work.save_all":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435","dialog.resize_texture.mode":"\u0420\u0435\u0436\u0438\u043C","dialog.resize_texture.mode.crop":"\u041E\u0431\u0440\u0435\u0437\u0430\u0442\u044C/\u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044C","dialog.resize_texture.mode.scale":"\u0420\u0430\u0437\u043C\u0435\u0440","dialog.plugins.is_installed":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E","dialog.plugins.is_disabled":"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E","dialog.plugins.disable":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C","dialog.plugins.enable":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C","dialog.plugins.dependencies":"\u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043E\u0442:","dialog.view_backups.open_folder":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043F\u043A\u0443","dialog.share_model.reference_images":"\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u044B \u0432 \u043F\u0440\u043E\u0435\u043A\u0442","dialog.share_model.too_large":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C: \u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C.","dialog.share_model.too_large_references":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C: \u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439 \u0443\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u044B.","settings.stretch_linked":"\u0421\u0432\u044F\u0437\u043D\u043E\u0435 \u0440\u0430\u0441\u0442\u044F\u0436\u0435\u043D\u0438\u0435","settings.stretch_linked.desc":"\u0420\u0430\u0441\u0442\u044F\u043D\u0443\u0442\u044C \u043A\u0443\u0431 \u0432\u043E \u0432\u0441\u0435\u0445 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u0445 \u043D\u0430 \u043E\u0434\u043D\u043E \u0438 \u0442\u043E \u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435","settings.grids":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u0435\u0442\u043A\u0443","settings.grids.desc":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043B\u0438 \u0441\u043A\u0440\u044B\u0442\u044C \u0441\u0435\u0442\u043A\u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","settings.double_click_switch_tools":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0434\u0432\u043E\u0439\u043D\u044B\u043C \u0449\u0435\u043B\u0447\u043A\u043E\u043C","settings.double_click_switch_tools.desc":"\u0414\u0432\u0430\u0436\u0434\u044B \u043D\u0430\u0436\u0430\u0442\u044C \u043F\u043E \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043C\u0435\u0436\u0434\u0443 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430\u043C\u0438","settings.outlines_in_paint_mode":"\u041A\u043E\u043D\u0442\u0443\u0440\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F","settings.outlines_in_paint_mode.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0443\u0440\u044B \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u044F","settings.json_indentation":"\u041E\u0442\u0441\u0442\u0443\u043F\u044B JSON","settings.json_indentation.desc":"\u0421\u0442\u0438\u043B\u044C \u043E\u0442\u0441\u0442\u0443\u043F\u043E\u0432 \u0434\u043B\u044F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u043C\u044B\u0445 JSON-\u0444\u0430\u0439\u043B\u043E\u0432","settings.json_indentation.tabs":"\u0422\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438","settings.json_indentation.spaces_4":"\u041E\u0442\u0441\u0442\u0443\u043F\u044B: 4","settings.json_indentation.spaces_2":"\u041E\u0442\u0441\u0442\u0443\u043F\u044B: 2","action.slider_stretch":"\u0420\u0430\u0441\u0442\u044F\u043D\u0443\u0442\u044C","action.slider_stretch.desc":"\u0420\u0430\u0441\u0442\u044F\u0433\u0438\u0432\u0430\u0435\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432\u0434\u043E\u043B\u044C \u043E\u0441\u0438 %0, \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u044F UV-\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u043A\u0443","action.view_backups":"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043A\u043E\u043F\u0438\u0438","action.view_backups.desc":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0445 \u043A\u043E\u043F\u0438\u0439","action.search_outliner":"\u041F\u043E\u0438\u0441\u043A \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.search_outliner.desc":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F\u043C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0432 \u0441\u043F\u0438\u0441\u043A\u0435","action.mirror_modeling":"\u0421\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u0447\u043D\u043E\u0435 \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.mirror_modeling.desc":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432\u0434\u043E\u043B\u044C \u043E\u0441\u0438 X. \u0412\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0442\u044B \u0432\u043D\u043E\u0441\u0438\u0448\u044C \u0432 \u0432\u0438\u0434\u043E\u0432\u043E\u0439 \u044D\u043A\u0440\u0430\u043D, \u0431\u0443\u0434\u0443\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0435, \u0435\u0441\u043B\u0438 \u044D\u0442\u043E \u043D\u0435 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430.","action.allow_element_mirror_modeling":"\u0421\u0438\u043C\u043C\u0435\u0442\u0440\u0438\u0447\u043D\u043E\u0435 \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.allow_element_mirror_modeling.desc":"\u0412\u044B\u0431\u0435\u0440\u0438, \u043C\u043E\u0433\u0443\u0442 \u043B\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0431\u044B\u0442\u044C \u0437\u0430\u0442\u0440\u043E\u043D\u0443\u0442\u044B \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435\u043C","action.switch_face_crease":"\u0421\u043A\u043B\u0430\u0434\u043A\u0430 \u0433\u0440\u0430\u043D\u0435\u0439","action.switch_face_crease.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u043C \u0441\u0433\u0438\u0431\u0430\u0435\u0442\u0441\u044F \u0433\u0440\u0430\u043D\u044C \u043F\u043E \u0446\u0435\u043D\u0442\u0440\u0443","action.clear_unused_texture_space":"\u0427\u0438\u0441\u0442\u043A\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.clear_unused_texture_space.desc":"\u0423\u0431\u0440\u0430\u0442\u044C \u0441 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0432\u0441\u0435 \u043F\u0438\u043A\u0441\u0435\u043B\u0438, \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0432 UV-\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u043A\u0435","action.split_screen":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C \u044D\u043A\u0440\u0430\u043D","action.split_screen.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u044D\u043A\u0440\u0430\u043D\u0430 \u0434\u043B\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","action.split_screen.single":"\u041E\u0434\u0438\u043D\u0430\u0440\u043D\u044B\u0439","action.split_screen.double_horizontal":"\u0414\u0432\u043E\u0439\u043D\u043E\u0439 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439","action.split_screen.double_vertical":"\u0414\u0432\u043E\u0439\u043D\u043E\u0439 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439","action.split_screen.quad":"\u0427\u0435\u0442\u0432\u0435\u0440\u043D\u043E\u0439","action.split_screen.triple_left":"\u0422\u0440\u043E\u0439\u043D\u043E\u0439 \u043B\u0435\u0432\u044B\u0439","action.split_screen.triple_right":"\u0422\u0440\u043E\u0439\u043D\u043E\u0439 \u043F\u0440\u0430\u0432\u044B\u0439","action.split_screen.triple_top":"\u0422\u0440\u043E\u0439\u043D\u043E\u0439 \u0432\u0435\u0440\u0445\u043D\u0438\u0439","action.split_screen.triple_bottom":"\u0422\u0440\u043E\u0439\u043D\u043E\u0439 \u043D\u0438\u0436\u043D\u0438\u0439","action.uv_project_from_view":"\u0420\u0430\u043A\u0443\u0440\u0441\u043D\u0430\u044F UV-\u043F\u0440\u043E\u0435\u043A\u0446\u0438\u044F","action.uv_project_from_view.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C UV-\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u043A\u0443 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0433\u0440\u0430\u043D\u0435\u0439 \u0441 \u0443\u0447\u0451\u0442\u043E\u043C 3D-\u043F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u044B","action.graph_editor_other_graphs":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u0435 \u0433\u0440\u0430\u0444\u044B","action.graph_editor_other_graphs.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043B\u0438 \u0433\u0440\u0430\u0444\u044B \u043D\u0435\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043E\u0441\u0435\u0439","action.graph_editor_include_other_graphs":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0441\u0442\u043E\u0440\u043E\u043D\u043D\u0438\u0445 \u0433\u0440\u0430\u0444\u043E\u0432","action.graph_editor_include_other_graphs.desc":"\u0420\u0430\u0441\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044C \u043B\u0438 \u043D\u0435\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u0444\u044B \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u043C \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435","action.set_ik_source":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0418\u041A-\u043A\u043E\u0440\u043D\u0435\u0432\u0443\u044E \u043A\u043E\u0441\u0442\u044C","action.set_ik_source.desc":"\u0417\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u0440\u043D\u0435\u0432\u0443\u044E \u043A\u043E\u0441\u0442\u044C, \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0440\u0443\u0435\u043C\u0443\u044E \u043D\u0443\u043B\u0435\u0432\u044B\u043C \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u043C \u0432 \u0438\u043D\u0432\u0435\u0440\u0441\u043D\u043E\u0439 \u043A\u0438\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0435","edit.loop_cut.cuts":"\u0420\u0430\u0437\u0440\u0435\u0437\u044B","panel.element.stretch":"\u0420\u0430\u0441\u0442\u044F\u043D\u0443\u0442\u044C","preview_scene.minecraft_plains":"\u0420\u0430\u0432\u043D\u0438\u043D\u044B","preview_scene.minecraft_cherry_grove":"\u0412\u0438\u0448\u043D\u0451\u0432\u0430\u044F \u0440\u043E\u0449\u0430","preview_scene.minecraft_snowy_tundra":"\u0421\u043D\u0435\u0436\u043D\u0430\u044F \u0442\u0443\u043D\u0434\u0440\u0430","preview_scene.minecraft_sunset":"\u0417\u0430\u043A\u0430\u0442","preview_scene.minecraft_night":"\u041D\u043E\u0447\u044C","preview_scene.minecraft_desert":"\u041F\u0443\u0441\u0442\u044B\u043D\u044F","preview_scene.minecraft_underwater":"\u041F\u043E\u0434 \u0432\u043E\u0434\u043E\u0439","preview_scene.minecraft_coral_reef":"\u041A\u043E\u0440\u0430\u043B\u043B\u043E\u0432\u044B\u0439 \u0440\u0438\u0444","preview_scene.minecraft_lush_cave":"\u041F\u044B\u0448\u043D\u044B\u0435 \u043F\u0435\u0449\u0435\u0440\u044B","preview_scene.minecraft_deep_dark":"\u0422\u0451\u043C\u043D\u044B\u0435 \u0433\u043B\u0443\u0431\u0438\u043D\u044B","generic.navigate_forward":"\u0412\u043F\u0435\u0440\u0451\u0434","generic.navigate_back":"\u041D\u0430\u0437\u0430\u0434","action.element_render_order":"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u043A\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438","action.element_render_order.default":"\u0410\u0432\u0442\u043E","action.element_render_order.behind":"\u041F\u043E\u0437\u0430\u0434\u0438","action.element_render_order.in_front":"\u0421\u043F\u0435\u0440\u0435\u0434\u0438","message.installing_update.title":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435","message.installing_update.message":"\u041D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0433\u043E\u0442\u043E\u0432\u0430 \u043A \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435. \u041F\u043E\u0441\u043B\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u043E\u0436\u0434\u0438 \u043E\u043A\u043E\u043B\u043E %0 \u0441\u0435\u043A\u0443\u043D\u0434 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u043E\u043C Blockbench \u0438\u043B\u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0430, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0443 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F.","settings.brush_cursor_2d":"2D-\u043A\u0443\u0440\u0441\u043E\u0440 \u043A\u0438\u0441\u0442\u0438","settings.brush_cursor_2d.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0432\u043E\u043A\u0440\u0443\u0433 \u043A\u0438\u0441\u0442\u0438 \u0432 2D-\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435","settings.brush_cursor_3d":"3D-\u043A\u0443\u0440\u0441\u043E\u0440 \u043A\u0438\u0441\u0442\u0438","settings.brush_cursor_3d.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043A\u043E\u043D\u0442\u0443\u0440\u0430 \u0432\u043E\u043A\u0440\u0443\u0433 \u043A\u0438\u0441\u0442\u0438 \u0432 3D-\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0435","settings.cdn_mirror":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u043E CDN","settings.cdn_mirror.desc":"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D\u044B \u0447\u0435\u0440\u0435\u0437 \u0437\u0435\u0440\u043A\u0430\u043B\u043E CDN. \u0417\u0435\u0440\u043A\u0430\u043B\u043E \u043F\u043E\u043B\u0443\u0447\u0430\u0435\u0442 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u0440\u0430\u043D\u044C\u0448\u0435 \u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0440\u0435\u0433\u0438\u043E\u043D\u0430\u0445, \u0433\u0434\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044B \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442.","data.layer":"\u0421\u043B\u043E\u0439","data.panel":"\u041F\u0430\u043D\u0435\u043B\u044C","generic.confirm_delete":"\u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E?","format_category.general":"\u041E\u0431\u0449\u0435\u0435","modifier_actions.no_uniform_scaling":"\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","message.texture_refresh_conflict.title":"\u041A\u043E\u043D\u0444\u043B\u0438\u043A\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","message.texture_refresh_conflict.message":"\u0424\u0430\u0439\u043B \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043C\u043E\u0436\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F, \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u0443\u044E\u0449\u0438\u0435 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 Blockbench","message.texture_refresh_conflict.keep_ours":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E Blockbench","message.texture_refresh_conflict.keep_theirs":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B \u0438 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438 \u0441\u043B\u043E\u0438 \u0432 Blockbench","message.group_required_to_animate":"\u0422\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0448\u044C \u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u044D\u0442\u043E\u0442 \u0442\u0438\u043F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430. \u0421\u043E\u0437\u0434\u0430\u0439 \u0433\u0440\u0443\u043F\u043F\u0443 \u0434\u043B\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438.","dialog.texture.uv_size":"\u0420\u0430\u0437\u043C\u0435\u0440 UV","dialog.advanced_screenshot.angle_preset":"\u0428\u0430\u0431\u043B\u043E\u043D \u0440\u0430\u043A\u0443\u0440\u0441\u0430","dialog.advanced_screenshot.resolution":"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435","dialog.advanced_screenshot.zoom_to_fit":"\u041F\u043E\u0434\u043E\u0433\u043D\u0430\u0442\u044C \u043F\u043E \u0440\u0430\u0437\u043C\u0435\u0440\u0443","dialog.advanced_screenshot.zoom":"\u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0435/\u0444\u043E\u043A\u0443\u0441\u043D\u043E\u0435 \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435","dialog.advanced_screenshot.anti_aliasing":"\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435","dialog.advanced_screenshot.anti_aliasing.off":"\u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u043E","dialog.advanced_screenshot.anti_aliasing.msaa":"MSAA","dialog.advanced_screenshot.anti_aliasing.ssaa":"SSAA","dialog.advanced_screenshot.show_gizmos":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0433\u0438\u0437\u043C\u043E","dialog.advanced_screenshot.shading":"\u0428\u044D\u0439\u0434\u0438\u043D\u0433","settings.auto_keyframe":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0439 \u043A\u0430\u0434\u0440","settings.auto_keyframe.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0439 \u043A\u0430\u0434\u0440 \u0441 \u043D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C\u0438 \u043F\u0440\u0438 \u0434\u0430\u043B\u044C\u043D\u0435\u0439\u0448\u0435\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u043A\u043E\u0441\u0442\u0438 \u043D\u0430 \u0442\u0430\u0439\u043C\u043B\u0430\u0439\u043D\u0435","settings.modded_entity_integer_size":"\u0426\u0435\u043B\u043E\u0447\u0438\u0441\u043B\u0435\u043D\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u043C\u043E\u0434\u043E\u0432\u044B\u0445 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439","settings.modded_entity_integer_size.desc":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440\u044B \u043A\u0443\u0431\u043E\u0432 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u043C\u043E\u0434\u043E\u0432\u044B\u0445 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439 \u0434\u043E \u0446\u0435\u043B\u044B\u0445 \u0447\u0438\u0441\u0435\u043B. \u0425\u043E\u0442\u044F \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0432\u0435\u0440\u0441\u0438\u044F\u0445 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0434\u0440\u043E\u0431\u043D\u044B\u0435 \u0447\u0438\u0441\u043B\u0430, \u0446\u0435\u043B\u044B\u0435 \u0447\u0438\u0441\u043B\u0430 \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u043F\u0440\u043E\u0449\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F UV-\u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0438.","category.layers":"\u0421\u043B\u043E\u0438","keybind.paint_secondary_color":"\u0420\u0438\u0441\u043E\u0432\u0430\u0442\u044C \u0432\u0442\u043E\u0440\u0438\u0447\u043D\u044B\u043C \u0446\u0432\u0435\u0442\u043E\u043C","action.selection_tool_operation_mode":"\u0420\u0435\u0436\u0438\u043C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","action.selection_tool_operation_mode.create":"\u041D\u043E\u0432\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","action.selection_tool_operation_mode.add":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E","action.selection_tool_operation_mode.subtract":"\u0412\u044B\u0447\u0435\u0441\u0442\u044C \u0438\u0437 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","action.selection_tool_operation_mode.intersect":"\u041F\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043D\u0438\u0435","action.pixel_perfect_drawing":"\u041F\u043B\u0430\u0432\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","action.pixel_perfect_drawing.desc":"\u041E\u0442\u0440\u0438\u0441\u043E\u0432\u044B\u0432\u0430\u0442\u044C \u043F\u043B\u0430\u0432\u043D\u044B\u0435 \u043F\u0438\u043A\u0441\u0435\u043B\u044C\u043D\u044B\u0435 \u043B\u0438\u043D\u0438\u0438 \u0431\u0435\u0437 \u0438\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0438\u0438 \u043D\u0430 \u0438\u0437\u0433\u0438\u0431\u0430\u0445","action.selection_tool":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","action.selection_tool.desc":"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C \u0447\u0430\u0441\u0442\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","action.selection_tool.rectangle":"\u041F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A","action.selection_tool.ellipse":"\u042D\u043B\u043B\u0438\u043F\u0441","action.selection_tool.lasso":"\u041B\u0430\u0441\u0441\u043E","action.selection_tool.wand":"\u0412\u043E\u043B\u0448\u0435\u0431\u043D\u0430\u044F \u043F\u0430\u043B\u043E\u0447\u043A\u0430","action.selection_tool.color":"\u041E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u044B\u0439 \u0446\u0432\u0435\u0442","action.move_layer_tool":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u044F","action.move_layer_tool.desc":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u0441\u043B\u043E\u0439 \u0438\u043B\u0438 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","action.export_modded_animations":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439 \u043C\u043E\u0434\u043E\u0432\u044B\u0445 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0435\u0439","action.export_modded_animations.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0438 \u043C\u043E\u0434\u043E\u0432\u043E\u0439 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 Minecraft Java Edition","action.swap_colors":"\u041F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u0446\u0432\u0435\u0442\u0430","action.swap_colors.desc":"\u041F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0446\u0432\u0435\u0442 \u0441 \u0432\u0442\u043E\u0440\u0438\u0447\u043D\u044B\u043C","action.apply_mesh_rotation":"\u0417\u0430\u043F\u0435\u0447\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F","action.apply_mesh_rotation.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043A \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0438\u0438 \u043C\u043E\u0434\u0435\u043B\u0438, \u0443\u0431\u0440\u0430\u0432 \u0435\u0433\u043E \u0438\u0437 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430","action.flip_texture_x.desc":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0438\u043B\u0438 \u0441\u043B\u043E\u0439 \u043F\u043E-\u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438","action.flip_texture_y.desc":"\u041E\u0442\u0440\u0430\u0437\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0438\u043B\u0438 \u0441\u043B\u043E\u0439 \u043F\u043E-\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438","action.rotate_texture_cw.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0438\u043B\u0438 \u0441\u043B\u043E\u0439 \u043F\u043E \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0435","action.rotate_texture_ccw.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0438\u043B\u0438 \u0441\u043B\u043E\u0439 \u043F\u0440\u043E\u0442\u0438\u0432 \u0447\u0430\u0441\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u0435\u043B\u043A\u0438","action.crop_texture_to_selection":"\u041E\u0431\u0440\u0435\u0437\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043F\u043E \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E","action.create_empty_layer":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0441\u043B\u043E\u044F","action.enable_texture_layers":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0451\u0432","action.disable_texture_layers":"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0441\u043B\u043E\u0451\u0432","action.layer_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u0441\u043B\u043E\u044F","action.layer_to_texture_size":"\u0420\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u0435 \u0441\u043B\u043E\u044F","action.layer_to_texture_size.desc":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044C \u0441\u043B\u043E\u0439 \u0434\u043E \u0440\u0430\u0437\u043C\u0435\u0440\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.merge_layer_down":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0441 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u043C","action.merge_layer_down.desc":"\u0421\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0441\u043B\u043E\u0439 \u0441 \u043B\u0435\u0436\u0430\u0449\u0438\u043C \u0441\u043D\u0438\u0437\u0443","action.advanced_screenshot":"\u041F\u0440\u043E\u0434\u0432\u0438\u043D\u0443\u0442\u044B\u0439 \u0441\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430...","action.advanced_screenshot.desc":"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043D\u0438\u043C\u043E\u043A \u043C\u043E\u0434\u0435\u043B\u0438 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u043C\u0438 \u043E\u043F\u0446\u0438\u044F\u043C\u0438","action.bake_ik_animation":"\u0417\u0430\u043F\u0435\u0447\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u043A\u0438\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0438","action.bake_ik_animation.desc":"\u0417\u0430\u043F\u0435\u0447\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F, \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u043D\u0432\u0435\u0440\u0441\u043D\u043E\u0439 \u043A\u0438\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u043E\u0439, \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","action.save_animation_preset":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438...","action.save_animation_preset.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B \u043A\u0430\u043A \u0448\u0430\u0431\u043B\u043E\u043D \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.animation_onion_skin":"\u041A\u0430\u043B\u044C\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.animation_onion_skin.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u043A\u0430\u0440\u043A\u0430\u0441\u043D\u044B\u0439 \u0432\u0438\u0434 \u0438\u043D\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0430 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u0430 \u0434\u043B\u044F \u043D\u044B\u043D\u0435\u0448\u043D\u0435\u0433\u043E","action.apply_animation_preset":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0448\u0430\u0431\u043B\u043E\u043D \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.apply_animation_preset.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0432 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438 \u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u0441\u0442\u0438","menu.brush_presets.pixel_perfect":"\u041F\u043B\u0430\u0432\u043D\u043E\u0435 \u0440\u0438\u0441\u043E\u0432\u0430\u043D\u0438\u0435","panel.layers":"\u0421\u043B\u043E\u0438","uv_editor.copy_paste_tool.to_layer":"\u041D\u0430 \u043D\u043E\u0432\u044B\u0439 \u0441\u043B\u043E\u0439","format.image.new":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","format.image.info.summary":"\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0435\u043F\u043E\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u0432 Blockbench, \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440.","settings.move_with_selection_tool":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0439 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","settings.move_with_selection_tool.desc":"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0443 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E, \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0441\u043B\u043E\u0435\u0432","settings.final_newline":"\u041A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u0435\u0440\u0435\u043D\u043E\u0441","settings.final_newline.desc":"\u041F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0432 \u043A\u043E\u043D\u0446\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u043C\u044B\u0445 \u0444\u0430\u0439\u043B\u043E\u0432","action.crop_layer_to_selection":"\u041E\u0431\u0440\u0435\u0437\u0430\u043D\u0438\u0435 \u0441\u043B\u043E\u044F \u043F\u043E \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E","action.edit_mode_uv_overlay.desc":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C UV-\u043A\u0430\u0440\u0442\u0443 \u043F\u043E\u0432\u0435\u0440\u0445 \u043C\u043E\u0434\u0435\u043B\u0438 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","menu.image":"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","menu.texture.discard_changes":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F","menu.texture.discard_changes.desc":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430","panel.textures.images":"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","dialog.advanced":"\u041F\u0440\u043E\u0434\u0432\u0438\u043D\u0443\u0442\u044B\u0435","dialog.recommended_option":"\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F","modifier_actions.snap_to_center":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430 \u043A \u0446\u0435\u043D\u0442\u0440\u0443","modifier_actions.snap_to_pixels":"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0430 \u043A \u043F\u0438\u043A\u0441\u0435\u043B\u044F\u043C","message.invalid_format.install_plugin":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D %0","message.plugin_deprecated.message":"\u0422\u044B \u0443\u0432\u0435\u0440\u0435\u043D, \u0447\u0442\u043E \u0445\u043E\u0447\u0435\u0448\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0439 \u043F\u043B\u0430\u0433\u0438\u043D?","message.plugin_deprecated.install_anyway":"\u0412\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C","message.image_editor.not_found":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0444\u043E\u0442\u043E\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440.","message.knife_tool.confirm":"\u041D\u0430\u0436\u043C\u0438 %0 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438 \u0441\u044E\u0434\u0430, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u043E\u0436","message.knife_tool.skipped_face":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u0442\u044C \u0440\u0430\u0437\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438, \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0438\u0432 \u0432 \u0441\u0435\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u044F\u044E\u0449\u0438\u0435 \u0438\u0445 \u0442\u043E\u0447\u043A\u0438 \u0438\u043B\u0438 \u0440\u0451\u0431\u0440\u0430","message.optimize_animation.keyframes_removed":"\u0423\u0434\u0430\u043B\u0435\u043D\u043E %0 \u0438\u0437\u0431\u044B\u0442\u043E\u0447\u043D\u044B\u0445 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432","message.optimize_animation.nothing_to_optimize":"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0446\u0438\u0438!","message.duplicate_bone_copy_animation.title":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","message.duplicate_bone_copy_animation.message":"\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0430\u044F \u043A\u043E\u0441\u0442\u044C \u0430\u043D\u0438\u043C\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0432 %0 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044F\u0445. \u0422\u044B \u0445\u043E\u0447\u0435\u0448\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \u043A\u043E\u0441\u0442\u0438?","message.auto_fix_mesh_edit.title":"\u0410\u0432\u0442\u043E\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435","message.auto_fix_mesh_edit.revert":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","message.auto_fix_mesh_edit.overlapping_vertices":"\u041D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u0435\u0440\u0448\u0438\u043D \u0431\u044B\u043B\u043E \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u043E \u0432 \u043E\u0434\u043D\u0443 \u0442\u043E\u0447\u043A\u0443. \u0427\u0442\u043E \u0441 \u043D\u0438\u043C\u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C?","message.auto_fix_mesh_edit.concave_quads":"\u041E\u0434\u043D\u0430 \u0438\u043B\u0438 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0447\u0435\u0442\u044B\u0440\u0435\u0445\u0443\u0433\u043E\u043B\u044C\u043D\u044B\u0445 \u0433\u0440\u0430\u043D\u0435\u0439 \u0442\u0435\u043F\u0435\u0440\u044C \u0432\u043E\u0433\u043D\u0443\u0442\u044B, \u0447\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B \u043F\u0440\u0438 UV-\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u043A\u0435 \u0438 \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043D\u0433\u0435. Blockbench \u043C\u043E\u0436\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u043E \u0434\u043B\u044F \u0442\u0435\u0431\u044F:","message.auto_fix_mesh_edit.merge_vertices":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0432\u0435\u0440\u0448\u0438\u043D\u044B","message.auto_fix_mesh_edit.split_quads":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C \u0447\u0435\u0442\u044B\u0440\u0435\u0445\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A\u0438","message.load_images.add_image":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","dialog.project.modded_entity_entity_class":"\u041A\u043B\u0430\u0441\u0441 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438","dialog.resize_texture.offset":"\u0421\u043C\u0435\u0449\u0435\u043D\u0438\u0435","dialog.animated_texture_editor.code_reference":"\u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A \u043A\u043E\u0434\u0430","dialog.animated_texture_editor.code_reference.about":"\u042D\u0442\u043E\u0442 \u043A\u043E\u0434 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043F\u0440\u0438\u043C\u0435\u0440\u0430 \u0438 \u043C\u043E\u0436\u0435\u0442 \u043D\u0443\u0436\u0434\u0430\u0442\u044C\u0441\u044F \u0432 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u0438\u0440\u043E\u0432\u043A\u0435. \u041E\u0437\u043D\u0430\u043A\u043E\u043C\u044C\u0441\u044F \u0441 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0435\u0439, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435.","dialog.animated_texture_editor.code_reference.docs":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F","dialog.animated_texture_editor.reframe":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u0430\u0434\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","dialog.animated_texture_editor.stride":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043A\u0430\u0434\u0440\u0430","dialog.animated_texture_editor.frames":"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043A\u0430\u0434\u0440\u043E\u0432","dialog.animated_texture_editor.add_frame":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u0430\u0434\u0440","dialog.animated_texture_editor.resize_frames":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u0430\u0434\u0440\u043E\u0432...","dialog.animated_texture_editor.apply":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C","dialog.add_primitive.edge_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0440\u0435\u0431\u0440\u0430","dialog.change_animation_speed.speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C","dialog.change_animation_speed.adjust_snapping":"\u0420\u0435\u0433\u0443\u043B\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0438","dialog.optimize_animation.selection":"\u0412\u044B\u0431\u043E\u0440","dialog.optimize_animation.selection.selected_keyframes":"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B","dialog.optimize_animation.selection.selected_animation":"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u0430\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044F","dialog.optimize_animation.selection.all_animations":"\u0412\u0441\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","dialog.optimize_animation.thresholds":"\u041F\u043E\u0440\u043E\u0433\u043E\u0432\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F","dialog.import_obj.obj":"\u0424\u0430\u0439\u043B OBJ","dialog.import_obj.mtl":"\u0424\u0430\u0439\u043B MTL","dialog.import_obj.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","layout.thumbnail":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 CSS \u0434\u043B\u044F \u043C\u0438\u043D\u0438\u0430\u0442\u044E\u0440\u044B","settings.pixel_grid":"\u041F\u0438\u043A\u0441\u0435\u043B\u044C\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430","settings.pixel_grid.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0438\u043A\u0441\u0435\u043B\u044C\u043D\u0443\u044E \u0441\u0435\u0442\u043A\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","settings.image_editor_grid_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u0435\u0442\u043A\u0438 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","settings.image_editor_grid_size.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0431\u043E\u043B\u044C\u0448\u043E\u0439 \u0441\u0435\u0442\u043A\u0438 \u0432 2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","settings.ground_plane_double_side":"\u0414\u0432\u0443\u0441\u0442\u043E\u0440\u043E\u043D\u043D\u044F\u044F \u043F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C \u043F\u043E\u043B\u0430","settings.ground_plane_double_side.desc":"\u0421\u0434\u0435\u043B\u0430\u0442\u044C \u043F\u043B\u043E\u0441\u043A\u043E\u0441\u0442\u044C \u043F\u043E\u043B\u0430 \u0432\u0438\u0434\u0438\u043C\u043E\u0439 \u0441\u043D\u0438\u0437\u0443","settings.optifine_save_default_texture":"OptiFine JEM: \u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","settings.optifine_save_default_texture.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u043A\u0430\u043A \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0443\u044E \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0438","action.slider_color_select_threshold":"\u041F\u043E\u0440\u043E\u0433 \u0432\u044B\u0431\u043E\u0440\u0430 \u0446\u0432\u0435\u0442\u0430","action.slider_color_select_threshold.desc":"\u041D\u0430\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0431\u043B\u0438\u0437\u043A\u0438\u043C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0446\u0432\u0435\u0442 \u0441\u043E\u0441\u0435\u0434\u043D\u0435\u0433\u043E \u043F\u0438\u043A\u0441\u0435\u043B\u044F, \u0447\u0442\u043E\u0431\u044B \u043E\u043D \u0431\u044B\u043B \u0432\u044B\u0431\u0440\u0430\u043D \u043F\u043E \u0446\u0432\u0435\u0442\u0443 \u0438\u043B\u0438 \u0432\u043E\u043B\u0448\u0435\u0431\u043D\u043E\u0439 \u043F\u0430\u043B\u043E\u0447\u043A\u043E\u0439","action.stretch_tool":"\u0420\u0430\u0441\u0442\u044F\u0433\u0438\u0432\u0430\u043D\u0438\u0435","action.stretch_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0438 \u0440\u0430\u0441\u0442\u044F\u0433\u0438\u0432\u0430\u043D\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","action.knife_tool":"\u041D\u043E\u0436","action.knife_tool.desc":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u043D\u0438\u044F \u0433\u0440\u0430\u043D\u0435\u0439 \u043C\u044D\u0448\u0430 \u043D\u0430 \u043C\u0435\u043D\u044C\u0448\u0438\u0435 \u0447\u0430\u0441\u0442\u0438","action.duplicate_project":"\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442","action.duplicate_project.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u043E\u043F\u0438\u044E \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0430","action.transform_space.parent":"\u0420\u043E\u0434\u0438\u0442\u0435\u043B\u044C","action.transform_pivot_space":"\u041F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043E\u0441\u0438","action.solidify_mesh_selection":"\u0423\u043F\u043B\u043E\u0442\u043D\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u0438","action.solidify_mesh_selection.desc":"\u0423\u043F\u043B\u043E\u0442\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0430\u043D\u0438 \u0441\u0435\u0442\u043A\u0438","action.animated_texture_editor":"\u0424\u043B\u0438\u043F\u0431\u0443\u043A-\u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044F...","action.animated_texture_editor.desc":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u043B\u0438\u043F\u0431\u0443\u043A-\u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.center_individual_pivots":"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0438\u043D\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043B\u044C\u043D\u044B\u0445 \u043E\u0441\u0435\u0439","action.center_individual_pivots.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u043E\u0447\u043A\u0443 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430 \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432 \u0435\u0433\u043E \u0446\u0435\u043D\u0442\u0440","action.uv_cycle":"\u0426\u0438\u043A\u043B UV","action.uv_cycle.desc":"\u0426\u0438\u043A\u043B\u0438\u0447\u0435\u0441\u043A\u0438 \u043C\u0435\u043D\u044F\u0442\u044C \u043F\u043E\u0440\u044F\u0434\u043E\u043A UV-\u0432\u0435\u0440\u0448\u0438\u043D \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438\u0445 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F","action.uv_cycle_invert":"\u0418\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 UV","action.uv_cycle_invert.desc":"\u041E\u0431\u0440\u0430\u0442\u0438\u0442\u044C \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0440\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F \u0432\u0435\u0440\u0448\u0438\u043D \u043D\u0430 UV-\u0440\u0430\u0437\u0432\u0451\u0440\u0442\u043A\u0435, \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u044F \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u044F UV","action.slider_animation_controller_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u0430","action.slider_animation_controller_speed.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u043E\u0432 \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445","action.optimize_animation":"\u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","action.optimize_animation.desc":"\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u043A\u0430\u0434\u0440\u043E\u0432, \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0432 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E","action.change_animation_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438...","action.change_animation_speed.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","timeline.select_particle_file":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B \u0447\u0430\u0441\u0442\u0438\u0446","timeline.select_sound_file":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0437\u0432\u0443\u043A\u043E\u0432\u043E\u0439 \u0444\u0430\u0439\u043B","menu.cube.texture.default":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","menu.texture.particle.clear":"\u041F\u0440\u0435\u043A\u0440\u0430\u0442\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0434\u043B\u044F \u0447\u0430\u0441\u0442\u0438\u0446","menu.texture.use_as_default":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","menu.texture.use_as_default.clear":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0443 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","menu.toolbar.overflow":"\u041F\u0435\u0440\u0435\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432","edit.solidify_mesh_selection.thickness":"\u0422\u043E\u043B\u0449\u0438\u043D\u0430","reference_image.sync_to_timeline":"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0441 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u043E\u0439","reference_image.toggle_playback":"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0435/\u043F\u0430\u0443\u0437\u0430","dialog.add_primitive.shape.beveled_cuboid":"\u041E\u043A\u0440\u0443\u0433\u043B\u044B\u0439 \u043F\u0430\u0440\u0430\u043B\u043B\u0435\u043B\u0435\u043F\u0438\u043F\u0435\u0434","dialog.ignore_all":"\u041F\u0440\u043E\u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0451","data.texture_group":"\u0413\u0440\u0443\u043F\u043F\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","data.animation":"\u0410\u043D\u0438\u043C\u0430\u0446\u0438\u044F","generic.on":"\u0412\u043A\u043B","generic.off":"\u0412\u044B\u043A\u043B","format.free.info.3d_printing":"3D-\u043F\u0435\u0447\u0430\u0442\u044C","message.invalid_file.merge_conflict":"\u0424\u0430\u0439\u043B \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043D\u043D\u044B\u0439 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442 \u0441\u043B\u0438\u044F\u043D\u0438\u044F \u0432 Git","dialog.expand_texture_selection.radius":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","dialog.expand_texture_selection.corner":"\u0423\u0433\u043B\u043E\u0432\u0430\u044F \u0444\u043E\u0440\u043C\u0430","dialog.expand_texture_selection.corner.round":"\u041A\u0440\u0443\u0433","dialog.expand_texture_selection.corner.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442","dialog.expand_texture_selection.corner.manhattan":"\u0417\u0435\u043B\u0435\u043D\u043E\u0433\u0440\u0430\u0434","dialog.merge_animation.merge_target":"\u0421\u043B\u0438\u0442\u044C \u0441...","keybindings.variation_conflict":"\u041A\u043E\u043D\u0444\u043B\u0438\u043A\u0442 \u043F\u0440\u0438 \u043F\u0440\u0438\u0432\u044F\u0437\u043A\u0435 \u0433\u043E\u0440\u044F\u0447\u0438\u0445 \u043A\u043B\u0430\u0432\u0438\u0448","settings.recovery_save_interval":"\u0410\u0432\u0442\u043E\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0442\u043E\u0447\u043A\u0438 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F","settings.recovery_save_interval.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0435\u043A\u0443\u043D\u0434\u043D\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0430\u0432\u0442\u043E\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F Blockbench \u043D\u0430 \u0441\u043B\u0443\u0447\u0430\u0439 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u043D\u044B\u0445 \u0441\u0431\u043E\u0435\u0432. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 0, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435.","settings.save_view_per_tab":"\u041C\u0435\u0436\u0432\u043A\u043B\u0430\u0434\u043E\u0447\u043D\u044B\u0439 \u0432\u0438\u0434","settings.save_view_per_tab.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0443\u0433\u043E\u043B \u043E\u0431\u0437\u043E\u0440\u0430 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0439 \u0432\u043A\u043B\u0430\u0434\u043A\u0438","settings.inherit_parent_color":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0446\u0432\u0435\u0442","settings.inherit_parent_color.desc":"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u0446\u0432\u0435\u0442 \u043C\u0430\u0440\u043A\u0451\u0440\u0430 \u043D\u043E\u0432\u043E\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0446\u0432\u0435\u0442 \u0432\u043C\u0435\u0441\u0442\u043E \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0433\u043E","keybind.preview_select.multi_select":"\u041C\u0443\u043B\u044C\u0442\u0438\u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","keybind.preview_select.group_select":"\u0413\u0440\u0443\u043F\u043F\u043E\u0432\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","keybind.preview_select.loop_select":"\u0426\u0438\u043A\u043B\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","action.fill_mode.selection":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","action.fill_mode.selected_elements":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","action.image_tiled_view":"\u0420\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0439 \u0432\u0438\u0434","action.image_tiled_view.description":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0439 \u0432\u0438\u0434 \u0432 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435","action.image_onion_skin_view":"\u041A\u0430\u043B\u044C\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","action.image_onion_skin_view.description":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u0430\u043B\u044C\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435","action.expand_texture_selection":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.expand_texture_selection.desc":"\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0438\u043B\u0438 \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.switch_tabs.reverse_order":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u0432 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435","action.save_project_incremental":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E","action.save_project_incremental.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043C\u043E\u0434\u0435\u043B\u044C \u043F\u043E\u0434 \u043D\u043E\u0432\u043E\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, project_2.bbmodel \u0432\u043C\u0435\u0441\u0442\u043E project.bbmodel)","action.copy.multiple":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432\u0441\u0435\u0433\u043E","action.copy.multiple.desc":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438","action.paste.multiple":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0451","action.randomize_marker_colors":"\u0420\u0430\u043D\u0434\u043E\u043C\u0438\u0437\u0430\u0446\u0438\u044F \u0446\u0432\u0435\u0442\u043E\u0432-\u043C\u0430\u0440\u043A\u0451\u0440\u043E\u0432","action.cube_light_emission":"\u0421\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u044D\u043C\u0438\u0441\u0441\u0438\u044F","action.cube_light_emission.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0443\u0440\u043E\u0432\u0435\u043D\u044C \u0441\u0432\u0435\u0442\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u043E\u0442 0 \u0434\u043E 15","action.view_mode.colored_solid":"\u0417\u0430\u043B\u0438\u0432\u043A\u0430 \u0446\u0432\u0435\u0442\u043E\u043C \u043C\u0430\u0440\u043A\u0451\u0440\u0430","action.focus_on_selection.rotate_only":"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0435","action.create_texture_group":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.create_texture_group.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440, \u043D\u0430\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0433\u0440\u0443\u043F\u043F\u044B","action.uv_maximize.all_faces":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E \u0432\u0441\u0435\u043C \u0433\u0440\u0430\u043D\u044F\u043C","action.retarget_animators":"\u041F\u0435\u0440\u0435\u043D\u0430\u0437\u043D\u0430\u0447\u0438\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","action.retarget_animators.desc":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C, \u043A\u0430\u043A \u0431\u0443\u0434\u0443\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C\u0441\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0435 \u043A\u043E\u0441\u0442\u0438 \u0438\u043B\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B","action.merge_animation":"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","action.merge_animation.desc":"\u0421\u043E\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u044E \u0441 \u0434\u0440\u0443\u0433\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0435\u0439","action.add_keyframe.reset_values":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","action.set_timeline_range_start":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430\u0447\u0430\u043B\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","action.set_timeline_range_start.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043D\u0430\u0447\u0430\u043B\u043E \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435","action.set_timeline_range_end":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0435\u0446 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","action.set_timeline_range_end.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0435\u0446 \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435","action.disable_timeline_range":"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","action.disable_timeline_range.desc":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043D\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u0435","menu.texture_group.resolve":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C","menu.image_tiled_view.mirrored":"\u0417\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u043A\u0440\u0430\u044F","menu.image_onion_skin_view.frame":"\u041A\u0430\u0434\u0440\u044B","menu.image_onion_skin_view.frame.last_viewed":"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.previous":"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.next":"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.both":"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 + \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439","menu.image_onion_skin_view.display":"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C","menu.image_onion_skin_view.display.pixels":"\u0423\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u043D\u044B\u0435 \u043F\u0438\u043A\u0441\u0435\u043B\u044B","menu.image_onion_skin_view.display.transparent":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C","menu.image_onion_skin_view.above":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u0432\u0435\u0440\u0445\u0443","menu.animation.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C","switches.autouv.alt":"\u041E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E","display.rotation_pivot":"\u041E\u0441\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F","display.scale_pivot":"\u041E\u0441\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0430","display.reference.fox":"\u041B\u0438\u0441\u0430","display.reference.eating":"\u041F\u043E\u0435\u0434\u0430\u043D\u0438\u0435","preview_scene.sky":"\u041D\u0435\u0431\u043E","preview_scene.space":"\u041A\u043E\u0441\u043C\u043E\u0441","preview_scene.minecraft_ocean":"\u041E\u043A\u0435\u0430\u043D","message.import_palette.selection_only":"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C...","dialog.blend_transition_edit.generate.learn_more":"\u0411\u043E\u043B\u044C\u0448\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438","dialog.blend_transition_edit.generate.curve":"\u0422\u0438\u043F \u0438\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0438\u0438","dialog.blend_transition_edit.generate.steps":"\u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u043A\u0430\u0434\u0440\u044B","settings.fps_limit":"\u041B\u0438\u043C\u0438\u0442 FPS","settings.fps_limit.desc":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 FPS, \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u043C\u043E\u0435 Blockbench.","settings.outliner_reveal_on_select":"\u0420\u0430\u0441\u043A\u0440\u044B\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043F\u0440\u0438 \u0432\u044B\u0431\u043E\u0440\u0435","settings.outliner_reveal_on_select.desc":"\u0420\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u0441\u043F\u0438\u0441\u043A\u0435","settings.java_export_pivots":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u0439 \u0432 \u043C\u043E\u0434\u0435\u043B\u0438 \u0434\u043B\u044F Minecraft JE","settings.java_export_pivots.desc":"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0442\u043E\u0447\u043A\u0438 \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0432 \u043C\u043E\u0434\u0435\u043B\u044F\u0445 \u0434\u043B\u044F Minecraft JE \u0434\u0430\u0436\u0435 \u0434\u043B\u044F \u043D\u0435\u043F\u0440\u043E\u0432\u0451\u0440\u043D\u0443\u0442\u044B\u0445 \u043A\u0443\u0431\u043E\u0432","animation_controllers.state.blend_transition_curve":"\u041A\u0440\u0438\u0432\u0430\u044F \u043F\u043B\u0430\u0432\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430","menu.slider.reset_vector":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0435\u043A\u0442\u043E\u0440","dialog.blend_transition_edit.extended":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439 \u0433\u0440\u0430\u0444 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0439","message.screenshot_too_large.title":"\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0441\u043D\u0438\u043C\u043A\u0430","message.screenshot_too_large.message":"\u0421\u043A\u0440\u0438\u043D\u0448\u043E\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043E\u0442\u0440\u0435\u043D\u0434\u0435\u0440\u0435\u043D \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439 \u0435\u0449\u0451 \u0440\u0430\u0437 \u0441 \u0431\u043E\u043B\u0435\u0435 \u043D\u0438\u0437\u043A\u0438\u043C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0438\u043B\u0438 \u0431\u0435\u0437 SSAA.","message.rename_elements.numbering":"\u0422\u044B \u043C\u043E\u0436\u0435\u0448\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u0447\u0438\u0441\u0435\u043B: % \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432 \u0433\u0440\u0443\u043F\u043F\u0435, $ \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u0432 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0438.","generic.edit_externally":"\u0412\u043D\u0435\u0448\u043D\u0435\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","message.settings_require_restart.title":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430","message.settings_require_restart.message":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u043B\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B","message.settings_require_restart.restart_now":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441","message.settings_require_restart.restart_later":"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435","message.classroom_mode.install_plugin":"\u0412 \u0443\u0447\u0435\u0431\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u043F\u043B\u0430\u0433\u0438\u043D\u044B","dialog.collection.export_path":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043F\u0443\u0442\u0438","dialog.collection.select_all":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u0432\u0441\u0451","dialog.collection.select_none":"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0432\u044B\u0434\u0435\u043B\u044F\u0442\u044C","dialog.collection.add_with_filter":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u043C","dialog.collection.remove":"\u0423\u0431\u0440\u0430\u0442\u044C","dialog.material_config.title":"\u041A\u043E\u043D\u0444\u0438\u0433 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u0430","dialog.material_config.color_value":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0446\u0432\u0435\u0442\u0430","dialog.material_config.mer":"\u041C\u0435\u0442\u0430\u043B\u043B\u0438\u0447\u043D\u043E\u0441\u0442\u044C-\u044D\u043C\u0438\u0441\u0441\u0438\u044F-\u0448\u0435\u0440\u043E\u0445\u043E\u0432\u0430\u0442\u043E\u0441\u0442\u044C","dialog.material_config.mer_value":"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 MER","dialog.material_config.depth_type":"\u0422\u0438\u043F \u0433\u043B\u0443\u0431\u0438\u043D\u044B","dialog.create_texture.disable_mirror_uv":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0432\u0430\u043D\u0438\u0435 UV","dialog.create_texture.disable_mirror_uv.desc":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0442\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0432\u0430\u043D\u0438\u0435 UV \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0435 UV \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0439 \u0433\u0440\u0430\u043D\u0438","dialog.create_gif.turn.sync_to_anim_length":"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0441 \u0434\u043B\u0438\u043D\u043E\u0439 \u0430\u043D\u0438\u043C\u0430\u0446\u0438\u0438","settings.category.controls":"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435","settings.classroom_mode":"\u0423\u0447\u0435\u0431\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C","settings.classroom_mode.desc":"\u0423\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0441\u0435\u0442\u0438 \u0438 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B\u0430","settings.antialiasing_bleed_fix":"\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0431\u0435\u0437 \u0440\u0430\u0437\u043C\u044B\u0442\u0438\u044F","settings.antialiasing_bleed_fix.desc":"\u041D\u0435 \u0440\u0430\u0437\u043C\u044B\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0441\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u043D\u0438\u044F","settings.tone_mapping":"\u0422\u043E\u043D\u0430\u043B\u044C\u043D\u0430\u044F \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430","settings.tone_mapping.desc":"\u041C\u0435\u0442\u043E\u0434 \u0434\u043B\u044F \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0433\u043E \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u044F\u0440\u043A\u0438\u0445 \u0438 \u0442\u0451\u043C\u043D\u044B\u0445 \u043E\u0431\u043B\u0430\u0441\u0442\u0435\u0439 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0430 \u044D\u043A\u0440\u0430\u043D\u0430\u0445 \u0441 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043D\u044B\u043C \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\u043E\u043C \u044F\u0440\u043A\u043E\u0441\u0442\u0438.","settings.audio_scrubbing":"\u0417\u0432\u0443\u043A \u043F\u0440\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0435","settings.audio_scrubbing.desc":"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u043E\u0442\u0440\u044B\u0432\u043E\u043A \u0430\u0443\u0434\u0438\u043E \u043F\u0440\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u043D\u0438\u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0448\u043A\u0430\u043B\u044B","settings.viewport_rotate_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0432\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0432\u044C\u044E\u043F\u043E\u0440\u0442\u0430","settings.viewport_rotate_speed.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0438 \u043F\u0440\u043E\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0438 \u0432\u044C\u044E\u043F\u043E\u0440\u0442\u0430","settings.viewport_zoom_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u044F \u0432\u044C\u044E\u043F\u043E\u0440\u0442\u0430","settings.viewport_zoom_speed.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0438 \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0438 \u0432\u044C\u044E\u043F\u043E\u0440\u0442\u0430","settings.editor_2d_zoom_speed":"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u044F 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","settings.editor_2d_zoom_speed.desc":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u0438 \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0438 \u0432 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435","category.select":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","action.vertex_snap_mode.rotate":"\u041F\u043E\u0432\u043E\u0440\u043E\u0442","action.export_image":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","action.export_image.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0432 \u0444\u0430\u0439\u043B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","action.apply_mirror_modeling":"\u041F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F","action.apply_mirror_modeling.desc":"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043C\u043E\u0434\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044E. \u0412\u0441\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0431\u0443\u0434\u0443\u0442 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u0438 \u043F\u043E\u0432\u0451\u0440\u043D\u0443\u0442\u044B \u043F\u043E \u043E\u0441\u0438 X","action.create_collection":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u0438","action.create_collection.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u044E \u0438\u0437 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430","action.set_collection_content_to_selection":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u0438","action.set_collection_content_to_selection.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u044B\u043C \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u0438","action.add_to_collection":"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0432 \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u044E","action.add_to_collection.desc":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0432 \u043A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u044E","action.view_mode.material":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u0430","action.create_material":"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u0430","action.create_material.desc":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0439 PBR-\u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B \u0438\u0437 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","action.generate_pbr_map":"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F PBR-\u043A\u0430\u0440\u0442\u044B...","action.generate_pbr_map.desc":"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C PBR-\u043A\u0430\u0440\u0442\u0443 (\u043C\u0435\u0442\u0430\u043B\u043B\u0438\u0447\u043D\u043E\u0441\u0442\u044C, \u044D\u043C\u0438\u0441\u0441\u0438\u044F, \u0448\u0435\u0440\u043E\u0445\u043E\u0432\u0430\u0442\u043E\u0441\u0442\u044C \u0438 \u0432\u044B\u0441\u043E\u0442\u044B) \u0438\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","menu.tools.main_tools":"\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439","menu.view.panels":"\u041F\u0430\u043D\u0435\u043B\u0438","menu.texture.pbr_channel":"PBR-\u043A\u0430\u043D\u0430\u043B","menu.texture.pbr_channel.color":"\u0426\u0432\u0435\u0442","menu.texture.pbr_channel.normal":"\u041D\u043E\u0440\u043C\u0430\u043B\u044C","menu.texture.pbr_channel.height":"\u0412\u044B\u0441\u043E\u0442\u0430","menu.texture.pbr_channel.mer":"MER (\u041C\u0435\u0442\u0430\u043B\u043B\u0438\u0447\u043D\u043E\u0441\u0442\u044C-\u044D\u043C\u0438\u0441\u0441\u0438\u044F-\u0448\u0435\u0440\u043E\u0445\u043E\u0432\u0430\u0442\u043E\u0441\u0442\u044C)","menu.texture.pbr_channel.mer_subsurface":"MER-\u043F\u043E\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u043E\u0441\u0442\u044C","menu.collection.export_project":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442","menu.collection.export_as":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u0430\u043A %0","menu.panel.enable":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C","menu.panel.move_to":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432","menu.panel.move_to.left_bar":"\u041B\u0435\u0432\u0430\u044F \u0431\u043E\u043A\u043E\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C","menu.panel.move_to.right_bar":"\u041F\u0440\u0430\u0432\u0430\u044F \u0431\u043E\u043A\u043E\u0432\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C","menu.panel.move_to.top":"\u0412\u0435\u0440\u0445","menu.panel.move_to.bottom":"\u041D\u0438\u0437","menu.panel.move_to.float":"\u041F\u043B\u0430\u0432\u0430\u043D\u0438\u0435","menu.panel.move_to.hidden":"\u0421\u043F\u0440\u044F\u0442\u0430\u0442\u044C","menu.panel.fold":"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C","menu.mirror_painting.texture_center":"\u0426\u0435\u043D\u0442\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B","menu.mirror_modeling.mirror_uv":"\u041E\u0442\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0432\u0430\u043D\u0438\u0435 UV","menu.animation_onion_skin.frames":"\u041A\u0430\u0434\u0440\u044B","menu.animation_onion_skin.select":"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","menu.animation_onion_skin.previous":"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435","menu.animation_onion_skin.next":"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435","menu.animation_onion_skin.previous_next":"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 + \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435","menu.animation_onion_skin.count":"\u0421\u0447\u0451\u0442","menu.animation_onion_skin.interval":"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B","menu.animation_onion_skin_selective":"\u0412\u044B\u0431\u043E\u0440\u043E\u0447\u043D\u043E\u0435 \u043A\u0430\u043B\u044C\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435","menu.animation_onion_skin_selective.desc":"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043A\u0430\u043B\u044C\u043A\u0443 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0447\u0430\u0441\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u0438","edit.loop_cut.unit":"\u0415\u0434\u0438\u043D\u0438\u0446\u0430","edit.loop_cut.unit.size_units":"\u0415\u0434\u0438\u043D\u0438\u0446\u044B \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F \u0440\u0430\u0437\u043C\u0435\u0440\u0430","edit.loop_cut.unit.percent":"\u041F\u0440\u043E\u0446\u0435\u043D\u0442","edit.extrude_mesh_selection.direction":"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435","edit.extrude_mesh_selection.direction.outwards":"\u0412\u043D\u0435\u0448\u043D\u044F\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430","edit.extrude_mesh_selection.direction.average":"\u0421\u0440\u0435\u0434\u043D\u0435\u0435","edit.extrude_mesh_selection.even_extend":"\u0420\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u043E\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435","edit.vertex_snap.align":"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432","edit.vertex_snap.align.longest":"\u041F\u043E \u0434\u043B\u0438\u043D\u043D\u0435\u0439\u0448\u0435\u0439 \u043E\u0441\u0438","edit.vertex_snap.align.direction":"\u041F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044E \u043E\u0442 \u0446\u0435\u043D\u0442\u0440\u0430 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0430","edit.vertex_snap.align.align_axis":"\u041F\u043E \u043E\u0441\u0438 %0","edit.vertex_snap.ignore_axis":"\u0418\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0441\u0438","codec.common.format":"\u0424\u043E\u0440\u043C\u0430\u0442","codec.image.quality":"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E","panel.collections":"\u041A\u043E\u043B\u043B\u0435\u043A\u0446\u0438\u0438","modifier_actions.always":"\u0412\u0441\u0435\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E","modifier_actions.unless":"\u0415\u0441\u043B\u0438 \u043D\u0435 %0","settings.undo_selections":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435","settings.undo_selections.desc":"\u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0432 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","action.focus_on_selection.zoom":"\u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0435\u043D\u0438\u0435 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u043E\u0431\u044A\u0435\u043A\u0442\u0443","display.reference.tooting":"\u0422\u0440\u0443\u0431\u043B\u0435\u043D\u0438\u0435 \u0432 \u0440\u043E\u0433","settings.selection_tolerance":"\u0414\u043E\u043F\u0443\u0441\u043A \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u044F","settings.selection_tolerance.desc":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043E\u0431\u043B\u0430\u0441\u0442\u0438, \u043F\u043E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0436\u0430\u0442\u044C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0440\u0435\u0431\u0440\u043E \u0438\u043B\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0443","action.delete.keep_vertices":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0440\u0451\u0431\u0440\u0430/\u0432\u0435\u0440\u0448\u0438\u043D\u044B","menu.mesh":"\u041C\u044D\u0448","dialog.material_config.subsurface":"\u041F\u043E\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u043E\u0441\u0442\u043D\u043E\u0435 \u0440\u0430\u0441\u0441\u044F\u043D\u0438\u0435","dialog.material_config.subsurface_enabled.desc":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B \u043A\u0430\u0440\u0442\u044B MER \u0434\u043B\u044F \u0438\u0437\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u043E\u0441\u0442\u043D\u043E\u0433\u043E \u0440\u0430\u0441\u0441\u0435\u044F\u043D\u0438\u044F","settings.pick_combined_color":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u043C\u0435\u0448\u0430\u043D\u043D\u044B\u0439 \u0446\u0432\u0435\u0442","settings.pick_combined_color.desc":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043E\u043C\u0431\u0438\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0446\u0432\u0435\u0442 \u0432\u0441\u0435\u0445 \u0441\u043B\u043E\u0451\u0432 \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u043C \u043F\u0438\u043A\u0441\u0435\u043B\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u0446\u0432\u0435\u0442\u0430 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0441\u043B\u043E\u044F","action.split_rgb_into_layers":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u044C RGB \u043A\u0430\u043D\u0430\u043B\u044B \u043D\u0430 \u0441\u043B\u043E\u0438","action.split_rgb_into_layers.desc":"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u043D\u0430 \u0430\u0434\u0434\u0438\u0442\u0438\u0432\u043D\u044B\u0435 \u0441\u043B\u043E\u0438, \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u043A\u0430\u043D\u0430\u043B\u0430 RGB","dialog.project.java_block_version":"\u0412\u0435\u0440\u0441\u0438\u044F \u0444\u043E\u0440\u043C\u0430\u0442\u0430","data.spline_mesh":"\u0421\u043F\u043B\u0430\u0439\u043D","data.billboard":"\u0411\u0438\u043B\u0431\u043E\u0440\u0434","data.armature":"\u0421\u043A\u0435\u043B\u0435\u0442","data.armature_bone":"\u041A\u043E\u0441\u0442\u044C \u0430\u0440\u043C\u0430\u0442\u0443\u0440\u044B","generic.reload":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","modifier_actions.subtract":"\u0412\u044B\u0447\u0435\u0441\u0442\u044C","modifier_actions.reduced_intensity":"\u0422\u043E\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430","modifier_actions.select_bone":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044C","modifier_actions.spline_select_multiple_points":"\u0412\u044B\u0434\u0435\u043B\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0442\u043E\u0447\u0435\u043A \u0438\u043B\u0438 \u043C\u0430\u0440\u043A\u0435\u0440\u043E\u0432 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F","modifier_actions.move_panel_without_docking":"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0431\u0435\u0437 \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u0438\u044F","message.save_all_textures.message":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u0430\u0436\u0434\u0443\u044E \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440?","message.save_all_textures.skip":"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C","dialog.add_spline.shape":"\u0424\u043E\u0440\u043C\u0430","dialog.add_spline.shape.segment":"\u0421\u0435\u0433\u043C\u0435\u043D\u0442","dialog.add_spline.shape.square":"\u041F\u0440\u044F\u043C\u043E\u0443\u0433\u043E\u043B\u044C\u043D\u0438\u043A","dialog.add_spline.shape.circle":"\u041A\u0440\u0443\u0433","dialog.add_spline.diameter":"\u0414\u0438\u0430\u043C\u0435\u0442\u0440","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"\u0414\u043B\u0438\u043D\u0430","dialog.add_spline.width":"\u0428\u0438\u0440\u0438\u043D\u0430","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430","layout.theme.configure":"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0439","settings.autocomplete_code":"\u0410\u0432\u0442\u043E\u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435 \u043A\u043E\u0434\u0430","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"\u041A\u0438\u0441\u0442\u044C \u0432\u0435\u0441\u043E\u0432","action.weight_brush.desc":"\u041D\u0430\u0440\u0438\u0441\u0443\u0439\u0442\u0435 \u0432\u0435\u0441\u0430 \u0432\u0435\u0440\u0448\u0438\u043D \u043D\u0430 \u0441\u0435\u0442\u043A\u0430\u0445 \u0434\u043B\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0434\u0435\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0439 \u0430\u0440\u043C\u0430\u0442\u0443\u0440\u044B","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 STL","action.export_stl.desc":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 STL \u0434\u043B\u044F 3D-\u043F\u0435\u0447\u0430\u0442\u0438","action.add_element":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044C \u043A \u0430\u0440\u043C\u0430\u0442\u0443\u0440\u0435","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u0432\u0435\u0441\u043E\u0432\u043E\u0439 \u043A\u0438\u0441\u0442\u0438","action.weight_brush_xray":"\u0421\u0438\u043B\u0430 \u043A\u0438\u0441\u0442\u0438 \u0440\u0435\u043D\u0442\u0433\u0435\u043D\u043E\u0432\u0441\u043A\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430","action.weight_brush_xray.desc":"\u041A\u043E\u0433\u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0432\u0435\u0441\u043E\u0432\u0430\u044F \u043A\u0438\u0441\u0442\u044C \u0431\u0443\u0434\u0435\u0442 \u0432\u043B\u0438\u044F\u0442\u044C \u043D\u0430 \u0432\u0441\u0435 \u0432\u0435\u0440\u0448\u0438\u043D\u044B, \u0432\u043C\u0435\u0441\u0442\u043E \u0442\u0435\u0445 \u0447\u0442\u043E \u0432\u0438\u0434\u043D\u044B \u043D\u0430 \u043F\u043E\u0432\u0435\u0440\u0445\u043D\u043E\u0441\u0442\u0438","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0435\u0441\u0430 \u0432\u0435\u0440\u0448\u0438\u043D","action.set_vertex_weights.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0435\u0441 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0439 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u0442\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043A\u043E\u0441\u0442\u0438 \u0430\u0440\u043C\u0430\u0442\u0443\u0440\u044B","action.calculate_vertex_weights":"\u0412\u044B\u0447\u0438\u0441\u043B\u0438\u0442\u044C \u0432\u0435\u0441\u0430 \u0432\u0435\u0440\u0448\u0438\u043D","action.calculate_vertex_weights.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0435\u0441\u044B \u0432\u0435\u0440\u0448\u0438\u043D \u0431\u0430\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043D\u0430 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043A\u043E\u0441\u0442\u0435\u0439","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"\u0412\u0435\u0441 \u0432\u0435\u0440\u0448\u0438\u043D\u044B","action.view_mode.weighted_bone_colors":"\u0426\u0432\u0435\u0442 \u0432\u0435\u0440\u0448\u0438\u043D\u044B \u043A\u043E\u0441\u0442\u0438","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"\u0421\u043E\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"\u0412\u0435\u0441\u0430","dialog.set_vertex_weights.overwrite":"\u041F\u0435\u0440\u0435\u043F\u0438\u0441\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u0435 \u043A\u043E\u0441\u0442\u0438","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"\u041B\u0438\u043C\u0438\u0442 \u0432\u0435\u0441\u043E\u0432\u043E\u0439 \u043A\u0438\u0441\u0442\u0438","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var RL={"dialog.ok":"Ok","dialog.cancel":"Avbryt","dialog.confirm":"Bekr\xE4fta","dialog.close":"St\xE4ng","dialog.import":"Importera","dialog.save":"Spara","dialog.discard":"Sl\xE4ng","dialog.dontshowagain":"Visa inte igen","data.cube":"Kub","data.group":"Grupp","data.texture":"Textur","data.plugin":"Till\xE4ggsprogram","data.preview":"F\xF6rhandsvisa","data.toolbar":"Verktygsf\xE4lt","data.image":"Bild","keys.ctrl":"Ctrl","keys.shift":"Skift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Radera","keys.space":"Mellanslag","keys.leftclick":"V\xE4nsterklick","keys.middleclick":"Mittenklick","keys.rightclick":"H\xF6gerklick","keys.tab":"Tab","keys.backspace":"Bakslag","keys.enter":"Retur","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Knappsats %0","keys.caps":"Versall\xE5s","keys.menu":"Kontextmeny","keys.left":"V\xE4nster","keys.up":"Upp","keys.right":"H\xF6ger","keys.down":"Ner","keys.pageup":"Sida upp","keys.pagedown":"Sida ner","keys.plus":"Plus","keys.comma":"Komma","keys.point":"Punkt","keys.minus":"Minus","keys.cross":"Kryss","keys.end":"Slut","keys.pos1":"Position 1","keys.printscreen":"Sk\xE4rmbild","keys.pause":"Paus","message.rotation_limit.title":"Rotationsgr\xE4nser","message.rotation_limit.message":'Roteringar \xE4r begr\xE4nsade av Minecraft till en axel. Rotering av en annan axel rensar alla andra rotationer p\xE5 de andra axlarna. Konvertera modellen till en "Generisk modell" om du modellerar f\xF6r andra \xE4ndam\xE5l och beh\xF6ver fria rotationer.',"message.file_not_found.title":"Hittade inte filen","message.file_not_found.message":"Blockbench kunde inte hitta den beg\xE4rda filen. F\xF6rs\xE4kra dig att den \xE4r sparad lokalt och inte i molnet.","message.screenshot.title":"Sk\xE4rmbild","message.screenshot.clipboard":"Urklipp","message.screenshot.right_click":"H\xF6gerklicka eller tryck l\xE4nge p\xE5 sk\xE4rmbilden f\xF6r att kopiera","message.invalid_file.title":"Ogiltig fil","message.invalid_file.message":"Kunde inte \xF6ppna JSON-filen: %0","message.invalid_model.title":"Ogiltig modellfil","message.invalid_model.message":"Filen inneh\xE5ller inte giltig modellinformation.","message.child_model_only.title":"Tom delmodell","message.child_model_only.message":"Denna filen \xE4r en delmodell av %0 och inneh\xE5ller inte en modell.","message.unsaved_textures.title":"Osparade texturer","message.unsaved_textures.message":"Din modell har osparade texturer. Kom ih\xE5g att spara dem och att l\xE4gga in dem i ditt resurspaket i r\xE4tt mapp.","message.model_clipping.title":"F\xF6r stor modell","message.model_clipping.message":"Din modell inneh\xE5ller %0 kuber som \xE4r st\xF6rre \xE4n blockgr\xE4nsen som till\xE5ts av Minecraft. Den h\xE4r modellen kommer inte fungera i Minecraft.","message.loose_texture.title":"Importera texturer","message.loose_texture.message":"Den importerade texturen finns inte i ett resurspaket. Minecraft kan endast ladda texturer som finns inuti texturmappen i det laddade resurspaketet.","message.loose_texture.change":"\xC4ndra s\xF6kv\xE4g","message.update_res.title":"Texturuppl\xF6sning","message.update_res.message":"Vill du uppdatera projektuppl\xF6sningen till uppl\xF6sningen av denna texturen? Klicka 'Avbryt' om din textur har en st\xF6rre uppl\xF6sning \xE4n normalt.","message.update_res.update":"Uppdatera","message.bedrock_overwrite_error.message":"Blockbench kan inte sl\xE5 ihop denna modellen med en gammal fil","message.bedrock_overwrite_error.backup_overwrite":"G\xF6r en s\xE4kerhetskopiering och skriv \xF6ver","message.bedrock_overwrite_error.overwrite":"Skriv \xF6ver","message.close_warning.message":"Vill du spara din modell?","message.close_warning.web":"Ditt nuvarande arbete kommer att f\xF6rsvinna. \xC4r du s\xE4ker att du vill avsluta?","message.default_textures.title":"Standardtexturer","message.default_textures.message":'V\xE4lj "textur"-mappen i standardresurspaketet',"message.default_textures.detail":'Extrahera standardresurspaketet fr\xE5n Minecraft .jar filen eller googla och ladda ner det. Lokalisera sedan "textur"-mappen och \xF6ppna den. Blockbench kommer ih\xE5g den platsen och kommer att f\xF6rs\xF6ka h\xE4mta texturer d\xE4rifr\xE5n om den inte kan hitta dem i det aktuella resurspaketet.',"message.default_textures.select":'V\xE4lj standard "textur"-mapp',"message.image_editor.title":"V\xE4lj en bildredigerare","message.image_editor.file":"V\xE4lj fil...","message.image_editor.exe":"V\xE4lj en exekverbar bildredigerare","message.display_skin.title":"Minecraft utseende","message.display_skin.message":"V\xE4lj en skinfil fr\xE5n din dator eller ange ett spelarnamn","message.display_skin.upload":"V\xE4lj fil","message.display_skin.reset":"\xC5terst\xE4ll","message.invalid_plugin":"Ogiltig plugin fil, se konsolen","message.load_plugin_app":"Vill du till\xE5ta detta till\xE4ggsprogram att g\xF6ra \xE4ndringar p\xE5 din dator? Anv\xE4nd bara till\xE4ggsprogram fr\xE5n utvecklare du litar p\xE5.","message.load_plugin_web":"Vill du ladda detta till\xE4ggsprogram? Anv\xE4nd bara till\xE4ggsprogram fr\xE5n utvecklare du litar p\xE5.","message.preset_no_info":"F\xF6rinst\xE4llningen inneh\xE5ller ingen information f\xF6r denna plats","message.restart_to_update":"Starta om Blockbench f\xF6r att till\xE4mpa \xE4ndringar","message.save_file":"Sparad som %0","dialog.project.title":"Projekt","dialog.project.name":"Filnamn","dialog.project.parent":"Modermodell","dialog.project.geoname":"Modellidentifierare","dialog.project.ao":"Omgivande ocklusion","dialog.texture.title":"Textur","dialog.texture.variable":"Variabel","dialog.texture.namespace":"Namnrymd","dialog.texture.folder":"Mapp","dialog.extrude.title":"Ta bort bild","dialog.extrude.mode":"Skanningsl\xE4ge","dialog.extrude.mode.areas":"Omr\xE5den","dialog.extrude.mode.lines":"Linjer","dialog.extrude.mode.columns":"Kolumner","dialog.extrude.mode.pixels":"Pixlar","dialog.extrude.opacity":"Minsta opacitet","dialog.extrude.scan":"Skanna och importera","dialog.display_preset.title":"Skapa f\xF6rinst\xE4llning","dialog.display_preset.message":"V\xE4lj platserna du vill spara","dialog.display_preset.create":"Skapa","dialog.select.title":"V\xE4lj","dialog.select.group":"I vald grupp","dialog.select.name":"Namnet ineh\xE5ller","dialog.select.random":"Slumpm\xE4ssig chans (%)","dialog.select.select":"V\xE4lj","dialog.scale.title":"Skala modellen","dialog.scale.axis":"Axel","dialog.scale.clipping":"Modellklippning: Din modell \xE4r f\xF6r stor f\xF6r kanvasen","dialog.scale.confirm":"Skala","dialog.plugins.title":"Plugin","dialog.plugins.installed":"Installerade","dialog.plugins.available":"Tillg\xE4ngliga","dialog.plugins.install":"Installera","dialog.plugins.uninstall":"Avinstallera","dialog.plugins.reload":"Ladda om","dialog.plugins.none_installed":"Inga installerade plugins","dialog.plugins.none_available":"Inga tillg\xE4ngliga plugins","dialog.plugins.web_only":"Endast f\xF6r webappen","dialog.plugins.app_only":"Endast f\xF6r skrivbordsappen","dialog.plugins.author":"av %0","dialog.create_texture.folder":"Mapp","dialog.create_texture.resolution":"Uppl\xF6sning","dialog.input.title":"Inmatning","dialog.settings.settings":"Inst\xE4llningar","dialog.settings.keybinds":"Tangentbindningar","dialog.settings.about":"Om","layout.color.back":"Tillbaka","layout.color.back.desc":"Bakgrund och inmatningsf\xE4lt","layout.color.dark":"M\xF6rkt","layout.color.dark.desc":"Kanvasbakgrund","layout.color.ui":"Anv\xE4ndargr\xE4nssnitt","layout.color.ui.desc":"Huvudgr\xE4nssnittets f\xE4rg","layout.color.bright_ui":"Ljust gr\xE4nssnitt","layout.color.bright_ui.desc":"Kontextmenyer och verktygstips","layout.color.button":"Knapp","layout.color.button.desc":"Knappar och brytare","layout.color.selected":"Vald","layout.color.selected.desc":"Valda flikar och objekt","layout.color.border":"Kant","layout.color.border.desc":"Kant f\xF6r knappar och inputs","layout.color.accent":"Accent","layout.color.accent.desc":"Skjutreglage och andra detaljer","layout.color.grid":"Rutn\xE4t","layout.color.grid.desc":"3D f\xF6rhandsgranskningsn\xE4t","layout.color.text":"Text","layout.color.text.desc":"Normal text","layout.color.light":"Ljust","layout.color.light.desc":"Framh\xE4vd text","layout.color.accent_text":"Accent Text","layout.color.accent_text.desc":"Text p\xE5 accentbakgrunder","layout.font.main":"Huvudtypsnitt","layout.font.headline":"Rubrikstypsnitt","about.version":"Version:","settings.category.general":"Allm\xE4n","settings.category.preview":"F\xF6rhansvisning","settings.category.grid":"Rutn\xE4t","settings.category.edit":"Redigera","settings.category.snapping":"Snappning","settings.category.defaults":"Standarder","settings.category.dialogs":"Dialoger","settings.category.export":"Exportera","settings.language":"Spr\xE5k","settings.language.desc":"Gr\xE4nssnittsspr\xE5k","settings.backup_interval":"S\xE4kerhetskopierings intervall","settings.backup_interval.desc":"Intervall av den automatiska s\xE4kerhetskopieringen i minuter","settings.origin_size":"Vridpunkts Mark\xF6r","settings.origin_size.desc":"Storlek p\xE5 vridpunktsmark\xF6ren","settings.control_size":"Axlarnas kontroll storlek","settings.control_size.desc":"Storleken p\xE5 den tredje axelns kontroll verktyg","settings.display_skin":"Minecraft utseende","settings.display_skin.desc":"Skinn anv\xE4nt f\xF6r att visa referens spelarmodellen","settings.shading":"Skuggning","settings.shading.desc":"Aktivera skuggning","settings.base_grid":"Litet rutn\xE4t","settings.base_grid.desc":"Visa litet rutn\xE4t och axlar","settings.large_grid":"Block-rutn\xE4t","settings.large_grid.desc":"Visa 16x16 block-rutn\xE4t","settings.full_grid":"Exakt block-rutn\xE4t","settings.full_grid.desc":"Visa pixel-exakt block-rutn\xE4t","settings.large_box":"Stor l\xE5da","settings.large_box.desc":"Visa storleksgr\xE4nser","settings.display_grid":"Visningsl\xE4ge","settings.display_grid.desc":"Visa rutn\xE4t i visningsl\xE4get","settings.undo_limit":"\xC5ngrings gr\xE4ns","settings.undo_limit.desc":"Antal steg du kan \xE5ngra","settings.local_move":"Flytta p\xE5 relativa axlar","settings.local_move.desc":"Flytta roterade element p\xE5 dess egna axlar om m\xF6jligt","settings.canvas_unselect":"Avmarkera alla element","settings.canvas_unselect.desc":"Avmarkera alla element n\xE4r du klickar p\xE5 kanvasbakgrunden","settings.paint_side_restrict":"Begr\xE4nsa pensel till sida","settings.paint_side_restrict.desc":"Begr\xE4nsa penslar till att bara m\xE5la p\xE5 den nuvarande sidan","settings.autouv":"Auto UV","settings.autouv.desc":"Aktivera Auto UV som standard","settings.create_rename":"Byt namn p\xE5 ny kub","settings.create_rename.desc":"Foksuera p\xE5 namnf\xE4ltet n\xE4r du skapar nya element eller grupper","settings.edit_size":"Rutn\xE4ts uppl\xF6sning","settings.edit_size.desc":"Uppl\xF6sning p\xE5 rutn\xE4tet som kuber kan f\xE4sta till","settings.shift_size":"Shift uppl\xF6sning","settings.shift_size.desc":"Uppl\xF6sning av rutn\xE4tet medan du h\xE5ller ner skift","settings.ctrl_size":"Kontrolluppl\xF6sning","settings.ctrl_size.desc":"Uppl\xF6sning av rutn\xE4tet medan du h\xE5ller ner ctrl","settings.negative_size":"Negativ storlek","settings.negative_size.desc":"Till\xE5t skalningsverktyget att anv\xE4nda negativa storlekar","settings.minifiedout":"F\xF6rminskad export","settings.minifiedout.desc":"Skriv JSON-filer p\xE5 en rad","settings.export_groups":"Exportera grupper","settings.export_groups.desc":"Spara grupper i block- eller objektmodell filerna","settings.credit":"Krediterandekommentar","settings.credit.desc":"L\xE4gg till medverkande kommentar till exporterade filer","settings.default_path":"Standards\xF6kv\xE4g f\xF6r Minecraft-texturer","settings.default_path.desc":"Mapp d\xE4r Blockbench laddar standardtexturer","settings.image_editor":"Bildredigerare","settings.image_editor.desc":"Standard bildredigerare att redigera texturer med","category.navigate":"Navigering","category.tools":"Verktyg","category.file":"Fil","category.blockbench":"Blockbench","category.edit":"Redigera","category.transform":"Omvandla","category.view":"Visa","category.display":"Sk\xE4rminst\xE4llningar","category.textures":"Texturer","category.misc":"Diverse","keybind.preview_select":"V\xE4lj","keybind.preview_rotate":"Rotera vy","keybind.preview_drag":"Dra vy","keybind.confirm":"Till\xE4mpa","keybind.cancel":"Avbryt","action.slider_inflate":"Bl\xE5sa upp","action.slider_inflate.desc":"Bl\xE5s upp kuber i alla riktningar utan att \xE4ndra UV.","action.slider_brush_size":"Storlek","action.slider_brush_size.desc":"Penselns radie i pixlar","action.slider_brush_opacity":"Opacitet","action.slider_brush_opacity.desc":"Penselns opacitet i procent","action.slider_brush_softness":"Mjukhet","action.slider_brush_softness.desc":"Penselns mjukhet i procent","action.uv_slider_pos_x":"Flytta horisontellt","action.uv_slider_pos_x.desc":"Flytta alla markerade UV-ytor horisontellt","action.uv_slider_pos_y":"Flytta vertikalt","action.uv_slider_pos_y.desc":"Flytta alla markerade UV-ytor vertikalt","action.uv_slider_size_x":"Horisontell storlek","action.uv_slider_size_x.desc":"\xC4ndra storlek p\xE5 alla markerade UV-ytor horisontellt","action.uv_slider_size_y":"Vertikal storlek","action.uv_slider_size_y.desc":"\xC4ndra storlek p\xE5 alla markerade UV-ytor vertikalt","action.vertex_snap_mode":"Snap-l\xE4ge","action.vertex_snap_mode.desc":"V\xE4lj om Vertex Snap flyttar element till det valda l\xE4get eller \xE4ndrar dem","action.move_tool":"Flytta","action.move_tool.desc":"Verktyg f\xF6r att flytta element","action.resize_tool":"\xC4ndra storlek","action.resize_tool.desc":"Verktyg f\xF6r att \xE4ndra storlek p\xE5 element","action.brush_tool":"M\xE5larpensel","action.brush_tool.desc":"Verktyg f\xF6r att m\xE5la p\xE5 bitmaptexturer p\xE5 ytor eller UV redigeraren","action.vertex_snap_tool":"Nod-Snap","action.vertex_snap_tool.desc":"Flytta en kub till en annan kub genom att koppla samman tv\xE5 h\xF6rn","action.swap_tools":"Byt verktyg","action.swap_tools.desc":"V\xE4xla mellan flytt och storleks verktygen","action.project_window":"Projekt...","action.project_window.desc":"\xD6ppnar projektf\xF6nstret, d\xE4r du kan redigera metadata f\xF6r din modell","action.open_model":"\xD6ppna modell","action.open_model.desc":"\xD6ppna en modellfil fr\xE5n din dator","action.extrude_texture":"Extruderad textur","action.extrude_texture.desc":"Generera en modell genom att str\xE4cka ut en textur","action.export_blockmodel":"Exportera block-/objekt modell","action.export_blockmodel.desc":"Exportera ett Minecraft block- eller objektmodell","action.export_optifine_part":"Exportera OptiFine-del","action.export_optifine_part.desc":"Exportera en entitetdelmodell f\xF6r OptiFine","action.export_optifine_full":"Exportera OptiFine JEM","action.export_optifine_full.desc":"Exportera en hel OptiFine enititymodell","action.export_obj":"Exportera OBJ modell","action.export_obj.desc":"Exportera en Wavefront OBJ modell f\xF6r rendering eller spelmotorer","action.settings_window":"Inst\xE4llningar...","action.settings_window.desc":"\xD6ppna Blockbenchs inst\xE4llningsdialogruta.","action.plugins_window":"Plugins...","action.plugins_window.desc":"\xD6ppna pluginaff\xE4rf\xF6nstret","action.reset_layout":"\xC5terst\xE4ll layout","action.reset_layout.desc":"\xC5terst\xE4ll layouten till Blockbenchs standardlayout","action.load_plugin":"Ladda plugin fr\xE5n fil","action.load_plugin.desc":"Ladda ett till\xE4ggsprogram genom att importera k\xE4llfilen","action.reload_plugins":"Ladda om plugins","action.reload_plugins.desc":"Ladda om alla utvecklingsplugins","action.undo":"\xC5ngra","action.undo.desc":"\xC5ngrar den senaste \xE4ndringen","action.redo":"G\xF6r om","action.redo.desc":"G\xF6r om den senaste \xE5ngringen","action.copy":"Kopiera","action.copy.desc":"Kopiera det valda urvalet, yta eller bildsk\xE4rmsinst\xE4llningarna","action.paste":"Klistra in","action.paste.desc":"Klistra in det valda urvalet, yta eller bildsk\xE4rmsinst\xE4llningarna","action.cut":"Klipp ut","action.cut.desc":"Klipp ut det valda urvalet, yta eller bildsk\xE4rmsinst\xE4llningarna","action.add_cube":"L\xE4gg till en kub","action.add_cube.desc":"L\xE4gger till en ny kub","action.add_group":"L\xE4gg till en grupp","action.add_group.desc":"L\xE4gger till en ny grupp eller ben","action.outliner_toggle":"V\xE4xla fler alternativ","action.outliner_toggle.desc":"V\xE4xla knappar f\xF6r mer alternativ i konturen","action.duplicate":"Duplicera","action.delete":"Radera","action.sort_outliner":"Sortera konturer","action.sort_outliner.desc":"Sortera konturen alfabetiskt","action.select_window":"V\xE4lj...","action.select_window.desc":"S\xF6k och v\xE4lj kuber baserat p\xE5 deras egenskaper","action.invert_selection":"Invertera valet","action.invert_selection.desc":"Invertera det nuvarande valet av kuber","action.select_all":"V\xE4lj alla","action.collapse_groups":"Kollapsa grupper","action.collapse_groups.desc":"Kollapsa alla grupper","action.scale":"Skala...","action.scale.desc":"Skala valda kuber","action.toggle_visibility":"V\xE4xla synlighet","action.toggle_visibility.desc":"V\xE4xla synlighet f\xF6r de valda kuberna.","action.toggle_export":"V\xE4xla export","action.toggle_export.desc":"V\xE4xla exportinst\xE4llningarna f\xF6r de valda kuberna.","action.toggle_autouv":"V\xE4xla Auto UV","action.toggle_autouv.desc":"V\xE4xla Auto UV inst\xE4llningar f\xF6r de valda kuberna.","action.toggle_shade":"V\xE4xla skuggning","action.toggle_shade.desc":"V\xE4xla skuggningen f\xF6r de valda kuberna.","action.rename":"Byt namn","action.rename.desc":"Byta namn f\xF6r de valda kuberna.","action.add_display_preset":"Ny f\xF6rinst\xE4llning","action.add_display_preset.desc":"L\xE4gg till en ny f\xF6rinst\xE4lld sk\xE4rminst\xE4llning.","action.fullscreen":"Helsk\xE4rm","action.fullscreen.desc":"V\xE4xlar helsk\xE4rmsl\xE4get","action.zoom_in":"Zooma in","action.zoom_in.desc":"Zooma in f\xF6r att skala upp gr\xE4nssnittet","action.zoom_out":"Zooma ut","action.zoom_out.desc":"Zooma ut f\xF6r att skala ner gr\xE4nssnittet","action.zoom_reset":"\xC5terst\xE4ll zoom","action.zoom_reset.desc":"\xC5terst\xE4ll zoom till 100%.","action.reset_interface":"\xC5terst\xE4ll gr\xE4nssnitt","action.reset_interface.desc":"\xC5terst\xE4ll storlek och positioner f\xF6r GUI","action.screenshot_model":"Sk\xE4rmbildsmodell","action.screenshot_model.desc":"Ta en klippt sk\xE4rmbild av modellen fr\xE5n den nuvarande vinkeln.","action.screenshot_app":"Sk\xE4rmbildsapp","action.screenshot_app.desc":"Ta en sk\xE4rmbild av hela applikationen.","action.import_texture":"Importera textur","action.import_texture.desc":"Importera en eller fler texturer fr\xE5n ditt filsystem.","action.create_texture":"G\xF6r en textur","action.create_texture.desc":"Skapa en tom textur eller malltextur","action.save_textures":"Spara texturer","action.save_textures.desc":"Spara alla osparade texturer","action.animated_textures":"Spela animerade texturer","action.animated_textures.desc":"Spela och pausa f\xF6rhandsvisningen av animerade texturer","action.origin_to_geometry":"Centera Vridning","action.origin_to_geometry.desc":"St\xE4ll vridpunkten till mitten av valet","action.bone_reset_toggle":"\xC5terst\xE4ll ben","action.bone_reset_toggle.desc":"Stoppa benet fr\xE5n att visa kuber fr\xE5n modermodellen","action.reload":"Ladda om Blockbench","action.reload.desc":"Ladda om Blockbench. Detta tar bort alla osparade \xE4ndringar.","menu.file":"Fil","menu.edit":"Redigera","menu.transform":"Transformera","menu.display":"Visa","menu.view":"Vy","menu.file.new":"Ny","menu.file.recent":"Nyligen","menu.file.import":"Importera","menu.file.export":"Exportera","menu.transform.rotate":"Rotera","menu.transform.flip":"V\xE4nd","menu.transform.center":"Center","menu.transform.properties":"Egenskaper","menu.display.preset":"Till\xE4mpa f\xF6rinst\xE4llning","menu.display.preset_all":"Till\xE4mpa f\xF6rinst\xE4llning \xF6verallt","menu.display.remove_preset":"Ta bort f\xF6rinst\xE4llning","menu.view.zoom":"Zoom","menu.view.background":"Bakgrund","menu.view.screenshot":"Sk\xE4rmbild","menu.cube.color":"Mark\xF6r f\xE4rg","menu.cube.texture":"Textur","menu.cube.texture.transparent":"Genomskinlig","menu.cube.texture.blank":"Tom","menu.group.sort":"Sortera","menu.texture.face":"Applicera p\xE5 yta","menu.texture.file":"Fil","menu.texture.refresh":"Ladda om","menu.texture.change":"\xC4ndra fil","menu.texture.folder":"\xD6ppna i mapp","menu.texture.edit":"Redigera","menu.texture.export":"Spara som","menu.texture.save":"Spara","menu.texture.properties":"Egenskaper","menu.preview.background":"Bakgrund","menu.preview.background.load":"Ladda","menu.preview.background.position":"Position","menu.preview.background.lock":"L\xE5s till kamera","menu.preview.screenshot":"Sk\xE4rmbild","menu.preview.perspective":"Perspektiv","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"Fyrvy","menu.preview.stop_drag":"Stoppa bakgrundspositionering","menu.uv.mapping.rotation":"Rotation","menu.uv.texture":"Textur","cube.color.light_blue":"Ljus bl\xE5","cube.color.yellow":"Gul","cube.color.orange":"Orange","cube.color.red":"R\xF6d","cube.color.purple":"Lila","cube.color.blue":"Bl\xE5","cube.color.green":"Gr\xF6n","cube.color.lime":"Lime","switches.visibility":"Synlighet","switches.export":"Exportera","switches.autouv":"Auto UV","panel.uv":"UV","panel.display":"Visa","panel.textures":"Texturer","panel.outliner":"Konturen","uv_editor.title":"UV redigerare","uv_editor.all_faces":"Alla","uv_editor.no_faces":"Ingen","face.north":"Norr","face.south":"S\xF6der","face.west":"V\xE4ster","face.east":"\xD6ster","face.up":"Upp","face.down":"Ner","direction.north":"Norr","direction.south":"S\xF6der","direction.west":"V\xE4ster","direction.east":"\xD6ster","direction.top":"Topp","direction.bottom":"Botten","display.slot.third_right":"Tredje person h\xF6ger","display.slot.third_left":"Tredje person v\xE4nster","display.slot.first_right":"F\xF6rsta person h\xF6ger","display.slot.first_left":"F\xF6rsta person v\xE4nster","display.slot.head":"Huvud","display.slot.ground":"Mark","display.slot.frame":"Ram","display.slot.gui":"GUI","display.rotation":"Rotation","display.translation":"\xD6vers\xE4ttning","display.scale":"Skala","display.slot":"Plats","display.reference":"Referensmodell","display.reference.player":"Spelare","display.reference.zombie":"Zombie","display.reference.armor_stand":"Rustningsst\xE4ll","display.reference.baby_zombie":"B\xE4bis zombie","display.reference.armor_stand_small":"Litet rustningsst\xE4ll","display.reference.monitor":"Normal","display.reference.bow":"Laddad pilb\xE5ge","display.reference.block":"Block","display.reference.frame":"F\xF6rem\xE5lsram","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Inventarium","display.reference.hud":"HUD","display.preset.blank_name":"Ange ett namn","display.preset.item":"Standardobjekt","display.preset.block":"Standard block","display.preset.handheld":"Standard vapen","display.preset.rod":"Standard sp\xF6","dialog.continue":"Forts\xE4tt","message.square_textures":"Texturer m\xE5ste vara fyrkantiga","message.unsaved_texture.title":"Osparad textur","message.unsaved_texture.message":"Alla osparade \xE4ndringar till denna textur kommer att f\xF6rsvinna. Vill du forts\xE4tta?","action.vertex_snap_mode.move":"Flytta","action.vertex_snap_mode.scale":"Skala","action.open_model_folder":"\xD6ppna modellmapp","action.open_model_folder.desc":"\xD6ppnar mappen som modellen finns i","action.change_textures_folder":"\xC4ndra texturposition","action.change_textures_folder.desc":"\xC4ndra mapp som alla texturer sparas i","menu.texture.particle":"Anv\xE4nd f\xF6r partiklar","message.update_notification.title":"En uppdatering \xE4r tillg\xE4nglig ","message.update_notification.message":"En ny Blockbench-version \xE4r tillg\xE4nglig. Aktivera automatiska uppdateringar i inst\xE4llningarna f\xF6r att uppdatera!","message.untextured":"Denna ytan har ingen textur","dialog.toolbar_edit.title":"Anpassa verktygsf\xE4ltet","keybindings.reset":"\xC5terst\xE4ll","keybindings.clear":"Tom","action.cube_counter":"Modellstatistik","action.uv_rotation":"UV rotation","action.uv_rotation.desc":"Rotation av UV ytan","action.uv_grid":"UV rutn\xE4t","action.uv_grid.desc":"Uppl\xF6sningen av rutn\xE4tet som UV v\xE4ljaren sn\xE4pper till","action.uv_grid.auto":"Auto","action.uv_maximize":"Maximera UV","action.uv_maximize.desc":"St\xE4ller in UV f\xF6r denna ytan till den fulla texturen","action.uv_auto":"Auto UV","action.uv_auto.desc":"St\xE4ller in UV f\xF6r denna ytan till den riktiga storleken av ytan","action.uv_rel_auto":"Relativ Auto UV","action.uv_rel_auto.desc":"St\xE4ller in UV f\xF6r denna ytan till positionen och storleken av den faktiska ytan","action.uv_mirror_x":"UV spegla X","action.uv_mirror_x.desc":"Speglar UV i denna ytan p\xE5 X axeln","action.uv_mirror_y":"UV spegla Y","action.uv_mirror_y.desc":"Speglar UV i denna ytan p\xE5 Y axeln","action.uv_transparent":"Transparent yta","action.uv_transparent.desc":"G\xF6r den nuvarande ytan transparent","action.uv_reset":"\xC5terst\xE4ll yta","action.uv_reset.desc":"\xC5terst\xE4ller den nuvarande ytan","action.cullface":"Cullface","action.cullface.desc":"Inaktiverar rendering av denna ytan om den valda sidan av modellen \xE4r t\xE4ckt","action.auto_cullface":"Auto cullface","action.auto_cullface.desc":"S\xE4tter cullface f\xF6r denna ytan till sig sj\xE4lv","action.face_tint":"Nyans","action.face_tint.desc":"Aktiverar nyans alternativet f\xF6r den aktuella ytan","menu.toolbar.edit":"Anpassa verktygsf\xE4lt","menu.toolbar.reset":"\xC5terst\xE4ll verktygsf\xE4lt","uv_editor.rotated":"Roterade","uv_editor.auto_cull":"Cullface till sig sj\xE4lv","uv_editor.copied":"Kopierade ytan","uv_editor.pasted":"Klistrande in ytan","uv_editor.copied_x":"Kopierade %0 ytor","uv_editor.reset":"\xC5terst\xE4ll yta","uv_editor.maximized":"Maximerad","uv_editor.autouv":"Auto storlek","uv_editor.mirrored":"Speglad","uv_editor.to_all":"Applicerad p\xE5 alla ytor","uv_editor.transparent":"Gjord genomskinlig","uv_editor.cullface_on":"Cullface p\xE5","uv_editor.cullface_off":"Cullface av","uv_editor.tint_on":"Nyans p\xE5","uv_editor.tint_off":"Nyans av","action.uv_apply_all":"Applicera p\xE5 alla ytor","action.uv_apply_all.desc":"Applicera inst\xE4llningarna fr\xE5n den nuvarande ytan till alla ytor","message.image_editor_missing.title":"Standard bildredigerare","message.image_editor_missing.message":"V\xE4lj den k\xF6rbara filen f\xF6r din bildredigerare","message.image_editor_missing.detail":"Blockbench kunde inte hitta n\xE5gon bildredigerare p\xE5 din dator. V\xE4lj den k\xF6rbara filen f\xF6r din f\xF6redragna bildredigerare.","action.update_autouv":"Uppdatera Auto UV","action.update_autouv.desc":"Uppdatera Auto UV kartl\xE4ggning f\xF6r de valda kuberna","category.uv":"UV","status_bar.saved":"Modellen \xE4r sparad","status_bar.unsaved":"Det finns osparade \xE4ndringar","action.move_up":"Flytta upp","action.move_up.desc":"Flytta de valda kuberna upp relativt till den nuvarande kameravinkeln","action.move_down":"Flytta ner","action.move_down.desc":"Flytta de valda kuberna ner relativt till den nuvarande kameravinkeln","action.move_left":"Flytta v\xE4nster","action.move_left.desc":"Flytta de valda kuberna v\xE4nster relativt till den nuvarande kameravinkeln","action.move_right":"Flytta h\xF6ger","action.move_right.desc":"Flytta de valda kuberna h\xF6ger relativt till den nuvarande kameravinkeln","action.move_forth":"Flytta fram\xE5t","action.move_forth.desc":"Flytta de valda kuberna fram\xE5t relativt till den nuvarande kameravinkeln","action.move_back":"Flytta bak\xE5t","action.move_back.desc":"Flytta de valda kuberna bak\xE5t relativt till den nuvarande kameravinkeln","layout.color.wireframe":"Wireframe","layout.color.wireframe.desc":"Visa wireframe linjer","action.add_animation":"L\xE4gg till animation","action.add_animation.desc":"Skapa en tom animation","action.load_animation_file":"Importera animationer","action.load_animation_file.desc":"Importera en animationsfil","action.play_animation":"Spela animationer","action.play_animation.desc":"F\xF6rhandsgranska den valda animationen","action.slider_keyframe_time":"Tidskod","action.slider_keyframe_time.desc":"\xC4ndra tidskoden f\xF6r de valda nyckelbilderna","timeline.rotation":"Rotation","timeline.position":"Position","timeline.scale":"Skala","menu.keyframe.quaternion":"Kvart\xE4rperiod","panel.animations":"Animationer","panel.keyframe":"Nyckelbild","panel.keyframe.type":"Nyckelbild (%0)","generic.delete":"Radera","generic.rename":"Byt namn","message.no_animation_selected":"Du m\xE5ste v\xE4lja en animation f\xF6r att g\xF6ra detta","message.no_bone_selected":"Du m\xE5ste v\xE4lja ett ben f\xF6r att g\xF6ra detta","message.duplicate_groups.title":"Ben namn dublett","message.duplicate_groups.message":"Benets namn finns p\xE5 flera ben. Detta kan orsaka problem.","action.delete_keyframes":"Radera nyckelbilder","action.delete_keyframes.desc":"Radera alla valda nyckelbilder","menu.animation":"Animation","menu.animation.loop":"Loopl\xE4ge","menu.animation.override":"\xC5sidos\xE4tta","menu.animation.anim_time_update":"Uppdatera variabel","message.display_skin_model.title":"Skinmodell","message.display_skin_model.message":"V\xE4lj modell typ f\xF6r ditt skin","message.display_skin_model.classic":"Klassisk","message.display_skin_model.slim":"Smal","message.bone_material":"\xC4ndra ben material","action.slider_animation_length":"Animationsl\xE4ngd","action.slider_animation_length.desc":"\xC4ndra l\xE4ngden av den valda animationen","panel.variable_placeholders":"Platsh\xE5llare variabel","panel.variable_placeholders.info":"Ange de variabler du vill f\xF6rhandsgranska via namn=v\xE4rde","status_bar.vertex_distance":"Distans: %0","dialog.create_gif.title":"Spela in GIF","dialog.create_gif.length":"L\xE4ngd","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Starta animationen","category.animation":"Animation","action.record_model_gif":"Spela in GIF...","action.record_model_gif.desc":"Spela in en animerad GIF av modellen fr\xE5n den nuvarande vinkeln","display.mirror":"Spegla","data.separator":"Seperator","menu.preview.background.set_position":"S\xE4tt position","dialog.toolbar_edit.hidden":"G\xF6md","action.export_class_entity":"Exportera Java entitet","action.export_class_entity.desc":"Exportera entitymodellen som en Java klass","settings.seethrough_outline":"R\xF6ntgenkonturer","settings.seethrough_outline.desc":"Visa konturer genom objekt","mode.edit":"Redigera","mode.paint":"M\xE5la","mode.display":"Visa","mode.animate":"Animera","status_bar.recording_gif":"Spelar in","status_bar.processing_gif":"Bearbetar","settings.backup_retain":"S\xE4kerhetskopierings varaktighet","settings.backup_retain.desc":"Ange hur l\xE4nge Blockbench beh\xE5ller gamla s\xE4kerhetskopior i dagar","action.rotate_tool":"Rotera","action.rotate_tool.desc":"Verktyg f\xF6r att v\xE4lja och rotera element","action.fill_tool":"M\xE5larf\xE4rgsburk","action.fill_tool.desc":"M\xE5larhink f\xF6r att fylla hela ytor med en f\xE4rg","action.eraser":"Suddgummi","action.eraser.desc":"Suddgummi f\xF6r att ers\xE4tta f\xE4rger p\xE5 en textur med genomskinlighet","action.color_picker":"F\xE4rgv\xE4ljare","action.color_picker.desc":"Verktyg f\xF6r att v\xE4lja f\xE4rg p\xE5 pixlar p\xE5 din textur","switches.mirror":"Spegla UV",language_name:"Svenska","message.plugin_reload":"Uppdaterade %0 lokala plugins","settings.brightness":"Ljusstyrka","settings.brightness.desc":"F\xF6rhandsgranskningens ljusstyrka. Standard \xE4r 50","menu.preview.perspective.reset":"\xC5terst\xE4ll kamera","action.fill_mode":"Fyllningsl\xE4ge","action.fill_mode.face":"Yta","action.fill_mode.color":"F\xE4rger","action.toggle_mirror_uv":"Spegla UV","action.toggle_mirror_uv.desc":"V\xE4xla UV-spegling p\xE5 X axeln f\xF6r de valda kuberna.","menu.texture.blank":"Applicera p\xE5 otexturerade Ytor","dialog.scale.select_overflow":"V\xE4lj \xF6verfl\xF6de","action.action_control":"\xC5tg\xE4rdskontroll","action.action_control.desc":"S\xF6k och k\xF6r alla tillg\xE4ngliga \xE5tg\xE4rder","keybindings.recording":"Spelar in tangentbindningar","keybindings.press":"Tryck p\xE5 en knapp eller tangentkombination eller klicka n\xE5gonstans p\xE5 sk\xE4rmen f\xF6r att spela in din tangentbindning.","action.pivot_tool":"Vridpunkten","action.pivot_tool.desc":"Verktyg f\xF6r att \xE4ndra rotationspunkten f\xF6r kuber och ben","action.slider_animation_speed":"Uppspelningshastighet","action.slider_animation_speed.desc":"Tidslinjens uppspelningshastighet i procent","action.previous_keyframe":"F\xF6reg\xE5ende nyckelbild","action.previous_keyframe.desc":"Hoppa till f\xF6reg\xE5ende nyckelbilden","action.next_keyframe":"N\xE4sta nyckelbild","action.next_keyframe.desc":"Hoppa till n\xE4sta nyckelbild","message.outdated_client.title":"Utdaterad klient","message.outdated_client.message":"V\xE4nligen uppdatera till den senaste versionen av Blockbench f\xF6r att g\xF6ra detta.","action.export_asset_archive":"H\xE4mta arkiv","action.export_asset_archive.desc":"Ladda ner ett arkiv med modellen och alla texturer i den","action.upload_sketchfab":"Sketchfab uppladdning","message.sketchfab.name_or_token":"Ange din Sketchfab token och ett namn","dialog.sketchfab_uploader.title":"Ladda upp Sketchfabmodell","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"Token anv\xE4nds f\xF6r att ansluta Blockbench till ditt Sketchfab konto. Du kan hitta den p\xE5 %0","dialog.sketchfab_uploader.name":"Modellnamn","dialog.sketchfab_uploader.description":"Beskrivning","dialog.sketchfab_uploader.tags":"Tags","settings.sketchfab_token":"Sketchfab token","settings.sketchfab_token.desc":"Token f\xF6r att till\xE5ta Blockbench att ladda upp till ditt Sketchfab konto","panel.color":"F\xE4rg","data.origin":"Pivotera","message.sketchfab.success":"Laddade upp modellen lyckat","message.sketchfab.error":"Det gick inte att ladda upp modellen till Sketchfab","settings.outliner_colors":"Kontur f\xE4rger","settings.outliner_colors.desc":"Visa kubf\xE4rger i konturerna","action.upload_sketchfab.desc":"Ladda upp din modell till Sketchfab","action.element_colors":"Kubf\xE4rg","action.element_colors.desc":"Visa kubf\xE4rger i konturerna","texture.error.file":"Filen hittades inte","texture.error.parent":"Texturfil f\xF6rsedd av modermodell","message.recover_backup.title":"\xC5terst\xE4ll modeller","message.recover_backup.message":"Blockbench st\xE4ngdes utan att spara. Vill du \xE5terst\xE4lla modellen?","message.invalid_session.title":"Ogiltig session token","message.invalid_session.message":"Den session du f\xF6rs\xF6ker g\xE5 med i har g\xE5tt ut eller \xE4r den angivna token \xE4r ogiltig.","dialog.create_texture.power":"Upph\xF6jt till 2 storlek","dialog.create_gif.turn":"Vridhastighet","action.edit_session":"Redigera session...","action.edit_session.desc":"Anslut till en redigeringssession f\xF6r att samarbeta med andra anv\xE4ndare","action.reset_keyframe":"\xC5terst\xE4ll nyckelbild","action.reset_keyframe.desc":"\xC5terst\xE4ll alla v\xE4rden f\xF6r de valda nyckelbilder","dialog.edit_session.title":"Redigera session","edit_session.username":"Anv\xE4ndarnamn","edit_session.token":"Token","edit_session.about":"Redigeringssessioner kan anv\xE4ndas f\xF6r att samarbeta p\xE5 modeller \xF6ver hela internet. Skapa en session och kopiera din token och skicka den till v\xE4nner, som kan anv\xE4nda den f\xF6r att g\xE5 med.","edit_session.join":"G\xE5 med i sessionen","edit_session.create":"Skapa session","edit_session.quit":"L\xE4mna session","edit_session.joined":"%0 ansl\xF6t till sessionen","edit_session.left":"%0 l\xE4mnade sessionen","edit_session.quit_session":"L\xE4mna nuvarande session","edit_session.status":"Status","edit_session.hosting":"Hosting","edit_session.connected":"Ansluten till en session","dialog.sketchfab_uploader.private":"Privat (Pro)","dialog.sketchfab_uploader.password":"L\xF6senord (Pro)","action.uv_select_all":"Makera alla","action.uv_select_all.desc":"V\xE4lj alla ytor i UV-dialogen","panel.chat":"Chatt","edit_session.welcome":"V\xE4lkommen till sessionen av %0","dialog.yes":"Ja","dialog.no":"Nej","generic.remove":"Ta bort","generic.download":"Ladda ner","generic.search":"S\xF6k","dates.today":"Idag","dates.yesterday":"Ig\xE5r","dates.this_week":"Denna veckan","dates.weeks_ago":"%0 veckor sedan","mode.start.new":"Ny","mode.start.recent":"Nyligen","format.free":"Generisk modell","format.free.desc":"Modellera utan restriktioner. F\xF6r spelmotorer, rendering osv.","format.java_block":"Java Block/Objekt","format.java_block.desc":"Block- eller objektmodell f\xF6r Minecraft Java Edition.","format.bedrock":"Bedrock-entitet","format.bedrock.desc":"Modell f\xF6r Minecraft Bedrock Edition","format.bedrock_old":"\xC4ldre Bedrock modell","format.bedrock_old.desc":"F\xF6re 1.12 Minecraft Bedrock entitetmodell","format.modded_entity":"Moddad entitet","format.modded_entity.desc":"Entitetmodell f\xF6r Minecraft mods. Kan exporteras som .java klassfiler.","format.optifine_entity":"OptiFine entitet","format.optifine_entity.desc":"Anpassad entitetmodell f\xF6r OptiFine-mod","keys.mouse":"Musknapp %0","message.cleared_blank_faces.title":"Tomma Ytor","message.cleared_blank_faces.message":"Blockbench har hittat %0 kuber utan n\xE5gon textur. Vill du ta bort de elemented?","message.wireframe.enabled":"Wireframe l\xE4get aktiverat","message.wireframe.disabled":"Wireframe l\xE4get inaktiverat","dialog.convert_project.title":"Konvertera Projekt","dialog.create_texture.double_use":"Keep Multi Texture Occupancy","dialog.model_stats.title":"Modellstatistik","dialog.model_stats.cubes":"Kuber","dialog.model_stats.locators":"Lokaliseringsobjekt","dialog.model_stats.groups":"Grupper","dialog.model_stats.vertices":"H\xF6rn","dialog.model_stats.faces":"Ytor","settings.username":"Anv\xE4ndarnamn","settings.username.desc":"Anv\xE4ndarnamn f\xF6r redigeringssessioner","settings.painting_grid":"M\xE5lningsrutn\xE4t","settings.painting_grid.desc":"Visa rutn\xE4tet p\xE5 kuber med texturer i m\xE5lnings l\xE4ge.","action.convert_project":"Konvertera projektet","action.convert_project.desc":"Konverterar det nuvarande projektet till ett projekt f\xF6r ett annat modellformat.","action.close_project":"St\xE4ng projektet","action.close_project.desc":"St\xE4nger det \xF6ppna projektet","action.export_bedrock":"Exportera Bedrock geometri","action.export_bedrock.desc":"Exportera modellen som en Bedrock Edition geometrifil.","action.save_project":"Spara projektet","action.save_project.desc":"Sparar det nuvarande projektet som en projektfil","action.save_project_as":"Spara Projekt Som","action.save_project_as.desc":"Sparar den nuvarande modellen som en projektfil p\xE5 en ny plats","action.export_over":"Spara Modell","action.export_over.desc":"Sparar modellen, texturerna och animationerna genom att skriva \xF6ver filerna","action.add_locator":"L\xE4gg till Lokaliseringsobjekt","action.add_locator.desc":"Adds a new locator to control positions of particles, leashes etc","action.uv_turn_mapping":"Turn Mapping","action.uv_turn_mapping.desc":"Turn the UV mapping around 90 degrees","action.remove_blank_faces":"Ta bort tomma ytor","action.remove_blank_faces.desc":"Deletes all untextured faces of the selection","web.download_app":"Ladda ner app","uv_editor.turned":"Turned Mapping","display.reference.crossbow":"Laddat armborst","dialog.settings.search_results":"S\xF6kningsresultat","settings.animation_snap":"Animation Snap","settings.animation_snap.desc":"Default snap interval for keyframes in the animation timeline in steps per second. This can also be changed per animation. The default value is 24.","action.import_optifine_part":"Importera OptiFine Del","action.import_optifine_part.desc":"Importera en del av en entitetmodell f\xF6r OptiFine","data.locator":"Lokaliseringsobjekt","mode.start.no_recents":"Inga nyligen \xF6ppnade modeller","panel.element":"Element","panel.element.position":"Position","panel.element.size":"Storlek","panel.element.origin":"Vridpunkt","panel.element.rotation":"Rotation","message.canvas_limit_error.title":"Canvas Limit Error","message.canvas_limit_error.message":"The action could not be performed correctly because the format limits the canvas to 48 units. Shift the pivot point to prevent this.","data.effect":"Effekt","generic.name":"Namn","settings.recent_projects":"Recent Model Cap","settings.recent_projects.desc":"Maximum number of recent models to remember","settings.volume":"Volym","settings.volume.desc":"Volume control for sound effects in animations","action.clear_timeline":"Rensa Tidslinje","action.clear_timeline.desc":"Clear all unselected bones from the timeline","action.select_effect_animator":"Animera Effekter","action.select_effect_animator.desc":"\xD6ppnar tidslinjen f\xF6r att l\xE4gga till ljud- och partikeleffekter","action.timeline_focus":"Filtrera Kanaler","action.timeline_focus.desc":"V\xE4lj de animationskanaler som ska visas i tidslinjen","timeline.particle":"Partikel","timeline.sound":"Ljud","timeline.effects":"Effekter","data.format":"Format","format.optifine_part":"OptiFine Del","format.optifine_part.desc":"JPM-del f\xF6r OptiFine entitetmodeller","action.reverse_keyframes":"V\xE4nd om nyckelbilder","action.reverse_keyframes.desc":"V\xE4nd ordningen p\xE5 de valda nyckelbilderna","generic.help":"Hj\xE4lp","message.removed_faces":"Tog bort %0 ytor","dialog.sketchfab_uploader.draft":"Utkast","action.slider_pos":"Position %0","action.slider_pos.desc":"Flytta element p\xE5 %0 axeln","action.slider_size":"Storlek %0","action.slider_size.desc":"Resize elements on the %0 axis","action.slider_rotation":"Rotation %0","action.slider_rotation.desc":"Rotera element p\xE5 %0 axeln","action.slider_origin":"Vrid %0","action.slider_origin.desc":"Flytta vridningen p\xE5 %0-axeln","action.rotate_cw":"Rotera %0 +90","action.rotate_cw.desc":"Rotate the selected elements 90\xB0 on the %0 axis","action.rotate_ccw":"Rotera %0 -90","action.rotate_ccw.desc":"Rotate the selected elements -90\xB0 on the %0 axis","action.flip":"Flippa %0","action.flip.desc":"Flip the selected elements on the %0 axis","action.center":"Centrera %0","action.center.desc":"Center the selected elements on the %0 axis","action.bring_up_all_animations":"Bring Up All Animators","panel.bone":"Ben","data.color":"F\xE4rg","generic.export":"Export","generic.none":"Ingen","status_bar.recording":"Spelar in timelapse","message.add_to_palette":"Tillagd i paletten","message.size_modifiers":"H\xE5ll ned Ctrl eller Shift f\xF6r att transformera i mindre steg.","message.timelapse_start":"Timelapse har startats","message.timelapse_stop":"Timelapse har stoppats","message.import_palette.replace_palette":"Byt ut den gamla paletten","message.import_palette.threshold":"Merge Threshold","dialog.timelapse.interval":"Intervall (Sekunder)","dialog.timelapse.source":"K\xE4lla","dialog.timelapse.source.interface":"Gr\xE4nssnitt","dialog.timelapse.source.locked":"L\xE5st vinkel","dialog.timelapse.destination":"M\xE5lmapp","layout.color.checkerboard":"Schackbr\xE4de","layout.color.checkerboard.desc":"Background of canvas and UV editor","layout.font.code":"Kodfont","layout.css":"Speciell CSS","settings.category.paint":"F\xE4rg","settings.deactivate_size_limit":"Inaktivera storleksgr\xE4ns","settings.deactivate_size_limit.desc":"Inaktivera storleksgr\xE4nsen f\xF6r specifika modellformat. VARNING: Detta kan skapa ogiltiga modeller.","settings.brush_opacity_modifier":"Penselopacitetsmodifierare","settings.brush_opacity_modifier.desc":"\xC4ndra penselns opacitet n\xE4r du anv\xE4nder en stylus","settings.brush_size_modifier":"Penselstorleksmodifierare","settings.brush_size_modifier.desc":"\xC4ndra penselstorleken n\xE4r du anv\xE4nder en stylus","settings.brush_modifier.pressure":"Tryck","settings.brush_modifier.tilt":"Luta","category.color":"F\xE4rg","action.import_theme":"Importera Tema","action.export_theme":"Exportera Tema","action.export_theme.desc":"Skapa en temafil baserat p\xE5 de aktuella inst\xE4llningarna","action.slider_color_h":"Nyans","action.slider_color_s":"M\xE4ttnad","action.slider_color_v":"V\xE4rde","action.add_to_palette":"L\xE4gg till i paletten","action.add_to_palette.desc":"L\xE4gg till den valda f\xE4rgen i f\xE4rgpaletten","action.import_palette":"Importera Palett","action.import_palette.desc":"Importera en .bbpalette fil","action.export_palette":"Exportera Palett","action.export_palette.desc":"Exportera palett som en .GPL-fil","action.generate_palette":"Generera palett...","action.generate_palette.desc":"Generera palett fr\xE5n en textur","action.sort_palette":"Sortera Palett","action.sort_palette.desc":"Sortera alla f\xE4rger p\xE5 paletten efter f\xE4rg och ljusstyrka","action.timelapse":"Timelaps...","action.timelapse.desc":"Spela in en timelapse av din modellerings process","action.add_keyframe":"L\xE4gg till en nyckelbild","action.add_keyframe.desc":"Add a keyframe to the selected animator","action.bring_up_all_animations.desc":"Brings all modified animators into the timeline","timeline.timeline":"Instruktioner","menu.palette.load.default":"Standard","generic.import":"Importera","settings.brush_modifier.none":"Ingen","action.export_entity":"Exportera Bedrock entitet","action.export_entity.desc":"Export the model as an entity model for Minecraft Bedrock Edition","settings.highlight_cubes":"Framh\xE4v element","settings.highlight_cubes.desc":"Framh\xE4v element n\xE4r du h\xE5ller muspekaren \xF6ver dem eller v\xE4ljer dem","action.add_marker":"Set Marker","action.add_marker.desc":"Set a timeline marker","timeline.pre_effect_script":"Skript","format.skin":"Minecraft Skin","format.skin.desc":"Redigera spelar- och entitetutseenden","message.sketchfab.setup_guide":"Want to learn how to set up models in Sketchfab? Read %0","dialog.skin.title":"Skapa Minecraft utseende","dialog.skin.model":"Modell","action.toggle_skin_layer":"V\xE4xla skinlager","action.toggle_skin_layer.desc":"V\xE4xla hatt- och kl\xE4tlager f\xF6r skinmodellen","action.gui_light":"GUI Light","action.gui_light.desc":"Select the way the item is lit in the inventory","action.gui_light.side":"Side Light","action.gui_light.front":"Front Light","action.move_keyframe_back":"Move Keyframes Back","action.move_keyframe_forth":"Move Keyframes Forth","menu.help":"Hj\xE4lp","menu.help.discord":"Discord-server","menu.help.report_issue":"Rapportera ett problem","menu.help.plugin_documentation":"Plugin API Documentation","menu.help.search_action":"Search and Run Action","menu.help.donate":"Donera","menu.help.about":"Om...","menu.preview.background.clipboard":"Load from Clipboard","dialog.ignore":"Ignorera","generic.unset":"Unset","message.invalid_builtin_parent.title":"Invalid Built-in Parent","message.invalid_builtin_parent.message":"The link to the invalid parent model '%0' was removed in order to export a valid model.","dialog.resize_texture.fill":"Fyll med","dialog.resize_texture.fill.transparent":"Transparent","dialog.resize_texture.fill.color":"F\xE4rg","dialog.resize_texture.fill.repeat":"Upprepa","dialog.scale.element_pivot":"Element Pivot","dialog.scale.selection_center":"Selection Center","dialog.create_gif.length_mode":"Length Mode","dialog.create_gif.length_mode.seconds":"Sekunder","dialog.create_gif.length_mode.frames":"Bilder","dialog.create_gif.length_mode.animation":"Animation Length","dialog.create_gif.length_mode.turntable":"Turntable Rotation","dialog.save_angle.projection":"Projektering","dialog.save_angle.projection.perspective":"Perspektiv","dialog.save_angle.projection.orthographic":"Ortografisk","dialog.sketchfab_uploader.animations":"Animationer","dialog.settings.theme":"Tema","settings.category.interface":"Gr\xE4nssnitt","settings.preview_checkerboard":"Preview Checkerboard","settings.preview_checkerboard.desc":"Toggle the checkerboard background behind the preview","settings.uv_checkerboard":"UV Editor Checkerboard","settings.uv_checkerboard.desc":"Toggle the checkerboard background behind the UV editor","category.paint":"M\xE5la","action.fill_mode.color_connected":"Sammanh\xE4ngande f\xE4rger","action.draw_shape_type":"Formtyp","action.draw_shape_type.rectangle":"Rektangel","action.draw_shape_type.rectangle_h":"Rektangel (ih\xE5lig)","action.draw_shape_type.ellipse":"Ellips","action.draw_shape_type.ellipse_h":"Ellipse (ih\xE5lig)","action.draw_shape_type.line":"Linje","action.mirror_painting":"Spegla m\xE5lning","action.mirror_painting.description":"Spegla dina penseldrag till andra sidan av modellen","action.lock_alpha":"L\xE5s alfakanal","action.lock_alpha.description":"Lock the transparency of all pixels","action.draw_shape_tool":"M\xE5la form","action.draw_shape_tool.desc":"Verktyg f\xF6r att rita enkla former p\xE5 texturer","action.export_gltf":"Exportera glTF-modell","action.export_gltf.desc":"Export model and animations as glTF file for sharing and rendering","action.transform_space":"Transform Space","action.transform_space.desc":"Default transform space for elements and bones","action.transform_space.global":"Global","action.transform_space.local":"Lokal","action.toggle_camera_projection":"Toggle Camera Projection","action.toggle_camera_projection.desc":"Toggle the camera projection between perspective and orthographic","action.load_camera_angle":"Kameravinkel: %0","action.load_camera_angle.desc":"Ladda kameravinkeln '%0'","action.slider_face_tint":"Tint Index","action.slider_face_tint.desc":"Set the tint index of the current face. -1 means unset.","menu.help.quickstart":"Snabbstartsguide","menu.help.developer":"Utvecklare","menu.help.developer.dev_tools":"\xD6ppna utvecklarverktyg","menu.help.developer.reset_storage":"Fabriks\xE5terst\xE4llning","menu.help.developer.reset_storage.confirm":"\xC4r du s\xE4ker p\xE5 att du vill \xE5terst\xE4lla Blockbench till fabriksinst\xE4llningarna? Detta kommer att ta bort alla inst\xE4llningar, kortkommandon och till\xE4ggsprogram.","menu.help.developer.cache_reload":"Ladda om cache","menu.preview.orthographic":"Ortografisk","menu.preview.save_angle":"Spara Vinkel...","menu.preview.angle":"Vinklar","menu.preview.angle.initial":"Ursprunglig vinkel","menu.preview.maximize":"Maximera","uv_editor.copy_selection":"Kopiera Urval","uv_editor.paste_selection":"Klistra in Urval","uv_editor.copy_paste_tool.place":"Placera","uv_editor.copy_paste_tool.mirror_x":"Spegla X","uv_editor.copy_paste_tool.mirror_y":"Spegla Y","uv_editor.copy_paste_tool.rotate":"Rotera 90 Grader","dialog.project.modded_entity_version":"Exportera Version","dialog.save_angle.position":"Kameraposition","dialog.save_angle.target":"Br\xE4nnpunkt","dialog.skin.pose":"Pose","layout.color.frame":"Window Frame","layout.color.frame.desc":"Border and title bar of the window","settings.large_grid_size":"Block-rutn\xE4tsstorlek","settings.large_grid_size.desc":"Storlek p\xE5 block-rutn\xE4tet","action.load_plugin_from_url":"Load Plugin from URL","action.load_plugin_from_url.desc":"Load a plugin from a server by specifying the URL","action.cube_counter.desc":"Displays the current number of elements and other statistics","action.unlock_everything":"L\xE5s up alla","action.unlock_everything.desc":"Unlock all groups and elements in the outliner.","action.load_palette":"Ladda Palett","action.load_palette.desc":"Load one of the built-in or saved palette presets","action.toggle_locked":"Toggle Lock","action.toggle_locked.desc":"Toggle whether the selected elements are locked","action.apply_display_preset":"Till\xE4mpa f\xF6rinst\xE4llning","action.apply_display_preset.desc":"Till\xE4mpa en standard- eller anpassad sk\xE4rminst\xE4llning","action.apply_display_preset.here":"Till\xE4mpa p\xE5 denna platsen","action.apply_display_preset.everywhere":"Till\xE4mpa p\xE5 alla platser","action.resolve_keyframe_expressions":"Resolve Keyframe","action.resolve_keyframe_expressions.desc":"Resolves the math expressions of the selected keyframes","action.fold_all_animations":"Fold All Animators","menu.palette.load.empty":"Tom","switches.lock":"L\xE5s","settings.render_sides":"Render Sides","settings.render_sides.desc":"Select which side of a face is rendered","settings.render_sides.auto":"Auto","settings.render_sides.front":"Utsida","settings.render_sides.double":"Insida och Utsida","generic.enable":"Aktivera","generic.disable":"Inaktivera","generic.redacted":"Redacted","dialog.select_texture.import_all":"Importera Alla","dialog.skin.layer_template":"Lagertextur","about.version.up_to_date":"Aktuell","about.version.update_available":"Version %0 \xE4r tillg\xE4nglig","settings.category.application":"Application","settings.streamer_mode":"Streamerl\xE4ge","settings.streamer_mode.desc":"Hides sensitive information like recent models","settings.automatic_updates":"Automatiska uppdateringar","settings.automatic_updates.desc":"Ladda ner nya versioner automatiskt och h\xE5ll Blockbench uppdaterat","action.rotation_space":"Rotation Space","action.focus_on_selection":"Center View on Selection","action.focus_on_selection.desc":"Align the camera to face the center of the current selection","action.jump_to_timeline_start":"Hoppa till animationsstart","action.jump_to_timeline_end":"Hoppa till animationsslut","menu.help.updating":"Uppdaterar (%0%)","menu.help.update_failed":"Uppdateringen misslyckades","menu.animation.loop.once":"Spela en g\xE5ng","menu.animation.loop.hold":"Hold On Last Frame","menu.animation.loop.loop":"Loop","interface.streamer_mode_on":"Streamerl\xE4ge aktiverat","generic.reset":"\xC5terst\xE4ll","generic.restore":"\xC5terst\xE4llning","keys.mousewheel":"Mushjul","message.delete_animation.title":"Radera Animation","message.delete_animation.message":"The animation was removed from Blockbench. Do you also want to delete the animation from the file that is was saved in?","message.no_animation_to_import":"Inga animationer att importera","dialog.material_instances.title":"Material Instances","dialog.animation_import.title":"Select Animations to Import","dialog.create_texture.padding":"Padding","settings.fov":"FOV","settings.fov.desc":"Camera Field of View. Default is 45","settings.minify_bbmodel":"Minified Project Files","settings.minify_bbmodel.desc":"Write .bbmodel files minified into one line","action.edit_material_instances":"Edit Material Instances","action.edit_material_instances.desc":"Edit material instance names for bedrock block geometries","action.save_all_animations":"Save All Animations","action.save_all_animations.desc":"Save all currently loaded animations","action.keyframe_interpolation":"Interpolation","action.keyframe_interpolation.desc":"Select the keyframe interpolation mode","action.keyframe_interpolation.linear":"Linj\xE4r","action.keyframe_interpolation.catmullrom":"Sl\xE4t","action.timeline_focus.hide_empty":"Hide empty channels","menu.file.preferences":"Preferenser","menu.animation.blend_weight":"Blend Weight","menu.animation.save":"Spara","menu.animation.properties":"Egenskaper...","menu.animation.file":"Fil","menu.animation.snapping":"Snappning","menu.animation.open_location":"Visa i filutforskaren","panel.keyframe.add_data_point":"Add Keyframe Data Point","panel.keyframe.remove_data_point":"Remove Data Point","panel.keyframe.pre":"F\xF6re","panel.keyframe.post":"Efter","generic.all":"Alla","message.small_face_dimensions.title":"Incompatible Face Dimensions","message.small_face_dimensions.message":"The selection contains faces that are smaller than 1 unit in one direction. The Box UV mapping system considers any faces below that threshold as 0 pixels wide. The texture on those faces therefore may not work correctly.","message.small_face_dimensions.face_uv":'The current format supports per-face UV maps which can handle small face dimensions. Right click the affected cubes and change "UV Mode" to "Per-face UV".',"dialog.plugins.outdated_client":"Till\xE4ggsprogrammet kr\xE4ver en nyare version av Blockbench","dialog.plugins.outdated_plugin":"Till\xE4ggsprogrammet \xE4r utdaterat och fungerar inte med den h\xE4r versionen av Blockbench","settings.motion_trails":"Motion Trails","settings.motion_trails.desc":"Show motion trails in the animation editor","settings.antialiasing":"Kantutj\xE4mning","settings.antialiasing.desc":"Aktivera kantutj\xE4mning i f\xF6rhandsgranskningen","action.timeline_frame_back":"Hoppa tillbaka 1 bild","action.timeline_frame_forth":"Hoppa fram 1 bild","panel.bone.ik":"Inverse Kinematics (Experimental)","settings.particle_tick_rate":"Particle Tick Rate","settings.particle_tick_rate.desc":"Tick rate for particle effects in ticks per second. Default is 30","action.lock_motion_trail":"Lock Motion Trail","action.lock_motion_trail.desc":"Lock the motion trail to the currently selected group","menu.animation_file.unload":"Ladda upp fil","data.null_object":"Null Objekt","status_bar.toggle_sidebar":"Toggle Sidebar","message.load_plugin_failed.title":"Failed to load plugin","message.load_plugin_failed.message":"Ensure that the base file name of the plugin matches the plugin ID `%0`, as specified in Plugin.register().","dialog.project.uv_mode":"UV Mode","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-face UV","dialog.project.texture_size":"Texture Size","dialog.animation_export.title":"Select Animations to Export","dialog.create_texture.rearrange_uv":"Rearrange UV","layout.color.subtle_text":"Subtle Text","layout.color.subtle_text.desc":"Secondary text color with less contrast","settings.interface_scale":"Interface Scale","settings.interface_scale.desc":"Skala f\xF6r hela Blockbench-gr\xE4nssnittet","settings.background_rendering":"Background Rendering","settings.background_rendering.desc":"Update the preview while the window is not focused","settings.ctrl_shift_size":"Control + Shift Resolution","settings.ctrl_shift_size.desc":"Resolution of the grid while holding control and shift","settings.hardware_acceleration":"Hardware Acceleration","settings.hardware_acceleration.desc":"L\xE4gg ut renderingsuppgifter till grafikkortet","action.explode_skin_model":"Explode Skin Model","action.explode_skin_model.desc":"Toggles an explosion view that allows you to edit covered faces","action.export_minecraft_skin":"Exportera Minecraft Skin","action.export_minecraft_skin.desc":"Exportera Minecraft-skinnet som en PNG textur","action.add_null_object":"Add Null Object","action.add_null_object.desc":"Adds a new null object","action.animated_texture_frame":"Animated Texture Frame","action.animated_texture_frame.desc":"Set the current frame of the animated texture","action.export_animation_file":"Export Animations...","action.export_animation_file.desc":"Export a selection of animations into a new file","action.timeline_graph_editor":"Toggle Graph Editor","action.timeline_graph_editor.desc":"Toggle the timeline between graph editor view and keyframe view","menu.file.recent.clear":"Rensa senaste filer","switches.shade":"Shade","generic.share":"Dela","dates.minute":"%0 minut","dates.minutes":"%0 minuter","dates.hour":"%0 timme","dates.hours":"%0 timmar","dates.day":"%0 dag","dates.days":"%0 dagar","dates.week":"%0 vecka","dates.weeks":"%0 veckor","dates.year":"%0 \xE5r","dates.years":"%0 \xE5r","message.installed_plugin":"Till\xE4ggsprogrammet %0 har installerats","message.installed_plugin_fail":"Misslyckades att installera till\xE4ggsprogrammet %0","dialog.share_model.title":"Dela modell","dialog.share_model.expire_time":"Expire Time","dialog.share_model.failed":"Failed to upload model","action.import_java_block_model":"Add Java Block/Item Model","action.import_java_block_model.desc":"Add a Minecraft Java block/item model from a json file to the current model","action.share_model":"Dela...","action.share_model.desc":"Skapa en kort l\xE4nk f\xF6r att dela din modell","action.import_project":"Importera projekt","action.import_project.desc":"Import another project from a .bbmodel file into the current project","dialog.toolbar_edit.hidden_tools":"Some tools might be hidden because they are not available in the current mode, format, or situation.","settings.camera_near_plane":"Camera Near Plane","settings.camera_near_plane.desc":"The minimum distance from the camera where objects render. Higher values decrease Z-fighting. Default is 1.","mode.start.keymap_preference.desc":"Om du \xE4r Blockbench nyb\xF6rjare och kommer fr\xE5n ett annat 3D-program kan du v\xE4lja en tangentbordsmappning f\xF6r att g\xF6ra \xF6verg\xE5ngen enklare. Du kan \xE4ndra tangentbordsmappningen eller individuella tangentbindningar senare i inst\xE4llningarna.","message.load_keymap":"Are you sure you want to load this keymap? This will overwrite your current keybindings.","message.keymap_loaded":"Keymap loaded","dialog.convert_project.current_format":"Nuvarande format","dialog.create_texture.rearrange_uv.desc":"Create a new UV arrangement to give every face its own spot on the texture","dialog.create_texture.power.desc":"Lock the automatic texture size to a power-of-2, such as 64 or 128. This is required by some renderers","dialog.create_texture.double_use.desc":"If two elements already have the same UV space assigned, keep it that way in the new map","dialog.create_texture.padding.desc":"Add a small padding between the individual parts of the template","dialog.create_texture.resolution.desc":"The height and width of the texture","dialog.create_gif.color":"Background Color","dialog.save_angle.zoom":"Zoom","dialog.skin.variant":"Variant","dialog.flip_animation.info":"Opposite bones are identified by the keywords 'left' and 'right' within their name.","dialog.export_private_settings.title":"Private Settings","dialog.export_private_settings.message":"Your file contains the following private informations: **%0**. Leave these values out if you plan to share the file with someone else.","dialog.export_private_settings.keep":"Keep","settings.timecode_frame_number":"Display Timecodes as Frame Numbers","settings.timecode_frame_number.desc":"Display fraction timecodes in the timeline as frame number instead of centisecond","settings.animation_sample_rate":"Animation Sample Rate","settings.animation_sample_rate.desc":"Sample rate in samples per second for curves that the respective format does not support natively","keybind.preview_zoom":"Drag-to-Zoom View","action.gradient_tool":"Gradient Tool","action.gradient_tool.desc":"Create a color gradient on your texture","action.import_settings":"Import Settings","action.import_settings.desc":"Import a .bbsettings file","action.export_settings":"Export Settings","action.export_settings.desc":"Exportera Blockbench-inst\xE4llningarna som en .bbsettings-fil","action.load_keymap":"Load Keymap","action.load_keymap.default":"Default (Trackpad/Mouse)","action.load_keymap.mouse":"Default (Mouse)","action.load_keymap.default.desc":"Default Blockbench keybindings, with viewport navigation controls optimized for use on laptop trackpads","action.load_keymap.mouse.desc":"Default Blockbench keybindings, with viewport navigation bound to the middle mouse button","action.load_keymap.blender.desc":"Keymap for users who are familiar with the controls of Blender","action.load_keymap.cinema4d.desc":"Keymap for users who are familiar with the controls of Cinema 4D","action.load_keymap.maya.desc":"Keymap for users who are familiar with the controls of Autodesk Maya","action.import_keymap":"Importera tangentbordsmapp","action.import_keymap.desc":"Import keybindings a .bbkeymap file","action.export_keymap":"Exportera tangentbordsmapp","action.export_keymap.desc":"Export the current keybindings as a .bbkeymap file","action.edit_history":"\xC4ndra historik...","action.edit_history.desc":"View the editing history and undo or redo steps","action.group_elements":"Gruppera element","action.group_elements.desc":"Wrap selected elements into a new group","action.unfold_groups":"Unfold Groups","action.unfold_groups.desc":"Unfold all groups in the outliner","action.edit_bedrock_binding":"Edit Binding...","action.edit_bedrock_binding.desc":"Change which bone the geometry is bound to","action.pick_screen_color":"Pick Screen Color","action.pick_screen_color.desc":"Pick a color from somewhere on your screen","action.view_mode":"View Mode","action.view_mode.desc":"Change the model view mode","action.view_mode.textured":"Textured","action.view_mode.solid":"Solid","action.view_mode.wireframe":"Wireframe","action.toggle_sidebars":"Toggle Sidebars","action.toggle_sidebars.desc":"Enable or disable the sidebars","action.set_animation_end":"Set Animation End","action.set_animation_end.desc":"Set the end of the selected animation to the current timeline time","action.flip_animation":"Flip Animation","action.flip_animation.desc":"Flips part of an animation by copying selected keyframes to the other side of the model","action.graph_editor_zero_line":"Include Zero Line","action.graph_editor_zero_line.desc":"Whether the graph editor always includes the zero line in the view","menu.texture.render_mode":"Render Mode","menu.texture.render_mode.emissive":"Emissive","menu.texture.render_mode.layered":"Layered","menu.preview.angle.edit":"\xC4ndra vinkel...","menu.animation.start_delay":"Startf\xF6rdr\xF6jning","menu.animation.loop_delay":"Loopf\xF6rdr\xF6jning","menu.animation.flip_keyframes":"V\xE4nd nyckelbilder","menu.mobile_keyboard.disable_all":"Disable All","panel.keyframe.toggle_uniform_scale":"Toggle Uniform Scale","camera_angle.common_isometric_right":"Isometric Right (2:1)","camera_angle.common_isometric_left":"Isometric Left (2:1)","camera_angle.true_isometric_right":"True Isometric Right (30\xB0)","camera_angle.true_isometric_left":"True Isometric Left (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"Update to Pre-releases","settings.update_to_prereleases.desc":"Automatically update to Blockbench beta versions to test new features. Pre-release versions can be unstable, don't enable this option if you rely on Blockbench for work or other important projects.","data.separator.spacer":"Spacer","data.separator.linebreak":"Line Break","data.setting":"Setting","generic.select_all":"V\xE4lj alla","generic.select_none":"V\xE4lj ingen","projects.new_tab":"Ny flik","projects.close_tab":"St\xE4ng flik","message.invalid_format.title":"Invalid Format","message.invalid_format.message":"This model was made in the format '%0', which is not available in your Blockbench installation. You most likely need a specific plugin to open it correctly.","message.invalid_link":"Invalid or Expired Model Link","message.default_textures.current":"Current path","message.update_after_restart":"The update will be installed after the next restart","message.copy_paste_tool_viewport":"This tool can only be used in the 2D editor","dialog.project.shadow_size":"Shadow Size","dialog.find_replace.target":"Target","dialog.find_replace.target.element_names":"Element Names","dialog.find_replace.target.group_names":"Group Names","dialog.find_replace.target.animation_names":"Animation Names","dialog.find_replace.target.keyframe_values":"Nyckelbildsv\xE4rden","dialog.find_replace.find":"Hitta","dialog.find_replace.replace":"Ers\xE4tt","dialog.find_replace.regex":"Regulj\xE4rt uttryck","dialog.add_primitive.shape":"Form","dialog.add_primitive.shape.circle":"Cirkel","dialog.add_primitive.shape.tube":"Tub","dialog.add_primitive.shape.cone":"Kon","dialog.add_primitive.shape.cylinder":"Cylinder","dialog.add_primitive.shape.sphere":"Sf\xE4r","dialog.add_primitive.shape.torus":"Torus","dialog.add_primitive.shape.cube":"Kuboid","dialog.add_primitive.shape.pyramid":"Pyramid","dialog.add_primitive.diameter":"Diameter","dialog.add_primitive.height":"H\xF6jd","dialog.add_primitive.sides":"Sidor","dialog.add_primitive.minor_diameter":"Tjocklek","dialog.add_primitive.minor_sides":"Spegla sidor","dialog.create_texture.combine_polys":"Kombinera \xF6ar","dialog.create_texture.combine_polys.desc":"Kombinera polygoner till sammankopplade UV-\xF6ar","dialog.model_stats.meshes":"Polygonn\xE4t","dialog.export_private_settings.omit":"Utel\xE4mna","layout.select":"V\xE4lj","layout.options":"Alternativ","layout.color":"Color Scheme","layout.documentation":"Dokumentation","layout.color.bright_ui_text":"Bright UI Text","layout.color.bright_ui_text.desc":"Text on bright backgrounds","layout.name":"Namn","layout.author":"F\xF6rfattare","settings.dialog.desc":'Show the "%0" dialog',"settings.export_empty_groups":"Exportera tomma grupper","settings.export_empty_groups.desc":"Include groups without content in exported files","category.separators":"Separators","keybind.preview_area_select":"Area Select","action.color_erase_mode":"Erase Mode","action.color_erase_mode.desc":"With erase mode enabled, tools like Fill and Rectangle subtract colors rather than adding them","action.open_from_link":"\xD6ppna modell fr\xE5n l\xE4nk...","action.open_from_link.desc":"\xD6ppna en modell fr\xE5n en blckbn.ch URL","action.import_obj":"Importera OBJ-modell","action.import_obj.desc":"Importera objekt fr\xE5n en OBJ-modell som polygonn\xE4t","action.add_plugin":"Install Plugin","action.add_plugin.desc":"Install a plugin through Action Control","action.remove_plugin":"Uninstall Plugin","action.remove_plugin.desc":"Uninstall a plugin through Action Control","action.add_mesh":"L\xE4gg till polygonn\xE4t","action.add_mesh.desc":"L\xE4gger till ett nytt polygonn\xE4t","action.add_texture_mesh":"Add Texture Mesh","action.add_texture_mesh.desc":"Adds a new Texture Mesh","action.find_replace":"Find/Replace...","action.find_replace.desc":"Find and replace parts of names","action.hide_everything_except_selection":"Hide Everything Except Selection","action.hide_everything_except_selection.desc":"Toggle visibility on all elements except the ones that are selected","action.transform_space.normal":"Normal","action.selection_mode":"Selection Mode","action.selection_mode.desc":"Change how elements can be selected in the viewport","action.selection_mode.object":"Object","action.selection_mode.face":"Yta","action.selection_mode.vertex":"Nod","action.create_face":"Skapa yta eller kant","action.create_face.desc":"Skapar en ny sida eller kant mellan de markerade noderna","action.convert_to_mesh":"Konvertera till ett polygonn\xE4t","action.convert_to_mesh.desc":"Convert the selected elements into meshes","action.invert_face":"Invertera yta","action.invert_face.desc":"Invert the selected faces to make them face the opposite direction","action.extrude_mesh_selection":"Extrude Selection","action.extrude_mesh_selection.desc":"Extrude the selected parts of the mesh","action.loop_cut":"Loop Cut","action.loop_cut.desc":"Split the mesh in a loop across the selected edge","action.merge_meshes":"Merge Meshes","action.merge_meshes.desc":"Merge multiple meshes into one","action.keyframe_uniform":"Uniform Scaling","action.keyframe_uniform.desc":"Enable uniform scaling on the selected keyframes","menu.locator.ignore_inherited_scale":"Ignore Inherited Scale","menu.texture.elements":"Applicera p\xE5 element","uv_editor.transparent_face":"Genomskinlig yta","display.pose_angle":"Pose Angle (For Preview Only)","data.mesh":"Polygonn\xE4t","dialog.create_texture.type":"Type","dialog.create_texture.type.blank":"Blank","dialog.create_texture.type.template":"Texture Template","dialog.create_texture.type.color_map":"Solid Color Template","dialog.sketchfab_uploader.suggested_tags":"Suggested Tags","dialog.sketchfab_uploader.category":"Kategori","dialog.sketchfab_uploader.category2":"Kategori 2","layout.restore_backup":'Your customized theme "%0" was overwritten. Click here to restore it.',"layout.borders":"Kanter","action.fill_mode.element":"Element","action.inset_mesh_selection":"Inset Selection","action.inset_mesh_selection.desc":"Inset the selected parts of the mesh","action.dissolve_edges":"Dissolve Edges","action.dissolve_edges.desc":"Dissolve selected edges in a mesh and merge the faces they divide","action.split_mesh":"Dela polygonn\xE4t","action.split_mesh.desc":"Split the selected faces of the mesh into a new mesh","action.merge_vertices":"Sammanfoga h\xF6rn","action.merge_vertices.desc":"Merge the selected vertices into the position of the first selected vertex","action.view_mode.normal":"Ytorientering","action.snap_uv_to_pixels":"F\xE4st UV till pixlar","action.snap_uv_to_pixels.desc":"Snaps the selected UV vertices to the pixel grid","menu.file.import.import_open_project":"Import Open Project","menu.help.unlock_projects":"Unlock All Projects","status_bar.selection.faces":"%0 ytor","status_bar.selection.vertices":"%0 h\xF6rn","message.merged_vertices":"Hittade och sammanfogade %0 noder p\xE5 %1 platser","settings.vertex_merge_distance":"Nodsammanfogningsavst\xE5nd","settings.vertex_merge_distance.desc":"Distance within which vertices are merged using merging by distance","settings.show_only_selected_uv":"Show Only Selected UV","settings.show_only_selected_uv.desc":"Only display the selected UV faces in the UV editor by default","action.merge_vertices.merge_all":"Sammanfoga alla","action.merge_vertices.merge_all_in_center":"Sammanfoga alla i mitten","action.merge_vertices.merge_by_distance":"Sammanfoga efter avst\xE5nd","action.merge_vertices.merge_by_distance_in_center":"Sammanfoga efter avst\xE5nd i centrum","action.uv_rotate_left":"Rotate UV Left","action.uv_rotate_left.desc":"Rotate the selected UV faces counter-clockwise","action.uv_rotate_right":"Rotate UV Right","action.uv_rotate_right.desc":"Rotate the selected UV faces clockwise","menu.uv.display_uv":"Display UV","menu.uv.display_uv.selected_faces":"Valda polygoner","menu.uv.display_uv.selected_elements":"Alla polygoner","menu.uv.display_uv.all_elements":"All Faces on All Elements","menu.paste.face":"UV-yta","menu.paste.mesh_selection":"Polygonn\xE4t","menu.paste.outliner":"Element","uv_editor.show_all_faces":"Visa alla ytor","uv_editor.show_selected_faces":"Visa valda ytor","status_bar.selection.edges":"%0 Kanter","action.selection_mode.edge":"Kant","message.cannot_re_import.title":"Modellen kan inte importeras igen","message.cannot_re_import.message":"The exported model format cannot be imported into Blockbench again. Please make sure to save your model as a project file.","generic.default":"Default","units.pixels_per_meter":"%0 pixlar per meter","mode.pose":"Pose","modifier_actions.resize_both_sides":"Resize in both directions","modifier_actions.resize_one_side":"Resize in one direction","modifier_actions.draw_line":"Draw line","modifier_actions.drag_without_snapping":"Drag without snapping","modifier_actions.stretch_keyframes":"Stretch keyframes","modifier_actions.resize_background":"Resize background","modifier_actions.select_multiple":"Select multiple","modifier_actions.select_range":"Select range","modifier_actions.drag_to_duplicate":"Drag to duplicate","modifier_actions.uniform_scaling":"Uniform Scaling","modifier_actions.snap_direction":"Snap Direction","message.no_valid_elements":"No valid elements selected...","dialog.add_primitive.shape.plane":"Plane","dialog.save_angle.rotation_mode":"Rotation Mode","dialog.save_angle.rotation":"Rotation","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"Auto-hide Tab Bar","settings.hide_tab_bar.desc":"Hide the tab bar when only one tab is open","settings.status_bar_modifier_keys":"Suggest Modifier Keys in Status Bar","settings.status_bar_modifier_keys.desc":"Display context aware suggested modifier keys in the status bar","settings.ground_plane":"Ground Plane","settings.ground_plane.desc":"Show a floor plane below the model","settings.preview_paste_behavior":"Default Viewport Paste Behavior","settings.preview_paste_behavior.desc":"Select the behavior when pasting something into the viewport in Edit mode and multiple options are available","settings.preview_paste_behavior.always_ask":"Always Ask","action.new_window":"Nytt f\xF6nster","action.new_window.desc":"\xD6ppnar ett nytt Blockbench f\xF6nster","action.export_collada":"Export Collada Model (dae)","action.export_collada.desc":"Export model and animations as dae file to use it in other 3D applications","action.paint_mode_uv_overlay":"UV Overlay","action.paint_mode_uv_overlay.desc":"Display the UV map as an overlay in paint mode","action.bake_animation_into_model":"Bake Animation Pose into Model","action.bake_animation_into_model.desc":"Bake the currently displayed animation frame into the model. Only applies rotation and position, scale is ignored.","action.keyframe_interpolation.step":"Steg","action.set_ik_target":"Set IK Target","action.set_ik_target.desc":"Select the target bone that should be moved by this null object via Inverse Kinematics","menu.action_control.type.tab":"Flik","menu.action_control.type.angle":"Kameravinkel","menu.action_control.recent_in_streamer_mode":"Sure? Streamer Mode is enabled","menu.action_control.recent_in_streamer_mode.desc":"Are you sure you want to display recent models?","menu.tools":"Verktyg","menu.file.recent.more":"Visa mer...","menu.null_object.lock_ik_target_rotation":"Lock IK Target Rotation","menu.animation_file.import_remaining":"Import Remaining from File","edit.loop_cut.offset":"Offset","edit.extrude_mesh_selection.extend":"Extend","cube.color.pink":"Rosa","cube.color.silver":"Silver","dialog.plugins.offline":"No internet connection","dialog.create_texture.pixel_density":"Pixel Density","dialog.create_texture.pixel_density.desc":"The pixel density of the texture, in pixels per meter. The size of the texture map may differ depending on the amount and size of elements.","panel.skin_pose":"Pose","panel.skin_pose.none":"None","panel.skin_pose.natural":"Natural","panel.skin_pose.walking":"Walking","panel.skin_pose.crouching":"Crouching","panel.skin_pose.sitting":"Sitting","panel.skin_pose.jumping":"Jumping","panel.skin_pose.aiming":"Aiming","edit.loop_cut.direction":"Direction","data.texture_mesh":"Texture Mesh","generic.left":"Left","generic.right":"Right","mode.start.quick_setup":"Quick Setup","mode.start.keymap":"Keymap","mode.start.quick_setup.more_themes":"More...","dialog.resize_texture.animation_frames":"Animation Frames","dialog.export_emission_map.title":"Export Emission Map","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Luminance","dialog.export_emission_map.format.luminance_inverted":"Luminance Inverted","dialog.export_emission_map.format.colors":"Colors","dialog.export_emission_map.threshold":"Transparency Threshold","dialog.export_emission_map.round_up":"Round Up to %0 x %1","dialog.export_emission_map.flip_y":"Flip Y Axis","dialog.select.type":"Element Type","dialog.create_texture.max_edge_angle":"Edge Angle Threshold","dialog.create_texture.max_edge_angle.desc":"The maximum angle between two faces at which they will still be combined","dialog.create_texture.max_island_angle":"Island Angle Threshold","dialog.create_texture.max_island_angle.desc":"The maximum angle that can be combined into the same UV island","settings.mobile_panel_side":"Mobile Panel Side","settings.mobile_panel_side.desc":"Select which side of the screen panels are displayed on when using Blockbench on in landscape orientation","settings.obj_face_export_mode":"OBJ Face Export Mode","settings.obj_face_export_mode.desc":"Choose to let the OBJ exporter convert all faces into tris or quads","settings.obj_face_export_mode.both":"Standard","settings.obj_face_export_mode.tris":"Konvertera till trianglar","settings.obj_face_export_mode.quads":"Konvertera till rektanglar","action.seam_tool":"Seam Tool","action.seam_tool.desc":"Tool to define UV seams on mesh edges","action.resolve_group":"Resolve Group","action.resolve_group.desc":"Resolve the group while retaining its children in the same place","action.move_to_group":"Move to","action.move_to_group.desc":"Move the selected elements to a different outliner group or element","action.select_seam":"Select UV Seam","action.select_seam.desc":"Select the UV seam mode for the selected edges","action.select_seam.auto":"Auto","action.select_seam.join":"Sammanfoga","action.select_seam.divide":"Dela","action.adjust_brightness_contrast":"Adjust Brightness & Contrast...","action.adjust_brightness_contrast.desc":"Adjust the brightness and contrast of the selected texture","action.adjust_saturation_hue":"Adjust Saturation & Hue...","action.adjust_saturation_hue.desc":"Adjust the saturation and hue of the selected texture","action.invert_colors":"Invertera f\xE4rger","action.invert_colors.desc":"Invert all colors of the selected texture","action.adjust_curves":"Adjust Curves...","action.adjust_curves.desc":"Adjust the brightness curves of the selected texture","action.flip_texture_x":"V\xE4nd horisontellt","action.flip_texture_y":"V\xE4nd vertikalt","action.resize_texture":"Resize Texture...","action.view_mode.uv":"UV Preview","action.append_to_template":"Append Elements to Template...","action.append_to_template.desc":"Add the currently selected elements to the texture template","action.move_texture_with_uv":"Move Texture with UV","action.move_texture_with_uv.desc":"Move the texture of the face along when dragging UV faces","action.timeline_setups":"Timeline Setups","action.save_timeline_setup":"Save Timeline Setup...","action.save_timeline_setup.desc":"Save a preset for the currently selected animators and channels","menu.texture":"Texture","menu.texture.render_mode.default":"Default","menu.texture.merge_onto_texture":"Merge Onto Texture Above","menu.animation.unload":"Unload","panel.timeline":"Timeline","action.pan_tool":"Pan Tool","action.pan_tool.desc":"Tool to navigate in the viewport and the texture editor","mode.start.recent.favorite":"Mark as Favorite","mode.start.info":"Info","mode.start.target":"Target","mode.start.start":"Start","mode.start.create_new":"Create New Model","mode.start.format.informations":"Good to know:","mode.start.format.resources":"Resources:","format.free.info.meshes":"In this format, you can create low poly models using cubes and custom shaped meshes.","format.free.info.limitation":"Models cannot be loaded into games that need specialized formats, such as Minecraft.","format.skin.info.skin":"This format is designed to create Minecraft skins and entity textures.","format.skin.info.model":"The model cannot be changed. In order to make changes to the model, first convert to a different format via **File** > **Convert Project**.","format.java_block.info.rotation":"Rotations are limited to one axis per element","format.java_block.info.size":"The model is limited to a size of 3 by 3 by 3 blocks. Display settings can make item models larger though","format.java_block.info.animation":"This format does not support animations in vanilla Minecraft. If you are creating a mod, you can use GeckoLib to animate models. If not, the only way to animate is to switch out the model using commands or animated textures.","format.bedrock.info.textures":"Each model can only have one texture","format.bedrock_block":"Bedrock Block","format.bedrock_block.desc":"Block model for Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"The size of individual cubes is limited to integers.","format.modded_entity.info.format":"Models are written in Java code instead of dedicated data structures like all other Blockbench export formats.","format.optifine_entity.info.optifine_required":"Users without OptiFine installed won't see the model.","format.optifine_entity.info.pivots":"Bone pivots are locked, so it is a good idea to leave them untouched.","format_category.low_poly":"L\xE5gpolygonal","format_category.minecraft":"Minecraft","format_category.other":"Other","format_category.loaders":"Loaders","message.recover_backup.recover":"\xC5terst\xE4ll","message.invalid_characters.title":"Invalid Path","message.invalid_characters.message":"The path of the imported file contains invalid characters, uppercase letters, or white spaces. The supported characters are: %0","dialog.share_model.thumbnail":"Miniatyrbild","dialog.skin.high_res_texture":"Please note that skins with the selected resolution will not work as regular Minecraft skins. Select a lower resolution.","settings.allow_display_slot_mirror":"Allow Display Slot Mirroring","settings.allow_display_slot_mirror.desc":"Allow Display slots for Java item models to be mirrored. WARNING: This only works in Minecraft 1.14 or earlier or in special cases.","action.switch_tabs":"Byt flik","action.switch_tabs.desc":"Cycle between opened tabs. Hold shift to cycle in the opposite direction.","action.unselect_all":"Unselect All","action.save_palette":"Save Palette...","action.save_palette.desc":"Save the current color palette inside Blockbench for later use","action.keyframe_column_create":"Create Keyframe Column","action.keyframe_column_create.desc":"Key all channels in the timeline at the current timecode, if they already have keyframes","action.keyframe_column_select":"Select Keyframe Column","action.keyframe_column_select.desc":"Select all keyframes in the timeline along a column below the playhead","menu.uv":"UV","menu.keyframe":"Nyckelbild","menu.palette.load.update":"Uppdatera paletten","menu.palette.load.update.desc":"Updates this palette with the colors of the current Blockbench palette","menu.timeline_marker.set_time":"St\xE4ll in tid...","uv_editor.scale_uv":"Scale UV","action.preview_scene":"Preview Scene","action.preview_scene.desc":"Change the model preview scene","preview_scene.minecraft_overworld":"\xD6verjorden","preview_scene.minecraft_nether":"Nethern","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"V\xE4nd Y-axeln","preview_scene.studio":"Studio","format.image":"Bild","modifier_actions.set_copy_source":"Set Copy Source","message.load_images.title":"Load Images","message.load_images.edit_image":"Edit Image","dialog.add_primitive.align_edges":"Align Edges","dialog.flip_animation.show_in_timeline":"Show modified bones in timeline","settings.default_cube_size":"Cube Size","settings.default_cube_size.desc":"Set the default cube size when creating a new cube","settings.uniform_keyframe":"Uniform Scale Keyframes","settings.uniform_keyframe.desc":"Set scale keyframes to uniform scaling by default","settings.nearest_rectangle_select":"Rectangle Selection: Nearest Edge","settings.nearest_rectangle_select.desc":"Snap rectangle selections to the nearest pixel edge, like in GIMP, instead of entire pixels.","settings.pick_color_opacity":"Pick Color Opacity","settings.pick_color_opacity.desc":"Pick the color opacity with the Color Picker and set it as brush opacity","settings.paint_with_stylus_only":"Paint with Stylus Only","settings.paint_with_stylus_only.desc":"Only use the stylus for painting, reserve mouse or touch input for navigation.","action.copy_brush_mode":"Copy Brush Mode","action.copy_brush_mode.copy":"Copy","action.copy_brush_mode.pattern":"Pattern","action.copy_brush_mode.sample":"Sample","action.brush_shape":"Brush Shape","action.brush_shape.square":"Square","action.brush_shape.circle":"Circle","action.blend_mode":"Blend Mode","action.blend_mode.default":"Default","action.blend_mode.set_opacity":"Set Opacity","action.blend_mode.color":"Color","action.blend_mode.behind":"Behind","action.blend_mode.multiply":"Multiply","action.blend_mode.divide":"Divide","action.blend_mode.add":"Add","action.blend_mode.subtract":"Subtract","action.blend_mode.screen":"Screen","action.blend_mode.overlay":"Overlay","action.blend_mode.hard_light":"Hard Light","action.blend_mode.difference":"Difference","action.copy_brush":"Copy Brush","action.copy_brush.desc":"Brush to clone parts of your texture or draw patterns. Hold Ctrl and click to select a copy source.","action.validator_window":"View Model Issues...","action.validator_window.desc":"Opens the validator, which lists issues with the current model.","action.cancel_gif":"Cancel GIF","menu.text_edit.copy_vector":"Copy Vector","menu.brush_presets.dialog":"Brush Presets...","menu.brush_presets.pixel_brush":"Pixel Brush","menu.brush_presets.smooth_brush":"Smooth Brush","menu.texture.edit_in_blockbench":"Edit in Blockbench","menu.mirror_painting.axis":"Axis","menu.mirror_painting.axis.desc":"Select on which axis paint strokes will get mirrored","menu.mirror_painting.global":"Global Symmetry","menu.mirror_painting.global.desc":"Enabled mirror painting on the model in global space","menu.mirror_painting.local":"Local Symmetry","menu.mirror_painting.local.desc":"Enable mirror painting in local space for each element","menu.mirror_painting.texture_frames":"Repeat on Flipbook Frames","menu.mirror_painting.texture_frames.desc":"Mirror paint strokes to every frame of animated textures","format.bedrock_block.info.size_limit":"Size total size of a block is limited to 30 pixels in all dimensions. The limit can be off-centered in all directions by 7 pixels from the block center.","format.bedrock_block.info.textures":"Multiple textures can be applied to different cubes in Blockbench, but require additional setup in the behavior pack to work correctly in-game.","format.image.desc":"Edit images in the 2D image editor","generic.delete_all":"Delete All","message.child_model_only.open":"Open Parent","message.child_model_only.open_with_textures":"Open Parent & Adopt Textures","dialog.project.credit":"Credit","dialog.convert_project.create_copy":"Create Copy","dialog.texture.frame_time":"Frame Time","dialog.texture.frame_time.desc":"Set for how long each frame will be visible, in ticks. Each tick is 1/20th of a second.","dialog.texture.frame_interpolate":"Interpolate","dialog.texture.frame_interpolate.desc":"Interpolate between animation frames by cross-fading to the next frame","dialog.texture.frame_order_type":"Loop Mode","dialog.texture.frame_order_type.loop":"Loop","dialog.texture.frame_order_type.backwards":"Loop Backwards","dialog.texture.frame_order_type.back_and_forth":"Back-and-Forth","dialog.texture.frame_order_type.custom":"Custom Order","dialog.texture.frame_order":"Frame Order","dialog.texture.frame_order.desc":"Set a custom frame order by listing frame indices in a new order. Frame indices start at 0 with the first frame.","dialog.select.mode":"Mode","dialog.select.mode.new":"New Selection","dialog.select.mode.add":"Add to Selected","dialog.select.mode.remove":"Remove from Selected","dialog.select.mode.in_selection":"Select only from Selected","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Predicates","dialog.predicate_overrides.variants":"Variants","dialog.predicate_overrides.start_value":"Start","dialog.predicate_overrides.add_override":"Add Override","dialog.predicate_overrides.add_predicate":"Add Predicate","dialog.predicate_overrides.generate_overrides":"Generate Overrides","dialog.predicate_overrides.confirm_delete":"Are you sure you want to delete all overrides?","dialog.predicate_overrides.predicate.angle":"Compass Angle","dialog.predicate_overrides.predicate.blocking":"Is Blocking","dialog.predicate_overrides.predicate.broken":"Is Broken","dialog.predicate_overrides.predicate.cast":"Is Cast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Damage","dialog.predicate_overrides.predicate.damaged":"Is Damaged","dialog.predicate_overrides.predicate.lefthanded":"Is Left-Handed","dialog.predicate_overrides.predicate.pull":"Pull Amount","dialog.predicate_overrides.predicate.pulling":"Is Pulling","dialog.predicate_overrides.predicate.charged":"Is Charged","dialog.predicate_overrides.predicate.firework":"Has Firework","dialog.predicate_overrides.predicate.throwing":"Ready to Throw","dialog.predicate_overrides.predicate.time":"Time of Day","dialog.predicate_overrides.predicate.custom_model_data":"Custom Model Data","dialog.predicate_overrides.predicate.level":"Light Level","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","settings.model_export_scale":"Model Export Scale","settings.model_export_scale.desc":"Factor by which the scale of exported glTF, DAE, and FBX models gets reduced. The default is 16, which converts 16 Blockbench units into 1 meter in the export.","action.export_fbx":"Export FBX Model","action.export_fbx.desc":"Export model and animations as fbx file to use it in other 3D applications and game engines","action.center_lateral":"Center Lateral","action.center_lateral.desc":"Center the selected elements on the X and Z axis","action.adjust_opacity":"Adjust Opacity...","action.adjust_opacity.desc":"Adjust the opacity of the selected texture","action.rotate_texture_cw":"Rotate Clockwise","action.rotate_texture_ccw":"Rotate Counter-clockwise","action.predicate_overrides":"Edit Predicate Overrides...","action.predicate_overrides.desc":"Select models to override this model based on selected conditions","action.auto_set_cullfaces":"Set Cullfaces Automatically","action.auto_set_cullfaces.desc":"Automatically generate cullfaces to hide faces when they are covered by the neighboring block.","menu.texture.edit_externally":"Edit Externally","menu.mirror_painting.texture":"2D Editor Symmetry","menu.mirror_painting.texture.desc":"Enable mirror painting in 2D space on the image or texture","menu.animator.rotation_global":"Rotate in Global Space","uv_editor.face_properties":"Face Properties","uv_editor.face_properties.material_instance":"Material Instance","uv_editor.tint.info":"Tint can be enabled on a face to tell Minecraft to tint it. In vanilla, tint can only be used by specific blocks such as leaves and redstone dust, and can only have a value of 0.","uv_editor.cullface.info":"Enabling cullface tells a face on a block to unrender if another full block is placed next to it in the specified direction in your Minecraft world. This can be used to optimize performance.","uv_editor.material_instance.info":"Material instances can be set to a user-defined name. That name can be used in the block JSON file in the behavior pack to assign a particular texture and material that the face.","display.reference.frame_invisible":"Item Frame (Invisible)","data.settings_profile":"Profile","message.display_skin.invalid_name":'Cannot find Minecraft account with the name "%0".',"dialog.load_plugins_from_query.title":"Load Plugins","dialog.load_plugins_from_query.text":"You used a link that requires plugins to be installed. Would you like to install them?","dialog.select_model.title":"Select Model","dialog.select_model.bones":"Bones","dialog.select_model.cubes":"Cubes","dialog.settings.create_profile":"Create Profile...","settings_profile.confirm_delete":"Are you sure you want to delete this settings profile?","settings_profile.condition.type.selectable":"Manually Selectable","settings.interface_mode":"UI Mode","settings.interface_mode.desc":"Interface mode","settings.interface_mode.auto":"Automatiskt","settings.interface_mode.desktop":"Skrivbord","settings.interface_mode.mobile":"Mobil","settings.paint_through_transparency":"Paint Through Transparency","settings.paint_through_transparency.desc":"Paint through transparent pixels when Lock Alpha Channel is enabled","action.tab_overview":"Tab Overview","action.tab_overview.desc":"View all open tabs in a grid and jump to one","action.slider_color_red":"Color Red","action.slider_color_green":"Color Green","action.slider_color_blue":"Color Blue","action.add_animation_controller":"Add Animation Controller","action.add_animation_controller.desc":"Create a blank animation controller","action.animation_controller_preview_mode":"Controller Preview","action.animation_controller_preview_mode.paused":"Paused","action.animation_controller_preview_mode.manual":"Manual Preview","action.animation_controller_preview_mode.play":"Auto Play","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"L\xE4nka B\xE9zierhandtag","action.keyframe_bezier_linked.desc":"Connect the right and left keyframe b\xE9zier handle","action.reset_keyframe_handles":"\xC5terst\xE4ll nyckelbildshandtag","action.reset_keyframe_handles.desc":"Reset the b\xE9zier handles of the selected keyframes","action.looped_animation_playback":"Looped Playback","action.looped_animation_playback.desc":"Preview animations in an infinite loop","timeline.bind_to_actor":"Bind to Actor","animation_controllers.select_preset":"Select a controller preset...","animation_controllers.state.animations":"Animations","animation_controllers.state.particles":"Particles","animation_controllers.state.sounds":"Sounds","animation_controllers.state.on_entry":"On Entry","animation_controllers.state.on_exit":"On Exit","animation_controllers.state.transitions":"Transitions","animation_controllers.state.condition":"Condition","animation_controllers.state.blend_transition":"Blend Time","animation_controllers.state.shortest_path":"Blend by Shortest Path","animation_controllers.state.edit_transition":"Edit Transition","menu.color_picker.picker_type":"Picker Type","menu.color_picker.picker_type.square":"Square","menu.color_picker.picker_type.wheel":"Wheel","menu.color_picker.slider_mode":"Slider Mode","menu.color_picker.slider_mode.hsv":"Hue, Saturation, Value","menu.color_picker.slider_mode.rgb":"Red, Green, Blue","menu.texture.render_mode.additive":"Additive","panel.color.picker_options":"Color Picker Options","panel.animation_controllers":"Animation Controller","display.preset.armor_stand":"Ground (Armor Stand)","data.file_path":"File Path","dialog.extrude.orientation":"Orientation","dialog.extrude.orientation.upright":"Upright","dialog.extrude.orientation.flat":"Flat","dialog.scale.box_uv_warning":"Scaling a Box UV model may break the UV of your model. Instead, try to scale your model externally, or switch to Per-face UV Mode in File > Project.","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Sequence","dialog.create_gif.pixelate":"Pixelate","dialog.create_gif.bg_image":"Background Image","dialog.create_gif.turn.desc":"Rotate the model while recording. Use negative values to turn the model clockwise. A value of 60 corresponds to one rotation every second.","settings_profile.condition":"Condition","settings_profile.condition.type.file_path.desc":"Use Regular Expression syntax to match the file path of the current project. Use forward slashes for directories","settings.only_selected_bezier_handles":"Show Only Selected B\xE9zier Handles","settings.only_selected_bezier_handles.desc":"Hide handles of b\xE9zier keyframes that are not currently selected","settings.embed_textures":"Embed Textures","settings.embed_textures.desc":"Embed texture file content in .bbmodel files","action.selection_mode.cluster":"Cluster","dialog.copied_to_clipboard":"Copied to clipboard","data.reference_image":"Reference Image","message.delete_reference_image":"Are you sure you want to delete this reference image? This cannot be undone.","message.add_reference_image.message":"Select where to load the reference image","message.add_reference_image.project":"Add to this project","message.add_reference_image.app":"Add to all projects","message.import_particle_texture.import":"Import Particle Texture","message.import_particle_texture.message":"Would you like to import a texture file to be used for your particle?","message.save_codec_selector.title":"Save Model Format","message.save_codec_selector.message":"Select a format to save the model in.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"Both","message.display_skin.username":"Username (Java)","message.palette_locked":"The palette is locked","dialog.project.default_uv_mode":"Default UV Mode","dialog.project.default_uv_mode.description":"Default UV Mode of the project. The UV mode can also be changed per cube.","dialog.export_options.title":"Export Options","dialog.edit_texture.preview":"Preview","dialog.proportional_editing.range":"Range","dialog.proportional_editing.falloff":"Falloff","dialog.proportional_editing.falloff.linear":"Linear","dialog.proportional_editing.falloff.hermite_spline":"Smooth","dialog.proportional_editing.falloff.constant":"Constant","dialog.proportional_editing.selection":"Selection","dialog.proportional_editing.selection.linear":"Linear Distance","dialog.proportional_editing.selection.connections":"Connections","dialog.mirror_painting_texture_center.middle":"Middle","dialog.mirror_painting_texture_center.custom":"Custom","dialog.settings.reset_to_default":"Reset to Default","keybindings.item.num_slider.increase":"Increase","keybindings.item.num_slider.decrease":"Decrease","settings.always_show_splash_art":"Always Show Splash Art","settings.always_show_splash_art.desc":"Always display the splash art on the start screen","action.slider_palette_color":"Switch Palette Color","action.slider_palette_color.desc":"Cycle between the colors in the palette","action.proportional_editing":"Proportional Editing","action.proportional_editing.desc":"Proportionally affect surrounding vertices when editing parts of a mesh","action.limit_to_palette":"Limit to Palette","action.limit_to_palette.desc":"Limits the colors of the texture to those in the currently loaded palette","action.edit_reference_images":"Edit Reference Images","action.edit_reference_images.desc":"Turn on reference image mode to add or edit reference images and blueprints","action.add_reference_image":"Add Reference Image","action.reference_image_from_clipboard":"Reference Image from Clipboard","action.reference_image_list":"Reference Images","action.connect_uv_faces":"Connect UV Faces","action.connect_uv_faces.desc":"Connect the selected UV faces to the last selected UV face","action.merge_uv_vertices":"Samanfoga UV-noder","action.merge_uv_vertices.desc":"Snap the first selected UV vertices to the last selected UV vertices","action.bedrock_animation_mode":"Bedrock Animation Mode","action.bedrock_animation_mode.desc":"Select the mode to edit animations for Minecraft: Bedrock Edition in","action.bedrock_animation_mode.entity":"Entitet","action.bedrock_animation_mode.attachable_first":"Item 1st Person","action.bedrock_animation_mode.attachable_third":"Item 3rd Person","timeline.amplify":"Amplify","menu.options":"Options...","menu.palette.lock_palette":"Lock Palette","menu.uv.export":"Export UV Mapping","menu.uv.flip_x":"Mirror X","menu.uv.flip_y":"Mirror Y","menu.mirror_painting.enabled":"Enabled","reference_image.position":"Position","reference_image.size":"Size","reference_image.rotation":"Rotation","reference_image.opacity":"Opacity","reference_image.visibility":"Visibility","reference_image.clear_mode":"Clear Mode","reference_image.layer":"Layer","reference_image.layer.background":"Behind Model","reference_image.layer.viewport":"Above Model","reference_image.layer.float":"Above Interface","reference_image.scope":"Scope","reference_image.scope.project":"Just this project","reference_image.scope.global":"All projects","reference_image.enabled_modes":"Enabled in Modes","codec.common.encoding":"Encoding","codec.common.armature":"Export Groups as Armature","codec.common.export_animations":"Export Animations","codec.common.embed_textures":"Embed Textures","preview.center_camera":"Center Camera","display.reference.frame_top":"Item Frame Top","display.reference.frame_top_invisible":"Item Frame Top (Invisible)","action.proportional_editing_range":"Proportional Editing Range","action.proportional_editing_range.desc":"Adjust the range for proportional editing","action.toggle_all_reference_images":"Hide/Show All Reference Images","action.toggle_all_reference_images.desc":"Toggle the visibility of all reference images at once","action.add_animation_controller_state":"Add Animation Controller State","action.add_animation_controller_state.desc":"Add a new state to the animation controller","menu.slider.round_value":"Round Value","texture.error.too_large":"Resolution exceeds the maximum of %0","dialog.copy_to_clipboard":"Copy to clipboard","dialog.open_url":"Open URL","reference_image.image":"Image","uv_editor.rotate_uv":"Rotate UV","generic.error":"Error","projects.start_screen":"Start Screen","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.plugin_dependencies.title":"Plugin Dependencies","message.plugin_dependencies.message1":"The plugin requires these dependencies:","message.plugin_dependencies.message1_update":"The plugin %0 has been updated and now requires these dependencies:","message.plugin_dependencies.message2":"Do you want to install them to continue?","message.plugin_dependencies.invalid":"Unfortunately the plugin cannot be installed, it has an invalid dependency:","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","dialog.convert_project.text1":"Convert the project into a different format.","dialog.convert_project.text2":"Use conversion at your own risk. Formats have different features and restrictions, so converting will in some cases break parts of your project.","dialog.convert_project.text3":"You cannot undo converting, that is why by default a copy will be created.","dialog.unsaved_work.title":"Unsaved Work","dialog.unsaved_work.text":"The following projects contain unsaved changes. Do you want to save your changes?","dialog.unsaved_work.discard_all":"Discard All","dialog.unsaved_work.save_all":"Save All","dialog.resize_texture.mode":"Mode","dialog.resize_texture.mode.crop":"Crop/Expand","dialog.resize_texture.mode.scale":"Scale","dialog.plugins.is_installed":"Installed","dialog.plugins.is_disabled":"Disabled","dialog.plugins.disable":"Disable","dialog.plugins.enable":"Enable","dialog.plugins.dependencies":"Depends on:","dialog.view_backups.open_folder":"Open Folder","dialog.share_model.reference_images":"Include Reference Images","dialog.share_model.too_large":"Failed to upload: Model is too large","dialog.share_model.too_large_references":"Failed to upload: Model is too large. Try without reference images.","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"Stretch","action.slider_stretch.desc":"Stretches cubes multiplicatively on the %0 axis without changing the UV","action.view_backups":"View Backups","action.view_backups.desc":"Browse the list of auto-saved project backups","action.search_outliner":"Search Outliner","action.search_outliner.desc":"Search for specific element names in the outliner","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"Enable Mirror Modeling on the X axis. All changes you make in the viewport will be reflected to the other side, unless specifically disabled on the element.","action.allow_element_mirror_modeling":"Allow Mirror Modeling","action.allow_element_mirror_modeling.desc":"Choose whether the selected elements can be affected by mirror modeling","action.switch_face_crease":"Switch Face Crease","action.switch_face_crease.desc":"Switch in which direction the quad folds in the middle","action.clear_unused_texture_space":"Clear Unused Texture Space","action.clear_unused_texture_space.desc":"Clear parts of the texture that are not UV-mapped to any elements","action.split_screen":"Split Screen","action.split_screen.desc":"Select a viewport split screen mode","action.split_screen.single":"Single","action.split_screen.double_horizontal":"Double Horizontal","action.split_screen.double_vertical":"Double Vertical","action.split_screen.quad":"Quad","action.split_screen.triple_left":"Triple Left","action.split_screen.triple_right":"Triple Right","action.split_screen.triple_top":"Triple Top","action.split_screen.triple_bottom":"Triple Bottom","action.uv_project_from_view":"UV Project from View","action.uv_project_from_view.desc":"Automatically generate UVs for the selected faces from the perspective of the 3D view","action.graph_editor_other_graphs":"Display Other Graphs","action.graph_editor_other_graphs.desc":"Whether the graphs of the axes that are not selected are displayed","action.graph_editor_include_other_graphs":"Include Other Graphs","action.graph_editor_include_other_graphs.desc":"Whether the graph editor includes the graphs that are not selected in the view","action.set_ik_source":"Set IK Root","action.set_ik_source.desc":"Select the root bone of the chain that should be moved by this null object via Inverse Kinematics","edit.loop_cut.cuts":"Cuts","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"Plains","preview_scene.minecraft_cherry_grove":"Cherry Grove","preview_scene.minecraft_snowy_tundra":"Snowy Tundra","preview_scene.minecraft_sunset":"Sunset","preview_scene.minecraft_night":"Night","preview_scene.minecraft_desert":"Desert","preview_scene.minecraft_underwater":"Underwater","preview_scene.minecraft_coral_reef":"Coral Reef","preview_scene.minecraft_lush_cave":"Lush Cave","preview_scene.minecraft_deep_dark":"Deep Dark","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"Transparency Render Order","action.element_render_order.default":"Auto","action.element_render_order.behind":"Behind","action.element_render_order.in_front":"In Front","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"Layer","data.panel":"Panel","generic.confirm_delete":"Are you sure you want to delete this?","format_category.general":"General","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV Size","dialog.advanced_screenshot.angle_preset":"Angle Preset","dialog.advanced_screenshot.resolution":"Resolution","dialog.advanced_screenshot.zoom_to_fit":"Zoom To Fit","dialog.advanced_screenshot.zoom":"Zoom / Focal Length","dialog.advanced_screenshot.anti_aliasing":"Anti-aliasing","dialog.advanced_screenshot.anti_aliasing.off":"Off","dialog.advanced_screenshot.anti_aliasing.msaa":"Multisampling","dialog.advanced_screenshot.anti_aliasing.ssaa":"Supersampling","dialog.advanced_screenshot.show_gizmos":"Show Edit Gizmos","dialog.advanced_screenshot.shading":"Shading","settings.auto_keyframe":"Auto nyckelbild","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"Layers","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"Selection Operation Mode","action.selection_tool_operation_mode.create":"New Selection","action.selection_tool_operation_mode.add":"Add to Selection","action.selection_tool_operation_mode.subtract":"Subtract from Selection","action.selection_tool_operation_mode.intersect":"Intersect","action.pixel_perfect_drawing":"Pixel Perfect Drawing","action.pixel_perfect_drawing.desc":"Draw smooth pixel-art lines without double pixels at curves","action.selection_tool":"Selection Tool","action.selection_tool.desc":"Select parts of the image","action.selection_tool.rectangle":"Rectangle","action.selection_tool.ellipse":"Ellipse","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"Magic Wand","action.selection_tool.color":"Same Color","action.move_layer_tool":"Move Layer","action.move_layer_tool.desc":"Move the current layer or selection","action.export_modded_animations":"Export Modded Entity Animations","action.export_modded_animations.desc":"Export animations for a Minecraft Java Edition modded entity model","action.swap_colors":"Swap Colors","action.swap_colors.desc":"Swap the main color with the secondary color","action.apply_mesh_rotation":"Apply Rotation","action.apply_mesh_rotation.desc":"Reset the element rotation of the mesh, and apply it to the geometry instead","action.flip_texture_x.desc":"Flip the texture or layer horizontally","action.flip_texture_y.desc":"Flip the texture or layer vertically","action.rotate_texture_cw.desc":"Rotate the texture or layer clockwise","action.rotate_texture_ccw.desc":"Rotate the texture or layer counter-clockwise","action.crop_texture_to_selection":"Crop Texture to Selection","action.create_empty_layer":"Create Empty Layer","action.enable_texture_layers":"Enable Layers","action.disable_texture_layers":"Disable Layers","action.layer_opacity":"Layer Opacity","action.layer_to_texture_size":"Expand Layer to Texture Size","action.layer_to_texture_size.desc":"Expand the layer to the size of the texture","action.merge_layer_down":"Sammanfoga ner","action.merge_layer_down.desc":"Merge into the layer below","action.advanced_screenshot":"Advanced Screenshot...","action.advanced_screenshot.desc":"Take a screenshot of the model with advanced options","action.bake_ik_animation":"Bake Inverse Kinematics","action.bake_ik_animation.desc":"Bake the rotations applied by inverse kinematics into the selected animation","action.save_animation_preset":"Save Animation Preset...","action.save_animation_preset.desc":"Save the selected keyframes as an animation preset","action.animation_onion_skin":"Animation Onion Skin","action.animation_onion_skin.desc":"Visa en wireframe-vy av en annan bild i animationen som referens","action.apply_animation_preset":"Apply Animation Preset","action.apply_animation_preset.desc":"Select from a list of animation presets and apply it to the selected bone","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"Insert a newline character at the end of exported files","action.crop_layer_to_selection":"Crop Layer to Selection","action.edit_mode_uv_overlay.desc":"Display the UV map overlay for all elements in edit mode","menu.image":"Image","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"Images","dialog.advanced":"Advanced","dialog.recommended_option":"recommended","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":"Copy Animation","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"Auto Fix","message.auto_fix_mesh_edit.revert":"\xC5terst\xE4ll redigering","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"One or more quad faces are now concave, which can cause issues in UV-mapping and rendering. Blockbench can automatically fix it for you:","message.auto_fix_mesh_edit.merge_vertices":"Sammanfoga noder","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"Add Image","dialog.project.modded_entity_entity_class":"Entitetklass","dialog.resize_texture.offset":"Offset","dialog.animated_texture_editor.code_reference":"Code Reference","dialog.animated_texture_editor.code_reference.about":"This code to implement the texture animation was generated as a reference and does not necessarily work without modification. Check out the documentation to learn more.","dialog.animated_texture_editor.code_reference.docs":"Documentation","dialog.animated_texture_editor.reframe":"Reframe","dialog.animated_texture_editor.stride":"Frame Size","dialog.animated_texture_editor.frames":"Number of Frames","dialog.animated_texture_editor.add_frame":"Add Frame","dialog.animated_texture_editor.resize_frames":"Resize Frames...","dialog.animated_texture_editor.apply":"Till\xE4mpa","dialog.add_primitive.edge_size":"Edge Size","dialog.change_animation_speed.speed":"Speed","dialog.change_animation_speed.adjust_snapping":"Adjust Snapping","dialog.optimize_animation.selection":"Selection","dialog.optimize_animation.selection.selected_keyframes":"Valda nyckelbilder","dialog.optimize_animation.selection.selected_animation":"Selected Animation","dialog.optimize_animation.selection.all_animations":"All Animations","dialog.optimize_animation.thresholds":"Threshold values","dialog.import_obj.obj":"OBJ File","dialog.import_obj.mtl":"MTL File","dialog.import_obj.scale":"Scale","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"Color Select Threshold","action.slider_color_select_threshold.desc":"How close the color of a neighboring pixel has to be to get selected by color or wand select","action.stretch_tool":"Stretch","action.stretch_tool.desc":"Tool to select and stretch elements","action.knife_tool":"Knife Tool","action.knife_tool.desc":"Tool to cut mesh faces into smaller pieces","action.duplicate_project":"Duplicate Project","action.duplicate_project.desc":"Creates a copy of the open project","action.transform_space.parent":"Parent","action.transform_pivot_space":"Pivot Transform Space","action.solidify_mesh_selection":"Solidify Faces","action.solidify_mesh_selection.desc":"Solidify the selected faces of the mesh","action.animated_texture_editor":"Flipbook Editor...","action.animated_texture_editor.desc":"Edit the flipbook animation of the selected texture","action.center_individual_pivots":"Center Individual Pivots","action.center_individual_pivots.desc":"Set the pivot point of each selected element to its center","action.uv_cycle":"Cycle UV","action.uv_cycle.desc":"Cycle through the order of UV vertices without changing the UV positions","action.uv_cycle_invert":"Cycle Invert UV","action.uv_cycle_invert.desc":"Reverse the order of UV vertices without changing the UV positions","action.slider_animation_controller_speed":"Controller Playback Speed","action.slider_animation_controller_speed.desc":"The playback speed of animation controllers in percent","action.optimize_animation":"Optimize Animation","action.optimize_animation.desc":"Optimize the current animation and reduce the keyframe count","action.change_animation_speed":"Change Animation Speed...","action.change_animation_speed.desc":"Change the speed of the selected animation","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"Default","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"Set as Default","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"Tjocklek","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"Beveled Cuboid","dialog.ignore_all":"Ignore All","data.texture_group":"Texture Group","data.animation":"Animation","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D Printing","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"Amount","dialog.expand_texture_selection.corner":"Corner Shape","dialog.expand_texture_selection.corner.round":"Round","dialog.expand_texture_selection.corner.square":"Square","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"Sammanfoga in i","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"Selection","action.fill_mode.selected_elements":"Selected Elements","action.image_tiled_view":"Tiled View","action.image_tiled_view.description":"Enable the tiled view in the 2D editor","action.image_onion_skin_view":"Image Editor Onion Skin","action.image_onion_skin_view.description":"Enable the onion skin view in the 2D editor","action.expand_texture_selection":"Expand Texture Selection","action.expand_texture_selection.desc":"Expand or shrink the texture selection","action.switch_tabs.reverse_order":"Reverse order","action.save_project_incremental":"Save Project With Increment","action.save_project_incremental.desc":"Saves the current model as a project file with an increment (ex: project_2.bbmodel)","action.copy.multiple":"Copy All","action.copy.multiple.desc":"Copy all available data individually","action.paste.multiple":"Paste All","action.randomize_marker_colors":"Randomize Marker Colors","action.cube_light_emission":"Light Emission","action.cube_light_emission.desc":"Change the emissiveness of the selected cubes, as a value between 0 and 15","action.view_mode.colored_solid":"Solid with Marker Colors","action.focus_on_selection.rotate_only":"Rotate only","action.create_texture_group":"Create Texture Group","action.create_texture_group.desc":"Create a group for your textures","action.uv_maximize.all_faces":"Affect all faces","action.retarget_animators":"Retarget Animations","action.retarget_animators.desc":"Select which animator targets which bone or element","action.merge_animation":"Sammanfoga animation","action.merge_animation.desc":"Sammanfoga animationen in i en annan animation","action.add_keyframe.reset_values":"With default values","action.set_timeline_range_start":"Set Timeline Range Start","action.set_timeline_range_start.desc":"Set the start point for a custom playback range in the animation timeline","action.set_timeline_range_end":"Set Timeline Range End","action.set_timeline_range_end.desc":"Set the end point for a custom playback range in the animation timeline","action.disable_timeline_range":"Disable Timeline Range","action.disable_timeline_range.desc":"Disable the custom playback range in the animation timeline","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"Rotation Pivot","display.scale_pivot":"Scale Pivot","display.reference.fox":"Fox","display.reference.eating":"Eating","preview_scene.sky":"Sky","preview_scene.space":"Space","preview_scene.minecraft_ocean":"Ocean","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"Ease-in-out (%0)","dialog.blend_transition_edit.generate":"Generate...","dialog.blend_transition_edit.generate.learn_more":"More info and preview","dialog.blend_transition_edit.generate.curve":"Easing Type","dialog.blend_transition_edit.generate.steps":"Nyckelbilder","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"Limit how many frames per second Blockbench renders. The actual frame rate is limited to what your device can display.","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"Blend Transition Curve","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"Extended Graph","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotera","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Riktning","edit.extrude_mesh_selection.direction.outwards":"Ut\xE5t","edit.extrude_mesh_selection.direction.average":"Genomsnitt","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Rikta","edit.vertex_snap.align.longest":"L\xE4ngsta axeln","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 axeln","edit.vertex_snap.ignore_axis":"Ignorera axeln","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Polygonn\xE4t","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Polygonn\xE4t","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"S\xE4tt nodvikter","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Ber\xE4kna nodvikter","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Nodvikt","action.view_mode.weighted_bone_colors":"F\xE4rger p\xE5 nodben","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Skuggning","mesh.shading.flat":"Platt","mesh.shading.smooth":"J\xE4mn","spline_mesh.cyclic":"Cyklisk","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Vikt","dialog.set_vertex_weights.overwrite":"Skriv \xF6ver andra ben","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var jL={"dialog.ok":"\u0E15\u0E01\u0E25\u0E07","dialog.cancel":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01","dialog.confirm":"\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19","dialog.close":"\u0E1B\u0E34\u0E14","dialog.import":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","dialog.save":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","dialog.discard":"\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07","dialog.dontshowagain":"\u0E44\u0E21\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E35\u0E01","data.cube":"\u0E04\u0E34\u0E27\u0E1A\u0E4C","data.group":"\u0E01\u0E25\u0E38\u0E48\u0E21","data.texture":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","data.plugin":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","data.preview":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","data.toolbar":"\u0E41\u0E16\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","data.image":"\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"Space","keys.leftclick":"\u0E04\u0E25\u0E34\u0E01\u0E0B\u0E49\u0E32\u0E22","keys.middleclick":"\u0E04\u0E25\u0E34\u0E01\u0E01\u0E25\u0E32\u0E07","keys.rightclick":"\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"\u0E40\u0E21\u0E19\u0E39\u0E1A\u0E23\u0E34\u0E1A\u0E17","keys.left":"\u0E0B\u0E49\u0E32\u0E22","keys.up":"\u0E02\u0E36\u0E49\u0E19","keys.right":"\u0E02\u0E27\u0E32","keys.down":"\u0E25\u0E07","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"\u0E1A\u0E27\u0E01","keys.comma":"\u0E08\u0E38\u0E25\u0E20\u0E32\u0E04","keys.point":"\u0E08\u0E38\u0E14","keys.minus":"\u0E25\u0E1A","keys.cross":"\u0E01\u0E32\u0E01\u0E1A\u0E32\u0E17","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","message.rotation_limit.message":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E16\u0E39\u0E01\u0E08\u0E33\u0E01\u0E31\u0E14\u0E42\u0E14\u0E22 Minecraft \u0E43\u0E2B\u0E49\u0E2B\u0E21\u0E38\u0E19\u0E44\u0E14\u0E49\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E41\u0E01\u0E19 \u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E1A\u0E19\u0E41\u0E01\u0E19\u0E2D\u0E37\u0E48\u0E19\u0E08\u0E30\u0E25\u0E49\u0E32\u0E07\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E1A\u0E19\u0E41\u0E01\u0E19\u0E17\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E37\u0E2D \u0E41\u0E1B\u0E25\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1B\u0E47\u0E19 '\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B' \u0E2B\u0E32\u0E01\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E27\u0E31\u0E15\u0E16\u0E38\u0E1B\u0E23\u0E30\u0E2A\u0E07\u0E04\u0E4C\u0E2D\u0E37\u0E48\u0E19\u0E41\u0E25\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E34\u0E2A\u0E23\u0E30","message.file_not_found.title":"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E44\u0E1F\u0E25\u0E4C","message.file_not_found.message":"Blockbench \u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E23\u0E49\u0E2D\u0E07\u0E02\u0E2D \u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E43\u0E2B\u0E49\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E16\u0E39\u0E01\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E44\u0E27\u0E49\u0E43\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\u0E43\u0E19\u0E04\u0E25\u0E32\u0E27\u0E14\u0E4C","message.screenshot.title":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","message.screenshot.clipboard":"\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","message.screenshot.right_click":"\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E14\u0E04\u0E49\u0E32\u0E07\u0E17\u0E35\u0E48\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","message.invalid_file.title":"\u0E44\u0E1F\u0E25\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_file.message":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E1F\u0E25\u0E4C json: %0","message.invalid_model.title":"\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_model.message":"\u0E44\u0E1F\u0E25\u0E4C\u0E19\u0E35\u0E49\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.child_model_only.title":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E39\u0E01\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32","message.child_model_only.message":"\u0E44\u0E1F\u0E25\u0E4C\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E25\u0E39\u0E01\u0E02\u0E2D\u0E07 %0 \u0E41\u0E25\u0E30\u0E44\u0E21\u0E48\u0E21\u0E35\u0E42\u0E21\u0E40\u0E14\u0E25","message.unsaved_textures.title":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","message.unsaved_textures.message":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 \u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E43\u0E2B\u0E49\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E41\u0E25\u0E49\u0E27\u0E41\u0E25\u0E30\u0E27\u0E32\u0E07\u0E43\u0E19\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23","message.model_clipping.title":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E2B\u0E0D\u0E48\u0E40\u0E01\u0E34\u0E19\u0E44\u0E1B","message.model_clipping.message":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E21\u0E35 %0 \u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E0D\u0E48\u0E01\u0E27\u0E48\u0E32\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E17\u0E35\u0E48 Minecraft \u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15 \u0E42\u0E21\u0E40\u0E14\u0E25\u0E19\u0E35\u0E49\u0E08\u0E30\u0E44\u0E21\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19\u0E43\u0E19 Minecraft","message.loose_texture.title":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","message.loose_texture.message":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23 Minecraft \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E43\u0E19\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C textures \u0E02\u0E2D\u0E07\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23\u0E17\u0E35\u0E48\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E49\u0E27\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","message.loose_texture.change":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07","message.update_res.title":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","message.update_res.message":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E43\u0E2B\u0E49\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48? \u0E04\u0E25\u0E34\u0E01 '\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01' \u0E2B\u0E32\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E2A\u0E39\u0E07\u0E01\u0E27\u0E48\u0E32\u0E1B\u0E01\u0E15\u0E34","message.update_res.update":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15","message.bedrock_overwrite_error.message":"Blockbench \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E27\u0E21\u0E42\u0E21\u0E40\u0E14\u0E25\u0E19\u0E35\u0E49\u0E01\u0E31\u0E1A\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E01\u0E48\u0E32\u0E44\u0E14\u0E49","message.bedrock_overwrite_error.backup_overwrite":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E41\u0E25\u0E30\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A","message.bedrock_overwrite_error.overwrite":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A","message.close_warning.message":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.close_warning.web":"\u0E07\u0E32\u0E19\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E08\u0E30\u0E2A\u0E39\u0E0D\u0E2B\u0E32\u0E22 \u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2D\u0E2D\u0E01?","message.default_textures.title":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","message.default_textures.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C 'textures' \u0E02\u0E2D\u0E07\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","message.default_textures.detail":"\u0E41\u0E15\u0E01\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C Minecraft jar \u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14 \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C 'textures' \u0E41\u0E25\u0E30\u0E40\u0E1B\u0E34\u0E14\u0E21\u0E31\u0E19 Blockbench \u0E08\u0E30\u0E08\u0E33\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E19\u0E31\u0E49\u0E19\u0E41\u0E25\u0E30\u0E1E\u0E22\u0E32\u0E22\u0E32\u0E21\u0E14\u0E36\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E19\u0E31\u0E48\u0E19\u0E2B\u0E32\u0E01\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E43\u0E19\u0E41\u0E1E\u0E47\u0E04\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","message.default_textures.select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C 'textures' \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","message.image_editor.title":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","message.image_editor.file":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C...","message.image_editor.exe":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","message.display_skin.title":"\u0E2A\u0E01\u0E34\u0E19 Minecraft","message.display_skin.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E2A\u0E01\u0E34\u0E19\u0E08\u0E32\u0E01\u0E04\u0E2D\u0E21\u0E1E\u0E34\u0E27\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E49\u0E2D\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E1C\u0E39\u0E49\u0E40\u0E25\u0E48\u0E19","message.display_skin.upload":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C","message.display_skin.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","message.invalid_plugin":"\u0E44\u0E1F\u0E25\u0E4C\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07 \u0E14\u0E39\u0E04\u0E2D\u0E19\u0E42\u0E0B\u0E25","message.load_plugin_app":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E1E\u0E35\u0E0B\u0E35\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48? \u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E1C\u0E39\u0E49\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E16\u0E37\u0E2D\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","message.load_plugin_web":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48? \u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E1C\u0E39\u0E49\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E16\u0E37\u0E2D\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","message.preset_no_info":"\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E0A\u0E48\u0E2D\u0E07\u0E19\u0E35\u0E49","message.restart_to_update":"\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17 Blockbench \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07","message.save_file":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E1B\u0E47\u0E19 %0","dialog.project.title":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","dialog.project.name":"\u0E0A\u0E37\u0E48\u0E2D","dialog.project.parent":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E21\u0E48","dialog.project.geoname":"\u0E15\u0E31\u0E27\u0E23\u0E30\u0E1A\u0E38\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.project.ao":"\u0E41\u0E2D\u0E21\u0E40\u0E1A\u0E35\u0E22\u0E19\u0E17\u0E4C\u0E2D\u0E2D\u0E01\u0E04\u0E25\u0E39\u0E0A\u0E31\u0E19","dialog.texture.title":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.texture.variable":"\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23","dialog.texture.namespace":"\u0E40\u0E19\u0E21\u0E2A\u0E40\u0E1B\u0E0B","dialog.texture.folder":"\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C","dialog.extrude.title":"\u0E40\u0E2D\u0E47\u0E01\u0E0B\u0E4C\u0E17\u0E23\u0E39\u0E14\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","dialog.extrude.mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E41\u0E01\u0E19","dialog.extrude.mode.areas":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48","dialog.extrude.mode.lines":"\u0E40\u0E2A\u0E49\u0E19","dialog.extrude.mode.columns":"\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C","dialog.extrude.mode.pixels":"\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","dialog.extrude.opacity":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E15\u0E48\u0E33\u0E2A\u0E38\u0E14","dialog.extrude.scan":"\u0E2A\u0E41\u0E01\u0E19\u0E41\u0E25\u0E30\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","dialog.display_preset.title":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","dialog.display_preset.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","dialog.display_preset.create":"\u0E2A\u0E23\u0E49\u0E32\u0E07","dialog.select.title":"\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.select.group":"\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.select.name":"\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E35","dialog.select.random":"\u0E42\u0E2D\u0E01\u0E32\u0E2A\u0E2A\u0E38\u0E48\u0E21 (%)","dialog.select.select":"\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.scale.title":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.scale.axis":"\u0E41\u0E01\u0E19","dialog.scale.clipping":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E04\u0E25\u0E34\u0E1B: \u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E43\u0E2B\u0E0D\u0E48\u0E40\u0E01\u0E34\u0E19\u0E41\u0E04\u0E19\u0E27\u0E32\u0E2A","dialog.scale.confirm":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14","dialog.plugins.title":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","dialog.plugins.installed":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E25\u0E49\u0E27","dialog.plugins.available":"\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","dialog.plugins.install":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07","dialog.plugins.uninstall":"\u0E16\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07","dialog.plugins.reload":"\u0E42\u0E2B\u0E25\u0E14\u0E43\u0E2B\u0E21\u0E48","dialog.plugins.none_installed":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07","dialog.plugins.none_available":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","dialog.plugins.web_only":"\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E27\u0E47\u0E1A\u0E41\u0E2D\u0E1B\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","dialog.plugins.app_only":"\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E2D\u0E1B\u0E40\u0E14\u0E2A\u0E01\u0E4C\u0E17\u0E47\u0E2D\u0E1B\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","dialog.plugins.author":"\u0E42\u0E14\u0E22 %0","dialog.create_texture.folder":"\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C","dialog.create_texture.resolution":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14","dialog.input.title":"\u0E1B\u0E49\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","dialog.settings.settings":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","dialog.settings.keybinds":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","dialog.settings.about":"\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A","layout.color.back":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","layout.color.back.desc":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E41\u0E25\u0E30\u0E0A\u0E48\u0E2D\u0E07\u0E1B\u0E49\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","layout.color.dark":"\u0E21\u0E37\u0E14","layout.color.dark.desc":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E41\u0E04\u0E19\u0E27\u0E32\u0E2A","layout.color.ui":"UI","layout.color.ui.desc":"\u0E2A\u0E35\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E0B\u0E2B\u0E25\u0E31\u0E01","layout.color.bright_ui":"UI \u0E2A\u0E27\u0E48\u0E32\u0E07","layout.color.bright_ui.desc":"\u0E40\u0E21\u0E19\u0E39\u0E1A\u0E23\u0E34\u0E1A\u0E17\u0E41\u0E25\u0E30\u0E17\u0E39\u0E25\u0E17\u0E34\u0E1B","layout.color.button":"\u0E1B\u0E38\u0E48\u0E21","layout.color.button.desc":"\u0E1B\u0E38\u0E48\u0E21\u0E41\u0E25\u0E30\u0E2A\u0E27\u0E34\u0E15\u0E0A\u0E4C","layout.color.selected":"\u0E16\u0E39\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01","layout.color.selected.desc":"\u0E41\u0E17\u0E47\u0E1A\u0E41\u0E25\u0E30\u0E27\u0E31\u0E15\u0E16\u0E38\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01","layout.color.border":"\u0E02\u0E2D\u0E1A","layout.color.border.desc":"\u0E02\u0E2D\u0E1A\u0E02\u0E2D\u0E07\u0E1B\u0E38\u0E48\u0E21\u0E41\u0E25\u0E30\u0E0A\u0E48\u0E2D\u0E07\u0E1B\u0E49\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","layout.color.accent":"\u0E2A\u0E35\u0E40\u0E19\u0E49\u0E19","layout.color.accent.desc":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E2D\u0E37\u0E48\u0E19\u0E46","layout.color.grid":"\u0E01\u0E23\u0E34\u0E14","layout.color.grid.desc":"\u0E01\u0E23\u0E34\u0E14\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07 3D","layout.color.text":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21","layout.color.text.desc":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E01\u0E15\u0E34","layout.color.light":"\u0E2A\u0E27\u0E48\u0E32\u0E07","layout.color.light.desc":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E17\u0E35\u0E48\u0E44\u0E2E\u0E44\u0E25\u0E15\u0E4C","layout.color.accent_text":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E35\u0E40\u0E19\u0E49\u0E19","layout.color.accent_text.desc":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1A\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E2A\u0E35\u0E40\u0E19\u0E49\u0E19","layout.font.main":"\u0E1F\u0E2D\u0E19\u0E15\u0E4C\u0E2B\u0E25\u0E31\u0E01","layout.font.headline":"\u0E1F\u0E2D\u0E19\u0E15\u0E4C\u0E2B\u0E31\u0E27\u0E02\u0E49\u0E2D","about.version":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19:","settings.category.general":"\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B","settings.category.preview":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","settings.category.grid":"\u0E15\u0E32\u0E23\u0E32\u0E07","settings.category.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02","settings.category.snapping":"\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","settings.category.defaults":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.category.dialogs":"\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E42\u0E15\u0E49\u0E15\u0E2D\u0E1A","settings.category.export":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","settings.language":"\u0E20\u0E32\u0E29\u0E32","settings.language.desc":"\u0E20\u0E32\u0E29\u0E32\u0E02\u0E2D\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E34\u0E14\u0E15\u0E48\u0E2D","settings.backup_interval":"\u0E0A\u0E48\u0E27\u0E07\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","settings.backup_interval.desc":"\u0E0A\u0E48\u0E27\u0E07\u0E02\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E40\u0E1B\u0E47\u0E19\u0E19\u0E32\u0E17\u0E35","settings.origin_size":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","settings.origin_size.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","settings.control_size":"\u0E02\u0E19\u0E32\u0E14\u0E01\u0E34\u0E0B\u0E42\u0E21\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19","settings.control_size.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E0B\u0E42\u0E21\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19","settings.display_skin":"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E01\u0E34\u0E19","settings.display_skin.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E01\u0E34\u0E19\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","settings.shading":"\u0E41\u0E23\u0E40\u0E07\u0E32","settings.shading.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","settings.base_grid":"\u0E01\u0E23\u0E34\u0E14\u0E40\u0E25\u0E47\u0E01","settings.base_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14\u0E40\u0E25\u0E47\u0E01\u0E41\u0E25\u0E30\u0E41\u0E01\u0E19","settings.large_grid":"\u0E01\u0E23\u0E34\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01","settings.large_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14\u0E02\u0E19\u0E32\u0E14 16x16 \u0E1A\u0E25\u0E47\u0E2D\u0E01","settings.full_grid":"\u0E01\u0E23\u0E34\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E41\u0E21\u0E48\u0E19\u0E22\u0E33","settings.full_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E41\u0E21\u0E48\u0E19\u0E22\u0E33\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","settings.large_box":"\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14","settings.large_box.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14","settings.display_grid":"\u0E01\u0E23\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","settings.display_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","settings.undo_limit":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E01\u0E32\u0E23\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33","settings.undo_limit.desc":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07\u0E02\u0E31\u0E49\u0E19\u0E15\u0E2D\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E44\u0E14\u0E49","settings.local_move":"\u0E22\u0E49\u0E32\u0E22\u0E1A\u0E19\u0E41\u0E01\u0E19\u0E2A\u0E31\u0E21\u0E1E\u0E31\u0E17\u0E18\u0E4C","settings.local_move.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2B\u0E21\u0E38\u0E19\u0E1A\u0E19\u0E41\u0E01\u0E19\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E40\u0E2D\u0E07\u0E16\u0E49\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1B\u0E44\u0E14\u0E49","settings.canvas_unselect":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","settings.canvas_unselect.desc":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E1A\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2B\u0E23\u0E37\u0E2D\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","settings.paint_side_restrict":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E15\u0E32\u0E21\u0E14\u0E49\u0E32\u0E19","settings.paint_side_restrict.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E43\u0E2B\u0E49\u0E27\u0E32\u0E14\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E14\u0E49\u0E32\u0E19\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","settings.autouv":"UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.autouv.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E42\u0E14\u0E22\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.create_rename":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E2B\u0E21\u0E48","settings.create_rename.desc":"\u0E42\u0E1F\u0E01\u0E31\u0E2A\u0E0A\u0E48\u0E2D\u0E07\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E21\u0E48","settings.edit_size":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E01\u0E23\u0E34\u0E14","settings.edit_size.desc":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E17\u0E35\u0E48\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","settings.shift_size":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14 Shift","settings.shift_size.desc":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E02\u0E13\u0E30\u0E01\u0E14 Shift","settings.ctrl_size":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14 Control","settings.ctrl_size.desc":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E02\u0E13\u0E30\u0E01\u0E14 Control","settings.negative_size":"\u0E02\u0E19\u0E32\u0E14\u0E25\u0E1A","settings.negative_size.desc":"\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E43\u0E0A\u0E49\u0E02\u0E19\u0E32\u0E14\u0E25\u0E1A","settings.minifiedout":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E22\u0E48\u0E2D","settings.minifiedout.desc":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E44\u0E1F\u0E25\u0E4C JSON \u0E43\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14","settings.export_groups":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java","settings.export_groups.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C JSON \u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E2D\u0E40\u0E17\u0E21 Java","settings.credit":"\u0E04\u0E27\u0E32\u0E21\u0E04\u0E34\u0E14\u0E40\u0E2B\u0E47\u0E19\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15","settings.credit.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E27\u0E32\u0E21\u0E04\u0E34\u0E14\u0E40\u0E2B\u0E47\u0E19\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","settings.default_path":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C Minecraft \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.default_path.desc":"\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48 Blockbench \u0E42\u0E2B\u0E25\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.image_editor":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","settings.image_editor.desc":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E01\u0E49\u0E44\u0E02\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","category.navigate":"\u0E01\u0E32\u0E23\u0E19\u0E33\u0E17\u0E32\u0E07","category.tools":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","category.file":"\u0E44\u0E1F\u0E25\u0E4C","category.blockbench":"Blockbench","category.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02","category.transform":"\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07","category.view":"\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","category.display":"\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","category.textures":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","category.misc":"\u0E40\u0E1A\u0E47\u0E14\u0E40\u0E15\u0E25\u0E47\u0E14","keybind.preview_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01","keybind.preview_rotate":"\u0E2B\u0E21\u0E38\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","keybind.preview_drag":"\u0E25\u0E32\u0E01\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","keybind.confirm":"\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19","keybind.cancel":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01","action.slider_inflate":"\u0E1E\u0E2D\u0E07","action.slider_inflate.desc":"\u0E1E\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E19\u0E17\u0E38\u0E01\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 UV","action.slider_brush_size":"\u0E02\u0E19\u0E32\u0E14\u0E41\u0E1B\u0E23\u0E07","action.slider_brush_size.desc":"\u0E23\u0E31\u0E28\u0E21\u0E35\u0E02\u0E2D\u0E07\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","action.slider_brush_opacity":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A","action.slider_brush_opacity.desc":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E02\u0E2D\u0E07\u0E41\u0E1B\u0E23\u0E07\u0E15\u0E31\u0E49\u0E07\u0E41\u0E15\u0E48 0 \u0E16\u0E36\u0E07 255","action.slider_brush_softness":"\u0E04\u0E27\u0E32\u0E21\u0E19\u0E38\u0E48\u0E21","action.slider_brush_softness.desc":"\u0E04\u0E27\u0E32\u0E21\u0E19\u0E38\u0E48\u0E21\u0E02\u0E2D\u0E07\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E1B\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E47\u0E19\u0E15\u0E4C","action.uv_slider_pos_x":"\u0E22\u0E49\u0E32\u0E22\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.uv_slider_pos_x.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.uv_slider_pos_y":"\u0E22\u0E49\u0E32\u0E22\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.uv_slider_pos_y.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.uv_slider_size_x":"\u0E02\u0E19\u0E32\u0E14\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.uv_slider_size_x.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.uv_slider_size_y":"\u0E02\u0E19\u0E32\u0E14\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.uv_slider_size_y.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.vertex_snap_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","action.vertex_snap_mode.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E48\u0E32 Vertex Snap \u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14","action.move_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E22\u0E49\u0E32\u0E22","action.move_tool.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.resize_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14","action.resize_tool.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.brush_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E41\u0E1B\u0E23\u0E07","action.brush_tool.desc":"\u0E27\u0E32\u0E14\u0E14\u0E49\u0E27\u0E22\u0E41\u0E1B\u0E23\u0E07","action.vertex_snap_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.vertex_snap_tool.desc":"\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E2D\u0E37\u0E48\u0E19","action.swap_tools":"\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","action.swap_tools.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E17\u0E32\u0E07\u0E40\u0E25\u0E37\u0E2D\u0E01 \u0E40\u0E0A\u0E48\u0E19 \u0E22\u0E49\u0E32\u0E22\u0E41\u0E25\u0E30\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14 \u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E1B\u0E23\u0E07\u0E41\u0E25\u0E30\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","action.project_window":"\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.project_window.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C \u0E0B\u0E36\u0E48\u0E07\u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E41\u0E01\u0E49\u0E44\u0E02\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E40\u0E21\u0E15\u0E32\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E14\u0E49","action.open_model":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25","action.open_model.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E32\u0E01\u0E04\u0E2D\u0E21\u0E1E\u0E34\u0E27\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.extrude_texture":"\u0E40\u0E2D\u0E47\u0E01\u0E0B\u0E4C\u0E17\u0E23\u0E39\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.extrude_texture.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E42\u0E14\u0E22\u0E22\u0E37\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E2D\u0E01","action.export_blockmodel":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21","action.export_blockmodel.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E2D\u0E40\u0E17\u0E21 Minecraft Java Edition","action.export_optifine_part":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2A\u0E48\u0E27\u0E19 OptiFine","action.export_optifine_part.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E40\u0E14\u0E35\u0E22\u0E27\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 OptiFine","action.export_optifine_full":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01 OptiFine JEM","action.export_optifine_full.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 OptiFine \u0E41\u0E1A\u0E1A\u0E40\u0E15\u0E47\u0E21","action.export_obj":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 OBJ","action.export_obj.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 Wavefront OBJ \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C","action.settings_window":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32...","action.settings_window.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E42\u0E15\u0E49\u0E15\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 Blockbench","action.plugins_window":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19...","action.plugins_window.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E23\u0E49\u0E32\u0E19\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","action.reset_layout":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E25\u0E22\u0E4C\u0E40\u0E2D\u0E32\u0E15\u0E4C","action.reset_layout.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E25\u0E22\u0E4C\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E02\u0E2D\u0E07 Blockbench","action.load_plugin":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C","action.load_plugin.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E42\u0E14\u0E22\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A","action.reload_plugins":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E43\u0E2B\u0E21\u0E48","action.reload_plugins.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E1E\u0E31\u0E12\u0E19\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E2B\u0E21\u0E48","action.undo":"\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33","action.undo.desc":"\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E17\u0E33\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","action.redo":"\u0E17\u0E33\u0E0B\u0E49\u0E33","action.redo.desc":"\u0E17\u0E33\u0E0B\u0E49\u0E33\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E17\u0E33\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E40\u0E25\u0E34\u0E01","action.copy":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","action.copy.desc":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","action.paste":"\u0E27\u0E32\u0E07","action.paste.desc":"\u0E27\u0E32\u0E07\u0E08\u0E32\u0E01\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","action.cut":"\u0E15\u0E31\u0E14","action.cut.desc":"\u0E15\u0E31\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","action.add_cube":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E34\u0E27\u0E1A\u0E4C","action.add_cube.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E2B\u0E21\u0E48","action.add_group":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E25\u0E38\u0E48\u0E21","action.add_group.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E21\u0E48","action.outliner_toggle":"\u0E2A\u0E25\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21","action.outliner_toggle.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E2A\u0E27\u0E34\u0E15\u0E0A\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.duplicate":"\u0E17\u0E33\u0E2A\u0E33\u0E40\u0E19\u0E32","action.delete":"\u0E25\u0E1A","action.sort_outliner":"\u0E40\u0E23\u0E35\u0E22\u0E07\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.sort_outliner.desc":"\u0E40\u0E23\u0E35\u0E22\u0E07\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23","action.select_window":"\u0E40\u0E25\u0E37\u0E2D\u0E01...","action.select_window.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E32\u0E21\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34","action.invert_selection":"\u0E01\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01","action.invert_selection.desc":"\u0E01\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.select_all":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.collapse_groups":"\u0E22\u0E38\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21","action.collapse_groups.desc":"\u0E22\u0E38\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.scale":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14","action.scale.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.toggle_visibility":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19","action.toggle_visibility.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.toggle_export":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","action.toggle_export.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.toggle_autouv":"\u0E2A\u0E25\u0E31\u0E1A UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.toggle_autouv.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.toggle_shade":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32","action.toggle_shade.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.rename":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E0A\u0E37\u0E48\u0E2D","action.rename.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.add_display_preset":"\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E43\u0E2B\u0E21\u0E48","action.add_display_preset.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E43\u0E2B\u0E21\u0E48","action.fullscreen":"\u0E40\u0E15\u0E47\u0E21\u0E08\u0E2D","action.fullscreen.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E42\u0E2B\u0E21\u0E14\u0E40\u0E15\u0E47\u0E21\u0E08\u0E2D","action.zoom_in":"\u0E0B\u0E39\u0E21\u0E40\u0E02\u0E49\u0E32","action.zoom_in.desc":"\u0E0B\u0E39\u0E21\u0E40\u0E02\u0E49\u0E32\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","action.zoom_out":"\u0E0B\u0E39\u0E21\u0E2D\u0E2D\u0E01","action.zoom_out.desc":"\u0E0B\u0E39\u0E21\u0E2D\u0E2D\u0E01\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","action.zoom_reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E0B\u0E39\u0E21","action.zoom_reset.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E0B\u0E39\u0E21\u0E40\u0E1B\u0E47\u0E19 100% \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","action.reset_interface":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E0B","action.reset_interface.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E02\u0E19\u0E32\u0E14\u0E41\u0E25\u0E30\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E02\u0E2D\u0E07 GUI","action.screenshot_model":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E42\u0E21\u0E40\u0E14\u0E25","action.screenshot_model.desc":"\u0E16\u0E48\u0E32\u0E22\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E32\u0E01\u0E21\u0E38\u0E21\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.screenshot_app":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E41\u0E2D\u0E1B","action.screenshot_app.desc":"\u0E16\u0E48\u0E32\u0E22\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E02\u0E2D\u0E07\u0E17\u0E31\u0E49\u0E07\u0E41\u0E2D\u0E1B\u0E1E\u0E25\u0E34\u0E40\u0E04\u0E0A\u0E31\u0E19","action.import_texture":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.import_texture.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C","action.create_texture":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.create_texture.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E21\u0E48","action.save_textures":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.save_textures.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.animated_textures":"\u0E40\u0E25\u0E48\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","action.animated_textures.desc":"\u0E40\u0E25\u0E48\u0E19\u0E41\u0E25\u0E30\u0E2B\u0E22\u0E38\u0E14\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","action.origin_to_geometry":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","action.origin_to_geometry.desc":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.bone_reset_toggle":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","action.bone_reset_toggle.desc":"\u0E2B\u0E22\u0E38\u0E14\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E08\u0E32\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C\u0E1A\u0E19\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","action.reload":"\u0E42\u0E2B\u0E25\u0E14 Blockbench \u0E43\u0E2B\u0E21\u0E48","action.reload.desc":"\u0E42\u0E2B\u0E25\u0E14 Blockbench \u0E43\u0E2B\u0E21\u0E48 \u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E19\u0E35\u0E49\u0E08\u0E30\u0E25\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E04\u0E37\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","menu.file":"\u0E44\u0E1F\u0E25\u0E4C","menu.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02","menu.transform":"\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07","menu.display":"\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","menu.view":"\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","menu.file.new":"\u0E43\u0E2B\u0E21\u0E48","menu.file.recent":"\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","menu.file.import":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","menu.file.export":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","menu.transform.rotate":"\u0E2B\u0E21\u0E38\u0E19","menu.transform.flip":"\u0E1E\u0E25\u0E34\u0E01","menu.transform.center":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07","menu.transform.properties":"\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34","menu.display.preset":"\u0E43\u0E0A\u0E49\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","menu.display.preset_all":"\u0E43\u0E0A\u0E49\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E17\u0E38\u0E01\u0E17\u0E35\u0E48","menu.display.remove_preset":"\u0E25\u0E1A\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","menu.view.zoom":"\u0E0B\u0E39\u0E21","menu.view.background":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","menu.view.screenshot":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","menu.cube.color":"\u0E2A\u0E35\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22","menu.cube.texture":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","menu.cube.texture.transparent":"\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","menu.cube.texture.blank":"\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32","menu.group.sort":"\u0E40\u0E23\u0E35\u0E22\u0E07\u0E25\u0E33\u0E14\u0E31\u0E1A","menu.texture.face":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32","menu.texture.file":"\u0E44\u0E1F\u0E25\u0E4C","menu.texture.refresh":"\u0E23\u0E35\u0E40\u0E1F\u0E23\u0E0A","menu.texture.change":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1F\u0E25\u0E4C","menu.texture.folder":"\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E15\u0E31\u0E27\u0E2A\u0E33\u0E23\u0E27\u0E08\u0E44\u0E1F\u0E25\u0E4C","menu.texture.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02","menu.texture.export":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E1B\u0E47\u0E19","menu.texture.save":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","menu.texture.properties":"\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34...","menu.preview.background":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","menu.preview.background.load":"\u0E42\u0E2B\u0E25\u0E14","menu.preview.background.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","menu.preview.background.lock":"\u0E25\u0E47\u0E2D\u0E01\u0E01\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07","menu.preview.screenshot":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","menu.preview.perspective":"\u0E40\u0E1E\u0E2D\u0E23\u0E4C\u0E2A\u0E40\u0E1B\u0E01\u0E17\u0E34\u0E1F","menu.preview.perspective.normal":"\u0E1B\u0E01\u0E15\u0E34","menu.preview.quadview":"\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07 4 \u0E2A\u0E48\u0E27\u0E19","menu.preview.stop_drag":"\u0E2B\u0E22\u0E38\u0E14\u0E01\u0E32\u0E23\u0E27\u0E32\u0E07\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","menu.uv.mapping.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","menu.uv.texture":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","cube.color.light_blue":"\u0E1F\u0E49\u0E32\u0E2D\u0E48\u0E2D\u0E19","cube.color.yellow":"\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E07","cube.color.orange":"\u0E2A\u0E49\u0E21","cube.color.red":"\u0E41\u0E14\u0E07","cube.color.purple":"\u0E21\u0E48\u0E27\u0E07","cube.color.blue":"\u0E19\u0E49\u0E33\u0E40\u0E07\u0E34\u0E19","cube.color.green":"\u0E40\u0E02\u0E35\u0E22\u0E27","cube.color.lime":"\u0E40\u0E02\u0E35\u0E22\u0E27\u0E21\u0E30\u0E19\u0E32\u0E27","switches.visibility":"\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19","switches.export":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","switches.autouv":"UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","panel.uv":"UV","panel.display":"\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","panel.textures":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","panel.outliner":"\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","uv_editor.title":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV","uv_editor.all_faces":"\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","uv_editor.no_faces":"\u0E44\u0E21\u0E48\u0E21\u0E35","face.north":"\u0E40\u0E2B\u0E19\u0E37\u0E2D","face.south":"\u0E43\u0E15\u0E49","face.west":"\u0E15\u0E30\u0E27\u0E31\u0E19\u0E15\u0E01","face.east":"\u0E15\u0E30\u0E27\u0E31\u0E19\u0E2D\u0E2D\u0E01","face.up":"\u0E1A\u0E19","face.down":"\u0E25\u0E48\u0E32\u0E07","direction.north":"\u0E40\u0E2B\u0E19\u0E37\u0E2D","direction.south":"\u0E43\u0E15\u0E49","direction.west":"\u0E15\u0E30\u0E27\u0E31\u0E19\u0E15\u0E01","direction.east":"\u0E15\u0E30\u0E27\u0E31\u0E19\u0E2D\u0E2D\u0E01","direction.top":"\u0E1A\u0E19","direction.bottom":"\u0E25\u0E48\u0E32\u0E07","display.slot.third_right":"\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E02\u0E27\u0E32","display.slot.third_left":"\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E0B\u0E49\u0E32\u0E22","display.slot.first_right":"\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E02\u0E27\u0E32","display.slot.first_left":"\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E0B\u0E49\u0E32\u0E22","display.slot.head":"\u0E2B\u0E31\u0E27","display.slot.ground":"\u0E1E\u0E37\u0E49\u0E19","display.slot.frame":"\u0E01\u0E23\u0E2D\u0E1A","display.slot.gui":"GUI","display.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","display.translation":"\u0E01\u0E32\u0E23\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E22\u0E49\u0E32\u0E22","display.scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","display.slot":"\u0E0A\u0E48\u0E2D\u0E07","display.reference":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","display.reference.player":"\u0E1C\u0E39\u0E49\u0E40\u0E25\u0E48\u0E19","display.reference.zombie":"\u0E0B\u0E2D\u0E21\u0E1A\u0E35\u0E49","display.reference.armor_stand":"\u0E41\u0E17\u0E48\u0E19\u0E40\u0E01\u0E23\u0E32\u0E30","display.reference.baby_zombie":"\u0E0B\u0E2D\u0E21\u0E1A\u0E35\u0E49\u0E40\u0E14\u0E47\u0E01","display.reference.armor_stand_small":"\u0E41\u0E17\u0E48\u0E19\u0E40\u0E01\u0E23\u0E32\u0E30\u0E40\u0E25\u0E47\u0E01","display.reference.monitor":"\u0E1B\u0E01\u0E15\u0E34","display.reference.bow":"\u0E18\u0E19\u0E39\u0E17\u0E35\u0E48\u0E08\u0E31\u0E14\u0E40\u0E15\u0E23\u0E35\u0E22\u0E21","display.reference.block":"\u0E1A\u0E25\u0E47\u0E2D\u0E01","display.reference.frame":"\u0E01\u0E23\u0E2D\u0E1A\u0E44\u0E2D\u0E40\u0E17\u0E21","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"\u0E0A\u0E48\u0E2D\u0E07\u0E40\u0E01\u0E47\u0E1A\u0E02\u0E2D\u0E07","display.reference.hud":"HUD","display.preset.blank_name":"\u0E01\u0E23\u0E38\u0E13\u0E32\u0E43\u0E2A\u0E48\u0E0A\u0E37\u0E48\u0E2D","display.preset.item":"\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","display.preset.block":"\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","display.preset.handheld":"\u0E2D\u0E32\u0E27\u0E38\u0E18\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","display.preset.rod":"\u0E40\u0E1A\u0E47\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","dialog.continue":"\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D","message.square_textures":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E39\u0E1B\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E08\u0E31\u0E15\u0E38\u0E23\u0E31\u0E2A","message.unsaved_texture.title":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","message.unsaved_texture.message":"\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E19\u0E35\u0E49\u0E08\u0E30\u0E2A\u0E39\u0E0D\u0E2B\u0E32\u0E22 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","action.vertex_snap_mode.move":"\u0E22\u0E49\u0E32\u0E22","action.vertex_snap_mode.scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","action.open_model_folder":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25","action.open_model_folder.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E01\u0E47\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25","action.change_textures_folder":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.change_textures_folder.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","menu.texture.particle":"\u0E43\u0E0A\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","message.update_notification.title":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15","message.update_notification.message":"\u0E21\u0E35\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E02\u0E2D\u0E07 Blockbench \u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E43\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15!","message.untextured":"\u0E1E\u0E37\u0E49\u0E19\u0E1C\u0E34\u0E27\u0E19\u0E35\u0E49\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.toolbar_edit.title":"\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07\u0E41\u0E16\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","keybindings.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","keybindings.clear":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","action.cube_counter":"\u0E2A\u0E16\u0E34\u0E15\u0E34\u0E42\u0E21\u0E40\u0E14\u0E25","action.uv_rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19 UV","action.uv_rotation.desc":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32 UV","action.uv_grid":"\u0E01\u0E23\u0E34\u0E14 UV","action.uv_grid.desc":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E17\u0E35\u0E48\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 UV \u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","action.uv_grid.auto":"\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.uv_maximize":"\u0E02\u0E22\u0E32\u0E22 UV \u0E43\u0E2B\u0E0D\u0E48\u0E2A\u0E38\u0E14","action.uv_maximize.desc":"\u0E15\u0E31\u0E49\u0E07 UV \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.uv_auto":"UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.uv_auto.desc":"\u0E15\u0E31\u0E49\u0E07\u0E02\u0E19\u0E32\u0E14 UV \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E19\u0E32\u0E14\u0E08\u0E23\u0E34\u0E07\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32","action.uv_rel_auto":"UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E2A\u0E31\u0E21\u0E1E\u0E31\u0E17\u0E18\u0E4C","action.uv_rel_auto.desc":"\u0E15\u0E31\u0E49\u0E07 UV \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E41\u0E25\u0E30\u0E02\u0E19\u0E32\u0E14\u0E08\u0E23\u0E34\u0E07\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32","action.uv_mirror_x":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV X","action.uv_mirror_x.desc":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E1A\u0E19\u0E41\u0E01\u0E19 X","action.uv_mirror_y":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV Y","action.uv_mirror_y.desc":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E1A\u0E19\u0E41\u0E01\u0E19 Y","action.uv_transparent":"\u0E25\u0E1A\u0E2B\u0E19\u0E49\u0E32","action.uv_transparent.desc":"\u0E25\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.uv_reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E2B\u0E19\u0E49\u0E32","action.uv_reset.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.cullface":"Cullface","action.cullface.desc":"\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E2B\u0E32\u0E01\u0E14\u0E49\u0E32\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14","action.auto_cullface":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 Cullface","action.auto_cullface.desc":"\u0E15\u0E31\u0E49\u0E07 cullface \u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E15\u0E31\u0E27\u0E21\u0E31\u0E19\u0E40\u0E2D\u0E07","action.face_tint":"\u0E17\u0E34\u0E19\u0E15\u0E4C","action.face_tint.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E34\u0E19\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","menu.toolbar.edit":"\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07\u0E41\u0E16\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","menu.toolbar.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E16\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","uv_editor.rotated":"\u0E2B\u0E21\u0E38\u0E19\u0E41\u0E25\u0E49\u0E27","uv_editor.auto_cull":"Cullface \u0E15\u0E31\u0E27\u0E40\u0E2D\u0E07","uv_editor.copied":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27","uv_editor.pasted":"\u0E27\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27","uv_editor.copied_x":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01 %0 \u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27","uv_editor.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E2B\u0E19\u0E49\u0E32","uv_editor.maximized":"\u0E02\u0E22\u0E32\u0E22\u0E40\u0E15\u0E47\u0E21","uv_editor.autouv":"\u0E02\u0E19\u0E32\u0E14\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","uv_editor.mirrored":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E41\u0E25\u0E49\u0E27","uv_editor.to_all":"\u0E19\u0E33\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E17\u0E38\u0E01\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27","uv_editor.transparent":"\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A\u0E41\u0E25\u0E49\u0E27","uv_editor.cullface_on":"\u0E40\u0E1B\u0E34\u0E14 Cullface","uv_editor.cullface_off":"\u0E1B\u0E34\u0E14 Cullface","uv_editor.tint_on":"\u0E40\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E22\u0E49\u0E2D\u0E21\u0E2A\u0E35","uv_editor.tint_off":"\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E22\u0E49\u0E2D\u0E21\u0E2A\u0E35","action.uv_apply_all":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.uv_apply_all.desc":"\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","message.image_editor_missing.title":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","message.image_editor_missing.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","message.image_editor_missing.detail":"Blockbench \u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E1A\u0E19\u0E04\u0E2D\u0E21\u0E1E\u0E34\u0E27\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13 \u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23","action.update_autouv":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15 UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.update_autouv.desc":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","category.uv":"UV","status_bar.saved":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E25\u0E49\u0E27","status_bar.unsaved":"\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","action.move_up":"\u0E22\u0E49\u0E32\u0E22\u0E02\u0E36\u0E49\u0E19","action.move_up.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E36\u0E49\u0E19\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.move_down":"\u0E22\u0E49\u0E32\u0E22\u0E25\u0E07","action.move_down.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E25\u0E07\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.move_left":"\u0E22\u0E49\u0E32\u0E22\u0E0B\u0E49\u0E32\u0E22","action.move_left.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0B\u0E49\u0E32\u0E22\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.move_right":"\u0E22\u0E49\u0E32\u0E22\u0E02\u0E27\u0E32","action.move_right.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E27\u0E32\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.move_forth":"\u0E22\u0E49\u0E32\u0E22\u0E44\u0E1B\u0E02\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32","action.move_forth.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E02\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.move_back":"\u0E22\u0E49\u0E32\u0E22\u0E01\u0E25\u0E31\u0E1A","action.move_back.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E25\u0E31\u0E1A\u0E15\u0E32\u0E21\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","layout.color.wireframe":"\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14","layout.color.wireframe.desc":"\u0E40\u0E2A\u0E49\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14","action.add_animation":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.add_animation.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48","action.load_animation_file":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.load_animation_file.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.play_animation":"\u0E40\u0E25\u0E48\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.play_animation.desc":"\u0E40\u0E25\u0E48\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E22\u0E38\u0E14\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E0A\u0E31\u0E48\u0E27\u0E04\u0E23\u0E32\u0E27","action.slider_keyframe_time":"\u0E23\u0E2B\u0E31\u0E2A\u0E40\u0E27\u0E25\u0E32","action.slider_keyframe_time.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E23\u0E2B\u0E31\u0E2A\u0E40\u0E27\u0E25\u0E32\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","timeline.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","timeline.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","timeline.scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","menu.keyframe.quaternion":"\u0E04\u0E27\u0E2D\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E19\u0E35\u0E22\u0E19","panel.animations":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","panel.keyframe":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","panel.keyframe.type":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21 (%0)","generic.delete":"\u0E25\u0E1A","generic.rename":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E0A\u0E37\u0E48\u0E2D","message.no_animation_selected":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E08\u0E36\u0E07\u0E08\u0E30\u0E17\u0E33\u0E44\u0E14\u0E49","message.no_bone_selected":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E01\u0E48\u0E2D\u0E19\u0E08\u0E36\u0E07\u0E08\u0E30\u0E17\u0E33\u0E44\u0E14\u0E49","message.duplicate_groups.title":"\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E0B\u0E49\u0E33","message.duplicate_groups.message":"\u0E0A\u0E37\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E19\u0E35\u0E49\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48\u0E2B\u0E25\u0E32\u0E22\u0E15\u0E31\u0E27 \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E40\u0E01\u0E34\u0E14\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E44\u0E14\u0E49","action.delete_keyframes":"\u0E25\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.delete_keyframes.desc":"\u0E25\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","menu.animation":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","menu.animation.loop":"\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E19\u0E0B\u0E49\u0E33","menu.animation.override":"\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48","menu.animation.anim_time_update":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E27\u0E25\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","message.display_skin_model.title":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E01\u0E34\u0E19","message.display_skin_model.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E2A\u0E01\u0E34\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","message.display_skin_model.classic":"\u0E04\u0E25\u0E32\u0E2A\u0E2A\u0E34\u0E01","message.display_skin_model.slim":"\u0E2A\u0E25\u0E34\u0E21","message.bone_material":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E27\u0E31\u0E2A\u0E14\u0E38\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","action.slider_animation_length":"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.slider_animation_length.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","panel.variable_placeholders":"\u0E15\u0E31\u0E27\u0E22\u0E36\u0E14\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23","panel.variable_placeholders.info":"\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A \u0E0A\u0E37\u0E48\u0E2D=\u0E04\u0E48\u0E32","status_bar.vertex_distance":"\u0E23\u0E30\u0E22\u0E30\u0E17\u0E32\u0E07: %0","dialog.create_gif.title":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 GIF","dialog.create_gif.length":"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"\u0E40\u0E25\u0E48\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","category.animation":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.record_model_gif":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 GIF...","action.record_model_gif.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 GIF \u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E32\u0E01\u0E21\u0E38\u0E21\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","display.mirror":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19","data.separator":"\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19","menu.preview.background.set_position":"\u0E15\u0E31\u0E49\u0E07\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","dialog.toolbar_edit.hidden":"\u0E0B\u0E48\u0E2D\u0E19","action.export_class_entity":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 Java","action.export_class_entity.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E25\u0E32\u0E2A Java","settings.seethrough_outline":"\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A X-Ray","settings.seethrough_outline.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A\u0E1C\u0E48\u0E32\u0E19\u0E27\u0E31\u0E15\u0E16\u0E38","mode.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02","mode.paint":"\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B","mode.display":"\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","mode.animate":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","status_bar.recording_gif":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","status_bar.processing_gif":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25","settings.backup_retain":"\u0E23\u0E30\u0E22\u0E30\u0E40\u0E27\u0E25\u0E32\u0E40\u0E01\u0E47\u0E1A\u0E2A\u0E33\u0E23\u0E2D\u0E07","settings.backup_retain.desc":"\u0E15\u0E31\u0E49\u0E07\u0E23\u0E30\u0E22\u0E30\u0E40\u0E27\u0E25\u0E32\u0E17\u0E35\u0E48 Blockbench \u0E40\u0E01\u0E47\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E40\u0E01\u0E48\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E27\u0E31\u0E19","action.rotate_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E2B\u0E21\u0E38\u0E19","action.rotate_tool.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.fill_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E15\u0E34\u0E21\u0E2A\u0E35","action.fill_tool.desc":"\u0E40\u0E15\u0E34\u0E21\u0E2A\u0E35\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48","action.eraser":"\u0E22\u0E32\u0E07\u0E25\u0E1A","action.eraser.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E22\u0E32\u0E07\u0E25\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E35\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E14\u0E49\u0E27\u0E22\u0E04\u0E27\u0E32\u0E21\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","action.color_picker":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","action.color_picker.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E08\u0E32\u0E01\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","switches.mirror":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV",language_name:"\u0E20\u0E32\u0E29\u0E32\u0E44\u0E17\u0E22","message.plugin_reload":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E43\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07 %0 \u0E43\u0E2B\u0E21\u0E48\u0E41\u0E25\u0E49\u0E27","settings.brightness":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07","settings.brightness.desc":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07 \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 50","menu.preview.perspective.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E25\u0E49\u0E2D\u0E07","action.fill_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E40\u0E15\u0E34\u0E21","action.fill_mode.face":"\u0E2B\u0E19\u0E49\u0E32","action.fill_mode.color":"\u0E2A\u0E35","action.toggle_mirror_uv":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV","action.toggle_mirror_uv.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV \u0E1A\u0E19\u0E41\u0E01\u0E19 X \u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.texture.blank":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.scale.select_overflow":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E40\u0E01\u0E34\u0E19","action.action_control":"\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E41\u0E2D\u0E04\u0E0A\u0E31\u0E19","action.action_control.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E41\u0E2D\u0E04\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48","keybindings.recording":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","keybindings.press":"\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E0A\u0E38\u0E14\u0E1B\u0E38\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E43\u0E14\u0E01\u0E47\u0E44\u0E14\u0E49\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.pivot_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","action.pivot_tool.desc":"\u0E22\u0E49\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.slider_animation_speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.slider_animation_speed.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E01\u0E32\u0E23\u0E40\u0E25\u0E48\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.previous_keyframe":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32","action.previous_keyframe.desc":"\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32","action.next_keyframe":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E16\u0E31\u0E14\u0E44\u0E1B","action.next_keyframe.desc":"\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E16\u0E31\u0E14\u0E44\u0E1B","message.outdated_client.title":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E40\u0E01\u0E48\u0E32","message.outdated_client.message":"\u0E01\u0E23\u0E38\u0E13\u0E32\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07 Blockbench \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23","action.export_asset_archive":"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E01\u0E47\u0E1A\u0E16\u0E32\u0E27\u0E23","action.export_asset_archive.desc":"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E01\u0E47\u0E1A\u0E16\u0E32\u0E27\u0E23\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E25\u0E30\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.upload_sketchfab":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1B Sketchfab...","message.sketchfab.name_or_token":"\u0E01\u0E23\u0E38\u0E13\u0E32\u0E1B\u0E49\u0E2D\u0E19\u0E42\u0E17\u0E40\u0E04\u0E19 Sketchfab \u0E41\u0E25\u0E30\u0E0A\u0E37\u0E48\u0E2D","dialog.sketchfab_uploader.title":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25 Sketchfab","dialog.sketchfab_uploader.token":"\u0E42\u0E17\u0E40\u0E04\u0E19 API","dialog.sketchfab_uploader.about_token":"\u0E42\u0E17\u0E40\u0E04\u0E19\u0E43\u0E0A\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D Blockbench \u0E01\u0E31\u0E1A\u0E1A\u0E31\u0E0D\u0E0A\u0E35 Sketchfab \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13 \u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E44\u0E14\u0E49\u0E17\u0E35\u0E48 %0","dialog.sketchfab_uploader.name":"\u0E0A\u0E37\u0E48\u0E2D\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.sketchfab_uploader.description":"\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22","dialog.sketchfab_uploader.tags":"\u0E41\u0E17\u0E47\u0E01","settings.sketchfab_token":"\u0E42\u0E17\u0E40\u0E04\u0E19 Sketchfab","settings.sketchfab_token.desc":"\u0E42\u0E17\u0E40\u0E04\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49 Blockbench \u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E1A\u0E31\u0E0D\u0E0A\u0E35 Sketchfab \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","panel.color":"\u0E2A\u0E35","data.origin":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","message.sketchfab.success":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08","message.sketchfab.error":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E1B\u0E22\u0E31\u0E07 Sketchfab \u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27","settings.outliner_colors":"\u0E2A\u0E35\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","settings.outliner_colors.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E35\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E41\u0E25\u0E30\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.upload_sketchfab.desc":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E1B Sketchfab","action.element_colors":"\u0E2A\u0E35\u0E04\u0E34\u0E27\u0E1A\u0E4C","action.element_colors.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E35\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","texture.error.file":"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E44\u0E1F\u0E25\u0E4C","texture.error.parent":"\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E08\u0E31\u0E14\u0E40\u0E15\u0E23\u0E35\u0E22\u0E21\u0E42\u0E14\u0E22\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E21\u0E48","message.recover_backup.title":"\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25","message.recover_backup.message":"Blockbench \u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.invalid_session.title":"\u0E42\u0E17\u0E40\u0E04\u0E19\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_session.message":"\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E1E\u0E22\u0E32\u0E22\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E23\u0E48\u0E27\u0E21\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38\u0E41\u0E25\u0E49\u0E27\u0E2B\u0E23\u0E37\u0E2D\u0E42\u0E17\u0E40\u0E04\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E21\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","dialog.create_texture.power":"\u0E02\u0E19\u0E32\u0E14\u0E01\u0E33\u0E25\u0E31\u0E07 2","dialog.create_gif.turn":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E40\u0E17\u0E34\u0E23\u0E4C\u0E19\u0E40\u0E17\u0E40\u0E1A\u0E34\u0E25","action.edit_session":"\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02","action.edit_session.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02","action.reset_keyframe":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.reset_keyframe.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E04\u0E48\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.edit_session.title":"\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02","edit_session.username":"\u0E0A\u0E37\u0E48\u0E2D\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49","edit_session.token":"\u0E42\u0E17\u0E40\u0E04\u0E47\u0E19","edit_session.about":"\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E23\u0E48\u0E27\u0E21\u0E01\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1C\u0E48\u0E32\u0E19\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E19\u0E47\u0E15 \u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19 \u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E42\u0E17\u0E40\u0E04\u0E47\u0E19 \u0E41\u0E25\u0E30\u0E2A\u0E48\u0E07\u0E43\u0E2B\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E19 \u0E0B\u0E36\u0E48\u0E07\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E40\u0E02\u0E49\u0E32\u0E23\u0E48\u0E27\u0E21\u0E44\u0E14\u0E49","edit_session.join":"\u0E40\u0E02\u0E49\u0E32\u0E23\u0E48\u0E27\u0E21\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19","edit_session.create":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19","edit_session.quit":"\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19","edit_session.joined":"%0 \u0E40\u0E02\u0E49\u0E32\u0E23\u0E48\u0E27\u0E21\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E25\u0E49\u0E27","edit_session.left":"%0 \u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E25\u0E49\u0E27","edit_session.quit_session":"\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E41\u0E25\u0E49\u0E27","edit_session.status":"\u0E2A\u0E16\u0E32\u0E19\u0E30","edit_session.hosting":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2E\u0E2A\u0E15\u0E4C","edit_session.connected":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E01\u0E31\u0E1A\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E25\u0E49\u0E27","dialog.sketchfab_uploader.private":"\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E31\u0E27 (Pro)","dialog.sketchfab_uploader.password":"\u0E23\u0E2B\u0E31\u0E2A\u0E1C\u0E48\u0E32\u0E19 (Pro)","action.uv_select_all":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.uv_select_all.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E42\u0E15\u0E49\u0E15\u0E2D\u0E1A UV","panel.chat":"\u0E41\u0E0A\u0E17","edit_session.welcome":"\u0E22\u0E34\u0E19\u0E14\u0E35\u0E15\u0E49\u0E2D\u0E19\u0E23\u0E31\u0E1A\u0E2A\u0E39\u0E48\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E02\u0E2D\u0E07 %0","dialog.yes":"\u0E43\u0E0A\u0E48","dialog.no":"\u0E44\u0E21\u0E48","generic.remove":"\u0E25\u0E1A\u0E2D\u0E2D\u0E01","generic.download":"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14","generic.search":"\u0E04\u0E49\u0E19\u0E2B\u0E32","dates.today":"\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49","dates.yesterday":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E27\u0E32\u0E19","dates.this_week":"\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C\u0E19\u0E35\u0E49","dates.weeks_ago":"%0 \u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E25\u0E49\u0E27","mode.start.new":"\u0E43\u0E2B\u0E21\u0E48","mode.start.recent":"\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","format.free":"\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B","format.free.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E08\u0E33\u0E01\u0E31\u0E14 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2D\u0E19\u0E08\u0E34\u0E19\u0E40\u0E01\u0E21 \u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C \u0E2F\u0E25\u0E2F","format.java_block":"Java Block","format.java_block.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A Minecraft Java Edition","format.bedrock":"Bedrock","format.bedrock.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25 Minecraft Bedrock Edition \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E41\u0E25\u0E30\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E41\u0E19\u0E1A\u0E15\u0E31\u0E27","format.bedrock_old":"Bedrock \u0E40\u0E01\u0E48\u0E32","format.bedrock_old.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 Minecraft Bedrock Edition \u0E01\u0E48\u0E2D\u0E19\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19 1.12","format.modded_entity":"Modded Entity","format.modded_entity.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E21\u0E47\u0E2D\u0E14 Minecraft \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E04\u0E25\u0E32\u0E2A .java \u0E44\u0E14\u0E49","format.optifine_entity":"OptiFine Entity","format.optifine_entity.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E21\u0E47\u0E2D\u0E14 OptiFine","keys.mouse":"\u0E1B\u0E38\u0E48\u0E21\u0E40\u0E21\u0E32\u0E2A\u0E4C %0","message.cleared_blank_faces.title":"\u0E2B\u0E19\u0E49\u0E32\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32","message.cleared_blank_faces.message":"Blockbench \u0E1E\u0E1A %0 \u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.wireframe.enabled":"\u0E40\u0E1B\u0E34\u0E14\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14\u0E41\u0E25\u0E49\u0E27","message.wireframe.disabled":"\u0E1B\u0E34\u0E14\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14\u0E41\u0E25\u0E49\u0E27","dialog.convert_project.title":"\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","dialog.create_texture.double_use":"\u0E04\u0E07\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E25\u0E32\u0E22\u0E2D\u0E31\u0E19","dialog.model_stats.title":"\u0E2A\u0E16\u0E34\u0E15\u0E34\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.model_stats.cubes":"\u0E04\u0E34\u0E27\u0E1A\u0E4C","dialog.model_stats.locators":"\u0E15\u0E31\u0E27\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","dialog.model_stats.groups":"\u0E01\u0E25\u0E38\u0E48\u0E21","dialog.model_stats.vertices":"\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","dialog.model_stats.faces":"\u0E2B\u0E19\u0E49\u0E32","settings.username":"\u0E0A\u0E37\u0E48\u0E2D\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49","settings.username.desc":"\u0E0A\u0E37\u0E48\u0E2D\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E0B\u0E2A\u0E0A\u0E31\u0E19\u0E41\u0E01\u0E49\u0E44\u0E02","settings.painting_grid":"\u0E15\u0E32\u0E23\u0E32\u0E07\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B","settings.painting_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E15\u0E32\u0E23\u0E32\u0E07\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B","action.convert_project":"\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.convert_project.desc":"\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E2D\u0E37\u0E48\u0E19","action.close_project":"\u0E1B\u0E34\u0E14\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.close_project.desc":"\u0E1B\u0E34\u0E14\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48","action.export_bedrock":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15 Bedrock","action.export_bedrock.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15 Bedrock Edition","action.save_project":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.save_project.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.save_project_as":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E47\u0E19","action.save_project_as.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E43\u0E2B\u0E21\u0E48","action.export_over":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25","action.export_over.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 \u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C \u0E41\u0E25\u0E30\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E42\u0E14\u0E22\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A\u0E44\u0E1F\u0E25\u0E4C","action.add_locator":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","action.add_locator.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E43\u0E2B\u0E21\u0E48","action.uv_turn_mapping":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B","action.uv_turn_mapping.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B UV 90 \u0E2D\u0E07\u0E28\u0E32","action.remove_blank_faces":"\u0E25\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E27\u0E48\u0E32\u0E07","action.remove_blank_faces.desc":"\u0E25\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E2D\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","web.download_app":"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B","uv_editor.turned":"\u0E2B\u0E21\u0E38\u0E19\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B\u0E41\u0E25\u0E49\u0E27","display.reference.crossbow":"\u0E2B\u0E19\u0E49\u0E32\u0E44\u0E21\u0E49\u0E17\u0E35\u0E48\u0E08\u0E31\u0E14\u0E40\u0E15\u0E23\u0E35\u0E22\u0E21","dialog.settings.search_results":"\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32","settings.animation_snap":"\u0E01\u0E32\u0E23\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.animation_snap.desc":"\u0E0A\u0E48\u0E27\u0E07\u0E01\u0E32\u0E23\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E31\u0E49\u0E19\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E14\u0E49\u0E15\u0E48\u0E2D\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19 \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 24","action.import_optifine_part":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E48\u0E27\u0E19 OptiFine","action.import_optifine_part.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E48\u0E27\u0E19\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A OptiFine","data.locator":"\u0E15\u0E31\u0E27\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","mode.start.no_recents":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","panel.element":"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","panel.element.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","panel.element.size":"\u0E02\u0E19\u0E32\u0E14","panel.element.origin":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","panel.element.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","message.canvas_limit_error.title":"\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E41\u0E04\u0E19\u0E27\u0E32\u0E2A","message.canvas_limit_error.message":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E44\u0E14\u0E49\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E19\u0E37\u0E48\u0E2D\u0E07\u0E08\u0E32\u0E01\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E01\u0E31\u0E14\u0E41\u0E04\u0E19\u0E27\u0E32\u0E2A\u0E44\u0E27\u0E49\u0E17\u0E35\u0E48 48 \u0E2B\u0E19\u0E48\u0E27\u0E22 \u0E22\u0E49\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1B\u0E49\u0E2D\u0E07\u0E01\u0E31\u0E19\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E19\u0E35\u0E49","data.effect":"\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C","generic.name":"\u0E0A\u0E37\u0E48\u0E2D","settings.recent_projects":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","settings.recent_projects.desc":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14\u0E17\u0E35\u0E48\u0E08\u0E30\u0E08\u0E33","settings.volume":"\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E40\u0E2A\u0E35\u0E22\u0E07","settings.volume.desc":"\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E40\u0E2A\u0E35\u0E22\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C\u0E40\u0E2A\u0E35\u0E22\u0E07\u0E43\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.clear_timeline":"\u0E25\u0E49\u0E32\u0E07\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.clear_timeline.desc":"\u0E25\u0E49\u0E32\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.select_effect_animator":"\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C","action.select_effect_animator.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C\u0E40\u0E2A\u0E35\u0E22\u0E07\u0E41\u0E25\u0E30\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","action.timeline_focus":"\u0E01\u0E23\u0E2D\u0E07\u0E0A\u0E48\u0E2D\u0E07","action.timeline_focus.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","timeline.particle":"\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","timeline.sound":"\u0E40\u0E2A\u0E35\u0E22\u0E07","timeline.effects":"\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C","data.format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"\u0E2A\u0E48\u0E27\u0E19 JPM \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 OptiFine","action.reverse_keyframes":"\u0E01\u0E25\u0E31\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.reverse_keyframes.desc":"\u0E01\u0E25\u0E31\u0E1A\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","generic.help":"\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D","message.removed_faces":"\u0E25\u0E1A %0 \u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E49\u0E27","dialog.sketchfab_uploader.draft":"\u0E23\u0E48\u0E32\u0E07","action.slider_pos":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07 %0","action.slider_pos.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0","action.slider_size":"\u0E02\u0E19\u0E32\u0E14 %0","action.slider_size.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0","action.slider_rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19 %0","action.slider_rotation.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0","action.slider_origin":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19 %0","action.slider_origin.desc":"\u0E22\u0E49\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0","action.rotate_cw":"\u0E2B\u0E21\u0E38\u0E19 %0 +90","action.rotate_cw.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01 90\xB0 \u0E1A\u0E19\u0E41\u0E01\u0E19 %0","action.rotate_ccw":"\u0E2B\u0E21\u0E38\u0E19 %0 -90","action.rotate_ccw.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01 -90\xB0 \u0E1A\u0E19\u0E41\u0E01\u0E19 %0","action.flip":"\u0E1E\u0E25\u0E34\u0E01","action.flip.desc":"\u0E1E\u0E25\u0E34\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.center":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07","action.center.desc":"\u0E08\u0E31\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E49\u0E2D\u0E22\u0E39\u0E48\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07","action.bring_up_all_animations":"\u0E19\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E36\u0E49\u0E19","panel.bone":"\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","data.color":"\u0E2A\u0E35","generic.export":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","generic.none":"\u0E44\u0E21\u0E48\u0E21\u0E35","status_bar.recording":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E44\u0E17\u0E21\u0E4C\u0E41\u0E25\u0E1B\u0E2A\u0E4C","message.add_to_palette":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E41\u0E25\u0E49\u0E27","message.size_modifiers":"\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Ctrl \u0E2B\u0E23\u0E37\u0E2D Shift \u0E04\u0E49\u0E32\u0E07\u0E44\u0E27\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E43\u0E19\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E17\u0E35\u0E48\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E36\u0E49\u0E19","message.timelapse_start":"\u0E40\u0E23\u0E34\u0E48\u0E21\u0E44\u0E17\u0E21\u0E4C\u0E41\u0E25\u0E1B\u0E2A\u0E4C\u0E41\u0E25\u0E49\u0E27","message.timelapse_stop":"\u0E2B\u0E22\u0E38\u0E14\u0E44\u0E17\u0E21\u0E4C\u0E41\u0E25\u0E1B\u0E2A\u0E4C\u0E41\u0E25\u0E49\u0E27","message.import_palette.replace_palette":"\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E40\u0E14\u0E34\u0E21","message.import_palette.threshold":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E01\u0E32\u0E23\u0E1C\u0E2A\u0E32\u0E19","dialog.timelapse.interval":"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32 (\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35)","dialog.timelapse.source":"\u0E41\u0E2B\u0E25\u0E48\u0E07\u0E17\u0E35\u0E48\u0E21\u0E32","dialog.timelapse.source.interface":"\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E0B","dialog.timelapse.source.locked":"\u0E21\u0E38\u0E21\u0E25\u0E47\u0E2D\u0E01","dialog.timelapse.destination":"\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E1B\u0E25\u0E32\u0E22\u0E17\u0E32\u0E07","layout.color.checkerboard":"\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01","layout.color.checkerboard.desc":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E02\u0E2D\u0E07\u0E41\u0E04\u0E19\u0E27\u0E32\u0E2A\u0E41\u0E25\u0E30\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV","layout.font.code":"\u0E1F\u0E2D\u0E19\u0E15\u0E4C\u0E42\u0E04\u0E49\u0E14","layout.css":"CSS \u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","settings.category.paint":"\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B","settings.deactivate_size_limit":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14","settings.deactivate_size_limit.desc":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E09\u0E1E\u0E32\u0E30 \u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19: \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","settings.brush_opacity_modifier":"\u0E15\u0E31\u0E27\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E41\u0E1B\u0E23\u0E07","settings.brush_opacity_modifier.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E2A\u0E44\u0E15\u0E25\u0E31\u0E2A","settings.brush_size_modifier":"\u0E15\u0E31\u0E27\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E41\u0E1B\u0E23\u0E07","settings.brush_size_modifier.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E2A\u0E44\u0E15\u0E25\u0E31\u0E2A","settings.brush_modifier.pressure":"\u0E41\u0E23\u0E07\u0E01\u0E14","settings.brush_modifier.tilt":"\u0E01\u0E32\u0E23\u0E40\u0E2D\u0E35\u0E22\u0E07","category.color":"\u0E2A\u0E35","action.import_theme":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E18\u0E35\u0E21","action.export_theme":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E18\u0E35\u0E21","action.export_theme.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E18\u0E35\u0E21\u0E08\u0E32\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.slider_color_h":"\u0E40\u0E09\u0E14\u0E2A\u0E35","action.slider_color_s":"\u0E04\u0E27\u0E32\u0E21\u0E2D\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27","action.slider_color_v":"\u0E04\u0E48\u0E32\u0E2A\u0E35","action.add_to_palette":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.add_to_palette.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2A\u0E35\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E2A\u0E35","action.import_palette":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.import_palette.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.export_palette":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.export_palette.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C .GPL","action.generate_palette":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15...","action.generate_palette.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E08\u0E32\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.sort_palette":"\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.sort_palette.desc":"\u0E40\u0E23\u0E35\u0E22\u0E07\u0E2A\u0E35\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E15\u0E32\u0E21\u0E2A\u0E35\u0E41\u0E25\u0E30\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07","action.timelapse":"\u0E17\u0E34\u0E21\u0E41\u0E25\u0E1B\u0E2A\u0E4C...","action.timelapse.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E34\u0E21\u0E41\u0E25\u0E1B\u0E2A\u0E4C\u0E02\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.add_keyframe":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.add_keyframe.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E43\u0E2B\u0E21\u0E48","action.bring_up_all_animations.desc":"\u0E19\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E01\u0E49\u0E44\u0E02\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E36\u0E49\u0E19\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","timeline.timeline":"\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07","menu.palette.load.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","generic.import":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","settings.brush_modifier.none":"\u0E44\u0E21\u0E48\u0E21\u0E35","action.export_entity":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35 Bedrock","action.export_entity.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1B\u0E47\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A Minecraft Bedrock Edition","settings.highlight_cubes":"\u0E44\u0E2E\u0E44\u0E25\u0E15\u0E4C\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","settings.highlight_cubes.desc":"\u0E44\u0E2E\u0E44\u0E25\u0E15\u0E4C\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E38\u0E13\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E44\u0E1B\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01","action.add_marker":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22","action.add_marker.desc":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E1A\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","timeline.pre_effect_script":"\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C","format.skin":"\u0E2A\u0E01\u0E34\u0E19","format.skin.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2A\u0E01\u0E34\u0E19\u0E1C\u0E39\u0E49\u0E40\u0E25\u0E48\u0E19\u0E41\u0E25\u0E30\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35","message.sketchfab.setup_guide":"\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E19\u0E23\u0E39\u0E49\u0E27\u0E34\u0E18\u0E35\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E19 Sketchfab \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48? \u0E2D\u0E48\u0E32\u0E19 %0","dialog.skin.title":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E01\u0E34\u0E19 Minecraft","dialog.skin.model":"\u0E42\u0E21\u0E40\u0E14\u0E25","action.toggle_skin_layer":"\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E2A\u0E01\u0E34\u0E19","action.toggle_skin_layer.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E2B\u0E21\u0E27\u0E01\u0E41\u0E25\u0E30\u0E40\u0E2A\u0E37\u0E49\u0E2D\u0E1C\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E01\u0E34\u0E19","action.gui_light":"\u0E41\u0E2A\u0E07 GUI","action.gui_light.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E2D\u0E07\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E43\u0E19\u0E0A\u0E48\u0E2D\u0E07\u0E40\u0E01\u0E47\u0E1A\u0E02\u0E2D\u0E07","action.gui_light.side":"\u0E41\u0E2A\u0E07\u0E14\u0E49\u0E32\u0E19\u0E02\u0E49\u0E32\u0E07","action.gui_light.front":"\u0E41\u0E2A\u0E07\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32","action.move_keyframe_back":"\u0E22\u0E49\u0E32\u0E22\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E01\u0E25\u0E31\u0E1A","action.move_keyframe_forth":"\u0E22\u0E49\u0E32\u0E22\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E44\u0E1B\u0E02\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32","menu.help":"\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D","menu.help.discord":"Discord","menu.help.report_issue":"\u0E23\u0E32\u0E22\u0E07\u0E32\u0E19\u0E1B\u0E31\u0E0D\u0E2B\u0E32","menu.help.plugin_documentation":"\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 API","menu.help.search_action":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E41\u0E2D\u0E04\u0E0A\u0E31\u0E19","menu.help.donate":"\u0E1A\u0E23\u0E34\u0E08\u0E32\u0E04","menu.help.about":"\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A","menu.preview.background.clipboard":"\u0E42\u0E2B\u0E25\u0E14\u0E08\u0E32\u0E01\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","dialog.ignore":"\u0E40\u0E1E\u0E34\u0E01\u0E40\u0E09\u0E22","generic.unset":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","message.invalid_builtin_parent.title":"\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C\u0E43\u0E19\u0E15\u0E31\u0E27\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_builtin_parent.message":"\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07 '%0' \u0E16\u0E39\u0E01\u0E25\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","dialog.resize_texture.fill":"\u0E40\u0E15\u0E34\u0E21\u0E2A\u0E35","dialog.resize_texture.fill.transparent":"\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","dialog.resize_texture.fill.color":"\u0E2A\u0E35","dialog.resize_texture.fill.repeat":"\u0E17\u0E33\u0E0B\u0E49\u0E33","dialog.scale.element_pivot":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","dialog.scale.selection_center":"\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.create_gif.length_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27","dialog.create_gif.length_mode.seconds":"\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35","dialog.create_gif.length_mode.frames":"\u0E40\u0E1F\u0E23\u0E21","dialog.create_gif.length_mode.animation":"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.create_gif.length_mode.turntable":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E17\u0E34\u0E23\u0E4C\u0E19\u0E40\u0E17\u0E40\u0E1A\u0E34\u0E25","dialog.save_angle.projection":"\u0E01\u0E32\u0E23\u0E09\u0E32\u0E22\u0E20\u0E32\u0E1E","dialog.save_angle.projection.perspective":"\u0E40\u0E1E\u0E2D\u0E23\u0E4C\u0E2A\u0E40\u0E1B\u0E01\u0E17\u0E34\u0E1F","dialog.save_angle.projection.orthographic":"\u0E2D\u0E2D\u0E23\u0E4C\u0E42\u0E18\u0E01\u0E23\u0E32\u0E1F\u0E34\u0E01","dialog.sketchfab_uploader.animations":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.settings.theme":"\u0E18\u0E35\u0E21","settings.category.interface":"\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E34\u0E14\u0E15\u0E48\u0E2D","settings.preview_checkerboard":"\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","settings.preview_checkerboard.desc":"\u0E40\u0E1B\u0E34\u0E14/\u0E1B\u0E34\u0E14\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01\u0E2B\u0E25\u0E31\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","settings.uv_checkerboard":"\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV","settings.uv_checkerboard.desc":"\u0E40\u0E1B\u0E34\u0E14/\u0E1B\u0E34\u0E14\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01\u0E2B\u0E25\u0E31\u0E07\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV","category.paint":"\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B","action.fill_mode.color_connected":"\u0E2A\u0E35\u0E17\u0E35\u0E48\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D","action.draw_shape_type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07","action.draw_shape_type.rectangle":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E1C\u0E37\u0E19\u0E1C\u0E49\u0E32","action.draw_shape_type.rectangle_h":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E1C\u0E37\u0E19\u0E1C\u0E49\u0E32 (\u0E01\u0E25\u0E27\u0E07)","action.draw_shape_type.ellipse":"\u0E27\u0E07\u0E23\u0E35","action.draw_shape_type.ellipse_h":"\u0E27\u0E07\u0E23\u0E35 (\u0E01\u0E25\u0E27\u0E07)","action.draw_shape_type.line":"\u0E40\u0E2A\u0E49\u0E19","action.mirror_painting":"\u0E27\u0E32\u0E14\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19","action.mirror_painting.description":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E2D\u0E35\u0E01\u0E14\u0E49\u0E32\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","action.lock_alpha":"\u0E25\u0E47\u0E2D\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32","action.lock_alpha.description":"\u0E25\u0E47\u0E2D\u0E01\u0E04\u0E27\u0E32\u0E21\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A\u0E02\u0E2D\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.draw_shape_tool":"\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07","action.draw_shape_tool.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E27\u0E32\u0E14\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E07\u0E48\u0E32\u0E22\u0E46 \u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.export_gltf":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 glTF","action.export_gltf.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E25\u0E30\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C glTF \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E0A\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C","action.transform_space":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19","action.transform_space.desc":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E41\u0E25\u0E30\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","action.transform_space.global":"\u0E17\u0E31\u0E48\u0E27\u0E42\u0E25\u0E01","action.transform_space.local":"\u0E17\u0E49\u0E2D\u0E07\u0E16\u0E34\u0E48\u0E19","action.toggle_camera_projection":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E09\u0E32\u0E22\u0E20\u0E32\u0E1E\u0E01\u0E25\u0E49\u0E2D\u0E07","action.toggle_camera_projection.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E09\u0E32\u0E22\u0E20\u0E32\u0E1E\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1E\u0E2D\u0E23\u0E4C\u0E2A\u0E40\u0E1B\u0E01\u0E17\u0E34\u0E1F\u0E41\u0E25\u0E30\u0E2D\u0E2D\u0E23\u0E4C\u0E42\u0E18\u0E01\u0E23\u0E32\u0E1F\u0E34\u0E01","action.load_camera_angle":"\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07: %0","action.load_camera_angle.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07 '%0'","action.slider_face_tint":"\u0E14\u0E31\u0E0A\u0E19\u0E35\u0E17\u0E34\u0E19\u0E15\u0E4C","action.slider_face_tint.desc":"\u0E15\u0E31\u0E49\u0E07\u0E14\u0E31\u0E0A\u0E19\u0E35\u0E17\u0E34\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19 -1 \u0E2B\u0E21\u0E32\u0E22\u0E16\u0E36\u0E07\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","menu.help.quickstart":"\u0E15\u0E31\u0E27\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E14\u0E48\u0E27\u0E19","menu.help.developer":"\u0E19\u0E31\u0E01\u0E1E\u0E31\u0E12\u0E19\u0E32","menu.help.developer.dev_tools":"\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E19\u0E31\u0E01\u0E1E\u0E31\u0E12\u0E19\u0E32","menu.help.developer.reset_storage":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E08\u0E32\u0E01\u0E42\u0E23\u0E07\u0E07\u0E32\u0E19","menu.help.developer.reset_storage.confirm":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15 Blockbench \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E08\u0E32\u0E01\u0E42\u0E23\u0E07\u0E07\u0E32\u0E19? \u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E19\u0E35\u0E49\u0E08\u0E30\u0E25\u0E1A\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 \u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14 \u0E41\u0E25\u0E30\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","menu.help.developer.cache_reload":"\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E04\u0E0A\u0E43\u0E2B\u0E21\u0E48","menu.preview.orthographic":"\u0E2D\u0E2D\u0E23\u0E4C\u0E42\u0E18\u0E01\u0E23\u0E32\u0E1F\u0E34\u0E01","menu.preview.save_angle":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E21\u0E38\u0E21...","menu.preview.angle":"\u0E21\u0E38\u0E21","menu.preview.angle.initial":"\u0E21\u0E38\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.preview.maximize":"\u0E02\u0E22\u0E32\u0E22\u0E43\u0E2B\u0E0D\u0E48\u0E2A\u0E38\u0E14","uv_editor.copy_selection":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","uv_editor.paste_selection":"\u0E27\u0E32\u0E07\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","uv_editor.copy_paste_tool.place":"\u0E27\u0E32\u0E07","uv_editor.copy_paste_tool.mirror_x":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 X","uv_editor.copy_paste_tool.mirror_y":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 Y","uv_editor.copy_paste_tool.rotate":"\u0E2B\u0E21\u0E38\u0E19 90 \u0E2D\u0E07\u0E28\u0E32","dialog.project.modded_entity_version":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19 Modded Entity","dialog.save_angle.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07","dialog.save_angle.target":"\u0E08\u0E38\u0E14\u0E42\u0E1F\u0E01\u0E31\u0E2A","dialog.skin.pose":"\u0E17\u0E48\u0E32\u0E17\u0E32\u0E07","layout.color.frame":"\u0E01\u0E23\u0E2D\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07","layout.color.frame.desc":"\u0E02\u0E2D\u0E1A\u0E41\u0E25\u0E30\u0E41\u0E16\u0E1A\u0E0A\u0E37\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07","settings.large_grid_size":"\u0E02\u0E19\u0E32\u0E14\u0E01\u0E23\u0E34\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01","settings.large_grid_size.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E1A\u0E25\u0E47\u0E2D\u0E01","action.load_plugin_from_url":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01 URL","action.load_plugin_from_url.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E40\u0E0B\u0E34\u0E23\u0E4C\u0E1F\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E42\u0E14\u0E22\u0E23\u0E30\u0E1A\u0E38 URL","action.cube_counter.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E41\u0E25\u0E30\u0E2A\u0E16\u0E34\u0E15\u0E34\u0E2D\u0E37\u0E48\u0E19\u0E46","action.unlock_everything":"\u0E1B\u0E25\u0E14\u0E25\u0E47\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.unlock_everything.desc":"\u0E1B\u0E25\u0E14\u0E25\u0E47\u0E2D\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21\u0E41\u0E25\u0E30\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.load_palette":"\u0E42\u0E2B\u0E25\u0E14\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.load_palette.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E43\u0E19\u0E15\u0E31\u0E27\u0E2B\u0E23\u0E37\u0E2D\u0E17\u0E35\u0E48\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E44\u0E27\u0E49","action.toggle_locked":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E25\u0E47\u0E2D\u0E01","action.toggle_locked.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E27\u0E48\u0E32\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E16\u0E39\u0E01\u0E25\u0E47\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48","action.apply_display_preset":"\u0E43\u0E0A\u0E49\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","action.apply_display_preset.desc":"\u0E43\u0E0A\u0E49\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","action.apply_display_preset.here":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E0A\u0E48\u0E2D\u0E07\u0E19\u0E35\u0E49","action.apply_display_preset.everywhere":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E17\u0E38\u0E01\u0E0A\u0E48\u0E2D\u0E07","action.resolve_keyframe_expressions":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.resolve_keyframe_expressions.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E19\u0E34\u0E1E\u0E08\u0E19\u0E4C\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.fold_all_animations":"\u0E1E\u0E31\u0E1A\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","menu.palette.load.empty":"\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32","switches.lock":"\u0E25\u0E47\u0E2D\u0E01","settings.render_sides":"\u0E14\u0E49\u0E32\u0E19\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07","settings.render_sides.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E14\u0E49\u0E32\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07","settings.render_sides.auto":"\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.render_sides.front":"\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32","settings.render_sides.double":"\u0E14\u0E49\u0E32\u0E19\u0E43\u0E19\u0E41\u0E25\u0E30\u0E14\u0E49\u0E32\u0E19\u0E19\u0E2D\u0E01","generic.enable":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","generic.disable":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","generic.redacted":"\u0E16\u0E39\u0E01\u0E1B\u0E01\u0E1B\u0E34\u0E14","dialog.select_texture.import_all":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.skin.layer_template":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","about.version.up_to_date":"\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","about.version.update_available":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19 %0 \u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","settings.category.application":"\u0E41\u0E2D\u0E1B\u0E1E\u0E25\u0E34\u0E40\u0E04\u0E0A\u0E31\u0E19","settings.streamer_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E15\u0E23\u0E35\u0E21\u0E40\u0E21\u0E2D\u0E23\u0E4C","settings.streamer_mode.desc":"\u0E0B\u0E48\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E2D\u0E48\u0E2D\u0E19 \u0E40\u0E0A\u0E48\u0E19 \u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","settings.automatic_updates":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.automatic_updates.desc":"\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E41\u0E25\u0E30\u0E23\u0E31\u0E01\u0E29\u0E32 Blockbench \u0E43\u0E2B\u0E49\u0E17\u0E31\u0E19\u0E2A\u0E21\u0E31\u0E22","action.rotation_space":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","action.focus_on_selection":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.focus_on_selection.desc":"\u0E08\u0E31\u0E14\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E43\u0E2B\u0E49\u0E42\u0E1F\u0E01\u0E31\u0E2A\u0E17\u0E35\u0E48\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.jump_to_timeline_start":"\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14\u0E44\u0E1B\u0E08\u0E38\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.jump_to_timeline_end":"\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14\u0E44\u0E1B\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","menu.help.updating":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15 (%0%)","menu.help.update_failed":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27","menu.animation.loop.once":"\u0E40\u0E25\u0E48\u0E19\u0E04\u0E23\u0E31\u0E49\u0E07\u0E40\u0E14\u0E35\u0E22\u0E27","menu.animation.loop.hold":"\u0E2B\u0E22\u0E38\u0E14\u0E17\u0E35\u0E48\u0E40\u0E1F\u0E23\u0E21\u0E2A\u0E38\u0E14\u0E17\u0E49\u0E32\u0E22","menu.animation.loop.loop":"\u0E27\u0E19\u0E0B\u0E49\u0E33","interface.streamer_mode_on":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E15\u0E23\u0E35\u0E21\u0E40\u0E21\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E49\u0E27","generic.reset":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15","generic.restore":"\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19","keys.mousewheel":"\u0E25\u0E49\u0E2D\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E40\u0E21\u0E32\u0E2A\u0E4C","message.delete_animation.title":"\u0E25\u0E1A\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","message.delete_animation.message":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E16\u0E39\u0E01\u0E25\u0E1A\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01 Blockbench \u0E41\u0E25\u0E49\u0E27 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E44\u0E27\u0E49\u0E14\u0E49\u0E27\u0E22\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.no_animation_to_import":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","dialog.material_instances.title":"\u0E27\u0E31\u0E2A\u0E14\u0E38","dialog.animation_import.title":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32","dialog.create_texture.padding":"\u0E23\u0E30\u0E22\u0E30\u0E2B\u0E48\u0E32\u0E07","settings.fov":"FOV","settings.fov.desc":"\u0E1F\u0E34\u0E25\u0E14\u0E4C\u0E2D\u0E2D\u0E1F\u0E27\u0E34\u0E27\u0E02\u0E2D\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07 \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 45","settings.minify_bbmodel":"\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E41\u0E1A\u0E1A\u0E22\u0E48\u0E2D","settings.minify_bbmodel.desc":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E44\u0E1F\u0E25\u0E4C .bbmodel \u0E41\u0E1A\u0E1A\u0E22\u0E48\u0E2D\u0E43\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14","action.edit_material_instances":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2D\u0E34\u0E19\u0E2A\u0E41\u0E15\u0E19\u0E0B\u0E4C\u0E27\u0E31\u0E2A\u0E14\u0E38","action.edit_material_instances.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E0A\u0E37\u0E48\u0E2D\u0E2D\u0E34\u0E19\u0E2A\u0E41\u0E15\u0E19\u0E0B\u0E4C\u0E27\u0E31\u0E2A\u0E14\u0E38\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15\u0E1A\u0E25\u0E47\u0E2D\u0E01 Bedrock","action.save_all_animations":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.save_all_animations.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E42\u0E2B\u0E25\u0E14\u0E2D\u0E22\u0E39\u0E48\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.keyframe_interpolation":"\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.keyframe_interpolation.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E48\u0E32\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.keyframe_interpolation.linear":"\u0E40\u0E0A\u0E34\u0E07\u0E40\u0E2A\u0E49\u0E19","action.keyframe_interpolation.catmullrom":"CatmullRom","action.timeline_focus.hide_empty":"\u0E0B\u0E48\u0E2D\u0E19\u0E0A\u0E48\u0E2D\u0E07\u0E27\u0E48\u0E32\u0E07","menu.file.preferences":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","menu.animation.blend_weight":"\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E1C\u0E2A\u0E21","menu.animation.save":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","menu.animation.properties":"\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34...","menu.animation.file":"\u0E44\u0E1F\u0E25\u0E4C","menu.animation.snapping":"\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","menu.animation.open_location":"\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19 File Explorer","panel.keyframe.add_data_point":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E08\u0E38\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","panel.keyframe.remove_data_point":"\u0E25\u0E1A\u0E08\u0E38\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","panel.keyframe.pre":"\u0E01\u0E48\u0E2D\u0E19","panel.keyframe.post":"\u0E2B\u0E25\u0E31\u0E07","generic.all":"\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","message.small_face_dimensions.title":"\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49","message.small_face_dimensions.message":"\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E21\u0E35\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E47\u0E01\u0E01\u0E27\u0E48\u0E32 1 \u0E2B\u0E19\u0E48\u0E27\u0E22\u0E43\u0E19\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07 \u0E23\u0E30\u0E1A\u0E1A Box UV \u0E16\u0E37\u0E2D\u0E27\u0E48\u0E32\u0E2B\u0E19\u0E49\u0E32\u0E43\u0E14\u0E46 \u0E17\u0E35\u0E48\u0E15\u0E48\u0E33\u0E01\u0E27\u0E48\u0E32\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E19\u0E31\u0E49\u0E19\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E01\u0E27\u0E49\u0E32\u0E07 0 \u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25 \u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.small_face_dimensions.face_uv":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 UV \u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32\u0E0B\u0E36\u0E48\u0E07\u0E08\u0E31\u0E14\u0E01\u0E32\u0E23\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E25\u0E47\u0E01\u0E44\u0E14\u0E49 \u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E17\u0E35\u0E48\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E1C\u0E25\u0E01\u0E23\u0E30\u0E17\u0E1A\u0E41\u0E25\u0E30\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 '\u0E42\u0E2B\u0E21\u0E14 UV' \u0E40\u0E1B\u0E47\u0E19 'UV \u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32'","dialog.plugins.outdated_client":"\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49 Blockbench \u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E01\u0E27\u0E48\u0E32","dialog.plugins.outdated_plugin":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E25\u0E49\u0E32\u0E2A\u0E21\u0E31\u0E22\u0E41\u0E25\u0E30\u0E44\u0E21\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19\u0E01\u0E31\u0E1A Blockbench \u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E19\u0E35\u0E49","settings.motion_trails":"\u0E23\u0E48\u0E2D\u0E07\u0E23\u0E2D\u0E22\u0E01\u0E32\u0E23\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","settings.motion_trails.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E23\u0E48\u0E2D\u0E07\u0E23\u0E2D\u0E22\u0E01\u0E32\u0E23\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.antialiasing":"\u0E41\u0E2D\u0E19\u0E15\u0E34\u0E2D\u0E32\u0E40\u0E25\u0E35\u0E22\u0E2A\u0E0B\u0E34\u0E07","settings.antialiasing.desc":"\u0E40\u0E1B\u0E34\u0E14/\u0E1B\u0E34\u0E14\u0E41\u0E2D\u0E19\u0E15\u0E34\u0E2D\u0E32\u0E40\u0E25\u0E35\u0E22\u0E2A\u0E0B\u0E34\u0E07\u0E43\u0E19\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","action.timeline_frame_back":"\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14\u0E01\u0E25\u0E31\u0E1A 1 \u0E40\u0E1F\u0E23\u0E21","action.timeline_frame_forth":"\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14\u0E44\u0E1B\u0E02\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32 1 \u0E40\u0E1F\u0E23\u0E21","panel.bone.ik":"\u0E2D\u0E34\u0E19\u0E40\u0E27\u0E34\u0E23\u0E4C\u0E2A\u0E04\u0E34\u0E40\u0E19\u0E21\u0E32\u0E15\u0E34\u0E01\u0E2A\u0E4C (\u0E17\u0E14\u0E25\u0E2D\u0E07)","settings.particle_tick_rate":"\u0E2D\u0E31\u0E15\u0E23\u0E32\u0E17\u0E34\u0E04\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","settings.particle_tick_rate.desc":"\u0E2D\u0E31\u0E15\u0E23\u0E32\u0E17\u0E34\u0E04\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04\u0E40\u0E1B\u0E47\u0E19\u0E17\u0E34\u0E04\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35 \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 30","action.lock_motion_trail":"\u0E25\u0E47\u0E2D\u0E01\u0E23\u0E48\u0E2D\u0E07\u0E23\u0E2D\u0E22\u0E01\u0E32\u0E23\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","action.lock_motion_trail.desc":"\u0E25\u0E47\u0E2D\u0E01\u0E23\u0E48\u0E2D\u0E07\u0E23\u0E2D\u0E22\u0E01\u0E32\u0E23\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27\u0E01\u0E31\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.animation_file.unload":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1F\u0E25\u0E4C","data.null_object":"\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32","status_bar.toggle_sidebar":"\u0E2A\u0E25\u0E31\u0E1A\u0E41\u0E16\u0E1A\u0E02\u0E49\u0E32\u0E07","message.load_plugin_failed.title":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27","message.load_plugin_failed.message":"\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E43\u0E2B\u0E49\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E0A\u0E37\u0E48\u0E2D\u0E44\u0E1F\u0E25\u0E4C\u0E1E\u0E37\u0E49\u0E19\u0E10\u0E32\u0E19\u0E02\u0E2D\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A ID \u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 `%0` \u0E15\u0E32\u0E21\u0E17\u0E35\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E43\u0E19 Plugin.register()","dialog.project.uv_mode":"\u0E42\u0E2B\u0E21\u0E14 UV","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"UV \u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32","dialog.project.texture_size":"\u0E02\u0E19\u0E32\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.animation_export.title":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.create_texture.rearrange_uv":"\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07 UV \u0E43\u0E2B\u0E21\u0E48","layout.color.subtle_text":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E08\u0E32\u0E07","layout.color.subtle_text.desc":"\u0E2A\u0E35\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E23\u0E2D\u0E07\u0E17\u0E35\u0E48\u0E21\u0E35\u0E04\u0E2D\u0E19\u0E17\u0E23\u0E32\u0E2A\u0E15\u0E4C\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32","settings.interface_scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E34\u0E14\u0E15\u0E48\u0E2D","settings.interface_scale.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E34\u0E14\u0E15\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21","settings.background_rendering":"\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","settings.background_rendering.desc":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E42\u0E1F\u0E01\u0E31\u0E2A","settings.ctrl_shift_size":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14 Control + Shift","settings.ctrl_shift_size.desc":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E02\u0E13\u0E30\u0E01\u0E14 Control \u0E41\u0E25\u0E30 Shift","settings.hardware_acceleration":"\u0E01\u0E32\u0E23\u0E40\u0E23\u0E48\u0E07\u0E14\u0E49\u0E27\u0E22\u0E2E\u0E32\u0E23\u0E4C\u0E14\u0E41\u0E27\u0E23\u0E4C","settings.hardware_acceleration.desc":"\u0E21\u0E2D\u0E1A\u0E2B\u0E21\u0E32\u0E22\u0E07\u0E32\u0E19\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E4C\u0E14\u0E08\u0E2D","action.explode_skin_model":"\u0E23\u0E30\u0E40\u0E1A\u0E34\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E01\u0E34\u0E19","action.explode_skin_model.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E41\u0E1A\u0E1A\u0E23\u0E30\u0E40\u0E1A\u0E34\u0E14\u0E17\u0E35\u0E48\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14","action.export_minecraft_skin":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2A\u0E01\u0E34\u0E19 Minecraft","action.export_minecraft_skin.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2A\u0E01\u0E34\u0E19 Minecraft \u0E40\u0E1B\u0E47\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C PNG","action.add_null_object":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32","action.add_null_object.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32\u0E43\u0E2B\u0E21\u0E48","action.animated_texture_frame":"\u0E40\u0E1F\u0E23\u0E21\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","action.animated_texture_frame.desc":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1F\u0E23\u0E21\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","action.export_animation_file":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19...","action.export_animation_file.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E43\u0E2B\u0E21\u0E48","action.timeline_graph_editor":"\u0E2A\u0E25\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E01\u0E23\u0E32\u0E1F","action.timeline_graph_editor.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E01\u0E23\u0E32\u0E1F\u0E41\u0E25\u0E30\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","menu.file.recent.clear":"\u0E25\u0E49\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","switches.shade":"\u0E41\u0E23\u0E40\u0E07\u0E32","generic.share":"\u0E41\u0E0A\u0E23\u0E4C","dates.minute":"%0 \u0E19\u0E32\u0E17\u0E35","dates.minutes":"%0 \u0E19\u0E32\u0E17\u0E35","dates.hour":"%0 \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07","dates.hours":"%0 \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07","dates.day":"%0 \u0E27\u0E31\u0E19","dates.days":"%0 \u0E27\u0E31\u0E19","dates.week":"%0 \u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C","dates.weeks":"%0 \u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C","dates.year":"%0 \u0E1B\u0E35","dates.years":"%0 \u0E1B\u0E35","message.installed_plugin":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 %0 \u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08","message.installed_plugin_fail":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 %0 \u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27","dialog.share_model.title":"\u0E41\u0E0A\u0E23\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.share_model.expire_time":"\u0E40\u0E27\u0E25\u0E32\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38","dialog.share_model.failed":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27","action.import_java_block_model":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java","action.import_java_block_model.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Minecraft Java \u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C json \u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.share_model":"\u0E41\u0E0A\u0E23\u0E4C...","action.share_model.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E2A\u0E31\u0E49\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E0A\u0E23\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.import_project":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.import_project.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E2D\u0E37\u0E48\u0E19\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C .bbmodel \u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","dialog.toolbar_edit.hidden_tools":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E1A\u0E32\u0E07\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E2D\u0E32\u0E08\u0E16\u0E39\u0E01\u0E0B\u0E48\u0E2D\u0E19\u0E40\u0E19\u0E37\u0E48\u0E2D\u0E07\u0E08\u0E32\u0E01\u0E44\u0E21\u0E48\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A \u0E2B\u0E23\u0E37\u0E2D\u0E2A\u0E16\u0E32\u0E19\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","settings.camera_near_plane":"\u0E23\u0E30\u0E19\u0E32\u0E1A\u0E43\u0E01\u0E25\u0E49\u0E02\u0E2D\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07","settings.camera_near_plane.desc":"\u0E23\u0E30\u0E22\u0E30\u0E02\u0E31\u0E49\u0E19\u0E15\u0E48\u0E33\u0E08\u0E32\u0E01\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E17\u0E35\u0E48\u0E27\u0E31\u0E15\u0E16\u0E38\u0E16\u0E39\u0E01\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C \u0E04\u0E48\u0E32\u0E17\u0E35\u0E48\u0E2A\u0E39\u0E07\u0E02\u0E36\u0E49\u0E19\u0E25\u0E14 Z-fighting \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 1","mode.start.keymap_preference.desc":"\u0E2B\u0E32\u0E01\u0E04\u0E38\u0E13\u0E40\u0E1B\u0E47\u0E19\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E43\u0E2B\u0E21\u0E48\u0E02\u0E2D\u0E07 Blockbench \u0E41\u0E25\u0E30\u0E21\u0E32\u0E08\u0E32\u0E01\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21 3D \u0E2D\u0E37\u0E48\u0E19 \u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E07\u0E48\u0E32\u0E22\u0E02\u0E36\u0E49\u0E19 \u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E32\u0E23\u0E1C\u0E39\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E31\u0E19\u0E44\u0E14\u0E49\u0E20\u0E32\u0E22\u0E2B\u0E25\u0E31\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","message.load_keymap":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E19\u0E35\u0E49? \u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E19\u0E35\u0E49\u0E08\u0E30\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","message.keymap_loaded":"\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E41\u0E25\u0E49\u0E27","dialog.convert_project.current_format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","dialog.create_texture.rearrange_uv.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07 UV \u0E43\u0E2B\u0E21\u0E48\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2B\u0E19\u0E49\u0E32\u0E21\u0E35\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E40\u0E2D\u0E07\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.create_texture.power.desc":"\u0E25\u0E47\u0E2D\u0E01\u0E02\u0E19\u0E32\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E40\u0E1B\u0E47\u0E19\u0E01\u0E33\u0E25\u0E31\u0E07 2 \u0E40\u0E0A\u0E48\u0E19 64 \u0E2B\u0E23\u0E37\u0E2D 128 \u0E08\u0E33\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E40\u0E23\u0E2D\u0E23\u0E4C\u0E1A\u0E32\u0E07\u0E15\u0E31\u0E27","dialog.create_texture.double_use.desc":"\u0E2B\u0E32\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2A\u0E2D\u0E07\u0E2D\u0E31\u0E19\u0E21\u0E35\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48 UV \u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27 \u0E04\u0E07\u0E44\u0E27\u0E49\u0E43\u0E19\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E21\u0E48","dialog.create_texture.padding.desc":"\u0E40\u0E27\u0E49\u0E19\u0E23\u0E30\u0E22\u0E30\u0E2B\u0E48\u0E32\u0E07\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E19\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15","dialog.create_texture.resolution.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","dialog.create_gif.color":"\u0E2A\u0E35\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","dialog.save_angle.zoom":"\u0E0B\u0E39\u0E21","dialog.skin.variant":"\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23","dialog.flip_animation.info":"\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E14\u0E49\u0E32\u0E19\u0E15\u0E23\u0E07\u0E02\u0E49\u0E32\u0E21\u0E16\u0E39\u0E01\u0E23\u0E30\u0E1A\u0E38\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E27\u0E48\u0E32 'left' \u0E41\u0E25\u0E30 'right' \u0E43\u0E19\u0E0A\u0E37\u0E48\u0E2D","dialog.export_private_settings.title":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E31\u0E27","dialog.export_private_settings.message":"\u0E44\u0E1F\u0E25\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E31\u0E27\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49: **%0** \u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E04\u0E48\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49\u0E2B\u0E32\u0E01\u0E04\u0E38\u0E13\u0E27\u0E32\u0E07\u0E41\u0E1C\u0E19\u0E08\u0E30\u0E41\u0E0A\u0E23\u0E4C\u0E44\u0E1F\u0E25\u0E4C\u0E01\u0E31\u0E1A\u0E1C\u0E39\u0E49\u0E2D\u0E37\u0E48\u0E19","dialog.export_private_settings.keep":"\u0E04\u0E07\u0E44\u0E27\u0E49","settings.timecode_frame_number":"\u0E41\u0E2A\u0E14\u0E07\u0E23\u0E2B\u0E31\u0E2A\u0E40\u0E27\u0E25\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E40\u0E1F\u0E23\u0E21","settings.timecode_frame_number.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E23\u0E2B\u0E31\u0E2A\u0E40\u0E27\u0E25\u0E32\u0E40\u0E28\u0E29\u0E2A\u0E48\u0E27\u0E19\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E17\u0E19\u0E40\u0E0B\u0E19\u0E15\u0E34\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35","settings.animation_sample_rate":"\u0E2D\u0E31\u0E15\u0E23\u0E32\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.animation_sample_rate.desc":"\u0E2D\u0E31\u0E15\u0E23\u0E32\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07\u0E17\u0E35\u0E48\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E19\u0E31\u0E49\u0E19\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E42\u0E14\u0E22\u0E18\u0E23\u0E23\u0E21\u0E0A\u0E32\u0E15\u0E34","keybind.preview_zoom":"\u0E25\u0E32\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E0B\u0E39\u0E21","action.gradient_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E44\u0E25\u0E48\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E2A\u0E35","action.gradient_tool.desc":"\u0E27\u0E32\u0E14\u0E44\u0E25\u0E48\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E2A\u0E35\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.import_settings":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","action.import_settings.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C .bbsettings","action.export_settings":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","action.export_settings.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 Blockbench \u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C .bbsettings","action.load_keymap":"\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","action.load_keymap.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19 (\u0E41\u0E17\u0E23\u0E47\u0E04\u0E41\u0E1E\u0E14/\u0E40\u0E21\u0E32\u0E2A\u0E4C)","action.load_keymap.mouse":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19 (\u0E40\u0E21\u0E32\u0E2A\u0E4C)","action.load_keymap.default.desc":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E02\u0E2D\u0E07 Blockbench \u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E19\u0E33\u0E17\u0E32\u0E07\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E40\u0E2B\u0E21\u0E32\u0E30\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E17\u0E23\u0E47\u0E04\u0E41\u0E1E\u0E14\u0E41\u0E25\u0E47\u0E1B\u0E17\u0E47\u0E2D\u0E1B","action.load_keymap.mouse.desc":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E02\u0E2D\u0E07 Blockbench \u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E19\u0E33\u0E17\u0E32\u0E07\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E1C\u0E39\u0E01\u0E01\u0E31\u0E1A\u0E1B\u0E38\u0E48\u0E21\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E01\u0E25\u0E32\u0E07","action.load_keymap.blender.desc":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E17\u0E35\u0E48\u0E04\u0E38\u0E49\u0E19\u0E40\u0E04\u0E22\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E02\u0E2D\u0E07 Blender","action.load_keymap.cinema4d.desc":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E17\u0E35\u0E48\u0E04\u0E38\u0E49\u0E19\u0E40\u0E04\u0E22\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E02\u0E2D\u0E07 Cinema 4D","action.load_keymap.maya.desc":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E17\u0E35\u0E48\u0E04\u0E38\u0E49\u0E19\u0E40\u0E04\u0E22\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E02\u0E2D\u0E07 Autodesk Maya","action.import_keymap":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","action.import_keymap.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C .bbkeymap","action.export_keymap":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","action.export_keymap.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C .bbkeymap","action.edit_history":"\u0E1B\u0E23\u0E30\u0E27\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02...","action.edit_history.desc":"\u0E14\u0E39\u0E1B\u0E23\u0E30\u0E27\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E25\u0E30\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E2B\u0E23\u0E37\u0E2D\u0E17\u0E33\u0E0B\u0E49\u0E33\u0E02\u0E31\u0E49\u0E19\u0E15\u0E2D\u0E19","action.group_elements":"\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.group_elements.desc":"\u0E2B\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E21\u0E48","action.unfold_groups":"\u0E02\u0E22\u0E32\u0E22\u0E01\u0E25\u0E38\u0E48\u0E21","action.unfold_groups.desc":"\u0E02\u0E22\u0E32\u0E22\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.edit_bedrock_binding":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E01\u0E32\u0E23\u0E1C\u0E39\u0E01...","action.edit_bedrock_binding.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E17\u0E35\u0E48\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15\u0E1C\u0E39\u0E01\u0E2D\u0E22\u0E39\u0E48","action.pick_screen_color":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E08\u0E32\u0E01\u0E08\u0E2D","action.pick_screen_color.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E43\u0E14\u0E01\u0E47\u0E44\u0E14\u0E49\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.view_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","action.view_mode.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","action.view_mode.textured":"\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.view_mode.solid":"\u0E17\u0E36\u0E1A","action.view_mode.wireframe":"\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14","action.toggle_sidebars":"\u0E2A\u0E25\u0E31\u0E1A\u0E41\u0E16\u0E1A\u0E02\u0E49\u0E32\u0E07","action.toggle_sidebars.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E34\u0E14\u0E41\u0E16\u0E1A\u0E02\u0E49\u0E32\u0E07","action.set_animation_end":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.set_animation_end.desc":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.flip_animation":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.flip_animation.desc":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.graph_editor_zero_line":"\u0E23\u0E27\u0E21\u0E40\u0E2A\u0E49\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C","action.graph_editor_zero_line.desc":"\u0E27\u0E48\u0E32\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E01\u0E23\u0E32\u0E1F\u0E08\u0E30\u0E23\u0E27\u0E21\u0E40\u0E2A\u0E49\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E40\u0E2A\u0E21\u0E2D\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48","menu.texture.render_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C","menu.texture.render_mode.emissive":"\u0E40\u0E23\u0E37\u0E2D\u0E07\u0E41\u0E2A\u0E07","menu.texture.render_mode.layered":"\u0E41\u0E1A\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","menu.preview.angle.edit":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E21\u0E38\u0E21...","menu.animation.start_delay":"\u0E2B\u0E19\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.animation.loop_delay":"\u0E2B\u0E19\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E27\u0E19\u0E0B\u0E49\u0E33","menu.animation.flip_keyframes":"\u0E1E\u0E25\u0E34\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","menu.mobile_keyboard.disable_all":"\u0E1B\u0E34\u0E14\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","panel.keyframe.toggle_uniform_scale":"\u0E2A\u0E25\u0E31\u0E1A\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D","camera_angle.common_isometric_right":"\u0E44\u0E2D\u0E42\u0E0B\u0E40\u0E21\u0E15\u0E23\u0E34\u0E01\u0E02\u0E27\u0E32 (2:1)","camera_angle.common_isometric_left":"\u0E44\u0E2D\u0E42\u0E0B\u0E40\u0E21\u0E15\u0E23\u0E34\u0E01\u0E0B\u0E49\u0E32\u0E22 (2:1)","camera_angle.true_isometric_right":"\u0E44\u0E2D\u0E42\u0E0B\u0E40\u0E21\u0E15\u0E23\u0E34\u0E01\u0E02\u0E27\u0E32\u0E41\u0E17\u0E49 (30\xB0)","camera_angle.true_isometric_left":"\u0E44\u0E2D\u0E42\u0E0B\u0E40\u0E21\u0E15\u0E23\u0E34\u0E01\u0E0B\u0E49\u0E32\u0E22\u0E41\u0E17\u0E49 (30\xB0)","menu.help.wiki":"\u0E27\u0E34\u0E01\u0E34 Blockbench","settings.update_to_prereleases":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E38\u0E48\u0E19\u0E17\u0E14\u0E2A\u0E2D\u0E1A","settings.update_to_prereleases.desc":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E40\u0E1A\u0E15\u0E49\u0E32\u0E02\u0E2D\u0E07 Blockbench \u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E14\u0E2A\u0E2D\u0E1A\u0E1F\u0E35\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E21\u0E48 \u0E23\u0E38\u0E48\u0E19\u0E17\u0E14\u0E2A\u0E2D\u0E1A\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E40\u0E2A\u0E16\u0E35\u0E22\u0E23 \u0E2D\u0E22\u0E48\u0E32\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E19\u0E35\u0E49\u0E2B\u0E32\u0E01\u0E04\u0E38\u0E13\u0E1E\u0E36\u0E48\u0E07\u0E1E\u0E32 Blockbench \u0E43\u0E19\u0E01\u0E32\u0E23\u0E17\u0E33\u0E07\u0E32\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E2A\u0E33\u0E04\u0E31\u0E0D\u0E2D\u0E37\u0E48\u0E19\u0E46","data.separator.spacer":"\u0E15\u0E31\u0E27\u0E40\u0E27\u0E49\u0E19\u0E27\u0E23\u0E23\u0E04","data.separator.linebreak":"\u0E15\u0E31\u0E27\u0E41\u0E1A\u0E48\u0E07\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14","data.setting":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","generic.select_all":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","generic.select_none":"\u0E44\u0E21\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","projects.new_tab":"\u0E41\u0E17\u0E47\u0E1A\u0E43\u0E2B\u0E21\u0E48","projects.close_tab":"\u0E1B\u0E34\u0E14\u0E41\u0E17\u0E47\u0E1A","message.invalid_format.title":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_format.message":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E19\u0E35\u0E49\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A '%0' \u0E0B\u0E36\u0E48\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E43\u0E19 Blockbench \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13 \u0E04\u0E38\u0E13\u0E2D\u0E32\u0E08\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E14\u0E49\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_link":"\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38","message.default_textures.current":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","message.update_after_restart":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E08\u0E30\u0E16\u0E39\u0E01\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E2B\u0E25\u0E31\u0E07\u0E08\u0E32\u0E01\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17\u0E04\u0E23\u0E31\u0E49\u0E07\u0E16\u0E31\u0E14\u0E44\u0E1B","message.copy_paste_tool_viewport":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E19\u0E35\u0E49\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 2D \u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","dialog.project.shadow_size":"\u0E02\u0E19\u0E32\u0E14\u0E40\u0E07\u0E32","dialog.find_replace.target":"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22","dialog.find_replace.target.element_names":"\u0E0A\u0E37\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","dialog.find_replace.target.group_names":"\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21","dialog.find_replace.target.animation_names":"\u0E0A\u0E37\u0E48\u0E2D\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.find_replace.target.keyframe_values":"\u0E04\u0E48\u0E32\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","dialog.find_replace.find":"\u0E04\u0E49\u0E19\u0E2B\u0E32","dialog.find_replace.replace":"\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48","dialog.find_replace.regex":"\u0E19\u0E34\u0E1E\u0E08\u0E19\u0E4C\u0E1B\u0E23\u0E01\u0E15\u0E34","dialog.add_primitive.shape":"\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07","dialog.add_primitive.shape.circle":"\u0E27\u0E07\u0E01\u0E25\u0E21","dialog.add_primitive.shape.tube":"\u0E17\u0E48\u0E2D","dialog.add_primitive.shape.cone":"\u0E17\u0E23\u0E07\u0E01\u0E23\u0E27\u0E22","dialog.add_primitive.shape.cylinder":"\u0E17\u0E23\u0E07\u0E01\u0E23\u0E30\u0E1A\u0E2D\u0E01","dialog.add_primitive.shape.sphere":"\u0E17\u0E23\u0E07\u0E01\u0E25\u0E21","dialog.add_primitive.shape.torus":"\u0E17\u0E2D\u0E23\u0E31\u0E2A","dialog.add_primitive.shape.cube":"\u0E17\u0E23\u0E07\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E21\u0E38\u0E21\u0E09\u0E32\u0E01","dialog.add_primitive.shape.pyramid":"\u0E1E\u0E35\u0E23\u0E30\u0E21\u0E34\u0E14","dialog.add_primitive.diameter":"\u0E40\u0E2A\u0E49\u0E19\u0E1C\u0E48\u0E32\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","dialog.add_primitive.height":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E39\u0E07","dialog.add_primitive.sides":"\u0E14\u0E49\u0E32\u0E19","dialog.add_primitive.minor_diameter":"\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E19\u0E32","dialog.add_primitive.minor_sides":"\u0E14\u0E49\u0E32\u0E19\u0E23\u0E2D\u0E07","dialog.create_texture.combine_polys":"\u0E23\u0E27\u0E21\u0E44\u0E2D\u0E41\u0E25\u0E19\u0E14\u0E4C","dialog.create_texture.combine_polys.desc":"\u0E23\u0E27\u0E21\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E2D\u0E41\u0E25\u0E19\u0E14\u0E4C UV \u0E17\u0E35\u0E48\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D","dialog.model_stats.meshes":"\u0E40\u0E21\u0E0A","dialog.export_private_settings.omit":"\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21","layout.select":"\u0E40\u0E25\u0E37\u0E2D\u0E01","layout.options":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01","layout.color":"\u0E0A\u0E38\u0E14\u0E2A\u0E35","layout.documentation":"\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","layout.color.bright_ui_text":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21 UI \u0E2A\u0E27\u0E48\u0E32\u0E07","layout.color.bright_ui_text.desc":"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1A\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07\u0E2A\u0E27\u0E48\u0E32\u0E07","layout.name":"\u0E0A\u0E37\u0E48\u0E2D","layout.author":"\u0E1C\u0E39\u0E49\u0E2A\u0E23\u0E49\u0E32\u0E07","settings.dialog.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E42\u0E15\u0E49\u0E15\u0E2D\u0E1A '%0'","settings.export_empty_groups":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21\u0E27\u0E48\u0E32\u0E07","settings.export_empty_groups.desc":"\u0E23\u0E27\u0E21\u0E01\u0E25\u0E38\u0E48\u0E21\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","category.separators":"\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19","keybind.preview_area_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48","action.color_erase_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E25\u0E1A","action.color_erase_mode.desc":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E42\u0E2B\u0E21\u0E14\u0E25\u0E1A \u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E0A\u0E48\u0E19\u0E40\u0E15\u0E34\u0E21\u0E41\u0E25\u0E30\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E08\u0E30\u0E25\u0E1A\u0E2A\u0E35\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1E\u0E34\u0E48\u0E21","action.open_from_link":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E32\u0E01\u0E25\u0E34\u0E07\u0E01\u0E4C...","action.open_from_link.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E32\u0E01 URL blckbn.ch","action.import_obj":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25 OBJ","action.import_obj.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E08\u0E32\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 OBJ \u0E40\u0E1B\u0E47\u0E19\u0E40\u0E21\u0E0A","action.add_plugin":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","action.add_plugin.desc":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E1C\u0E48\u0E32\u0E19\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E41\u0E2D\u0E04\u0E0A\u0E31\u0E19","action.remove_plugin":"\u0E16\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","action.remove_plugin.desc":"\u0E16\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E1C\u0E48\u0E32\u0E19\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E41\u0E2D\u0E04\u0E0A\u0E31\u0E19","action.add_mesh":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E0A","action.add_mesh.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E0A\u0E43\u0E2B\u0E21\u0E48","action.add_texture_mesh":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E0A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.add_texture_mesh.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E0A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E21\u0E48","action.find_replace":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48","action.find_replace.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E25\u0E30\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E0A\u0E37\u0E48\u0E2D\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25","action.hide_everything_except_selection":"\u0E0B\u0E48\u0E2D\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E22\u0E01\u0E40\u0E27\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.hide_everything_except_selection.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E22\u0E01\u0E40\u0E27\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.transform_space.normal":"\u0E1B\u0E01\u0E15\u0E34","action.selection_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01","action.selection_mode.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E27\u0E34\u0E18\u0E35\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15","action.selection_mode.object":"\u0E27\u0E31\u0E15\u0E16\u0E38","action.selection_mode.face":"\u0E2B\u0E19\u0E49\u0E32","action.selection_mode.vertex":"\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.create_face":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E2D\u0E1A","action.create_face.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E2D\u0E1A\u0E43\u0E2B\u0E21\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.convert_to_mesh":"\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E21\u0E0A","action.convert_to_mesh.desc":"\u0E41\u0E1B\u0E25\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E21\u0E0A","action.invert_face":"\u0E01\u0E25\u0E31\u0E1A\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32","action.invert_face.desc":"\u0E01\u0E25\u0E31\u0E1A\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E49\u0E2B\u0E31\u0E19\u0E44\u0E1B\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E15\u0E23\u0E07\u0E02\u0E49\u0E32\u0E21","action.extrude_mesh_selection":"\u0E14\u0E36\u0E07\u0E2D\u0E2D\u0E01","action.extrude_mesh_selection.desc":"\u0E14\u0E36\u0E07\u0E2D\u0E2D\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E40\u0E21\u0E0A","action.loop_cut":"\u0E15\u0E31\u0E14\u0E27\u0E19","action.loop_cut.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E32\u0E23\u0E15\u0E31\u0E14\u0E27\u0E19\u0E1A\u0E19\u0E40\u0E21\u0E0A","action.merge_meshes":"\u0E1C\u0E2A\u0E32\u0E19\u0E40\u0E21\u0E0A","action.merge_meshes.desc":"\u0E1C\u0E2A\u0E32\u0E19\u0E40\u0E21\u0E0A\u0E2B\u0E25\u0E32\u0E22\u0E2D\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2D\u0E31\u0E19","action.keyframe_uniform":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D","action.keyframe_uniform.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D\u0E1A\u0E19\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.locator.ignore_inherited_scale":"\u0E40\u0E1E\u0E34\u0E01\u0E40\u0E09\u0E22\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E37\u0E1A\u0E17\u0E2D\u0E14","menu.texture.elements":"\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","uv_editor.transparent_face":"\u0E2B\u0E19\u0E49\u0E32\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","display.pose_angle":"\u0E21\u0E38\u0E21\u0E17\u0E48\u0E32\u0E17\u0E32\u0E07 (\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19)","data.mesh":"\u0E40\u0E21\u0E0A","dialog.create_texture.type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17","dialog.create_texture.type.blank":"\u0E40\u0E1B\u0E25\u0E48\u0E32","dialog.create_texture.type.template":"\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.create_texture.type.color_map":"\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15\u0E2A\u0E35\u0E17\u0E36\u0E1A","dialog.sketchfab_uploader.suggested_tags":"\u0E41\u0E17\u0E47\u0E01\u0E41\u0E19\u0E30\u0E19\u0E33","dialog.sketchfab_uploader.category":"\u0E2B\u0E21\u0E27\u0E14\u0E2B\u0E21\u0E39\u0E48","dialog.sketchfab_uploader.category2":"\u0E2B\u0E21\u0E27\u0E14\u0E2B\u0E21\u0E39\u0E48 2","layout.restore_backup":'\u0E18\u0E35\u0E21\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07 "%0" \u0E16\u0E39\u0E01\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A \u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E19\u0E35\u0E48\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19',"layout.borders":"\u0E02\u0E2D\u0E1A","action.fill_mode.element":"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.inset_mesh_selection":"\u0E40\u0E0B\u0E47\u0E15\u0E14\u0E49\u0E32\u0E19\u0E43\u0E19","action.inset_mesh_selection.desc":"\u0E40\u0E0B\u0E47\u0E15\u0E14\u0E49\u0E32\u0E19\u0E43\u0E19\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E21\u0E0A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.dissolve_edges":"\u0E25\u0E30\u0E25\u0E32\u0E22\u0E02\u0E2D\u0E1A","action.dissolve_edges.desc":"\u0E25\u0E30\u0E25\u0E32\u0E22\u0E02\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E40\u0E21\u0E0A\u0E41\u0E25\u0E30\u0E1C\u0E2A\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E48\u0E07","action.split_mesh":"\u0E41\u0E22\u0E01\u0E40\u0E21\u0E0A","action.split_mesh.desc":"\u0E41\u0E22\u0E01\u0E40\u0E21\u0E0A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E01\u0E31\u0E19","action.merge_vertices":"\u0E1C\u0E2A\u0E32\u0E19\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.merge_vertices.desc":"\u0E1C\u0E2A\u0E32\u0E19\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.view_mode.normal":"\u0E01\u0E32\u0E23\u0E27\u0E32\u0E07\u0E41\u0E19\u0E27\u0E2B\u0E19\u0E49\u0E32","action.snap_uv_to_pixels":"\u0E08\u0E31\u0E1A UV \u0E44\u0E1B\u0E22\u0E31\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","action.snap_uv_to_pixels.desc":"\u0E08\u0E31\u0E1A\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E01\u0E23\u0E34\u0E14\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","menu.file.import.import_open_project":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48","menu.help.unlock_projects":"\u0E1B\u0E25\u0E14\u0E25\u0E47\u0E2D\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","status_bar.selection.faces":"%0 \u0E2B\u0E19\u0E49\u0E32","status_bar.selection.vertices":"%0 \u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","message.merged_vertices":"\u0E1E\u0E1A\u0E41\u0E25\u0E30\u0E1C\u0E2A\u0E32\u0E19 %0 \u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E43\u0E19 %1 \u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","settings.vertex_merge_distance":"\u0E23\u0E30\u0E22\u0E30\u0E01\u0E32\u0E23\u0E1C\u0E2A\u0E32\u0E19\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","settings.vertex_merge_distance.desc":"\u0E23\u0E30\u0E22\u0E30\u0E17\u0E35\u0E48\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E08\u0E30\u0E16\u0E39\u0E01\u0E1C\u0E2A\u0E32\u0E19\u0E42\u0E14\u0E22\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E1C\u0E2A\u0E32\u0E19\u0E15\u0E32\u0E21\u0E23\u0E30\u0E22\u0E30","settings.show_only_selected_uv":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E09\u0E1E\u0E32\u0E30 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.show_only_selected_uv.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV \u0E42\u0E14\u0E22\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","action.merge_vertices.merge_all":"\u0E1C\u0E2A\u0E32\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.merge_vertices.merge_all_in_center":"\u0E1C\u0E2A\u0E32\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","action.merge_vertices.merge_by_distance":"\u0E1C\u0E2A\u0E32\u0E19\u0E15\u0E32\u0E21\u0E23\u0E30\u0E22\u0E30","action.merge_vertices.merge_by_distance_in_center":"\u0E1C\u0E2A\u0E32\u0E19\u0E15\u0E32\u0E21\u0E23\u0E30\u0E22\u0E30\u0E17\u0E35\u0E48\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","action.uv_rotate_left":"\u0E2B\u0E21\u0E38\u0E19 UV \u0E0B\u0E49\u0E32\u0E22","action.uv_rotate_left.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E27\u0E19\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","action.uv_rotate_right":"\u0E2B\u0E21\u0E38\u0E19 UV \u0E02\u0E27\u0E32","action.uv_rotate_right.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E32\u0E21\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","menu.uv.display_uv":"\u0E41\u0E2A\u0E14\u0E07 UV","menu.uv.display_uv.selected_faces":"\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.uv.display_uv.selected_elements":"\u0E17\u0E38\u0E01\u0E2B\u0E19\u0E49\u0E32","menu.uv.display_uv.all_elements":"\u0E17\u0E38\u0E01\u0E2B\u0E19\u0E49\u0E32\u0E1A\u0E19\u0E17\u0E38\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","menu.paste.face":"\u0E2B\u0E19\u0E49\u0E32 UV","menu.paste.mesh_selection":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E21\u0E0A","menu.paste.outliner":"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","uv_editor.show_all_faces":"\u0E41\u0E2A\u0E14\u0E07\u0E17\u0E38\u0E01\u0E2B\u0E19\u0E49\u0E32","uv_editor.show_selected_faces":"\u0E41\u0E2A\u0E14\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","status_bar.selection.edges":"%0 \u0E02\u0E2D\u0E1A","action.selection_mode.edge":"\u0E02\u0E2D\u0E1A","message.cannot_re_import.title":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25\u0E0B\u0E49\u0E33\u0E44\u0E14\u0E49","message.cannot_re_import.message":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E01\u0E25\u0E31\u0E1A\u0E40\u0E02\u0E49\u0E32 Blockbench \u0E44\u0E14\u0E49\u0E2D\u0E35\u0E01 \u0E01\u0E23\u0E38\u0E13\u0E32\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","generic.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","units.pixels_per_meter":"%0 \u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E15\u0E48\u0E2D\u0E40\u0E21\u0E15\u0E23","mode.pose":"\u0E17\u0E48\u0E32\u0E17\u0E32\u0E07","modifier_actions.resize_both_sides":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E17\u0E31\u0E49\u0E07\u0E2A\u0E2D\u0E07\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07","modifier_actions.resize_one_side":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E40\u0E14\u0E35\u0E22\u0E27","modifier_actions.draw_line":"\u0E27\u0E32\u0E14\u0E40\u0E2A\u0E49\u0E19","modifier_actions.drag_without_snapping":"\u0E25\u0E32\u0E01\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","modifier_actions.stretch_keyframes":"\u0E22\u0E37\u0E14\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","modifier_actions.resize_background":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","modifier_actions.select_multiple":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E25\u0E32\u0E22\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23","modifier_actions.select_range":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E0A\u0E48\u0E27\u0E07","modifier_actions.drag_to_duplicate":"\u0E25\u0E32\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E0B\u0E49\u0E33","modifier_actions.uniform_scaling":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D","modifier_actions.snap_direction":"\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","message.no_valid_elements":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E16\u0E39\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01...","dialog.add_primitive.shape.plane":"\u0E23\u0E30\u0E19\u0E32\u0E1A","dialog.save_angle.rotation_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","dialog.save_angle.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"\u0E0B\u0E48\u0E2D\u0E19\u0E41\u0E16\u0E1A\u0E41\u0E17\u0E47\u0E1A","settings.hide_tab_bar.desc":"\u0E0B\u0E48\u0E2D\u0E19\u0E41\u0E16\u0E1A\u0E41\u0E17\u0E47\u0E1A\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E41\u0E17\u0E47\u0E1A\u0E40\u0E14\u0E35\u0E22\u0E27","settings.status_bar_modifier_keys":"\u0E41\u0E19\u0E30\u0E19\u0E33\u0E1B\u0E38\u0E48\u0E21\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07\u0E43\u0E19\u0E41\u0E16\u0E1A\u0E2A\u0E16\u0E32\u0E19\u0E30","settings.status_bar_modifier_keys.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E1B\u0E38\u0E48\u0E21\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07\u0E17\u0E35\u0E48\u0E41\u0E19\u0E30\u0E19\u0E33\u0E15\u0E32\u0E21\u0E1A\u0E23\u0E34\u0E1A\u0E17\u0E43\u0E19\u0E41\u0E16\u0E1A\u0E2A\u0E16\u0E32\u0E19\u0E30","settings.ground_plane":"\u0E23\u0E30\u0E19\u0E32\u0E1A\u0E1E\u0E37\u0E49\u0E19","settings.ground_plane.desc":"\u0E41\u0E2A\u0E14\u0E01\u0E23\u0E30\u0E19\u0E32\u0E1A\u0E1E\u0E37\u0E49\u0E19\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","settings.preview_paste_behavior":"\u0E1E\u0E24\u0E15\u0E34\u0E01\u0E23\u0E23\u0E21\u0E01\u0E32\u0E23\u0E27\u0E32\u0E07\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.preview_paste_behavior.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1E\u0E24\u0E15\u0E34\u0E01\u0E23\u0E23\u0E21\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E27\u0E32\u0E07\u0E1A\u0E32\u0E07\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E25\u0E30\u0E21\u0E35\u0E2B\u0E25\u0E32\u0E22\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.preview_paste_behavior.always_ask":"\u0E16\u0E32\u0E21\u0E17\u0E38\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07","action.new_window":"\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E43\u0E2B\u0E21\u0E48","action.new_window.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07 Blockbench \u0E43\u0E2B\u0E21\u0E48","action.export_collada":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 Collada (dae)","action.export_collada.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E25\u0E30\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C dae \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E41\u0E2D\u0E1B 3D \u0E2D\u0E37\u0E48\u0E19","action.paint_mode_uv_overlay":"\u0E01\u0E32\u0E23\u0E0B\u0E49\u0E2D\u0E19 UV","action.paint_mode_uv_overlay.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 UV \u0E40\u0E1B\u0E47\u0E19\u0E01\u0E32\u0E23\u0E0B\u0E49\u0E2D\u0E19\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E32\u0E14","action.bake_animation_into_model":"\u0E40\u0E1A\u0E04\u0E17\u0E48\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E25\u0E07\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25","action.bake_animation_into_model.desc":"\u0E40\u0E1A\u0E04\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E25\u0E07\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25 \u0E43\u0E0A\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E41\u0E25\u0E30\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07 \u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E08\u0E30\u0E16\u0E39\u0E01\u0E25\u0E30\u0E40\u0E25\u0E22","action.keyframe_interpolation.step":"\u0E02\u0E31\u0E49\u0E19\u0E1A\u0E31\u0E19\u0E44\u0E14","action.set_ik_target":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22 IK","action.set_ik_target.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22\u0E17\u0E35\u0E48\u0E04\u0E27\u0E23\u0E16\u0E39\u0E01\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E42\u0E14\u0E22\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49\u0E1C\u0E48\u0E32\u0E19 Inverse Kinematics","menu.action_control.type.tab":"\u0E41\u0E17\u0E47\u0E1A","menu.action_control.type.angle":"\u0E21\u0E38\u0E21\u0E01\u0E25\u0E49\u0E2D\u0E07","menu.action_control.recent_in_streamer_mode":"\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48? \u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E15\u0E23\u0E35\u0E21\u0E40\u0E21\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48","menu.action_control.recent_in_streamer_mode.desc":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14?","menu.tools":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","menu.file.recent.more":"\u0E14\u0E39\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21...","menu.null_object.lock_ik_target_rotation":"\u0E25\u0E47\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22 IK","menu.animation_file.import_remaining":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C","edit.loop_cut.offset":"\u0E2D\u0E2D\u0E1F\u0E40\u0E0B\u0E47\u0E15","edit.extrude_mesh_selection.extend":"\u0E02\u0E22\u0E32\u0E22","cube.color.pink":"\u0E0A\u0E21\u0E1E\u0E39","cube.color.silver":"\u0E40\u0E07\u0E34\u0E19","dialog.plugins.offline":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E19\u0E47\u0E15","dialog.create_texture.pixel_density":"\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E19\u0E32\u0E41\u0E19\u0E48\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","dialog.create_texture.pixel_density.desc":"\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E19\u0E32\u0E41\u0E19\u0E48\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C \u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E15\u0E48\u0E2D\u0E40\u0E21\u0E15\u0E23 \u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E32\u0E08\u0E41\u0E15\u0E01\u0E15\u0E48\u0E32\u0E07\u0E01\u0E31\u0E19\u0E02\u0E36\u0E49\u0E19\u0E2D\u0E22\u0E39\u0E48\u0E01\u0E31\u0E1A\u0E08\u0E33\u0E19\u0E27\u0E19\u0E41\u0E25\u0E30\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","panel.skin_pose":"\u0E17\u0E48\u0E32\u0E17\u0E32\u0E07","panel.skin_pose.none":"\u0E44\u0E21\u0E48\u0E21\u0E35","panel.skin_pose.natural":"\u0E18\u0E23\u0E23\u0E21\u0E0A\u0E32\u0E15\u0E34","panel.skin_pose.walking":"\u0E40\u0E14\u0E34\u0E19","panel.skin_pose.crouching":"\u0E22\u0E48\u0E2D","panel.skin_pose.sitting":"\u0E19\u0E31\u0E48\u0E07","panel.skin_pose.jumping":"\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14","panel.skin_pose.aiming":"\u0E40\u0E25\u0E47\u0E07","edit.loop_cut.direction":"\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07","data.texture_mesh":"\u0E40\u0E21\u0E0A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","generic.left":"\u0E0B\u0E49\u0E32\u0E22","generic.right":"\u0E02\u0E27\u0E32","mode.start.quick_setup":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E14\u0E48\u0E27\u0E19","mode.start.keymap":"\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14","mode.start.quick_setup.more_themes":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21...","dialog.resize_texture.animation_frames":"\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.export_emission_map.title":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48\u0E40\u0E23\u0E37\u0E2D\u0E07\u0E41\u0E2A\u0E07","dialog.export_emission_map.format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","dialog.export_emission_map.format.luminance":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07","dialog.export_emission_map.format.luminance_inverted":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E01\u0E25\u0E31\u0E1A\u0E14\u0E49\u0E32\u0E19","dialog.export_emission_map.format.colors":"\u0E2A\u0E35","dialog.export_emission_map.threshold":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E04\u0E27\u0E32\u0E21\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","dialog.export_emission_map.round_up":"\u0E1B\u0E31\u0E14\u0E02\u0E36\u0E49\u0E19\u0E40\u0E1B\u0E47\u0E19 %0 x %1","dialog.export_emission_map.flip_y":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E01\u0E19 Y","dialog.select.type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","dialog.create_texture.max_edge_angle":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E21\u0E38\u0E21\u0E02\u0E2D\u0E1A","dialog.create_texture.max_edge_angle.desc":"\u0E21\u0E38\u0E21\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E2A\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E04\u0E07\u0E16\u0E39\u0E01\u0E23\u0E27\u0E21\u0E01\u0E31\u0E19","dialog.create_texture.max_island_angle":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E21\u0E38\u0E21\u0E44\u0E2D\u0E41\u0E25\u0E19\u0E14\u0E4C","dialog.create_texture.max_island_angle.desc":"\u0E21\u0E38\u0E21\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E27\u0E21\u0E40\u0E02\u0E49\u0E32\u0E43\u0E19\u0E44\u0E2D\u0E41\u0E25\u0E19\u0E14\u0E4C UV \u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19","settings.mobile_panel_side":"\u0E14\u0E49\u0E32\u0E19\u0E41\u0E1C\u0E07\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D","settings.mobile_panel_side.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E14\u0E49\u0E32\u0E19\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07\u0E41\u0E1C\u0E07\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49 Blockbench \u0E43\u0E19\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","settings.obj_face_export_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2B\u0E19\u0E49\u0E32 OBJ","settings.obj_face_export_mode.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E49\u0E15\u0E31\u0E27\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01 OBJ \u0E41\u0E1B\u0E25\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E32\u0E21\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","settings.obj_face_export_mode.both":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.obj_face_export_mode.tris":"\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E32\u0E21\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","settings.obj_face_export_mode.quads":"\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","action.seam_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D Seam","action.seam_tool.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E01\u0E33\u0E2B\u0E19\u0E14 Seam UV \u0E1A\u0E19\u0E02\u0E2D\u0E1A\u0E40\u0E21\u0E0A","action.resolve_group":"\u0E22\u0E38\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21","action.resolve_group.desc":"\u0E22\u0E38\u0E1A\u0E01\u0E25\u0E38\u0E48\u0E21\u0E42\u0E14\u0E22\u0E22\u0E31\u0E07\u0E04\u0E07\u0E23\u0E31\u0E01\u0E29\u0E32\u0E25\u0E39\u0E01\u0E44\u0E27\u0E49\u0E43\u0E19\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E40\u0E14\u0E34\u0E21","action.move_to_group":"\u0E22\u0E49\u0E32\u0E22\u0E44\u0E1B\u0E22\u0E31\u0E07","action.move_to_group.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2D\u0E37\u0E48\u0E19\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.select_seam":"\u0E40\u0E25\u0E37\u0E2D\u0E01 Seam UV","action.select_seam.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E2B\u0E21\u0E14 Seam UV \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E02\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.select_seam.auto":"\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.select_seam.join":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21","action.select_seam.divide":"\u0E41\u0E1A\u0E48\u0E07","action.adjust_brightness_contrast":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E41\u0E25\u0E30\u0E04\u0E2D\u0E19\u0E17\u0E23\u0E32\u0E2A\u0E15\u0E4C...","action.adjust_brightness_contrast.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E41\u0E25\u0E30\u0E04\u0E2D\u0E19\u0E17\u0E23\u0E32\u0E2A\u0E15\u0E4C\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.adjust_saturation_hue":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2D\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27\u0E41\u0E25\u0E30\u0E40\u0E09\u0E14\u0E2A\u0E35...","action.adjust_saturation_hue.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2D\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27\u0E41\u0E25\u0E30\u0E40\u0E09\u0E14\u0E2A\u0E35\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.invert_colors":"\u0E01\u0E25\u0E31\u0E1A\u0E2A\u0E35","action.invert_colors.desc":"\u0E01\u0E25\u0E31\u0E1A\u0E2A\u0E35\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.adjust_curves":"\u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07...","action.adjust_curves.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.flip_texture_x":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.flip_texture_y":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.resize_texture":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.view_mode.uv":"\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07 UV","action.append_to_template":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15...","action.append_to_template.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.move_texture_with_uv":"\u0E22\u0E49\u0E32\u0E22\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1E\u0E23\u0E49\u0E2D\u0E21 UV","action.move_texture_with_uv.desc":"\u0E22\u0E49\u0E32\u0E22\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E44\u0E1B\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E25\u0E32\u0E01\u0E2B\u0E19\u0E49\u0E32 UV","action.timeline_setups":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.save_timeline_setup":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C...","action.save_timeline_setup.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E0A\u0E48\u0E2D\u0E07\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.texture":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","menu.texture.render_mode.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.texture.merge_onto_texture":"\u0E1C\u0E2A\u0E32\u0E19\u0E25\u0E07\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19","menu.animation.unload":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E42\u0E2B\u0E25\u0E14","panel.timeline":"\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.pan_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E41\u0E1E\u0E19","action.pan_tool.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E19\u0E33\u0E17\u0E32\u0E07\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E41\u0E25\u0E30\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","mode.start.recent.favorite":"\u0E17\u0E33\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14","mode.start.info":"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","mode.start.target":"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22","mode.start.start":"\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","mode.start.create_new":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E2B\u0E21\u0E48","mode.start.format.informations":"\u0E19\u0E48\u0E32\u0E23\u0E39\u0E49:","mode.start.format.resources":"\u0E17\u0E23\u0E31\u0E1E\u0E22\u0E32\u0E01\u0E23:","format.free.info.meshes":"\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E19\u0E35\u0E49 \u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E42\u0E25\u0E27\u0E4C\u0E42\u0E1E\u0E25\u0E35\u0E14\u0E49\u0E27\u0E22\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E41\u0E25\u0E30\u0E40\u0E21\u0E0A\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","format.free.info.limitation":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E40\u0E01\u0E21\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E09\u0E1E\u0E32\u0E30 \u0E40\u0E0A\u0E48\u0E19 Minecraft","format.skin.info.skin":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E19\u0E35\u0E49\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E01\u0E34\u0E19 Minecraft \u0E41\u0E25\u0E30\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35","format.skin.info.model":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E14\u0E49 \u0E2B\u0E32\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E42\u0E21\u0E40\u0E14\u0E25 \u0E43\u0E2B\u0E49\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E2D\u0E37\u0E48\u0E19\u0E1C\u0E48\u0E32\u0E19 **\u0E44\u0E1F\u0E25\u0E4C** > **\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C**","format.java_block.info.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E08\u0E33\u0E01\u0E31\u0E14\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E41\u0E01\u0E19\u0E15\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","format.java_block.info.size":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14 3x3x3 \u0E1A\u0E25\u0E47\u0E2D\u0E01 \u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E43\u0E2B\u0E0D\u0E48\u0E02\u0E36\u0E49\u0E19\u0E44\u0E14\u0E49","format.java_block.info.animation":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E19\u0E35\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E19 Minecraft \u0E41\u0E1A\u0E1A\u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21 \u0E2B\u0E32\u0E01\u0E04\u0E38\u0E13\u0E01\u0E33\u0E25\u0E31\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E21\u0E47\u0E2D\u0E14 \u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49 GeckoLib \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E14\u0E49 \u0E2B\u0E32\u0E01\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48 \u0E27\u0E34\u0E18\u0E35\u0E40\u0E14\u0E35\u0E22\u0E27\u0E04\u0E37\u0E2D\u0E2A\u0E25\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E42\u0E14\u0E22\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","format.bedrock.info.textures":"\u0E41\u0E15\u0E48\u0E25\u0E30\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E44\u0E14\u0E49\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2D\u0E31\u0E19\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","format.bedrock_block":"\u0E1A\u0E25\u0E47\u0E2D\u0E01 Bedrock","format.bedrock_block.desc":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E31\u0E19\u0E08\u0E33\u0E01\u0E31\u0E14\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21","format.modded_entity.info.format":"\u0E42\u0E21\u0E40\u0E14\u0E25\u0E16\u0E39\u0E01\u0E40\u0E02\u0E35\u0E22\u0E19\u0E43\u0E19\u0E42\u0E04\u0E49\u0E14 Java \u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E42\u0E04\u0E23\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E2D\u0E37\u0E48\u0E19\u0E46 \u0E02\u0E2D\u0E07 Blockbench","format.optifine_entity.info.optifine_required":"\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 OptiFine \u0E08\u0E30\u0E44\u0E21\u0E48\u0E40\u0E2B\u0E47\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25","format.optifine_entity.info.pivots":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E16\u0E39\u0E01\u0E25\u0E47\u0E2D\u0E01 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E04\u0E27\u0E23\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E44\u0E27\u0E49\u0E44\u0E21\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07","format_category.low_poly":"\u0E42\u0E25\u0E27\u0E4C\u0E42\u0E1E\u0E25\u0E35","format_category.minecraft":"Minecraft","format_category.other":"\u0E2D\u0E37\u0E48\u0E19\u0E46","format_category.loaders":"\u0E15\u0E31\u0E27\u0E42\u0E2B\u0E25\u0E14","message.recover_backup.recover":"\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19","message.invalid_characters.title":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.invalid_characters.message":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E21\u0E35\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30 \u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E43\u0E2B\u0E0D\u0E48 \u0E2B\u0E23\u0E37\u0E2D\u0E0A\u0E48\u0E2D\u0E07\u0E27\u0E48\u0E32\u0E07\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07 \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E17\u0E35\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E04\u0E37\u0E2D: %0","dialog.share_model.thumbnail":"\u0E20\u0E32\u0E1E\u0E1B\u0E01","dialog.skin.high_res_texture":"\u0E42\u0E1B\u0E23\u0E14\u0E17\u0E23\u0E32\u0E1A\u0E27\u0E48\u0E32\u0E2A\u0E01\u0E34\u0E19\u0E17\u0E35\u0E48\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E08\u0E30\u0E44\u0E21\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E01\u0E34\u0E19 Minecraft \u0E1B\u0E01\u0E15\u0E34 \u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E17\u0E35\u0E48\u0E15\u0E48\u0E33\u0E01\u0E27\u0E48\u0E32","settings.allow_display_slot_mirror":"\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E01\u0E32\u0E23\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E0A\u0E48\u0E2D\u0E07\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","settings.allow_display_slot_mirror.desc":"\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E0A\u0E48\u0E2D\u0E07\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E2D\u0E40\u0E17\u0E21 Java \u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 \u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19: \u0E17\u0E33\u0E07\u0E32\u0E19\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E43\u0E19 Minecraft 1.14 \u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E01\u0E48\u0E32\u0E01\u0E27\u0E48\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E43\u0E19\u0E01\u0E23\u0E13\u0E35\u0E1E\u0E34\u0E40\u0E28\u0E29","action.switch_tabs":"\u0E2A\u0E25\u0E31\u0E1A\u0E41\u0E17\u0E47\u0E1A","action.switch_tabs.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E41\u0E17\u0E47\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48 \u0E01\u0E14 Shift \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E25\u0E31\u0E1A\u0E43\u0E19\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E19\u0E02\u0E49\u0E32\u0E21","action.unselect_all":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.save_palette":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15...","action.save_palette.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E2A\u0E35\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E43\u0E19 Blockbench \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E20\u0E32\u0E22\u0E2B\u0E25\u0E31\u0E07","action.keyframe_column_create":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.keyframe_column_create.desc":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E17\u0E38\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19 \u0E2B\u0E32\u0E01\u0E21\u0E35\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27","action.keyframe_column_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.keyframe_column_select.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E15\u0E32\u0E21\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E43\u0E15\u0E49\u0E40\u0E2E\u0E14\u0E40\u0E1E\u0E25\u0E22\u0E4C","menu.uv":"UV","menu.keyframe":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","menu.palette.load.update":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","menu.palette.load.update.desc":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E19\u0E35\u0E49\u0E14\u0E49\u0E27\u0E22\u0E2A\u0E35\u0E02\u0E2D\u0E07\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15 Blockbench \u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","menu.timeline_marker.set_time":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E27\u0E25\u0E32...","uv_editor.scale_uv":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14 UV","action.preview_scene":"\u0E09\u0E32\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","action.preview_scene.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E09\u0E32\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","preview_scene.minecraft_overworld":"\u0E42\u0E2D\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E40\u0E27\u0E34\u0E25\u0E14\u0E4C","preview_scene.minecraft_nether":"\u0E40\u0E19\u0E40\u0E18\u0E2D\u0E23\u0E4C","preview_scene.minecraft_end":"\u0E14\u0E34\u0E40\u0E2D\u0E19\u0E14\u0E4C","dialog.project.modded_entity_flip_y":"\u0E1E\u0E25\u0E34\u0E01\u0E41\u0E01\u0E19 Y","preview_scene.studio":"\u0E2A\u0E15\u0E39\u0E14\u0E34\u0E42\u0E2D","format.image":"\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","modifier_actions.set_copy_source":"\u0E15\u0E31\u0E49\u0E07\u0E41\u0E2B\u0E25\u0E48\u0E07\u0E17\u0E35\u0E48\u0E21\u0E32\u0E02\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","message.load_images.title":"\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","message.load_images.edit_image":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","dialog.add_primitive.align_edges":"\u0E08\u0E31\u0E14\u0E02\u0E2D\u0E1A","dialog.flip_animation.show_in_timeline":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E17\u0E35\u0E48\u0E41\u0E01\u0E49\u0E44\u0E02\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","settings.default_cube_size":"\u0E02\u0E19\u0E32\u0E14\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.default_cube_size.desc":"\u0E02\u0E19\u0E32\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E2B\u0E21\u0E48","settings.uniform_keyframe":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D","settings.uniform_keyframe.desc":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D\u0E42\u0E14\u0E22\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.nearest_rectangle_select":"\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21: \u0E02\u0E2D\u0E1A\u0E43\u0E01\u0E25\u0E49\u0E2A\u0E38\u0E14","settings.nearest_rectangle_select.desc":"\u0E08\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E02\u0E2D\u0E1A\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E43\u0E01\u0E25\u0E49\u0E2A\u0E38\u0E14 \u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E43\u0E19 GIMP \u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","settings.pick_color_opacity":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E2A\u0E35","settings.pick_color_opacity.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E2A\u0E35\u0E14\u0E49\u0E27\u0E22\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E41\u0E25\u0E30\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E02\u0E2D\u0E07\u0E41\u0E1B\u0E23\u0E07","settings.paint_with_stylus_only":"\u0E27\u0E32\u0E14\u0E14\u0E49\u0E27\u0E22\u0E2A\u0E44\u0E15\u0E25\u0E31\u0E2A\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","settings.paint_with_stylus_only.desc":"\u0E43\u0E0A\u0E49\u0E2A\u0E44\u0E15\u0E25\u0E31\u0E2A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E27\u0E32\u0E14\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19 \u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E31\u0E21\u0E1C\u0E31\u0E2A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E19\u0E33\u0E17\u0E32\u0E07","action.copy_brush_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","action.copy_brush_mode.copy":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","action.copy_brush_mode.pattern":"\u0E25\u0E27\u0E14\u0E25\u0E32\u0E22","action.copy_brush_mode.sample":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","action.brush_shape":"\u0E23\u0E39\u0E1B\u0E23\u0E48\u0E32\u0E07\u0E41\u0E1B\u0E23\u0E07","action.brush_shape.square":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","action.brush_shape.circle":"\u0E27\u0E07\u0E01\u0E25\u0E21","action.blend_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E1C\u0E2A\u0E21","action.blend_mode.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","action.blend_mode.set_opacity":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A","action.blend_mode.color":"\u0E2A\u0E35","action.blend_mode.behind":"\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E25\u0E31\u0E07","action.blend_mode.multiply":"\u0E04\u0E39\u0E13","action.blend_mode.divide":"\u0E2B\u0E32\u0E23","action.blend_mode.add":"\u0E40\u0E1E\u0E34\u0E48\u0E21","action.blend_mode.subtract":"\u0E25\u0E1A","action.blend_mode.screen":"\u0E2A\u0E01\u0E23\u0E35\u0E19","action.blend_mode.overlay":"\u0E0B\u0E49\u0E2D\u0E19\u0E17\u0E31\u0E1A","action.blend_mode.hard_light":"\u0E41\u0E2A\u0E07\u0E41\u0E02\u0E47\u0E07","action.blend_mode.difference":"\u0E04\u0E27\u0E32\u0E21\u0E41\u0E15\u0E01\u0E15\u0E48\u0E32\u0E07","action.copy_brush":"\u0E41\u0E1B\u0E23\u0E07\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","action.copy_brush.desc":"\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E42\u0E04\u0E25\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E27\u0E32\u0E14\u0E25\u0E27\u0E14\u0E25\u0E32\u0E22 \u0E01\u0E14 Ctrl \u0E04\u0E49\u0E32\u0E07\u0E41\u0E25\u0E30\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E2B\u0E25\u0E48\u0E07\u0E17\u0E35\u0E48\u0E21\u0E32\u0E02\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01","action.validator_window":"\u0E14\u0E39\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25...","action.validator_window.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E15\u0E31\u0E27\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A \u0E0B\u0E36\u0E48\u0E07\u0E41\u0E2A\u0E14\u0E07\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.cancel_gif":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01 GIF","menu.text_edit.copy_vector":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E40\u0E27\u0E01\u0E40\u0E15\u0E2D\u0E23\u0E4C","menu.brush_presets.dialog":"\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E1B\u0E23\u0E07...","menu.brush_presets.pixel_brush":"\u0E41\u0E1B\u0E23\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","menu.brush_presets.smooth_brush":"\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E23\u0E35\u0E22\u0E1A","menu.texture.edit_in_blockbench":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E43\u0E19 Blockbench","menu.mirror_painting.axis":"\u0E41\u0E01\u0E19","menu.mirror_painting.axis.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E01\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14","menu.mirror_painting.global":"\u0E2A\u0E21\u0E21\u0E32\u0E15\u0E23\u0E17\u0E31\u0E48\u0E27\u0E42\u0E25\u0E01","menu.mirror_painting.global.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E1A\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E27\u0E19\u0E01\u0E25\u0E32\u0E07","menu.mirror_painting.local":"\u0E2A\u0E21\u0E21\u0E32\u0E15\u0E23\u0E17\u0E49\u0E2D\u0E07\u0E16\u0E34\u0E48\u0E19","menu.mirror_painting.local.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E17\u0E49\u0E2D\u0E07\u0E16\u0E34\u0E48\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","menu.mirror_painting.texture_frames":"\u0E17\u0E33\u0E0B\u0E49\u0E33\u0E1A\u0E19\u0E40\u0E1F\u0E23\u0E21\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04","menu.mirror_painting.texture_frames.desc":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E17\u0E38\u0E01\u0E40\u0E1F\u0E23\u0E21\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27","format.bedrock_block.info.size_limit":"\u0E02\u0E19\u0E32\u0E14\u0E23\u0E27\u0E21\u0E02\u0E2D\u0E07\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E08\u0E33\u0E01\u0E31\u0E14\u0E17\u0E35\u0E48 30 \u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E43\u0E19\u0E17\u0E38\u0E01\u0E21\u0E34\u0E15\u0E34 \u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07\u0E44\u0E14\u0E49 7 \u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E43\u0E19\u0E17\u0E38\u0E01\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07","format.bedrock_block.info.textures":"\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E25\u0E32\u0E22\u0E2D\u0E31\u0E19\u0E01\u0E31\u0E1A\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E15\u0E48\u0E32\u0E07\u0E46 \u0E43\u0E19 Blockbench \u0E44\u0E14\u0E49 \u0E41\u0E15\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E43\u0E19\u0E41\u0E1E\u0E47\u0E04\u0E1E\u0E24\u0E15\u0E34\u0E01\u0E23\u0E23\u0E21\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E17\u0E33\u0E07\u0E32\u0E19\u0E43\u0E19\u0E40\u0E01\u0E21\u0E44\u0E14\u0E49\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","format.image.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E 2D","generic.delete_all":"\u0E25\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","message.child_model_only.open":"\u0E40\u0E1B\u0E34\u0E14\u0E15\u0E49\u0E19\u0E41\u0E1A\u0E1A","message.child_model_only.open_with_textures":"\u0E40\u0E1B\u0E34\u0E14\u0E15\u0E49\u0E19\u0E41\u0E1A\u0E1A\u0E41\u0E25\u0E30\u0E19\u0E33\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E43\u0E0A\u0E49","dialog.project.credit":"\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15","dialog.convert_project.create_copy":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E33\u0E40\u0E19\u0E32","dialog.texture.frame_time":"\u0E40\u0E27\u0E25\u0E32\u0E40\u0E1F\u0E23\u0E21","dialog.texture.frame_time.desc":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E23\u0E30\u0E22\u0E30\u0E40\u0E27\u0E25\u0E32\u0E17\u0E35\u0E48\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E15\u0E48\u0E25\u0E30\u0E40\u0E1F\u0E23\u0E21\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07 \u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E48\u0E27\u0E22 tick 1 tick \u0E40\u0E17\u0E48\u0E32\u0E01\u0E31\u0E1A 1/20 \u0E27\u0E34\u0E19\u0E32\u0E17\u0E35","dialog.texture.frame_interpolate":"\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E48\u0E32\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1F\u0E23\u0E21","dialog.texture.frame_interpolate.desc":"\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E48\u0E32\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E04\u0E48\u0E2D\u0E22\u0E46 \u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1B\u0E40\u0E1F\u0E23\u0E21\u0E16\u0E31\u0E14\u0E44\u0E1B","dialog.texture.frame_order_type":"\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E19\u0E0B\u0E49\u0E33","dialog.texture.frame_order_type.loop":"\u0E27\u0E19\u0E0B\u0E49\u0E33","dialog.texture.frame_order_type.backwards":"\u0E27\u0E19\u0E0B\u0E49\u0E33\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A","dialog.texture.frame_order_type.back_and_forth":"\u0E44\u0E1B-\u0E01\u0E25\u0E31\u0E1A","dialog.texture.frame_order_type.custom":"\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","dialog.texture.frame_order":"\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E40\u0E1F\u0E23\u0E21","dialog.texture.frame_order.desc":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E1A\u0E1A\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07\u0E42\u0E14\u0E22\u0E23\u0E30\u0E1A\u0E38\u0E14\u0E31\u0E0A\u0E19\u0E35\u0E40\u0E1F\u0E23\u0E21\u0E43\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E43\u0E2B\u0E21\u0E48 \u0E14\u0E31\u0E0A\u0E19\u0E35\u0E40\u0E1F\u0E23\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E08\u0E32\u0E01 0 \u0E17\u0E35\u0E48\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E23\u0E01","dialog.select.mode":"\u0E42\u0E2B\u0E21\u0E14","dialog.select.mode.new":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E21\u0E48","dialog.select.mode.add":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.select.mode.remove":"\u0E25\u0E1A\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.select.mode.in_selection":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.predicate_overrides.model":"\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.predicate_overrides.predicates":"\u0E40\u0E1E\u0E23\u0E14\u0E34\u0E40\u0E04\u0E15","dialog.predicate_overrides.variants":"\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23","dialog.predicate_overrides.start_value":"\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","dialog.predicate_overrides.add_override":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E42\u0E2D\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E44\u0E23\u0E14\u0E4C","dialog.predicate_overrides.add_predicate":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E1E\u0E23\u0E14\u0E34\u0E40\u0E04\u0E15","dialog.predicate_overrides.generate_overrides":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E2D\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E44\u0E23\u0E14\u0E4C","dialog.predicate_overrides.confirm_delete":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E42\u0E2D\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E44\u0E23\u0E14\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14?","dialog.predicate_overrides.predicate.angle":"\u0E21\u0E38\u0E21\u0E40\u0E02\u0E47\u0E21\u0E17\u0E34\u0E28","dialog.predicate_overrides.predicate.blocking":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1A\u0E25\u0E47\u0E2D\u0E01","dialog.predicate_overrides.predicate.broken":"\u0E1E\u0E31\u0E07\u0E41\u0E25\u0E49\u0E27","dialog.predicate_overrides.predicate.cast":"\u0E16\u0E39\u0E01\u0E42\u0E22\u0E19","dialog.predicate_overrides.predicate.cooldown":"\u0E04\u0E39\u0E25\u0E14\u0E32\u0E27\u0E19\u0E4C","dialog.predicate_overrides.predicate.damage":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E2A\u0E35\u0E22\u0E2B\u0E32\u0E22","dialog.predicate_overrides.predicate.damaged":"\u0E40\u0E2A\u0E35\u0E22\u0E2B\u0E32\u0E22","dialog.predicate_overrides.predicate.lefthanded":"\u0E16\u0E19\u0E31\u0E14\u0E0B\u0E49\u0E32\u0E22","dialog.predicate_overrides.predicate.pull":"\u0E1B\u0E23\u0E34\u0E21\u0E32\u0E13\u0E14\u0E36\u0E07","dialog.predicate_overrides.predicate.pulling":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E14\u0E36\u0E07","dialog.predicate_overrides.predicate.charged":"\u0E0A\u0E32\u0E23\u0E4C\u0E08\u0E41\u0E25\u0E49\u0E27","dialog.predicate_overrides.predicate.firework":"\u0E21\u0E35\u0E14\u0E2D\u0E01\u0E44\u0E21\u0E49\u0E44\u0E1F","dialog.predicate_overrides.predicate.throwing":"\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E42\u0E22\u0E19","dialog.predicate_overrides.predicate.time":"\u0E40\u0E27\u0E25\u0E32\u0E02\u0E2D\u0E07\u0E27\u0E31\u0E19","dialog.predicate_overrides.predicate.custom_model_data":"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E21\u0E40\u0E14\u0E25\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","dialog.predicate_overrides.predicate.level":"\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E41\u0E2A\u0E07","dialog.predicate_overrides.predicate.filled":"\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E15\u0E34\u0E21\u0E1A\u0E31\u0E19\u0E40\u0E14\u0E34\u0E25","dialog.predicate_overrides.predicate.tooting":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E1B\u0E48\u0E32","settings.model_export_scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25","settings.model_export_scale.desc":"\u0E15\u0E31\u0E27\u0E04\u0E39\u0E13\u0E17\u0E35\u0E48\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25 glTF, DAE \u0E41\u0E25\u0E30 FBX \u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E25\u0E14\u0E25\u0E07 \u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E04\u0E37\u0E2D 16 \u0E0B\u0E36\u0E48\u0E07\u0E41\u0E1B\u0E25\u0E07 16 \u0E2B\u0E19\u0E48\u0E27\u0E22 Blockbench \u0E40\u0E1B\u0E47\u0E19 1 \u0E40\u0E21\u0E15\u0E23\u0E43\u0E19\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","action.export_fbx":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 FBX","action.export_fbx.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E41\u0E25\u0E30\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C FBX \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E41\u0E2D\u0E1B 3D \u0E41\u0E25\u0E30\u0E40\u0E2D\u0E19\u0E08\u0E34\u0E19\u0E40\u0E01\u0E21\u0E2D\u0E37\u0E48\u0E19","action.center_lateral":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.center_lateral.desc":"\u0E08\u0E31\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E49\u0E2D\u0E22\u0E39\u0E48\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07\u0E1A\u0E19\u0E41\u0E01\u0E19 X \u0E41\u0E25\u0E30 Z","action.adjust_opacity":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A...","action.adjust_opacity.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.rotate_texture_cw":"\u0E2B\u0E21\u0E38\u0E19\u0E15\u0E32\u0E21\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","action.rotate_texture_ccw":"\u0E2B\u0E21\u0E38\u0E19\u0E17\u0E27\u0E19\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","action.predicate_overrides":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E15\u0E31\u0E27\u0E14\u0E31\u0E14\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02...","action.predicate_overrides.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E42\u0E21\u0E40\u0E14\u0E25\u0E19\u0E35\u0E49\u0E15\u0E32\u0E21\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.auto_set_cullfaces":"\u0E15\u0E31\u0E49\u0E07 Cullface \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.auto_set_cullfaces.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07 cullface \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E0B\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E16\u0E39\u0E01\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E02\u0E49\u0E32\u0E07\u0E40\u0E04\u0E35\u0E22\u0E07\u0E1B\u0E34\u0E14","menu.texture.edit_externally":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01","menu.mirror_painting.texture":"\u0E2A\u0E21\u0E21\u0E32\u0E15\u0E23\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 2D","menu.mirror_painting.texture.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48 2D \u0E1A\u0E19\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","menu.animator.rotation_global":"\u0E2B\u0E21\u0E38\u0E19\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E27\u0E19\u0E01\u0E25\u0E32\u0E07","uv_editor.face_properties":"\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2B\u0E19\u0E49\u0E32","uv_editor.face_properties.material_instance":"\u0E27\u0E31\u0E2A\u0E14\u0E38","uv_editor.tint.info":"\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E22\u0E49\u0E2D\u0E21\u0E2A\u0E35\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1A\u0E2D\u0E01\u0E43\u0E2B\u0E49 Minecraft \u0E22\u0E49\u0E2D\u0E21\u0E2A\u0E35 \u0E43\u0E19\u0E41\u0E27\u0E19\u0E34\u0E25\u0E25\u0E32 \u0E01\u0E32\u0E23\u0E22\u0E49\u0E2D\u0E21\u0E2A\u0E35\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E40\u0E09\u0E1E\u0E32\u0E30 \u0E40\u0E0A\u0E48\u0E19 \u0E43\u0E1A\u0E44\u0E21\u0E49 \u0E41\u0E25\u0E30\u0E1D\u0E38\u0E48\u0E19\u0E40\u0E23\u0E14\u0E2A\u0E42\u0E15\u0E19 \u0E41\u0E25\u0E30\u0E21\u0E35\u0E04\u0E48\u0E32\u0E44\u0E14\u0E49\u0E40\u0E1E\u0E35\u0E22\u0E07 0","uv_editor.cullface.info":"\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 cullface \u0E08\u0E30\u0E1A\u0E2D\u0E01\u0E43\u0E2B\u0E49\u0E2B\u0E19\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E16\u0E49\u0E32\u0E21\u0E35\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E40\u0E15\u0E47\u0E21\u0E2D\u0E22\u0E39\u0E48\u0E02\u0E49\u0E32\u0E07\u0E46 \u0E43\u0E19\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E17\u0E35\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E43\u0E19\u0E42\u0E25\u0E01 Minecraft \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1B\u0E23\u0E30\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E20\u0E32\u0E1E","uv_editor.material_instance.info":"\u0E27\u0E31\u0E2A\u0E14\u0E38\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07 \u0E0A\u0E37\u0E48\u0E2D\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C JSON \u0E02\u0E2D\u0E07\u0E1A\u0E25\u0E47\u0E2D\u0E01\u0E43\u0E19 behavior pack \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E27\u0E31\u0E2A\u0E14\u0E38\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E31\u0E49\u0E19","display.reference.frame_invisible":"\u0E01\u0E23\u0E2D\u0E1A\u0E44\u0E2D\u0E40\u0E17\u0E21 (\u0E25\u0E48\u0E2D\u0E07\u0E2B\u0E19)","data.settings_profile":"\u0E42\u0E1B\u0E23\u0E44\u0E1F\u0E25\u0E4C","message.display_skin.invalid_name":'\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1A\u0E31\u0E0D\u0E0A\u0E35 Minecraft \u0E17\u0E35\u0E48\u0E21\u0E35\u0E0A\u0E37\u0E48\u0E2D "%0"',"dialog.load_plugins_from_query.title":"\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","dialog.load_plugins_from_query.text":"\u0E04\u0E38\u0E13\u0E43\u0E0A\u0E49\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","dialog.select_model.title":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.select_model.bones":"\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","dialog.select_model.cubes":"\u0E04\u0E34\u0E27\u0E1A\u0E4C","dialog.settings.create_profile":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E1B\u0E23\u0E44\u0E1F\u0E25\u0E4C...","settings_profile.confirm_delete":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E42\u0E1B\u0E23\u0E44\u0E1F\u0E25\u0E4C\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E19\u0E35\u0E49?","settings_profile.condition.type.selectable":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E14\u0E49\u0E14\u0E49\u0E27\u0E22\u0E15\u0E19\u0E40\u0E2D\u0E07","settings.interface_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E0B","settings.interface_mode.desc":"\u0E42\u0E2B\u0E21\u0E14\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E0B","settings.interface_mode.auto":"\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.interface_mode.desktop":"\u0E40\u0E14\u0E2A\u0E01\u0E4C\u0E17\u0E47\u0E2D\u0E1B","settings.interface_mode.mobile":"\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D","settings.paint_through_transparency":"\u0E27\u0E32\u0E14\u0E1C\u0E48\u0E32\u0E19\u0E04\u0E27\u0E32\u0E21\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","settings.paint_through_transparency.desc":"\u0E27\u0E32\u0E14\u0E1C\u0E48\u0E32\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E25\u0E47\u0E2D\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32","action.tab_overview":"\u0E20\u0E32\u0E1E\u0E23\u0E27\u0E21\u0E41\u0E17\u0E47\u0E1A","action.tab_overview.desc":"\u0E14\u0E39\u0E41\u0E17\u0E47\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E25\u0E30\u0E01\u0E23\u0E30\u0E42\u0E14\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E41\u0E17\u0E47\u0E1A\u0E2B\u0E19\u0E36\u0E48\u0E07","action.slider_color_red":"\u0E2A\u0E35\u0E41\u0E14\u0E07","action.slider_color_green":"\u0E2A\u0E35\u0E40\u0E02\u0E35\u0E22\u0E27","action.slider_color_blue":"\u0E2A\u0E35\u0E19\u0E49\u0E33\u0E40\u0E07\u0E34\u0E19","action.add_animation_controller":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.add_animation_controller.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E25\u0E48\u0E32","action.animation_controller_preview_mode":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C","action.animation_controller_preview_mode.paused":"\u0E2B\u0E22\u0E38\u0E14\u0E0A\u0E31\u0E48\u0E27\u0E04\u0E23\u0E32\u0E27","action.animation_controller_preview_mode.manual":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E14\u0E49\u0E27\u0E22\u0E15\u0E19\u0E40\u0E2D\u0E07","action.animation_controller_preview_mode.play":"\u0E40\u0E25\u0E48\u0E19\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.keyframe_interpolation.bezier":"\u0E40\u0E1A\u0E0B\u0E34\u0E40\u0E22\u0E23\u0E4C","action.keyframe_bezier_linked":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25 B\xE9zier","action.keyframe_bezier_linked.desc":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E40\u0E1A\u0E0B\u0E34\u0E40\u0E22\u0E23\u0E4C\u0E0B\u0E49\u0E32\u0E22\u0E41\u0E25\u0E30\u0E02\u0E27\u0E32\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.reset_keyframe_handles":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.reset_keyframe_handles.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E40\u0E1A\u0E0B\u0E34\u0E40\u0E22\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.looped_animation_playback":"\u0E40\u0E25\u0E48\u0E19\u0E27\u0E19\u0E25\u0E39\u0E1B","action.looped_animation_playback.desc":"\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E19\u0E25\u0E39\u0E1B\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A","timeline.bind_to_actor":"\u0E1C\u0E39\u0E01\u0E01\u0E31\u0E1A\u0E41\u0E2D\u0E01\u0E40\u0E15\u0E2D\u0E23\u0E4C","animation_controllers.select_preset":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C...","animation_controllers.state.animations":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","animation_controllers.state.particles":"\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","animation_controllers.state.sounds":"\u0E40\u0E2A\u0E35\u0E22\u0E07","animation_controllers.state.on_entry":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32","animation_controllers.state.on_exit":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E2D\u0E2D\u0E01","animation_controllers.state.transitions":"\u0E17\u0E23\u0E32\u0E19\u0E0B\u0E34\u0E0A\u0E31\u0E19","animation_controllers.state.condition":"\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02","animation_controllers.state.blend_transition":"\u0E40\u0E27\u0E25\u0E32\u0E1C\u0E2A\u0E21","animation_controllers.state.shortest_path":"\u0E1C\u0E2A\u0E21\u0E15\u0E32\u0E21\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E2A\u0E31\u0E49\u0E19\u0E2A\u0E38\u0E14","animation_controllers.state.edit_transition":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E17\u0E23\u0E32\u0E19\u0E0B\u0E34\u0E0A\u0E31\u0E19","menu.color_picker.picker_type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.color_picker.picker_type.square":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","menu.color_picker.picker_type.wheel":"\u0E27\u0E07\u0E25\u0E49\u0E2D","menu.color_picker.slider_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E25\u0E32\u0E22","menu.color_picker.slider_mode.hsv":"\u0E40\u0E09\u0E14\u0E2A\u0E35, \u0E04\u0E27\u0E32\u0E21\u0E2D\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27, \u0E04\u0E48\u0E32\u0E2A\u0E35","menu.color_picker.slider_mode.rgb":"\u0E41\u0E14\u0E07, \u0E40\u0E02\u0E35\u0E22\u0E27, \u0E19\u0E49\u0E33\u0E40\u0E07\u0E34\u0E19","menu.texture.render_mode.additive":"\u0E41\u0E1A\u0E1A\u0E40\u0E1E\u0E34\u0E48\u0E21","panel.color.picker_options":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","panel.animation_controllers":"\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","display.preset.armor_stand":"\u0E1E\u0E37\u0E49\u0E19 (\u0E41\u0E17\u0E48\u0E19\u0E40\u0E01\u0E23\u0E32\u0E30)","data.file_path":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C","dialog.extrude.orientation":"\u0E01\u0E32\u0E23\u0E27\u0E32\u0E07\u0E41\u0E19\u0E27","dialog.extrude.orientation.upright":"\u0E15\u0E31\u0E49\u0E07\u0E15\u0E23\u0E07","dialog.extrude.orientation.flat":"\u0E23\u0E32\u0E1A","dialog.scale.box_uv_warning":"\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25 Box UV \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49 UV \u0E40\u0E2A\u0E35\u0E22\u0E2B\u0E32\u0E22 \u0E25\u0E2D\u0E07\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01 \u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E42\u0E2B\u0E21\u0E14 UV \u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32\u0E43\u0E19 \u0E44\u0E1F\u0E25\u0E4C > \u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","dialog.create_gif.format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"\u0E25\u0E33\u0E14\u0E31\u0E1A PNG","dialog.create_gif.pixelate":"\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E40\u0E25\u0E15","dialog.create_gif.bg_image":"\u0E20\u0E32\u0E1E\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","dialog.create_gif.turn.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E02\u0E13\u0E30\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 \u0E43\u0E0A\u0E49\u0E04\u0E48\u0E32\u0E25\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2B\u0E21\u0E38\u0E19\u0E15\u0E32\u0E21\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32 \u0E04\u0E48\u0E32 60 \u0E2B\u0E21\u0E32\u0E22\u0E16\u0E36\u0E07\u0E2B\u0E21\u0E38\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E23\u0E2D\u0E1A\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35","settings_profile.condition":"\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02","settings_profile.condition.type.file_path.desc":"\u0E43\u0E0A\u0E49\u0E44\u0E27\u0E22\u0E32\u0E01\u0E23\u0E13\u0E4C\u0E19\u0E34\u0E1E\u0E08\u0E19\u0E4C\u0E1B\u0E01\u0E15\u0E34\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E08\u0E31\u0E1A\u0E04\u0E39\u0E48\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19 \u0E43\u0E0A\u0E49\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E17\u0E31\u0E1A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E44\u0E14\u0E40\u0E23\u0E01\u0E17\u0E2D\u0E23\u0E35","settings.only_selected_bezier_handles":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25 B\xE9zier \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.only_selected_bezier_handles.desc":"\u0E0B\u0E48\u0E2D\u0E19\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E40\u0E1A\u0E0B\u0E34\u0E40\u0E22\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.embed_textures":"\u0E1D\u0E31\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","settings.embed_textures.desc":"\u0E1D\u0E31\u0E07\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C .bbmodel","action.selection_mode.cluster":"\u0E04\u0E25\u0E31\u0E2A\u0E40\u0E15\u0E2D\u0E23\u0E4C","dialog.copied_to_clipboard":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14\u0E41\u0E25\u0E49\u0E27","data.reference_image":"\u0E23\u0E39\u0E1B\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","message.delete_reference_image":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E19\u0E35\u0E49? \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A\u0E44\u0E14\u0E49","message.add_reference_image.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E17\u0E35\u0E48\u0E08\u0E30\u0E42\u0E2B\u0E25\u0E14\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","message.add_reference_image.project":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E19\u0E35\u0E49","message.add_reference_image.app":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E17\u0E38\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","message.import_particle_texture.import":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","message.import_particle_texture.message":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.save_codec_selector.title":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25","message.save_codec_selector.message":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E08\u0E30\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25","message.save_codec_selector.project_file":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C Blockbench (.bbmodel)","message.save_codec_selector.both":"\u0E17\u0E31\u0E49\u0E07\u0E2A\u0E2D\u0E07","message.display_skin.username":"\u0E0A\u0E37\u0E48\u0E2D\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49 (Java)","message.palette_locked":"\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E16\u0E39\u0E01\u0E25\u0E47\u0E2D\u0E01","dialog.project.default_uv_mode":"\u0E42\u0E2B\u0E21\u0E14 UV \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","dialog.project.default_uv_mode.description":"\u0E42\u0E2B\u0E21\u0E14 UV \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C \u0E42\u0E2B\u0E21\u0E14 UV \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E14\u0E49\u0E15\u0E48\u0E2D\u0E04\u0E34\u0E27\u0E1A\u0E4C","dialog.export_options.title":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","dialog.edit_texture.preview":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","dialog.proportional_editing.range":"\u0E0A\u0E48\u0E27\u0E07","dialog.proportional_editing.falloff":"\u0E01\u0E32\u0E23\u0E25\u0E14\u0E17\u0E2D\u0E19","dialog.proportional_editing.falloff.linear":"\u0E40\u0E0A\u0E34\u0E07\u0E40\u0E2A\u0E49\u0E19","dialog.proportional_editing.falloff.hermite_spline":"\u0E40\u0E23\u0E35\u0E22\u0E1A","dialog.proportional_editing.falloff.constant":"\u0E04\u0E07\u0E17\u0E35\u0E48","dialog.proportional_editing.selection":"\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.proportional_editing.selection.linear":"\u0E23\u0E30\u0E22\u0E30\u0E17\u0E32\u0E07\u0E40\u0E0A\u0E34\u0E07\u0E40\u0E2A\u0E49\u0E19","dialog.proportional_editing.selection.connections":"\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D","dialog.mirror_painting_texture_center.middle":"\u0E01\u0E25\u0E32\u0E07","dialog.mirror_painting_texture_center.custom":"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","dialog.settings.reset_to_default":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","keybindings.item.num_slider.increase":"\u0E40\u0E1E\u0E34\u0E48\u0E21","keybindings.item.num_slider.decrease":"\u0E25\u0E14","settings.always_show_splash_art":"\u0E41\u0E2A\u0E14\u0E07\u0E20\u0E32\u0E1E\u0E2A\u0E41\u0E1B\u0E25\u0E0A\u0E40\u0E2A\u0E21\u0E2D","settings.always_show_splash_art.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E20\u0E32\u0E1E\u0E2A\u0E41\u0E1B\u0E25\u0E0A\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E40\u0E2A\u0E21\u0E2D","action.slider_palette_color":"\u0E2A\u0E25\u0E31\u0E1A\u0E2A\u0E35\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.slider_palette_color.desc":"\u0E27\u0E19\u0E2A\u0E25\u0E31\u0E1A\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E2A\u0E35\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.proportional_editing":"\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E15\u0E32\u0E21\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19","action.proportional_editing.desc":"\u0E21\u0E35\u0E1C\u0E25\u0E15\u0E48\u0E2D\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E42\u0E14\u0E22\u0E23\u0E2D\u0E1A\u0E15\u0E32\u0E21\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2A\u0E48\u0E27\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E21\u0E0A","action.limit_to_palette":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","action.limit_to_palette.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E2A\u0E35\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E35\u0E43\u0E19\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E17\u0E35\u0E48\u0E42\u0E2B\u0E25\u0E14\u0E2D\u0E22\u0E39\u0E48","action.edit_reference_images":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","action.edit_reference_images.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E01\u0E49\u0E44\u0E02\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E41\u0E25\u0E30\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E40\u0E02\u0E35\u0E22\u0E27","action.add_reference_image":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","action.reference_image_from_clipboard":"\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E08\u0E32\u0E01\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","action.reference_image_list":"\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","action.connect_uv_faces":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E2B\u0E19\u0E49\u0E32 UV","action.connect_uv_faces.desc":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","action.merge_uv_vertices":"\u0E1C\u0E2A\u0E32\u0E19\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV","action.merge_uv_vertices.desc":"\u0E08\u0E31\u0E1A\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E23\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","action.bedrock_animation_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19 Bedrock","action.bedrock_animation_mode.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E2B\u0E21\u0E14\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A Minecraft: Bedrock Edition","action.bedrock_animation_mode.entity":"\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35","action.bedrock_animation_mode.attachable_first":"\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48 1","action.bedrock_animation_mode.attachable_third":"\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E1A\u0E38\u0E04\u0E04\u0E25\u0E17\u0E35\u0E48 3","timeline.amplify":"\u0E02\u0E22\u0E32\u0E22","menu.options":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01...","menu.palette.lock_palette":"\u0E25\u0E47\u0E2D\u0E01\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","menu.uv.export":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B UV","menu.uv.flip_x":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 X","menu.uv.flip_y":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 Y","menu.mirror_painting.enabled":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49","reference_image.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","reference_image.size":"\u0E02\u0E19\u0E32\u0E14","reference_image.rotation":"\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","reference_image.opacity":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A","reference_image.visibility":"\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19","reference_image.clear_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E25\u0E49\u0E32\u0E07","reference_image.layer":"\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","reference_image.layer.background":"\u0E2B\u0E25\u0E31\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","reference_image.layer.viewport":"\u0E2B\u0E19\u0E49\u0E32\u0E42\u0E21\u0E40\u0E14\u0E25","reference_image.layer.float":"\u0E2B\u0E19\u0E49\u0E32\u0E2A\u0E48\u0E27\u0E19\u0E15\u0E34\u0E14\u0E15\u0E48\u0E2D","reference_image.scope":"\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15","reference_image.scope.project":"\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E19\u0E35\u0E49","reference_image.scope.global":"\u0E17\u0E38\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","reference_image.enabled_modes":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14","codec.common.encoding":"\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E23\u0E2B\u0E31\u0E2A","codec.common.armature":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E47\u0E19\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","codec.common.export_animations":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","codec.common.embed_textures":"\u0E1D\u0E31\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","preview.center_camera":"\u0E08\u0E31\u0E14\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07","display.reference.frame_top":"\u0E01\u0E23\u0E2D\u0E1A\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19","display.reference.frame_top_invisible":"\u0E01\u0E23\u0E2D\u0E1A\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19 (\u0E25\u0E48\u0E2D\u0E07\u0E2B\u0E19)","action.proportional_editing_range":"\u0E0A\u0E48\u0E27\u0E07\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E15\u0E32\u0E21\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19","action.proportional_editing_range.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E0A\u0E48\u0E27\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E15\u0E32\u0E21\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19","action.toggle_all_reference_images":"\u0E0B\u0E48\u0E2D\u0E19/\u0E41\u0E2A\u0E14\u0E07\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.toggle_all_reference_images.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E01\u0E31\u0E19","action.add_animation_controller_state":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2A\u0E16\u0E32\u0E19\u0E30\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.add_animation_controller_state.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2A\u0E16\u0E32\u0E19\u0E30\u0E43\u0E2B\u0E21\u0E48\u0E43\u0E19\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","menu.slider.round_value":"\u0E1B\u0E31\u0E14\u0E04\u0E48\u0E32","texture.error.too_large":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E40\u0E01\u0E34\u0E19\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 %0","dialog.copy_to_clipboard":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E04\u0E25\u0E34\u0E1B\u0E1A\u0E2D\u0E23\u0E4C\u0E14","dialog.open_url":"\u0E40\u0E1B\u0E34\u0E14 URL","reference_image.image":"\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","uv_editor.rotate_uv":"\u0E2B\u0E21\u0E38\u0E19 UV","generic.error":"\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14","projects.start_screen":"\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","message.invalid_link.message":'\u0E42\u0E21\u0E40\u0E14\u0E25\u0E17\u0E35\u0E48\u0E41\u0E0A\u0E23\u0E4C "%0" \u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E1E\u0E22\u0E32\u0E22\u0E32\u0E21\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38\u0E41\u0E25\u0E49\u0E27',"message.plugin_dependencies.title":"\u0E01\u0E32\u0E23\u0E1E\u0E36\u0E48\u0E07\u0E1E\u0E32\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","message.plugin_dependencies.message1":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E1E\u0E36\u0E48\u0E07\u0E1E\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49:","message.plugin_dependencies.message1_update":"\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 %0 \u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E41\u0E25\u0E30\u0E15\u0E2D\u0E19\u0E19\u0E35\u0E49\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E1E\u0E36\u0E48\u0E07\u0E1E\u0E32\u0E40\u0E2B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49:","message.plugin_dependencies.message2":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.plugin_dependencies.invalid":"\u0E19\u0E48\u0E32\u0E40\u0E2A\u0E35\u0E22\u0E14\u0E32\u0E22\u0E17\u0E35\u0E48\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E44\u0E14\u0E49 \u0E21\u0E35\u0E2A\u0E48\u0E27\u0E19\u0E1E\u0E36\u0E48\u0E07\u0E1E\u0E32\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07:","message.preview_scene_load_failed":"\u0E42\u0E2B\u0E25\u0E14\u0E09\u0E32\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27 \u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E2D\u0E34\u0E19\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E19\u0E47\u0E15\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","dialog.convert_project.text1":"\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E2D\u0E37\u0E48\u0E19","dialog.convert_project.text2":"\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07\u0E14\u0E49\u0E27\u0E22\u0E04\u0E27\u0E32\u0E21\u0E40\u0E2A\u0E35\u0E48\u0E22\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E40\u0E2D\u0E07 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E15\u0E48\u0E32\u0E07\u0E46 \u0E21\u0E35\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E41\u0E25\u0E30\u0E02\u0E49\u0E2D\u0E08\u0E33\u0E01\u0E31\u0E14\u0E15\u0E48\u0E32\u0E07\u0E01\u0E31\u0E19 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07\u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E1A\u0E32\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E2A\u0E35\u0E22\u0E2B\u0E32\u0E22\u0E43\u0E19\u0E1A\u0E32\u0E07\u0E01\u0E23\u0E13\u0E35","dialog.convert_project.text3":"\u0E04\u0E38\u0E13\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07\u0E44\u0E14\u0E49 \u0E19\u0E31\u0E48\u0E19\u0E04\u0E37\u0E2D\u0E40\u0E2B\u0E15\u0E38\u0E1C\u0E25\u0E17\u0E35\u0E48\u0E42\u0E14\u0E22\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E08\u0E30\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E33\u0E40\u0E19\u0E32","dialog.unsaved_work.title":"\u0E07\u0E32\u0E19\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01","dialog.unsaved_work.text":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","dialog.unsaved_work.discard_all":"\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.unsaved_work.save_all":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.resize_texture.mode":"\u0E42\u0E2B\u0E21\u0E14","dialog.resize_texture.mode.crop":"\u0E04\u0E23\u0E2D\u0E1A\u0E15\u0E31\u0E14/\u0E02\u0E22\u0E32\u0E22","dialog.resize_texture.mode.scale":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14","dialog.plugins.is_installed":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E25\u0E49\u0E27","dialog.plugins.is_disabled":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","dialog.plugins.disable":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","dialog.plugins.enable":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","dialog.plugins.dependencies":"\u0E02\u0E36\u0E49\u0E19\u0E15\u0E48\u0E2D:","dialog.view_backups.open_folder":"\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E1F\u0E25\u0E40\u0E14\u0E2D\u0E23\u0E4C","dialog.share_model.reference_images":"\u0E23\u0E27\u0E21\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","dialog.share_model.too_large":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27: \u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E2B\u0E0D\u0E48\u0E40\u0E01\u0E34\u0E19\u0E44\u0E1B","dialog.share_model.too_large_references":"\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27: \u0E42\u0E21\u0E40\u0E14\u0E25\u0E43\u0E2B\u0E0D\u0E48\u0E40\u0E01\u0E34\u0E19\u0E44\u0E1B \u0E25\u0E2D\u0E07\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E21\u0E35\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","settings.stretch_linked":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E01\u0E32\u0E23\u0E22\u0E37\u0E14","settings.stretch_linked.desc":"\u0E22\u0E37\u0E14\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E19\u0E17\u0E38\u0E01\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E14\u0E49\u0E27\u0E22\u0E04\u0E48\u0E32\u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19","settings.grids":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14","settings.grids.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E0B\u0E48\u0E2D\u0E19\u0E01\u0E23\u0E34\u0E14 3D \u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","settings.double_click_switch_tools":"\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E14\u0E31\u0E1A\u0E40\u0E1A\u0E34\u0E25\u0E04\u0E25\u0E34\u0E01","settings.double_click_switch_tools.desc":"\u0E14\u0E31\u0E1A\u0E40\u0E1A\u0E34\u0E25\u0E04\u0E25\u0E34\u0E01\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E25\u0E31\u0E1A\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","settings.outlines_in_paint_mode":"\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E32\u0E14","settings.outlines_in_paint_mode.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E02\u0E13\u0E30\u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E32\u0E14","settings.json_indentation":"\u0E01\u0E32\u0E23\u0E40\u0E22\u0E37\u0E49\u0E2D\u0E07 JSON","settings.json_indentation.desc":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E22\u0E37\u0E49\u0E2D\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E44\u0E1F\u0E25\u0E4C JSON \u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","settings.json_indentation.tabs":"\u0E41\u0E17\u0E47\u0E1A","settings.json_indentation.spaces_4":"\u0E0A\u0E48\u0E2D\u0E07\u0E27\u0E48\u0E32\u0E07: 4","settings.json_indentation.spaces_2":"\u0E0A\u0E48\u0E2D\u0E07\u0E27\u0E48\u0E32\u0E07: 2","action.slider_stretch":"\u0E22\u0E37\u0E14","action.slider_stretch.desc":"\u0E22\u0E37\u0E14\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E41\u0E1A\u0E1A\u0E17\u0E27\u0E35\u0E04\u0E39\u0E13\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0 \u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 UV","action.view_backups":"\u0E14\u0E39\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25","action.view_backups.desc":"\u0E40\u0E23\u0E35\u0E22\u0E01\u0E14\u0E39\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E33\u0E23\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.search_outliner":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.search_outliner.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E0A\u0E37\u0E48\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.mirror_modeling":"Mirror Modeling","action.mirror_modeling.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 Mirror Modeling \u0E1A\u0E19\u0E41\u0E01\u0E19 X \u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E17\u0E33\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E08\u0E30\u0E16\u0E39\u0E01\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E2D\u0E35\u0E01\u0E14\u0E49\u0E32\u0E19 \u0E22\u0E01\u0E40\u0E27\u0E49\u0E19\u0E27\u0E48\u0E32\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E42\u0E14\u0E22\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1A\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.allow_element_mirror_modeling":"\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15 Mirror Modeling","action.allow_element_mirror_modeling.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E48\u0E32\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E1C\u0E25\u0E08\u0E32\u0E01 Mirror Modeling \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48","action.switch_face_crease":"\u0E2A\u0E25\u0E31\u0E1A\u0E04\u0E23\u0E35\u0E2A\u0E2B\u0E19\u0E49\u0E32","action.switch_face_crease.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E17\u0E35\u0E48\u0E04\u0E27\u0E2D\u0E14\u0E1E\u0E31\u0E1A\u0E15\u0E23\u0E07\u0E01\u0E25\u0E32\u0E07","action.clear_unused_texture_space":"\u0E25\u0E49\u0E32\u0E07\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E43\u0E0A\u0E49","action.clear_unused_texture_space.desc":"\u0E25\u0E49\u0E32\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E41\u0E21\u0E1B UV \u0E44\u0E1B\u0E22\u0E31\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E14\u0E46","action.split_screen":"\u0E41\u0E1A\u0E48\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","action.split_screen.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E1A\u0E48\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","action.split_screen.single":"\u0E40\u0E14\u0E35\u0E48\u0E22\u0E27","action.split_screen.double_horizontal":"\u0E04\u0E39\u0E48\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.split_screen.double_vertical":"\u0E04\u0E39\u0E48\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.split_screen.quad":"\u0E2A\u0E35\u0E48\u0E2A\u0E48\u0E27\u0E19","action.split_screen.triple_left":"\u0E2A\u0E32\u0E21\u0E0B\u0E49\u0E32\u0E22","action.split_screen.triple_right":"\u0E2A\u0E32\u0E21\u0E02\u0E27\u0E32","action.split_screen.triple_top":"\u0E2A\u0E32\u0E21\u0E1A\u0E19","action.split_screen.triple_bottom":"\u0E2A\u0E32\u0E21\u0E25\u0E48\u0E32\u0E07","action.uv_project_from_view":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C UV \u0E08\u0E32\u0E01\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","action.uv_project_from_view.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07 UV \u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07 3D","action.graph_editor_other_graphs":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E32\u0E1F\u0E2D\u0E37\u0E48\u0E19","action.graph_editor_other_graphs.desc":"\u0E27\u0E48\u0E32\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E32\u0E1F\u0E02\u0E2D\u0E07\u0E41\u0E01\u0E19\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48","action.graph_editor_include_other_graphs":"\u0E23\u0E27\u0E21\u0E01\u0E23\u0E32\u0E1F\u0E2D\u0E37\u0E48\u0E19","action.graph_editor_include_other_graphs.desc":"\u0E27\u0E48\u0E32\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E01\u0E23\u0E32\u0E1F\u0E23\u0E27\u0E21\u0E01\u0E23\u0E32\u0E1F\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48","action.set_ik_source":"\u0E15\u0E31\u0E49\u0E07\u0E23\u0E32\u0E01 IK","action.set_ik_source.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E23\u0E32\u0E01\u0E02\u0E2D\u0E07\u0E42\u0E0B\u0E48\u0E17\u0E35\u0E48\u0E04\u0E27\u0E23\u0E16\u0E39\u0E01\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E42\u0E14\u0E22\u0E2D\u0E2D\u0E1A\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32\u0E19\u0E35\u0E49\u0E1C\u0E48\u0E32\u0E19 Inverse Kinematics","edit.loop_cut.cuts":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E15\u0E31\u0E14","panel.element.stretch":"\u0E22\u0E37\u0E14","preview_scene.minecraft_plains":"\u0E17\u0E35\u0E48\u0E23\u0E32\u0E1A","preview_scene.minecraft_cherry_grove":"\u0E2A\u0E27\u0E19\u0E40\u0E0A\u0E2D\u0E23\u0E4C\u0E23\u0E35\u0E48","preview_scene.minecraft_snowy_tundra":"\u0E17\u0E38\u0E19\u0E14\u0E23\u0E32\u0E2B\u0E34\u0E21\u0E30","preview_scene.minecraft_sunset":"\u0E1E\u0E23\u0E30\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C\u0E15\u0E01","preview_scene.minecraft_night":"\u0E01\u0E25\u0E32\u0E07\u0E04\u0E37\u0E19","preview_scene.minecraft_desert":"\u0E17\u0E30\u0E40\u0E25\u0E17\u0E23\u0E32\u0E22","preview_scene.minecraft_underwater":"\u0E43\u0E15\u0E49\u0E19\u0E49\u0E33","preview_scene.minecraft_coral_reef":"\u0E1B\u0E30\u0E01\u0E32\u0E23\u0E31\u0E07","preview_scene.minecraft_lush_cave":"\u0E16\u0E49\u0E33\u0E2D\u0E38\u0E14\u0E21","preview_scene.minecraft_deep_dark":"\u0E14\u0E35\u0E1B\u0E14\u0E32\u0E23\u0E4C\u0E01","generic.navigate_forward":"\u0E44\u0E1B\u0E02\u0E49\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32","generic.navigate_back":"\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A","action.element_render_order":"\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E04\u0E27\u0E32\u0E21\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","action.element_render_order.default":"\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","action.element_render_order.behind":"\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E25\u0E31\u0E07","action.element_render_order.in_front":"\u0E14\u0E49\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32","message.installing_update.title":"\u0E21\u0E35\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19","message.installing_update.message":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 \u0E2B\u0E25\u0E31\u0E07\u0E08\u0E32\u0E01\u0E1B\u0E34\u0E14\u0E41\u0E2D\u0E1B \u0E01\u0E23\u0E38\u0E13\u0E32\u0E23\u0E2D\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13 %0 \u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E01\u0E48\u0E2D\u0E19\u0E40\u0E1B\u0E34\u0E14 Blockbench \u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E34\u0E14\u0E04\u0E2D\u0E21\u0E1E\u0E34\u0E27\u0E40\u0E15\u0E2D\u0E23\u0E4C \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E16\u0E39\u0E01\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07","settings.brush_cursor_2d":"\u0E40\u0E04\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E1B\u0E23\u0E07 2D","settings.brush_cursor_2d.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A\u0E23\u0E2D\u0E1A\u0E41\u0E1B\u0E23\u0E07\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19 2D","settings.brush_cursor_3d":"\u0E40\u0E04\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E1B\u0E23\u0E07 3D","settings.brush_cursor_3d.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E23\u0E2D\u0E1A\u0E23\u0E2D\u0E1A\u0E41\u0E1B\u0E23\u0E07\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19 3D","settings.cdn_mirror":"\u0E43\u0E0A\u0E49 CDN Mirror","settings.cdn_mirror.desc":"\u0E43\u0E0A\u0E49 CDN mirror \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 Mirror \u0E08\u0E30\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E23\u0E47\u0E27\u0E01\u0E27\u0E48\u0E32 \u0E41\u0E25\u0E30\u0E17\u0E33\u0E07\u0E32\u0E19\u0E43\u0E19\u0E1A\u0E32\u0E07\u0E20\u0E39\u0E21\u0E34\u0E20\u0E32\u0E04\u0E17\u0E35\u0E48\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E44\u0E21\u0E48\u0E17\u0E33\u0E07\u0E32\u0E19","data.layer":"\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","data.panel":"\u0E41\u0E1C\u0E07","generic.confirm_delete":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E25\u0E1A\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E19\u0E35\u0E49?","format_category.general":"\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B","modifier_actions.no_uniform_scaling":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2D\u0E34\u0E2A\u0E23\u0E30","message.texture_refresh_conflict.title":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E02\u0E31\u0E14\u0E41\u0E22\u0E49\u0E07","message.texture_refresh_conflict.message":"\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E32\u0E08\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E35\u0E48\u0E02\u0E31\u0E14\u0E41\u0E22\u0E49\u0E07\u0E01\u0E31\u0E1A\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E02\u0E2D\u0E07 Blockbench","message.texture_refresh_conflict.keep_ours":"\u0E43\u0E0A\u0E49\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E02\u0E2D\u0E07 Blockbench","message.texture_refresh_conflict.keep_theirs":"\u0E42\u0E2B\u0E25\u0E14\u0E44\u0E1F\u0E25\u0E4C\u0E41\u0E25\u0E30\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E41\u0E25\u0E30\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19 Blockbench","message.group_required_to_animate":"\u0E04\u0E38\u0E13\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49 \u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E2B\u0E23\u0E37\u0E2D\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","dialog.texture.uv_size":"\u0E02\u0E19\u0E32\u0E14 UV","dialog.advanced_screenshot.angle_preset":"\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E21\u0E38\u0E21","dialog.advanced_screenshot.resolution":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14","dialog.advanced_screenshot.zoom_to_fit":"\u0E0B\u0E39\u0E21\u0E43\u0E2B\u0E49\u0E1E\u0E2D\u0E14\u0E35","dialog.advanced_screenshot.zoom":"\u0E0B\u0E39\u0E21 / \u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E42\u0E1F\u0E01\u0E31\u0E2A","dialog.advanced_screenshot.anti_aliasing":"\u0E41\u0E2D\u0E19\u0E15\u0E34\u0E2D\u0E32\u0E40\u0E25\u0E35\u0E22\u0E2A\u0E0B\u0E34\u0E07","dialog.advanced_screenshot.anti_aliasing.off":"\u0E1B\u0E34\u0E14","dialog.advanced_screenshot.anti_aliasing.msaa":"\u0E21\u0E31\u0E25\u0E15\u0E34\u0E41\u0E0B\u0E21\u0E1B\u0E25\u0E34\u0E07","dialog.advanced_screenshot.anti_aliasing.ssaa":"\u0E0B\u0E39\u0E40\u0E1B\u0E2D\u0E23\u0E4C\u0E41\u0E0B\u0E21\u0E1B\u0E25\u0E34\u0E07","dialog.advanced_screenshot.show_gizmos":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E34\u0E0B\u0E42\u0E21\u0E41\u0E01\u0E49\u0E44\u0E02","dialog.advanced_screenshot.shading":"\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32","settings.auto_keyframe":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.auto_keyframe.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E41\u0E1B\u0E25\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","settings.modded_entity_integer_size":"\u0E02\u0E19\u0E32\u0E14\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E21\u0E47\u0E2D\u0E14","settings.modded_entity_integer_size.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E19\u0E32\u0E14\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E21\u0E47\u0E2D\u0E14\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21 \u0E41\u0E21\u0E49\u0E27\u0E48\u0E32\u0E40\u0E25\u0E02\u0E17\u0E28\u0E21\u0E34\u0E15\u0E34\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E43\u0E19\u0E1A\u0E32\u0E07\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19 \u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E07\u0E48\u0E32\u0E22\u0E15\u0E48\u0E2D\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B UV \u0E01\u0E27\u0E48\u0E32\u0E21\u0E32\u0E01","category.layers":"\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","keybind.paint_secondary_color":"\u0E27\u0E32\u0E14\u0E14\u0E49\u0E27\u0E22\u0E2A\u0E35\u0E23\u0E2D\u0E07","action.selection_tool_operation_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E01\u0E32\u0E23\u0E17\u0E33\u0E07\u0E32\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01","action.selection_tool_operation_mode.create":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E2B\u0E21\u0E48","action.selection_tool_operation_mode.add":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.selection_tool_operation_mode.subtract":"\u0E25\u0E1A\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.selection_tool_operation_mode.intersect":"\u0E15\u0E31\u0E14\u0E01\u0E31\u0E19","action.pixel_perfect_drawing":"\u0E01\u0E32\u0E23\u0E27\u0E32\u0E14\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E40\u0E1E\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E01\u0E15\u0E4C","action.pixel_perfect_drawing.desc":"\u0E27\u0E32\u0E14\u0E40\u0E2A\u0E49\u0E19\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E2D\u0E32\u0E23\u0E4C\u0E15\u0E40\u0E23\u0E35\u0E22\u0E1A\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E0B\u0E49\u0E33\u0E17\u0E35\u0E48\u0E42\u0E04\u0E49\u0E07","action.selection_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01","action.selection_tool.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.selection_tool.rectangle":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","action.selection_tool.ellipse":"\u0E27\u0E07\u0E23\u0E35","action.selection_tool.lasso":"\u0E25\u0E32\u0E2A\u0E42\u0E0B","action.selection_tool.wand":"\u0E44\u0E21\u0E49\u0E01\u0E32\u0E22\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C","action.selection_tool.color":"\u0E2A\u0E35\u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19","action.move_layer_tool":"\u0E22\u0E49\u0E32\u0E22\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.move_layer_tool.desc":"\u0E22\u0E49\u0E32\u0E22\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.export_modded_animations":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E21\u0E47\u0E2D\u0E14","action.export_modded_animations.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E21\u0E47\u0E2D\u0E14 Minecraft Java Edition","action.swap_colors":"\u0E2A\u0E25\u0E31\u0E1A\u0E2A\u0E35","action.swap_colors.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E2A\u0E35\u0E2B\u0E25\u0E31\u0E01\u0E01\u0E31\u0E1A\u0E2A\u0E35\u0E23\u0E2D\u0E07","action.apply_mesh_rotation":"\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","action.apply_mesh_rotation.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E02\u0E2D\u0E07\u0E40\u0E21\u0E0A \u0E41\u0E25\u0E30\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15\u0E41\u0E17\u0E19","action.flip_texture_x.desc":"\u0E1E\u0E25\u0E34\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","action.flip_texture_y.desc":"\u0E1E\u0E25\u0E34\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","action.rotate_texture_cw.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","action.rotate_texture_ccw.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E17\u0E27\u0E19\u0E40\u0E02\u0E47\u0E21\u0E19\u0E32\u0E2C\u0E34\u0E01\u0E32","action.crop_texture_to_selection":"\u0E04\u0E23\u0E2D\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.create_empty_layer":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E25\u0E48\u0E32","action.enable_texture_layers":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.disable_texture_layers":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.layer_opacity":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.layer_to_texture_size":"\u0E02\u0E22\u0E32\u0E22\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E40\u0E17\u0E48\u0E32\u0E02\u0E19\u0E32\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.layer_to_texture_size.desc":"\u0E02\u0E22\u0E32\u0E22\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E40\u0E17\u0E48\u0E32\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.merge_layer_down":"\u0E1C\u0E2A\u0E32\u0E19\u0E25\u0E07\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07","action.merge_layer_down.desc":"\u0E1C\u0E2A\u0E32\u0E19\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07","action.advanced_screenshot":"\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E02\u0E31\u0E49\u0E19\u0E2A\u0E39\u0E07...","action.advanced_screenshot.desc":"\u0E16\u0E48\u0E32\u0E22\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E14\u0E49\u0E27\u0E22\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E31\u0E49\u0E19\u0E2A\u0E39\u0E07","action.bake_ik_animation":"\u0E40\u0E1A\u0E04 Inverse Kinematics","action.bake_ik_animation.desc":"\u0E40\u0E1A\u0E04\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E42\u0E14\u0E22 inverse kinematics \u0E25\u0E07\u0E43\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.save_animation_preset":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19...","action.save_animation_preset.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.animation_onion_skin":"\u0E2D\u0E2D\u0E40\u0E19\u0E35\u0E22\u0E19\u0E2A\u0E01\u0E34\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.animation_onion_skin.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E42\u0E04\u0E23\u0E07\u0E25\u0E27\u0E14\u0E02\u0E2D\u0E07\u0E40\u0E1F\u0E23\u0E21\u0E2D\u0E37\u0E48\u0E19\u0E43\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","action.apply_animation_preset":"\u0E43\u0E0A\u0E49\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.apply_animation_preset.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E41\u0E25\u0E30\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.brush_presets.pixel_perfect":"\u0E41\u0E1B\u0E23\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E40\u0E1E\u0E2D\u0E23\u0E4C\u0E40\u0E1F\u0E01\u0E15\u0E4C","panel.layers":"\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","uv_editor.copy_paste_tool.to_layer":"\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E21\u0E48","format.image.new":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E43\u0E2B\u0E21\u0E48","format.image.info.summary":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E 2D \u0E0A\u0E48\u0E27\u0E22\u0E43\u0E2B\u0E49\u0E04\u0E38\u0E13\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E41\u0E25\u0E30\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E25\u0E30\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E2D\u0E32\u0E23\u0E4C\u0E15\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22\u0E15\u0E23\u0E07\u0E43\u0E19 Blockbench \u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01 \u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E \u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C \u0E2B\u0E23\u0E37\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E2D\u0E32\u0E23\u0E4C\u0E15\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E40\u0E2D\u0E07!","settings.move_with_selection_tool":"\u0E43\u0E0A\u0E49\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E22\u0E49\u0E32\u0E22\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.move_with_selection_tool.desc":"\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E22\u0E49\u0E32\u0E22\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E14\u0E22\u0E15\u0E23\u0E07 \u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E2A\u0E25\u0E31\u0E1A\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E22\u0E49\u0E32\u0E22\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","settings.final_newline":"\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14\u0E43\u0E2B\u0E21\u0E48\u0E2A\u0E38\u0E14\u0E17\u0E49\u0E32\u0E22","settings.final_newline.desc":"\u0E41\u0E17\u0E23\u0E01\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14\u0E43\u0E2B\u0E21\u0E48\u0E17\u0E35\u0E48\u0E17\u0E49\u0E32\u0E22\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","action.crop_layer_to_selection":"\u0E04\u0E23\u0E2D\u0E1A\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.edit_mode_uv_overlay.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E32\u0E23\u0E0B\u0E49\u0E2D\u0E19\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 UV \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E01\u0E49\u0E44\u0E02","menu.image":"\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","menu.texture.discard_changes":"\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07","menu.texture.discard_changes.desc":"\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E25\u0E30\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C","panel.textures.images":"\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","dialog.advanced":"\u0E02\u0E31\u0E49\u0E19\u0E2A\u0E39\u0E07","dialog.recommended_option":"\u0E41\u0E19\u0E30\u0E19\u0E33","modifier_actions.snap_to_center":"\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","modifier_actions.snap_to_pixels":"\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","message.invalid_format.install_plugin":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 '%0'","message.plugin_deprecated.message":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E34\u0E01\u0E43\u0E0A\u0E49\u0E41\u0E25\u0E49\u0E27\u0E19\u0E35\u0E49?","message.plugin_deprecated.install_anyway":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E15\u0E48\u0E2D\u0E44\u0E1B","message.image_editor.not_found":"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01 \u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2D\u0E37\u0E48\u0E19","message.knife_tool.confirm":"\u0E01\u0E14 %0 \u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E19\u0E35\u0E48\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49 Knife Tool","message.knife_tool.skipped_face":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E31\u0E14\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E46 \u0E44\u0E14\u0E49 \u0E23\u0E27\u0E21\u0E02\u0E2D\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E19\u0E31\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22!","message.optimize_animation.keyframes_removed":"\u0E25\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E0B\u0E49\u0E33 %0 \u0E2D\u0E31\u0E19\u0E41\u0E25\u0E49\u0E27","message.optimize_animation.nothing_to_optimize":"\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E2A\u0E34\u0E48\u0E07\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1B\u0E23\u0E30\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E20\u0E32\u0E1E!","message.duplicate_bone_copy_animation.title":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","message.duplicate_bone_copy_animation.message":"\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E17\u0E35\u0E48\u0E17\u0E33\u0E0B\u0E49\u0E33\u0E21\u0E35\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E19 %0 \u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E43\u0E2B\u0E21\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.auto_fix_mesh_edit.title":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","message.auto_fix_mesh_edit.revert":"\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02","message.auto_fix_mesh_edit.overlapping_vertices":"\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E1A\u0E32\u0E07\u0E08\u0E38\u0E14\u0E16\u0E39\u0E01\u0E22\u0E49\u0E32\u0E22\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19 \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E44\u0E23?","message.auto_fix_mesh_edit.concave_quads":"\u0E2B\u0E19\u0E49\u0E32\u0E04\u0E27\u0E2D\u0E14\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E39\u0E1B\u0E40\u0E27\u0E49\u0E32 \u0E0B\u0E36\u0E48\u0E07\u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E40\u0E01\u0E34\u0E14\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E43\u0E19\u0E01\u0E32\u0E23\u0E41\u0E21\u0E1B UV \u0E41\u0E25\u0E30\u0E01\u0E32\u0E23\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C Blockbench \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E41\u0E01\u0E49\u0E44\u0E02\u0E43\u0E2B\u0E49\u0E04\u0E38\u0E13\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34:","message.auto_fix_mesh_edit.merge_vertices":"\u0E1C\u0E2A\u0E32\u0E19\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","message.auto_fix_mesh_edit.split_quads":"\u0E41\u0E22\u0E01\u0E04\u0E27\u0E2D\u0E14","message.load_images.add_image":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","dialog.project.modded_entity_entity_class":"\u0E04\u0E25\u0E32\u0E2A\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35","dialog.resize_texture.offset":"\u0E2D\u0E2D\u0E1F\u0E40\u0E0B\u0E47\u0E15","dialog.animated_texture_editor.code_reference":"\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E42\u0E04\u0E49\u0E14","dialog.animated_texture_editor.code_reference.about":"\u0E42\u0E04\u0E49\u0E14\u0E19\u0E35\u0E49\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E02\u0E36\u0E49\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C \u0E41\u0E25\u0E30\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02 \u0E14\u0E39\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E35\u0E22\u0E19\u0E23\u0E39\u0E49\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21","dialog.animated_texture_editor.code_reference.docs":"\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","dialog.animated_texture_editor.reframe":"\u0E08\u0E31\u0E14\u0E40\u0E1F\u0E23\u0E21\u0E43\u0E2B\u0E21\u0E48","dialog.animated_texture_editor.stride":"\u0E02\u0E19\u0E32\u0E14\u0E40\u0E1F\u0E23\u0E21","dialog.animated_texture_editor.frames":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E1F\u0E23\u0E21","dialog.animated_texture_editor.add_frame":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E1F\u0E23\u0E21","dialog.animated_texture_editor.resize_frames":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E40\u0E1F\u0E23\u0E21...","dialog.animated_texture_editor.apply":"\u0E43\u0E0A\u0E49","dialog.add_primitive.edge_size":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E1A","dialog.change_animation_speed.speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27","dialog.change_animation_speed.adjust_snapping":"\u0E1B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E08\u0E31\u0E1A\u0E22\u0E36\u0E14","dialog.optimize_animation.selection":"\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.optimize_animation.selection.selected_keyframes":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.optimize_animation.selection.selected_animation":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.optimize_animation.selection.all_animations":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.optimize_animation.thresholds":"\u0E04\u0E48\u0E32\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14","dialog.import_obj.obj":"\u0E44\u0E1F\u0E25\u0E4C OBJ","dialog.import_obj.mtl":"\u0E44\u0E1F\u0E25\u0E4C MTL","dialog.import_obj.scale":"\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","layout.thumbnail":"CSS \u0E20\u0E32\u0E1E\u0E1B\u0E01\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","settings.pixel_grid":"\u0E01\u0E23\u0E34\u0E14\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25","settings.pixel_grid.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E23\u0E34\u0E14\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1A\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E01\u0E49\u0E44\u0E02","settings.image_editor_grid_size":"\u0E02\u0E19\u0E32\u0E14\u0E01\u0E23\u0E34\u0E14\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","settings.image_editor_grid_size.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E34\u0E14\u0E43\u0E2B\u0E0D\u0E48\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E 2D","settings.ground_plane_double_side":"\u0E23\u0E30\u0E19\u0E32\u0E1A\u0E1E\u0E37\u0E49\u0E19\u0E2A\u0E2D\u0E07\u0E14\u0E49\u0E32\u0E19","settings.ground_plane_double_side.desc":"\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E23\u0E30\u0E19\u0E32\u0E1A\u0E1E\u0E37\u0E49\u0E19\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E44\u0E14\u0E49\u0E08\u0E32\u0E01\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07","settings.optifine_save_default_texture":"OptiFine JEM: \u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.optifine_save_default_texture.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","action.slider_color_select_threshold":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","action.slider_color_select_threshold.desc":"\u0E2A\u0E35\u0E02\u0E2D\u0E07\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E02\u0E49\u0E32\u0E07\u0E40\u0E04\u0E35\u0E22\u0E07\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E01\u0E25\u0E49\u0E40\u0E04\u0E35\u0E22\u0E07\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E43\u0E14\u0E08\u0E36\u0E07\u0E08\u0E30\u0E16\u0E39\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E49\u0E01\u0E32\u0E22\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C","action.stretch_tool":"\u0E22\u0E37\u0E14","action.stretch_tool.desc":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E25\u0E30\u0E22\u0E37\u0E14\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.knife_tool":"\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E21\u0E35\u0E14","action.knife_tool.desc":"\u0E15\u0E31\u0E14\u0E02\u0E2D\u0E1A\u0E40\u0E21\u0E0A\u0E14\u0E49\u0E27\u0E22\u0E21\u0E35\u0E14","action.duplicate_project":"\u0E17\u0E33\u0E2A\u0E33\u0E40\u0E19\u0E32\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","action.duplicate_project.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E2A\u0E33\u0E40\u0E19\u0E32\u0E02\u0E2D\u0E07\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48","action.transform_space.parent":"\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C","action.transform_pivot_space":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","action.solidify_mesh_selection":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E19\u0E32","action.solidify_mesh_selection.desc":"\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E40\u0E21\u0E0A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E19\u0E32\u0E02\u0E36\u0E49\u0E19","action.animated_texture_editor":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04...","action.animated_texture_editor.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.center_individual_pivots":"\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E31\u0E19","action.center_individual_pivots.desc":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E02\u0E2D\u0E07\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07\u0E02\u0E2D\u0E07\u0E21\u0E31\u0E19","action.uv_cycle":"\u0E2B\u0E21\u0E38\u0E19 UV","action.uv_cycle.desc":"\u0E2B\u0E21\u0E38\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV \u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07 UV","action.uv_cycle_invert":"\u0E01\u0E25\u0E31\u0E1A\u0E25\u0E33\u0E14\u0E31\u0E1A UV","action.uv_cycle_invert.desc":"\u0E01\u0E25\u0E31\u0E1A\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14 UV \u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07 UV","action.slider_animation_controller_speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E40\u0E25\u0E48\u0E19\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C","action.slider_animation_controller_speed.desc":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E40\u0E25\u0E48\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E2D\u0E19\u0E42\u0E17\u0E23\u0E25\u0E40\u0E25\u0E2D\u0E23\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E1B\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E47\u0E19\u0E15\u0E4C","action.optimize_animation":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1B\u0E23\u0E30\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E20\u0E32\u0E1E\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.optimize_animation.desc":"\u0E25\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E08\u0E33\u0E40\u0E1B\u0E47\u0E19","action.change_animation_speed":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.change_animation_speed.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","timeline.select_particle_file":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","timeline.select_sound_file":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E2A\u0E35\u0E22\u0E07","menu.cube.texture.default":"\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.texture.particle.clear":"\u0E2B\u0E22\u0E38\u0E14\u0E43\u0E0A\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E19\u0E38\u0E20\u0E32\u0E04","menu.texture.use_as_default":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.texture.use_as_default.clear":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E15\u0E31\u0E49\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","menu.toolbar.overflow":"\u0E41\u0E16\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E25\u0E49\u0E19","edit.solidify_mesh_selection.thickness":"\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E19\u0E32","reference_image.sync_to_timeline":"\u0E0B\u0E34\u0E07\u0E04\u0E4C\u0E01\u0E31\u0E1A\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","reference_image.toggle_playback":"\u0E40\u0E25\u0E48\u0E19/\u0E2B\u0E22\u0E38\u0E14\u0E0A\u0E31\u0E48\u0E27\u0E04\u0E23\u0E32\u0E27","dialog.add_primitive.shape.beveled_cuboid":"\u0E17\u0E23\u0E07\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E21\u0E38\u0E21\u0E09\u0E32\u0E01\u0E40\u0E2D\u0E35\u0E22\u0E07","dialog.ignore_all":"\u0E40\u0E1E\u0E34\u0E01\u0E40\u0E09\u0E22\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","data.texture_group":"\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","data.animation":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","generic.on":"\u0E40\u0E1B\u0E34\u0E14","generic.off":"\u0E1B\u0E34\u0E14","format.free.info.3d_printing":"\u0E1E\u0E34\u0E21\u0E1E\u0E4C 3D","message.invalid_file.merge_conflict":"\u0E44\u0E1F\u0E25\u0E4C\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E02\u0E31\u0E14\u0E41\u0E22\u0E49\u0E07 Git merge \u0E17\u0E35\u0E48\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E41\u0E01\u0E49\u0E44\u0E02","dialog.expand_texture_selection.radius":"\u0E08\u0E33\u0E19\u0E27\u0E19","dialog.expand_texture_selection.corner":"\u0E23\u0E39\u0E1B\u0E23\u0E48\u0E32\u0E07\u0E21\u0E38\u0E21","dialog.expand_texture_selection.corner.round":"\u0E21\u0E19","dialog.expand_texture_selection.corner.square":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21","dialog.expand_texture_selection.corner.manhattan":"\u0E41\u0E21\u0E19\u0E2E\u0E31\u0E15\u0E15\u0E31\u0E19","dialog.merge_animation.merge_target":"\u0E1C\u0E2A\u0E32\u0E19\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48","keybindings.variation_conflict":"\u0E15\u0E31\u0E27\u0E41\u0E1B\u0E23\u0E02\u0E31\u0E14\u0E41\u0E22\u0E49\u0E07\u0E01\u0E31\u0E1A\u0E41\u0E1B\u0E49\u0E19\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E25\u0E31\u0E14\u0E2B\u0E25\u0E31\u0E01","settings.recovery_save_interval":"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19","settings.recovery_save_interval.desc":"\u0E23\u0E30\u0E22\u0E30\u0E40\u0E27\u0E25\u0E32\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E01\u0E32\u0E23\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E08\u0E38\u0E14\u0E01\u0E39\u0E49\u0E04\u0E37\u0E19\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.save_view_per_tab":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E15\u0E48\u0E2D\u0E41\u0E17\u0E47\u0E1A","settings.save_view_per_tab.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E41\u0E22\u0E01\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E41\u0E17\u0E47\u0E1A","settings.inherit_parent_color":"\u0E2A\u0E37\u0E1A\u0E17\u0E2D\u0E14\u0E2A\u0E35\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C","settings.inherit_parent_color.desc":"\u0E15\u0E31\u0E49\u0E07\u0E2A\u0E35\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E43\u0E2B\u0E21\u0E48\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E35\u0E02\u0E2D\u0E07\u0E1E\u0E32\u0E40\u0E23\u0E19\u0E15\u0E4C\u0E41\u0E17\u0E19\u0E2A\u0E35\u0E2A\u0E38\u0E48\u0E21","keybind.preview_select.multi_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E25\u0E32\u0E22\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23","keybind.preview_select.group_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E25\u0E38\u0E48\u0E21","keybind.preview_select.loop_select":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E27\u0E19","action.fill_mode.selection":"\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.fill_mode.selected_elements":"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.image_tiled_view":"\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E15\u0E48\u0E2D\u0E01\u0E31\u0E19","action.image_tiled_view.description":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E15\u0E48\u0E2D\u0E01\u0E31\u0E19\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 2D","action.image_onion_skin_view":"\u0E2D\u0E2D\u0E40\u0E19\u0E35\u0E22\u0E19\u0E2A\u0E01\u0E34\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","action.image_onion_skin_view.description":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07\u0E2D\u0E2D\u0E40\u0E19\u0E35\u0E22\u0E19\u0E2A\u0E01\u0E34\u0E19\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 2D","action.expand_texture_selection":"\u0E02\u0E22\u0E32\u0E22\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.expand_texture_selection.desc":"\u0E02\u0E22\u0E32\u0E22\u0E2B\u0E23\u0E37\u0E2D\u0E22\u0E48\u0E2D\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.switch_tabs.reverse_order":"\u0E22\u0E49\u0E2D\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A","action.save_project_incremental":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E25\u0E02\u0E40\u0E1E\u0E34\u0E48\u0E21","action.save_project_incremental.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E40\u0E25\u0E02\u0E40\u0E1E\u0E34\u0E48\u0E21 (\u0E40\u0E0A\u0E48\u0E19 project_2.bbmodel)","action.copy.multiple":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.copy.multiple.desc":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E21\u0E35\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E22\u0E01\u0E01\u0E31\u0E19","action.paste.multiple":"\u0E27\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.randomize_marker_colors":"\u0E2A\u0E38\u0E48\u0E21\u0E2A\u0E35\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22","action.cube_light_emission":"\u0E01\u0E32\u0E23\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E41\u0E2A\u0E07","action.cube_light_emission.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E41\u0E2A\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01 \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 0 \u0E16\u0E36\u0E07 15","action.view_mode.colored_solid":"\u0E17\u0E36\u0E1A\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E2A\u0E35\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22","action.focus_on_selection.rotate_only":"\u0E2B\u0E21\u0E38\u0E19\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19","action.create_texture_group":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.create_texture_group.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","action.uv_maximize.all_faces":"\u0E21\u0E35\u0E1C\u0E25\u0E01\u0E31\u0E1A\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.retarget_animators":"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E2B\u0E21\u0E48","action.retarget_animators.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E48\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E14","action.merge_animation":"\u0E1C\u0E2A\u0E32\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.merge_animation.desc":"\u0E1C\u0E2A\u0E32\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E40\u0E02\u0E49\u0E32\u0E14\u0E49\u0E27\u0E22\u0E01\u0E31\u0E19","action.add_keyframe.reset_values":"\u0E14\u0E49\u0E27\u0E22\u0E04\u0E48\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","action.set_timeline_range_start":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E0A\u0E48\u0E27\u0E07\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.set_timeline_range_start.desc":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E25\u0E48\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.set_timeline_range_end":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E0A\u0E48\u0E27\u0E07\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.set_timeline_range_end.desc":"\u0E15\u0E31\u0E49\u0E07\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E25\u0E48\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.disable_timeline_range":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E0A\u0E48\u0E27\u0E07\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.disable_timeline_range.desc":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E25\u0E48\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","menu.texture_group.resolve":"\u0E22\u0E38\u0E1A","menu.image_tiled_view.mirrored":"\u0E02\u0E2D\u0E1A\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19","menu.image_onion_skin_view.frame":"\u0E40\u0E1F\u0E23\u0E21","menu.image_onion_skin_view.frame.last_viewed":"\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E14\u0E39\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14","menu.image_onion_skin_view.frame.previous":"\u0E40\u0E1F\u0E23\u0E21\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32","menu.image_onion_skin_view.frame.next":"\u0E40\u0E1F\u0E23\u0E21\u0E16\u0E31\u0E14\u0E44\u0E1B","menu.image_onion_skin_view.frame.both":"\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 + \u0E16\u0E31\u0E14\u0E44\u0E1B","menu.image_onion_skin_view.display":"\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","menu.image_onion_skin_view.display.pixels":"\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E40\u0E25\u0E47\u0E01\u0E25\u0E07","menu.image_onion_skin_view.display.transparent":"\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A","menu.image_onion_skin_view.above":"\u0E41\u0E2A\u0E14\u0E07\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19","menu.animation.reload":"\u0E42\u0E2B\u0E25\u0E14\u0E43\u0E2B\u0E21\u0E48","switches.autouv.alt":"\u0E2A\u0E31\u0E21\u0E1E\u0E31\u0E17\u0E18\u0E4C","display.rotation_pivot":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","display.scale_pivot":"\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","display.reference.fox":"\u0E2A\u0E38\u0E19\u0E31\u0E02\u0E08\u0E34\u0E49\u0E07\u0E08\u0E2D\u0E01","display.reference.eating":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E01\u0E34\u0E19","preview_scene.sky":"\u0E17\u0E49\u0E2D\u0E07\u0E1F\u0E49\u0E32","preview_scene.space":"\u0E2D\u0E27\u0E01\u0E32\u0E28","preview_scene.minecraft_ocean":"\u0E21\u0E2B\u0E32\u0E2A\u0E21\u0E38\u0E17\u0E23","message.import_palette.selection_only":"\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.blend_transition_edit.ease_in_out":"\u0E40\u0E02\u0E49\u0E32-\u0E2D\u0E2D\u0E01 (%0)","dialog.blend_transition_edit.generate":"\u0E2A\u0E23\u0E49\u0E32\u0E07...","dialog.blend_transition_edit.generate.learn_more":"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E41\u0E25\u0E30\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","dialog.blend_transition_edit.generate.curve":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17 Easing","dialog.blend_transition_edit.generate.steps":"\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","settings.fps_limit":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14 FPS","settings.fps_limit.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E1F\u0E23\u0E21\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E17\u0E35\u0E48 Blockbench \u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C \u0E2D\u0E31\u0E15\u0E23\u0E32\u0E40\u0E1F\u0E23\u0E21\u0E08\u0E23\u0E34\u0E07\u0E08\u0E33\u0E01\u0E31\u0E14\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48\u0E2D\u0E38\u0E1B\u0E01\u0E23\u0E13\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E14\u0E49","settings.outliner_reveal_on_select":"\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E1C\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.outliner_reveal_on_select.desc":"\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E1C\u0E22\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E16\u0E39\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.java_export_pivots":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java","settings.java_export_pivots.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19\u0E43\u0E19\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java \u0E1A\u0E19\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","animation_controllers.state.blend_transition_curve":"\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07\u0E17\u0E23\u0E32\u0E19\u0E0B\u0E34\u0E0A\u0E31\u0E19\u0E1C\u0E2A\u0E21","menu.slider.reset_vector":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E27\u0E01\u0E40\u0E15\u0E2D\u0E23\u0E4C","dialog.blend_transition_edit.extended":"\u0E01\u0E23\u0E32\u0E1F\u0E02\u0E22\u0E32\u0E22","message.screenshot_too_large.title":"\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D","message.screenshot_too_large.message":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E20\u0E32\u0E1E\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E44\u0E14\u0E49\u0E2A\u0E33\u0E40\u0E23\u0E47\u0E08 \u0E01\u0E23\u0E38\u0E13\u0E32\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07\u0E14\u0E49\u0E27\u0E22\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E17\u0E35\u0E48\u0E15\u0E48\u0E33\u0E25\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E49\u0E0B\u0E39\u0E40\u0E1B\u0E2D\u0E23\u0E4C\u0E41\u0E0B\u0E21\u0E1B\u0E25\u0E34\u0E07","message.rename_elements.numbering":"\u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1E\u0E34\u0E40\u0E28\u0E29\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E25\u0E33\u0E14\u0E31\u0E1A: % \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E31\u0E1A\u0E14\u0E31\u0E0A\u0E19\u0E35\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21, $ \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E31\u0E1A\u0E14\u0E31\u0E0A\u0E19\u0E35\u0E20\u0E32\u0E22\u0E43\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","generic.edit_externally":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E20\u0E32\u0E22\u0E19\u0E2D\u0E01","message.settings_require_restart.title":"\u0E15\u0E49\u0E2D\u0E07\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17","message.settings_require_restart.message":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E1A\u0E32\u0E07\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E08\u0E30\u0E21\u0E35\u0E1C\u0E25\u0E2B\u0E25\u0E31\u0E07\u0E08\u0E32\u0E01\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21","message.settings_require_restart.restart_now":"\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17\u0E40\u0E14\u0E35\u0E4B\u0E22\u0E27\u0E19\u0E35\u0E49","message.settings_require_restart.restart_later":"\u0E23\u0E35\u0E2A\u0E15\u0E32\u0E23\u0E4C\u0E17\u0E20\u0E32\u0E22\u0E2B\u0E25\u0E31\u0E07","message.classroom_mode.install_plugin":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E2B\u0E49\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E19","dialog.collection.export_path":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","dialog.collection.select_all":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.collection.select_none":"\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","dialog.collection.add_with_filter":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E14\u0E49\u0E27\u0E22\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07","dialog.collection.remove":"\u0E25\u0E1A\u0E2D\u0E2D\u0E01","dialog.material_config.title":"\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E27\u0E31\u0E2A\u0E14\u0E38","dialog.material_config.color_value":"\u0E04\u0E48\u0E32\u0E2A\u0E35","dialog.material_config.mer":"\u0E42\u0E25\u0E2B\u0E30-\u0E40\u0E23\u0E37\u0E2D\u0E07\u0E41\u0E2A\u0E07-\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E22\u0E32\u0E1A","dialog.material_config.mer_value":"\u0E04\u0E48\u0E32 MER","dialog.material_config.depth_type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E04\u0E27\u0E32\u0E21\u0E25\u0E36\u0E01","dialog.create_texture.disable_mirror_uv":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E01\u0E32\u0E23\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV","dialog.create_texture.disable_mirror_uv.desc":"\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV \u0E43\u0E19 Mirror Modeling \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E23\u0E31\u0E01\u0E29\u0E32 UV \u0E41\u0E22\u0E01\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E14\u0E49\u0E32\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","dialog.create_gif.turn.sync_to_anim_length":"\u0E0B\u0E34\u0E07\u0E04\u0E4C\u0E01\u0E31\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.category.controls":"\u0E01\u0E32\u0E23\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21","settings.classroom_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2B\u0E49\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E19","settings.classroom_mode.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E1F\u0E31\u0E07\u0E01\u0E4C\u0E0A\u0E31\u0E19\u0E1A\u0E32\u0E07\u0E2D\u0E22\u0E48\u0E32\u0E07 \u0E40\u0E0A\u0E48\u0E19 \u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 \u0E41\u0E25\u0E30\u0E25\u0E1A\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E42\u0E0B\u0E40\u0E0A\u0E35\u0E22\u0E25\u0E21\u0E35\u0E40\u0E14\u0E35\u0E22","settings.antialiasing_bleed_fix":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2A\u0E35\u0E25\u0E49\u0E19\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E15\u0E34\u0E2D\u0E32\u0E40\u0E25\u0E35\u0E22\u0E2A\u0E0B\u0E34\u0E07","settings.antialiasing_bleed_fix.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2A\u0E35\u0E25\u0E49\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E41\u0E2D\u0E19\u0E15\u0E34\u0E2D\u0E32\u0E40\u0E25\u0E35\u0E22\u0E2A\u0E0B\u0E34\u0E07 \u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E1A\u0E19\u0E2E\u0E32\u0E23\u0E4C\u0E14\u0E41\u0E27\u0E23\u0E4C\u0E40\u0E01\u0E48\u0E32","settings.tone_mapping":"\u0E42\u0E17\u0E19\u0E41\u0E21\u0E1B\u0E1B\u0E34\u0E07","settings.tone_mapping.desc":"\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E48\u0E32\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E2A\u0E14\u0E07\u0E0A\u0E48\u0E27\u0E07\u0E44\u0E14\u0E19\u0E32\u0E21\u0E34\u0E01\u0E2A\u0E39\u0E07\u0E1A\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E21\u0E32\u0E15\u0E23\u0E10\u0E32\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C PBR","settings.audio_scrubbing":"\u0E40\u0E2A\u0E35\u0E22\u0E07\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","settings.audio_scrubbing.desc":"\u0E40\u0E25\u0E48\u0E19\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E2A\u0E31\u0E49\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E2A\u0E35\u0E22\u0E07\u0E02\u0E13\u0E30\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E1C\u0E48\u0E32\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","settings.viewport_rotate_speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15","settings.viewport_rotate_speed.desc":"\u0E04\u0E27\u0E32\u0E21\u0E44\u0E27\u0E02\u0E2D\u0E07\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E2B\u0E21\u0E38\u0E19\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15","settings.viewport_zoom_speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E01\u0E32\u0E23\u0E0B\u0E39\u0E21\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15","settings.viewport_zoom_speed.desc":"\u0E04\u0E27\u0E32\u0E21\u0E44\u0E27\u0E02\u0E2D\u0E07\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E0B\u0E39\u0E21\u0E43\u0E19\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15","settings.editor_2d_zoom_speed":"\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27\u0E01\u0E32\u0E23\u0E0B\u0E39\u0E21\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 2D","settings.editor_2d_zoom_speed.desc":"\u0E04\u0E27\u0E32\u0E21\u0E44\u0E27\u0E02\u0E2D\u0E07\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E0B\u0E39\u0E21\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV \u0E41\u0E25\u0E30\u0E27\u0E32\u0E14 2D","category.select":"\u0E40\u0E25\u0E37\u0E2D\u0E01","action.vertex_snap_mode.rotate":"\u0E2B\u0E21\u0E38\u0E19","action.export_image":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","action.export_image.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E","action.apply_mirror_modeling":"\u0E43\u0E0A\u0E49 Mirror Modeling","action.apply_mirror_modeling.desc":"\u0E43\u0E0A\u0E49 Mirror Modeling \u0E01\u0E31\u0E1A\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01 \u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E08\u0E30\u0E16\u0E39\u0E01\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E41\u0E25\u0E30\u0E1E\u0E25\u0E34\u0E01\u0E02\u0E49\u0E32\u0E21\u0E41\u0E01\u0E19 X","action.create_collection":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19","action.create_collection.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19\u0E08\u0E32\u0E01\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E40\u0E2D\u0E32\u0E15\u0E4C\u0E44\u0E25\u0E40\u0E19\u0E2D\u0E23\u0E4C","action.set_collection_content_to_selection":"\u0E15\u0E31\u0E49\u0E07\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19\u0E15\u0E32\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.set_collection_content_to_selection.desc":"\u0E15\u0E31\u0E49\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E41\u0E25\u0E30\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32\u0E02\u0E2D\u0E07\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19","action.add_to_collection":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19","action.add_to_collection.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E25\u0E38\u0E48\u0E21\u0E41\u0E25\u0E30\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19","action.view_mode.material":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E27\u0E31\u0E2A\u0E14\u0E38","action.create_material":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E27\u0E31\u0E2A\u0E14\u0E38","action.create_material.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E27\u0E31\u0E2A\u0E14\u0E38 PBR \u0E43\u0E2B\u0E21\u0E48\u0E08\u0E32\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.generate_pbr_map":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 PBR...","action.generate_pbr_map.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 PBR (\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E39\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E42\u0E25\u0E2B\u0E30 \u0E40\u0E23\u0E37\u0E2D\u0E07\u0E41\u0E2A\u0E07 \u0E04\u0E27\u0E32\u0E21\u0E2B\u0E22\u0E32\u0E1A) \u0E08\u0E32\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48","menu.tools.main_tools":"\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D","menu.view.panels":"\u0E41\u0E1C\u0E07","menu.texture.pbr_channel":"\u0E0A\u0E48\u0E2D\u0E07 PBR","menu.texture.pbr_channel.color":"\u0E2A\u0E35","menu.texture.pbr_channel.normal":"\u0E1B\u0E01\u0E15\u0E34","menu.texture.pbr_channel.height":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E39\u0E07","menu.texture.pbr_channel.mer":"MER (\u0E42\u0E25\u0E2B\u0E30-\u0E40\u0E23\u0E37\u0E2D\u0E07\u0E41\u0E2A\u0E07-\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E22\u0E32\u0E1A)","menu.texture.pbr_channel.mer_subsurface":"MER \u0E43\u0E15\u0E49\u0E1C\u0E34\u0E27","menu.collection.export_project":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","menu.collection.export_as":'\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19 "%0"',"menu.panel.enable":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49","menu.panel.move_to":"\u0E22\u0E49\u0E32\u0E22\u0E44\u0E1B\u0E22\u0E31\u0E07","menu.panel.move_to.left_bar":"\u0E41\u0E16\u0E1A\u0E02\u0E49\u0E32\u0E07\u0E0B\u0E49\u0E32\u0E22","menu.panel.move_to.right_bar":"\u0E41\u0E16\u0E1A\u0E02\u0E49\u0E32\u0E07\u0E02\u0E27\u0E32","menu.panel.move_to.top":"\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19","menu.panel.move_to.bottom":"\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07","menu.panel.move_to.float":"\u0E25\u0E2D\u0E22","menu.panel.move_to.hidden":"\u0E0B\u0E48\u0E2D\u0E19","menu.panel.fold":"\u0E22\u0E38\u0E1A","menu.mirror_painting.texture_center":"\u0E08\u0E38\u0E14\u0E01\u0E33\u0E40\u0E19\u0E34\u0E14","menu.mirror_modeling.mirror_uv":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19 UV","menu.animation_onion_skin.frames":"\u0E40\u0E1F\u0E23\u0E21","menu.animation_onion_skin.select":"\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.animation_onion_skin.previous":"\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32","menu.animation_onion_skin.next":"\u0E16\u0E31\u0E14\u0E44\u0E1B","menu.animation_onion_skin.previous_next":"\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 + \u0E16\u0E31\u0E14\u0E44\u0E1B","menu.animation_onion_skin.count":"\u0E08\u0E33\u0E19\u0E27\u0E19","menu.animation_onion_skin.interval":"\u0E0A\u0E48\u0E27\u0E07","menu.animation_onion_skin_selective":"\u0E2D\u0E2D\u0E40\u0E19\u0E35\u0E22\u0E19\u0E2A\u0E01\u0E34\u0E19\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.animation_onion_skin_selective.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E2D\u0E40\u0E19\u0E35\u0E22\u0E19\u0E2A\u0E01\u0E34\u0E19\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","edit.loop_cut.unit":"\u0E2B\u0E19\u0E48\u0E27\u0E22","edit.loop_cut.unit.size_units":"\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E02\u0E19\u0E32\u0E14","edit.loop_cut.unit.percent":"\u0E40\u0E1B\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E47\u0E19\u0E15\u0E4C","edit.extrude_mesh_selection.direction":"\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07","edit.extrude_mesh_selection.direction.outwards":"\u0E2D\u0E2D\u0E01\u0E14\u0E49\u0E32\u0E19\u0E19\u0E2D\u0E01","edit.extrude_mesh_selection.direction.average":"\u0E40\u0E09\u0E25\u0E35\u0E48\u0E22","edit.extrude_mesh_selection.even_extend":"\u0E02\u0E22\u0E32\u0E22\u0E40\u0E17\u0E48\u0E32\u0E46 \u0E01\u0E31\u0E19","edit.vertex_snap.align":"\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07","edit.vertex_snap.align.longest":"\u0E41\u0E01\u0E19\u0E17\u0E35\u0E48\u0E22\u0E32\u0E27\u0E17\u0E35\u0E48\u0E2A\u0E38\u0E14","edit.vertex_snap.align.direction":"\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E08\u0E32\u0E01\u0E08\u0E38\u0E14\u0E2B\u0E21\u0E38\u0E19","edit.vertex_snap.align.align_axis":"\u0E41\u0E01\u0E19 %0","edit.vertex_snap.ignore_axis":"\u0E40\u0E1E\u0E34\u0E01\u0E40\u0E09\u0E22\u0E41\u0E01\u0E19","codec.common.format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","codec.image.quality":"\u0E04\u0E38\u0E13\u0E20\u0E32\u0E1E","panel.collections":"\u0E04\u0E2D\u0E25\u0E40\u0E25\u0E01\u0E0A\u0E31\u0E19","modifier_actions.always":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E40\u0E2A\u0E21\u0E2D","modifier_actions.unless":"\u0E22\u0E01\u0E40\u0E27\u0E49\u0E19 %0","settings.undo_selections":"\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.undo_selections.desc":"\u0E15\u0E34\u0E14\u0E15\u0E32\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E31\u0E49\u0E19\u0E15\u0E2D\u0E19\u0E43\u0E19\u0E1B\u0E23\u0E30\u0E27\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E25\u0E34\u0E01\u0E17\u0E33","action.focus_on_selection.zoom":"\u0E0B\u0E39\u0E21\u0E43\u0E2B\u0E49\u0E1E\u0E2D\u0E14\u0E35","display.reference.tooting":"\u0E40\u0E1B\u0E48\u0E32\u0E41\u0E15\u0E23","settings.selection_tolerance":"\u0E04\u0E27\u0E32\u0E21\u0E17\u0E19\u0E17\u0E32\u0E19\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.selection_tolerance.desc":"\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.delete.keep_vertices":"\u0E04\u0E07\u0E02\u0E2D\u0E1A/\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","menu.mesh":"\u0E40\u0E21\u0E0A","dialog.material_config.subsurface":"\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E40\u0E08\u0E34\u0E07\u0E43\u0E15\u0E49\u0E1C\u0E34\u0E27","dialog.material_config.subsurface_enabled.desc":"\u0E43\u0E0A\u0E49\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32\u0E02\u0E2D\u0E07\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48 MER \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E40\u0E08\u0E34\u0E07\u0E43\u0E15\u0E49\u0E1C\u0E34\u0E27","settings.pick_combined_color":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E23\u0E27\u0E21","settings.pick_combined_color.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E23\u0E27\u0E21\u0E02\u0E2D\u0E07\u0E17\u0E38\u0E01\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E19\u0E31\u0E49\u0E19 \u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E35\u0E1A\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E2D\u0E22\u0E39\u0E48","action.split_rgb_into_layers":"\u0E41\u0E22\u0E01\u0E0A\u0E48\u0E2D\u0E07 RGBA \u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.split_rgb_into_layers.desc":"\u0E41\u0E22\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E34\u0E48\u0E21 \u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E0A\u0E48\u0E2D\u0E07 RGBA","dialog.project.java_block_version":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","data.spline_mesh":"\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","data.billboard":"\u0E1A\u0E34\u0E25\u0E1A\u0E2D\u0E23\u0E4C\u0E14","data.armature":"\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","data.armature_bone":"\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","generic.reload":"\u0E42\u0E2B\u0E25\u0E14\u0E43\u0E2B\u0E21\u0E48","modifier_actions.subtract":"\u0E25\u0E1A\u0E2D\u0E2D\u0E01","modifier_actions.reduced_intensity":"\u0E1B\u0E23\u0E31\u0E1A\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14","modifier_actions.select_bone":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","modifier_actions.spline_select_multiple_points":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E25\u0E32\u0E22\u0E08\u0E38\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25","modifier_actions.move_panel_without_docking":"\u0E22\u0E49\u0E32\u0E22\u0E42\u0E14\u0E22\u0E44\u0E21\u0E48\u0E15\u0E23\u0E36\u0E07","message.save_all_textures.message":"\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2D\u0E31\u0E19\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?","message.save_all_textures.skip":"\u0E02\u0E49\u0E32\u0E21","dialog.add_spline.shape":"\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07","dialog.add_spline.shape.segment":"\u0E2A\u0E48\u0E27\u0E19","dialog.add_spline.shape.square":"\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E1C\u0E37\u0E19\u0E1C\u0E49\u0E32","dialog.add_spline.shape.circle":"\u0E27\u0E07\u0E01\u0E25\u0E21","dialog.add_spline.diameter":"\u0E40\u0E2A\u0E49\u0E19\u0E1C\u0E48\u0E32\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","dialog.add_spline.sides_tubular":"\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E48\u0E2D","dialog.add_spline.sides_radial":"\u0E2A\u0E48\u0E27\u0E19\u0E27\u0E07\u0E41\u0E2B\u0E27\u0E19","dialog.add_spline.radius":"\u0E23\u0E31\u0E28\u0E21\u0E35\u0E17\u0E48\u0E2D","dialog.add_spline.length":"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27","dialog.add_spline.width":"\u0E04\u0E27\u0E32\u0E21\u0E01\u0E27\u0E49\u0E32\u0E07","dialog.plugins.revoke_permissions":"\u0E40\u0E1E\u0E34\u0E01\u0E16\u0E2D\u0E19\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C","dialog.expression_editor.pretty_print":"\u0E1E\u0E23\u0E34\u0E15\u0E15\u0E35\u0E49\u0E1E\u0E23\u0E34\u0E19\u0E15\u0E4C","dialog.expression_editor.minify":"\u0E22\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E40\u0E25\u0E47\u0E01\u0E2A\u0E38\u0E14","dialog.expression_editor.find_replace":"\u0E04\u0E49\u0E19\u0E2B\u0E32/\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48","dialog.create_gif.show_gizmos":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E34\u0E0B\u0E42\u0E21\u0E41\u0E25\u0E30\u0E01\u0E23\u0E34\u0E14","dialog.preview_options.title":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07","dialog.preview_options.background":"\u0E1E\u0E37\u0E49\u0E19\u0E2B\u0E25\u0E31\u0E07","dialog.preview_options.background.checkerboard":"\u0E15\u0E32\u0E23\u0E32\u0E07\u0E2B\u0E21\u0E32\u0E01\u0E23\u0E38\u0E01","dialog.preview_options.background.solid":"\u0E17\u0E36\u0E1A","dialog.preview_options.background.custom_color":"\u0E2A\u0E35\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","dialog.preview_options.show_gizmos":"\u0E41\u0E2A\u0E14\u0E07\u0E01\u0E34\u0E0B\u0E42\u0E21","dialog.skin.texture_source":"\u0E41\u0E2B\u0E25\u0E48\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.skin.texture_source.template":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E40\u0E17\u0E21\u0E40\u0E1E\u0E25\u0E15","dialog.skin.texture_source.load_texture":"\u0E42\u0E2B\u0E25\u0E14\u0E08\u0E32\u0E01 Minecraft","dialog.skin.texture_file":"\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.convert_skin.adjust_texture":"\u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.settings.clear_profile_value":"\u0E25\u0E49\u0E32\u0E07\u0E04\u0E48\u0E32\u0E42\u0E1B\u0E23\u0E44\u0E1F\u0E25\u0E4C","layout.section.customize":"\u0E1B\u0E23\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E07","layout.theme.configure":"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E04\u0E48\u0E32","layout.color.elevated":"\u0E22\u0E01\u0E23\u0E30\u0E14\u0E31\u0E1A","layout.color.elevated.desc":"\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A UI \u0E22\u0E01\u0E23\u0E30\u0E14\u0E31\u0E1A \u0E21\u0E31\u0E01\u0E41\u0E22\u0E01\u0E14\u0E49\u0E27\u0E22\u0E40\u0E07\u0E32\u0E15\u0E01","layout.file.watch_changes":"\u0E14\u0E39\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E41\u0E25\u0E30\u0E42\u0E2B\u0E25\u0E14\u0E43\u0E2B\u0E21\u0E48","settings.autocomplete_code":"\u0E40\u0E15\u0E34\u0E21\u0E42\u0E04\u0E49\u0E14\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34","settings.autocomplete_code.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E02\u0E49\u0E2D\u0E40\u0E2A\u0E19\u0E2D\u0E41\u0E19\u0E30\u0E01\u0E32\u0E23\u0E40\u0E15\u0E34\u0E21\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E42\u0E04\u0E49\u0E14","settings.detect_flipbook_textures":"\u0E15\u0E23\u0E27\u0E08\u0E08\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04","settings.detect_flipbook_textures.desc":"\u0E15\u0E23\u0E27\u0E08\u0E08\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04\u0E41\u0E1A\u0E1A\u0E40\u0E04\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E2B\u0E27\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E41\u0E25\u0E30\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.double_click_select_reference":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E14\u0E31\u0E1A\u0E40\u0E1A\u0E34\u0E25\u0E04\u0E25\u0E34\u0E01","settings.double_click_select_reference.desc":"\u0E14\u0E31\u0E1A\u0E40\u0E1A\u0E34\u0E25\u0E04\u0E25\u0E34\u0E01\u0E27\u0E34\u0E27\u0E1E\u0E2D\u0E23\u0E4C\u0E15\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E20\u0E32\u0E1E\u0E2D\u0E49\u0E32\u0E07\u0E2D\u0E34\u0E07","settings.default_keyframe_interpolation":"\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.default_keyframe_interpolation.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E42\u0E2B\u0E21\u0E14\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.color_picker_style":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","settings.color_picker_style.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E02\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35\u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E27\u0E32\u0E14","settings.export_asset_paths":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E41\u0E2D\u0E2A\u0E40\u0E0B\u0E47\u0E15","settings.export_asset_paths.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E27\u0E34\u0E18\u0E35\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E41\u0E2D\u0E2A\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E0A\u0E48\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E43\u0E19\u0E44\u0E1F\u0E25\u0E4C .bbmodel","settings.export_asset_paths.relative":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E2A\u0E31\u0E21\u0E1E\u0E31\u0E17\u0E18\u0E4C","settings.export_asset_paths.absolute":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E41\u0E1A\u0E1A\u0E40\u0E15\u0E47\u0E21","settings.export_asset_paths.both":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07\u0E2A\u0E31\u0E21\u0E1E\u0E31\u0E17\u0E18\u0E4C\u0E41\u0E25\u0E30\u0E41\u0E1A\u0E1A\u0E40\u0E15\u0E47\u0E21 (\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C)","settings.export_asset_paths.none":"\u0E44\u0E21\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01","action.slider_spline_resolution":"\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C %0","action.slider_spline_resolution.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E15\u0E32\u0E21\u0E41\u0E01\u0E19 %0 (%1)","action.slider_spline_resolution.u.desc_precision":"\u0E27\u0E07\u0E41\u0E2B\u0E27\u0E19","action.slider_spline_resolution.v.desc_precision":"\u0E17\u0E48\u0E2D","action.slider_spline_radius":"\u0E23\u0E31\u0E28\u0E21\u0E35\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.slider_spline_radius.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E23\u0E31\u0E28\u0E21\u0E35\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.slider_spline_handle_tilt":"\u0E21\u0E38\u0E21\u0E40\u0E2D\u0E35\u0E22\u0E07\u0E08\u0E38\u0E14\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21","action.slider_spline_handle_tilt.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E40\u0E2D\u0E35\u0E22\u0E07\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.slider_spline_handle_size":"\u0E02\u0E19\u0E32\u0E14\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25","action.slider_spline_handle_size.desc":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E02\u0E19\u0E32\u0E14\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.blend_mode.lighten":"\u0E2A\u0E27\u0E48\u0E32\u0E07\u0E02\u0E36\u0E49\u0E19","action.blend_mode.darken":"\u0E21\u0E37\u0E14\u0E25\u0E07","action.weight_brush":"\u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","action.weight_brush.desc":"\u0E27\u0E32\u0E14\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E1A\u0E19\u0E40\u0E21\u0E0A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E23\u0E39\u0E1B\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.convert_minecraft_skin_variant":"\u0E41\u0E1B\u0E25\u0E07\u0E2A\u0E01\u0E34\u0E19 Slim/Wide","action.convert_minecraft_skin_variant.desc":"\u0E2A\u0E25\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E2A\u0E01\u0E34\u0E19\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E27\u0E14\u0E4C\u0E04\u0E25\u0E32\u0E2A\u0E2A\u0E34\u0E01 (\u0E2A\u0E15\u0E35\u0E1F) \u0E41\u0E25\u0E30\u0E2A\u0E25\u0E34\u0E21 (\u0E2D\u0E40\u0E25\u0E47\u0E01\u0E0B\u0E4C) \u0E1B\u0E23\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E43\u0E2B\u0E49\u0E1E\u0E2D\u0E14\u0E35\u0E01\u0E31\u0E1A\u0E42\u0E21\u0E40\u0E14\u0E25\u0E44\u0E14\u0E49","action.custom_skin_poses":"\u0E17\u0E48\u0E32\u0E2A\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","action.custom_skin_poses.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E17\u0E48\u0E32\u0E2A\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","action.custom_skin_poses.update":"\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E17\u0E48\u0E32","action.custom_skin_poses.update.desc":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A\u0E17\u0E48\u0E32\u0E17\u0E35\u0E48\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E14\u0E49\u0E27\u0E22\u0E17\u0E48\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25","action.add_custom_skin_pose":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E17\u0E48\u0E32\u0E2A\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","action.add_custom_skin_pose.desc":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E17\u0E48\u0E32\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E40\u0E1B\u0E47\u0E19\u0E1E\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E17\u0E48\u0E32","action.export_stl":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01 STL","action.export_stl.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E42\u0E21\u0E40\u0E14\u0E25 STL \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E1E\u0E34\u0E21\u0E1E\u0E4C 3D","action.add_element":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.add_element.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E2B\u0E21\u0E48\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.add_spline":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.add_spline.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E43\u0E2B\u0E21\u0E48","action.add_billboard":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1A\u0E34\u0E25\u0E1A\u0E2D\u0E23\u0E4C\u0E14","action.add_billboard.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E1A\u0E34\u0E25\u0E1A\u0E2D\u0E23\u0E4C\u0E14\u0E43\u0E2B\u0E21\u0E48","action.add_armature":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.add_armature.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E1C\u0E34\u0E27\u0E40\u0E21\u0E0A\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E23\u0E39\u0E1B\u0E1C\u0E48\u0E32\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.add_armature_bone":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.add_armature_bone.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E43\u0E19\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.search_textures":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.search_textures.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21\u0E0A\u0E37\u0E48\u0E2D","action.search_animations":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.search_animations.desc":"\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E15\u0E32\u0E21\u0E0A\u0E37\u0E48\u0E2D","action.spline_selection_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E01\u0E32\u0E23\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.spline_selection_mode.object":"\u0E27\u0E31\u0E15\u0E16\u0E38","action.spline_selection_mode.handles":"\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25","action.spline_render_mode":"\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15","action.spline_render_mode.mesh":"\u0E40\u0E21\u0E0A","action.spline_render_mode.path":"\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07","action.spline_render_mode.desc":"\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15\u0E17\u0E35\u0E48\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E19\u0E35\u0E49\u0E04\u0E27\u0E23\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C","action.spline_uv_mode":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A UV","action.spline_uv_mode.length_accurate":"\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27\u0E41\u0E21\u0E48\u0E19\u0E22\u0E33","action.spline_uv_mode.uniform":"\u0E2A\u0E21\u0E48\u0E33\u0E40\u0E2A\u0E21\u0E2D","action.spline_uv_mode.per_segment":"\u0E15\u0E48\u0E2D\u0E2A\u0E48\u0E27\u0E19","action.spline_uv_mode.desc":"\u0E27\u0E34\u0E18\u0E35\u0E17\u0E35\u0E48\u0E40\u0E21\u0E0A\u0E17\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E27\u0E32\u0E07 UV","action.spline_ring_segments":"\u0E2A\u0E48\u0E27\u0E19\u0E27\u0E07\u0E41\u0E2B\u0E27\u0E19","action.spline_ring_segments.desc":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E22\u0E48\u0E2D\u0E22\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E19\u0E35\u0E49\u0E15\u0E48\u0E2D\u0E27\u0E07\u0E41\u0E2B\u0E27\u0E19\u0E17\u0E48\u0E2D","action.spline_tube_segments":"\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E48\u0E2D","action.spline_tube_segments.desc":"\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E22\u0E48\u0E2D\u0E22\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E19\u0E35\u0E49\u0E15\u0E32\u0E21\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07","action.spline_tube_radius":"\u0E23\u0E31\u0E28\u0E21\u0E35\u0E17\u0E48\u0E2D","action.spline_tube_radius.desc":"\u0E15\u0E31\u0E49\u0E07\u0E23\u0E31\u0E28\u0E21\u0E35\u0E17\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.spline_display_space":"\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25","action.spline_display_space.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E15\u0E31\u0E27\u0E1A\u0E48\u0E07\u0E0A\u0E35\u0E49\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E1A\u0E19\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07","action.spline_handle_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.spline_handle_mode.desc":"\u0E42\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.spline_handle_mode.aligned":"\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07","action.spline_handle_mode.free":"\u0E2D\u0E34\u0E2A\u0E23\u0E30","action.spline_handle_mode.mirrored":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19","action.slider_weight_brush_size":"\u0E02\u0E19\u0E32\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","action.weight_brush_xray":"\u0E42\u0E2B\u0E21\u0E14 XRay \u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","action.weight_brush_xray.desc":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 \u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E30\u0E21\u0E35\u0E1C\u0E25\u0E01\u0E31\u0E1A\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E17\u0E35\u0E48\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E1A\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E1C\u0E34\u0E27","action.apply_spline_rotation":"\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","action.apply_spline_rotation.desc":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C \u0E41\u0E25\u0E30\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E40\u0E23\u0E02\u0E32\u0E04\u0E13\u0E34\u0E15\u0E41\u0E17\u0E19","action.extrude_spline_selection":"\u0E14\u0E36\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E2D\u0E2D\u0E01","action.extrude_spline_selection.desc":"\u0E14\u0E36\u0E07\u0E2A\u0E48\u0E27\u0E19\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E2D\u0E2D\u0E01","action.split_spline":"\u0E41\u0E22\u0E01\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.split_spline.desc":"\u0E41\u0E22\u0E01\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E2E\u0E19\u0E40\u0E14\u0E34\u0E25\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.divide_spline_curve":"\u0E41\u0E1A\u0E48\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.divide_spline_curve.desc":"\u0E41\u0E1A\u0E48\u0E07\u0E40\u0E2A\u0E49\u0E19\u0E42\u0E04\u0E49\u0E07\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.set_vertex_weights":"\u0E15\u0E31\u0E49\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.set_vertex_weights.desc":"\u0E15\u0E31\u0E49\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E02\u0E2D\u0E07\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E48\u0E32\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1A\u0E19\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E2D\u0E32\u0E23\u0E4C\u0E21\u0E32\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14","action.calculate_vertex_weights":"\u0E04\u0E33\u0E19\u0E27\u0E13\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.calculate_vertex_weights.desc":"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E15\u0E32\u0E21\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E02\u0E2D\u0E07\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01","action.shelf_alignment":"\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07","action.shelf_alignment.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E41\u0E19\u0E27\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07\u0E02\u0E2D\u0E07\u0E44\u0E2D\u0E40\u0E17\u0E21\u0E1A\u0E19\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07","action.shelf_alignment.top":"\u0E08\u0E31\u0E14\u0E0A\u0E34\u0E14\u0E1A\u0E19","action.shelf_alignment.bottom":"\u0E08\u0E31\u0E14\u0E0A\u0E34\u0E14\u0E25\u0E48\u0E32\u0E07","action.view_mode.vertex_weight":"\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.view_mode.weighted_bone_colors":"\u0E2A\u0E35\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14","action.create_animation_group":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.create_animation_group.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E01\u0E25\u0E38\u0E48\u0E21\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.move_graph_keyframes_up":"\u0E22\u0E49\u0E32\u0E22\u0E01\u0E23\u0E32\u0E1F\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E02\u0E36\u0E49\u0E19","action.move_graph_keyframes_down":"\u0E22\u0E49\u0E32\u0E22\u0E01\u0E23\u0E32\u0E1F\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E25\u0E07","menu.skin":"\u0E2A\u0E01\u0E34\u0E19","menu.text_edit.expression_editor":"\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02\u0E19\u0E34\u0E1E\u0E08\u0E19\u0E4C","menu.color_picker.picker_type.normal":"\u0E41\u0E1C\u0E19\u0E17\u0E35\u0E48\u0E1B\u0E01\u0E15\u0E34","menu.texture.flipbook_animation":"\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04","menu.panel.attach_to":"\u0E41\u0E19\u0E1A\u0E01\u0E31\u0E1A","menu.animation.playing":"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E25\u0E48\u0E19","menu.animation_file.save_as":"\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E40\u0E1B\u0E47\u0E19","menu.animator.quaternion_interpolation":"\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E32\u0E13\u0E04\u0E48\u0E32\u0E04\u0E27\u0E2D\u0E40\u0E17\u0E2D\u0E23\u0E4C\u0E40\u0E19\u0E35\u0E22\u0E19","edit.extrude_spline_selection.extend":"\u0E02\u0E22\u0E32\u0E22","edit.divide_spline_curve.position":"\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07","group.bedrock_binding":"\u0E01\u0E32\u0E23\u0E1C\u0E39\u0E01","group.cem_attach":"CEM \u0E41\u0E19\u0E1A","group.cem_model":"CEM \u0E42\u0E21\u0E40\u0E14\u0E25","group.cem_scale":"CEM \u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","cube.rescale":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E43\u0E2B\u0E21\u0E48","cube.rescale.desc":"\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E43\u0E2B\u0E21\u0E48\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E0A\u0E14\u0E40\u0E0A\u0E22\u0E21\u0E38\u0E21\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19","mesh.shading":"\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32","mesh.shading.flat":"\u0E41\u0E1A\u0E19","mesh.shading.smooth":"\u0E40\u0E23\u0E35\u0E22\u0E1A","spline_mesh.cyclic":"\u0E27\u0E19\u0E23\u0E2D\u0E1A","spline_mesh.cyclic.desc":"\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E04\u0E27\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E40\u0E1B\u0E47\u0E19\u0E27\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48 (\u0E27\u0E19\u0E23\u0E2D\u0E1A)","billboard.offset":"\u0E2D\u0E2D\u0E1F\u0E40\u0E0B\u0E47\u0E15","billboard.facing_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2B\u0E31\u0E19\u0E2B\u0E19\u0E49\u0E32","billboard.facing_mode.lookat":"\u0E21\u0E2D\u0E07\u0E44\u0E1B\u0E17\u0E35\u0E48","billboard.facing_mode.lookat_y":"\u0E21\u0E2D\u0E07\u0E44\u0E1B\u0E17\u0E35\u0E48 Y","billboard.facing_mode.rotate":"\u0E2B\u0E21\u0E38\u0E19","billboard.facing_mode.rotate_y":"\u0E2B\u0E21\u0E38\u0E19 Y","armature_bone.connected":"\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D","reference_image.blueprint":"\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E40\u0E02\u0E35\u0E22\u0E27\u0E25\u0E47\u0E2D\u0E01","codec.image.alpha_channel":"\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32","codec.image.animation_fps":"FPS \u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","panel.palette":"\u0E08\u0E32\u0E19\u0E2A\u0E35","panel.keyframe.change_effect_file":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E40\u0E2D\u0E1F\u0E40\u0E1F\u0E01\u0E15\u0E4C","panel.transform":"\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07","panel.element.spline_dimensions":"\u0E21\u0E34\u0E15\u0E34\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","display.slot.on_shelf":"\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07","display.reference.shelf":"\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07 (\u0E17\u0E38\u0E01\u0E0A\u0E48\u0E2D\u0E07)","display.reference.shelf_left":"\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07 (\u0E0A\u0E48\u0E2D\u0E07\u0E0B\u0E49\u0E32\u0E22)","display.reference.shelf_center":"\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07 (\u0E0A\u0E48\u0E2D\u0E07\u0E01\u0E25\u0E32\u0E07)","display.reference.shelf_right":"\u0E0A\u0E31\u0E49\u0E19\u0E27\u0E32\u0E07 (\u0E0A\u0E48\u0E2D\u0E07\u0E02\u0E27\u0E32)","message.newer_project_format_version.title":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E40\u0E01\u0E48\u0E32","message.newer_project_format_version.message":"\u0E44\u0E1F\u0E25\u0E4C\u0E19\u0E35\u0E49\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E43\u0E19\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E21\u0E48\u0E01\u0E27\u0E48\u0E32\u0E02\u0E2D\u0E07 Blockbench \u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E40\u0E1B\u0E47\u0E19 Blockbench %0 \u0E2B\u0E23\u0E37\u0E2D\u0E43\u0E2B\u0E21\u0E48\u0E01\u0E27\u0E48\u0E32\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E14\u0E49\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07","message.load_images.add_layer":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","message.load_images.category.add_to_project":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C","message.load_images.category.new_project":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E43\u0E2B\u0E21\u0E48","message.load_palette.title":"\u0E42\u0E2B\u0E25\u0E14\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15","message.load_palette.message":"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E19\u0E35\u0E49? \u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E19\u0E35\u0E49\u0E08\u0E30\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E1E\u0E32\u0E40\u0E25\u0E47\u0E15\u0E2A\u0E35\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13","dialog.set_vertex_weights.weight":"\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","dialog.set_vertex_weights.overwrite":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A\u0E01\u0E23\u0E30\u0E14\u0E39\u0E01\u0E2D\u0E37\u0E48\u0E19","action.element_render_order.short":"\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C","action.element_render_order.desc":"\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E40\u0E23\u0E19\u0E40\u0E14\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A \u0E0A\u0E48\u0E27\u0E22\u0E41\u0E01\u0E49\u0E44\u0E02\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E0B\u0E48\u0E2D\u0E19\u0E2D\u0E22\u0E39\u0E48\u0E2B\u0E25\u0E31\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2D\u0E37\u0E48\u0E19\u0E17\u0E35\u0E48\u0E21\u0E35\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A \u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E40\u0E1B\u0E47\u0E19\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E36\u0E1A","spline.shading.flat":"\u0E41\u0E1A\u0E19","spline.shading.smooth":"\u0E40\u0E23\u0E35\u0E22\u0E1A","spline.shading":"\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32","spline.shading.desc":"\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E41\u0E23\u0E40\u0E07\u0E32\u0E17\u0E48\u0E2D\u0E02\u0E2D\u0E07\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E19\u0E35\u0E49","action.slider_weight_brush_limit":"\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","action.slider_weight_brush_limit.desc":"\u0E15\u0E31\u0E49\u0E07\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E1A\u0E19\u0E27\u0E48\u0E32\u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01\u0E43\u0E2B\u0E49\u0E08\u0E38\u0E14\u0E22\u0E2D\u0E14\u0E44\u0E14\u0E49\u0E21\u0E32\u0E01\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E43\u0E14","action.weight_brush_blend_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E1C\u0E2A\u0E21\u0E41\u0E1B\u0E23\u0E07\u0E19\u0E49\u0E33\u0E2B\u0E19\u0E31\u0E01","action.weight_brush_blend_mode.set":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","action.weight_brush_blend_mode.add":"\u0E40\u0E1E\u0E34\u0E48\u0E21","action.apply_texture_to_elements":"\u0E43\u0E0A\u0E49\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E01\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A","action.apply_texture_to_elements.desc":"\u0E43\u0E0A\u0E49\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E01\u0E31\u0E1A\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","menu.panel.reset_size":"\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15\u0E02\u0E19\u0E32\u0E14","action.import_layer":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.import_layer.desc":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1F\u0E25\u0E4C\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","menu.collection.open_file":"\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E1F\u0E25\u0E4C","layout.version":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19","settings.status_bar_transform_sliders":"\u0E2A\u0E25\u0E32\u0E22\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E43\u0E19\u0E41\u0E16\u0E1A\u0E2A\u0E16\u0E32\u0E19\u0E30","settings.status_bar_transform_sliders.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E25\u0E32\u0E22\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E43\u0E19\u0E41\u0E16\u0E1A\u0E2A\u0E16\u0E32\u0E19\u0E30\u0E41\u0E17\u0E19\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1C\u0E07\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19","settings.default_bedrock_format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A Bedrock \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.default_bedrock_format.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E42\u0E2B\u0E25\u0E14\u0E42\u0E21\u0E40\u0E14\u0E25 Minecraft Bedrock \u0E40\u0E21\u0E37\u0E48\u0E2D\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E23\u0E27\u0E08\u0E08\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E08\u0E32\u0E01\u0E1A\u0E23\u0E34\u0E1A\u0E17\u0E44\u0E14\u0E49","settings.limit_brush_opacity_per_stroke":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E41\u0E1B\u0E23\u0E07\u0E15\u0E48\u0E2D\u0E2A\u0E42\u0E15\u0E23\u0E01","settings.limit_brush_opacity_per_stroke.desc":"\u0E08\u0E33\u0E01\u0E31\u0E14\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E17\u0E35\u0E48\u0E41\u0E1B\u0E23\u0E07\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49\u0E15\u0E32\u0E21\u0E04\u0E48\u0E32\u0E02\u0E2D\u0E07\u0E2A\u0E25\u0E32\u0E22\u0E04\u0E27\u0E32\u0E21\u0E17\u0E36\u0E1A\u0E43\u0E19\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2A\u0E42\u0E15\u0E23\u0E01 \u0E14\u0E49\u0E27\u0E22\u0E41\u0E1B\u0E23\u0E07\u0E40\u0E23\u0E35\u0E22\u0E1A \u0E1E\u0E24\u0E15\u0E34\u0E01\u0E23\u0E23\u0E21\u0E19\u0E35\u0E49\u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E40\u0E01\u0E34\u0E14\u0E19\u0E2D\u0E22\u0E2A\u0E4C\u0E44\u0E21\u0E48\u0E1E\u0E36\u0E07\u0E1B\u0E23\u0E30\u0E2A\u0E07\u0E04\u0E4C\u0E40\u0E25\u0E47\u0E01\u0E19\u0E49\u0E2D\u0E22","action.merge_splines":"\u0E1C\u0E2A\u0E32\u0E19\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C","action.merge_splines.desc":"\u0E1C\u0E2A\u0E32\u0E19\u0E2A\u0E44\u0E1B\u0E25\u0E19\u0E4C\u0E2B\u0E25\u0E32\u0E22\u0E2D\u0E31\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E2D\u0E31\u0E19","settings.default_java_block_version":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java \u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","settings.default_java_block_version.desc":"\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E42\u0E21\u0E40\u0E14\u0E25\u0E1A\u0E25\u0E47\u0E2D\u0E01/\u0E44\u0E2D\u0E40\u0E17\u0E21 Java \u0E43\u0E2B\u0E21\u0E48\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E21\u0E35\u0E40\u0E27\u0E2D\u0E23\u0E4C\u0E0A\u0E31\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A","data.bounding_box":"\u0E01\u0E23\u0E2D\u0E1A\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15","keys.option":"Option","keys.slide_lmb_horizontal":"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E04\u0E25\u0E34\u0E01\u0E0B\u0E49\u0E32\u0E22\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","keys.slide_lmb_vertical":"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E04\u0E25\u0E34\u0E01\u0E0B\u0E49\u0E32\u0E22\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","keys.slide_rmb_horizontal":"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E41\u0E19\u0E27\u0E19\u0E2D\u0E19","keys.slide_rmb_vertical":"\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07","message.recover_backup.unknown_project":"\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A","message.recover_backup.discard_others":"\u0E25\u0E30\u0E17\u0E34\u0E49\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","message.unsupported_file_extension.title":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E1F\u0E25\u0E4C\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A","message.unsupported_file_extension.message":"\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E34\u0E14\u0E44\u0E1F\u0E25\u0E4C %0 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A \u0E04\u0E38\u0E13\u0E2D\u0E32\u0E08\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E44\u0E1F\u0E25\u0E4C\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E19\u0E35\u0E49","message.unsupported_file_extension.open_in_default_program":"\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E19\u0E42\u0E1B\u0E23\u0E41\u0E01\u0E23\u0E21\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19","dialog.project.uv_size":"\u0E02\u0E19\u0E32\u0E14 UV","dialog.collection.offset":"\u0E2D\u0E2D\u0E1F\u0E40\u0E0B\u0E47\u0E15","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"\u0E40\u0E1F\u0E23\u0E21\u0E15\u0E48\u0E2D\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E02\u0E2D\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19 flipbook \u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.edit_uv_size.title":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E02\u0E19\u0E32\u0E14 UV","dialog.edit_uv_size.target":"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22","dialog.edit_uv_size.adjust":"\u0E1B\u0E23\u0E31\u0E1A","dialog.edit_uv_size.adjust.adjust_uv":"\u0E1B\u0E23\u0E31\u0E1A UV \u0E01\u0E25\u0E31\u0E1A","dialog.edit_uv_size.adjust.adjust_scale":"\u0E1B\u0E23\u0E31\u0E1A UV \u0E41\u0E25\u0E30\u0E21\u0E32\u0E15\u0E23\u0E32\u0E2A\u0E48\u0E27\u0E19","dialog.edit_uv_size.adjust.keep":"\u0E04\u0E07 UV","dialog.edit_uv_size.target_size":"\u0E02\u0E19\u0E32\u0E14 UV \u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22","dialog.edit_uv_size.preset.original":"\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A","dialog.edit_uv_size.preset.match_texture":"\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.edit_uv_size.result":"\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C","dialog.edit_uv_size.result.textures":"\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","dialog.adjust_brightness_contrast.brightness":"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E27\u0E48\u0E32\u0E07","dialog.adjust_brightness_contrast.contrast":"\u0E04\u0E2D\u0E19\u0E17\u0E23\u0E32\u0E2A\u0E15\u0E4C","dialog.adjust_saturation_hue.saturation":"\u0E04\u0E27\u0E32\u0E21\u0E2D\u0E34\u0E48\u0E21\u0E15\u0E31\u0E27","dialog.adjust_saturation_hue.hue":"\u0E40\u0E09\u0E14\u0E2A\u0E35","dialog.adjust_opacity.mode":"\u0E42\u0E2B\u0E21\u0E14","dialog.adjust_opacity.mode.multiply":"\u0E04\u0E39\u0E13","dialog.adjust_opacity.mode.set":"\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32","dialog.bedrock_bounding_box.type":"\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17","dialog.bedrock_bounding_box.type.collision_box":"\u0E01\u0E32\u0E23\u0E0A\u0E19","dialog.bedrock_bounding_box.type.selection_box":"\u0E01\u0E23\u0E2D\u0E1A\u0E40\u0E25\u0E37\u0E2D\u0E01","dialog.bedrock_bounding_box.type.hitbox":"\u0E01\u0E23\u0E2D\u0E1A\u0E42\u0E08\u0E21\u0E15\u0E35","dialog.bedrock_bounding_box.hitbox_note":"\u0E42\u0E1B\u0E23\u0E14\u0E17\u0E23\u0E32\u0E1A\u0E27\u0E48\u0E32\u0E01\u0E23\u0E2D\u0E1A\u0E42\u0E08\u0E21\u0E15\u0E35\u0E02\u0E2D\u0E07\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E49\u0E17\u0E33\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E02\u0E19\u0E32\u0E14\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 \u0E41\u0E25\u0E30\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E1B\u0E23\u0E31\u0E1A\u0E15\u0E32\u0E21\u0E01\u0E32\u0E23\u0E2B\u0E21\u0E38\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E49\u0E43\u0E19\u0E40\u0E01\u0E21","dialog.bedrock_bounding_box.collision_note":"\u0E42\u0E1B\u0E23\u0E14\u0E17\u0E23\u0E32\u0E1A\u0E27\u0E48\u0E32\u0E01\u0E23\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E0A\u0E19\u0E02\u0E2D\u0E07\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E49\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E40\u0E14\u0E35\u0E22\u0E27\u0E17\u0E35\u0E48\u0E08\u0E31\u0E14\u0E01\u0E36\u0E48\u0E07\u0E01\u0E25\u0E32\u0E07 \u0E42\u0E14\u0E22\u0E21\u0E35\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E31\u0E14\u0E14\u0E49\u0E32\u0E19\u0E1A\u0E19\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E35\u0E48\u0E40\u0E2B\u0E25\u0E35\u0E48\u0E22\u0E21\u0E08\u0E31\u0E15\u0E38\u0E23\u0E31\u0E2A","dialog.bedrock_bounding_box.no_bounding_boxes":"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E23\u0E2D\u0E1A\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15\u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E19\u0E35\u0E49","dialog.install_plugins_from_list.ids":"ID \u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","dialog.install_plugins_from_list.info":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E2B\u0E25\u0E32\u0E22\u0E15\u0E31\u0E27\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 ID \u0E01\u0E48\u0E2D\u0E19\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 \u0E01\u0E23\u0E38\u0E13\u0E32\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E27\u0E48\u0E32\u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E08\u0E23\u0E34\u0E07\u0E46 \u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E43\u0E0A\u0E49\u0E2D\u0E32\u0E08\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E27\u0E32\u0E21\u0E40\u0E2A\u0E35\u0E48\u0E22\u0E07\u0E02\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E41\u0E25\u0E30\u0E04\u0E27\u0E32\u0E21\u0E44\u0E21\u0E48\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E19\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E40\u0E14\u0E15\u0E43\u0E19\u0E2D\u0E19\u0E32\u0E04\u0E15","dialog.copy_installed_plugins.details":"\u0E23\u0E27\u0E21\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14","dialog.flip_animation.phase_offset":"\u0E2D\u0E2D\u0E1F\u0E40\u0E0B\u0E47\u0E15\u0E40\u0E1F\u0E2A","dialog.flip_animation.phase_offset.off":"\u0E1B\u0E34\u0E14","dialog.flip_animation.phase_offset.custom":"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E40\u0E2D\u0E07","dialog.flip_animation.clear_opposite":"\u0E40\u0E02\u0E35\u0E22\u0E19\u0E17\u0E31\u0E1A\u0E14\u0E49\u0E32\u0E19\u0E15\u0E23\u0E07\u0E02\u0E49\u0E32\u0E21","settings.flipbook_textures_in_animation":"\u0E40\u0E25\u0E48\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04\u0E43\u0E19\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.flipbook_textures_in_animation.desc":"\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E1A\u0E19\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E1F\u0E25\u0E34\u0E1B\u0E1A\u0E38\u0E4A\u0E04\u0E1E\u0E23\u0E49\u0E2D\u0E21\u0E01\u0E31\u0E1A\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","settings.display_uv":"\u0E41\u0E2A\u0E14\u0E07\u0E2B\u0E19\u0E49\u0E32 UV","settings.display_uv.desc":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E15\u0E31\u0E27\u0E41\u0E01\u0E49\u0E44\u0E02 UV","settings.display_uv.selected_faces":"\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.display_uv.selected_elements":"\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E1A\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","settings.display_uv.all_elements":"\u0E2B\u0E19\u0E49\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E1A\u0E19\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","settings.local_position_values":"\u0E04\u0E48\u0E32\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E17\u0E49\u0E2D\u0E07\u0E16\u0E34\u0E48\u0E19","settings.local_position_values.desc":"\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E48\u0E32\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E41\u0E1C\u0E07\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E43\u0E19\u0E1E\u0E37\u0E49\u0E19\u0E17\u0E35\u0E48\u0E17\u0E49\u0E2D\u0E07\u0E16\u0E34\u0E48\u0E19","settings.transform_cube_from_center":"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E08\u0E32\u0E01\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07","settings.transform_cube_from_center.desc":"\u0E41\u0E01\u0E49\u0E44\u0E02\u0E04\u0E48\u0E32\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E04\u0E34\u0E27\u0E1A\u0E4C\u0E08\u0E32\u0E01\u0E28\u0E39\u0E19\u0E22\u0E4C\u0E01\u0E25\u0E32\u0E07\u0E41\u0E17\u0E19\u0E21\u0E38\u0E21","settings.color_picker_tool_switch":"\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E21\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35","settings.color_picker_tool_switch.desc":"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1E\u0E34\u0E01\u0E40\u0E0B\u0E25\u0E42\u0E1B\u0E23\u0E48\u0E07\u0E43\u0E2A \u0E43\u0E2B\u0E49\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E1B\u0E47\u0E19\u0E22\u0E32\u0E07\u0E25\u0E1A \u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E22\u0E32\u0E07\u0E25\u0E1A\u0E44\u0E27\u0E49\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E41\u0E25\u0E30\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35 \u0E43\u0E2B\u0E49\u0E2A\u0E25\u0E31\u0E1A\u0E40\u0E1B\u0E47\u0E19\u0E41\u0E1B\u0E23\u0E07","keybind.preview_scroll_zoom":"\u0E0B\u0E39\u0E21\u0E21\u0E38\u0E21\u0E21\u0E2D\u0E07","keybind.uv_editor_scroll_zoom":"\u0E0B\u0E39\u0E21 UV/2D","action.blend_mode.alpha_mask":"\u0E21\u0E32\u0E2A\u0E01\u0E4C\u0E2D\u0E31\u0E25\u0E1F\u0E32","action.swap_tools.hold":"\u0E01\u0E14\u0E04\u0E49\u0E32\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2A\u0E25\u0E31\u0E1A (\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35)","action.import_bedrock_voxel_shape":"\u0E19\u0E33\u0E40\u0E02\u0E49\u0E32\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E27\u0E2D\u0E01\u0E40\u0E0B\u0E25 Bedrock","action.import_bedrock_voxel_shape.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E27\u0E2D\u0E01\u0E40\u0E0B\u0E25\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C json \u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","action.export_bedrock_voxel_shape":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E27\u0E2D\u0E01\u0E40\u0E0B\u0E25 Bedrock","action.export_bedrock_voxel_shape.desc":"\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\u0E01\u0E23\u0E2D\u0E1A\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15\u0E43\u0E19\u0E42\u0E1B\u0E23\u0E40\u0E08\u0E01\u0E15\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E1F\u0E25\u0E4C\u0E23\u0E39\u0E1B\u0E17\u0E23\u0E07\u0E27\u0E2D\u0E01\u0E40\u0E0B\u0E25 Bedrock","action.plugins_window_menu":"\u0E40\u0E21\u0E19\u0E39","action.copy_installed_plugins":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07","action.copy_installed_plugins.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E41\u0E25\u0E30\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E17\u0E35\u0E48\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E2D\u0E22\u0E39\u0E48","action.install_plugins_from_list":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23","action.install_plugins_from_list.desc":"\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 ID \u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19","action.add_bounding_box":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E23\u0E2D\u0E1A\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15","action.add_bounding_box.desc":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E01\u0E23\u0E2D\u0E1A\u0E02\u0E2D\u0E1A\u0E40\u0E02\u0E15\u0E43\u0E2B\u0E21\u0E48","action.split_alpha_into_layer":"\u0E41\u0E22\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C","action.split_alpha_into_layer.desc":"\u0E41\u0E22\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E2D\u0E31\u0E25\u0E1F\u0E32\u0E02\u0E2D\u0E07\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E40\u0E1B\u0E47\u0E19\u0E40\u0E25\u0E40\u0E22\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E2A\u0E01\u0E4C\u0E2D\u0E31\u0E25\u0E1F\u0E32","action.generate_bedrock_block_box":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E04\u0E2D\u0E21\u0E42\u0E1E\u0E40\u0E19\u0E19\u0E15\u0E4C\u0E01\u0E32\u0E23\u0E0A\u0E19/\u0E40\u0E25\u0E37\u0E2D\u0E01","action.generate_bedrock_block_box.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E21\u0E42\u0E1E\u0E40\u0E19\u0E19\u0E15\u0E4C\u0E01\u0E23\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E0A\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E1A\u0E25\u0E47\u0E2D\u0E01 Minecraft Bedrock Edition","action.generate_bedrock_entity_box":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E04\u0E2D\u0E21\u0E42\u0E1E\u0E40\u0E19\u0E19\u0E15\u0E4C\u0E01\u0E32\u0E23\u0E0A\u0E19/\u0E42\u0E08\u0E21\u0E15\u0E35","action.generate_bedrock_entity_box.desc":"\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E2D\u0E21\u0E42\u0E1E\u0E40\u0E19\u0E19\u0E15\u0E4C\u0E01\u0E32\u0E23\u0E0A\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E32\u0E23\u0E17\u0E14\u0E2A\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E42\u0E08\u0E21\u0E15\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E2D\u0E19\u0E17\u0E34\u0E15\u0E35\u0E49 Minecraft Bedrock Edition","action.refresh_texture":"\u0E23\u0E35\u0E40\u0E1F\u0E23\u0E0A\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","action.refresh_texture.desc":"\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E21\u0E48\u0E08\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C","action.move_uv_to_cursor":"\u0E22\u0E49\u0E32\u0E22 UV \u0E44\u0E1B\u0E22\u0E31\u0E07\u0E40\u0E04\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C","action.move_uv_to_cursor.desc":"\u0E22\u0E49\u0E32\u0E22\u0E2B\u0E19\u0E49\u0E32 UV \u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E40\u0E04\u0E2D\u0E23\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C","action.edit_mode_uv_overlay":"\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14","action.round_keyframe_values":"\u0E1B\u0E31\u0E14\u0E04\u0E48\u0E32\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.round_keyframe_values.desc":"\u0E1B\u0E31\u0E14\u0E04\u0E48\u0E32\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E02\u0E2D\u0E07\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01","action.keyframe_column_create.all_channels":"\u0E17\u0E38\u0E01\u0E0A\u0E48\u0E2D\u0E07","action.keyframe_column_create.all_channels.desc":"\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E17\u0E38\u0E01\u0E0A\u0E48\u0E2D\u0E07\u0E14\u0E49\u0E27\u0E22\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E41\u0E21\u0E49\u0E27\u0E48\u0E32\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21","action.add_all_to_timeline":"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E43\u0E19\u0E44\u0E17\u0E21\u0E4C\u0E44\u0E25\u0E19\u0E4C","action.mirror_animating":"\u0E21\u0E34\u0E40\u0E23\u0E2D\u0E23\u0E4C\u0E01\u0E32\u0E23\u0E17\u0E33\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.mirror_animating.desc":"\u0E2A\u0E30\u0E17\u0E49\u0E2D\u0E19\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E14\u0E49\u0E32\u0E19\u0E15\u0E23\u0E07\u0E02\u0E49\u0E32\u0E21","action.copy_animation_pose":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E17\u0E48\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","action.copy_animation_pose.desc":"\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E04\u0E35\u0E22\u0E4C\u0E40\u0E1F\u0E23\u0E21\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E08\u0E33\u0E25\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19\u0E1B\u0E31\u0E08\u0E08\u0E38\u0E1A\u0E31\u0E19","menu.texture.file_format":"\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E1F\u0E25\u0E4C","menu.texture.wrap_mode":"\u0E42\u0E2B\u0E21\u0E14\u0E2B\u0E48\u0E2D","menu.texture.wrap_mode.limited":"\u0E08\u0E33\u0E01\u0E31\u0E14","menu.texture.wrap_mode.repeat":"\u0E17\u0E33\u0E0B\u0E49\u0E33","menu.texture.wrap_mode.clamp":"\u0E23\u0E31\u0E14\u0E02\u0E2D\u0E1A","edit.reparent_selection.adjust_position":"\u0E23\u0E31\u0E01\u0E29\u0E32\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E07\u0E42\u0E25\u0E01","texture_mesh.texture_name":"\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E17\u0E01\u0E0B\u0E4C\u0E40\u0E08\u0E2D\u0E23\u0E4C","display.slot.embedded":"\u0E1D\u0E31\u0E07","display.animate_preview":"\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E41\u0E2D\u0E19\u0E34\u0E40\u0E21\u0E0A\u0E31\u0E19","display.reference.flower_pot":"\u0E01\u0E23\u0E30\u0E16\u0E32\u0E07\u0E14\u0E2D\u0E01\u0E44\u0E21\u0E49"};var IL={"dialog.ok":"Tamam","dialog.cancel":"\u0130ptal","dialog.confirm":"Onayla","dialog.close":"Kapat","dialog.import":"\u0130\xE7e Aktar","dialog.save":"Kaydet","dialog.discard":"Vazge\xE7","dialog.dontshowagain":"Bir Daha G\xF6sterme","data.cube":"K\xFCp","data.group":"Grup","data.texture":"Doku","data.plugin":"Eklenti","data.preview":"\xD6nizleme","data.toolbar":"Ara\xE7 \xC7ubu\u011Fu","data.image":"G\xF6rsel","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Sil","keys.space":"Bo\u015Fluk","keys.leftclick":"Sol T\u0131klama","keys.middleclick":"Orta T\u0131klama","keys.rightclick":"Sa\u011F T\u0131klama","keys.tab":"Sekme","keys.backspace":"Geri Sil","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"Ba\u011Flam Men\xFCs\xFC","keys.left":"Sol","keys.up":"Yukar\u0131","keys.right":"Sa\u011F","keys.down":"A\u015Fa\u011F\u0131","keys.pageup":"Sayfa Yukar\u0131","keys.pagedown":"Sayfa A\u015Fa\u011F\u0131","keys.plus":"Art\u0131","keys.comma":"Virg\xFCl","keys.point":"Nokta","keys.minus":"Eksi","keys.cross":"\xC7arp\u0131","keys.end":"Son","keys.pos1":"Ba\u015Flang\u0131\xE7","keys.printscreen":"Ekran G\xF6r\xFCnt\xFCs\xFC","keys.pause":"Duraklat","message.rotation_limit.title":"D\xF6nd\xFCrme S\u0131n\u0131rlar\u0131","message.rotation_limit.message":'D\xF6nd\xFCrmeler Minecraft taraf\u0131ndan tek bir eksenle s\u0131n\u0131rland\u0131r\u0131lm\u0131\u015Ft\u0131r. Farkl\u0131 bir eksende d\xF6nd\xFCrmek, di\u011Fer eksenlerdeki t\xFCm d\xF6nd\xFCrmeleri temizleyecektir. Ba\u015Fka ama\xE7lar i\xE7in modelleme yap\u0131yorsan\u0131z ve serbest d\xF6nd\xFCrmeye ihtiyac\u0131n\u0131z varsa modeli "Genel Model"e d\xF6n\xFC\u015Ft\xFCr\xFCn.',"message.file_not_found.title":"Dosya Bulunamad\u0131","message.file_not_found.message":"Blockbench istenen dosyay\u0131 bulamad\u0131. Dosyan\u0131n bulutta de\u011Fil, yerel olarak kaydedildi\u011Finden emin olun.","message.screenshot.title":"Ekran G\xF6r\xFCnt\xFCs\xFC","message.screenshot.clipboard":"Pano","message.screenshot.right_click":"Kopyalamak i\xE7in ekran g\xF6r\xFCnt\xFCs\xFCne sa\u011F t\u0131klay\u0131n veya uzun bas\u0131n","message.invalid_file.title":"Ge\xE7ersiz Dosya","message.invalid_file.message":"JSON dosyas\u0131 a\xE7\u0131lamad\u0131: %0","message.invalid_model.title":"Ge\xE7ersiz Model Dosyas\u0131","message.invalid_model.message":"Bu dosya ge\xE7erli model verileri i\xE7ermiyor.","message.child_model_only.title":"Bo\u015F Alt Model","message.child_model_only.message":"Bu dosya %0'\u0131n bir alt \xF6\u011Fesidir ve bir model i\xE7ermez.","message.unsaved_textures.title":"Kaydedilmemi\u015F Dokular","message.unsaved_textures.message":"Modelinizde kaydedilmemi\u015F dokular var. Bunlar\u0131 kaydetti\u011Finizden ve kaynak paketinizdeki do\u011Fru klas\xF6re yap\u0131\u015Ft\u0131rd\u0131\u011F\u0131n\u0131zdan emin olun.","message.model_clipping.title":"Model \xC7ok B\xFCy\xFCk","message.model_clipping.message":"Modeliniz, Minecraft taraf\u0131ndan izin verilen blok s\u0131n\u0131r\u0131ndan daha b\xFCy\xFCk %0 k\xFCp i\xE7eriyor. Bu model Minecraft'ta \xE7al\u0131\u015Fmayacakt\u0131r.","message.loose_texture.title":"Doku \u0130\xE7e Aktarma","message.loose_texture.message":"\u0130\xE7e aktar\u0131lan doku bir kaynak paketinde yer alm\u0131yor. Minecraft, yaln\u0131zca y\xFCklenmi\u015F bir kaynak paketinin dokular klas\xF6r\xFCndeki dokular\u0131 y\xFCkleyebilir.","message.loose_texture.change":"Yolu De\u011Fi\u015Ftir","message.update_res.title":"Doku \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","message.update_res.message":"Proje \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFCn\xFC bu dokunun \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFCne g\xFCncellemek ister misiniz? Dokunuz normalden daha y\xFCksek bir \xE7\xF6z\xFCn\xFCrl\xFC\u011Fe sahipse '\u0130ptal'e t\u0131klay\u0131n.","message.update_res.update":"G\xFCncelle","message.bedrock_overwrite_error.message":"Blockbench bu modeli eski dosyayla birle\u015Ftiremez","message.bedrock_overwrite_error.backup_overwrite":"Yedek Olu\u015Ftur ve \xDCzerine Yaz","message.bedrock_overwrite_error.overwrite":"\xDCzerine Yaz","message.close_warning.message":"Modelinizi kaydetmek istiyor musunuz?","message.close_warning.web":"Mevcut \xE7al\u0131\u015Fman\u0131z kaybolacak. \xC7\u0131kmak istedi\u011Finizden emin misiniz?","message.default_textures.title":"Varsay\u0131lan Dokular","message.default_textures.message":'Varsay\u0131lan kaynak paketinin "textures" klas\xF6r\xFCn\xFC se\xE7in',"message.default_textures.detail":`Varsay\u0131lan kaynak paketini Minecraft jar dosyas\u0131ndan \xE7\u0131kar\u0131n veya google'da arat\u0131p indirin. Ard\u0131ndan "textures" klas\xF6r\xFCn\xFC bulun ve a\xE7\u0131n. Blockbench bu konumu hat\u0131rlayacak ve mevcut kaynak paketinde bulamazsa dokular\u0131 oradan almaya \xE7al\u0131\u015Facakt\u0131r.`,"message.default_textures.select":'Varsay\u0131lan "textures" klas\xF6r\xFCn\xFC se\xE7in',"message.image_editor.title":"Bir resim d\xFCzenleyici se\xE7in","message.image_editor.file":"Dosya Se\xE7...","message.image_editor.exe":"Resim d\xFCzenleyici y\xFCr\xFCt\xFClebilir dosyas\u0131n\u0131 se\xE7in","message.display_skin.title":"Minecraft Kaplamas\u0131","message.display_skin.message":"Bilgisayar\u0131n\u0131zdan bir kaplama dosyas\u0131 se\xE7in veya bir oyuncu ad\u0131 girin","message.display_skin.upload":"Dosya Se\xE7","message.display_skin.reset":"S\u0131f\u0131rla","message.invalid_plugin":"Ge\xE7ersiz Eklenti Dosyas\u0131, Konsola Bak\u0131n","message.load_plugin_app":"Bu eklentinin bilgisayar\u0131n\u0131zda de\u011Fi\u015Fiklik yapmas\u0131na izin vermek istiyor musunuz? Yaln\u0131zca g\xFCvendi\u011Finiz yazarlar\u0131n eklentilerini y\xFCkleyin.","message.load_plugin_web":"Bu eklentiyi y\xFCklemek istiyor musunuz? Yaln\u0131zca g\xFCvendi\u011Finiz yazarlar\u0131n eklentilerini y\xFCkleyin.","message.preset_no_info":"\xD6n ayar bu yuva i\xE7in bilgi i\xE7ermiyor","message.restart_to_update":"De\u011Fi\u015Fiklikleri uygulamak i\xE7in Blockbench'i yeniden ba\u015Flat\u0131n","message.save_file":"%0 olarak kaydedildi","dialog.project.title":"Proje","dialog.project.name":"Dosya Ad\u0131","dialog.project.parent":"\xDCst Model","dialog.project.geoname":"Model Tan\u0131mlay\u0131c\u0131s\u0131","dialog.project.ao":"Ortam Kapanmas\u0131","dialog.texture.title":"Doku","dialog.texture.variable":"De\u011Fi\u015Fken","dialog.texture.namespace":"Ad Alan\u0131","dialog.texture.folder":"Klas\xF6r","dialog.extrude.title":"G\xF6r\xFCnt\xFCy\xFC D\u0131\u015Fa \xC7\u0131kar","dialog.extrude.mode":"Tarama Modu","dialog.extrude.mode.areas":"Alanlar","dialog.extrude.mode.lines":"\xC7izgiler","dialog.extrude.mode.columns":"S\xFCtunlar","dialog.extrude.mode.pixels":"Pikseller","dialog.extrude.opacity":"Minimum Opakl\u0131k","dialog.extrude.scan":"Tara ve \u0130\xE7e Aktar","dialog.display_preset.title":"\xD6n Ayar Olu\u015Ftur","dialog.display_preset.message":"Kaydetmek istedi\u011Finiz yuvalar\u0131 se\xE7in","dialog.display_preset.create":"Olu\u015Ftur","dialog.select.title":"Se\xE7","dialog.select.group":"Se\xE7ili Grupta","dialog.select.name":"\u0130sim \u0130\xE7erir","dialog.select.random":"Rastgele \u015Eans (%)","dialog.select.select":"Se\xE7","dialog.scale.title":"Modeli \xD6l\xE7eklendir","dialog.scale.axis":"Eksen","dialog.scale.clipping":"Model k\u0131rpma: Modeliniz tuval i\xE7in \xE7ok b\xFCy\xFCk","dialog.scale.confirm":"\xD6l\xE7eklendir","dialog.plugins.title":"Eklentiler","dialog.plugins.installed":"Y\xFCkl\xFC","dialog.plugins.available":"Mevcut","dialog.plugins.install":"Y\xFCkle","dialog.plugins.uninstall":"Kald\u0131r","dialog.plugins.reload":"Yeniden Y\xFCkle","dialog.plugins.none_installed":"Y\xFCkl\xFC eklenti yok","dialog.plugins.none_available":"Mevcut eklenti yok","dialog.plugins.web_only":"Yaln\u0131zca web uygulamas\u0131 i\xE7in","dialog.plugins.app_only":"Yaln\u0131zca masa\xFCst\xFC uygulamas\u0131 i\xE7in","dialog.plugins.author":"%0 taraf\u0131ndan","dialog.create_texture.folder":"Klas\xF6r","dialog.create_texture.resolution":"\xC7\xF6z\xFCn\xFCrl\xFCk","dialog.input.title":"Giri\u015F","dialog.settings.settings":"Ayarlar","dialog.settings.keybinds":"Tu\u015F Atamalar\u0131","dialog.settings.about":"Hakk\u0131nda","layout.color.back":"Geri","layout.color.back.desc":"Arka planlar ve giri\u015F alanlar\u0131","layout.color.dark":"Koyu","layout.color.dark.desc":"Tuval arka plan\u0131","layout.color.ui":"Aray\xFCz","layout.color.ui.desc":"Ana aray\xFCz rengi","layout.color.bright_ui":"Parlak Aray\xFCz","layout.color.bright_ui.desc":"Ba\u011Flam men\xFCleri ve ara\xE7 ipu\xE7lar\u0131","layout.color.button":"D\xFC\u011Fme","layout.color.button.desc":"D\xFC\u011Fmeler ve anahtarlar","layout.color.selected":"Se\xE7ili","layout.color.selected.desc":"Se\xE7ili sekmeler ve nesneler","layout.color.border":"Kenarl\u0131k","layout.color.border.desc":"D\xFC\u011Fmelerin ve giri\u015Flerin kenarl\u0131\u011F\u0131","layout.color.accent":"Vurgu","layout.color.accent.desc":"Kayd\u0131r\u0131c\u0131 ba\u015Fl\u0131\u011F\u0131 ve di\u011Fer detaylar","layout.color.grid":"Izgara","layout.color.grid.desc":"3B \xF6nizleme \u0131zgaras\u0131","layout.color.text":"Metin","layout.color.text.desc":"Normal metin","layout.color.light":"A\xE7\u0131k","layout.color.light.desc":"Vurgulanan metin","layout.color.accent_text":"Vurgu Metni","layout.color.accent_text.desc":"Vurgu arka planlar\u0131ndaki metin","layout.font.main":"Ana Yaz\u0131 Tipi","layout.font.headline":"Ba\u015Fl\u0131k Yaz\u0131 Tipi","about.version":"S\xFCr\xFCm:","settings.category.general":"Genel","settings.category.preview":"\xD6nizleme","settings.category.grid":"Izgara","settings.category.edit":"D\xFCzenle","settings.category.snapping":"Yaslama","settings.category.defaults":"Varsay\u0131lanlar","settings.category.dialogs":"Diyaloglar","settings.category.export":"D\u0131\u015Fa Aktar","settings.language":"Dil","settings.language.desc":"Aray\xFCz dili","settings.backup_interval":"Yedekleme Aral\u0131\u011F\u0131","settings.backup_interval.desc":"Otomatik yedeklemelerin dakika cinsinden aral\u0131\u011F\u0131","settings.origin_size":"Merkez \u0130\u015Faretleyici","settings.origin_size.desc":"Merkez noktas\u0131 i\u015Faret\xE7isinin boyutu","settings.control_size":"D\xF6n\xFC\u015F\xFCm Yard\u0131mc\u0131s\u0131 Boyutu","settings.control_size.desc":"D\xF6n\xFC\u015F\xFCm yard\u0131mc\u0131s\u0131n\u0131n boyutu","settings.display_skin":"Minecraft Kaplamas\u0131","settings.display_skin.desc":"Referans oyuncu modeli i\xE7in kullan\u0131lan kaplama","settings.shading":"G\xF6lgelendirme","settings.shading.desc":"\xD6nizlemede g\xF6lgelendirmeyi etkinle\u015Ftir","settings.base_grid":"K\xFC\xE7\xFCk Izgara","settings.base_grid.desc":"K\xFC\xE7\xFCk \u0131zgara ve eksenleri g\xF6ster","settings.large_grid":"Blok Izgaras\u0131","settings.large_grid.desc":"16x16 blok boyutunda \u0131zgara g\xF6ster","settings.full_grid":"Hassas Blok Izgaras\u0131","settings.full_grid.desc":"Piksel hassasiyetinde blok \u0131zgaras\u0131 g\xF6ster","settings.large_box":"Boyut S\u0131n\u0131r\u0131 Kutusu","settings.large_box.desc":"Boyut s\u0131n\u0131r\u0131 s\u0131n\u0131rlar\u0131n\u0131 g\xF6ster","settings.display_grid":"G\xF6r\xFCnt\xFCleme Modu Izgaras\u0131","settings.display_grid.desc":"G\xF6r\xFCnt\xFCleme modunda \u0131zgaray\u0131 g\xF6ster","settings.undo_limit":"Geri Alma S\u0131n\u0131r\u0131","settings.undo_limit.desc":"Geri alabilece\u011Finiz ad\u0131m say\u0131s\u0131","settings.local_move":"G\xF6receli Eksenlerde Ta\u015F\u0131","settings.local_move.desc":"M\xFCmk\xFCnse, d\xF6nd\xFCr\xFClm\xFC\u015F \xF6\u011Feleri kendi eksenlerinde ta\u015F\u0131","settings.canvas_unselect":"Arka Plana T\u0131kland\u0131\u011F\u0131nda Se\xE7imi Kald\u0131r","settings.canvas_unselect.desc":"Modelin arkas\u0131ndaki arka plana veya zaman \xE7izelgesine t\u0131kland\u0131\u011F\u0131nda t\xFCm \xF6\u011Felerin se\xE7imini kald\u0131r\u0131r","settings.paint_side_restrict":"F\u0131r\xE7ay\u0131 Tarafa K\u0131s\u0131tla","settings.paint_side_restrict.desc":"F\u0131r\xE7alar\u0131 yaln\u0131zca mevcut tarafa boyamakla k\u0131s\u0131tla","settings.autouv":"Otomatik UV","settings.autouv.desc":"Otomatik UV'yi varsay\u0131lan olarak etkinle\u015Ftir","settings.create_rename":"Yeni \xD6\u011Feyi Yeniden Adland\u0131r","settings.create_rename.desc":"Yeni \xF6\u011Fe veya grup olu\u015Ftururken isim alan\u0131na odaklan","settings.edit_size":"Izgara \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.edit_size.desc":"\xD6\u011Felerin yasland\u0131\u011F\u0131 \u0131zgaran\u0131n \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.shift_size":"Shift \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.shift_size.desc":"Shift tu\u015Funu bas\u0131l\u0131 tutarken \u0131zgaran\u0131n \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.ctrl_size":"Control \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.ctrl_size.desc":"Control tu\u015Funu bas\u0131l\u0131 tutarken \u0131zgaran\u0131n \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.negative_size":"Negatif Boyut","settings.negative_size.desc":"Yeniden boyutland\u0131rma arac\u0131n\u0131n negatif boyutlar kullanmas\u0131na izin ver","settings.minifiedout":"K\xFC\xE7\xFClt\xFClm\xFC\u015F D\u0131\u015Fa Aktarma","settings.minifiedout.desc":"JSON dosyalar\u0131n\u0131 tek sat\u0131rda yaz","settings.export_groups":"Java blok/\xF6\u011Fe modellerinde Gruplar\u0131 D\u0131\u015Fa Aktar","settings.export_groups.desc":"Java blok veya \xF6\u011Fe modeli JSON dosyalar\u0131nda gruplar\u0131 kaydet","settings.credit":"Katk\u0131da Bulunan Yorumu","settings.credit.desc":"D\u0131\u015Fa aktar\u0131lan dosyalara bir katk\u0131da bulunan yorumu ekle","settings.default_path":"Varsay\u0131lan Minecraft Dokular\u0131 Yolu","settings.default_path.desc":"Blockbench'in varsay\u0131lan dokular\u0131 y\xFCkledi\u011Fi klas\xF6r","settings.image_editor":"G\xF6rsel D\xFCzenleyici","settings.image_editor.desc":"Dokular\u0131 d\xFCzenlemek i\xE7in varsay\u0131lan g\xF6rsel d\xFCzenleyici","category.navigate":"Navigasyon","category.tools":"Ara\xE7lar","category.file":"Dosya","category.blockbench":"Blockbench","category.edit":"D\xFCzenle","category.transform":"D\xF6n\xFC\u015Ft\xFCr","category.view":"G\xF6r\xFCn\xFCm","category.display":"G\xF6r\xFCnt\xFCleme Ayarlar\u0131","category.textures":"Dokular","category.misc":"\xC7e\u015Fitli","keybind.preview_select":"Se\xE7","keybind.preview_rotate":"G\xF6r\xFCn\xFCm\xFC D\xF6nd\xFCr","keybind.preview_drag":"G\xF6r\xFCn\xFCm\xFC S\xFCr\xFCkle","keybind.confirm":"Onayla","keybind.cancel":"\u0130ptal","action.slider_inflate":"\u015Ei\u015Fir","action.slider_inflate.desc":"UV'yi de\u011Fi\u015Ftirmeden k\xFCpleri t\xFCm y\xF6nlerde \u015Fi\u015Fir","action.slider_brush_size":"Boyut","action.slider_brush_size.desc":"Piksel cinsinden f\u0131r\xE7an\u0131n yar\u0131\xE7ap\u0131","action.slider_brush_opacity":"Opakl\u0131k","action.slider_brush_opacity.desc":"0'dan 255'e kadar f\u0131r\xE7an\u0131n opakl\u0131\u011F\u0131","action.slider_brush_softness":"Yumu\u015Fakl\u0131k","action.slider_brush_softness.desc":"Y\xFCzde olarak f\u0131r\xE7an\u0131n yumu\u015Fakl\u0131\u011F\u0131","action.uv_slider_pos_x":"Yatay Ta\u015F\u0131","action.uv_slider_pos_x.desc":"T\xFCm se\xE7ili UV y\xFCzlerini yatay olarak ta\u015F\u0131","action.uv_slider_pos_y":"Dikey Ta\u015F\u0131","action.uv_slider_pos_y.desc":"T\xFCm se\xE7ili UV y\xFCzlerini dikey olarak ta\u015F\u0131","action.uv_slider_size_x":"Yatay Boyut","action.uv_slider_size_x.desc":"T\xFCm se\xE7ili UV y\xFCzlerini yatay olarak yeniden boyutland\u0131r","action.uv_slider_size_y":"Dikey Boyut","action.uv_slider_size_y.desc":"T\xFCm se\xE7ili UV y\xFCzlerini dikey olarak yeniden boyutland\u0131r","action.vertex_snap_mode":"Yaslama Modu","action.vertex_snap_mode.desc":"Tepe Noktas\u0131 Yaslaman\u0131n \xF6\u011Feleri se\xE7ili konuma ta\u015F\u0131y\u0131p ta\u015F\u0131mad\u0131\u011F\u0131n\u0131 veya yeniden boyutland\u0131r\u0131p boyutland\u0131rmad\u0131\u011F\u0131n\u0131 se\xE7in","action.move_tool":"Ta\u015F\u0131","action.move_tool.desc":"\xD6\u011Feleri se\xE7me ve ta\u015F\u0131ma arac\u0131","action.resize_tool":"Yeniden Boyutland\u0131r","action.resize_tool.desc":"\xD6\u011Feleri se\xE7me ve yeniden boyutland\u0131rma arac\u0131","action.brush_tool":"Boya F\u0131r\xE7as\u0131","action.brush_tool.desc":"Dokular \xFCzerinde \xE7izim yapmak i\xE7in renkli f\u0131r\xE7a","action.vertex_snap_tool":"Tepe Noktas\u0131 Yaslama","action.vertex_snap_tool.desc":"\u0130ki tepe noktas\u0131n\u0131 birle\u015Ftirerek bir k\xFCp\xFC ba\u015Fka bir k\xFCpe ta\u015F\u0131","action.swap_tools":"Ara\xE7lar\u0131 De\u011Fi\u015Ftir","action.swap_tools.desc":"Ta\u015F\u0131ma ve yeniden boyutland\u0131rma arac\u0131 aras\u0131nda ge\xE7i\u015F yap","action.project_window":"Proje...","action.project_window.desc":"Modelinizin meta verilerini d\xFCzenleyebilece\u011Finiz proje penceresini a\xE7ar","action.open_model":"Model A\xE7","action.open_model.desc":"Bilgisayar\u0131n\u0131zdan bir model dosyas\u0131 a\xE7\u0131n","action.extrude_texture":"D\u0131\u015Fa \xC7\u0131kar\u0131lm\u0131\u015F Doku","action.extrude_texture.desc":"Bir dokuyu uzatarak bir model olu\u015Fturun","action.export_blockmodel":"Blok/\xD6\u011Fe Modelini D\u0131\u015Fa Aktar","action.export_blockmodel.desc":"Bir Minecraft Java S\xFCr\xFCm\xFC blo\u011Funu veya \xF6\u011Fe modelini d\u0131\u015Fa aktar\u0131n","action.export_optifine_part":"OptiFine Par\xE7as\u0131n\u0131 D\u0131\u015Fa Aktar","action.export_optifine_part.desc":"Bir OptiFine varl\u0131k modeli i\xE7in tek bir par\xE7ay\u0131 d\u0131\u015Fa aktar\u0131n","action.export_optifine_full":"OptiFine JEM'i D\u0131\u015Fa Aktar","action.export_optifine_full.desc":"Tam bir OptiFine varl\u0131k modelini d\u0131\u015Fa aktar\u0131n","action.export_obj":"OBJ Modelini D\u0131\u015Fa Aktar","action.export_obj.desc":"Renderleme i\xE7in bir Wavefront OBJ modelini d\u0131\u015Fa aktar\u0131n","action.settings_window":"Ayarlar...","action.settings_window.desc":"Blockbench ayarlar\u0131 diyalo\u011Funu a\xE7\u0131n.","action.plugins_window":"Eklentiler...","action.plugins_window.desc":"Eklenti ma\u011Fazas\u0131 penceresini a\xE7\u0131n","action.reset_layout":"D\xFCzeni S\u0131f\u0131rla","action.reset_layout.desc":"D\xFCzeni Blockbench'in varsay\u0131lan\u0131na s\u0131f\u0131rlay\u0131n","action.load_plugin":"Dosyadan Eklenti Y\xFCkle","action.load_plugin.desc":"Kaynak dosyas\u0131n\u0131 i\xE7e aktararak bir eklenti y\xFCkleyin","action.reload_plugins":"Eklentileri Yeniden Y\xFCkle","action.reload_plugins.desc":"T\xFCm geli\u015Ftirme eklentilerini yeniden y\xFCkleyin","action.undo":"Geri Al","action.undo.desc":"Son de\u011Fi\u015Fikli\u011Fi geri al\u0131r","action.redo":"Yinele","action.redo.desc":"Son geri almay\u0131 geri d\xF6nd\xFCr\xFCr","action.copy":"Kopyala","action.copy.desc":"Se\xE7ili se\xE7imi, y\xFCz\xFC veya g\xF6r\xFCnt\xFCleme ayarlar\u0131n\u0131 kopyalay\u0131n","action.paste":"Yap\u0131\u015Ft\u0131r","action.paste.desc":"Se\xE7ili se\xE7imi, y\xFCz\xFC veya g\xF6r\xFCnt\xFCleme ayarlar\u0131n\u0131 yap\u0131\u015Ft\u0131r\u0131n","action.cut":"Kes","action.cut.desc":"Se\xE7ili se\xE7imi, y\xFCz\xFC veya g\xF6r\xFCnt\xFCleme ayarlar\u0131n\u0131 kesin","action.add_cube":"K\xFCp Ekle","action.add_cube.desc":"Yeni bir k\xFCp ekler","action.add_group":"Grup Ekle","action.add_group.desc":"Yeni bir grup veya kemik ekler","action.outliner_toggle":"Daha Fazla Se\xE7ene\u011Fi A\xE7/Kapat","action.outliner_toggle.desc":"Anahatta daha fazla se\xE7enek i\xE7in anahtarlar\u0131 a\xE7ar/kapat\u0131r","action.duplicate":"\xC7o\u011Falt","action.delete":"Sil","action.sort_outliner":"Anahatt\u0131 S\u0131rala","action.sort_outliner.desc":"Anahatt\u0131 alfabetik olarak s\u0131ralay\u0131n","action.select_window":"Se\xE7...","action.select_window.desc":"\xD6zelliklerine g\xF6re \xF6\u011Feleri aray\u0131n ve se\xE7in","action.invert_selection":"Se\xE7imi Ters \xC7evir","action.invert_selection.desc":"Mevcut \xF6\u011Fe se\xE7imini ters \xE7evirin","action.select_all":"T\xFCm\xFCn\xFC Se\xE7","action.collapse_groups":"Gruplar\u0131 Daralt","action.collapse_groups.desc":"Anahattaki t\xFCm gruplar\u0131 daralt\u0131n","action.scale":"\xD6l\xE7eklendir...","action.scale.desc":"Se\xE7ili \xF6\u011Feleri \xF6l\xE7eklendirin","action.toggle_visibility":"G\xF6r\xFCn\xFCrl\xFC\u011F\xFC A\xE7/Kapat","action.toggle_visibility.desc":"Se\xE7ili \xF6\u011Felerin g\xF6r\xFCn\xFCrl\xFC\u011F\xFCn\xFC a\xE7/kapat","action.toggle_export":"D\u0131\u015Fa Aktarmay\u0131 A\xE7/Kapat","action.toggle_export.desc":"Se\xE7ili \xF6\u011Felerin d\u0131\u015Fa aktarma ayar\u0131n\u0131 a\xE7/kapat","action.toggle_autouv":"Otomatik UV'yi A\xE7/Kapat","action.toggle_autouv.desc":"Se\xE7ili \xF6\u011Felerin otomatik UV ayar\u0131n\u0131 a\xE7/kapat","action.toggle_shade":"G\xF6lgelendirmeyi A\xE7/Kapat","action.toggle_shade.desc":"Se\xE7ili k\xFCplerin g\xF6lgelendirmesini a\xE7/kapat","action.rename":"Yeniden Adland\u0131r","action.rename.desc":"Se\xE7ili \xF6\u011Felerin veya grubun ad\u0131n\u0131 de\u011Fi\u015Ftirin","action.add_display_preset":"Yeni \xD6n Ayar","action.add_display_preset.desc":"Yeni bir g\xF6r\xFCnt\xFCleme ayar\u0131 \xF6n ayar\u0131 ekleyin","action.fullscreen":"Tam Ekran","action.fullscreen.desc":"Tam ekran modunu a\xE7ar/kapat\u0131r","action.zoom_in":"Yak\u0131nla\u015Ft\u0131r","action.zoom_in.desc":"Aray\xFCz\xFC b\xFCy\xFCtmek i\xE7in yak\u0131nla\u015Ft\u0131r\u0131n","action.zoom_out":"Uzakla\u015Ft\u0131r","action.zoom_out.desc":"Aray\xFCz\xFC k\xFC\xE7\xFCltmek i\xE7in uzakla\u015Ft\u0131r\u0131n","action.zoom_reset":"Yak\u0131nla\u015Ft\u0131rmay\u0131 S\u0131f\u0131rla","action.zoom_reset.desc":"Yak\u0131nla\u015Ft\u0131rmay\u0131 varsay\u0131lan %100'e s\u0131f\u0131rlay\u0131n","action.reset_interface":"Aray\xFCz\xFC S\u0131f\u0131rla","action.reset_interface.desc":"Aray\xFCz\xFCn boyutunu ve konumlar\u0131n\u0131 s\u0131f\u0131rlay\u0131n","action.screenshot_model":"Modelin Ekran G\xF6r\xFCnt\xFCs\xFCn\xFC Al","action.screenshot_model.desc":"Mevcut a\xE7\u0131dan modelin k\u0131rp\u0131lm\u0131\u015F bir ekran g\xF6r\xFCnt\xFCs\xFCn\xFC al\u0131n","action.screenshot_app":"Uygulaman\u0131n Ekran G\xF6r\xFCnt\xFCs\xFCn\xFC Al","action.screenshot_app.desc":"T\xFCm uygulaman\u0131n bir ekran g\xF6r\xFCnt\xFCs\xFCn\xFC al\u0131n","action.import_texture":"Doku \u0130\xE7e Aktar","action.import_texture.desc":"Dosya sisteminizden bir veya daha fazla doku i\xE7e aktar\u0131n","action.create_texture":"Doku Olu\u015Ftur","action.create_texture.desc":"Bo\u015F bir doku veya \u015Fablon dokusu olu\u015Fturun","action.save_textures":"Dokular\u0131 Kaydet","action.save_textures.desc":"T\xFCm kaydedilmemi\u015F dokular\u0131 kaydedin","action.animated_textures":"Animasyonlu Dokular\u0131 Oynat","action.animated_textures.desc":"Animasyonlu dokular\u0131n \xF6nizlemesini oynat\u0131n ve duraklat\u0131n","action.origin_to_geometry":"Merkezi Ortala","action.origin_to_geometry.desc":"Merkez noktas\u0131n\u0131 se\xE7imin merkezine ayarlay\u0131n","action.bone_reset_toggle":"Kemi\u011Fi S\u0131f\u0131rla","action.bone_reset_toggle.desc":"Kemi\u011Fin \xFCst modelden k\xFCpleri g\xF6r\xFCnt\xFClemesini durdurun","action.reload":"Blockbench'i Yeniden Y\xFCkle","action.reload.desc":"Blockbench'i yeniden y\xFCkleyin. Bu, t\xFCm kaydedilmemi\u015F ilerlemeyi ge\xE7ersiz k\u0131lacakt\u0131r","menu.file":"Dosya","menu.edit":"D\xFCzenle","menu.transform":"D\xF6n\xFC\u015Ft\xFCr","menu.display":"G\xF6r\xFCnt\xFCle","menu.view":"G\xF6r\xFCn\xFCm","menu.file.new":"Yeni","menu.file.recent":"Son","menu.file.import":"\u0130\xE7e Aktar","menu.file.export":"D\u0131\u015Fa Aktar","menu.transform.rotate":"D\xF6nd\xFCr","menu.transform.flip":"\xC7evir","menu.transform.center":"Ortala","menu.transform.properties":"\xD6zellikler","menu.display.preset":"\xD6n Ayar\u0131 Uygula","menu.display.preset_all":"\xD6n Ayar\u0131 Her Yere Uygula","menu.display.remove_preset":"\xD6n Ayar\u0131 Kald\u0131r","menu.view.zoom":"Yak\u0131nla\u015Ft\u0131r","menu.view.background":"Arka Plan","menu.view.screenshot":"Ekran G\xF6r\xFCnt\xFCs\xFC","menu.cube.color":"\u0130\u015Faretleyici Rengi","menu.cube.texture":"Doku","menu.cube.texture.transparent":"\u015Eeffaf","menu.cube.texture.blank":"Bo\u015F","menu.group.sort":"S\u0131rala","menu.texture.face":"Y\xFCze Uygula","menu.texture.file":"Dosya","menu.texture.refresh":"Yenile","menu.texture.change":"Dosyay\u0131 De\u011Fi\u015Ftir","menu.texture.folder":"Dosya Gezgini'nde G\xF6ster","menu.texture.edit":"D\xFCzenle","menu.texture.export":"Farkl\u0131 Kaydet","menu.texture.save":"Kaydet","menu.texture.properties":"\xD6zellikler...","menu.preview.background":"Arka Plan","menu.preview.background.load":"Y\xFCkle","menu.preview.background.position":"Pozisyon","menu.preview.background.lock":"Kameraya Kilitle","menu.preview.screenshot":"Ekran G\xF6r\xFCnt\xFCs\xFC","menu.preview.perspective":"Perspektif","menu.preview.perspective.normal":"Normal","menu.preview.quadview":"D\xF6rtl\xFC G\xF6r\xFCn\xFCm","menu.preview.stop_drag":"Arka Plan Konumland\u0131rmay\u0131 Durdur","menu.uv.mapping.rotation":"D\xF6nd\xFCrme","menu.uv.texture":"Doku","cube.color.light_blue":"A\xE7\u0131k Mavi","cube.color.yellow":"Sar\u0131","cube.color.orange":"Turuncu","cube.color.red":"K\u0131rm\u0131z\u0131","cube.color.purple":"Mor","cube.color.blue":"Mavi","cube.color.green":"Ye\u015Fil","cube.color.lime":"Limon Ye\u015Fili","switches.visibility":"G\xF6r\xFCn\xFCrl\xFCk","switches.export":"D\u0131\u015Fa Aktar","switches.autouv":"Otomatik UV","panel.uv":"UV","panel.display":"G\xF6r\xFCnt\xFCle","panel.textures":"Dokular","panel.outliner":"Anahat","uv_editor.title":"UV D\xFCzenleyici","uv_editor.all_faces":"T\xFCm\xFC","uv_editor.no_faces":"Hi\xE7biri","face.north":"Kuzey","face.south":"G\xFCney","face.west":"Bat\u0131","face.east":"Do\u011Fu","face.up":"Yukar\u0131","face.down":"A\u015Fa\u011F\u0131","direction.north":"Kuzey","direction.south":"G\xFCney","direction.west":"Bat\u0131","direction.east":"Do\u011Fu","direction.top":"\xDCst","direction.bottom":"Alt","display.slot.third_right":"\xDC\xE7\xFCnc\xFC \u015Eah\u0131s Sa\u011F","display.slot.third_left":"\xDC\xE7\xFCnc\xFC \u015Eah\u0131s Sol","display.slot.first_right":"Birinci \u015Eah\u0131s Sa\u011F","display.slot.first_left":"Birinci \u015Eah\u0131s Sol","display.slot.head":"Kafa","display.slot.ground":"Zemin","display.slot.frame":"\xC7er\xE7eve","display.slot.gui":"Aray\xFCz","display.rotation":"D\xF6nd\xFCrme","display.translation":"\xC7eviri","display.scale":"\xD6l\xE7ek","display.slot":"Yuva","display.reference":"Referans Model","display.reference.player":"Oyuncu","display.reference.zombie":"Zombi","display.reference.armor_stand":"Z\u0131rh Stand\u0131","display.reference.baby_zombie":"Bebek Zombi","display.reference.armor_stand_small":"K\xFC\xE7\xFCk Z\u0131rh Stand\u0131","display.reference.monitor":"Normal","display.reference.bow":"Gerilmi\u015F Yay","display.reference.block":"Blok","display.reference.frame":"E\u015Fya \xC7er\xE7evesi","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"Envanter","display.reference.hud":"Aray\xFCz","display.preset.blank_name":"L\xFCtfen bir isim girin","display.preset.item":"Varsay\u0131lan E\u015Fya","display.preset.block":"Varsay\u0131lan Blok","display.preset.handheld":"Varsay\u0131lan Silah","display.preset.rod":"Varsay\u0131lan Olta","dialog.continue":"Devam Et","message.square_textures":"Dokular kare olmal\u0131d\u0131r","message.unsaved_texture.title":"Kaydedilmemi\u015F Doku","message.unsaved_texture.message":"Bu dokudaki t\xFCm kaydedilmemi\u015F de\u011Fi\u015Fiklikler kaybolacak. Devam etmek istiyor musunuz?","action.vertex_snap_mode.move":"Ta\u015F\u0131","action.vertex_snap_mode.scale":"\xD6l\xE7eklendir","action.open_model_folder":"Model Klas\xF6r\xFCn\xFC A\xE7","action.open_model_folder.desc":"Modelin bulundu\u011Fu klas\xF6r\xFC a\xE7ar","action.change_textures_folder":"Doku Konumunu De\u011Fi\u015Ftir","action.change_textures_folder.desc":"T\xFCm dokular\u0131n kaydedildi\u011Fi klas\xF6r\xFC de\u011Fi\u015Ftirin","menu.texture.particle":"Par\xE7ac\u0131klar i\xE7in Kullan","message.update_notification.title":"G\xFCncelleme Y\xFCklenemedi","message.update_notification.message":"Yeni bir Blockbench s\xFCr\xFCm\xFC mevcut. G\xFCncellemek i\xE7in l\xFCtfen ayarlardan Otomatik G\xFCncellemeleri etkinle\u015Ftirin!","message.untextured":"Bu y\xFCzeyin bir dokusu yok","dialog.toolbar_edit.title":"Ara\xE7 \xC7ubu\u011Funu \xD6zelle\u015Ftir","keybindings.reset":"S\u0131f\u0131rla","keybindings.clear":"Bo\u015Falt","action.cube_counter":"Model \u0130statistikleri","action.uv_rotation":"UV D\xF6nd\xFCrme","action.uv_rotation.desc":"UV y\xFCz\xFCn\xFCn d\xF6nd\xFCr\xFClmesi","action.uv_grid":"UV Izgaras\u0131","action.uv_grid.desc":"UV se\xE7icinin yasland\u0131\u011F\u0131 \u0131zgaran\u0131n \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","action.uv_grid.auto":"Otomatik","action.uv_maximize":"UV'yi Maksimize Et","action.uv_maximize.desc":"Bu y\xFCz i\xE7in UV'yi tam dokuya ayarlar","action.uv_auto":"Otomatik UV","action.uv_auto.desc":"Bu y\xFCz\xFCn UV boyutunu y\xFCz\xFCn ger\xE7ek boyutuna ayarlar","action.uv_rel_auto":"G\xF6receli Otomatik UV","action.uv_rel_auto.desc":"Bu y\xFCz\xFCn UV'sini ger\xE7ek y\xFCz\xFCn konumuna ve boyutuna ayarlar","action.uv_mirror_x":"UV'yi X'te Aynala","action.uv_mirror_x.desc":"Bu y\xFCz\xFCn UV'sini X ekseninde yans\u0131t\u0131r","action.uv_mirror_y":"UV'yi Y'de Aynala","action.uv_mirror_y.desc":"Bu y\xFCz\xFCn UV'sini Y ekseninde yans\u0131t\u0131r","action.uv_transparent":"Y\xFCz\xFC Kald\u0131r","action.uv_transparent.desc":"Mevcut y\xFCz\xFC kald\u0131r\u0131r","action.uv_reset":"Y\xFCz\xFC S\u0131f\u0131rla","action.uv_reset.desc":"Mevcut y\xFCz\xFC s\u0131f\u0131rlar","action.cullface":"G\xF6r\xFCnmeyen Y\xFCz\xFC Gizle","action.cullface.desc":"Modelin se\xE7ili taraf\u0131 kapal\u0131ysa bu y\xFCz i\xE7in renderlemeyi devre d\u0131\u015F\u0131 b\u0131rak\u0131r","action.auto_cullface":"G\xF6r\xFCnmeyen Y\xFCz Gizlemeyi Etkinle\u015Ftir","action.auto_cullface.desc":"Bu y\xFCz i\xE7in g\xF6r\xFCnmeyen y\xFCz gizlemeyi kendisine ayarlar","action.face_tint":"Tonlama","action.face_tint.desc":"Mevcut y\xFCz i\xE7in tonlama se\xE7ene\u011Fini etkinle\u015Ftirir","menu.toolbar.edit":"Ara\xE7 \xC7ubu\u011Funu \xD6zelle\u015Ftir","menu.toolbar.reset":"Ara\xE7 \xC7ubu\u011Funu S\u0131f\u0131rla","uv_editor.rotated":"D\xF6nd\xFCr\xFCld\xFC","uv_editor.auto_cull":"Kendine G\xF6r\xFCnmeyen Y\xFCz Gizle","uv_editor.copied":"Y\xFCz Kopyaland\u0131","uv_editor.pasted":"Y\xFCz Yap\u0131\u015Ft\u0131r\u0131ld\u0131","uv_editor.copied_x":"%0 Y\xFCz Kopyaland\u0131","uv_editor.reset":"Y\xFCz\xFC S\u0131f\u0131rla","uv_editor.maximized":"Maksimize Edildi","uv_editor.autouv":"Otomatik Boyut","uv_editor.mirrored":"Aynaland\u0131","uv_editor.to_all":"T\xFCm Y\xFCzlere Uygula","uv_editor.transparent":"\u015Eeffaf Yap\u0131ld\u0131","uv_editor.cullface_on":"G\xF6r\xFCnmeyen Y\xFCz Gizleme A\xE7\u0131k","uv_editor.cullface_off":"G\xF6r\xFCnmeyen Y\xFCz Gizleme Kapal\u0131","uv_editor.tint_on":"Tonlama A\xE7\u0131k","uv_editor.tint_off":"Tonlama Kapal\u0131","action.uv_apply_all":"T\xFCm Y\xFCzlere Uygula","action.uv_apply_all.desc":"Mevcut y\xFCz\xFCn ayarlar\u0131n\u0131 t\xFCm y\xFCzlere uygular","message.image_editor_missing.title":"Varsay\u0131lan Resim D\xFCzenleyici","message.image_editor_missing.message":"Resim d\xFCzenleyicinizin y\xFCr\xFCt\xFClebilir dosyas\u0131n\u0131 se\xE7in.","message.image_editor_missing.detail":"Blockbench bilgisayar\u0131n\u0131zda bir resim d\xFCzenleyici bulamad\u0131. Tercih etti\u011Finiz resim d\xFCzenleyicinin y\xFCr\xFCt\xFClebilir dosyas\u0131n\u0131 se\xE7in.","action.update_autouv":"Otomatik UV'yi G\xFCncelle","action.update_autouv.desc":"Se\xE7ili k\xFCplerin otomatik UV haritalamas\u0131n\u0131 g\xFCncelleyin","category.uv":"UV","status_bar.saved":"Model kaydedildi","status_bar.unsaved":"Kaydedilmemi\u015F de\u011Fi\u015Fiklikler var","action.move_up":"Yukar\u0131 Ta\u015F\u0131","action.move_up.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re yukar\u0131 ta\u015F\u0131y\u0131n","action.move_down":"A\u015Fa\u011F\u0131 Ta\u015F\u0131","action.move_down.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re a\u015Fa\u011F\u0131 ta\u015F\u0131y\u0131n","action.move_left":"Sola Ta\u015F\u0131","action.move_left.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re sola ta\u015F\u0131y\u0131n","action.move_right":"Sa\u011Fa Ta\u015F\u0131","action.move_right.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re sa\u011Fa ta\u015F\u0131y\u0131n","action.move_forth":"\u0130leri Ta\u015F\u0131","action.move_forth.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re ileri ta\u015F\u0131y\u0131n","action.move_back":"Geri Ta\u015F\u0131","action.move_back.desc":"Se\xE7ili \xF6\u011Feleri mevcut kamera a\xE7\u0131s\u0131na g\xF6re geri ta\u015F\u0131y\u0131n","layout.color.wireframe":"Tel Kafes","layout.color.wireframe.desc":"Tel kafes g\xF6r\xFCn\xFCm \xE7izgileri","action.add_animation":"Animasyon Ekle","action.add_animation.desc":"Bo\u015F bir animasyon olu\u015Fturun","action.load_animation_file":"Animasyonlar\u0131 \u0130\xE7e Aktar","action.load_animation_file.desc":"Bir animasyon dosyas\u0131n\u0131 i\xE7e aktar\u0131n","action.play_animation":"Animasyonu Oynat","action.play_animation.desc":"Se\xE7ili animasyonu \xF6nizleyin","action.slider_keyframe_time":"Zaman Kodu","action.slider_keyframe_time.desc":"Se\xE7ili anahtar karelerin zaman kodunu de\u011Fi\u015Ftirin","timeline.rotation":"D\xF6nd\xFCrme","timeline.position":"Pozisyon","timeline.scale":"\xD6l\xE7ek","menu.keyframe.quaternion":"Kuaternion","panel.animations":"Animasyonlar","panel.keyframe":"Anahtar Kare","panel.keyframe.type":"Anahtar Kare (%0)","generic.delete":"Sil","generic.rename":"Yeniden Adland\u0131r","message.no_animation_selected":"Bunu yapmak i\xE7in bir animasyon se\xE7melisiniz","message.no_bone_selected":"Bunu yapmak i\xE7in bir kemik se\xE7melisiniz","message.duplicate_groups.title":"Yinelenen Kemik Ad\u0131","message.duplicate_groups.message":"Bu kemi\u011Fin ad\u0131 birden fazla kemikte mevcut. Bu sorunlara neden olabilir.","action.delete_keyframes":"Anahtar Kareleri Sil","action.delete_keyframes.desc":"T\xFCm se\xE7ili anahtar kareleri silin","menu.animation":"Animasyon","menu.animation.loop":"D\xF6ng\xFC Modu","menu.animation.override":"Ge\xE7ersiz K\u0131l","menu.animation.anim_time_update":"Animasyon Zaman\u0131 G\xFCncellemesi","message.display_skin_model.title":"Kaplama Modeli","message.display_skin_model.message":"Kaplaman\u0131z\u0131n model t\xFCr\xFCn\xFC se\xE7in","message.display_skin_model.classic":"Klasik","message.display_skin_model.slim":"\u0130nce","message.bone_material":"Kemik materyalini de\u011Fi\u015Ftir","action.slider_animation_length":"Animasyon Uzunlu\u011Fu","action.slider_animation_length.desc":"Se\xE7ili animasyonun uzunlu\u011Funu de\u011Fi\u015Ftirin","panel.variable_placeholders":"De\u011Fi\u015Fken Yer Tutucular\u0131","panel.variable_placeholders.info":"isim=de\u011Fer arac\u0131l\u0131\u011F\u0131yla \xF6nizlemek istedi\u011Finiz de\u011Fi\u015Fkenleri listeleyin","status_bar.vertex_distance":"Mesafe: %0","dialog.create_gif.title":"GIF Kaydet","dialog.create_gif.length":"Uzunluk","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"Animasyonu Oynat","category.animation":"Animasyon","action.record_model_gif":"GIF Kaydet...","action.record_model_gif.desc":"Mevcut a\xE7\u0131dan modelin animasyonlu bir GIF'ini kaydedin","display.mirror":"Ayna","data.separator":"Ay\u0131r\u0131c\u0131","menu.preview.background.set_position":"Pozisyonu Ayarla","dialog.toolbar_edit.hidden":"Gizli","action.export_class_entity":"Java Varl\u0131\u011F\u0131n\u0131 D\u0131\u015Fa Aktar","action.export_class_entity.desc":"Varl\u0131k modelini bir Java s\u0131n\u0131f\u0131 olarak d\u0131\u015Fa aktar\u0131n","settings.seethrough_outline":"X-I\u015F\u0131n\u0131 Anahatlar\u0131","settings.seethrough_outline.desc":"Nesnelerin i\xE7inden anahatlar\u0131 g\xF6ster","mode.edit":"D\xFCzenle","mode.paint":"Boya","mode.display":"G\xF6r\xFCnt\xFCle","mode.animate":"Animasyon","status_bar.recording_gif":"Kaydediliyor","status_bar.processing_gif":"\u0130\u015Fleniyor","settings.backup_retain":"Yedekleme Saklama S\xFCresi","settings.backup_retain.desc":"Blockbench'in eski yedekleri g\xFCn cinsinden ne kadar s\xFCreyle saklayaca\u011F\u0131n\u0131 ayarlay\u0131n","action.rotate_tool":"D\xF6nd\xFCr","action.rotate_tool.desc":"\xD6\u011Feleri se\xE7me ve d\xF6nd\xFCrme arac\u0131","action.fill_tool":"Boya Kovas\u0131","action.fill_tool.desc":"T\xFCm y\xFCzleri tek renkle doldurmak i\xE7in boya kovas\u0131","action.eraser":"Silgi","action.eraser.desc":"Bir dokudaki renkleri \u015Feffafl\u0131kla de\u011Fi\u015Ftirmek i\xE7in silgi arac\u0131","action.color_picker":"Renk Se\xE7ici","action.color_picker.desc":"Dokunuzdaki piksellerin rengini se\xE7me arac\u0131","switches.mirror":"UV'yi Aynala",language_name:"T\xFCrk\xE7e","message.plugin_reload":"%0 yerel eklenti yeniden y\xFCklendi","settings.brightness":"Parlakl\u0131k","settings.brightness.desc":"\xD6nizlemenin parlakl\u0131\u011F\u0131. Varsay\u0131lan 50'dir","menu.preview.perspective.reset":"Kameray\u0131 S\u0131f\u0131rla","action.fill_mode":"Doldurma Modu","action.fill_mode.face":"Y\xFCz","action.fill_mode.color":"Renkler","action.toggle_mirror_uv":"UV'yi Aynala","action.toggle_mirror_uv.desc":"Se\xE7ili k\xFCplerin X ekseninde UV aynalamas\u0131n\u0131 a\xE7/kapat","menu.texture.blank":"Dokusuz Y\xFCzlere Uygula","dialog.scale.select_overflow":"Ta\u015Fmay\u0131 Se\xE7","action.action_control":"Eylem Kontrol\xFC","action.action_control.desc":"Mevcut herhangi bir eylemi aray\u0131n ve y\xFCr\xFCt\xFCn","keybindings.recording":"Tu\u015F Atamas\u0131 Kaydediliyor","keybindings.press":"Tu\u015F ataman\u0131z\u0131 kaydetmek i\xE7in bir tu\u015Fa veya tu\u015F kombinasyonuna bas\u0131n ya da ekran\u0131n herhangi bir yerine t\u0131klay\u0131n.","action.pivot_tool":"Merkez Noktas\u0131 Arac\u0131","action.pivot_tool.desc":"\xD6\u011Felerin ve kemiklerin merkez noktas\u0131n\u0131 de\u011Fi\u015Ftirme arac\u0131","action.slider_animation_speed":"Oynatma H\u0131z\u0131","action.slider_animation_speed.desc":"Y\xFCzde olarak zaman \xE7izelgesinin oynatma h\u0131z\u0131","action.previous_keyframe":"\xD6nceki Anahtar Kare","action.previous_keyframe.desc":"\xD6nceki anahtar kareye atlay\u0131n","action.next_keyframe":"Sonraki Anahtar Kare","action.next_keyframe.desc":"Sonraki anahtar kareye atlay\u0131n","message.outdated_client.title":"Eski \u0130stemci","message.outdated_client.message":"Bunu yapmak i\xE7in l\xFCtfen Blockbench'in en son s\xFCr\xFCm\xFCne g\xFCncelleyin.","action.export_asset_archive":"Ar\u015Fivi \u0130ndir","action.export_asset_archive.desc":"Modeli ve i\xE7indeki t\xFCm dokular\u0131 i\xE7eren bir ar\u015Fivi indirin","action.upload_sketchfab":"Sketchfab'e Y\xFCkle...","message.sketchfab.name_or_token":"L\xFCtfen Sketchfab jetonunuzu ve bir isim girin","dialog.sketchfab_uploader.title":"Sketchfab Modeli Y\xFCkle","dialog.sketchfab_uploader.token":"API Jetonu","dialog.sketchfab_uploader.about_token":"Jeton, Blockbench'i Sketchfab hesab\u0131n\u0131za ba\u011Flamak i\xE7in kullan\u0131l\u0131r. Bunu %0 adresinde bulabilirsiniz","dialog.sketchfab_uploader.name":"Model Ad\u0131","dialog.sketchfab_uploader.description":"A\xE7\u0131klama","dialog.sketchfab_uploader.tags":"Etiketler","settings.sketchfab_token":"Sketchfab Jetonu","settings.sketchfab_token.desc":"Blockbench'i Sketchfab hesab\u0131n\u0131za y\xFCkleme yetkisi vermek i\xE7in jeton","panel.color":"Renk","data.origin":"Merkez Noktas\u0131","message.sketchfab.success":"Model ba\u015Far\u0131yla y\xFCklendi","message.sketchfab.error":"Model Sketchfab'e y\xFCklenemedi","settings.outliner_colors":"Anahat Renkleri","settings.outliner_colors.desc":"Anahatta \xF6\u011Fe ve grup renklerini g\xF6r\xFCnt\xFCle","action.upload_sketchfab.desc":"Modelinizi Sketchfab'e y\xFCkleyin","action.element_colors":"K\xFCp Renkleri","action.element_colors.desc":"Anahatta k\xFCp renklerini g\xF6ster","texture.error.file":"Dosya bulunamad\u0131","texture.error.parent":"Doku dosyas\u0131 \xFCst model taraf\u0131ndan sa\u011Fland\u0131","message.recover_backup.title":"Modelleri Kurtar","message.recover_backup.message":"Blockbench kaydetmeden kapat\u0131ld\u0131. Modelleri kurtarmak istiyor musunuz?","message.invalid_session.title":"Ge\xE7ersiz Oturum Jetonu","message.invalid_session.message":"Kat\u0131lmaya \xE7al\u0131\u015Ft\u0131\u011F\u0131n\u0131z oturumun s\xFCresi dolmu\u015F veya sa\u011Flanan jeton ge\xE7ersiz.","dialog.create_texture.power":"2'nin Kat\u0131 Boyutu","dialog.create_gif.turn":"D\xF6ner Tabla H\u0131z\u0131","action.edit_session":"Oturumu D\xFCzenle...","action.edit_session.desc":"Di\u011Fer kullan\u0131c\u0131larla i\u015Fbirli\u011Fi yapmak i\xE7in bir d\xFCzenleme oturumuna ba\u011Flan\u0131n","action.reset_keyframe":"Anahtar Kareyi S\u0131f\u0131rla","action.reset_keyframe.desc":"Se\xE7ili anahtar karelerin t\xFCm de\u011Ferlerini s\u0131f\u0131rlay\u0131n","dialog.edit_session.title":"Oturumu D\xFCzenle","edit_session.username":"Kullan\u0131c\u0131 Ad\u0131","edit_session.token":"Jeton","edit_session.about":"D\xFCzenleme Oturumlar\u0131, internet \xFCzerinden modeller \xFCzerinde i\u015Fbirli\u011Fi yapmak i\xE7in kullan\u0131labilir. Bir oturum olu\u015Fturun, jetonu kopyalay\u0131n ve arkada\u015Flar\u0131n\u0131za g\xF6nderin, onlar da kat\u0131lmak i\xE7in kullanabilir.","edit_session.join":"Oturuma Kat\u0131l","edit_session.create":"Oturum Olu\u015Ftur","edit_session.quit":"Oturumdan Ayr\u0131l","edit_session.joined":"%0 oturuma kat\u0131ld\u0131","edit_session.left":"%0 oturumdan ayr\u0131ld\u0131","edit_session.quit_session":"Mevcut oturumdan ayr\u0131ld\u0131","edit_session.status":"Durum","edit_session.hosting":"Bar\u0131nd\u0131r\u0131l\u0131yor","edit_session.connected":"Bir oturuma ba\u011Fl\u0131","dialog.sketchfab_uploader.private":"\xD6zel (Pro)","dialog.sketchfab_uploader.password":"\u015Eifre (Pro)","action.uv_select_all":"T\xFCm\xFCn\xFC Se\xE7","action.uv_select_all.desc":"UV diyalo\u011Fundaki t\xFCm y\xFCzleri se\xE7in","panel.chat":"Sohbet","edit_session.welcome":"%0 taraf\u0131ndan olu\u015Fturulan bu oturuma ho\u015F geldiniz","dialog.yes":"Evet","dialog.no":"Hay\u0131r","generic.remove":"Kald\u0131r","generic.download":"\u0130ndir","generic.search":"Ara","dates.today":"Bug\xFCn","dates.yesterday":"D\xFCn","dates.this_week":"Bu Hafta","dates.weeks_ago":"%0 hafta \xF6nce","mode.start.new":"Yeni","mode.start.recent":"Son A\xE7\u0131lanlar","format.free":"Genel Model","format.free.desc":"K\u0131s\u0131tlama olmadan modelleme. Oyun motorlar\u0131, render vs. i\xE7in.","format.java_block":"Java Blok/\xD6\u011Fe","format.java_block.desc":"Minecraft Java S\xFCr\xFCm\xFC i\xE7in blok veya \xF6\u011Fe modeli.","format.bedrock":"Bedrock Varl\u0131\u011F\u0131","format.bedrock.desc":"Minecraft Bedrock S\xFCr\xFCm\xFC i\xE7in varl\u0131k ve \xF6\u011Fe ba\u011Flant\u0131 modeli","format.bedrock_old":"Bedrock Eski Modeli","format.bedrock_old.desc":"1.12 \xF6ncesi Minecraft Bedrock S\xFCr\xFCm\xFC varl\u0131k modeli","format.modded_entity":"Modlu Varl\u0131k","format.modded_entity.desc":"Minecraft modlar\u0131 i\xE7in varl\u0131k modeli. .java s\u0131n\u0131f dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131labilir.","format.optifine_entity":"OptiFine Varl\u0131\u011F\u0131","format.optifine_entity.desc":"OptiFine modu i\xE7in \xF6zel varl\u0131k modeli","keys.mouse":"Fare Tu\u015Fu %0","message.cleared_blank_faces.title":"Bo\u015F Y\xFCzler","message.cleared_blank_faces.message":"Blockbench, dokusu olmayan %0 k\xFCp buldu. Bu \xF6\u011Feleri kald\u0131rmak istiyor musunuz?","message.wireframe.enabled":"Tel kafes g\xF6r\xFCn\xFCm\xFC etkinle\u015Ftirildi","message.wireframe.disabled":"Tel kafes g\xF6r\xFCn\xFCm\xFC devre d\u0131\u015F\u0131 b\u0131rak\u0131ld\u0131","dialog.convert_project.title":"Projeyi D\xF6n\xFC\u015Ft\xFCr","dialog.create_texture.double_use":"\xC7oklu Doku Kullan\u0131m\u0131n\u0131 Koru","dialog.model_stats.title":"Model \u0130statistikleri","dialog.model_stats.cubes":"K\xFCpler","dialog.model_stats.locators":"Konumlay\u0131c\u0131lar","dialog.model_stats.groups":"Gruplar","dialog.model_stats.vertices":"Tepe Noktalar\u0131","dialog.model_stats.faces":"Y\xFCzler","settings.username":"Kullan\u0131c\u0131 ad\u0131","settings.username.desc":"D\xFCzenleme oturumlar\u0131 i\xE7in kullan\u0131c\u0131 ad\u0131","settings.painting_grid":"Boya Izgaras\u0131","settings.painting_grid.desc":"Boya modunda dokulu \xF6\u011Feler \xFCzerinde \u0131zgara g\xF6ster","action.convert_project":"Projeyi D\xF6n\xFC\u015Ft\xFCr","action.convert_project.desc":"Mevcut projeyi ba\u015Fka bir model format\u0131 i\xE7in bir projeye d\xF6n\xFC\u015Ft\xFCr\xFCr","action.close_project":"Projeyi Kapat","action.close_project.desc":"\u015Eu anda a\xE7\u0131k olan projeyi kapat\u0131r","action.export_bedrock":"Bedrock Geometrisini D\u0131\u015Fa Aktar","action.export_bedrock.desc":"Modeli bir Bedrock S\xFCr\xFCm\xFC geometri dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n.","action.save_project":"Projeyi Kaydet","action.save_project.desc":"Mevcut modeli bir proje dosyas\u0131 olarak kaydeder","action.save_project_as":"Projeyi Farkl\u0131 Kaydet","action.save_project_as.desc":"Mevcut modeli yeni bir konumda bir proje dosyas\u0131 olarak kaydeder","action.export_over":"Modeli Kaydet","action.export_over.desc":"Modeli, dokular\u0131 ve animasyonlar\u0131 dosyalar\u0131n \xFCzerine yazarak kaydeder","action.add_locator":"Konumlay\u0131c\u0131 Ekle","action.add_locator.desc":"Par\xE7ac\u0131klar\u0131n, tasmalar\u0131n vb. konumlar\u0131n\u0131 kontrol etmek i\xE7in yeni bir konumlay\u0131c\u0131 ekler","action.uv_turn_mapping":"Haritalamay\u0131 \xC7evir","action.uv_turn_mapping.desc":"UV haritalamas\u0131n\u0131 90 derece \xE7evirin","action.remove_blank_faces":"Bo\u015F Y\xFCzleri Kald\u0131r","action.remove_blank_faces.desc":"Se\xE7imin dokusuz t\xFCm y\xFCzlerini siler","web.download_app":"Uygulamay\u0131 \u0130ndir","uv_editor.turned":"Haritalama \xC7evrildi","display.reference.crossbow":"Gerilmi\u015F Arbalet","dialog.settings.search_results":"Arama Sonu\xE7lar\u0131","settings.animation_snap":"Animasyon Yaslama","settings.animation_snap.desc":"Animasyon zaman \xE7izelgesindeki anahtar kareler i\xE7in saniyedeki ad\u0131m cinsinden varsay\u0131lan yaslama aral\u0131\u011F\u0131. Bu, animasyon ba\u015F\u0131na da de\u011Fi\u015Ftirilebilir. Varsay\u0131lan de\u011Fer 24't\xFCr.","action.import_optifine_part":"OptiFine Par\xE7as\u0131n\u0131 \u0130\xE7e Aktar","action.import_optifine_part.desc":"OptiFine i\xE7in bir varl\u0131k par\xE7as\u0131 modelini i\xE7e aktar\u0131n","data.locator":"Konumlay\u0131c\u0131","mode.start.no_recents":"Son a\xE7\u0131lan model yok","panel.element":"\xD6\u011Fe","panel.element.position":"Pozisyon","panel.element.size":"Boyut","panel.element.origin":"Merkez Noktas\u0131","panel.element.rotation":"D\xF6nd\xFCrme","message.canvas_limit_error.title":"Tuval S\u0131n\u0131r\u0131 Hatas\u0131","message.canvas_limit_error.message":"Bi\xE7im, tuvali 48 birimle s\u0131n\u0131rlad\u0131\u011F\u0131 i\xE7in eylem do\u011Fru bir \u015Fekilde ger\xE7ekle\u015Ftirilemedi. Bunu \xF6nlemek i\xE7in merkez noktas\u0131n\u0131 kayd\u0131r\u0131n.","data.effect":"Efekt","generic.name":"\u0130sim","settings.recent_projects":"Son Model S\u0131n\u0131r\u0131","settings.recent_projects.desc":"Hat\u0131rlanacak maksimum son model say\u0131s\u0131","settings.volume":"Ses Seviyesi","settings.volume.desc":"Animasyonlardaki ses efektleri i\xE7in ses kontrol\xFC","action.clear_timeline":"Zaman \xC7izelgesini Temizle","action.clear_timeline.desc":"Zaman \xE7izelgesinden se\xE7ilmemi\u015F t\xFCm kemikleri temizleyin","action.select_effect_animator":"Efektleri Canland\u0131r","action.select_effect_animator.desc":"Ses ve par\xE7ac\u0131k efektleri eklemek i\xE7in zaman \xE7izelgesini a\xE7ar","action.timeline_focus":"Kanallar\u0131 Filtrele","action.timeline_focus.desc":"Zaman \xE7izelgesinde g\xF6r\xFCnt\xFClenecek animasyon kanallar\u0131n\u0131 se\xE7in","timeline.particle":"Par\xE7ac\u0131k","timeline.sound":"Ses","timeline.effects":"Efektler","data.format":"Bi\xE7im","format.optifine_part":"OptiFine Par\xE7as\u0131","format.optifine_part.desc":"OptiFine varl\u0131k modelleri i\xE7in JPM par\xE7as\u0131","action.reverse_keyframes":"Anahtar Kareleri Ters \xC7evir","action.reverse_keyframes.desc":"Se\xE7ili anahtar karelerin s\u0131ras\u0131n\u0131 tersine \xE7evirin","generic.help":"Yard\u0131m","message.removed_faces":"%0 y\xFCz kald\u0131r\u0131ld\u0131","dialog.sketchfab_uploader.draft":"Taslak","action.slider_pos":"Pozisyon %0","action.slider_pos.desc":"\xD6\u011Feleri %0 ekseninde ta\u015F\u0131","action.slider_size":"Boyut %0","action.slider_size.desc":"\xD6\u011Feleri %0 ekseninde yeniden boyutland\u0131r","action.slider_rotation":"D\xF6nd\xFCrme %0","action.slider_rotation.desc":"\xD6\u011Feleri %0 ekseninde d\xF6nd\xFCr","action.slider_origin":"Merkez %0","action.slider_origin.desc":"Merkezi %0 ekseninde ta\u015F\u0131","action.rotate_cw":"%0'\u0131 +90 D\xF6nd\xFCr","action.rotate_cw.desc":"Se\xE7ili \xF6\u011Feleri %0 ekseninde 90\xB0 d\xF6nd\xFCr\xFCn","action.rotate_ccw":"%0'\u0131 -90 D\xF6nd\xFCr","action.rotate_ccw.desc":"Se\xE7ili \xF6\u011Feleri %0 ekseninde -90\xB0 d\xF6nd\xFCr\xFCn","action.flip":"%0'\u0131 \xC7evir","action.flip.desc":"Se\xE7ili \xF6\u011Feleri %0 ekseninde \xE7evirin","action.center":"%0'\u0131 Ortala","action.center.desc":"Se\xE7ili \xF6\u011Feleri %0 ekseninde ortalay\u0131n","action.bring_up_all_animations":"T\xFCm Animat\xF6rleri Yukar\u0131 Getir","panel.bone":"Kemik","data.color":"Renk","generic.export":"D\u0131\u015Fa Aktar","generic.none":"Hi\xE7biri","status_bar.recording":"Zaman atlamal\u0131 kay\u0131t yap\u0131l\u0131yor","message.add_to_palette":"Palete eklendi","message.size_modifiers":"Daha k\xFC\xE7\xFCk art\u0131\u015Flarla d\xF6n\xFC\u015Ft\xFCrmek i\xE7in Ctrl veya Shift tu\u015Funu bas\u0131l\u0131 tutun.","message.timelapse_start":"Zaman atlamal\u0131 kay\u0131t ba\u015Flad\u0131","message.timelapse_stop":"Zaman atlamal\u0131 kay\u0131t durdu","message.import_palette.replace_palette":"Eski paleti de\u011Fi\u015Ftir","message.import_palette.threshold":"Birle\u015Ftirme E\u015Fi\u011Fi","dialog.timelapse.interval":"Aral\u0131k (Saniye)","dialog.timelapse.source":"Kaynak","dialog.timelapse.source.interface":"Aray\xFCz","dialog.timelapse.source.locked":"Kilitli A\xE7\u0131","dialog.timelapse.destination":"Hedef Klas\xF6r","layout.color.checkerboard":"Dama Tahtas\u0131","layout.color.checkerboard.desc":"Tuval ve UV d\xFCzenleyici arka plan\u0131","layout.font.code":"Kod Yaz\u0131 Tipi","layout.css":"\xD6zel CSS","settings.category.paint":"Boya","settings.deactivate_size_limit":"Boyut S\u0131n\u0131r\u0131n\u0131 Devre D\u0131\u015F\u0131 B\u0131rak","settings.deactivate_size_limit.desc":"Belirli model formatlar\u0131 i\xE7in boyut s\u0131n\u0131r\u0131n\u0131 devre d\u0131\u015F\u0131 b\u0131rak\u0131n. UYARI: Bu, ge\xE7ersiz modellere neden olabilir.","settings.brush_opacity_modifier":"F\u0131r\xE7a Opakl\u0131k De\u011Fi\u015Ftirici","settings.brush_opacity_modifier.desc":"Bir stylus kullan\u0131rken f\u0131r\xE7a opakl\u0131\u011F\u0131n\u0131 de\u011Fi\u015Ftirin","settings.brush_size_modifier":"F\u0131r\xE7a Boyutu De\u011Fi\u015Ftirici","settings.brush_size_modifier.desc":"Bir stylus kullan\u0131rken f\u0131r\xE7a boyutunu de\u011Fi\u015Ftirin","settings.brush_modifier.pressure":"Bas\u0131n\xE7","settings.brush_modifier.tilt":"E\u011Fim","category.color":"Renk","action.import_theme":"Tema \u0130\xE7e Aktar","action.export_theme":"Tema D\u0131\u015Fa Aktar","action.export_theme.desc":"Mevcut ayarlara g\xF6re bir tema dosyas\u0131 olu\u015Fturun","action.slider_color_h":"Ton","action.slider_color_s":"Doygunluk","action.slider_color_v":"De\u011Fer","action.add_to_palette":"Palete Ekle","action.add_to_palette.desc":"Se\xE7ili rengi renk paletine ekleyin","action.import_palette":"Palet \u0130\xE7e Aktar","action.import_palette.desc":"Bir palet dosyas\u0131n\u0131 i\xE7e aktar\u0131n","action.export_palette":"Palet D\u0131\u015Fa Aktar","action.export_palette.desc":"Paleti bir .GPL dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.generate_palette":"Palet Olu\u015Ftur...","action.generate_palette.desc":"Bir dokudan palet olu\u015Fturun","action.sort_palette":"Paleti S\u0131rala","action.sort_palette.desc":"Paletteki t\xFCm renkleri renge ve parlakl\u0131\u011Fa g\xF6re s\u0131ralay\u0131n","action.timelapse":"Zaman Atlamal\u0131 Kay\u0131t...","action.timelapse.desc":"Modelleme s\xFCrecinizin bir zaman atlamal\u0131 kayd\u0131n\u0131 yap\u0131n","action.add_keyframe":"Anahtar Kare Ekle","action.add_keyframe.desc":"Se\xE7ili animat\xF6re bir anahtar kare ekleyin","action.bring_up_all_animations.desc":"T\xFCm de\u011Fi\u015Ftirilmi\u015F animat\xF6rleri zaman \xE7izelgesine getirir","timeline.timeline":"Talimatlar","menu.palette.load.default":"Varsay\u0131lan","generic.import":"\u0130\xE7e Aktar","settings.brush_modifier.none":"Hi\xE7biri","action.export_entity":"Bedrock Varl\u0131\u011F\u0131n\u0131 D\u0131\u015Fa Aktar","action.export_entity.desc":"Modeli Minecraft Bedrock S\xFCr\xFCm\xFC i\xE7in bir varl\u0131k modeli olarak d\u0131\u015Fa aktar\u0131n","settings.highlight_cubes":"\xD6\u011Feleri Vurgula","settings.highlight_cubes.desc":"\xDCzerlerine geldi\u011Finizde veya se\xE7ti\u011Finizde \xF6\u011Feleri vurgulay\u0131n","action.add_marker":"\u0130\u015Faretleyici Ayarla","action.add_marker.desc":"Bir zaman \xE7izelgesi i\u015Faretleyicisi ayarlay\u0131n","timeline.pre_effect_script":"Betik","format.skin":"Minecraft Kaplamas\u0131","format.skin.desc":"Oyuncu ve varl\u0131k kaplamalar\u0131n\u0131 d\xFCzenle","message.sketchfab.setup_guide":"Sketchfab'de modelleri nas\u0131l kuraca\u011F\u0131n\u0131z\u0131 \xF6\u011Frenmek ister misiniz? %0'\u0131 okuyun","dialog.skin.title":"Minecraft Kaplamas\u0131 Olu\u015Ftur","dialog.skin.model":"Model","action.toggle_skin_layer":"Kaplama Katman\u0131n\u0131 A\xE7/Kapat","action.toggle_skin_layer.desc":"Kaplama modelinin \u015Fapka ve giysi katman\u0131n\u0131 a\xE7/kapat","action.gui_light":"Aray\xFCz I\u015F\u0131\u011F\u0131","action.gui_light.desc":"Envanterde \xF6\u011Fenin ayd\u0131nlat\u0131lma \u015Feklini se\xE7in","action.gui_light.side":"Yan I\u015F\u0131k","action.gui_light.front":"\xD6n I\u015F\u0131k","action.move_keyframe_back":"Anahtar Kareleri Geri Ta\u015F\u0131","action.move_keyframe_forth":"Anahtar Kareleri \u0130leri Ta\u015F\u0131","menu.help":"Yard\u0131m","menu.help.discord":"Discord Sunucusu","menu.help.report_issue":"Sorun Bildir","menu.help.plugin_documentation":"Eklenti API Belgeleri","menu.help.search_action":"Eylem Ara ve \xC7al\u0131\u015Ft\u0131r","menu.help.donate":"Ba\u011F\u0131\u015F Yap","menu.help.about":"Hakk\u0131nda...","menu.preview.background.clipboard":"Panodan Y\xFCkle","dialog.ignore":"Yoksay","generic.unset":"Ayarlanmam\u0131\u015F","message.invalid_builtin_parent.title":"Ge\xE7ersiz Dahili \xDCst \xD6\u011Fe","message.invalid_builtin_parent.message":"Ge\xE7erli bir modeli d\u0131\u015Fa aktarmak i\xE7in ge\xE7ersiz \xFCst model '%0' ba\u011Flant\u0131s\u0131 kald\u0131r\u0131ld\u0131.","dialog.resize_texture.fill":"\u0130le doldur","dialog.resize_texture.fill.transparent":"\u015Eeffaf","dialog.resize_texture.fill.color":"Renk","dialog.resize_texture.fill.repeat":"Tekrarla","dialog.scale.element_pivot":"\xD6\u011Fe Merkezi","dialog.scale.selection_center":"Se\xE7im Merkezi","dialog.create_gif.length_mode":"Uzunluk Modu","dialog.create_gif.length_mode.seconds":"Saniye","dialog.create_gif.length_mode.frames":"Kare","dialog.create_gif.length_mode.animation":"Animasyon Uzunlu\u011Fu","dialog.create_gif.length_mode.turntable":"D\xF6ner Tabla D\xF6n\xFC\u015F\xFC","dialog.save_angle.projection":"Projeksiyon","dialog.save_angle.projection.perspective":"Perspektif","dialog.save_angle.projection.orthographic":"Ortografik","dialog.sketchfab_uploader.animations":"Animasyonlar","dialog.settings.theme":"Tema","settings.category.interface":"Aray\xFCz","settings.preview_checkerboard":"\xD6nizleme Dama Tahtas\u0131","settings.preview_checkerboard.desc":"\xD6nizlemenin arkas\u0131ndaki dama tahtas\u0131 arka plan\u0131n\u0131 a\xE7/kapat","settings.uv_checkerboard":"UV D\xFCzenleyici Dama Tahtas\u0131","settings.uv_checkerboard.desc":"UV d\xFCzenleyicinin arkas\u0131ndaki dama tahtas\u0131 arka plan\u0131n\u0131 a\xE7/kapat","category.paint":"Boya","action.fill_mode.color_connected":"Ba\u011Fl\u0131 Renkler","action.draw_shape_type":"\u015Eekil Tipi","action.draw_shape_type.rectangle":"Dikd\xF6rtgen","action.draw_shape_type.rectangle_h":"Dikd\xF6rtgen (\u0130\xE7i Bo\u015F)","action.draw_shape_type.ellipse":"Elips","action.draw_shape_type.ellipse_h":"Elips (\u0130\xE7i Bo\u015F)","action.draw_shape_type.line":"\xC7izgi","action.mirror_painting":"Ayna Boyama","action.mirror_painting.description":"Boya darbelerinizi modelin di\u011Fer taraf\u0131na yans\u0131t\u0131n","action.lock_alpha":"Alfa Kanal\u0131n\u0131 Kilitle","action.lock_alpha.description":"T\xFCm piksellerin \u015Feffafl\u0131\u011F\u0131n\u0131 kilitle","action.draw_shape_tool":"\u015Eekil \xC7iz","action.draw_shape_tool.desc":"Dokular \xFCzerinde basit \u015Fekiller \xE7izme arac\u0131","action.export_gltf":"glTF Modelini D\u0131\u015Fa Aktar","action.export_gltf.desc":"Payla\u015F\u0131m ve renderleme i\xE7in modeli ve animasyonlar\u0131 glTF dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.transform_space":"D\xF6n\xFC\u015F\xFCm Alan\u0131","action.transform_space.desc":"\xD6\u011Feler ve kemikler i\xE7in varsay\u0131lan d\xF6n\xFC\u015F\xFCm alan\u0131","action.transform_space.global":"Global","action.transform_space.local":"Yerel","action.toggle_camera_projection":"Kamera Projeksiyonunu A\xE7/Kapat","action.toggle_camera_projection.desc":"Kamera projeksiyonunu perspektif ve ortografik aras\u0131nda de\u011Fi\u015Ftirin","action.load_camera_angle":"Kamera A\xE7\u0131s\u0131: %0","action.load_camera_angle.desc":"'%0' kamera a\xE7\u0131s\u0131n\u0131 y\xFCkleyin","action.slider_face_tint":"Tonlama \u0130ndeksi","action.slider_face_tint.desc":"Mevcut y\xFCz\xFCn tonlama indeksini ayarlay\u0131n. -1 ayarlanmam\u0131\u015F demektir.","menu.help.quickstart":"H\u0131zl\u0131 Ba\u015Flang\u0131\xE7 Sihirbaz\u0131","menu.help.developer":"Geli\u015Ftirici","menu.help.developer.dev_tools":"Geli\u015Ftirici Ara\xE7lar\u0131n\u0131 A\xE7","menu.help.developer.reset_storage":"Fabrika Ayarlar\u0131na S\u0131f\u0131rla","menu.help.developer.reset_storage.confirm":"Blockbench'i fabrika ayarlar\u0131na s\u0131f\u0131rlamak istedi\u011Finizden emin misiniz? Bu, t\xFCm \xF6zel ayarlar\u0131, tu\u015F atamalar\u0131n\u0131 ve y\xFCkl\xFC eklentileri silecektir.","menu.help.developer.cache_reload":"\xD6nbelle\u011Fi Yeniden Y\xFCkle","menu.preview.orthographic":"Ortografik","menu.preview.save_angle":"A\xE7\u0131y\u0131 Kaydet...","menu.preview.angle":"A\xE7\u0131lar","menu.preview.angle.initial":"Ba\u015Flang\u0131\xE7 A\xE7\u0131s\u0131","menu.preview.maximize":"Maksimize Et","uv_editor.copy_selection":"Se\xE7imi Kopyala","uv_editor.paste_selection":"Se\xE7imi Yap\u0131\u015Ft\u0131r","uv_editor.copy_paste_tool.place":"Yerle\u015Ftir","uv_editor.copy_paste_tool.mirror_x":"X'i Aynala","uv_editor.copy_paste_tool.mirror_y":"Y'yi Aynala","uv_editor.copy_paste_tool.rotate":"90 Derece D\xF6nd\xFCr","dialog.project.modded_entity_version":"D\u0131\u015Fa Aktarma S\xFCr\xFCm\xFC","dialog.save_angle.position":"Kamera Pozisyonu","dialog.save_angle.target":"Odak Noktas\u0131","dialog.skin.pose":"Poz","layout.color.frame":"Pencere \xC7er\xE7evesi","layout.color.frame.desc":"Pencerenin kenarl\u0131\u011F\u0131 ve ba\u015Fl\u0131k \xE7ubu\u011Fu","settings.large_grid_size":"Blok Izgara Boyutu","settings.large_grid_size.desc":"Blok \u0131zgaras\u0131n\u0131n boyutu","action.load_plugin_from_url":"URL'den Eklenti Y\xFCkle","action.load_plugin_from_url.desc":"URL'yi belirterek bir sunucudan eklenti y\xFCkleyin","action.cube_counter.desc":"Mevcut \xF6\u011Fe say\u0131s\u0131n\u0131 ve di\u011Fer istatistikleri g\xF6r\xFCnt\xFCler","action.unlock_everything":"T\xFCm Kilitleri A\xE7","action.unlock_everything.desc":"Anahattaki t\xFCm gruplar\u0131n ve \xF6\u011Felerin kilidini a\xE7\u0131n.","action.load_palette":"Palet Y\xFCkle","action.load_palette.desc":"Dahili veya kaydedilmi\u015F palet \xF6n ayarlar\u0131ndan birini y\xFCkleyin","action.toggle_locked":"Kilidi A\xE7/Kapat","action.toggle_locked.desc":"Se\xE7ili \xF6\u011Felerin kilitli olup olmad\u0131\u011F\u0131n\u0131 a\xE7/kapat","action.apply_display_preset":"\xD6n Ayar\u0131 Uygula","action.apply_display_preset.desc":"Varsay\u0131lan veya \xF6zel bir g\xF6r\xFCnt\xFCleme ayar\u0131 \xF6n ayar\u0131 uygulay\u0131n","action.apply_display_preset.here":"Bu Yuvaya Uygula","action.apply_display_preset.everywhere":"T\xFCm Yuvalara Uygula","action.resolve_keyframe_expressions":"Anahtar Kareyi \xC7\xF6z","action.resolve_keyframe_expressions.desc":"Se\xE7ili anahtar karelerin matematiksel ifadelerini \xE7\xF6zer","action.fold_all_animations":"T\xFCm Animat\xF6rleri Katla","menu.palette.load.empty":"Bo\u015F","switches.lock":"Kilit","settings.render_sides":"Y\xFCzeyleri \u0130\u015Fle","settings.render_sides.desc":"Bir y\xFCz\xFCn hangi taraf\u0131n\u0131n i\u015Flenece\u011Fini se\xE7in","settings.render_sides.auto":"Otomatik","settings.render_sides.front":"D\u0131\u015F","settings.render_sides.double":"\u0130\xE7 ve D\u0131\u015F","generic.enable":"Etkinle\u015Ftir","generic.disable":"Devre D\u0131\u015F\u0131 B\u0131rak","generic.redacted":"Sans\xFCrlendi","dialog.select_texture.import_all":"T\xFCm\xFCn\xFC \u0130\xE7e Aktar","dialog.skin.layer_template":"Katman Dokusu","about.version.up_to_date":"G\xFCncel","about.version.update_available":"S\xFCr\xFCm %0 mevcut","settings.category.application":"Uygulama","settings.streamer_mode":"Yay\u0131nc\u0131 Modu","settings.streamer_mode.desc":"Son modeller gibi hassas bilgileri gizler","settings.automatic_updates":"Otomatik G\xFCncellemeler","settings.automatic_updates.desc":"Yeni s\xFCr\xFCmleri otomatik olarak indirin ve Blockbench'i g\xFCncel tutun","action.rotation_space":"D\xF6nd\xFCrme Alan\u0131","action.focus_on_selection":"G\xF6r\xFCn\xFCm\xFC Se\xE7ime Odakla","action.focus_on_selection.desc":"Kameray\u0131 mevcut se\xE7imin merkezine bakacak \u015Fekilde hizalay\u0131n","action.jump_to_timeline_start":"Animasyon Ba\u015Flang\u0131c\u0131na Git","action.jump_to_timeline_end":"Animasyon Sonuna Git","menu.help.updating":"G\xFCncelleniyor (%0%)","menu.help.update_failed":"G\xFCncelleme Ba\u015Far\u0131s\u0131z","menu.animation.loop.once":"Bir Kez Oynat","menu.animation.loop.hold":"Son Karede Tut","menu.animation.loop.loop":"D\xF6ng\xFC","interface.streamer_mode_on":"Yay\u0131nc\u0131 Modu Etkin","generic.reset":"S\u0131f\u0131rla","generic.restore":"Geri Y\xFCkle","keys.mousewheel":"Fare Tekerle\u011Fi","message.delete_animation.title":"Animasyonu Sil","message.delete_animation.message":"Animasyon Blockbench'ten kald\u0131r\u0131ld\u0131. Animasyonu kaydedildi\u011Fi dosyadan da silmek istiyor musunuz?","message.no_animation_to_import":"\u0130\xE7e aktar\u0131lacak animasyon yok","dialog.material_instances.title":"Malzeme \xD6rnekleri","dialog.animation_import.title":"\u0130\xE7e Aktar\u0131lacak Animasyonlar\u0131 Se\xE7","dialog.create_texture.padding":"Doldurma","settings.fov":"G\xF6r\xFC\u015F Alan\u0131 (FOV)","settings.fov.desc":"Kamera G\xF6r\xFC\u015F Alan\u0131. Varsay\u0131lan 45'tir","settings.minify_bbmodel":"K\xFC\xE7\xFClt\xFClm\xFC\u015F Proje Dosyalar\u0131","settings.minify_bbmodel.desc":".bbmodel dosyalar\u0131n\u0131 tek sat\u0131rda k\xFC\xE7\xFClt\xFClm\xFC\u015F olarak yaz","action.edit_material_instances":"Malzeme \xD6rneklerini D\xFCzenle","action.edit_material_instances.desc":"Bedrock blok geometrileri i\xE7in malzeme \xF6rne\u011Fi adlar\u0131n\u0131 d\xFCzenleyin","action.save_all_animations":"T\xFCm Animasyonlar\u0131 Kaydet","action.save_all_animations.desc":"\u015Eu anda y\xFCkl\xFC olan t\xFCm animasyonlar\u0131 kaydedin","action.keyframe_interpolation":"\u0130nterpolasyon","action.keyframe_interpolation.desc":"Anahtar kare interpolasyon modunu se\xE7in","action.keyframe_interpolation.linear":"Do\u011Frusal","action.keyframe_interpolation.catmullrom":"Yumu\u015Fak","action.timeline_focus.hide_empty":"Bo\u015F kanallar\u0131 gizle","menu.file.preferences":"Tercihler","menu.animation.blend_weight":"Kar\u0131\u015F\u0131m A\u011F\u0131rl\u0131\u011F\u0131","menu.animation.save":"Kaydet","menu.animation.properties":"\xD6zellikler...","menu.animation.file":"Dosya","menu.animation.snapping":"Yaslama","menu.animation.open_location":"Dosya Gezgini'nde G\xF6ster","panel.keyframe.add_data_point":"Anahtar Kare Veri Noktas\u0131 Ekle","panel.keyframe.remove_data_point":"Veri Noktas\u0131n\u0131 Kald\u0131r","panel.keyframe.pre":"\xD6nce","panel.keyframe.post":"Sonra","generic.all":"T\xFCm\xFC","message.small_face_dimensions.title":"Uyumsuz Y\xFCz Boyutlar\u0131","message.small_face_dimensions.message":"Se\xE7im, bir y\xF6nde 1 birimden daha k\xFC\xE7\xFCk y\xFCzler i\xE7eriyor. Kutu UV haritalama sistemi, bu e\u015Fi\u011Fin alt\u0131ndaki t\xFCm y\xFCzleri 0 piksel geni\u015Fli\u011Finde kabul eder. Bu nedenle bu y\xFCzlerdeki doku d\xFCzg\xFCn \xE7al\u0131\u015Fmayabilir.","message.small_face_dimensions.face_uv":'Mevcut format, k\xFC\xE7\xFCk y\xFCz boyutlar\u0131n\u0131 i\u015Fleyebilen y\xFCz ba\u015F\u0131na UV haritalar\u0131n\u0131 destekler. Etkilenen k\xFCplere sa\u011F t\u0131klay\u0131n ve "UV Modu"nu "Y\xFCz Ba\u015F\u0131na UV" olarak de\u011Fi\u015Ftirin.',"dialog.plugins.outdated_client":"Blockbench'in daha yeni bir s\xFCr\xFCm\xFCn\xFC gerektirir","dialog.plugins.outdated_plugin":"Eklenti g\xFCncel de\u011Fil ve bu Blockbench s\xFCr\xFCm\xFCyle \xE7al\u0131\u015Fm\u0131yor","settings.motion_trails":"Hareket \u0130zleri","settings.motion_trails.desc":"Animasyon d\xFCzenleyicide hareket izlerini g\xF6ster","settings.antialiasing":"Kenar Yumu\u015Fatma","settings.antialiasing.desc":"\xD6nizlemede kenar yumu\u015Fatmay\u0131 a\xE7/kapat","action.timeline_frame_back":"1 Kare Geri Git","action.timeline_frame_forth":"1 Kare \u0130leri Git","panel.bone.ik":"Ters Kinematik (Deneysel)","settings.particle_tick_rate":"Par\xE7ac\u0131k Tik H\u0131z\u0131","settings.particle_tick_rate.desc":"Par\xE7ac\u0131k efektleri i\xE7in saniyedeki tik cinsinden tik h\u0131z\u0131. Varsay\u0131lan 30'dur","action.lock_motion_trail":"Hareket \u0130zini Kilitle","action.lock_motion_trail.desc":"Hareket izini \u015Fu anda se\xE7ili olan gruba kilitleyin","menu.animation_file.unload":"Dosyay\u0131 Bo\u015Falt","data.null_object":"Bo\u015F Nesne","status_bar.toggle_sidebar":"Kenar \xC7ubu\u011Funu A\xE7/Kapat","message.load_plugin_failed.title":"Eklenti y\xFCklenemedi","message.load_plugin_failed.message":"Plugin.register() i\xE7inde belirtildi\u011Fi gibi, eklentinin temel dosya ad\u0131n\u0131n eklenti kimli\u011Fi `%0` ile e\u015Fle\u015Fti\u011Finden emin olun.","dialog.project.uv_mode":"UV Modu","dialog.project.uv_mode.box_uv":"Kutu UV","dialog.project.uv_mode.face_uv":"Y\xFCz Ba\u015F\u0131na UV","dialog.project.texture_size":"Doku Boyutu","dialog.animation_export.title":"D\u0131\u015Fa Aktar\u0131lacak Animasyonlar\u0131 Se\xE7","dialog.create_texture.rearrange_uv":"UV'yi Yeniden D\xFCzenle","layout.color.subtle_text":"Hafif Metin","layout.color.subtle_text.desc":"Daha az kontrasta sahip ikincil metin rengi","settings.interface_scale":"Aray\xFCz \xD6l\xE7e\u011Fi","settings.interface_scale.desc":"T\xFCm Blockbench aray\xFCz\xFCn\xFCn \xF6l\xE7e\u011Fi","settings.background_rendering":"Arka Plan \u0130\u015Fleme","settings.background_rendering.desc":"Pencere odaklanmam\u0131\u015Fken \xF6nizlemeyi g\xFCncelle","settings.ctrl_shift_size":"Control + Shift \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.ctrl_shift_size.desc":"Control ve shift tu\u015Flar\u0131n\u0131 bas\u0131l\u0131 tutarken \u0131zgaran\u0131n \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFC","settings.hardware_acceleration":"Donan\u0131m H\u0131zland\u0131rma","settings.hardware_acceleration.desc":"Renderleme g\xF6revlerini grafik kart\u0131na d\u0131\u015F kaynak olarak verin","action.explode_skin_model":"Kaplama Modelini Patlat","action.explode_skin_model.desc":"Kapal\u0131 y\xFCzleri d\xFCzenlemenizi sa\u011Flayan bir patlama g\xF6r\xFCn\xFCm\xFCn\xFC a\xE7ar/kapat\u0131r","action.export_minecraft_skin":"Minecraft Kaplamas\u0131n\u0131 D\u0131\u015Fa Aktar","action.export_minecraft_skin.desc":"Minecraft kaplamas\u0131n\u0131 bir PNG dokusu olarak d\u0131\u015Fa aktar\u0131n","action.add_null_object":"Bo\u015F Nesne Ekle","action.add_null_object.desc":"Yeni bir bo\u015F nesne ekler","action.animated_texture_frame":"Animasyonlu Doku Karesi","action.animated_texture_frame.desc":"Animasyonlu dokunun mevcut karesini ayarlay\u0131n","action.export_animation_file":"Animasyonlar\u0131 D\u0131\u015Fa Aktar...","action.export_animation_file.desc":"Bir animasyon se\xE7imini yeni bir dosyaya aktar\u0131n","action.timeline_graph_editor":"Grafik D\xFCzenleyiciyi A\xE7/Kapat","action.timeline_graph_editor.desc":"Zaman \xE7izelgesini grafik d\xFCzenleyici g\xF6r\xFCn\xFCm\xFC ve anahtar kare g\xF6r\xFCn\xFCm\xFC aras\u0131nda de\u011Fi\u015Ftirin","menu.file.recent.clear":"Son Dosyalar\u0131 Temizle","switches.shade":"G\xF6lge","generic.share":"Payla\u015F","dates.minute":"%0 Dakika","dates.minutes":"%0 Dakika","dates.hour":"%0 Saat","dates.hours":"%0 Saat","dates.day":"%0 G\xFCn","dates.days":"%0 G\xFCn","dates.week":"%0 Hafta","dates.weeks":"%0 Hafta","dates.year":"%0 Y\u0131l","dates.years":"%0 Y\u0131l","message.installed_plugin":"%0 eklentisi ba\u015Far\u0131yla y\xFCklendi","message.installed_plugin_fail":"%0 eklentisi y\xFCklenemedi","dialog.share_model.title":"Modeli Payla\u015F","dialog.share_model.expire_time":"Son Kullanma S\xFCresi","dialog.share_model.failed":"Model y\xFCklenemedi","action.import_java_block_model":"Java Blok/\xD6\u011Fe Modeli Ekle","action.import_java_block_model.desc":"Mevcut modele bir json dosyas\u0131ndan bir Minecraft Java blok/\xF6\u011Fe modeli ekleyin","action.share_model":"Payla\u015F...","action.share_model.desc":"Modelinizi payla\u015Fmak i\xE7in k\u0131sa bir ba\u011Flant\u0131 olu\u015Fturun","action.import_project":"Projeyi \u0130\xE7e Aktar","action.import_project.desc":"Ba\u015Fka bir projeyi bir .bbmodel dosyas\u0131ndan mevcut projeye aktar\u0131n","dialog.toolbar_edit.hidden_tools":"Baz\u0131 ara\xE7lar mevcut modda, formatta veya durumda mevcut olmad\u0131klar\u0131 i\xE7in gizlenmi\u015F olabilir.","settings.camera_near_plane":"Kamera Yak\u0131n D\xFCzlemi","settings.camera_near_plane.desc":"Nesnelerin i\u015Flendi\u011Fi kameradan minimum mesafe. Daha y\xFCksek de\u011Ferler Z-\xE7at\u0131\u015Fmas\u0131n\u0131 azalt\u0131r. Varsay\u0131lan 1'dir.","mode.start.keymap_preference.desc":"Blockbench'e yeniyseniz ve ba\u015Fka bir 3D programdan geliyorsan\u0131z, ge\xE7i\u015Fi kolayla\u015Ft\u0131rmak i\xE7in bir tu\u015F haritas\u0131 se\xE7ebilirsiniz. Daha sonra ayarlardan tu\u015F haritas\u0131n\u0131 veya bireysel tu\u015F atamalar\u0131n\u0131 de\u011Fi\u015Ftirebilirsiniz.","message.load_keymap":"Bu tu\u015F haritas\u0131n\u0131 y\xFCklemek istedi\u011Finizden emin misiniz? Bu, mevcut tu\u015F atamalar\u0131n\u0131z\u0131n \xFCzerine yazacakt\u0131r.","message.keymap_loaded":"Tu\u015F haritas\u0131 y\xFCklendi","dialog.convert_project.current_format":"Mevcut Format","dialog.create_texture.rearrange_uv.desc":"Her y\xFCze dokuda kendi yerini vermek i\xE7in yeni bir UV d\xFCzenlemesi olu\u015Fturun","dialog.create_texture.power.desc":"Otomatik doku boyutunu 64 veya 128 gibi 2'nin kat\u0131 bir de\u011Fere kilitleyin. Bu, baz\u0131 render motorlar\u0131 taraf\u0131ndan gereklidir","dialog.create_texture.double_use.desc":"\u0130ki \xF6\u011Feye zaten ayn\u0131 UV alan\u0131 atanm\u0131\u015Fsa, yeni haritada da bu \u015Fekilde kals\u0131n","dialog.create_texture.padding.desc":"\u015Eablonun ayr\u0131 par\xE7alar\u0131 aras\u0131na k\xFC\xE7\xFCk bir doldurma ekleyin","dialog.create_texture.resolution.desc":"Dokunun y\xFCksekli\u011Fi ve geni\u015Fli\u011Fi","dialog.create_gif.color":"Arka Plan Rengi","dialog.save_angle.zoom":"Yak\u0131nla\u015Ft\u0131rma","dialog.skin.variant":"Varyant","dialog.flip_animation.info":"Kar\u015F\u0131t kemikler, adlar\u0131ndaki 'sol' ve 'sa\u011F' anahtar kelimeleriyle tan\u0131mlan\u0131r.","dialog.export_private_settings.title":"\xD6zel Ayarlar","dialog.export_private_settings.message":"Dosyan\u0131z a\u015Fa\u011F\u0131daki \xF6zel bilgileri i\xE7eriyor: **%0**. Dosyay\u0131 ba\u015Fka biriyle payla\u015Fmay\u0131 planl\u0131yorsan\u0131z bu de\u011Ferleri d\u0131\u015Far\u0131da b\u0131rak\u0131n.","dialog.export_private_settings.keep":"Koru","settings.timecode_frame_number":"Zaman Kodlar\u0131n\u0131 Kare Numaras\u0131 Olarak G\xF6r\xFCnt\xFCle","settings.timecode_frame_number.desc":"Zaman \xE7izelgesindeki kesirli zaman kodlar\u0131n\u0131 sentisaniye yerine kare numaras\u0131 olarak g\xF6r\xFCnt\xFCle","settings.animation_sample_rate":"Animasyon \xD6rnekleme H\u0131z\u0131","settings.animation_sample_rate.desc":"\u0130lgili format\u0131n yerel olarak desteklemedi\u011Fi e\u011Friler i\xE7in saniyedeki \xF6rnek cinsinden \xF6rnekleme h\u0131z\u0131","keybind.preview_zoom":"G\xF6r\xFCn\xFCm\xFC Yak\u0131nla\u015Ft\u0131r","action.gradient_tool":"Gradyan Arac\u0131","action.gradient_tool.desc":"Dokunuzda bir renk gradyan\u0131 olu\u015Fturun","action.import_settings":"Ayarlar\u0131 \u0130\xE7e Aktar","action.import_settings.desc":"Bir .bbsettings dosyas\u0131n\u0131 i\xE7e aktar\u0131n","action.export_settings":"Ayarlar\u0131 D\u0131\u015Fa Aktar","action.export_settings.desc":"Blockbench ayarlar\u0131n\u0131 bir .bbsettings dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.load_keymap":"Tu\u015F Haritas\u0131 Y\xFCkle","action.load_keymap.default":"Varsay\u0131lan (Trackpad/Fare)","action.load_keymap.mouse":"Varsay\u0131lan (Fare)","action.load_keymap.default.desc":"Diz\xFCst\xFC bilgisayar trackpadlerinde kullan\u0131ma optimize edilmi\u015F g\xF6r\xFCn\xFCm alan\u0131 gezinme kontrolleri ile varsay\u0131lan Blockbench tu\u015F atamalar\u0131","action.load_keymap.mouse.desc":"G\xF6r\xFCn\xFCm alan\u0131 gezinmesi orta fare d\xFC\u011Fmesine ba\u011Fl\u0131 olan varsay\u0131lan Blockbench tu\u015F atamalar\u0131","action.load_keymap.blender.desc":"Blender kontrollerine a\u015Fina olan kullan\u0131c\u0131lar i\xE7in tu\u015F haritas\u0131","action.load_keymap.cinema4d.desc":"Cinema 4D kontrollerine a\u015Fina olan kullan\u0131c\u0131lar i\xE7in tu\u015F haritas\u0131","action.load_keymap.maya.desc":"Autodesk Maya kontrollerine a\u015Fina olan kullan\u0131c\u0131lar i\xE7in tu\u015F haritas\u0131","action.import_keymap":"Tu\u015F Haritas\u0131 \u0130\xE7e Aktar","action.import_keymap.desc":"Bir .bbkeymap dosyas\u0131ndan tu\u015F atamalar\u0131n\u0131 i\xE7e aktar\u0131n","action.export_keymap":"Tu\u015F Haritas\u0131 D\u0131\u015Fa Aktar","action.export_keymap.desc":"Mevcut tu\u015F atamalar\u0131n\u0131 bir .bbkeymap dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.edit_history":"D\xFCzenleme Ge\xE7mi\u015Fi...","action.edit_history.desc":"D\xFCzenleme ge\xE7mi\u015Fini g\xF6r\xFCnt\xFCleyin ve ad\u0131mlar\u0131 geri al\u0131n veya yineleyin","action.group_elements":"\xD6\u011Feleri Grupland\u0131r","action.group_elements.desc":"Se\xE7ili \xF6\u011Feleri yeni bir gruba sar\u0131n","action.unfold_groups":"Gruplar\u0131 A\xE7","action.unfold_groups.desc":"Anahattaki t\xFCm gruplar\u0131 a\xE7\u0131n","action.edit_bedrock_binding":"Ba\u011Flant\u0131y\u0131 D\xFCzenle...","action.edit_bedrock_binding.desc":"Geometrinin hangi kemi\u011Fe ba\u011Fl\u0131 oldu\u011Funu de\u011Fi\u015Ftirin","action.pick_screen_color":"Ekran Rengi Se\xE7","action.pick_screen_color.desc":"Ekran\u0131n\u0131z\u0131n herhangi bir yerinden bir renk se\xE7in","action.view_mode":"G\xF6r\xFCn\xFCm Modu","action.view_mode.desc":"Model g\xF6r\xFCn\xFCm modunu de\u011Fi\u015Ftirin","action.view_mode.textured":"Dokulu","action.view_mode.solid":"Kat\u0131","action.view_mode.wireframe":"Tel Kafes","action.toggle_sidebars":"Kenar \xC7ubuklar\u0131n\u0131 A\xE7/Kapat","action.toggle_sidebars.desc":"Kenar \xE7ubuklar\u0131n\u0131 etkinle\u015Ftirin veya devre d\u0131\u015F\u0131 b\u0131rak\u0131n","action.set_animation_end":"Animasyon Sonunu Ayarla","action.set_animation_end.desc":"Se\xE7ili animasyonun sonunu mevcut zaman \xE7izelgesi zaman\u0131na ayarlay\u0131n","action.flip_animation":"Animasyonu \xC7evir","action.flip_animation.desc":"Se\xE7ili anahtar kareleri modelin di\u011Fer taraf\u0131na kopyalayarak bir animasyonun par\xE7as\u0131n\u0131 \xE7evirir","action.graph_editor_zero_line":"S\u0131f\u0131r \xC7izgisini Dahil Et","action.graph_editor_zero_line.desc":"Grafik d\xFCzenleyicinin g\xF6r\xFCn\xFCmde her zaman s\u0131f\u0131r \xE7izgisini i\xE7erip i\xE7ermedi\u011Fi","menu.texture.render_mode":"Render Modu","menu.texture.render_mode.emissive":"Yay\u0131c\u0131","menu.texture.render_mode.layered":"Katmanl\u0131","menu.preview.angle.edit":"A\xE7\u0131y\u0131 D\xFCzenle...","menu.animation.start_delay":"Ba\u015Flang\u0131\xE7 Gecikmesi","menu.animation.loop_delay":"D\xF6ng\xFC Gecikmesi","menu.animation.flip_keyframes":"Anahtar Kareleri \xC7evir","menu.mobile_keyboard.disable_all":"T\xFCm\xFCn\xFC Devre D\u0131\u015F\u0131 B\u0131rak","panel.keyframe.toggle_uniform_scale":"Orant\u0131l\u0131 \xD6l\xE7e\u011Fi A\xE7/Kapat","camera_angle.common_isometric_right":"\u0130zometrik Sa\u011F (2:1)","camera_angle.common_isometric_left":"\u0130zometrik Sol (2:1)","camera_angle.true_isometric_right":"Ger\xE7ek \u0130zometrik Sa\u011F (30\xB0)","camera_angle.true_isometric_left":"Ger\xE7ek \u0130zometrik Sol (30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"\xD6n S\xFCr\xFCmlere G\xFCncelle","settings.update_to_prereleases.desc":"Yeni \xF6zellikleri test etmek i\xE7in Blockbench beta s\xFCr\xFCmlerine otomatik olarak g\xFCncelleyin. \xD6n s\xFCr\xFCm versiyonlar\u0131 karars\u0131z olabilir, i\u015F veya di\u011Fer \xF6nemli projeler i\xE7in Blockbench'e g\xFCveniyorsan\u0131z bu se\xE7ene\u011Fi etkinle\u015Ftirmeyin.","data.separator.spacer":"Bo\u015Fluk","data.separator.linebreak":"Sat\u0131r Sonu","data.setting":"Ayar","generic.select_all":"T\xFCm\xFCn\xFC Se\xE7","generic.select_none":"Se\xE7imi Kald\u0131r","projects.new_tab":"Yeni Sekme","projects.close_tab":"Sekmeyi Kapat","message.invalid_format.title":"Ge\xE7ersiz Bi\xE7im","message.invalid_format.message":"Bu model, Blockbench kurulumunuzda bulunmayan '%0' bi\xE7iminde yap\u0131lm\u0131\u015Ft\u0131r. Do\u011Fru \u015Fekilde a\xE7mak i\xE7in b\xFCy\xFCk olas\u0131l\u0131kla belirli bir eklentiye ihtiyac\u0131n\u0131z var.","message.invalid_link":"Ge\xE7ersiz veya S\xFCresi Dolmu\u015F Model Ba\u011Flant\u0131s\u0131","message.default_textures.current":"Mevcut yol","message.update_after_restart":"G\xFCncelleme bir sonraki yeniden ba\u015Flatmadan sonra y\xFCklenecektir","message.copy_paste_tool_viewport":"Bu ara\xE7 yaln\u0131zca 2B d\xFCzenleyicide kullan\u0131labilir","dialog.project.shadow_size":"G\xF6lge Boyutu","dialog.find_replace.target":"Hedef","dialog.find_replace.target.element_names":"\xD6\u011Fe Adlar\u0131","dialog.find_replace.target.group_names":"Grup Adlar\u0131","dialog.find_replace.target.animation_names":"Animasyon Adlar\u0131","dialog.find_replace.target.keyframe_values":"Anahtar Kare De\u011Ferleri","dialog.find_replace.find":"Bul","dialog.find_replace.replace":"De\u011Fi\u015Ftir","dialog.find_replace.regex":"Normal \u0130fade","dialog.add_primitive.shape":"\u015Eekil","dialog.add_primitive.shape.circle":"Daire","dialog.add_primitive.shape.tube":"T\xFCp","dialog.add_primitive.shape.cone":"Koni","dialog.add_primitive.shape.cylinder":"Silindir","dialog.add_primitive.shape.sphere":"K\xFCre","dialog.add_primitive.shape.torus":"Simit","dialog.add_primitive.shape.cube":"K\xFCboid","dialog.add_primitive.shape.pyramid":"Piramit","dialog.add_primitive.diameter":"\xC7ap","dialog.add_primitive.height":"Y\xFCkseklik","dialog.add_primitive.sides":"Yanlar","dialog.add_primitive.minor_diameter":"Kal\u0131nl\u0131k","dialog.add_primitive.minor_sides":"K\xFC\xE7\xFCk Yanlar","dialog.create_texture.combine_polys":"Adalar\u0131 Birle\u015Ftir","dialog.create_texture.combine_polys.desc":"Y\xFCzleri ba\u011Fl\u0131 UV adalar\u0131na birle\u015Ftirin","dialog.model_stats.meshes":"A\u011Flar","dialog.export_private_settings.omit":"D\u0131\u015Far\u0131da B\u0131rak","layout.select":"Se\xE7","layout.options":"Se\xE7enekler","layout.color":"Renk \u015Eemas\u0131","layout.documentation":"Belgeler","layout.color.bright_ui_text":"Parlak Aray\xFCz Metni","layout.color.bright_ui_text.desc":"Parlak arka planlardaki metin","layout.name":"\u0130sim","layout.author":"Yazar","settings.dialog.desc":'"%0" diyalo\u011Funu g\xF6ster',"settings.export_empty_groups":"Bo\u015F Gruplar\u0131 D\u0131\u015Fa Aktar","settings.export_empty_groups.desc":"\u0130\xE7eri\u011Fi olmayan gruplar\u0131 d\u0131\u015Fa aktar\u0131lan dosyalara dahil et","category.separators":"Ay\u0131r\u0131c\u0131lar","keybind.preview_area_select":"Alan Se\xE7","action.color_erase_mode":"Silme Modu","action.color_erase_mode.desc":"Silme modu etkinken, Doldur ve Dikd\xF6rtgen gibi ara\xE7lar renk eklemek yerine renk \xE7\u0131kar\u0131r","action.open_from_link":"Ba\u011Flant\u0131dan Model A\xE7...","action.open_from_link.desc":"Bir blckbn.ch URL'sinden bir model a\xE7\u0131n","action.import_obj":"OBJ Modeli \u0130\xE7e Aktar","action.import_obj.desc":"Bir OBJ modelinden nesneleri a\u011F olarak i\xE7e aktar\u0131r","action.add_plugin":"Eklenti Y\xFCkle","action.add_plugin.desc":"Eylem Kontrol\xFC arac\u0131l\u0131\u011F\u0131yla bir eklenti y\xFCkleyin","action.remove_plugin":"Eklentiyi Kald\u0131r","action.remove_plugin.desc":"Eylem Kontrol\xFC arac\u0131l\u0131\u011F\u0131yla bir eklentiyi kald\u0131r\u0131n","action.add_mesh":"A\u011F Ekle","action.add_mesh.desc":"Yeni bir a\u011F ekler","action.add_texture_mesh":"Dokulu A\u011F Ekle","action.add_texture_mesh.desc":"Yeni bir Dokulu A\u011F ekler","action.find_replace":"Bul/De\u011Fi\u015Ftir...","action.find_replace.desc":"\u0130simlerin par\xE7alar\u0131n\u0131 bulun ve de\u011Fi\u015Ftirin","action.hide_everything_except_selection":"Se\xE7im D\u0131\u015F\u0131ndaki Her \u015Eeyi Gizle","action.hide_everything_except_selection.desc":"Se\xE7ili olanlar d\u0131\u015F\u0131ndaki t\xFCm \xF6\u011Felerde g\xF6r\xFCn\xFCrl\xFC\u011F\xFC a\xE7/kapat","action.transform_space.normal":"Normal","action.selection_mode":"Se\xE7im Modu","action.selection_mode.desc":"G\xF6r\xFCn\xFCm alan\u0131nda \xF6\u011Felerin nas\u0131l se\xE7ilebilece\u011Fini de\u011Fi\u015Ftirin","action.selection_mode.object":"Nesne","action.selection_mode.face":"Y\xFCz","action.selection_mode.vertex":"Tepe Noktas\u0131","action.create_face":"Y\xFCz veya Kenar Olu\u015Ftur","action.create_face.desc":"Se\xE7ili tepe noktalar\u0131 aras\u0131nda yeni bir y\xFCz veya kenar olu\u015Fturur","action.convert_to_mesh":"A\u011Fa D\xF6n\xFC\u015Ft\xFCr","action.convert_to_mesh.desc":"Se\xE7ili \xF6\u011Feleri a\u011Flara d\xF6n\xFC\u015Ft\xFCr\xFCn","action.invert_face":"Y\xFCz\xFC Ters \xC7evir","action.invert_face.desc":"Se\xE7ili y\xFCzleri ters y\xF6ne bakacak \u015Fekilde ters \xE7evirin","action.extrude_mesh_selection":"Se\xE7imi D\u0131\u015Fa \xC7\u0131kar","action.extrude_mesh_selection.desc":"A\u011F\u0131n se\xE7ili k\u0131s\u0131mlar\u0131n\u0131 d\u0131\u015Fa \xE7\u0131kar\u0131n","action.loop_cut":"D\xF6ng\xFC Kesimi","action.loop_cut.desc":"A\u011F\u0131 se\xE7ili kenar boyunca bir d\xF6ng\xFCde b\xF6l\xFCn","action.merge_meshes":"A\u011Flar\u0131 Birle\u015Ftir","action.merge_meshes.desc":"Birden fazla a\u011F\u0131 birine birle\u015Ftirin","action.keyframe_uniform":"Orant\u0131l\u0131 \xD6l\xE7eklendirme","action.keyframe_uniform.desc":"Se\xE7ili anahtar karelerde orant\u0131l\u0131 \xF6l\xE7eklendirmeyi etkinle\u015Ftirin","menu.locator.ignore_inherited_scale":"Devral\u0131nan \xD6l\xE7e\u011Fi Yoksay","menu.texture.elements":"\xD6\u011Felere Uygula","uv_editor.transparent_face":"\u015Eeffaf Y\xFCz","display.pose_angle":"Poz A\xE7\u0131s\u0131 (Sadece \xD6nizleme \u0130\xE7in)","data.mesh":"A\u011F (Mesh)","dialog.create_texture.type":"Tip","dialog.create_texture.type.blank":"Bo\u015F","dialog.create_texture.type.template":"Doku \u015Eablonu","dialog.create_texture.type.color_map":"D\xFCz Renk \u015Eablonu","dialog.sketchfab_uploader.suggested_tags":"\xD6nerilen Etiketler","dialog.sketchfab_uploader.category":"Kategori","dialog.sketchfab_uploader.category2":"Kategori 2","layout.restore_backup":'\xD6zelle\u015Ftirilmi\u015F teman\u0131z "%0" \xFCzerine yaz\u0131ld\u0131. Geri y\xFCklemek i\xE7in buraya t\u0131klay\u0131n.',"layout.borders":"Kenarl\u0131klar","action.fill_mode.element":"\xD6\u011Fe","action.inset_mesh_selection":"Se\xE7imi \u0130\xE7eri \xC7ek","action.inset_mesh_selection.desc":"A\u011F\u0131n se\xE7ili k\u0131s\u0131mlar\u0131n\u0131 i\xE7eri \xE7ekin","action.dissolve_edges":"Kenarlar\u0131 \xC7\xF6z","action.dissolve_edges.desc":"Bir a\u011Fda se\xE7ili kenarlar\u0131 \xE7\xF6z\xFCn ve b\xF6ld\xFCkleri y\xFCzleri birle\u015Ftirin","action.split_mesh":"A\u011F\u0131 B\xF6l","action.split_mesh.desc":"A\u011F\u0131n se\xE7ili y\xFCzlerini yeni bir a\u011Fa b\xF6l\xFCn","action.merge_vertices":"Tepe Noktalar\u0131n\u0131 Birle\u015Ftir","action.merge_vertices.desc":"Se\xE7ili tepe noktalar\u0131n\u0131 ilk se\xE7ilen tepe noktas\u0131n\u0131n konumuna birle\u015Ftirin","action.view_mode.normal":"Y\xFCz Y\xF6nelimi","action.snap_uv_to_pixels":"UV'yi Piksellere Yasla","action.snap_uv_to_pixels.desc":"Se\xE7ili UV tepe noktalar\u0131n\u0131 piksel \u0131zgaras\u0131na yaslar","menu.file.import.import_open_project":"A\xE7\u0131k Projeyi \u0130\xE7e Aktar","menu.help.unlock_projects":"T\xFCm Projelerin Kilidini A\xE7","status_bar.selection.faces":"%0 Y\xFCz","status_bar.selection.vertices":"%0 Tepe Noktas\u0131","message.merged_vertices":"%1 konumda %0 tepe noktas\u0131 bulundu ve birle\u015Ftirildi","settings.vertex_merge_distance":"Tepe Noktas\u0131 Birle\u015Ftirme Mesafesi","settings.vertex_merge_distance.desc":"Mesafe ile birle\u015Ftirme kullan\u0131larak tepe noktalar\u0131n\u0131n birle\u015Ftirildi\u011Fi mesafe","settings.show_only_selected_uv":"Yaln\u0131zca Se\xE7ili UV'yi G\xF6ster","settings.show_only_selected_uv.desc":"Varsay\u0131lan olarak UV d\xFCzenleyicide yaln\u0131zca se\xE7ili UV y\xFCzlerini g\xF6r\xFCnt\xFCle","action.merge_vertices.merge_all":"T\xFCm\xFCn\xFC Birle\u015Ftir","action.merge_vertices.merge_all_in_center":"T\xFCm\xFCn\xFC Merkezde Birle\u015Ftir","action.merge_vertices.merge_by_distance":"Mesafeye G\xF6re Birle\u015Ftir","action.merge_vertices.merge_by_distance_in_center":"Mesafeye G\xF6re Merkezde Birle\u015Ftir","action.uv_rotate_left":"UV'yi Sola D\xF6nd\xFCr","action.uv_rotate_left.desc":"Se\xE7ili UV y\xFCzlerini saat y\xF6n\xFCn\xFCn tersine d\xF6nd\xFCr\xFCn","action.uv_rotate_right":"UV'yi Sa\u011Fa D\xF6nd\xFCr","action.uv_rotate_right.desc":"Se\xE7ili UV y\xFCzlerini saat y\xF6n\xFCnde d\xF6nd\xFCr\xFCn","menu.uv.display_uv":"UV'yi G\xF6r\xFCnt\xFCle","menu.uv.display_uv.selected_faces":"Se\xE7ili Y\xFCzler","menu.uv.display_uv.selected_elements":"T\xFCm Y\xFCzler","menu.uv.display_uv.all_elements":"T\xFCm \xD6\u011Felerdeki T\xFCm Y\xFCzler","menu.paste.face":"UV Y\xFCz\xFC","menu.paste.mesh_selection":"A\u011F Se\xE7imi","menu.paste.outliner":"\xD6\u011Feler","uv_editor.show_all_faces":"T\xFCm Y\xFCzleri G\xF6ster","uv_editor.show_selected_faces":"Se\xE7ili Y\xFCzleri G\xF6ster","status_bar.selection.edges":"%0 Kenar","action.selection_mode.edge":"Kenar","message.cannot_re_import.title":"Model yeniden i\xE7e aktar\u0131lam\u0131yor","message.cannot_re_import.message":"D\u0131\u015Fa aktar\u0131lan model bi\xE7imi tekrar Blockbench'e aktar\u0131lamaz. L\xFCtfen modelinizi bir proje dosyas\u0131 olarak kaydetti\u011Finizden emin olun.","generic.default":"Varsay\u0131lan","units.pixels_per_meter":"Metre ba\u015F\u0131na %0 Piksel","mode.pose":"Poz","modifier_actions.resize_both_sides":"Her iki y\xF6nde yeniden boyutland\u0131r","modifier_actions.resize_one_side":"Tek y\xF6nde yeniden boyutland\u0131r","modifier_actions.draw_line":"\xC7izgi \xE7iz","modifier_actions.drag_without_snapping":"Yaslamadan s\xFCr\xFCkle","modifier_actions.stretch_keyframes":"Anahtar kareleri uzat","modifier_actions.resize_background":"Arka plan\u0131 yeniden boyutland\u0131r","modifier_actions.select_multiple":"\xC7oklu se\xE7","modifier_actions.select_range":"Aral\u0131k se\xE7","modifier_actions.drag_to_duplicate":"\xC7o\u011Faltmak i\xE7in s\xFCr\xFCkle","modifier_actions.uniform_scaling":"Orant\u0131l\u0131 \xD6l\xE7eklendirme","modifier_actions.snap_direction":"Y\xF6n\xFC Yasla","message.no_valid_elements":"Ge\xE7erli \xF6\u011Fe se\xE7ilmedi...","dialog.add_primitive.shape.plane":"D\xFCzlem","dialog.save_angle.rotation_mode":"D\xF6nd\xFCrme Modu","dialog.save_angle.rotation":"D\xF6nd\xFCrme","dialog.save_angle.fov":"G\xF6r\xFC\u015F Alan\u0131 (FOV)","settings.hide_tab_bar":"Sekme \xC7ubu\u011Funu Otomatik Gizle","settings.hide_tab_bar.desc":"Yaln\u0131zca bir sekme a\xE7\u0131kken sekme \xE7ubu\u011Funu gizle","settings.status_bar_modifier_keys":"Durum \xC7ubu\u011Funda De\u011Fi\u015Ftirici Tu\u015Flar\u0131 \xD6ner","settings.status_bar_modifier_keys.desc":"Durum \xE7ubu\u011Funda ba\u011Flama duyarl\u0131 \xF6nerilen de\u011Fi\u015Ftirici tu\u015Flar\u0131 g\xF6r\xFCnt\xFCle","settings.ground_plane":"Zemin D\xFCzlemi","settings.ground_plane.desc":"Modelin alt\u0131nda bir zemin d\xFCzlemi g\xF6ster","settings.preview_paste_behavior":"Varsay\u0131lan G\xF6r\xFCn\xFCm Alan\u0131 Yap\u0131\u015Ft\u0131rma Davran\u0131\u015F\u0131","settings.preview_paste_behavior.desc":"D\xFCzenleme modunda g\xF6r\xFCn\xFCm alan\u0131na bir \u015Fey yap\u0131\u015Ft\u0131r\u0131ld\u0131\u011F\u0131nda ve birden fazla se\xE7enek mevcut oldu\u011Funda davran\u0131\u015F\u0131 se\xE7in","settings.preview_paste_behavior.always_ask":"Her Zaman Sor","action.new_window":"Yeni Pencere","action.new_window.desc":"Yeni bir Blockbench penceresi a\xE7ar","action.export_collada":"Collada Modelini (dae) D\u0131\u015Fa Aktar","action.export_collada.desc":"Modeli ve animasyonlar\u0131 di\u011Fer 3B uygulamalarda kullanmak \xFCzere dae dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.paint_mode_uv_overlay":"UV Kaplamas\u0131","action.paint_mode_uv_overlay.desc":"UV haritas\u0131n\u0131 boya modunda bir kaplama olarak g\xF6r\xFCnt\xFCleyin","action.bake_animation_into_model":"Animasyonu Modele Pi\u015Fir","action.bake_animation_into_model.desc":"\u015Eu anda g\xF6r\xFCnt\xFClenen animasyon karesini modele pi\u015Firin. Yaln\u0131zca d\xF6nd\xFCrme ve konum uygulan\u0131r, \xF6l\xE7ek g\xF6z ard\u0131 edilir.","action.keyframe_interpolation.step":"Ad\u0131m","action.set_ik_target":"IK Hedefini Ayarla","action.set_ik_target.desc":"Bu bo\u015F nesne taraf\u0131ndan Ters Kinematik arac\u0131l\u0131\u011F\u0131yla ta\u015F\u0131nmas\u0131 gereken hedef kemi\u011Fi se\xE7in","menu.action_control.type.tab":"Sekme","menu.action_control.type.angle":"Kamera A\xE7\u0131s\u0131","menu.action_control.recent_in_streamer_mode":"Emin misiniz? Yay\u0131nc\u0131 Modu etkin","menu.action_control.recent_in_streamer_mode.desc":"Son modelleri g\xF6r\xFCnt\xFClemek istedi\u011Finizden emin misiniz?","menu.tools":"Ara\xE7lar","menu.file.recent.more":"Daha Fazla G\xF6r\xFCnt\xFCle...","menu.null_object.lock_ik_target_rotation":"IK Hedef D\xF6nd\xFCrmesini Kilitle","menu.animation_file.import_remaining":"Dosyadan Kalan\u0131 \u0130\xE7e Aktar","edit.loop_cut.offset":"Ofset","edit.extrude_mesh_selection.extend":"Geni\u015Flet","cube.color.pink":"Pembe","cube.color.silver":"G\xFCm\xFC\u015F","dialog.plugins.offline":"\u0130nternet ba\u011Flant\u0131s\u0131 yok","dialog.create_texture.pixel_density":"Piksel Yo\u011Funlu\u011Fu","dialog.create_texture.pixel_density.desc":"Dokunun piksel yo\u011Funlu\u011Fu, metre ba\u015F\u0131na piksel cinsinden. Doku haritas\u0131n\u0131n boyutu, \xF6\u011Felerin miktar\u0131na ve boyutuna ba\u011Fl\u0131 olarak farkl\u0131l\u0131k g\xF6sterebilir.","panel.skin_pose":"Poz","panel.skin_pose.none":"Hi\xE7biri","panel.skin_pose.natural":"Do\u011Fal","panel.skin_pose.walking":"Y\xFCr\xFCme","panel.skin_pose.crouching":"\xC7\xF6melme","panel.skin_pose.sitting":"Oturma","panel.skin_pose.jumping":"Z\u0131plama","panel.skin_pose.aiming":"Ni\u015Fan Alma","edit.loop_cut.direction":"Y\xF6n","data.texture_mesh":"Dokulu A\u011F","generic.left":"Sol","generic.right":"Sa\u011F","mode.start.quick_setup":"H\u0131zl\u0131 Kurulum","mode.start.keymap":"Tu\u015F Haritas\u0131","mode.start.quick_setup.more_themes":"Daha Fazla...","dialog.resize_texture.animation_frames":"Animasyon Kareleri","dialog.export_emission_map.title":"Emisyon Haritas\u0131n\u0131 D\u0131\u015Fa Aktar","dialog.export_emission_map.format":"Format","dialog.export_emission_map.format.luminance":"Parlakl\u0131k","dialog.export_emission_map.format.luminance_inverted":"Ters \xC7evrilmi\u015F Parlakl\u0131k","dialog.export_emission_map.format.colors":"Renkler","dialog.export_emission_map.threshold":"\u015Eeffafl\u0131k E\u015Fi\u011Fi","dialog.export_emission_map.round_up":"%0 x %1'e Yuvarla","dialog.export_emission_map.flip_y":"Y Ekseninde \xC7evir","dialog.select.type":"\xD6\u011Fe T\xFCr\xFC","dialog.create_texture.max_edge_angle":"Kenar A\xE7\u0131s\u0131 E\u015Fi\u011Fi","dialog.create_texture.max_edge_angle.desc":"\u0130ki y\xFCz\xFCn hala birle\u015Ftirilece\u011Fi maksimum a\xE7\u0131","dialog.create_texture.max_island_angle":"Ada A\xE7\u0131s\u0131 E\u015Fi\u011Fi","dialog.create_texture.max_island_angle.desc":"Ayn\u0131 UV adas\u0131na birle\u015Ftirilebilecek maksimum a\xE7\u0131","settings.mobile_panel_side":"Mobil Panel Taraf\u0131","settings.mobile_panel_side.desc":"Blockbench'i yatay y\xF6nde kullan\u0131rken panellerin ekran\u0131n hangi taraf\u0131nda g\xF6r\xFCnt\xFClenece\u011Fini se\xE7in","settings.obj_face_export_mode":"OBJ Y\xFCz D\u0131\u015Fa Aktarma Modu","settings.obj_face_export_mode.desc":"OBJ d\u0131\u015Fa aktar\u0131c\u0131s\u0131n\u0131n t\xFCm y\xFCzleri \xFC\xE7genlere mi yoksa d\xF6rtgenlere mi d\xF6n\xFC\u015Ft\xFCrece\u011Fini se\xE7in","settings.obj_face_export_mode.both":"Varsay\u0131lan","settings.obj_face_export_mode.tris":"\xDC\xE7genlere D\xF6n\xFC\u015Ft\xFCr","settings.obj_face_export_mode.quads":"D\xF6rtgenlere D\xF6n\xFC\u015Ft\xFCr","action.seam_tool":"Diki\u015F Arac\u0131","action.seam_tool.desc":"A\u011F kenarlar\u0131nda UV diki\u015Flerini tan\u0131mlama arac\u0131","action.resolve_group":"Grubu \xC7\xF6z","action.resolve_group.desc":"\xC7ocuklar\u0131n\u0131 ayn\u0131 yerde tutarak grubu \xE7\xF6z\xFCn","action.move_to_group":"Gruba Ta\u015F\u0131","action.move_to_group.desc":"Se\xE7ili \xF6\u011Feleri farkl\u0131 bir anahat grubuna ta\u015F\u0131y\u0131n","action.select_seam":"UV Diki\u015Fini Se\xE7","action.select_seam.desc":"Se\xE7ili kenarlar i\xE7in UV diki\u015F modunu se\xE7in","action.select_seam.auto":"Otomatik","action.select_seam.join":"Birle\u015Ftir","action.select_seam.divide":"B\xF6l","action.adjust_brightness_contrast":"Parlakl\u0131\u011F\u0131 ve Kontrast\u0131 Ayarla...","action.adjust_brightness_contrast.desc":"Se\xE7ili dokunun parlakl\u0131\u011F\u0131n\u0131 ve kontrast\u0131n\u0131 ayarlay\u0131n","action.adjust_saturation_hue":"Doygunlu\u011Fu ve Tonu Ayarla...","action.adjust_saturation_hue.desc":"Se\xE7ili dokunun doygunlu\u011Funu ve tonunu ayarlay\u0131n","action.invert_colors":"Renkleri Ters \xC7evir","action.invert_colors.desc":"Se\xE7ili dokunun t\xFCm renklerini ters \xE7evirin","action.adjust_curves":"E\u011Frileri Ayarla...","action.adjust_curves.desc":"Se\xE7ili dokunun parlakl\u0131k e\u011Frilerini ayarlay\u0131n","action.flip_texture_x":"Yatay Olarak \xC7evir","action.flip_texture_y":"Dikey Olarak \xC7evir","action.resize_texture":"Dokuyu Yeniden Boyutland\u0131r...","action.view_mode.uv":"UV \xD6nizleme","action.append_to_template":"\xD6\u011Feleri \u015Eablona Ekle...","action.append_to_template.desc":"\u015Eu anda se\xE7ili olan \xF6\u011Feleri doku \u015Fablonuna ekleyin","action.move_texture_with_uv":"Dokuyu UV ile Ta\u015F\u0131","action.move_texture_with_uv.desc":"UV y\xFCzlerini s\xFCr\xFCklerken y\xFCz\xFCn dokusunu da ta\u015F\u0131y\u0131n","action.timeline_setups":"Zaman \xC7izelgesi Kurulumlar\u0131","action.save_timeline_setup":"Zaman \xC7izelgesi Kurulumunu Kaydet...","action.save_timeline_setup.desc":"\u015Eu anda se\xE7ili olan animat\xF6rler ve kanallar i\xE7in bir \xF6n ayar kaydedin","menu.texture":"Doku","menu.texture.render_mode.default":"Varsay\u0131lan","menu.texture.merge_onto_texture":"Yukar\u0131daki Dokuya Birle\u015Ftir","menu.animation.unload":"Bo\u015Falt","panel.timeline":"Zaman \xC7izelgesi","action.pan_tool":"Kayd\u0131rma Arac\u0131","action.pan_tool.desc":"G\xF6r\xFCn\xFCm alan\u0131 ve doku d\xFCzenleyicide gezinme arac\u0131","mode.start.recent.favorite":"Favori Olarak \u0130\u015Faretle","mode.start.info":"Bilgi","mode.start.target":"Hedef","mode.start.start":"Ba\u015Flat","mode.start.create_new":"Yeni Model Olu\u015Ftur","mode.start.format.informations":"Bilmen iyi olur:","mode.start.format.resources":"Kaynaklar:","format.free.info.meshes":"Bu formatta k\xFCpler ve \xF6zel \u015Fekilli a\u011Flar kullanarak d\xFC\u015F\xFCk poligonlu modeller olu\u015Fturabilirsiniz.","format.free.info.limitation":"Bu modeller, Minecraft gibi \xF6zel formatlara ihtiya\xE7 duyan oyunlara y\xFCklenemez.","format.skin.info.skin":"Bu format Minecraft kaplamalar\u0131 ve varl\u0131k dokular\u0131 olu\u015Fturmak i\xE7in tasarlanm\u0131\u015Ft\u0131r.","format.skin.info.model":"Model de\u011Fi\u015Ftirilemez. De\u011Fi\u015Fiklik yapmak i\xE7in **Dosya > Projeyi D\xF6n\xFC\u015Ft\xFCr** se\xE7ene\u011Fini kullanarak farkl\u0131 bir formata d\xF6n\xFC\u015Ft\xFCrmelisiniz.","format.java_block.info.rotation":"D\xF6nmeler her \xF6\u011Fe i\xE7in yaln\u0131zca bir eksenle s\u0131n\u0131rl\u0131d\u0131r","format.java_block.info.size":"Modelin boyutu 3x3x3 blokla s\u0131n\u0131rl\u0131d\u0131r. G\xF6r\xFCnt\xFCleme ayarlar\u0131, \xF6\u011Fe modellerini daha b\xFCy\xFCk g\xF6sterebilir","format.java_block.info.animation":"Bu format, vanilla Minecraft'ta animasyon desteklemez. Mod yap\u0131yorsan\u0131z GeckoLib kullanabilirsiniz. De\u011Filse, animasyonun tek yolu modeli komutlarla veya animasyonlu dokularla de\u011Fi\u015Ftirmektir.","format.bedrock.info.textures":"Her model yaln\u0131zca bir dokuya sahip olabilir","format.bedrock_block":"Bedrock Blok","format.bedrock_block.desc":"Minecraft Bedrock S\xFCr\xFCm\xFC i\xE7in blok modeli","format.modded_entity.info.integer_size":"Bireysel k\xFCplerin boyutu yaln\u0131zca tam say\u0131lar olabilir.","format.modded_entity.info.format":"Modeller, di\u011Fer t\xFCm Blockbench d\u0131\u015Fa aktarma formatlar\u0131n\u0131n aksine \xF6zel veri yap\u0131lar\u0131 yerine Java kodu olarak yaz\u0131l\u0131r.","format.optifine_entity.info.optifine_required":"OptiFine y\xFCkl\xFC olmayan kullan\u0131c\u0131lar modeli g\xF6remez.","format.optifine_entity.info.pivots":"Kemik merkezleri sabittir, bu y\xFCzden bunlara dokunmamak iyi bir fikirdir.","format_category.low_poly":"D\xFC\u015F\xFCk Poligon","format_category.minecraft":"Minecraft","format_category.other":"Di\u011Fer","format_category.loaders":"Y\xFCkleyiciler","message.recover_backup.recover":"Kurtar","message.invalid_characters.title":"Ge\xE7ersiz Yol","message.invalid_characters.message":"\u0130\xE7e aktar\u0131lan dosyan\u0131n yolu ge\xE7ersiz karakterler, b\xFCy\xFCk harfler veya bo\u015Fluklar i\xE7eriyor. Desteklenen karakterler \u015Funlard\u0131r: %0","dialog.share_model.thumbnail":"K\xFC\xE7\xFCk Resim","dialog.skin.high_res_texture":"L\xFCtfen se\xE7ilen \xE7\xF6z\xFCn\xFCrl\xFC\u011Fe sahip kaplamalar\u0131n normal Minecraft kaplamalar\u0131 olarak \xE7al\u0131\u015Fmayaca\u011F\u0131n\u0131 unutmay\u0131n. Daha d\xFC\u015F\xFCk bir \xE7\xF6z\xFCn\xFCrl\xFCk se\xE7in.","settings.allow_display_slot_mirror":"G\xF6r\xFCnt\xFCleme Yuvas\u0131 Aynalamas\u0131na \u0130zin Ver","settings.allow_display_slot_mirror.desc":"Java \xF6\u011Fe modelleri i\xE7in G\xF6r\xFCnt\xFCleme yuvalar\u0131n\u0131n aynalanmas\u0131na izin verin. UYARI: Bu yaln\u0131zca Minecraft 1.14 veya daha \xF6nceki s\xFCr\xFCmlerde veya \xF6zel durumlarda \xE7al\u0131\u015F\u0131r.","action.switch_tabs":"Sekmeleri De\u011Fi\u015Ftir","action.switch_tabs.desc":"A\xE7\u0131lan sekmeler aras\u0131nda ge\xE7i\u015F yap\u0131n. Ters y\xF6nde ge\xE7i\u015F yapmak i\xE7in shift tu\u015Funu bas\u0131l\u0131 tutun.","action.unselect_all":"T\xFCm Se\xE7imi Kald\u0131r","action.save_palette":"Paleti Kaydet...","action.save_palette.desc":"Mevcut renk paletini daha sonra kullanmak \xFCzere Blockbench i\xE7inde kaydedin","action.keyframe_column_create":"Anahtar Kare S\xFCtunu Olu\u015Ftur","action.keyframe_column_create.desc":"Zaman \xE7izelgesindeki t\xFCm kanallar\u0131, zaten anahtar kareleri varsa, mevcut zaman kodunda anahtarlay\u0131n","action.keyframe_column_select":"Anahtar Kare S\xFCtununu Se\xE7","action.keyframe_column_select.desc":"Oynatma kafas\u0131n\u0131n alt\u0131ndaki bir s\xFCtun boyunca zaman \xE7izelgesindeki t\xFCm anahtar kareleri se\xE7in","menu.uv":"UV","menu.keyframe":"Anahtar Kare","menu.palette.load.update":"Paleti G\xFCncelle","menu.palette.load.update.desc":"Bu paleti mevcut Blockbench paletinin renkleriyle g\xFCnceller","menu.timeline_marker.set_time":"Zaman\u0131 Ayarla...","uv_editor.scale_uv":"UV'yi \xD6l\xE7eklendir","action.preview_scene":"\xD6nizleme Sahnesi","action.preview_scene.desc":"Model \xF6nizleme sahnesini de\u011Fi\u015Ftirin","preview_scene.minecraft_overworld":"\xDCst D\xFCnya","preview_scene.minecraft_nether":"Nether","preview_scene.minecraft_end":"End","dialog.project.modded_entity_flip_y":"Y Ekseni \xC7evir","preview_scene.studio":"St\xFCdyo","format.image":"G\xF6rsel","modifier_actions.set_copy_source":"Kopyalama Kayna\u011F\u0131n\u0131 Ayarla","message.load_images.title":"G\xF6rselleri Y\xFCkle","message.load_images.edit_image":"G\xF6rseli D\xFCzenle","dialog.add_primitive.align_edges":"Kenarlar\u0131 Hizala","dialog.flip_animation.show_in_timeline":"Zaman \xE7izelgesinde de\u011Fi\u015Ftirilmi\u015F kemikleri g\xF6ster","settings.default_cube_size":"K\xFCp Boyutu","settings.default_cube_size.desc":"Yeni bir k\xFCp olu\u015Ftururken varsay\u0131lan k\xFCp boyutunu ayarlay\u0131n","settings.uniform_keyframe":"Orant\u0131l\u0131 \xD6l\xE7ek Anahtar Kareleri","settings.uniform_keyframe.desc":"\xD6l\xE7ek anahtar karelerini varsay\u0131lan olarak orant\u0131l\u0131 \xF6l\xE7eklendirmeye ayarlay\u0131n","settings.nearest_rectangle_select":"Dikd\xF6rtgen Se\xE7imi: En Yak\u0131n Kenar","settings.nearest_rectangle_select.desc":"Dikd\xF6rtgen se\xE7imlerini GIMP'teki gibi tam pikseller yerine en yak\u0131n piksel kenar\u0131na yaslay\u0131n.","settings.pick_color_opacity":"Renk Opakl\u0131\u011F\u0131n\u0131 Se\xE7","settings.pick_color_opacity.desc":"Renk Se\xE7ici ile renk opakl\u0131\u011F\u0131n\u0131 se\xE7in ve f\u0131r\xE7a opakl\u0131\u011F\u0131 olarak ayarlay\u0131n","settings.paint_with_stylus_only":"Yaln\u0131zca Stylus ile Boya","settings.paint_with_stylus_only.desc":"Yaln\u0131zca boyama i\xE7in stylus kullan\u0131n, fare veya dokunmatik giri\u015Fi navigasyon i\xE7in ay\u0131r\u0131n.","action.copy_brush_mode":"Kopya F\u0131r\xE7a Modu","action.copy_brush_mode.copy":"Kopyala","action.copy_brush_mode.pattern":"Desen","action.copy_brush_mode.sample":"\xD6rnek","action.brush_shape":"F\u0131r\xE7a \u015Eekli","action.brush_shape.square":"Kare","action.brush_shape.circle":"Daire","action.blend_mode":"Kar\u0131\u015F\u0131m Modu","action.blend_mode.default":"Varsay\u0131lan","action.blend_mode.set_opacity":"Opakl\u0131\u011F\u0131 Ayarla","action.blend_mode.color":"Renk","action.blend_mode.behind":"Arkada","action.blend_mode.multiply":"\xC7arp","action.blend_mode.divide":"B\xF6l","action.blend_mode.add":"Ekle","action.blend_mode.subtract":"\xC7\u0131kar","action.blend_mode.screen":"Ekran","action.blend_mode.overlay":"Kaplama","action.blend_mode.hard_light":"Sert I\u015F\u0131k","action.blend_mode.difference":"Fark","action.copy_brush":"Kopya F\u0131r\xE7a","action.copy_brush.desc":"Dokunuzun par\xE7alar\u0131n\u0131 klonlamak veya desenler \xE7izmek i\xE7in f\u0131r\xE7a. Kopyalama kayna\u011F\u0131 se\xE7mek i\xE7in Ctrl tu\u015Funu bas\u0131l\u0131 tutun ve t\u0131klay\u0131n.","action.validator_window":"Model Sorunlar\u0131n\u0131 G\xF6r\xFCnt\xFCle...","action.validator_window.desc":"Mevcut modelle ilgili sorunlar\u0131 listeleyen do\u011Frulay\u0131c\u0131y\u0131 a\xE7ar.","action.cancel_gif":"GIF'i \u0130ptal Et","menu.text_edit.copy_vector":"Vekt\xF6r\xFC Kopyala","menu.brush_presets.dialog":"F\u0131r\xE7a \xD6n Ayarlar\u0131...","menu.brush_presets.pixel_brush":"Piksel F\u0131r\xE7a","menu.brush_presets.smooth_brush":"Yumu\u015Fak F\u0131r\xE7a","menu.texture.edit_in_blockbench":"Blockbench'te D\xFCzenle","menu.mirror_painting.axis":"Eksen","menu.mirror_painting.axis.desc":"Boya darbelerinin hangi eksende yans\u0131t\u0131laca\u011F\u0131n\u0131 se\xE7in","menu.mirror_painting.global":"Global Simetri","menu.mirror_painting.global.desc":"Model \xFCzerinde global alanda ayna boyamay\u0131 etkinle\u015Ftirin","menu.mirror_painting.local":"Yerel Simetri","menu.mirror_painting.local.desc":"Her \xF6\u011Fe i\xE7in yerel alanda ayna boyamay\u0131 etkinle\u015Ftirin","menu.mirror_painting.texture_frames":"Flipbook Karelerinde Tekrarla","menu.mirror_painting.texture_frames.desc":"Boya darbelerini animasyonlu dokular\u0131n her karesine yans\u0131t\u0131n","format.bedrock_block.info.size_limit":"Bir blo\u011Fun toplam boyutu t\xFCm y\xF6nlerde 30 piksel ile s\u0131n\u0131rl\u0131d\u0131r. Bu s\u0131n\u0131r, blok merkezinden 7 piksel sapabilir.","format.bedrock_block.info.textures":"Blockbench i\xE7inde farkl\u0131 k\xFCplere birden fazla doku uygulanabilir, ancak oyunda d\xFCzg\xFCn \xE7al\u0131\u015Fmas\u0131 i\xE7in davran\u0131\u015F paketi i\xE7inde ek ayarlamalar gerekir.","format.image.desc":"2B g\xF6rsel d\xFCzenleyicisinde g\xF6rselleri d\xFCzenle","generic.delete_all":"T\xFCm\xFCn\xFC Sil","message.child_model_only.open":"\xDCst \xD6\u011Feyi A\xE7","message.child_model_only.open_with_textures":"\xDCst \xD6\u011Feyi A\xE7 ve Dokular\u0131 Benimse","dialog.project.credit":"Katk\u0131da Bulunan","dialog.convert_project.create_copy":"Kopya Olu\u015Ftur","dialog.texture.frame_time":"Kare S\xFCresi","dialog.texture.frame_time.desc":"Her karenin ne kadar s\xFCreyle g\xF6r\xFCnece\u011Fini tik olarak ayarlay\u0131n. Her tik bir saniyenin 1/20'sidir.","dialog.texture.frame_interpolate":"\u0130nterpolasyon","dialog.texture.frame_interpolate.desc":"Bir sonraki kareye \xE7apraz ge\xE7i\u015F yaparak animasyon kareleri aras\u0131nda interpolasyon yap\u0131n","dialog.texture.frame_order_type":"D\xF6ng\xFC Modu","dialog.texture.frame_order_type.loop":"D\xF6ng\xFC","dialog.texture.frame_order_type.backwards":"Geriye D\xF6ng\xFC","dialog.texture.frame_order_type.back_and_forth":"\u0130leri-Geri","dialog.texture.frame_order_type.custom":"\xD6zel S\u0131ra","dialog.texture.frame_order":"Kare S\u0131ras\u0131","dialog.texture.frame_order.desc":"Kare dizinlerini yeni bir s\u0131rada listeleyerek \xF6zel bir kare s\u0131ras\u0131 ayarlay\u0131n. Kare dizinleri ilk kare ile 0'dan ba\u015Flar.","dialog.select.mode":"Mod","dialog.select.mode.new":"Yeni Se\xE7im","dialog.select.mode.add":"Se\xE7iliye Ekle","dialog.select.mode.remove":"Se\xE7iliden Kald\u0131r","dialog.select.mode.in_selection":"Yaln\u0131zca Se\xE7iliden Se\xE7","dialog.predicate_overrides.model":"Model","dialog.predicate_overrides.predicates":"Ko\u015Fullar","dialog.predicate_overrides.variants":"Varyantlar","dialog.predicate_overrides.start_value":"Ba\u015Flang\u0131\xE7","dialog.predicate_overrides.add_override":"Ge\xE7ersiz K\u0131lma Ekle","dialog.predicate_overrides.add_predicate":"Ko\u015Ful Ekle","dialog.predicate_overrides.generate_overrides":"Ge\xE7ersiz K\u0131lmalar\u0131 Olu\u015Ftur","dialog.predicate_overrides.confirm_delete":"T\xFCm ge\xE7ersiz k\u0131lmalar\u0131 silmek istedi\u011Finizden emin misiniz?","dialog.predicate_overrides.predicate.angle":"Pusula A\xE7\u0131s\u0131","dialog.predicate_overrides.predicate.blocking":"Engelliyor mu","dialog.predicate_overrides.predicate.broken":"K\u0131r\u0131k m\u0131","dialog.predicate_overrides.predicate.cast":"At\u0131ld\u0131 m\u0131","dialog.predicate_overrides.predicate.cooldown":"Bekleme S\xFCresi","dialog.predicate_overrides.predicate.damage":"Hasar","dialog.predicate_overrides.predicate.damaged":"Hasarl\u0131 m\u0131","dialog.predicate_overrides.predicate.lefthanded":"Solak m\u0131","dialog.predicate_overrides.predicate.pull":"\xC7ekme Miktar\u0131","dialog.predicate_overrides.predicate.pulling":"\xC7ekiyor mu","dialog.predicate_overrides.predicate.charged":"\u015Earjl\u0131 m\u0131","dialog.predicate_overrides.predicate.firework":"Havai Fi\u015Fek Var m\u0131","dialog.predicate_overrides.predicate.throwing":"Atmaya Haz\u0131r","dialog.predicate_overrides.predicate.time":"G\xFCn\xFCn Saati","dialog.predicate_overrides.predicate.custom_model_data":"\xD6zel Model Verisi","dialog.predicate_overrides.predicate.level":"I\u015F\u0131k Seviyesi","dialog.predicate_overrides.predicate.filled":"Paket Doluluk Seviyesi","dialog.predicate_overrides.predicate.tooting":"Korna \xC7al\u0131yor","settings.model_export_scale":"Model D\u0131\u015Fa Aktarma \xD6l\xE7e\u011Fi","settings.model_export_scale.desc":"D\u0131\u015Fa aktar\u0131lan glTF, DAE ve FBX modellerinin \xF6l\xE7e\u011Finin azalt\u0131ld\u0131\u011F\u0131 fakt\xF6r. Varsay\u0131lan 16'd\u0131r, bu da d\u0131\u015Fa aktarmada 16 Blockbench birimini 1 metreye d\xF6n\xFC\u015Ft\xFCr\xFCr.","action.export_fbx":"FBX Modelini D\u0131\u015Fa Aktar","action.export_fbx.desc":"Modeli ve animasyonlar\u0131 di\u011Fer 3B uygulamalarda ve oyun motorlar\u0131nda kullanmak \xFCzere fbx dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.center_lateral":"Yanal Ortala","action.center_lateral.desc":"Se\xE7ili \xF6\u011Feleri X ve Z ekseninde ortalay\u0131n","action.adjust_opacity":"Opakl\u0131\u011F\u0131 Ayarla...","action.adjust_opacity.desc":"Se\xE7ili dokunun opakl\u0131\u011F\u0131n\u0131 ayarlay\u0131n","action.rotate_texture_cw":"Saat Y\xF6n\xFCnde D\xF6nd\xFCr","action.rotate_texture_ccw":"Saat Y\xF6n\xFCn\xFCn Tersine D\xF6nd\xFCr","action.predicate_overrides":"Ko\u015Ful Ge\xE7ersiz K\u0131lmalar\u0131n\u0131 D\xFCzenle...","action.predicate_overrides.desc":"Se\xE7ili ko\u015Fullara g\xF6re bu modeli ge\xE7ersiz k\u0131lacak modelleri se\xE7in","action.auto_set_cullfaces":"G\xF6r\xFCnmeyen Y\xFCzleri Otomatik Ayarla","action.auto_set_cullfaces.desc":"Kom\u015Fu blok taraf\u0131ndan kapland\u0131\u011F\u0131nda y\xFCzleri gizlemek i\xE7in otomatik olarak g\xF6r\xFCnmeyen y\xFCzler olu\u015Fturun.","menu.texture.edit_externally":"Harici Olarak D\xFCzenle","menu.mirror_painting.texture":"2B D\xFCzenleyici Simetrisi","menu.mirror_painting.texture.desc":"G\xF6r\xFCnt\xFC veya doku \xFCzerinde 2B alanda ayna boyamay\u0131 etkinle\u015Ftirin","menu.animator.rotation_global":"Global Alanda D\xF6nd\xFCr","uv_editor.face_properties":"Y\xFCz \xD6zellikleri","uv_editor.face_properties.material_instance":"Malzeme \xD6rne\u011Fi","uv_editor.tint.info":"Minecraft'a tonlamas\u0131n\u0131 s\xF6ylemek i\xE7in bir y\xFCzde tonlama etkinle\u015Ftirilebilir. Vanilla'da tonlama yaln\u0131zca yapraklar ve redstone tozu gibi belirli bloklar taraf\u0131ndan kullan\u0131labilir ve yaln\u0131zca 0 de\u011Ferine sahip olabilir.","uv_editor.cullface.info":"G\xF6r\xFCnmeyen y\xFCz gizlemeyi etkinle\u015Ftirmek, Minecraft d\xFCnyan\u0131zda yan\u0131na ba\u015Fka bir tam blok yerle\u015Ftirildi\u011Finde bir bloktaki bir y\xFCz\xFCn renderlenmemesini s\xF6yler. Bu, performans\u0131 optimize etmek i\xE7in kullan\u0131labilir.","uv_editor.material_instance.info":"Malzeme \xF6rnekleri kullan\u0131c\u0131 tan\u0131ml\u0131 bir isme ayarlanabilir. Bu isim, davran\u0131\u015F paketindeki blok JSON dosyas\u0131nda y\xFCze belirli bir doku ve malzeme atamak i\xE7in kullan\u0131labilir.","display.reference.frame_invisible":"E\u015Fya \xC7er\xE7evesi (G\xF6r\xFCnmez)","data.settings_profile":"Profil","message.display_skin.invalid_name":'"%0" ad\u0131na sahip Minecraft hesab\u0131 bulunam\u0131yor.',"dialog.load_plugins_from_query.title":"Eklentileri Y\xFCkle","dialog.load_plugins_from_query.text":"Eklentilerin y\xFCklenmesini gerektiren bir ba\u011Flant\u0131 kulland\u0131n\u0131z. Bunlar\u0131 y\xFCklemek ister misiniz?","dialog.select_model.title":"Model Se\xE7","dialog.select_model.bones":"Kemikler","dialog.select_model.cubes":"K\xFCpler","dialog.settings.create_profile":"Profil Olu\u015Ftur...","settings_profile.confirm_delete":"Bu ayarlar profilini silmek istedi\u011Finizden emin misiniz?","settings_profile.condition.type.selectable":"Manuel Olarak Se\xE7ilebilir","settings.interface_mode":"Kullan\u0131c\u0131 Aray\xFCz\xFC Modu","settings.interface_mode.desc":"Aray\xFCz modu","settings.interface_mode.auto":"Otomatik","settings.interface_mode.desktop":"Masa\xFCst\xFC","settings.interface_mode.mobile":"Mobil","settings.paint_through_transparency":"\u015Eeffafl\u0131ktan Boya","settings.paint_through_transparency.desc":"Alfa Kanal\u0131n\u0131 Kilitle etkinle\u015Ftirildi\u011Finde \u015Feffaf piksellerin \xFCzerinden boya","action.tab_overview":"Sekme Genel Bak\u0131\u015F","action.tab_overview.desc":"T\xFCm a\xE7\u0131k sekmeleri bir \u0131zgarada g\xF6r\xFCnt\xFCleyin ve birine atlay\u0131n","action.slider_color_red":"Renk K\u0131rm\u0131z\u0131","action.slider_color_green":"Renk Ye\u015Fil","action.slider_color_blue":"Renk Mavi","action.add_animation_controller":"Animasyon Kontrolc\xFCs\xFC Ekle","action.add_animation_controller.desc":"Bo\u015F bir animasyon kontrolc\xFCs\xFC olu\u015Fturun","action.animation_controller_preview_mode":"Kontrolc\xFC \xD6nizlemesi","action.animation_controller_preview_mode.paused":"Duraklat\u0131ld\u0131","action.animation_controller_preview_mode.manual":"Manuel \xD6nizleme","action.animation_controller_preview_mode.play":"Otomatik Oynat","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"B\xE9zier Tutama\xE7lar\u0131n\u0131 Ba\u011Fla","action.keyframe_bezier_linked.desc":"Sa\u011F ve sol anahtar kare b\xE9zier tutamac\u0131n\u0131 ba\u011Flay\u0131n","action.reset_keyframe_handles":"Anahtar Kare Tutama\xE7lar\u0131n\u0131 S\u0131f\u0131rla","action.reset_keyframe_handles.desc":"Se\xE7ili anahtar karelerin b\xE9zier tutama\xE7lar\u0131n\u0131 s\u0131f\u0131rlay\u0131n","action.looped_animation_playback":"D\xF6ng\xFCl\xFC Oynatma","action.looped_animation_playback.desc":"Animasyonlar\u0131 sonsuz bir d\xF6ng\xFCde \xF6nizleyin","timeline.bind_to_actor":"Akt\xF6re Ba\u011Fla","animation_controllers.select_preset":"Bir kontrolc\xFC \xF6n ayar\u0131 se\xE7in...","animation_controllers.state.animations":"Animasyonlar","animation_controllers.state.particles":"Par\xE7ac\u0131klar","animation_controllers.state.sounds":"Sesler","animation_controllers.state.on_entry":"Giri\u015Fte","animation_controllers.state.on_exit":"\xC7\u0131k\u0131\u015Fta","animation_controllers.state.transitions":"Ge\xE7i\u015Fler","animation_controllers.state.condition":"Ko\u015Ful","animation_controllers.state.blend_transition":"Kar\u0131\u015F\u0131m S\xFCresi","animation_controllers.state.shortest_path":"En K\u0131sa Yoldan Kar\u0131\u015Ft\u0131r","animation_controllers.state.edit_transition":"Ge\xE7i\u015Fi D\xFCzenle","menu.color_picker.picker_type":"Se\xE7ici Tipi","menu.color_picker.picker_type.square":"Kare","menu.color_picker.picker_type.wheel":"Tekerlek","menu.color_picker.slider_mode":"Kayd\u0131r\u0131c\u0131 Modu","menu.color_picker.slider_mode.hsv":"Ton, Doygunluk, De\u011Fer","menu.color_picker.slider_mode.rgb":"K\u0131rm\u0131z\u0131, Ye\u015Fil, Mavi","menu.texture.render_mode.additive":"Toplanabilir","panel.color.picker_options":"Renk Se\xE7ici Se\xE7enekleri","panel.animation_controllers":"Animasyon Kontrolc\xFCs\xFC","display.preset.armor_stand":"Zemin (Z\u0131rh Stand\u0131)","data.file_path":"Dosya Yolu","dialog.extrude.orientation":"Y\xF6nelim","dialog.extrude.orientation.upright":"Dik","dialog.extrude.orientation.flat":"D\xFCz","dialog.scale.box_uv_warning":"Bir Kutu UV modelini \xF6l\xE7eklendirmek, modelinizin UV'sini bozabilir. Bunun yerine, modelinizi harici olarak \xF6l\xE7eklendirmeyi deneyin veya Dosya > Proje'de Y\xFCz Ba\u015F\u0131na UV Moduna ge\xE7in.","dialog.create_gif.format":"Format","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG Dizisi","dialog.create_gif.pixelate":"Pikselle\u015Ftir","dialog.create_gif.bg_image":"Arka Plan Resmi","dialog.create_gif.turn.desc":"Kay\u0131t s\u0131ras\u0131nda modeli d\xF6nd\xFCr\xFCn. Modeli saat y\xF6n\xFCnde d\xF6nd\xFCrmek i\xE7in negatif de\u011Ferler kullan\u0131n. 60 de\u011Feri saniyede bir d\xF6n\xFC\u015Fe kar\u015F\u0131l\u0131k gelir.","settings_profile.condition":"Ko\u015Ful","settings_profile.condition.type.file_path.desc":"Mevcut projenin dosya yoluyla e\u015Fle\u015Fmek i\xE7in Normal \u0130fade s\xF6zdizimini kullan\u0131n. Dizinler i\xE7in e\u011Fik \xE7izgi kullan\u0131n","settings.only_selected_bezier_handles":"Yaln\u0131zca Se\xE7ili B\xE9zier Tutama\xE7lar\u0131n\u0131 G\xF6ster","settings.only_selected_bezier_handles.desc":"\u015Eu anda se\xE7ili olmayan b\xE9zier anahtar karelerinin tutama\xE7lar\u0131n\u0131 gizle","settings.embed_textures":"Dokular\u0131 G\xF6m","settings.embed_textures.desc":"Doku dosyas\u0131 i\xE7eri\u011Fini .bbmodel dosyalar\u0131na g\xF6m","action.selection_mode.cluster":"K\xFCme","dialog.copied_to_clipboard":"Panoya kopyaland\u0131","data.reference_image":"Referans G\xF6rseli","message.delete_reference_image":"Bu referans g\xF6rselini silmek istedi\u011Finizden emin misiniz? Bu i\u015Flem geri al\u0131namaz.","message.add_reference_image.message":"Referans g\xF6rselinin nereye y\xFCklenece\u011Fini se\xE7in","message.add_reference_image.project":"Bu projeye ekle","message.add_reference_image.app":"T\xFCm projelere ekle","message.import_particle_texture.import":"Par\xE7ac\u0131k Dokusunu \u0130\xE7e Aktar","message.import_particle_texture.message":"Par\xE7ac\u0131\u011F\u0131n\u0131z i\xE7in kullan\u0131lacak bir doku dosyas\u0131n\u0131 i\xE7e aktarmak ister misiniz?","message.save_codec_selector.title":"Model Bi\xE7imini Kaydet","message.save_codec_selector.message":"Modeli kaydetmek i\xE7in bir bi\xE7im se\xE7in.","message.save_codec_selector.project_file":"Blockbench Projesi (.bbmodel)","message.save_codec_selector.both":"Her \u0130kisi","message.display_skin.username":"Kullan\u0131c\u0131 Ad\u0131 (Java)","message.palette_locked":"Palet kilitli","dialog.project.default_uv_mode":"Varsay\u0131lan UV Modu","dialog.project.default_uv_mode.description":"Projenin varsay\u0131lan UV Modu. UV modu k\xFCp ba\u015F\u0131na da de\u011Fi\u015Ftirilebilir.","dialog.export_options.title":"D\u0131\u015Fa Aktarma Se\xE7enekleri","dialog.edit_texture.preview":"\xD6nizleme","dialog.proportional_editing.range":"Aral\u0131k","dialog.proportional_editing.falloff":"Azalma","dialog.proportional_editing.falloff.linear":"Do\u011Frusal","dialog.proportional_editing.falloff.hermite_spline":"Yumu\u015Fak","dialog.proportional_editing.falloff.constant":"Sabit","dialog.proportional_editing.selection":"Se\xE7im","dialog.proportional_editing.selection.linear":"Do\u011Frusal Mesafe","dialog.proportional_editing.selection.connections":"Ba\u011Flant\u0131lar","dialog.mirror_painting_texture_center.middle":"Orta","dialog.mirror_painting_texture_center.custom":"\xD6zel","dialog.settings.reset_to_default":"Varsay\u0131lana S\u0131f\u0131rla","keybindings.item.num_slider.increase":"Artt\u0131r","keybindings.item.num_slider.decrease":"Azalt","settings.always_show_splash_art":"A\xE7\u0131l\u0131\u015F Sanat\u0131n\u0131 Her Zaman G\xF6ster","settings.always_show_splash_art.desc":"Ba\u015Flang\u0131\xE7 ekran\u0131nda a\xE7\u0131l\u0131\u015F sanat\u0131n\u0131 her zaman g\xF6ster","action.slider_palette_color":"Palet Rengini De\u011Fi\u015Ftir","action.slider_palette_color.desc":"Paletteki renkler aras\u0131nda ge\xE7i\u015F yap\u0131n","action.proportional_editing":"Orant\u0131l\u0131 D\xFCzenleme","action.proportional_editing.desc":"Bir a\u011F\u0131n par\xE7alar\u0131n\u0131 d\xFCzenlerken \xE7evredeki tepe noktalar\u0131n\u0131 orant\u0131l\u0131 olarak etkileyin","action.limit_to_palette":"Palete S\u0131n\u0131rla","action.limit_to_palette.desc":"Dokunun renklerini \u015Fu anda y\xFCkl\xFC olan paletteki renklere s\u0131n\u0131rlar","action.edit_reference_images":"Referans G\xF6rsellerini D\xFCzenle","action.edit_reference_images.desc":"Referans g\xF6rselleri ve planlar\u0131 eklemek veya d\xFCzenlemek i\xE7in referans g\xF6rsel modunu a\xE7\u0131n","action.add_reference_image":"Referans G\xF6rseli Ekle","action.reference_image_from_clipboard":"Panodan Referans G\xF6rseli","action.reference_image_list":"Referans G\xF6rselleri","action.connect_uv_faces":"UV Y\xFCzlerini Ba\u011Fla","action.connect_uv_faces.desc":"Se\xE7ili UV y\xFCzlerini son se\xE7ilen UV y\xFCz\xFCne ba\u011Flay\u0131n","action.merge_uv_vertices":"UV Tepe Noktalar\u0131n\u0131 Birle\u015Ftir","action.merge_uv_vertices.desc":"\u0130lk se\xE7ilen UV tepe noktalar\u0131n\u0131 son se\xE7ilen UV tepe noktalar\u0131na yaslay\u0131n","action.bedrock_animation_mode":"Bedrock Animasyon Modu","action.bedrock_animation_mode.desc":"Minecraft: Bedrock S\xFCr\xFCm\xFC i\xE7in animasyonlar\u0131 d\xFCzenleme modunu se\xE7in","action.bedrock_animation_mode.entity":"Varl\u0131k","action.bedrock_animation_mode.attachable_first":"\xD6\u011Fe 1. \u015Eah\u0131s","action.bedrock_animation_mode.attachable_third":"\xD6\u011Fe 3. \u015Eah\u0131s","timeline.amplify":"G\xFC\xE7lendir","menu.options":"Se\xE7enekler...","menu.palette.lock_palette":"Paleti Kilitle","menu.uv.export":"UV Haritas\u0131n\u0131 D\u0131\u015Fa Aktar","menu.uv.flip_x":"X'i Aynala","menu.uv.flip_y":"Y'yi Aynala","menu.mirror_painting.enabled":"Etkin","reference_image.position":"Pozisyon","reference_image.size":"Boyut","reference_image.rotation":"D\xF6nd\xFCrme","reference_image.opacity":"Opakl\u0131k","reference_image.visibility":"G\xF6r\xFCn\xFCrl\xFCk","reference_image.clear_mode":"Temizleme Modu","reference_image.layer":"Katman","reference_image.layer.background":"Modelin Arkas\u0131nda","reference_image.layer.viewport":"Modelin \xDCst\xFCnde","reference_image.layer.float":"Aray\xFCz\xFCn \xDCst\xFCnde","reference_image.scope":"Kapsam","reference_image.scope.project":"Sadece bu proje","reference_image.scope.global":"T\xFCm projeler","reference_image.enabled_modes":"Modlarda Etkin","codec.common.encoding":"Kodlama","codec.common.armature":"Gruplar\u0131 \u0130skelet Olarak D\u0131\u015Fa Aktar","codec.common.export_animations":"Animasyonlar\u0131 D\u0131\u015Fa Aktar","codec.common.embed_textures":"Dokular\u0131 G\xF6m","preview.center_camera":"Kameray\u0131 Ortala","display.reference.frame_top":"E\u015Fya \xC7er\xE7evesi \xDCst","display.reference.frame_top_invisible":"E\u015Fya \xC7er\xE7evesi \xDCst (G\xF6r\xFCnmez)","action.proportional_editing_range":"Orant\u0131l\u0131 D\xFCzenleme Aral\u0131\u011F\u0131","action.proportional_editing_range.desc":"Orant\u0131l\u0131 d\xFCzenleme aral\u0131\u011F\u0131n\u0131 ayarlay\u0131n","action.toggle_all_reference_images":"T\xFCm Referans G\xF6rsellerini Gizle/G\xF6ster","action.toggle_all_reference_images.desc":"T\xFCm referans g\xF6rsellerinin g\xF6r\xFCn\xFCrl\xFC\u011F\xFCn\xFC ayn\u0131 anda a\xE7/kapat","action.add_animation_controller_state":"Animasyon Kontrolc\xFCs\xFC Durumu Ekle","action.add_animation_controller_state.desc":"Animasyon kontrolc\xFCs\xFCne yeni bir durum ekleyin","menu.slider.round_value":"De\u011Feri Yuvarla","texture.error.too_large":"\xC7\xF6z\xFCn\xFCrl\xFCk %0 maksimumunu a\u015F\u0131yor","dialog.copy_to_clipboard":"Panoya kopyala","dialog.open_url":"URL'yi A\xE7","reference_image.image":"G\xF6rsel","uv_editor.rotate_uv":"UV'yi D\xF6nd\xFCr","generic.error":"Hata","projects.start_screen":"Ba\u015Flang\u0131\xE7 Ekran\u0131","message.invalid_link.message":'Y\xFCklemeye \xE7al\u0131\u015Ft\u0131\u011F\u0131n\u0131z payla\u015F\u0131lan model "%0" ge\xE7ersiz veya s\xFCresi dolmu\u015F.',"message.plugin_dependencies.title":"Eklenti Ba\u011F\u0131ml\u0131l\u0131klar\u0131","message.plugin_dependencies.message1":"Eklenti \u015Fu ba\u011F\u0131ml\u0131l\u0131klar\u0131 gerektirir:","message.plugin_dependencies.message1_update":"%0 eklentisi g\xFCncellendi ve \u015Fimdi \u015Fu ba\u011F\u0131ml\u0131l\u0131klar\u0131 gerektiriyor:","message.plugin_dependencies.message2":"Devam etmek i\xE7in bunlar\u0131 y\xFCklemek istiyor musunuz?","message.plugin_dependencies.invalid":"Maalesef eklenti y\xFCklenemiyor, ge\xE7ersiz bir ba\u011F\u0131ml\u0131l\u0131\u011F\u0131 var:","message.preview_scene_load_failed":"\xD6nizleme sahnesi y\xFCklenemedi. \u0130nternet ba\u011Flant\u0131n\u0131z\u0131 kontrol edin.","dialog.convert_project.text1":"Projeyi farkl\u0131 bir formata d\xF6n\xFC\u015Ft\xFCr.","dialog.convert_project.text2":"D\xF6n\xFC\u015F\xFCm\xFC kendi sorumlulu\u011Funuzda kullan\u0131n. Formatlar\u0131n farkl\u0131 \xF6zellikleri ve k\u0131s\u0131tlamalar\u0131 vard\u0131r, bu nedenle d\xF6n\xFC\u015Ft\xFCrme baz\u0131 durumlarda projenizin baz\u0131 k\u0131s\u0131mlar\u0131n\u0131 bozabilir.","dialog.convert_project.text3":"D\xF6n\xFC\u015Ft\xFCrmeyi geri alamazs\u0131n\u0131z, bu nedenle varsay\u0131lan olarak bir kopya olu\u015Fturulacakt\u0131r.","dialog.unsaved_work.title":"Kaydedilmemi\u015F \xC7al\u0131\u015Fma","dialog.unsaved_work.text":"A\u015Fa\u011F\u0131daki projeler kaydedilmemi\u015F de\u011Fi\u015Fiklikler i\xE7eriyor. De\u011Fi\u015Fikliklerinizi kaydetmek istiyor musunuz?","dialog.unsaved_work.discard_all":"T\xFCm\xFCnden Vazge\xE7","dialog.unsaved_work.save_all":"T\xFCm\xFCn\xFC Kaydet","dialog.resize_texture.mode":"Mod","dialog.resize_texture.mode.crop":"K\u0131rp/Geni\u015Flet","dialog.resize_texture.mode.scale":"\xD6l\xE7eklendir","dialog.plugins.is_installed":"Y\xFCkl\xFC","dialog.plugins.is_disabled":"Devre D\u0131\u015F\u0131","dialog.plugins.disable":"Devre D\u0131\u015F\u0131 B\u0131rak","dialog.plugins.enable":"Etkinle\u015Ftir","dialog.plugins.dependencies":"Ba\u011Fl\u0131 oldu\u011Fu:","dialog.view_backups.open_folder":"Klas\xF6r\xFC A\xE7","dialog.share_model.reference_images":"Referans G\xF6rsellerini Dahil Et","dialog.share_model.too_large":"Y\xFCklenemedi: Model \xE7ok b\xFCy\xFCk","dialog.share_model.too_large_references":"Y\xFCklenemedi: Model \xE7ok b\xFCy\xFCk. Referans g\xF6rselleri olmadan deneyin.","settings.stretch_linked":"Uzatmay\u0131 Ba\u011Fla","settings.stretch_linked.desc":"K\xFCp\xFC t\xFCm y\xF6nlerde ayn\u0131 de\u011Ferle uzat","settings.grids":"Izgaralar\u0131 G\xF6ster","settings.grids.desc":"T\xFCm 3B \u0131zgaralar\u0131 g\xF6ster veya gizle","settings.double_click_switch_tools":"\xC7ift T\u0131klamada Ara\xE7lar\u0131 De\u011Fi\u015Ftir","settings.double_click_switch_tools.desc":"Ara\xE7lar aras\u0131nda ge\xE7i\u015F yapmak i\xE7in g\xF6r\xFCn\xFCm alan\u0131na \xE7ift t\u0131klay\u0131n","settings.outlines_in_paint_mode":"Boya Modunda Se\xE7im Anahatlar\u0131","settings.outlines_in_paint_mode.desc":"Boya modundayken \xF6\u011Fe se\xE7im anahatlar\u0131n\u0131 g\xF6r\xFCnt\xFCle","settings.json_indentation":"JSON Girintileme","settings.json_indentation.desc":"D\u0131\u015Fa aktar\u0131lan JSON dosyalar\u0131 i\xE7in girintileme stili","settings.json_indentation.tabs":"Sekmeler","settings.json_indentation.spaces_4":"Bo\u015Fluklar: 4","settings.json_indentation.spaces_2":"Bo\u015Fluklar: 2","action.slider_stretch":"Uzat","action.slider_stretch.desc":"UV'yi de\u011Fi\u015Ftirmeden k\xFCpleri %0 ekseninde \xE7arp\u0131msal olarak uzat\u0131r","action.view_backups":"Yedekleri G\xF6r\xFCnt\xFCle","action.view_backups.desc":"Otomatik kaydedilen proje yedekleri listesine g\xF6z at\u0131n","action.search_outliner":"Anahatta Ara","action.search_outliner.desc":"Anahatta belirli \xF6\u011Fe adlar\u0131n\u0131 aray\u0131n","action.mirror_modeling":"Ayna Modelleme","action.mirror_modeling.desc":"X ekseninde Ayna Modellemeyi etkinle\u015Ftirin. G\xF6r\xFCn\xFCm alan\u0131nda yapt\u0131\u011F\u0131n\u0131z t\xFCm de\u011Fi\u015Fiklikler, \xF6\u011Fede \xF6zellikle devre d\u0131\u015F\u0131 b\u0131rak\u0131lmad\u0131k\xE7a di\u011Fer tarafa yans\u0131t\u0131lacakt\u0131r.","action.allow_element_mirror_modeling":"Ayna Modellemeye \u0130zin Ver","action.allow_element_mirror_modeling.desc":"Se\xE7ili \xF6\u011Felerin ayna modellemeden etkilenip etkilenmeyece\u011Fini se\xE7in","action.switch_face_crease":"Y\xFCz K\u0131r\u0131\u015F\u0131kl\u0131\u011F\u0131n\u0131 De\u011Fi\u015Ftir","action.switch_face_crease.desc":"D\xF6rtgenin ortada hangi y\xF6nde katland\u0131\u011F\u0131n\u0131 de\u011Fi\u015Ftirin","action.clear_unused_texture_space":"Kullan\u0131lmayan Doku Alan\u0131n\u0131 Temizle","action.clear_unused_texture_space.desc":"Herhangi bir \xF6\u011Feye UV haritalanmam\u0131\u015F doku par\xE7alar\u0131n\u0131 temizleyin","action.split_screen":"Ekran\u0131 B\xF6l","action.split_screen.desc":"Bir g\xF6r\xFCn\xFCm alan\u0131 ekran b\xF6lme modu se\xE7in","action.split_screen.single":"Tek","action.split_screen.double_horizontal":"\xC7ift Yatay","action.split_screen.double_vertical":"\xC7ift Dikey","action.split_screen.quad":"D\xF6rtl\xFC","action.split_screen.triple_left":"\xDC\xE7l\xFC Sol","action.split_screen.triple_right":"\xDC\xE7l\xFC Sa\u011F","action.split_screen.triple_top":"\xDC\xE7l\xFC \xDCst","action.split_screen.triple_bottom":"\xDC\xE7l\xFC Alt","action.uv_project_from_view":"G\xF6r\xFCn\xFCmden UV Projeksiyonu","action.uv_project_from_view.desc":"3B g\xF6r\xFCn\xFCm perspektifinden se\xE7ili y\xFCzler i\xE7in otomatik olarak UV olu\u015Fturun","action.graph_editor_other_graphs":"Di\u011Fer Grafikleri G\xF6r\xFCnt\xFCle","action.graph_editor_other_graphs.desc":"Se\xE7ili olmayan eksenlerin grafiklerinin g\xF6r\xFCnt\xFClenip g\xF6r\xFCnt\xFClenmedi\u011Fi","action.graph_editor_include_other_graphs":"Di\u011Fer Grafikleri Dahil Et","action.graph_editor_include_other_graphs.desc":"Grafik d\xFCzenleyicinin g\xF6r\xFCn\xFCmde se\xE7ili olmayan grafikleri i\xE7erip i\xE7ermedi\u011Fi","action.set_ik_source":"IK K\xF6k\xFCn\xFC Ayarla","action.set_ik_source.desc":"Bu bo\u015F nesne taraf\u0131ndan Ters Kinematik arac\u0131l\u0131\u011F\u0131yla ta\u015F\u0131nmas\u0131 gereken zincirin k\xF6k kemi\u011Fini se\xE7in","edit.loop_cut.cuts":"Kesikler","panel.element.stretch":"Uzat","preview_scene.minecraft_plains":"Ovalar","preview_scene.minecraft_cherry_grove":"Kiraz Korusu","preview_scene.minecraft_snowy_tundra":"Karl\u0131 Tundra","preview_scene.minecraft_sunset":"G\xFCn Bat\u0131m\u0131","preview_scene.minecraft_night":"Gece","preview_scene.minecraft_desert":"\xC7\xF6l","preview_scene.minecraft_underwater":"Sualt\u0131","preview_scene.minecraft_coral_reef":"Mercan Resifi","preview_scene.minecraft_lush_cave":"Yemye\u015Fil Ma\u011Fara","preview_scene.minecraft_deep_dark":"Derin Karanl\u0131k","generic.navigate_forward":"\u0130leri","generic.navigate_back":"Geri","action.element_render_order":"\u015Eeffafl\u0131k \u0130\u015Fleme S\u0131ras\u0131","action.element_render_order.default":"Otomatik","action.element_render_order.behind":"Arkada","action.element_render_order.in_front":"\xD6nde","message.installing_update.title":"G\xFCncelleme Mevcut","message.installing_update.message":"Yeni bir s\xFCr\xFCm y\xFCklenmeye haz\u0131r. Uygulamay\u0131 kapatt\u0131ktan sonra, g\xFCncellemenin y\xFCklenmesi i\xE7in Blockbench'i tekrar a\xE7madan veya bilgisayar\u0131 kapatmadan \xF6nce l\xFCtfen yakla\u015F\u0131k %0 saniye bekleyin.","settings.brush_cursor_2d":"2B F\u0131r\xE7a \u0130mleci","settings.brush_cursor_2d.desc":"2B \xE7al\u0131\u015Fma alan\u0131nda f\u0131r\xE7an\u0131n etraf\u0131nda bir anahat g\xF6r\xFCnt\xFCle","settings.brush_cursor_3d":"3B F\u0131r\xE7a \u0130mleci","settings.brush_cursor_3d.desc":"3B \xE7al\u0131\u015Fma alan\u0131nda f\u0131r\xE7an\u0131n etraf\u0131nda bir anahat g\xF6r\xFCnt\xFCle","settings.cdn_mirror":"CDN Aynas\u0131 Kullan","settings.cdn_mirror.desc":"Eklentileri indirmek i\xE7in ayna CDN'yi kullan\u0131n. Ayna, g\xFCncellemeleri daha h\u0131zl\u0131 al\u0131r ve varsay\u0131lan\u0131n \xE7al\u0131\u015Fmad\u0131\u011F\u0131 baz\u0131 b\xF6lgelerde \xE7al\u0131\u015F\u0131r.","data.layer":"Katman","data.panel":"Panel","generic.confirm_delete":"Bunu silmek istedi\u011Fine emin misin?","format_category.general":"Genel","modifier_actions.no_uniform_scaling":"Serbest \xD6l\xE7eklendirme","message.texture_refresh_conflict.title":"\xC7ak\u0131\u015Fan Doku S\xFCr\xFCmleri","message.texture_refresh_conflict.message":"Doku dosyas\u0131, Blockbench'in s\xFCr\xFCm\xFCyle \xE7ak\u0131\u015Fan de\u011Fi\u015Fiklikler i\xE7erebilir","message.texture_refresh_conflict.keep_ours":"Blockbench'in s\xFCr\xFCm\xFCn\xFC koru","message.texture_refresh_conflict.keep_theirs":"Dosyay\u0131 y\xFCkle ve Blockbench'teki t\xFCm de\u011Fi\u015Fiklikleri ve katmanlar\u0131 at","message.group_required_to_animate":"Bu t\xFCr bir \xF6\u011Feyi canland\u0131ramazs\u0131n\u0131z. Canland\u0131rmak i\xE7in bir grup olu\u015Fturun.","dialog.texture.uv_size":"UV Boyutu","dialog.advanced_screenshot.angle_preset":"A\xE7\u0131 \xD6n Ayar\u0131","dialog.advanced_screenshot.resolution":"\xC7\xF6z\xFCn\xFCrl\xFCk","dialog.advanced_screenshot.zoom_to_fit":"S\u0131\u011Facak \u015Eekilde Yak\u0131nla\u015Ft\u0131r","dialog.advanced_screenshot.zoom":"Yak\u0131nla\u015Ft\u0131rma / Odak Uzakl\u0131\u011F\u0131","dialog.advanced_screenshot.anti_aliasing":"Kenar Yumu\u015Fatma","dialog.advanced_screenshot.anti_aliasing.off":"Kapal\u0131","dialog.advanced_screenshot.anti_aliasing.msaa":"\xC7oklu \xD6rnekleme","dialog.advanced_screenshot.anti_aliasing.ssaa":"S\xFCper \xD6rnekleme","dialog.advanced_screenshot.show_gizmos":"D\xFCzenleme Yard\u0131mc\u0131lar\u0131n\u0131 G\xF6ster","dialog.advanced_screenshot.shading":"G\xF6lgelendirme","settings.auto_keyframe":"Otomatik Anahtar Kare","settings.auto_keyframe.desc":"Kemi\u011Fi daha sonraki bir noktada d\xF6n\xFC\u015Ft\xFCr\xFCrken zaman \xE7izelgesi ba\u015Flang\u0131c\u0131nda otomatik olarak varsay\u0131lan de\u011Ferlerle bir anahtar kare olu\u015Ftur","settings.modded_entity_integer_size":"Modlu Varl\u0131k Tamsay\u0131 Boyutu","settings.modded_entity_integer_size.desc":"Modlu Varl\u0131k format\u0131ndaki k\xFCp boyutlar\u0131n\u0131 tamsay\u0131larla s\u0131n\u0131rlay\u0131n. Kayan noktal\u0131 say\u0131lar baz\u0131 s\xFCr\xFCmlerde teknik olarak desteklense de, tamsay\u0131lar\u0131n UV haritas\u0131n\u0131 \xE7\u0131karmak \xE7ok daha kolayd\u0131r.","category.layers":"Katmanlar","keybind.paint_secondary_color":"\u0130kincil Renkle Boya","action.selection_tool_operation_mode":"Se\xE7im \u0130\u015Flemi Modu","action.selection_tool_operation_mode.create":"Yeni Se\xE7im","action.selection_tool_operation_mode.add":"Se\xE7ime Ekle","action.selection_tool_operation_mode.subtract":"Se\xE7imden \xC7\u0131kar","action.selection_tool_operation_mode.intersect":"Kesi\u015Ftir","action.pixel_perfect_drawing":"Piksel M\xFCkemmel \xC7izim","action.pixel_perfect_drawing.desc":"E\u011Frilerde \xE7ift piksel olmadan p\xFCr\xFCzs\xFCz piksel sanat \xE7izgileri \xE7izin","action.selection_tool":"Se\xE7im Arac\u0131","action.selection_tool.desc":"G\xF6r\xFCnt\xFCn\xFCn par\xE7alar\u0131n\u0131 se\xE7","action.selection_tool.rectangle":"Dikd\xF6rtgen","action.selection_tool.ellipse":"Elips","action.selection_tool.lasso":"Kement Se\xE7imi","action.selection_tool.wand":"Sihirli De\u011Fnek","action.selection_tool.color":"Ayn\u0131 Renk","action.move_layer_tool":"Katman\u0131 Ta\u015F\u0131","action.move_layer_tool.desc":"Mevcut katman\u0131 veya se\xE7imi ta\u015F\u0131","action.export_modded_animations":"Modlu Varl\u0131k Animasyonlar\u0131n\u0131 D\u0131\u015Fa Aktar","action.export_modded_animations.desc":"Bir Minecraft Java S\xFCr\xFCm\xFC modlu varl\u0131k modeli i\xE7in animasyonlar\u0131 d\u0131\u015Fa aktar\u0131n","action.swap_colors":"Renkleri De\u011Fi\u015Ftir","action.swap_colors.desc":"Ana rengi ikincil renkle de\u011Fi\u015Ftirin","action.apply_mesh_rotation":"D\xF6nd\xFCrmeyi Uygula","action.apply_mesh_rotation.desc":"A\u011F\u0131n \xF6\u011Fe d\xF6nd\xFCrmesini s\u0131f\u0131rlay\u0131n ve bunun yerine geometriye uygulay\u0131n","action.flip_texture_x.desc":"Dokuyu veya katman\u0131 yatay olarak \xE7evirin","action.flip_texture_y.desc":"Dokuyu veya katman\u0131 dikey olarak \xE7evirin","action.rotate_texture_cw.desc":"Dokuyu veya katman\u0131 saat y\xF6n\xFCnde d\xF6nd\xFCr\xFCn","action.rotate_texture_ccw.desc":"Dokuyu veya katman\u0131 saat y\xF6n\xFCn\xFCn tersine d\xF6nd\xFCr\xFCn","action.crop_texture_to_selection":"Dokuyu Se\xE7ime K\u0131rp","action.create_empty_layer":"Bo\u015F Katman Olu\u015Ftur","action.enable_texture_layers":"Katmanlar\u0131 Etkinle\u015Ftir","action.disable_texture_layers":"Katmanlar\u0131 Devre D\u0131\u015F\u0131 B\u0131rak","action.layer_opacity":"Katman Opakl\u0131\u011F\u0131","action.layer_to_texture_size":"Katman\u0131 Doku Boyutuna Geni\u015Flet","action.layer_to_texture_size.desc":"Katman\u0131 dokunun boyutuna geni\u015Fletin","action.merge_layer_down":"A\u015Fa\u011F\u0131 Birle\u015Ftir","action.merge_layer_down.desc":"A\u015Fa\u011F\u0131daki katmana birle\u015Ftirin","action.advanced_screenshot":"Geli\u015Fmi\u015F Ekran G\xF6r\xFCnt\xFCs\xFC...","action.advanced_screenshot.desc":"Geli\u015Fmi\u015F se\xE7eneklerle modelin bir ekran g\xF6r\xFCnt\xFCs\xFCn\xFC al\u0131n","action.bake_ik_animation":"Ters Kinematik Pi\u015Fir","action.bake_ik_animation.desc":"Ters kinematik taraf\u0131ndan uygulanan d\xF6nd\xFCrmeleri se\xE7ili animasyona pi\u015Firin","action.save_animation_preset":"Animasyon \xD6n Ayar\u0131n\u0131 Kaydet...","action.save_animation_preset.desc":"Se\xE7ili anahtar kareleri bir animasyon \xF6n ayar\u0131 olarak kaydedin","action.animation_onion_skin":"Animasyon So\u011Fan Zar\u0131","action.animation_onion_skin.desc":"Referans i\xE7in animasyonda farkl\u0131 bir karenin tel kafes g\xF6r\xFCn\xFCm\xFCn\xFC g\xF6r\xFCnt\xFCleyin","action.apply_animation_preset":"Animasyon \xD6n Ayar\u0131n\u0131 Uygula","action.apply_animation_preset.desc":"Animasyon \xF6n ayarlar\u0131 listesinden se\xE7im yap\u0131n ve se\xE7ili kemi\u011Fe uygulay\u0131n","menu.brush_presets.pixel_perfect":"Piksel M\xFCkemmel F\u0131r\xE7a","panel.layers":"Katmanlar","uv_editor.copy_paste_tool.to_layer":"Yeni Katmana","format.image.new":"Yeni G\xF6rsel Olu\u015Ftur","format.image.info.summary":"2B G\xF6rsel d\xFCzenleyici, Blockbench i\xE7inde do\u011Frudan g\xF6rsel ve piksel sanat\u0131 olu\u015Fturman\u0131za ve d\xFCzenlemenize olanak tan\u0131r. G\xF6rselleri d\xFCzenleyin, dokular\u0131 de\u011Fi\u015Ftirin veya kendi piksel sanat\u0131n\u0131z\u0131 olu\u015Fturun!","settings.move_with_selection_tool":"Se\xE7imleri Ta\u015F\u0131mak i\xE7in Se\xE7im Arac\u0131n\u0131 Kullan","settings.move_with_selection_tool.desc":"Se\xE7im Arac\u0131n\u0131n, Ta\u015F\u0131ma Katman\u0131 arac\u0131na ge\xE7mek zorunda kalmadan se\xE7imleri do\u011Frudan ta\u015F\u0131mas\u0131na izin ver","settings.final_newline":"Son Yeni Sat\u0131r","settings.final_newline.desc":"D\u0131\u015Fa aktar\u0131lan dosyalar\u0131n sonuna bir yeni sat\u0131r karakteri ekle","action.crop_layer_to_selection":"Katman\u0131 Se\xE7ime K\u0131rp","action.edit_mode_uv_overlay.desc":"UV haritas\u0131n\u0131 d\xFCzenleme modunda bir kaplama olarak g\xF6r\xFCnt\xFCleyin","menu.image":"G\xF6rsel","menu.texture.discard_changes":"De\u011Fi\u015Fikliklerden Vazge\xE7","menu.texture.discard_changes.desc":"T\xFCm kaydedilmemi\u015F de\u011Fi\u015Fikliklerden vazge\xE7in ve dosyadan en son s\xFCr\xFCm\xFC y\xFCkleyin","panel.textures.images":"G\xF6rseller","dialog.advanced":"Geli\u015Fmi\u015F","dialog.recommended_option":"\xF6nerilen","modifier_actions.snap_to_center":"Merkeze Yasla","modifier_actions.snap_to_pixels":"Piksellere Yasla","message.invalid_format.install_plugin":"'%0' eklentisini y\xFCkle","message.plugin_deprecated.message":"Bu kullan\u0131mdan kald\u0131r\u0131lm\u0131\u015F eklentiyi y\xFCklemek istedi\u011Finizden emin misiniz?","message.plugin_deprecated.install_anyway":"Yine de Y\xFCkle","message.image_editor.not_found":"Se\xE7ilen resim d\xFCzenleyici bulunamad\u0131. L\xFCtfen farkl\u0131 bir se\xE7enek se\xE7in.","message.knife_tool.confirm":"B\u0131\xE7ak Arac\u0131n\u0131 uygulamak i\xE7in %0'a bas\u0131n veya buraya t\u0131klay\u0131n","message.knife_tool.skipped_face":"Farkl\u0131 y\xFCzler aras\u0131nda kesim yap\u0131lamaz. Aralar\u0131ndaki kenarlar\u0131 veya tepe noktalar\u0131n\u0131 dahil edin!","message.optimize_animation.keyframes_removed":"%0 gereksiz anahtar kare kald\u0131r\u0131ld\u0131","message.optimize_animation.nothing_to_optimize":"Optimize edilecek bir \u015Fey bulunamad\u0131!","message.duplicate_bone_copy_animation.title":"Animasyonu Kopyala","message.duplicate_bone_copy_animation.message":"Yinelenen kemik %0 animasyonda canland\u0131r\u0131l\u0131yor. Anahtar kareleri yeni kemi\u011Fe kopyalamak istiyor musunuz?","message.auto_fix_mesh_edit.title":"Otomatik D\xFCzelt","message.auto_fix_mesh_edit.revert":"D\xFCzenlemeyi Geri Al","message.auto_fix_mesh_edit.overlapping_vertices":"Belirli tepe noktalar\u0131 ayn\u0131 noktaya ta\u015F\u0131nd\u0131. Nas\u0131l devam etmek istersiniz?","message.auto_fix_mesh_edit.concave_quads":"Bir veya daha fazla d\xF6rtl\xFC y\xFCz art\u0131k i\xE7b\xFCkey, bu da UV haritalama ve renderlemede sorunlara neden olabilir. Blockbench bunu sizin i\xE7in otomatik olarak d\xFCzeltebilir:","message.auto_fix_mesh_edit.merge_vertices":"Tepe Noktalar\u0131n\u0131 Birle\u015Ftir","message.auto_fix_mesh_edit.split_quads":"D\xF6rtl\xFCleri B\xF6l","message.load_images.add_image":"G\xF6rsel Ekle","dialog.project.modded_entity_entity_class":"Varl\u0131k S\u0131n\u0131f\u0131","dialog.resize_texture.offset":"Ofset","dialog.animated_texture_editor.code_reference":"Kod Referans\u0131","dialog.animated_texture_editor.code_reference.about":"Doku animasyonunu uygulamak i\xE7in bu kod bir referans olarak olu\u015Fturulmu\u015Ftur ve de\u011Fi\u015Ftirilmeden mutlaka \xE7al\u0131\u015Fmayabilir. Daha fazla bilgi edinmek i\xE7in belgelere g\xF6z at\u0131n.","dialog.animated_texture_editor.code_reference.docs":"Belgeler","dialog.animated_texture_editor.reframe":"Yeniden \xC7er\xE7evele","dialog.animated_texture_editor.stride":"Kare Boyutu","dialog.animated_texture_editor.frames":"Kare Say\u0131s\u0131","dialog.animated_texture_editor.add_frame":"Kare Ekle","dialog.animated_texture_editor.resize_frames":"Kareleri Yeniden Boyutland\u0131r...","dialog.animated_texture_editor.apply":"Uygula","dialog.add_primitive.edge_size":"Kenar Boyutu","dialog.change_animation_speed.speed":"H\u0131z","dialog.change_animation_speed.adjust_snapping":"Yaslamay\u0131 Ayarla","dialog.optimize_animation.selection":"Se\xE7im","dialog.optimize_animation.selection.selected_keyframes":"Se\xE7ili Anahtar Kareler","dialog.optimize_animation.selection.selected_animation":"Se\xE7ili Animasyon","dialog.optimize_animation.selection.all_animations":"T\xFCm Animasyonlar","dialog.optimize_animation.thresholds":"E\u015Fik de\u011Ferleri","dialog.import_obj.obj":"OBJ Dosyas\u0131","dialog.import_obj.mtl":"MTL Dosyas\u0131","dialog.import_obj.scale":"\xD6l\xE7ek","layout.thumbnail":"\xD6zel K\xFC\xE7\xFCk Resim CSS'i","settings.pixel_grid":"Piksel Izgaras\u0131","settings.pixel_grid.desc":"D\xFCzenleme modunda \xF6\u011Feler \xFCzerinde doku piksel \u0131zgaras\u0131n\u0131 g\xF6ster","settings.image_editor_grid_size":"G\xF6rsel D\xFCzenleyici Izgara Boyutu","settings.image_editor_grid_size.desc":"2B g\xF6rsel d\xFCzenleyicideki b\xFCy\xFCk \u0131zgaran\u0131n boyutu","settings.ground_plane_double_side":"\xC7ift Tarafl\u0131 Zemin D\xFCzlemi","settings.ground_plane_double_side.desc":"Zemin d\xFCzlemini a\u015Fa\u011F\u0131dan g\xF6r\xFCn\xFCr yap","settings.optifine_save_default_texture":"OptiFine JEM: Se\xE7ili dokuyu d\u0131\u015Fa aktar","settings.optifine_save_default_texture.desc":"Se\xE7ili dokuyu modelin varsay\u0131lan dokusu olarak d\u0131\u015Fa aktar","action.slider_color_select_threshold":"Renk Se\xE7im E\u015Fi\u011Fi","action.slider_color_select_threshold.desc":"Kom\u015Fu bir pikselin renginin renk veya sihirli de\u011Fnek se\xE7imiyle se\xE7ilmesi i\xE7in ne kadar yak\u0131n olmas\u0131 gerekti\u011Fi","action.stretch_tool":"Uzat","action.stretch_tool.desc":"\xD6\u011Feleri se\xE7me ve uzatma arac\u0131","action.knife_tool":"B\u0131\xE7ak Arac\u0131","action.knife_tool.desc":"A\u011F y\xFCzlerini daha k\xFC\xE7\xFCk par\xE7alara kesme arac\u0131","action.duplicate_project":"Projeyi \xC7o\u011Falt","action.duplicate_project.desc":"A\xE7\u0131k projenin bir kopyas\u0131n\u0131 olu\u015Fturur","action.transform_space.parent":"\xDCst","action.transform_pivot_space":"Merkez D\xF6n\xFC\u015F\xFCm Alan\u0131","action.solidify_mesh_selection":"Y\xFCzleri Kat\u0131la\u015Ft\u0131r","action.solidify_mesh_selection.desc":"A\u011F\u0131n se\xE7ili y\xFCzlerini kat\u0131la\u015Ft\u0131r\u0131n","action.animated_texture_editor":"Flipbook Animasyonu...","action.animated_texture_editor.desc":"Se\xE7ili dokunun flipbook animasyonunu kurun veya d\xFCzenleyin","action.center_individual_pivots":"Bireysel Merkezleri Ortala","action.center_individual_pivots.desc":"Se\xE7ili her \xF6\u011Fenin merkez noktas\u0131n\u0131 kendi merkezine ayarlay\u0131n","action.uv_cycle":"UV D\xF6ng\xFCs\xFC","action.uv_cycle.desc":"UV konumlar\u0131n\u0131 de\u011Fi\u015Ftirmeden UV tepe noktalar\u0131 s\u0131ras\u0131 aras\u0131nda ge\xE7i\u015F yap\u0131n","action.uv_cycle_invert":"Ters UV D\xF6ng\xFCs\xFC","action.uv_cycle_invert.desc":"UV konumlar\u0131n\u0131 de\u011Fi\u015Ftirmeden UV tepe noktalar\u0131 s\u0131ras\u0131n\u0131 tersine \xE7evirin","action.slider_animation_controller_speed":"Kontrolc\xFC Oynatma H\u0131z\u0131","action.slider_animation_controller_speed.desc":"Y\xFCzde olarak animasyon kontrolc\xFClerinin oynatma h\u0131z\u0131","action.optimize_animation":"Animasyonu Optimize Et","action.optimize_animation.desc":"Mevcut animasyonu optimize edin ve anahtar kare say\u0131s\u0131n\u0131 azalt\u0131n","action.change_animation_speed":"Animasyon H\u0131z\u0131n\u0131 De\u011Fi\u015Ftir...","action.change_animation_speed.desc":"Se\xE7ili animasyonun h\u0131z\u0131n\u0131 de\u011Fi\u015Ftirin","timeline.select_particle_file":"Par\xE7ac\u0131k Dosyas\u0131 Se\xE7","timeline.select_sound_file":"Ses Dosyas\u0131 Se\xE7","menu.cube.texture.default":"Varsay\u0131lan","menu.texture.particle.clear":"Par\xE7ac\u0131klar i\xE7in Kullanmay\u0131 B\u0131rak","menu.texture.use_as_default":"Varsay\u0131lan Olarak Ayarla","menu.texture.use_as_default.clear":"Varsay\u0131lan Olarak Atamay\u0131 Kald\u0131r","menu.toolbar.overflow":"Ara\xE7 \xC7ubu\u011Fu Ta\u015Fmas\u0131","edit.solidify_mesh_selection.thickness":"Kal\u0131nl\u0131k","reference_image.sync_to_timeline":"Zaman \xC7izelgesine Senkronize Et","reference_image.toggle_playback":"Oynat/Duraklat","dialog.add_primitive.shape.beveled_cuboid":"E\u011Fimli K\xFCboid","dialog.ignore_all":"T\xFCm\xFCn\xFC Yoksay","data.texture_group":"Doku Grubu","data.animation":"Animasyon","generic.on":"A\xE7\u0131k","generic.off":"Kapal\u0131","format.free.info.3d_printing":"3B Yazd\u0131rma","message.invalid_file.merge_conflict":"Dosya, \xE7\xF6z\xFClmemi\u015F Git birle\u015Ftirme \xE7ak\u0131\u015Fmalar\u0131 i\xE7eriyor.","dialog.expand_texture_selection.radius":"Miktar","dialog.expand_texture_selection.corner":"K\xF6\u015Fe \u015Eekli","dialog.expand_texture_selection.corner.round":"Yuvarlak","dialog.expand_texture_selection.corner.square":"Kare","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"\u0130\xE7ine Birle\u015Ftir","keybindings.variation_conflict":"Varyasyon, ana tu\u015F atamas\u0131yla \xE7ak\u0131\u015F\u0131yor","settings.recovery_save_interval":"Kurtarma Noktas\u0131 Kaydetme Aral\u0131\u011F\u0131","settings.recovery_save_interval.desc":"Blockbench, bir bilgisayar \xE7\xF6kmesi durumunda kurtarmak i\xE7in a\xE7\u0131k projeyi arka planda d\xFCzenli olarak kaydeder. Aral\u0131\u011F\u0131 saniye cinsinden ayarlay\u0131n. Kaydetmeyi devre d\u0131\u015F\u0131 b\u0131rakmak i\xE7in 0'a ayarlay\u0131n.","settings.save_view_per_tab":"G\xF6r\xFCn\xFCm\xFC Sekme Ba\u015F\u0131na Kaydet","settings.save_view_per_tab.desc":"Mevcut g\xF6r\xFCn\xFCm a\xE7\u0131s\u0131n\u0131 her sekme i\xE7in ayr\u0131 ayr\u0131 kaydet","settings.inherit_parent_color":"\xDCst Rengini Devral","settings.inherit_parent_color.desc":"Yeni olu\u015Fturulan bir \xF6\u011Fenin i\u015Faretleyici rengini rastgele bir renk yerine \xFCst \xF6\u011Fenin rengine ayarlay\u0131n","keybind.preview_select.multi_select":"\xC7oklu se\xE7","keybind.preview_select.group_select":"Grup se\xE7","keybind.preview_select.loop_select":"D\xF6ng\xFC se\xE7","action.fill_mode.selection":"Se\xE7im","action.fill_mode.selected_elements":"Se\xE7ili \xD6\u011Feler","action.image_tiled_view":"D\xF6\u015Fenmi\u015F G\xF6r\xFCn\xFCm","action.image_tiled_view.description":"2B d\xFCzenleyicide d\xF6\u015Fenmi\u015F g\xF6r\xFCn\xFCm\xFC etkinle\u015Ftir","action.image_onion_skin_view":"G\xF6rsel D\xFCzenleyici So\u011Fan Zar\u0131","action.image_onion_skin_view.description":"2B d\xFCzenleyicide so\u011Fan zar\u0131 g\xF6r\xFCn\xFCm\xFCn\xFC etkinle\u015Ftir","action.expand_texture_selection":"Doku Se\xE7imini Geni\u015Flet","action.expand_texture_selection.desc":"Doku se\xE7imini geni\u015Flet veya daralt","action.switch_tabs.reverse_order":"Ters s\u0131ra","action.save_project_incremental":"Projeyi Art\u0131ml\u0131 Olarak Kaydet","action.save_project_incremental.desc":"Mevcut modeli art\u0131ml\u0131 olarak bir proje dosyas\u0131 olarak kaydeder (\xF6r: proje_2.bbmodel)","action.copy.multiple":"T\xFCm\xFCn\xFC Kopyala","action.copy.multiple.desc":"Mevcut t\xFCm verileri ayr\u0131 ayr\u0131 kopyalay\u0131n","action.paste.multiple":"T\xFCm\xFCn\xFC Yap\u0131\u015Ft\u0131r","action.randomize_marker_colors":"\u0130\u015Faretleyici Renklerini Rastgelele\u015Ftir","action.cube_light_emission":"I\u015F\u0131k Emisyonu","action.cube_light_emission.desc":"Se\xE7ili k\xFCplerin yay\u0131c\u0131l\u0131\u011F\u0131n\u0131 0 ile 15 aras\u0131nda bir de\u011Fer olarak de\u011Fi\u015Ftirin","action.view_mode.colored_solid":"\u0130\u015Faretleyici Renkleriyle Kat\u0131","action.focus_on_selection.rotate_only":"Yaln\u0131zca d\xF6nd\xFCr","action.create_texture_group":"Doku Grubu Olu\u015Ftur","action.create_texture_group.desc":"Dokular\u0131n\u0131z i\xE7in bir grup olu\u015Fturun","action.uv_maximize.all_faces":"T\xFCm y\xFCzleri etkile","action.retarget_animators":"Animasyonlar\u0131 Yeniden Hedefle","action.retarget_animators.desc":"Hangi animat\xF6r\xFCn hangi kemi\u011Fi veya \xF6\u011Feyi hedefledi\u011Fini se\xE7in","action.merge_animation":"Animasyonu Birle\u015Ftir","action.merge_animation.desc":"Animasyonu ba\u015Fka bir animasyona birle\u015Ftirin","action.add_keyframe.reset_values":"Varsay\u0131lan de\u011Ferlerle","action.set_timeline_range_start":"Zaman \xC7izelgesi Aral\u0131\u011F\u0131 Ba\u015Flang\u0131c\u0131n\u0131 Ayarla","action.set_timeline_range_start.desc":"Animasyon zaman \xE7izelgesinde \xF6zel bir oynatma aral\u0131\u011F\u0131 i\xE7in ba\u015Flang\u0131\xE7 noktas\u0131n\u0131 ayarlay\u0131n","action.set_timeline_range_end":"Zaman \xC7izelgesi Aral\u0131\u011F\u0131 Sonunu Ayarla","action.set_timeline_range_end.desc":"Animasyon zaman \xE7izelgesinde \xF6zel bir oynatma aral\u0131\u011F\u0131 i\xE7in biti\u015F noktas\u0131n\u0131 ayarlay\u0131n","action.disable_timeline_range":"Zaman \xC7izelgesi Aral\u0131\u011F\u0131n\u0131 Devre D\u0131\u015F\u0131 B\u0131rak","action.disable_timeline_range.desc":"Animasyon zaman \xE7izelgesindeki \xF6zel oynatma aral\u0131\u011F\u0131n\u0131 devre d\u0131\u015F\u0131 b\u0131rak\u0131n","menu.texture_group.resolve":"\xC7\xF6z","menu.image_tiled_view.mirrored":"Aynal\u0131 Kenarlar","menu.image_onion_skin_view.frame":"Kareler","menu.image_onion_skin_view.frame.last_viewed":"Son G\xF6r\xFCnt\xFClenen Kare","menu.image_onion_skin_view.frame.previous":"\xD6nceki Kare","menu.image_onion_skin_view.frame.next":"Sonraki Kare","menu.image_onion_skin_view.frame.both":"\xD6nceki + Sonraki","menu.image_onion_skin_view.display":"G\xF6r\xFCnt\xFC","menu.image_onion_skin_view.display.pixels":"Daha K\xFC\xE7\xFCk Pikseller","menu.image_onion_skin_view.display.transparent":"\u015Eeffaf","menu.image_onion_skin_view.above":"Yukar\u0131da G\xF6r\xFCnt\xFCle","menu.animation.reload":"Yeniden Y\xFCkle","switches.autouv.alt":"G\xF6receli","display.rotation_pivot":"D\xF6nd\xFCrme Merkezi","display.scale_pivot":"\xD6l\xE7ek Merkezi","display.reference.fox":"Tilki","display.reference.eating":"Yemek Yeme","preview_scene.sky":"G\xF6ky\xFCz\xFC","preview_scene.space":"Uzay","preview_scene.minecraft_ocean":"Okyanus","message.import_palette.selection_only":"Yaln\u0131zca se\xE7im","dialog.blend_transition_edit.ease_in_out":"Yava\u015Flama-H\u0131zlanma (%0)","dialog.blend_transition_edit.generate":"Olu\u015Ftur...","dialog.blend_transition_edit.generate.learn_more":"Daha fazla bilgi ve \xF6nizleme","dialog.blend_transition_edit.generate.curve":"Yumu\u015Fatma Tipi","dialog.blend_transition_edit.generate.steps":"Anahtar Kareler","settings.fps_limit":"FPS S\u0131n\u0131r\u0131","settings.fps_limit.desc":"Blockbench'in saniyede ka\xE7 kare i\u015Fleyece\u011Fini s\u0131n\u0131rlay\u0131n. Ger\xE7ek kare h\u0131z\u0131, cihaz\u0131n\u0131z\u0131n g\xF6r\xFCnt\xFCleyebilece\u011Fi ile s\u0131n\u0131rl\u0131d\u0131r.","settings.outliner_reveal_on_select":"Se\xE7imde \xD6\u011Feleri G\xF6ster","settings.outliner_reveal_on_select.desc":"Se\xE7ildi\u011Finde anahatta \xF6\u011Feleri g\xF6ster","settings.java_export_pivots":"Java blok/\xF6\u011Fe modellerinde Merkez Noktalar\u0131n\u0131 D\u0131\u015Fa Aktar","settings.java_export_pivots.desc":"D\xF6nd\xFCrme olmadan k\xFCplerde Java blok/\xF6\u011Fe modellerinde merkez noktalar\u0131n\u0131 kaydet","animation_controllers.state.blend_transition_curve":"Kar\u0131\u015F\u0131m Ge\xE7i\u015F E\u011Frisi","menu.slider.reset_vector":"Vekt\xF6r\xFC S\u0131f\u0131rla","dialog.blend_transition_edit.extended":"Geni\u015Fletilmi\u015F Grafik","message.screenshot_too_large.title":"Ekran G\xF6r\xFCnt\xFCs\xFC \xC7\xF6z\xFCn\xFCrl\xFCk Sorunu","message.screenshot_too_large.message":"Ekran g\xF6r\xFCnt\xFCs\xFC ba\u015Far\u0131l\u0131 bir \u015Fekilde olu\u015Fturulamad\u0131. L\xFCtfen daha d\xFC\u015F\xFCk bir \xE7\xF6z\xFCn\xFCrl\xFCkle veya s\xFCper \xF6rnekleme olmadan tekrar deneyin.","message.rename_elements.numbering":"S\u0131ral\u0131 say\u0131lar olu\u015Fturmak i\xE7in \xF6zel karakterler kullanabilirsiniz: grubundaki \xF6\u011Fenin dizinini almak i\xE7in %, se\xE7im i\xE7indeki dizini almak i\xE7in $.","generic.edit_externally":"Harici Olarak D\xFCzenle","message.settings_require_restart.title":"Yeniden Ba\u015Flatma Gerekli","message.settings_require_restart.message":"Baz\u0131 ayarlar yaln\u0131zca program yeniden ba\u015Flat\u0131ld\u0131ktan sonra uygulanacakt\u0131r.","message.settings_require_restart.restart_now":"\u015Eimdi Yeniden Ba\u015Flat","message.settings_require_restart.restart_later":"Daha Sonra Yeniden Ba\u015Flat","message.classroom_mode.install_plugin":"S\u0131n\u0131f Modunda eklenti y\xFCklenemez","dialog.collection.export_path":"D\u0131\u015Fa Aktarma Yolu","dialog.collection.select_all":"T\xFCm\xFCn\xFC Se\xE7","dialog.collection.select_none":"Hi\xE7birini Se\xE7me","dialog.collection.add_with_filter":"Filtre ile Ekle","dialog.collection.remove":"Kald\u0131r","dialog.material_config.title":"Malzeme Yap\u0131land\u0131rmas\u0131","dialog.material_config.color_value":"Renk De\u011Feri","dialog.material_config.mer":"Metal-Emisyon-P\xFCr\xFCzl\xFCl\xFCk","dialog.material_config.mer_value":"MER De\u011Feri","dialog.material_config.depth_type":"Derinlik Tipi","dialog.create_texture.disable_mirror_uv":"UV Aynalamay\u0131 Devre D\u0131\u015F\u0131 B\u0131rak","dialog.create_texture.disable_mirror_uv.desc":"Modelin her iki taraf\u0131 i\xE7in ayr\u0131 UV'leri korumak amac\u0131yla Ayna Modelleme'deki UV Ayna se\xE7ene\u011Fini devre d\u0131\u015F\u0131 b\u0131rak\u0131n","dialog.create_gif.turn.sync_to_anim_length":"Animasyon uzunlu\u011Fuyla senkronize et","settings.category.controls":"Kontroller","settings.classroom_mode":"S\u0131n\u0131f Modu","settings.classroom_mode.desc":"Eklenti y\xFCkleme gibi i\u015Flevleri k\u0131s\u0131tlar ve sosyal medya ba\u011Flant\u0131lar\u0131n\u0131 kald\u0131r\u0131r","settings.antialiasing_bleed_fix":"Kenar yumu\u015Fatma kanamas\u0131n\u0131 d\xFCzelt","settings.antialiasing_bleed_fix.desc":"Kenar yumu\u015Fatma kullan\u0131rken doku kanamas\u0131n\u0131 d\xFCzeltir. Potansiyel olarak eski donan\u0131mlarda desteklenmez.","settings.tone_mapping":"Ton E\u015Fleme","settings.tone_mapping.desc":"PBR renderleme i\xE7in standart bir ekranda y\xFCksek dinamik aral\u0131\u011F\u0131 g\xF6r\xFCnt\xFClemek i\xE7in kullan\u0131lan yakla\u015Ft\u0131rma y\xF6ntemi.","settings.audio_scrubbing":"Zaman \xC7izelgesi S\xFCr\xFCkleme Sesi","settings.audio_scrubbing.desc":"Zaman \xE7izelgesinde s\xFCr\xFCklerken sesin k\u0131sa \xF6nizlemelerini \xE7al\u0131n","settings.viewport_rotate_speed":"G\xF6r\xFCn\xFCm Alan\u0131 D\xF6nd\xFCrme H\u0131z\u0131","settings.viewport_rotate_speed.desc":"G\xF6r\xFCn\xFCm alan\u0131nda d\xF6nerken giri\u015F hassasiyeti","settings.viewport_zoom_speed":"G\xF6r\xFCn\xFCm Alan\u0131 Yak\u0131nla\u015Ft\u0131rma H\u0131z\u0131","settings.viewport_zoom_speed.desc":"G\xF6r\xFCn\xFCm alan\u0131nda yak\u0131nla\u015Ft\u0131r\u0131rken giri\u015F hassasiyeti","settings.editor_2d_zoom_speed":"2B D\xFCzenleyici Yak\u0131nla\u015Ft\u0131rma H\u0131z\u0131","settings.editor_2d_zoom_speed.desc":"UV ve 2B boya d\xFCzenleyicide yak\u0131nla\u015Ft\u0131r\u0131rken giri\u015F hassasiyeti","category.select":"Se\xE7","action.vertex_snap_mode.rotate":"D\xF6nd\xFCr","action.export_image":"G\xF6rseli D\u0131\u015Fa Aktar","action.export_image.desc":"Dokunuzu bir g\xF6rsel dosyas\u0131 olarak d\u0131\u015Fa aktar\u0131n","action.apply_mirror_modeling":"Ayna Modellemeyi Uygula","action.apply_mirror_modeling.desc":"Se\xE7ime Ayna Modellemeyi uygulay\u0131n. T\xFCm se\xE7ili \xF6\u011Feler kopyalanacak ve X ekseninde \xE7evrilecektir.","action.create_collection":"Koleksiyon Olu\u015Ftur","action.create_collection.desc":"Anahat se\xE7iminden bir koleksiyon olu\u015Fturun","action.set_collection_content_to_selection":"Koleksiyon \u0130\xE7eri\u011Fini Se\xE7ili Olarak Ayarla","action.set_collection_content_to_selection.desc":"Se\xE7ili gruplar\u0131 ve \xF6\u011Feleri koleksiyonun i\xE7eri\u011Fi olarak ayarlay\u0131n","action.add_to_collection":"Se\xE7iliyi Koleksiyona Ekle","action.add_to_collection.desc":"Se\xE7ili gruplar\u0131 ve \xF6\u011Feleri koleksiyona ekleyin","action.view_mode.material":"Malzeme \xD6nizleme","action.create_material":"Malzeme Olu\u015Ftur","action.create_material.desc":"Se\xE7ili dokudan yeni bir PBR malzemesi olu\u015Fturun","action.generate_pbr_map":"PBR Haritas\u0131 Olu\u015Ftur...","action.generate_pbr_map.desc":"Mevcut bir dokudan bir PBR haritas\u0131 (y\xFCkseklik haritas\u0131 veya metaliklik, yay\u0131c\u0131l\u0131k, p\xFCr\xFCzl\xFCl\xFCk) olu\u015Fturun","menu.tools.main_tools":"Ara\xE7 Kutusu","menu.view.panels":"Paneller","menu.texture.pbr_channel":"PBR Kanal\u0131","menu.texture.pbr_channel.color":"Renk","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Y\xFCkseklik","menu.texture.pbr_channel.mer":"MER (Metaliklik-Yay\u0131c\u0131l\u0131k-P\xFCr\xFCzl\xFCl\xFCk)","menu.texture.pbr_channel.mer_subsurface":"MER Y\xFCzey Alt\u0131","menu.collection.export_project":"Projeyi D\u0131\u015Fa Aktar","menu.collection.export_as":'"%0" olarak D\u0131\u015Fa Aktar',"menu.panel.enable":"Etkinle\u015Ftir","menu.panel.move_to":"\u015Euraya Ta\u015F\u0131","menu.panel.move_to.left_bar":"Sol Kenar \xC7ubu\u011Fu","menu.panel.move_to.right_bar":"Sa\u011F Kenar \xC7ubu\u011Fu","menu.panel.move_to.top":"\xDCst","menu.panel.move_to.bottom":"Alt","menu.panel.move_to.float":"Y\xFCzer","menu.panel.move_to.hidden":"Gizle","menu.panel.fold":"Daralt","menu.mirror_painting.texture_center":"Merkez","menu.mirror_modeling.mirror_uv":"UV'yi Aynala","menu.animation_onion_skin.frames":"Kareler","menu.animation_onion_skin.select":"Se\xE7","menu.animation_onion_skin.previous":"\xD6nceki","menu.animation_onion_skin.next":"Sonraki","menu.animation_onion_skin.previous_next":"\xD6nceki + Sonraki","menu.animation_onion_skin.count":"Say\u0131","menu.animation_onion_skin.interval":"Aral\u0131k","menu.animation_onion_skin_selective":"Se\xE7ici So\u011Fan Zar\u0131","menu.animation_onion_skin_selective.desc":"Yaln\u0131zca model\u0131n se\xE7ili k\u0131sm\u0131 i\xE7in so\u011Fan zar\u0131 g\xF6r\xFCnt\xFCs\xFC g\xF6ster","edit.loop_cut.unit":"Birim","edit.loop_cut.unit.size_units":"Boyut Birimleri","edit.loop_cut.unit.percent":"Y\xFCzde","edit.extrude_mesh_selection.direction":"Y\xF6n","edit.extrude_mesh_selection.direction.outwards":"D\u0131\u015Fa Do\u011Fru","edit.extrude_mesh_selection.direction.average":"Ortalama","edit.extrude_mesh_selection.even_extend":"E\u015Fit Geni\u015Flet","edit.vertex_snap.align":"Hizala","edit.vertex_snap.align.longest":"En Uzun Eksen","edit.vertex_snap.align.direction":"Merkezden Y\xF6n","edit.vertex_snap.align.align_axis":"%0 Ekseni","edit.vertex_snap.ignore_axis":"Ekseni Yoksay","codec.common.format":"Format","codec.image.quality":"Kalite","panel.collections":"Koleksiyonlar","modifier_actions.always":"Her Zaman Etkin","modifier_actions.unless":"%0 olmad\u0131k\xE7a","settings.undo_selections":"Se\xE7imi Geri Al","settings.undo_selections.desc":"Se\xE7im de\u011Fi\u015Fikliklerini geri alma ge\xE7mi\u015Finde bir ad\u0131m olarak izle","action.focus_on_selection.zoom":"S\u0131\u011Facak \u015Fekilde yak\u0131nla\u015Ft\u0131r","display.reference.tooting":"Korna \xC7alma","settings.selection_tolerance":"Se\xE7im Tolerans\u0131","settings.selection_tolerance.desc":"Bir kenar\u0131 veya tepe noktas\u0131n\u0131 se\xE7mek i\xE7in t\u0131klanabilecek alan\u0131n boyutu","action.delete.keep_vertices":"Kenarlar\u0131/Tepe Noktalar\u0131n\u0131 Koru","menu.mesh":"A\u011F","dialog.material_config.subsurface":"Y\xFCzey Alt\u0131 Sa\xE7\u0131lmas\u0131","dialog.material_config.subsurface_enabled.desc":"Y\xFCzey alt\u0131 sa\xE7\u0131lmas\u0131 i\xE7in MER haritas\u0131 alfa kanal\u0131n\u0131 kullan\u0131n","settings.pick_combined_color":"Birle\u015Fik Rengi Se\xE7","settings.pick_combined_color.desc":"Aktif katmandaki renk yerine, ilgili pikseldeki t\xFCm katmanlar\u0131n birle\u015Fik rengini se\xE7in","action.split_rgb_into_layers":"RGB Kanallar\u0131n\u0131 Katmanlara B\xF6l","action.split_rgb_into_layers.desc":"Dokuyu, her RGB kanal\u0131 i\xE7in bir tane olmak \xFCzere, toplanabilir katmanlara b\xF6l\xFCn","dialog.project.java_block_version":"Format S\xFCr\xFCm\xFC","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armat\xFCr","data.armature_bone":`
`,"generic.reload":"Yeniden Y\xFCkle","modifier_actions.subtract":"\xC7\u0131kar","modifier_actions.reduced_intensity":"Hassas Ayar","modifier_actions.select_bone":"Kemi\u011Fi Se\xE7","modifier_actions.spline_select_multiple_points":"Birden Fazla Nokta veya Tutama\xE7 Se\xE7","modifier_actions.move_panel_without_docking":"Paneli sabitlemeden ta\u015F\u0131","message.save_all_textures.message":"A\u015Fa\u011F\u0131daki dokular\u0131n her birini kaydetmek istiyor musunuz?","message.save_all_textures.skip":"Atla","dialog.add_spline.shape":"\u015Eekil","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Dikd\xF6rtgen","dialog.add_spline.shape.circle":"Daire","dialog.add_spline.diameter":"\xC7ap","dialog.add_spline.sides_tubular":"T\xFCp Segmentleri","dialog.add_spline.sides_radial":"Halka Segmentleri","dialog.add_spline.radius":"T\xFCp Yar\u0131\xE7ap\u0131","dialog.add_spline.length":"Uzunluk","dialog.add_spline.width":"Geni\u015Flik","dialog.plugins.revoke_permissions":"\u0130zinleri \u0130ptal Et","dialog.expression_editor.pretty_print":"Okunabilir Format","dialog.expression_editor.minify":"K\xFC\xE7\xFClt","dialog.expression_editor.find_replace":"Bul/De\u011Fi\u015Ftir","dialog.create_gif.show_gizmos":"Yard\u0131mc\u0131lar\u0131 ve Izgaray\u0131 Kaydet","dialog.preview_options.title":"\xD6nizleme Se\xE7enekleri","dialog.preview_options.background":"Arka Plan","dialog.preview_options.background.checkerboard":"Dama Tahtas\u0131","dialog.preview_options.background.solid":"D\xFCz Renk","dialog.preview_options.background.custom_color":"\xD6zel Renk","dialog.preview_options.show_gizmos":"Yard\u0131mc\u0131lar\u0131 G\xF6ster","dialog.skin.texture_source":"Doku Kayna\u011F\u0131","dialog.skin.texture_source.template":"\u015Eablon Olu\u015Ftur","dialog.skin.texture_source.load_texture":"Minecraft'tan Y\xFCkle","dialog.skin.texture_file":"Doku Dosyas\u0131","dialog.convert_skin.adjust_texture":"Dokuyu Ayarla","dialog.settings.clear_profile_value":"Profil De\u011Ferini Temizle","layout.section.customize":"\xD6zelle\u015Ftir","layout.theme.configure":"Yap\u0131land\u0131r","layout.color.elevated":"Y\xFCkseltilmi\u015F","layout.color.elevated.desc":"Genellikle g\xF6lge ile ayr\u0131lm\u0131\u015F, y\xFCkseltilmi\u015F UI \xF6\u011Feleri","layout.file.watch_changes":"De\u011Fi\u015Fiklikleri izle ve yeniden y\xFCkle","settings.autocomplete_code":"Kodu Otomatik Tamamla","settings.autocomplete_code.desc":"Kod D\xFCzenleyicisinde otomatik tamamlama \xF6nerileri g\xF6ster","settings.detect_flipbook_textures":"Flipbook Dokular\u0131n\u0131 Alg\u0131la","settings.detect_flipbook_textures.desc":"Flipbook animasyonlu dokular\u0131 otomatik olarak alg\u0131la ve animasyon olarak \xF6nizle","settings.double_click_select_reference":"Referans g\xF6rselini \xE7ift t\u0131klamayla se\xE7","settings.double_click_select_reference.desc":"Referans g\xF6rselini se\xE7mek i\xE7in g\xF6r\xFCn\xFCm alan\u0131na \xE7ift t\u0131klay\u0131n","settings.default_keyframe_interpolation":"Varsay\u0131lan Anahtar Kare \u0130nterpolasyonu","settings.default_keyframe_interpolation.desc":"Varsay\u0131lan anahtar kare interpolasyon modunu se\xE7in","settings.color_picker_style":"Renk Se\xE7ici Stili","settings.color_picker_style.desc":"Boyama modu renk se\xE7icisi i\xE7in bir stil se\xE7in","settings.export_asset_paths":"Varl\u0131k Yollar\u0131n\u0131 D\u0131\u015Fa Aktar","settings.export_asset_paths.desc":"Dokular veya animasyonlar gibi varl\u0131klar\u0131n yollar\u0131n\u0131n .bbmodel dosyalar\u0131na nas\u0131l kaydedilece\u011Fini se\xE7in","settings.export_asset_paths.relative":"G\xF6receli Yollar","settings.export_asset_paths.absolute":"Tam Yollar","settings.export_asset_paths.both":"G\xF6receli ve Tam Yollar (Sadece Doku)","settings.export_asset_paths.none":"D\u0131\u015Fa Aktarma Yok","action.slider_spline_resolution":"Spline \xC7\xF6z\xFCn\xFCrl\xFC\u011F\xFC %0","action.slider_spline_resolution.desc":"%0 ekseninde spline \xE7\xF6z\xFCn\xFCrl\xFC\u011F\xFCn\xFC de\u011Fi\u015Ftir (%1)","action.slider_spline_resolution.u.desc_precision":"Halka Segmentleri","action.slider_spline_resolution.v.desc_precision":"T\xFCp Segmentleri","action.slider_spline_radius":"Spline Yar\u0131\xE7ap\u0131","action.slider_spline_radius.desc":"Spline yar\u0131\xE7ap\u0131n\u0131 de\u011Fi\u015Ftir","action.slider_spline_handle_tilt":"Tutamak E\u011Fimi","action.slider_spline_handle_tilt.desc":"Spline tutamak e\u011Fimini de\u011Fi\u015Ftir","action.slider_spline_handle_size":"Tutamak Boyutu","action.slider_spline_handle_size.desc":"Spline tutamak boyutunu de\u011Fi\u015Ftir","action.blend_mode.lighten":"Ayd\u0131nlat","action.blend_mode.darken":"Karart","action.weight_brush":"A\u011F\u0131rl\u0131k F\u0131r\xE7as\u0131","action.weight_brush.desc":"Armat\xFCr deformasyonlar\u0131 i\xE7in a\u011Flar \xFCzerinde tepe noktas\u0131 a\u011F\u0131rl\u0131klar\u0131n\u0131 boyay\u0131n","action.convert_minecraft_skin_variant":"\u0130nce/Klasik Kaplamaya D\xF6n\xFC\u015Ft\xFCr","action.convert_minecraft_skin_variant.desc":"Kaplama modelini klasik geni\u015F (Steve) modeli ile ince (Alex) modeli aras\u0131nda de\u011Fi\u015Ftirin. \u0130ste\u011Fe ba\u011Fl\u0131 olarak dokuyu modele uyacak \u015Fekilde otomatik ayarlay\u0131n","action.custom_skin_poses":"\xD6zel Kaplama Pozlar\u0131","action.custom_skin_poses.desc":"\xD6zel bir kaplama pozu \xF6n ayar\u0131 y\xFCkleyin","action.custom_skin_poses.update":"Pozu G\xFCncelle","action.custom_skin_poses.update.desc":"Kaydedilen pozu modelin mevcut pozuyla de\u011Fi\u015Ftirin","action.add_custom_skin_pose":"\xD6zel Kaplama Pozu Ekle","action.add_custom_skin_pose.desc":"Modelin mevcut pozunu poz \xF6n ayar\u0131 olarak kaydedin","action.export_stl":"STL Olarak D\u0131\u015Fa Aktar","action.export_stl.desc":"STL modelini 3D yazd\u0131rma i\xE7in kaydedin","action.add_element":"\xD6\u011Fe Ekle","action.add_element.desc":"\xD6\u011Fe t\xFCrleri listesinden yeni bir \xF6\u011Fe ekleyin","action.add_spline":"Spline Ekle","action.add_spline.desc":"Yeni bir spline ekler","action.add_billboard":"Billboard Ekle","action.add_billboard.desc":"Her zaman kameraya bakan d\xFCz bir \xF6\u011Fe olan yeni bir billboard ekler","action.add_armature":"Armat\xFCr Ekle","action.add_armature.desc":"Bir a\u011F\u0131n animasyon arac\u0131l\u0131\u011F\u0131yla deforme edilmesini sa\u011Flayan bir armat\xFCr ekler","action.add_armature_bone":"Armat\xFCr Kemi\u011Fi Ekle","action.add_armature_bone.desc":"Armat\xFCre bir kemik ekler","action.search_textures":"Dokularda Ara","action.search_textures.desc":"Dokular\u0131 isme g\xF6re aray\u0131n","action.search_animations":"Animasyonlarda Ara","action.search_animations.desc":"Animasyonlar\u0131 isme g\xF6re aray\u0131n","action.spline_selection_mode":"Spline Se\xE7im Modu","action.spline_selection_mode.object":"Nesne","action.spline_selection_mode.handles":"Tutamaklar","action.spline_render_mode":"Geometri","action.spline_render_mode.mesh":"A\u011F","action.spline_render_mode.path":"Yol","action.spline_render_mode.desc":"Bu spline'\u0131n hangi geometriyi render edece\u011Fi","action.spline_uv_mode":"UV Tarz\u0131","action.spline_uv_mode.length_accurate":"Do\u011Fru Uzunluk","action.spline_uv_mode.uniform":"Tekd\xFCze","action.spline_uv_mode.per_segment":"Segment Ba\u015F\u0131na","action.spline_uv_mode.desc":"Spline'\u0131n t\xFCp a\u011F\u0131n\u0131n UV'lerini nas\u0131l yerle\u015Ftirece\u011Fi","action.spline_ring_segments":"Halka Segmentleri","action.spline_ring_segments.desc":"Bu spline'\u0131n her t\xFCp halkas\u0131 ba\u015F\u0131na ka\xE7 alt b\xF6l\xFCme sahip oldu\u011Fu","action.spline_tube_segments":"T\xFCp Segmentleri","action.spline_tube_segments.desc":"Bu spline'\u0131n yolu boyunca ka\xE7 alt b\xF6l\xFCme sahip oldu\u011Fu","action.spline_tube_radius":"T\xFCp Yar\u0131\xE7ap\u0131","action.spline_tube_radius.desc":"Spline'\u0131n t\xFCp yar\u0131\xE7ap\u0131n\u0131 ayarlay\u0131n","action.spline_display_space":"G\xF6r\xFCnt\xFCleme Alan\u0131","action.spline_display_space.desc":"Yolu \xFCzerinde spline alan\u0131 g\xF6stergelerini g\xF6r\xFCnt\xFCle","action.spline_handle_mode":"Spline Tutamak Modu","action.spline_handle_mode.desc":"Spline tutamaklar\u0131n\u0131 d\xF6n\xFC\u015Ft\xFCrmek i\xE7in hangi modun kullan\u0131laca\u011F\u0131","action.spline_handle_mode.aligned":"Hizal\u0131","action.spline_handle_mode.free":"Serbest","action.spline_handle_mode.mirrored":"Aynal\u0131","action.slider_weight_brush_size":"A\u011F\u0131rl\u0131k F\u0131r\xE7as\u0131 Boyutu","action.weight_brush_xray":"A\u011F\u0131rl\u0131k F\u0131r\xE7as\u0131 X-Ray Modu","action.weight_brush_xray.desc":"Etkinle\u015Ftirildi\u011Finde, a\u011F\u0131rl\u0131k f\u0131r\xE7as\u0131 sadece y\xFCzeyde g\xF6r\xFCnenleri de\u011Fil, t\xFCm tepe noktalar\u0131n\u0131 etkiler","action.apply_spline_rotation":"D\xF6nd\xFCrmeyi Uygula","action.apply_spline_rotation.desc":"Spline'\u0131n \xF6\u011Fe d\xF6nd\xFCrmesini s\u0131f\u0131rlay\u0131n ve bunun yerine geometriye uygulay\u0131n","action.extrude_spline_selection":"Spline D\u0131\u015Fa \xC7\u0131kar","action.extrude_spline_selection.desc":"T\xFCm spline'larda se\xE7ili tutama\u011F\u0131 d\u0131\u015Fa \xE7\u0131kar\u0131n","action.split_spline":"Spline B\xF6l","action.split_spline.desc":"Spline'\u0131 se\xE7ili tutamaktan ikiye b\xF6ler","action.divide_spline_curve":"Spline Segmentini B\xF6l","action.divide_spline_curve.desc":"Spline segmentini kesi\u015Fim noktalar\u0131nda yeni bir tutama\xE7la iki yeni segmente b\xF6ler","action.set_vertex_weights":"Tepe Noktas\u0131 A\u011F\u0131rl\u0131klar\u0131n\u0131 Ayarla","action.set_vertex_weights.desc":"Se\xE7ili tepe noktalar\u0131n\u0131n a\u011F\u0131rl\u0131klar\u0131n\u0131 belirli bir armat\xFCr kemi\u011Fi \xFCzerinde belirli bir de\u011Fere ayarlay\u0131n","action.calculate_vertex_weights":"Tepe Noktas\u0131 A\u011F\u0131rl\u0131klar\u0131n\u0131 Hesapla","action.calculate_vertex_weights.desc":"Kemiklerin konumuna g\xF6re tepe noktas\u0131 a\u011F\u0131rl\u0131klar\u0131n\u0131 otomatik olarak ata","action.shelf_alignment":"Raf Hizalamas\u0131","action.shelf_alignment.desc":"Raftaki \xF6\u011Felerin dikey hizalamas\u0131n\u0131 se\xE7in","action.shelf_alignment.top":"\xDCst Hizalama","action.shelf_alignment.bottom":"Alt Hizalama","action.view_mode.vertex_weight":"Tepe Noktas\u0131 A\u011F\u0131rl\u0131\u011F\u0131","action.view_mode.weighted_bone_colors":"Tepe Noktas\u0131 Kemik Renkleri","action.create_animation_group":"Animasyon Grubu Olu\u015Ftur","action.create_animation_group.desc":"Animasyonlardan olu\u015Fan bir grup olu\u015Fturun","action.move_graph_keyframes_up":"Grafik Anahtar Karelerini Yukar\u0131 Ta\u015F\u0131","action.move_graph_keyframes_down":"Grafik Anahtar Karelerini A\u015Fa\u011F\u0131 Ta\u015F\u0131","menu.skin":"Kaplama","menu.text_edit.expression_editor":"\u0130fade D\xFCzenleyici","menu.color_picker.picker_type.normal":"Normal Harita","menu.texture.flipbook_animation":"Flipbook Animasyonu","menu.panel.attach_to":"\u015Euraya Ekle","menu.animation.playing":"Oynat\u0131l\u0131yor","menu.animation_file.save_as":"Farkl\u0131 Kaydet","menu.animator.quaternion_interpolation":"Kuaternion \u0130nterpolasyonu","edit.extrude_spline_selection.extend":"Uzat","edit.divide_spline_curve.position":"Pozisyon","group.bedrock_binding":"Ba\u011Flant\u0131","group.cem_attach":"CEM Ekle","group.cem_model":"CEM Modeli","group.cem_scale":"CEM \xD6l\xE7e\u011Fi","cube.rescale":"D\xF6nd\xFCrme \xD6l\xE7eklendirmesi","cube.rescale.desc":"D\xF6nd\xFCrme a\xE7\u0131s\u0131n\u0131 telafi etmek i\xE7in k\xFCb\xFC yeniden \xF6l\xE7eklendir","mesh.shading":"G\xF6lgelendirme","mesh.shading.flat":"D\xFCz","mesh.shading.smooth":"Yumu\u015Fak","spline_mesh.cyclic":"D\xF6ng\xFCsel (Cyclic)","spline_mesh.cyclic.desc":"Se\xE7ili spline'\u0131n bir d\xF6ng\xFC olu\u015Fturup olu\u015Fturmayaca\u011F\u0131","billboard.offset":"Ofset","billboard.facing_mode":"Y\xF6nelme Modu","billboard.facing_mode.lookat":"Bak","billboard.facing_mode.lookat_y":"Y Eksenine Bak","billboard.facing_mode.rotate":"D\xF6nd\xFCr","billboard.facing_mode.rotate_y":"Y Ekseninde D\xF6nd\xFCr","armature_bone.connected":"Ba\u011Fl\u0131","reference_image.blueprint":"Kilitli Plan","codec.image.alpha_channel":"Alfa Kanal\u0131","codec.image.animation_fps":"Animasyon FPS","panel.palette":"Palet","panel.keyframe.change_effect_file":"Efekt Dosyas\u0131n\u0131 De\u011Fi\u015Ftir","panel.transform":"D\xF6n\xFC\u015Ft\xFCr","panel.element.spline_dimensions":"Spline Boyutlar\u0131","display.slot.on_shelf":"Raf","display.reference.shelf":"Raf (T\xFCm Yuvalar)","display.reference.shelf_left":"Raf (Sol Yuva)","display.reference.shelf_center":"Raf (Orta Yuva)","display.reference.shelf_right":"Raf (Sa\u011F Yuva)","message.newer_project_format_version.title":"Eski istemci","message.newer_project_format_version.message":"Bu dosya Blockbench'in daha yeni bir s\xFCr\xFCm\xFCnde kaydedildi. Do\u011Fru \u015Fekilde a\xE7abilmek i\xE7in l\xFCtfen Blockbench %0 veya daha yeni bir s\xFCr\xFCme g\xFCncelleyin","message.load_images.add_layer":"Katman Olarak Ekle","message.load_images.category.add_to_project":"Projeye ekle","message.load_images.category.new_project":"Yeni proje","message.load_palette.title":"Palet Y\xFCkle","message.load_palette.message":"Bu paleti y\xFCklemek istedi\u011Finizden emin misiniz? Mevcut renk paletinizin yerini alacakt\u0131r.","dialog.set_vertex_weights.weight":"A\u011F\u0131rl\u0131k","dialog.set_vertex_weights.overwrite":"Di\u011Fer kemiklerin \xFCzerine yaz","action.element_render_order.short":"\u0130\u015Fleme S\u0131ras\u0131","action.element_render_order.desc":"\xD6\u011Felerin i\u015Fleme s\u0131ras\u0131. Bu, \u015Feffaf dokulu \xF6\u011Felerin arkas\u0131nda gizlenen \xF6\u011Felerin d\xFCzeltilmesine yard\u0131mc\u0131 olabilir. Opak \xF6\u011Feler i\xE7in Otomatik'te b\u0131rak\u0131n.","spline.shading.flat":"D\xFCz","spline.shading.smooth":"Yumu\u015Fak","spline.shading":"G\xF6lgelendirme","spline.shading.desc":"Bu spline'\u0131n t\xFCp\xFCn\xFCn nas\u0131l g\xF6lgelendirilece\u011Fi","action.slider_weight_brush_limit":"A\u011F\u0131rl\u0131k F\u0131r\xE7as\u0131 S\u0131n\u0131r\u0131","action.slider_weight_brush_limit.desc":"A\u011F\u0131rl\u0131k f\u0131r\xE7as\u0131n\u0131n bir tepe noktas\u0131na atayabilece\u011Fi a\u011F\u0131rl\u0131k i\xE7in \xFCst bir s\u0131n\u0131r belirleyin","action.weight_brush_blend_mode":"A\u011F\u0131rl\u0131k F\u0131r\xE7as\u0131 Kar\u0131\u015F\u0131m Modu","action.weight_brush_blend_mode.set":"Ayarla","action.weight_brush_blend_mode.add":"Ekle","action.apply_texture_to_elements":"Dokuyu \xD6\u011Felere Uygula","action.apply_texture_to_elements.desc":"Se\xE7ili dokuyu se\xE7ili \xF6\u011Felere uygula","menu.panel.reset_size":"Boyutu S\u0131f\u0131rla","action.import_layer":"Katman\u0131 \u0130\xE7e Aktar","action.import_layer.desc":"G\xF6rsel dosyalar\u0131n\u0131 katman olarak i\xE7e aktar","menu.collection.open_file":"Dosyay\u0131 A\xE7","layout.version":"S\xFCr\xFCm","settings.status_bar_transform_sliders":"Durum \xC7ubu\u011Funda D\xF6n\xFC\u015F\xFCm Kayd\u0131r\u0131c\u0131lar\u0131","settings.status_bar_transform_sliders.desc":"D\xF6n\xFC\u015Ft\xFCrme paneli yerine durum \xE7ubu\u011Funda se\xE7ili arac\u0131n d\xF6n\xFC\u015F\xFCm kayd\u0131r\u0131c\u0131lar\u0131 ara\xE7 \xE7ubu\u011Funu g\xF6r\xFCnt\xFCle","settings.default_bedrock_format":"Varsay\u0131lan Bedrock Format\u0131","settings.default_bedrock_format.desc":"Ba\u011Flamdan belirli bir format alg\u0131lanamad\u0131\u011F\u0131nda Minecraft Bedrock modellerinin y\xFCklenece\u011Fi varsay\u0131lan format\u0131 se\xE7in.","settings.limit_brush_opacity_per_stroke":"F\u0131r\xE7a Opakl\u0131\u011F\u0131n\u0131 Darbe Ba\u015F\u0131na S\u0131n\u0131rla","settings.limit_brush_opacity_per_stroke.desc":"F\u0131r\xE7an\u0131n her bir f\u0131r\xE7a darbesi s\u0131ras\u0131nda uygulayabilece\u011Fi opakl\u0131\u011F\u0131, opakl\u0131k kayd\u0131r\u0131c\u0131s\u0131n\u0131n de\u011Feriyle s\u0131n\u0131rla. Yumu\u015Fak bir f\u0131r\xE7a ile bu davran\u0131\u015F potansiyel olarak hafif istenmeyen g\xFCr\xFClt\xFCye yol a\xE7abilir.","action.merge_splines":"Spline'lar\u0131 Birle\u015Ftir","action.merge_splines.desc":"Birden fazla spline'\u0131 tek bir spline'da birle\u015Ftirin","settings.default_java_block_version":"Varsay\u0131lan Java Blok/E\u015Fya S\xFCr\xFCm\xFC","settings.default_java_block_version.desc":"Yeni Java blok/e\u015Fya modelleri olu\u015Ftururken veya format s\xFCr\xFCm\xFC olmayan dosyalar\u0131 a\xE7arken varsay\u0131lan format s\xFCr\xFCm\xFC","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var DL={"dialog.ok":"\u0413\u0430\u0440\u0430\u0437\u0434","dialog.cancel":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","dialog.confirm":"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438","dialog.close":"\u0417\u0430\u043A\u0440\u0438\u0442\u0438","dialog.import":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","dialog.save":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438","dialog.discard":"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438","dialog.dontshowagain":"\u041D\u0435 \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u043E\u0432\u0443","data.cube":"\u041A\u0443\u0431","data.group":"\u0413\u0440\u0443\u043F\u0430","data.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","data.plugin":"\u041F\u043B\u0430\u0433\u0456\u043D","data.preview":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434","data.toolbar":"\u041F\u0430\u043D\u0435\u043B\u044C \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432","data.image":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"\u041F\u0440\u043E\u0431\u0456\u043B","keys.leftclick":"\u041B\u041A\u041C","keys.middleclick":"\u0421\u041A\u041C","keys.rightclick":"\u041F\u041A\u041C","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"F%0","keys.numpad":"Numpad %0","keys.caps":"Capslock","keys.menu":"Context Menu","keys.left":"\u0423\u043B\u0456\u0432\u043E","keys.up":"\u0423\u0433\u043E\u0440\u0443","keys.right":"\u0423\u043F\u0440\u0430\u0432\u043E","keys.down":"\u0423\u043D\u0438\u0437","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"+","keys.comma":",","keys.point":"\u041A\u0440\u0430\u043F\u043A\u0430","keys.minus":"-","keys.cross":"+","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u041B\u0456\u043C\u0456\u0442 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","message.rotation_limit.message":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0443 Minecraft \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0456 \u043E\u0434\u043D\u0456\u0454\u044E \u0432\u0456\u0441\u0441\u044E \u0442\u0430 \u0443 22.5 \u0433\u0440\u0430\u0434\u0443\u0441\u0438. \u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u0456\u043D\u0448\u0456\u0439 \u043E\u0441\u0456 \u043F\u0440\u0438\u0431\u0435\u0440\u0435 \u0432\u0441\u0456 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0445 \u043E\u0441\u044F\u0445. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0430 \xAB\u0422\u0438\u043F\u043E\u0432\u0430 \u043C\u043E\u0434\u0435\u043B\u044C\xBB, \u044F\u043A\u0449\u043E \u0432\u0438 \u043C\u043E\u0434\u0435\u043B\u044E\u0454\u0442\u0435 \u0434\u043B\u044F \u0456\u043D\u0448\u0438\u0445 \u0446\u0456\u043B\u0435\u0439 \u0456 \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u0454\u0442\u0435 \u0432\u0456\u043B\u044C\u043D\u0435 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F.","message.file_not_found.title":"\u0424\u0430\u0439\u043B \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E","message.file_not_found.message":"Blockbench \u043D\u0435 \u0437\u043C\u0456\u0433 \u0437\u043D\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043B. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u0432\u0456\u043D \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0438\u0439 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E, \u0430 \u043D\u0435 \u0432 \u0445\u043C\u0430\u0440\u0456.","message.screenshot.title":"\u0417\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430","message.screenshot.clipboard":"\u0411\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0456\u043D\u0443","message.screenshot.right_click":"\u041A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u041F\u041A\u041C \u0430\u0431\u043E \u0434\u043E\u0432\u0433\u043E \u0443\u0442\u0440\u0438\u043C\u0443\u0439\u0442\u0435 \u0437\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430, \u0449\u043E\u0431 \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438","message.invalid_file.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0444\u0430\u0439\u043B","message.invalid_file.message":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B json: %0","message.invalid_model.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0444\u0430\u0439\u043B \u043C\u043E\u0434\u0435\u043B\u0456","message.invalid_model.message":"\u0426\u0435\u0439 \u0444\u0430\u0439\u043B \u043D\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u0434\u0456\u0439\u0441\u043D\u0438\u0445 \u0434\u0430\u043D\u0438\u0445 \u043C\u043E\u0434\u0435\u043B\u0456.","message.child_model_only.title":"\u041F\u043E\u0440\u043E\u0436\u043D\u044F \u0434\u043E\u0447\u0456\u0440\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u044C","message.child_model_only.message":"\u0426\u0435 \u0444\u0430\u0439\u043B \u0434\u043E\u0447\u0456\u0440\u043D\u044C\u043E\u0457 \u043C\u043E\u0434\u0435\u043B\u0456 %0, \u044F\u043A\u0438\u0439 \u043D\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0456.","message.unsaved_textures.title":"\u041D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","message.unsaved_textures.message":"\u0412\u0430\u0448\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u043C\u0430\u0454 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u0432\u0438 \u0437\u0431\u0435\u0440\u0435\u0433\u043B\u0438 \u0457\u0445 \u0456 \u0432\u0441\u0442\u0430\u0432\u0438\u043B\u0438 \u0443 \u0441\u0432\u0456\u0439 \u043F\u0430\u043A\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432 \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0443 \u0442\u0435\u043A\u0443.","message.model_clipping.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0430","message.model_clipping.message":"\u0412\u0430\u0448\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043A\u0443\u0431\u0438 (%0), \u044F\u043A\u0456 \u043F\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u044E\u0442\u044C \u043B\u0456\u043C\u0456\u0442 \u0431\u043B\u043E\u043A\u0456\u0432, \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u0438\u0439 Minecraft. \u0426\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u0431\u0443\u0434\u0435 \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u0443 Minecraft.","message.loose_texture.title":"\u0406\u043C\u043F\u043E\u0440\u0442 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","message.loose_texture.message":"\u0406\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043D\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C\u0441\u044F \u0443 \u043F\u0430\u043A\u0435\u0442\u0456 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432. Minecraft \u043C\u043E\u0436\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u043B\u0438\u0448\u0435 \u0437 \u0442\u0435\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043E\u0433\u043E \u043F\u0430\u043A\u0435\u0442\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432.","message.loose_texture.change":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0448\u043B\u044F\u0445","message.update_res.title":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","message.update_res.message":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043F\u0440\u043E\u0454\u043A\u0442\u0443 \u0434\u043E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u043E\u0441\u0442\u0456 \u0446\u0456\u0454\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438? \u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \xAB\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\xBB, \u044F\u043A\u0449\u043E \u0432\u0430\u0448\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043C\u0430\u0454 \u0432\u0438\u0449\u0443 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C, \u043D\u0456\u0436 \u0437\u0430\u0437\u0432\u0438\u0447\u0430\u0439.","message.update_res.update":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438","message.bedrock_overwrite_error.message":"Blockbench \u043D\u0435 \u043C\u043E\u0436\u0435 \u043E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0446\u044E \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0456 \u0441\u0442\u0430\u0440\u0438\u043C \u0444\u0430\u0439\u043B\u043E\u043C","message.bedrock_overwrite_error.backup_overwrite":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u043E\u043F\u0456\u044E \u0442\u0430 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438","message.bedrock_overwrite_error.overwrite":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438","message.close_warning.message":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C?","message.close_warning.web":"\u0412\u0430\u0448\u0430 \u043F\u043E\u0442\u043E\u0447\u043D\u0430 \u0440\u043E\u0431\u043E\u0442\u0430 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u0430. \u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0439\u0442\u0438?","message.default_textures.title":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","message.default_textures.message":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0443 \u0442\u0435\u043A\u0443 \xABtextures\xBB \u0437 \u043F\u0430\u043A\u0435\u0442\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432","message.default_textures.detail":"\u0412\u0438\u0434\u043E\u0431\u0443\u0442\u0435 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u043F\u0430\u043A\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432 \u0437 \u0444\u0430\u0439\u043B\u0443 .jar \u0430\u0431\u043E \u0436 \u0437\u0430\u0433\u0443\u0433\u043B\u0456\u0442\u044C \u0456 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0439\u043E\u0433\u043E. \u041F\u043E\u0442\u0456\u043C \u0437\u043D\u0430\u0439\u0434\u0456\u0442\u044C \u0442\u0435\u043A\u0443 \xABtextures\xBB \u0456 \u0432\u0456\u0434\u043A\u0440\u0438\u0439\u0442\u0435 \u0457\u0457. Blockbench \u0437\u0430\u043F\u0430\u043C\u2019\u044F\u0442\u0430\u0454 \u0440\u043E\u0437\u0442\u0430\u0448\u0443\u0432\u0430\u043D\u043D\u044F \u0456 \u0441\u043F\u0440\u043E\u0431\u0443\u0454 \u0443\u0437\u044F\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0437\u0432\u0456\u0434\u0442\u0438, \u044F\u043A\u0449\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435 \u0457\u0445 \u0443 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u043C\u0443 \u043F\u0430\u043A\u0435\u0442\u0456 \u0440\u0435\u0441\u0443\u0440\u0441\u0456\u0432.","message.default_textures.select":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0443 \u0442\u0435\u043A\u0443 \xABtextures\xBB","message.image_editor.title":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","message.image_editor.file":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B...","message.image_editor.exe":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u043D\u0438\u0439 \u0444\u0430\u0439\u043B \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","message.display_skin.title":"\u0421\u043A\u0438\u043D Minecraft","message.display_skin.message":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u043A\u0438\u043D\u0443 \u0437 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E \u0430\u0431\u043E \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0456\u043C\u2019\u044F \u0433\u0440\u0430\u0432\u0446\u044F","message.display_skin.upload":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B","message.display_skin.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438","message.invalid_plugin":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0444\u0430\u0439\u043B \u043F\u043B\u0430\u0433\u0456\u043D\u0430, \u0434\u0438\u0432. \u043A\u043E\u043D\u0441\u043E\u043B\u044C","message.load_plugin_app":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0446\u044C\u043E\u043C\u0443 \u043F\u043B\u0430\u0433\u0456\u043D\u0443 \u0432\u043D\u043E\u0441\u0438\u0442\u0438 \u0437\u043C\u0456\u043D\u0438 \u043D\u0430 \u0432\u0430\u0448\u043E\u043C\u0443 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E? \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0439\u0442\u0435 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u043B\u0438\u0448\u0435 \u0432\u0456\u0434 \u0430\u0432\u0442\u043E\u0440\u0456\u0432, \u044F\u043A\u0438\u043C \u0432\u0438 \u0434\u043E\u0432\u0456\u0440\u044F\u0454\u0442\u0435.","message.load_plugin_web":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0446\u0435\u0439 \u043F\u043B\u0430\u0433\u0456\u043D? \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0439\u0442\u0435 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u043B\u0438\u0448\u0435 \u0432\u0456\u0434 \u0430\u0432\u0442\u043E\u0440\u0456\u0432, \u044F\u043A\u0438\u043C \u0432\u0438 \u0434\u043E\u0432\u0456\u0440\u044F\u0454\u0442\u0435.","message.preset_no_info":"\u0428\u0430\u0431\u043B\u043E\u043D \u043D\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u0432\u0456\u0434\u043E\u043C\u043E\u0441\u0442\u0435\u0439 \u0434\u043B\u044F \u0446\u0456\u0454\u0457 \u043A\u043E\u043C\u0456\u0440\u043A\u0438","message.restart_to_update":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0456\u0442\u044C Blockbench, \u0449\u043E\u0431 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0437\u043C\u0456\u043D\u0438","message.save_file":"\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043E \u044F\u043A %0","dialog.project.title":"\u041F\u0440\u043E\u0454\u043A\u0442","dialog.project.name":"\u041D\u0430\u0437\u0432\u0430 \u0444\u0430\u0439\u043B\u0443","dialog.project.parent":"\u0411\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u044C","dialog.project.geoname":"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043C\u043E\u0434\u0435\u043B\u0456","dialog.project.ao":"\u0420\u043E\u0437\u0441\u0456\u044F\u043D\u0435 \u0437\u0430\u0442\u0435\u043C\u043D\u0435\u043D\u043D\u044F","dialog.texture.title":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","dialog.texture.variable":"\u0417\u043C\u0456\u043D\u043D\u0430","dialog.texture.namespace":"\u0414\u043E\u043C\u0435\u043D","dialog.texture.folder":"\u0422\u0435\u043A\u0430","dialog.extrude.title":"\u0412\u0438\u0434\u0430\u0432\u0438\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","dialog.extrude.mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F","dialog.extrude.mode.areas":"\u0417\u043E\u043D\u0438","dialog.extrude.mode.lines":"\u041B\u0456\u043D\u0456\u0457","dialog.extrude.mode.columns":"\u041A\u043E\u043B\u043E\u043D\u0438","dialog.extrude.mode.pixels":"\u041F\u0456\u043A\u0441\u0435\u043B\u0456","dialog.extrude.opacity":"\u041C\u0456\u043D. \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C","dialog.extrude.scan":"\u0421\u043A\u0430\u043D\u0443\u0432\u0430\u0442\u0438 \u0442\u0430 \u0456\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","dialog.display_preset.title":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D","dialog.display_preset.message":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u043C\u0456\u0440\u043A\u0438, \u044F\u043A\u0456 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438","dialog.display_preset.create":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438","dialog.select.title":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438","dialog.select.group":"\u0423 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456\u0439 \u0433\u0440\u0443\u043F\u0456","dialog.select.name":"\u041D\u0430\u0437\u0432\u0430 \u043C\u0456\u0441\u0442\u0438\u0442\u044C","dialog.select.random":"\u0428\u0430\u043D\u0441 \u0456\u043C\u043E\u0432\u0456\u0440\u043D\u043E\u0441\u0442\u0456 (%)","dialog.select.select":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438","dialog.scale.title":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C","dialog.scale.axis":"\u0412\u0456\u0441\u044C","dialog.scale.clipping":"\u041E\u0431\u0440\u0456\u0437\u0430\u043D\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u0456: \u0412\u0430\u0448\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0430 \u0434\u043B\u044F \u043F\u043E\u043B\u043E\u0442\u043D\u0430","dialog.scale.confirm":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438","dialog.plugins.title":"\u041F\u043B\u0430\u0433\u0456\u043D\u0438","dialog.plugins.installed":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456","dialog.plugins.available":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456","dialog.plugins.install":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438","dialog.plugins.uninstall":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","dialog.plugins.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","dialog.plugins.none_installed":"\u041D\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0436\u043E\u0434\u043D\u0438\u0445 \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432","dialog.plugins.none_available":"\u041D\u0435\u043C\u0430\u0454 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0438\u0445 \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432","dialog.plugins.web_only":"\u041B\u0438\u0448\u0435 \u0434\u043B\u044F \u0432\u0435\u0431\u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0443","dialog.plugins.app_only":"\u041B\u0438\u0448\u0435 \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u0456\u043B\u044C\u043D\u043E\u0433\u043E \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0443","dialog.plugins.author":"\u0432\u0456\u0434 %0","dialog.create_texture.folder":"\u0422\u0435\u043A\u0430","dialog.create_texture.resolution":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C","dialog.input.title":"\u0412\u0432\u0435\u0434\u0435\u043D\u043D\u044F","dialog.settings.settings":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F","dialog.settings.keybinds":"\u0421\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448","dialog.settings.about":"\u041F\u0440\u043E \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043E\u043A","layout.color.back":"\u041D\u0430\u0437\u0430\u0434","layout.color.back.desc":"\u0422\u043B\u0430 \u0442\u0430 \u0440\u044F\u0434\u043A\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F","layout.color.dark":"\u0422\u0435\u043C\u043D\u0438\u0439","layout.color.dark.desc":"\u0422\u043B\u043E \u043F\u043E\u043B\u043E\u0442\u043D\u0430","layout.color.ui":"\u0406\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","layout.color.ui.desc":"\u041E\u0441\u043D\u043E\u0432\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","layout.color.bright_ui":"\u042F\u0441\u043A\u0440\u0430\u0432\u0438\u0439 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","layout.color.bright_ui.desc":"\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0456 \u043C\u0435\u043D\u044E \u0442\u0430 \u043F\u0456\u0434\u043A\u0430\u0437\u043A\u0438","layout.color.button":"\u041A\u043D\u043E\u043F\u043A\u0430","layout.color.button.desc":"\u041A\u043D\u043E\u043F\u043A\u0438 \u0442\u0430 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\u0456","layout.color.selected":"\u0412\u0438\u0431\u0440\u0430\u043D\u0456","layout.color.selected.desc":"\u0412\u0438\u0431\u0440\u0430\u043D\u0456 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u0442\u0430 \u043E\u0431\u2019\u0454\u043A\u0442\u0438","layout.color.border":"\u041C\u0435\u0436\u0430","layout.color.border.desc":"\u041C\u0435\u0436\u0430 \u043A\u043D\u043E\u043F\u043E\u043A \u0456 \u0440\u044F\u0434\u043A\u0456\u0432 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F","layout.color.accent":"\u0410\u043A\u0446\u0435\u043D\u0442","layout.color.accent.desc":"\u041F\u043E\u0432\u0437\u0443\u043D\u043E\u043A \u0432\u0435\u043B\u0438\u043A\u043E\u0433\u043E \u043F\u0430\u043B\u044C\u0446\u044F \u0442\u0430 \u0456\u043D\u0448\u0456 \u0434\u0435\u0442\u0430\u043B\u0456","layout.color.grid":"\u0421\u0456\u0442\u043A\u0430","layout.color.grid.desc":"\u0421\u0456\u0442\u043A\u0430 3D \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","layout.color.text":"\u0422\u0435\u043A\u0441\u0442","layout.color.text.desc":"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.light":"\u041F\u0456\u0434\u0441\u0432\u0456\u0442\u043A\u0430","layout.color.light.desc":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.accent_text":"\u0410\u043A\u0446\u0435\u043D\u0442\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.accent_text.desc":"\u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u0430\u043A\u0446\u0435\u043D\u0442\u043D\u043E\u043C\u0443 \u0442\u043B\u0456","layout.font.main":"\u041E\u0441\u043D\u043E\u0432\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442","layout.font.headline":"\u0428\u0440\u0438\u0444\u0442 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0456\u0432","about.version":"\u0412\u0435\u0440\u0441\u0456\u044F:","settings.category.general":"\u0417\u0430\u0433\u0430\u043B\u044C\u043D\u0456","settings.category.preview":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434","settings.category.grid":"\u0421\u0456\u0442\u043A\u0430","settings.category.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","settings.category.snapping":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u0432\u0430\u043D\u043D\u044F","settings.category.defaults":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0456 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438","settings.category.dialogs":"\u0414\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0456 \u0432\u0456\u043A\u043D\u0430","settings.category.export":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442","settings.language":"\u041C\u043E\u0432\u0430","settings.language.desc":"\u041C\u043E\u0432\u0430 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","settings.backup_interval":"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0433\u043E \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F","settings.backup_interval.desc":"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u0433\u043E \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0433\u043E \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F \u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0430\u0445","settings.origin_size":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443","settings.origin_size.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443","settings.control_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","settings.control_size.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432 \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","settings.display_skin":"\u0421\u043A\u0438\u043D Minecraft","settings.display_skin.desc":"\u0421\u043A\u0438\u043D, \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 \u0433\u0440\u0430\u0432\u0446\u044F","settings.shading":"\u0422\u0456\u043D\u0456","settings.shading.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0442\u0456\u043D\u0456 \u0443 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0456","settings.base_grid":"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0430 \u0441\u0456\u0442\u043A\u0430","settings.base_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0443 \u0441\u0456\u0442\u043A\u0443 \u0442\u0430 \u043E\u0441\u0456","settings.large_grid":"\u0412\u0435\u043B\u0438\u043A\u0430 \u0441\u0456\u0442\u043A\u0430","settings.large_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u0437 \u0440\u043E\u0437\u043C\u0456\u0440\u043E\u043C \u0431\u043B\u043E\u043A\u0443 16x16","settings.full_grid":"\u0422\u043E\u0447\u043D\u0430 \u0441\u0456\u0442\u043A\u0430 \u0431\u043B\u043E\u043A\u0456\u0432","settings.full_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u0431\u043B\u043E\u043A\u0456\u0432 \u0437 \u0442\u043E\u0447\u043D\u0456\u0441\u0442\u044E \u0434\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u044F","settings.large_box":"\u0412\u0435\u043B\u0438\u043A\u0430 \u043A\u043E\u0440\u043E\u0431\u043A\u0430","settings.large_box.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0435\u0436\u0443 \u0431\u043B\u043E\u043A\u0456\u0432 \u0443 \u043A\u0443\u0431\u0456 3x3x3","settings.display_grid":"\u0421\u0456\u0442\u043A\u0430 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u043F\u043E\u043A\u0430\u0437\u0443","settings.display_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u0432 \u0440\u0435\u0436\u0438\u043C\u0456 \u043F\u043E\u043A\u0430\u0437\u0443","settings.undo_limit":"\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0445 \u0434\u0456\u0439","settings.undo_limit.desc":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u043D\u044C \u0434\u0456\u0439, \u044F\u043A\u0456 \u043C\u043E\u0436\u043D\u0430 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","settings.local_move":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043D\u0430 \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u0456 \u043E\u0441\u0456","settings.local_move.desc":"\u041F\u043E \u043C\u043E\u0436\u043B\u0438\u0432\u043E\u0441\u0442\u0456 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0430\u0442\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043D\u0430 \u0457\u0445 \u0432\u043B\u0430\u0441\u043D\u0438\u0445 \u043E\u0441\u044F\u0445","settings.canvas_unselect":"\u0417\u043D\u0456\u043C\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u043D\u0430 \u0442\u043B\u043E","settings.canvas_unselect.desc":"\u0417\u043D\u0456\u043C\u0430\u0454 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0437 \u0443\u0441\u0456\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u043F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u043D\u0430 \u0442\u043B\u043E \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043B\u044E \u0430\u0431\u043E \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456","settings.paint_side_restrict":"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0435\u043D\u0437\u0435\u043B\u044C \u043D\u0430 \u0441\u0442\u043E\u0440\u043E\u043D\u0443","settings.paint_side_restrict.desc":"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0435\u043D\u0437\u043B\u0456 \u0434\u043B\u044F \u0444\u0430\u0440\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043B\u0438\u0448\u0435 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u0441\u0442\u043E\u0440\u043E\u043D\u0438","settings.autouv":"\u0410\u0432\u0442\u043E. UV","settings.autouv.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0439 UV \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u043E","settings.create_rename":"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0435\u043B\u0435\u043C\u0435\u043D\u0442","settings.create_rename.desc":"\u0421\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438 \u043D\u0430 \u043F\u043E\u043B\u0435 \u043D\u0430\u0437\u0432\u0438 \u043F\u0440\u0438 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u0456 \u043D\u043E\u0432\u043E\u0433\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0430\u0431\u043E \u0433\u0440\u0443\u043F\u0438","settings.edit_size":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438","settings.edit_size.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438, \u0434\u043E \u044F\u043A\u043E\u0457 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u044E\u0442\u044C\u0441\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","settings.shift_size":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C Shift","settings.shift_size.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438 \u043F\u0440\u0438 \u0443\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u0456 Shift","settings.ctrl_size":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C Control","settings.ctrl_size.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438 \u043F\u0440\u0438 \u0443\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u0456 Control","settings.negative_size":"\u0412\u0456\u0434\u2019\u0454\u043C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440","settings.negative_size.desc":"\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0443 \u0437\u043C\u0456\u043D\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u2019\u0454\u043C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438","settings.minifiedout":"\u041C\u0456\u043D\u0456\u043C\u0456\u0437\u043E\u0432\u0430\u043D\u0438\u0439 \u0435\u043A\u0441\u043F\u043E\u0440\u0442","settings.minifiedout.desc":"\u0417\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 JSON \u0444\u0430\u0439\u043B\u0438 \u0432 \u043E\u0434\u0438\u043D \u0440\u044F\u0434\u043E\u043A","settings.export_groups":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u0433\u0440\u0443\u043F \u0443 \u043C\u043E\u0434\u0435\u043B\u044F\u0445 \u0431\u043B\u043E\u043A\u0456\u0432/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432 Java","settings.export_groups.desc":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0433\u0440\u0443\u043F\u0438 \u0443 \u0444\u0430\u0439\u043B\u0430\u0445 JSON \u043C\u043E\u0434\u0435\u043B\u0456 \u0431\u043B\u043E\u043A\u0443 \u0447\u0438 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 Java","settings.credit":"\u041A\u043E\u043C\u0435\u043D\u0442\u0430\u0440 \u0430\u0432\u0442\u043E\u0440\u0430","settings.credit.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440 \u0430\u0432\u0442\u043E\u0440\u0430 \u0434\u043E \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u0444\u0430\u0439\u043B\u0456\u0432","settings.default_path":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0448\u043B\u044F\u0445 \u0434\u043E \u0442\u0435\u043A\u0441\u0442\u0443\u0440 Minecraft","settings.default_path.desc":"\u0422\u0435\u043A\u0430, \u0437\u0432\u0456\u0434\u043A\u0438 Blockbench \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0454 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","settings.image_editor":"\u0413\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","settings.image_editor.desc":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440","category.navigate":"\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F","category.tools":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438","category.file":"\u0424\u0430\u0439\u043B","category.blockbench":"Blockbench","category.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438","category.transform":"\u0422\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F","category.view":"\u0412\u0438\u0433\u043B\u044F\u0434","category.display":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u043A\u0430\u0437\u0443","category.textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0438","category.misc":"\u0420\u0456\u0437\u043D\u0435","keybind.preview_select":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438","keybind.preview_rotate":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0434","keybind.preview_drag":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0443\u0442\u0438 \u0432\u0438\u0434","keybind.confirm":"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438","keybind.cancel":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","action.slider_inflate":"\u0420\u043E\u0437\u0434\u0443\u0442\u0438","action.slider_inflate.desc":"\u0420\u043E\u0437\u0434\u0443\u0442\u0438 \u043A\u0443\u0431 \u0443 \u0432\u0441\u0456\u0445 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0430\u0445, \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u044E\u0447\u0438 UV","action.slider_brush_size":"\u0420\u043E\u0437\u043C\u0456\u0440","action.slider_brush_size.desc":"\u0420\u0430\u0434\u0456\u0443\u0441 \u043F\u0435\u043D\u0437\u043B\u044F \u0432 \u043F\u0456\u043A\u0441\u0435\u043B\u044F\u0445","action.slider_brush_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C","action.slider_brush_opacity.desc":"\u041D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u043F\u0435\u043D\u0437\u043B\u044F \u0432\u0456\u0434 0 \u0434\u043E 255","action.slider_brush_softness":"\u041C\u2019\u044F\u043A\u0456\u0441\u0442\u044C","action.slider_brush_softness.desc":"\u041C\u2019\u044F\u043A\u0456\u0441\u0442\u044C \u043F\u0435\u043D\u0437\u043B\u044F \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445","action.uv_slider_pos_x":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.uv_slider_pos_x.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.uv_slider_pos_y":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.uv_slider_pos_y.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.uv_slider_size_x":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.uv_slider_size_x.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0443\u0441\u0456\u0445 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 UV \u0433\u0440\u0430\u043D\u044C \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.uv_slider_size_y":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0456","action.uv_slider_size_y.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0443\u0441\u0456\u0445 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 UV \u0433\u0440\u0430\u043D\u044C \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.vertex_snap_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438","action.vertex_snap_mode.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C, \u044F\u043A\u0449\u043E \xAB\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0443\xBB \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0443\u0454 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0447\u0438 \u0437\u043C\u0456\u043D\u044E\u0454 \u0457\u0445 \u0440\u043E\u0437\u043C\u0456\u0440","action.move_tool":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438","action.move_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0430 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.resize_tool":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440","action.resize_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0430 \u0437\u043C\u0456\u043D\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.brush_tool":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C","action.brush_tool.desc":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C \u0434\u043B\u044F \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.vertex_snap_tool":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0443","action.vertex_snap_tool.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043E\u0434\u0438\u043D \u043A\u0443\u0431 \u0434\u043E \u0456\u043D\u0448\u043E\u0433\u043E, \u0437\u2019\u0454\u0434\u043D\u0430\u0432\u0448\u0438 \u0434\u0432\u0456 \u0432\u0435\u0440\u0448\u0438\u043D\u0438","action.swap_tools":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442","action.swap_tools.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u043C\u0456\u0436 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F \u0442\u0430 \u0437\u043C\u0456\u043D\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u0443","action.project_window":"\u041F\u0440\u043E\u0454\u043A\u0442...","action.project_window.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0432\u0456\u043A\u043D\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443, \u0434\u0435 \u043C\u043E\u0436\u043D\u0430 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043C\u0435\u0442\u0430\u0434\u0430\u043D\u0456 \u043C\u043E\u0434\u0435\u043B\u0456","action.open_model":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C","action.open_model.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B \u043C\u043E\u0434\u0435\u043B\u0456 \u0437 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E","action.extrude_texture":"\u0420\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.extrude_texture.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C, \u0440\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0432\u0448\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.export_blockmodel":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044E \u0431\u043B\u043E\u043A\u0443/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430","action.export_blockmodel.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0443/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 Minecraft Java Edition","action.export_optifine_part":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0443 OptiFine","action.export_optifine_part.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043E\u0434\u043D\u0443 \u0447\u0430\u0441\u0442\u0438\u043D\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 OptiFine","action.export_optifine_full":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 OptiFine JEM","action.export_optifine_full.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0432\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 OptiFine","action.export_obj":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C OBJ","action.export_obj.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C Wavefront OBJ \u0434\u043B\u044F \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457","action.settings_window":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F...","action.settings_window.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0432\u0456\u043A\u043D\u043E \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C Blockbench.","action.plugins_window":"\u041F\u043B\u0430\u0433\u0456\u043D\u0438...","action.plugins_window.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0432\u0456\u043A\u043D\u043E \u043A\u0440\u0430\u043C\u043D\u0438\u0446\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432.","action.reset_layout":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u043A\u0435\u0442","action.reset_layout.desc":"\u0412\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u043C\u0430\u043A\u0435\u0442 Blockbench","action.load_plugin":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \u0437 \u0444\u0430\u0439\u043B\u0443","action.load_plugin.desc":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D, \u0456\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0432\u0448\u0438 \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0439 \u0444\u0430\u0439\u043B","action.reload_plugins":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0438","action.reload_plugins.desc":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0441\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u0440\u043E\u0437\u0440\u043E\u0431\u043A\u0438","action.undo":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","action.undo.desc":"\u0421\u043A\u0430\u0441\u043E\u0432\u0443\u0454 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0437\u043C\u0456\u043D\u0443","action.redo":"\u0412\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438","action.redo.desc":"\u0412\u0456\u0434\u043D\u043E\u0432\u043B\u044E\u0454 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0437\u043C\u0456\u043D\u0443","action.copy":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438","action.copy.desc":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F, \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0433\u0440\u0430\u043D\u044C \u0430\u0431\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u043F\u043E\u043A\u0430\u0437\u0443","action.paste":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438","action.paste.desc":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F, \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0433\u0440\u0430\u043D\u044C \u0430\u0431\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u043F\u043E\u043A\u0430\u0437\u0443","action.cut":"\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438","action.cut.desc":"\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F, \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0433\u0440\u0430\u043D\u044C \u0430\u0431\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u043F\u043E\u043A\u0430\u0437\u0443","action.add_cube":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u0443\u0431","action.add_cube.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0438\u0439 \u043A\u0443\u0431","action.add_group":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0433\u0440\u0443\u043F\u0443","action.add_group.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0443 \u0433\u0440\u0443\u043F\u0443 \u0430\u0431\u043E \u043A\u0456\u0441\u0442\u043A\u0443","action.outliner_toggle":"\u0411\u0456\u043B\u044C\u0448\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0456\u0432","action.outliner_toggle.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0454/\u0445\u043E\u0432\u0430\u0454 \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0456 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.duplicate":"\u0414\u0443\u0431\u043B\u0456\u043A\u0430\u0442","action.delete":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","action.sort_outliner":"\u0423\u043F\u043E\u0440\u044F\u0434\u043A\u0443\u0432\u0430\u0442\u0438 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A","action.sort_outliner.desc":"\u0423\u043F\u043E\u0440\u044F\u0434\u043A\u0443\u0432\u0430\u0442\u0438 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A \u0437\u0430 \u0430\u043B\u0444\u0430\u0432\u0456\u0442\u043E\u043C","action.select_window":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438...","action.select_window.desc":"\u041F\u043E\u0448\u0443\u043A \u0456 \u0432\u0438\u0431\u0456\u0440 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0456 \u0457\u0445\u043D\u0456\u0445 \u0432\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0435\u0439","action.invert_selection":"\u0406\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.invert_selection.desc":"\u0406\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","action.select_all":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0435","action.collapse_groups":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0433\u0440\u0443\u043F\u0438","action.collapse_groups.desc":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0443\u043F\u0438 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438...","action.scale.desc":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","action.toggle_visibility":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C","action.toggle_visibility.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.toggle_export":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u043E\u0440\u0442","action.toggle_export.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.toggle_autouv":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0430\u0432\u0442\u043E. UV","action.toggle_autouv.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0430\u0432\u0442\u043E. UV \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.toggle_shade":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0442\u0456\u043D\u0456","action.toggle_shade.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0442\u0456\u043D\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0443\u0431\u0456\u0432","action.rename":"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438","action.rename.desc":"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0430\u0431\u043E \u0433\u0440\u0443\u043F\u0438","action.add_display_preset":"\u041D\u043E\u0432\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D","action.add_display_preset.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C \u043F\u043E\u043A\u0430\u0437\u0443","action.fullscreen":"\u041D\u0430 \u0432\u0435\u0441\u044C \u0435\u043A\u0440\u0430\u043D","action.fullscreen.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u043D\u0430 \u0432\u0435\u0441\u044C \u0435\u043A\u0440\u0430\u043D","action.zoom_in":"\u0417\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438","action.zoom_in.desc":"\u0417\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","action.zoom_out":"\u0417\u043C\u0435\u043D\u0448\u0438\u0442\u0438","action.zoom_out.desc":"\u0417\u043C\u0435\u043D\u0448\u0438\u0442\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","action.zoom_reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","action.zoom_reset.desc":"\u0412\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043E 100%","action.reset_interface":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","action.reset_interface.desc":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0442\u0430 \u043F\u043E\u0437\u0438\u0446\u0456\u0457 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","action.screenshot_model":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0437\u043D\u0456\u043C\u043E\u043A \u043C\u043E\u0434\u0435\u043B\u0456","action.screenshot_model.desc":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u043E\u0431\u0440\u0456\u0437\u0430\u043D\u0438\u0439 \u0437\u043D\u0456\u043C\u043E\u043A \u043C\u043E\u0434\u0435\u043B\u0456 \u0437 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443","action.screenshot_app":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0437\u043D\u0456\u043C\u043E\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438","action.screenshot_app.desc":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0437\u043D\u0456\u043C\u043E\u043A \u0443\u0441\u0456\u0454\u0457 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438","action.import_texture":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.import_texture.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u0438","action.create_texture":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.create_texture.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u044E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0430\u0431\u043E \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.save_textures":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.save_textures.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0456 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.animated_textures":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.animated_textures.desc":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438/\u0437\u0443\u043F\u0438\u043D\u0438\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0438\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.origin_to_geometry":"\u0426\u0435\u043D\u0442\u0440 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443","action.origin_to_geometry.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0446\u0435\u043D\u0442\u0440 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443 \u0432 \u0446\u0435\u043D\u0442\u0440 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.bone_reset_toggle":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043A\u0456\u0441\u0442\u043A\u0443","action.bone_reset_toggle.desc":"\u0417\u0443\u043F\u0438\u043D\u0438\u0442\u0438 \u043F\u043E\u043A\u0430\u0437 \u043A\u0456\u0441\u0442\u043A\u043E\u044E \u043A\u0443\u0431\u0456\u0432 \u0456\u0437 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u0457 \u043C\u043E\u0434\u0435\u043B\u0456","action.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 Blockbench","action.reload.desc":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 Blockbench. \u0426\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0434\u0435 \u0434\u043E \u0432\u0442\u0440\u0430\u0442\u0438 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0433\u0440\u0435\u0441\u0443","menu.file":"\u0424\u0430\u0439\u043B","menu.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438","menu.transform":"\u0422\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F","menu.display":"\u041F\u043E\u043A\u0430\u0437","menu.view":"\u0412\u0438\u0433\u043B\u044F\u0434","menu.file.new":"\u041D\u043E\u0432\u0438\u0439","menu.file.recent":"\u041D\u0435\u0434\u0430\u0432\u043D\u0456","menu.file.import":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","menu.file.export":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","menu.transform.rotate":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438","menu.transform.flip":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438","menu.transform.center":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438","menu.transform.properties":"\u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456","menu.display.preset":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D","menu.display.preset_all":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D \u0443\u0441\u044E\u0434\u0438","menu.display.remove_preset":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D","menu.view.zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","menu.view.background":"\u0422\u043B\u043E","menu.view.screenshot":"\u0417\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430","menu.cube.color":"\u041A\u043E\u043B\u0456\u0440 \u043F\u043E\u0437\u043D\u0430\u0447\u043A\u0438","menu.cube.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","menu.cube.texture.transparent":"\u041F\u0440\u043E\u0437\u043E\u0440\u0430","menu.cube.texture.blank":"\u041F\u043E\u0440\u043E\u0436\u043D\u044F","menu.group.sort":"\u0423\u043F\u043E\u0440\u044F\u0434\u043A\u0443\u0432\u0430\u0442\u0438","menu.texture.face":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0433\u0440\u0430\u043D\u0456","menu.texture.file":"\u0424\u0430\u0439\u043B","menu.texture.refresh":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438","menu.texture.change":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0444\u0430\u0439\u043B","menu.texture.folder":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0443 \u043F\u0440\u043E\u0432\u0456\u0434\u043D\u0438\u043A\u0443 \u0444\u0430\u0439\u043B\u0456\u0432","menu.texture.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438","menu.texture.export":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u044F\u043A","menu.texture.save":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438","menu.texture.properties":"\u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456...","menu.preview.background":"\u0422\u043B\u043E","menu.preview.background.load":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","menu.preview.background.position":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F","menu.preview.background.lock":"\u0417\u0430\u0444\u0456\u043A\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u043A\u0430\u043C\u0435\u0440\u0438","menu.preview.screenshot":"\u0417\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430","menu.preview.perspective":"\u041F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u0430","menu.preview.perspective.normal":"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430","menu.preview.quadview":"\u0427\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u0439 \u0432\u0438\u0434","menu.preview.stop_drag":"\u0417\u0443\u043F\u0438\u043D\u0438\u0442\u0438 \u0444\u043E\u043D\u043E\u0432\u0435 \u043F\u043E\u0437\u0438\u0446\u0456\u044E\u0432\u0430\u043D\u043D\u044F","menu.uv.mapping.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","menu.uv.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","cube.color.light_blue":"\u0411\u043B\u0430\u043A\u0438\u0442\u043D\u0438\u0439","cube.color.yellow":"\u0416\u043E\u0432\u0442\u0438\u0439","cube.color.orange":"\u041F\u043E\u043C\u0430\u0440\u0430\u043D\u0447\u0435\u0432\u0438\u0439","cube.color.red":"\u0427\u0435\u0440\u0432\u043E\u043D\u0438\u0439","cube.color.purple":"\u0424\u0456\u043E\u043B\u0435\u0442\u043E\u0432\u0438\u0439","cube.color.blue":"\u0421\u0438\u043D\u0456\u0439","cube.color.green":"\u0417\u0435\u043B\u0435\u043D\u0438\u0439","cube.color.lime":"\u041B\u0430\u0439\u043C\u043E\u0432\u0438\u0439","switches.visibility":"\u0412\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C","switches.export":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","switches.autouv":"\u0410\u0432\u0442\u043E. UV","panel.uv":"UV","panel.display":"\u041F\u043E\u043A\u0430\u0437","panel.textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0438","panel.outliner":"\u041F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A","uv_editor.title":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 UV","uv_editor.all_faces":"\u0423\u0441\u0456","uv_editor.no_faces":"\u041D\u0456\u044F\u043A\u0456","face.north":"\u041F\u0456\u0432\u043D\u0456\u0447","face.south":"\u041F\u0456\u0432\u0434\u0435\u043D\u044C","face.west":"\u0417\u0430\u0445\u0456\u0434","face.east":"\u0421\u0445\u0456\u0434","face.up":"\u0412\u0435\u0440\u0445","face.down":"\u041D\u0438\u0437","direction.north":"\u041F\u0456\u0432\u043D\u0456\u0447","direction.south":"\u041F\u0456\u0432\u0434\u0435\u043D\u044C","direction.west":"\u0417\u0430\u0445\u0456\u0434","direction.east":"\u0421\u0445\u0456\u0434","direction.top":"\u0412\u0435\u0440\u0445","direction.bottom":"\u041D\u0438\u0437","display.slot.third_right":"\u041F\u0440\u0430\u0432\u043E\u0440\u0443\u0447 \u0432\u0456\u0434 \u0442\u0440\u0435\u0442\u044C\u043E\u0457 \u043E\u0441\u043E\u0431\u0438","display.slot.third_left":"\u041B\u0456\u0432\u043E\u0440\u0443\u0447 \u0432\u0456\u0434 \u0442\u0440\u0435\u0442\u044C\u043E\u0457 \u043E\u0441\u043E\u0431\u0438","display.slot.first_right":"\u041F\u0440\u0430\u0432\u043E\u0440\u0443\u0447 \u0432\u0456\u0434 \u043F\u0435\u0440\u0448\u043E\u0457 \u043E\u0441\u043E\u0431\u0438","display.slot.first_left":"\u041B\u0456\u0432\u043E\u0440\u0443\u0447 \u0432\u0456\u0434 \u043F\u0435\u0440\u0448\u043E\u0457 \u043E\u0441\u043E\u0431\u0438","display.slot.head":"\u0413\u043E\u043B\u043E\u0432\u0430","display.slot.ground":"\u0417\u0435\u043C\u043B\u044F","display.slot.frame":"\u0420\u0430\u043C\u043A\u0430","display.slot.gui":"\u0406\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","display.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","display.translation":"\u041F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F","display.scale":"\u0420\u043E\u0437\u043C\u0456\u0440","display.slot":"\u0421\u043B\u043E\u0442","display.reference":"\u0415\u0442\u0430\u043B\u043E\u043D\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C","display.reference.player":"\u0413\u0440\u0430\u0432\u0435\u0446\u044C","display.reference.zombie":"\u0417\u043E\u043C\u0431\u0456","display.reference.armor_stand":"\u0421\u0442\u0456\u0439\u043A\u0430 \u0434\u043B\u044F \u043E\u0431\u043B\u0430\u0434\u0443\u043D\u043A\u0456\u0432","display.reference.baby_zombie":"\u0417\u043E\u043C\u0431\u0456-\u043D\u0435\u043C\u043E\u0432\u043B\u044F","display.reference.armor_stand_small":"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0430 \u0441\u0442\u0456\u0439\u043A\u0430 \u0434\u043B\u044F \u043E\u0431\u043B\u0430\u0434\u0443\u043D\u043A\u0456\u0432","display.reference.monitor":"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0438\u0439","display.reference.bow":"\u0417\u0430\u0440\u044F\u0434\u0436\u0435\u043D\u0438\u0439 \u043B\u0443\u043A","display.reference.block":"\u0411\u043B\u043E\u043A","display.reference.frame":"\u0420\u0430\u043C\u043A\u0430","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"\u0406\u043D\u0432\u0435\u043D\u0442\u0430\u0440","display.reference.hud":"HUD","display.preset.blank_name":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u043D\u0430\u0437\u0432\u0443","display.preset.item":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u043F\u0440\u0435\u0434\u043C\u0435\u0442","display.preset.block":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0431\u043B\u043E\u043A","display.preset.handheld":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0430 \u0437\u0431\u0440\u043E\u044F","display.preset.rod":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0430 \u0432\u0443\u0434\u043A\u0430","dialog.continue":"\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438","message.square_textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0431\u0443\u0442\u0438 \u043A\u0432\u0430\u0434\u0440\u0430\u0442\u043D\u0438\u043C\u0438","message.unsaved_texture.title":"\u041D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430","message.unsaved_texture.message":"\u0423\u0441\u0456 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0437\u043C\u0456\u043D\u0438 \u0434\u043E \u0446\u0456\u0454\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u043E. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438?","action.vertex_snap_mode.move":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438","action.vertex_snap_mode.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438","action.open_model_folder":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0442\u0435\u043A\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.open_model_folder.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0442\u0435\u043A\u0443, \u0443 \u044F\u043A\u0456\u0439 \u043C\u0456\u0441\u0442\u0438\u0442\u044C\u0441\u044F \u043C\u043E\u0434\u0435\u043B\u044C","action.change_textures_folder":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u0442\u0430\u0448\u0443\u0432\u0430\u043D\u043D\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.change_textures_folder.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0442\u0435\u043A\u0443, \u0434\u043E \u044F\u043A\u043E\u0457 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F \u0432\u0441\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","menu.texture.particle":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043B\u044F \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A","message.update_notification.title":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","message.update_notification.message":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430 \u0432\u0435\u0440\u0441\u0456\u044F Blockbench. \u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0443\u0432\u0456\u043C\u043A\u043D\u0456\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0435 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u0432 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445, \u0449\u043E\u0431 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0432\u0435\u0440\u0441\u0456\u044E!","message.untextured":"\u0426\u044F \u043F\u043E\u0432\u0435\u0440\u0445\u043D\u044F \u043D\u0435 \u043C\u0430\u0454 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.toolbar_edit.title":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432","keybindings.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438","keybindings.clear":"\u041D\u0435\u043C\u0430\u0454","action.cube_counter":"\u041F\u043E\u043A\u0430\u0437\u043D\u0438\u043A\u0438 \u043C\u043E\u0434\u0435\u043B\u0456","action.uv_rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F UV","action.uv_rotation.desc":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F UV \u0433\u0440\u0430\u043D\u0456","action.uv_grid":"\u0421\u0456\u0442\u043A\u0430 UV","action.uv_grid.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438, \u0434\u043E \u044F\u043A\u043E\u0457 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u0454\u0442\u044C\u0441\u044F UV","action.uv_grid.auto":"\u0410\u0432\u0442\u043E.","action.uv_maximize":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 UV","action.uv_maximize.desc":"\u0417\u0430\u0434\u0430\u0454 UV \u0434\u043B\u044F \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u043D\u0430 \u043F\u043E\u0432\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","action.uv_auto":"\u0410\u0432\u0442\u043E. UV","action.uv_auto.desc":"\u0417\u0430\u0434\u0430\u0454 \u0440\u043E\u0437\u043C\u0456\u0440 UV \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u0434\u043E \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0433\u0440\u0430\u043D\u0456","action.uv_rel_auto":"\u0412\u0456\u0434\u043D\u043E\u0441\u043D\u0435 \u0430\u0432\u0442\u043E. UV","action.uv_rel_auto.desc":"\u0417\u0430\u0434\u0430\u0454 UV \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u043E \u0434\u043E \u043F\u043E\u0437\u0438\u0446\u0456\u0457 \u0442\u0430 \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0440\u0435\u0430\u043B\u044C\u043D\u043E\u0457 \u0433\u0440\u0430\u043D\u0456","action.uv_mirror_x":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV \u043F\u043E X","action.uv_mirror_x.desc":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u043F\u043E \u043E\u0441\u0456 X","action.uv_mirror_y":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV \u043F\u043E Y","action.uv_mirror_y.desc":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u043F\u043E \u043E\u0441\u0456 Y","action.uv_transparent":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u0433\u0440\u0430\u043D\u044C","action.uv_transparent.desc":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u0433\u0440\u0430\u043D\u044C","action.uv_reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0433\u0440\u0430\u043D\u044C","action.uv_reset.desc":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u0433\u0440\u0430\u043D\u044C","action.cullface":"\u0412\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u0456","action.cullface.desc":"\u0412\u0438\u043C\u0438\u043A\u0430\u0454 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044E \u0434\u043B\u044F \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456, \u044F\u043A\u0449\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u0430 \u0433\u0440\u0430\u043D\u044C \u043C\u043E\u0434\u0435\u043B\u0456 \u043F\u0440\u0438\u043A\u0440\u0438\u0442\u0430","action.auto_cullface":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u0456","action.auto_cullface.desc":"\u0423\u043C\u0438\u043A\u0430\u0454 \u0432\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u0446\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u0434\u043E \u0441\u0435\u0431\u0435","action.face_tint":"\u0422\u0456\u043D\u0456","action.face_tint.desc":"\u0423\u043C\u0438\u043A\u0430\u0454 \u0442\u0456\u043D\u0456 \u0434\u043B\u044F \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u0433\u0440\u0430\u043D\u0456","menu.toolbar.edit":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432","menu.toolbar.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432","uv_editor.rotated":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u043E","uv_editor.auto_cull":"\u0412\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u0456 \u0434\u043E \u0441\u0435\u0431\u0435","uv_editor.copied":"\u0413\u0440\u0430\u043D\u044C \u0441\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E","uv_editor.pasted":"\u0413\u0440\u0430\u043D\u044C \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E","uv_editor.copied_x":"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E \u0433\u0440\u0430\u043D\u044C: %0","uv_editor.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0433\u0440\u0430\u043D\u044C","uv_editor.maximized":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u043E","uv_editor.autouv":"\u0410\u0432\u0442\u043E. \u0440\u043E\u0437\u043C\u0456\u0440","uv_editor.mirrored":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043E","uv_editor.to_all":"\u0417\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0430\u043D\u043E \u0434\u043E \u0432\u0441\u0456\u0445 \u0433\u0440\u0430\u043D\u044C","uv_editor.transparent":"\u0417\u0440\u043E\u0431\u043B\u0435\u043D\u043E \u043F\u0440\u043E\u0437\u043E\u0440\u043E\u044E","uv_editor.cullface_on":"\u0412\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u0456: \u0443\u0432\u0456\u043C\u043A.","uv_editor.cullface_off":"\u0412\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u0456: \u0432\u0438\u043C\u043A.","uv_editor.tint_on":"\u0422\u0456\u043D\u0456 \u0432\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","uv_editor.tint_off":"\u0422\u0456\u043D\u0456 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E","action.uv_apply_all":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0432\u0441\u0456\u0445 \u0433\u0440\u0430\u043D\u044C","action.uv_apply_all.desc":"\u0417\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0443\u0454 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u0433\u0440\u0430\u043D\u0456 \u0434\u043E \u0432\u0441\u0456\u0445 \u0433\u0440\u0430\u043D\u044C","message.image_editor_missing.title":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","message.image_editor_missing.message":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u043D\u0438\u0439 \u0444\u0430\u0439\u043B \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","message.image_editor_missing.detail":"Blockbench \u043D\u0435 \u0437\u043C\u0456\u0433 \u0437\u043D\u0430\u0439\u0442\u0438 \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0430 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u0457. \u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u043D\u0438\u0439 \u0444\u0430\u0439\u043B \u0431\u0430\u0436\u0430\u043D\u043E\u0433\u043E \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430.","action.update_autouv":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0432\u0442\u043E. UV","action.update_autouv.desc":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0432\u0442\u043E. UV \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0443\u0431\u0456\u0432","category.uv":"UV","status_bar.saved":"\u041C\u043E\u0434\u0435\u043B\u044C \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043E","status_bar.unsaved":"\u0404 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0437\u043C\u0456\u043D\u0438","action.move_up":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0433\u043E\u0440\u0443","action.move_up.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0433\u043E\u0440\u0443 \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","action.move_down":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u043D\u0438\u0437","action.move_down.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u043D\u0438\u0437 \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","action.move_left":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u043B\u0456\u0432\u043E","action.move_left.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u043B\u0456\u0432\u043E \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","action.move_right":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u043F\u0440\u0430\u0432\u043E","action.move_right.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u043F\u0440\u0430\u0432\u043E \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","action.move_forth":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u043F\u0435\u0440\u0435\u0434","action.move_forth.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u043F\u0435\u0440\u0435\u0434 \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","action.move_back":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043D\u0430\u0437\u0430\u0434","action.move_back.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043D\u0430\u0437\u0430\u0434 \u0432\u0456\u0434\u043D\u043E\u0441\u043D\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u043C\u0435\u0440\u0438","layout.color.wireframe":"\u041A\u0430\u0440\u043A\u0430\u0441","layout.color.wireframe.desc":"\u041B\u0456\u043D\u0456\u0457 \u043A\u0430\u0440\u043A\u0430\u0441\u043D\u043E\u0433\u043E \u0432\u0438\u0434\u0443","action.add_animation":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.add_animation.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.load_animation_file":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.load_animation_file.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0444\u0430\u0439\u043B \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.play_animation":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.play_animation.desc":"\u041F\u0440\u043E\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.slider_keyframe_time":"\u0422\u0430\u0439\u043C-\u043A\u043E\u0434","action.slider_keyframe_time.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0442\u0430\u0439\u043C-\u043A\u043E\u0434 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0456\u0432","timeline.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438","timeline.position":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F","timeline.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438","menu.keyframe.quaternion":"\u041A\u0432\u0430\u0442\u0435\u0440\u043D\u0456\u043E\u043D","panel.animations":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u0457","panel.keyframe":"\u041A\u0430\u0434\u0440","panel.keyframe.type":"\u041A\u0430\u0434\u0440 (%0)","generic.delete":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","generic.rename":"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438","message.no_animation_selected":"\u0414\u043B\u044F \u0446\u044C\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","message.no_bone_selected":"\u0414\u043B\u044F \u0446\u044C\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u0456\u0441\u0442\u043A\u0443","message.duplicate_groups.title":"\u0414\u0443\u0431\u043B\u0456\u043A\u0430\u0442 \u043D\u0430\u0437\u0432\u0438 \u043A\u0456\u0441\u0442\u043A\u0438","message.duplicate_groups.message":"\u041D\u0430\u0437\u0432\u0430 \u0446\u0456\u0454\u0457 \u043A\u0456\u0441\u0442\u043A\u0438 \u0432\u0436\u0435 \u0456\u0441\u043D\u0443\u0454 \u0443 \u043A\u0456\u043B\u044C\u043A\u043E\u0445 \u043A\u0456\u0441\u0442\u043A\u0430\u0445. \u0426\u0435 \u043C\u043E\u0436\u0435 \u0441\u043F\u0440\u0438\u0447\u0438\u043D\u0438\u0442\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438.","action.delete_keyframes":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043A\u0430\u0434\u0440\u0438","action.delete_keyframes.desc":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u043A\u0430\u0434\u0440\u0438","menu.animation":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u044F","menu.animation.loop":"\u0420\u0435\u0436\u0438\u043C \u0446\u0438\u043A\u043B\u0443","menu.animation.override":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438","menu.animation.anim_time_update":"\u041E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u0447\u0430\u0441\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","message.display_skin_model.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u043A\u0438\u043D\u0430","message.display_skin_model.message":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0442\u0438\u043F \u043C\u043E\u0434\u0435\u043B\u0456 \u0441\u043A\u0438\u043D\u0430","message.display_skin_model.classic":"\u041A\u043B\u0430\u0441\u0438\u0447\u043D\u0438\u0439","message.display_skin_model.slim":"\u0421\u0442\u0440\u0443\u043D\u043A\u0438\u0439","message.bone_material":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B \u043A\u0456\u0441\u0442\u043A\u0438","action.slider_animation_length":"\u0414\u043E\u0432\u0436\u0438\u043D\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.slider_animation_length.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0434\u043E\u0432\u0436\u0438\u043D\u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","panel.variable_placeholders":"\u0417\u0430\u043F\u043E\u0432\u043D\u044E\u0432\u0430\u0447\u0456 \u0437\u043C\u0456\u043D\u043D\u0438\u0445","panel.variable_placeholders.info":"\u041F\u0435\u0440\u0435\u043B\u0456\u0447\u0456\u0442\u044C \u0437\u043C\u0456\u043D\u043D\u0456, \u044F\u043A\u0456 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u043F\u0440\u043E\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 name=value","status_bar.vertex_distance":"\u0412\u0456\u0434\u0441\u0442\u0430\u043D\u044C: %0","dialog.create_gif.title":"\u0417\u0430\u043F\u0438\u0441 GIF","dialog.create_gif.length":"\u0414\u043E\u0432\u0436\u0438\u043D\u0430","dialog.create_gif.fps":"\u041A\u0430\u0434\u0440\u0438/c","dialog.create_gif.play":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","category.animation":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u044F","action.record_model_gif":"\u0417\u0430\u043F\u0438\u0441 GIF...","action.record_model_gif.desc":"\u0417\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0435 GIF \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u0456 \u0437 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0440\u0430\u043A\u0443\u0440\u0441\u0443","display.mirror":"\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u043E","data.separator":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A","menu.preview.background.set_position":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043E\u0437\u0438\u0446\u0456\u044E","dialog.toolbar_edit.hidden":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E","action.export_class_entity":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0441\u0443\u0442\u043D\u0456\u0441\u0442\u044C Java","action.export_class_entity.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u044F\u043A \u043A\u043B\u0430\u0441 Java","settings.seethrough_outline":"\u0420\u0435\u043D\u0442\u0433\u0435\u043D\u0456\u0432\u0441\u044C\u043A\u0456 \u043A\u043E\u043D\u0442\u0443\u0440\u0438","settings.seethrough_outline.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0443\u0440\u0438 \u0447\u0435\u0440\u0435\u0437 \u043E\u0431\u2019\u0454\u043A\u0442\u0438","mode.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438","mode.paint":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438","mode.display":"\u041F\u043E\u043A\u0430\u0437","mode.animate":"\u0410\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438","status_bar.recording_gif":"\u0417\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u043D\u043D\u044F","status_bar.processing_gif":"\u041E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u043D\u044F","settings.backup_retain":"\u0422\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u043E\u0457 \u043A\u043E\u043F\u0456\u0457","settings.backup_retain.desc":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438, \u044F\u043A \u0434\u043E\u0432\u0433\u043E Blockbench \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0454 \u0441\u0442\u0430\u0440\u0456 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0456 \u043A\u043E\u043F\u0456\u0457 \u0443 \u0434\u043D\u044F\u0445","action.rotate_tool":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438","action.rotate_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0430 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.fill_tool":"\u0417\u0430\u043B\u0438\u0432\u043A\u0430","action.fill_tool.desc":"\u0412\u0456\u0434\u0440\u043E \u0434\u043B\u044F \u0437\u0430\u043B\u0438\u0432\u043A\u0438 \u0432\u0441\u0456\u0454\u0457 \u0433\u0440\u0430\u043D\u0456 \u043E\u0434\u043D\u0438\u043C \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u043C","action.eraser":"\u0413\u0443\u043C\u043A\u0430","action.eraser.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0437\u0430\u043C\u0456\u043D\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0456\u0432 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0456 \u0437 \u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044E","action.color_picker":"\u041F\u0456\u043F\u0435\u0442\u043A\u0430","action.color_picker.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0431\u043E\u0440\u0443 \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","switches.mirror":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV",language_name:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430","message.plugin_reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043E \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 (%0)","settings.brightness":"\u042F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C","settings.brightness.desc":"\u042F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u043C\u043E\u0434\u0435\u043B\u0456. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 50","menu.preview.perspective.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443","action.fill_mode":"\u0420\u0435\u0436\u0438\u043C \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u043D\u044F","action.fill_mode.face":"\u0413\u0440\u0430\u043D\u044C","action.fill_mode.color":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438","action.toggle_mirror_uv":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV","action.toggle_mirror_uv.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 UV \u0432\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043D\u044F \u043D\u0430 \u043E\u0441\u0456 X \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0443\u0431\u0456\u0432","menu.texture.blank":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0433\u0440\u0430\u043D\u044C \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","dialog.scale.select_overflow":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0435\u0440\u0435\u043F\u043E\u0432\u043D\u0435\u043D\u043D\u044F","action.action_control":"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0434\u0456\u0439","action.action_control.desc":"\u0428\u0443\u043A\u0430\u0442\u0438 \u0442\u0430 \u0432\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0431\u0443\u0434\u044C-\u044F\u043A\u0443 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443 \u0434\u0456\u044E","keybindings.recording":"\u0421\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448 \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0441\u0443","keybindings.press":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \u0430\u0431\u043E \u043A\u043E\u043C\u0431\u0456\u043D\u0430\u0446\u0456\u044E \u043A\u043B\u0430\u0432\u0456\u0448 \u0447\u0438 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u0431\u0443\u0434\u044C-\u0434\u0435 \u043D\u0430 \u0435\u043A\u0440\u0430\u043D\u0456, \u0449\u043E\u0431 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448.","action.pivot_tool":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443","action.pivot_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0437\u043C\u0456\u043D\u0438 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0456 \u043A\u0456\u0441\u0442\u043E\u043A","action.slider_animation_speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F","action.slider_animation_speed.desc":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438 \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445","action.previous_keyframe":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 \u043A\u0430\u0434\u0440","action.previous_keyframe.desc":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0443","action.next_keyframe":"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439 \u043A\u0430\u0434\u0440","action.next_keyframe.desc":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0443","message.outdated_client.title":"\u0417\u0430\u0441\u0442\u0430\u0440\u0456\u043B\u0438\u0439 \u043A\u043B\u0456\u0454\u043D\u0442","message.outdated_client.message":"\u0414\u043B\u044F \u0446\u044C\u043E\u0433\u043E \u043E\u043D\u043E\u0432\u0456\u0442\u044C Blockbench \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457.","action.export_asset_archive":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0430\u0440\u0445\u0456\u0432","action.export_asset_archive.desc":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0430\u0440\u0445\u0456\u0432 \u0437 \u043C\u043E\u0434\u0435\u043B\u043B\u044E \u0456 \u0432\u0441\u0456\u043C\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u043C\u0438 \u0432 \u043D\u0456\u0439","action.upload_sketchfab":"\u0412\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432 Sketchfab...","message.sketchfab.name_or_token":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0441\u0432\u0456\u0439 \u0442\u043E\u043A\u0435\u043D Sketchfab \u0442\u0430 \u0456\u043C\u2019\u044F","dialog.sketchfab_uploader.title":"\u0412\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0432 Sketchfab","dialog.sketchfab_uploader.token":"\u0422\u043E\u043A\u0435\u043D API","dialog.sketchfab_uploader.about_token":"\u0422\u043E\u043A\u0435\u043D \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u043F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044F Blockbench \u0434\u043E \u0432\u0430\u0448\u043E\u0433\u043E \u043E\u0431\u043B. \u0437\u0430\u043F\u0438\u0441\u0443 Sketchfab. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u043D\u0430\u0439\u0442\u0438 \u0439\u043E\u0433\u043E \u043D\u0430 %0","dialog.sketchfab_uploader.name":"\u041D\u0430\u0437\u0432\u0430 \u043C\u043E\u0434\u0435\u043B\u0456","dialog.sketchfab_uploader.description":"\u041E\u043F\u0438\u0441","dialog.sketchfab_uploader.tags":"\u0422\u0435\u0433\u0438","settings.sketchfab_token":"\u0422\u043E\u043A\u0435\u043D Sketchfab","settings.sketchfab_token.desc":"\u0422\u043E\u043A\u0435\u043D \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0456\u0457 \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0437 Blockbench \u0434\u043E \u0432\u0430\u0448\u043E\u0433\u043E \u043E\u0431\u043B\u0456\u043A\u043E\u0432\u043E\u0433\u043E \u0437\u0430\u043F\u0438\u0441\u0443 Sketchfab","panel.color":"\u041A\u043E\u043B\u0456\u0440","data.origin":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443","message.sketchfab.success":"\u041C\u043E\u0434\u0435\u043B\u044C \u0443\u0441\u043F\u0456\u0448\u043D\u043E \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043E","message.sketchfab.error":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0432 Sketchfab","settings.outliner_colors":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438 \u0432 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","settings.outliner_colors.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0456 \u0433\u0440\u0443\u043F \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.upload_sketchfab.desc":"\u0412\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0443 Sketchfab","action.element_colors":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438 \u043A\u0443\u0431\u0456\u0432","action.element_colors.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0438 \u043A\u0443\u0431\u0456\u0432 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","texture.error.file":"\u0424\u0430\u0439\u043B \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E","texture.error.parent":"\u0424\u0430\u0439\u043B \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438, \u043D\u0430\u0434\u0430\u043D\u0438\u0439 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u044E \u043C\u043E\u0434\u0435\u043B\u043B\u044E","message.recover_backup.title":"\u0412\u0456\u0434\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u0435\u0439","message.recover_backup.message":"Blockbench \u0431\u0443\u043B\u043E \u0437\u0430\u043A\u0440\u0438\u0442\u043E \u0431\u0435\u0437 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u0456?","message.invalid_session.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0442\u043E\u043A\u0435\u043D \u0441\u0435\u0441\u0456\u0457","message.invalid_session.message":"\u0421\u0435\u0441\u0456\u044F, \u0434\u043E \u044F\u043A\u043E\u0457 \u0432\u0438 \u043D\u0430\u043C\u0430\u0433\u0430\u0454\u0442\u0435\u0441\u044F \u043F\u0440\u0438\u0454\u0434\u043D\u0430\u0442\u0438\u0441\u044F, \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u043B\u0430\u0441\u044F, \u0430\u0431\u043E \u043D\u0430\u0434\u0430\u043D\u043E \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0442\u043E\u043A\u0435\u043D.","dialog.create_texture.power":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0443 \u0441\u0442\u0435\u043F\u0435\u043D\u0456 \u0434\u0432\u0456\u0439\u043A\u0438","dialog.create_gif.turn":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F","action.edit_session":"\u0421\u0435\u0441\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F...","action.edit_session.desc":"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0456\u0442\u044C\u0441\u044F \u0434\u043E \u0441\u0435\u0441\u0456\u0457 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F, \u0449\u043E\u0431 \u0441\u043F\u0456\u0432\u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u0437 \u0456\u043D\u0448\u0438\u043C\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430\u043C\u0438","action.reset_keyframe":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043A\u0430\u0434\u0440","action.reset_keyframe.desc":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443\u0441\u0456\u0445 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0456\u0432","dialog.edit_session.title":"\u0421\u0435\u0441\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","edit_session.username":"\u0406\u043C\u2019\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","edit_session.token":"\u0422\u043E\u043A\u0435\u043D","edit_session.about":"\u0421\u0435\u0441\u0456\u0457 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u043B\u044F \u0441\u043F\u0456\u043B\u044C\u043D\u043E\u0457 \u0440\u043E\u0431\u043E\u0442\u0438 \u043D\u0430\u0434 \u043C\u043E\u0434\u0435\u043B\u044F\u043C\u0438 \u0432 \u0406\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0456. \u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u0441\u0435\u0441\u0456\u044E, \u0441\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0442\u043E\u043A\u0435\u043D \u0456 \u043D\u0430\u0434\u0456\u0448\u043B\u0456\u0442\u044C \u0439\u043E\u0433\u043E \u0434\u0440\u0443\u0437\u044F\u043C, \u044F\u043A\u0456 \u0437\u043C\u043E\u0436\u0443\u0442\u044C \u0434\u043E\u043B\u0443\u0447\u0438\u0442\u0438\u0441\u044F \u0434\u043E \u043D\u0435\u0457.","edit_session.join":"\u0414\u043E\u043B\u0443\u0447\u0438\u0442\u0438\u0441\u044F \u0434\u043E \u0441\u0435\u0441\u0456\u0457","edit_session.create":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u0435\u0441\u0456\u044E","edit_session.quit":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u0441\u0435\u0441\u0456\u0457","edit_session.joined":"%0 \u0434\u043E\u043B\u0443\u0447\u0430\u0454\u0442\u044C\u0441\u044F \u0434\u043E \u0441\u0435\u0441\u0456\u0457","edit_session.left":"%0 \u043F\u043E\u043A\u0438\u0434\u0430\u0454 \u0441\u0435\u0441\u0456\u044E","edit_session.quit_session":"\u041F\u043E\u043A\u0438\u043D\u0443\u043B\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u0441\u0435\u0441\u0456\u044E","edit_session.status":"\u0421\u0442\u0430\u043D","edit_session.hosting":"\u0425\u043E\u0441\u0442\u0438\u043D\u0433","edit_session.connected":"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0438\u043B\u0438\u0441\u044F \u0434\u043E \u0441\u0435\u0441\u0456\u0457","dialog.sketchfab_uploader.private":"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0438\u0439 (Pro)","dialog.sketchfab_uploader.password":"\u041F\u0430\u0440\u043E\u043B\u044C (Pro)","action.uv_select_all":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0456","action.uv_select_all.desc":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u0443 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u043C\u0443 \u0432\u0456\u043A\u043D\u0456 UV","panel.chat":"\u0427\u0430\u0442","edit_session.welcome":"\u041B\u0430\u0441\u043A\u0430\u0432\u043E \u043F\u0440\u043E\u0441\u0438\u043C\u043E \u0434\u043E \u0441\u0435\u0441\u0456\u0457 \u0432\u0456\u0434 %0","dialog.yes":"\u0422\u0430\u043A","dialog.no":"\u041D\u0456","generic.remove":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","generic.download":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","generic.search":"\u041F\u043E\u0448\u0443\u043A","dates.today":"\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456","dates.yesterday":"\u0423\u0447\u043E\u0440\u0430","dates.this_week":"\u0426\u044C\u043E\u0433\u043E \u0442\u0438\u0436\u043D\u044F","dates.weeks_ago":"%0 \u0442\u0438\u0436\u043D. \u0442\u043E\u043C\u0443","mode.start.new":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438","mode.start.recent":"\u041D\u0435\u0434\u0430\u0432\u043D\u0456","format.free":"\u0422\u0438\u043F\u043E\u0432\u0430 \u043C\u043E\u0434\u0435\u043B\u044C","format.free.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0431\u0435\u0437 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u044C. \u0414\u043B\u044F \u0456\u0433\u0440\u043E\u0432\u0438\u0445 \u0440\u0443\u0448\u0456\u0457\u0432, \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457 \u0442\u043E\u0449\u043E.","format.java_block":"\u0411\u043B\u043E\u043A/\u043F\u0440\u0435\u0434\u043C\u0435\u0442 Java","format.java_block.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0443 \u0430\u0431\u043E \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 \u0434\u043B\u044F Minecraft Java Edition.","format.bedrock":"\u0421\u0443\u0442\u043D\u0456\u0441\u0442\u044C Bedrock","format.bedrock.desc":"\u041C\u043E\u0434\u0435\u043B\u044C Minecraft Bedrock Edition \u0434\u043B\u044F \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0435\u0439 \u0442\u0430 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432","format.bedrock_old":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C Bedrock","format.bedrock_old.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0435\u0439 \u0434\u043E \u0432\u0435\u0440\u0441\u0456\u0457 Minecraft Bedrock Edition 1.12","format.modded_entity":"\u041C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u0430 \u0441\u0443\u0442\u043D\u0456\u0441\u0442\u044C","format.modded_entity.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F \u043C\u043E\u0434\u0456\u0432 Minecraft. \u041C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0430 \u0443 \u0432\u0438\u0433\u043B\u044F\u0434\u0456 \u0444\u0430\u0439\u043B\u0456\u0432 \u043A\u043B\u0430\u0441\u0456\u0432 .java.","format.optifine_entity":"\u0421\u0443\u0442\u043D\u0456\u0441\u0442\u044C OptiFine","format.optifine_entity.desc":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F \u043C\u043E\u0434\u0430 OptiFine","keys.mouse":"\u041A\u043D\u043E\u043F\u043A\u0430 \u043C\u0438\u0448\u0456 %0","message.cleared_blank_faces.title":"\u041F\u043E\u0440\u043E\u0436\u043D\u0456 \u0433\u0440\u0430\u043D\u0456","message.cleared_blank_faces.message":"Blockbench \u0437\u043D\u0430\u0439\u0448\u043E\u0432 \u043A\u0443\u0431\u0438 (%0) \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0446\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438?","message.wireframe.enabled":"\u041A\u0430\u0440\u043A\u0430\u0441\u043D\u0438\u0439 \u0432\u0438\u0434 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","message.wireframe.disabled":"\u041A\u0430\u0440\u043A\u0430\u0441\u043D\u0438\u0439 \u0432\u0438\u0434 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E","dialog.convert_project.title":"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","dialog.create_texture.double_use":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u0456\u0441\u0442\u044C \u043A\u0456\u043B\u044C\u043A\u043E\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","dialog.model_stats.title":"\u041F\u043E\u043A\u0430\u0437\u043D\u0438\u043A\u0438 \u043C\u043E\u0434\u0435\u043B\u0456","dialog.model_stats.cubes":"\u041A\u0443\u0431\u0438","dialog.model_stats.locators":"\u041B\u043E\u043A\u0430\u0442\u043E\u0440\u0438","dialog.model_stats.groups":"\u0413\u0440\u0443\u043F\u0438","dialog.model_stats.vertices":"\u0412\u0435\u0440\u0448\u0438\u043D\u0438","dialog.model_stats.faces":"\u0413\u0440\u0430\u043D\u0456","settings.username":"\u0406\u043C\u2019\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","settings.username.desc":"\u0406\u043C\u2019\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0434\u043B\u044F \u0441\u0435\u0441\u0456\u0439 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","settings.painting_grid":"\u0421\u0456\u0442\u043A\u0430 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","settings.painting_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445 \u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u043C\u0438 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.convert_project":"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","action.convert_project.desc":"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442 \u043D\u0430 \u043F\u0440\u043E\u0454\u043A\u0442 \u0434\u043B\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.close_project":"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","action.close_project.desc":"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","action.export_bedrock":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u044E Bedrock","action.export_bedrock.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u0444\u0430\u0439\u043B \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u0457 Bedrock Edition.","action.save_project":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","action.save_project.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0454\u043A\u0442\u0443","action.save_project_as":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442 \u044F\u043A","action.save_project_as.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0454\u043A\u0442\u0443 \u0432 \u043D\u043E\u0432\u043E\u043C\u0443 \u043C\u0456\u0441\u0446\u0456","action.export_over":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C","action.export_over.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C, \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0442\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457, \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0443\u044E\u0447\u0438 \u0444\u0430\u0439\u043B\u0438","action.add_locator":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043B\u043E\u043A\u0430\u0442\u043E\u0440","action.add_locator.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u043B\u043E\u043A\u0430\u0442\u043E\u0440 \u0434\u043B\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044E \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044F \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A, \u043F\u043E\u0432\u0456\u0434\u0446\u0456\u0432 \u0442\u043E\u0449\u043E","action.uv_turn_mapping":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F","action.uv_turn_mapping.desc":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 UV \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 90 \u0433\u0440\u0430\u0434\u0443\u0441\u0456\u0432","action.remove_blank_faces":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u0433\u0440\u0430\u043D\u0456","action.remove_blank_faces.desc":"\u0412\u0438\u0434\u0430\u043B\u044F\u0454 \u0443\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u0431\u0435\u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","web.download_app":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043E\u043A","uv_editor.turned":"\u041C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u043E\u0431\u0435\u0440\u043D\u0435\u043D\u043E","display.reference.crossbow":"\u0417\u0430\u0440\u044F\u0434\u0436\u0435\u043D\u0438\u0439 \u0430\u0440\u0431\u0430\u043B\u0435\u0442","dialog.settings.search_results":"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043F\u043E\u0448\u0443\u043A\u0443","settings.animation_snap":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","settings.animation_snap.desc":"\u0422\u0438\u043F\u043E\u0432\u0438\u0439 \u0456\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0443 \u043A\u0440\u043E\u043A\u0430\u0445 \u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0426\u0435\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 24.","action.import_optifine_part":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0443 OptiFine","action.import_optifine_part.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0447\u0430\u0441\u0442\u0438\u043D\u0438 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F OptiFine","data.locator":"\u041B\u043E\u043A\u0430\u0442\u043E\u0440","mode.start.no_recents":"\u041D\u0435\u043C\u0430\u0454 \u043D\u0435\u0434\u0430\u0432\u043D\u043E \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439","panel.element":"\u0415\u043B\u0435\u043C\u0435\u043D\u0442","panel.element.position":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F","panel.element.size":"\u0420\u043E\u0437\u043C\u0456\u0440","panel.element.origin":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443","panel.element.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","message.canvas_limit_error.title":"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u043F\u043E\u043B\u043E\u0442\u043D\u0430","message.canvas_limit_error.message":"\u0414\u0456\u044F \u043D\u0435 \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0432\u0438\u043A\u043E\u043D\u0430\u043D\u0430 \u043A\u043E\u0440\u0435\u043A\u0442\u043D\u043E, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0444\u043E\u0440\u043C\u0430\u0442 \u043E\u0431\u043C\u0435\u0436\u0443\u0454 \u043F\u043E\u043B\u043E\u0442\u043D\u043E 48 \u043E\u0434\u0438\u043D\u0438\u0446\u044F\u043C\u0438. \u0417\u043C\u0456\u0441\u0442\u0456\u0442\u044C \u0442\u043E\u0447\u043A\u0443 \u043E\u0431\u0435\u0440\u0442\u0443, \u0449\u043E\u0431 \u0437\u0430\u043F\u043E\u0431\u0456\u0433\u0442\u0438 \u0446\u044C\u043E\u043C\u0443.","data.effect":"\u0415\u0444\u0435\u043A\u0442","generic.name":"\u041D\u0430\u0437\u0432\u0430","settings.recent_projects":"\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u043D\u0435\u0434\u0430\u0432\u043D\u0456\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439","settings.recent_projects.desc":"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043D\u0435\u0434\u0430\u0432\u043D\u0456\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u0434\u043B\u044F \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F","settings.volume":"\u0413\u0443\u0447\u043D\u0456\u0441\u0442\u044C","settings.volume.desc":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0433\u0443\u0447\u043D\u043E\u0441\u0442\u0456 \u0437\u0432\u0443\u043A\u043E\u0432\u0438\u0445 \u0435\u0444\u0435\u043A\u0442\u0456\u0432 \u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.clear_timeline":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0447\u0430\u0441\u043E\u0432\u0443 \u0448\u043A\u0430\u043B\u0443","action.clear_timeline.desc":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0432\u0441\u0456 \u043D\u0435\u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u043A\u0456\u0441\u0442\u043A\u0438 \u0437 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","action.select_effect_animator":"\u0410\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438 \u0435\u0444\u0435\u043A\u0442\u0438","action.select_effect_animator.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0447\u0430\u0441\u043E\u0432\u0443 \u0448\u043A\u0430\u043B\u0443 \u0434\u043B\u044F \u0434\u043E\u0434\u0430\u0432\u0430\u043D\u043D\u044F \u0437\u0432\u0443\u043A\u0443 \u0442\u0430 \u0435\u0444\u0435\u043A\u0442\u0456\u0432 \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A","action.timeline_focus":"\u0424\u0456\u043B\u044C\u0442\u0440\u0438 \u043A\u0430\u043D\u0430\u043B\u0456\u0432","action.timeline_focus.desc":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u0430\u043D\u0430\u043B\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u043F\u043E\u043A\u0430\u0437\u0443 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456","timeline.particle":"\u0427\u0430\u0441\u0442\u0438\u043D\u043A\u0438","timeline.sound":"\u0417\u0432\u0443\u043A","timeline.effects":"\u0415\u0444\u0435\u043A\u0442\u0438","data.format":"\u0424\u043E\u0440\u043C\u0430\u0442","format.optifine_part":"\u0427\u0430\u0441\u0442\u0438\u043D\u0430 OptiFine","format.optifine_part.desc":"\u0427\u0430\u0441\u0442\u0438\u043D\u0430 JPM \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0435\u0439 OptiFine","action.reverse_keyframes":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u043A\u0430\u0434\u0440\u0456\u0432","action.reverse_keyframes.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0456\u0432","generic.help":"\u0414\u043E\u0432\u0456\u0434\u043A\u0430","message.removed_faces":"\u0412\u0438\u043B\u0443\u0447\u0435\u043D\u043E \u0433\u0440\u0430\u043D\u0456: %0","dialog.sketchfab_uploader.draft":"\u0427\u0435\u0440\u043D\u0435\u0442\u043A\u0430","action.slider_pos":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F %0","action.slider_pos.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u043E \u043E\u0441\u0456 %0","action.slider_size":"\u0420\u043E\u0437\u043C\u0456\u0440 %0","action.slider_size.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u043F\u043E \u043E\u0441\u0456 %0","action.slider_rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F %0","action.slider_rotation.desc":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u043E \u043E\u0441\u0456 %0","action.slider_origin":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443 %0","action.slider_origin.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0442\u043E\u0447\u043A\u0443 \u043E\u0431\u0435\u0440\u0442\u0443 \u043F\u043E \u043E\u0441\u0456 %0","action.rotate_cw":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 %0 +90","action.rotate_cw.desc":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043D\u0430 90\xB0 \u043F\u043E \u043E\u0441\u0456 %0","action.rotate_ccw":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 %0 -90","action.rotate_ccw.desc":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043D\u0430 -90\xB0 \u043F\u043E \u043E\u0441\u0456 %0","action.flip":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 %0","action.flip.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u043E \u043E\u0441\u0456 %0","action.center":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438 %0","action.center.desc":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u043E \u043E\u0441\u0456 %0","action.bring_up_all_animations":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456\u0445 \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440\u0456\u0432","panel.bone":"\u041A\u0456\u0441\u0442\u043A\u0430","data.color":"\u041A\u043E\u043B\u0456\u0440","generic.export":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","generic.none":"\u041D\u0435\u043C\u0430\u0454","status_bar.recording":"\u0412\u0435\u0434\u0435\u0442\u044C\u0441\u044F \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441","message.add_to_palette":"\u0414\u043E\u0434\u0430\u043D\u043E \u0434\u043E \u043F\u0430\u043B\u0456\u0442\u0440\u0438","message.size_modifiers":"\u0423\u0442\u0440\u0438\u043C\u0443\u0439\u0442\u0435 Ctrl \u0430\u0431\u043E Shift, \u0449\u043E\u0431 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0443\u0432\u0430\u0442\u0438 \u0437 \u043C\u0435\u043D\u0448\u0438\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C.","message.timelapse_start":"\u041F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441 \u0440\u043E\u0437\u043F\u043E\u0447\u0430\u0442\u043E","message.timelapse_stop":"\u041F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441 \u0437\u0443\u043F\u0438\u043D\u0435\u043D\u043E","message.import_palette.replace_palette":"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0441\u0442\u0430\u0440\u0443 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","message.import_palette.threshold":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u043F\u043E\u0440\u0456\u0433","dialog.timelapse.interval":"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B (\u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445)","dialog.timelapse.source":"\u0414\u0436\u0435\u0440\u0435\u043B\u043E","dialog.timelapse.source.interface":"\u0406\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","dialog.timelapse.source.locked":"\u0417\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u0438\u0439 \u043A\u0443\u0442","dialog.timelapse.destination":"\u0422\u0435\u043A\u0430 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","layout.color.checkerboard":"\u0428\u0430\u0445\u0456\u0432\u043D\u0438\u0446\u044F","layout.color.checkerboard.desc":"\u0422\u043B\u043E \u043F\u043E\u043B\u043E\u0442\u043D\u0430 \u0442\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 UV","layout.font.code":"\u0428\u0440\u0438\u0444\u0442 \u043A\u043E\u0434\u0443","layout.css":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u0438\u0439 CSS","settings.category.paint":"\u041C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","settings.deactivate_size_limit":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u0440\u043E\u0437\u043C\u0456\u0440\u0443","settings.deactivate_size_limit.desc":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0434\u043B\u044F \u043F\u0435\u0432\u043D\u0438\u0445 \u0444\u043E\u0440\u043C\u0430\u0442\u0456\u0432 \u043C\u043E\u0434\u0435\u043B\u0435\u0439. \u0423\u0412\u0410\u0413\u0410: \u0446\u0435 \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0434\u043E \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439.","settings.brush_opacity_modifier":"\u041C\u043E\u0434\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u043E\u0441\u0442\u0456 \u043F\u0435\u043D\u0437\u043B\u044F","settings.brush_opacity_modifier.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u043F\u0435\u043D\u0437\u043B\u044F \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0441\u0442\u0438\u043B\u0443\u0441\u0430","settings.brush_size_modifier":"\u041C\u043E\u0434\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u043F\u0435\u043D\u0437\u043B\u044F","settings.brush_size_modifier.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043F\u0435\u043D\u0437\u043B\u044F \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0441\u0442\u0438\u043B\u0443\u0441\u0430","settings.brush_modifier.pressure":"\u041F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456","settings.brush_modifier.tilt":"\u041F\u0440\u0438 \u043D\u0430\u0445\u0438\u043B\u0435\u043D\u043D\u0456","category.color":"\u041A\u043E\u043B\u0456\u0440","action.import_theme":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043C\u0443","action.export_theme":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043C\u0443","action.export_theme.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B \u0442\u0435\u043C\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0456 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C","action.slider_color_h":"\u0412\u0456\u0434\u0442\u0456\u043D\u043E\u043A","action.slider_color_s":"\u041D\u0430\u0441\u0438\u0447\u0435\u043D\u0456\u0441\u0442\u044C","action.slider_color_v":"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","action.add_to_palette":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u043F\u0430\u043B\u0456\u0442\u0440\u0438","action.add_to_palette.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0434\u043E \u043F\u0430\u043B\u0456\u0442\u0440\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0456\u0432","action.import_palette":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","action.import_palette.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0444\u0430\u0439\u043B \u043F\u0430\u043B\u0456\u0442\u0440\u0438","action.export_palette":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","action.export_palette.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443 \u044F\u043A \u0444\u0430\u0439\u043B .GPL","action.generate_palette":"\u0417\u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443...","action.generate_palette.desc":"\u0417\u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443 \u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.sort_palette":"\u0423\u043F\u043E\u0440\u044F\u0434\u043A\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","action.sort_palette.desc":"\u0423\u043F\u043E\u0440\u044F\u0434\u043A\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043A\u043E\u043B\u044C\u043E\u0440\u0438 \u043D\u0430 \u043F\u0430\u043B\u0456\u0442\u0440\u0456 \u0437\u0430 \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u043C \u0456 \u044F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044E","action.timelapse":"\u041F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441...","action.timelapse.desc":"\u041F\u0440\u043E\u0432\u0435\u0441\u0442\u0438 \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441 \u043F\u0440\u043E\u0446\u0435\u0441\u0443 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.add_keyframe":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u0430\u0434\u0440","action.add_keyframe.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u0430\u0434\u0440 \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0433\u043E \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440\u0430","action.bring_up_all_animations.desc":"\u041F\u043E\u0432\u0435\u0440\u0442\u0430\u0454 \u0443\u0441\u0456 \u0437\u043C\u0456\u043D\u0435\u043D\u0456 \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440\u0438 \u0434\u043E \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","timeline.timeline":"\u0406\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0456\u0457","menu.palette.load.default":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0430","generic.import":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","settings.brush_modifier.none":"\u041D\u0435\u043C\u0430\u0454","action.export_entity":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0441\u0443\u0442\u043D\u0456\u0441\u0442\u044C Bedrock","action.export_entity.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F Minecraft Bedrock Edition","settings.highlight_cubes":"\u041F\u0456\u0434\u0441\u0432\u0456\u0447\u0443\u0432\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","settings.highlight_cubes.desc":"\u041F\u0456\u0434\u0441\u0432\u0456\u0447\u0443\u0432\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043D\u0430 \u043D\u0438\u0445 \u0430\u0431\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u0456","action.add_marker":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0456\u0442\u043A\u0443","action.add_marker.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","timeline.pre_effect_script":"\u0421\u043A\u0440\u0438\u043F\u0442","format.skin":"\u0421\u043A\u0438\u043D Minecraft","format.skin.desc":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0441\u043A\u0438\u043D\u0438 \u0433\u0440\u0430\u0432\u0446\u0456\u0432 \u0442\u0430 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0435\u0439","message.sketchfab.setup_guide":"\u0425\u043E\u0447\u0435\u0442\u0435 \u043D\u0430\u0432\u0447\u0438\u0442\u0438\u0441\u044F \u043D\u0430\u043B\u0430\u0448\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u0456 \u0432 Sketchfab? \u041F\u0440\u043E\u0447\u0438\u0442\u0430\u0439\u0442\u0435 %0","dialog.skin.title":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u043A\u0438\u043D Minecraft","dialog.skin.model":"\u041C\u043E\u0434\u0435\u043B\u044C","action.toggle_skin_layer":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0448\u0430\u0440\u0443 \u0441\u043A\u0438\u043D\u0430","action.toggle_skin_layer.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0448\u0430\u0440\u0443 \u0433\u043E\u043B\u043E\u0432\u043D\u043E\u0433\u043E \u0443\u0431\u043E\u0440\u0443 \u0442\u0430 \u043E\u0434\u044F\u0433\u0443 \u043C\u043E\u0434\u0435\u043B\u0456 \u0441\u043A\u0438\u043D\u0430","action.gui_light":"\u041E\u0441\u0432\u0456\u0442\u043B\u0435\u043D\u043D\u044F \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","action.gui_light.desc":"\u041E\u0431\u0440\u0430\u0442\u0438 \u0441\u043F\u043E\u0441\u0456\u0431 \u043F\u0456\u0434\u0441\u0432\u0456\u0447\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 \u0432 \u0456\u043D\u0432\u0435\u043D\u0442\u0430\u0440\u0456","action.gui_light.side":"\u0411\u0456\u0447\u043D\u0435 \u043E\u0441\u0432\u0456\u0442\u043B\u0435\u043D\u043D\u044F","action.gui_light.front":"\u041F\u0435\u0440\u0435\u0434\u043D\u0454 \u043E\u0441\u0432\u0456\u0442\u043B\u0435\u043D\u043D\u044F","action.move_keyframe_back":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043A\u0430\u0434\u0440\u0438 \u043D\u0430\u0437\u0430\u0434","action.move_keyframe_forth":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043A\u0430\u0434\u0440\u0438 \u0432\u043F\u0435\u0440\u0435\u0434","menu.help":"\u0414\u043E\u0432\u0456\u0434\u043A\u0430","menu.help.discord":"\u0421\u0435\u0440\u0432\u0435\u0440 Discord","menu.help.report_issue":"\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u0438\u0442\u0438 \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443","menu.help.plugin_documentation":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0456\u044F API \u043F\u043B\u0430\u0433\u0456\u043D\u0430","menu.help.search_action":"\u041F\u043E\u0448\u0443\u043A \u0442\u0430 \u0437\u0430\u043F\u0443\u0441\u043A \u0434\u0456\u0457","menu.help.donate":"\u041F\u0456\u0434\u0442\u0440\u0438\u043C\u0430\u0442\u0438","menu.help.about":"\u041F\u0440\u043E \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043E\u043A...","menu.preview.background.clipboard":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0456\u043D\u0443","dialog.ignore":"\u0406\u0433\u043D\u043E\u0440\u0443\u0432\u0430\u0442\u0438","generic.unset":"\u041D\u0435 \u0437\u0430\u0434\u0430\u043D\u043E","message.invalid_builtin_parent.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0432\u0431\u0443\u0434\u043E\u0432\u0430\u043D\u0438\u0439 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439 \u0435\u043B\u0435\u043C\u0435\u043D\u0442","message.invalid_builtin_parent.message":"\u041F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439 \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u043C\u043E\u0434\u0435\u043B\u0456 \xAB%0\xBB \u0431\u0443\u043B\u043E \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0449\u043E\u0431 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0456\u0439\u0441\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u044C.","dialog.resize_texture.fill":"\u0417\u0430\u043F\u043E\u0432\u043D\u0438\u0442\u0438","dialog.resize_texture.fill.transparent":"\u041F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044E","dialog.resize_texture.fill.color":"\u041A\u043E\u043B\u044C\u043E\u0440\u043E\u043C","dialog.resize_texture.fill.repeat":"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u043D\u044F\u043C","dialog.scale.element_pivot":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430","dialog.scale.selection_center":"\u0426\u0435\u043D\u0442\u0440 \u0432\u0438\u0431\u043E\u0440\u0443","dialog.create_gif.length_mode":"\u0420\u0435\u0436\u0438\u043C \u0442\u0440\u0438\u0432\u0430\u043B\u043E\u0441\u0442\u0456","dialog.create_gif.length_mode.seconds":"\u0421\u0435\u043A\u0443\u043D\u0434\u0438","dialog.create_gif.length_mode.frames":"\u041A\u0430\u0434\u0440\u0438","dialog.create_gif.length_mode.animation":"\u0414\u043E\u0432\u0436\u0438\u043D\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","dialog.create_gif.length_mode.turntable":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F","dialog.save_angle.projection":"\u041F\u0440\u043E\u0454\u043A\u0446\u0456\u044F","dialog.save_angle.projection.perspective":"\u041F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u0430","dialog.save_angle.projection.orthographic":"\u041E\u0440\u0444\u043E\u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0430","dialog.sketchfab_uploader.animations":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u0457","dialog.settings.theme":"\u0422\u0435\u043C\u0430","settings.category.interface":"\u0406\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441","settings.preview_checkerboard":"\u0428\u0430\u0445\u0456\u0432\u043D\u0438\u0446\u044F","settings.preview_checkerboard.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438/\u0432\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0442\u043B\u043E \u0448\u0430\u0445\u0456\u0432\u043D\u0438\u0446\u0456 \u043F\u043E\u0437\u0430\u0434\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","settings.uv_checkerboard":"\u0428\u0430\u0445\u0456\u0432\u043D\u0438\u0446\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 UV","settings.uv_checkerboard.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0442\u043B\u0430 \u0448\u0430\u0445\u0456\u0432\u043D\u0438\u0446\u0456 \u0437\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u043E\u043C UV","category.paint":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438","action.fill_mode.color_connected":"\u041F\u043E\u0454\u0434\u043D\u0430\u043D\u0456 \u043A\u043E\u043B\u044C\u043E\u0440\u0438","action.draw_shape_type":"\u0422\u0438\u043F \u0444\u043E\u0440\u043C\u0438","action.draw_shape_type.rectangle":"\u041F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0438\u043A","action.draw_shape_type.rectangle_h":"\u041F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0438\u043A (\u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439)","action.draw_shape_type.ellipse":"\u041A\u043E\u043B\u043E","action.draw_shape_type.ellipse_h":"\u041A\u043E\u043B\u043E (\u043F\u043E\u0440\u043E\u0436\u043D\u0454)","action.draw_shape_type.line":"\u041B\u0456\u043D\u0456\u044F","action.mirror_painting":"\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.mirror_painting.description":"\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E \u043F\u0435\u0440\u0435\u043D\u0435\u0441\u0442\u0438 \u0448\u0442\u0440\u0438\u0445\u0438 \u0444\u0430\u0440\u0431\u0438 \u043D\u0430 \u0456\u043D\u0448\u0443 \u0441\u0442\u043E\u0440\u043E\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.lock_alpha":"\u0417\u0430\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B","action.lock_alpha.description":"\u0417\u0430\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u0443\u0441\u0456\u0445 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432","action.draw_shape_tool":"\u0424\u0456\u0433\u0443\u0440\u0430","action.draw_shape_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u043F\u0440\u043E\u0441\u0442\u0438\u0445 \u0444\u0456\u0433\u0443\u0440 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430\u0445","action.export_gltf":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C glTF","action.export_gltf.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0439 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u044F\u043A \u0444\u0430\u0439\u043B glTF \u0434\u043B\u044F \u0440\u043E\u0437\u043F\u043E\u0432\u0441\u044E\u0434\u0436\u0435\u043D\u043D\u044F \u0456 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457","action.transform_space":"\u041F\u0440\u043E\u0441\u0442\u0456\u0440 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0457","action.transform_space.desc":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u043F\u0440\u043E\u0441\u0442\u0456\u0440 \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0442\u0430 \u043A\u0456\u0441\u0442\u043E\u043A","action.transform_space.global":"\u0413\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u0438\u0439","action.transform_space.local":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439","action.toggle_camera_projection":"\u041F\u0440\u043E\u0454\u043A\u0446\u0456\u044F \u043A\u0430\u043C\u0435\u0440\u0438","action.toggle_camera_projection.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0446\u0456\u044E \u043A\u0430\u043C\u0435\u0440\u0438 \u043C\u0456\u0436 \u043F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u043E\u044E \u0442\u0430 \u043E\u0440\u0444\u043E\u0433\u0440\u0430\u0444\u0456\u0454\u044E","action.load_camera_angle":"\u041A\u0443\u0442 \u043A\u0430\u043C\u0435\u0440\u0438: %0","action.load_camera_angle.desc":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u0443\u0442 \u043A\u0430\u043C\u0435\u0440\u0438 \xAB%0\xBB","action.slider_face_tint":"\u0406\u043D\u0434\u0435\u043A\u0441 \u0442\u0456\u043D\u0456","action.slider_face_tint.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u0456\u043D\u0434\u0435\u043A\u0441 \u0442\u0456\u043D\u0456 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u0441\u0442\u043E\u0440\u043E\u043D\u0438. -1 \u2014 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u043E.","menu.help.quickstart":"\u041F\u043E\u0441\u0456\u0431\u043D\u0438\u043A \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0440\u043E\u0431\u043E\u0442\u0438","menu.help.developer":"\u0420\u043E\u0437\u0440\u043E\u0431\u043D\u0438\u043A","menu.help.developer.dev_tools":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0440\u043E\u0437\u0440\u043E\u0431\u043D\u0438\u043A\u0430","menu.help.developer.reset_storage":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0434\u043E \u0437\u0430\u0432\u043E\u0434\u0441\u044C\u043A\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C","menu.help.developer.reset_storage.confirm":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0441\u043A\u0438\u043D\u0443\u0442\u0438 Blockbench \u0434\u043E \u0437\u0430\u0432\u043E\u0434\u0441\u044C\u043A\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C? \u0426\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0434\u0435 \u0434\u043E \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F \u0432\u0441\u0456\u0445 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C, \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u044C \u043A\u043B\u0430\u0432\u0456\u0448 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0445 \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432.","menu.help.developer.cache_reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u0435\u0448","menu.preview.orthographic":"\u041E\u0440\u0444\u043E\u0433\u0440\u0430\u0444\u0456\u044F","menu.preview.save_angle":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043A\u0443\u0442...","menu.preview.angle":"\u041A\u0443\u0442\u0438","menu.preview.angle.initial":"\u041F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u043A\u0443\u0442","menu.preview.maximize":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438","uv_editor.copy_selection":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","uv_editor.paste_selection":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","uv_editor.copy_paste_tool.place":"\u0420\u043E\u0437\u043C\u0456\u0441\u0442\u0438\u0442\u0438","uv_editor.copy_paste_tool.mirror_x":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 \u043F\u043E X","uv_editor.copy_paste_tool.mirror_y":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 \u043F\u043E Y","uv_editor.copy_paste_tool.rotate":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u043D\u0430 90 \u0433\u0440\u0430\u0434\u0443\u0441\u0456\u0432","dialog.project.modded_entity_version":"\u0412\u0435\u0440\u0441\u0456\u044F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443","dialog.save_angle.position":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F \u043A\u0430\u043C\u0435\u0440\u0438","dialog.save_angle.target":"\u0422\u043E\u0447\u043A\u0430 \u0444\u043E\u043A\u0443\u0441\u0443","dialog.skin.pose":"\u041F\u043E\u0437\u0430","layout.color.frame":"\u0420\u0430\u043C\u043A\u0430 \u0432\u0456\u043A\u043D\u0430","layout.color.frame.desc":"\u0420\u0430\u043C\u043A\u0430 \u0442\u0430 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0432\u0456\u043A\u043D\u0430","settings.large_grid_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0432\u0435\u043B\u0438\u043A\u043E\u0457 \u0441\u0456\u0442\u043A\u0438","settings.large_grid_size.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0441\u0456\u0442\u043A\u0438 \u0431\u043B\u043E\u043A\u0456\u0432","action.load_plugin_from_url":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \u0437 URL","action.load_plugin_from_url.desc":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \u0456\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0432\u043A\u0430\u0437\u0430\u0432\u0448\u0438 URL-\u0430\u0434\u0440\u0435\u0441\u0443","action.cube_counter.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0454 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0442\u0430 \u0456\u043D\u0448\u0456 \u043F\u043E\u043A\u0430\u0437\u043D\u0438\u043A\u0438","action.unlock_everything":"\u0420\u043E\u0437\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0435","action.unlock_everything.desc":"\u0420\u043E\u0437\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0443\u043F\u0438 \u0442\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443.","action.load_palette":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","action.load_palette.desc":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043E\u0434\u0438\u043D \u0456\u0437 \u0432\u0431\u0443\u0434\u043E\u0432\u0430\u043D\u0438\u0445 \u0430\u0431\u043E \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0438\u0445 \u0448\u0430\u0431\u043B\u043E\u043D\u0456\u0432 \u043F\u0430\u043B\u0456\u0442\u0440\u0438","action.toggle_locked":"\u0411\u043B\u043E\u043A\u0443\u0432\u0430\u043D\u043D\u044F","action.toggle_locked.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0431\u043B\u043E\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.apply_display_preset":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D","action.apply_display_preset.desc":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0430\u0431\u043E \u0432\u043B\u0430\u0441\u043D\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D \u043F\u043E\u043A\u0430\u0437\u0443","action.apply_display_preset.here":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0446\u044C\u043E\u0433\u043E \u0441\u043B\u043E\u0442\u0430","action.apply_display_preset.everywhere":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0432\u0441\u0456\u0445 \u0441\u043B\u043E\u0442\u0456\u0432","action.resolve_keyframe_expressions":"\u0420\u043E\u0437\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u043A\u0430\u0434\u0440","action.resolve_keyframe_expressions.desc":"\u0420\u043E\u0437\u0432\u2019\u044F\u0437\u0443\u0454 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0456\u0432","action.fold_all_animations":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456\u0445 \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440\u0456\u0432","menu.palette.load.empty":"\u041F\u043E\u0440\u043E\u0436\u043D\u044F","switches.lock":"\u0417\u0430\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438","settings.render_sides":"\u0421\u0442\u043E\u0440\u043E\u043D\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457","settings.render_sides.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C, \u044F\u043A\u0438\u0439 \u0431\u0456\u043A \u0433\u0440\u0430\u043D\u0456 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438","settings.render_sides.auto":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E","settings.render_sides.front":"\u0417\u0437\u043E\u0432\u043D\u0456","settings.render_sides.double":"\u0417\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0438 \u0442\u0430 \u0437\u0437\u043E\u0432\u043D\u0456","generic.enable":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438","generic.disable":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438","generic.redacted":"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u043E\u0432\u0430\u043D\u043E","dialog.select_texture.import_all":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0435","dialog.skin.layer_template":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u0448\u0430\u0440\u0443","about.version.up_to_date":"\u0410\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430","about.version.update_available":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432\u0435\u0440\u0441\u0456\u044F %0","settings.category.application":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043E\u043A","settings.streamer_mode":"\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430","settings.streamer_mode.desc":"\u041F\u0440\u0438\u0445\u043E\u0432\u0443\u0454 \u043A\u043E\u043D\u0444\u0456\u0434\u0435\u043D\u0446\u0456\u0439\u043D\u0443 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044E, \u044F\u043A-\u043E\u0442 \u043D\u0435\u0434\u0430\u0432\u043D\u0456 \u043C\u043E\u0434\u0435\u043B\u0456","settings.automatic_updates":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","settings.automatic_updates.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0456 \u0432\u0435\u0440\u0441\u0456\u0457 \u0442\u0430 \u0442\u0440\u0438\u043C\u0430\u0442\u0438 Blockbench \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u043C","action.rotation_space":"\u041F\u0440\u043E\u0441\u0442\u0456\u0440 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","action.focus_on_selection":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434 \u043D\u0430 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u0456","action.focus_on_selection.desc":"\u0412\u0438\u0440\u0456\u0432\u043D\u044F\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443 \u043D\u0430\u0432\u043F\u0440\u043E\u0442\u0438 \u0446\u0435\u043D\u0442\u0440\u0443 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.jump_to_timeline_start":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.jump_to_timeline_end":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043A\u0456\u043D\u0446\u044F \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","menu.help.updating":"\u041E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F (%0%)","menu.help.update_failed":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u043E\u043D\u043E\u0432\u0438\u0442\u0438","menu.animation.loop.once":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043E\u0434\u0438\u043D \u0440\u0430\u0437","menu.animation.loop.hold":"\u0417\u0443\u043F\u0438\u043D\u0438\u0442\u0438 \u043D\u0430 \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u043C\u0443 \u043A\u0430\u0434\u0440\u0456","menu.animation.loop.loop":"\u0426\u0438\u043A\u043B","interface.streamer_mode_on":"\u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430 \u0432\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","generic.reset":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438","generic.restore":"\u0412\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438","keys.mousewheel":"\u041A\u043E\u043B\u0456\u0449\u0430\u0442\u043A\u043E \u043C\u0438\u0448\u0456","message.delete_animation.title":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","message.delete_animation.message":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u0431\u0443\u043B\u043E \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E \u0437 Blockbench. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443, \u0432 \u044F\u043A\u043E\u043C\u0443 \u0432\u043E\u043D\u0430 \u0431\u0443\u043B\u0430 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0430?","message.no_animation_to_import":"\u041D\u0435\u043C\u0430\u0454 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439 \u0434\u043B\u044F \u0456\u043C\u043F\u043E\u0440\u0442\u0443","dialog.material_instances.title":"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0438 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0456\u0432","dialog.animation_import.title":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u0456\u043C\u043F\u043E\u0440\u0442\u0443","dialog.create_texture.padding":"\u0412\u0456\u0434\u0441\u0442\u0443\u043F","settings.fov":"\u041F\u043E\u043B\u0435 \u0437\u043E\u0440\u0443","settings.fov.desc":"\u041F\u043E\u043B\u0435 \u0437\u043E\u0440\u0443 \u043A\u0430\u043C\u0435\u0440\u0438. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 45","settings.minify_bbmodel":"\u041C\u0456\u043D\u0456\u043C\u0456\u0437\u043E\u0432\u0430\u043D\u0456 \u0444\u0430\u0439\u043B\u0438 \u043F\u0440\u043E\u0454\u043A\u0442\u0443","settings.minify_bbmodel.desc":"\u0417\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u0444\u0430\u0439\u043B\u0438 .bbmodel \u0432 \u043E\u0434\u0438\u043D \u0440\u044F\u0434\u043E\u043A","action.edit_material_instances":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0438 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0456\u0432","action.edit_material_instances.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u0437\u0432\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0456\u0432 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0456\u0432 \u0434\u043B\u044F \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u0457 \u0431\u043B\u043E\u043A\u0456\u0432 Bedrock Edition","action.save_all_animations":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.save_all_animations.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0456 \u043F\u043E\u0442\u043E\u0447\u043D\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.keyframe_interpolation":"\u0406\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0456\u044F","action.keyframe_interpolation.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u0456\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0456\u0457 \u043A\u0430\u0434\u0440\u0456\u0432","action.keyframe_interpolation.linear":"\u041B\u0456\u043D\u0456\u0439\u043D\u0438\u0439","action.keyframe_interpolation.catmullrom":"\u041F\u043B\u0430\u0432\u043D\u0438\u0439","action.timeline_focus.hide_empty":"\u0421\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u043A\u0430\u043D\u0430\u043B\u0438","menu.file.preferences":"\u0423\u043F\u043E\u0434\u043E\u0431\u0430\u043D\u043D\u044F","menu.animation.blend_weight":"\u0421\u0438\u043B\u0430 \u0437\u043C\u0456\u0448\u0430\u043D\u043D\u044F","menu.animation.save":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438","menu.animation.properties":"\u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456...","menu.animation.file":"\u0424\u0430\u0439\u043B","menu.animation.snapping":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0430","menu.animation.open_location":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0443 \u043F\u0440\u043E\u0432\u0456\u0434\u043D\u0438\u043A\u0443 \u0444\u0430\u0439\u043B\u0456\u0432","panel.keyframe.add_data_point":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0443","panel.keyframe.remove_data_point":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445","panel.keyframe.pre":"\u041F\u0440\u0435","panel.keyframe.post":"\u041F\u043E\u0441\u0442","generic.all":"\u0423\u0441\u0435","message.small_face_dimensions.title":"\u041D\u0435\u0441\u0443\u043C\u0456\u0441\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438 \u0433\u0440\u0430\u043D\u0456","message.small_face_dimensions.message":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u0433\u0440\u0430\u043D\u0456, \u0448\u0438\u0440\u0438\u043D\u0430 \u044F\u043A\u0438\u0445 \u043C\u0435\u043D\u0448\u0430 \u0437\u0430 1 \u0432 \u043E\u0434\u043D\u043E\u043C\u0443 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443. \u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u043E\u0440\u043E\u0431\u043A\u0438 UV \u0432\u0432\u0430\u0436\u0430\u0454, \u0449\u043E \u0432\u0441\u0456 \u0433\u0440\u0430\u043D\u0456, \u043C\u0435\u043D\u0448\u0456 \u0437\u0430 \u0446\u0435\u0439 \u043F\u043E\u0440\u0456\u0433, \u043C\u0430\u044E\u0442\u044C \u0448\u0438\u0440\u0438\u043D\u0443 0 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432. \u0422\u043E\u043C\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043D\u0430 \u0446\u0438\u0445 \u0433\u0440\u0430\u043D\u044F\u0445 \u043C\u043E\u0436\u0435 \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u043D\u0435\u043A\u043E\u0440\u0435\u043A\u0442\u043D\u043E.","message.small_face_dimensions.face_uv":"\u041F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 \xAB\u0414\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 UV \u0433\u0440\u0430\u043D\u0456\xBB, \u044F\u043A\u0456 \u043C\u043E\u0436\u0443\u0442\u044C \u043E\u0431\u0440\u043E\u0431\u043B\u044F\u0442\u0438 \u043C\u0430\u043B\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438 \u043F\u043E\u0432\u0435\u0440\u0445\u043D\u0456. \u041F\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044C \u0434\u043E \xAB\u0424\u0430\u0439\u043B\xBB > \xAB\u041F\u0440\u043E\u0454\u043A\u0442...\xBB \u0456 \u0437\u043C\u0456\u043D\u0456\u0442\u044C \xAB\u0420\u0435\u0436\u0438\u043C UV\xBB \u043D\u0430 \xAB\u0414\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 UV \u0433\u0440\u0430\u043D\u0456\xBB.","dialog.plugins.outdated_client":"\u041F\u043E\u0442\u0440\u0435\u0431\u0443\u0454 \u043D\u043E\u0432\u0456\u0448\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 Blockbench","dialog.plugins.outdated_plugin":"\u041F\u043B\u0430\u0433\u0456\u043D \u0437\u0430\u0441\u0442\u0430\u0440\u0456\u0432 \u0456 \u043D\u0435 \u043F\u0440\u0430\u0446\u044E\u0454 \u0437 \u0446\u0456\u0454\u044E \u0432\u0435\u0440\u0441\u0456\u0454\u044E Blockbench","settings.motion_trails":"\u0421\u043B\u0456\u0434\u0438 \u0440\u0443\u0445\u0443","settings.motion_trails.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u043B\u0456\u0434\u0438 \u0440\u0443\u0445\u0443 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439","settings.antialiasing":"\u0417\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u043D\u043D\u044F","settings.antialiasing.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0441\u0442\u0430\u043D \u0437\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u043D\u043D\u044F \u0443 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0456","action.timeline_frame_back":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 1 \u043A\u0430\u0434\u0440 \u043D\u0430\u0437\u0430\u0434","action.timeline_frame_forth":"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 1 \u043A\u0430\u0434\u0440 \u0443\u043F\u0435\u0440\u0435\u0434","panel.bone.ik":"\u0417\u0432\u043E\u0440\u043E\u0442\u043D\u0430 \u043A\u0456\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0430 (\u0435\u043A\u0441\u043F\u0435\u0440\u0438\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0430)","settings.particle_tick_rate":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0442\u0430\u043A\u0442\u0443 \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A","settings.particle_tick_rate.desc":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0442\u0430\u043A\u0442\u0443 \u0434\u043B\u044F \u0435\u0444\u0435\u043A\u0442\u0456\u0432 \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A \u0443 \u0442\u0430\u043A\u0442\u0430\u0445 \u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 30","action.lock_motion_trail":"\u0417\u0430\u0444\u0456\u043A\u0441\u0443\u0432\u0430\u0442\u0438 \u0441\u043B\u0456\u0434\u0438 \u0440\u0443\u0445\u0443","action.lock_motion_trail.desc":"\u0417\u0430\u0444\u0456\u043A\u0441\u0443\u0432\u0430\u0442\u0438 \u0441\u043B\u0456\u0434\u0438 \u0440\u0443\u0445\u0443 \u0434\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u0433\u0440\u0443\u043F\u0438","menu.animation_file.unload":"\u0420\u043E\u0437\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B","data.null_object":"\u041F\u0443\u0441\u0442\u0438\u0439 \u043E\u0431\u2019\u0454\u043A\u0442","status_bar.toggle_sidebar":"\u0411\u0456\u0447\u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u044C","message.load_plugin_failed.title":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D","message.load_plugin_failed.message":"\u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043D\u0430\u0437\u0432\u0430 \u0431\u0430\u0437\u043E\u0432\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0443 \u043F\u043B\u0430\u0433\u0456\u043D\u0430 \u0437\u0431\u0456\u0433\u0430\u0454\u0442\u044C\u0441\u044F \u0437 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u043E\u043C \u043F\u043B\u0430\u0433\u0456\u043D\u0430 `%0`, \u0432\u043A\u0430\u0437\u0430\u043D\u0438\u043C \u0443 Plugin.register().","dialog.project.uv_mode":"\u0420\u0435\u0436\u0438\u043C UV","dialog.project.uv_mode.box_uv":"\u041A\u043E\u0440\u043E\u0431\u043A\u0430 UV","dialog.project.uv_mode.face_uv":"\u0414\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 UV \u0433\u0440\u0430\u043D\u0456","dialog.project.texture_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.animation_export.title":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443","dialog.create_texture.rearrange_uv":"\u041F\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u0438\u0442\u0438 UV","layout.color.subtle_text":"\u0421\u0443\u0431\u0442\u0438\u043B\u044C\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442","layout.color.subtle_text.desc":"\u0412\u0442\u043E\u0440\u0438\u043D\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443 \u0437 \u043C\u0435\u043D\u0448\u0438\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043E\u043C","settings.interface_scale":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","settings.interface_scale.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0443\u0441\u044C\u043E\u0433\u043E \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 Blockbench","settings.background_rendering":"\u0424\u043E\u043D\u043E\u0432\u0430 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044F","settings.background_rendering.desc":"\u041E\u043D\u043E\u0432\u043B\u044E\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434, \u043A\u043E\u043B\u0438 \u0432\u0456\u043A\u043D\u043E \u043D\u0435 \u0441\u0444\u043E\u043A\u0443\u0441\u043E\u0432\u0430\u043D\u043E","settings.ctrl_shift_size":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C Control + Shift","settings.ctrl_shift_size.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0441\u0456\u0442\u043A\u0438 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0443\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F Control + Shift","settings.hardware_acceleration":"\u0410\u043F\u0430\u0440\u0430\u0442\u043D\u0435 \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u043D\u044F","settings.hardware_acceleration.desc":"\u0420\u043E\u0437\u043F\u043E\u0434\u0456\u043B\u0438\u0442\u0438 \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457 \u043D\u0430 \u0432\u0456\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u0443","action.explode_skin_model":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u0435\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u0441\u043A\u0438\u043D\u0430","action.explode_skin_model.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0454 \u0441\u0442\u0430\u043D \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u0435\u043D\u043E\u0433\u043E \u0432\u0438\u0433\u043B\u044F\u0434\u0443, \u044F\u043A\u0438\u0439 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u0438\u043A\u0440\u0438\u0442\u0456 \u0433\u0440\u0430\u043D\u0456","action.export_minecraft_skin":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0441\u043A\u0438\u043D Minecraft","action.export_minecraft_skin.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0441\u043A\u0438\u043D Minecraft \u044F\u043A PNG","action.add_null_object":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043F\u0443\u0441\u0442\u0438\u0439 \u043E\u0431\u2019\u0454\u043A\u0442","action.add_null_object.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0438\u0439 \u043F\u0443\u0441\u0442\u0438\u0439 \u043E\u0431\u2019\u0454\u043A\u0442","action.animated_texture_frame":"\u041A\u0430\u0434\u0440 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.animated_texture_frame.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u043A\u0430\u0434\u0440 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.export_animation_file":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457...","action.export_animation_file.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u043E\u0431\u0456\u0440\u043A\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439 \u0443 \u043D\u043E\u0432\u0438\u0439 \u0444\u0430\u0439\u043B","action.timeline_graph_editor":"\u0413\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","action.timeline_graph_editor.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0447\u0430\u0441\u043E\u0432\u0443 \u0448\u043A\u0430\u043B\u0443 \u043C\u0456\u0436 \u0440\u0435\u0436\u0438\u043C\u043E\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0456 \u0440\u0435\u0436\u0438\u043C\u043E\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u043A\u0430\u0434\u0440\u0456\u0432","menu.file.recent.clear":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043D\u0435\u0434\u0430\u0432\u043D\u0456 \u0444\u0430\u0439\u043B\u0438","switches.shade":"\u0422\u0456\u043D\u0456","generic.share":"\u041F\u043E\u0434\u0456\u043B\u0438\u0442\u0438\u0441\u044F","dates.minute":"%0 \u0445\u0432\u0438\u043B\u0438\u043D\u0443","dates.minutes":"%0 \u0445\u0432.","dates.hour":"%0 \u0433\u043E\u0434\u0438\u043D\u0443","dates.hours":"%0 \u0433\u043E\u0434.","dates.day":"%0 \u0434\u0435\u043D\u044C","dates.days":"%0 \u0434\u043D.","dates.week":"%0 \u0442\u0438\u0436\u0434\u0435\u043D\u044C","dates.weeks":"%0 \u0442\u0438\u0436\u043D.","dates.year":"%0 \u0440\u0456\u043A","dates.years":"%0 \u0440\u0440.","message.installed_plugin":"\u0423\u0441\u043F\u0456\u0448\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u043F\u043B\u0430\u0433\u0456\u043D \xAB%0\xBB","message.installed_plugin_fail":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \xAB%0\xBB","dialog.share_model.title":"\u041F\u043E\u0434\u0456\u043B\u0438\u0442\u0438\u0441\u044F \u043C\u043E\u0434\u0435\u043B\u043B\u044E","dialog.share_model.expire_time":"\u0422\u0435\u0440\u043C\u0456\u043D \u0434\u0456\u0457","dialog.share_model.failed":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C","action.import_java_block_model":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0443/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 Java","action.import_java_block_model.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0443/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0430 Java Minecraft \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 .json \u0434\u043E \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u043C\u043E\u0434\u0435\u043B\u0456","action.share_model":"\u041F\u043E\u0434\u0456\u043B\u0438\u0442\u0438\u0441\u044F...","action.share_model.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u043E\u0440\u043E\u0442\u043A\u0435 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F, \u0449\u043E\u0431 \u043F\u043E\u0434\u0456\u043B\u0438\u0442\u0438\u0441\u044F \u043C\u043E\u0434\u0435\u043B\u043B\u044E","action.import_project":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","action.import_project.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0456\u043D\u0448\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442 \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 .bbmodel \u0443 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","dialog.toolbar_edit.hidden_tools":"\u0414\u0435\u044F\u043A\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u0456, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0432\u043E\u043D\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0432 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u043C\u0443 \u0440\u0435\u0436\u0438\u043C\u0456, \u0444\u043E\u0440\u043C\u0430\u0442\u0456 \u0430\u0431\u043E \u0441\u0438\u0442\u0443\u0430\u0446\u0456\u0457.","settings.camera_near_plane":"\u041A\u0430\u043C\u0435\u0440\u0430 \u043F\u043E\u0431\u043B\u0438\u0437\u0443 \u043F\u043B\u043E\u0449\u0438\u043D\u0438","settings.camera_near_plane.desc":"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u044C \u0432\u0456\u0434 \u043A\u0430\u043C\u0435\u0440\u0438, \u043D\u0430 \u044F\u043A\u0456\u0439 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u044E\u0442\u044C\u0441\u044F \u043E\u0431\u2019\u0454\u043A\u0442\u0438. \u0412\u0438\u0449\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u043C\u0435\u043D\u0448\u0443\u044E\u0442\u044C Z-\u043A\u043E\u043D\u0444\u043B\u0456\u043A\u0442\u0438. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 1.","mode.start.keymap_preference.desc":"\u042F\u043A\u0449\u043E \u0432\u0438 \u043F\u043E\u0447\u0430\u0442\u043A\u0456\u0432\u0435\u0446\u044C \u0443 Blockbench \u0456 \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0438\u0442\u0435 \u0437 \u0456\u043D\u0448\u043E\u0433\u043E 3D-\u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0443, \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448 \u0434\u043B\u044F \u043F\u043E\u043B\u0435\u0433\u0448\u0435\u043D\u043D\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0443. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448 \u0430\u0431\u043E \u043E\u043A\u0440\u0435\u043C\u0456 \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448 \u043F\u0456\u0437\u043D\u0456\u0448\u0435 \u0443 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445.","message.load_keymap":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0446\u044E \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448? \u0426\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0448\u0435 \u0432\u0430\u0448\u0456 \u043F\u043E\u0442\u043E\u0447\u043D\u0456 \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448.","message.keymap_loaded":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043E","dialog.convert_project.current_format":"\u041F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442","dialog.create_texture.rearrange_uv.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u0432\u0443 UV \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443, \u0449\u043E\u0431 \u043A\u043E\u0436\u043D\u0430 \u0433\u0440\u0430\u043D\u044C \u043C\u0430\u043B\u0430 \u0432\u043B\u0430\u0441\u043D\u0435 \u043C\u0456\u0441\u0446\u0435 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0456","dialog.create_texture.power.desc":"\u0411\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0437\u0456 \u0441\u0442\u0435\u043F\u0435\u043D\u0435\u043C 2, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, 64 \u0430\u0431\u043E 128. \u0426\u0435 \u0432\u0438\u043C\u0430\u0433\u0430\u0454\u0442\u044C\u0441\u044F \u0434\u0435\u044F\u043A\u0438\u043C\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440\u0430\u043C\u0438","dialog.create_texture.double_use.desc":"\u042F\u043A\u0449\u043E \u0434\u0432\u043E\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C \u0443\u0436\u0435 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043E \u043E\u0434\u043D\u0430\u043A\u043E\u0432\u0438\u0439 UV \u043F\u0440\u043E\u0441\u0442\u0456\u0440, \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u0439\u043E\u0433\u043E \u0442\u0430\u043A\u0438\u043C \u0443 \u043D\u043E\u0432\u0456\u0439 \u043C\u0430\u043F\u0456","dialog.create_texture.padding.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u0435\u0432\u0435\u043B\u0438\u043A\u0438\u0439 \u0432\u0456\u0434\u0441\u0442\u0443\u043F \u043C\u0456\u0436 \u043E\u043A\u0440\u0435\u043C\u0438\u043C\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0430\u043C\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443","dialog.create_texture.resolution.desc":"\u0412\u0438\u0441\u043E\u0442\u0430 \u0456 \u0448\u0438\u0440\u0438\u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.create_gif.color":"\u041A\u043E\u043B\u0456\u0440 \u0442\u043B\u0430","dialog.save_angle.zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","dialog.skin.variant":"\u0412\u0430\u0440\u0456\u0430\u043D\u0442","dialog.flip_animation.info":"\u041F\u0440\u043E\u0442\u0438\u043B\u0435\u0436\u043D\u0456 \u043A\u0456\u0441\u0442\u043A\u0438 \u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0456 \u043A\u043B\u044E\u0447\u043E\u0432\u0438\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 '\u043B\u0456\u0432\u0430' \u0442\u0430 '\u043F\u0440\u0430\u0432\u0430' \u0432 \u0457\u0445\u043D\u0456\u0445 \u043D\u0430\u0437\u0432\u0430\u0445.","dialog.export_private_settings.title":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u043E\u0441\u0442\u0456","dialog.export_private_settings.message":"\u0412\u0430\u0448 \u0444\u0430\u0439\u043B \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0443 \u043F\u0440\u0438\u0432\u0430\u0442\u043D\u0443 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044E: **%0**. \u041D\u0435 \u0432\u043A\u0430\u0437\u0443\u0439\u0442\u0435 \u0446\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u044F\u043A\u0449\u043E \u0432\u0438 \u043F\u043B\u0430\u043D\u0443\u0454\u0442\u0435 \u043F\u043E\u0434\u0456\u043B\u0438\u0442\u0438\u0441\u044F \u0444\u0430\u0439\u043B\u043E\u043C \u0437 \u043A\u0438\u043C\u043E\u0441\u044C \u0456\u043D\u0448\u0438\u043C.","dialog.export_private_settings.keep":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438","settings.timecode_frame_number":"\u0427\u0430\u0441\u043E\u0432\u0438\u0439 \u043A\u043E\u0434 \u044F\u043A \u043D\u043E\u043C\u0435\u0440\u0438 \u043A\u0430\u0434\u0440\u0456\u0432","settings.timecode_frame_number.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0447\u0430\u0441\u043E\u0432\u0456 \u043A\u043E\u0434\u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0456\u0432 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u044F\u043A \u043D\u043E\u043C\u0435\u0440 \u043A\u0430\u0434\u0440\u0443 \u0437\u0430\u043C\u0456\u0441\u0442\u044C \u0441\u0430\u043D\u0442\u0438\u0441\u0435\u043A\u0443\u043D\u0434","settings.animation_sample_rate":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0432\u0438\u0431\u0456\u0440\u043A\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","settings.animation_sample_rate.desc":"\u0427\u0430\u0441\u0442\u043E\u0442\u0430 \u0432\u0438\u0431\u0456\u0440\u043A\u0438 \u0443 \u0432\u0456\u0434\u043B\u0456\u043A\u0430\u0445 \u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0434\u043B\u044F \u043A\u0440\u0438\u0432\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432, \u044F\u043A\u0456 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u044E\u0442\u044C\u0441\u044F \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0438\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u043E\u043C \u0432\u0456\u0434 \u043F\u043E\u0447\u0430\u0442\u043A\u0443","keybind.preview_zoom":"\u0412\u0438\u0434 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443","action.gradient_tool":"\u0413\u0440\u0430\u0434\u0456\u0454\u043D\u0442","action.gradient_tool.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0433\u0440\u0430\u0434\u0456\u0454\u043D\u0442 \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0456","action.import_settings":"\u0406\u043C\u043F\u043E\u0440\u0442 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C","action.import_settings.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0444\u0430\u0439\u043B .bbsettings","action.export_settings":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C","action.export_settings.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F Blockbench \u044F\u043A \u0444\u0430\u0439\u043B .bbsettings","action.load_keymap":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443","action.load_keymap.default":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u043E (\u0441\u0435\u043D\u0441\u043E\u0440\u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u044C/\u043C\u0438\u0448\u0430)","action.load_keymap.mouse":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u043E (\u043C\u0438\u0448\u0430)","action.load_keymap.default.desc":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448 Blockbench \u0456\u0437 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0454\u044E \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443, \u043E\u043F\u0442\u0438\u043C\u0456\u0437\u043E\u0432\u0430\u043D\u0438\u043C\u0438 \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u0441\u0435\u043D\u0441\u043E\u0440\u043D\u0438\u0445 \u043F\u0430\u043D\u0435\u043B\u044F\u0445 \u043D\u043E\u0443\u0442\u0431\u0443\u043A\u0456\u0432","action.load_keymap.mouse.desc":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0441\u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044F \u043A\u043B\u0430\u0432\u0456\u0448 Blockbench \u0456\u0437 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0454\u044E \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443, \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u044E \u0434\u043E \u0441\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0457 \u043A\u043D\u043E\u043F\u043A\u0438 \u043C\u0438\u0448\u0456","action.load_keymap.blender.desc":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0430 \u043A\u043B\u0430\u0432\u0456\u0448 \u0434\u043B\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432, \u044F\u043A\u0456 \u0437\u043D\u0430\u0439\u043E\u043C\u0456 \u0437 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C\u0438 \u043A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F Blender","action.load_keymap.cinema4d.desc":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0430 \u043A\u043B\u0430\u0432\u0456\u0448 \u0434\u043B\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432, \u044F\u043A\u0456 \u0437\u043D\u0430\u0439\u043E\u043C\u0456 \u0437 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C\u0438 \u043A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F Cinema 4D","action.load_keymap.maya.desc":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0430 \u043A\u043B\u0430\u0432\u0456\u0448 \u0434\u043B\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432, \u044F\u043A\u0456 \u0437\u043D\u0430\u0439\u043E\u043C\u0456 \u0437 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C\u0438 \u043A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F Autodesk Maya","action.import_keymap":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443","action.import_keymap.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448 \u0437 \u0444\u0430\u0439\u043B\u0430 .bbkeymap","action.export_keymap":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443","action.export_keymap.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0443 \u043A\u043B\u0430\u0432\u0456\u0448 \u044F\u043A \u0444\u0430\u0439\u043B .bbkeymap","action.edit_history":"\u0406\u0441\u0442\u043E\u0440\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F...","action.edit_history.desc":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0456\u0441\u0442\u043E\u0440\u0456\u044E \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0430\u0431\u043E \u0432\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u0434\u0456\u044E","action.group_elements":"\u0415\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0433\u0440\u0443\u043F\u0438","action.group_elements.desc":"\u0417\u0430\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432 \u043D\u043E\u0432\u0443 \u0433\u0440\u0443\u043F\u0443","action.unfold_groups":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0433\u0440\u0443\u043F\u0438","action.unfold_groups.desc":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0443\u043F\u0438 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.edit_bedrock_binding":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0443...","action.edit_bedrock_binding.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438, \u0434\u043E \u044F\u043A\u043E\u0457 \u043A\u0456\u0441\u0442\u043A\u0438 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u043D\u0430 \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u044F","action.pick_screen_color":"\u041E\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0437 \u0435\u043A\u0440\u0430\u043D\u0430","action.pick_screen_color.desc":"\u041E\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0434\u0435\u0441\u044C \u043D\u0430 \u0435\u043A\u0440\u0430\u043D\u0456","action.view_mode":"\u0420\u0435\u0436\u0438\u043C \u0432\u0438\u0433\u043B\u044F\u0434\u0443","action.view_mode.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u0432\u0438\u0433\u043B\u044F\u0434\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.view_mode.textured":"\u0417 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u044E","action.view_mode.solid":"\u0421\u0443\u0446\u0456\u043B\u044C\u043D\u0430","action.view_mode.wireframe":"\u041A\u0430\u0440\u043A\u0430\u0441","action.toggle_sidebars":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0431\u0456\u0447\u043D\u0456 \u043F\u0430\u043D\u0435\u043B\u0456","action.toggle_sidebars.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0430\u0431\u043E \u0432\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0431\u0456\u0447\u043D\u0456 \u043F\u0430\u043D\u0435\u043B\u0456","action.set_animation_end":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043A\u0456\u043D\u0435\u0446\u044C \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.set_animation_end.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043A\u0456\u043D\u0435\u0446\u044C \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u043D\u0430 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0447\u0430\u0441 \u043D\u0430 \u0448\u043A\u0430\u043B\u0456 \u0447\u0430\u0441\u0443","action.flip_animation":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.flip_animation.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u0442\u0430\u0454 \u0447\u0430\u0441\u0442\u0438\u043D\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457, \u043A\u043E\u043F\u0456\u044E\u044E\u0447\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u043A\u0430\u0434\u0440\u0438 \u043D\u0430 \u0456\u043D\u0448\u0443 \u0441\u0442\u043E\u0440\u043E\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.graph_editor_zero_line":"Include Zero Line","action.graph_editor_zero_line.desc":"Whether the graph editor always includes the zero line in the view","menu.texture.render_mode":"\u0420\u0435\u0436\u0438\u043C \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457","menu.texture.render_mode.emissive":"\u0412\u0438\u043F\u0440\u043E\u043C\u0456\u043D\u043D\u0438\u0439","menu.texture.render_mode.layered":"\u0428\u0430\u0440\u0443\u0432\u0430\u0442\u0438\u0439","menu.preview.angle.edit":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0443\u0442...","menu.animation.start_delay":"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443","menu.animation.loop_delay":"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u0446\u0438\u043A\u043B\u0443","menu.animation.flip_keyframes":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u043A\u0430\u0434\u0440\u0438","menu.mobile_keyboard.disable_all":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0441\u0435","panel.keyframe.toggle_uniform_scale":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F","camera_angle.common_isometric_right":"\u0406\u0437\u043E\u043C\u0435\u0442\u0440\u0456\u044F \u0441\u043F\u0440\u0430\u0432\u0430 (2:1)","camera_angle.common_isometric_left":"\u0406\u0437\u043E\u043C\u0435\u0442\u0440\u0456\u044F \u0437\u043B\u0456\u0432\u0430 (2:1)","camera_angle.true_isometric_right":"\u0421\u043F\u0440\u0430\u0432\u0436\u043D\u044F \u0456\u0437\u043E\u043C\u0435\u0442\u0440\u0456\u044F \u0441\u043F\u0440\u0430\u0432\u0430 (30\xB0)","camera_angle.true_isometric_left":"\u0421\u043F\u0440\u0430\u0432\u0436\u043D\u044F \u0456\u0437\u043E\u043C\u0435\u0442\u0440\u0456\u044F \u0437\u043B\u0456\u0432\u0430 (30\xB0)","menu.help.wiki":"\u0412\u0456\u043A\u0456 Blockbench","settings.update_to_prereleases":"\u041E\u043D\u043E\u0432\u043B\u044E\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043E \u043F\u0440\u0435-\u0432\u0438\u043F\u0443\u0441\u043A\u0456\u0432","settings.update_to_prereleases.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043E\u043D\u043E\u0432\u043B\u044E\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043E \u0431\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0456\u0439 Blockbench \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u043E\u0432\u0438\u0445 \u0444\u0443\u043D\u043A\u0446\u0456\u0439. \u0412\u0435\u0440\u0441\u0456\u0457 \u043F\u0440\u0435-\u0432\u0438\u043F\u0443\u0441\u043A\u0456\u0432 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u043D\u0435\u0441\u0442\u0430\u0431\u0456\u043B\u044C\u043D\u0438\u043C\u0438, \u043D\u0435 \u0432\u043C\u0438\u043A\u0430\u0439\u0442\u0435 \u0446\u0435\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440, \u044F\u043A\u0449\u043E \u0432\u0438 \u043F\u043E\u043A\u043B\u0430\u0434\u0430\u0454\u0442\u0435\u0441\u044F \u043D\u0430 Blockbench \u0434\u043B\u044F \u0440\u043E\u0431\u043E\u0442\u0438 \u0430\u0431\u043E \u0456\u043D\u0448\u0438\u0445 \u0432\u0430\u0436\u043B\u0438\u0432\u0438\u0445 \u043F\u0440\u043E\u0454\u043A\u0442\u0456\u0432.","data.separator.spacer":"\u0420\u043E\u0437\u043F\u0456\u0440\u043A\u0430","data.separator.linebreak":"\u0420\u043E\u0437\u0440\u0438\u0432 \u0440\u044F\u0434\u043A\u0430","data.setting":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F","generic.select_all":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0435","generic.select_none":"\u041F\u0440\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","projects.new_tab":"\u041D\u043E\u0432\u0430 \u0432\u043A\u043B\u0430\u0434\u043A\u0430","projects.close_tab":"\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0443","message.invalid_format.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442","message.invalid_format.message":"\u0426\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0431\u0443\u043B\u0430 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0430 \u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456 \xAB%0\xBB, \u044F\u043A\u0438\u0439 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0438\u0439 \u0443 Blockbench. \u0428\u0432\u0438\u0434\u0448\u0435 \u0437\u0430 \u0432\u0441\u0435, \u0432\u0430\u043C \u043F\u043E\u0442\u0440\u0456\u0431\u0435\u043D \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0439 \u043F\u043B\u0430\u0433\u0456\u043D, \u0449\u043E\u0431 \u043A\u043E\u0440\u0435\u043A\u0442\u043D\u043E \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0457\u0457.","message.invalid_link":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0435 \u0430\u0431\u043E \u0437\u0430\u0441\u0442\u0430\u0440\u0456\u043B\u0435 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C","message.default_textures.current":"\u041F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0448\u043B\u044F\u0445","message.update_after_restart":"\u041E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u0431\u0443\u0434\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u043F\u0456\u0441\u043B\u044F \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443","message.copy_paste_tool_viewport":"\u0426\u0435\u0439 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456","dialog.project.shadow_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0442\u0456\u043D\u0456","dialog.find_replace.target":"\u0426\u0456\u043B\u044C","dialog.find_replace.target.element_names":"\u041D\u0430\u0437\u0432\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","dialog.find_replace.target.group_names":"\u041D\u0430\u0437\u0432\u0438 \u0433\u0440\u0443\u043F","dialog.find_replace.target.animation_names":"\u041D\u0430\u0437\u0432\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439","dialog.find_replace.target.keyframe_values":"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u0430\u0434\u0440\u0456\u0432","dialog.find_replace.find":"\u0417\u043D\u0430\u0439\u0442\u0438","dialog.find_replace.replace":"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438","dialog.find_replace.regex":"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u0438\u0439 \u0432\u0438\u0440\u0430\u0437","dialog.add_primitive.shape":"\u0424\u043E\u0440\u043C\u0430","dialog.add_primitive.shape.circle":"\u041A\u043E\u043B\u043E","dialog.add_primitive.shape.tube":"\u0422\u0440\u0443\u0431\u0430","dialog.add_primitive.shape.cone":"\u041A\u043E\u043D\u0443\u0441","dialog.add_primitive.shape.cylinder":"\u0426\u0438\u043B\u0456\u043D\u0434\u0440","dialog.add_primitive.shape.sphere":"\u0421\u0444\u0435\u0440\u0430","dialog.add_primitive.shape.torus":"\u0422\u043E\u0440","dialog.add_primitive.shape.cube":"\u041A\u0443\u0431","dialog.add_primitive.shape.pyramid":"\u041F\u0456\u0440\u0430\u043C\u0456\u0434\u0430","dialog.add_primitive.diameter":"\u0414\u0456\u0430\u043C\u0435\u0442\u0440","dialog.add_primitive.height":"\u0412\u0438\u0441\u043E\u0442\u0430","dialog.add_primitive.sides":"\u0421\u0442\u043E\u0440\u043E\u043D\u0438","dialog.add_primitive.minor_diameter":"\u0422\u043E\u0432\u0449\u0438\u043D\u0430","dialog.add_primitive.minor_sides":"\u0414\u0440\u0443\u0433\u043E\u0440\u044F\u0434\u043D\u0456 \u0441\u0442\u043E\u0440\u043E\u043D\u0438","dialog.create_texture.combine_polys":"Combine Islands","dialog.create_texture.combine_polys.desc":"Combine faces into connected UV islands","dialog.model_stats.meshes":"\u041C\u0435\u0448\u0456","dialog.export_private_settings.omit":"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u0438","layout.select":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438","layout.options":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438","layout.color":"\u041A\u043E\u043B\u0456\u0440\u043D\u0430 \u0441\u0445\u0435\u043C\u0430","layout.documentation":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0456\u044F","layout.color.bright_ui_text":"Bright UI Text","layout.color.bright_ui_text.desc":"Text on bright backgrounds","layout.name":"\u041D\u0430\u0437\u0432\u0430","layout.author":"\u0410\u0432\u0442\u043E\u0440","settings.dialog.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E \xAB%0\xBB","settings.export_empty_groups":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0445 \u0433\u0440\u0443\u043F","settings.export_empty_groups.desc":"\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u0438 \u0433\u0440\u0443\u043F\u0438 \u0431\u0435\u0437 \u0432\u043C\u0456\u0441\u0442\u0443 \u0434\u043E \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u0444\u0430\u0439\u043B\u0456\u0432","category.separators":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A\u0438","keybind.preview_area_select":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u043E\u0431\u043B\u0430\u0441\u0442\u044C","action.color_erase_mode":"\u0420\u0435\u0436\u0438\u043C \u0433\u0443\u043C\u043A\u0438","action.color_erase_mode.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0432\u0448\u0438 \u0440\u0435\u0436\u0438\u043C \u0433\u0443\u043C\u043A\u0438, \u0442\u0430\u043A\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438, \u044F\u043A \xAB\u0417\u0430\u043B\u0438\u0432\u043A\u0430\xBB \u0442\u0430 \xAB\u041F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0438\u043A\xBB, \u0432\u0456\u0434\u043D\u0456\u043C\u0430\u044E\u0442\u044C \u043A\u043E\u043B\u044C\u043E\u0440\u0438, \u0430 \u043D\u0435 \u0434\u043E\u0434\u0430\u044E\u0442\u044C \u0457\u0445","action.open_from_link":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0430 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C","action.open_from_link.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0437 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F blckbn.ch","action.import_obj":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C OBJ","action.import_obj.desc":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0454 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0437 \u043C\u043E\u0434\u0435\u043B\u0456 OBJ \u044F\u043A \u043C\u0435\u0448\u0456","action.add_plugin":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D","action.add_plugin.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u043F\u043B\u0430\u0433\u0456\u043D \u0447\u0435\u0440\u0435\u0437 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0434\u0456\u0439","action.remove_plugin":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D","action.remove_plugin.desc":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \u0447\u0435\u0440\u0435\u0437 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0434\u0456\u0439","action.add_mesh":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043C\u0435\u0448","action.add_mesh.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0438\u0439 \u043C\u0435\u0448","action.add_texture_mesh":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043D\u0438\u0439 \u043C\u0435\u0448","action.add_texture_mesh.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043D\u0438\u0439 \u043C\u0435\u0448","action.find_replace":"\u0417\u043D\u0430\u0439\u0442\u0438/\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438...","action.find_replace.desc":"\u0417\u043D\u0430\u0439\u0442\u0438 \u0442\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0438 \u043D\u0430\u0437\u0432","action.hide_everything_except_selection":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0432\u0441\u0435, \u043A\u0440\u0456\u043C \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0433\u043E","action.hide_everything_except_selection.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0434\u043B\u044F \u0432\u0441\u0456\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432, \u043E\u043A\u0440\u0456\u043C \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445","action.transform_space.normal":"\u041D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u0438\u0439","action.selection_mode":"\u0420\u0435\u0436\u0438\u043C \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_mode.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0441\u043F\u043E\u0441\u0456\u0431 \u0432\u0438\u0431\u043E\u0440\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0432 \u043E\u0431\u043B\u0430\u0441\u0442\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","action.selection_mode.object":"\u041E\u0431\u2019\u0454\u043A\u0442","action.selection_mode.face":"\u0413\u0440\u0430\u043D\u044C","action.selection_mode.vertex":"\u0412\u0435\u0440\u0448\u0438\u043D\u0430","action.create_face":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0433\u0440\u0430\u043D\u044C \u0430\u0431\u043E \u0440\u0435\u0431\u0440\u043E","action.create_face.desc":"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u043D\u043E\u0432\u0443 \u0433\u0440\u0430\u043D\u044C \u0430\u0431\u043E \u0440\u0435\u0431\u0440\u043E \u043C\u0456\u0436 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u043C\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0430\u043C\u0438","action.convert_to_mesh":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0443 \u043C\u0435\u0448","action.convert_to_mesh.desc":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0443 \u043C\u0435\u0448","action.invert_face":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0433\u0440\u0430\u043D\u044C","action.invert_face.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0430\u043D\u0456, \u0449\u043E\u0431 \u0432\u043E\u043D\u0438 \u0431\u0443\u043B\u0438 \u0437\u0432\u0435\u0440\u043D\u0435\u043D\u0456 \u0432 \u043F\u0440\u043E\u0442\u0438\u043B\u0435\u0436\u043D\u043E\u043C\u0443 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443","action.extrude_mesh_selection":"Extrude Selection","action.extrude_mesh_selection.desc":"Extrude the selected parts of the mesh","action.loop_cut":"Loop Cut","action.loop_cut.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u043F\u0435\u0442\u043B\u0435\u044E \u043F\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u043C\u0443 \u0440\u0435\u0431\u0440\u0443","action.merge_meshes":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0438","action.merge_meshes.desc":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0441\u0456\u0442\u043E\u043A \u0432 \u043E\u0434\u043D\u0443","action.keyframe_uniform":"\u0420\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F","action.keyframe_uniform.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0430\u0445","menu.locator.ignore_inherited_scale":"\u0406\u0433\u043D\u043E\u0440\u0443\u0432\u0430\u0442\u0438 \u0443\u0441\u043F\u0430\u0434\u043A\u043E\u0432\u0430\u043D\u0438\u0439 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","menu.texture.elements":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","uv_editor.transparent_face":"\u041F\u0440\u043E\u0437\u043E\u0440\u0430 \u0433\u0440\u0430\u043D\u044C","display.pose_angle":"\u041A\u0443\u0442 \u043F\u043E\u0437\u0438 (\u041B\u0438\u0448\u0435 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443)","data.mesh":"\u041C\u0435\u0448","dialog.create_texture.type":"\u0422\u0438\u043F","dialog.create_texture.type.blank":"\u041F\u043E\u0440\u043E\u0436\u043D\u044F","dialog.create_texture.type.template":"\u0428\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.create_texture.type.color_map":"\u041E\u0434\u043D\u043E\u0442\u043E\u043D\u043D\u0438\u0439 \u0448\u0430\u0431\u043B\u043E\u043D","dialog.sketchfab_uploader.suggested_tags":"\u0417\u0430\u043F\u0440\u043E\u043F\u043E\u043D\u043E\u0432\u0430\u043D\u0456 \u0442\u0435\u0433\u0438","dialog.sketchfab_uploader.category":"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u044F","dialog.sketchfab_uploader.category2":"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u044F 2","layout.restore_backup":"\u0412\u0430\u0448\u0443 \u0432\u043B\u0430\u0441\u043D\u0443 \u0442\u0435\u043C\u0443 \xAB%0\xBB \u0431\u0443\u043B\u043E \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D\u043E. \u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u0457\u0457.","layout.borders":"\u041C\u0435\u0436\u0456","action.fill_mode.element":"\u0415\u043B\u0435\u043C\u0435\u043D\u0442","action.inset_mesh_selection":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0435","action.inset_mesh_selection.desc":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0447\u0430\u0441\u0442\u0438\u043D\u0438 \u043C\u0435\u0448\u0430","action.dissolve_edges":"\u0420\u043E\u0437\u0447\u0438\u043D\u0438\u0442\u0438 \u0440\u0435\u0431\u0440\u0430","action.dissolve_edges.desc":"\u0420\u043E\u0437\u0447\u0438\u043D\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0440\u0435\u0431\u0440\u0430 \u0443 \u0441\u0456\u0442\u043A\u0438 \u0442\u0430 \u043E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0433\u0440\u0430\u043D\u0456, \u044F\u043A\u0456 \u0432\u043E\u043D\u0438 \u0440\u043E\u0437\u0434\u0456\u043B\u044F\u044E\u0442\u044C","action.split_mesh":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u043C\u0435\u0448","action.split_mesh.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0430\u043D\u0456 \u043C\u0435\u0448\u0430 \u043D\u0430 \u043D\u043E\u0432\u0438\u0439 \u043C\u0435\u0448","action.merge_vertices":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0438","action.merge_vertices.desc":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u0443 \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u043F\u0435\u0440\u0448\u043E\u0457 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u0432\u0435\u0440\u0448\u0438\u043D\u0438","action.view_mode.normal":"\u041E\u0440\u0456\u0454\u043D\u0442\u0430\u0446\u0456\u044F \u0433\u0440\u0430\u043D\u0456","action.snap_uv_to_pixels":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 UV \u0434\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432","action.snap_uv_to_pixels.desc":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u0454 \u0432\u0438\u0431\u0440\u0430\u043D\u0456 \u0432\u0435\u0440\u0448\u0438\u043D\u0438 UV \u0434\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u043E\u0457 \u0441\u0456\u0442\u043A\u0438","menu.file.import.import_open_project":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","menu.help.unlock_projects":"\u0420\u043E\u0437\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043F\u0440\u043E\u0454\u043A\u0442\u0438","status_bar.selection.faces":"%0 \u0433\u0440\u0430\u043D\u044C","status_bar.selection.vertices":"%0 \u0432\u0435\u0440\u0448\u0438\u043D","message.merged_vertices":"\u0417\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0442\u0430 \u043E\u0431\u2019\u0454\u0434\u043D\u0430\u043D\u043E \u0432\u0435\u0440\u0448\u0438\u043D\u0438 (%0) \u0443 \u043C\u0456\u0441\u0446\u044F\u0445 (%1)","settings.vertex_merge_distance":"\u0412\u0456\u0434\u0441\u0442\u0430\u043D\u044C \u043E\u0431\u2019\u0454\u0434\u043D\u0430\u043D\u043D\u044F \u0432\u0435\u0440\u0448\u0438\u043D","settings.vertex_merge_distance.desc":"\u0412\u0456\u0434\u0441\u0442\u0430\u043D\u044C, \u0432 \u043C\u0435\u0436\u0430\u0445 \u044F\u043A\u043E\u0457 \u043E\u0431\u2019\u0454\u0434\u043D\u0443\u044E\u0442\u044C\u0441\u044F \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u0437 \u043E\u0431\u2019\u0454\u0434\u043D\u0430\u043D\u043D\u044F\u043C \u0437\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u043D\u044E","settings.show_only_selected_uv":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0439 UV","settings.show_only_selected_uv.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 UV","action.merge_vertices.merge_all":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0441\u0435","action.merge_vertices.merge_all_in_center":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0441\u0435 \u0432 \u0446\u0435\u043D\u0442\u0440\u0456","action.merge_vertices.merge_by_distance":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0437\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u043D\u044E","action.merge_vertices.merge_by_distance_in_center":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0437\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u043D\u044E \u0443 \u0446\u0435\u043D\u0442\u0440\u0456","action.uv_rotate_left":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 UV \u0432\u043B\u0456\u0432\u043E","action.uv_rotate_left.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u043F\u0440\u043E\u0442\u0438 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u0457 \u0441\u0442\u0440\u0456\u043B\u043A\u0438","action.uv_rotate_right":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 UV \u0432\u043F\u0440\u0430\u0432\u043E","action.uv_rotate_right.desc":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u0437\u0430 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u044E \u0441\u0442\u0440\u0456\u043B\u043A\u043E\u044E","menu.uv.display_uv":"\u041F\u043E\u043A\u0430\u0437 UV","menu.uv.display_uv.selected_faces":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0430\u043D\u0456","menu.uv.display_uv.selected_elements":"\u0423\u0441\u0456 \u0433\u0440\u0430\u043D\u0456","menu.uv.display_uv.all_elements":"\u0423\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u043D\u0430 \u0432\u0441\u0456\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445","menu.paste.face":"UV \u0433\u0440\u0430\u043D\u044C","menu.paste.mesh_selection":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043C\u0435\u0448\u0443","menu.paste.outliner":"\u0415\u043B\u0435\u043C\u0435\u043D\u0442\u0438","uv_editor.show_all_faces":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0430\u043D\u0456","uv_editor.show_selected_faces":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0430\u043D\u0456","status_bar.selection.edges":"%0 \u0440\u0435\u0431\u0435\u0440","action.selection_mode.edge":"\u0420\u0435\u0431\u0440\u043E","message.cannot_re_import.title":"\u041C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438","message.cannot_re_import.message":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0434\u0435\u043B\u0456 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0439 \u0432 Blockbench. \u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u043D\u0435 \u0437\u0430\u0431\u0443\u0434\u044C\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0430\u0448\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0454\u043A\u0442\u0443.","generic.default":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u043E","units.pixels_per_meter":"%0 \u043F\u0456\u043A\u0441. \u043D\u0430 \u043C\u0435\u0442\u0440","mode.pose":"\u041F\u043E\u0437\u0430","modifier_actions.resize_both_sides":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0432 \u043E\u0431\u043E\u0445 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0430\u0445","modifier_actions.resize_one_side":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0432 \u043E\u0434\u043D\u043E\u043C\u0443 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443","modifier_actions.draw_line":"\u041D\u0430\u043C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u044E","modifier_actions.drag_without_snapping":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0443\u0442\u0438 \u0431\u0435\u0437 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u0432\u0430\u043D\u043D\u044F","modifier_actions.stretch_keyframes":"\u0420\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0442\u0438 \u043A\u0430\u0434\u0440\u0438","modifier_actions.resize_background":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0442\u043B\u0430","modifier_actions.select_multiple":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0434\u0435\u043A\u0456\u043B\u044C\u043A\u0430","modifier_actions.select_range":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D","modifier_actions.drag_to_duplicate":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438","modifier_actions.uniform_scaling":"\u0420\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F","modifier_actions.snap_direction":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u043D\u0430\u043F\u0440\u044F\u043C\u043E\u043A","message.no_valid_elements":"\u041D\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u043E \u0434\u0456\u0439\u0441\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432...","dialog.add_primitive.shape.plane":"\u041F\u043B\u043E\u0449\u0438\u043D\u0430","dialog.save_angle.rotation_mode":"\u0420\u0435\u0436\u0438\u043C \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","dialog.save_angle.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","dialog.save_angle.fov":"\u041F\u043E\u043B\u0435 \u0437\u043E\u0440\u0443","settings.hide_tab_bar":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043F\u0440\u0438\u0445\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u0432\u043A\u043B\u0430\u0434\u043E\u043A","settings.hide_tab_bar.desc":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C \u0432\u043A\u043B\u0430\u0434\u043E\u043A, \u043A\u043E\u043B\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u043B\u0438\u0448\u0435 \u043E\u0434\u043D\u0430 \u0432\u043A\u043B\u0430\u0434\u043A\u0430","settings.status_bar_modifier_keys":"\u041F\u0440\u043E\u043F\u043E\u043D\u0443\u0432\u0430\u0442\u0438 \u043A\u043B\u0430\u0432\u0456\u0448\u0456 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438 \u0443 \u0440\u044F\u0434\u043A\u0443 \u0441\u0442\u0430\u043D\u0443","settings.status_bar_modifier_keys.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E-\u0437\u0430\u043B\u0435\u0436\u043D\u0456 \u0437\u0430\u043F\u0440\u043E\u043F\u043E\u043D\u043E\u0432\u0430\u043D\u0456 \u043A\u043B\u0430\u0432\u0456\u0448\u0456 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438 \u0443 \u0440\u044F\u0434\u043A\u0443 \u0441\u0442\u0430\u043D\u0443","settings.ground_plane":"\u041D\u0430\u0437\u0435\u043C\u043D\u0430 \u043F\u043B\u043E\u0449\u0438\u043D\u0430","settings.ground_plane.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0437\u0435\u043C\u043D\u0443 \u043F\u043B\u043E\u0449\u0438\u043D\u0443 \u043F\u0456\u0434 \u043C\u043E\u0434\u0435\u043B\u043B\u044E","settings.preview_paste_behavior":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0430 \u0434\u0456\u044F \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0443 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","settings.preview_paste_behavior.desc":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0443 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0441\u0442\u0430\u0432\u043A\u0438 \u0447\u043E\u0433\u043E\u0441\u044C \u0434\u043E \u043E\u0431\u043B\u0430\u0441\u0442\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u0432 \u0440\u0435\u0436\u0438\u043C\u0456 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F, \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043A\u0456\u043B\u044C\u043A\u0430 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432","settings.preview_paste_behavior.always_ask":"\u0417\u0430\u0432\u0436\u0434\u0438 \u0437\u0430\u043F\u0438\u0442\u0443\u0432\u0430\u0442\u0438","action.new_window":"\u041D\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E","action.new_window.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u043D\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E Blockbench","action.export_collada":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C Collada (DAE)","action.export_collada.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u044F\u043A \u0444\u0430\u0439\u043B DAE, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E \u0432 \u0456\u043D\u0448\u0438\u0445 3D-\u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0430\u0445","action.paint_mode_uv_overlay":"\u041D\u0430\u043A\u043B\u0430\u0434\u0430\u043D\u043D\u044F UV","action.paint_mode_uv_overlay.desc":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043C\u0430\u043F\u0443 UV \u044F\u043A \u043D\u0430\u043A\u043B\u0430\u0434\u0430\u043D\u043D\u044F \u0432 \u0440\u0435\u0436\u0438\u043C\u0456 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.bake_animation_into_model":"Bake Animation into Model","action.bake_animation_into_model.desc":"Bake the currently displayed animation frame into the model. Only applies rotation and position, scale is ignored.","action.keyframe_interpolation.step":"\u041A\u0440\u043E\u043A","action.set_ik_target":"Set IK Target","action.set_ik_target.desc":"Select the target bone that should be moved by this null object via Inverse Kinematics","menu.action_control.type.tab":"\u0412\u043A\u043B\u0430\u0434\u043A\u0430","menu.action_control.type.angle":"\u041A\u0443\u0442 \u043A\u0430\u043C\u0435\u0440\u0438","menu.action_control.recent_in_streamer_mode":"\u0423\u043F\u0435\u0432\u043D\u0435\u043D\u0456? \u0420\u0435\u0436\u0438\u043C \u0441\u0442\u0440\u0438\u043C\u0435\u0440\u0430 \u0432\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","menu.action_control.recent_in_streamer_mode.desc":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043D\u0435\u0434\u0430\u0432\u043D\u0456 \u043C\u043E\u0434\u0435\u043B\u0456?","menu.tools":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438","menu.file.recent.more":"\u0414\u043E\u043A\u043B\u0430\u0434\u043D\u0456\u0448\u0435...","menu.null_object.lock_ik_target_rotation":"\u0417\u0430\u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0446\u0456\u043B\u0456 IK","menu.animation_file.import_remaining":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043B\u0438\u0448\u043E\u043A \u0437 \u0444\u0430\u0439\u043B\u0443","edit.loop_cut.offset":"\u0417\u043C\u0456\u0449\u0435\u043D\u043D\u044F","edit.extrude_mesh_selection.extend":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438","cube.color.pink":"\u0420\u043E\u0436\u0435\u0432\u0438\u0439","cube.color.silver":"\u0421\u0440\u0456\u0431\u043B\u044F\u0441\u0442\u0438\u0439","dialog.plugins.offline":"\u041D\u0435\u043C\u0430\u0454 \u043F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044F \u0434\u043E \u0406\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443","dialog.create_texture.pixel_density":"\u0429\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432","dialog.create_texture.pixel_density.desc":"\u0429\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438, \u0443 \u043F\u0456\u043A\u0441\u0435\u043B\u044F\u0445 \u043D\u0430 \u043C\u0435\u0442\u0440. \u0420\u043E\u0437\u043C\u0456\u0440 \u043C\u0430\u043F\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u043C\u043E\u0436\u0435 \u0432\u0456\u0434\u0440\u0456\u0437\u043D\u044F\u0442\u0438\u0441\u044F \u0437\u0430\u043B\u0435\u0436\u043D\u043E \u0432\u0456\u0434 \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u0442\u0430 \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432.","panel.skin_pose":"\u041F\u043E\u0437\u0430","panel.skin_pose.none":"\u041D\u0435\u043C\u0430\u0454","panel.skin_pose.natural":"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430","panel.skin_pose.walking":"\u0425\u043E\u0434\u044F\u0447\u0438","panel.skin_pose.crouching":"\u041D\u0430\u0432\u043F\u043E\u0447\u0456\u043F\u043A\u0438","panel.skin_pose.sitting":"\u0421\u0438\u0434\u044F\u0447\u0438","panel.skin_pose.jumping":"\u0421\u0442\u0440\u0438\u0431\u0430\u044E\u0447\u0438","panel.skin_pose.aiming":"\u041D\u0430\u0446\u0456\u043B\u044E\u044E\u0447\u0438","edit.loop_cut.direction":"\u041D\u0430\u043F\u0440\u044F\u043C\u043E\u043A","data.texture_mesh":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \u043C\u0435\u0448\u0443","generic.left":"\u041B\u0456\u0432\u043E\u0440\u0443\u0447","generic.right":"\u041F\u0440\u0430\u0432\u043E\u0440\u0443\u0447","mode.start.quick_setup":"\u0428\u0432\u0438\u0434\u043A\u0435 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F","mode.start.keymap":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434\u043A\u0430 \u043A\u043B\u0430\u0432\u0456\u0448","mode.start.quick_setup.more_themes":"\u0414\u043E\u043A\u043B\u0430\u0434\u043D\u0456\u0448\u0435...","dialog.resize_texture.animation_frames":"\u041A\u0430\u0434\u0440\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","dialog.export_emission_map.title":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u043F\u0443 \u0434\u0436\u0435\u0440\u0435\u043B\u0430","dialog.export_emission_map.format":"\u0424\u043E\u0440\u043C\u0430\u0442","dialog.export_emission_map.format.luminance":"\u042F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C","dialog.export_emission_map.format.luminance_inverted":"\u0406\u043D\u0432\u0435\u0440\u0442\u043E\u0432\u0430\u043D\u0430 \u044F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C","dialog.export_emission_map.format.colors":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438","dialog.export_emission_map.threshold":"\u041F\u043E\u0440\u0456\u0433 \u043F\u0440\u043E\u0437\u043E\u0440\u043E\u0441\u0442\u0456","dialog.export_emission_map.round_up":"\u041E\u043A\u0440\u0443\u0433\u043B\u0438\u0442\u0438 \u0434\u043E %0 x %1","dialog.export_emission_map.flip_y":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0456\u0441\u044C Y","dialog.select.type":"\u0422\u0438\u043F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430","dialog.create_texture.max_edge_angle":"\u041F\u043E\u0440\u0456\u0433 \u043A\u0443\u0442\u0430 \u0440\u0435\u0431\u0440\u0430","dialog.create_texture.max_edge_angle.desc":"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u043A\u0443\u0442 \u043C\u0456\u0436 \u0434\u0432\u043E\u043C\u0430 \u0433\u0440\u0430\u043D\u044F\u043C\u0438, \u043F\u0440\u0438 \u044F\u043A\u043E\u043C\u0443 \u0432\u043E\u043D\u0438 \u0432\u0441\u0435 \u0449\u0435 \u0431\u0443\u0434\u0443\u0442\u044C \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u0456","dialog.create_texture.max_island_angle":"\u041F\u043E\u0440\u0456\u0433 \u043E\u0441\u0442\u0440\u0456\u0432\u043D\u043E\u0433\u043E \u043A\u0443\u0442\u0430","dialog.create_texture.max_island_angle.desc":"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u043A\u0443\u0442, \u044F\u043A\u0438\u0439 \u043C\u043E\u0436\u043D\u0430 \u043E\u0431'\u0454\u0434\u043D\u0430\u0442\u0438 \u0432 \u043E\u0434\u0438\u043D \u043E\u0441\u0442\u0440\u0456\u0432 UV","settings.mobile_panel_side":"\u0411\u0456\u0447\u043D\u0430 \u043C\u043E\u0431\u0456\u043B\u044C\u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u044C","settings.mobile_panel_side.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C, \u0437 \u044F\u043A\u043E\u0433\u043E \u0431\u043E\u043A\u0443 \u0435\u043A\u0440\u0430\u043D\u0430 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F \u043F\u0430\u043D\u0435\u043B\u0456 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F Blockbench \u0443 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u0456\u0439 \u043E\u0440\u0456\u0454\u043D\u0442\u0430\u0446\u0456\u0457","settings.obj_face_export_mode":"\u0420\u0435\u0436\u0438\u043C \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443 \u0433\u0440\u0430\u043D\u0456 OBJ","settings.obj_face_export_mode.desc":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0435\u0440\u0443 OBJ \u043F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0432\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u043D\u0430 \u0442\u0440\u0438- \u0430\u0431\u043E \u0447\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u043A\u0438","settings.obj_face_export_mode.both":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u043E","settings.obj_face_export_mode.tris":"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u0430 \u0442\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u043A\u0438","settings.obj_face_export_mode.quads":"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u0430 \u0447\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u043A\u0438","action.seam_tool":"\u0428\u043E\u0432","action.seam_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0448\u0432\u0456\u0432 UV \u043D\u0430 \u0440\u0435\u0431\u0440\u0430\u0445 \u0441\u0456\u0442\u043A\u0438","action.resolve_group":"\u0420\u043E\u0437\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0433\u0440\u0443\u043F\u0443","action.resolve_group.desc":"\u0420\u043E\u0437\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0433\u0440\u0443\u043F\u0443, \u0437\u0430\u043B\u0438\u0448\u0438\u0432\u0448\u0438 \u0457\u0457 \u0434\u043E\u0447\u0456\u0440\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043D\u0430 \u0442\u043E\u043C\u0443 \u0436 \u043C\u0456\u0441\u0446\u0456","action.move_to_group":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0434\u043E \u0433\u0440\u0443\u043F\u0438","action.move_to_group.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0434\u043E \u0456\u043D\u0448\u043E\u0457 \u0433\u0440\u0443\u043F\u0438 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.select_seam":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0448\u043E\u0432 UV","action.select_seam.desc":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u0448\u0432\u0430 UV \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u0440\u0435\u0431\u0435\u0440","action.select_seam.auto":"\u0410\u0432\u0442\u043E","action.select_seam.join":"\u041F\u0440\u0438\u0454\u0434\u043D\u0430\u0442\u0438","action.select_seam.divide":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438","action.adjust_brightness_contrast":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u044F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C \u0456 \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u0456\u0441\u0442\u044C...","action.adjust_brightness_contrast.desc":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u044F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C \u0456 \u043A\u043E\u043D\u0442\u0440\u0430\u0441\u0442\u043D\u0456\u0441\u0442\u044C \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.adjust_saturation_hue":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u043D\u0430\u0441\u0438\u0447\u0435\u043D\u0456\u0441\u0442\u044C \u0456 \u0432\u0456\u0434\u0442\u0456\u043D\u043E\u043A...","action.adjust_saturation_hue.desc":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u043D\u0430\u0441\u0438\u0447\u0435\u043D\u0456\u0441\u0442\u044C \u0442\u0430 \u0432\u0456\u0434\u0442\u0456\u043D\u043E\u043A \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.invert_colors":"\u0406\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0438","action.invert_colors.desc":"\u0406\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043A\u043E\u043B\u044C\u043E\u0440\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.adjust_curves":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043A\u0440\u0438\u0432\u0456...","action.adjust_curves.desc":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043A\u0440\u0438\u0432\u0456 \u044F\u0441\u043A\u0440\u0430\u0432\u043E\u0441\u0442\u0456 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.flip_texture_x":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.flip_texture_y":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.resize_texture":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438...","action.view_mode.uv":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 UV","action.append_to_template":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0434\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443...","action.append_to_template.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0434\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.move_texture_with_uv":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0437 UV","action.move_texture_with_uv.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0433\u0440\u0430\u043D\u0456 \u0432\u0437\u0434\u043E\u0432\u0436 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u0435\u0440\u0435\u0442\u044F\u0433\u0443\u0432\u0430\u043D\u043D\u044F UV \u0433\u0440\u0430\u043D\u0456","action.timeline_setups":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","action.save_timeline_setup":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438...","action.save_timeline_setup.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D \u0434\u043B\u044F \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440\u0456\u0432 \u0456 \u043A\u0430\u043D\u0430\u043B\u0456\u0432","menu.texture":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0430","menu.texture.render_mode.default":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439","menu.texture.merge_onto_texture":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0437 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u043E\u044E \u0432\u0438\u0449\u0435","menu.animation.unload":"\u0412\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","panel.timeline":"\u0427\u0430\u0441\u043E\u0432\u0430 \u0448\u043A\u0430\u043B\u0430","action.pan_tool":"Pan Tool","action.pan_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457 \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u0442\u0430 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","mode.start.recent.favorite":"\u041F\u043E\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u044F\u043A \u043E\u0431\u0440\u0430\u043D\u0435","mode.start.info":"\u0406\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F","mode.start.target":"\u0426\u0456\u043B\u044C","mode.start.start":"\u0420\u043E\u0437\u043F\u043E\u0447\u0430\u0442\u0438","mode.start.create_new":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u0432\u0443 \u043C\u043E\u0434\u0435\u043B\u044C","mode.start.format.informations":"\u0414\u043E\u0431\u0440\u0435 \u0437\u043D\u0430\u0442\u0438:","mode.start.format.resources":"\u0420\u0435\u0441\u0443\u0440\u0441\u0438:","format.free.info.meshes":"\u0423 \u0446\u044C\u043E\u043C\u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u0438\u0437\u044C\u043A\u043E\u043F\u043E\u043B\u0456\u0433\u043E\u043D\u0430\u043B\u044C\u043D\u0456 \u043C\u043E\u0434\u0435\u043B\u0456, \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u043A\u0443\u0431\u0438 \u0442\u0430 \u0441\u0456\u0442\u043A\u0438 \u0432\u043B\u0430\u0441\u043D\u043E\u0457 \u0444\u043E\u0440\u043C\u0438.","format.free.info.limitation":"\u041C\u043E\u0434\u0435\u043B\u0456 \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u0442\u0438 \u0432 \u0456\u0433\u0440\u0438, \u044F\u043A\u0456 \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u044E\u0442\u044C \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u0456\u0437\u043E\u0432\u0430\u043D\u0438\u0445 \u0444\u043E\u0440\u043C\u0430\u0442\u0456\u0432, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, Minecraft.","format.skin.info.skin":"\u0426\u0435\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0441\u043A\u0456\u043D\u0456\u0432 Minecraft \u0442\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0435\u0439.","format.skin.info.model":"\u041C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u043C\u0456\u043D\u0435\u043D\u0430. \u0410\u0431\u0438 \u0432\u043D\u0435\u0441\u0442\u0438 \u0437\u043C\u0456\u043D\u0438 \u0434\u043E \u043C\u043E\u0434\u0435\u043B\u0456, \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u043F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u0457\u0457 \u0432 \u0456\u043D\u0448\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0447\u0435\u0440\u0435\u0437 **\u0424\u0430\u0439\u043B** > **\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442**.","format.java_block.info.rotation":"\u041E\u0431\u0435\u0440\u0442\u0438 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0456 \u0443 22,5 \u0433\u0440\u0430\u0434\u0443\u0441\u0430 \u0442\u0430 \u043E\u0434\u043D\u0456\u0454\u044E \u0432\u0456\u0441\u0441\u044E \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442","format.java_block.info.size":"\u041C\u043E\u0434\u0435\u043B\u044C \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440\u043E\u043C 3x3x3 \u0431\u043B\u043E\u043A\u0438. \u041E\u0434\u043D\u0430\u043A \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u043A\u0430\u0437\u0443 \u043C\u043E\u0436\u0435 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u0456 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432 \u0431\u0456\u043B\u044C\u0448\u0438\u043C\u0438.","format.java_block.info.animation":"\u0426\u0435\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u0443 \u0432\u0430\u043D\u0456\u043B\u044C\u043D\u0456\u0439 \u0432\u0435\u0440\u0441\u0456\u0457 Minecraft. \u042F\u043A\u0449\u043E \u0432\u0438 \u0441\u0442\u0432\u043E\u0440\u044E\u0454\u0442\u0435 \u043C\u043E\u0434, \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 GeckoLib \u0434\u043B\u044F \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u043C\u043E\u0434\u0435\u043B\u0435\u0439. \u042F\u043A\u0449\u043E \u043D\u0456, \u0442\u043E \u0454\u0434\u0438\u043D\u0438\u0439 \u0441\u043F\u043E\u0441\u0456\u0431 \u0430\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438 \u2014 \u0446\u0435 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E \u043A\u043E\u043C\u0430\u043D\u0434 \u0430\u0431\u043E \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0438\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440.","format.bedrock.info.textures":"\u041A\u043E\u0436\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \u043C\u043E\u0436\u0435 \u043C\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u043E\u0434\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443","format.bedrock_block":"\u0411\u043B\u043E\u043A Bedrock","format.bedrock_block.desc":"\u041C\u043E\u0434\u0435\u043B\u044C \u0431\u043B\u043E\u043A\u0443 \u0434\u043B\u044F Minecraft Bedrock Edition","format.modded_entity.info.integer_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043E\u043A\u0440\u0435\u043C\u0438\u0445 \u043A\u0443\u0431\u0456\u0432 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0438\u0439 \u0446\u0456\u043B\u0438\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438.","format.modded_entity.info.format":"\u041C\u043E\u0434\u0435\u043B\u0456 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0456 \u0432 Java \u043A\u043E\u0434\u0456, \u0430 \u043D\u0435 \u0432 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0445 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\u0445 \u0434\u0430\u043D\u0438\u0445, \u044F\u043A \u0443 \u0432\u0441\u0456\u0445 \u0456\u043D\u0448\u0438\u0445 \u0444\u043E\u0440\u043C\u0430\u0442\u0430\u0445 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443 Blockbench.","format.optifine_entity.info.optifine_required":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456 \u0431\u0435\u0437 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\u0433\u043E OptiFine \u043D\u0435 \u043F\u043E\u0431\u0430\u0447\u0430\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C.","format.optifine_entity.info.pivots":"\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0432\u043E\u0440\u043E\u0442\u0443 \u043A\u0456\u0441\u0442\u043E\u043A \u0437\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u0438\u0439, \u0442\u043E\u043C\u0443 \u043A\u0440\u0430\u0449\u0435 \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u0439\u043E\u0433\u043E \u043D\u0435\u0434\u043E\u0442\u043E\u0440\u043A\u0430\u043D\u0438\u043C\u0438.","format_category.low_poly":"\u041D\u0438\u0437\u044C\u043A\u043E \u043F\u043E\u043B\u0456\u043C\u0435\u0440\u043D\u0438\u0439","format_category.minecraft":"Minecraft","format_category.other":"\u0406\u043D\u0448\u0435","format_category.loaders":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u0447\u0456","message.recover_backup.recover":"\u0412\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438","message.invalid_characters.title":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 \u0448\u043B\u044F\u0445","message.invalid_characters.message":"\u0428\u043B\u044F\u0445 \u0434\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0443 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438, \u0432\u0435\u043B\u0438\u043A\u0456 \u043B\u0456\u0442\u0435\u0440\u0438 \u0430\u0431\u043E \u043F\u0440\u043E\u0431\u0456\u043B\u0438. \u0414\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u043B\u0438\u0448\u0435 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438: %0","dialog.share_model.thumbnail":"\u0415\u0441\u043A\u0456\u0437","dialog.skin.high_res_texture":"\u0417\u0432\u0435\u0440\u043D\u0456\u0442\u044C \u0443\u0432\u0430\u0433\u0443, \u0449\u043E \u0441\u043A\u0456\u043D\u0438 \u0437 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E \u043D\u0435 \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438\u043C\u0443\u0442\u044C \u044F\u043A \u0437\u0432\u0438\u0447\u0430\u0439\u043D\u0456 \u0441\u043A\u0456\u043D\u0438 Minecraft. \u041E\u0431\u0435\u0440\u0456\u0442\u044C \u043D\u0438\u0436\u0447\u0443 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C.","settings.allow_display_slot_mirror":"\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0432\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043D\u044F \u043A\u043E\u043C\u0456\u0440\u043A\u0438 \u043F\u043E\u043A\u0430\u0437\u0443","settings.allow_display_slot_mirror.desc":"\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0432\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043D\u044F \u043A\u043E\u043C\u0456\u0440\u043E\u043A \u043F\u043E\u043A\u0430\u0437\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432 Java. \u0423\u0412\u0410\u0413\u0410: \u0446\u0435 \u043F\u0440\u0430\u0446\u044E\u0454 \u043B\u0438\u0448\u0435 \u0432 Minecraft 1.14 \u0430\u0431\u043E \u0440\u0430\u043D\u0456\u0448\u0435, \u0430\u0431\u043E \u0432 \u043E\u0441\u043E\u0431\u043B\u0438\u0432\u0438\u0445 \u0432\u0438\u043F\u0430\u0434\u043A\u0430\u0445.","action.switch_tabs":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0438","action.switch_tabs.desc":"\u041F\u0435\u0440\u0435\u0445\u0456\u0434 \u043C\u0456\u0436 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u043C\u0438 \u0432\u043A\u043B\u0430\u0434\u043A\u0430\u043C\u0438. \u0423\u0442\u0440\u0438\u043C\u0443\u0439\u0442\u0435 Shift \u0434\u043B\u044F \u043F\u0440\u043E\u0442\u0438\u043B\u0435\u0436\u043D\u043E\u0433\u043E \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443.","action.unselect_all":"\u0417\u043D\u044F\u0442\u0438 \u0432\u0441\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.save_palette":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443...","action.save_palette.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u043F\u0430\u043B\u0456\u0442\u0440\u0443 \u043A\u043E\u043B\u044C\u043E\u0440\u0456\u0432 \u0443 Blockbench \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u043B\u044C\u0448\u043E\u0433\u043E \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F","action.keyframe_column_create":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A \u043A\u0430\u0434\u0440\u0456\u0432","action.keyframe_column_create.desc":"\u0417\u0430\u043A\u0440\u0456\u043F\u0438\u0442\u0438 \u0432\u0441\u0456 \u043A\u0430\u043D\u0430\u043B\u0438 \u0432 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u043D\u0430 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u043C\u0443 \u0442\u0430\u0439\u043C\u043A\u043E\u0434\u0456, \u044F\u043A\u0449\u043E \u0434\u043B\u044F \u043D\u0438\u0445 \u0454 \u043A\u0430\u0434\u0440\u0438","action.keyframe_column_select":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A \u043A\u0430\u0434\u0440\u0456\u0432","action.keyframe_column_select.desc":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0456 \u043A\u0430\u0434\u0440\u0438 \u0443 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u0443 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A\u0443 \u043F\u0456\u0434 \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F","menu.uv":"UV","menu.keyframe":"\u041A\u0430\u0434\u0440","menu.palette.load.update":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","menu.palette.load.update.desc":"\u041E\u043D\u043E\u0432\u043B\u044E\u0454 \u0446\u044E \u043F\u0430\u043B\u0456\u0442\u0440\u0443 \u043A\u043E\u043B\u044C\u043E\u0440\u0430\u043C\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0457 \u043F\u0430\u043B\u0456\u0442\u0440\u0438 Blockbench","menu.timeline_marker.set_time":"\u0417\u0430\u0434\u0430\u0442\u0438 \u0447\u0430\u0441...","uv_editor.scale_uv":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 UV","action.preview_scene":"\u0421\u0446\u0435\u043D\u0430 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","action.preview_scene.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0441\u0446\u0435\u043D\u0443 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","preview_scene.minecraft_overworld":"\u0412\u0435\u0440\u0445\u043D\u0456\u0439 \u0441\u0432\u0456\u0442","preview_scene.minecraft_nether":"\u041D\u0435\u0437\u0435\u0440","preview_scene.minecraft_end":"\u0415\u043D\u0434","dialog.project.modded_entity_flip_y":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0432\u0456\u0441\u044C Y","preview_scene.studio":"\u0421\u0442\u0443\u0434\u0456\u044F","format.image":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","modifier_actions.set_copy_source":"\u0417\u0430\u0434\u0430\u0442\u0438 \u0434\u0436\u0435\u0440\u0435\u043B\u043E \u043A\u043E\u043F\u0456\u0457","message.load_images.title":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","message.load_images.edit_image":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","dialog.add_primitive.align_edges":"\u0412\u0438\u0440\u0456\u0432\u043D\u044F\u0442\u0438 \u0440\u0435\u0431\u0440\u0430","dialog.flip_animation.show_in_timeline":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0437\u043C\u0456\u043D\u0435\u043D\u0456 \u043A\u0456\u0441\u0442\u043A\u0438 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456","settings.default_cube_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043A\u0443\u0431\u0430","settings.default_cube_size.desc":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0443\u0431\u0430 \u043F\u0440\u0438 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u0456 \u043D\u043E\u0432\u043E\u0433\u043E \u043A\u0443\u0431\u0430","settings.uniform_keyframe":"\u041A\u0430\u0434\u0440\u0438 \u0440\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u043E\u0433\u043E \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443","settings.uniform_keyframe.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0440\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u0430\u0434\u0440\u0456\u0432","settings.nearest_rectangle_select":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0438\u043A\u0430: \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0435 \u0440\u0435\u0431\u0440\u043E","settings.nearest_rectangle_select.desc":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0434\u043E \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u043E\u0433\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u044F \u0440\u0435\u0431\u0440\u0430, \u044F\u043A \u0443 GIMP, \u0430 \u043D\u0435 \u0434\u043E \u0446\u0456\u043B\u0438\u0445 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432.","settings.pick_color_opacity":"\u0412\u0438\u0431\u0438\u0440\u0430\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u043A\u043E\u043B\u044C\u043E\u0440\u0443","settings.pick_color_opacity.desc":"\u0412\u0438\u0431\u0438\u0440\u0430\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0437 \u043F\u0456\u043F\u0435\u0442\u043A\u043E\u044E \u0456 \u0437\u0430\u0434\u0430\u0442\u0438 \u0457\u0457 \u044F\u043A \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u043F\u0435\u043D\u0437\u043B\u044F","settings.paint_with_stylus_only":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0437\u0456 \u0441\u0442\u0438\u043B\u0443\u0441\u043E\u043C","settings.paint_with_stylus_only.desc":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0438\u043B\u0443\u0441 \u043B\u0438\u0448\u0435 \u0434\u043B\u044F \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F, \u0430 \u043C\u0438\u0448\u0443 \u0430\u0431\u043E \u0441\u0435\u043D\u0441\u043E\u0440\u043D\u0435 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u0434\u043B\u044F \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457.","action.copy_brush_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u0435\u043D\u0437\u043B\u044F \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F","action.copy_brush_mode.copy":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438","action.copy_brush_mode.pattern":"\u0412\u0456\u0437\u0435\u0440\u0443\u043D\u043E\u043A","action.copy_brush_mode.sample":"\u0417\u0440\u0430\u0437\u043E\u043A","action.brush_shape":"\u0424\u043E\u0440\u043C\u0430 \u043F\u0435\u043D\u0437\u043B\u044F","action.brush_shape.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442","action.brush_shape.circle":"\u041A\u043E\u043B\u043E","action.blend_mode":"\u0420\u0435\u0436\u0438\u043C \u0437\u043C\u0456\u0448\u0443\u0432\u0430\u043D\u043D\u044F","action.blend_mode.default":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439","action.blend_mode.set_opacity":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C","action.blend_mode.color":"\u041A\u043E\u043B\u0456\u0440","action.blend_mode.behind":"\u041F\u043E\u0437\u0430\u0434\u0443","action.blend_mode.multiply":"\u041C\u043D\u043E\u0436\u0435\u043D\u043D\u044F","action.blend_mode.divide":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438","action.blend_mode.add":"\u0414\u043E\u0434\u0430\u0442\u0438","action.blend_mode.subtract":"\u0412\u0456\u0434\u043D\u0456\u043C\u0430\u0442\u0438","action.blend_mode.screen":"\u0415\u043A\u0440\u0430\u043D","action.blend_mode.overlay":"\u041D\u0430\u043A\u043B\u0430\u0434\u0435\u043D\u043D\u044F","action.blend_mode.hard_light":"\u0416\u043E\u0440\u0441\u0442\u043A\u0435 \u0441\u0432\u0456\u0442\u043B\u043E","action.blend_mode.difference":"\u0412\u0456\u0434\u043C\u0456\u043D\u043D\u0456\u0441\u0442\u044C","action.copy_brush":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F","action.copy_brush.desc":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C \u0434\u043B\u044F \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F \u0447\u0430\u0441\u0442\u0438\u043D \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0430\u0431\u043E \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0432\u0456\u0437\u0435\u0440\u0443\u043D\u043A\u0456\u0432. \u0423\u0442\u0440\u0438\u043C\u0443\u044E\u0447\u0438 Ctrl, \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0434\u0436\u0435\u0440\u0435\u043B\u043E \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F.","action.validator_window":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438 \u043C\u043E\u0434\u0435\u043B\u0456...","action.validator_window.desc":"\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0437\u0430\u0441\u0456\u0431 \u043F\u0435\u0440\u0435\u0432\u0456\u0440\u043A\u0438, \u044F\u043A\u0438\u0439 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u043F\u0440\u043E\u0431\u043B\u0435\u043C \u0456\u0437 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u044E \u043C\u043E\u0434\u0435\u043B\u043B\u044E.","action.cancel_gif":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 GIF","menu.text_edit.copy_vector":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0435\u043A\u0442\u043E\u0440","menu.brush_presets.dialog":"\u0428\u0430\u0431\u043B\u043E\u043D\u0438 \u043F\u0435\u043D\u0437\u043B\u044F...","menu.brush_presets.pixel_brush":"\u041F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0438\u0439 \u043F\u0435\u043D\u0437\u0435\u043B\u044C","menu.brush_presets.smooth_brush":"\u0413\u043B\u0430\u0434\u043A\u0438\u0439 \u043F\u0435\u043D\u0437\u0435\u043B\u044C","menu.texture.edit_in_blockbench":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0443 Blockbench","menu.mirror_painting.axis":"\u0412\u0456\u0441\u044C","menu.mirror_painting.axis.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C, \u043D\u0430 \u044F\u043A\u0456\u0439 \u043E\u0441\u0456 \u0448\u0442\u0440\u0438\u0445\u0438 \u0444\u0430\u0440\u0431\u0438 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u0456","menu.mirror_painting.global":"\u0413\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u0430 \u0441\u0438\u043C\u0435\u0442\u0440\u0456\u044F","menu.mirror_painting.global.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u0456 \u0432 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u043F\u0440\u043E\u0441\u0442\u043E\u0440\u0456","menu.mirror_painting.local":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u0430 \u0441\u0438\u043C\u0435\u0442\u0440\u0456\u044F","menu.mirror_painting.local.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u043A\u043E\u0436\u043D\u043E\u0433\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0443 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u043F\u0440\u043E\u0441\u0442\u043E\u0440\u0456","menu.mirror_painting.texture_frames":"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u0430 \u043A\u0430\u0434\u0440\u0430\u0445 \u043F\u0435\u0440\u0435\u0433\u043E\u0440\u0442\u0430\u043D\u043D\u044F","menu.mirror_painting.texture_frames.desc":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 \u0448\u0442\u0440\u0438\u0445\u0438 \u0444\u0430\u0440\u0431\u0438 \u0434\u043E \u043A\u043E\u0436\u043D\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0443 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0438\u0445 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","format.bedrock_block.info.size_limit":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0431\u043B\u043E\u043A\u0443 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0438\u0439 30 \u043F\u0456\u043A\u0441\u0435\u043B\u044F\u043C\u0438 \u0443 \u0432\u0441\u0456\u0445 \u0432\u0438\u043C\u0456\u0440\u0430\u0445. \u041E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0432\u0456\u0434 \u0446\u0435\u043D\u0442\u0440\u0443 \u0432 \u0443\u0441\u0456\u0445 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0430\u0445 \u043D\u0430 7 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432 \u0432\u0456\u0434 \u0446\u0435\u043D\u0442\u0440\u0443 \u0431\u043B\u043E\u043A\u0443.","format.bedrock_block.info.textures":"\u041A\u0456\u043B\u044C\u043A\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0430\u043D\u0456 \u0434\u043E \u0440\u0456\u0437\u043D\u0438\u0445 \u043A\u0443\u0431\u0456\u0432 \u0443 Blockbench, \u0430\u043B\u0435 \u0434\u043B\u044F \u043A\u043E\u0440\u0435\u043A\u0442\u043D\u043E\u0457 \u0440\u043E\u0431\u043E\u0442\u0438 \u0432 \u0433\u0440\u0456 \u0432\u043E\u043D\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u044E\u0442\u044C \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0438\u0445 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C \u0443 \u043F\u0430\u043A\u0435\u0442\u0456 \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0438.","format.image.desc":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C \u0443 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C","generic.delete_all":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0432\u0441\u0435","message.child_model_only.open":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0431\u0430\u0442\u044C\u043A. \u0435\u043B\u0435\u043C\u0435\u043D\u0442","message.child_model_only.open_with_textures":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0431\u0430\u0442\u044C\u043A. \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0442\u0430 \u043F\u0440\u0438\u0439\u043D\u044F\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.project.credit":"\u0410\u0432\u0442\u043E\u0440\u0438","dialog.convert_project.create_copy":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u043E\u043F\u0456\u044E","dialog.texture.frame_time":"\u0422\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C \u043A\u0430\u0434\u0440\u0443","dialog.texture.frame_time.desc":"\u0417\u0430\u0434\u0430\u0442\u0438, \u044F\u043A \u0434\u043E\u0432\u0433\u043E \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u043D\u043E \u043A\u043E\u0436\u0435\u043D \u043A\u0430\u0434\u0440, \u0443 \u0442\u0438\u043A\u0430\u0445. \u041A\u043E\u0436\u0435\u043D \u0442\u0438\u043A \u2014 \u0446\u0435 1/20 \u0441\u0435\u043A\u0443\u043D\u0434\u0438.","dialog.texture.frame_interpolate":"\u0406\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044E\u0432\u0430\u0442\u0438","dialog.texture.frame_interpolate.desc":"\u0406\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044E\u0432\u0430\u0442\u0438 \u043C\u0456\u0436 \u043A\u0430\u0434\u0440\u0430\u043C\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0448\u043B\u044F\u0445\u043E\u043C \u043F\u0435\u0440\u0435\u0445\u0440\u0435\u0441\u043D\u043E\u0433\u043E \u0437\u043D\u0438\u043A\u0430\u043D\u043D\u044F \u0434\u043E \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0443","dialog.texture.frame_order_type":"\u0420\u0435\u0436\u0438\u043C \u0446\u0438\u043A\u043B\u0443","dialog.texture.frame_order_type.loop":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438","dialog.texture.frame_order_type.backwards":"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u043D\u0430\u0437\u0430\u0434","dialog.texture.frame_order_type.back_and_forth":"\u0423\u043F\u0435\u0440\u0435\u0434-\u043D\u0430\u0437\u0430\u0434","dialog.texture.frame_order_type.custom":"\u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A","dialog.texture.frame_order":"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0440\u0430\u043C\u043A\u043E\u043A","dialog.texture.frame_order.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u0432\u043B\u0430\u0441\u043D\u0438\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0440\u0430\u043C\u043E\u043A, \u043F\u0435\u0440\u0435\u0440\u0430\u0445\u0443\u0432\u0430\u0432\u0448\u0438 \u0456\u043D\u0434\u0435\u043A\u0441\u0438 \u0440\u0430\u043C\u043E\u043A \u0443 \u043D\u043E\u0432\u043E\u043C\u0443 \u043F\u043E\u0440\u044F\u0434\u043A\u0443. \u0406\u043D\u0434\u0435\u043A\u0441\u0438 \u0440\u0430\u043C\u043E\u043A \u043F\u043E\u0447\u0438\u043D\u0430\u044E\u0442\u044C\u0441\u044F \u0437 0, \u043F\u043E\u0447\u0438\u043D\u0430\u044E\u0447\u0438 \u0437 \u043F\u0435\u0440\u0448\u043E\u0433\u043E \u0440\u0430\u043C\u043A\u0438.","dialog.select.mode":"\u0420\u0435\u0436\u0438\u043C","dialog.select.mode.new":"\u041D\u043E\u0432\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","dialog.select.mode.add":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445","dialog.select.mode.remove":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u0437 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445","dialog.select.mode.in_selection":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0437 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445","dialog.predicate_overrides.model":"\u041C\u043E\u0434\u0435\u043B\u044C","dialog.predicate_overrides.predicates":"\u041F\u0440\u0435\u0434\u0438\u043A\u0430\u0442\u0438","dialog.predicate_overrides.variants":"\u0412\u0430\u0440\u0456\u0430\u043D\u0442\u0438","dialog.predicate_overrides.start_value":"\u041F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","dialog.predicate_overrides.add_override":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","dialog.predicate_overrides.add_predicate":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043F\u0440\u0435\u0434\u0438\u043A\u0430\u0442","dialog.predicate_overrides.generate_overrides":"\u0413\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","dialog.predicate_overrides.confirm_delete":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0432\u0441\u0456 \u043F\u0435\u0440\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F?","dialog.predicate_overrides.predicate.angle":"\u041A\u0443\u0442 \u043A\u043E\u043C\u043F\u0430\u0441\u0430","dialog.predicate_overrides.predicate.blocking":"Is Blocking","dialog.predicate_overrides.predicate.broken":"Is Broken","dialog.predicate_overrides.predicate.cast":"Is Cast","dialog.predicate_overrides.predicate.cooldown":"Cooldown","dialog.predicate_overrides.predicate.damage":"Damage","dialog.predicate_overrides.predicate.damaged":"Is Damaged","dialog.predicate_overrides.predicate.lefthanded":"Is Left-Handed","dialog.predicate_overrides.predicate.pull":"Pull Amount","dialog.predicate_overrides.predicate.pulling":"Is Pulling","dialog.predicate_overrides.predicate.charged":"Is Charged","dialog.predicate_overrides.predicate.firework":"Has Firework","dialog.predicate_overrides.predicate.throwing":"Ready to Throw","dialog.predicate_overrides.predicate.time":"Time of Day","dialog.predicate_overrides.predicate.custom_model_data":"Custom Model Data","dialog.predicate_overrides.predicate.level":"\u0420\u0456\u0432\u0435\u043D\u044C \u043E\u0441\u0432\u0456\u0442\u043B\u0435\u043D\u043D\u044F","dialog.predicate_overrides.predicate.filled":"Bundle Fill Level","dialog.predicate_overrides.predicate.tooting":"Tooting","settings.model_export_scale":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","settings.model_export_scale.desc":"\u041A\u043E\u0435\u0444\u0456\u0446\u0456\u0454\u043D\u0442, \u0437 \u044F\u043A\u0438\u043C \u0437\u043C\u0435\u043D\u0448\u0443\u0454\u0442\u044C\u0441\u044F \u0440\u043E\u0437\u043C\u0456\u0440 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u043C\u043E\u0434\u0435\u043B\u0435\u0439 glTF, DAE \u0442\u0430 FBX. \u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2014 16, \u0449\u043E \u043F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 16 \u043E\u0434\u0438\u043D\u0438\u0446\u044C Blockbench \u0432 1 \u043C\u0435\u0442\u0440 \u043F\u0440\u0438 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0456.","action.export_fbx":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C FBX","action.export_fbx.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0439 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u044F\u043A \u0444\u0430\u0439\u043B FBX \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0439\u043E\u0433\u043E \u0432 \u0456\u043D\u0448\u0438\u0445 3D-\u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0430\u0445 \u0442\u0430 \u0456\u0433\u0440\u043E\u0432\u0438\u0445 \u0440\u0443\u0448\u0456\u044F\u0445","action.center_lateral":"Center Lateral","action.center_lateral.desc":"Center the selected elements on the X and Z axis","action.adjust_opacity":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C...","action.adjust_opacity.desc":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u0442\u0438 \u043D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.rotate_texture_cw":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u0437\u0430 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u044E \u0441\u0442\u0440\u0456\u043B\u043A\u043E\u044E","action.rotate_texture_ccw":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 \u043F\u0440\u043E\u0442\u0438 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u0457 \u0441\u0442\u0440\u0456\u043B\u043A\u0438","action.predicate_overrides":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043F\u0440\u0435\u0434\u0438\u043A\u0430\u0442\u0456\u0432...","action.predicate_overrides.desc":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u0456 \u0434\u043B\u044F \u0437\u0430\u043C\u0456\u043D\u0438 \u0446\u0456\u0454\u0457 \u043C\u043E\u0434\u0435\u043B\u0456 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0456 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0443\u043C\u043E\u0432","action.auto_set_cullfaces":"\u0417\u0430\u0434\u0430\u0442\u0438 \u0432\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E","action.auto_set_cullfaces.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F, \u0449\u043E\u0431 \u043F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0433\u0440\u0430\u043D\u0456, \u043A\u043E\u043B\u0438 \u0432\u043E\u043D\u0438 \u0437\u0430\u043A\u0440\u0438\u0442\u0456 \u0441\u0443\u0441\u0456\u0434\u043D\u0456\u043C \u0431\u043B\u043E\u043A\u043E\u043C.","menu.texture.edit_externally":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u0437\u043E\u0432\u043D\u0456","menu.mirror_painting.texture":"\u0421\u0438\u043C\u0435\u0442\u0440\u0456\u044F 2D-\u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430","menu.mirror_painting.texture.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0443 2D \u043F\u0440\u043E\u0441\u0442\u043E\u0440\u0456 \u043D\u0430 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u0456 \u0430\u0431\u043E \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0456","menu.animator.rotation_global":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 \u0432 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u043F\u0440\u043E\u0441\u0442\u043E\u0440\u0456","uv_editor.face_properties":"\u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0433\u0440\u0430\u043D\u0456","uv_editor.face_properties.material_instance":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0443","uv_editor.tint.info":"\u0422\u0456\u043D\u044C \u043C\u043E\u0436\u043D\u0430 \u0443\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u043D\u0430 \u0433\u0440\u0430\u043D\u0456, \u0449\u043E\u0431 \u0441\u043A\u0430\u0437\u0430\u0442\u0438 Minecraft \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043D\u0430 \u043D\u0456\u0439 \u0442\u0456\u043D\u044C. \u0423 \u0432\u0430\u043D\u0456\u043B\u0456 \u0442\u0456\u043D\u044C \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0430 \u043B\u0438\u0448\u0435 \u0434\u043B\u044F \u043F\u0435\u0432\u043D\u0438\u0445 \u0431\u043B\u043E\u043A\u0456\u0432, \u0442\u0430\u043A\u0438\u0445 \u044F\u043A \u043B\u0438\u0441\u0442\u044F \u0442\u0430 \u043F\u0438\u043B \u0440\u0435\u0434\u0441\u0442\u043E\u0443\u043D\u0443, \u0456 \u043C\u043E\u0436\u0435 \u043C\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F 0.","uv_editor.cullface.info":"\u0423\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0432\u0456\u0434\u0441\u0456\u043A\u0430\u043D\u043D\u044F \u0432\u043A\u0430\u0437\u0443\u0454 \u0433\u0440\u0430\u043D\u0456 \u043D\u0430 \u0431\u043B\u043E\u0446\u0456 \u0437\u043D\u044F\u0442\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044E, \u044F\u043A\u0449\u043E \u043F\u043E\u0440\u0443\u0447 \u0437 \u043D\u0438\u043C \u0443 \u0432\u043A\u0430\u0437\u0430\u043D\u043E\u043C\u0443 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443 \u0443 \u0432\u0430\u0448\u043E\u043C\u0443 \u0441\u0432\u0456\u0442\u0456 Minecraft \u0431\u0443\u0434\u0435 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0456\u043D\u0448\u0438\u0439 \u043F\u043E\u0432\u043D\u0438\u0439 \u0431\u043B\u043E\u043A. \u0426\u0435 \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043E \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0456\u0437\u0430\u0446\u0456\u0457 \u0448\u0432\u0438\u0434\u043A\u043E\u0434\u0456\u0457.","uv_editor.material_instance.info":"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\u0430\u043C \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0456\u0432 \u043C\u043E\u0436\u043D\u0430 \u043F\u0440\u0438\u0441\u0432\u043E\u0457\u0442\u0438 \u043D\u0430\u0437\u0432\u0443. \u0426\u044E \u043D\u0430\u0437\u0432\u0443 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0443 \u0444\u0430\u0439\u043B\u0456 \u0431\u043B\u043E\u043A\u0443 JSON \u0432 \u043F\u0430\u043A\u0435\u0442\u0456 \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0438, \u0449\u043E\u0431 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u043F\u0435\u0432\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0442\u0430 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B \u0434\u043B\u044F \u0433\u0440\u0430\u043D\u0456.","display.reference.frame_invisible":"\u0420\u0430\u043C\u043A\u0430 (\u041D\u0435\u0432\u0438\u0434\u0438\u043C\u0430)","data.settings_profile":"\u041F\u0440\u043E\u0444\u0456\u043B\u044C","message.display_skin.invalid_name":"\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u043E\u0431\u043B. \u0437\u0430\u043F\u0438\u0441 Minecraft \u0437 \u0456\u043C\u0435\u043D\u0435\u043C \xAB%0\xBB.","dialog.load_plugins_from_query.title":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0438","dialog.load_plugins_from_query.text":"\u0412\u0438 \u0441\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043B\u0438\u0441\u044F \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C, \u044F\u043A\u0435 \u0432\u0438\u043C\u0430\u0433\u0430\u0454 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0457\u0445 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438?","dialog.select_model.title":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C","dialog.select_model.bones":"\u041A\u0456\u0441\u0442\u043A\u0438","dialog.select_model.cubes":"\u041A\u0443\u0431\u0438","dialog.settings.create_profile":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u043E\u0444\u0456\u043B\u044C...","settings_profile.confirm_delete":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0446\u0435\u0439 \u043F\u0440\u043E\u0444\u0456\u043B\u044C \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C?","settings_profile.condition.type.selectable":"\u0412\u0438\u0431\u0456\u0440 \u0443\u0440\u0443\u0447\u043D\u0443","settings.interface_mode":"\u0420\u0435\u0436\u0438\u043C \u0406\u041A","settings.interface_mode.desc":"\u0420\u0435\u0436\u0438\u043C \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443","settings.interface_mode.auto":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E","settings.interface_mode.desktop":"\u041D\u0430\u0441\u0442\u0456\u043B\u044C\u043D\u0438\u0439","settings.interface_mode.mobile":"\u041C\u043E\u0431\u0456\u043B\u044C\u043D\u0438\u0439","settings.paint_through_transparency":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u043A\u0440\u0456\u0437\u044C \u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C","settings.paint_through_transparency.desc":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u043E\u0437\u043E\u0440\u0456 \u043F\u0456\u043A\u0441\u0435\u043B\u0456, \u043A\u043E\u043B\u0438 \u0432\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E \u0431\u043B\u043E\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B\u0443","action.tab_overview":"\u041E\u0433\u043B\u044F\u0434 \u0432\u043A\u043B\u0430\u0434\u043A\u0438","action.tab_overview.desc":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0456 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u0432 \u0441\u0456\u0442\u0446\u0456 \u0442\u0430 \u043F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u043E\u0434\u043D\u0456\u0454\u0457","action.slider_color_red":"\u0427\u0435\u0440\u0432\u043E\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440","action.slider_color_green":"\u0417\u0435\u043B\u0435\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440","action.slider_color_blue":"\u0421\u0438\u043D\u0456\u0439 \u043A\u043E\u043B\u0456\u0440","action.add_animation_controller":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.add_animation_controller.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.animation_controller_preview_mode":"\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0430","action.animation_controller_preview_mode.paused":"\u041F\u0440\u0438\u0437\u0443\u043F\u0438\u043D\u0435\u043D\u043E","action.animation_controller_preview_mode.manual":"\u0412\u0440\u0443\u0447\u043D\u0443","action.animation_controller_preview_mode.play":"\u0410\u0432\u0442\u043E. \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F","action.keyframe_interpolation.bezier":"\u0411\u0435\u0437\u044C\u0454","action.keyframe_bezier_linked":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0434\u0435\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0440\u0438 \u0411\u0435\u0437\u044C\u0454","action.keyframe_bezier_linked.desc":"\u0417\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u043F\u0440\u0430\u0432\u0438\u0439 \u0442\u0430 \u043B\u0456\u0432\u0438\u0439 \u0434\u0435\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0440 \u0411\u0435\u0437\u044C\u0454 \u043A\u0430\u0434\u0440\u0430","action.reset_keyframe_handles":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0440\u0443\u0447\u043A\u0438 \u043A\u0430\u0434\u0440\u0456\u0432","action.reset_keyframe_handles.desc":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0434\u0435\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0440\u0438 \u0411\u0435\u0437\u044C\u0454 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0430\u0434\u0440\u0456\u0432","action.looped_animation_playback":"Looped Playback","action.looped_animation_playback.desc":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0443 \u043D\u0435\u0441\u043A\u0456\u043D\u0447\u0435\u043D\u043D\u043E\u043C\u0443 \u0446\u0438\u043A\u043B\u0456","timeline.bind_to_actor":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0434\u043E \u0430\u043A\u0442\u043E\u0440\u0430","animation_controllers.select_preset":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u044C \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0430...","animation_controllers.state.animations":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u0457","animation_controllers.state.particles":"\u0427\u0430\u0441\u0442\u0438\u043D\u043A\u0438","animation_controllers.state.sounds":"\u0417\u0432\u0443\u043A\u0438","animation_controllers.state.on_entry":"\u041F\u0440\u0438 \u0432\u0441\u0442\u0443\u043F\u0456","animation_controllers.state.on_exit":"\u041F\u0440\u0438 \u0432\u0438\u0445\u043E\u0434\u0456","animation_controllers.state.transitions":"\u041F\u0435\u0440\u0435\u0445\u043E\u0434\u0438","animation_controllers.state.condition":"\u0423\u043C\u043E\u0432\u0430","animation_controllers.state.blend_transition":"\u0427\u0430\u0441 \u0437\u043C\u0456\u0448\u0443\u0432\u0430\u043D\u043D\u044F","animation_controllers.state.shortest_path":"\u0417\u043C\u0456\u0448\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u0430 \u043D\u0430\u0439\u043A\u043E\u0440\u043E\u0442\u0448\u0438\u043C \u0448\u043B\u044F\u0445\u043E\u043C","animation_controllers.state.edit_transition":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0445\u0456\u0434","menu.color_picker.picker_type":"\u0422\u0438\u043F \u043F\u0456\u043F\u0435\u0442\u043A\u0438","menu.color_picker.picker_type.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442","menu.color_picker.picker_type.wheel":"\u041A\u043E\u043B\u0435\u0441\u043E","menu.color_picker.slider_mode":"\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0432\u0437\u0443\u043D\u043A\u0430","menu.color_picker.slider_mode.hsv":"\u0412\u0456\u0434\u0442\u0456\u043D\u043E\u043A, \u041D\u0430\u0441\u0438\u0447\u0435\u043D\u0456\u0441\u0442\u044C, \u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","menu.color_picker.slider_mode.rgb":"\u0427\u0435\u0440\u0432\u043E\u043D\u0438\u0439, \u0417\u0435\u043B\u0435\u043D\u0438\u0439, \u0421\u0438\u043D\u0456\u0439","menu.texture.render_mode.additive":"\u0410\u0434\u0438\u0442\u0438\u0432\u043D\u0438\u0439","panel.color.picker_options":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u043F\u0456\u043F\u0435\u0442\u043A\u0438","panel.animation_controllers":"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","display.preset.armor_stand":"\u041D\u0430\u0437\u0435\u043C\u043D\u0438\u0439 (\u0421\u0442\u0456\u0439\u043A\u0430 \u0434\u043B\u044F \u043E\u0431\u043B\u0430\u0434\u0443\u043D\u043A\u0456\u0432)","data.file_path":"\u0428\u043B\u044F\u0445 \u0434\u043E \u0444\u0430\u0439\u043B\u0443","dialog.extrude.orientation":"\u041E\u0440\u0456\u0454\u043D\u0442\u0430\u0446\u0456\u044F","dialog.extrude.orientation.upright":"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u0430","dialog.extrude.orientation.flat":"\u0420\u0456\u0432\u043D\u0430","dialog.scale.box_uv_warning":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u043E\u0440\u043E\u0431\u043A\u0438 UV \u043C\u043E\u0434\u0435\u043B\u0456 \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0434\u043E \u043F\u043E\u0448\u043A\u043E\u0434\u0436\u0435\u043D\u043D\u044F UV \u0432\u0430\u0448\u043E\u0457 \u043C\u043E\u0434\u0435\u043B\u0456. \u0417\u0430\u043C\u0456\u0441\u0442\u044C \u0446\u044C\u043E\u0433\u043E \u0441\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0437\u043E\u0432\u043D\u0456, \u0430\u0431\u043E \u043F\u0435\u0440\u0435\u043C\u043A\u043D\u0456\u0442\u044C\u0441\u044F \u043D\u0430 \u0440\u0435\u0436\u0438\u043C UV \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 \u0433\u0440\u0430\u043D\u0456 \u0443 \u043C\u0435\u043D\u044E \xAB\u0424\u0430\u0439\u043B\xBB > \xAB\u041F\u0440\u043E\u0454\u043A\u0442\xBB.","dialog.create_gif.format":"\u0424\u043E\u0440\u043C\u0430\u0442","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG","dialog.create_gif.pixelate":"\u041F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0438\u0439","dialog.create_gif.bg_image":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0442\u043B\u0430","dialog.create_gif.turn.desc":"Rotate the model while recording. Use negative values to turn the model clockwise. A value of 60 corresponds to one rotation every second.","settings_profile.condition":"\u0423\u043C\u043E\u0432\u0430","settings_profile.condition.type.file_path.desc":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u0438\u0445 \u0432\u0438\u0440\u0430\u0437\u0456\u0432, \u0449\u043E\u0431 \u0432\u043A\u0430\u0437\u0430\u0442\u0438 \u0448\u043B\u044F\u0445 \u0434\u043E \u0444\u0430\u0439\u043B\u0443 \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443. \u0412\u043F\u0438\u0441\u0443\u0439\u0442\u0435 \u043F\u0440\u044F\u043C\u0456 \u0441\u043A\u0456\u0441\u043D\u0456 \u0440\u0438\u0441\u043A\u0438 \u0434\u043B\u044F \u0442\u0435\u043A","settings.only_selected_bezier_handles":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0434\u0435\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0440\u0438 \u0411\u0435\u0437\u044C\u0454","settings.only_selected_bezier_handles.desc":"\u041F\u0440\u0438\u0445\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u0435\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0440\u0438 \u0411\u0435\u0437\u044C\u0454 \u043A\u0430\u0434\u0440\u0456\u0432, \u044F\u043A\u0456 \u043D\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E","settings.embed_textures":"\u0412\u0431\u0443\u0434\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","settings.embed_textures.desc":"\u0412\u0431\u0443\u0434\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u043C\u0456\u0441\u0442 \u0444\u0430\u0439\u043B\u0456\u0432 \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0443 \u0444\u0430\u0439\u043B\u0438 .bbmodel","action.selection_mode.cluster":"\u041A\u043B\u0430\u0441\u0442\u0435\u0440","dialog.copied_to_clipboard":"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E \u0434\u043E \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0456\u043D\u0443","data.reference_image":"\u0415\u0442\u0430\u043B\u043E\u043D\u043D\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","message.delete_reference_image":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0446\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F? \u0414\u0456\u044E \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0431\u0443\u0434\u0435 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438.","message.add_reference_image.message":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C, \u043A\u0443\u0434\u0438 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","message.add_reference_image.project":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0446\u044C\u043E\u0433\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443","message.add_reference_image.app":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0432\u0441\u0456\u0445 \u043F\u0440\u043E\u0454\u043A\u0442\u0456\u0432","message.import_particle_texture.import":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A","message.import_particle_texture.message":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0456\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0444\u0430\u0439\u043B \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438, \u044F\u043A\u0438\u0439 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043E \u0434\u043B\u044F \u0432\u0430\u0448\u0438\u0445 \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A?","message.save_codec_selector.title":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0434\u0435\u043B\u0456","message.save_codec_selector.message":"\u041E\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u0442 \u0434\u043B\u044F \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F \u043C\u043E\u0434\u0435\u043B\u0456.","message.save_codec_selector.project_file":"\u041F\u0440\u043E\u0454\u043A\u0442 Blockbench (.bbmodel)","message.save_codec_selector.both":"\u041E\u0431\u0438\u0434\u0432\u0430","message.display_skin.username":"\u0406\u043C\u2019\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 (Java)","message.palette_locked":"\u041F\u0430\u043B\u0456\u0442\u0440\u0430 \u0437\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u0430","dialog.project.default_uv_mode":"\u0423\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C UV","dialog.project.default_uv_mode.description":"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C UV \u0434\u043B\u044F \u043F\u0440\u043E\u0454\u043A\u0442\u0443. \u0420\u0435\u0436\u0438\u043C UV \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0433\u043E \u043A\u0443\u0431\u0430.","dialog.export_options.title":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443","dialog.edit_texture.preview":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434","dialog.proportional_editing.range":"\u0414\u0456\u0430\u043F\u0430\u0437\u043E\u043D","dialog.proportional_editing.falloff":"\u041E\u043F\u0430\u0434\u0430\u043D\u043D\u044F","dialog.proportional_editing.falloff.linear":"\u041B\u0456\u043D\u0456\u0439\u043D\u0438\u0439","dialog.proportional_editing.falloff.hermite_spline":"\u0413\u043B\u0430\u0434\u043A\u0438\u0439","dialog.proportional_editing.falloff.constant":"\u041F\u043E\u0441\u0442\u0456\u0439\u043D\u0438\u0439","dialog.proportional_editing.selection":"\u0412\u0438\u0431\u0456\u0440","dialog.proportional_editing.selection.linear":"\u041B\u0456\u043D\u0456\u0439\u043D\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u044C","dialog.proportional_editing.selection.connections":"\u0417\u2019\u0454\u0434\u043D\u0430\u043D\u043D\u044F","dialog.mirror_painting_texture_center.middle":"\u0421\u0435\u0440\u0435\u0434\u0438\u043D\u0430","dialog.mirror_painting_texture_center.custom":"\u0412\u043B\u0430\u0441\u043D\u0438\u0439","dialog.settings.reset_to_default":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0434\u043E \u0442\u0438\u043F\u043E\u0432\u0438\u0445","keybindings.item.num_slider.increase":"\u0417\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438","keybindings.item.num_slider.decrease":"\u0417\u043C\u0435\u043D\u0448\u0438\u0442\u0438","settings.always_show_splash_art":"\u0417\u0430\u0432\u0436\u0434\u0438 \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043A\u0443","settings.always_show_splash_art.desc":"\u0417\u0430\u0432\u0436\u0434\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043A\u0443 \u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u043E\u043C\u0443 \u0435\u043A\u0440\u0430\u043D\u0456","action.slider_palette_color":"\u041A\u043E\u043B\u0456\u0440 \u043F\u0430\u043B\u0456\u0442\u0440\u0438","action.slider_palette_color.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u043D\u0443\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0443 \u043F\u0430\u043B\u0456\u0442\u0440\u0456","action.proportional_editing":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0456\u0439","action.proportional_editing.desc":"\u041F\u0440\u043E\u043F\u043E\u0440\u0446\u0456\u0439\u043D\u043E \u0432\u043F\u043B\u0438\u0432\u0430\u0442\u0438 \u043D\u0430 \u043D\u0430\u0432\u043A\u043E\u043B\u0438\u0448\u043D\u0456 \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0447\u0430\u0441\u0442\u0438\u043D \u043C\u0435\u0448\u0430","action.limit_to_palette":"Limit to Palette","action.limit_to_palette.desc":"\u041E\u0431\u043C\u0435\u0436\u0443\u0454 \u043A\u043E\u043B\u044C\u043E\u0440\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0442\u0438\u043C\u0438, \u0449\u043E \u0454 \u0443 \u043F\u043E\u0442\u043E\u0447\u043D\u0456\u0439 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u0456\u0439 \u043F\u0430\u043B\u0456\u0442\u0440\u0456","action.edit_reference_images":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.edit_reference_images.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F, \u0449\u043E\u0431 \u0434\u043E\u0434\u0430\u0432\u0430\u0442\u0438 \u0430\u0431\u043E \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0442\u0430 \u043A\u0440\u0435\u0441\u043B\u0435\u043D\u043D\u044F","action.add_reference_image":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.reference_image_from_clipboard":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0456\u043D\u0443","action.reference_image_list":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.connect_uv_faces":"\u0417\u2019\u0454\u0434\u043D\u0430\u0442\u0438 UV \u0433\u0440\u0430\u043D\u0456","action.connect_uv_faces.desc":"\u0417\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0433\u0440\u0430\u043D\u0456 \u0437 \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u044E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u044E UV \u0433\u0440\u0430\u043D\u043D\u044E","action.merge_uv_vertices":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 UV \u0432\u0435\u0440\u0448\u0438\u043D\u0438","action.merge_uv_vertices.desc":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u043F\u0435\u0440\u0448\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 UV \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0445 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 UV \u0432\u0435\u0440\u0448\u0438\u043D","action.bedrock_animation_mode":"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 Bedrock","action.bedrock_animation_mode.desc":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439 \u0434\u043B\u044F Minecraft: Bedrock Edition","action.bedrock_animation_mode.entity":"\u0421\u0443\u0442\u043D\u0456\u0441\u0442\u044C","action.bedrock_animation_mode.attachable_first":"\u041F\u0440\u0435\u0434\u043C\u0435\u0442 \u0432\u0456\u0434 1-\u0457 \u043E\u0441\u043E\u0431\u0438","action.bedrock_animation_mode.attachable_third":"\u041F\u0440\u0435\u0434\u043C\u0435\u0442 \u0432\u0456\u0434 3-\u0457 \u043E\u0441\u043E\u0431\u0438","timeline.amplify":"\u041F\u043E\u0441\u0438\u043B\u0438\u0442\u0438","menu.options":"\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438...","menu.palette.lock_palette":"\u0411\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","menu.uv.export":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 UV \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F","menu.uv.flip_x":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 \u043F\u043E X","menu.uv.flip_y":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 \u043F\u043E Y","menu.mirror_painting.enabled":"\u0423\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","reference_image.position":"\u041F\u043E\u0437\u0438\u0446\u0456\u044F","reference_image.size":"\u0420\u043E\u0437\u043C\u0456\u0440","reference_image.rotation":"\u041E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","reference_image.opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C","reference_image.visibility":"\u0412\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C","reference_image.clear_mode":"\u0420\u0435\u0436\u0438\u043C \u043E\u0447\u0438\u0449\u0435\u043D\u043D\u044F","reference_image.layer":"\u0428\u0430\u0440","reference_image.layer.background":"\u041F\u043E\u0437\u0430\u0434\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","reference_image.layer.viewport":"\u041D\u0430\u0434 \u043C\u043E\u0434\u0435\u043B\u043B\u044E","reference_image.layer.float":"\u041D\u0430\u0434 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043E\u043C","reference_image.scope":"\u041E\u0431\u043B\u0430\u0441\u0442\u044C","reference_image.scope.project":"\u0421\u0430\u043C\u0435 \u0446\u0435\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","reference_image.scope.global":"\u0423\u0441\u0456 \u043F\u0440\u043E\u0454\u043A\u0442\u0438","reference_image.enabled_modes":"\u0423\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E \u0432 \u0440\u0435\u0436\u0438\u043C\u0430\u0445","codec.common.encoding":"\u041A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u044F","codec.common.armature":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u0433\u0440\u0443\u043F \u044F\u043A \u0441\u043A\u0435\u043B\u0435\u0442","codec.common.export_animations":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","codec.common.embed_textures":"\u0412\u0431\u0443\u0434\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","preview.center_camera":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443","display.reference.frame_top":"\u0412\u0435\u0440\u0445 \u0440\u0430\u043C\u043A\u0438","display.reference.frame_top_invisible":"\u0412\u0435\u0440\u0445 \u0440\u0430\u043C\u043A\u0438 (\u043D\u0435\u0432\u0438\u0434\u0438\u043C\u0430)","action.proportional_editing_range":"\u0414\u0456\u0430\u043F\u0430\u0437\u043E\u043D \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0456\u0439\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","action.proportional_editing_range.desc":"\u0420\u0435\u0433\u0443\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0456\u0439\u043D\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","action.toggle_all_reference_images":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438/\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.toggle_all_reference_images.desc":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456\u0441\u0442\u044C \u0443\u0441\u0456\u0445 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C \u043E\u0434\u043D\u043E\u0447\u0430\u0441\u043D\u043E","action.add_animation_controller_state":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0441\u0442\u0430\u043D \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.add_animation_controller_state.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0441\u0442\u0430\u043D \u0434\u043E \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0430 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","menu.slider.round_value":"\u0426\u0456\u043B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","texture.error.too_large":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u043C\u0430\u043A\u0441\u0438\u043C\u0443\u043C %0","dialog.copy_to_clipboard":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0434\u043E \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0456\u043D\u0443","dialog.open_url":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F","reference_image.image":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","uv_editor.rotate_uv":"\u041E\u0431\u0435\u0440\u0442\u0430\u0442\u0438 UV","generic.error":"\u041F\u043E\u043C\u0438\u043B\u043A\u0430","projects.start_screen":"\u041F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u0435\u043A\u0440\u0430\u043D","message.invalid_link.message":"\u0421\u043F\u0456\u043B\u044C\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C \xAB%0\xBB, \u044F\u043A\u0443 \u0432\u0438 \u043D\u0430\u043C\u0430\u0433\u0430\u0454\u0442\u0435\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438, \u0454 \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u043E\u044E \u0430\u0431\u043E \u0437\u0430\u0441\u0442\u0430\u0440\u0456\u043B\u043E\u044E.","message.plugin_dependencies.title":"\u0417\u0430\u043B\u0435\u0436\u043D\u043E\u0441\u0442\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0430","message.plugin_dependencies.message1":"\u0414\u043B\u044F \u0440\u043E\u0431\u043E\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0430 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0456 \u0446\u0456 \u0437\u0430\u043B\u0435\u0436\u043D\u043E\u0441\u0442\u0456:","message.plugin_dependencies.message1_update":"\u041F\u043B\u0430\u0433\u0456\u043D %0 \u0431\u0443\u043B\u043E \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0456 \u0442\u0435\u043F\u0435\u0440 \u0439\u043E\u043C\u0443 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0456 \u0446\u0456 \u0437\u0430\u043B\u0435\u0436\u043D\u043E\u0441\u0442\u0456:","message.plugin_dependencies.message2":"\u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0457\u0445, \u0449\u043E\u0431 \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438?","message.plugin_dependencies.invalid":"\u041D\u0430 \u0436\u0430\u043B\u044C, \u043F\u043B\u0430\u0433\u0456\u043D \u043D\u0435 \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0439, \u0432\u0456\u043D \u043C\u0430\u0454 \u043D\u0435\u0434\u0456\u0439\u0441\u043D\u0443 \u0437\u0430\u043B\u0435\u0436\u043D\u0456\u0441\u0442\u044C:","message.preview_scene_load_failed":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0441\u0446\u0435\u043D\u0443 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443. \u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435 \u043F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044F \u0434\u043E \u0406\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443.","dialog.convert_project.text1":"\u041A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442 \u0432 \u0456\u043D\u0448\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442.","dialog.convert_project.text2":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044E \u043D\u0430 \u0441\u0432\u0456\u0439 \u0441\u0442\u0440\u0430\u0445 \u0456 \u0440\u0438\u0437\u0438\u043A. \u0424\u043E\u0440\u043C\u0430\u0442\u0438 \u043C\u0430\u044E\u0442\u044C \u0440\u0456\u0437\u043D\u0456 \u043E\u0441\u043E\u0431\u043B\u0438\u0432\u043E\u0441\u0442\u0456 \u0442\u0430 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F, \u0442\u043E\u043C\u0443 \u0432 \u0434\u0435\u044F\u043A\u0438\u0445 \u0432\u0438\u043F\u0430\u0434\u043A\u0430\u0445 \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044F \u043C\u043E\u0436\u0435 \u043F\u043E\u0440\u0443\u0448\u0438\u0442\u0438 \u0440\u043E\u0431\u043E\u0442\u0443 \u0447\u0430\u0441\u0442\u0438\u043D \u0432\u0430\u0448\u043E\u0433\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443.","dialog.convert_project.text3":"\u0412\u0438 \u043D\u0435 \u0437\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0430\u0446\u0456\u044E, \u0442\u043E\u043C\u0443 \u0437\u0430 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043E\u043C \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u043A\u043E\u043F\u0456\u044E.","dialog.unsaved_work.title":"\u041D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0430 \u0440\u043E\u0431\u043E\u0442\u0430","dialog.unsaved_work.text":"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 \u043F\u0440\u043E\u0454\u043A\u0442\u0438 \u043C\u0456\u0441\u0442\u044F\u0442\u044C \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0437\u043C\u0456\u043D\u0438. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0437\u043C\u0456\u043D\u0438?","dialog.unsaved_work.discard_all":"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438 \u0432\u0441\u0435","dialog.unsaved_work.save_all":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0435","dialog.resize_texture.mode":"\u0420\u0435\u0436\u0438\u043C","dialog.resize_texture.mode.crop":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438/\u0440\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438","dialog.resize_texture.mode.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","dialog.plugins.is_installed":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E","dialog.plugins.is_disabled":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u043E","dialog.plugins.disable":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438","dialog.plugins.enable":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438","dialog.plugins.dependencies":"\u0417\u0430\u043B\u0435\u0436\u0438\u0442\u044C \u0432\u0456\u0434:","dialog.view_backups.open_folder":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0442\u0435\u043A\u0443","dialog.share_model.reference_images":"\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","dialog.share_model.too_large":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438: \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0430","dialog.share_model.too_large_references":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438: \u043C\u043E\u0434\u0435\u043B\u044C \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0430. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0431\u0435\u0437 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C.","settings.stretch_linked":"\u0420\u043E\u0437\u0442\u044F\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u0432\u2019\u044F\u0437\u043A\u0456\u0432","settings.stretch_linked.desc":"\u0420\u043E\u0437\u0442\u044F\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0443\u0431 \u0443 \u0432\u0441\u0456\u0445 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0430\u0445 \u043D\u0430 \u043E\u0434\u043D\u0430\u043A\u043E\u0432\u0443 \u0432\u0435\u043B\u0438\u0447\u0438\u043D\u0443","settings.grids":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0438","settings.grids.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0430\u0431\u043E \u043F\u0440\u0438\u0445\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 3D \u0441\u0456\u0442\u043A\u0438","settings.double_click_switch_tools":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0442\u0438 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u043C \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u044F\u043C","settings.double_click_switch_tools.desc":"\u0414\u0432\u0456\u0447\u0456 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u043C\u0456\u0436 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430\u043C\u0438","settings.outlines_in_paint_mode":"\u041A\u043E\u043D\u0442\u0443\u0440\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","settings.outlines_in_paint_mode.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0443\u0440\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u043C\u0430\u043B\u044E\u0432\u0430\u043D\u043D\u044F","settings.json_indentation":"\u0412\u0456\u0434\u0441\u0442\u0443\u043F JSON","settings.json_indentation.desc":"\u0421\u0442\u0438\u043B\u044C \u0432\u0456\u0434\u0441\u0442\u0443\u043F\u0456\u0432 \u0434\u043B\u044F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u0444\u0430\u0439\u043B\u0456\u0432 JSON","settings.json_indentation.tabs":"\u0417\u043D\u0430\u043A\u0438 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0456\u0457","settings.json_indentation.spaces_4":"\u041F\u0440\u043E\u0431\u0456\u043B\u0438: 4","settings.json_indentation.spaces_2":"\u041F\u0440\u043E\u0431\u0456\u043B\u0438: 2","action.slider_stretch":"\u0420\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0442\u0438","action.slider_stretch.desc":"\u0420\u043E\u0437\u0442\u044F\u0433\u0443\u0454 \u043A\u0443\u0431\u0438 \u043C\u043D\u043E\u0436\u0438\u043D\u043D\u043E \u043F\u043E \u043E\u0441\u0456 %0 \u0431\u0435\u0437 \u0437\u043C\u0456\u043D\u0438 UV","action.view_backups":"\u041F\u0440\u043E\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0456 \u043A\u043E\u043F\u0456\u0457","action.view_backups.desc":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0441\u043F\u0438\u0441\u043E\u043A \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0438\u0445 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0438\u0445 \u043A\u043E\u043F\u0456\u0439 \u043F\u0440\u043E\u0454\u043A\u0442\u0443","action.search_outliner":"\u041F\u043E\u0448\u0443\u043A \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.search_outliner.desc":"\u041F\u043E\u0448\u0443\u043A \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0445 \u043D\u0430\u0437\u0432 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.mirror_modeling":"\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.mirror_modeling.desc":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u043F\u043E \u043E\u0441\u0456 X. \u0423\u0441\u0456 \u0437\u043C\u0456\u043D\u0438, \u044F\u043A\u0456 \u0432\u0438 \u0440\u043E\u0431\u0438\u0442\u0435 \u0432 \u043E\u0431\u043B\u0430\u0441\u0442\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443, \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0456\u043D\u0448\u0456\u0439 \u0441\u0442\u043E\u0440\u043E\u043D\u0456, \u044F\u043A\u0449\u043E \u043B\u0438\u0448\u0435 \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u043E \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E \u0446\u0435\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440.","action.allow_element_mirror_modeling":"\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.allow_element_mirror_modeling.desc":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C, \u0447\u0438 \u0432\u043F\u043B\u0438\u0432\u0430\u0442\u0438\u043C\u0435 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","action.switch_face_crease":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0441\u043A\u043B\u0430\u0434\u043A\u0443 \u0433\u0440\u0430\u043D\u0456","action.switch_face_crease.desc":"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447 \u043D\u0430\u043F\u0440\u044F\u043C\u043A\u0443 \u0441\u043A\u043B\u0430\u0434\u043A\u0438 \u0447\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u043A\u0456\u0432 \u043F\u043E\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0456","action.clear_unused_texture_space":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043D\u0435\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u043F\u0440\u043E\u0441\u0442\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.clear_unused_texture_space.desc":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438, \u044F\u043A\u0456 \u043D\u0435 \u043C\u0430\u044E\u0442\u044C UV \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043E \u0436\u043E\u0434\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.split_screen":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u0435\u043A\u0440\u0430\u043D","action.split_screen.desc":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0435\u043A\u0440\u0430\u043D\u0430 \u0434\u043B\u044F \u0432\u0456\u043A\u043D\u0430 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","action.split_screen.single":"\u041E\u043A\u0440\u0435\u043C\u043E","action.split_screen.double_horizontal":"\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.split_screen.double_vertical":"\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.split_screen.quad":"\u0427\u043E\u0442\u0438\u0440\u0438","action.split_screen.triple_left":"\u0422\u0440\u0438 \u043B\u0456\u0432\u043E\u0440\u0443\u0447","action.split_screen.triple_right":"\u0422\u0440\u0438 \u043F\u0440\u0430\u0432\u043E\u0440\u0443\u0447","action.split_screen.triple_top":"\u0422\u0440\u0438 \u0437\u0432\u0435\u0440\u0445\u0443","action.split_screen.triple_bottom":"\u0422\u0440\u0438 \u0437\u043D\u0438\u0437\u0443","action.uv_project_from_view":"UV \u043F\u0440\u043E\u0454\u043A\u0442\u0443 \u0437 \u0432\u0438\u0433\u043B\u044F\u0434\u0443","action.uv_project_from_view.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 UV \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u0433\u0440\u0430\u043D\u0435\u0439 \u0437 \u043F\u0435\u0440\u0441\u043F\u0435\u043A\u0442\u0438\u0432\u0438 3D \u0432\u0438\u0433\u043B\u044F\u0434\u0443","action.graph_editor_other_graphs":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0456\u043D\u0448\u0456 \u0433\u0440\u0430\u0444\u0456\u043A\u0438","action.graph_editor_other_graphs.desc":"\u0427\u0438 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438 \u0433\u0440\u0430\u0444\u0456\u043A\u0438 \u043E\u0441\u0435\u0439, \u044F\u043A\u0456 \u043D\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u043E","action.graph_editor_include_other_graphs":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u0456\u043D\u0448\u0456 \u0433\u0440\u0430\u0444\u0456\u043A\u0438","action.graph_editor_include_other_graphs.desc":"\u0427\u0438 \u0432\u043A\u043B\u044E\u0447\u0430\u0454 \u0433\u0440\u0430\u0444\u0456\u0447\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0433\u0440\u0430\u0444\u0456\u043A\u0438, \u044F\u043A\u0456 \u043D\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u043E \u0443 \u043F\u043E\u0434\u0430\u043D\u043D\u0456","action.set_ik_source":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043A\u043E\u0440\u0456\u043D\u044C IK","action.set_ik_source.desc":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u0440\u0435\u043D\u0435\u0432\u0443 \u043A\u0456\u0441\u0442\u043A\u0443 \u043B\u0430\u043D\u0446\u044E\u0433\u0430, \u044F\u043A\u0443 \u043C\u0430\u0454 \u043F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0446\u0435\u0439 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439 \u043E\u0431\u2019\u0454\u043A\u0442, \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E \u0406\u043D\u0432\u0435\u0440\u0441\u043D\u043E\u0457 \u043A\u0456\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0438","edit.loop_cut.cuts":"\u0412\u0438\u0440\u0456\u0437\u0438","panel.element.stretch":"\u0420\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0442\u0438","preview_scene.minecraft_plains":"\u0420\u0456\u0432\u043D\u0438\u043D\u0438","preview_scene.minecraft_cherry_grove":"\u0412\u0438\u0448\u043D\u0435\u0432\u0438\u0439 \u0433\u0430\u0439","preview_scene.minecraft_snowy_tundra":"\u0421\u043D\u0456\u0433\u043E\u0432\u0430 \u0442\u0443\u043D\u0434\u0440\u0430","preview_scene.minecraft_sunset":"\u0417\u0430\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F","preview_scene.minecraft_night":"\u041D\u0456\u0447","preview_scene.minecraft_desert":"\u041F\u0443\u0441\u0442\u0435\u043B\u044F","preview_scene.minecraft_underwater":"\u041F\u0456\u0434 \u0432\u043E\u0434\u043E\u044E","preview_scene.minecraft_coral_reef":"\u041A\u043E\u0440\u0430\u043B\u043E\u0432\u0438\u0439 \u0440\u0438\u0444","preview_scene.minecraft_lush_cave":"\u0413\u0443\u0441\u0442\u0430 \u043F\u0435\u0447\u0435\u0440\u0430","preview_scene.minecraft_deep_dark":"\u0413\u043B\u0438\u0431\u043E\u043A\u0430 \u0442\u0435\u043C\u0440\u044F\u0432\u0430","generic.navigate_forward":"\u0423\u043F\u0435\u0440\u0435\u0434","generic.navigate_back":"\u041D\u0430\u0437\u0430\u0434","action.element_render_order":"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457 \u043F\u0440\u043E\u0437\u043E\u0440\u043E\u0441\u0442\u0456","action.element_render_order.default":"\u0410\u0432\u0442\u043E.","action.element_render_order.behind":"\u041F\u043E\u0437\u0430\u0434\u0443","action.element_render_order.in_front":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0443","message.installing_update.title":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","message.installing_update.message":"\u041D\u043E\u0432\u0430 \u0432\u0435\u0440\u0441\u0456\u044F \u0433\u043E\u0442\u043E\u0432\u0430 \u0434\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F. \u041F\u0456\u0441\u043B\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0442\u044F \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0430, \u0431\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0437\u0430\u0447\u0435\u043A\u0430\u0439\u0442\u0435 \u0431\u043B\u0438\u0437\u044C\u043A\u043E %0 \u0441\u0435\u043A, \u043F\u0435\u0440\u0448 \u043D\u0456\u0436 \u0437\u043D\u043E\u0432\u0443 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0442\u0438 Blockbench \u0430\u0431\u043E \u0432\u0438\u043C\u0438\u043A\u0430\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439, \u043F\u043E\u043A\u0438 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043D\u0435 \u0431\u0443\u0434\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E.","settings.brush_cursor_2d":"2D \u0432\u043A\u0430\u0437\u0456\u0432\u043D\u0438\u043A \u043F\u0435\u043D\u0437\u043B\u044F","settings.brush_cursor_2d.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0443\u0440 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043F\u0435\u043D\u0437\u043B\u044F \u0443 2D \u0440\u043E\u0431\u043E\u0447\u0456\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0456","settings.brush_cursor_3d":"3D \u0432\u043A\u0430\u0437\u0456\u0432\u043D\u0438\u043A \u043F\u0435\u043D\u0437\u043B\u044F","settings.brush_cursor_3d.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043A\u043E\u043D\u0442\u0443\u0440 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043F\u0435\u043D\u0437\u043B\u044F \u0443 3D \u0440\u043E\u0431\u043E\u0447\u0456\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0456","settings.cdn_mirror":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u043E CDN","settings.cdn_mirror.desc":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u043E CDN \u0434\u043B\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432. \u0414\u0437\u0435\u0440\u043A\u0430\u043B\u043E \u0448\u0432\u0438\u0434\u0448\u0435 \u043E\u0442\u0440\u0438\u043C\u0443\u0454 \u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u0456 \u043F\u0440\u0430\u0446\u044E\u0454 \u0432 \u0434\u0435\u044F\u043A\u0438\u0445 \u0440\u0435\u0433\u0456\u043E\u043D\u0430\u0445, \u0434\u0435 \u043D\u0435 \u043F\u0440\u0430\u0446\u044E\u0454 \u0437\u0430 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043E\u043C.","data.layer":"\u0428\u0430\u0440","data.panel":"\u041F\u0430\u043D\u0435\u043B\u044C","generic.confirm_delete":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0446\u0435?","format_category.general":"\u0417\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439","modifier_actions.no_uniform_scaling":"\u0412\u0456\u043B\u044C\u043D\u0435 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F","message.texture_refresh_conflict.title":"\u041A\u043E\u043D\u0444\u043B\u0456\u043A\u0442\u0443\u044E\u0447\u0456 \u0432\u0435\u0440\u0441\u0456\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","message.texture_refresh_conflict.message":"\u0424\u0430\u0439\u043B \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u043C\u043E\u0436\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0437\u043C\u0456\u043D\u0438, \u044F\u043A\u0456 \u043A\u043E\u043D\u0444\u043B\u0456\u043A\u0442\u0443\u044E\u0442\u044C \u0437 \u0432\u0435\u0440\u0441\u0456\u0454\u044E Blockbench","message.texture_refresh_conflict.keep_ours":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0435\u0440\u0441\u0456\u044E Blockbench","message.texture_refresh_conflict.keep_theirs":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B \u0456 \u0432\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0437\u043C\u0456\u043D\u0438 \u0442\u0430 \u0448\u0430\u0440\u0438 \u0432 Blockbench","message.group_required_to_animate":"\u0426\u0435\u0439 \u0442\u0438\u043F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0430\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438. \u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u0433\u0440\u0443\u043F\u0443 \u0447\u0438 \u0441\u043A\u0435\u043B\u0435\u0442, \u0449\u043E\u0431 \u0430\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E.","dialog.texture.uv_size":"\u0420\u043E\u0437\u043C\u0456\u0440 UV","dialog.advanced_screenshot.angle_preset":"\u0428\u0430\u0431\u043B\u043E\u043D\u0438 \u043A\u0443\u0442\u0456\u0432","dialog.advanced_screenshot.resolution":"\u0420\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C","dialog.advanced_screenshot.zoom_to_fit":"\u041F\u0456\u0434\u0456\u0433\u043D\u0430\u0442\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","dialog.advanced_screenshot.zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 / \u0424\u043E\u043A\u0443\u0441\u043D\u0430 \u0432\u0456\u0434\u0441\u0442\u0430\u043D\u044C","dialog.advanced_screenshot.anti_aliasing":"\u0417\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u043D\u043D\u044F","dialog.advanced_screenshot.anti_aliasing.off":"\u0412\u0438\u043C\u043A.","dialog.advanced_screenshot.anti_aliasing.msaa":"\u041C\u0443\u043B\u044C\u0442\u0438\u0432\u0438\u0431\u0456\u0440\u043A\u0430","dialog.advanced_screenshot.anti_aliasing.ssaa":"\u0421\u0443\u043F\u0435\u0440\u0432\u0438\u0431\u0456\u0440\u043A\u0430","dialog.advanced_screenshot.show_gizmos":"\u041F\u043E\u043A\u0430\u0437 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","dialog.advanced_screenshot.shading":"\u0422\u0456\u043D\u0456","settings.auto_keyframe":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0439 \u043A\u0430\u0434\u0440","settings.auto_keyframe.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043A\u0430\u0434\u0440 \u0437 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C \u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F \u043A\u0456\u0441\u0442\u043A\u0438 \u0432 \u043F\u0456\u0437\u043D\u0456\u0448\u0456\u0439 \u0442\u043E\u0447\u0446\u0456","settings.modded_entity_integer_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u043E\u0457 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0432 \u0446\u0456\u043B\u043E\u043C\u0443 \u0447\u0438\u0441\u043B\u0456","settings.modded_entity_integer_size.desc":"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0443\u0431\u0430 \u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u043E\u0457 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 \u0446\u0456\u043B\u0438\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438. \u0425\u043E\u0447\u0430 \u0432 \u0434\u0435\u044F\u043A\u0438\u0445 \u0432\u0435\u0440\u0441\u0456\u044F\u0445 \u0442\u0435\u0445\u043D\u0456\u0447\u043D\u043E \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u044E\u0442\u044C\u0441\u044F \u0447\u0438\u0441\u043B\u0430 \u0437 \u0440\u0443\u0445\u043E\u043C\u043E\u044E \u043A\u0440\u0430\u043F\u043A\u043E\u044E, \u0446\u0456\u043B\u0456 \u0447\u0438\u0441\u043B\u0430 \u043D\u0430\u0431\u0430\u0433\u0430\u0442\u043E \u043F\u0440\u043E\u0441\u0442\u0456\u0448\u0435 \u043D\u0430\u043D\u043E\u0441\u0438\u0442\u0438 \u043D\u0430 UV \u043C\u0430\u043F\u0443.","category.layers":"\u0428\u0430\u0440\u0438","keybind.paint_secondary_color":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0438\u043C \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u043C","action.selection_tool_operation_mode":"\u0420\u0435\u0436\u0438\u043C \u0440\u043E\u0431\u043E\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_tool_operation_mode.create":"\u041D\u043E\u0432\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_tool_operation_mode.add":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_tool_operation_mode.subtract":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u0437 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_tool_operation_mode.intersect":"\u041F\u0435\u0440\u0435\u0442\u0438\u043D","action.pixel_perfect_drawing":"\u041F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0430 \u0442\u043E\u0447\u043D\u0456\u0441\u0442\u044C","action.pixel_perfect_drawing.desc":"\u041C\u0430\u043B\u044E\u0432\u0430\u0442\u0438 \u043F\u043B\u0430\u0432\u043D\u0456 \u043F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0456 \u043B\u0456\u043D\u0456\u0457 \u0431\u0435\u0437 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0445 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432 \u043D\u0430 \u043A\u0440\u0438\u0432\u0438\u0445","action.selection_tool":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.selection_tool.desc":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0447\u0430\u0441\u0442\u0438\u043D\u0443 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.selection_tool.rectangle":"\u041F\u0440\u044F\u043C\u043E\u043A\u0443\u0442\u043D\u0438\u043A","action.selection_tool.ellipse":"\u0415\u043B\u0456\u043F\u0441","action.selection_tool.lasso":"\u041B\u0430\u0441\u043E","action.selection_tool.wand":"\u0427\u0430\u0440\u0456\u0432\u043D\u0430 \u043F\u0430\u043B\u0438\u0447\u043A\u0430","action.selection_tool.color":"\u0422\u043E\u0439 \u0436\u0435 \u043A\u043E\u043B\u0456\u0440","action.move_layer_tool":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0448\u0430\u0440","action.move_layer_tool.desc":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0448\u0430\u0440 \u0430\u0431\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.export_modded_animations":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0439 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u043E\u0457 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456","action.export_modded_animations.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u043E\u0457 \u043C\u043E\u0434\u0435\u043B\u0456 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456 Minecraft Java Edition","action.swap_colors":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u0438","action.swap_colors.desc":"\u041F\u043E\u043C\u0456\u043D\u044F\u0442\u0438 \u043E\u0441\u043D\u043E\u0432\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0440\u044F\u0434\u043D\u0438\u0439","action.apply_mesh_rotation":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","action.apply_mesh_rotation.desc":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0441\u0456\u0442\u043A\u0438 \u0442\u0430 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E \u0434\u043E \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u0457 \u043D\u0430\u0442\u043E\u043C\u0456\u0441\u0442\u044C","action.flip_texture_x.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0430\u0431\u043E \u0448\u0430\u0440 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E","action.flip_texture_y.desc":"\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0430\u0431\u043E \u0448\u0430\u0440 \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E","action.rotate_texture_cw.desc":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0430\u0431\u043E \u0448\u0430\u0440 \u0437\u0430 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u044E \u0441\u0442\u0440\u0456\u043B\u043A\u043E\u044E","action.rotate_texture_ccw.desc":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0430\u0431\u043E \u0448\u0430\u0440 \u043F\u0440\u043E\u0442\u0438 \u0433\u043E\u0434\u0438\u043D\u043D\u0438\u043A\u043E\u0432\u043E\u0457 \u0441\u0442\u0440\u0456\u043B\u043A\u0438","action.crop_texture_to_selection":"\u041E\u0431\u0440\u0456\u0437\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0433\u043E","action.create_empty_layer":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439 \u0448\u0430\u0440","action.enable_texture_layers":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0448\u0430\u0440\u0438","action.disable_texture_layers":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0448\u0430\u0440\u0438","action.layer_opacity":"\u041D\u0435\u043F\u0440\u043E\u0437\u043E\u0440\u0456\u0441\u0442\u044C \u0448\u0430\u0440\u0443","action.layer_to_texture_size":"\u0420\u043E\u0437\u0448\u0438\u0440\u0438\u0442\u0438 \u0448\u0430\u0440 \u0434\u043E \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.layer_to_texture_size.desc":"\u0420\u043E\u0437\u0448\u0438\u0440\u0438\u0442\u0438 \u0448\u0430\u0440 \u0434\u043E \u0440\u043E\u0437\u043C\u0456\u0440\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.merge_layer_down":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0437 \u043D\u0438\u0437\u043E\u043C","action.merge_layer_down.desc":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0437 \u0448\u0430\u0440\u043E\u043C \u043D\u0438\u0436\u0447\u0435","action.advanced_screenshot":"\u041F\u0440\u043E\u0441\u0443\u043D\u0443\u0442\u0438\u0439 \u0437\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430...","action.advanced_screenshot.desc":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0437\u043D\u044F\u0442\u043E\u043A \u043C\u043E\u0434\u0435\u043B\u0456 \u0437 \u0440\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0438\u043C\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C\u0438","action.bake_ik_animation":"\u0424\u0456\u043A\u0441\u0430\u0446\u0456\u044F \u0437\u0432\u043E\u0440\u043E\u0442\u043D\u043E\u0457 \u043A\u0456\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u0438","action.bake_ik_animation.desc":"\u0417\u0430\u0444\u0456\u043A\u0441\u0443\u0432\u0430\u0442\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F, \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0430\u043D\u0456 \u0437\u0432\u043E\u0440\u043E\u0442\u043D\u043E\u044E \u043A\u0456\u043D\u0435\u043C\u0430\u0442\u0438\u043A\u043E\u044E, \u0443 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.save_animation_preset":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457...","action.save_animation_preset.desc":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u043A\u0430\u0434\u0440\u0438 \u044F\u043A \u0448\u0430\u0431\u043B\u043E\u043D \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.animation_onion_skin":"\u0424\u0430\u043D\u0442\u043E\u043C \u043A\u0430\u0434\u0440\u0456\u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044F","action.animation_onion_skin.desc":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043A\u0430\u0440\u043A\u0430\u0441\u043D\u0438\u0439 \u0432\u0438\u0433\u043B\u044F\u0434 \u0456\u043D\u0448\u043E\u0433\u043E \u043A\u0430\u0434\u0440\u0443 \u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0434\u043B\u044F \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0441\u0443","action.apply_animation_preset":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044E \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.apply_animation_preset.desc":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0437\u0456 \u0441\u043F\u0438\u0441\u043A\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0456\u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0442\u0430 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u0439\u0442\u0435 \u0457\u0457 \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u043A\u0456\u0441\u0442\u043A\u0438","menu.brush_presets.pixel_perfect":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C \u0437 \u0442\u043E\u0447\u043D\u0456\u0441\u0442\u044E \u0434\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u044F","panel.layers":"\u0428\u0430\u0440\u0438","uv_editor.copy_paste_tool.to_layer":"\u041D\u0430 \u043D\u043E\u0432\u0438\u0439 \u0448\u0430\u0440","format.image.new":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u0432\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","format.image.info.summary":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 2D-\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C \u0434\u0430\u0454 \u0437\u043C\u043E\u0433\u0443 \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u0456 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0442\u0430 \u043F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0443 \u0433\u0440\u0430\u0444\u0456\u043A\u0443 \u0431\u0435\u0437\u043F\u043E\u0441\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432 Blockbench, \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E\u0441\u0442\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C. \u0420\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F, \u0437\u043C\u0456\u043D\u044E\u0439\u0442\u0435 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0430\u0431\u043E \u0441\u0442\u0432\u043E\u0440\u044E\u0439\u0442\u0435 \u0432\u043B\u0430\u0441\u043D\u0456 \u043F\u0456\u043A\u0441\u0435\u043B\u044C-\u0430\u0440\u0442\u0438!","settings.move_with_selection_tool":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \xAB\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F\xBB \u0434\u043B\u044F \u0457\u0445 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F","settings.move_with_selection_tool.desc":"\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0443 \xAB\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F\xBB \u043D\u0430\u043F\u0440\u044F\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0431\u0435\u0437 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E\u0441\u0442\u0456 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0439 \u0448\u0430\u0440","settings.final_newline":"\u041E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u043D\u043E\u0432\u0438\u0439 \u0440\u044F\u0434\u043E\u043A","settings.final_newline.desc":"\u0412\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B \u043D\u043E\u0432\u043E\u0433\u043E \u0440\u044F\u0434\u043A\u0430 \u0432 \u043A\u0456\u043D\u0446\u0456 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u0438\u0445 \u0444\u0430\u0439\u043B\u0456\u0432","action.crop_layer_to_selection":"\u041E\u0431\u0440\u0456\u0437\u0430\u0442\u0438 \u0448\u0430\u0440 \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.edit_mode_uv_overlay.desc":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 UV \u043C\u0430\u043F\u0443 \u044F\u043A \u043D\u0430\u043A\u043B\u0430\u0434\u0435\u043D\u043D\u044F \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","menu.image":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","menu.texture.discard_changes":"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438 \u0437\u043C\u0456\u043D\u0438","menu.texture.discard_changes.desc":"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u043D\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u0456 \u0437\u043C\u0456\u043D\u0438 \u0442\u0430 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0432\u0435\u0440\u0441\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443","panel.textures.images":"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","dialog.advanced":"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u043E","dialog.recommended_option":"\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u043E\u0432\u0430\u043D\u043E","modifier_actions.snap_to_center":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0434\u043E \u0446\u0435\u043D\u0442\u0440\u0443","modifier_actions.snap_to_pixels":"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u0430\u0442\u0438 \u0434\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432","message.invalid_format.install_plugin":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D \xAB%0\xBB","message.plugin_deprecated.message":"\u0412\u0438 \u0434\u0456\u0439\u0441\u043D\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0446\u0435\u0439 \u0437\u0430\u0441\u0442\u0430\u0440\u0456\u043B\u0438\u0439 \u043F\u043B\u0430\u0433\u0456\u043D?","message.plugin_deprecated.install_anyway":"\u041E\u0434\u043D\u0430\u043A\u043E\u0432\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438","message.image_editor.not_found":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C. \u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u043D\u0448\u0438\u0439 \u0432\u0430\u0440\u0456\u0430\u043D\u0442.","message.knife_tool.confirm":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C %0 \u0430\u0431\u043E \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u0442\u0443\u0442 \u0434\u043B\u044F \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u043D\u043D\u044F \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0443 \xAB\u041D\u0456\u0436\xBB","message.knife_tool.skipped_face":"\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0432\u0438\u0440\u0456\u0437\u0430\u0442\u0438 \u043C\u0456\u0436 \u0440\u0456\u0437\u043D\u0438\u043C\u0438 \u0433\u0440\u0430\u043D\u044F\u043C\u0438. \u0412\u043A\u043B\u044E\u0447\u0456\u0442\u044C \u0440\u0435\u0431\u0440\u0430 \u0430\u0431\u043E \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u043C\u0456\u0436 \u043D\u0438\u043C\u0438!","message.optimize_animation.keyframes_removed":"\u0412\u0438\u0434\u0430\u043B\u0435\u043D\u043E \u0437\u0430\u0439\u0432\u0456 \u043A\u0430\u0434\u0440\u0438 (%0)","message.optimize_animation.nothing_to_optimize":"\u041D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0456\u0447\u043E\u0433\u043E \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0456\u0437\u0430\u0446\u0456\u0457!","message.duplicate_bone_copy_animation.title":"\u041A\u043E\u043F\u0456\u044F \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","message.duplicate_bone_copy_animation.message":"\u041F\u0440\u043E\u0434\u0443\u0431\u043B\u044C\u043E\u0432\u0430\u043D\u0430 \u043A\u0456\u0441\u0442\u043A\u0430 \u0430\u043D\u0456\u043C\u043E\u0432\u0430\u043D\u0430 \u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 %0. \u0411\u0430\u0436\u0430\u0454\u0442\u0435 \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u043A\u0430\u0434\u0440\u0438 \u043D\u0430 \u043D\u043E\u0432\u0443 \u043A\u0456\u0441\u0442\u043A\u0443?","message.auto_fix_mesh_edit.title":"\u0410\u0432\u0442\u043E. \u0432\u0438\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044F","message.auto_fix_mesh_edit.revert":"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","message.auto_fix_mesh_edit.overlapping_vertices":"\u0414\u0435\u044F\u043A\u0456 \u0432\u0435\u0440\u0448\u0438\u043D\u0438 \u0431\u0443\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u0456 \u0432 \u043E\u0434\u043D\u0435 \u043C\u0456\u0441\u0446\u0435. \u042F\u043A \u0431\u0438 \u0432\u0438 \u0445\u043E\u0442\u0456\u043B\u0438 \u0434\u0456\u044F\u0442\u0438 \u0434\u0430\u043B\u0456?","message.auto_fix_mesh_edit.concave_quads":"\u041E\u0434\u043D\u0430 \u0430\u0431\u043E \u043A\u0456\u043B\u044C\u043A\u0430 \u0447\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u0445 \u0433\u0440\u0430\u043D\u0435\u0439 \u0442\u0435\u043F\u0435\u0440 \u0443\u0432\u0456\u0433\u043D\u0443\u0442\u0456, \u0449\u043E \u043C\u043E\u0436\u0435 \u0441\u043F\u0440\u0438\u0447\u0438\u043D\u0438\u0442\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438 \u0437 UV \u043C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0442\u0430 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0454\u044E. Blockbench \u043C\u043E\u0436\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0432\u0438\u043F\u0440\u0430\u0432\u0438\u0442\u0438 \u0434\u043B\u044F \u0432\u0430\u0441:","message.auto_fix_mesh_edit.merge_vertices":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0438","message.auto_fix_mesh_edit.split_quads":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u0447\u043E\u0442\u0438\u0440\u0438\u043A\u0443\u0442\u043D\u0438\u043A\u0438","message.load_images.add_image":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","dialog.project.modded_entity_entity_class":"\u041A\u043B\u0430\u0441 \u0441\u0443\u0442\u043D\u043E\u0441\u0442\u0456","dialog.resize_texture.offset":"\u0417\u043C\u0456\u0449\u0435\u043D\u043D\u044F","dialog.animated_texture_editor.code_reference":"\u041F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043A\u043E\u0434","dialog.animated_texture_editor.code_reference.about":"\u0426\u0435\u0439 \u043A\u043E\u0434 \u0434\u043B\u044F \u0440\u0435\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u0431\u0443\u0432 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439 \u044F\u043A \u0434\u043E\u0432\u0456\u0434\u043D\u0438\u043A \u0456 \u043D\u0435 \u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438\u043C\u0435 \u0431\u0435\u0437 \u0437\u043C\u0456\u043D. \u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u044C\u0442\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0456\u044E, \u0449\u043E\u0431 \u0434\u0456\u0437\u043D\u0430\u0442\u0438\u0441\u044F \u0431\u0456\u043B\u044C\u0448\u0435.","dialog.animated_texture_editor.code_reference.docs":"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0456\u044F","dialog.animated_texture_editor.reframe":"\u041F\u0435\u0440\u0435\u0437\u043D\u044F\u0442\u0438 \u043A\u0430\u0434\u0440","dialog.animated_texture_editor.stride":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043A\u0430\u0434\u0440\u0443","dialog.animated_texture_editor.frames":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043A\u0430\u0434\u0440\u0456\u0432","dialog.animated_texture_editor.add_frame":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u0430\u0434\u0440","dialog.animated_texture_editor.resize_frames":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0430\u0434\u0440\u0456\u0432...","dialog.animated_texture_editor.apply":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438","dialog.add_primitive.edge_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0440\u0435\u0431\u0440\u0430","dialog.change_animation_speed.speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C","dialog.change_animation_speed.adjust_snapping":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0443","dialog.optimize_animation.selection":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","dialog.optimize_animation.selection.selected_keyframes":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u043A\u0430\u0434\u0440\u0438","dialog.optimize_animation.selection.selected_animation":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","dialog.optimize_animation.selection.all_animations":"\u0423\u0441\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","dialog.optimize_animation.thresholds":"\u041F\u043E\u0440\u043E\u0433\u043E\u0432\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F","dialog.import_obj.obj":"\u0424\u0430\u0439\u043B OBJ","dialog.import_obj.mtl":"\u0424\u0430\u0439\u043B MTL","dialog.import_obj.scale":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431","layout.thumbnail":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u0430 \u043C\u0456\u043D\u0456\u0430\u0442\u044E\u0440\u0430 CSS","settings.pixel_grid":"\u041F\u0456\u043A\u0441\u0435\u043B\u044C\u043D\u0430 \u0441\u0456\u0442\u043A\u0430","settings.pixel_grid.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0441\u0456\u0442\u043A\u0443 \u043F\u0456\u043A\u0441\u0435\u043B\u0456\u0432 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u0445 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","settings.image_editor_grid_size":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0441\u0456\u0442\u043A\u0438 \u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C","settings.image_editor_grid_size.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u0432\u0435\u043B\u0438\u043A\u043E\u0457 \u0441\u0456\u0442\u043A\u0438 \u0443 2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C","settings.ground_plane_double_side":"\u0414\u0432\u043E\u0441\u0442\u043E\u0440\u043E\u043D\u043D\u044F \u043F\u043B\u043E\u0449\u0438\u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0438","settings.ground_plane_double_side.desc":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u043F\u043B\u043E\u0449\u0438\u043D\u0443 \u043E\u0441\u043D\u043E\u0432\u0438 \u0432\u0438\u0434\u0438\u043C\u043E\u044E \u0437\u043D\u0438\u0437\u0443","settings.optifine_save_default_texture":"OptiFine JEM: \u0435\u043A\u0441\u043F\u043E\u0440\u0442 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","settings.optifine_save_default_texture.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u044F\u043A \u0442\u0438\u043F\u043E\u0432\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u043C\u043E\u0434\u0435\u043B\u0456","action.slider_color_select_threshold":"\u041F\u043E\u0440\u0456\u0433 \u0432\u0438\u0431\u043E\u0440\u0443 \u043A\u043E\u043B\u044C\u043E\u0440\u0443","action.slider_color_select_threshold.desc":"\u041D\u0430\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0431\u043B\u0438\u0437\u044C\u043A\u0438\u043C \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0441\u0443\u0441\u0456\u0434\u043D\u044C\u043E\u0433\u043E \u043F\u0456\u043A\u0441\u0435\u043B\u044F \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u043C \u0430\u0431\u043E \u043F\u0430\u043B\u0438\u0447\u043A\u043E\u044E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.stretch_tool":"\u0420\u043E\u0437\u0442\u044F\u0433\u043D\u0443\u0442\u0438","action.stretch_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0430 \u0440\u043E\u0437\u0442\u044F\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.knife_tool":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \xAB\u041D\u0456\u0436\xBB","action.knife_tool.desc":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u0440\u043E\u0437\u0440\u0456\u0437\u0430\u043D\u043D\u044F \u0433\u0440\u0430\u043D\u044C \u043C\u0435\u0448\u0443 \u043D\u0430 \u043C\u0435\u043D\u0448\u0456 \u0447\u0430\u0441\u0442\u0438\u043D\u0438","action.duplicate_project":"\u0414\u0443\u0431\u043B\u044E\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","action.duplicate_project.desc":"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u043A\u043E\u043F\u0456\u044E \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443","action.transform_space.parent":"\u0411\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439","action.transform_pivot_space":"\u041F\u0440\u043E\u0441\u0442\u0456\u0440 \u043F\u0435\u0440\u0435\u043C\u0456\u0449\u0435\u043D\u043D\u044F \u0442\u043E\u0447\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443","action.solidify_mesh_selection":"\u0423\u0449\u0456\u043B\u044C\u043D\u0438\u0442\u0438 \u0433\u0440\u0430\u043D\u0456","action.solidify_mesh_selection.desc":"\u0423\u0449\u0456\u043B\u044C\u043D\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0430\u043D\u0456 \u0441\u0456\u0442\u043A\u0438","action.animated_texture_editor":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u044F \u043F\u0435\u0440\u0435\u0433\u043E\u0440\u0442\u0430\u043D\u043D\u044F...","action.animated_texture_editor.desc":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u0431\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u043F\u0435\u0440\u0435\u0433\u043E\u0440\u0442\u0430\u043D\u043D\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.center_individual_pivots":"\u0412\u0456\u0434\u0446\u0435\u043D\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u043E\u043A\u0440\u0435\u043C\u0456 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443","action.center_individual_pivots.desc":"\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0442\u0438 \u0442\u043E\u0447\u043A\u0443 \u043E\u0431\u0435\u0440\u0442\u0443 \u043A\u043E\u0436\u043D\u043E\u0433\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0433\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432 \u0439\u043E\u0433\u043E \u0446\u0435\u043D\u0442\u0440","action.uv_cycle":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 UV","action.uv_cycle.desc":"\u041F\u0440\u043E\u0439\u0442\u0438\u0441\u044F \u0437\u0430 \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u043C UV \u0432\u0435\u0440\u0448\u0438\u043D \u0431\u0435\u0437 \u0437\u043C\u0456\u043D\u0438 UV \u043F\u043E\u0437\u0438\u0446\u0456\u0439","action.uv_cycle_invert":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0456\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u043D\u043D\u044F UV","action.uv_cycle_invert.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043F\u043E\u0440\u044F\u0434\u043E\u043A UV \u0432\u0435\u0440\u0448\u0438\u043D \u0431\u0435\u0437 \u0437\u043C\u0456\u043D\u0438 UV \u043F\u043E\u0437\u0438\u0446\u0456\u0439","action.slider_animation_controller_speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0430","action.slider_animation_controller_speed.desc":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0435\u0440\u0456\u0432 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457 \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445","action.optimize_animation":"\u041E\u043F\u0442\u0438\u043C\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.optimize_animation.desc":"\u041E\u043F\u0442\u0438\u043C\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u0442\u0430 \u0437\u043C\u0435\u043D\u0448\u0438\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043A\u0430\u0434\u0440\u0456\u0432","action.change_animation_speed":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0448\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457...","action.change_animation_speed.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0448\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u043E\u0431\u0440\u0430\u043D\u043E\u0457 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","timeline.select_particle_file":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B \u0437 \u0447\u0430\u0441\u0442\u0438\u043D\u043A\u0430\u043C\u0438","timeline.select_sound_file":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B \u0437\u0456 \u0437\u0432\u0443\u043A\u043E\u043C","menu.cube.texture.default":"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430","menu.texture.particle.clear":"\u041F\u0440\u0438\u043F\u0438\u043D\u0438\u0442\u0438 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u043A","menu.texture.use_as_default":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u0430 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043E\u043C","menu.texture.use_as_default.clear":"\u0417\u043D\u044F\u0442\u0438 \u044F\u043A \u0437\u0430 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043E\u043C","menu.toolbar.overflow":"\u041F\u0435\u0440\u0435\u043F\u043E\u0432\u043D\u0435\u043D\u043D\u044F \u043F\u0430\u043D\u0435\u043B\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432","edit.solidify_mesh_selection.thickness":"\u0422\u043E\u0432\u0449\u0438\u043D\u0430","reference_image.sync_to_timeline":"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u0437 \u0447\u0430\u0441\u043E\u0432\u043E\u044E \u0448\u043A\u0430\u043B\u043E\u044E","reference_image.toggle_playback":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u0438\u0442\u0438/\u0437\u0443\u043F\u0438\u043D\u0438\u0442\u0438","dialog.add_primitive.shape.beveled_cuboid":"\u0421\u043A\u043E\u0448\u0435\u043D\u0438\u0439 \u043A\u0443\u0431","dialog.ignore_all":"\u0406\u0433\u043D\u043E\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0435","data.texture_group":"\u0413\u0440\u0443\u043F\u0430 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","data.animation":"\u0410\u043D\u0456\u043C\u0430\u0446\u0456\u044F","generic.on":"\u0423\u0432\u0456\u043C\u043A.","generic.off":"\u0412\u0438\u043C\u043A.","format.free.info.3d_printing":"3D \u0434\u0440\u0443\u043A","message.invalid_file.merge_conflict":"\u0424\u0430\u0439\u043B \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u0432\u0438\u0440\u0456\u0448\u0435\u043D\u0456 \u043A\u043E\u043D\u0444\u043B\u0456\u043A\u0442\u0438 \u0437\u043B\u0438\u0442\u0442\u044F Git'\u0430.","dialog.expand_texture_selection.radius":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C","dialog.expand_texture_selection.corner":"\u0424\u043E\u0440\u043C\u0430 \u043A\u0443\u0442\u0430","dialog.expand_texture_selection.corner.round":"\u041A\u0440\u0443\u0433\u043B\u0430","dialog.expand_texture_selection.corner.square":"\u041A\u0432\u0430\u0434\u0440\u0430\u0442\u043D\u0430","dialog.expand_texture_selection.corner.manhattan":"\u041C\u0430\u043D\u0433\u0435\u0442\u0442\u0435\u043D","dialog.merge_animation.merge_target":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438","keybindings.variation_conflict":"\u0412\u0430\u0440\u0456\u0430\u0446\u0456\u044F \u043A\u043E\u043D\u0444\u043B\u0456\u043A\u0442\u0443\u0454 \u0437 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u044E \u043F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u043E\u044E \u043A\u043B\u0430\u0432\u0456\u0448","settings.recovery_save_interval":"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F \u0442\u043E\u0447\u043A\u0438 \u0432\u0456\u0434\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","settings.recovery_save_interval.desc":"Blockbench \u0440\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442 \u0443 \u0444\u043E\u043D\u043E\u0432\u043E\u043C\u0443 \u0440\u0435\u0436\u0438\u043C\u0456, \u0449\u043E\u0431 \u0432\u0456\u0434\u043D\u043E\u0432\u0438\u0442\u0438 \u0439\u043E\u0433\u043E \u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0430\u0432\u0430\u0440\u0456\u0439\u043D\u043E\u0433\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043D\u044F \u0440\u043E\u0431\u043E\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E. \u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0430\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445. \u0414\u043B\u044F \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F 0.","settings.save_view_per_tab":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0432\u0438\u0434 \u0443 \u0432\u043A\u043B\u0430\u0434\u0446\u0456","settings.save_view_per_tab.desc":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u043A\u0443\u0442 \u0432\u0438\u0434\u0443 \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043E\u043A\u0440\u0435\u043C\u043E","settings.inherit_parent_color":"\u0423\u0441\u043F\u0430\u0434\u043A\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439 \u043A\u043E\u043B\u0456\u0440","settings.inherit_parent_color.desc":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043D\u043E\u0432\u043E\u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E\u0433\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043D\u0430 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0437\u0430\u043C\u0456\u0441\u0442\u044C \u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u043E\u0433\u043E \u043A\u043E\u043B\u044C\u043E\u0440\u0443","keybind.preview_select.multi_select":"\u041C\u043D\u043E\u0436\u0438\u043D\u043D\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","keybind.preview_select.group_select":"\u0413\u0440\u0443\u043F\u043E\u0432\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","keybind.preview_select.loop_select":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u043F\u0435\u0442\u043B\u0456","action.fill_mode.selection":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","action.fill_mode.selected_elements":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","action.image_tiled_view":"\u041F\u043B\u0438\u0442\u043A\u043E\u0432\u0438\u0439 \u0432\u0438\u0433\u043B\u044F\u0434","action.image_tiled_view.description":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u043B\u0438\u0442\u043A\u043E\u0432\u0438\u0439 \u0432\u0438\u0433\u043B\u044F\u0434 \u0443 2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456","action.image_onion_skin_view":"\u0424\u0430\u043D\u0442\u043E\u043C \u043A\u0430\u0434\u0440\u0438 \u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C","action.image_onion_skin_view.description":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0438\u0433\u043B\u044F\u0434 \u0444\u0430\u043D\u0442\u043E\u043C \u043A\u0430\u0434\u0440\u0456\u0432 \u0443 2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456","action.expand_texture_selection":"\u0420\u043E\u0437\u0448\u0438\u0440\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.expand_texture_selection.desc":"\u0420\u043E\u0437\u0448\u0438\u0440\u0438\u0442\u0438 \u0430\u0431\u043E \u0437\u0432\u0443\u0437\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.switch_tabs.reverse_order":"\u0417\u0432\u043E\u0440\u043E\u0442\u043D\u0438\u0439 \u043F\u043E\u0440\u044F\u0434\u043E\u043A","action.save_project_incremental":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442 \u0437 \u043D\u043E\u043C\u0435\u0440\u043E\u043C","action.save_project_incremental.desc":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0454 \u043F\u043E\u0442\u043E\u0447\u043D\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u044F\u043A \u0444\u0430\u0439\u043B \u043F\u0440\u043E\u0454\u043A\u0442\u0443 \u0437 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u0438\u043C \u043D\u043E\u043C\u0435\u0440\u043E\u043C (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, project_2.bbmodel)","action.copy.multiple":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0441\u0435","action.copy.multiple.desc":"\u0421\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043D\u0430\u044F\u0432\u043D\u0456 \u0434\u0430\u043D\u0456 \u043E\u043A\u0440\u0435\u043C\u043E","action.paste.multiple":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0441\u0435","action.randomize_marker_colors":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438 \u043C\u0430\u0440\u043A\u0435\u0440\u0430 \u043D\u0430\u0432\u043C\u0430\u043D\u043D\u044F","action.cube_light_emission":"\u0412\u0438\u043F\u0440\u043E\u043C\u0456\u043D\u044E\u0432\u0430\u043D\u043D\u044F \u0441\u0432\u0456\u0442\u043B\u0430","action.cube_light_emission.desc":"\u0417\u043C\u0456\u043D\u0430 \u0432\u0438\u043F\u0440\u043E\u043C\u0456\u043D\u044E\u0432\u0430\u043B\u044C\u043D\u043E\u0457 \u0437\u0434\u0430\u0442\u043D\u043E\u0441\u0442\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043A\u0443\u0431\u0456\u0432 \u0443 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0456 \u0432\u0456\u0434 0 \u0434\u043E 15","action.view_mode.colored_solid":"\u0421\u0443\u0446\u0456\u043B\u044C\u043D\u0456 \u0437 \u043A\u043E\u043B\u044C\u043E\u0440\u0430\u043C\u0438 \u043C\u0430\u0440\u043A\u0435\u0440\u0430","action.focus_on_selection.rotate_only":"\u041B\u0438\u0448\u0435 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","action.create_texture_group":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0433\u0440\u0443\u043F\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.create_texture_group.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0433\u0440\u0443\u043F\u0443 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440","action.uv_maximize.all_faces":"\u0412\u043F\u043B\u0438\u043D\u0443\u0442\u0438 \u043D\u0430 \u0432\u0441\u0456 \u0433\u0440\u0430\u043D\u0456","action.retarget_animators":"\u041F\u0435\u0440\u0435\u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.retarget_animators.desc":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438, \u044F\u043A\u0438\u0439 \u0430\u043D\u0456\u043C\u0430\u0442\u043E\u0440 \u043A\u0435\u0440\u0443\u0454 \u044F\u043A\u043E\u044E \u043A\u0456\u0441\u0442\u043A\u043E\u044E \u0430\u0431\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C","action.merge_animation":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.merge_animation.desc":"\u041E\u0431\u2019\u0454\u0434\u043D\u0430\u0442\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E \u0432 \u0456\u043D\u0448\u0443 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u044E","action.add_keyframe.reset_values":"\u0417 \u0443\u0441\u0442\u0430\u043B\u0435\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C\u0438","action.set_timeline_range_start":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043F\u043E\u0447\u0430\u0442\u043E\u043A \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","action.set_timeline_range_start.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u0443 \u0442\u043E\u0447\u043A\u0443 \u0434\u043B\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u043E\u0433\u043E \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0443 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.set_timeline_range_end":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043A\u0456\u043D\u0435\u0446\u044C \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","action.set_timeline_range_end.desc":"\u0417\u0430\u0434\u0430\u0442\u0438 \u043A\u0456\u043D\u0446\u0435\u0432\u0443 \u0442\u043E\u0447\u043A\u0443 \u0434\u043B\u044F \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u043E\u0433\u043E \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0443 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.disable_timeline_range":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","action.disable_timeline_range.desc":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044C\u043A\u0438\u0439 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D \u0432\u0456\u0434\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0443 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","menu.texture_group.resolve":"\u0420\u043E\u0437\u0432\u2019\u044F\u0437\u0430\u0442\u0438","menu.image_tiled_view.mirrored":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u0456 \u0440\u0435\u0431\u0440\u0430","menu.image_onion_skin_view.frame":"\u041A\u0430\u0434\u0440\u0438","menu.image_onion_skin_view.frame.last_viewed":"\u041E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.previous":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.next":"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439 \u043A\u0430\u0434\u0440","menu.image_onion_skin_view.frame.both":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 + \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439","menu.image_onion_skin_view.display":"\u041F\u043E\u043A\u0430\u0437","menu.image_onion_skin_view.display.pixels":"\u041C\u0435\u043D\u0448\u0456 \u043F\u0456\u043A\u0441\u0435\u043B\u0456","menu.image_onion_skin_view.display.transparent":"\u041F\u0440\u043E\u0437\u043E\u0440\u0438\u0439","menu.image_onion_skin_view.above":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0437\u0432\u0435\u0440\u0445\u0443","menu.animation.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","switches.autouv.alt":"\u0412\u0456\u0434\u043D\u043E\u0441\u043D\u043E","display.rotation_pivot":"\u0422\u043E\u0447\u043A\u0430 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","display.scale_pivot":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0442\u043E\u0447\u043A\u0443","display.reference.fox":"\u041B\u0438\u0441\u0438\u0446\u044F","display.reference.eating":"\u0407\u0434\u0436\u0435\u043D\u043D\u044F","preview_scene.sky":"\u041D\u0435\u0431\u043E","preview_scene.space":"\u041A\u043E\u0441\u043C\u043E\u0441","preview_scene.minecraft_ocean":"\u041E\u043A\u0435\u0430\u043D","message.import_palette.selection_only":"\u041B\u0438\u0448\u0435 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","dialog.blend_transition_edit.ease_in_out":"\u041F\u0440\u0438\u0441\u043A\u043E\u0440\u0435\u043D\u043D\u044F \u0456 \u0441\u043F\u043E\u0432\u0456\u043B\u044C\u043D\u0435\u043D\u043D\u044F (%0)","dialog.blend_transition_edit.generate":"\u0417\u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438...","dialog.blend_transition_edit.generate.learn_more":"\u0411\u0456\u043B\u044C\u0448\u0435 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0457 \u0442\u0430 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434","dialog.blend_transition_edit.generate.curve":"\u0422\u0438\u043F \u0456\u043D\u0442\u0435\u0440\u043F\u043E\u043B\u044F\u0446\u0456\u0457","dialog.blend_transition_edit.generate.steps":"\u041A\u0430\u0434\u0440\u0438","settings.fps_limit":"\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u043A\u0430\u0434\u0440\u0456\u0432/\u0441","settings.fps_limit.desc":"\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u043D\u044F \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u043A\u0430\u0434\u0440\u0456\u0432 \u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0443, \u044F\u043A\u0456 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0454 Blockbench. \u0424\u0430\u043A\u0442\u0438\u0447\u043D\u0430 \u0447\u0430\u0441\u0442\u043E\u0442\u0430 \u043A\u0430\u0434\u0440\u0456\u0432 \u043E\u0431\u043C\u0435\u0436\u0435\u043D\u0430 \u0442\u0438\u043C, \u0449\u043E \u043C\u043E\u0436\u0435 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438 \u0432\u0430\u0448 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439.","settings.outliner_reveal_on_select":"\u0420\u043E\u0437\u043A\u0440\u0438\u0432\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u043F\u0440\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u0456","settings.outliner_reveal_on_select.desc":"\u0420\u043E\u0437\u043A\u0440\u0438\u0432\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443 \u043F\u0440\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u0456","settings.java_export_pivots":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442 \u0442\u043E\u0447\u043E\u043A \u043E\u0431\u0435\u0440\u0442\u0443 \u043C\u043E\u0434\u0435\u043B\u0435\u0439 \u0431\u043B\u043E\u043A\u0456\u0432/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432 Java","settings.java_export_pivots.desc":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443 \u0443 \u043C\u043E\u0434\u0435\u043B\u044F\u0445 \u0431\u043B\u043E\u043A\u0456\u0432/\u043F\u0440\u0435\u0434\u043C\u0435\u0442\u0456\u0432 Java \u043D\u0430 \u043A\u0443\u0431\u0430\u0445 \u0431\u0435\u0437 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F","animation_controllers.state.blend_transition_curve":"\u041A\u0440\u0438\u0432\u0430 \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0443 \u0437\u043C\u0456\u0448\u0443\u0432\u0430\u043D\u043D\u044F","menu.slider.reset_vector":"\u0421\u043A\u0438\u043D\u0443\u0442\u0438 \u0432\u0435\u043A\u0442\u043E\u0440","dialog.blend_transition_edit.extended":"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0438\u0439 \u0433\u0440\u0430\u0444\u0456\u043A","message.screenshot_too_large.title":"\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u0437 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E \u0437\u043D\u0456\u043C\u043A\u0430 \u0435\u043A\u0440\u0430\u043D\u0430","message.screenshot_too_large.message":"\u0417\u043D\u0456\u043C\u043E\u043A \u0435\u043A\u0440\u0430\u043D\u0430 \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0443\u0441\u043F\u0456\u0448\u043D\u043E \u0437\u0440\u043E\u0431\u0438\u0442\u0438. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0449\u0435 \u0440\u0430\u0437 \u0437 \u043C\u0435\u043D\u0448\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E \u0430\u0431\u043E \u0431\u0435\u0437 \u0441\u0443\u043F\u0435\u0440\u0434\u0438\u0441\u043A\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0456\u0457.","message.rename_elements.numbering":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u043C\u0438 \u0441\u0438\u043C\u0432\u043E\u043B\u0430\u043C\u0438 \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0440\u044F\u0434\u043A\u043E\u0432\u0438\u0445 \u043D\u043E\u043C\u0435\u0440\u0456\u0432: % \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F \u0456\u043D\u0434\u0435\u043A\u0441\u0443 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0456 \u0433\u0440\u0443\u043F\u0438, $ \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F \u0456\u043D\u0434\u0435\u043A\u0441\u0443 \u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F.","generic.edit_externally":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u0437\u043E\u0432\u043D\u0456","message.settings_require_restart.title":"\u041F\u043E\u0442\u0440\u0456\u0431\u0435\u043D \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A","message.settings_require_restart.message":"\u0414\u0435\u044F\u043A\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0431\u0443\u0434\u0443\u0442\u044C \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0430\u043D\u0456 \u043B\u0438\u0448\u0435 \u043F\u0456\u0441\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0443.","message.settings_require_restart.restart_now":"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0438","message.settings_require_restart.restart_later":"\u041F\u0456\u0437\u043D\u0456\u0448\u0435","message.classroom_mode.install_plugin":"\u041D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u0432 \u0440\u0435\u0436\u0438\u043C\u0456 \u043A\u043B\u0430\u0441\u0443","dialog.collection.export_path":"\u0428\u043B\u044F\u0445 \u0434\u043B\u044F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443","dialog.collection.select_all":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0432\u0441\u0435","dialog.collection.select_none":"\u0417\u043D\u044F\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","dialog.collection.add_with_filter":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0437 \u0444\u0456\u043B\u044C\u0442\u0440\u043E\u043C","dialog.collection.remove":"\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438","dialog.material_config.title":"\u041A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044F \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0443","dialog.material_config.color_value":"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443","dialog.material_config.mer":"\u041C\u0435\u0442\u0430\u043B\u0456\u0447\u043D\u0456\u0441\u0442\u044C\u2014\u0421\u0432\u0456\u0442\u043D\u0456\u0441\u0442\u044C\u2014\u0428\u043E\u0440\u0441\u0442\u043A\u0456\u0441\u0442\u044C","dialog.material_config.mer_value":"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u041C\u0421\u0428","dialog.material_config.depth_type":"\u0422\u0438\u043F \u0433\u043B\u0438\u0431\u0438\u043D\u0438","dialog.create_texture.disable_mirror_uv":"\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0432\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043D\u044F UV","dialog.create_texture.disable_mirror_uv.desc":"\u0412\u0438\u043C\u043A\u043D\u0456\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \xAB\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0435\u043D\u043D\u044F UV\xBB \u0443 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u043E\u043C\u0443 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u0456 \u0437\u0430\u0434\u043B\u044F \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043D\u044F \u043E\u043A\u0440\u0435\u043C\u0438\u0445 UV \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0457 \u0433\u0440\u0430\u043D\u0456 \u043C\u043E\u0434\u0435\u043B\u0456","dialog.create_gif.turn.sync_to_anim_length":"\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u0434\u043E\u0432\u0436\u0438\u043D\u0438 \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","settings.category.controls":"\u041A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F","settings.classroom_mode":"\u0420\u0435\u0436\u0438\u043C \u043A\u043B\u0430\u0441\u0443","settings.classroom_mode.desc":"\u041E\u0431\u043C\u0435\u0436\u0443\u0454 \u0444\u0443\u043D\u043A\u0446\u0456\u043E\u043D\u0430\u043B\u044C\u043D\u0456\u0441\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432, \u0456 \u0432\u0438\u0434\u0430\u043B\u044F\u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u0441\u043E\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043C\u0435\u0440\u0435\u0436\u0456","settings.antialiasing_bleed_fix":"\u0412\u0438\u043F\u0440\u0430\u0432\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0438\u0442\u0442\u044F \u043F\u0440\u0438 \u0437\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u043D\u043D\u0456","settings.antialiasing_bleed_fix.desc":"\u0412\u0438\u043F\u0440\u0430\u0432\u043B\u044F\u0454 \u0440\u043E\u0437\u043C\u0438\u0442\u0442\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u043D\u043D\u044F","settings.tone_mapping":"\u041C\u0430\u043F\u0443\u0432\u0430\u043D\u043D\u044F \u0442\u043E\u043D\u0443","settings.tone_mapping.desc":"\u041C\u0435\u0442\u043E\u0434 \u043D\u0430\u0431\u043B\u0438\u0436\u0435\u043D\u043D\u044F \u0434\u043B\u044F \u043F\u043E\u043A\u0430\u0437\u0443 \u0432\u0438\u0441\u043E\u043A\u043E\u0433\u043E \u0434\u0438\u043D\u0430\u043C\u0456\u0447\u043D\u043E\u0433\u043E \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D\u0443 \u043D\u0430 \u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E\u043C\u0443 \u0435\u043A\u0440\u0430\u043D\u0456 \u0434\u043B\u044F \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u0457 PBR.","settings.audio_scrubbing":"\u0417\u0432\u0443\u043A\u043E\u0432\u0438\u0439 \u0441\u0443\u043F\u0440\u043E\u0432\u0456\u0434 \u0447\u0430\u0441\u043E\u0432\u043E\u0457 \u0448\u043A\u0430\u043B\u0438","settings.audio_scrubbing.desc":"\u0412\u0456\u0434\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043A\u043E\u0440\u043E\u0442\u043A\u0456 \u043F\u0440\u0435\u0432\u2019\u044E \u0430\u0443\u0434\u0456\u043E \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u0456\u0439 \u0448\u043A\u0430\u043B\u0456","settings.viewport_rotate_speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u044F \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","settings.viewport_rotate_speed.desc":"\u0427\u0443\u0442\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043F\u0440\u0438 \u043E\u0431\u0435\u0440\u0442\u0430\u043D\u043D\u0456 \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","settings.viewport_zoom_speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","settings.viewport_zoom_speed.desc":"\u0427\u0443\u0442\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043F\u0440\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u0456 \u0443 \u0432\u0456\u043A\u043D\u0456 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","settings.editor_2d_zoom_speed":"\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u0443 2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0456","settings.editor_2d_zoom_speed.desc":"\u0427\u0443\u0442\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u043F\u0440\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u0456 \u0443 2D \u0442\u0430 UV \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430\u0445","category.select":"\u0412\u0438\u0434\u0456\u043B\u0438\u0442\u0438","action.vertex_snap_mode.rotate":"\u041E\u0431\u0435\u0440\u043D\u0443\u0442\u0438","action.export_image":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.export_image.desc":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u044F\u043A \u0444\u0430\u0439\u043B \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F","action.apply_mirror_modeling":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F","action.apply_mirror_modeling.desc":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u043C\u043E\u0434\u0435\u043B\u044E\u0432\u0430\u043D\u043D\u044F \u0434\u043E \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F. \u0423\u0441\u0456 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0431\u0443\u0434\u0435 \u0441\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E \u0456 \u043F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u043E \u0432\u0437\u0434\u043E\u0432\u0436 \u043E\u0441\u0456 X.","action.create_collection":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u044E","action.create_collection.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u044E \u0437 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0443 \u043F\u043B\u0430\u043D\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0443","action.set_collection_content_to_selection":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0432\u043C\u0456\u0441\u0442\u043E\u043C \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u0457","action.set_collection_content_to_selection.desc":"\u0417\u0440\u043E\u0431\u0438\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0443\u043F\u0438 \u0442\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u044F\u043A \u0432\u043C\u0456\u0441\u0442 \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u0457","action.add_to_collection":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F \u0434\u043E \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u0457","action.add_to_collection.desc":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0433\u0440\u0443\u043F\u0438 \u0442\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0434\u043E \u043A\u043E\u043B\u0435\u043A\u0446\u0456\u0457","action.view_mode.material":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B\u0443","action.create_material":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B","action.create_material.desc":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u043C\u0430\u0442\u0435\u0440\u0456\u0430\u043B PBR \u0437 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","action.generate_pbr_map":"\u0417\u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u043F\u0443 PBR...","action.generate_pbr_map.desc":"\u0417\u0433\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u043F\u0443 PBR (\u043C\u0430\u043F\u0443 \u0432\u0438\u0441\u043E\u0442 \u0430\u0431\u043E \u043C\u0430\u043F\u0443 \u043C\u0435\u0442\u0430\u043B\u0435\u0432\u043E\u0441\u0442\u0456, \u0441\u0432\u0456\u0442\u043D\u043E\u0441\u0442\u0456, \u0448\u043E\u0440\u0441\u0442\u043A\u043E\u0441\u0442\u0456) \u0437 \u043D\u0430\u044F\u0432\u043D\u043E\u0457 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0438","menu.tools.main_tools":"\u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438","menu.view.panels":"\u041F\u0430\u043D\u0435\u043B\u0456","menu.texture.pbr_channel":"\u041A\u0430\u043D\u0430\u043B PBR","menu.texture.pbr_channel.color":"\u041A\u043E\u043B\u0456\u0440","menu.texture.pbr_channel.normal":"\u041D\u043E\u0440\u043C\u0430\u043B\u044C","menu.texture.pbr_channel.height":"\u0412\u0438\u0441\u043E\u0442\u0430","menu.texture.pbr_channel.mer":"\u041C\u0421\u0428 (\u041C\u0435\u0442\u0430\u043B\u0456\u0447\u043D\u0456\u0441\u0442\u044C\u2014\u0421\u0432\u0456\u0442\u043D\u0456\u0441\u0442\u044C\u2014\u0428\u043E\u0440\u0441\u0442\u043A\u0456\u0441\u0442\u044C)","menu.texture.pbr_channel.mer_subsurface":"\u041F\u0456\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u0435\u0432\u0435 \u041C\u0421\u0428","menu.collection.export_project":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u043F\u0440\u043E\u0454\u043A\u0442","menu.collection.export_as":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u044F\u043A \xAB%0\xBB","menu.panel.enable":"\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438","menu.panel.move_to":"\u041F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0434\u043E","menu.panel.move_to.left_bar":"\u041B\u0456\u0432\u043E\u0457 \u0431\u043E\u043A\u043E\u0432\u043E\u0457 \u043F\u0430\u043D\u0435\u043B\u0456","menu.panel.move_to.right_bar":"\u041F\u0440\u0430\u0432\u043E\u0457 \u0431\u043E\u043A\u043E\u0432\u043E\u0457 \u043F\u0430\u043D\u0435\u043B\u0456","menu.panel.move_to.top":"\u0412\u0435\u0440\u0445\u0443","menu.panel.move_to.bottom":"\u041D\u0438\u0437\u0443","menu.panel.move_to.float":"\u0421\u043F\u043B\u0430\u0432\u043D\u0435","menu.panel.move_to.hidden":"\u0421\u0445\u043E\u0432\u0430\u0442\u0438","menu.panel.fold":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438","menu.mirror_painting.texture_center":"\u041F\u043E\u0445\u043E\u0434\u0436\u0435\u043D\u043D\u044F","menu.mirror_modeling.mirror_uv":"\u0412\u0456\u0434\u0434\u0437\u0435\u0440\u043A\u0430\u043B\u0438\u0442\u0438 UV","menu.animation_onion_skin.frames":"\u041A\u0430\u0434\u0440\u0438","menu.animation_onion_skin.select":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438","menu.animation_onion_skin.previous":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456","menu.animation_onion_skin.next":"\u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0456","menu.animation_onion_skin.previous_next":"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456 + \u041D\u0430\u0441\u0442\u0443\u043F\u043D\u0456","menu.animation_onion_skin.count":"\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C","menu.animation_onion_skin.interval":"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B","menu.animation_onion_skin_selective":"\u0412\u0438\u0434\u0456\u043B\u0435\u043D\u0456 \u0444\u0430\u043D\u0442\u043E\u043C \u043A\u0430\u0434\u0440\u0438","menu.animation_onion_skin_selective.desc":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u0444\u0430\u043D\u0442\u043E\u043C \u043A\u0430\u0434\u0440\u0438 \u0434\u043B\u044F \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E\u0457 \u0447\u0430\u0441\u0442\u0438\u043D\u0438 \u043C\u043E\u0434\u0435\u043B\u0456","edit.loop_cut.unit":"\u041E\u0434\u0438\u043D\u0438\u0446\u044F","edit.loop_cut.unit.size_units":"\u041E\u0434\u0438\u043D\u0438\u0446\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0443","edit.loop_cut.unit.percent":"\u0412\u0456\u0434\u0441\u043E\u0442\u043E\u043A","edit.extrude_mesh_selection.direction":"\u041D\u0430\u043F\u0440\u044F\u043C\u043E\u043A","edit.extrude_mesh_selection.direction.outwards":"\u041D\u0430\u0437\u043E\u0432\u043D\u0456","edit.extrude_mesh_selection.direction.average":"\u0421\u0435\u0440\u0435\u0434\u043D\u0456\u0439","edit.extrude_mesh_selection.even_extend":"\u0420\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0435 \u0440\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u043D\u044F","edit.vertex_snap.align":"\u0412\u0438\u0440\u0456\u0432\u043D\u044F\u0442\u0438","edit.vertex_snap.align.longest":"\u041D\u0430\u0439\u0434\u043E\u0432\u0448\u0430 \u0432\u0456\u0441\u044C","edit.vertex_snap.align.direction":"\u041D\u0430\u043F\u0440\u044F\u043C\u043E\u043A \u0432\u0456\u0434 \u0442\u043E\u0447\u043A\u0438 \u043E\u0431\u0435\u0440\u0442\u0443","edit.vertex_snap.align.align_axis":"\u0412\u0456\u0441\u044C %0","edit.vertex_snap.ignore_axis":"\u0406\u0433\u043D\u043E\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0441\u044C","codec.common.format":"\u0424\u043E\u0440\u043C\u0430\u0442","codec.image.quality":"\u042F\u043A\u0456\u0441\u0442\u044C","panel.collections":"\u041A\u043E\u043B\u0435\u043A\u0446\u0456\u0457","modifier_actions.always":"\u0417\u0430\u0432\u0436\u0434\u0438 \u0432\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043E","modifier_actions.unless":"\u0425\u0456\u0431\u0430 \u0449\u043E %0","settings.undo_selections":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","settings.undo_selections.desc":"\u0412\u0456\u0434\u0441\u0442\u0435\u0436\u0443\u0432\u0430\u0442\u0438 \u0437\u043C\u0456\u043D\u0438 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u044C \u044F\u043A \u043A\u0440\u043E\u043A \u0432 \u0456\u0441\u0442\u043E\u0440\u0456\u0457 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u043D\u044C","action.focus_on_selection.zoom":"\u041F\u0456\u0434\u0456\u0433\u043D\u0430\u0442\u0438 \u043C\u0430\u0441\u0448\u0442\u0430\u0431","display.reference.tooting":"\u041F\u043E\u043A\u0430\u0437 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F","settings.selection_tolerance":"\u0422\u043E\u043B\u0435\u0440\u0430\u043D\u0442\u043D\u0456\u0441\u0442\u044C \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043D\u044F","settings.selection_tolerance.desc":"\u0420\u043E\u0437\u043C\u0456\u0440 \u043E\u0431\u043B\u0430\u0441\u0442\u0456, \u044F\u043A\u0443 \u043C\u043E\u0436\u043D\u0430 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438, \u0449\u043E\u0431 \u0432\u0438\u0434\u0456\u043B\u0438\u0442\u0438 \u0440\u0435\u0431\u0440\u043E \u0430\u0431\u043E \u0432\u0435\u0440\u0448\u0438\u043D\u0443","action.delete.keep_vertices":"\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0440\u0435\u0431\u0440\u0430/\u0432\u0435\u0440\u0448\u0438\u043D\u0438","menu.mesh":"\u0421\u0456\u0442\u043A\u0430","dialog.material_config.subsurface":"\u041F\u0456\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u0435\u0432\u0435 \u0440\u043E\u0437\u0441\u0456\u044E\u0432\u0430\u043D\u043D\u044F","dialog.material_config.subsurface_enabled.desc":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0430\u043B\u044C\u0444\u0430-\u043A\u0430\u043D\u0430\u043B \u043C\u0430\u043F\u0438 \u041C\u0421\u0428 \u0434\u043B\u044F \u043F\u0456\u0434\u043F\u043E\u0432\u0435\u0440\u0445\u043D\u0435\u0432\u043E\u0433\u043E \u0440\u043E\u0437\u0441\u0456\u044E\u0432\u0430\u043D\u043D\u044F","settings.pick_combined_color":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440","settings.pick_combined_color.desc":"\u0412\u0438\u0431\u0438\u0440\u0430\u0442\u0438 \u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0437 \u0443\u0441\u0456\u0445 \u0448\u0430\u0440\u0456\u0432 \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u043E\u043C\u0443 \u043F\u0456\u043A\u0441\u0435\u043B\u0456 \u0437\u0430\u043C\u0456\u0441\u0442\u044C \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0437 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0448\u0430\u0440\u0443","action.split_rgb_into_layers":"\u0420\u043E\u0437\u0434\u0456\u043B\u0438\u0442\u0438 \u043A\u0430\u043D\u0430\u043B\u0438 RGB \u043D\u0430 \u0448\u0430\u0440\u0438","action.split_rgb_into_layers.desc":"\u0420\u043E\u0437\u0434\u0456\u043B\u044F\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u043D\u0430 \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0456 \u0448\u0430\u0440\u0438, \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443 \u0434\u043B\u044F \u043A\u043E\u0436\u043D\u043E\u0433\u043E \u043A\u0430\u043D\u0430\u043B\u0443 RGB.","dialog.project.java_block_version":"\u0424\u043E\u0440\u043C\u0430\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0432\u0435\u0440\u0441\u0456\u0457","data.spline_mesh":"\u0421\u043F\u043B\u0430\u0439\u043D","data.billboard":"\u0411\u0456\u043B\u0431\u043E\u0440\u0434","data.armature":"\u0421\u043A\u0435\u043B\u0435\u0442","data.armature_bone":"\u041A\u0456\u0441\u0442\u043A\u0430 \u0441\u043A\u0435\u043B\u0435\u0442\u0443","generic.reload":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"\u041E\u0431\u0440\u0430\u0442\u0438 \u043A\u0456\u0441\u0442\u043A\u0443","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u0438","dialog.add_spline.shape":"\u0424\u043E\u0440\u043C\u0430","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"\u041A\u043E\u043B\u043E","dialog.add_spline.diameter":"\u0414\u0456\u0430\u043C\u0435\u0442\u0440","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"\u0414\u043E\u0432\u0436\u0438\u043D\u0430","dialog.add_spline.width":"\u0428\u0438\u0440\u0438\u043D\u0430","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"\u041C\u0456\u043D\u0456\u043C\u0456\u0437\u0443\u0432\u0430\u0442\u0438","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"\u0424\u043E\u043D","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"\u0421\u0432\u0456\u0439 \u043A\u043E\u043B\u0456\u0440","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"\u0420\u0430\u0434\u0456\u0443\u0441 \u0441\u043F\u043B\u0430\u0439\u043D\u0443","action.slider_spline_radius.desc":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u0430\u0434\u0456\u0443\u0441 \u0441\u043F\u043B\u0430\u0439\u043D\u0443","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"\u0417\u0430\u0441\u0432\u0456\u0442\u043B\u0435\u043D\u043D\u044F","action.blend_mode.darken":"\u0417\u0430\u0442\u0435\u043C\u043D\u0435\u043D\u043D\u044F","action.weight_brush":"\u041F\u0435\u043D\u0437\u0435\u043B\u044C \u0432\u0430\u0433","action.weight_brush.desc":"\u0417\u0430\u0444\u0430\u0440\u0431\u0443\u0432\u0430\u0442\u0438 \u0432\u0430\u0433\u0438 \u0432\u0435\u0440\u0448\u0438\u043D \u043D\u0430 \u043C\u0435\u0448\u0430\u0445 \u0434\u043B\u044F \u0434\u0435\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0439 \u0441\u043A\u0435\u043B\u0435\u0442\u0443","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043E\u0437\u0443","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0432\u043B\u0430\u0441\u043D\u0443 \u043F\u043E\u0437\u0443","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0441\u043F\u043B\u0430\u0439\u043D","action.add_spline.desc":"\u0414\u043E\u0434\u0430\u0454 \u043D\u043E\u0432\u0438\u0439 \u0441\u043F\u043B\u0430\u0439\u043D","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0441\u043A\u0435\u043B\u0435\u0442","action.add_armature.desc":"\u0414\u043E\u0434\u0430\u0454 \u0441\u043A\u0435\u043B\u0435\u0442, \u044F\u043A\u0438\u0439 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0434\u0435\u0444\u043E\u0440\u043C\u0443\u0432\u0430\u0442\u0438 \u043C\u0435\u0448 \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E \u0430\u043D\u0456\u043C\u0430\u0446\u0456\u0457","action.add_armature_bone":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043A\u0456\u0441\u0442\u043A\u0443 \u0441\u043A\u0435\u043B\u0435\u0442\u0443","action.add_armature_bone.desc":"\u0414\u043E\u0434\u0430\u0454 \u043A\u0456\u0441\u0442\u043A\u0443 \u0434\u043E \u0441\u043A\u0435\u043B\u0435\u0442\u0443","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"\u0413\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u044F","action.spline_render_mode.mesh":"\u041C\u0435\u0448","action.spline_render_mode.path":"\u0428\u043B\u044F\u0445","action.spline_render_mode.desc":"\u042F\u043A\u0443 \u0433\u0435\u043E\u043C\u0435\u0442\u0440\u0456\u044E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0454 \u0446\u0435\u0439 \u0441\u043F\u043B\u0430\u0439\u043D","action.spline_uv_mode":"\u0421\u0442\u0438\u043B\u044C UV","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"\u0420\u0456\u0432\u043D\u043E\u043C\u0456\u0440\u043D\u0438\u0439","action.spline_uv_mode.per_segment":"\u041F\u043E\u0441\u0435\u0433\u043C\u0435\u043D\u0442\u043D\u043E","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0432\u0430\u0433\u0443 \u0432\u0435\u0440\u0448\u0438\u043D","action.set_vertex_weights.desc":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0432\u0430\u0433\u0438 \u0432\u0438\u0431\u0440\u0430\u043D\u0438\u0445 \u0432\u0435\u0440\u0448\u0438\u043D \u043D\u0430 \u043F\u0435\u0432\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043D\u0430 \u043F\u0435\u0432\u043D\u0456\u0439 \u043A\u0456\u0441\u0442\u0446\u0456 \u0441\u043A\u0435\u043B\u0435\u0442\u0443","action.calculate_vertex_weights":"\u0420\u043E\u0437\u0440\u0430\u0445\u0443\u0432\u0430\u0442\u0438 \u0432\u0430\u0433\u0438 \u0432\u0435\u0440\u0448\u0438\u043D","action.calculate_vertex_weights.desc":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0432\u0430\u0433\u0438 \u0432\u0435\u0440\u0448\u0438\u043D\u0430\u043C \u0441\u043F\u0438\u0440\u0430\u044E\u0447\u0438\u0441\u044C \u043D\u0430 \u043F\u043E\u0437\u0438\u0446\u0456\u044F\u0445 \u043A\u0456\u0441\u0442\u043E\u043A","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"\u0412\u0430\u0433\u0430 \u0432\u0435\u0440\u0448\u0438\u043D","action.view_mode.weighted_bone_colors":"\u041A\u043E\u043B\u044C\u043E\u0440\u0438 \u043A\u0456\u0441\u0442\u043E\u043A \u0432\u0435\u0440\u0448\u0438\u043D","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"\u041A\u0430\u0440\u0442\u0430 \u043D\u043E\u0440\u043C\u0430\u043B\u0435\u0439","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u044F\u043A","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"\u0417\u0430\u0442\u0456\u043D\u0435\u043D\u043D\u044F","mesh.shading.flat":"\u041F\u043B\u0430\u0441\u043A\u043E","mesh.shading.smooth":"\u041F\u043B\u0430\u0432\u043D\u043E","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"\u0417'\u0454\u0434\u043D\u0430\u043D\u043E","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"\u0414\u043E\u0434\u0430\u0442\u0438 \u044F\u043A \u0448\u0430\u0440","message.load_images.category.add_to_project":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u043F\u0440\u043E\u0454\u043A\u0442\u0443","message.load_images.category.new_project":"\u041D\u043E\u0432\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","message.load_palette.title":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0430\u043B\u0456\u0442\u0440\u0443","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"\u0412\u0430\u0433\u0430","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"\u041F\u043B\u0430\u0441\u043A\u043E","spline.shading.smooth":"\u041F\u043B\u0430\u0432\u043D\u043E","spline.shading":"\u0417\u0430\u0442\u0456\u043D\u0435\u043D\u043D\u044F","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438","action.weight_brush_blend_mode.add":"\u0414\u043E\u0434\u0430\u0442\u0438","action.apply_texture_to_elements":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0434\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","action.apply_texture_to_elements.desc":"\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u043E\u0431\u0440\u0430\u043D\u0443 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0443 \u0434\u043E \u043E\u0431\u0440\u0430\u043D\u0438\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","menu.panel.reset_size":"\u0417\u043A\u0438\u043D\u0443\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440","action.import_layer":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0448\u0430\u0440","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0457\u043B","layout.version":"\u0412\u0435\u0440\u0441\u0456\u044F","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0438\u0439 Bedrock \u0444\u043E\u0440\u043C\u0430\u0442","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0438\u0439 \u043F\u0440\u043E\u0454\u043A\u0442","message.recover_backup.discard_others":"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0456\u043D\u0448\u0456","message.unsupported_file_extension.title":"\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0443 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u043C\u0456\u0440 UV","dialog.edit_uv_size.target":"\u0426\u0456\u043B\u044C","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"\u0422\u0435\u043A\u0441\u0442\u0443\u0440\u0438","dialog.adjust_brightness_contrast.brightness":"\u042F\u0441\u043A\u0440\u0430\u0432\u0456\u0441\u0442\u044C","dialog.adjust_brightness_contrast.contrast":"\u041A\u043E\u043D\u0442\u0440\u0430\u0441\u0442","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"\u0420\u0435\u0436\u0438\u043C","dialog.adjust_opacity.mode.multiply":"\u041C\u043D\u043E\u0436\u0438\u0442\u0438","dialog.adjust_opacity.mode.set":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438","dialog.bedrock_bounding_box.type":"\u0422\u0438\u043F","dialog.bedrock_bounding_box.type.collision_box":"\u0417\u0456\u0442\u043A\u043D\u0435\u043D\u043D\u044F","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"\u0413\u0456\u0442\u0431\u043E\u043A\u0441","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"ID \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"\u041F\u043E\u043A\u0430\u0437 UV \u0433\u0440\u0430\u043D\u0435\u0439","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0431\u0440\u0430\u043D\u0456 \u0433\u0440\u0430\u043D\u0456","settings.display_uv.selected_elements":"\u0412\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u043E\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0443","settings.display_uv.all_elements":"\u0412\u0441\u0456 \u0433\u0440\u0430\u043D\u0456 \u0432\u0441\u0456\u0445 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434","keybind.uv_editor_scroll_zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 UV/2D \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"\u041C\u0435\u043D\u044E","action.copy_installed_plugins":"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0438","action.copy_installed_plugins.desc":"\u0413\u0435\u043D\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u0442\u0430 \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u043B\u0456\u043A \u0432\u0441\u0456\u0445 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0445 \u043F\u043B\u0430\u0433\u0456\u043D\u0456\u0432","action.install_plugins_from_list":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u0437 \u043F\u0435\u0440\u0435\u043B\u0456\u043A\u0443","action.install_plugins_from_list.desc":"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u043B\u0430\u0433\u0456\u043D\u0438 \u0437\u0430 \u043F\u0435\u0440\u0435\u043B\u0456\u043A\u043E\u043C \u0457\u0445 ID","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"\u0414\u0437\u0435\u0440\u043A\u0430\u043B\u044C\u043D\u0435 \u0430\u043D\u0456\u043C\u0443\u0432\u0430\u043D\u043D\u044F","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0443","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var VL={"dialog.ok":"OK","dialog.cancel":"Hu\u1EF7 b\u1ECF","dialog.confirm":"X\xE1c nh\u1EADn","dialog.close":"\u0110\xF3ng","dialog.import":"Nh\u1EADp","dialog.save":"L\u01B0u","dialog.discard":"B\u1ECF qua","dialog.dontshowagain":"Kh\xF4ng hi\u1EC3n th\u1ECB l\u1EA1i","data.cube":"Kh\u1ED1i","data.group":"Nh\xF3m","data.texture":"Texture","data.plugin":"Plugin","data.preview":"Xem tr\u01B0\u1EDBc","data.toolbar":"Thanh c\xF4ng c\u1EE5","data.image":"H\xECnh \u1EA3nh","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Xo\xE1","keys.space":"Ph\xEDm c\xE1ch","keys.leftclick":"Chu\u1ED9t tr\xE1i","keys.middleclick":"N\xFAt gi\u1EEFa","keys.rightclick":"Chu\u1ED9t ph\u1EA3i","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"Ph\xEDm s\u1ED1 %0","keys.caps":"Capslock","keys.menu":"Menu ng\u1EEF c\u1EA3nh","keys.left":"Tr\xE1i","keys.up":"Tr\xEAn","keys.right":"Ph\u1EA3i","keys.down":"D\u01B0\u1EDBi","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"C\u1ED9ng","keys.comma":"Ph\u1EA9y","keys.point":"Ch\u1EA5m","keys.minus":"Tr\u1EEB","keys.cross":"N\xFAt ch\xE9o","keys.end":"End","keys.pos1":"Home","keys.printscreen":"In m\xE0n h\xECnh","keys.pause":"D\u1EEBng","message.rotation_limit.title":"Gi\u1EDBi h\u1EA1n quay","message.rotation_limit.message":'Vi\u1EC7c quay b\u1ECB Minecraft gi\u1EDBi h\u1EA1n v\u1EC1 m\u1ED9t tr\u1EE5c. N\u1EBFu quay tr\xEAn m\u1ED9t tr\u1EE5c kh\xE1c s\u1EBD x\xF3a h\u1EBFt t\u1EA5t c\u1EA3 s\u1EF1 quay hi\u1EC7n c\xF3 \u1EDF c\xE1c tr\u1EE5c kh\xE1c. H\xE3y chuy\u1EC3n \u0111\u1ED5i m\xF4 h\xECnh th\xE0nh "M\xF4 h\xECnh t\u1EF1 do" n\u1EBFu b\u1EA1n \u0111ang t\u1EA1o m\xF4 h\xECnh cho c\xE1c m\u1EE5c \u0111\xEDch kh\xE1c v\xE0 c\u1EA7n s\u1EF1 quay t\u1EF1 do.',"message.file_not_found.title":"Kh\xF4ng t\xECm th\u1EA5y T\u1EC7p","message.file_not_found.message":"Blockbench kh\xF4ng th\u1EC3 t\xECm \u0111\u01B0\u1EE3c t\u1EC7p \u0111\u01B0\u1EE3c y\xEAu c\u1EA7u. H\xE3y \u0111\u1EA3m b\u1EA3o r\u1EB1ng n\xF3 \u0111\u01B0\u1EE3c l\u01B0u tr\xEAn m\xE1y v\xE0 kh\xF4ng ph\u1EA3i trong h\u1EC7 th\u1ED1ng cloud.","message.screenshot.title":"Ch\u1EE5p \u1EA3nh m\xE0n h\xECnh","message.screenshot.clipboard":"B\u1EA3ng t\u1EA1m","message.screenshot.right_click":"Nh\u1EA5n chu\u1ED9t ph\u1EA3i ho\u1EB7c nh\u1EA5n gi\u1EEF \u1EA3nh \u0111\u1EC3 sao ch\xE9p","message.invalid_file.title":"T\u1EC7p kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_file.message":"Kh\xF4ng th\u1EC3 m\u1EDF t\u1EC7p json: %0","message.invalid_model.title":"T\u1EC7p M\xF4 h\xECnh kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_model.message":"T\u1EC7p n\xE0y kh\xF4ng ch\u1EE9a d\u1EEF li\u1EC7u m\xF4 h\xECnh h\u1EE3p l\u1EC7","message.child_model_only.title":"M\xF4 h\xECnh con r\u1ED7ng","message.child_model_only.message":"\u0110\xE2y l\xE0 m\u1ED9t t\u1EC7p con c\u1EE7a %0 v\xE0 kh\xF4ng ch\u1EE9a m\xF4 h\xECnh n\xE0o","message.unsaved_textures.title":"Texture ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u","message.unsaved_textures.message":"M\xF4 h\xECnh c\u1EE7a b\u1EA1n c\xF2n c\xF3 nh\u1EEFng Texture ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u. H\xE3y \u0111\u1EA3m b\u1EA3o vi\u1EC7c l\u01B0u ch\xFAng v\xE0 \u0111\u01B0a ch\xFAng v\xE0o t\u1EADp t\xE0i nguy\xEAn c\u1EE7a b\u1EA1n trong \u0111\xFAng th\u01B0 m\u1EE5c.","message.model_clipping.title":"M\xF4 h\xECnh qu\xE1 l\u1EDBn","message.model_clipping.message":"M\xF4 h\xECnh c\u1EE7a b\u1EA1n bao g\u1ED3m %0 kh\u1ED1i l\u1EDBn h\u01A1n gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc kh\u1ED1i cho ph\xE9p c\u1EE7a Minecraft. M\xF4 h\xECnh n\xE0y s\u1EBD kh\xF4ng s\u1EED d\u1EE5ng \u0111\u01B0\u1EE3c trong Minecraft.","message.loose_texture.title":"Nh\u1EADp texture","message.loose_texture.message":"Texture \u0111\u01B0\u1EE3c nh\u1EADp kh\xF4ng n\u1EB1m trong m\u1ED9t resource pack. Minecraft ch\u1EC9 c\xF3 th\u1EC3 t\u1EA3i nh\u1EEFng texture trong th\u01B0 m\u1EE5c \u201Ctextures\u201D c\u1EE7a m\u1ED9t resource pack.","message.loose_texture.change":"Thay \u0111\u1ED5i \u0111\u01B0\u1EDDng d\u1EABn","message.update_res.title":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a texture","message.update_res.message":"B\u1EA1n c\xF3 mu\u1ED1n c\u1EADp nh\u1EADt \u0111\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a to\xE0n d\u1EF1 \xE1n v\u1EC1 \u0111\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a texture n\xE0y kh\xF4ng? B\u1EA5m 'H\u1EE7y b\u1ECF' n\u1EBFu texture c\u1EE7a b\u1EA1n c\xF3 m\u1ED9t \u0111\u1ED9 ph\xE2n gi\u1EA3i ch\u1EA5t l\u01B0\u1EE3ng h\u01A1n c\u1EA3 b\xECnh th\u01B0\u1EDDng.","message.update_res.update":"C\u1EADp nh\u1EADt","message.bedrock_overwrite_error.message":"Blockbench kh\xF4ng th\u1EC3 k\u1EBFt h\u1EE3p m\xF4 h\xECnh n\xE0y v\u1EDBi t\u1EC7p c\u0169","message.bedrock_overwrite_error.backup_overwrite":"T\u1EA1o Sao l\u01B0u v\xE0 L\u01B0u \u0111\xE8","message.bedrock_overwrite_error.overwrite":"L\u01B0u \u0111\xE8","message.close_warning.message":"B\u1EA1n c\xF3 mu\u1ED1n l\u01B0u m\xF4 h\xECnh n\xE0y kh\xF4ng?","message.close_warning.web":"M\xF4 h\xECnh hi\u1EC7n t\u1EA1i c\u1EE7a b\u1EA1n \u0111ang l\xE0m d\u1EDF s\u1EBD b\u1ECB m\u1EA5t. B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn l\xE0 b\u1EA1n mu\u1ED1n tho\xE1t kh\xF4ng?","message.default_textures.title":"Texture m\u1EB7c \u0111\u1ECBnh","message.default_textures.message":'Ch\u1ECDn th\u01B0 m\u1EE5c "texture" c\u1EE7a Resource pack m\u1EB7c \u0111\u1ECBnh',"message.default_textures.detail":'Gi\u1EA3i n\xE9n Resource pack m\u1EB7c \u0111\u1ECBnh t\u1EEB t\u1EC7p jar c\u1EE7a Minecraft ho\u1EB7c t\xECm v\xE0 t\u1EA3i xu\u1ED1ng. R\u1ED3i t\xECm th\u01B0 m\u1EE5c "textures" v\xE0 m\u1EDF n\xF3 ra. Blockbench s\u1EBD ghi nh\u1EDB v\u1ECB tr\xED \u0111\xF3 v\xE0 c\u1ED1 g\u1EAFng l\u1EA5y Texture t\u1EEB \u0111\xF3 n\u1EBFu kh\xF4ng t\xECm th\u1EA5y \u0111\u01B0\u1EE3c ch\xFAng trong Resource pack hi\u1EC7n \u0111ang s\u1EED d\u1EE5ng.',"message.default_textures.select":'Ch\u1ECDn th\u01B0 m\u1EE5c "textures" m\u1EB7c \u0111\u1ECBnh',"message.image_editor.title":"Ch\u1ECDn m\u1ED9t ph\u1EA7n m\u1EC1m ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh","message.image_editor.file":"Ch\u1ECDn t\u1EC7p...","message.image_editor.exe":"Ch\u1ECDn t\u1EC7p exe c\u1EE7a ph\u1EA7n m\u1EC1m ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh","message.display_skin.title":"Skin Minecraft","message.display_skin.message":"Ch\u1ECDn m\u1ED9t t\u1EC7p skin t\u1EEB m\xE1y t\xEDnh c\u1EE7a b\u1EA1n ho\u1EB7c nh\u1EADp m\u1ED9t t\xEAn ng\u01B0\u1EDDi ch\u01A1i","message.display_skin.upload":"Ch\u1ECDn t\u1EC7p","message.display_skin.reset":"\u0110\u1EB7t l\u1EA1i","message.invalid_plugin":"T\u1EC7p Plugin kh\xF4ng h\u1EE3p l\u1EC7, xem B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n","message.load_plugin_app":"B\u1EA1n c\xF3 mu\u1ED1n cho ph\xE9p plugin n\xE0y th\u1EF1c hi\u1EC7n thay \u0111\u1ED5i tr\xEAn m\xE1y t\xEDnh b\u1EA1n kh\xF4ng? Ch\u1EC9 n\xEAn t\u1EA3i nh\u1EEFng plugin t\u1EEB nh\u1EEFng ng\u01B0\u1EDDi m\xE0 b\u1EA1n tin t\u01B0\u1EDFng.","message.load_plugin_web":"B\u1EA1n c\xF3 mu\u1ED1n t\u1EA3i plugin n\xE0y kh\xF4ng? Ch\u1EC9 n\xEAn t\u1EA3i nh\u1EEFng plugin t\u1EEB nh\u1EEFng ng\u01B0\u1EDDi m\xE0 b\u1EA1n tin t\u01B0\u1EDFng.","message.preset_no_info":"Gi\xE1 tr\u1ECB c\xE0i s\u1EB5n kh\xF4ng ch\u1EE9a th\xF4ng tin cho khe n\xE0y","message.restart_to_update":"Kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Blockbench \u0111\u1EC3 \xE1p d\u1EE5ng nh\u1EEFng thay \u0111\u1ED5i","message.save_file":"L\u01B0u d\u01B0\u1EDBi d\u1EA1ng %0","dialog.project.title":"D\u1EF1 \xE1n","dialog.project.name":"T\xEAn t\u1EC7p","dialog.project.parent":"M\xF4 h\xECnh cha","dialog.project.geoname":"\u0110\u1ECBnh danh m\xF4 h\xECnh","dialog.project.ao":"Che khu\u1EA5t m\xF4i tr\u01B0\u1EDDng (AO)","dialog.texture.title":"Texture","dialog.texture.variable":"Bi\u1EBFn s\u1ED1","dialog.texture.namespace":"Kh\xF4ng gian t\xEAn","dialog.texture.folder":"Th\u01B0 m\u1EE5c","dialog.extrude.title":"T\u1EA1o kh\u1ED1i t\u1EEB \u1EA3nh","dialog.extrude.mode":"Ch\u1EBF \u0111\u1ED9 qu\xE9t","dialog.extrude.mode.areas":"Di\u1EC7n t\xEDch","dialog.extrude.mode.lines":"\u0110\u01B0\u1EDDng th\u1EB3ng","dialog.extrude.mode.columns":"C\u1ED9t","dialog.extrude.mode.pixels":"\u0110i\u1EC3m \u1EA3nh","dialog.extrude.opacity":"\u0110\u1ED9 trong su\u1ED1t t\u1ED1i thi\u1EC3u","dialog.extrude.scan":"Qu\xE9t v\xE0 nh\u1EADp","dialog.display_preset.title":"T\u1EA1o gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","dialog.display_preset.message":"Ch\u1ECDn c\xE1c v\u1ECB tr\xED b\u1EA1n mu\u1ED1n l\u01B0u","dialog.display_preset.create":"T\u1EA1o","dialog.select.title":"Ch\u1ECDn","dialog.select.group":"Trong nh\xF3m \u0111\xE3 ch\u1ECDn","dialog.select.name":"T\xEAn c\xF3 ch\u1EE9a","dialog.select.random":"T\u1EF7 l\u1EC7 ng\u1EABu nhi\xEAn (%)","dialog.select.select":"L\u1EF1a ch\u1ECDn","dialog.scale.title":"Ch\u1EC9nh k\xEDch c\u1EE1 m\xF4 h\xECnh","dialog.scale.axis":"Tr\u1EE5c","dialog.scale.clipping":"V\u01B0\u1EE3t gi\u1EDBi h\u1EA1n m\xF4 h\xECnh: M\xF4 h\xECnh c\u1EE7a b\u1EA1n qu\xE1 l\u1EDBn so v\u1EDBi kh\xF4ng gian l\xE0m vi\u1EC7c.","dialog.scale.confirm":"\xC1p d\u1EE5ng t\u1EF7 l\u1EC7","dialog.plugins.title":"Plugin","dialog.plugins.installed":"\u0110\xE3 c\xE0i \u0111\u1EB7t","dialog.plugins.available":"C\xF3 s\u1EB5n","dialog.plugins.install":"C\xE0i \u0111\u1EB7t","dialog.plugins.uninstall":"G\u1EE1 c\xE0i \u0111\u1EB7t","dialog.plugins.reload":"T\u1EA3i l\u1EA1i","dialog.plugins.none_installed":"Kh\xF4ng c\xF3 Plugin n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","dialog.plugins.none_available":"Kh\xF4ng c\xF3 Plugin n\xE0o c\xF3 s\u1EB5n","dialog.plugins.web_only":"Ch\u1EC9 d\xF9ng cho phi\xEAn b\u1EA3n tr\xEAn web","dialog.plugins.app_only":"Ch\u1EC9 d\xF9ng cho phi\xEAn b\u1EA3n m\xE1y t\xEDnh","dialog.plugins.author":"b\u1EDFi %0","dialog.create_texture.folder":"Th\u01B0 m\u1EE5c","dialog.create_texture.resolution":"\u0110\u1ED9 ph\xE2n gi\u1EA3i","dialog.input.title":"\u0110\u1EA7u v\xE0o","dialog.settings.settings":"C\xE0i \u0111\u1EB7t","dialog.settings.keybinds":"Ph\xEDm t\u1ED5 h\u1EE3p","dialog.settings.about":"Gi\u1EDBi thi\u1EC7u","layout.color.back":"N\u1EC1n sau","layout.color.back.desc":"M\xE0u n\u1EC1n v\xE0 c\xE1c \xF4 nh\u1EADp li\u1EC7u","layout.color.dark":"T\u1ED1i","layout.color.dark.desc":"N\u1EC1n Kh\xF4ng gian l\xE0m vi\u1EC7c (Canvas)","layout.color.ui":"Giao di\u1EC7n","layout.color.ui.desc":"M\xE0u s\u1EAFc giao di\u1EC7n ch\xEDnh","layout.color.bright_ui":"Giao di\u1EC7n s\xE1ng m\xE0u","layout.color.bright_ui.desc":"Menu ng\u1EEF c\u1EA3nh v\xE0 ch\xFA gi\u1EA3i c\xF4ng c\u1EE5 (tooltip)","layout.color.button":"N\xFAt","layout.color.button.desc":"N\xFAt v\xE0 c\xF4ng t\u1EAFc","layout.color.selected":"\u0110\xE3 ch\u1ECDn","layout.color.selected.desc":"C\xE1c tab v\xE0 \u0111\u1ED1i t\u01B0\u1EE3ng \u0111\xE3 ch\u1ECDn","layout.color.border":"\u0110\u01B0\u1EDDng vi\u1EC1n","layout.color.border.desc":"\u0110\u01B0\u1EDDng vi\u1EC1n c\u1EE7a c\xE1c n\xFAt v\xE0 \xF4 nh\u1EADp li\u1EC7u","layout.color.accent":"M\xE0u nh\u1EA5n","layout.color.accent.desc":"Con tr\u01B0\u1EE3t v\xE0 c\xE1c chi ti\u1EBFt kh\xE1c","layout.color.grid":"L\u01B0\u1EDBi","layout.color.grid.desc":"L\u01B0\u1EDBi xem tr\u01B0\u1EDBc 3D","layout.color.text":"M\xE0u ch\u1EEF","layout.color.text.desc":"M\xE0u c\u1EE7a ch\u1EEF th\u01B0\u1EDDng","layout.color.light":"S\xE1ng","layout.color.light.desc":"V\u0103n b\u1EA3n \u0111\u01B0\u1EE3c l\xE0m n\u1ED5i b\u1EADt","layout.color.accent_text":"Ch\u1EEF tr\xEAn n\u1EC1n nh\u1EA5n","layout.color.accent_text.desc":"V\u0103n b\u1EA3n tr\xEAn n\u1EC1n c\xF3 m\xE0u nh\u1EA5n","layout.font.main":"Ph\xF4ng ch\u1EEF ch\xEDnh","layout.font.headline":"Ph\xF4ng ch\u1EEF ti\xEAu \u0111\u1EC1","about.version":"Phi\xEAn b\u1EA3n:","settings.category.general":"C\xE0i \u0111\u1EB7t chung","settings.category.preview":"Xem tr\u01B0\u1EDBc","settings.category.grid":"L\u01B0\u1EDBi","settings.category.edit":"Ch\u1EC9nh s\u1EEDa","settings.category.snapping":"B\u1EAFt \u0111i\u1EC3m","settings.category.defaults":"M\u1EB7c \u0111\u1ECBnh","settings.category.dialogs":"H\u1ED9p tho\u1EA1i","settings.category.export":"Xu\u1EA5t t\u1EC7p","settings.language":"Ng\xF4n ng\u1EEF","settings.language.desc":"Ng\xF4n ng\u1EEF giao di\u1EC7n","settings.backup_interval":"T\u1EA7n su\u1EA5t sao l\u01B0u","settings.backup_interval.desc":"Kho\u1EA3ng th\u1EDDi gian gi\u1EEFa m\u1ED7i l\u1EA7n sao l\u01B0u t\u1EF1 \u0111\u1ED9ng, theo ph\xFAt","settings.origin_size":"\u0110\xE1nh d\u1EA5u pivot","settings.origin_size.desc":"K\xEDch th\u01B0\u1EDBc d\u1EA5u pivot","settings.control_size":"K\xEDch th\u01B0\u1EDBc gizmo Bi\u1EBFn \u0111\u1ED5i","settings.control_size.desc":"K\xEDch th\u01B0\u1EDBc c\u1EE7a gizmo bi\u1EBFn \u0111\u1ED5i","settings.display_skin":"Hi\u1EC3n th\u1ECB Skin","settings.display_skin.desc":"Skin d\xF9ng cho m\xF4 h\xECnh ng\u01B0\u1EDDi ch\u01A1i tham chi\u1EBFu","settings.shading":"\u0110\u1ED5 b\xF3ng","settings.shading.desc":"K\xEDch ho\u1EA1t \u0110\u1ED5 b\xF3ng","settings.base_grid":"L\u01B0\u1EDBi nh\u1ECF","settings.base_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi k\xEDch c\u1EE1 nh\u1ECF v\xE0 c\xE1c tr\u1EE5c","settings.large_grid":"L\u01B0\u1EDBi kh\u1ED1i","settings.large_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi k\xEDch th\u01B0\u1EDBc kh\u1ED1i 16x16","settings.full_grid":"L\u01B0\u1EDBi kh\u1ED1i ch\xEDnh x\xE1c","settings.full_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi kh\u1ED1i ch\xEDnh x\xE1c \u0111\u1EBFn t\u1EEBng pixel","settings.large_box":"H\u1ED9p gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc","settings.large_box.desc":"Hi\u1EC3n th\u1ECB c\xE1c ranh gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc","settings.display_grid":"L\u01B0\u1EDBi trong ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB","settings.display_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi trong ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB","settings.undo_limit":"Gi\u1EDBi h\u1EA1n ho\xE0n t\xE1c","settings.undo_limit.desc":"T\u1ED5ng s\u1ED1 b\u01B0\u1EDBc m\xE0 b\u1EA1n c\xF3 th\u1EC3 ho\xE0n t\xE1c","settings.local_move":"Di chuy\u1EC3n tr\xEAn tr\u1EE5c t\u01B0\u01A1ng \u0111\u1ED1i","settings.local_move.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\u01B0\u1EE3c quay tr\xEAn tr\u1EE5c t\u01B0\u01A1ng \u0111\u1ED1i c\u1EE7a ch\xFAng n\u1EBFu c\xF3 th\u1EC3","settings.canvas_unselect":"B\u1ECF ch\u1ECDn khi nh\u1EA5p v\xE0o n\u1EC1n","settings.canvas_unselect.desc":"Hu\u1EF7 ch\u1ECDn c\xE1c ph\u1EA7n t\u1EED khi nh\u1EA5p v\xE0o n\u1EC1n","settings.paint_side_restrict":"Gi\u1EDBi h\u1EA1n c\u1ECD v\u1EBD tr\xEAn m\u1ED9t m\u1EB7t","settings.paint_side_restrict.desc":"Gi\u1EDBi h\u1EA1n c\u1ECD v\u1EBD ch\u1EC9 t\xF4 tr\xEAn m\u1EB7t hi\u1EC7n t\u1EA1i","settings.autouv":"UV t\u1EF1 \u0111\u1ED9ng","settings.autouv.desc":"K\xEDch ho\u1EA1t UV t\u1EF1 \u0111\u1ED9ng theo m\u1EB7c \u0111\u1ECBnh","settings.create_rename":"\u0110\u1ED5i t\xEAn khi t\u1EA1o ph\u1EA7n t\u1EED m\u1EDBi","settings.create_rename.desc":"T\u1EF1 \u0111\u1ED9ng tr\u1ECF v\xE0o \xF4 t\xEAn khi t\u1EA1o ph\u1EA7n t\u1EED ho\u1EB7c nh\xF3m m\u1EDBi","settings.edit_size":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi","settings.edit_size.desc":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi m\xE0 c\xE1c ph\u1EA7n t\u1EED s\u1EBD b\u1EAFt \u0111i\u1EC3m v\xE0o","settings.shift_size":"\u0110\u1ED9 ph\xE2n gi\u1EA3i (khi gi\u1EEF Shift)","settings.shift_size.desc":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi khi gi\u1EEF ph\xEDm Shift","settings.ctrl_size":"\u0110\u1ED9 ph\xE2n gi\u1EA3i (khi gi\u1EEF Ctrl)","settings.ctrl_size.desc":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi khi gi\u1EEF ph\xEDm Control","settings.negative_size":"K\xEDch c\u1EE1 \xE2m","settings.negative_size.desc":"Cho ph\xE9p c\xF4ng c\u1EE5 ch\u1EC9nh s\u1EEDa k\xEDch c\u1EE1 s\u1EED d\u1EE5ng c\xE1c k\xEDch th\u01B0\u1EDBc \xE2m","settings.minifiedout":"Xu\u1EA5t t\u1EC7p g\u1ECDn","settings.minifiedout.desc":"Th\xF4ng tin trong t\u1EC7p JSON ch\u1EC9 vi\u1EBFt tr\xEAn m\u1ED9t d\xF2ng","settings.export_groups":"Xu\u1EA5t c\xE1c nh\xF3m (Java)","settings.export_groups.desc":"L\u01B0u th\xF4ng tin v\u1EC1 nh\xF3m trong t\u1EC7p m\xF4 h\xECnh JSON (java)","settings.credit":"Ch\xFA th\xEDch ghi c\xF4ng","settings.credit.desc":"Th\xEAm m\u1ED9t c\xE2u b\xECnh lu\u1EADn n\xEAu danh \u0111\u1EC1 v\xE0o c\xE1c t\u1EC7p \u0111\u01B0\u1EE3c xu\u1EA5t","settings.default_path":"\u0110\u01B0\u1EDDng d\u1EABn texture Minecraft m\u1EB7c \u0111\u1ECBnh","settings.default_path.desc":"Th\u01B0 m\u1EE5c n\u01A1i BlockBench t\u1EA3i textures m\u1EB7c \u0111\u1ECBnh","settings.image_editor":"Ph\u1EA7n m\u1EC1m ch\u1EC9nh \u1EA3nh","settings.image_editor.desc":"Ph\u1EA7n m\u1EC1m ch\u1EC9nh \u1EA3nh m\u1EB7c \u0111\u1ECBnh \u0111\u1EC3 ch\u1EC9nh s\u1EEDa texture","category.navigate":"Di chuy\u1EC3n","category.tools":"C\xF4ng c\u1EE5","category.file":"T\u1EC7p","category.blockbench":"Blockbench","category.edit":"Ch\u1EC9nh","category.transform":"Bi\u1EBFn \u0111\u1ED5i","category.view":"G\xF3c nh\xECn","category.display":"C\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB","category.textures":"K\u1EBFt c\u1EA5u","category.misc":"T\u1EA1p","keybind.preview_select":"Ch\u1ECDn","keybind.preview_rotate":"Xoay h\u01B0\u1EDBng nh\xECn","keybind.preview_drag":"K\xE9o h\u01B0\u1EDBng nh\xECn","keybind.confirm":"X\xE1c nh\u1EADn","keybind.cancel":"Hu\u1EF7","action.slider_inflate":"L\xE0m ph\u1ED3ng to","action.slider_inflate.desc":"Ph\u1ED3ng to c\xE1c kh\u1ED1i v\u1EC1 m\u1ECDi h\u01B0\u1EDBng m\xE0 kh\xF4ng thay \u0111\u1ED5i UV","action.slider_brush_size":"K\xEDch c\u1EE1","action.slider_brush_size.desc":"B\xE1n k\xEDnh c\u1EE7a c\u1ECD v\u1EBD theo \u0111i\u1EC3m \u1EA3nh","action.slider_brush_opacity":"\u0110\u1ED9 trong su\u1ED1t","action.slider_brush_opacity.desc":"\u0110\u1ED9 trong su\u1ED1t c\u1EE7a c\u1ECD v\u1EBD theo ph\u1EA7n tr\u0103m","action.slider_brush_softness":"\u0110\u1ED9 m\u1EC1m m\u1EA1i","action.slider_brush_softness.desc":"\u0110\u1ED9 m\u1EC1m c\u1EE7a c\u1ECD v\u1EBD theo ph\u1EA7n tr\u0103m","action.uv_slider_pos_x":"Di chuy\u1EC3n theo chi\u1EC1u ngang","action.uv_slider_pos_x.desc":"Di chuy\u1EC3n UV c\u1EE7a c\xE1c kh\u1ED1i \u0111\xE3 ch\u1ECDn theo chi\u1EC1u ngang","action.uv_slider_pos_y":"Di chuy\u1EC3n theo chi\u1EC1u ngang","action.uv_slider_pos_y.desc":"Di chuy\u1EC3n UV c\u1EE7a c\xE1c kh\u1ED1i \u0111\xE3 ch\u1ECDn theo chi\u1EC1u ngang","action.uv_slider_size_x":"Thay \u0111\u1ED5i t\u1EC9 l\u1EC7 theo chi\u1EC1u d\u1ECDc","action.uv_slider_size_x.desc":"Thay \u0111\u1ED5i t\u1EC9 l\u1EC7 UV c\u1EE7a c\xE1c kh\u1ED1i \u0111\u01B0\u1EE3c ch\u1ECDn theo chi\u1EC1u ngang","action.uv_slider_size_y":"Thay \u0111\u1ED5i t\u1EC9 l\u1EC7 theo chi\u1EC1u ngang","action.uv_slider_size_y.desc":"Thay \u0111\u1ED5i t\u1EC9 l\u1EC7 UV c\u1EE7a c\xE1c kh\u1ED1i \u0111\u01B0\u1EE3c ch\u1ECDn theo chi\u1EC1u ngang","action.vertex_snap_mode":"Ch\u1EBF \u0111\u1ED9 n\u1ED1i","action.vertex_snap_mode.desc":"L\u1EF1a ch\u1ECDn n\u1EBFu N\u1ED1i \u0111\u1EC9nh s\u1EBD di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\u1EBFn v\u1ECB tr\xED \u0111\xE3 ch\u1ECDn hay \u0111\u1ED5i k\xEDch c\u1EE1 c\u1EE7a ch\xFAng","action.move_tool":"Di chuy\u1EC3n","action.move_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 ch\u1ECDn v\xE0 di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED","action.resize_tool":"Ch\u1EC9nh k\xEDch c\u1EE1","action.resize_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 ch\u1ECDn v\xE0 ch\u1EC9nh k\xEDch c\u1EE1 c\u1EE7a c\xE1c ph\u1EA7n t\u1EED","action.brush_tool":"C\u1ECD v\u1EBD","action.brush_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 v\u1EBD l\xEAn c\xE1c k\u1EBFt c\u1EA5u tr\xEAn b\u1EC1 m\u1EB7t ho\u1EB7c trong m\u1EE5c ch\u1EC9nh s\u1EEDa UV","action.vertex_snap_tool":"N\u1ED1i \u0111\u1EC9nh","action.vertex_snap_tool.desc":"Di chuy\u1EC3n kh\u1ED1i n\xE0y \u0111\u1EBFn kh\u1ED1i kh\xE1c b\u1EB1ng c\xE1ch n\u1ED1i hai \u0111\u1EC9nh l\u1EA1i v\u1EDBi nhau","action.swap_tools":"\u0110\u1ED5i c\xF4ng c\u1EE5","action.swap_tools.desc":"Ho\xE1n \u0111\u1ED5i gi\u1EEFa c\xF4ng c\u1EE5 di chuy\u1EC3n v\xE0 ch\u1EC9nh k\xEDch c\u1EE1","action.project_window":"D\u1EF1 \xE1n...","action.project_window.desc":"M\u1EDF h\u1ED9p tho\u1EA1i d\u1EF1 \xE1n, n\u01A1i m\xE0 b\u1EA1n c\xF3 th\u1EC3 ch\u1EC9nh s\u1EEDa metadata (si\xEAu d\u1EEF li\u1EC7u) c\u1EE7a m\xF4 h\xECnh","action.open_model":"M\u1EDF m\xF4 h\xECnh","action.open_model.desc":"M\u1EDF m\u1ED9t t\u1EC7p m\xF4 h\xECnh t\u1EEB m\xE1y t\xEDnh c\u1EE7a b\u1EA1n","action.extrude_texture":"Texture \u0111\xE8","action.extrude_texture.desc":"T\u1EA1o model d\u1EF1a tr\xEAn k\u1EBFt c\u1EA5u b\u1ECB k\xE9o d\xE3n","action.export_blockmodel":"Xu\u1EA5t m\xF4 h\xECnh","action.export_blockmodel.desc":"Xu\u1EA5t ra m\u1ED9t m\xF4 h\xECnh kh\u1ED1i ho\u1EB7c item","action.export_optifine_part":"Xu\u1EA5t m\u1ED9t ph\u1EA7n c\u1EE7a OptiFine","action.export_optifine_part.desc":"Xu\u1EA5t m\u1ED9t ph\u1EA7n m\xF4 h\xECnh th\u1EF1c th\u1EC3 c\u1EE7a OptiFine","action.export_optifine_full":"Xu\u1EA5t JEM c\u1EE7a OptiFine","action.export_optifine_full.desc":"Xu\u1EA5t to\xE0n b\u1ED9 m\xF4 h\xECnh th\u1EF1c th\u1EC3 OptiFine","action.export_obj":"Xu\u1EA5t ra m\xF4 h\xECnh OBJ","action.export_obj.desc":"Xu\u1EA5t Wavefont OBJ \u0111\u1EC3 k\u1EBFt xu\u1EA5t","action.settings_window":"C\xE0i \u0111\u1EB7t...","action.settings_window.desc":"M\u1EDF h\u1ED9p tho\u1EA1i c\xE0i \u0111\u1EB7t c\u1EE7a Blockbench.","action.plugins_window":"Plugin...","action.plugins_window.desc":"M\u1EDF c\u1EEDa s\u1ED5 plugin store","action.reset_layout":"\u0110\u1EB7t l\u1EA1i layout","action.reset_layout.desc":"\u0110\u1EB7t l\u1EA1i Layout v\u1EC1 m\u1EB7c \u0111\u1ECBnh c\u1EE7a Blockbench","action.load_plugin":"T\u1EA3i Plugin t\u1EEB t\u1EC7p","action.load_plugin.desc":"T\u1EA3i m\u1ED9t plugin b\u1EB1ng c\xE1ch nh\u1EADp t\u1EC7p ngu\u1ED3n","action.reload_plugins":"T\u1EA3i l\u1EA1i Plugin","action.reload_plugins.desc":"T\u1EA3i l\u1EA1i t\u1EA5t c\u1EA3 plugin ph\xE1t tri\u1EC3n","action.undo":"Ho\xE0n t\xE1c","action.undo.desc":"Ho\xE0n t\xE1c thay \u0111\u1ED5i cu\u1ED1i c\xF9ng","action.redo":"L\xE0m l\u1EA1i","action.redo.desc":"Ho\xE0n t\xE1c l\u1EA1i thao t\xE1c ho\xE0n t\xE1c cu\u1ED1i c\xF9ng","action.copy":"Sao ch\xE9p","action.copy.desc":"Sao ch\xE9p v\xF9ng ch\u1ECDn, m\u1EB7t ho\u1EB7c c\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB \u0111\xE3 ch\u1ECDn","action.paste":"D\xE1n","action.paste.desc":"D\xE1n v\xF9ng ch\u1ECDn, m\u1EB7t ho\u1EB7c c\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB \u0111\xE3 ch\u1ECDn","action.cut":"C\u1EAFt","action.cut.desc":"C\u1EAFt v\xF9ng ch\u1ECDn, m\u1EB7t ho\u1EB7c c\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB \u0111\xE3 ch\u1ECDn","action.add_cube":"Th\xEAm kh\u1ED1i","action.add_cube.desc":"Th\xEAm m\u1ED9t kh\u1ED1i m\u1EDBi","action.add_group":"Th\xEAm nh\xF3m","action.add_group.desc":"Th\xEAm m\u1ED9t nh\xF3m ho\u1EB7c khung x\u01B0\u01A1ng m\u1EDBi","action.outliner_toggle":"B\u1EADt/t\u1EAFt Th\xEAm T\xF9y ch\u1ECDn","action.outliner_toggle.desc":"B\u1EADt/t\u1EAFt c\xE1c c\xF4ng t\u1EAFc \u0111\u1EC3 hi\u1EC3n th\u1ECB th\xEAm t\xF9y ch\u1ECDn trong Outliner","action.duplicate":"Nh\xE2n b\u1EA3n","action.delete":"Xo\xE1","action.sort_outliner":"S\u1EAFp x\u1EBFp danh s\xE1ch","action.sort_outliner.desc":"S\u1EAFp x\u1EBFp danh s\xE1ch ph\u1EA7n t\u1EED theo th\u1EE9 t\u1EF1 b\u1EA3ng ch\u1EEF c\xE1i","action.select_window":"Ch\u1ECDn...","action.select_window.desc":"T\xECm v\xE0 ch\u1ECDn c\xE1c ph\u1EA7n t\u1EED d\u1EF1a tr\xEAn thu\u1ED9c t\xEDnh c\u1EE7a ch\xFAng","action.invert_selection":"\u0110\u1EA3o ch\u1ECDn","action.invert_selection.desc":"\u0110\u1EA3o ng\u01B0\u1EE3c v\xF9ng ch\u1ECDn hi\u1EC7n t\u1EA1i c\u1EE7a c\xE1c ph\u1EA7n t\u1EED","action.select_all":"Ch\u1ECDn t\u1EA5t c\u1EA3","action.collapse_groups":"\u0110\xF3ng nh\xF3m","action.collapse_groups.desc":"\u0110\xF3ng t\u1EA5t c\u1EA3 c\xE1c nh\xF3m l\u1EA1i tr\xEAn danh s\xE1ch","action.scale":"Ch\u1EC9nh t\u1EC9 l\u1EC7...","action.scale.desc":"Thay \u0111\u1ED5i t\u1EF7 l\u1EC7 c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn","action.toggle_visibility":"B\u1EADt/t\u1EAFt hi\u1EC3n th\u1ECB","action.toggle_visibility.desc":"B\u1EADt/t\u1EAFt hi\u1EC3n th\u1ECB c\u1EE7a c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn","action.toggle_export":"Chuy\u1EC3n \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 Xu\u1EA5t","action.toggle_export.desc":"B\u1EADt/t\u1EAFt c\xE0i \u0111\u1EB7t xu\u1EA5t c\u1EE7a c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn","action.toggle_autouv":"Chuy\u1EC3n \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 Auto UV","action.toggle_autouv.desc":"B\u1EADt/t\u1EAFt c\xE0i \u0111\u1EB7t Auto UV c\u1EE7a c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn","action.toggle_shade":"B\u1EADt t\u1EAFt \u0111\u1ED5 b\xF3ng","action.toggle_shade.desc":"B\u1EADt t\u1EAFt s\u1EF1 \u0111\u1ED5 b\xF3ng c\u1EE7a c\xE1c kh\u1ED1i \u0111\u01B0\u1EE3c ch\u1ECDn","action.rename":"S\u1EEDa t\xEAn","action.rename.desc":"Thay \u0111\u1ED5i t\xEAn c\u1EE7a c\xE1c ph\u1EA7n t\u1EED ho\u1EB7c nh\xF3m \u0111\xE3 ch\u1ECDn","action.add_display_preset":"Gi\xE1 tr\u1ECB c\xE0i s\u1EB5n m\u1EDBi","action.add_display_preset.desc":"T\u1EA1o m\u1ED9t Gi\xE1 tr\u1ECB c\xE0i s\u1EB5n m\u1EDBi v\u1EDBi c\xE1c c\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB","action.fullscreen":"To\xE0n m\xE0n h\xECnh","action.fullscreen.desc":"Chuy\u1EC3n \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 To\xE0n m\xE0n h\xECnh","action.zoom_in":"Ph\xF3ng to","action.zoom_in.desc":"Ph\xF3ng to \u0111\u1EC3 t\u0103ng t\u1EF7 l\u1EC7 giao di\u1EC7n","action.zoom_out":"Zoom nh\u1ECF","action.zoom_out.desc":"Zoom nh\u1ECF theo t\u1EC9 l\u1EC7 c\u1EE7a giao di\u1EC7n","action.zoom_reset":"\u0110\u1EB7t l\u1EA1i Zoom","action.zoom_reset.desc":"\u0110\u1EB7t l\u1EA1i \u0111\u1ED9 zoom v\u1EC1 m\u1EB7c \u0111\u1ECBnh l\xE0 100%","action.reset_interface":"\u0110\u1EB7t l\u1EA1i giao di\u1EC7n","action.reset_interface.desc":"\u0110\u1EB7t l\u1EA1i k\xEDch c\u1EE1 v\xE0 v\u1ECB tr\xED c\u1EE7a nh\u1EEFng th\xE0nh ph\u1EA7n giao di\u1EC7n","action.screenshot_model":"Ch\u1EE5p m\xF4 h\xECnh","action.screenshot_model.desc":"Ch\u1EE5p m\u1ED9t \u1EA3nh \u0111\xE3 c\u1EAFt c\u1EE7a m\xF4 h\xECnh t\u1EEB g\xF3c \u0111\u1ED9 hi\u1EC7n t\u1EA1i","action.screenshot_app":"Ch\u1EE5p m\xE0n h\xECnh \u1EE9ng d\u1EE5ng","action.screenshot_app.desc":"Ch\u1EE5p m\xE0n h\xECnh to\xE0n b\u1ED9 \u1EE9ng d\u1EE5ng","action.import_texture":"Nh\u1EADp texture","action.import_texture.desc":"Nh\u1EADp m\u1ED9t ho\u1EB7c nhi\u1EC1u texture t\u1EEB h\u1EC7 th\u1ED1ng t\u1EC7p c\u1EE7a b\u1EA1n","action.create_texture":"T\u1EA1o texture","action.create_texture.desc":"T\u1EA1o m\u1ED9t texture tr\u1ED1ng ho\u1EB7c texture m\u1EABu","action.save_textures":"L\u01B0u texture","action.save_textures.desc":"L\u01B0u t\u1EA5t c\u1EA3 c\xE1c texture ch\u01B0a l\u01B0u","action.animated_textures":"Ph\xE1t texture \u0111\u1ED9ng","action.animated_textures.desc":"Ph\xE1t v\xE0 t\u1EA1m d\u1EEBng xem tr\u01B0\u1EDBc c\u1EE7a c\xE1c texture \u0111\u1ED9ng","action.origin_to_geometry":"C\u0103n gi\u1EEFa pivot","action.origin_to_geometry.desc":"\u0110\u1EB7t \u0111i\u1EC3m Pivot v\xE0o t\xE2m c\u1EE7a v\xF9ng ch\u1ECDn","action.bone_reset_toggle":"\u0110\u1EB7t l\u1EA1i ph\u1EA7n x\u01B0\u01A1ng","action.bone_reset_toggle.desc":"Ng\u0103n x\u01B0\u01A1ng hi\u1EC3n th\u1ECB c\xE1c kh\u1ED1i t\u1EEB m\xF4 h\xECnh cha","action.reload":"T\u1EA3i l\u1EA1i Blockbench","action.reload.desc":"T\u1EA3i l\u1EA1i Blockbench. \u0110i\u1EC1u n\xE0y s\u1EBD h\u1EE7y b\u1ECF t\u1EA5t c\u1EA3 ti\u1EBFn tr\xECnh ch\u01B0a l\u01B0u","menu.file":"T\u1EC7p","menu.edit":"Ch\u1EC9nh","menu.transform":"Bi\u1EBFn \u0111\u1ED5i","menu.display":"Hi\u1EC3n th\u1ECB","menu.view":"T\u1EA7m nh\xECn","menu.file.new":"T\u1EC7p m\u1EDBi","menu.file.recent":"G\u1EA7n \u0111\xE2y","menu.file.import":"Nh\u1EADp t\u1EC7p","menu.file.export":"Xu\u1EA5t t\u1EC7p","menu.transform.rotate":"Quay","menu.transform.flip":"L\u1EADt","menu.transform.center":"C\u0103n gi\u1EEFa","menu.transform.properties":"Thu\u1ED9c t\xEDnh","menu.display.preset":"\xC1p d\u1EE5ng gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","menu.display.preset_all":"\xC1p d\u1EE5ng gi\xE1 tr\u1ECB c\xE0i s\u1EB5n \u1EDF m\u1ECDi n\u01A1i","menu.display.remove_preset":"X\xF3a b\u1ECF gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","menu.view.zoom":"Zoom","menu.view.background":"H\xECnh n\u1EC1n","menu.view.screenshot":"Ch\u1EE5p h\xECnh","menu.cube.color":"\u0110\xE1nh d\u1EA5u m\xE0u","menu.cube.texture":"K\u1EBFt c\u1EA5u","menu.cube.texture.transparent":"Trong su\u1ED1t","menu.cube.texture.blank":"Tr\u1ED1ng kh\xF4ng","menu.group.sort":"Ph\xE2n lo\u1EA1i","menu.texture.face":"\xC1p d\u1EE5ng l\xEAn c\u1EA1nh","menu.texture.file":"T\u1EC7p","menu.texture.refresh":"L\xE0m m\u1EDBi","menu.texture.change":"\u0110\u1ED5i t\u1EC7p","menu.texture.folder":"M\u1EDF trong th\u01B0 m\u1EE5c","menu.texture.edit":"Ch\u1EC9nh","menu.texture.export":"L\u01B0u d\u01B0\u1EDBi d\u1EA1ng","menu.texture.save":"L\u01B0u","menu.texture.properties":"Thu\u1ED9c t\xEDnh...","menu.preview.background":"H\xECnh n\u1EC1n","menu.preview.background.load":"T\u1EA3i","menu.preview.background.position":"V\u1ECB tr\xED","menu.preview.background.lock":"Kh\xF3a v\xE0o m\xE1y \u1EA3nh","menu.preview.screenshot":"Ch\u1EE5p h\xECnh","menu.preview.perspective":"Ph\u1ED1i c\u1EA3nh","menu.preview.perspective.normal":"B\xECnh th\u01B0\u1EDDng","menu.preview.quadview":"4 g\xF3c nh\xECn kh\xE1c nhau","menu.preview.stop_drag":"D\u1EEBng \u0111\u1ECBnh v\u1ECB n\u1EC1n","menu.uv.mapping.rotation":"Xoay","menu.uv.texture":"K\u1EBFt c\u1EA5u UV","cube.color.light_blue":"Xanh D\u01B0\u01A1ng s\xE1ng","cube.color.yellow":"V\xE0ng","cube.color.orange":"Cam","cube.color.red":"\u0110\u1ECF","cube.color.purple":"T\xEDm","cube.color.blue":"Xanh D\u01B0\u01A1ng","cube.color.green":"Xanh L\xE1 C\xE2y","cube.color.lime":"Xanh Chanh V\xE0ng","switches.visibility":"\u1EA8n","switches.export":"Xu\u1EA5t t\u1EC7p","switches.autouv":"UV t\u1EF1 \u0111\u1ED9ng","panel.uv":"UV","panel.display":"Hi\u1EC3n th\u1ECB","panel.textures":"K\u1EBFt c\u1EA5u","panel.outliner":"B\u1EA3ng s\u1EAFp x\u1EBFp","uv_editor.title":"Ch\u1EC9nh s\u1EEDa UV","uv_editor.all_faces":"M\u1ECDi m\u1EB7t","uv_editor.no_faces":"kh\xF4ng c\xF3 m\u1EB7t","face.north":"B\u1EAFc","face.south":"Nam","face.west":"T\xE2y","face.east":"\u0110\xF4ng","face.up":"Tr\xEAn","face.down":"D\u01B0\u1EDBi","direction.north":"B\u1EAFc","direction.south":"Nam","direction.west":"T\xE2y","direction.east":"\u0110\xF4ng","direction.top":"Tr\xEAn","direction.bottom":"D\u01B0\u1EDBi","display.slot.third_right":"Ng\xF4i th\u1EE9 ba tay ph\u1EA3i","display.slot.third_left":"Ng\xF4i th\u1EE9 ba tay tr\xE1i","display.slot.first_right":"Ng\xF4i th\u1EE9 nh\u1EA5t tay ph\u1EA3i","display.slot.first_left":"Ng\xF4i th\u1EE9 nh\u1EA5t tay tr\xE1i","display.slot.head":"\u0110\u1EA7u","display.slot.ground":"S\xE0n","display.slot.frame":"Khung","display.slot.gui":"Giao di\u1EC7n","display.rotation":"Xoay","display.translation":"V\u1ECB tr\xED","display.scale":"K\xEDch th\u01B0\u1EDBc","display.slot":"Ch\u1ED7","display.reference":"M\u1EABu t\u01B0\u01A1ng quan","display.reference.player":"Ng\u01B0\u1EDDi ch\u01A1i","display.reference.zombie":"Zombie","display.reference.armor_stand":"Gi\xE1 \u0111\u1EC3 gi\xE1p","display.reference.baby_zombie":"Ti\u1EC3u Zombie","display.reference.armor_stand_small":"Gi\xE1 \u0111\u1EC3 gi\xE1p (nh\u1ECF)","display.reference.monitor":"B\xECnh th\u01B0\u1EDDng","display.reference.bow":"Cung","display.reference.block":"Kh\u1ED1i","display.reference.frame":"Khung v\u1EADt ph\u1EA9m","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"T\xFAi \u0111\u1ED3","display.reference.hud":"H\u1EC7 th\u1ED1ng hi\u1EC3n th\u1ECB","display.preset.blank_name":"Nh\u1EADp t\xEAn v\xE0o \xF4 tr\u1ED1ng","display.preset.item":"V\u1EADt ph\u1EA9m m\u1EB7c \u0111\u1ECBnh","display.preset.block":"Kh\u1ED1i m\u1EB7c \u0111\u1ECBnh","display.preset.handheld":"V\u0169 kh\xED m\u1EB7c \u0111\u1ECBnh","display.preset.rod":"C\u1EA7n m\u1EB7c \u0111\u1ECBnh","dialog.continue":"Ti\u1EBFp t\u1EE5c","message.square_textures":"K\u1EBFt c\u1EA5u ph\u1EA3i l\xE0 h\xECnh vu\xF4ng","message.unsaved_texture.title":"K\u1EBFt c\u1EA5u ch\u01B0a l\u01B0u","message.unsaved_texture.message":"T\u1EA5t c\u1EA3 nh\u1EEFng thay \u0111\u1ED5i ch\u01B0a l\u01B0u c\u1EE7a k\u1EBFt c\u1EA5u n\xE0y s\u1EBD b\u1ECB m\u1EA5t. B\u1EA1n c\xF3 mu\u1ED1n ti\u1EBFn h\xE0nh ch\u1EE9?","action.vertex_snap_mode.move":"Di chuy\u1EC3n","action.vertex_snap_mode.scale":"Ch\u1EC9nh c\u1EE1","action.open_model_folder":"M\u1EDF th\u01B0 m\u1EE5c m\xF4 h\xECnh","action.open_model_folder.desc":"M\u1EDF th\u01B0 m\u1EE5c m\xE0 ch\u1EE9a m\xF4 h\xECnh","action.change_textures_folder":"\u0110\u1ED5i v\u1ECB tr\xED c\u1EE7a k\u1EBFt c\u1EA5u","action.change_textures_folder.desc":"\u0110\u1ED5i th\u01B0 m\u1EE5c n\u01A1i l\u01B0u c\xE1c k\u1EBFt c\u1EA5u","menu.texture.particle":"D\xF9ng cho h\u1EA1t hi\u1EC7u \u1EE9ng","message.update_notification.title":"Kh\xF4ng th\u1EC3 c\xE0i b\u1EA3n c\u1EADp nh\u1EADt n\xE0y \u0111\u01B0\u1EE3c","message.update_notification.message":'M\u1ED9t phi\xEAn b\u1EA3n m\u1EDBi c\u1EE7a Blockbench \u0111\xE3 c\xF3 s\u1EB5n. H\xE3y b\u1EADt ch\u1EBF \u0111\u1ED9 "T\u1EF1 \u0111\u1ED9ng th\xF4ng b\xE1o b\u1EA3n c\u1EADp nh\u1EADt m\u1EDBi" \u0111\u1EC3 th\xF4ng b\xE1o c\xF3 m\u1ED9t b\u1EA3n c\u1EADp nh\u1EADt m\u1EDBi nh\xE9.',"message.untextured":"B\u1EC1 m\u1EB7t n\xE0y kh\xF4ng c\xF3 k\u1EBFt c\u1EA5u","dialog.toolbar_edit.title":"T\xF9y ch\u1EC9nh thanh c\xF4ng c\u1EE5","keybindings.reset":"C\xE0i l\u1EA1i","keybindings.clear":"Tr\u1ED1ng","action.cube_counter":"Th\u1ED1ng k\xEA m\xF4 h\xECnh","action.uv_rotation":"Xoay UV","action.uv_rotation.desc":"Xoay m\u1EB7t UV","action.uv_grid":"L\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB UV","action.uv_grid.desc":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi m\xE0 b\u1ED9 ch\u1ECDn UV b\xE1m v\xE0o","action.uv_grid.auto":"T\u1EF1 \u0111\u1ED9ng","action.uv_maximize":"T\u1ED1i \u0111a ho\xE1 UV","action.uv_maximize.desc":"\u0110\u1EB7t UV cho m\u1EB7t n\xE0y th\xE0nh k\u1EBFt c\u1EA5u \u0111\u1EA7y \u0111\u1EE7","action.uv_auto":"UV t\u1EF1 \u0111\u1ED9ng","action.uv_auto.desc":"\u0110\u1EB7t k\xEDch th\u01B0\u1EDBc UV c\u1EE7a m\u1EB7t n\xE0y th\xE0nh k\xEDch th\u01B0\u1EDBc th\u1EF1c c\u1EE7a m\u1EB7t","action.uv_rel_auto":"UV t\u1EF1 \u0111\u1ED9ng t\u01B0\u01A1ng \u0111\u1ED1i","action.uv_rel_auto.desc":"\u0110\u1EB7t UV c\u1EE7a m\u1EB7t n\xE0y th\xE0nh v\u1ECB tr\xED v\xE0 k\xEDch th\u01B0\u1EDBc c\u1EE7a m\u1EB7t th\u1EF1c t\u1EBF","action.uv_mirror_x":"G\u01B0\u01A1ng UV X","action.uv_mirror_x.desc":"Ph\u1EA3n chi\u1EBFu UV c\u1EE7a m\u1EB7t n\xE0y tr\xEAn tr\u1EE5c X","action.uv_mirror_y":"G\u01B0\u01A1ng UV Y","action.uv_mirror_y.desc":"Ph\u1EA3n chi\u1EBFu UV c\u1EE7a m\u1EB7t n\xE0y tr\xEAn tr\u1EE5c Y","action.uv_transparent":"X\xF3a m\u1EB7t","action.uv_transparent.desc":"X\xF3a m\u1EB7t hi\u1EC7n t\u1EA1i","action.uv_reset":"\u0110\u1EB7t l\u1EA1i m\u1EB7t","action.uv_reset.desc":"\u0110\u1EB7t l\u1EA1i m\u1EB7t hi\u1EC7n t\u1EA1i","action.cullface":"Cullface","action.cullface.desc":"T\u1EAFt hi\u1EC3n th\u1ECB cho m\u1EB7t n\xE0y n\u1EBFu m\u1EB7t \u0111\u01B0\u1EE3c ch\u1ECDn c\u1EE7a m\xF4 h\xECnh b\u1ECB che","action.auto_cullface":"K\xEDch ho\u1EA1t Cullface","action.auto_cullface.desc":"\u0110\u1EB7t cullface cho m\u1EB7t n\xE0y th\xE0nh ch\xEDnh n\xF3","action.face_tint":"S\u1EAFc th\xE1i","action.face_tint.desc":"B\u1EADt t\xF9y ch\u1ECDn s\u1EAFc th\xE1i cho m\u1EB7t hi\u1EC7n t\u1EA1i","menu.toolbar.edit":"T\xF9y ch\u1EC9nh","menu.toolbar.reset":"\u0110\u1EB7t l\u1EA1i","uv_editor.rotated":"\u0110\xE3 xoay","uv_editor.auto_cull":"Cullface t\u1EF1 \u0111\u1ED9ng","uv_editor.copied":"M\u1EB7t \u0111\xE3 sao ch\xE9p","uv_editor.pasted":"D\xE1n m\u1EB7t","uv_editor.copied_x":"\u0110\xE3 sao ch\xE9p %0 m\u1EB7t","uv_editor.reset":"\u0110\u1EB7t l\u1EA1i m\u1EB7t","uv_editor.maximized":"T\u1ED1i \u0111a","uv_editor.autouv":"K\xEDch th\u01B0\u1EDBc t\u1EF1 \u0111\u1ED9ng","uv_editor.mirrored":"\u0110\xE3 nh\xE2n \u0111\xF4i","uv_editor.to_all":"\xC1p d\u1EE5ng cho m\u1ECDi m\u1EB7t","uv_editor.transparent":"L\xE0m trong su\u1ED1t","uv_editor.cullface_on":"B\u1EADt Cullface","uv_editor.cullface_off":"T\u1EAFt Cullface","uv_editor.tint_on":"B\u1EADt s\u1EAFc th\xE1i","uv_editor.tint_off":"T\u1EAFt s\u1EAFc th\xE1i","action.uv_apply_all":"\xC1p d\u1EE5ng cho m\u1ECDi m\u1EB7t","action.uv_apply_all.desc":"\xC1p d\u1EE5ng c\xE0i \u0111\u1EB7t c\u1EE7a m\u1EB7t hi\u1EC7n t\u1EA1i cho t\u1EA5t c\u1EA3 m\u1EB7t","message.image_editor_missing.title":"Tr\xECnh ch\u1EC9nh s\u1EEDa \u1EA3nh m\u1EB7c \u0111\u1ECBnh","message.image_editor_missing.message":"Ch\u1ECDn t\u1EC7p c\u1EE7a tr\xECnh ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh c\u1EE7a b\u1EA1n.","message.image_editor_missing.detail":"Blockbench kh\xF4ng th\u1EC3 t\xECm th\u1EA5y tr\xECnh ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh tr\xEAn m\xE1y t\xEDnh c\u1EE7a b\u1EA1n. Ch\u1ECDn t\u1EC7p c\u1EE7a tr\xECnh ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh \u01B0a th\xEDch c\u1EE7a b\u1EA1n.","action.update_autouv":"C\u1EADp nh\u1EADt UV t\u1EF1 \u0111\u1ED9ng","action.update_autouv.desc":"C\u1EADp nh\u1EADt \xE1nh x\u1EA1 UV t\u1EF1 \u0111\u1ED9ng c\u1EE7a c\xE1c h\xECnh kh\u1ED1i \u0111\xE3 ch\u1ECDn","category.uv":"UV","status_bar.saved":"\u0110\xE3 l\u01B0u m\xF4 h\xECnh","status_bar.unsaved":"C\xF3 nh\u1EEFng thay \u0111\u1ED5i ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u","action.move_up":"\u0110i l\xEAn","action.move_up.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn l\xEAn tr\xEAn so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","action.move_down":"\u0110i xu\u1ED1ng","action.move_down.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn xu\u1ED1ng d\u01B0\u1EDBi so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","action.move_left":"Sang tr\xE1i","action.move_left.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn sang tr\xE1i so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","action.move_right":"Sang ph\u1EA3i","action.move_right.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn sang ph\u1EA3i so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","action.move_forth":"Ti\u1EBFn","action.move_forth.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\u01B0\u1EE3c ch\u1ECDn v\u1EC1 ph\xEDa tr\u01B0\u1EDBc so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","action.move_back":"L\xF9i","action.move_back.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn tr\u1EDF l\u1EA1i so v\u1EDBi g\xF3c camera hi\u1EC7n t\u1EA1i","layout.color.wireframe":"Khung x\u01B0\u01A1ng","layout.color.wireframe.desc":"Xem c\xE1c d\xF2ng khung x\u01B0\u01A1ng","action.add_animation":"Th\xEAm ho\u1EA1t \u1EA3nh","action.add_animation.desc":"T\u1EA1o m\u1ED9t ho\u1EA1t \u1EA3nh tr\u1ED1ng","action.load_animation_file":"Nh\u1EADp ho\u1EA1t \u1EA3nh","action.load_animation_file.desc":"Nh\u1EADp t\u1EC7p ho\u1EA1t \u1EA3nh","action.play_animation":"Ch\u1EA1y ho\u1EA1t \u1EA3nh","action.play_animation.desc":"Xem tr\u01B0\u1EDBc ho\u1EA1t \u1EA3nh \u0111\xE3 ch\u1ECDn","action.slider_keyframe_time":"M\xE3 th\u1EDDi gian","action.slider_keyframe_time.desc":"Thay \u0111\u1ED5i m\xE3 th\u1EDDi gian c\u1EE7a c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","timeline.rotation":"Xoay","timeline.position":"V\u1ECB tr\xED","timeline.scale":"K\xEDch c\u1EE1","menu.keyframe.quaternion":"Quaternion","panel.animations":"Ho\u1EA1t \u1EA3nh","panel.keyframe":"Khung h\xECnh ch\xEDnh","panel.keyframe.type":"Khung h\xECnh ch\xEDnh (%0)","generic.delete":"Xo\xE1","generic.rename":"\u0110\u1ED5i t\xEAn","message.no_animation_selected":"B\u1EA1n ph\u1EA3i ch\u1ECDn m\u1ED9t h\xECnh \u1EA3nh \u0111\u1ED9ng \u0111\u1EC3 l\xE0m \u0111i\u1EC1u n\xE0y","message.no_bone_selected":"B\u1EA1n ph\u1EA3i ch\u1ECDn m\u1ED9t x\u01B0\u01A1ng \u0111\u1EC3 l\xE0m \u0111i\u1EC1u n\xE0y","message.duplicate_groups.title":"T\xEAn x\u01B0\u01A1ng tr\xF9ng l\u1EB7p","message.duplicate_groups.message":"T\xEAn c\u1EE7a x\u01B0\u01A1ng n\xE0y t\u1ED3n t\u1EA1i tr\xEAn nhi\u1EC1u x\u01B0\u01A1ng. \u0110i\u1EC1u n\xE0y c\xF3 th\u1EC3 g\xE2y ra v\u1EA5n \u0111\u1EC1.","action.delete_keyframes":"X\xF3a khung h\xECnh ch\xEDnh","action.delete_keyframes.desc":"X\xF3a t\u1EA5t c\u1EA3 c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","menu.animation":"Ho\u1EA1t \u1EA3nh","menu.animation.loop":"T\u1EA1o v\xF2ng l\u1EB7p","menu.animation.override":"Ghi \u0111\xE8","menu.animation.anim_time_update":"C\u1EADp nh\u1EADt th\u1EDDi gian ho\u1EA1t \u1EA3nh","message.display_skin_model.title":"M\xF4 h\xECnh skin","message.display_skin_model.message":"Ch\u1ECDn lo\u1EA1i m\xF4 h\xECnh skin c\u1EE7a b\u1EA1n","message.display_skin_model.classic":"C\u1ED5 \u0111i\u1EC3n","message.display_skin_model.slim":"M\u1EA3nh kh\u1EA3nh","message.bone_material":"Thay \u0111\u1ED5i ch\u1EA5t li\u1EC7u x\u01B0\u01A1ng","action.slider_animation_length":"\u0110\u1ED9 d\xE0i ho\u1EA1t \u1EA3nh","action.slider_animation_length.desc":"Thay \u0111\u1ED5i \u0111\u1ED9 d\xE0i c\u1EE7a ho\u1EA1t \u1EA3nh \u0111\xE3 ch\u1ECDn","panel.variable_placeholders":"Tr\xECnh gi\u1EEF ch\u1ED7 bi\u1EBFn","panel.variable_placeholders.info":"Li\u1EC7t k\xEA c\xE1c bi\u1EBFn b\u1EA1n mu\u1ED1n xem tr\u01B0\u1EDBc qua name=value","status_bar.vertex_distance":"Kho\u1EA3ng c\xE1ch: %0","dialog.create_gif.title":"Ghi GIF","dialog.create_gif.length":"D\xE0i","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"B\u1EAFt \u0111\u1EA7u ho\u1EA1t \u1EA3nh","category.animation":"Ho\u1EA1t \u1EA3nh","action.record_model_gif":"Ghi GIF...","action.record_model_gif.desc":"Ghi l\u1EA1i m\u1ED9t GIF \u0111\u1ED9ng c\u1EE7a m\xF4 h\xECnh t\u1EEB g\xF3c \u0111\u1ED9 hi\u1EC7n t\u1EA1i","display.mirror":"G\u01B0\u01A1ng","data.separator":"Ph\xE2n c\xE1ch","menu.preview.background.set_position":"\u0110\u1EB7t v\u1ECB tr\xED","dialog.toolbar_edit.hidden":"\u1EA8n","action.export_class_entity":"Xu\u1EA5t th\u1EF1c th\u1EC3 Java","action.export_class_entity.desc":"Xu\u1EA5t m\xF4 h\xECnh th\u1EF1c th\u1EC3 d\u01B0\u1EDBi d\u1EA1ng Java","settings.seethrough_outline":"\u0110\u01B0\u1EDDng vi\u1EC1n X-Ray","settings.seethrough_outline.desc":"Hi\u1EC3n th\u1ECB \u0111\u01B0\u1EDDng vi\u1EC1n qua c\xE1c \u0111\u1ED1i t\u01B0\u1EE3ng","mode.edit":"Ch\u1EC9nh s\u1EEDa","mode.paint":"V\u1EBD","mode.display":"Hi\u1EC3n th\u1ECB","mode.animate":"Ho\u1EA1t \u1EA3nh","status_bar.recording_gif":"Ghi GIF","status_bar.processing_gif":"\u0110ang x\u1EED l\xFD GIF","settings.backup_retain":"L\u01B0\u1EE3ng l\u01B0u tr\u1EEF d\u1EF1 ph\xF2ng","settings.backup_retain.desc":"\u0110\u1EB7t th\u1EDDi gian Blockbench l\u01B0u tr\u1EEF c\xE1c b\u1EA3n sao l\u01B0u c\u0169 theo ng\xE0y","action.rotate_tool":"Xoay","action.rotate_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 ch\u1ECDn v\xE0 xoay ph\u1EA7n t\u1EED","action.fill_tool":"Th\xF9ng s\u01A1n","action.fill_tool.desc":"Th\xF9ng s\u01A1n d\xF9ng \u0111\u1EC3 l\u1EA5p m\u1EB7t b\u1EB1ng m\u1ED9t m\xE0u","action.eraser":"T\u1EA9y","action.eraser.desc":"C\xF4ng c\u1EE5 t\u1EA9y s\u1EBD thay th\u1EBF m\xE0u s\u1EAFc tr\xEAn k\u1EBFt c\u1EA5u v\u1EDBi \u0111\u1ED9 trong su\u1ED1t","action.color_picker":"C\xF4ng c\u1EE5 nh\u1ECF m\u1EAFt","action.color_picker.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 ch\u1ECDn m\xE0u \u0111i\u1EC3m \u1EA3nh tr\xEAn k\u1EBFt c\u1EA5u c\u1EE7a b\u1EA1n","switches.mirror":"G\u01B0\u01A1ng UV",language_name:"Ti\u1EBFng vi\u1EC7t","message.plugin_reload":"\u0110\xE3 t\u1EA3i l\u1EA1i %0 plugin c\u1EE5c b\u1ED9","settings.brightness":"\u0110\u1ED9 s\xE1ng","settings.brightness.desc":"\u0110\u1ED9 s\xE1ng b\u1EA3n xem tr\u01B0\u1EDBc. M\u1EB7c \u0111\u1ECBnh l\xE0 50","menu.preview.perspective.reset":"\u0110\u1EB7t l\u1EA1i m\xE1y \u1EA3nh","action.fill_mode":"Ch\u1EBF \u0111\u1ED9 l\xE0m \u0111\u1EA7y","action.fill_mode.face":"M\u1EB7t","action.fill_mode.color":"M\xE0u","action.toggle_mirror_uv":"G\u01B0\u01A1ng UV","action.toggle_mirror_uv.desc":"Chuy\u1EC3n \u0111\u1ED5i ph\u1EA3n chi\u1EBFu UV tr\xEAn tr\u1EE5c X c\u1EE7a c\xE1c kh\u1ED1i \u0111\xE3 ch\u1ECDn","menu.texture.blank":"\xC1p d\u1EE5ng cho m\u1EB7t kh\xF4ng c\xF3 k\u1EBFt c\u1EA5u","dialog.scale.select_overflow":"Ch\u1ECDn tr\xE0n","action.action_control":"Ki\u1EC3m so\xE1t h\xE0nh \u0111\u1ED9ng","action.action_control.desc":"T\xECm ki\u1EBFm v\xE0 th\u1EF1c hi\u1EC7n b\u1EA5t k\u1EF3 h\xE0nh \u0111\u1ED9ng c\xF3 s\u1EB5n","keybindings.recording":"Ghi thao t\xE1c g\xF5","keybindings.press":"Nh\u1EA5n m\u1ED9t ph\xEDm ho\u1EB7c t\u1ED5 h\u1EE3p ph\xEDm ho\u1EB7c nh\u1EA5p v\xE0o b\u1EA5t k\u1EF3 \u0111\xE2u tr\xEAn m\xE0n h\xECnh \u0111\u1EC3 ghi l\u1EA1i thao t\xE1c g\xF5 ph\xEDm c\u1EE7a b\u1EA1n.","action.pivot_tool":"C\xF4ng c\u1EE5 t\xE2m quay","action.pivot_tool.desc":"C\xF4ng c\u1EE5 thay \u0111\u1ED5i \u0111i\u1EC3m t\xE2m xoay c\u1EE7a c\xE1c ph\u1EA7n t\u1EED v\xE0 x\u01B0\u01A1ng","action.slider_animation_speed":"T\u1ED1c \u0111\u1ED9 ph\xE1t l\u1EA1i","action.slider_animation_speed.desc":"T\u1ED1c \u0111\u1ED9 ph\xE1t l\u1EA1i c\u1EE7a d\xF2ng th\u1EDDi gian t\xEDnh b\u1EB1ng ph\u1EA7n tr\u0103m","action.previous_keyframe":"Khung h\xECnh ch\xEDnh tr\u01B0\u1EDBc \u0111\xF3","action.previous_keyframe.desc":"Chuy\u1EC3n \u0111\u1EBFn khung h\xECnh ch\xEDnh tr\u01B0\u1EDBc \u0111\xF3","action.next_keyframe":"Khung h\xECnh ch\xEDnh ti\u1EBFp theo","action.next_keyframe.desc":"Chuy\u1EC3n \u0111\u1EBFn khung h\xECnh ch\xEDnh ti\u1EBFp theo","message.outdated_client.title":"\u1EE8ng d\u1EE5ng l\u1ED7i th\u1EDDi","message.outdated_client.message":"Vui l\xF2ng c\u1EADp nh\u1EADt phi\xEAn b\u1EA3n Blockbench m\u1EDBi nh\u1EA5t \u0111\u1EC3 th\u1EF1c hi\u1EC7n vi\u1EC7c n\xE0y.","action.export_asset_archive":"T\u1EA3i v\u1EC1 l\u01B0u tr\u1EEF","action.export_asset_archive.desc":"T\u1EA3i xu\u1ED1ng m\u1ED9t kho l\u01B0u tr\u1EEF v\u1EDBi m\xF4 h\xECnh v\xE0 t\u1EA5t c\u1EA3 c\xE1c k\u1EBFt c\u1EA5u trong \u0111\xF3","action.upload_sketchfab":"T\u1EA3i l\xEAn Sketchfab","message.sketchfab.name_or_token":"Vui l\xF2ng nh\u1EADp m\xE3 th\xF4ng b\xE1o Sketchfab c\u1EE7a b\u1EA1n v\xE0 t\xEAn","dialog.sketchfab_uploader.title":"T\u1EA3i l\xEAn m\xF4 h\xECnh Sketchfab","dialog.sketchfab_uploader.token":"M\xE3 th\xF4ng b\xE1o API","dialog.sketchfab_uploader.about_token":"M\xE3 th\xF4ng b\xE1o \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u0111\u1EC3 k\u1EBFt n\u1ED1i Blockbench v\u1EDBi t\xE0i kho\u1EA3n Sketchfab c\u1EE7a b\u1EA1n. B\u1EA1n c\xF3 th\u1EC3 t\xECm th\u1EA5y n\xF3 tr\xEAn %0","dialog.sketchfab_uploader.name":"T\xEAn m\xF4 h\xECnh","dialog.sketchfab_uploader.description":"Mi\xEAu t\u1EA3","dialog.sketchfab_uploader.tags":"Th\u1EBB","settings.sketchfab_token":"M\xE3 th\xF4ng b\xE1o Sketchfab","settings.sketchfab_token.desc":"M\xE3 th\xF4ng b\xE1o cho ph\xE9p Blockbench t\u1EA3i l\xEAn t\xE0i kho\u1EA3n Sketchfab c\u1EE7a b\u1EA1n","panel.color":"M\xE0u","data.origin":"T\xE2m quay","message.sketchfab.success":"\u0110\xE3 t\u1EA3i m\xF4 h\xECnh l\xEAn th\xE0nh c\xF4ng","message.sketchfab.error":"Kh\xF4ng th\u1EC3 t\u1EA3i m\xF4 h\xECnh l\xEAn Sketchfab","settings.outliner_colors":"M\xE0u vi\u1EC1n ngo\xE0i","settings.outliner_colors.desc":"Hi\u1EC3n th\u1ECB ph\u1EA7n t\u1EED v\xE0 m\xE0u nh\xF3m trong ph\u1EA7n ngo\xE0i","action.upload_sketchfab.desc":"T\u1EA3i m\xF4 h\xECnh c\u1EE7a b\u1EA1n l\xEAn Sketchfab","action.element_colors":"M\xE0u kh\u1ED1i","action.element_colors.desc":"Hi\u1EC3n th\u1ECB m\xE0u s\u1EAFc c\u1EE7a kh\u1ED1i l\u1EADp ph\u01B0\u01A1ng \u1EDF l\u1EDBp ngo\xE0i","texture.error.file":"Kh\xF4ng t\xECm th\u1EA5y t\u1EC7p","texture.error.parent":"T\u1EC7p k\u1EBFt c\u1EA5u do ch\u1EBF \u0111\u1ED9 g\u1ED1c cung c\u1EA5p","message.recover_backup.title":"Kh\xF4i ph\u1EE5c m\xF4 h\xECnh","message.recover_backup.message":"Blockbench \u0111\xE3 b\u1ECB \u0111\xF3ng m\xE0 kh\xF4ng l\u01B0u. B\u1EA1n c\xF3 mu\u1ED1n kh\xF4i ph\u1EE5c m\xF4 h\xECnh?","message.invalid_session.title":"M\xE3 phi\xEAn kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_session.message":"Phi\xEAn m\xE0 b\u1EA1n \u0111ang c\u1ED1 g\u1EAFng tham gia \u0111\xE3 h\u1EBFt h\u1EA1n ho\u1EB7c m\xE3 th\xF4ng b\xE1o \u0111\u01B0\u1EE3c cung c\u1EA5p kh\xF4ng h\u1EE3p l\u1EC7.","dialog.create_texture.power":"K\xEDch th\u01B0\u1EDBc lu\u1EF9 th\u1EEBa 2","dialog.create_gif.turn":"T\u1ED1c \u0111\u1ED9 xoay","action.edit_session":"Ch\u1EC9nh s\u1EEDa phi\xEAn...","action.edit_session.desc":"K\u1EBFt n\u1ED1i v\u1EDBi phi\xEAn ch\u1EC9nh s\u1EEDa \u0111\u1EC3 c\u1ED9ng t\xE1c v\u1EDBi nh\u1EEFng ng\u01B0\u1EDDi d\xF9ng kh\xE1c","action.reset_keyframe":"\u0110\u1EB7t l\u1EA1i khung h\xECnh ch\xEDnh","action.reset_keyframe.desc":"\u0110\u1EB7t l\u1EA1i t\u1EA5t c\u1EA3 c\xE1c gi\xE1 tr\u1ECB c\u1EE7a c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","dialog.edit_session.title":"Ch\u1EC9nh s\u1EEDa phi\xEAn","edit_session.username":"T\xEAn ng\u01B0\u1EDDi d\xF9ng","edit_session.token":"M\xE3 th\xF4ng b\xE1o","edit_session.about":"Phi\xEAn ch\u1EC9nh s\u1EEDa c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u0111\u1EC3 c\u1ED9ng t\xE1c tr\xEAn c\xE1c m\xF4 h\xECnh tr\xEAn internet. T\u1EA1o m\u1ED9t phi\xEAn, sao ch\xE9p m\xE3 th\xF4ng b\xE1o v\xE0 g\u1EEDi cho b\u1EA1n b\xE8, nh\u1EEFng ng\u01B0\u1EDDi sau \u0111\xF3 c\xF3 th\u1EC3 s\u1EED d\u1EE5ng n\xF3 \u0111\u1EC3 tham gia.","edit_session.join":"Tham gia phi\xEAn","edit_session.create":"T\u1EA1o phi\xEAn","edit_session.quit":"Tho\xE1t phi\xEAn","edit_session.joined":"%0 \u0111\xE3 tham gia phi\xEAn","edit_session.left":"%0 r\u1EDDi kh\u1ECFi phi\xEAn","edit_session.quit_session":"\u0110\xE3 r\u1EDDi kh\u1ECFi phi\xEAn hi\u1EC7n t\u1EA1i","edit_session.status":"Tr\u1EA1ng th\xE1i","edit_session.hosting":"Hosting","edit_session.connected":"\u0110\xE3 k\u1EBFt n\u1ED1i v\u1EDBi m\u1ED9t phi\xEAn","dialog.sketchfab_uploader.private":"Ri\xEAng t\u01B0 (Pro)","dialog.sketchfab_uploader.password":"M\u1EADt kh\u1EA9u (Pro)","action.uv_select_all":"Ch\u1ECDn t\u1EA5t c\u1EA3","action.uv_select_all.desc":"Ch\u1ECDn t\u1EA5t c\u1EA3 c\xE1c m\u1EB7t trong h\u1ED9p tho\u1EA1i UV","panel.chat":"Tr\xF2 chuy\u1EC7n","edit_session.welcome":"Ch\xE0o m\u1EEBng \u0111\u1EBFn v\u1EDBi phi\xEAn n\xE0y b\u1EDFi %0","dialog.yes":"V\xE2ng","dialog.no":"Kh\xF4ng","generic.remove":"Lo\u1EA1i b\u1ECF","generic.download":"T\u1EA3i v\u1EC1","generic.search":"T\xECm","dates.today":"H\xF4m nay","dates.yesterday":"H\xF4m qua","dates.this_week":"Tu\u1EA7n n\xE0y","dates.weeks_ago":"%0 tu\u1EA7n tr\u01B0\u1EDBc","mode.start.new":"M\u1EDBi","mode.start.recent":"G\u1EA7n \u0111\xE2y","format.free":"M\xF4 h\xECnh chung","format.free.desc":"M\xF4 h\xECnh kh\xF4ng h\u1EA1n ch\u1EBF. \u0110\u1ED1i v\u1EDBi c\xF4ng c\u1EE5 tr\xF2 ch\u01A1i, k\u1EBFt xu\u1EA5t, v.v.","format.java_block":"Java Kh\u1ED1i/V\u1EADt ph\u1EA9m","format.java_block.desc":"M\xF4 h\xECnh kh\u1ED1i ho\u1EB7c v\u1EADt ph\u1EA9m cho Minecraft phi\xEAn b\u1EA3n Java .","format.bedrock":"Th\u1EF1c th\u1EC3 Bedrock","format.bedrock.desc":"M\xF4 h\xECnh Minecraft phi\xEAn b\u1EA3n Bedrock cho c\xE1c th\u1EF1c th\u1EC3 v\xE0 v\u1EADt ph\u1EA9m \u0111\xEDnh k\xE8m","format.bedrock_old":"M\xF4 h\xECnh di s\u1EA3n Bedrock","format.bedrock_old.desc":"M\xF4 h\xECnh th\u1EF1c th\u1EC3 minecraft phi\xEAn b\u1EA3n Bedrock tr\u01B0\u1EDBc 1.12","format.modded_entity":"Th\u1EF1c th\u1EC3 s\u1EEDa \u0111\u1ED5i","format.modded_entity.desc":"M\xF4 h\xECnh th\u1EF1c th\u1EC3 cho minecraft mod. C\xF3 th\u1EC3 xu\u1EA5t d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p java.","format.optifine_entity":"Th\u1EF1c th\u1EC3 OptiFine","format.optifine_entity.desc":"M\xF4 h\xECnh th\u1EF1c th\u1EC3 t\xF9y ch\u1EC9nh cho mod OptiFine","keys.mouse":"N\xFAt chu\u1ED9t %0","message.cleared_blank_faces.title":"M\u1EB7t tr\u1ED1ng","message.cleared_blank_faces.message":"Blockbench \u0111\xE3 t\xECm th\u1EA5y %0 kh\u1ED1i kh\xF4ng c\xF3 k\u1EBFt c\u1EA5u. B\u1EA1n c\xF3 mu\u1ED1n lo\u1EA1i b\u1ECF c\xE1c ph\u1EA7n t\u1EED \u0111\xF3?","message.wireframe.enabled":"\u0110\xE3 b\u1EADt ch\u1EBF \u0111\u1ED9 xem khung d\xE2y","message.wireframe.disabled":"\u0110\xE3 t\u1EAFt ch\u1EBF \u0111\u1ED9 xem khung d\xE2y","dialog.convert_project.title":"Chuy\u1EC3n \u0111\u1ED5i d\u1EF1 \xE1n","dialog.create_texture.double_use":"Gi\u1EEF nhi\u1EC1u k\u1EBFt c\u1EA5u chi\u1EBFm d\u1EE5ng","dialog.model_stats.title":"Th\u1ED1ng k\xEA m\xF4 h\xECnh","dialog.model_stats.cubes":"Kh\u1ED1i","dialog.model_stats.locators":"B\u1ED9 \u0111\u1ECBnh v\u1ECB","dialog.model_stats.groups":"C\xE1c nh\xF3m","dialog.model_stats.vertices":"C\xE1c \u0111\u1EC9nh","dialog.model_stats.faces":"C\xE1c m\u1EB7t","settings.username":"T\xEAn ng\u01B0\u1EDDi d\xF9ng","settings.username.desc":"T\xEAn ng\u01B0\u1EDDi d\xF9ng cho c\xE1c phi\xEAn ch\u1EC9nh s\u1EEDa","settings.painting_grid":"Tranh l\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB","settings.painting_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi tr\xEAn c\xE1c th\xE0nh ph\u1EA7n k\u1EBFt c\u1EA5u \u1EDF ch\u1EBF \u0111\u1ED9 v\u1EBD","action.convert_project":"Chuy\u1EC3n \u0111\u1ED5i d\u1EF1 \xE1n","action.convert_project.desc":"Chuy\u1EC3n \u0111\u1ED5i d\u1EF1 \xE1n hi\u1EC7n t\u1EA1i sang d\u1EF1 \xE1n cho \u0111\u1ECBnh d\u1EA1ng m\xF4 h\xECnh kh\xE1c","action.close_project":"\u0110\xF3ng d\u1EF1 \xE1n","action.close_project.desc":"\u0110\xF3ng d\u1EF1 \xE1n \u0111ang m\u1EDF","action.export_bedrock":"Xu\u1EA5t h\xECnh h\u1ECDc Bedrock","action.export_bedrock.desc":"Xu\u1EA5t m\xF4 h\xECnh d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p h\xECnh h\u1ECDc phi\xEAn b\u1EA3n bedrock.","action.save_project":"L\u01B0u d\u1EF1 \xE1n","action.save_project.desc":"L\u01B0u m\xF4 h\xECnh hi\u1EC7n t\u1EA1i d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p d\u1EF1 \xE1n","action.save_project_as":"L\u01B0u d\u1EF1 \xE1n d\u01B0\u1EDBi d\u1EA1ng","action.save_project_as.desc":"L\u01B0u m\xF4 h\xECnh hi\u1EC7n t\u1EA1i d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p d\u1EF1 \xE1n t\u1EA1i m\u1ED9t v\u1ECB tr\xED m\u1EDBi","action.export_over":"L\u01B0u m\xF4 h\xECnh","action.export_over.desc":"L\u01B0u m\xF4 h\xECnh, k\u1EBFt c\u1EA5u v\xE0 ho\u1EA1t \u1EA3nh b\u1EB1ng c\xE1ch ghi \u0111\xE8 l\xEAn c\xE1c t\u1EC7p","action.add_locator":"Th\xEAm \u0111\u1ECBnh v\u1ECB","action.add_locator.desc":"Th\xEAm m\u1ED9t b\u1ED9 \u0111\u1ECBnh v\u1ECB m\u1EDBi \u0111\u1EC3 ki\u1EC3m so\xE1t v\u1ECB tr\xED c\u1EE7a c\xE1c h\u1EA1t, d\xE2y x\xEDch, v.v.","action.uv_turn_mapping":"Xoay b\u1EA3n \u0111\u1ED3","action.uv_turn_mapping.desc":"Xoay b\u1EA3n \u0111\u1ED3 UV kho\u1EA3ng 90 \u0111\u1ED9","action.remove_blank_faces":"X\xF3a m\u1EB7t tr\u1ED1ng","action.remove_blank_faces.desc":"X\xF3a t\u1EA5t c\u1EA3 c\xE1c m\u1EB7t kh\xF4ng c\xF3 k\u1EBFt c\u1EA5u c\u1EE7a v\xF9ng ch\u1ECDn","web.download_app":"T\u1EA3i \u1EE9ng d\u1EE5ng","uv_editor.turned":"\u0110\xE3 xoay b\u1EA3n \u0111\u1ED3","display.reference.crossbow":"N\u1ECF","dialog.settings.search_results":"k\u1EBFt qu\u1EA3 t\xECm ki\u1EBFm","settings.animation_snap":"Ch\u1EE5p ho\u1EA1t \u1EA3nh","settings.animation_snap.desc":"Kho\u1EA3ng th\u1EDDi gian ch\u1EE5p m\u1EB7c \u0111\u1ECBnh cho c\xE1c khung h\xECnh ch\xEDnh trong th\u1EDDi gian ho\u1EA1t \u1EA3nh t\xEDnh theo m\u1ED7i gi\xE2y. \u0110i\u1EC1u n\xE0y c\u0169ng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i tr\xEAn m\u1ED7i ho\u1EA1t \u1EA3nh. Gi\xE1 tr\u1ECB m\u1EB7c \u0111\u1ECBnh l\xE0 24.","action.import_optifine_part":"Nh\u1EADp ph\u1EA7n OptiFine","action.import_optifine_part.desc":"Nh\u1EADp m\u1ED9t m\xF4 h\xECnh ph\u1EA7n th\u1EF1c th\u1EC3 cho OptiFine","data.locator":"\u0110\u1ECBnh v\u1ECB","mode.start.no_recents":"Kh\xF4ng c\xF3 m\xF4 h\xECnh m\u1EDF g\u1EA7n \u0111\xE2y","panel.element":"Thu\u1ED9c t\xEDnh","panel.element.position":"V\u1ECB tr\xED","panel.element.size":"K\xEDch th\u01B0\u1EDBc","panel.element.origin":"\u0110i\u1EC3m t\xE2m quay","panel.element.rotation":"Xoay","message.canvas_limit_error.title":"L\u1ED7i gi\u1EDBi h\u1EA1n canvas","message.canvas_limit_error.message":"Kh\xF4ng th\u1EC3 th\u1EF1c hi\u1EC7n h\xE0nh \u0111\u1ED9ng ch\xEDnh x\xE1c v\xEC \u0111\u1ECBnh d\u1EA1ng gi\u1EDBi h\u1EA1n canvas \u1EDF 48 \u0111\u01A1n v\u1ECB. Thay \u0111\u1ED5i \u0111i\u1EC3m trung t\xE2m quay \u0111\u1EC3 ng\u0103n ch\u1EB7n \u0111i\u1EC1u n\xE0y.","data.effect":"Hi\u1EC7u \u1EE9ng","generic.name":"T\xEAn","settings.recent_projects":"M\u1EABu g\u1EA7n \u0111\xE2y","settings.recent_projects.desc":"S\u1ED1 l\u01B0\u1EE3ng t\u1ED1i \u0111a c\xE1c m\xF4 h\xECnh g\u1EA7n \u0111\xE2y c\xF3 th\u1EC3 nh\u1EDB","settings.volume":"\xC2m l\u01B0\u1EE3ng","settings.volume.desc":"\u0110i\u1EC1u khi\u1EC3n \xE2m l\u01B0\u1EE3ng cho hi\u1EC7u \u1EE9ng \xE2m thanh trong ho\u1EA1t \u1EA3nh","action.clear_timeline":"X\xF3a d\xF2ng th\u1EDDi gian","action.clear_timeline.desc":"X\xF3a t\u1EA5t c\u1EA3 x\u01B0\u01A1ng kh\xF4ng \u0111\u01B0\u1EE3c ch\u1ECDn kh\u1ECFi d\xF2ng th\u1EDDi gian","action.select_effect_animator":"Hi\u1EC7u \u1EE9ng ho\u1EA1t \u1EA3nh","action.select_effect_animator.desc":"M\u1EDF d\xF2ng th\u1EDDi gian \u0111\u1EC3 th\xEAm hi\u1EC7u \u1EE9ng \xE2m thanh v\xE0 h\u1EA1t","action.timeline_focus":"L\u1ECDc k\xEAnh","action.timeline_focus.desc":"Ch\u1ECDn k\xEAnh ho\u1EA1t \u1EA3nh \u0111\u1EC3 hi\u1EC3n th\u1ECB trong d\xF2ng th\u1EDDi gian","timeline.particle":"H\u1EA1t","timeline.sound":"\xC2m thanh","timeline.effects":"Hi\u1EC7u \u1EE9ng","data.format":"\u0110\u1ECBnh d\u1EA1ng","format.optifine_part":"Ph\u1EA7n OptiFine","format.optifine_part.desc":"Ph\u1EA7n JPM cho c\xE1c m\xF4 h\xECnh th\u1EF1c th\u1EC3 OptiFine","action.reverse_keyframes":"khung h\xECnh ch\xEDnh \u0111\u1EA3o ng\u01B0\u1EE3c","action.reverse_keyframes.desc":"\u0110\u1EA3o ng\u01B0\u1EE3c th\u1EE9 t\u1EF1 c\u1EE7a c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","generic.help":"Tr\u1EE3 gi\xFAp","message.removed_faces":"\u0110\xE3 lo\u1EA1i b\u1ECF m\u1EB7t %0","dialog.sketchfab_uploader.draft":"B\u1EA3n th\u1EA3o","action.slider_pos":"Di chuy\u1EC3n %0","action.slider_pos.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED tr\xEAn tr\u1EE5c %0","action.slider_size":"K\xEDch th\u01B0\u1EDBc %0","action.slider_size.desc":"Thay \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc c\xE1c ph\u1EA7n t\u1EED tr\xEAn tr\u1EE5c %0","action.slider_rotation":"Xoay %0","action.slider_rotation.desc":"Xoay c\xE1c ph\u1EA7n t\u1EED tr\xEAn tr\u1EE5c %0","action.slider_origin":"T\xE2m quay %0","action.slider_origin.desc":"Di chuy\u1EC3n t\xE2m quay %0","action.rotate_cw":"Xoay %0 +90","action.rotate_cw.desc":"Xoay c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn 90\xB0 tr\xEAn tr\u1EE5c %0","action.rotate_ccw":"Xoay %0 -90","action.rotate_ccw.desc":"Xoay c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn -90\xB0 tr\xEAn tr\u1EE5c %0","action.flip":"L\u1EADt %0","action.flip.desc":"L\u1EADt c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn tr\xEAn tr\u1EE5c %0","action.center":"Trung t\xE2m %0","action.center.desc":"\u0110\u1EB7t trung t\xE2m c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn tr\xEAn tr\u1EE5c %0","action.bring_up_all_animations":"Mang l\xEAn t\u1EA5t c\u1EA3 c\xE1c ho\u1EA1t \u1EA3nh","panel.bone":"X\u01B0\u01A1ng","data.color":"M\xE0u","generic.export":"Xu\u1EA5t","generic.none":"kh\xF4ng c\xF3","status_bar.recording":"Quay Timelapse","message.add_to_palette":"\u0110\xE3 th\xEAm v\xE0o b\u1EA3ng m\xE0u","message.size_modifiers":"Gi\u1EEF ph\xEDm Ctrl ho\u1EB7c Shift \u0111\u1EC3 chuy\u1EC3n \u0111\u1ED5i theo c\xE1c b\u01B0\u1EDBc nh\u1ECF h\u01A1n.","message.timelapse_start":"B\u1EAFt \u0111\u1EA7u Timelapse","message.timelapse_stop":"T\u1EA1m d\u1EEBng Timelapse","message.import_palette.replace_palette":"Thay th\u1EBF b\u1EA3ng m\xE0u c\u0169","message.import_palette.threshold":"Ng\u01B0\u1EE1ng h\u1EE3p nh\u1EA5t","dialog.timelapse.interval":"Kho\u1EA3ng th\u1EDDi gian (Gi\xE2y)","dialog.timelapse.source":"Ngu\u1ED3n","dialog.timelapse.source.interface":"Giao di\u1EC7n","dialog.timelapse.source.locked":"G\xF3c kh\xF3a","dialog.timelapse.destination":"Th\u01B0 m\u1EE5c \u0111\xEDch","layout.color.checkerboard":"N\u1EC1n caro","layout.color.checkerboard.desc":"N\u1EC1n c\u1EE7a canvas v\xE0 tr\xECnh ch\u1EC9nh s\u1EEDa UV","layout.font.code":"M\xE3 ph\xF4ng ch\u1EEF","layout.css":"CSS t\xF9y ch\u1EC9nh","settings.category.paint":"V\u1EBD","settings.deactivate_size_limit":"V\xF4 hi\u1EC7u h\xF3a gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc","settings.deactivate_size_limit.desc":"V\xF4 hi\u1EC7u h\xF3a gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc cho c\xE1c \u0111\u1ECBnh d\u1EA1ng m\xF4 h\xECnh c\u1EE5 th\u1EC3. C\u1EA2NH B\xC1O: \u0110i\u1EC1u n\xE0y c\xF3 th\u1EC3 khi\u1EBFn m\xF4 h\xECnh kh\xF4ng h\u1EE3p l\u1EC7.","settings.brush_opacity_modifier":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 m\u1EDD c\u1EE7a c\u1ECD v\u1EBD","settings.brush_opacity_modifier.desc":"S\u1EEDa \u0111\u1ED5i \u0111\u1ED9 m\u1EDD c\u1EE7a c\u1ECD v\u1EBD khi s\u1EED d\u1EE5ng b\xFAt c\u1EA3m \u1EE9ng","settings.brush_size_modifier":"S\u1EEDa \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc c\u1ECD v\u1EBD","settings.brush_size_modifier.desc":"S\u1EEDa \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc c\u1ECD v\u1EBD khi s\u1EED d\u1EE5ng b\xFAt c\u1EA3m \u1EE9ng","settings.brush_modifier.pressure":"L\u1EF1c nh\u1EA5n","settings.brush_modifier.tilt":"Nghi\xEAng","category.color":"M\xE0u","action.import_theme":"Nh\u1EADp ch\u1EE7 \u0111\u1EC1","action.export_theme":"Xu\u1EA5t ch\u1EE7 \u0111\u1EC1","action.export_theme.desc":"T\u1EA1o t\u1EC7p ch\u1EE7 \u0111\u1EC1 d\u1EF1a tr\xEAn c\xE0i \u0111\u1EB7t hi\u1EC7n t\u1EA1i","action.slider_color_h":"T\xF4ng m\xE0u","action.slider_color_s":"\u0110\u1ED9 b\xE3o ho\xE0","action.slider_color_v":"S\u1EAFc \u0111\u1ED9","action.add_to_palette":"Th\xEAm v\xE0o b\u1EA3ng m\xE0u","action.add_to_palette.desc":"Th\xEAm m\xE0u \u0111\xE3 ch\u1ECDn v\xE0o b\u1EA3ng m\xE0u","action.import_palette":"Nh\u1EADp b\u1EA3ng m\xE0u","action.import_palette.desc":"Nh\u1EADp t\u1EC7p b\u1EA3ng m\xE0u","action.export_palette":"Xu\u1EA5t b\u1EA3ng m\xE0u","action.export_palette.desc":"Xu\u1EA5t b\u1EA3ng d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p .GPL","action.generate_palette":"T\u1EA1o b\u1EA3ng m\xE0u...","action.generate_palette.desc":"T\u1EA1o b\u1EA3ng m\xE0u t\u1EEB k\u1EBFt c\u1EA5u","action.sort_palette":"S\u1EAFp x\u1EBFp b\u1EA3ng","action.sort_palette.desc":"S\u1EAFp x\u1EBFp m\xE0u tr\xEAn b\u1EA3ng m\xE0u theo m\xE0u s\u1EAFc v\xE0 \u0111\u1ED9 s\xE1ng","action.timelapse":"Timelapse...","action.timelapse.desc":"Ghi timelapse qu\xE1 tr\xECnh l\u1EADp m\xF4 h\xECnh c\u1EE7a b\u1EA1n","action.add_keyframe":"Th\xEAm khung h\xECnh ch\xEDnh","action.add_keyframe.desc":"T\u1EF1 \u0111\u1ED9ng th\xEAm khung h\xECnh ch\xEDnh. Nh\u1EA5n shift \u0111\u1EC3 c\xE1c gi\xE1 tr\u1ECB th\xE0nh m\u1EB7c \u0111\u1ECBnh","action.bring_up_all_animations.desc":"\u0110\u01B0a t\u1EA5t c\u1EA3 c\xE1c ho\u1EA1t \u1EA3nh \u0111\xE3 s\u1EEDa \u0111\u1ED5i v\xE0o d\xF2ng th\u1EDDi gian","timeline.timeline":"H\u01B0\u1EDBng d\u1EABn","menu.palette.load.default":"M\u1EB7c \u0111\u1ECBnh","generic.import":"Nh\u1EADp","settings.brush_modifier.none":"kh\xF4ng c\xF3","action.export_entity":"Xu\u1EA5t th\u1EF1c th\u1EC3 Bedrock","action.export_entity.desc":"Th\xEAm m\xF4 h\xECnh th\u1EF1c th\u1EC3 hi\u1EC7n t\u1EA1i v\xE0o t\u1EC7p mobs.json","settings.highlight_cubes":"L\xE0m n\u1ED5i b\u1EADt y\u1EBFu t\u1ED1","settings.highlight_cubes.desc":"L\xE0m n\u1ED5i b\u1EADt c\xE1c ph\u1EA7n t\u1EED khi b\u1EA1n di chu\u1ED9t qua ho\u1EB7c ch\u1ECDn ch\xFAng","action.add_marker":"\u0110\u1EB7t d\u1EA5u","action.add_marker.desc":"\u0110\u1EB7t \u0111i\u1EC3m \u0111\xE1nh d\u1EA5u d\xF2ng th\u1EDDi gian","timeline.pre_effect_script":"K\u1ECBch b\u1EA3n","format.skin":"Minecraft Skin","format.skin.desc":"Ch\u1EC9nh s\u1EEDa giao di\u1EC7n ng\u01B0\u1EDDi ch\u01A1i v\xE0 th\u1EF1c th\u1EC3","message.sketchfab.setup_guide":"B\u1EA1n mu\u1ED1n h\u1ECDc c\xE1ch thi\u1EBFt l\u1EADp c\xE1c m\xF4 h\xECnh trong Sketchfab? \u0110\u1ECDc %0","dialog.skin.title":"T\u1EA1o skin Minecraft","dialog.skin.model":"M\xF4 h\xECnh","action.toggle_skin_layer":"Chuy\u1EC3n l\u1EDBp skin","action.toggle_skin_layer.desc":"Chuy\u1EC3n \u0111\u1ED5i l\u1EDBp m\u0169 v\xE0 qu\u1EA7n \xE1o c\u1EE7a m\xF4 h\xECnh skin","action.gui_light":"GUI s\xE1ng","action.gui_light.desc":"Ch\u1ECDn ngu\u1ED3n s\xE1ng cho v\u1EADt ph\u1EA9m trong kho","action.gui_light.side":"S\xE1ng b\xEAn","action.gui_light.front":"S\xE1ng tr\u01B0\u1EDBc","action.move_keyframe_back":"Di chuy\u1EC3n khung h\xECnh ch\xEDnh tr\u1EDF l\u1EA1i","action.move_keyframe_forth":"Di chuy\u1EC3n khung h\xECnh ch\xEDnh ti\u1EBFn t\u1EDBi","menu.help":"Tr\u1EE3 gi\xFAp","menu.help.discord":"Discord","menu.help.report_issue":"B\xE1o c\xE1o m\u1ED9t v\u1EA5n \u0111\u1EC1","menu.help.plugin_documentation":"T\xE0i li\u1EC7u API plugin","menu.help.search_action":"T\xECm ki\u1EBFm v\xE0 ch\u1EA1y h\xE0nh \u0111\u1ED9ng","menu.help.donate":"Donate","menu.help.about":"Gi\u1EDBi thi\u1EC7u...","menu.preview.background.clipboard":"T\u1EA3i t\u1EEB b\u1EA3ng t\u1EA1m","dialog.ignore":"Ph\u1EDBt l\u1EDD","generic.unset":"B\u1ECF \u0111\u1EB7t","message.invalid_builtin_parent.title":"M\xF4 h\xECnh g\u1ED1c kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_builtin_parent.message":"Li\xEAn k\u1EBFt \u0111\u1EBFn m\xF4 h\xECnh g\u1ED1c '%0' kh\xF4ng h\u1EE3p l\u1EC7 \u0111\xE3 b\u1ECB x\xF3a \u0111\u1EC3 xu\u1EA5t m\u1ED9t m\xF4 h\xECnh h\u1EE3p l\u1EC7.","dialog.resize_texture.fill":"L\xE0m \u0111\u1EA7y v\u1EDBi","dialog.resize_texture.fill.transparent":"Trong su\u1ED1t","dialog.resize_texture.fill.color":"M\xE0u","dialog.resize_texture.fill.repeat":"L\u1EB7p l\u1EA1i","dialog.scale.element_pivot":"Y\u1EBFu t\u1ED1 t\xE2m quay","dialog.scale.selection_center":"Ch\u1ECDn trung t\xE2m","dialog.create_gif.length_mode":"Thi\u1EBFt l\u1EADp \u0111\u1ED9 d\xE0i","dialog.create_gif.length_mode.seconds":"Gi\xE2y","dialog.create_gif.length_mode.frames":"khung h\xECnh ch\xEDnh","dialog.create_gif.length_mode.animation":"Ho\u1EA1t \u1EA3nh d\xE0i","dialog.create_gif.length_mode.turntable":"Xoay v\xF2ng","dialog.save_angle.projection":"D\u1EF1 \xE1n","dialog.save_angle.projection.perspective":"Ph\u1ED1i c\u1EA3nh","dialog.save_angle.projection.orthographic":"Tr\u1EF1c giao","dialog.sketchfab_uploader.animations":"Ho\u1EA1t \u1EA3nh","dialog.settings.theme":"Ch\u1EE7 \u0111\u1EC1","settings.category.interface":"Giao di\u1EC7n","settings.preview_checkerboard":"Xem tr\u01B0\u1EDBc n\u1EC1n caro","settings.preview_checkerboard.desc":"Chuy\u1EC3n \u0111\u1ED5i n\u1EC1n caro \u0111\u1EB1ng sau b\u1EA3n xem tr\u01B0\u1EDBc","settings.uv_checkerboard":"Ch\u1EC9nh UV n\u1EC1n caro","settings.uv_checkerboard.desc":"Chuy\u1EC3n \u0111\u1ED5i n\u1EC1n caro ph\xEDa sau tr\xECnh ch\u1EC9nh s\u1EEDa UV","category.paint":"V\u1EBD","action.fill_mode.color_connected":"K\u1EBFt n\u1ED1i m\xE0u s\u1EAFc","action.draw_shape_type":"Lo\u1EA1i h\xECnh d\u1EA1ng","action.draw_shape_type.rectangle":"H\xECnh vu\xF4ng","action.draw_shape_type.rectangle_h":"H\xECnh vu\xF4ngt(R\u1ED7ng)","action.draw_shape_type.ellipse":"H\xECnh elip","action.draw_shape_type.ellipse_h":"H\xECnh elip(R\u1ED7ng)","action.draw_shape_type.line":"\u0110\u01B0\u1EDDng k\u1EBB","action.mirror_painting":"Tranh g\u01B0\u01A1ng","action.mirror_painting.description":"Ph\u1EA3n chi\u1EBFu c\xE1c n\xE9t v\u1EBD c\u1EE7a b\u1EA1n sang ph\xEDa b\xEAn kia c\u1EE7a m\xF4 h\xECnh","action.lock_alpha":"Kh\xF3a k\xEAnh Alpha","action.lock_alpha.description":"Kh\xF3a \u0111\u1ED9 trong su\u1ED1t c\u1EE7a t\u1EA5t c\u1EA3 c\xE1c \u0111i\u1EC3m \u1EA3nh","action.draw_shape_tool":"V\u1EBD h\xECnh","action.draw_shape_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 v\u1EBD c\xE1c h\xECnh \u0111\u01A1n gi\u1EA3n tr\xEAn k\u1EBFt c\u1EA5u","action.export_gltf":"Xu\u1EA5t m\xF4 h\xECnh glTF","action.export_gltf.desc":"Xu\u1EA5t m\xF4 h\xECnh v\xE0 ho\u1EA1t \u1EA3nh d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p glTF \u0111\u1EC3 chia s\u1EBB v\xE0 hi\u1EC3n th\u1ECB","action.transform_space":"Thay \u0111\u1ED5i kh\xF4ng gian","action.transform_space.desc":"Kh\xF4ng gian bi\u1EBFn \u0111\u1ED5i m\u1EB7c \u0111\u1ECBnh cho kh\u1ED1i v\xE0 x\u01B0\u01A1ng","action.transform_space.global":"T\u1ED5ng th\u1EC3","action.transform_space.local":"C\u1EE5c b\u1ED9","action.toggle_camera_projection":"Chuy\u1EC3n \u0111\u1ED5i ph\xE9p chi\u1EBFu camera","action.toggle_camera_projection.desc":"Chuy\u1EC3n \u0111\u1ED5i ph\xE9p chi\u1EBFu camera gi\u1EEFa ph\u1ED1i c\u1EA3nh v\xE0 tr\u1EF1c giao","action.load_camera_angle":"G\xF3c camera: %0","action.load_camera_angle.desc":"T\u1EA3i g\xF3c camera '%0'","action.slider_face_tint":"Ch\u1EC9 s\u1ED1 m\xE0u s\xE1ng","action.slider_face_tint.desc":"\u0110\u1EB7t m\u1EE5c ch\u1EC9 s\u1ED1 c\u1EE7a m\u1EB7t hi\u1EC7n t\u1EA1i. -1 c\xF3 ngh\u0129a l\xE0 kh\xF4ng \u0111\u1EB7t.","menu.help.quickstart":"H\u01B0\u1EDBng d\u1EABn nhanh","menu.help.developer":"Nh\xE0 ph\xE1t tri\u1EC3n","menu.help.developer.dev_tools":"M\u1EDF c\xF4ng c\u1EE5 d\xE0nh cho nh\xE0 ph\xE1t tri\u1EC3n","menu.help.developer.reset_storage":"Kh\xF4i ph\u1EE5c c\xE0i \u0111\u1EB7t g\u1ED1c","menu.help.developer.reset_storage.confirm":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n \u0111\u1EB7t l\u1EA1i Blockbench v\u1EC1 c\xE0i \u0111\u1EB7t g\u1ED1c kh\xF4ng? Thao t\xE1c n\xE0y s\u1EBD x\xF3a t\u1EA5t c\u1EA3 c\xE0i \u0111\u1EB7t t\xF9y ch\u1EC9nh, t\u1ED5 h\u1EE3p ph\xEDm v\xE0 plugin \u0111\xE3 c\xE0i \u0111\u1EB7t.","menu.help.developer.cache_reload":"T\u1EA3i l\u1EA1i b\u1ED9 nh\u1EDB \u0111\u1EC7m","menu.preview.orthographic":"Tr\u1EF1c Giao","menu.preview.save_angle":"L\u01B0u nh\xECn...","menu.preview.angle":"G\xF3c nh\xECn","menu.preview.angle.initial":"G\xF3c ban \u0111\u1EA7u","menu.preview.maximize":"T\u1ED1i \u0111a h\xF3a","uv_editor.copy_selection":"Sao ch\xE9p l\u1EF1a ch\u1ECDn","uv_editor.paste_selection":"D\xE1n l\u1EF1a ch\u1ECDn","uv_editor.copy_paste_tool.place":"Ki\u1EC3m tra","uv_editor.copy_paste_tool.mirror_x":"G\u01B0\u01A1ng X","uv_editor.copy_paste_tool.mirror_y":"G\u01B0\u01A1ng Y","uv_editor.copy_paste_tool.rotate":"Xoay 90 \u0111\u1ED9","dialog.project.modded_entity_version":"Xu\u1EA5t phi\xEAn b\u1EA3n","dialog.save_angle.position":"V\u1ECB tr\xED m\xE1y \u1EA3nh","dialog.save_angle.target":"Ti\xEAu \u0111i\u1EC3m","dialog.skin.pose":"T\u01B0 th\u1EBF","layout.color.frame":"Khung c\u1EEDa s\u1ED5","layout.color.frame.desc":"\u0110\u01B0\u1EDDng vi\u1EC1n v\xE0 thanh ti\xEAu \u0111\u1EC1 c\u1EE7a c\u1EEDa s\u1ED5","settings.large_grid_size":"K\xEDch th\u01B0\u1EDBc kh\u1ED1i l\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB","settings.large_grid_size.desc":"K\xEDch th\u01B0\u1EDBc c\u1EE7a kh\u1ED1i l\u01B0\u1EDBi","action.load_plugin_from_url":"T\u1EA3i Plugin t\u1EEB URL","action.load_plugin_from_url.desc":"T\u1EA3i plugin t\u1EEB m\xE1y ch\u1EE7 b\u1EB1ng c\xE1ch ch\u1EC9 \u0111\u1ECBnh URL","action.cube_counter.desc":"Hi\u1EC3n th\u1ECB s\u1ED1 l\u01B0\u1EE3ng ph\u1EA7n t\u1EED hi\u1EC7n t\u1EA1i v\xE0 c\xE1c th\u1ED1ng k\xEA kh\xE1c","action.unlock_everything":"M\u1EDF kh\xF3a t\u1EA5t c\u1EA3","action.unlock_everything.desc":"M\u1EDF kh\xF3a t\u1EA5t c\u1EA3 c\xE1c nh\xF3m v\xE0 ph\u1EA7n t\u1EED ph\u1EA7n ngo\xE0i.","action.load_palette":"T\u1EA3i b\u1EA3ng m\xE0u","action.load_palette.desc":"T\u1EA3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB c\xE0i s\u1EB5n b\u1EA3ng m\xE0u \u0111\u01B0\u1EE3c t\xEDch h\u1EE3p ho\u1EB7c \u0111\xE3 l\u01B0u","action.toggle_locked":"Chuy\u1EC3n \u0111\u1ED5i kh\xF3a","action.toggle_locked.desc":"Chuy\u1EC3n \u0111\u1ED5i xem c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn c\xF3 b\u1ECB kh\xF3a hay kh\xF4ng","action.apply_display_preset":"\xC1p d\u1EE5ng gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","action.apply_display_preset.desc":"\xC1p d\u1EE5ng c\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB m\u1EB7c \u0111\u1ECBnh ho\u1EB7c gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","action.apply_display_preset.here":"\xC1p d\u1EE5ng cho v\u1ECB tr\xED n\xE0y","action.apply_display_preset.everywhere":"\xC1p d\u1EE5ng cho t\u1EA5t c\u1EA3 c\xE1c v\u1ECB tr\xED","action.resolve_keyframe_expressions":"Gi\u1EA3i quy\u1EBFt khung h\xECnh ch\xEDnh","action.resolve_keyframe_expressions.desc":"Gi\u1EA3i quy\u1EBFt c\xE1c bi\u1EC3u th\u1EE9c to\xE1n h\u1ECDc c\u1EE7a khung h\xECnh ch\xEDnh \u0111\u01B0\u1EE3c ch\u1ECDn","action.fold_all_animations":"Thu g\u1ECDn t\u1EA5t c\u1EA3 ho\u1EA1t \u1EA3nh","menu.palette.load.empty":"Tr\u1ED1ng","switches.lock":"Kh\xF3a","settings.render_sides":"K\u1EBFt xu\u1EA5t b\xEAn","settings.render_sides.desc":"Ch\u1ECDn nh\u1EEFng m\u1EB7t \u0111\u01B0\u1EE3c hi\u1EC3n th\u1ECB","settings.render_sides.auto":"T\u1EF1 \u0111\u1ED9ng","settings.render_sides.front":"Ngo\xE0i","settings.render_sides.double":"Trong v\xE0 ngo\xE0i","generic.enable":"Cho ph\xE9p","generic.disable":"T\u1EAFt","generic.redacted":"\u0110i\u1EC1u ch\u1EC9nh l\u1EA1i","dialog.select_texture.import_all":"Nh\u1EADp t\u1EA5t c\u1EA3","dialog.skin.layer_template":"L\u1EDBp k\u1EBFt c\u1EA5u","about.version.up_to_date":"C\u1EADp nh\u1EADt","about.version.update_available":"Phi\xEAn b\u1EA3n %0 c\xF3 s\u1EB5n","settings.category.application":"\u1EE8ng d\u1EE5ng","settings.streamer_mode":"Ch\u1EBF \u0111\u1ED9 ph\xE1t tr\u1EF1c tuy\u1EBFn","settings.streamer_mode.desc":"\u1EA8n th\xF4ng tin nh\u1EA1y c\u1EA3m nh\u01B0 c\xE1c m\xF4 h\xECnh g\u1EA7n \u0111\xE2y","settings.automatic_updates":"T\u1EF1 \u0111\u1ED9ng c\u1EADp nh\u1EADt","settings.automatic_updates.desc":"T\u1EF1 \u0111\u1ED9ng t\u1EA3i xu\u1ED1ng phi\xEAn b\u1EA3n m\u1EDBi v\xE0 c\u1EADp nh\u1EADt Blockbench","action.rotation_space":"Kh\xF4ng gian xoay","action.focus_on_selection":"Xem trung t\xE2m v\xF9ng ch\u1ECDn","action.focus_on_selection.desc":"C\u0103n ch\u1EC9nh camera \u0111\u1ED1i di\u1EC7n v\u1EDBi t\xE2m c\u1EE7a v\xF9ng ch\u1ECDn hi\u1EC7n t\u1EA1i","action.jump_to_timeline_start":"\u0110\u1EBFn \u0111i\u1EC3m \u0111\u1EA7u ho\u1EA1t \u1EA3nh","action.jump_to_timeline_end":"\u0110\u1EBFn \u0111i\u1EC3m cu\u1ED1i ho\u1EA1t \u1EA3nh","menu.help.updating":"\u0110ang c\u1EADp nh\u1EADt (%0%)","menu.help.update_failed":"C\u1EADp nh\u1EADt th\u1EA5t b\u1EA1i","menu.animation.loop.once":"Ch\u1EA1y m\u1ED9t l\u1EA7n","menu.animation.loop.hold":"Gi\u1EEF khung h\xECnh cu\u1ED1i","menu.animation.loop.loop":"L\u1EB7p","interface.streamer_mode_on":"\u0110\xE3 b\u1EADt ch\u1EBF \u0111\u1ED9 truy\u1EC1n ph\xE1t","generic.reset":"\u0110\u1EB7t l\u1EA1i","generic.restore":"Kh\xF4i Ph\u1EE5c","keys.mousewheel":"Con l\u0103n chu\u1ED9t","message.delete_animation.title":"Xo\xE1 ho\u1EA1t \u1EA3nh","message.delete_animation.message":"Ho\u1EA1t \u1EA3nh \u0111\xE3 b\u1ECB x\xF3a kh\u1ECFi Blockbench. B\u1EA1n c\u0169ng mu\u1ED1n x\xF3a ho\u1EA1t \u1EA3nh kh\u1ECFi t\u1EC7p \u0111\xE3 l\u01B0u kh\xF4ng?","message.no_animation_to_import":"Kh\xF4ng c\xF3 ho\u1EA1t \u1EA3nh \u0111\u1EC3 nh\u1EADp","dialog.material_instances.title":"Ch\u1EC9nh s\u1EEDa tr\u01B0\u1EDDng h\u1EE3p v\u1EADt li\u1EC7u","dialog.animation_import.title":"Ch\u1ECDn ho\u1EA1t \u1EA3nh \u0111\u1EC3 nh\u1EADp","dialog.create_texture.padding":"\u0110\u1EC7m","settings.fov":"FOV","settings.fov.desc":"Tr\u01B0\u1EDDng nh\xECn c\u1EE7a m\xE1y \u1EA3nh. M\u1EB7c \u0111\u1ECBnh l\xE0 45","settings.minify_bbmodel":"T\u1EC7p d\u1EF1 \xE1n \u0111\u01B0\u1EE3c r\xFAt g\u1ECDn","settings.minify_bbmodel.desc":"Vi\u1EBFt t\u1EC7p .bbmodel \u0111\u01B0\u1EE3c r\xFAt g\u1ECDn th\xE0nh m\u1ED9t d\xF2ng","action.edit_material_instances":"Ch\u1EC9nh s\u1EEDa tr\u01B0\u1EDDng h\u1EE3p v\u1EADt li\u1EC7u","action.edit_material_instances.desc":"Ch\u1EC9nh s\u1EEDa t\xEAn \u0111\u1ED1i t\u01B0\u1EE3ng v\u1EADt li\u1EC7u cho h\xECnh d\u1EA1ng kh\u1ED1i n\u1EC1n","action.save_all_animations":"L\u01B0u t\u1EA5t c\u1EA3 ho\u1EA1t \u1EA3nh","action.save_all_animations.desc":"L\u01B0u t\u1EA5t c\u1EA3 c\xE1c ho\u1EA1t \u1EA3nh \u0111\u1ED9ng hi\u1EC7n \u0111ang t\u1EA3i","action.keyframe_interpolation":"N\u1ED9i suy","action.keyframe_interpolation.desc":"Ch\u1ECDn ch\u1EBF \u0111\u1ED9 n\u1ED9i suy khung h\xECnh ch\xEDnh","action.keyframe_interpolation.linear":"Tuy\u1EBFn t\xEDnh","action.keyframe_interpolation.catmullrom":"Tr\u01A1n tru","action.timeline_focus.hide_empty":"\u1EA8n c\xE1c k\xEAnh tr\u1ED1ng","menu.file.preferences":"Thi\u1EBFt l\u1EADp ng\u01B0\u1EDDi d\xF9ng","menu.animation.blend_weight":"Tr\u1ECDng l\u01B0\u1EE3ng h\u1ED7n h\u1EE3p","menu.animation.save":"L\u01B0u","menu.animation.properties":"Thu\u1ED9c t\xEDnh...","menu.animation.file":"T\u1EC7p","menu.animation.snapping":"Ch\u1EE5p nhanh","menu.animation.open_location":"Hi\u1EC3n th\u1ECB trong File Explorer","panel.keyframe.add_data_point":"Th\xEAm \u0111i\u1EC3m d\u1EEF li\u1EC7u khung h\xECnh ch\xEDnh","panel.keyframe.remove_data_point":"X\xF3a \u0111i\u1EC3m d\u1EEF li\u1EC7u","panel.keyframe.pre":"\u0110\u1EBFn","panel.keyframe.post":"Sau \u0111\xF3","generic.all":"T\u1EA5t c\u1EA3","message.small_face_dimensions.title":"K\xEDch th\u01B0\u1EDBc m\u1EB7t kh\xF4ng t\u01B0\u01A1ng th\xEDch","message.small_face_dimensions.message":"V\xF9ng ch\u1ECDn ch\u1EE9a c\xE1c m\u1EB7t c\xF3 k\xEDch th\u01B0\u1EDBc nh\u1ECF h\u01A1n 1 \u0111\u01A1n v\u1ECB theo m\u1ED9t h\u01B0\u1EDBng. H\u1EC7 th\u1ED1ng l\u1EADp b\u1EA3n \u0111\u1ED3 H\u1ED9p UV coi b\u1EA5t k\u1EF3 m\u1EB7t n\xE0o d\u01B0\u1EDBi ng\u01B0\u1EE1ng \u0111\xF3 l\xE0 r\u1ED9ng 0 \u0111i\u1EC3m \u1EA3nh. Do \u0111\xF3, k\u1EBFt c\u1EA5u tr\xEAn nh\u1EEFng m\u1EB7t \u0111\xF3 c\xF3 th\u1EC3 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng ch\xEDnh x\xE1c.","message.small_face_dimensions.face_uv":'\u0110\u1ECBnh d\u1EA1ng hi\u1EC7n t\u1EA1i h\u1ED7 tr\u1EE3 b\u1EA3n \u0111\u1ED3 UV tr\xEAn m\u1ED7i khu\xF4n m\u1EB7t c\xF3 th\u1EC3 x\u1EED l\xFD k\xEDch th\u01B0\u1EDBc khu\xF4n m\u1EB7t nh\u1ECF. V\xE0o "T\u1EC7p"> "D\u1EF1 \xE1n..." v\xE0 thay \u0111\u1ED5i "Ch\u1EBF \u0111\u1ED9 UV" th\xE0nh "UV theo b\u1EC1 m\u1EB7t".',"dialog.plugins.outdated_client":"Y\xEAu c\u1EA7u phi\xEAn b\u1EA3n Blockbench m\u1EDBi h\u01A1n","dialog.plugins.outdated_plugin":"Plugin \u0111\xE3 l\u1ED7i th\u1EDDi v\xE0 kh\xF4ng ho\u1EA1t \u0111\u1ED9ng v\u1EDBi phi\xEAn b\u1EA3n Blockbench n\xE0y","settings.motion_trails":"\u0110\u01B0\u1EDDng chuy\u1EC3n \u0111\u1ED9ng","settings.motion_trails.desc":"Hi\u1EC3n th\u1ECB c\xE1c v\u1EC7t chuy\u1EC3n \u0111\u1ED9ng trong tr\xECnh ch\u1EC9nh s\u1EEDa ho\u1EA1t \u1EA3nh","settings.antialiasing":"Kh\u1EED r\u0103ng c\u01B0a","settings.antialiasing.desc":"Chuy\u1EC3n \u0111\u1ED5i kh\u1EED r\u0103ng c\u01B0a trong b\u1EA3n xem tr\u01B0\u1EDBc. Kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Blockbench \u0111\u1EC3 \xE1p d\u1EE5ng c\xE1c thay \u0111\u1ED5i","action.timeline_frame_back":"G\u1EEDi l\xF9i 1 khung h\xECnh","action.timeline_frame_forth":"G\u1EEDi 1 khung v\u1EC1 ph\xEDa tr\u01B0\u1EDBc","panel.bone.ik":"\u0110\u1ED9ng h\u1ECDc ngh\u1ECBch \u0111\u1EA3o (Th\u1EED nghi\u1EC7m)","settings.particle_tick_rate":"T\u1EF7 l\u1EC7 \u0111\xE1nh d\u1EA5u h\u1EA1t","settings.particle_tick_rate.desc":"T\u1ED1c \u0111\u1ED9 \u0111\xE1nh d\u1EA5u cho c\xE1c hi\u1EC7u \u1EE9ng h\u1EA1t t\xEDnh b\u1EB1ng t\xEDch t\u1EAFc tr\xEAn gi\xE2y. M\u1EB7c \u0111\u1ECBnh l\xE0 30","action.lock_motion_trail":"Kho\xE1 \u0111\u01B0\u1EDDng chuy\u1EC3n \u0111\u1ED9ng","action.lock_motion_trail.desc":"Kho\xE1 \u0111\u01B0\u1EDDng chuy\u1EC3n \u0111\u1ED9ng v\xE0o nh\xF3m hi\u1EC7n \u0111\u01B0\u1EE3c ch\u1ECDn","menu.animation_file.unload":"D\u1EE1 b\u1ECF t\u1EADp tin","data.null_object":"\u0110\u1ED1i t\u01B0\u1EE3ng r\u1ED7ng","status_bar.toggle_sidebar":"Chuy\u1EC3n \u0111\u1ED5i thanh b\xEAn","message.load_plugin_failed.title":"Kh\xF4ng th\u1EC3 t\u1EA3i plugin","message.load_plugin_failed.message":"\u0110\u1EA3m b\u1EA3o r\u1EB1ng t\xEAn t\u1EC7p c\u01A1 s\u1EDF c\u1EE7a plugin kh\u1EDBp v\u1EDBi ID plugin `%0`, nh\u01B0 \u0111\u01B0\u1EE3c ch\u1EC9 \u0111\u1ECBnh trong Plugin.register().","dialog.project.uv_mode":"Ch\u1EBF \u0111\u1ED9 UV","dialog.project.uv_mode.box_uv":"H\u1ED9p UV","dialog.project.uv_mode.face_uv":"UV theo b\u1EC1 m\u1EB7t","dialog.project.texture_size":"K\xEDch th\u01B0\u1EDBc k\u1EBFt c\u1EA5u","dialog.animation_export.title":"Ch\u1ECDn m\u1ED9t ho\u1EA1t \u1EA3nh \u0111\u1EC3 xu\u1EA5t","dialog.create_texture.rearrange_uv":"S\u1EAFp x\u1EBFp l\u1EA1i UV","layout.color.subtle_text":"v\u0103n b\u1EA3n chi ti\u1EBFt","layout.color.subtle_text.desc":"M\xE0u ch\u1EEF ph\u1EE5 c\xF3 \u0111\u1ED9 t\u01B0\u01A1ng ph\u1EA3n th\u1EA5p","settings.interface_scale":"Quy m\xF4 giao di\u1EC7n","settings.interface_scale.desc":"Quy m\xF4 c\u1EE7a to\xE0n b\u1ED9 giao di\u1EC7n Blockbench","settings.background_rendering":"K\u1EBFt xu\u1EA5t n\u1EC1n","settings.background_rendering.desc":"C\u1EADp nh\u1EADt b\u1EA3n xem tr\u01B0\u1EDBc trong khi c\u1EEDa s\u1ED5 kh\xF4ng \u0111\u01B0\u1EE3c ch\u1ECDn","settings.ctrl_shift_size":"Control + Shift \u0111\u1ED9 ph\xE2n gi\u1EA3i","settings.ctrl_shift_size.desc":"\u0110\u1ED9 ph\xE2n gi\u1EA3i c\u1EE7a l\u01B0\u1EDBi trong khi gi\u1EEF Control v\xE0 Shift","settings.hardware_acceleration":"T\u0103ng t\u1ED1c ph\u1EA7n c\u1EE9ng","settings.hardware_acceleration.desc":"Thu\xEA ngo\xE0i c\xF4ng vi\u1EC7c d\u1EF1ng h\xECnh cho card \u0111\u1ED3 h\u1ECDa. Kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Blockbench \u0111\u1EC3 c\xE1c thay \u0111\u1ED5i c\xF3 hi\u1EC7u l\u1EF1c","action.explode_skin_model":"Chia m\xF4 h\xECnh skin","action.explode_skin_model.desc":"Chuy\u1EC3n \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 xem b\xF9ng n\u1ED5 cho ph\xE9p b\u1EA1n ch\u1EC9nh s\u1EEDa c\xE1c m\u1EB7t \u0111\u01B0\u1EE3c che","action.export_minecraft_skin":"Xu\u1EA5t skin Minecraft","action.export_minecraft_skin.desc":"Xu\u1EA5t skin Minecraft d\u01B0\u1EDBi d\u1EA1ng k\u1EBFt c\u1EA5u PNG","action.add_null_object":"Th\xEAm \u0111\u1ED1i t\u01B0\u1EE3ng r\u1ED7ng","action.add_null_object.desc":"Th\xEAm \u0111\u1ED1i t\u01B0\u1EE3ng r\u1ED7ng m\u1EDBi","action.animated_texture_frame":"Khung k\u1EBFt c\u1EA5u \u0111\u1ED9ng","action.animated_texture_frame.desc":"\u0110\u1EB7t khung hi\u1EC7n t\u1EA1i c\u1EE7a k\u1EBFt c\u1EA5u \u0111\u1ED9ng","action.export_animation_file":"Xu\u1EA5t ho\u1EA1t \u1EA3nh...","action.export_animation_file.desc":"Xu\u1EA5t c\xE1c ho\u1EA1t \u1EA3nh \u0111\xE3 ch\u1ECDn sang m\u1ED9t t\u1EC7p m\u1EDBi","action.timeline_graph_editor":"\u0110\u1ED5i tr\xECnh s\u1EEDa bi\u1EC3u \u0111\u1ED3","action.timeline_graph_editor.desc":"Chuy\u1EC3n \u0111\u1ED5i d\xF2ng th\u1EDDi gian gi\u1EEFa ch\u1EBF \u0111\u1ED9 xem ch\u1EC9nh s\u1EEDa bi\u1EC3u \u0111\u1ED3 v\xE0 ch\u1EBF \u0111\u1ED9 xem khung h\xECnh ch\xEDnh","menu.file.recent.clear":"X\xF3a c\xE1c t\u1EC7p g\u1EA7n \u0111\xE2y","switches.shade":"\u0110\u1ED5 b\xF3ng","generic.share":"Chia s\u1EBB","dates.minute":"%0 ph\xFAt","dates.minutes":"%0 ph\xFAt","dates.hour":"%0 gi\u1EDD","dates.hours":"%0 gi\u1EDD","dates.day":"%0 ng\xE0y","dates.days":"%0 ng\xE0y","dates.week":"%0 tu\u1EA7n","dates.weeks":"%0 tu\u1EA7n","dates.year":"%0 n\u0103m","dates.years":"%0 n\u0103m","message.installed_plugin":"\u0110\xE3 c\xE0i \u0111\u1EB7t th\xE0nh c\xF4ng plugin %0","message.installed_plugin_fail":"Kh\xF4ng th\u1EC3 c\xE0i \u0111\u1EB7t plugin %0","dialog.share_model.title":"Chia s\u1EBB m\xF4 h\xECnh","dialog.share_model.expire_time":"Th\u1EDDi gian h\u1EBFt h\u1EA1n","dialog.share_model.failed":"Kh\xF4ng th\u1EC3 t\u1EA3i l\xEAn m\xF4 h\xECnh","action.import_java_block_model":"Th\xEAm m\xF4 h\xECnh kh\u1ED1i/v\u1EADt ph\u1EA9m Java","action.import_java_block_model.desc":"Th\xEAm m\xF4 h\xECnh kh\u1ED1i/v\u1EADt ph\u1EA9m Minecraft Java t\u1EEB t\u1EC7p json v\xE0o m\xF4 h\xECnh hi\u1EC7n t\u1EA1i","action.share_model":"Chia s\u1EBB...","action.share_model.desc":"T\u1EA1o m\u1ED9t li\xEAn k\u1EBFt ng\u1EAFn \u0111\u1EC3 chia s\u1EBB m\xF4 h\xECnh c\u1EE7a b\u1EA1n","action.import_project":"Nh\u1EADp d\u1EF1 \xE1n","action.import_project.desc":"Nh\u1EADp m\u1ED9t d\u1EF1 \xE1n kh\xE1c t\u1EEB t\u1EC7p .bbmodel v\xE0o d\u1EF1 \xE1n hi\u1EC7n t\u1EA1i","dialog.toolbar_edit.hidden_tools":"M\u1ED9t s\u1ED1 c\xF4ng c\u1EE5 c\xF3 th\u1EC3 b\u1ECB \u1EA9n v\xEC ch\xFAng kh\xF4ng kh\u1EA3 d\u1EE5ng \u1EDF ch\u1EBF \u0111\u1ED9, \u0111\u1ECBnh d\u1EA1ng ho\u1EB7c t\xECnh hu\u1ED1ng hi\u1EC7n t\u1EA1i.","settings.camera_near_plane":"Camera Near Plane","settings.camera_near_plane.desc":"Kho\u1EA3ng c\xE1ch t\u1ED1i thi\u1EC3u t\u1EEB m\xE1y \u1EA3nh m\xE0 t\u1EA1i \u0111\xF3 c\xE1c \u0111\u1ED1i t\u01B0\u1EE3ng \u0111\u01B0\u1EE3c hi\u1EC3n th\u1ECB. Gi\xE1 tr\u1ECB cao h\u01A1n l\xE0m gi\u1EA3m Z-fight. M\u1EB7c \u0111\u1ECBnh l\xE0 1.","mode.start.keymap_preference.desc":"N\u1EBFu b\u1EA1n ch\u01B0a quen v\u1EDBi Blockbench v\xE0 \u0111\u1EBFn t\u1EEB m\u1ED9t ph\u1EA7n m\u1EC1m 3D kh\xE1c, b\u1EA1n c\xF3 th\u1EC3 ch\u1ECDn s\u01A1 \u0111\u1ED3 \u0111i\u1EC1u khi\u1EC3n \u0111\u1EC3 gi\xFAp b\u1EA1n chuy\u1EC3n \u0111\u1ED5i d\u1EC5 d\xE0ng h\u01A1n. B\u1EA1n c\xF3 th\u1EC3 thay \u0111\u1ED5i s\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm ho\u1EB7c c\xE1c t\u1ED5 h\u1EE3p ph\xEDm ri\xEAng l\u1EBB sau trong c\xE0i \u0111\u1EB7t.","message.load_keymap":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n t\u1EA3i s\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm n\xE0y kh\xF4ng? \u0110i\u1EC1u n\xE0y s\u1EBD ghi \u0111\xE8 l\xEAn t\u1ED5 h\u1EE3p ph\xEDm hi\u1EC7n t\u1EA1i c\u1EE7a b\u1EA1n.","message.keymap_loaded":"\u0110\xE3 t\u1EA3i s\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm","dialog.convert_project.current_format":"\u0110\u1ECBnh d\u1EA1ng hi\u1EC7n t\u1EA1i","dialog.create_texture.rearrange_uv.desc":"T\u1EA1o m\u1ED9t c\xE1ch s\u1EAFp x\u1EBFp UV m\u1EDBi \u0111\u1EC3 cho m\u1ECDi m\u1EB7t c\xF3 v\u1ECB tr\xED ri\xEAng tr\xEAn k\u1EBFt c\u1EA5u","dialog.create_texture.power.desc":"Kh\xF3a k\xEDch th\u01B0\u1EDBc h\u1ECDa ti\u1EBFt t\u1EF1 \u0111\u1ED9ng th\xE0nh l\u0169y th\u1EEBa 2, ch\u1EB3ng h\u1EA1n nh\u01B0 64 ho\u1EB7c 128. M\u1ED9t s\u1ED1 tr\xECnh k\u1EBFt xu\u1EA5t y\xEAu c\u1EA7u \u0111i\u1EC1u n\xE0y","dialog.create_texture.double_use.desc":"N\u1EBFu hai ph\u1EA7n t\u1EED \u0111\xE3 \u0111\u01B0\u1EE3c g\xE1n c\xF9ng m\u1ED9t kh\xF4ng gian UV, h\xE3y gi\u1EEF nguy\xEAn nh\u01B0 v\u1EADy trong b\u1EA3n \u0111\u1ED3 m\u1EDBi","dialog.create_texture.padding.desc":"Th\xEAm ph\u1EA7n \u0111\u1EC7m nh\u1ECF gi\u1EEFa c\xE1c ph\u1EA7n ri\xEAng l\u1EBB c\u1EE7a m\u1EABu","dialog.create_texture.resolution.desc":"Chi\u1EC1u cao v\xE0 chi\u1EC1u r\u1ED9ng c\u1EE7a k\u1EBFt c\u1EA5u","dialog.create_gif.color":"M\xE0u n\u1EC1n","dialog.save_angle.zoom":"Ph\xF3ng to","dialog.skin.variant":"Bi\u1EBFn th\u1EC3","dialog.flip_animation.info":"C\xE1c x\u01B0\u01A1ng \u0111\u1ED1i di\u1EC7n \u0111\u01B0\u1EE3c x\xE1c \u0111\u1ECBnh b\u1EB1ng c\xE1c t\u1EEB kh\xF3a 'tr\xE1i' v\xE0 'ph\u1EA3i' trong t\xEAn c\u1EE7a ch\xFAng.","dialog.export_private_settings.title":"C\xE0i \u0111\u1EB7t ri\xEAng t\u01B0","dialog.export_private_settings.message":"T\u1EC7p c\u1EE7a b\u1EA1n ch\u1EE9a th\xF4ng tin ri\xEAng t\u01B0 sau: **%0**. B\u1ECF qua c\xE1c gi\xE1 tr\u1ECB n\xE0y n\u1EBFu b\u1EA1n \u0111\u1ECBnh chia s\u1EBB t\u1EC7p v\u1EDBi ng\u01B0\u1EDDi kh\xE1c.","dialog.export_private_settings.keep":"Gi\u1EEF","settings.timecode_frame_number":"Hi\u1EC3n th\u1ECB m\xE3 th\u1EDDi gian d\u01B0\u1EDBi d\u1EA1ng s\u1ED1 khung","settings.timecode_frame_number.desc":"Hi\u1EC3n th\u1ECB m\xE3 th\u1EDDi gian ph\xE2n s\u1ED1 trong d\xF2ng th\u1EDDi gian d\u01B0\u1EDBi d\u1EA1ng s\u1ED1 khung thay v\xEC ph\u1EA7n tr\u0103m gi\xE2y","settings.animation_sample_rate":"T\u1EF7 l\u1EC7 m\u1EABu ho\u1EA1t \u1EA3nh","settings.animation_sample_rate.desc":"T\u1EF7 l\u1EC7 m\u1EABu tr\xEAn gi\xE2y cho c\xE1c \u0111\u01B0\u1EDDng cong v\u1ED1n kh\xF4ng h\u1ED7 tr\u1EE3 \u0111\u1ECBnh d\u1EA1ng t\u01B0\u01A1ng \u1EE9ng","keybind.preview_zoom":"Ch\u1EBF \u0111\u1ED9 thu ph\xF3ng","action.gradient_tool":"C\xF4ng c\u1EE5 chuy\u1EC3n m\xE0u","action.gradient_tool.desc":"T\u1EA1o m\u1ED9t d\u1EA3i m\xE0u tr\xEAn k\u1EBFt c\u1EA5u c\u1EE7a b\u1EA1n","action.import_settings":"Nh\u1EADp c\xE0i \u0111\u1EB7t","action.import_settings.desc":"Nh\u1EADp t\u1EC7p .bbsettings","action.export_settings":"Xu\u1EA5t c\xE0i \u0111\u1EB7t","action.export_settings.desc":"Xu\u1EA5t c\xE0i \u0111\u1EB7t Blockbench d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p .bbsettings","action.load_keymap":"T\u1EA3i s\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm","action.load_keymap.default":"M\u1EB7c \u0111\u1ECBnh (Trackpad/Chu\u1ED9t)","action.load_keymap.mouse":"M\u1EB7c \u0111\u1ECBnh (Chu\u1ED9t)","action.load_keymap.default.desc":"C\xE1c t\u1ED5 h\u1EE3p ph\xEDm Blockbench m\u1EB7c \u0111\u1ECBnh, v\u1EDBi c\xE1c \u0111i\u1EC1u khi\u1EC3n \u0111i\u1EC1u h\u01B0\u1EDBng ch\u1EBF \u0111\u1ED9 xem \u0111\u01B0\u1EE3c t\u1ED1i \u01B0u h\xF3a \u0111\u1EC3 s\u1EED d\u1EE5ng tr\xEAn trackpad c\u1EE7a laptop","action.load_keymap.mouse.desc":"C\xE1c t\u1ED5 h\u1EE3p ph\xEDm Blockbench m\u1EB7c \u0111\u1ECBnh, v\u1EDBi \u0111i\u1EC1u h\u01B0\u1EDBng ch\u1EBF \u0111\u1ED9 xem \u0111\u01B0\u1EE3c li\xEAn k\u1EBFt v\u1EDBi n\xFAt chu\u1ED9t gi\u1EEFa","action.load_keymap.blender.desc":"S\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm d\xE0nh cho ng\u01B0\u1EDDi \u0111\xE3 quen v\u1EDBi c\xE1c \u0111i\u1EC1u khi\u1EC3n c\u1EE7a Blender","action.load_keymap.cinema4d.desc":"S\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm d\xE0nh cho ng\u01B0\u1EDDi d\xF9ng \u0111\xE3 quen v\u1EDBi c\xE1ch \u0111i\u1EC1u khi\u1EC3n c\u1EE7a Cinema 4D","action.load_keymap.maya.desc":"S\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm d\xE0nh cho ng\u01B0\u1EDDi d\xF9ng quen thu\u1ED9c v\u1EDBi c\xE1c \u0111i\u1EC1u khi\u1EC3n c\u1EE7a Autodesk Maya","action.import_keymap":"Nh\u1EADp s\u01A1 \u0111\u1ED3 ph\xEDm","action.import_keymap.desc":"Nh\u1EADp t\u1ED5 h\u1EE3p ph\xEDm t\u1EEB t\u1EC7p .bbkeymap","action.export_keymap":"Xu\u1EA5t s\u01A1 \u0111\u1ED3 b\xE0n ph\xEDm","action.export_keymap.desc":"Xu\u1EA5t c\xE1c t\u1ED5 h\u1EE3p ph\xEDm hi\u1EC7n t\u1EA1i d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p .bbkeymap","action.edit_history":"Ch\u1EC9nh l\u1ECBch s\u1EED...","action.edit_history.desc":"Xem l\u1ECBch s\u1EED ch\u1EC9nh s\u1EEDa v\xE0 ho\xE0n t\xE1c ho\u1EB7c l\xE0m l\u1EA1i c\xE1c b\u01B0\u1EDBc","action.group_elements":"Nh\xF3m y\u1EBFu t\u1ED1","action.group_elements.desc":"G\xF3i c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn v\xE0o m\u1ED9t nh\xF3m m\u1EDBi","action.unfold_groups":"M\u1EDF r\u1ED9ng nh\xF3m","action.unfold_groups.desc":"M\u1EDF r\u1ED9ng t\u1EA5t c\u1EA3 c\xE1c nh\xF3m trong k\u1EBF ho\u1EA1ch","action.edit_bedrock_binding":"Ch\u1EC9nh s\u1EEDa li\xEAn k\u1EBFt...","action.edit_bedrock_binding.desc":"Thay \u0111\u1ED5i h\xECnh h\u1ECDc \u0111\u01B0\u1EE3c li\xEAn k\u1EBFt v\u1EDBi x\u01B0\u01A1ng n\xE0o","action.pick_screen_color":"Ch\u1ECDn m\xE0u m\xE0n h\xECnh","action.pick_screen_color.desc":"Ch\u1ECDn m\u1ED9t m\xE0u t\u1EEB \u0111\xE2u \u0111\xF3 tr\xEAn m\xE0n h\xECnh c\u1EE7a b\u1EA1n","action.view_mode":"Ch\u1EBF \u0111\u1ED9 xem","action.view_mode.desc":"Thay \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 xem m\xF4 h\xECnh","action.view_mode.textured":"K\u1EBFt c\u1EA5u","action.view_mode.solid":"Ch\u1EA5t r\u1EAFn","action.view_mode.wireframe":"Khung d\xE2y","action.toggle_sidebars":"Chuy\u1EC3n \u0111\u1ED5i thanh b\xEAn","action.toggle_sidebars.desc":"K\xEDch ho\u1EA1t ho\u1EB7c t\u1EAFt c\xE1c thanh b\xEAn","action.set_animation_end":"\u0110\u1EB7t k\u1EBFt th\xFAc ho\u1EA1t \u1EA3nh","action.set_animation_end.desc":"\u0110\u1EB7t ph\u1EA7n cu\u1ED1i c\u1EE7a ho\u1EA1t \u1EA3nh \u0111\xE3 ch\u1ECDn th\xE0nh th\u1EDDi gian d\xF2ng th\u1EDDi gian hi\u1EC7n t\u1EA1i","action.flip_animation":"L\u1EADt ho\u1EA1t \u1EA3nh","action.flip_animation.desc":"L\u1EADt m\u1ED9t ph\u1EA7n c\u1EE7a ho\u1EA1t \u1EA3nh b\u1EB1ng c\xE1ch sao ch\xE9p c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn sang ph\xEDa b\xEAn kia c\u1EE7a m\xF4 h\xECnh","action.graph_editor_zero_line":"Bao g\u1ED3m d\xF2ng 0","action.graph_editor_zero_line.desc":"Tr\xECnh ch\u1EC9nh s\u1EEDa bi\u1EC3u \u0111\u1ED3 c\xF3 lu\xF4n bao g\u1ED3m \u0111\u01B0\u1EDDng s\u1ED1 0 trong ch\u1EBF \u0111\u1ED9 xem hay kh\xF4ng","menu.texture.render_mode":"Ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t","menu.texture.render_mode.emissive":"Ph\xE1t quang","menu.texture.render_mode.layered":"Nhi\u1EC1u l\u1EDBp","menu.preview.angle.edit":"Ch\u1EC9nh g\xF3c nh\xECn...","menu.animation.start_delay":"\u0110\u1ED9 tr\u1EC5 b\u1EAFt \u0111\u1EA7u","menu.animation.loop_delay":"\u0110\u1ED9 tr\u1EC5 v\xF2ng l\u1EB7p","menu.animation.flip_keyframes":"L\u1EADt khung h\xECnh ch\xEDnh","menu.mobile_keyboard.disable_all":"T\u1EAFt t\u1EA5t c\u1EA3","panel.keyframe.toggle_uniform_scale":"chuy\u1EC3n \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc th\u1ED1ng nh\u1EA5t","camera_angle.common_isometric_right":"H\xECnh chi\u1EBFu tr\u1EE5c \u0111o ph\u1EA3i(2:1)","camera_angle.common_isometric_left":"H\xECnh chi\u1EBFu tr\u1EE5c \u0111o tr\xE1i(2:1)","camera_angle.true_isometric_right":"H\xECnh chi\u1EBFu tr\u1EE5c \u0111o ph\u1EA3i \u0111\xFAng(30\xB0)","camera_angle.true_isometric_left":"H\xECnh chi\u1EBFu tr\u1EE5c \u0111o tr\xE1i \u0111\xFAng(30\xB0)","menu.help.wiki":"Blockbench Wiki","settings.update_to_prereleases":"C\u1EADp nh\u1EADt l\xEAn b\u1EA3n ph\xE1t h\xE0nh tr\u01B0\u1EDBc","settings.update_to_prereleases.desc":"T\u1EF1 \u0111\u1ED9ng c\u1EADp nh\u1EADt l\xEAn c\xE1c phi\xEAn b\u1EA3n beta c\u1EE7a Blockbench \u0111\u1EC3 ki\u1EC3m tra c\xE1c t\xEDnh n\u0103ng m\u1EDBi. C\xE1c phi\xEAn b\u1EA3n tr\u01B0\u1EDBc khi ph\xE1t h\xE0nh c\xF3 th\u1EC3 kh\xF4ng \u1ED5n \u0111\u1ECBnh, kh\xF4ng b\u1EADt t\xF9y ch\u1ECDn n\xE0y n\u1EBFu b\u1EA1n d\xF9ng Blockbench cho c\xF4ng vi\u1EC7c ho\u1EB7c c\xE1c d\u1EF1 \xE1n quan tr\u1ECDng kh\xE1c.","data.separator.spacer":"\u0110\u1EC7m","data.separator.linebreak":"Ng\u1EAFt d\xF2ng","data.setting":"C\xE0i \u0111\u1EB7t","generic.select_all":"Ch\u1ECDn t\u1EA5t c\u1EA3","generic.select_none":"T\u1EEB ch\u1ED1i","projects.new_tab":"Th\u1EBB m\u1EDBi","projects.close_tab":"\u0110\xF3ng th\u1EBB","message.invalid_format.title":"\u0110\u1ECBnh d\u1EA1ng kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_format.message":"M\xF4 h\xECnh n\xE0y \u0111\u01B0\u1EE3c t\u1EA1o \u1EDF \u0111\u1ECBnh d\u1EA1ng '%0', \u0111\u1ECBnh d\u1EA1ng n\xE0y kh\xF4ng c\xF3 s\u1EB5n trong c\xE0i \u0111\u1EB7t Blockbench c\u1EE7a b\u1EA1n. R\u1EA5t c\xF3 th\u1EC3 b\u1EA1n c\u1EA7n m\u1ED9t plugin c\u1EE5 th\u1EC3 \u0111\u1EC3 m\u1EDF n\xF3 m\u1ED9t c\xE1ch ch\xEDnh x\xE1c.","message.invalid_link":"Li\xEAn k\u1EBFt m\xF4 h\xECnh kh\xF4ng h\u1EE3p l\u1EC7 ho\u1EB7c h\u1EBFt h\u1EA1n","message.default_textures.current":"\u0110\u01B0\u1EDDng d\u1EABn hi\u1EC7n t\u1EA1i","message.update_after_restart":"B\u1EA3n c\u1EADp nh\u1EADt n\xE0y s\u1EBD \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t sau l\u1EA7n kh\u1EDFi \u0111\u1ED9ng ti\u1EBFp theo","message.copy_paste_tool_viewport":"C\xF4ng c\u1EE5 n\xE0y ch\u1EC9 c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng trong b\u1EA3ng UV","dialog.project.shadow_size":"K\xEDch th\u01B0\u1EDBc b\xF3ng","dialog.find_replace.target":"M\u1EE5c ti\xEAu","dialog.find_replace.target.element_names":"T\xEAn y\u1EBFu t\u1ED1","dialog.find_replace.target.group_names":"T\xEAn nh\xF3m","dialog.find_replace.target.animation_names":"T\xEAn ho\u1EA1t \u1EA3nh","dialog.find_replace.target.keyframe_values":"Gi\xE1 tr\u1ECB khung h\xECnh ch\xEDnh","dialog.find_replace.find":"T\xECm","dialog.find_replace.replace":"Thay th\u1EBF","dialog.find_replace.regex":"Bi\u1EC3u hi\u1EC7n th\xF4ng th\u01B0\u1EDDng","dialog.add_primitive.shape":"H\xECnh d\u1EA1ng","dialog.add_primitive.shape.circle":"H\xECnh tr\xF2n","dialog.add_primitive.shape.tube":"H\xECnh \u1ED1ng","dialog.add_primitive.shape.cone":"H\xECnh n\xF3n","dialog.add_primitive.shape.cylinder":"H\xECnh tr\u1EE5","dialog.add_primitive.shape.sphere":"H\xECnh c\u1EA7u","dialog.add_primitive.shape.torus":"H\xECnh xuy\u1EBFn","dialog.add_primitive.shape.cube":"H\xECnh kh\u1ED1i","dialog.add_primitive.shape.pyramid":"H\xECnh ch\xF3p","dialog.add_primitive.diameter":"\u0110\u01B0\u1EDDng k\xEDnh","dialog.add_primitive.height":"Chi\u1EC1u cao","dialog.add_primitive.sides":"S\u1ED1 m\u1EB7t b\xEAn","dialog.add_primitive.minor_diameter":"\u0110\u1ED9 d\xE0y","dialog.add_primitive.minor_sides":"B\xEAn nh\u1ECF","dialog.create_texture.combine_polys":"li\xEAn k\u1EBFt b\u1EC1 m\u1EB7t","dialog.create_texture.combine_polys.desc":"K\u1EBFt h\u1EE3p c\xE1c m\u1EB7t ph\u1EB3ng \u0111\u01B0\u1EE3c k\u1EBFt n\u1ED1i th\xE0nh m\u1ED9t ph\u1EA7n UV","dialog.model_stats.meshes":"Khung l\u01B0\u1EDBi","dialog.export_private_settings.omit":"B\u1ECF qua","layout.select":"Ch\u1ECDn","layout.options":"T\xF9y ch\u1ECDn","layout.color":"B\u1EA3ng m\xE0u","layout.documentation":"T\xE0i li\u1EC7u","layout.color.bright_ui_text":"V\u0103n b\u1EA3n UI s\xE1ng","layout.color.bright_ui_text.desc":"V\u0103n b\u1EA3n tr\xEAn n\u1EC1n s\xE1ng","layout.name":"T\xEAn","layout.author":"T\xE1c gi\u1EA3","settings.dialog.desc":'Hi\u1EC7n h\u1ED9p tho\u1EA1i "%0"',"settings.export_empty_groups":"Xu\u1EA5t c\xE1c nh\xF3m tr\u1ED1ng","settings.export_empty_groups.desc":"Bao g\u1ED3m c\xE1c nh\xF3m kh\xF4ng c\xF3 n\u1ED9i dung trong c\xE1c t\u1EC7p \u0111\xE3 xu\u1EA5t","category.separators":"D\u1EA3i ph\xE2n c\xE1ch","keybind.preview_area_select":"Khu v\u1EF1c Ch\u1ECDn","action.color_erase_mode":"Ch\u1EBF \u0111\u1ED9 x\xF3a","action.color_erase_mode.desc":"Khi b\u1EADt ch\u1EBF \u0111\u1ED9 x\xF3a, c\xE1c c\xF4ng c\u1EE5 nh\u01B0 T\xF4 m\xE0u v\xE0 H\xECnh ch\u1EEF nh\u1EADt s\u1EBD tr\u1EEB m\xE0u thay v\xEC th\xEAm ch\xFAng","action.open_from_link":"M\u1EDF m\xF4 h\xECnh t\u1EEB li\xEAn k\u1EBFt...","action.open_from_link.desc":"M\u1EDF m\xF4 h\xECnh t\u1EEB URL blckbn.ch","action.import_obj":"Nh\u1EADp m\xF4 h\xECnh OBJ","action.import_obj.desc":"Nh\u1EADp c\xE1c \u0111\u1ED1i t\u01B0\u1EE3ng t\u1EEB m\xF4 h\xECnh OBJ d\u01B0\u1EDBi d\u1EA1ng khung l\u01B0\u1EDBi","action.add_plugin":"C\xE0i \u0111\u1EB7t plugin","action.add_plugin.desc":"C\xE0i \u0111\u1EB7t plugin t\u1EEB ki\u1EC3m so\xE1t h\xE0nh \u0111\u1ED9ng","action.remove_plugin":"X\xF3a plugin kh\u1ECFi ki\u1EC3m so\xE1t h\xE0nh \u0111\u1ED9ng","action.remove_plugin.desc":"G\u1EE1 c\xE0i \u0111\u1EB7t plugin th\xF4ng qua Ki\u1EC3m so\xE1t h\xE0nh \u0111\u1ED9ng","action.add_mesh":"Th\xEAm l\u01B0\u1EDBi","action.add_mesh.desc":"Th\xEAm m\u1ED9t khung l\u01B0\u1EDBi m\u1EDBi","action.add_texture_mesh":"Th\xEAm l\u01B0\u1EDBi k\u1EBFt c\u1EA5u","action.add_texture_mesh.desc":"Th\xEAm m\u1ED9t khung l\u01B0\u1EDBi k\u1EBFt c\u1EA5u m\u1EDBi","action.find_replace":"T\xECm/Thay th\u1EBF...","action.find_replace.desc":"T\xECm v\xE0 thay th\u1EBF c\xE1c ph\u1EA7n c\u1EE7a t\xEAn","action.hide_everything_except_selection":"\u1EA8n m\u1ECDi th\u1EE9 (tr\u1EEB ph\u1EA7n l\u1EF1a ch\u1ECDn)","action.hide_everything_except_selection.desc":"Chuy\u1EC3n \u0111\u1ED5i ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB cho t\u1EA5t c\u1EA3 c\xE1c ph\u1EA7n t\u1EED ngo\u1EA1i tr\u1EEB ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn","action.transform_space.normal":"B\xECnh th\u01B0\u1EDDng","action.selection_mode":"Ch\u1EBF \u0111\u1ED9 l\u1EF1a ch\u1ECDn","action.selection_mode.desc":"Thay \u0111\u1ED5i c\xE1ch c\xE1c ph\u1EA7n t\u1EED c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c ch\u1ECDn trong ch\u1EBF \u0111\u1ED9 xem","action.selection_mode.object":"V\u1EADt","action.selection_mode.face":"B\u1EC1 m\u1EB7t","action.selection_mode.vertex":"\u0110\u1EC9nh","action.create_face":"T\u1EA1o m\u1EB7t ho\u1EB7c c\u1EA1nh","action.create_face.desc":"T\u1EA1o m\u1ED9t m\u1EB7t ho\u1EB7c c\u1EA1nh m\u1EDBi gi\u1EEFa c\xE1c \u0111\u1EC9nh \u0111\xE3 ch\u1ECDn","action.convert_to_mesh":"Chuy\u1EC3n \u0111\u1ED5i th\xE0nh khung l\u01B0\u1EDBi","action.convert_to_mesh.desc":"Chuy\u1EC3n \u0111\u1ED5i c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn th\xE0nh khung l\u01B0\u1EDBi","action.invert_face":"\u0110\u1EA3o ng\u01B0\u1EE3c m\u1EB7t","action.invert_face.desc":"\u0110\u1EA3o ng\u01B0\u1EE3c c\xE1c m\u1EB7t \u0111\xE3 ch\u1ECDn \u0111\u1EC3 l\xE0m cho ch\xFAng quay v\u1EC1 h\u01B0\u1EDBng ng\u01B0\u1EE3c l\u1EA1i","action.extrude_mesh_selection":"Ch\u1ECDn \u0111\xF9n","action.extrude_mesh_selection.desc":"\u0110\xF9n c\xE1c ph\u1EA7n \u0111\xE3 ch\u1ECDn c\u1EE7a khung l\u01B0\u1EDBi","action.loop_cut":"C\u1EAFt v\xF2ng","action.loop_cut.desc":"Chia khung l\u01B0\u1EDBi th\xE0nh m\u1ED9t v\xF2ng tr\xEAn c\u1EA1nh \u0111\xE3 ch\u1ECDn","action.merge_meshes":"H\u1EE3p nh\u1EA5t khung l\u01B0\u1EDBi","action.merge_meshes.desc":"H\u1EE3p nh\u1EA5t nhi\u1EC1u khung l\u01B0\u1EDBi th\xE0nh m\u1ED9t","action.keyframe_uniform":"T\u1EF7 l\u1EC7 th\u1ED1ng nh\u1EA5t","action.keyframe_uniform.desc":"Cho ph\xE9p chia t\u1EF7 l\u1EC7 \u0111\u1ED3ng \u0111\u1EC1u tr\xEAn c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","menu.locator.ignore_inherited_scale":"B\u1ECF qua quy m\xF4 k\u1EBF th\u1EEBa","menu.texture.elements":"\xC1p d\u1EE5ng cho c\xE1c y\u1EBFu t\u1ED1","uv_editor.transparent_face":"M\u1EB7t trong su\u1ED1t","display.pose_angle":"G\xF3c t\u1EA1o d\xE1ng (Ch\u1EC9 d\xE0nh cho b\u1EA3n xem tr\u01B0\u1EDBc)","data.mesh":"Khung l\u01B0\u1EDBi","dialog.create_texture.type":"Ki\u1EC3u","dialog.create_texture.type.blank":"Tr\u1ED1ng","dialog.create_texture.type.template":"M\u1EABu k\u1EBFt c\u1EA5u","dialog.create_texture.type.color_map":"M\u1EABu m\xE0u \u0111\u1EB7c","dialog.sketchfab_uploader.suggested_tags":"Th\u1EBB \u0111\u01B0\u1EE3c \u0111\u1EC1 xu\u1EA5t","dialog.sketchfab_uploader.category":"Th\u1EC3 lo\u1EA1i","dialog.sketchfab_uploader.category2":"Th\u1EC3 lo\u1EA1i 2","layout.restore_backup":'Ch\u1EE7 \u0111\u1EC1 t\xF9y ch\u1EC9nh c\u1EE7a b\u1EA1n "%0" \u0111\xE3 b\u1ECB ghi \u0111\xE8. Nh\u1EA5n v\xE0o \u0111\xE2y \u0111\u1EC3 kh\xF4i ph\u1EE5c n\xF3.',"layout.borders":"\u0110\u01B0\u1EDDng vi\u1EC1n","action.fill_mode.element":"Y\u1EBFu t\u1ED1","action.inset_mesh_selection":"L\u1EF1a ch\u1ECDn \u0111\u1EA7u v\xE0o","action.inset_mesh_selection.desc":"Ch\xE8n c\xE1c ph\u1EA7n \u0111\xE3 ch\u1ECDn c\u1EE7a khung l\u01B0\u1EDBi","action.dissolve_edges":"H\xF2a tan c\xE1c c\u1EA1nh","action.dissolve_edges.desc":"H\xF2a tan c\xE1c c\u1EA1nh \u0111\xE3 ch\u1ECDn trong khung l\u01B0\u1EDBi v\xE0 h\u1EE3p nh\u1EA5t c\xE1c m\u1EB7t m\xE0 ch\xFAng ph\xE2n chia","action.split_mesh":"Chia khung l\u01B0\u1EDBi","action.split_mesh.desc":"T\xE1ch c\xE1c m\u1EB7t \u0111\xE3 ch\u1ECDn c\u1EE7a khung l\u01B0\u1EDBi th\xE0nh m\u1ED9t khung l\u01B0\u1EDBi m\u1EDBi","action.merge_vertices":"H\u1EE3p nh\u1EA5t c\xE1c \u0111\u1EC9nh","action.merge_vertices.desc":"H\u1EE3p nh\u1EA5t c\xE1c \u0111\u1EC9nh \u0111\xE3 ch\u1ECDn v\xE0o v\u1ECB tr\xED c\u1EE7a \u0111\u1EC9nh \u0111\u01B0\u1EE3c ch\u1ECDn \u0111\u1EA7u ti\xEAn","action.view_mode.normal":"M\u1EB7t th\u01B0\u1EDDng","action.snap_uv_to_pixels":"Kh\u1EDBp UV v\u1EDBi \u0111i\u1EC3m \u1EA3nh","action.snap_uv_to_pixels.desc":"G\u1EAFn c\xE1c \u0111\u1EC9nh UV \u0111\xE3 ch\u1ECDn v\xE0o l\u01B0\u1EDBi \u0111i\u1EC3m \u1EA3nh","menu.file.import.import_open_project":"Nh\u1EADp d\u1EF1 \xE1n m\u1EDF","menu.help.unlock_projects":"M\u1EDF kh\xF3a t\u1EA5t c\u1EA3 c\xE1c d\u1EF1 \xE1n","status_bar.selection.faces":"%0 m\u1EB7t","status_bar.selection.vertices":"%0 \u0111\u1EC9nh","message.merged_vertices":"\u0110\xE3 t\xECm th\u1EA5y v\xE0 h\u1EE3p nh\u1EA5t %0 \u0111\u1EC9nh \u1EDF %1 v\u1ECB tr\xED","settings.vertex_merge_distance":"Kho\u1EA3ng c\xE1ch h\u1EE3p nh\u1EA5t \u0111\u1EC9nh","settings.vertex_merge_distance.desc":"Kho\u1EA3ng c\xE1ch trong \u0111\xF3 c\xE1c \u0111\u1EC9nh \u0111\u01B0\u1EE3c h\u1EE3p nh\u1EA5t b\u1EB1ng c\xE1ch h\u1EE3p nh\u1EA5t theo kho\u1EA3ng c\xE1ch","settings.show_only_selected_uv":"Ch\u1EC9 hi\u1EC3n th\u1ECB UV \u0111\xE3 ch\u1ECDn","settings.show_only_selected_uv.desc":"Theo m\u1EB7c \u0111\u1ECBnh, ch\u1EC9 hi\u1EC3n th\u1ECB c\xE1c m\u1EB7t UV \u0111\xE3 ch\u1ECDn trong tr\xECnh ch\u1EC9nh s\u1EEDa UV","action.merge_vertices.merge_all":"H\u1EE3p nh\u1EA5t t\u1EA5t c\u1EA3","action.merge_vertices.merge_all_in_center":"H\u1EE3p nh\u1EA5t t\u1EA5t c\u1EA3 v\xE0o trung t\xE2m","action.merge_vertices.merge_by_distance":"H\u1EE3p nh\u1EA5t theo kho\u1EA3ng c\xE1ch","action.merge_vertices.merge_by_distance_in_center":"H\u1EE3p nh\u1EA5t theo kho\u1EA3ng c\xE1ch t\u1EEB trung t\xE2m","action.uv_rotate_left":"Xoay UV sang tr\xE1i","action.uv_rotate_left.desc":"Xoay m\u1EB7t UV \u0111\xE3 ch\u1ECDn ng\u01B0\u1EE3c chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","action.uv_rotate_right":"Xoay UV sang ph\u1EA3i","action.uv_rotate_right.desc":"Xoay m\u1EB7t UV \u0111\xE3 ch\u1ECDn theo chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","menu.uv.display_uv":"Hi\u1EC3n th\u1ECB UV","menu.uv.display_uv.selected_faces":"M\u1EB7t \u0111\u01B0\u1EE3c ch\u1ECDn","menu.uv.display_uv.selected_elements":"T\u1EA5t c\u1EA3 m\u1EB7t","menu.uv.display_uv.all_elements":"T\u1EA5t c\u1EA3 m\u1EB7t tr\xEAn t\u1EA5t c\u1EA3 c\xE1c y\u1EBFu t\u1ED1","menu.paste.face":"M\u1EB7t UV","menu.paste.mesh_selection":"L\u1EF1a ch\u1ECDn l\u01B0\u1EDBi","menu.paste.outliner":"Y\u1EBFu t\u1ED1","uv_editor.show_all_faces":"Hi\u1EC3n th\u1ECB t\u1EA5t c\u1EA3 m\u1EB7t","uv_editor.show_selected_faces":"Hi\u1EC3n th\u1ECB c\xE1c m\u1EB7t \u0111\xE3 ch\u1ECDn","status_bar.selection.edges":"%0 C\u1EA1nh","action.selection_mode.edge":"C\u1EA1nh","message.cannot_re_import.title":"Kh\xF4ng th\u1EC3 nh\u1EADp l\u1EA1i m\xF4 h\xECnh","message.cannot_re_import.message":"Kh\xF4ng th\u1EC3 nh\u1EADp l\u1EA1i \u0111\u1ECBnh d\u1EA1ng m\xF4 h\xECnh \u0111\xE3 xu\u1EA5t v\xE0o Blockbench. Vui l\xF2ng \u0111\u1EA3m b\u1EA3o l\u01B0u m\xF4 h\xECnh c\u1EE7a b\u1EA1n d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p d\u1EF1 \xE1n.","generic.default":"M\u1EB7c \u0111\u1ECBnh","units.pixels_per_meter":"%0 \u0111i\u1EC3m \u1EA3nh tr\xEAn m\u1ED7i m\xE9t","mode.pose":"T\u01B0 th\u1EBF","modifier_actions.resize_both_sides":"Thay \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc theo c\u1EA3 hai h\u01B0\u1EDBng","modifier_actions.resize_one_side":"Thay \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc theo m\u1ED9t h\u01B0\u1EDBng","modifier_actions.draw_line":"V\u1EBD \u0111\u01B0\u1EDDng th\u1EB3ng","modifier_actions.drag_without_snapping":"K\xE9o v\xE0 th\u1EA3","modifier_actions.stretch_keyframes":"K\xE9o d\xE0i khung h\xECnh ch\xEDnh","modifier_actions.resize_background":"Thay \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc n\u1EC1n","modifier_actions.select_multiple":"Ch\u1ECDn nhi\u1EC1u","modifier_actions.select_range":"Ch\u1ECDn ph\u1EA1m vi","modifier_actions.drag_to_duplicate":"K\xE9o \u0111\u1EC3 sao ch\xE9p","modifier_actions.uniform_scaling":"T\u1EF7 l\u1EC7 th\u1ED1ng nh\u1EA5t","modifier_actions.snap_direction":"\u0110\u1ECBnh h\u01B0\u1EDBng","message.no_valid_elements":"Kh\xF4ng c\xF3 y\u1EBFu t\u1ED1 h\u1EE3p l\u1EC7 \u0111\u01B0\u1EE3c ch\u1ECDn...","dialog.add_primitive.shape.plane":"M\u1EB7t ph\u1EB3ng","dialog.save_angle.rotation_mode":"Ch\u1EBF \u0111\u1ED9 quay","dialog.save_angle.rotation":"Quay","dialog.save_angle.fov":"FOV","settings.hide_tab_bar":"T\u1EF1 \u0111\u1ED9ng \u1EA9n thanh tab","settings.hide_tab_bar.desc":"\u1EA8n thanh tab khi ch\u1EC9 m\u1EDF m\u1ED9t tab","settings.status_bar_modifier_keys":"\u0110\u1EC1 xu\u1EA5t c\xE1c ph\xEDm b\u1ED5 tr\u1EE3 tr\xEAn thanh tr\u1EA1ng th\xE1i","settings.status_bar_modifier_keys.desc":"Hi\u1EC3n th\u1ECB c\xE1c ph\xEDm b\u1ED5 tr\u1EE3 \u0111\u01B0\u1EE3c \u0111\u1EC1 xu\u1EA5t theo ng\u1EEF c\u1EA3nh trong thanh tr\u1EA1ng th\xE1i","settings.ground_plane":"M\u1EB7t ph\u1EB3ng s\xE0n","settings.ground_plane.desc":"Hi\u1EC3n th\u1ECB m\u1ED9t m\u1EB7t ph\u1EB3ng s\xE0n b\xEAn d\u01B0\u1EDBi m\xF4 h\xECnh","settings.preview_paste_behavior":"H\xE0nh vi xem tr\u01B0\u1EDBc d\xE1n m\u1EB7c \u0111\u1ECBnh","settings.preview_paste_behavior.desc":"Ch\u1ECDn h\xE0nh vi khi d\xE1n n\u1ED9i dung n\xE0o \u0111\xF3 v\xE0o b\u1EA3n xem tr\u01B0\u1EDBc trong ch\u1EBF \u0111\u1ED9 Ch\u1EC9nh s\u1EEDa v\xE0 c\xF3 s\u1EB5n nhi\u1EC1u t\xF9y ch\u1ECDn","settings.preview_paste_behavior.always_ask":"Lu\xF4n lu\xF4n h\u1ECFi","action.new_window":"C\u1EEDa s\u1ED5 m\u1EDBi","action.new_window.desc":"M\u1EDF m\u1ED9t c\u1EEDa s\u1ED5 Blockbench m\u1EDBi","action.export_collada":"Xu\u1EA5t m\xF4 h\xECnh Collada (dae)","action.export_collada.desc":"Xu\u1EA5t m\xF4 h\xECnh v\xE0 ho\u1EA1t \u1EA3nh d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p dae \u0111\u1EC3 s\u1EED d\u1EE5ng n\xF3 trong c\xE1c \u1EE9ng d\u1EE5ng 3D kh\xE1c","action.paint_mode_uv_overlay":"L\u1EDBp ph\u1EE7 UV","action.paint_mode_uv_overlay.desc":"Hi\u1EC3n th\u1ECB b\u1EA3n \u0111\u1ED3 UV d\u01B0\u1EDBi d\u1EA1ng l\u1EDBp ph\u1EE7 trong ch\u1EBF \u0111\u1ED9 s\u01A1n","action.bake_animation_into_model":"\u0110\u01B0a ho\u1EA1t \u1EA3nh v\xE0o m\xF4 h\xECnh","action.bake_animation_into_model.desc":"\u0110\u01B0a khung ho\u1EA1t \u1EA3nh hi\u1EC7n \u0111ang hi\u1EC3n th\u1ECB v\xE0o m\xF4 h\xECnh. Ch\u1EC9 \xE1p d\u1EE5ng xoay v\xE0 v\u1ECB tr\xED, b\u1ECF qua t\u1EF7 l\u1EC7.","action.keyframe_interpolation.step":"B\u01B0\u1EDBc","action.set_ik_target":"\u0110\u1EB7t m\u1EE5c ti\xEAu IK","action.set_ik_target.desc":"Ch\u1ECDn x\u01B0\u01A1ng m\u1EE5c ti\xEAu s\u1EBD di chuy\u1EC3n \u0111\u1EBFn \u0111\u1ED1i t\u01B0\u1EE3ng r\u1ED7ng n\xE0y th\xF4ng qua \u0110\u1ED9ng h\u1ECDc ngh\u1ECBch \u0111\u1EA3o","menu.action_control.type.tab":"Tab","menu.action_control.type.angle":"G\xF3c camera","menu.action_control.recent_in_streamer_mode":"Ch\u1EAFc ch\u1EAFn? Ch\u1EBF \u0111\u1ED9 truy\u1EC1n ph\xE1t \u0111\u01B0\u1EE3c b\u1EADt","menu.action_control.recent_in_streamer_mode.desc":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n hi\u1EC3n th\u1ECB c\xE1c m\u1EABu g\u1EA7n \u0111\xE2y kh\xF4ng?","menu.tools":"C\xF4ng c\u1EE5","menu.file.recent.more":"Xem th\xEAm...","menu.null_object.lock_ik_target_rotation":"Kh\xF3a xoay m\u1EE5c ti\xEAu IK","menu.animation_file.import_remaining":"Nh\u1EADp c\xE1c ho\u1EA1t \u1EA3nh c\xF2n l\u1EA1i","edit.loop_cut.offset":"B\xF9 l\u1EA1i","edit.extrude_mesh_selection.extend":"Gia Han","cube.color.pink":"H\u1ED3ng","cube.color.silver":"M\xE0u b\u1EA1c","dialog.plugins.offline":"Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i Internet","dialog.create_texture.pixel_density":"M\u1EADt \u0111\u1ED9 \u0111i\u1EC3m \u1EA3nh","dialog.create_texture.pixel_density.desc":"M\u1EADt \u0111\u1ED9 \u0111i\u1EC3m \u1EA3nh c\u1EE7a k\u1EBFt c\u1EA5u, t\xEDnh b\u1EB1ng pixel tr\xEAn m\xE9t. K\xEDch th\u01B0\u1EDBc c\u1EE7a b\u1EA3n \u0111\u1ED3 k\u1EBFt c\u1EA5u c\xF3 th\u1EC3 kh\xE1c nhau t\xF9y thu\u1ED9c v\xE0o s\u1ED1 l\u01B0\u1EE3ng v\xE0 k\xEDch th\u01B0\u1EDBc c\u1EE7a c\xE1c ph\u1EA7n t\u1EED.","panel.skin_pose":"T\u01B0 th\u1EBF","panel.skin_pose.none":"kh\xF4ng c\xF3","panel.skin_pose.natural":"Thi\xEAn nhi\xEAn","panel.skin_pose.walking":"\u0110i d\u1EA1o","panel.skin_pose.crouching":"C\xFAi ng\u01B0\u1EDDi","panel.skin_pose.sitting":"Ng\u1ED3i","panel.skin_pose.jumping":"Nh\u1EA3y","panel.skin_pose.aiming":"Nh\u1EAFm m\u1EE5c ti\xEAu","edit.loop_cut.direction":"Ph\u01B0\u01A1ng h\u01B0\u1EDBng","data.texture_mesh":"k\u1EBFt c\u1EA5u khung l\u01B0\u1EDBi","generic.left":"Tr\xE1i","generic.right":"Ph\u1EA3i","mode.start.quick_setup":"C\xE0i \u0111\u1EB7t nhanh","mode.start.keymap":"S\u01A1 \u0111\u1ED3 ph\xEDm","mode.start.quick_setup.more_themes":"H\u01A1n...","dialog.resize_texture.animation_frames":"khung h\xECnh ho\u1EA1t \u1EA3nh","dialog.export_emission_map.title":"Xu\u1EA5t b\u1EA3n \u0111\u1ED3 emission","dialog.export_emission_map.format":"\u0110\u1ECBnh d\u1EA1ng","dialog.export_emission_map.format.luminance":"\u0110\u1ED9 s\xE1ng","dialog.export_emission_map.format.luminance_inverted":"\u0110\u1ED9 s\xE1ng \u0111\u1EA3o ng\u01B0\u1EE3c","dialog.export_emission_map.format.colors":"M\xE0u","dialog.export_emission_map.threshold":"Ng\u01B0\u1EE1ng minh b\u1EA1ch","dialog.export_emission_map.round_up":"L\xE0m tr\xF2n l\xEAn t\u1EDBi %0 x %1","dialog.export_emission_map.flip_y":"L\u1EADt tr\u1EE5c Y","dialog.select.type":"Lo\u1EA1i y\u1EBFu t\u1ED1","dialog.create_texture.max_edge_angle":"Ng\u01B0\u1EE1ng g\xF3c c\u1EA1nh","dialog.create_texture.max_edge_angle.desc":"G\xF3c t\u1ED1i \u0111a gi\u1EEFa hai m\u1EB7t m\xE0 t\u1EA1i \u0111\xF3 ch\xFAng v\u1EABn s\u1EBD \u0111\u01B0\u1EE3c k\u1EBFt h\u1EE3p","dialog.create_texture.max_island_angle":"Ng\u01B0\u1EE1ng g\xF3c b\u1EC1 m\u1EB7t","dialog.create_texture.max_island_angle.desc":"G\xF3c t\u1ED1i \u0111a c\xF3 th\u1EC3 li\xEAn k\u1EBFt v\u1EDBi c\xF9ng m\u1ED9t b\u1EC1 m\u1EB7t UV","settings.mobile_panel_side":"B\xEAn b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n di \u0111\u1ED9ng","settings.mobile_panel_side.desc":"Ch\u1ECDn ph\xEDa n\xE0o c\u1EE7a b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n m\xE0n h\xECnh \u0111\u01B0\u1EE3c hi\u1EC3n th\u1ECB khi s\u1EED d\u1EE5ng Blockbench \u1EDF h\u01B0\u1EDBng ngang","settings.obj_face_export_mode":"Ch\u1EBF \u0111\u1ED9 xu\u1EA5t m\u1EB7t OBJ","settings.obj_face_export_mode.desc":"Ch\u1ECDn \u0111\u1EC3 chuy\u1EC3n \u0111\u1ED5i t\u1EA5t c\u1EA3 c\xE1c b\u1EC1 m\u1EB7t th\xE0nh ba ho\u1EB7c b\u1ED1n trong xu\u1EA5t OBJ","settings.obj_face_export_mode.both":"M\u1EB7c \u0111\u1ECBnh","settings.obj_face_export_mode.tris":"Chuy\u1EC3n \u0111\u1ED5i sang Tris","settings.obj_face_export_mode.quads":"Chuy\u1EC3n \u0111\u1ED5i sang Quads","action.seam_tool":"C\xF4ng c\u1EE5 kh\xE2u","action.seam_tool.desc":"C\xF4ng c\u1EE5 x\xE1c \u0111\u1ECBnh kh\xE2u UV cho c\xE1c c\u1EA1nh khung l\u01B0\u1EDBi","action.resolve_group":"Gi\u1EA3i quy\u1EBFt nh\xF3m","action.resolve_group.desc":"Gi\u1EA3i quy\u1EBFt nh\xF3m trong khi v\u1EABn gi\u1EEF c\xE1c ph\u1EA7n t\u1EED con c\u1EE7a n\xF3 \u1EDF c\xF9ng m\u1ED9t n\u01A1i","action.move_to_group":"Di chuy\u1EC3n \u0111\u1EBFn Nh\xF3m","action.move_to_group.desc":"Di chuy\u1EC3n c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn sang m\u1ED9t nh\xF3m kh\xE1c","action.select_seam":"Ch\u1ECDn \u0111\u01B0\u1EDDng kh\xE2uUV","action.select_seam.desc":"Ch\u1ECDn ch\u1EBF \u0111\u1ED9 \u0111\u01B0\u1EDDng may UV cho c\xE1c c\u1EA1nh \u0111\xE3 ch\u1ECDn","action.select_seam.auto":"T\u01B0\u0323 \u0111\xF4\u0323ng","action.select_seam.join":"Tham gia","action.select_seam.divide":"Chia","action.adjust_brightness_contrast":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 s\xE1ng&\u0111\u1ED9 t\u01B0\u01A1ng ph\u1EA3n...","action.adjust_brightness_contrast.desc":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 s\xE1ng v\xE0 \u0111\u1ED9 t\u01B0\u01A1ng ph\u1EA3n c\u1EE7a k\u1EBFt c\u1EA5u \u0111\xE3 ch\u1ECDn","action.adjust_saturation_hue":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 b\xE3o ho\xE0 v\xE0 t\xF4ng m\xE0u...","action.adjust_saturation_hue.desc":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 b\xE3o ho\xE0 v\xE0 t\xF4ng m\xE0u c\u1EE7a k\u1EBFt c\u1EA5u \u0111\xE3 ch\u1ECDn","action.invert_colors":"\u0110\u1EA3o ng\u01B0\u1EE3c m\xE0u s\u1EAFc","action.invert_colors.desc":"\u0110\u1EA3o ng\u01B0\u1EE3c t\u1EA5t c\u1EA3 c\xE1c m\xE0u c\u1EE7a k\u1EBFt c\u1EA5u \u0111\xE3 ch\u1ECDn","action.adjust_curves":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u01B0\u1EDDng cong...","action.adjust_curves.desc":"\u0110i\u1EC1u ch\u1EC9nh c\xE1c \u0111\u01B0\u1EDDng cong \u0111\u1ED9 s\xE1ng c\u1EE7a k\u1EBFt c\u1EA5u \u0111\xE3 ch\u1ECDn","action.flip_texture_x":"L\u1EADt k\u1EBFt c\u1EA5u theo chi\u1EC1u ngang","action.flip_texture_y":"L\u1EADt k\u1EBFt c\u1EA5u theo chi\u1EC1u d\u1ECDc","action.resize_texture":"Thay \u0111\u1ED5i k\xEDch th\u01B0\u1EDBc k\u1EBFt c\u1EA5u...","action.view_mode.uv":"Xem tr\u01B0\u1EDBc UV","action.append_to_template":"N\u1ED1i c\xE1c ph\u1EA7n t\u1EED v\xE0o m\u1EABu...","action.append_to_template.desc":"Th\xEAm c\xE1c ph\u1EA7n t\u1EED hi\u1EC7n \u0111\u01B0\u1EE3c ch\u1ECDn v\xE0o m\u1EABu k\u1EBFt c\u1EA5u","action.move_texture_with_uv":"Di chuy\u1EC3n k\u1EBFt c\u1EA5u b\u1EB1ng UV","action.move_texture_with_uv.desc":"Di chuy\u1EC3n k\u1EBFt c\u1EA5u c\u1EE7a m\u1EB7t khi k\xE9o m\u1EB7t UV","action.timeline_setups":"Thi\u1EBFt l\u1EADp d\xF2ng th\u1EDDi gian","action.save_timeline_setup":"L\u01B0u thi\u1EBFt l\u1EADp d\xF2ng th\u1EDDi gian...","action.save_timeline_setup.desc":"L\u01B0u gi\xE1 tr\u1ECB c\xE0i s\u1EB5n cho c\xE1c ho\u1EA1t \u1EA3nh v\xE0 k\xEAnh hi\u1EC7n \u0111\u01B0\u1EE3c ch\u1ECDn","menu.texture":"K\u1EBFt c\u1EA5u","menu.texture.render_mode.default":"M\u1EB7c \u0111\u1ECBnh","menu.texture.merge_onto_texture":"H\u1EE3p nh\u1EA5t v\xE0o k\u1EBFt c\u1EA5u \u1EDF tr\xEAn","menu.animation.unload":"D\u1EE1","panel.timeline":"M\u1ED1c th\u1EDDi gian","action.pan_tool":"C\xF4ng c\u1EE5 Pan","action.pan_tool.desc":"C\xF4ng c\u1EE5 \u0111i\u1EC1u h\u01B0\u1EDBng trong ch\u1EBF \u0111\u1ED9 xem v\xE0 tr\xECnh ch\u1EC9nh s\u1EEDa k\u1EBFt c\u1EA5u","mode.start.recent.favorite":"\u0110\xE1nh d\u1EA5u l\xE0 y\xEAu th\xEDch","mode.start.info":"Th\xF4ng tin","mode.start.target":"M\u1EE5c ti\xEAu","mode.start.start":"B\u1EAFt \u0111\u1EA7u","mode.start.create_new":"T\u1EA1o m\xF4 h\xECnh m\u1EDBi","mode.start.format.informations":"T\u1ED1t \u0111\u1EC3 bi\u1EBFt:","mode.start.format.resources":"T\xE0i nguy\xEAn:","format.free.info.meshes":"\u0110\u1ECBnh d\u1EA1ng n\xE0y cho ph\xE9p x\xE2y d\u1EF1ng c\xE1c m\xF4 h\xECnh \u0111a gi\xE1c th\u1EA5p b\u1EB1ng c\xE1ch s\u1EED d\u1EE5ng c\xE1c h\xECnh kh\u1ED1i v\xE0 khung l\u01B0\u1EDBi c\xF3 h\xECnh d\u1EA1ng t\xF9y ch\u1EC9nh.","format.free.info.limitation":"Kh\xF4ng th\u1EC3 t\u1EA3i m\xF4 h\xECnh v\xE0o c\xE1c tr\xF2 ch\u01A1i c\u1EA7n \u0111\u1ECBnh d\u1EA1ng chuy\xEAn bi\u1EC7t, ch\u1EB3ng h\u1EA1n nh\u01B0 Minecraft.","format.skin.info.skin":"\u0110\u1ECBnh d\u1EA1ng n\xE0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 t\u1EA1o giao di\u1EC7n v\xE0 k\u1EBFt c\u1EA5u th\u1EF1c th\u1EC3 cho Minecraft.","format.skin.info.model":"Kh\xF4ng th\u1EC3 thay \u0111\u1ED5i m\xF4 h\xECnh. \u0110\u1EC3 thay \u0111\u1ED5i m\xF4 h\xECnh, tr\u01B0\u1EDBc ti\xEAn h\xE3y chuy\u1EC3n \u0111\u1ED5i sang \u0111\u1ECBnh d\u1EA1ng kh\xE1c th\xF4ng qua **T\u1EC7p** > **Chuy\u1EC3n \u0111\u1ED5i d\u1EF1 \xE1n**.","format.java_block.info.rotation":"Xoay \u0111\u01B0\u1EE3c gi\u1EDBi h\u1EA1n \u1EDF c\xE1c b\u01B0\u1EDBc 22,5 \u0111\u1ED9 v\xE0 m\u1ED9t tr\u1EE5c xoay cho m\u1ED7i ph\u1EA7n t\u1EED","format.java_block.info.size":"M\xF4 h\xECnh \u0111\u01B0\u1EE3c gi\u1EDBi h\u1EA1n \u1EDF k\xEDch th\u01B0\u1EDBc 3x3x3 kh\u1ED1i. C\xE0i \u0111\u1EB7t hi\u1EC3n th\u1ECB c\xF3 th\u1EC3 l\xE0m cho m\xF4 h\xECnh v\u1EADt ph\u1EA9m l\u1EDBn h\u01A1n","format.java_block.info.animation":"\u0110\u1ECBnh d\u1EA1ng n\xE0y kh\xF4ng h\u1ED7 tr\u1EE3 ho\u1EA1t \u1EA3nh trong vanilla Minecraft. N\u1EBFu b\u1EA1n \u0111ang t\u1EA1o m\u1ED9t b\u1EA3n mod, b\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng GeckoLib \u0111\u1EC3 t\u1EA1o ho\u1EA1t \u1EA3nh cho m\xF4 h\xECnh c\u1EE7a m\xECnh. M\u1EB7t kh\xE1c, c\xE1ch duy nh\u1EA5t \u0111\u1EC3 t\u1EA1o ho\u1EA1t \u1EA3nh l\xE0 chuy\u1EC3n \u0111\u1ED5i m\xF4 h\xECnh b\u1EB1ng l\u1EC7nh ho\u1EB7c h\u1ECDa ti\u1EBFt \u0111\u1ED9ng.","format.bedrock.info.textures":"M\u1ED7i m\xF4 h\xECnh ch\u1EC9 c\xF3 th\u1EC3 c\xF3 m\u1ED9t k\u1EBFt c\u1EA5u","format.bedrock_block":"Kh\u1ED1i Bedrock","format.bedrock_block.desc":"M\xF4 h\xECnh kh\u1ED1i cho Minecraft b\u1EA3n Bedrock","format.modded_entity.info.integer_size":"K\xEDch th\u01B0\u1EDBc c\u1EE7a c\xE1c kh\u1ED1i ri\xEAng l\u1EBB \u0111\u01B0\u1EE3c gi\u1EDBi h\u1EA1n \u1EDF s\u1ED1 nguy\xEAn.","format.modded_entity.info.format":"C\xE1c m\xF4 h\xECnh \u0111\u01B0\u1EE3c vi\u1EBFt b\u1EB1ng m\xE3 Java thay v\xEC c\u1EA5u tr\xFAc d\u1EEF li\u1EC7u chuy\xEAn d\u1EE5ng nh\u01B0 t\u1EA5t c\u1EA3 c\xE1c \u0111\u1ECBnh d\u1EA1ng xu\u1EA5t Blockbench kh\xE1c.","format.optifine_entity.info.optifine_required":"Ng\u01B0\u1EDDi d\xF9ng kh\xF4ng c\xE0i \u0111\u1EB7t OptiFine s\u1EBD kh\xF4ng th\u1EA5y m\xF4 h\xECnh.","format.optifine_entity.info.pivots":"T\xE2m quay c\u1EE7a ph\u1EA7n x\u01B0\u01A1ng b\u1ECB kh\xF3a, t\u1ED1t nh\u1EA5t b\u1EA1n kh\xF4ng n\xEAn ch\u1EA1m v\xE0o n\xF3.","format_category.low_poly":"\u0110a gi\xE1c th\u1EA5p","format_category.minecraft":"Minecraft","format_category.other":"Kh\xE1c","format_category.loaders":"Tr\xECnh t\u1EA3i","message.recover_backup.recover":"Kh\xF4i ph\u1EE5c","message.invalid_characters.title":"\u0110\u01B0\u1EDDng d\u1EABn kh\xF4ng h\u1EE3p l\u1EC7","message.invalid_characters.message":"\u0110\u01B0\u1EDDng d\u1EABn c\u1EE7a t\u1EC7p \u0111\xE3 nh\u1EADp ch\u1EE9a c\xE1c k\xFD t\u1EF1, ch\u1EEF hoa ho\u1EB7c kho\u1EA3ng tr\u1EAFng kh\xF4ng h\u1EE3p l\u1EC7. C\xE1c k\xFD t\u1EF1 \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3 l\xE0: %0","dialog.share_model.thumbnail":"H\xECnh thu nh\u1ECF","dialog.skin.high_res_texture":"Xin l\u01B0u \xFD r\u1EB1ng giao di\u1EC7n c\xF3 \u0111\u1ED9 ph\xE2n gi\u1EA3i \u0111\xE3 ch\u1ECDn s\u1EBD kh\xF4ng ho\u1EA1t \u0111\u1ED9ng nh\u01B0 giao di\u1EC7n Minecraft th\xF4ng th\u01B0\u1EDDng. Ch\u1ECDn \u0111\u1ED9 ph\xE2n gi\u1EA3i th\u1EA5p h\u01A1n.","settings.allow_display_slot_mirror":"Cho ph\xE9p ph\u1EA3n chi\u1EBFu c\xE1c khe hi\u1EC3n th\u1ECB","settings.allow_display_slot_mirror.desc":"B\u1EA1n c\xF3 th\u1EC3 ph\u1EA3n chi\u1EBFu c\xE1c v\u1ECB tr\xED hi\u1EC3n th\u1ECB c\u1EE7a c\xE1c m\xF4 h\xECnh v\u1EADt ph\u1EA9m Java. C\u1EA2NH B\xC1O: \u0110i\u1EC1u n\xE0y ch\u1EC9 ho\u1EA1t \u0111\u1ED9ng cho Minecraft 1.14 tr\u1EDF v\u1EC1 tr\u01B0\u1EDBc ho\u1EB7c trong c\xE1c tr\u01B0\u1EDDng h\u1EE3p \u0111\u1EB7c bi\u1EC7t.","action.switch_tabs":"Chuy\u1EC3n tab","action.switch_tabs.desc":"Chuy\u1EC3n \u0111\u1EBFn c\xE1c tab \u0111ang m\u1EDF c\u1EE7a b\u1EA1n. B\u1EA1n c\xF3 th\u1EC3 di chuy\u1EC3n theo h\u01B0\u1EDBng ng\u01B0\u1EE3c l\u1EA1i b\u1EB1ng c\xE1ch nh\u1EA5n shift","action.unselect_all":"B\u1ECF ch\u1ECDn t\u1EA5t c\u1EA3","action.save_palette":"L\u01B0u b\u1EA3ng m\xE0u...","action.save_palette.desc":"L\u01B0u b\u1EA3ng m\xE0u hi\u1EC7n t\u1EA1i v\xE0o Blockbench \u0111\u1EC3 s\u1EED d\u1EE5ng sau","action.keyframe_column_create":"T\u1EA1o c\u1ED9t khung h\xECnh ch\xEDnh","action.keyframe_column_create.desc":"N\u1EBFu khung h\xECnh ch\xEDnh \u0111\xE3 t\u1ED3n t\u1EA1i, h\xE3y nh\u1EADp t\u1EA5t c\u1EA3 c\xE1c k\xEAnh trong d\xF2ng th\u1EDDi gian v\xE0o m\xE3 th\u1EDDi gian hi\u1EC7n t\u1EA1i.","action.keyframe_column_select":"Ch\u1ECDn c\u1ED9t khung h\xECnh ch\xEDnh","action.keyframe_column_select.desc":"Ch\u1ECDn t\u1EA5t c\u1EA3 c\xE1c khung h\xECnh ch\xEDnh trong d\xF2ng th\u1EDDi gian d\u1ECDc theo c\u1ED9t b\xEAn d\u01B0\u1EDBi \u0111\u1EA7u ph\xE1t","menu.uv":"UV","menu.keyframe":"Khung h\xECnh ch\xEDnh","menu.palette.load.update":"C\u1EADp nh\u1EADt b\u1EA3ng m\xE0u","menu.palette.load.update.desc":"C\u1EADp nh\u1EADt b\u1EA3ng n\xE0y v\u1EDBi c\xE1c m\xE0u c\u1EE7a b\u1EA3ng Blockbench hi\u1EC7n t\u1EA1i","menu.timeline_marker.set_time":"C\xE0i \u0111\u1EB7t th\u1EDDi gian...","uv_editor.scale_uv":"quy m\xF4 UV","action.preview_scene":"C\u1EA3nh xem tr\u01B0\u1EDBc","action.preview_scene.desc":"Thay \u0111\u1ED5i c\u1EA3nh xem tr\u01B0\u1EDBc m\xF4 h\xECnh","preview_scene.minecraft_overworld":"Minecraft Overworld","preview_scene.minecraft_nether":"Minecraft Nether","preview_scene.minecraft_end":"Minecraft End","dialog.project.modded_entity_flip_y":"L\u1EADt tr\u1EE5c Y","preview_scene.studio":"Studio","format.image":"H\xECnh \u1EA3nh","modifier_actions.set_copy_source":"\u0110\u1EB7t ngu\u1ED3n sao ch\xE9p","message.load_images.title":"T\u1EA3i h\xECnh \u1EA3nh","message.load_images.edit_image":"Ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh","dialog.add_primitive.align_edges":"C\u0103n ch\u1EC9nh c\xE1c c\u1EA1nh","dialog.flip_animation.show_in_timeline":"Hi\u1EC3n th\u1ECB c\xE1c x\u01B0\u01A1ng \u0111\xE3 s\u1EEDa \u0111\u1ED5i trong d\xF2ng th\u1EDDi gian","settings.default_cube_size":"K\xEDch th\u01B0\u1EDBc kh\u1ED1i","settings.default_cube_size.desc":"\u0110\u1EB7t k\xEDch th\u01B0\u1EDBc kh\u1ED1i m\u1EB7c \u0111\u1ECBnh khi t\u1EA1o kh\u1ED1i m\u1EDBi","settings.uniform_keyframe":"C\xE1c khung h\xECnh ch\xEDnh c\xF3 c\xF9ng k\xEDch th\u01B0\u1EDBc","settings.uniform_keyframe.desc":"\u0110\u1EB7t k\xEDch th\u01B0\u1EDBc c\u1EE7a khung h\xECnh ch\xEDnh v\u1EC1 c\xF9ng k\xEDch th\u01B0\u1EDBc theo m\u1EB7c \u0111\u1ECBnh","settings.nearest_rectangle_select":"Ch\u1ECDn h\xECnh ch\u1EEF nh\u1EADt: C\u1EA1nh g\u1EA7n nh\u1EA5t","settings.nearest_rectangle_select.desc":"G\u1EAFn c\xE1c l\u1EF1a ch\u1ECDn h\xECnh ch\u1EEF nh\u1EADt v\xE0o c\u1EA1nh \u0111i\u1EC3m \u1EA3nh g\u1EA7n nh\u1EA5t, nh\u01B0 trong GIMP, thay v\xEC to\xE0n b\u1ED9 \u0111i\u1EC3m \u1EA3nh.","settings.pick_color_opacity":"Ch\u1ECDn \u0111\u1ED9 m\u1EDD m\xE0u","settings.pick_color_opacity.desc":"Ch\u1ECDn \u0111\u1ED9 m\u1EDD m\xE0u b\u1EB1ng thu\u1ED1c nh\u1ECF m\u1EAFt v\xE0 \u0111\u1EB7t n\xF3 l\xE0m \u0111\u1ED9 m\u1EDD c\u1EE7a c\u1ECD v\u1EBD","settings.paint_with_stylus_only":"Ch\u1EC9 v\u1EBD b\u1EB1ng b\xFAt stylus","settings.paint_with_stylus_only.desc":"Ch\u1EC9 s\u1EED d\u1EE5ng b\xFAt stylus \u0111\u1EC3 v\u1EBD, gi\u1EDBi h\u1EA1n chu\u1ED9t ho\u1EB7c nh\u1EADp li\u1EC7u b\u1EB1ng c\u1EA3m \u1EE9ng.","action.copy_brush_mode":"Sao ch\xE9p ch\u1EBF \u0111\u1ED9 c\u1ECD v\u1EBD","action.copy_brush_mode.copy":"Sao ch\xE9p","action.copy_brush_mode.pattern":"M\u1EABu","action.copy_brush_mode.sample":"V\u1EADt m\u1EABu","action.brush_shape":"H\xECnh d\u1EA1ng c\u1ECD","action.brush_shape.square":"Qu\u1EA3ng tr\u01B0\u1EDDng","action.brush_shape.circle":"V\xF2ng tr\xF2n","action.blend_mode":"Ch\u1EBF \u0111\u1ED9 h\xF2a tr\u1ED9n","action.blend_mode.default":"M\u1EB7c \u0111\u1ECBnh","action.blend_mode.set_opacity":"\u0110\u1EB7t \u0111\u1ED9 m\u1EDD","action.blend_mode.color":"M\xE0u","action.blend_mode.behind":"Ph\xEDa sau","action.blend_mode.multiply":"Nh\xE2n l\xEAn","action.blend_mode.divide":"Chia","action.blend_mode.add":"Th\xEAm","action.blend_mode.subtract":"M\xE0n","action.blend_mode.screen":"M\xE0n h\xECnh","action.blend_mode.overlay":"L\u1EDBp ph\u1EE7","action.blend_mode.hard_light":"\xC1nh s\xE1ng c\u1EE9ng","action.blend_mode.difference":"Kh\xE1c bi\u1EC7t","action.copy_brush":"Sao ch\xE9p c\u1ECD v\u1EBD","action.copy_brush.desc":"Nh\xE2n \u0111\xF4i m\u1ED9t ph\u1EA7n c\u1EE7a k\u1EBFt c\u1EA5u b\u1EB1ng c\u1ECD v\u1EBD ho\u1EB7c v\u1EBD m\u1ED9t m\u1EABu. Gi\u1EEF ph\xEDm Ctrl v\xE0 nh\u1EA5p ch\u1ECDn n\u01A1i c\u1EA7n sao ch\xE9p.","action.validator_window":"Xem c\xE1c v\u1EA5n \u0111\u1EC1 v\u1EC1 m\xF4 h\xECnh...","action.validator_window.desc":"M\u1EDF tr\xECnh x\xE1c th\u1EF1c li\u1EC7t k\xEA c\xE1c s\u1EF1 c\u1ED1 trong m\xF4 h\xECnh hi\u1EC7n t\u1EA1i.","action.cancel_gif":"H\u1EE7y GIF","menu.text_edit.copy_vector":"Sao ch\xE9p V\xE9c t\u01A1","menu.brush_presets.dialog":"Gi\xE1 tr\u1ECB c\xE0i s\u1EB5n c\u1ECD v\u1EBD...","menu.brush_presets.pixel_brush":"C\u1ECD v\u1EBD \u0111i\u1EC3m \u1EA3nh","menu.brush_presets.smooth_brush":"C\u1ECD v\u1EBD m\u1ECBn","menu.texture.edit_in_blockbench":"Ch\u1EC9nh s\u1EEDa trong Blockbench","menu.mirror_painting.axis":"Tr\u1EE5c","menu.mirror_painting.axis.desc":"Ch\u1ECDn v\u1EBD tr\xEAn tr\u1EE5c n\xE0o s\u1EBD \u0111\u01B0\u1EE3c nh\xE2n \u0111\xF4i","menu.mirror_painting.global":"\u0110\u1ED1i x\u1EE9ng t\u1ED5ng th\u1EC3","menu.mirror_painting.global.desc":"K\xEDch ho\u1EA1t g\u01B0\u01A1ng v\u1EBD tr\xEAn m\xF4 h\xECnh trong kh\xF4ng gian t\u1ED5ng th\u1EC3","menu.mirror_painting.local":"\u0110\u1ED1i x\u1EE9ng c\u1EE5c b\u1ED9","menu.mirror_painting.local.desc":"K\xEDch ho\u1EA1t g\u01B0\u01A1ng trong kh\xF4ng gian c\u1EE5c b\u1ED9 cho t\u1EEBng ph\u1EA7n t\u1EED","menu.mirror_painting.texture_frames":"khung k\u1EBFt c\u1EA5u ho\u1EA1t \u1EA3nh","menu.mirror_painting.texture_frames.desc":"Ph\u1EA3n chi\u1EBFu c\xE1c n\xE9t v\u1EBD cho m\u1ECDi khung h\xECnh c\u1EE7a k\u1EBFt c\u1EA5u \u0111\u1ED9ng","format.bedrock_block.info.size_limit":"K\xEDch th\u01B0\u1EDBc t\u1ED5ng th\u1EC3 c\u1EE7a kh\u1ED1i k\xEDch th\u01B0\u1EDBc \u0111\u01B0\u1EE3c gi\u1EDBi h\u1EA1n \u1EDF 30 \u0111i\u1EC3m \u1EA3nh \u1EDF m\u1ECDi n\u01A1i. C\xE1c gi\u1EDBi h\u1EA1n c\xF3 th\u1EC3 l\u1EC7ch t\xE2m theo b\u1EA5t k\u1EF3 h\u01B0\u1EDBng n\xE0o b\u1EB1ng 7 \u0111i\u1EC3m \u1EA3nh t\xEDnh t\u1EEB t\xE2m c\u1EE7a kh\u1ED1i.","format.bedrock_block.info.textures":"Nhi\u1EC1u k\u1EBFt c\u1EA5u c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c \xE1p d\u1EE5ng cho c\xE1c kh\u1ED1i kh\xE1c nhau trong Blockbench, nh\u01B0ng y\xEAu c\u1EA7u thi\u1EBFt l\u1EADp b\u1ED5 sung trong g\xF3i h\xE0nh vi \u0111\u1EC3 ho\u1EA1t \u0111\u1ED9ng ch\xEDnh x\xE1c trong tr\xF2 ch\u01A1i.","format.image.desc":"Ch\u1EC9nh s\u1EEDa \u1EA3nh trong tr\xECnh ch\u1EC9nh s\u1EEDa \u1EA3nh 2D","generic.delete_all":"X\xF3a h\u1EBFt","message.child_model_only.open":"M\u1EDF ph\u1EE5 huynh","message.child_model_only.open_with_textures":"M\u1EDF ph\u1EE5 huynh v\xE0 \xE1p d\u1EE5ng k\u1EBFt c\u1EA5u","dialog.project.credit":"Credit","dialog.convert_project.create_copy":"T\u1EA1o b\u1EA3n sao","dialog.texture.frame_time":"Khung th\u1EDDi gian","dialog.texture.frame_time.desc":"\u0110\u1EB7t kho\u1EA3ng th\u1EDDi gian m\u1ED7i khung h\xECnh s\u1EBD hi\u1EC3n th\u1ECB, t\xEDnh b\u1EB1ng t\xEDch t\u1EAFc. M\u1ED7i t\xEDch t\u1EAFc l\xE0 1/20 gi\xE2y.","dialog.texture.frame_interpolate":"N\u1ED9i suy","dialog.texture.frame_interpolate.desc":"N\u1ED9i suy gi\u1EEFa c\xE1c khung ho\u1EA1t \u1EA3nh b\u1EB1ng c\xE1ch l\xE0m m\u1EDD ch\xE9o sang khung ti\u1EBFp theo","dialog.texture.frame_order_type":"Ch\u1EBF \u0111\u1ED9 l\u1EB7p","dialog.texture.frame_order_type.loop":"L\u1EB7p","dialog.texture.frame_order_type.backwards":"V\xF2ng l\u1EB7p ng\u01B0\u1EE3c","dialog.texture.frame_order_type.back_and_forth":"L\u1EB7p \u0111i l\u1EB7p l\u1EA1i","dialog.texture.frame_order_type.custom":"Th\u1EE9 t\u1EF1 t\xF9y ch\u1EC9nh","dialog.texture.frame_order":"Th\u1EE9 t\u1EF1 khung","dialog.texture.frame_order.desc":"\u0110\u1EB7t th\u1EE9 t\u1EF1 khung t\xF9y ch\u1EC9nh b\u1EB1ng c\xE1ch li\u1EC7t k\xEA c\xE1c ch\u1EC9 s\u1ED1 khung h\xECnh theo th\u1EE9 t\u1EF1 m\u1EDBi. Ch\u1EC9 s\u1ED1 khung h\xECnh b\u1EAFt \u0111\u1EA7u t\u1EEB 0 v\u1EDBi khung \u0111\u1EA7u ti\xEAn.","dialog.select.mode":"Ch\u1EBF \u0111\u1ED9","dialog.select.mode.new":"Ch\u1ECDn m\u1EDBi","dialog.select.mode.add":"Th\xEAm v\xE0o \u0110\xE3 ch\u1ECDn","dialog.select.mode.remove":"X\xF3a kh\u1ECFi \u0110\xE3 ch\u1ECDn","dialog.select.mode.in_selection":"Ch\u1EC9 ch\u1ECDn t\u1EEB \u0110\xE3 ch\u1ECDn","dialog.predicate_overrides.model":"M\xF4 h\xECnh","dialog.predicate_overrides.predicates":"Tr\u1EA1ng th\xE1i","dialog.predicate_overrides.variants":"Bi\u1EBFn \u0111\u1ED5i","dialog.predicate_overrides.start_value":"B\u1EAFt \u0111\u1EA7u","dialog.predicate_overrides.add_override":"Th\xEAm ghi \u0111\xE8","dialog.predicate_overrides.add_predicate":"Th\xEAm \u0111i\u1EC1u ki\u1EC7n","dialog.predicate_overrides.generate_overrides":"T\u1EA1o ghi \u0111\xE8","dialog.predicate_overrides.confirm_delete":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a t\u1EA5t c\u1EA3 ghi \u0111\xE8 kh\xF4ng?","dialog.predicate_overrides.predicate.angle":"G\xF3c La B\xE0n","dialog.predicate_overrides.predicate.blocking":"B\u1ECB ch\u1EB7n","dialog.predicate_overrides.predicate.broken":"B\u1ECB h\u1ECFng","dialog.predicate_overrides.predicate.cast":"Truy\u1EC1n","dialog.predicate_overrides.predicate.cooldown":"H\u1ED3i","dialog.predicate_overrides.predicate.damage":"S\xE1t th\u01B0\u01A1ng","dialog.predicate_overrides.predicate.damaged":"B\u1ECB h\u01B0 h\u1EA1i","dialog.predicate_overrides.predicate.lefthanded":"Thu\u1EADn tay tr\xE1i","dialog.predicate_overrides.predicate.pull":"\u0110\u1ED9 c\u0103ng","dialog.predicate_overrides.predicate.pulling":"\u0110ang k\xE9o","dialog.predicate_overrides.predicate.charged":"\u0110\xE3 s\u1EA1c","dialog.predicate_overrides.predicate.firework":"C\xF3 ph\xE1o hoa","dialog.predicate_overrides.predicate.throwing":"S\u1EB5n s\xE0ng \u0111\u1EC3 n\xE9m","dialog.predicate_overrides.predicate.time":"Th\u1EDDi gian trong ng\xE0y","dialog.predicate_overrides.predicate.custom_model_data":"D\u1EEF li\u1EC7u m\xF4 h\xECnh t\xF9y ch\u1EC9nh","dialog.predicate_overrides.predicate.level":"M\u1EE9c \u0111\u1ED9 \xE1nh s\xE1ng","dialog.predicate_overrides.predicate.filled":"M\u1EE9c l\u1EA5p \u0111\u1EA7y T\xFAi b\u1ECDc","dialog.predicate_overrides.predicate.tooting":"Th\u1ED5i s\xE1o","settings.model_export_scale":"K\xEDch th\u01B0\u1EDBc kh\u1EA9u m\xF4 h\xECnh","settings.model_export_scale.desc":"Y\u1EBFu t\u1ED1 l\xE0m gi\u1EA3m quy m\xF4 c\u1EE7a c\xE1c m\xF4 h\xECnh glTF, DAE v\xE0 FBX \u0111\xE3 xu\u1EA5t. Gi\xE1 tr\u1ECB m\u1EB7c \u0111\u1ECBnh l\xE0 16, chuy\u1EC3n \u0111\u1ED5i 16 \u0111\u01A1n v\u1ECB Blockbench th\xE0nh 1 m\xE9t khi xu\u1EA5t.","action.export_fbx":"Xu\u1EA5t m\xF4 h\xECnh FBX","action.export_fbx.desc":"Xu\u1EA5t m\xF4 h\xECnh v\xE0 ho\u1EA1t \u1EA3nh d\u01B0\u1EDBi d\u1EA1ng t\u1EC7p fbx \u0111\u1EC3 s\u1EED d\u1EE5ng n\xF3 trong c\xE1c \u1EE9ng d\u1EE5ng 3D v\xE0 c\xF4ng c\u1EE5 tr\xF2 ch\u01A1i kh\xE1c","action.center_lateral":"Ph\xEDa trung t\xE2m","action.center_lateral.desc":"C\u0103n gi\u1EEFa ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn tr\xEAn tr\u1EE5c X v\xE0 Z","action.adjust_opacity":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 m\u1EDD...","action.adjust_opacity.desc":"\u0110i\u1EC1u ch\u1EC9nh \u0111\u1ED9 m\u1EDD c\u1EE7a k\u1EBFt c\u1EA5u \u0111\xE3 ch\u1ECDn","action.rotate_texture_cw":"Xoay k\u1EBFt c\u1EA5u theo chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","action.rotate_texture_ccw":"Xoay k\u1EBFt c\u1EA5u ng\u01B0\u1EE3c chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","action.predicate_overrides":"Ch\u1EC9nh s\u1EEDa ghi \u0111\xE8 v\u1ECB ng\u1EEF...","action.predicate_overrides.desc":"Ch\u1ECDn c\xE1c m\xF4 h\xECnh \u0111\u1EC3 ghi \u0111\xE8 m\xF4 h\xECnh n\xE0y d\u1EF1a tr\xEAn c\xE1c \u0111i\u1EC1u ki\u1EC7n \u0111\xE3 ch\u1ECDn","action.auto_set_cullfaces":"\u0110\u1EB7t Cullfaces t\u1EF1 \u0111\u1ED9ng","action.auto_set_cullfaces.desc":"T\u1EF1 \u0111\u1ED9ng t\u1EA1o c\xE1c b\u1EC1 m\u1EB7t tr\u1ED1ng \u0111\u1EC3 \u1EA9n c\xE1c m\u1EB7t khi ch\xFAng b\u1ECB che b\u1EDFi kh\u1ED1i l\xE2n c\u1EADn.","menu.texture.edit_externally":"Ch\u1EC9nh s\u1EEDa ngo\xE0i","menu.mirror_painting.texture":"Tr\xECnh ch\u1EC9nh s\u1EEDa 2D \u0111\u1ED1i x\u1EE9ng","menu.mirror_painting.texture.desc":"Cho ph\xE9p v\u1EBD ph\u1EA3n chi\u1EBFu trong kh\xF4ng gian 2D tr\xEAn h\xECnh \u1EA3nh ho\u1EB7c k\u1EBFt c\u1EA5u","menu.animator.rotation_global":"Xoay trong kh\xF4ng gian t\u1ED5ng th\u1EC3","uv_editor.face_properties":"Thu\u1ED9c t\xEDnh m\u1EB7t","uv_editor.face_properties.material_instance":"Tr\u01B0\u1EDDng h\u1EE3p v\u1EADt ch\u1EA5t","uv_editor.tint.info":"B\u1EA1n c\xF3 th\u1EC3 y\xEAu c\u1EA7u Minecraft t\xF4 m\xE0u cho n\xF3 b\u1EB1ng c\xE1ch b\u1EADt t\xF4ng m\xE0u tr\xEAn b\u1EC1 m\u1EB7t. Trong vanilla, s\u1EAFc \u0111\u1ED9 ch\u1EC9 c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng tr\xEAn m\u1ED9t s\u1ED1 kh\u1ED1i nh\u1EA5t \u0111\u1ECBnh, ch\u1EB3ng h\u1EA1n nh\u01B0 l\xE1 v\xE0 b\u1EE5i \u0111\xE1 \u0111\u1ECF v\xE0 ch\u1EC9 c\xF3 th\u1EC3 c\xF3 gi\xE1 tr\u1ECB b\u1EB1ng 0.","uv_editor.cullface.info":"K\xEDch ho\u1EA1t t\xEDnh n\u0103ng lo\u1EA1i b\u1ECF m\u1EB7t sau s\u1EBD khi\u1EBFn b\u1EC1 m\u1EB7t c\u1EE7a kh\u1ED1i kh\xF4ng \u0111\u01B0\u1EE3c hi\u1EC3n th\u1ECB n\u1EBFu m\u1ED9t kh\u1ED1i \u0111\u1EA7y \u0111\u1EE7 kh\xE1c \u0111\u01B0\u1EE3c \u0111\u1EB7t b\xEAn c\u1EA1nh n\xF3 theo h\u01B0\u1EDBng \u0111\xE3 ch\u1EC9 \u0111\u1ECBnh trong th\u1EBF gi\u1EDBi Minecraft. B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng \u0111i\u1EC1u n\xE0y \u0111\u1EC3 t\u1ED1i \u01B0u h\xF3a hi\u1EC7u su\u1EA5t.","uv_editor.material_instance.info":"C\xE1c phi\xEAn b\u1EA3n v\u1EADt li\u1EC7u c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c \u0111\u1EB7t th\xE0nh t\xEAn do ng\u01B0\u1EDDi d\xF9ng x\xE1c \u0111\u1ECBnh. T\xEAn \u0111\xF3 c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng trong t\u1EC7p JSON c\u1EE7a kh\u1ED1i trong g\xF3i h\xE0nh vi \u0111\u1EC3 ch\u1EC9 \u0111\u1ECBnh m\u1ED9t k\u1EBFt c\u1EA5u v\xE0 ch\u1EA5t li\u1EC7u c\u1EE5 th\u1EC3 m\xE0 b\u1EC1 m\u1EB7t \u0111\xF3.","display.reference.frame_invisible":"Khung v\u1EADt ph\u1EA9m (V\xF4 h\xECnh)","data.settings_profile":"H\u1ED3 s\u01A1","message.display_skin.invalid_name":'Kh\xF4ng th\u1EC3 t\xECm th\u1EA5y t\xE0i kho\u1EA3n Minecraft c\xF3 t\xEAn "%0".',"dialog.load_plugins_from_query.title":"T\u1EA3i plugin","dialog.load_plugins_from_query.text":"B\u1EA1n \u0111\xE3 s\u1EED d\u1EE5ng m\u1ED9t li\xEAn k\u1EBFt y\xEAu c\u1EA7u c\xE0i \u0111\u1EB7t plugin. B\u1EA1n c\xF3 mu\u1ED1n c\xE0i \u0111\u1EB7t ch\xFAng?","dialog.select_model.title":"Ch\u1ECDn m\u1ED9t m\xF4 h\xECnh","dialog.select_model.bones":"X\u01B0\u01A1ng","dialog.select_model.cubes":"Kh\u1ED1i","dialog.settings.create_profile":"T\u1EA1o h\u1ED3 s\u01A1...","settings_profile.confirm_delete":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a c\xE0i \u0111\u1EB7t h\u1ED3 s\u01A1 n\xE0y kh\xF4ng?","settings_profile.condition.type.selectable":"C\xF3 th\u1EC3 ch\u1ECDn th\u1EE7 c\xF4ng","settings.interface_mode":"Ch\u1EBF \u0111\u1ED9 UI","settings.interface_mode.desc":"Ch\u1EBF \u0111\u1ED9 giao di\u1EC7n. Kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Blockbench \u0111\u1EC3 \xE1p d\u1EE5ng c\xE1c thay \u0111\u1ED5i","settings.interface_mode.auto":"T\u1EF1 \u0111\u1ED9ng","settings.interface_mode.desktop":"B\u1EA3n m\xE1y t\xEDnh","settings.interface_mode.mobile":"B\u1EA3n di \u0111\u1ED9ng","settings.paint_through_transparency":"v\u1EBD \u0111\u1EB1ng sau c\xE1c pixel trong su\u1ED1t","settings.paint_through_transparency.desc":"V\u1EBD qua c\xE1c \u0111i\u1EC3m \u1EA3nh trong su\u1ED1t khi Kh\xF3a k\xEAnh Alpha \u0111\u01B0\u1EE3c b\u1EADt","action.tab_overview":"T\u1ED5ng quan v\u1EC1 tab","action.tab_overview.desc":"Xem t\u1EA5t c\u1EA3 c\xE1c tab \u0111ang m\u1EDF trong m\u1ED9t l\u01B0\u1EDBi v\xE0 chuy\u1EC3n \u0111\u1EBFn m\u1ED9t","action.slider_color_red":"M\xE0u \u0111\u1ECF","action.slider_color_green":"M\xE0u xanh l\xE1","action.slider_color_blue":"M\xE0u xanh d\u01B0\u01A1ng","action.add_animation_controller":"Th\xEAm b\u1ED9 \u0111i\u1EC1u khi\u1EC3n ho\u1EA1t \u1EA3nh","action.add_animation_controller.desc":"T\u1EA1o b\u1ED9 \u0111i\u1EC1u khi\u1EC3n ho\u1EA1t \u1EA3nh tr\u1ED1ng","action.animation_controller_preview_mode":"Xem tr\u01B0\u1EDBc b\u1ED9 \u0111i\u1EC1u khi\u1EC3n","action.animation_controller_preview_mode.paused":"T\u1EA1m ng\u1EEBng","action.animation_controller_preview_mode.manual":"Xem tr\u01B0\u1EDBc th\u1EE7 c\xF4ng","action.animation_controller_preview_mode.play":"T\u1EF1 ch\u1EA1y","action.keyframe_interpolation.bezier":"B\xE9zier","action.keyframe_bezier_linked":"K\u1EBFt n\u1ED1i tay c\u1EA7m B\xE9zier","action.keyframe_bezier_linked.desc":"K\u1EBFt n\u1ED1i tay c\u1EA7m b\xE9zier ph\u1EA3i v\xE0 tr\xE1i c\u1EE7a khung h\xECnh ch\xEDnh","action.reset_keyframe_handles":"\u0110\u1EB7t l\u1EA1i khung h\xECnh ch\xEDnh","action.reset_keyframe_handles.desc":"\u0110\u1EB7t l\u1EA1i c\xE1c n\xFAt B\xE9zier tr\xEAn c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn","action.looped_animation_playback":"Ph\xE1t l\u1EB7p l\u1EA1i","action.looped_animation_playback.desc":"Xem tr\u01B0\u1EDBc ho\u1EA1t \u1EA3nh trong m\u1ED9t v\xF2ng l\u1EB7p v\xF4 h\u1EA1n","timeline.bind_to_actor":"R\xE0ng bu\u1ED9c v\u1EDBi ng\u01B0\u1EDDi d\xF9ng","animation_controllers.select_preset":"Ch\u1ECDn gi\xE1 tr\u1ECB c\xE0i s\u1EB5n c\u1EE7a b\u1ED9 \u0111i\u1EC1u khi\u1EC3n...","animation_controllers.state.animations":"Ho\u1EA1t \u1EA3nh","animation_controllers.state.particles":"H\u1EA1t","animation_controllers.state.sounds":"\xC2m thanh","animation_controllers.state.on_entry":"Khi v\xE0o","animation_controllers.state.on_exit":"Khi tho\xE1t","animation_controllers.state.transitions":"Chuy\u1EC3n ti\u1EBFp","animation_controllers.state.condition":"T\xECnh tr\u1EA1ng","animation_controllers.state.blend_transition":"Pha tr\u1ED9n th\u1EDDi gian","animation_controllers.state.shortest_path":"Tr\u1ED9n theo \u0111\u01B0\u1EDDng \u0111i ng\u1EAFn nh\u1EA5t","animation_controllers.state.edit_transition":"Ch\u1EC9nh s\u1EEDa chuy\u1EC3n ti\u1EBFp","menu.color_picker.picker_type":"Lo\u1EA1i b\u1ED9 ch\u1ECDn","menu.color_picker.picker_type.square":"Vu\xF4ng","menu.color_picker.picker_type.wheel":"B\xE1nh","menu.color_picker.slider_mode":"Thanh tr\u01B0\u1EE3t","menu.color_picker.slider_mode.hsv":"T\xF4ng m\xE0u, \u0110\u1ED9 b\xE3o ho\xE0, S\u1EAFc \u0111\u1ED9","menu.color_picker.slider_mode.rgb":"RPG","menu.texture.render_mode.additive":"Th\xEAm","panel.color.picker_options":"C\xE0i \u0111\u1EB7t thu\u1ED1c nh\u1ECF m\u1EAFt","panel.animation_controllers":"Tr\xECnh \u0111i\u1EC1u khi\u1EC3n ho\u1EA1t \u1EA3nh","display.preset.armor_stand":"S\xE0n (Gi\xE1 \u0111\u1EC3 gi\xE1p)","data.file_path":"\u0110\u01B0\u1EDDng d\u1EABn t\u1EADp tin","dialog.extrude.orientation":"\u0110\u1ECBnh h\u01B0\u1EDBng","dialog.extrude.orientation.upright":"Vu\xF4ng g\xF3c","dialog.extrude.orientation.flat":"Ph\u1EB3ng","dialog.scale.box_uv_warning":"M\u1EDF r\u1ED9ng m\xF4 h\xECnh Box UV c\xF3 th\u1EC3 ph\xE1 v\u1EE1 UV c\u1EE7a m\xF4 h\xECnh c\u1EE7a b\u1EA1n. Thay v\xE0o \u0111\xF3, h\xE3y th\u1EED m\u1EDF r\u1ED9ng m\xF4 h\xECnh c\u1EE7a b\u1EA1n ra b\xEAn ngo\xE0i ho\u1EB7c chuy\u1EC3n sang Ch\u1EBF \u0111\u1ED9 UV tr\xEAn m\u1ED7i m\u1EB7t trong T\u1EC7p > D\u1EF1 \xE1n.","dialog.create_gif.format":"\u0110\u1ECBnh d\u1EA1ng","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"Tr\xECnh t\u1EF1 PNG","dialog.create_gif.pixelate":"T\u1EA1o \u0111i\u1EC3m \u1EA3nh","dialog.create_gif.bg_image":"\u1EA2nh n\u1EC1n","dialog.create_gif.turn.desc":"Xoay m\xF4 h\xECnh trong khi ghi. S\u1EED d\u1EE5ng c\xE1c gi\xE1 tr\u1ECB \xE2m \u0111\u1EC3 xoay m\xF4 h\xECnh theo chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3. Gi\xE1 tr\u1ECB 60 t\u01B0\u01A1ng \u1EE9ng v\u1EDBi m\u1ED9t v\xF2ng quay m\u1ED7i gi\xE2y.","settings_profile.condition":"T\xECnh tr\u1EA1ng","settings_profile.condition.type.file_path.desc":"So kh\u1EDBp \u0111\u01B0\u1EDDng d\u1EABn t\u1EC7p trong d\u1EF1 \xE1n hi\u1EC7n t\u1EA1i b\u1EB1ng c\xFA ph\xE1p bi\u1EC3u th\u1EE9c ch\xEDnh quy. S\u1EED d\u1EE5ng d\u1EA5u g\u1EA1ch ch\xE9o l\xEAn trong \u0111\u01B0\u1EDDng d\u1EABn t\u1EC7p","settings.only_selected_bezier_handles":"Ch\u1EC9 hi\u1EC3n th\u1ECB tay c\u1EA7m B\xE9zier \u0111\xE3 ch\u1ECDn","settings.only_selected_bezier_handles.desc":"\u1EA8n tay c\u1EA7m c\u1EE7a c\xE1c khung h\xECnh ch\xEDnh B\xE9zier hi\u1EC7n kh\xF4ng \u0111\u01B0\u1EE3c ch\u1ECDn","settings.embed_textures":"Nh\xFAng k\u1EBFt c\u1EA5u","settings.embed_textures.desc":"Nh\xFAng n\u1ED9i dung t\u1EC7p k\u1EBFt c\u1EA5u v\xE0o t\u1EC7p .bbmodel","action.selection_mode.cluster":"C\u1EE5m","dialog.copied_to_clipboard":"\u0110\xE3 sao ch\xE9p v\xE0o b\u1EA3ng t\u1EA1m","data.reference_image":"\u1EA2nh tham chi\u1EBFu","message.delete_reference_image":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a \u1EA3nh tham chi\u1EBFu n\xE0y kh\xF4ng? \u0110i\u1EC1u n\xE0y kh\xF4ng th\u1EC3 \u0111\u01B0\u1EE3c ho\xE0n t\xE1c.","message.add_reference_image.message":"Ch\u1ECDn n\u01A1i t\u1EA3i \u1EA3nh tham chi\u1EBFu","message.add_reference_image.project":"Th\xEAm v\xE0o d\u1EF1 \xE1n n\xE0y","message.add_reference_image.app":"Th\xEAm v\xE0o t\u1EA5t c\u1EA3 c\xE1c d\u1EF1 \xE1n","message.import_particle_texture.import":"Nh\u1EADp k\u1EBFt c\u1EA5u h\u1EA1t","message.import_particle_texture.message":"B\u1EA1n c\xF3 mu\u1ED1n nh\u1EADp t\u1EC7p k\u1EBFt c\u1EA5u \u0111\u1EC3 s\u1EED d\u1EE5ng cho h\u1EA1t c\u1EE7a m\xECnh kh\xF4ng?","message.save_codec_selector.title":"L\u01B0u \u0111\u1ECBnh d\u1EA1ng m\xF4 h\xECnh","message.save_codec_selector.message":"Ch\u1ECDn m\u1ED9t \u0111\u1ECBnh d\u1EA1ng \u0111\u1EC3 l\u01B0u m\xF4 h\xECnh.","message.save_codec_selector.project_file":"D\u1EF1 \xE1n Blockbench (.bbmodel)","message.save_codec_selector.both":"C\u1EA3 hai","message.display_skin.username":"T\xEAn ng\u01B0\u1EDDi d\xF9ng (Java)","message.palette_locked":"B\u1EA3ng m\xE0u b\u1ECB kh\xF3a","dialog.project.default_uv_mode":"Ch\u1EBF \u0111\u1ED9 UV m\u1EB7c \u0111\u1ECBnh","dialog.project.default_uv_mode.description":"Ch\u1EBF \u0111\u1ED9 UV m\u1EB7c \u0111\u1ECBnh c\u1EE7a d\u1EF1 \xE1n. Ch\u1EBF \u0111\u1ED9 UV c\u0169ng c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i tr\xEAn m\u1ED7i kh\u1ED1i.","dialog.export_options.title":"T\xF9y ch\u1ECDn xu\u1EA5t","dialog.edit_texture.preview":"Xem tr\u01B0\u1EDBc","dialog.proportional_editing.range":"Ph\u1EA1m vi","dialog.proportional_editing.falloff":"Suy tho\xE1i","dialog.proportional_editing.falloff.linear":"Tuy\u1EBFn t\xEDnh","dialog.proportional_editing.falloff.hermite_spline":"M\u1ECBn m\xE0ng","dialog.proportional_editing.falloff.constant":"H\u1EB1ng s\u1ED1","dialog.proportional_editing.selection":"L\u1EF1a ch\u1ECDn","dialog.proportional_editing.selection.linear":"Kho\u1EA3ng c\xE1ch tuy\u1EBFn t\xEDnh","dialog.proportional_editing.selection.connections":"C\xE1c k\u1EBFt n\u1ED1i","dialog.mirror_painting_texture_center.middle":"\u1EDE gi\u1EEFa","dialog.mirror_painting_texture_center.custom":"Tu\u1EF3 bi\u1EBFn","dialog.settings.reset_to_default":"\u0110\u1EB7t l\u1EA1i v\u1EC1 m\u1EB7c \u0111\u1ECBnh","keybindings.item.num_slider.increase":"T\u0103ng","keybindings.item.num_slider.decrease":"Gi\u1EA3m b\u1EDBt","settings.always_show_splash_art":"Lu\xF4n hi\u1EC3n th\u1ECB m\xE0n h\xECnh gi\u1EADt g\xE2n","settings.always_show_splash_art.desc":"Lu\xF4n hi\u1EC3n th\u1ECB m\xE0n h\xECnh gi\u1EADt g\xE2n tr\xEAn m\xE0n h\xECnh b\u1EAFt \u0111\u1EA7u","action.slider_palette_color":"Chuy\u1EC3n \u0111\u1ED5i b\u1EA3ng m\xE0u","action.slider_palette_color.desc":"Lu\xE2n chuy\u1EC3n gi\u1EEFa c\xE1c m\xE0u trong b\u1EA3ng m\xE0u","action.proportional_editing":"Ch\u1EC9nh s\u1EEDa theo t\u1EF7 l\u1EC7","action.proportional_editing.desc":"\u1EA2nh h\u01B0\u1EDFng \u0111\u1EBFn c\xE1c \u0111\u1EC9nh xung quanh theo t\u1EF7 l\u1EC7 khi ch\u1EC9nh s\u1EEDa c\xE1c ph\u1EA7n c\u1EE7a l\u01B0\u1EDBi.","action.limit_to_palette":"Gi\u1EDBi h\u1EA1n b\u1EA3ng m\xE0u","action.limit_to_palette.desc":"Gi\u1EDBi h\u1EA1n m\xE0u k\u1EBFt c\u1EA5u th\xE0nh m\xE0u t\u1EEB b\u1EA3ng m\xE0u \u0111\u01B0\u1EE3c t\u1EA3i","action.edit_reference_images":"Ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh tham chi\u1EBFu","action.edit_reference_images.desc":"B\u1EADt ch\u1EBF \u0111\u1ED9 h\xECnh \u1EA3nh tham chi\u1EBFu \u0111\u1EC3 th\xEAm ho\u1EB7c ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh tham chi\u1EBFu v\xE0 b\u1EA3n thi\u1EBFt k\u1EBF","action.add_reference_image":"Th\xEAm \u1EA3nh tham chi\u1EBFu","action.reference_image_from_clipboard":"\u1EA2nh tham chi\u1EBFu t\u1EEB b\u1EA3ng t\u1EA1m","action.reference_image_list":"\u1EA2nh tham chi\u1EBFu","action.connect_uv_faces":"K\u1EBFt n\u1ED1i m\u1EB7t UV","action.connect_uv_faces.desc":"K\u1EBFt n\u1ED1i c\xE1c m\u1EB7t UV \u0111\xE3 ch\u1ECDn v\u1EDBi m\u1EB7t UV \u0111\u01B0\u1EE3c ch\u1ECDn cu\u1ED1i c\xF9ng","action.merge_uv_vertices":"H\u1EE3p nh\u1EA5t c\xE1c \u0111\u1EC9nh UV","action.merge_uv_vertices.desc":"G\u1EAFn c\xE1c \u0111\u1EC9nh UV \u0111\u01B0\u1EE3c ch\u1ECDn \u0111\u1EA7u ti\xEAn v\xE0o c\xE1c \u0111\u1EC9nh UV \u0111\u01B0\u1EE3c ch\u1ECDn cu\u1ED1i c\xF9ng","action.bedrock_animation_mode":"Ch\u1EBF \u0111\u1ED9 ho\u1EA1t \u1EA3nh Bedrock","action.bedrock_animation_mode.desc":"Ch\u1ECDn ch\u1EBF \u0111\u1ED9 ch\u1EC9nh s\u1EEDa ho\u1EA1t \u1EA3nh cho Minecraft: Bedrock Edition trong","action.bedrock_animation_mode.entity":"Th\u1EF1c th\u1EC3","action.bedrock_animation_mode.attachable_first":"M\u1EE5c c\xE1 th\u1EC3 1","action.bedrock_animation_mode.attachable_third":"M\u1EE5c c\xE1 th\u1EC3 3","timeline.amplify":"Khuy\u1EBFch \u0111\u1EA1i","menu.options":"T\xF9y ch\u1ECDn...","menu.palette.lock_palette":"Kh\xF3a b\u1EA3ng m\xE0u","menu.uv.export":"Xu\u1EA5t b\u1EA3n \u0111\u1ED3 UV","menu.uv.flip_x":"G\u01B0\u01A1ng X","menu.uv.flip_y":"G\u01B0\u01A1ng Y","menu.mirror_painting.enabled":"\u0110\xE3 b\u1EADt","reference_image.position":"V\u1ECB tr\xED","reference_image.size":"K\xEDch th\u01B0\u1EDBc","reference_image.rotation":"Xoay","reference_image.opacity":"\u0110\u1ED9 trong su\u1ED1t","reference_image.visibility":"\u1EA8n","reference_image.clear_mode":"X\xF3a ch\u1EBF \u0111\u1ED9","reference_image.layer":"L\u1EDBp","reference_image.layer.background":"M\xF4 h\xECnh sau","reference_image.layer.viewport":"M\xF4 h\xECnh tr\xEAn","reference_image.layer.float":"Giao di\u1EC7n tr\xEAn","reference_image.scope":"Ph\u1EA1m vi","reference_image.scope.project":"Ch\u1EC9 d\u1EF1 \xE1n n\xE0y","reference_image.scope.global":"T\u1EA5t c\u1EA3 d\u1EF1 \xE1n","reference_image.enabled_modes":"\u0110\xE3 b\u1EADt trong Ch\u1EBF \u0111\u1ED9","codec.common.encoding":"M\xE3 h\xF3a","codec.common.armature":"Xu\u1EA5t nh\xF3m d\u01B0\u1EDBi d\u1EA1ng B\u1ED9 c\u1ED1t","codec.common.export_animations":"Xu\u1EA5t ho\u1EA1t \u1EA3nh","codec.common.embed_textures":"Nh\xFAng k\u1EBFt c\u1EA5u","preview.center_camera":"M\xE1y \u1EA3nh trung t\xE2m","display.reference.frame_top":"Khung v\u1EADt ph\u1EA9m tr\xEAn","display.reference.frame_top_invisible":"Khung v\u1EADt ph\u1EA9m tr\xEAn (V\xF4 h\xECnh)","action.proportional_editing_range":"Ph\u1EA1m vi ch\u1EC9nh s\u1EEDa theo t\u1EF7 l\u1EC7","action.proportional_editing_range.desc":"\u0110i\u1EC1u ch\u1EC9nh ph\u1EA1m vi \u0111\u1EC3 ch\u1EC9nh s\u1EEDa theo t\u1EF7 l\u1EC7","action.toggle_all_reference_images":"\u1EA8n/Hi\u1EC3n th\u1ECB t\u1EA5t c\u1EA3 \u1EA3nh tham chi\u1EBFu","action.toggle_all_reference_images.desc":"Chuy\u1EC3n \u0111\u1ED5i kh\u1EA3 n\u0103ng hi\u1EC3n th\u1ECB c\u1EE7a t\u1EA5t c\u1EA3 c\xE1c h\xECnh \u1EA3nh tham chi\u1EBFu c\xF9ng m\u1ED9t l\xFAc","action.add_animation_controller_state":"Th\xEAm Tr\u1EA1ng th\xE1i B\u1ED9 \u0111i\u1EC1u khi\u1EC3n Ho\u1EA1t \u1EA3nh","action.add_animation_controller_state.desc":"Th\xEAm m\u1ED9t tr\u1EA1ng th\xE1i m\u1EDBi v\xE0o b\u1ED9 \u0111i\u1EC1u khi\u1EC3n ho\u1EA1t \u1EA3nh","menu.slider.round_value":"Gi\xE1 tr\u1ECB tr\xF2n","texture.error.too_large":"\u0110\u1ED9 ph\xE2n gi\u1EA3i v\u01B0\u1EE3t qu\xE1 m\u1EE9c t\u1ED1i \u0111a %0","dialog.copy_to_clipboard":"Sao ch\xE9p v\xE0o b\u1EA3ng t\u1EA1m","dialog.open_url":"M\u1EDF URL","reference_image.image":"H\xECnh \u1EA3nh","uv_editor.rotate_uv":"Xoay UV","generic.error":"L\u1ED7i","projects.start_screen":"M\xE0n h\xECnh b\u1EAFt \u0111\u1EA7u","message.invalid_link.message":'M\xF4 h\xECnh \u0111\u01B0\u1EE3c chia s\u1EBB "%0" m\xE0 b\u1EA1n \u0111ang c\u1ED1 t\u1EA3i kh\xF4ng h\u1EE3p l\u1EC7 ho\u1EB7c \u0111\xE3 h\u1EBFt h\u1EA1n.',"message.plugin_dependencies.title":"Plugin ph\u1EE5 thu\u1ED9c","message.plugin_dependencies.message1":"Plugin y\xEAu c\u1EA7u c\xE1c ph\u1EE5 thu\u1ED9c n\xE0y:","message.plugin_dependencies.message1_update":"Plugin %0 \u0111\xE3 \u0111\u01B0\u1EE3c c\u1EADp nh\u1EADt v\xE0 hi\u1EC7n y\xEAu c\u1EA7u c\xE1c ph\u1EE5 thu\u1ED9c sau:","message.plugin_dependencies.message2":"B\u1EA1n c\xF3 mu\u1ED1n c\xE0i ch\xFAng \u0111\u1EC3 ti\u1EBFp t\u1EE5c kh\xF4ng?","message.plugin_dependencies.invalid":"Th\u1EADt kh\xF4ng may, plugin kh\xF4ng th\u1EC3 c\xE0i \u0111\u1EB7t, n\xF3 c\xF3 m\u1ED9t ph\u1EA7n ph\u1EE5 thu\u1ED9c kh\xF4ng h\u1EE3p l\u1EC7:","message.preview_scene_load_failed":"Kh\xF4ng th\u1EC3 t\u1EA3i c\u1EA3nh xem tr\u01B0\u1EDBc. Ki\u1EC3m tra k\u1EBFt n\u1ED1i Internet c\u1EE7a b\u1EA1n.","dialog.convert_project.text1":"Chuy\u1EC3n \u0111\u1ED5i d\u1EF1 \xE1n sang \u0111\u1ECBnh d\u1EA1ng kh\xE1c.","dialog.convert_project.text2":"S\u1EED d\u1EE5ng chuy\u1EC3n \u0111\u1ED5i r\u1EE7i ro c\u1EE7a ri\xEAng b\u1EA1n. C\xE1c \u0111\u1ECBnh d\u1EA1ng c\xF3 c\xE1c t\xEDnh n\u0103ng v\xE0 h\u1EA1n ch\u1EBF kh\xE1c nhau, v\xEC v\u1EADy, trong m\u1ED9t s\u1ED1 tr\u01B0\u1EDDng h\u1EE3p, vi\u1EC7c chuy\u1EC3n \u0111\u1ED5i s\u1EBD l\xE0m h\u1ECFng c\xE1c ph\u1EA7n c\u1EE7a d\u1EF1 \xE1n c\u1EE7a b\u1EA1n.","dialog.convert_project.text3":"B\u1EA1n kh\xF4ng th\u1EC3 ho\xE0n t\xE1c chuy\u1EC3n \u0111\u1ED5i, \u0111\xF3 l\xE0 l\xFD do t\u1EA1i sao m\u1ED9t b\u1EA3n sao s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o theo m\u1EB7c \u0111\u1ECBnh.","dialog.unsaved_work.title":"C\xF4ng vi\u1EC7c ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u","dialog.unsaved_work.text":"C\xE1c d\u1EF1 \xE1n sau ch\u1EE9a c\xE1c thay \u0111\u1ED5i ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u. B\u1EA1n c\xF3 mu\u1ED1n l\u01B0u c\xE1c thay \u0111\u1ED5i c\u1EE7a m\xECnh kh\xF4ng?","dialog.unsaved_work.discard_all":"Lo\u1EA1i b\u1ECF t\u1EA5t c\u1EA3","dialog.unsaved_work.save_all":"L\u01B0u t\u1EA5t c\u1EA3","dialog.resize_texture.mode":"Ch\u1EBF \u0111\u1ED9","dialog.resize_texture.mode.crop":"C\u1EAFt/M\u1EDF r\u1ED9ng","dialog.resize_texture.mode.scale":"T\u1EC9 l\u1EC7","dialog.plugins.is_installed":"C\xE0i \u0111\u1EB7t","dialog.plugins.is_disabled":"\u0110\xE3 t\u1EAFt","dialog.plugins.disable":"T\u1EAFt","dialog.plugins.enable":"B\u1EADt","dialog.plugins.dependencies":"Ph\u1EE5 thu\u1ED9c:","dialog.view_backups.open_folder":"M\u1EDF th\u01B0 m\u1EE5c","dialog.share_model.reference_images":"Bao g\u1ED3m h\xECnh \u1EA3nh tham kh\u1EA3o","dialog.share_model.too_large":"Kh\xF4ng th\u1EC3 t\u1EA3i l\xEAn: M\xF4 h\xECnh qu\xE1 l\u1EDBn","dialog.share_model.too_large_references":"Kh\xF4ng th\u1EC3 t\u1EA3i l\xEAn: M\xF4 h\xECnh qu\xE1 l\u1EDBn. H\xE3y th\u1EED m\xE0 kh\xF4ng c\xF3 h\xECnh \u1EA3nh tham kh\u1EA3o.","settings.stretch_linked":"Gi\xE3n li\xEAn k\u1EBFt","settings.stretch_linked.desc":"K\xE9o d\xE0i kh\u1ED1i l\u1EADp ph\u01B0\u01A1ng theo m\u1ECDi h\u01B0\u1EDBng v\u1EDBi c\xF9ng m\u1ED9t gi\xE1 tr\u1ECB","settings.grids":"Hi\u1EC7n th\u1ECB l\u01B0\u1EDBi","settings.grids.desc":"Hi\u1EC3n ho\u1EB7c \u1EA9n t\u1EA5t c\u1EA3 l\u01B0\u1EDBi 3D","settings.double_click_switch_tools":"Chuy\u1EC3n \u0111\u1ED5i c\xF4ng c\u1EE5 khi nh\u1EA5p \u0111\xFAp chu\u1ED9t","settings.double_click_switch_tools.desc":"Nh\u1EA5p \u0111\xFAp v\xE0o khung nh\xECn \u0111\u1EC3 chuy\u1EC3n \u0111\u1ED5i gi\u1EEFa c\xE1c c\xF4ng c\u1EE5","settings.outlines_in_paint_mode":"L\u1EF1a ch\u1ECDn \u0111\u01B0\u1EDDng vi\u1EC1n trong Ch\u1EBF \u0111\u1ED9 v\u1EBD","settings.outlines_in_paint_mode.desc":"Hi\u1EC3n th\u1ECB l\u1EF1a ch\u1ECDn \u0111\u01B0\u1EDDng vi\u1EC1n ph\u1EA7n t\u1EED trong khi \u1EDF ch\u1EBF \u0111\u1ED9 v\u1EBD","settings.json_indentation":"Th\u1EE5t l\u1EC1 JSON","settings.json_indentation.desc":"Ki\u1EC3u th\u1EE5t \u0111\u1EA7u d\xF2ng cho c\xE1c t\u1EC7p JSON \u0111\xE3 xu\u1EA5t","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Kho\u1EA3ng c\xE1ch: 4","settings.json_indentation.spaces_2":"Kho\u1EA3ng c\xE1ch: 2","action.slider_stretch":"K\xE9o d\xE0i","action.slider_stretch.desc":"K\xE9o d\xE0i c\xE1c kh\u1ED1i theo c\u1EA5p s\u1ED1 nh\xE2n tr\xEAn tr\u1EE5c %0 m\xE0 kh\xF4ng thay \u0111\u1ED5i UV","action.view_backups":"Xem b\u1EA3n sao l\u01B0u","action.view_backups.desc":"Duy\u1EC7t qua danh s\xE1ch c\xE1c b\u1EA3n sao l\u01B0u d\u1EF1 \xE1n \u0111\u01B0\u1EE3c l\u01B0u t\u1EF1 \u0111\u1ED9ng","action.search_outliner":"T\xECm ki\u1EBFm ngo\xE0i","action.search_outliner.desc":"T\xECm ki\u1EBFm t\xEAn ph\u1EA7n t\u1EED c\u1EE5 th\u1EC3 trong ph\xE1c th\u1EA3o","action.mirror_modeling":"M\xF4 h\xECnh g\u01B0\u01A1ng","action.mirror_modeling.desc":"B\u1EADt M\xF4 h\xECnh ph\u1EA3n chi\u1EBFu tr\xEAn tr\u1EE5c X. T\u1EA5t c\u1EA3 c\xE1c thay \u0111\u1ED5i b\u1EA1n th\u1EF1c hi\u1EC7n trong ch\u1EBF \u0111\u1ED9 xem s\u1EBD \u0111\u01B0\u1EE3c ph\u1EA3n \xE1nh sang ph\xEDa b\xEAn kia, tr\u1EEB khi \u0111\u01B0\u1EE3c t\u1EAFt c\u1EE5 th\u1EC3 tr\xEAn th\xE0nh ph\u1EA7n.","action.allow_element_mirror_modeling":"Cho ph\xE9p l\u1EADp m\xF4 h\xECnh g\u01B0\u01A1ng","action.allow_element_mirror_modeling.desc":"Ch\u1ECDn xem c\xE1c ph\u1EA7n t\u1EED \u0111\xE3 ch\u1ECDn c\xF3 th\u1EC3 b\u1ECB \u1EA3nh h\u01B0\u1EDFng b\u1EDFi m\xF4 h\xECnh g\u01B0\u01A1ng hay kh\xF4ng","action.switch_face_crease":"Chuy\u1EC3n \u0111\u1ED5i n\u1EBFp nh\u0103n tr\xEAn m\u1EB7t","action.switch_face_crease.desc":"Chuy\u1EC3n \u0111\u1ED5i theo h\u01B0\u1EDBng m\xE0 h\xECnh t\u1EE9 gi\xE1c g\u1EA5p \u1EDF gi\u1EEFa","action.clear_unused_texture_space":"X\xF3a kh\xF4ng gian k\u1EBFt c\u1EA5u kh\xF4ng \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng","action.clear_unused_texture_space.desc":"X\xF3a c\xE1c ph\u1EA7n c\u1EE7a k\u1EBFt c\u1EA5u kh\xF4ng \u0111\u01B0\u1EE3c \xE1nh x\u1EA1 UV t\u1EDBi b\u1EA5t k\u1EF3 ph\u1EA7n t\u1EED n\xE0o","action.split_screen":"Chia \u0111\xF4i m\xE0n h\xECnh","action.split_screen.desc":"Ch\u1ECDn ch\u1EBF \u0111\u1ED9 chia m\xE0n h\xECnh khung nh\xECn","action.split_screen.single":"\u0110\u01A1n","action.split_screen.double_horizontal":"\u0110\xF4i ngang","action.split_screen.double_vertical":"\u0110\xF4i d\u1ECDc","action.split_screen.quad":"B\u1ED1n","action.split_screen.triple_left":"Ba tr\xE1i","action.split_screen.triple_right":"Ba ph\u1EA3i","action.split_screen.triple_top":"Ba tr\xEAn","action.split_screen.triple_bottom":"Ba d\u01B0\u1EDBi","action.uv_project_from_view":"D\u1EF1 \xE1n UV t\u1EEB Ch\u1EBF \u0111\u1ED9 xem","action.uv_project_from_view.desc":"T\u1EF1 \u0111\u1ED9ng t\u1EA1o UV cho c\xE1c m\u1EB7t \u0111\xE3 ch\u1ECDn t\u1EEB ph\u1ED1i c\u1EA3nh c\u1EE7a ch\u1EBF \u0111\u1ED9 xem 3D","action.graph_editor_other_graphs":"Hi\u1EC3n th\u1ECB \u0111\u1ED3 th\u1ECB kh\xE1c","action.graph_editor_other_graphs.desc":"Bi\u1EC3u \u0111\u1ED3 \u0111\u1ED3 th\u1ECB c\u1EE7a c\xE1c tr\u1EE5c kh\xF4ng \u0111\u01B0\u1EE3c ch\u1ECDn c\xF3 \u0111\u01B0\u1EE3c hi\u1EC3n th\u1ECB hay kh\xF4ng","action.graph_editor_include_other_graphs":"Bao g\u1ED3m c\xE1c \u0111\u1ED3 th\u1ECB kh\xE1c","action.graph_editor_include_other_graphs.desc":"Tr\xECnh ch\u1EC9nh s\u1EEDa bi\u1EC3u \u0111\u1ED3 c\xF3 bao g\u1ED3m c\xE1c \u0111\u1ED3 th\u1ECB kh\xF4ng \u0111\u01B0\u1EE3c ch\u1ECDn trong ch\u1EBF \u0111\u1ED9 xem hay kh\xF4ng","action.set_ik_source":"\u0110\u1EB7t g\u1ED1c IK","action.set_ik_source.desc":"Ch\u1ECDn x\u01B0\u01A1ng g\u1ED1c c\u1EE7a chu\u1ED7i s\u1EBD \u0111\u01B0\u1EE3c di chuy\u1EC3n b\u1EDFi \u0111\u1ED1i t\u01B0\u1EE3ng r\u1ED7ng n\xE0y th\xF4ng qua \u0110\u1ED9ng h\u1ECDc ngh\u1ECBch \u0111\u1EA3o","edit.loop_cut.cuts":"C\u1EAFt","panel.element.stretch":"K\xE9o d\xE0i","preview_scene.minecraft_plains":"\u0110\u1ED3ng b\u1EB1ng","preview_scene.minecraft_cherry_grove":"R\u1EEBng n\xFAi anh \u0111\xE0o","preview_scene.minecraft_snowy_tundra":"\u0110\u1ED3ng b\u1EB1ng b\u0103ng tuy\u1EBFt","preview_scene.minecraft_sunset":"Ho\xE0ng h\xF4n","preview_scene.minecraft_night":"\u0110\xEAm","preview_scene.minecraft_desert":"Sa m\u1EA1c","preview_scene.minecraft_underwater":"D\u01B0\u1EDBi n\u01B0\u1EDBc","preview_scene.minecraft_coral_reef":"R\u1EA1n san h\xF4","preview_scene.minecraft_lush_cave":"Hang \u0111\u1ED9ng t\u01B0\u01A1i t\u1ED1t","preview_scene.minecraft_deep_dark":"B\xF3ng t\u1ED1i s\xE2u th\u1EB3m","generic.navigate_forward":"\u1EDE tr\u01B0\u1EDBc","generic.navigate_back":"Tr\u1EDF l\u1EA1i","action.element_render_order":"Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB \u0111\u1ED9 trong su\u1ED1t","action.element_render_order.default":"T\u1EF1 \u0111\u1ED9ng","action.element_render_order.behind":"Ph\xEDa sau","action.element_render_order.in_front":"Ph\xEDa tr\u01B0\u1EDBc","message.installing_update.title":"C\u1EADp nh\u1EADt c\xF3 s\u1EB5n","message.installing_update.message":"M\u1ED9t phi\xEAn b\u1EA3n m\u1EDBi \u0111\xE3 s\u1EB5n s\xE0ng \u0111\u1EC3 c\xE0i \u0111\u1EB7t. Sau khi \u0111\xF3ng \u1EE9ng d\u1EE5ng, vui l\xF2ng \u0111\u1EE3i kho\u1EA3ng %0 gi\xE2y tr\u01B0\u1EDBc khi m\u1EDF l\u1EA1i Blockbench ho\u1EB7c t\u1EAFt m\xE1y t\xEDnh \u0111\u1EC3 c\xE0i \u0111\u1EB7t b\u1EA3n c\u1EADp nh\u1EADt.","settings.brush_cursor_2d":"Con tr\u1ECF c\u1ECD v\u1EBD 2D","settings.brush_cursor_2d.desc":"Hi\u1EC3n th\u1ECB \u0111\u01B0\u1EDDng vi\u1EC1n xung quanh c\u1ECD v\u1EBD trong m\xF4i tr\u01B0\u1EDDng 2D","settings.brush_cursor_3d":"Con tr\u1ECF c\u1ECD v\u1EBD 3D","settings.brush_cursor_3d.desc":"Hi\u1EC3n th\u1ECB \u0111\u01B0\u1EDDng vi\u1EC1n xung quanh c\u1ECD v\u1EBD trong m\xF4i tr\u01B0\u1EDDng 3D","settings.cdn_mirror":"D\xF9ng b\u1EA3n sao CDN","settings.cdn_mirror.desc":"D\xF9ng b\u1EA3n sao CDN \u0111\u1EC3 t\u1EA3i xu\u1ED1ng c\xE1c plugin. M\xE1y b\u1EA3n sao nh\u1EADn c\u1EADp nh\u1EADt nhanh h\u01A1n v\xE0 ho\u1EA1t \u0111\u1ED9ng \u1EDF m\u1ED9t s\u1ED1 v\xF9ng m\xE0 m\u1EB7c \u0111\u1ECBnh kh\xF4ng ho\u1EA1t \u0111\u1ED9ng.","data.layer":"L\u1EDBp","data.panel":"B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n","generic.confirm_delete":"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a th\u1EE9 n\xE0y kh\xF4ng?","format_category.general":"chung","modifier_actions.no_uniform_scaling":"T\u0103ng c\u1EE1 t\u1EF1 do","message.texture_refresh_conflict.title":"Phi\xEAn b\u1EA3n k\u1EBFt c\u1EA5u b\u1ECB xung \u0111\u1ED9t","message.texture_refresh_conflict.message":"T\u1EC7p k\u1EBFt c\u1EA5u c\xF3 th\u1EC3 ch\u1EE9a c\xE1c thay \u0111\u1ED5i xung \u0111\u1ED9t v\u1EDBi phi\xEAn b\u1EA3n c\u1EE7a Blockbench.","message.texture_refresh_conflict.keep_ours":"Gi\u1EEF l\u1EA1i phi\xEAn b\u1EA3n c\u1EE7a Blockbench","message.texture_refresh_conflict.keep_theirs":"T\u1EA3i t\u1EC7p v\xE0 lo\u1EA1i b\u1ECF t\u1EA5t c\u1EA3 c\xE1c thay \u0111\u1ED5i v\xE0 l\u1EDBp trong Blockbench","message.group_required_to_animate":"B\u1EA1n kh\xF4ng th\u1EC3 t\u1EA1o hi\u1EC7u \u1EE9ng chuy\u1EC3n \u0111\u1ED9ng cho ph\u1EA7n t\u1EED n\xE0y. H\xE3y t\u1EA1o m\u1ED9t nh\xF3m \u0111\u1EC3 t\u1EA1o hi\u1EC7u \u1EE9ng chuy\u1EC3n \u0111\u1ED9ng.","dialog.texture.uv_size":"K\xEDch c\u1EE1 UV","dialog.advanced_screenshot.angle_preset":"G\xF3c gi\xE1 tr\u1ECB c\xE0i s\u1EB5n","dialog.advanced_screenshot.resolution":"\u0110\u1ED9 ph\xE2n gi\u1EA3i","dialog.advanced_screenshot.zoom_to_fit":"Thu ph\xF3ng t\u1EDBi khi v\u1EEBa","dialog.advanced_screenshot.zoom":"Thu ph\xF3ng / Ti\xEAu c\u1EF1","dialog.advanced_screenshot.anti_aliasing":"Ch\u1ED1ng nh\xF2e","dialog.advanced_screenshot.anti_aliasing.off":"T\u1EAFt","dialog.advanced_screenshot.anti_aliasing.msaa":"L\u1EA5y m\u1EABu \u0111a \u0111i\u1EC3m","dialog.advanced_screenshot.anti_aliasing.ssaa":"T\u0103ng m\u1EABu si\xEAu vi\u1EC7t","dialog.advanced_screenshot.show_gizmos":"Hi\u1EC3n th\u1ECB ch\u1EC9nh s\u1EEDa Gizmos","dialog.advanced_screenshot.shading":"\u0110\u1ED5 b\xF3ng","settings.auto_keyframe":"Khung h\xECnh ch\xEDnh t\u1EF1 \u0111\u1ED9ng","settings.auto_keyframe.desc":"T\u1EF1 \u0111\u1ED9ng t\u1EA1o m\u1ED9t khung h\xECnh ch\xEDnh v\u1EDBi c\xE1c gi\xE1 tr\u1ECB m\u1EB7c \u0111\u1ECBnh t\u1EA1i th\u1EDDi \u0111i\u1EC3m c\u1EE7a d\xF2ng th\u1EDDi gian khi thay \u0111\u1ED5i thu\u1ED9c t\xEDnh c\u1EE7a x\u01B0\u01A1ng \u0111\xF3","settings.modded_entity_integer_size":"K\xEDch th\u01B0\u1EDBc s\u1ED1 nguy\xEAn th\u1EF1c th\u1EC3 s\u1EEDa \u0111\u1ED5i","settings.modded_entity_integer_size.desc":"Gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc kh\u1ED1i trong \u0111\u1ECBnh d\u1EA1ng th\u1EF1c th\u1EC3 s\u1EEDa \u0111\u1ED5i th\xE0nh s\u1ED1 nguy\xEAn. M\u1EB7c d\xF9 \u0111\u1ECBnh d\u1EA1ng d\u1EA5u ph\u1EA9y \u0111\u1ED9ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3 theo k\u1EF9 thu\u1EADt trong m\u1ED9t s\u1ED1 phi\xEAn b\u1EA3n, s\u1ED1 nguy\xEAn d\u1EC5 d\xE0ng h\u01A1n \u0111\u1EC3 \xE1nh x\u1EA1 UV","category.layers":"L\u1EDBp","keybind.paint_secondary_color":"S\u01A1n v\u1EDBi M\xE0u Ph\u1EE5","action.selection_tool_operation_mode":"L\u1EF1a ch\u1ECDn ch\u1EBF \u0111\u1ED9 ho\u1EA1t \u0111\u1ED9ng","action.selection_tool_operation_mode.create":"L\u1EF1a ch\u1ECDn m\u1EDBi","action.selection_tool_operation_mode.add":"Th\xEAm v\xE0o l\u1EF1a ch\u1ECDn","action.selection_tool_operation_mode.subtract":"Tr\u1EEB kh\u1ECFi ph\u1EA7n l\u1EF1a ch\u1ECDn","action.selection_tool_operation_mode.intersect":"Giao nhau","action.pixel_perfect_drawing":"V\u1EBD ho\xE0n h\u1EA3o Pixel","action.pixel_perfect_drawing.desc":"V\u1EBD c\xE1c \u0111\u01B0\u1EDDng ngh\u1EC7 thu\u1EADt pixel m\u01B0\u1EE3t m\xE0 kh\xF4ng c\xF3 pixel k\xE9p \u1EDF c\xE1c \u0111\u01B0\u1EDDng cong","action.selection_tool":"C\xF4ng c\u1EE5 l\u1EF1a ch\u1ECDn","action.selection_tool.desc":"Ch\u1ECDn c\xE1c ph\u1EA7n c\u1EE7a h\xECnh \u1EA3nh","action.selection_tool.rectangle":"H\xECnh vu\xF4ng","action.selection_tool.ellipse":"H\xECnh elip","action.selection_tool.lasso":"Lasso Select","action.selection_tool.wand":"\u0110\u0169a ph\xE9p","action.selection_tool.color":"C\xF9ng m\xE0u","action.move_layer_tool":"Di chuy\u1EC3n l\u1EDBp","action.move_layer_tool.desc":"Di chuy\u1EC3n l\u1EDBp ho\u1EB7c v\xF9ng ch\u1ECDn hi\u1EC7n t\u1EA1i","action.export_modded_animations":"Xu\u1EA5t ho\u1EA1t \u1EA3nh th\u1EF1c th\u1EC3 s\u1EEDa \u0111\u1ED5i","action.export_modded_animations.desc":"Xu\u1EA5t ho\u1EA1t \u1EA3nh cho m\xF4 h\xECnh th\u1EF1c th\u1EC3 Minecraft phi\xEAn b\u1EA3n Java","action.swap_colors":"Ho\xE1n \u0111\u1ED5i m\xE0u s\u1EAFc","action.swap_colors.desc":"Ho\xE1n \u0111\u1ED5i m\xE0u ch\xEDnh b\u1EB1ng m\xE0u ph\u1EE5","action.apply_mesh_rotation":"\xC1p d\u1EE5ng xoay","action.apply_mesh_rotation.desc":"\u0110\u1EB7t l\u1EA1i ph\u1EA7n t\u1EED xoay c\u1EE7a l\u01B0\u1EDBi v\xE0 thay v\xE0o \u0111\xF3 \xE1p d\u1EE5ng n\xF3 cho h\xECnh h\u1ECDc","action.flip_texture_x.desc":"L\u1EADt k\u1EBFt c\u1EA5u ho\u1EB7c l\u1EDBp theo chi\u1EC1u ngang","action.flip_texture_y.desc":"L\u1EADt k\u1EBFt c\u1EA5u ho\u1EB7c l\u1EDBp theo chi\u1EC1u d\u1ECDc","action.rotate_texture_cw.desc":"Xoay k\u1EBFt c\u1EA5u ho\u1EB7c l\u1EDBp theo chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","action.rotate_texture_ccw.desc":"Xoay k\u1EBFt c\u1EA5u ho\u1EB7c l\u1EDBp ng\u01B0\u1EE3c chi\u1EC1u kim \u0111\u1ED3ng h\u1ED3","action.crop_texture_to_selection":"C\u1EAFt k\u1EBFt c\u1EA5u th\xE0nh v\xF9ng ch\u1ECDn","action.create_empty_layer":"T\u1EA1o l\u1EDBp tr\u1ED1ng","action.enable_texture_layers":"K\xEDch ho\u1EA1t l\u1EDBp","action.disable_texture_layers":"V\xF4 hi\u1EC7u l\u1EDBp","action.layer_opacity":"\u0110\u1ED9 m\u1EDD c\u1EE7a l\u1EDBp","action.layer_to_texture_size":"M\u1EDF r\u1ED9ng l\u1EDBp sang k\xEDch th\u01B0\u1EDBc k\u1EBFt c\u1EA5u","action.layer_to_texture_size.desc":"M\u1EDF r\u1ED9ng l\u1EDBp theo k\xEDch th\u01B0\u1EDBc c\u1EE7a k\u1EBFt c\u1EA5u","action.merge_layer_down":"H\u1EE3p nh\u1EA5t xu\u1ED1ng","action.merge_layer_down.desc":"H\u1EE3p nh\u1EA5t v\xE0o l\u1EDBp b\xEAn d\u01B0\u1EDBi","action.advanced_screenshot":"\u1EA2nh ch\u1EE5p m\xE0n h\xECnh n\xE2ng cao...","action.advanced_screenshot.desc":"Ch\u1EE5p m\xE0n h\xECnh m\xF4 h\xECnh v\u1EDBi c\xE1c t\xF9y ch\u1ECDn n\xE2ng cao","action.bake_ik_animation":"N\u01B0\u1EDBng gi\u1EA3i t\xEDch ngh\u1ECBch \u0111\u1EA3o (IK)","action.bake_ik_animation.desc":"N\u01B0\u1EDBng c\xE1c ph\xE9p quay \u0111\u01B0\u1EE3c \xE1p d\u1EE5ng b\u1EDFi \u0111\u1ED9ng h\u1ECDc ngh\u1ECBch \u0111\u1EA3o v\xE0o ho\u1EA1t \u1EA3nh \u0111\xE3 ch\u1ECDn","action.save_animation_preset":"L\u01B0u gi\xE1 tr\u1ECB c\xE0i s\u1EB5n ho\u1EA1t \u1EA3nh...","action.save_animation_preset.desc":"L\u01B0u c\xE1c khung h\xECnh ch\xEDnh \u0111\xE3 ch\u1ECDn l\xE0m gi\xE1 tr\u1ECB c\xE0i s\u1EB5n ho\u1EA1t \u1EA3nh","action.animation_onion_skin":"Ho\u1EA1t ho\u1EA1 da Onion","action.animation_onion_skin.desc":"Hi\u1EC3n th\u1ECB ch\u1EBF \u0111\u1ED9 xem khung d\xE2y c\u1EE7a m\u1ED9t khung kh\xE1c trong ho\u1EA1t \u1EA3nh \u0111\u1EC3 tham kh\u1EA3o","action.apply_animation_preset":"\xC1p d\u1EE5ng gi\xE1 tr\u1ECB c\xE0i s\u1EB5n ho\u1EA1t \u1EA3nh","action.apply_animation_preset.desc":"Ch\u1ECDn t\u1EEB danh s\xE1ch c\xE1c gi\xE1 tr\u1ECB c\xE0i s\u1EB5n ho\u1EA1t \u1EA3nh v\xE0 \xE1p d\u1EE5ng n\xF3 cho x\u01B0\u01A1ng \u0111\xE3 ch\u1ECDn","menu.brush_presets.pixel_perfect":"C\u1ECD v\u1EBD Pixel ho\xE0n h\u1EA3o","panel.layers":"L\u1EDBp","uv_editor.copy_paste_tool.to_layer":"\u0110\u1EBFn l\u1EDBp m\u1EDBi","format.image.new":"T\u1EA1o \u1EA3nh m\u1EDBi","format.image.info.summary":"Tr\xECnh ch\u1EC9nh s\u1EEDa \u1EA3nh 2D cho ph\xE9p b\u1EA1n t\u1EA1o v\xE0 ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh c\u0169ng nh\u01B0 \u1EA3nh ngh\u1EC7 thu\u1EADt pixel tr\u1EF1c ti\u1EBFp trong Blockbench m\xE0 kh\xF4ng c\u1EA7n t\u1EDBi tr\xECnh ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh b\xEAn ngo\xE0i. Ch\u1EC9nh s\u1EEDa h\xECnh \u1EA3nh, s\u1EEDa \u0111\u1ED5i h\u1ECDa ti\u1EBFt ho\u1EB7c t\u1EA1o ngh\u1EC7 thu\u1EADt pixel c\u1EE7a ri\xEAng b\u1EA1n!","settings.move_with_selection_tool":"S\u1EED d\u1EE5ng C\xF4ng c\u1EE5 l\u1EF1a ch\u1ECDn \u0111\u1EC3 di chuy\u1EC3n c\xE1c l\u1EF1a ch\u1ECDn","settings.move_with_selection_tool.desc":"Cho ph\xE9p c\xF4ng c\u1EE5 l\u1EF1a ch\u1ECDn di chuy\u1EC3n tr\u1EF1c ti\u1EBFp c\xE1c l\u1EF1a ch\u1ECDn m\xE0 kh\xF4ng c\u1EA7n ph\u1EA3i chuy\u1EC3n sang c\xF4ng c\u1EE5 di chuy\u1EC3n l\u1EDBp","settings.final_newline":"D\xF2ng m\u1EDBi cu\u1ED1i c\xF9ng","settings.final_newline.desc":"Ch\xE8n k\xFD t\u1EF1 d\xF2ng m\u1EDBi v\xE0o cu\u1ED1i t\u1EC7p \u0111\xE3 xu\u1EA5t","action.crop_layer_to_selection":"C\u1EAFt l\u1EDBp \u0111\u1EC3 ch\u1ECDn","action.edit_mode_uv_overlay.desc":"Hi\u1EC3n th\u1ECB b\u1EA3n \u0111\u1ED3 UV d\u01B0\u1EDBi d\u1EA1ng l\u1EDBp ph\u1EE7 trong ch\u1EBF \u0111\u1ED9 ch\u1EC9nh s\u1EEDa","menu.image":"H\xECnh \u1EA3nh","menu.texture.discard_changes":"Lo\u1EA1i b\u1ECF nh\u1EEFng thay \u0111\u1ED5i","menu.texture.discard_changes.desc":"H\u1EE7y b\u1ECF t\u1EA5t c\u1EA3 c\xE1c thay \u0111\u1ED5i ch\u01B0a \u0111\u01B0\u1EE3c l\u01B0u v\xE0 t\u1EA3i phi\xEAn b\u1EA3n m\u1EDBi nh\u1EA5t t\u1EEB t\u1EC7p","panel.textures.images":"H\xECnh \u1EA3nh","dialog.advanced":"N\xE2ng cao","dialog.recommended_option":"G\u1EE3i \xFD","modifier_actions.snap_to_center":"N\u1ED1i v\xE0o Gi\u1EEFa","modifier_actions.snap_to_pixels":"N\u1ED1i v\xE0o c\xE1c \u0111i\u1EC3m \u1EA3nh","message.invalid_format.install_plugin":"T\u1EA3i plugin '%0'","message.plugin_deprecated.message":"B\u1EA1n c\xF3 ch\u1EAFc b\u1EA1n mu\u1ED1n t\u1EA3i plugin kh\xF4ng c\xF2n \u0111\u01B0\u1EE3c d\xF9ng n\u1EEFa hay kh\xF4ng?","message.plugin_deprecated.install_anyway":"V\u1EABn t\u1EA3i","message.image_editor.not_found":"Kh\xF4ng th\u1EC3 t\xECm th\u1EA5y ph\u1EA7n m\u1EC1m ch\u1EC9nh s\u1EEDa \u1EA3nh \u0111\xE3 ch\u1ECDn. Vui l\xF2ng ch\u1ECDn m\u1ED9t ph\u1EA7n m\u1EC1m kh\xE1c.","message.knife_tool.confirm":"Nh\u1EA5n ph\xEDm %0 ho\u1EB7c nh\u1EA5n v\xE0o \u0111\xE2y \u0111\u1EC3 \xE1p d\u1EE5ng C\xF4ng C\u1EE5 Dao","message.knife_tool.skipped_face":"Kh\xF4ng th\u1EC3 c\u1EAFt gi\u1EEFa c\xE1c m\u1EB7t kh\xE1c nhau. H\xE3y th\xEAm c\xE1c c\u1EA1nh ho\u1EB7c \u0111\u1EC9nh gi\u1EEFa ch\xFAng!","message.optimize_animation.keyframes_removed":"\u0110\xE3 x\xF3a %0 khung h\xECnh ch\xEDnh th\u1EEBa","message.optimize_animation.nothing_to_optimize":"Kh\xF4ng t\xECm th\u1EA5y g\xEC \u0111\u1EC3 t\u1ED1i \u01B0u!","message.duplicate_bone_copy_animation.title":"Sao ch\xE9p ho\u1EA1t \u1EA3nh","message.duplicate_bone_copy_animation.message":"Ph\u1EA7n x\u01B0\u01A1ng \u0111\u01B0\u1EE3c nh\xE2n b\u1EA3n chuy\u1EC3n \u0111\u1ED9ng trong %0 ho\u1EA1t h\xECnh. B\u1EA1n c\xF3 mu\u1ED1n sao ch\xE9p c\xE1c khung h\xECnh ch\xEDnh qua cho ph\u1EA7n x\u01B0\u01A1ng m\u1EDBi?","message.auto_fix_mesh_edit.title":"T\u1EF1 s\u1EEDa ch\u1EEFa","message.auto_fix_mesh_edit.revert":"Ho\xE0n t\xE1c ch\u1EC9nh s\u1EEDa","message.auto_fix_mesh_edit.overlapping_vertices":"M\u1ED9t s\u1ED1 \u0111\u1EC9nh \u0111\xE3 b\u1ECB di chuy\u1EC3n \u0111\u1EBFn c\xF9ng m\u1ED9t v\u1ECB tr\xED. B\u1EA1n mu\u1ED1n l\xE0m g\xEC v\u1EDBi \u0111i\u1EC1u \u0111\xF3?","message.auto_fix_mesh_edit.concave_quads":"M\u1ED9t ho\u1EB7c nhi\u1EC1u m\u1EB7t b\u1ED1n \u0111\xE3 b\u1ECB l\xF5m xu\u1ED1ng, c\xF3 th\u1EC3 d\u1EABn \u0111\u1EBFn c\xE1c v\u1EA5n \u0111\u1EC1 trong b\u1EA3n \u0111\u1ED3 UV v\xE0 k\u1EBFt xu\u1EA5t. Blockbench c\xF3 th\u1EC3 t\u1EF1 \u0111\u1ED9ng s\u1EEDa n\xF3 cho b\u1EA1n:","message.auto_fix_mesh_edit.merge_vertices":"G\u1ED9p c\xE1c \u0111\u1EC9nh l\u1EA1i","message.auto_fix_mesh_edit.split_quads":"T\xE1ch c\xE1c m\u1EB7t b\u1ED1n","message.load_images.add_image":"Th\xEAm \u1EA3nh","dialog.project.modded_entity_entity_class":"C\u1EA5p Th\u1EF1c th\u1EC3","dialog.resize_texture.offset":"B\xF9 l\u1EA1i","dialog.animated_texture_editor.code_reference":"M\xE3 t\u01B0\u01A1ng quan","dialog.animated_texture_editor.code_reference.about":"C\xE1i m\xE3 \u0111\u1EC3 th\u1EF1c hi\u1EC7n ho\u1EA1t \u1EA3nh k\u1EBFt c\u1EA5u \u0111\u01B0\u1EE3c t\u1EA1o ra nh\u01B0 l\xE0 m\u1ED9t tham kh\u1EA3o v\xE0 kh\xF4ng nh\u1EA5t thi\u1EBFt ho\u1EA1t \u0111\u1ED9ng m\xE0 kh\xF4ng c\xF3 s\u1EF1 thay \u0111\u1ED5i. \u0110\u1ECDc t\xE0i li\u1EC7u \u0111\u1EC3 bi\u1EBFt th\xEAm.","dialog.animated_texture_editor.code_reference.docs":"T\xE0i li\u1EC7u","dialog.animated_texture_editor.reframe":"\u0110\xF3ng khung l\u1EA1i","dialog.animated_texture_editor.stride":"K\xEDch th\u01B0\u1EDBc khung","dialog.animated_texture_editor.frames":"S\u1ED1 l\u01B0\u1EE3ng khung","dialog.animated_texture_editor.add_frame":"Th\xEAm khung","dialog.animated_texture_editor.resize_frames":"Ch\u1EC9nh t\u1EC9 l\u1EC7 khung l\u1EA1i...","dialog.animated_texture_editor.apply":"\xC1p d\u1EE5ng","dialog.add_primitive.edge_size":"K\xEDch th\u01B0\u1EDBc c\u1EA1nh","dialog.change_animation_speed.speed":"T\u1ED1c \u0111\u1ED9","dialog.change_animation_speed.adjust_snapping":"Ch\u1EC9nh s\u1EEDa vi\u1EC7c N\u1ED1i","dialog.optimize_animation.selection":"L\u1EF1a ch\u1ECDn","dialog.optimize_animation.selection.selected_keyframes":"Khung h\xECnh ch\xEDnh \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn","dialog.optimize_animation.selection.selected_animation":"Ho\u1EA1t \u1EA3nh \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn","dialog.optimize_animation.selection.all_animations":"T\u1EA5t c\u1EA3 m\u1ECDi ho\u1EA1t h\xECnh","dialog.optimize_animation.thresholds":"Ng\u01B0\u1EE1ng c\xE1c gi\xE1 tr\u1ECB","dialog.import_obj.obj":"T\u1EC7p OBJ","dialog.import_obj.mtl":"T\u1EC7p MTL","dialog.import_obj.scale":"T\u1EC9 l\u1EC7","layout.thumbnail":"T\xF9y ch\u1EC9nh h\xECnh thu nh\u1ECF CSS","settings.pixel_grid":"L\u01B0\u1EDBi \u0111i\u1EC3m \u1EA3nh","settings.pixel_grid.desc":"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB k\u1EBFt c\u1EA5u \u0111i\u1EC3m \u1EA3nh tr\xEAn c\xE1c ph\u1EA7n t\u1EED trong ch\u1EBF \u0111\u1ED9 ch\u1EC9nh s\u1EEDa","settings.image_editor_grid_size":"K\xEDch th\u01B0\u1EDBc l\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB c\u1EE7a c\xF4ng c\u1EE5 ch\u1EC9nh s\u1EEDa \u1EA3nh","settings.image_editor_grid_size.desc":"K\xEDch th\u01B0\u1EDBc l\u01B0\u1EDBi \u0111\u1ED3 th\u1ECB l\u1EDBn trong c\xF4ng c\u1EE5 ch\u1EC9nh s\u1EEDa \u1EA3nh 2D","settings.ground_plane_double_side":"M\u1EB7t ph\u1EB3ng s\xE0n hai m\u1EB7t","settings.ground_plane_double_side.desc":"L\xE0m m\u1EB7t ph\u1EB3ng s\xE0n nh\xECn th\u1EA5y \u0111\u01B0\u1EE3c t\u1EEB ph\xEDa d\u01B0\u1EDBi l\xEAn","settings.optifine_save_default_texture":"OptiFine JEM: Xu\u1EA5t c\xE1c k\u1EBFt c\u1EA5u \u0111\u01B0\u1EE3c ch\u1ECDn","settings.optifine_save_default_texture.desc":"Xu\u1EA5t c\xE1c k\u1EBFt c\u1EA5u \u0111\u01B0\u1EE3c ch\u1ECDn nh\u01B0 l\xE0 k\u1EBFt c\u1EA5u m\u1EB7c \u0111\u1ECBnh c\u1EE7a m\xF4 h\xECnh","action.slider_color_select_threshold":"Ng\u01B0\u1EE1ng ch\u1ECDn m\xE0u","action.slider_color_select_threshold.desc":"M\xE0u c\u1EE7a \u0111i\u1EC3m \u1EA3nh l\xE2n c\u1EADn ph\u1EA3i g\u1EA7n \u0111\u1EBFn m\u1EE9c n\xE0o \u0111\u1EC3 \u0111\u01B0\u1EE3c ch\u1ECDn theo m\xE0u ho\u1EB7c theo c\xE1ch ch\u1ECDn \u0111\u0169a ph\xE9p","action.stretch_tool":"K\xE9o gi\xE3n","action.stretch_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 ch\u1ECDn v\xE0 k\xE9o gi\xE3n c\xE1c ph\u1EA7n t\u1EED","action.knife_tool":"C\xF4ng c\u1EE5 dao","action.knife_tool.desc":"C\xF4ng c\u1EE5 \u0111\u1EC3 c\u1EAFt c\xE1c m\u1EB7t khung l\u01B0\u1EDBi th\xE0nh c\xE1c mi\u1EBFng nh\u1ECF h\u01A1n","action.duplicate_project":"Nh\xE2n b\u1EA3n d\u1EF1 \xE1n","action.duplicate_project.desc":"T\u1EA1o m\u1ED9t b\u1EA3n sao c\u1EE7a d\u1EF1 \xE1n","action.transform_space.parent":"G\u1ED1c","action.transform_pivot_space":"T\xE2m quay thay \u0111\u1ED5i kh\xF4ng gian","action.solidify_mesh_selection":"L\xE0m \u0111\xF4ng \u0111\u1EB7c c\xE1c m\u1EB7t","action.solidify_mesh_selection.desc":"L\xE0m \u0111\xF4ng \u0111\u1EB7c c\xE1c m\u1EB7t \u0111\u01B0\u1EE3c ch\u1ECDn c\u1EE7a khung l\u01B0\u1EDBi","action.animated_texture_editor":"Ho\u1EA1t \u1EA3nh S\xE1ch l\u1EADt...","action.animated_texture_editor.desc":"C\xE0i \u0111\u1EB7t ho\u1EB7c ch\u1EC9nh s\u1EEDa ho\u1EA1t \u1EA3nh s\xE1ch l\u1EADt c\u1EE7a k\u1EBFt c\u1EA5u \u0111\u01B0\u1EE3c ch\u1ECDn","action.center_individual_pivots":"C\u0103n gi\u1EEFa t\xE2m quay ri\xEAng l\u1EBB","action.center_individual_pivots.desc":"\u0110\u1EB7t t\xE2m quay c\u1EE7a t\u1EEBng ph\u1EA7n t\u1EED \u0111\u01B0\u1EE3c ch\u1ECDn v\xE0o t\xE2m c\u1EE7a n\xF3","action.uv_cycle":"Tu\u1EA7n ho\xE0n UV","action.uv_cycle.desc":"Tu\u1EA7n ho\xE0n qua th\u1EE9 t\u1EF1 c\u1EE7a c\xE1c \u0111\u1EC9nh UV m\xE0 kh\xF4ng thay \u0111\u1ED5i v\u1ECB tr\xED c\u1EE7a UV","action.uv_cycle_invert":"Tu\u1EA7n ho\xE0n UV ng\u01B0\u1EE3c","action.uv_cycle_invert.desc":"Tu\u1EA7n ho\xE0n ng\u01B0\u1EE3c qua th\u1EE9 t\u1EF1 c\u1EE7a c\xE1c \u0111\u1EC9nh UV m\xE0 kh\xF4ng thay \u0111\u1ED5i v\u1ECB tr\xED c\u1EE7a UV","action.slider_animation_controller_speed":"T\u1ED1c \u0111\u1ED9 ph\xE1t l\u1EA1i b\u1ED9 \u0111i\u1EC1u khi\u1EC3n","action.slider_animation_controller_speed.desc":"T\u1ED1c \u0111\u1ED9 ph\xE1t l\u1EA1i c\u1EE7a b\u1ED9 \u0111i\u1EC1u khi\u1EC3n ho\u1EA1t \u1EA3nh tr\xEAn ph\u1EA7n tr\u0103m","action.optimize_animation":"T\u1ED1i \u01B0u h\xF3a ho\u1EA1t \u1EA3nh","action.optimize_animation.desc":"T\u1ED1i \u01B0u h\xF3a ho\u1EA1t \u1EA3nh hi\u1EC7n t\u1EA1i v\xE0 gi\u1EA3m s\u1ED1 khung h\xECnh ch\xEDnh","action.change_animation_speed":"Thay \u0111\u1ED5i t\u1ED1c \u0111\u1ED9 ho\u1EA1t \u1EA3nh...","action.change_animation_speed.desc":"Thay \u0111\u1ED5i t\u1ED1c \u0111\u1ED9 c\u1EE7a ho\u1EA1t \u1EA3nh \u0111\u01B0\u1EE3c ch\u1ECDn","timeline.select_particle_file":"Ch\u1ECDn t\u1EC7p h\u1EA1t","timeline.select_sound_file":"Ch\u1ECDn t\u1EC7p \xE2m thanh","menu.cube.texture.default":"M\u1EB7c \u0111\u1ECBnh","menu.texture.particle.clear":"Ng\u1EEBng s\u1EED d\u1EE5ng cho c\xE1c h\u1EA1t","menu.texture.use_as_default":"\u0110\u1EB7t nh\u01B0 m\u1EB7c \u0111\u1ECBnh","menu.texture.use_as_default.clear":"B\u1ECF g\xE1n nh\u01B0 m\u1EB7c \u0111\u1ECBnh","menu.toolbar.overflow":"Thanh c\xF4ng c\u1EE5 tr\xE0n","edit.solidify_mesh_selection.thickness":"\u0110\u1ED9 d\xE0y","reference_image.sync_to_timeline":"\u0110\u1ED3ng b\u1ED9 v\u1EDBi d\xF2ng th\u1EDDi gian","reference_image.toggle_playback":"B\u1EADt/T\u1EA1m d\u1EEBng","dialog.add_primitive.shape.beveled_cuboid":"Kh\u1ED1i b\u1ECB v\xE1t","dialog.ignore_all":"B\u1ECF qua h\u1EBFt","data.texture_group":"Nh\xF3m k\u1EBFt c\u1EA5u","data.animation":"Ho\u1EA1t \u1EA3nh","generic.on":"B\u1EADt","generic.off":"T\u1EAFt","format.free.info.3d_printing":"In 3D","message.invalid_file.merge_conflict":"T\u1EC7p n\xE0y ch\u1EE9a c\xE1c xung \u0111\u1ED9t h\u1EE3p nh\u1EA5t Git ch\u01B0a \u0111\u01B0\u1EE3c gi\u1EA3i quy\u1EBFt.","dialog.expand_texture_selection.radius":"S\u1ED1 l\u01B0\u1EE3ng","dialog.expand_texture_selection.corner":"H\xECnh d\u1EA1ng G\xF3c","dialog.expand_texture_selection.corner.round":"Tr\xF2n","dialog.expand_texture_selection.corner.square":"Vu\xF4ng","dialog.expand_texture_selection.corner.manhattan":"Manhattan","dialog.merge_animation.merge_target":"H\u1EE3p nh\u1EA5t th\xE0nh","keybindings.variation_conflict":"S\u1EF1 bi\u1EBFn \u0111\u1ED5i xung \u0111\u1ED9t v\u1EDBi c\xE1c ph\xEDm t\u1ED5 h\u1EE3p ch\xEDnh","settings.recovery_save_interval":"Qu\xE3ng ngh\u1EC9 \u0111i\u1EC3m l\u01B0u ph\u1EE5c h\u1ED3i","settings.recovery_save_interval.desc":"Blockbench th\u01B0\u1EDDng xuy\xEAn l\u01B0u d\u1EF1 \xE1n \u0111ang m\u1EDF trong n\u1EC1n \u0111\u1EC3 ph\u1EE5c h\u1ED3i trong tr\u01B0\u1EDDng h\u1EE3p m\xE1y t\xEDnh b\u1ECB s\u1EADp. C\xE0i \u0111\u1EB7t qu\xE3ng ngh\u1EC9 b\u1EB1ng gi\xE2y. C\xE0i b\u0103ng 0 \u0111\u1EC3 t\u1EAFt vi\u1EC7c l\u01B0u.","settings.save_view_per_tab":"L\u01B0u g\xF3c nh\xECn cho m\u1ED7i th\u1EBB","settings.save_view_per_tab.desc":"L\u01B0u g\xF3c nh\xECn hi\u1EC7n t\u1EA1i cho m\u1ED7i th\u1EBB ri\xEAng bi\u1EC7t","settings.inherit_parent_color":"Th\u1EEBa k\u1EBF m\xE0u c\u1EE7a ph\u1EE5 huynh","settings.inherit_parent_color.desc":"\u0110\u1EB7t m\xE0u \u0111\xE1nh d\u1EA5u c\u1EE7a m\u1ED9t ph\u1EA7n t\u1EED m\u1EDBi t\u1EA1o ra m\xE0u c\u1EE7a ph\u1EE5 huynh thay v\xEC m\u1ED9t m\xE0u ng\u1EABu nhi\xEAn","keybind.preview_select.multi_select":"Ch\u1ECDn nhi\u1EC1u","keybind.preview_select.group_select":"Ch\u1ECDn theo nh\xF3m","keybind.preview_select.loop_select":"Ch\u1ECDn l\u1EB7p","action.fill_mode.selection":"L\u1EF1a ch\u1ECDn","action.fill_mode.selected_elements":"Ph\u1EA7n t\u1EED \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn","action.image_tiled_view":"G\xF3c nh\xECn l\xE1t g\u1EA1ch","action.image_tiled_view.description":"K\xEDch ho\u1EA1t nh\xECn l\xE1t g\u1EA1ch ","action.image_onion_skin_view":"Da onion trong c\xF4ng c\u1EE5 ch\u1EC9nh s\u1EEDa \u1EA3nh","action.image_onion_skin_view.description":"B\u1EADt hi\u1EC3n th\u1ECB ch\u1EBF \u0111\u1ED9 da onion trong c\xF4ng c\u1EE5 ch\u1EC9nh s\u1EEDa 2D","action.expand_texture_selection":"M\u1EDF r\u1ED9ng l\u1EF1a ch\u1ECDn k\u1EBFt c\u1EA5u","action.expand_texture_selection.desc":"M\u1EDF r\u1ED9ng ho\u1EB7c thu l\u1EA1i l\u1EF1a ch\u1ECDn k\u1EBFt c\u1EA5u","action.switch_tabs.reverse_order":"\u0110\u1EA3o ng\u01B0\u1EE3c th\u1EE9 t\u1EF1","action.save_project_incremental":"L\u01B0u d\u1EF1 \xE1n v\u1EDBi S\u1EF1 t\u0103ng","action.save_project_incremental.desc":"L\u01B0u m\xF4 h\xECnh hi\u1EC7n t\u1EA1i nh\u01B0 m\u1ED9t t\u1EC7p d\u1EF1 \xE1n v\u1EDBi m\u1ED9t s\u1EF1 t\u0103ng (VD: project_2.bbmodel)","action.copy.multiple":"Sao ch\xE9p h\u1EBFt","action.copy.multiple.desc":"Sao ch\xE9p m\u1ECDi d\u1EEF li\u1EC7u \u0111\xE3 c\xF3 m\u1ED9t c\xE1ch ri\xEAng l\u1EBB","action.paste.multiple":"D\xE1n h\u1EBFt","action.randomize_marker_colors":"Ng\u1EABu nhi\xEAn h\xF3a m\xE0u c\u1EE7a \u0111\xE1nh d\u1EA5u","action.cube_light_emission":"Ph\xE1t x\u1EA1 \xE1nh s\xE1ng","action.cube_light_emission.desc":"Thay \u0111\u1ED5i s\u1EF1 ph\xE1t x\u1EA1 c\u1EE7a c\xE1c kh\u1ED1i \u0111\xE3 ch\u1ECDn, nh\u01B0 m\u1ED9t gi\xE1 tr\u1ECB gi\u1EEFa 0 \u0111\u1EBFn 15","action.view_mode.colored_solid":"Ch\u1EA5t r\u1EAFn v\u1EDBi m\xE0u \u0111\xE1nh d\u1EA5u","action.focus_on_selection.rotate_only":"Ch\u1EC9 xoay","action.create_texture_group":"T\u1EA1o nh\xF3m k\u1EBFt c\u1EA5u","action.create_texture_group.desc":"T\u1EA1o m\u1ED9t nh\xF3m cho nh\u1EEFng k\u1EBFt c\u1EA5u c\u1EE7a b\u1EA1n","action.uv_maximize.all_faces":"\u1EA2nh h\u01B0\u1EDFng \u0111\u1EBFn m\u1ECDi m\u1EB7t","action.retarget_animators":"Nh\u1EAFm l\u1EA1i c\xE1c ho\u1EA1t \u1EA3nh","action.retarget_animators.desc":"L\u1EF1a ch\u1ECDn ho\u1EA1t \u1EA3nh n\xE0o nh\u1EAFm v\xE0o x\u01B0\u01A1ng hay ph\u1EA7n t\u1EED n\xE0o","action.merge_animation":"H\u1EE3p nh\u1EA5t ho\u1EA1t \u1EA3nh","action.merge_animation.desc":"H\u1EE3p ho\u1EA1t \u1EA3nh v\u1EDBi m\u1ED9t ho\u1EA1t \u1EA3nh kh\xE1c","action.add_keyframe.reset_values":"V\u1EDBi gi\xE1 tr\u1ECB m\u1EB7c \u0111\u1ECBnh","action.set_timeline_range_start":"\u0110\u1EB7t b\u1EAFt \u0111\u1EA7u ph\u1EA1m vi khung h\xECnh ch\xEDnh","action.set_timeline_range_start.desc":"\u0110\u1EB7t th\u1EDDi \u0111i\u1EC3m b\u1EAFt \u0111\u1EA7u cho m\u1ED9t ph\u1EA1m vi ph\xE1t l\u1EA1i \u0111\u01B0\u1EE3c \u0111i\u1EC1u ch\u1EC9nh trong khung h\xECnh ch\xEDnh ho\u1EA1t \u1EA3nh","action.set_timeline_range_end":"\u0110\u1EB7t k\u1EBFt th\xFAc ph\u1EA1m vi khung h\xECnh ch\xEDnh","action.set_timeline_range_end.desc":"\u0110\u1EB7t th\u1EDDi \u0111i\u1EC3m k\u1EBFt th\xFAc cho m\u1ED9t ph\u1EA1m vi ph\xE1t l\u1EA1i \u0111\u01B0\u1EE3c \u0111i\u1EC1u ch\u1EC9nh trong khung h\xECnh ch\xEDnh ho\u1EA1t \u1EA3nh","action.disable_timeline_range":"T\u1EAFt ph\u1EA1m vi khung h\xECnh ch\xEDnh","action.disable_timeline_range.desc":"T\u1EAFt ph\u1EA1m vi ph\xE1t l\u1EA1i \u0111\u01B0\u1EE3c \u0111i\u1EC1u ch\u1EC9nh tr\xEAn khung h\xECnh ch\xEDnh ho\u1EA1t \u1EA3nh","menu.texture_group.resolve":"Gi\u1EA3i quy\u1EBFt","menu.image_tiled_view.mirrored":"C\u1EA1nh \u0111\xE3 ph\u1EA3n chi\u1EBFu","menu.image_onion_skin_view.frame":"Khung","menu.image_onion_skin_view.frame.last_viewed":"Khung l\u1EA7n cu\u1ED1i \u0111\u01B0\u1EE3c xem","menu.image_onion_skin_view.frame.previous":"Khung tr\u01B0\u1EDBc \u0111\xF3","menu.image_onion_skin_view.frame.next":"Khung ti\u1EBFp theo","menu.image_onion_skin_view.frame.both":"Tr\u01B0\u1EDBc \u0111\xF3 + Ti\u1EBFp theo","menu.image_onion_skin_view.display":"Hi\u1EC3n th\u1ECB","menu.image_onion_skin_view.display.pixels":"\u0110i\u1EC3m \u1EA3nh nh\u1ECF h\u01A1n","menu.image_onion_skin_view.display.transparent":"Trong su\u1ED1t","menu.image_onion_skin_view.above":"Hi\u1EC3n th\u1ECB \u1EDF tr\xEAn","menu.animation.reload":"T\u1EA3i l\u1EA1i","switches.autouv.alt":"Li\xEAn quan","display.rotation_pivot":"T\xE2m quay xoay","display.scale_pivot":"T\xE2m quay t\u1EC9 l\u1EC7","display.reference.fox":"C\xE1o","display.reference.eating":"\u0110ang \u0103n","preview_scene.sky":"B\u1EA7u tr\u1EDDi","preview_scene.space":"Kh\xF4ng gian","preview_scene.minecraft_ocean":"Bi\u1EC3n","message.import_palette.selection_only":"Ch\u1EC9 \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn","dialog.blend_transition_edit.ease_in_out":"B\u1EAFt \u0111\u1EA7u v\xE0 k\u1EBFt th\xFAc ch\u1EADm (%0)","dialog.blend_transition_edit.generate":"T\u1EA1o...","dialog.blend_transition_edit.generate.learn_more":"Th\xF4ng tin th\xEAm v\xE0 xem tr\u01B0\u1EDBc","dialog.blend_transition_edit.generate.curve":"Lo\u1EA1i ho\u1EA1t h\xECnh","dialog.blend_transition_edit.generate.steps":"Khung h\xECnh ch\xEDnh","settings.fps_limit":"Gi\u1EDBi h\u1EA1n FPS","settings.fps_limit.desc":"Gi\u1EDBi h\u1EA1n s\u1ED1 khung m\u1ED7i gi\xE2y m\xE0 Blockbench k\u1EBFt xu\u1EA5t. S\u1ED1 khung m\u1ED7i gi\xE2y th\u1EF1c s\u1EF1 th\xEC b\u1ECB gi\u1EDBi h\u1EA1n b\u1EDFi vi\u1EC7c thi\u1EBFt b\u1ECB c\u1EE7a b\u1EA1n c\xF3 th\u1EC3 hi\u1EC7n th\u1ECB c\xE1i g\xEC.","settings.outliner_reveal_on_select":"Ti\u1EBFt l\u1ED9 c\xE1c ph\u1EA7n t\u1EED khi l\u1EF1a ch\u1ECDn","settings.outliner_reveal_on_select.desc":"Ti\u1EBFt l\u1ED9 c\xE1c ph\u1EA7n t\u1EED trong b\u1EA3n s\u1EAFp x\u1EBFp khi \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn","settings.java_export_pivots":"Xu\u1EA5t t\xE2m quay trong c\xE1c m\xF4 h\xECnh Java kh\u1ED1i/v\u1EADt ph\u1EA9m","settings.java_export_pivots.desc":"L\u01B0u t\xE2m quay trong m\xF4 h\xECnh Java kh\u1ED1i/V\u1EADt ph\u1EA9m tr\xEAn c\xE1c kh\u1ED1i m\xE0 kh\xF4ng xoay","animation_controllers.state.blend_transition_curve":"\u0110\u01B0\u1EDDng cong pha tr\u1ED9n chuy\u1EC3n ti\u1EBFp","menu.slider.reset_vector":"\u0110\u1EB7t l\u1EA1i V\xE9c t\u01A1","dialog.blend_transition_edit.extended":"\u0110\u1ED3 th\u1ECB \u0111\u01B0\u1EE3c m\u1EDF r\u1ED9ng","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"The screenshot could not be rendered successfully. Please try again with a lower resolution or without supersampling.","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"Approximation method for displaying high dynamic range on a standard screen for PBR rendering.","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"Even Extend","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGB Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGB channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"Lighten","action.blend_mode.darken":"Darken","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"Which geometry this spline should render","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"Extend","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"Render Order","action.element_render_order.desc":"Render order of elements. This can help fix elements that are hidden behind other elements with transparent textures. Leave it on Auto for opaque elements.","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"Weight Brush Blend Mode","action.weight_brush_blend_mode.set":"Set","action.weight_brush_blend_mode.add":"Add","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var FL={"dialog.ok":"\u786E\u5B9A","dialog.cancel":"\u53D6\u6D88","dialog.confirm":"\u786E\u8BA4","dialog.close":"\u5173\u95ED","dialog.import":"\u5BFC\u5165","dialog.save":"\u4FDD\u5B58","dialog.discard":"\u4E22\u5F03","dialog.dontshowagain":"\u4E0D\u518D\u663E\u793A","data.cube":"\u65B9\u5757","data.group":"\u5206\u7EC4","data.texture":"\u7EB9\u7406","data.plugin":"\u63D2\u4EF6","data.preview":"\u9884\u89C8","data.toolbar":"\u5DE5\u5177\u680F","data.image":"\u56FE\u7247","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"\u7A7A\u683C","keys.leftclick":"\u5DE6\u952E","keys.middleclick":"\u4E2D\u952E","keys.rightclick":"\u53F3\u952E","keys.tab":"Tab","keys.backspace":"\u9000\u683C","keys.enter":"Enter","keys.escape":"Esc","keys.function":"F%0","keys.numpad":"\u5C0F\u952E\u76D8 %0","keys.caps":"\u5927\u5199\u9501\u5B9A","keys.menu":"\u83DC\u5355\u952E","keys.left":"Left","keys.up":"Up","keys.right":"Right","keys.down":"Down","keys.pageup":"Pg Up","keys.pagedown":"Pg Dn","keys.plus":"+","keys.comma":",","keys.point":".","keys.minus":"-","keys.cross":"/","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u65CB\u8F6C\u9650\u5236","message.rotation_limit.message":"Minecraft \u5C06\u65CB\u8F6C\u9650\u5236\u4E3A\u4E00\u4E2A\u8F74\u5E76\u4E14\u4E3A 22.5 \u5EA6\u7684\u500D\u6570\u3002\u5728\u4E0D\u540C\u8F74\u4E0A\u65CB\u8F6C\u4F1A\u6E05\u9664\u5176\u4ED6\u8F74\u4E0A\u7684\u6240\u6709\u65CB\u8F6C\u3002\u5982\u679C\u60A8\u662F\u56E0\u4E3A\u5176\u4ED6\u76EE\u7684\u5EFA\u6A21\u5E76\u9700\u8981\u81EA\u7531\u65CB\u8F6C\uFF0C\u8BF7\u5C06\u6A21\u578B\u8F6C\u6362\u4E3A\u201C\u901A\u7528\u6A21\u578B\u201D\u3002","message.file_not_found.title":"\u672A\u627E\u5230\u6587\u4EF6","message.file_not_found.message":"Blockbench \u627E\u4E0D\u5230\u8BF7\u6C42\u7684\u6587\u4EF6\u3002\u8BF7\u786E\u4FDD\u5B83\u4FDD\u5B58\u5728\u672C\u5730\u800C\u4E0D\u662F\u4E91\u4E2D\u3002","message.screenshot.title":"\u622A\u5C4F","message.screenshot.clipboard":"\u526A\u8D34\u677F","message.screenshot.right_click":"\u53F3\u952E\u6216\u957F\u6309\u622A\u5C4F\u590D\u5236","message.invalid_file.title":"\u6587\u4EF6\u65E0\u6548","message.invalid_file.message":"\u65E0\u6CD5\u6253\u5F00 Json \u6587\u4EF6\uFF1A%0","message.invalid_model.title":"\u6A21\u578B\u6587\u4EF6\u65E0\u6548","message.invalid_model.message":"\u6587\u4EF6\u4E0D\u5305\u542B\u6709\u6548\u6A21\u578B\u6570\u636E\u3002","message.child_model_only.title":"\u7A7A\u7684\u5B50\u6A21\u578B","message.child_model_only.message":"\u6587\u4EF6\u4E3A %0 \u7684\u5B50\u6587\u4EF6\uFF0C\u4E0D\u5305\u542B\u6A21\u578B\u3002","message.unsaved_textures.title":"\u7EB9\u7406\u672A\u4FDD\u5B58","message.unsaved_textures.message":"\u60A8\u7684\u6A21\u578B\u6709\u672A\u4FDD\u5B58\u7684\u7EB9\u7406\u3002 \u786E\u4FDD\u4FDD\u5B58\u5E76\u653E\u7F6E\u5728\u6B63\u786E\u6587\u4EF6\u5939\u3002","message.model_clipping.title":"\u6A21\u578B\u8FC7\u5927","message.model_clipping.message":"\u60A8\u7684\u6A21\u578B\u5305\u542B %0 \u4E2A\u8D85\u51FA\u9650\u5236\u7684\u65B9\u5757\u3002\u6B64\u6A21\u578B\u5C06\u4E0D\u9002\u7528\u4E8E Minecraft\u3002","message.loose_texture.title":"\u5BFC\u5165\u7EB9\u7406","message.loose_texture.message":"\u5BFC\u5165\u7684\u7EB9\u7406\u4E0D\u5728\u8D44\u6E90\u5305\u4E2D\u3002Minecraft \u53EA\u80FD\u52A0\u8F7D\u8D44\u6E90\u5305 textures \u6587\u4EF6\u5939\u4E2D\u7684\u7EB9\u7406\u3002","message.loose_texture.change":"\u66F4\u6539\u8DEF\u5F84","message.update_res.title":"\u7EB9\u7406\u5C3A\u5BF8","message.update_res.message":"\u662F\u5426\u8981\u5C06\u9879\u76EE\u5206\u8FA8\u7387\u66F4\u6539\u4E3A\u6B64\u7EB9\u7406\u7684\u5206\u8FA8\u7387\uFF1F\u5982\u679C\u60A8\u7684\u7EB9\u7406\u7684\u5206\u8FA8\u7387\u9AD8\u4E8E\u6B63\u5E38\u503C\uFF0C\u8BF7\u70B9\u51FB\u201C\u53D6\u6D88\u201D\u3002","message.update_res.update":"\u66F4\u65B0","message.bedrock_overwrite_error.message":"Blockbench \u65E0\u6CD5\u5C06\u6B64\u6A21\u578B\u4E0E\u65E7\u6587\u4EF6\u7EC4\u5408","message.bedrock_overwrite_error.backup_overwrite":"\u521B\u5EFA\u5907\u4EFD\u5E76\u8986\u76D6","message.bedrock_overwrite_error.overwrite":"\u8986\u76D6","message.close_warning.message":"\u662F\u5426\u4FDD\u5B58\u6A21\u578B\uFF1F","message.close_warning.web":"\u5F53\u524D\u9879\u76EE\u5C06\u4E0D\u88AB\u4FDD\u5B58\u3002\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F","message.default_textures.title":"\u9ED8\u8BA4\u7EB9\u7406","message.default_textures.message":"\u9009\u62E9\u9ED8\u8BA4\u8D44\u6E90\u5305\u7684\u201Ctextures\u201D\u6587\u4EF6\u5939","message.default_textures.detail":"\u4ECE Minecraft jar \u4E2D\u63D0\u53D6\u6216\u4ECE\u7F51\u4E0A\u641C\u7D22\u9ED8\u8BA4\u8D44\u6E90\u5305\u5E76\u4E0B\u8F7D\u3002\u7136\u540E\u627E\u5230\u201Ctextures\u201D\u6587\u4EF6\u5939\u5E76\u5C06\u5176\u6253\u5F00\u3002\u5982\u679C\u5728\u5F53\u524D\u8D44\u6E90\u5305\u4E2D\u627E\u4E0D\u5230\u7EB9\u7406\uFF0CBlockbench \u4F1A\u5C1D\u8BD5\u4ECE\u6B64\u4F4D\u7F6E\u83B7\u53D6\u7EB9\u7406\u3002","message.default_textures.select":"\u9009\u62E9\u9ED8\u8BA4\u7684\u201Ctextures\u201D\u6587\u4EF6\u5939","message.image_editor.title":"\u9009\u62E9\u56FE\u50CF\u7F16\u8F91\u5668","message.image_editor.file":"\u9009\u62E9\u6587\u4EF6...","message.image_editor.exe":"\u9009\u62E9\u56FE\u50CF\u7F16\u8F91\u5668\u7684\u53EF\u6267\u884C\u6587\u4EF6","message.display_skin.title":"Minecraft \u76AE\u80A4","message.display_skin.message":"\u4ECE\u672C\u5730\u76AE\u80A4\u6587\u4EF6\u6216\u8F93\u5165\u6B63\u7248\u7528\u6237\u540D\u83B7\u53D6\u76AE\u80A4","message.display_skin.upload":"\u4E0A\u4F20\u76AE\u80A4","message.display_skin.reset":"\u91CD\u7F6E","message.invalid_plugin":"\u65E0\u6548\u7684\u63D2\u4EF6\u6587\u4EF6\uFF0C\u8BF7\u67E5\u770B\u63A7\u5236\u53F0","message.load_plugin_app":"\u662F\u5426\u5141\u8BB8\u6B64\u63D2\u4EF6\u66F4\u6539\u8BA1\u7B97\u673A\uFF1F\u8BF7\u4EC5\u52A0\u8F7D\u53EF\u4FE1\u4EFB\u7684\u63D2\u4EF6\u3002","message.load_plugin_web":"\u662F\u5426\u52A0\u8F7D\u6B64\u63D2\u4EF6\uFF1F\u8BF7\u4EC5\u52A0\u8F7D\u53EF\u4FE1\u4EFB\u7684\u63D2\u4EF6\u3002","message.preset_no_info":"\u9884\u8BBE\u4FE1\u606F\u4E0D\u5305\u542B\u6B64\u69FD","message.restart_to_update":"\u91CD\u542F Blockbench \u5E94\u7528\u66F4\u6539","message.save_file":"\u53E6\u5B58\u4E3A %0","dialog.project.title":"\u9879\u76EE","dialog.project.name":"\u6587\u4EF6\u540D","dialog.project.parent":"\u7236\u7EA7\u6A21\u578B","dialog.project.geoname":"\u6A21\u578B\u6807\u8BC6\u7B26","dialog.project.ao":"\u73AF\u5883\u5149\u906E\u853D","dialog.texture.title":"\u7EB9\u7406","dialog.texture.variable":"\u53D8\u91CF","dialog.texture.namespace":"\u547D\u540D\u7A7A\u95F4","dialog.texture.folder":"\u6587\u4EF6\u5939","dialog.extrude.title":"\u62C9\u4F38\u56FE\u50CF","dialog.extrude.mode":"\u626B\u63CF\u6A21\u5F0F","dialog.extrude.mode.areas":"\u533A\u57DF","dialog.extrude.mode.lines":"\u884C","dialog.extrude.mode.columns":"\u5217","dialog.extrude.mode.pixels":"\u50CF\u7D20","dialog.extrude.opacity":"\u6700\u5C0F\u4E0D\u900F\u660E\u5EA6","dialog.extrude.scan":"\u626B\u63CF\u5E76\u5BFC\u5165","dialog.display_preset.title":"\u521B\u5EFA\u9884\u8BBE","dialog.display_preset.message":"\u9009\u62E9\u4FDD\u5B58\u7684\u69FD\u4F4D","dialog.display_preset.create":"\u521B\u5EFA","dialog.select.title":"\u9009\u62E9","dialog.select.group":"\u5728\u9009\u5B9A\u5206\u7EC4\u4E2D","dialog.select.name":"\u540D\u79F0\u5305\u542B","dialog.select.random":"\u767E\u5206\u6BD4\u968F\u673A\uFF08%\uFF09","dialog.select.select":"\u9009\u62E9","dialog.scale.title":"\u7F29\u653E\u6A21\u578B","dialog.scale.axis":"\u8F74","dialog.scale.clipping":"\u6A21\u578B\u88C1\u526A\uFF1A\u60A8\u7684\u6A21\u578B\u8D85\u51FA\u5DE5\u4F5C\u533A\u8303\u56F4","dialog.scale.confirm":"\u5E94\u7528\u7F29\u653E","dialog.plugins.title":"\u63D2\u4EF6","dialog.plugins.installed":"\u5DF2\u5B89\u88C5","dialog.plugins.available":"\u53EF\u7528","dialog.plugins.install":"\u5B89\u88C5","dialog.plugins.uninstall":"\u5378\u8F7D","dialog.plugins.reload":"\u91CD\u65B0\u52A0\u8F7D","dialog.plugins.none_installed":"\u672A\u5B89\u88C5\u63D2\u4EF6","dialog.plugins.none_available":"\u65E0\u53EF\u7528\u63D2\u4EF6","dialog.plugins.web_only":"\u4EC5\u7F51\u9875\u7248\u53EF\u7528","dialog.plugins.app_only":"\u4EC5\u684C\u9762\u7248\u53EF\u7528","dialog.plugins.author":"\u7531%0\u5236\u4F5C","dialog.create_texture.folder":"\u6587\u4EF6\u5939","dialog.create_texture.resolution":"\u5206\u8FA8\u7387","dialog.input.title":"\u8F93\u5165","dialog.settings.settings":"\u8BBE\u7F6E","dialog.settings.keybinds":"\u5FEB\u6377\u952E","dialog.settings.about":"\u5173\u4E8E","layout.color.back":"\u5E95\u8272","layout.color.back.desc":"\u80CC\u666F\u548C\u6587\u672C\u6846","layout.color.dark":"\u5DE5\u4F5C\u533A","layout.color.dark.desc":"\u5DE5\u4F5C\u533A\u80CC\u666F","layout.color.ui":"UI","layout.color.ui.desc":"\u4E3B\u9898\u8272","layout.color.bright_ui":"\u9AD8\u4EAE UI","layout.color.bright_ui.desc":"\u4E0A\u4E0B\u6587\u83DC\u5355\u548C\u5DE5\u5177\u63D0\u793A","layout.color.button":"\u6309\u94AE","layout.color.button.desc":"\u6309\u94AE\u548C\u5F00\u5173","layout.color.selected":"\u5DF2\u9009\u4E2D","layout.color.selected.desc":"\u5DF2\u9009\u6807\u7B7E\u548C\u5BF9\u8C61","layout.color.border":"\u8FB9\u6846","layout.color.border.desc":"\u6309\u94AE\u548C\u8F93\u5165\u8FB9\u6846","layout.color.accent":"\u5F3A\u8C03\u4EAE\u8272","layout.color.accent.desc":"\u6ED1\u5757\u548C\u5176\u4ED6","layout.color.grid":"\u7F51\u683C","layout.color.grid.desc":"3D \u9884\u89C8\u7F51\u683C","layout.color.text":"\u6587\u672C","layout.color.text.desc":"\u666E\u901A\u6587\u672C","layout.color.light":"\u9AD8\u4EAE","layout.color.light.desc":"\u5DF2\u9009\u4E2D\u6587\u672C","layout.color.accent_text":"\u5F3A\u8C03\u6587\u672C","layout.color.accent_text.desc":"\u5F3A\u8C03\u80CC\u666F\u4E2D\u7684\u6587\u672C","layout.font.main":"\u5B57\u4F53","layout.font.headline":"\u6807\u9898\u5B57\u4F53","about.version":"\u7248\u672C\uFF1A","settings.category.general":"\u5E38\u89C4","settings.category.preview":"\u9884\u89C8","settings.category.grid":"\u7F51\u683C","settings.category.edit":"\u7F16\u8F91","settings.category.snapping":"\u5438\u9644","settings.category.defaults":"\u9ED8\u8BA4","settings.category.dialogs":"\u5BF9\u8BDD\u6846","settings.category.export":"\u5BFC\u51FA","settings.language":"\u8BED\u8A00","settings.language.desc":"\u91CD\u542F Blockbench \u4EE5\u5E94\u7528\u8BED\u8A00\u66F4\u6539\u3002","settings.backup_interval":"\u5907\u4EFD\u95F4\u9694","settings.backup_interval.desc":"\u4EE5\u5206\u949F\u4E3A\u5355\u4F4D\u7684\u81EA\u52A8\u5907\u4EFD\u95F4\u9694","settings.origin_size":"\u67A2\u8F74\u957F\u5EA6","settings.origin_size.desc":"\u67A2\u8F74\u63A7\u5236\u70B9\u957F\u5EA6","settings.control_size":"\u64CD\u4F5C\u624B\u67C4\u5C3A\u5BF8","settings.control_size.desc":"\u64CD\u4F5C\u624B\u67C4\u7684\u663E\u793A\u5C3A\u5BF8","settings.display_skin":"Minecraft \u76AE\u80A4","settings.display_skin.desc":"\u7528\u4E8E\u663E\u793A\u73A9\u5BB6\u53C2\u8003\u6A21\u578B\u7684\u76AE\u80A4","settings.shading":"\u9634\u5F71","settings.shading.desc":"\u9884\u89C8\u65F6\u542F\u7528\u9634\u5F71","settings.base_grid":"\u5C0F\u7F51\u683C","settings.base_grid.desc":"\u663E\u793A\u5C0F\u7F51\u683C\u548C\u8F74","settings.large_grid":"\u5927\u7F51\u683C","settings.large_grid.desc":"\u663E\u793A 16x16 \u5C0F\u7F51\u683C\u5927","settings.full_grid":"\u7CBE\u786E\u5927\u7F51\u683C","settings.full_grid.desc":"\u7CBE\u786E\u663E\u793A\u5927\u7F51\u683C","settings.large_box":"\u5927\u76D2\u5B50","settings.large_box.desc":"\u663E\u793A 3x3x3 \u5927\u65B9\u5757\u8FB9\u754C","settings.display_grid":"\u663E\u793A\u6A21\u5F0F\u7F51\u683C","settings.display_grid.desc":"\u5728\u663E\u793A\u6A21\u5F0F\u4E0B\u663E\u793A\u7F51\u683C","settings.undo_limit":"\u64A4\u9500\u9650\u5236","settings.undo_limit.desc":"\u53EF\u64A4\u9500\u6B21\u6570","settings.local_move":"\u76F8\u5BF9\u8F74\u79FB\u52A8","settings.local_move.desc":"\u5982\u679C\u53EF\u80FD\uFF0C\u5C06\u6839\u636E\u81EA\u8EAB\u7684\u8F74\u8FDB\u884C\u79FB\u52A8\u5DF2\u65CB\u8F6C\u5143\u7D20","settings.canvas_unselect":"\u70B9\u51FB\u80CC\u666F\u65F6\u53D6\u6D88\u9009\u62E9","settings.canvas_unselect.desc":"\u70B9\u51FB\u80CC\u666F\u65F6\u53D6\u6D88\u6240\u6709\u5143\u7D20\u9009\u62E9","settings.paint_side_restrict":"\u7B14\u5237\u9650\u5236\u9762","settings.paint_side_restrict.desc":"\u9650\u5236\u7B14\u5237\u4EC5\u5728\u5F53\u524D\u9762\u8FDB\u884C\u7ED8\u753B","settings.autouv":"\u81EA\u52A8 UV","settings.autouv.desc":"\u9ED8\u8BA4\u542F\u7528\u81EA\u52A8 UV","settings.create_rename":"\u91CD\u547D\u540D\u65B0\u5143\u7D20","settings.create_rename.desc":"\u521B\u5EFA\u65B0\u5143\u7D20\u6216\u5206\u7EC4\u65F6\u4F18\u5148\u5BF9\u5176\u547D\u540D","settings.edit_size":"\u7F51\u683C\u5206\u8FA8\u7387","settings.edit_size.desc":"\u5757\u79FB\u52A8\u65F6\u7684\u7F51\u683C\u8DDD\u79BB","settings.shift_size":"Shift \u79FB\u52A8\u8DDD\u79BB","settings.shift_size.desc":"\u6309\u4F4F Shift \u65F6\u7ACB\u65B9\u4F53\u79FB\u52A8\u7684\u8DDD\u79BB","settings.ctrl_size":"Ctrl \u79FB\u52A8\u8DDD\u79BB","settings.ctrl_size.desc":"\u6309\u4F4F Ctrl \u65F6\u7ACB\u65B9\u4F53\u79FB\u52A8\u7684\u8DDD\u79BB","settings.negative_size":"\u8D1F\u503C\u5C3A\u5BF8","settings.negative_size.desc":"\u8C03\u6574\u5C3A\u5BF8\u65F6\u4F7F\u7528\u8D1F\u503C","settings.minifiedout":"\u7B80\u5316\u5BFC\u51FA","settings.minifiedout.desc":"\u5BFC\u51FA\u5355\u884C JSON \u6587\u4EF6","settings.export_groups":"\u5BFC\u51FA Java \u7248\u65B9\u5757/\u7269\u54C1\u6A21\u578B\u4E2D\u7684\u5206\u7EC4","settings.export_groups.desc":"\u5C06\u5206\u7EC4\u4FDD\u5B58\u5728 Java \u7248\u65B9\u5757\u6216\u7269\u54C1\u6A21\u578B\u7684 JSON \u6587\u4EF6\u4E2D","settings.credit":"\u6DFB\u52A0\u5236\u4F5C\u4FE1\u606F\u6CE8\u91CA","settings.credit.desc":"\u4E3A\u5BFC\u51FA\u7684\u6587\u4EF6\u6DFB\u52A0\u5236\u4F5C\u4FE1\u606F\u6CE8\u91CA","settings.default_path":"Minecraft \u9ED8\u8BA4\u7EB9\u7406\u8DEF\u5F84","settings.default_path.desc":"Blockbench \u83B7\u53D6\u9ED8\u8BA4\u7EB9\u7406\u7684\u6587\u4EF6\u5939","settings.image_editor":"\u56FE\u50CF\u7F16\u8F91\u5668","settings.image_editor.desc":"\u9ED8\u8BA4\u4FEE\u6539\u7EB9\u7406\u7684\u56FE\u50CF\u7F16\u8F91\u5668","category.navigate":"\u5BFC\u822A","category.tools":"\u5DE5\u5177","category.file":"\u6587\u4EF6","category.blockbench":"Blockbench","category.edit":"\u7F16\u8F91","category.transform":"\u53D8\u6362","category.view":"\u89C6\u56FE","category.display":"\u663E\u793A\u8BBE\u7F6E","category.textures":"\u7EB9\u7406","category.misc":"\u6742\u9879","keybind.preview_select":"\u9009\u62E9","keybind.preview_rotate":"\u65CB\u8F6C\u89C6\u56FE","keybind.preview_drag":"\u62D6\u52A8\u89C6\u56FE","keybind.confirm":"\u786E\u8BA4","keybind.cancel":"\u53D6\u6D88","action.slider_inflate":"\u81A8\u80C0","action.slider_inflate.desc":"\u4E0D\u6539\u53D8 UV \u7684\u60C5\u51B5\u4E0B\u653E\u5927\u6240\u9009\u5757","action.slider_brush_size":"\u5C3A\u5BF8","action.slider_brush_size.desc":"\u753B\u7B14\u7684\u534A\u5F84\uFF0C\u5355\u4F4D px","action.slider_brush_opacity":"\u4E0D\u900F\u660E\u5EA6","action.slider_brush_opacity.desc":"\u753B\u7B14\u7684\u4E0D\u900F\u660E\u5EA6\u4ECE 0 \u5230 255","action.slider_brush_softness":"\u67D4\u8F6F\u5EA6","action.slider_brush_softness.desc":"\u7B14\u5237\u7684\u67D4\u8F6F\u5EA6","action.uv_slider_pos_x":"\u6C34\u5E73\u79FB\u52A8","action.uv_slider_pos_x.desc":"\u6C34\u5E73\u79FB\u52A8\u5168\u90E8\u6240\u9009\u5757\u7684 UV","action.uv_slider_pos_y":"\u5782\u76F4\u79FB\u52A8","action.uv_slider_pos_y.desc":"\u5782\u76F4\u79FB\u52A8\u5168\u90E8\u6240\u9009\u5757\u7684 UV","action.uv_slider_size_x":"\u6C34\u5E73\u7F29\u653E","action.uv_slider_size_x.desc":"\u6C34\u5E73\u7F29\u653E\u5168\u90E8\u6240\u9009\u5757\u7684 UV","action.uv_slider_size_y":"\u5782\u76F4\u7F29\u653E","action.uv_slider_size_y.desc":"\u5782\u76F4\u7F29\u653E\u5168\u90E8\u6240\u9009\u5757\u7684 UV","action.vertex_snap_mode":"\u6355\u6349\u6A21\u5F0F","action.vertex_snap_mode.desc":"\u9009\u62E9\u201C\u9876\u70B9\u6355\u6349\u201D\u6A21\u5F0F\u4E3A\u79FB\u52A8\u6216\u7F29\u653E\u6240\u9009\u7ACB\u65B9\u4F53\u7684\u9876\u70B9","action.move_tool":"\u79FB\u52A8","action.move_tool.desc":"\u9009\u62E9\u548C\u79FB\u52A8\u5143\u7D20\u7684\u5DE5\u5177","action.resize_tool":"\u8C03\u6574\u5927\u5C0F","action.resize_tool.desc":"\u9009\u62E9\u548C\u8C03\u6574\u5143\u7D20\u5927\u5C0F\u7684\u5DE5\u5177","action.brush_tool":"\u753B\u7B14","action.brush_tool.desc":"\u5728\u8868\u9762\u6216 UV \u7F16\u8F91\u5668\u4E0A\u7ED8\u5236\u4F4D\u56FE\u7EB9\u7406\u7684\u5DE5\u5177","action.vertex_snap_tool":"\u9876\u70B9\u6355\u6349","action.vertex_snap_tool.desc":"\u79FB\u52A8\u6240\u9009\u5757\u7684\u9876\u70B9\u5230\u53E6\u4E00\u4E2A\u6307\u5B9A\u5757\u7684\u9876\u70B9","action.swap_tools":"\u4EA4\u6362\u5DE5\u5177","action.swap_tools.desc":"\u5728\u8C03\u6574\u5927\u5C0F\u548C\u79FB\u52A8\u5DE5\u5177\u4E4B\u95F4\u5207\u6362","action.project_window":"\u9879\u76EE...","action.project_window.desc":"\u6253\u5F00\u9879\u76EE\u7A97\u53E3\uFF0C\u60A8\u53EF\u4EE5\u5728\u5176\u4E2D\u7F16\u8F91\u6A21\u578B\u7684\u5143\u6570\u636E","action.open_model":"\u6253\u5F00\u6A21\u578B","action.open_model.desc":"\u4ECE\u672C\u5730\u6253\u5F00\u6A21\u578B\u6587\u4EF6","action.extrude_texture":"\u62C9\u4F38\u7EB9\u7406","action.extrude_texture.desc":"\u901A\u8FC7\u62C9\u4F38\u7EB9\u7406\u751F\u6210\u6A21\u578B","action.export_blockmodel":"\u5BFC\u51FA\u65B9\u5757/\u7269\u54C1\u6A21\u578B","action.export_blockmodel.desc":"\u5BFC\u51FA Minecraft Java \u7248\u65B9\u5757\u6216\u7269\u54C1\u6A21\u578B","action.export_optifine_part":"\u5BFC\u51FA OptiFine JPM","action.export_optifine_part.desc":"\u5BFC\u51FA OptiFine \u5B9E\u4F53\u6A21\u578B\u7684JPM","action.export_optifine_full":"\u5BFC\u51FA OptiFine JEM","action.export_optifine_full.desc":"\u5BFC\u51FA\u5B8C\u6574\u7684 OptiFine \u5B9E\u4F53\u6A21\u578B","action.export_obj":"\u5BFC\u51FA OBJ \u6A21\u578B","action.export_obj.desc":"\u5BFC\u51FA Wavefront OBJ \u6A21\u578B\u4EE5\u7528\u4E8E\u6E32\u67D3\u6216\u6E38\u620F\u5F15\u64CE","action.settings_window":"\u8BBE\u7F6E...","action.settings_window.desc":"\u6253\u5F00 Blockbench \u8BBE\u7F6E\u5BF9\u8BDD\u6846\u3002","action.plugins_window":"\u63D2\u4EF6...","action.plugins_window.desc":"\u6253\u5F00\u63D2\u4EF6\u5546\u5E97\u7A97\u53E3","action.reset_layout":"\u91CD\u7F6E\u5E03\u5C40","action.reset_layout.desc":"\u5C06\u5E03\u5C40\u91CD\u7F6E\u4E3A Blockbench \u9ED8\u8BA4\u503C","action.load_plugin":"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u63D2\u4EF6","action.load_plugin.desc":"\u901A\u8FC7\u5BFC\u5165\u6E90\u6587\u4EF6\u52A0\u8F7D\u63D2\u4EF6","action.reload_plugins":"\u91CD\u65B0\u52A0\u8F7D\u63D2\u4EF6","action.reload_plugins.desc":"\u91CD\u65B0\u52A0\u8F7D\u6240\u6709\u5F00\u53D1\u63D2\u4EF6","action.undo":"\u64A4\u9500","action.undo.desc":"\u64A4\u9500\u4E0A\u6B21\u66F4\u6539","action.redo":"\u91CD\u505A","action.redo.desc":"\u8FD8\u539F\u4E0A\u4E00\u6B21\u64A4\u9500","action.copy":"\u590D\u5236","action.copy.desc":"\u590D\u5236\u6240\u9009\u5185\u5BB9\u3001\u9762\u6216\u663E\u793A\u8BBE\u7F6E","action.paste":"\u7C98\u8D34","action.paste.desc":"\u7C98\u8D34\u6240\u9009\u5185\u5BB9\u3001\u9762\u6216\u663E\u793A\u8BBE\u7F6E","action.cut":"\u526A\u5207","action.cut.desc":"\u526A\u5207\u6240\u9009\u5185\u5BB9\u3001\u9762\u6216\u663E\u793A\u8BBE\u7F6E","action.add_cube":"\u6DFB\u52A0\u5757","action.add_cube.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u5757","action.add_group":"\u6DFB\u52A0\u5206\u7EC4","action.add_group.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u5206\u7EC4\u6216\u9AA8\u9ABC","action.outliner_toggle":"\u663E\u793A\u66F4\u591A\u9009\u9879","action.outliner_toggle.desc":"\u5207\u6362\u663E\u793A\u5927\u7EB2\u4E2D\u7684\u66F4\u591A\u9009\u9879","action.duplicate":"\u590D\u5236\u5143\u7D20","action.delete":"\u5220\u9664","action.sort_outliner":"\u5927\u7EB2\u6392\u5E8F","action.sort_outliner.desc":"\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u5927\u7EB2","action.select_window":"\u9009\u62E9...","action.select_window.desc":"\u6839\u636E\u5C5E\u6027\u641C\u7D22\u5E76\u9009\u62E9\u5757","action.invert_selection":"\u53CD\u9009","action.invert_selection.desc":"\u53CD\u5411\u9009\u62E9\u6240\u9009\u5757","action.select_all":"\u9009\u62E9\u5168\u90E8","action.collapse_groups":"\u6298\u53E0\u5206\u7EC4","action.collapse_groups.desc":"\u6298\u53E0\u5927\u7EB2\u89C6\u56FE\u4E2D\u6240\u6709\u5206\u7EC4","action.scale":"\u7F29\u653E...","action.scale.desc":"\u7F29\u653E\u6240\u9009\u5757","action.toggle_visibility":"\u53EF\u89C1\u6027","action.toggle_visibility.desc":"\u5207\u6362\u6240\u9009\u5757\u7684\u53EF\u89C1\u6027","action.toggle_export":"\u5BFC\u51FA","action.toggle_export.desc":"\u5207\u6362\u6240\u9009\u5757\u7684\u5BFC\u51FA\u8BBE\u7F6E","action.toggle_autouv":"\u81EA\u52A8 UV","action.toggle_autouv.desc":"\u5207\u6362\u6240\u9009\u5757\u7684\u81EA\u52A8 UV \u8BBE\u7F6E","action.toggle_shade":"\u5207\u6362\u9634\u5F71","action.toggle_shade.desc":"\u5207\u6362\u6240\u9009\u5757\u7684\u9634\u5F71","action.rename":"\u91CD\u547D\u540D","action.rename.desc":"\u66F4\u6539\u6240\u9009\u5757\u7684\u540D\u79F0","action.add_display_preset":"\u65B0\u5EFA\u9884\u8BBE","action.add_display_preset.desc":"\u6DFB\u52A0\u65B0\u7684\u663E\u793A\u8BBE\u7F6E\u9884\u8BBE","action.fullscreen":"\u5168\u5C4F","action.fullscreen.desc":"\u5207\u6362\u5168\u5C4F\u6A21\u5F0F","action.zoom_in":"\u653E\u5927","action.zoom_in.desc":"\u653E\u5927\u754C\u9762","action.zoom_out":"\u7F29\u5C0F","action.zoom_out.desc":"\u7F29\u5C0F\u754C\u9762","action.zoom_reset":"\u91CD\u7F6E\u7F29\u653E","action.zoom_reset.desc":"\u5C06\u7F29\u653E\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C 100%","action.reset_interface":"\u91CD\u7F6E\u754C\u9762","action.reset_interface.desc":"\u91CD\u7F6E GUI \u7684\u5927\u5C0F\u548C\u4F4D\u7F6E","action.screenshot_model":"\u622A\u5C4F\u6A21\u578B","action.screenshot_model.desc":"\u4ECE\u5F53\u524D\u89D2\u5EA6\u62CD\u6444\u6A21\u578B\u526A\u88C1\u8FC7\u7684\u622A\u5C4F","action.screenshot_app":"\u5E94\u7528\u622A\u5C4F","action.screenshot_app.desc":"\u622A\u53D6\u6574\u4E2A\u5E94\u7528\u7A0B\u5E8F\u7684\u622A\u5C4F","action.import_texture":"\u5BFC\u5165\u7EB9\u7406","action.import_texture.desc":"\u4ECE\u672C\u5730\u5BFC\u5165\u4E00\u4E2A\u6216\u591A\u4E2A\u7EB9\u7406","action.create_texture":"\u521B\u5EFA\u7EB9\u7406","action.create_texture.desc":"\u521B\u5EFA\u7A7A\u767D\u7EB9\u7406\u6216\u7EB9\u7406\u6A21\u677F","action.save_textures":"\u4FDD\u5B58\u7EB9\u7406","action.save_textures.desc":"\u4FDD\u5B58\u6240\u6709\u672A\u4FDD\u5B58\u7684\u7EB9\u7406","action.animated_textures":"\u64AD\u653E\u52A8\u6001\u7EB9\u7406","action.animated_textures.desc":"\u64AD\u653E\u548C\u6682\u505C\u52A8\u753B\u7EB9\u7406\u7684\u9884\u89C8","action.origin_to_geometry":"\u67A2\u8F74\u5C45\u4E2D","action.origin_to_geometry.desc":"\u5C06\u8F74\u5FC3\u70B9\u8BBE\u7F6E\u4E3A\u9009\u533A\u7684\u4E2D\u5FC3","action.bone_reset_toggle":"\u91CD\u7F6E\u9AA8\u9ABC","action.bone_reset_toggle.desc":"\u963B\u6B62\u9AA8\u9ABC\u663E\u793A\u6765\u81EA\u7236\u7EA7\u578B\u7684\u7ACB\u65B9\u4F53","action.reload":"\u91CD\u542F Blockbench","action.reload.desc":"\u91CD\u542F Blockbench\u3002\u4F60\u672A\u4FDD\u5B58\u7684\u9879\u76EE\u5C06\u4F1A\u4E22\u5931","menu.file":"\u6587\u4EF6","menu.edit":"\u7F16\u8F91","menu.transform":"\u53D8\u6362","menu.display":"\u663E\u793A","menu.view":"\u89C6\u56FE","menu.file.new":"\u65B0\u5EFA","menu.file.recent":"\u6700\u8FD1","menu.file.import":"\u5BFC\u5165","menu.file.export":"\u5BFC\u51FA","menu.transform.rotate":"\u65CB\u8F6C","menu.transform.flip":"\u7FFB\u8F6C","menu.transform.center":"\u5C45\u4E2D","menu.transform.properties":"\u5C5E\u6027","menu.display.preset":"\u5E94\u7528\u9884\u8BBE","menu.display.preset_all":"\u5E94\u7528\u5168\u5C40\u9884\u8BBE","menu.display.remove_preset":"\u79FB\u9664\u9884\u8BBE","menu.view.zoom":"\u7F29\u653E","menu.view.background":"\u80CC\u666F","menu.view.screenshot":"\u622A\u5C4F","menu.cube.color":"\u989C\u8272\u6807\u8BB0","menu.cube.texture":"\u7EB9\u7406","menu.cube.texture.transparent":"\u900F\u660E\u5EA6","menu.cube.texture.blank":"\u7A7A\u767D","menu.group.sort":"\u6392\u5E8F","menu.texture.face":"\u5E94\u7528\u5230\u9762","menu.texture.file":"\u6587\u4EF6","menu.texture.refresh":"\u5237\u65B0","menu.texture.change":"\u66F4\u6539\u6587\u4EF6","menu.texture.folder":"\u5728\u6587\u4EF6\u5939\u4E2D\u6253\u5F00","menu.texture.edit":"\u7F16\u8F91","menu.texture.export":"\u53E6\u5B58\u4E3A","menu.texture.save":"\u4FDD\u5B58","menu.texture.properties":"\u5C5E\u6027...","menu.preview.background":"\u80CC\u666F","menu.preview.background.load":"\u52A0\u8F7D","menu.preview.background.position":"\u7ACB\u65B9\u4F53\u4F4D\u7F6E","menu.preview.background.lock":"\u9501\u5B9A\u89C6\u89D2","menu.preview.screenshot":"\u622A\u5C4F","menu.preview.perspective":"\u900F\u89C6\u6295\u5F71","menu.preview.perspective.normal":"\u6B63\u5E38","menu.preview.quadview":"\u56DB\u89C6\u56FE","menu.preview.stop_drag":"\u505C\u6B62\u80CC\u666F\u5B9A\u4F4D","menu.uv.mapping.rotation":"\u65CB\u8F6C","menu.uv.texture":"\u7EB9\u7406","cube.color.light_blue":"\u6DE1\u84DD\u8272","cube.color.yellow":"\u9EC4\u8272","cube.color.orange":"\u6A59\u8272","cube.color.red":"\u7EA2\u8272","cube.color.purple":"\u7D2B\u8272","cube.color.blue":"\u84DD\u8272","cube.color.green":"\u7EFF\u8272","cube.color.lime":"\u9EC4\u7EFF\u8272","switches.visibility":"\u5207\u6362\u53EF\u89C1","switches.export":"\u5BFC\u51FA","switches.autouv":"\u81EA\u52A8 UV","panel.uv":"UV","panel.display":"\u663E\u793A","panel.textures":"\u7EB9\u7406","panel.outliner":"\u5927\u7EB2","uv_editor.title":"UV \u7F16\u8F91\u5668","uv_editor.all_faces":"\u5168\u90E8","uv_editor.no_faces":"\u65E0","face.north":"\u5317","face.south":"\u5357","face.west":"\u897F","face.east":"\u4E1C","face.up":"\u9876","face.down":"\u5E95","direction.north":"\u5317","direction.south":"\u5357","direction.west":"\u897F","direction.east":"\u4E1C","direction.top":"\u9876","direction.bottom":"\u5E95","display.slot.third_right":"\u7B2C\u4E09\u4EBA\u79F0\u53F3\u624B","display.slot.third_left":"\u7B2C\u4E09\u4EBA\u79F0\u5DE6\u624B","display.slot.first_right":"\u7B2C\u4E00\u4EBA\u79F0\u53F3\u624B","display.slot.first_left":"\u7B2C\u4E00\u4EBA\u79F0\u5DE6\u624B","display.slot.head":"\u5934\u90E8","display.slot.ground":"\u6389\u843D\u7269","display.slot.frame":"\u5C55\u793A\u6846","display.slot.gui":"GUI","display.rotation":"\u65CB\u8F6C","display.translation":"\u504F\u79FB","display.scale":"\u7F29\u653E","display.slot":"\u69FD\u4F4D","display.reference":"\u53C2\u8003\u6A21\u578B","display.reference.player":"\u73A9\u5BB6","display.reference.zombie":"\u50F5\u5C38","display.reference.armor_stand":"\u76D4\u7532\u67B6","display.reference.baby_zombie":"\u5C0F\u50F5\u5C38","display.reference.armor_stand_small":"\u5C0F\u578B\u76D4\u7532\u67B6","display.reference.monitor":"\u666E\u901A","display.reference.bow":"\u62C9\u5F00\u7684\u5F13","display.reference.block":"\u65B9\u5757","display.reference.frame":"\u7269\u54C1\u5C55\u793A\u6846","display.reference.inventory_nine":"3x3","display.reference.inventory_full":"\u7269\u54C1\u680F","display.reference.hud":"\u5FEB\u6377\u680F","display.preset.blank_name":"\u8BF7\u8F93\u5165\u540D\u79F0","display.preset.item":"\u9ED8\u8BA4\u7269\u54C1","display.preset.block":"\u9ED8\u8BA4\u65B9\u5757","display.preset.handheld":"\u9ED8\u8BA4\u6B66\u5668","display.preset.rod":"\u9ED8\u8BA4\u68CD\u5B50","dialog.continue":"\u7EE7\u7EED","message.square_textures":"\u7EB9\u7406\u5FC5\u987B\u662F\u65B9\u5F62\u7684","message.unsaved_texture.title":"\u672A\u4FDD\u5B58\u7684\u7EB9\u7406","message.unsaved_texture.message":"\u6240\u6709\u5BF9\u6B64\u7EB9\u7406\u7684\u66F4\u6539\u90FD\u5C06\u4E22\u5931\u3002\u4F60\u60F3\u7EE7\u7EED\u5417\uFF1F","action.vertex_snap_mode.move":"\u79FB\u52A8","action.vertex_snap_mode.scale":"\u7F29\u653E","action.open_model_folder":"\u6253\u5F00\u6A21\u578B\u6587\u4EF6\u5939","action.open_model_folder.desc":"\u6253\u5F00\u5305\u542B\u6A21\u578B\u7684\u6587\u4EF6\u5939","action.change_textures_folder":"\u66F4\u6539\u7EB9\u7406\u4F4D\u7F6E","action.change_textures_folder.desc":"\u66F4\u6539\u4FDD\u5B58\u6240\u6709\u7EB9\u7406\u7684\u6587\u4EF6\u5939","menu.texture.particle":"\u7528\u4F5C\u7C92\u5B50\u7EB9\u7406","message.update_notification.title":"\u65E0\u6CD5\u66F4\u65B0\u7248\u672C","message.update_notification.message":"\u6709\u65B0\u7684 Blockbench \u7248\u672C\u53EF\u7528\u3002\u8BF7\u5728\u8BBE\u7F6E\u4E2D\u5F00\u542F\u81EA\u52A8\u66F4\u65B0\u8FDB\u884C\u4E0B\u8F7D\uFF01","message.untextured":"\u8BE5\u9762\u6CA1\u6709\u7EB9\u7406","dialog.toolbar_edit.title":"\u81EA\u5B9A\u4E49\u5DE5\u5177\u680F","keybindings.reset":"\u91CD\u7F6E","keybindings.clear":"\u6E05\u7A7A","action.cube_counter":"\u6A21\u578B\u7EDF\u8BA1","action.uv_rotation":"UV \u65CB\u8F6C","action.uv_rotation.desc":"UV \u9762\u7684\u65CB\u8F6C","action.uv_grid":"UV \u7F51\u683C","action.uv_grid.desc":"UV \u9009\u62E9\u5668\u4F7F\u7528\u7684\u7F51\u683C\u5206\u8FA8\u7387","action.uv_grid.auto":"\u81EA\u52A8","action.uv_maximize":"\u6700\u5927\u5316 UV","action.uv_maximize.desc":"\u4F7F\u6B64\u9762\u7684 UV \u4F7F\u7528\u6574\u5F20\u7EB9\u7406","action.uv_auto":"\u81EA\u52A8 UV","action.uv_auto.desc":"\u5C06\u6B64\u9762\u7684 UV \u5927\u5C0F\u8BBE\u7F6E\u4E3A\u9762\u7684\u5B9E\u9645\u5927\u5C0F","action.uv_rel_auto":"\u81EA\u52A8\u76F8\u5BF9 UV","action.uv_rel_auto.desc":"\u5C06\u6B64\u9762\u7684 UV \u8BBE\u7F6E\u4E3A\u5B9E\u9645\u9762\u7684\u4F4D\u7F6E\u548C\u5927\u5C0F","action.uv_mirror_x":"UV \u955C\u50CF X \u8F74","action.uv_mirror_x.desc":"\u5728 X \u8F74\u4E0A\u955C\u50CF\u6B64\u9762\u7684 UV","action.uv_mirror_y":"UV \u955C\u50CF Y \u8F74","action.uv_mirror_y.desc":"\u5728 Y \u8F74\u4E0A\u955C\u50CF\u6B64\u9762\u7684 UV","action.uv_transparent":"\u5220\u9664\u9762","action.uv_transparent.desc":"\u5220\u9664\u5F53\u524D\u9762","action.uv_reset":"\u91CD\u7F6E\u9762","action.uv_reset.desc":"\u91CD\u7F6E\u5F53\u524D\u9762","action.cullface":"\u5254\u9664\u9762","action.cullface.desc":"\u5982\u679C\u8986\u76D6\u4E86\u9009\u5B9A\u6A21\u578B\u7684\u9762\uFF0C\u5219\u7981\u7528\u6B64\u9762\u7684\u6E32\u67D3","action.auto_cullface":"\u81EA\u52A8\u5254\u9664\u9762","action.auto_cullface.desc":"\u5C06\u6B64\u9762\u7684\u5254\u9664\u9762\u8BBE\u7F6E\u4E3A\u81EA\u8EAB","action.face_tint":"\u7740\u8272","action.face_tint.desc":"\u4E3A\u5F53\u524D\u9762\u542F\u7528\u7740\u8272\u9009\u9879","menu.toolbar.edit":"\u81EA\u5B9A\u4E49\u5DE5\u5177\u680F","menu.toolbar.reset":"\u91CD\u7F6E\u5DE5\u5177\u680F","uv_editor.rotated":"\u65CB\u8F6C","uv_editor.auto_cull":"\u5254\u9664\u9762","uv_editor.copied":"\u590D\u5236\u9762","uv_editor.pasted":"\u7C98\u8D34\u9762","uv_editor.copied_x":"\u590D\u5236\u4E86 %0 \u4E2A\u9762","uv_editor.reset":"\u91CD\u7F6E\u9762","uv_editor.maximized":"\u6700\u5927\u5316","uv_editor.autouv":"\u81EA\u52A8\u5C3A\u5BF8","uv_editor.mirrored":"\u955C\u50CF","uv_editor.to_all":"\u5E94\u7528\u5230\u6240\u6709\u9762","uv_editor.transparent":"\u8BBE\u7F6E\u4E3A\u900F\u660E","uv_editor.cullface_on":"\u5F00\u542F\u9762\u5254\u9664","uv_editor.cullface_off":"\u5173\u95ED\u9762\u5254\u9664","uv_editor.tint_on":"\u5F00\u542F\u7740\u8272","uv_editor.tint_off":"\u5173\u95ED\u7740\u8272","action.uv_apply_all":"\u5E94\u7528\u5230\u6240\u6709\u9762","action.uv_apply_all.desc":"\u5C06\u5F53\u524D\u9762\u7684\u8BBE\u7F6E\u5E94\u7528\u4E8E\u6240\u6709\u9762","message.image_editor_missing.title":"\u9ED8\u8BA4\u56FE\u50CF\u7F16\u8F91\u5668","message.image_editor_missing.message":"\u9009\u62E9\u56FE\u50CF\u7F16\u8F91\u5668\u7684\u53EF\u6267\u884C\u6587\u4EF6\u3002","message.image_editor_missing.detail":"Blockbench \u5728\u60A8\u7684\u8BA1\u7B97\u673A\u4E0A\u627E\u4E0D\u5230\u56FE\u50CF\u7F16\u8F91\u5668\u3002 \u8BF7\u9009\u62E9\u9996\u9009\u56FE\u50CF\u7F16\u8F91\u5668\u7684\u53EF\u6267\u884C\u6587\u4EF6\u3002","action.update_autouv":"\u66F4\u65B0\u81EA\u52A8 UV","action.update_autouv.desc":"\u66F4\u65B0\u6240\u9009\u5757\u7684\u81EA\u52A8 UV \u6620\u5C04","category.uv":"UV","status_bar.saved":"\u6A21\u578B\u5DF2\u4FDD\u5B58","status_bar.unsaved":"\u6709\u672A\u4FDD\u5B58\u7684\u66F4\u6539","action.move_up":"\u4E0A\u79FB","action.move_up.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u4E0A\u79FB\u52A8\u6240\u9009\u5757","action.move_down":"\u4E0B\u79FB","action.move_down.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u4E0B\u79FB\u52A8\u6240\u9009\u5757","action.move_left":"\u5DE6\u79FB","action.move_left.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u5DE6\u79FB\u52A8\u6240\u9009\u5757","action.move_right":"\u53F3\u79FB","action.move_right.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u53F3\u79FB\u52A8\u6240\u9009\u5757","action.move_forth":"\u524D\u79FB","action.move_forth.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u524D\u79FB\u52A8\u6240\u9009\u5757","action.move_back":"\u540E\u79FB","action.move_back.desc":"\u76F8\u5BF9\u4E8E\u5F53\u524D\u89C6\u89D2\u5411\u540E\u79FB\u52A8\u6240\u9009\u5757","layout.color.wireframe":"\u7EBF\u6846","layout.color.wireframe.desc":"\u7EBF\u6846\u6A21\u5F0F\u4E2D\u7684\u7EBF","action.add_animation":"\u6DFB\u52A0\u52A8\u753B","action.add_animation.desc":"\u521B\u5EFA\u4E00\u4E2A\u7A7A\u767D\u52A8\u753B","action.load_animation_file":"\u5BFC\u5165\u52A8\u753B\u6587\u4EF6","action.load_animation_file.desc":"\u5BFC\u5165\u52A8\u753B\u6587\u4EF6","action.play_animation":"\u64AD\u653E\u52A8\u753B","action.play_animation.desc":"\u9884\u89C8\u6240\u9009\u7684\u52A8\u753B","action.slider_keyframe_time":"\u65F6\u95F4\u7801","action.slider_keyframe_time.desc":"\u4FEE\u6539\u9009\u5B9A\u5173\u952E\u5E27\u7684\u65F6\u95F4\u7801","timeline.rotation":"\u65CB\u8F6C","timeline.position":"\u4F4D\u7F6E","timeline.scale":"\u7F29\u653E","menu.keyframe.quaternion":"\u56DB\u5143\u6570","panel.animations":"\u52A8\u753B","panel.keyframe":"\u5173\u952E\u5E27","panel.keyframe.type":"\u5173\u952E\u5E27\uFF08%0\uFF09","generic.delete":"\u5220\u9664","generic.rename":"\u91CD\u547D\u540D","message.no_animation_selected":"\u4F60\u5FC5\u987B\u9009\u4E2D\u4E00\u4E2A\u52A8\u753B\u624D\u80FD\u6267\u884C\u6B64\u64CD\u4F5C","message.no_bone_selected":"\u4F60\u5FC5\u987B\u9009\u4E2D\u4E00\u4E2A\u9AA8\u9ABC\u624D\u80FD\u6267\u884C\u6B64\u64CD\u4F5C","message.duplicate_groups.title":"\u590D\u5236\u9AA8\u9ABC\u540D\u79F0","message.duplicate_groups.message":"\u8BE5\u9AA8\u9ABC\u7684\u540D\u79F0\u5B58\u5728\u4E8E\u591A\u4E2A\u9AA8\u9ABC\u3002\u8FD9\u53EF\u80FD\u4F1A\u5BFC\u81F4\u95EE\u9898\u3002","action.delete_keyframes":"\u5220\u9664\u5173\u952E\u5E27","action.delete_keyframes.desc":"\u5220\u9664\u6240\u6709\u9009\u5B9A\u7684\u5173\u952E\u5E27","menu.animation":"\u52A8\u753B","menu.animation.loop":"\u5FAA\u73AF","menu.animation.override":"\u8986\u76D6","menu.animation.anim_time_update":"\u66F4\u65B0\u53D8\u91CF","message.display_skin_model.title":"\u76AE\u80A4\u6A21\u578B","message.display_skin_model.message":"\u9009\u62E9\u76AE\u80A4\u6A21\u578B\u7684\u7C7B\u578B","message.display_skin_model.classic":"\u7ECF\u5178","message.display_skin_model.slim":"\u7EA4\u7EC6","message.bone_material":"\u6539\u53D8\u9AA8\u9ABC\u6750\u8D28","action.slider_animation_length":"\u52A8\u753B\u957F\u5EA6","action.slider_animation_length.desc":"\u66F4\u6539\u6240\u9009\u7684\u52A8\u753B\u957F\u5EA6","panel.variable_placeholders":"\u53D8\u91CF\u5360\u4F4D\u7B26","panel.variable_placeholders.info":"\u5217\u51FA\u8981\u901A\u8FC7 name=value \u9884\u89C8\u7684\u53D8\u91CF","status_bar.vertex_distance":"\u8DDD\u79BB\uFF1A%0","dialog.create_gif.title":"\u5F55\u5236 GIF","dialog.create_gif.length":"\u957F\u5EA6","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"\u64AD\u653E\u52A8\u753B","category.animation":"\u52A8\u753B","action.record_model_gif":"\u5F55\u5236 GIF...","action.record_model_gif.desc":"\u4ECE\u5F53\u524D\u89D2\u5EA6\u8BB0\u5F55\u6A21\u578B\u7684GIF\u52A8\u753B","display.mirror":"\u955C\u50CF","data.separator":"\u5206\u9694\u7B26","menu.preview.background.set_position":"\u8BBE\u7F6E\u4F4D\u7F6E","dialog.toolbar_edit.hidden":"\u9690\u85CF","action.export_class_entity":"\u5BFC\u51FA\u4E3A Java \u7248\u5B9E\u4F53","action.export_class_entity.desc":"\u5C06\u5B9E\u4F53\u6A21\u578B\u5BFC\u51FA\u4E3A Java \u7C7B\u6587\u4EF6","settings.seethrough_outline":"\u900F\u89C6\u8F6E\u5ED3","settings.seethrough_outline.desc":"\u663E\u793A\u6240\u9009\u5143\u7D20\u88AB\u906E\u6321\u7684\u8F6E\u5ED3","mode.edit":"\u7F16\u8F91\u6A21\u5F0F","mode.paint":"\u7ED8\u753B\u6A21\u5F0F","mode.display":"\u663E\u793A\u8C03\u6574","mode.animate":"\u52A8\u753B\u6A21\u5F0F","status_bar.recording_gif":"\u5F55\u5236\u4E2D","status_bar.processing_gif":"\u5904\u7406\u4E2D","settings.backup_retain":"\u5907\u4EFD\u4FDD\u7559\u671F\u9650","settings.backup_retain.desc":"\u8BBE\u7F6E Blockbench \u5C06\u65E7\u5907\u4EFD\u4FDD\u7559\u591A\u957F\u65F6\u95F4","action.rotate_tool":"\u65CB\u8F6C","action.rotate_tool.desc":"\u7528\u4E8E\u9009\u62E9\u548C\u65CB\u8F6C\u7ACB\u65B9\u4F53\u7684\u5DE5\u5177","action.fill_tool":"\u6CB9\u6F06\u6876","action.fill_tool.desc":"\u7528\u4E00\u79CD\u989C\u8272\u586B\u5145\u6574\u4E2A\u9762","action.eraser":"\u6A61\u76AE\u64E6","action.eraser.desc":"\u4F7F\u7EB9\u7406\u4E0A\u7684\u989C\u8272\u66F4\u6539\u4E3A\u900F\u660E\u8272","action.color_picker":"\u62FE\u8272\u5668","action.color_picker.desc":"\u83B7\u53D6\u7EB9\u7406\u4E0A\u50CF\u7D20\u7684\u989C\u8272","switches.mirror":"\u955C\u50CF UV",language_name:"\u7B80\u4F53\u4E2D\u6587","message.plugin_reload":"\u5DF2\u91CD\u65B0\u8F7D\u5165 %0 \u4E2A\u672C\u5730\u63D2\u4EF6","settings.brightness":"\u4EAE\u5EA6","settings.brightness.desc":"\u9884\u89C8\u4EAE\u5EA6\u3002\u9ED8\u8BA4\u503C\u4E3A 50","menu.preview.perspective.reset":"\u91CD\u7F6E\u76F8\u673A\u4F4D\u7F6E","action.fill_mode":"\u586B\u5145\u6A21\u5F0F","action.fill_mode.face":"\u9762","action.fill_mode.color":"\u989C\u8272","action.toggle_mirror_uv":"\u955C\u50CF UV","action.toggle_mirror_uv.desc":"\u5207\u6362\u6240\u9009\u5757\u4E8E X \u8F74\u7684 UV \u955C\u50CF","menu.texture.blank":"\u5E94\u7528\u5230\u65E0\u7EB9\u7406\u9762","dialog.scale.select_overflow":"\u9009\u62E9\u6EA2\u51FA","action.action_control":"\u52A8\u4F5C\u63A7\u5236","action.action_control.desc":"\u641C\u7D22\u5E76\u4E14\u6267\u884C\u4EFB\u4F55\u53EF\u7528\u7684\u64CD\u4F5C","keybindings.recording":"\u5F55\u5236\u5FEB\u6377\u952E","keybindings.press":"\u6309\u4E00\u4E2A\u952E\u6216\u7EC4\u5408\u952E\u6216\u5355\u51FB\u5C4F\u5E55\u4E0A\u7684\u4EFB\u610F\u4F4D\u7F6E\u6765\u8BB0\u5F55\u60A8\u7684\u952E\u7ED1\u5B9A\u3002","action.pivot_tool":"\u67A2\u8F74\u5DE5\u5177","action.pivot_tool.desc":"\u7528\u4E8E\u66F4\u6539\u5757\u548C\u9AA8\u9ABC\u7684\u65CB\u8F6C\u70B9\u7684\u5DE5\u5177","action.slider_animation_speed":"\u64AD\u653E\u901F\u5EA6","action.slider_animation_speed.desc":"\u65F6\u95F4\u7EBF\u7684\u64AD\u653E\u901F\u5EA6\u4EE5\u767E\u5206\u6BD4\u8868\u793A","action.previous_keyframe":"\u4E0A\u4E00\u4E2A\u5173\u952E\u5E27","action.previous_keyframe.desc":"\u8F6C\u8DF3\u5230\u4E0A\u4E00\u4E2A\u5173\u952E\u5E27","action.next_keyframe":"\u4E0B\u4E00\u4E2A\u5173\u952E\u5E27","action.next_keyframe.desc":"\u8F6C\u8DF3\u5230\u4E0B\u4E00\u4E2A\u5173\u952E\u5E27","message.outdated_client.title":"Blockbench \u5DF2\u8FC7\u671F","message.outdated_client.message":"\u8BF7\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\u7684 Blockbench \u6765\u6267\u884C\u6B64\u64CD\u4F5C\u3002","action.export_asset_archive":"\u4E0B\u8F7D\u5B58\u6863","action.export_asset_archive.desc":"\u4E0B\u8F7D\u5305\u542B\u6A21\u578B\u548C\u7EB9\u7406\u7684\u5B58\u6863","action.upload_sketchfab":"\u4E0A\u4F20\u5230 Sketchfab...","message.sketchfab.name_or_token":"\u8BF7\u8F93\u5165\u4F60\u7684 Sketchfab token \u548C\u540D\u79F0","dialog.sketchfab_uploader.title":"\u4E0A\u4F20 Sketchfab \u6A21\u578B","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"\u8BE5\u4EE4\u724C\u7528\u4E8E\u5C06 Blockbench \u8FDE\u63A5\u5230\u60A8\u7684 Sketchfab \u5E10\u6237\u3002\u60A8\u53EF\u4EE5\u5728 %0 \u4E0A\u627E\u5230\u5B83","dialog.sketchfab_uploader.name":"\u6A21\u578B\u540D\u79F0","dialog.sketchfab_uploader.description":"\u63CF\u8FF0","dialog.sketchfab_uploader.tags":"\u6807\u7B7E","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"\u7528\u4E8E\u6388\u6743 Blockbench \u4E0A\u4F20\u5230 Sketchfab \u5E10\u6237\u7684 Token","panel.color":"\u989C\u8272","data.origin":"\u67A2\u8F74","message.sketchfab.success":"\u6210\u529F\u4E0A\u4F20\u6A21\u578B","message.sketchfab.error":"Sketchfab \u6A21\u578B\u4E0A\u4F20\u5931\u8D25","settings.outliner_colors":"\u5927\u7EB2\u989C\u8272","settings.outliner_colors.desc":"\u5728\u5927\u7EB2\u4E2D\u663E\u793A\u7ACB\u65B9\u4F53\u7684\u989C\u8272","action.upload_sketchfab.desc":"\u5C06\u4F60\u7684\u6A21\u578B\u4E0A\u4F20\u5230 Sketchfab","action.element_colors":"\u5757\u7684\u989C\u8272","action.element_colors.desc":"\u5728\u5927\u7EB2\u4E2D\u663E\u793A\u5757\u7684\u989C\u8272","texture.error.file":"\u6587\u4EF6\u672A\u627E\u5230","texture.error.parent":"\u7236\u6A21\u578B\u63D0\u4F9B\u7684\u7EB9\u7406\u6587\u4EF6","message.recover_backup.title":"\u6062\u590D\u6A21\u578B","message.recover_backup.message":"Blockbench \u5F02\u5E38\u5173\u95ED\u3002\u9700\u8981\u6062\u590D\u6A21\u578B\u5417\uFF1F","message.invalid_session.title":"\u65E0\u6548\u7684\u4F1A\u8BDD Token","message.invalid_session.message":"\u60A8\u5C1D\u8BD5\u52A0\u5165\u7684\u4F1A\u8BDD\u5DF2\u8FC7\u671F\u6216\u63D0\u4F9B\u7684\u4EE4\u724C\u65E0\u6548\u3002","dialog.create_texture.power":"2 \u5E42\u5927\u5C0F","dialog.create_gif.turn":"\u65CB\u8F6C\u53F0\u901F\u5EA6","action.edit_session":"\u7F16\u8F91\u4F1A\u8BDD...","action.edit_session.desc":"\u901A\u8FC7\u8FDE\u63A5\u7F16\u8F91\u4F1A\u8BDD\u6765\u4E0E\u5176\u4ED6\u7528\u6237\u8FDB\u884C\u534F\u4F5C","action.reset_keyframe":"\u91CD\u7F6E\u5173\u952E\u5E27","action.reset_keyframe.desc":"\u91CD\u7F6E\u6240\u9009\u5173\u952E\u5E27\u7684\u6240\u6709\u503C","dialog.edit_session.title":"\u7F16\u8F91\u4F1A\u8BDD","edit_session.username":"\u7528\u6237\u540D","edit_session.token":"\u5BC6\u7801","edit_session.about":"\u7F16\u8F91\u4F1A\u8BDD\u7528\u4E8E\u8054\u673A\u534F\u4F5C\u5904\u7406\u6A21\u578B\u3002\u521B\u5EFA\u4F1A\u8BDD\u5E76\u590D\u5236\u4EE4\u724C\u53D1\u9001\u7ED9\u670B\u53CB\uFF0C\u7136\u540E\u4ED6\u4EEC\u53EF\u4EE5\u4F7F\u7528\u5B83\u52A0\u5165\u3002","edit_session.join":"\u52A0\u5165\u4F1A\u8BDD","edit_session.create":"\u521B\u5EFA\u4F1A\u8BDD","edit_session.quit":"\u9000\u51FA\u4F1A\u8BDD","edit_session.joined":"%0 \u52A0\u5165\u4E86\u4F1A\u8BDD","edit_session.left":"%0 \u79BB\u5F00\u4E86\u4F1A\u8BDD","edit_session.quit_session":"\u79BB\u5F00\u5F53\u524D\u4F1A\u8BDD","edit_session.status":"\u72B6\u6001","edit_session.hosting":"\u4E3B\u673A","edit_session.connected":"\u8FDE\u63A5\u5230\u4F1A\u8BDD","dialog.sketchfab_uploader.private":"\u79C1\u4EBA\uFF08\u9AD8\u7EA7\uFF09","dialog.sketchfab_uploader.password":"\u5BC6\u7801\uFF08\u9AD8\u7EA7\uFF09","action.uv_select_all":"\u9009\u62E9\u5168\u90E8","action.uv_select_all.desc":"\u5728 UV \u5BF9\u8BDD\u6846\u4E2D\u9009\u62E9\u6240\u6709\u9762","panel.chat":"\u804A\u5929","edit_session.welcome":"\u6B22\u8FCE\u52A0\u5165 %0 \u7684\u4F1A\u8BDD","dialog.yes":"\u662F","dialog.no":"\u5426","generic.remove":"\u79FB\u9664","generic.download":"\u4E0B\u8F7D","generic.search":"\u641C\u7D22","dates.today":"\u4ECA\u5929","dates.yesterday":"\u6628\u5929","dates.this_week":"\u672C\u5468","dates.weeks_ago":"%0 \u5468\u524D","mode.start.new":"\u65B0\u5EFA","mode.start.recent":"\u6700\u8FD1","format.free":"\u901A\u7528\u6A21\u578B","format.free.desc":"\u65E0\u6A21\u578B\u9650\u5236\u3002\u7528\u4E8E\u6E38\u620F\u5F15\u64CE\u3001\u6E32\u67D3\u7B49\u3002","format.java_block":"Java \u7248\u65B9\u5757/\u7269\u54C1","format.java_block.desc":"Minecraft Java \u7248\u65B9\u5757\u6216\u7269\u54C1\u6A21\u578B\u3002","format.bedrock":"Bedrock \u7248\u5B9E\u4F53","format.bedrock.desc":"Bedrock \u7248\u5B9E\u4F53\u548C\u7269\u54C1\u9644\u4EF6\u6A21\u578B","format.bedrock_old":"Bedrock \u7248\u65E7\u7248\u5B9E\u4F53","format.bedrock_old.desc":"Bedrock Pre-1.12 \u7248\u5B9E\u4F53\u6A21\u578B","format.modded_entity":"\u6A21\u7EC4\u7248\u5B9E\u4F53","format.modded_entity.desc":"Minecraft \u6A21\u7EC4\u7684\u5B9E\u4F53\u6A21\u578B\u3002\u53EF\u4EE5\u5BFC\u51FA\u4E3A .java \u7C7B\u6587\u4EF6\u3002","format.optifine_entity":"OptiFine \u5B9E\u4F53","format.optifine_entity.desc":"\u81EA\u5B9A\u4E49 OptiFine \u5B9E\u4F53\u6A21\u578B","keys.mouse":"\u9F20\u6807\u952E %0","message.cleared_blank_faces.title":"\u7A7A\u767D\u9762","message.cleared_blank_faces.message":"Blockbench \u53D1\u73B0 %0 \u6CA1\u6709\u4EFB\u4F55\u7EB9\u7406\u7684\u7ACB\u65B9\u4F53\u3002\u4F60\u8981\u5220\u9664\u90A3\u4E9B\u5143\u7D20\u5417\uFF1F","message.wireframe.enabled":"\u7EBF\u6846\u89C6\u56FE\u5DF2\u542F\u7528","message.wireframe.disabled":"\u7EBF\u6846\u89C6\u56FE\u5DF2\u7981\u7528","dialog.convert_project.title":"\u8F6C\u6362\u9879\u76EE","dialog.create_texture.double_use":"\u4FDD\u6301\u591A\u7EB9\u7406\u5360\u7528","dialog.model_stats.title":"\u6A21\u578B\u7EDF\u8BA1","dialog.model_stats.cubes":"\u5757","dialog.model_stats.locators":"\u5B9A\u4F4D\u5668","dialog.model_stats.groups":"\u5206\u7EC4","dialog.model_stats.vertices":"\u9876\u70B9","dialog.model_stats.faces":"\u9762","settings.username":"\u7528\u6237\u540D","settings.username.desc":"\u7F16\u8F91\u4F1A\u8BDD\u7684\u7528\u6237\u540D","settings.painting_grid":"\u7ED8\u753B\u7F51\u683C","settings.painting_grid.desc":"\u5728\u7ED8\u753B\u6A21\u5F0F\u4E0B\u4E3A\u7EB9\u7406\u5757\u663E\u793A\u7F51\u683C","action.convert_project":"\u8F6C\u6362\u9879\u76EE","action.convert_project.desc":"\u5C06\u8F6C\u6362\u5F53\u524D\u9879\u76EE\u683C\u5F0F\u4EE5\u7528\u4E8E\u5176\u4ED6\u6A21\u578B\u683C\u5F0F","action.close_project":"\u5173\u95ED\u9879\u76EE","action.close_project.desc":"\u5173\u95ED\u5F53\u524D\u9879\u76EE","action.export_bedrock":"\u5BFC\u51FA Bedrock \u7248\u51E0\u4F55","action.export_bedrock.desc":"\u4EE5 Bedrock \u7248\u51E0\u4F55\u6587\u4EF6\u7684\u5F62\u5F0F\u5BFC\u51FA\u6A21\u578B\u3002","action.save_project":"\u4FDD\u5B58\u9879\u76EE","action.save_project.desc":"\u4FDD\u5B58\u5F53\u524D\u6A21\u578B\u4E3A\u9879\u76EE\u6587\u4EF6","action.save_project_as":"\u53E6\u5B58\u4E3A\u9879\u76EE","action.save_project_as.desc":"\u5C06\u5F53\u524D\u6A21\u578B\u4EE5\u9879\u76EE\u6587\u4EF6\u7684\u5F62\u5F0F\u4FDD\u5B58\u5728\u5176\u4ED6\u4F4D\u7F6E","action.export_over":"\u4FDD\u5B58\u6A21\u578B","action.export_over.desc":"\u901A\u8FC7\u8986\u5199\u6587\u4EF6\u6765\u4FDD\u5B58\u6A21\u578B\u3001\u7EB9\u7406\u548C\u52A8\u753B","action.add_locator":"\u6DFB\u52A0\u5B9A\u4F4D\u5668","action.add_locator.desc":"\u6DFB\u52A0\u65B0\u7684\u5B9A\u4F4D\u5668\uFF0C\u4EE5\u63A7\u5236\u7C92\u5B50\u3001\u7275\u5F15\u7B49\u4F4D\u7F6E","action.uv_turn_mapping":"\u8F6C\u5411\u6620\u5C04","action.uv_turn_mapping.desc":"\u5C06 UV \u6620\u5C04\u8F6C 90 \u5EA6","action.remove_blank_faces":"\u79FB\u9664\u7A7A\u767D\u9762","action.remove_blank_faces.desc":"\u5220\u9664\u6240\u6709\u9009\u4E2D\u7684\u65E0\u7EB9\u7406\u9762","web.download_app":"\u4E0B\u8F7D App","uv_editor.turned":"\u5DF2\u8F6C\u6620\u5C04","display.reference.crossbow":"\u62C9\u5F00\u7684\u5F29","dialog.settings.search_results":"\u641C\u7D22\u7ED3\u679C","settings.animation_snap":"\u52A8\u753B\u6355\u6349","settings.animation_snap.desc":"\u52A8\u753B\u65F6\u95F4\u8F74\u4E2D\u5173\u952E\u5E27\u7684\u9ED8\u8BA4\u6355\u6349\u95F4\u9694\uFF0C\u5355\u4F4D\u4E3A\u6BCF\u79D2\u5E27\u6570\u3002\u8FD9\u4E5F\u53EF\u4EE5\u6839\u636E\u52A8\u753B\u8FDB\u884C\u66F4\u6539\u3002\u9ED8\u8BA4\u503C\u4E3A 24\u3002","action.import_optifine_part":"\u5BFC\u5165 OptiFine \u90E8\u4EF6","action.import_optifine_part.desc":"\u4E3A OptiFine \u5BFC\u5165\u4E00\u4E2A\u5B9E\u4F53\u90E8\u4EF6\u6A21\u578B","data.locator":"\u5B9A\u4F4D\u5668","mode.start.no_recents":"\u6700\u8FD1\u672A\u6253\u5F00\u8FC7\u6A21\u578B\u6587\u4EF6","panel.element":"\u5143\u7D20","panel.element.position":"\u4F4D\u7F6E","panel.element.size":"\u5C3A\u5BF8","panel.element.origin":"\u67A2\u8F74\u70B9","panel.element.rotation":"\u65CB\u8F6C","message.canvas_limit_error.title":"\u5DE5\u4F5C\u533A\u9650\u5236\u9519\u8BEF","message.canvas_limit_error.message":"\u65E0\u6CD5\u6B63\u786E\u6267\u884C\u6B64\u64CD\u4F5C\uFF0C\u56E0\u4E3A\u6B64\u683C\u5F0F\u5C06\u5DE5\u4F5C\u533A\u9650\u5236\u4E3A 48 \u4E2A\u5355\u4F4D\u3002\u79FB\u52A8\u67A2\u8F74\u70B9\u4EE5\u907F\u514D\u6B64\u60C5\u51B5\u3002","data.effect":"\u6548\u679C","generic.name":"\u540D\u79F0","settings.recent_projects":"\u6700\u8FD1\u7F16\u8F91\u9879\u76EE\u6570","settings.recent_projects.desc":"\u6700\u8FD1\u7F16\u8F91\u9879\u76EE\u7684\u6700\u5927\u663E\u793A\u6570\u91CF","settings.volume":"\u97F3\u91CF","settings.volume.desc":"\u52A8\u753B\u4E2D\u58F0\u97F3\u6548\u679C\u7684\u97F3\u91CF\u63A7\u5236","action.clear_timeline":"\u6E05\u9664\u65F6\u95F4\u8F74","action.clear_timeline.desc":"\u6E05\u9664\u65F6\u95F4\u8F74\u4E2D\u6240\u6709\u672A\u9009\u4E2D\u7684\u6A21\u578B\u9AA8\u9ABC","action.select_effect_animator":"\u52A8\u753B\u6548\u679C","action.select_effect_animator.desc":"\u6253\u5F00\u65F6\u95F4\u8F74\u4EE5\u6DFB\u52A0\u58F0\u97F3\u548C\u7C92\u5B50\u6548\u679C","action.timeline_focus":"\u901A\u9053","action.timeline_focus.desc":"\u9009\u62E9\u8981\u5728\u65F6\u95F4\u8F74\u4E2D\u663E\u793A\u7684\u52A8\u753B\u901A\u9053","timeline.particle":"\u7C92\u5B50","timeline.sound":"\u58F0\u97F3","timeline.effects":"\u6548\u679C","data.format":"\u683C\u5F0F","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"\u7528\u4E8E OptiFine \u5B9E\u4F53\u6A21\u578B\u7684 JPM","action.reverse_keyframes":"\u53CD\u8F6C\u5173\u952E\u5E27","action.reverse_keyframes.desc":"\u53CD\u8F6C\u6240\u9009\u5173\u952E\u5E27\u7684\u987A\u5E8F","generic.help":"\u5E2E\u52A9","message.removed_faces":"\u5DF2\u7ECF\u79FB\u9664 %0 \u4E2A\u9762","dialog.sketchfab_uploader.draft":"\u8349\u7A3F","action.slider_pos":"%0 \u8F74\u79FB\u52A8","action.slider_pos.desc":"\u5728 %0 \u8F74\u79FB\u52A8\u5757","action.slider_size":"%0 \u8F74\u5C3A\u5BF8","action.slider_size.desc":"\u5728 %0 \u8F74\u8C03\u6574\u5757\u7684\u5927\u5C0F","action.slider_rotation":"%0 \u8F74\u65CB\u8F6C","action.slider_rotation.desc":"\u7ED5 %0 \u8F74\u65CB\u8F6C\u5757","action.slider_origin":"%0 \u8F74\u5411\u67A2\u8F74","action.slider_origin.desc":"%0 \u8F74\u5411\u79FB\u52A8\u67A2\u8F74","action.rotate_cw":"\u65CB\u8F6C %0 +90","action.rotate_cw.desc":"\u5C06\u6240\u9009\u5757\u7ED5 %0 \u8F74\u65CB\u8F6C 90\u5EA6","action.rotate_ccw":"\u65CB\u8F6C %0 -90","action.rotate_ccw.desc":"\u5C06\u6240\u9009\u5757\u7ED5 %0 \u8F74\u65CB\u8F6C -90\u5EA6","action.flip":"%0 \u8F74\u7FFB\u8F6C","action.flip.desc":"\u5C06\u6240\u9009\u5757\u4E8E %0 \u8F74\u7FFB\u8F6C","action.center":"%0 \u8F74\u5C45\u4E2D","action.center.desc":"\u5C06\u6240\u9009\u5757\u4E8E %0 \u8F74\u5C45\u4E2D","action.bring_up_all_animations":"\u5C06\u6240\u6709\u4FEE\u6539\u540E\u7684\u52A8\u753B\u653E\u5165\u65F6\u95F4\u8F74","panel.bone":"\u9AA8\u9ABC","data.color":"\u989C\u8272","generic.export":"\u5BFC\u51FA","generic.none":"\u65E0","status_bar.recording":"\u62CD\u6444\u5EF6\u65F6\u6444\u5F71","message.add_to_palette":"\u6DFB\u52A0\u5230\u8C03\u8272\u677F","message.size_modifiers":"\u6309\u4F4F Ctrl \u6216 Shift \u952E\u64CD\u4F5C\u4EE5\u8FDB\u884C\u5FAE\u8C03\u3002","message.timelapse_start":"\u5EF6\u65F6\u6444\u5F71\u4EE5\u542F\u52A8","message.timelapse_stop":"\u5EF6\u65F6\u6444\u5F71\u5DF2\u5173\u95ED","message.import_palette.replace_palette":"\u5207\u6362\u65E7\u8C03\u8272\u677F","message.import_palette.threshold":"\u5408\u5E76\u9608\u503C","dialog.timelapse.interval":"\u95F4\u9694\uFF08\u79D2\uFF09","dialog.timelapse.source":"\u6765\u6E90","dialog.timelapse.source.interface":"\u754C\u9762","dialog.timelapse.source.locked":"\u9501\u5B9A\u89D2\u5EA6","dialog.timelapse.destination":"\u76EE\u6807\u6587\u4EF6\u5939","layout.color.checkerboard":"\u900F\u660E\u80CC\u666F","layout.color.checkerboard.desc":"\u5DE5\u4F5C\u533A\u548C UV \u7F16\u8F91\u5668\u7684\u80CC\u666F","layout.font.code":"\u4EE3\u7801\u5B57\u4F53","layout.css":"\u81EA\u5B9A\u4E49 CSS","settings.category.paint":"\u989C\u6599","settings.deactivate_size_limit":"\u53D6\u6D88\u5927\u5C0F\u9650\u5236","settings.deactivate_size_limit.desc":"\u53D6\u6D88\u6A21\u578B\u683C\u5F0F\u7684\u5927\u5C0F\u9650\u5236\u3002\u8B66\u544A\uFF1A\u8FD9\u53EF\u80FD\u5BFC\u81F4\u65E0\u6548\u6A21\u578B\u3002","settings.brush_opacity_modifier":"\u7B14\u5237\u4E0D\u900F\u660E\u5EA6","settings.brush_opacity_modifier.desc":"\u4F7F\u7528\u624B\u5199\u7B14\u65F6\u4FEE\u6539\u7B14\u5237\u7684\u4E0D\u900F\u660E\u5EA6","settings.brush_size_modifier":"\u7B14\u5237\u5927\u5C0F\u9009\u62E9\u5668","settings.brush_size_modifier.desc":"\u4F7F\u7528\u624B\u5199\u7B14\u65F6\u4FEE\u6539\u753B\u7B14\u7684\u5927\u5C0F","settings.brush_modifier.pressure":"\u7B14\u89E6","settings.brush_modifier.tilt":"\u503E\u659C","category.color":"\u989C\u8272","action.import_theme":"\u5BFC\u5165\u4E3B\u9898","action.export_theme":"\u5BFC\u51FA\u4E3B\u9898","action.export_theme.desc":"\u521B\u5EFA\u5F53\u524D\u8BBE\u7F6E\u7684\u4E3B\u9898\u6587\u4EF6","action.slider_color_h":"\u8272\u8C03","action.slider_color_s":"\u9971\u548C\u5EA6","action.slider_color_v":"\u503C","action.add_to_palette":"\u6DFB\u52A0\u5230\u8C03\u8272\u677F","action.add_to_palette.desc":"\u5C06\u6240\u9009\u989C\u8272\u6DFB\u52A0\u5230\u8C03\u8272\u677F","action.import_palette":"\u5BFC\u5165\u8C03\u8272\u677F","action.import_palette.desc":"\u5BFC\u5165\u914D\u8272\u6587\u4EF6","action.export_palette":"\u5BFC\u51FA\u8C03\u8272\u677F","action.export_palette.desc":"\u5C06\u8C03\u8272\u677F\u5BFC\u51FA\u4E3A .GPL \u6587\u4EF6","action.generate_palette":"\u751F\u6210\u8C03\u8272\u677F...","action.generate_palette.desc":"\u4ECE\u7EB9\u7406\u751F\u6210\u8C03\u8272\u677F","action.sort_palette":"\u6392\u5E8F\u8C03\u8272\u677F","action.sort_palette.desc":"\u6309\u989C\u8272\u548C\u4EAE\u5EA6\u5BF9\u8C03\u8272\u677F\u4E0A\u6240\u6709\u7684\u989C\u8272\u8FDB\u884C\u6392\u5E8F","action.timelapse":"\u5EF6\u65F6\u89C6\u9891...","action.timelapse.desc":"\u5F55\u5236\u5EFA\u6A21\u8FC7\u7A0B\u7684\u5EF6\u65F6\u89C6\u9891","action.add_keyframe":"\u6DFB\u52A0\u5173\u952E\u5E27","action.add_keyframe.desc":"\u6DFB\u52A0\u5173\u952E\u5E27\u5230\u6240\u9009\u52A8\u753B","action.bring_up_all_animations.desc":"\u5C06\u6240\u6709\u4FEE\u6539\u540E\u7684\u52A8\u753B\u7F6E\u5165\u5230\u65F6\u95F4\u8F74\u5185","timeline.timeline":"\u6307\u4EE4","menu.palette.load.default":"\u9ED8\u8BA4","generic.import":"\u5BFC\u5165","settings.brush_modifier.none":"\u65E0","action.export_entity":"\u5BFC\u51FA Bedrock \u7248\u5B9E\u4F53","action.export_entity.desc":"\u5BFC\u51FA\u5F53\u524D\u6A21\u578B\u4E3A Bedrock \u7248\u5B9E\u4F53\u6A21\u578B","settings.highlight_cubes":"\u9AD8\u4EAE\u663E\u793A\u5757","settings.highlight_cubes.desc":"\u9AD8\u4EAE\u663E\u793A\u9F20\u6807\u60AC\u505C\u6216\u9009\u62E9\u7684\u5757","action.add_marker":"\u8BBE\u7F6E\u6807\u8BB0","action.add_marker.desc":"\u8BBE\u7F6E\u4E00\u4E2A\u65F6\u95F4\u8F74\u70B9\u6807\u8BB0","timeline.pre_effect_script":"\u811A\u672C","format.skin":"Minecraft \u76AE\u80A4","format.skin.desc":"\u7F16\u8F91\u73A9\u5BB6\u548C\u5B9E\u4F53\u7684\u76AE\u80A4","message.sketchfab.setup_guide":"\u60F3\u5B66\u4E60\u5982\u4F55\u5728 Sketchfab \u4E2D\u8BBE\u7F6E\u6A21\u578B\uFF1F\u8BF7\u9605\u8BFB %0","dialog.skin.title":"\u521B\u5EFA Minecraft \u76AE\u80A4","dialog.skin.model":"\u6A21\u578B","action.toggle_skin_layer":"\u5207\u6362\u76AE\u80A4\u53E0\u5C42","action.toggle_skin_layer.desc":"\u5207\u6362\u76AE\u80A4\u6A21\u578B\u7684\u5E3D\u5B50\u548C\u8863\u670D\u53E0\u5C42","action.gui_light":"GUI \u5149\u7167","action.gui_light.desc":"\u9009\u62E9\u7269\u54C1\u680F\u4E2D\u7269\u54C1\u7684\u5149\u7167\u65B9\u5F0F","action.gui_light.side":"\u4FA7\u7F6E\u5149\u7167","action.gui_light.front":"\u524D\u7F6E\u5149\u7167","action.move_keyframe_back":"\u5411\u524D\u79FB\u52A8\u5173\u952E\u5E27","action.move_keyframe_forth":"\u5411\u540E\u79FB\u52A8\u5173\u952E\u5E27","menu.help":"\u5E2E\u52A9","menu.help.discord":"Discord \u670D\u52A1\u5668","menu.help.report_issue":"\u5411\u5F00\u53D1\u8005\u53CD\u9988\u95EE\u9898","menu.help.plugin_documentation":"\u63D2\u4EF6 API \u6587\u6863","menu.help.search_action":"\u641C\u7D22\u5E76\u6267\u884C\u64CD\u4F5C","menu.help.donate":"\u6350\u8D60","menu.help.about":"\u5173\u4E8E...","menu.preview.background.clipboard":"\u4ECE\u526A\u8D34\u677F\u52A0\u8F7D","dialog.ignore":"\u5FFD\u7565","generic.unset":"\u672A\u8BBE\u7F6E","message.invalid_builtin_parent.title":"\u5185\u7F6E\u7684\u7236\u6A21\u578B\u65E0\u6548","message.invalid_builtin_parent.message":"\u4E3A\u4E86\u5BFC\u51FA\u6709\u6548\u6A21\u578B\uFF0C\u5DF2\u5220\u9664\u6307\u5411\u65E0\u6548\u7236\u6A21\u578B\u201C%0\u201D\u7684\u94FE\u63A5\u3002","dialog.resize_texture.fill":"\u586B\u5145","dialog.resize_texture.fill.transparent":"\u900F\u660E","dialog.resize_texture.fill.color":"\u989C\u8272","dialog.resize_texture.fill.repeat":"\u91CD\u590D","dialog.scale.element_pivot":"\u5143\u7D20\u67A2\u8F74","dialog.scale.selection_center":"\u9009\u62E9\u4E2D\u5FC3","dialog.create_gif.length_mode":"\u957F\u5EA6\u6A21\u5F0F","dialog.create_gif.length_mode.seconds":"\u79D2","dialog.create_gif.length_mode.frames":"\u5E27\u6570","dialog.create_gif.length_mode.animation":"\u52A8\u753B\u957F\u5EA6","dialog.create_gif.length_mode.turntable":"\u65CB\u8F6C\u53F0\u65CB\u8F6C","dialog.save_angle.projection":"\u6295\u5F71","dialog.save_angle.projection.perspective":"\u900F\u89C6\u6295\u5F71","dialog.save_angle.projection.orthographic":"\u6B63\u5C04\u6295\u5F71","dialog.sketchfab_uploader.animations":"\u52A8\u753B\u5236\u4F5C","dialog.settings.theme":"\u4E3B\u9898","settings.category.interface":"\u754C\u9762","settings.preview_checkerboard":"\u9884\u89C8\u7F51\u683C","settings.preview_checkerboard.desc":"\u4FEE\u6539\u9884\u89C8\u7F51\u683C\u7684\u80CC\u666F","settings.uv_checkerboard":"UV \u7F16\u8F91\u5668\u7F51\u683C","settings.uv_checkerboard.desc":"\u4FEE\u6539 UV \u7F16\u8F91\u5668\u540E\u7684\u7F51\u683C\u80CC\u666F","category.paint":"\u6F06","action.fill_mode.color_connected":"\u8FDE\u63A5\u989C\u8272","action.draw_shape_type":"\u5F62\u72B6\u7C7B\u578B","action.draw_shape_type.rectangle":"\u77E9\u5F62","action.draw_shape_type.rectangle_h":"\u77E9\u5F62\uFF08\u7A7A\u5FC3\uFF09","action.draw_shape_type.ellipse":"\u692D\u5706","action.draw_shape_type.ellipse_h":"\u692D\u5706\uFF08\u7A7A\u5FC3\uFF09","action.draw_shape_type.line":"\u76F4\u7EBF","action.mirror_painting":"\u955C\u50CF\u7ED8\u753B","action.mirror_painting.description":"\u5728\u4E00\u8FB9\u7ED8\u753B\u50CF\u7D20\u7684\u540C\u65F6\u53E6\u4E00\u4E5F\u4F1A\u6709\u540C\u6837\u7684\u50CF\u7D20","action.lock_alpha":"\u9501\u5B9A Alpha \u901A\u9053","action.lock_alpha.description":"\u9501\u5B9A\u6240\u6709\u50CF\u7D20\u7684\u900F\u660E\u5EA6","action.draw_shape_tool":"\u7ED8\u5236\u5F62\u72B6","action.draw_shape_tool.desc":"\u5728\u7EB9\u7406\u4E0A\u7ED8\u5236\u7B80\u5355\u5F62\u72B6\u7684\u5DE5\u5177","action.export_gltf":"\u5BFC\u51FA glTF \u6A21\u578B","action.export_gltf.desc":"\u5C06\u6A21\u578B\u548C\u52A8\u753B\u5BFC\u51FA\u4E3A glTF \u6587\u4EF6\u4EE5\u7528\u4E8E\u5171\u4EAB\u548C\u6E32\u67D3","action.transform_space":"\u53D8\u6362\u65B9\u5411","action.transform_space.desc":"\u5143\u7D20\u548C\u7ED1\u9AA8\u7684\u9ED8\u8BA4\u53D8\u6362\u65B9\u5411","action.transform_space.global":"\u5168\u5C40","action.transform_space.local":"\u81EA\u8EAB","action.toggle_camera_projection":"\u5207\u6362\u76F8\u673A\u6295\u5F71","action.toggle_camera_projection.desc":"\u5728\u900F\u89C6\u548C\u6B63\u89C6\u6295\u5F71\u4E4B\u95F4\u8FDB\u884C\u5207\u6362","action.load_camera_angle":"\u6444\u5F71\u673A\u89D2\u5EA6\uFF1A%0","action.load_camera_angle.desc":"\u8F7D\u5165\u76F8\u673A\u89D2\u5EA6\u201C%0\u201D","action.slider_face_tint":"\u8272\u8C03\u6307\u6570","action.slider_face_tint.desc":"\u8BBE\u7F6E\u5F53\u524D\u9762\u7684\u8272\u8C03\u6307\u6570\u3002-1 \u8868\u793A\u672A\u8BBE\u7F6E\u3002","menu.help.quickstart":"\u5FEB\u901F\u5165\u95E8\u5411\u5BFC","menu.help.developer":"\u5F00\u53D1\u8005","menu.help.developer.dev_tools":"\u6253\u5F00\u5F00\u53D1\u5DE5\u5177","menu.help.developer.reset_storage":"\u6062\u590D\u5168\u90E8\u9ED8\u8BA4\u8BBE\u7F6E","menu.help.developer.reset_storage.confirm":"\u786E\u5B9A\u8981\u91CD\u7F6E Blockbench \u8BBE\u7F6E\u5417\uFF1F\u8FD9\u5C06\u5220\u9664\u6240\u6709\u81EA\u5B9A\u4E49\u8BBE\u7F6E\u3001\u952E\u7ED1\u5B9A\u548C\u5B89\u88C5\u7684\u63D2\u4EF6\u3002","menu.help.developer.cache_reload":"\u7F13\u5B58\u5237\u65B0","menu.preview.orthographic":"\u6B63\u5C04\u6295\u5F71","menu.preview.save_angle":"\u4FDD\u5B58\u76F8\u673A\u89D2\u5EA6...","menu.preview.angle":"\u89D2\u5EA6","menu.preview.angle.initial":"\u521D\u59CB\u89D2\u5EA6","menu.preview.maximize":"\u6700\u5927\u5316","uv_editor.copy_selection":"\u590D\u5236\u6240\u9009\u5185\u5BB9","uv_editor.paste_selection":"\u7C98\u8D34\u6240\u9009\u5185\u5BB9","uv_editor.copy_paste_tool.place":"\u653E\u7F6E","uv_editor.copy_paste_tool.mirror_x":"\u955C\u50CF X \u8F74","uv_editor.copy_paste_tool.mirror_y":"\u955C\u50CF Y \u8F74","uv_editor.copy_paste_tool.rotate":"\u65CB\u8F6C90\u5EA6","dialog.project.modded_entity_version":"\u5BFC\u51FA\u7248\u672C","dialog.save_angle.position":"\u6444\u50CF\u673A\u4F4D\u7F6E","dialog.save_angle.target":"\u7126\u70B9","dialog.skin.pose":"\u52A8\u4F5C","layout.color.frame":"\u7A97\u6846","layout.color.frame.desc":"\u7A97\u53E3\u7684\u8FB9\u6846\u548C\u6807\u9898\u680F","settings.large_grid_size":"\u5927\u7F51\u683C\u5927\u5C0F","settings.large_grid_size.desc":"\u5927\u72B6\u7F51\u683C\u7684\u5927\u5C0F","action.load_plugin_from_url":"\u4ECE URL \u52A0\u8F7D\u63D2\u4EF6","action.load_plugin_from_url.desc":"\u901A\u8FC7\u6307\u5B9A URL \u4ECE\u670D\u52A1\u5668\u52A0\u8F7D\u63D2\u4EF6","action.cube_counter.desc":"\u663E\u793A\u5F53\u524D\u9879\u76EE\u4E2D\u5143\u7D20\u6570\u91CF\u548C\u5176\u4ED6\u7EDF\u8BA1\u4FE1\u606F","action.unlock_everything":"\u89E3\u9501\u5168\u90E8","action.unlock_everything.desc":"\u89E3\u9501\u5927\u7EB2\u89C6\u56FE\u4E2D\u7684\u6240\u6709\u5206\u7EC4\u548C\u5143\u7D20\u3002","action.load_palette":"\u52A0\u8F7D\u8C03\u8272\u677F","action.load_palette.desc":"\u52A0\u8F7D\u5185\u7F6E\u8C03\u8272\u677F\u9884\u8BBE\u4E4B\u4E00","action.toggle_locked":"\u9501\u5B9A","action.toggle_locked.desc":"\u5207\u6362\u6240\u9009\u5143\u7D20\u662F\u5426\u88AB\u9501\u5B9A","action.apply_display_preset":"\u5E94\u7528\u9884\u8BBE","action.apply_display_preset.desc":"\u5E94\u7528\u9ED8\u8BA4\u6216\u81EA\u5B9A\u4E49\u663E\u793A\u8BBE\u7F6E\u9884\u8BBE","action.apply_display_preset.here":"\u5E94\u7528\u4E8E\u6B64\u69FD\u4F4D","action.apply_display_preset.everywhere":"\u5E94\u7528\u4E8E\u6240\u6709\u69FD\u4F4D","action.resolve_keyframe_expressions":"\u89E3\u6790\u5173\u952E\u5E27","action.resolve_keyframe_expressions.desc":"\u89E3\u6790\u9009\u5B9A\u5173\u952E\u5E27\u7684\u6570\u5B66\u8868\u8FBE\u5F0F","action.fold_all_animations":"\u6298\u53E0\u6240\u6709\u52A8\u753B","menu.palette.load.empty":"\u65E0","switches.lock":"\u9501\u5B9A","settings.render_sides":"\u6E32\u67D3\u9762","settings.render_sides.desc":"\u9009\u62E9\u8981\u6E32\u67D3\u7684\u9762","settings.render_sides.auto":"\u81EA\u52A8","settings.render_sides.front":"\u5916\u9762","settings.render_sides.double":"\u5185\u9762\u4E0E\u5916\u9762","generic.enable":"\u542F\u7528","generic.disable":"\u7981\u7528","generic.redacted":"\u5DF2\u9690\u85CF","dialog.select_texture.import_all":"\u5BFC\u5165\u6240\u6709","dialog.skin.layer_template":"\u7EB9\u7406\u56FE\u5C42","about.version.up_to_date":"\u5DF2\u662F\u6700\u65B0","about.version.update_available":"\u53EF\u7528\u7248\u672C %0","settings.category.application":"\u5E94\u7528","settings.streamer_mode":"\u76F4\u64AD\u6A21\u5F0F","settings.streamer_mode.desc":"\u9690\u85CF\u654F\u611F\u4FE1\u606F\uFF0C\u6BD4\u5982\u6700\u8FD1\u7F16\u8F91\u7684\u9879\u76EE\u5386\u53F2","settings.automatic_updates":"\u81EA\u52A8\u66F4\u65B0","settings.automatic_updates.desc":"\u81EA\u52A8\u4E0B\u8F7D\u65B0\u7248\u672C\u5E76\u4F7F Blockbench \u4FDD\u6301\u6700\u65B0","action.rotation_space":"\u65CB\u8F6C\u7684\u8303\u56F4","action.focus_on_selection":"\u9009\u4E2D\u5BF9\u7126","action.focus_on_selection.desc":"\u805A\u7126\u89C6\u89C9\u5230\u5F53\u524D\u9009\u4E2D\u7684\u5185\u5BB9","action.jump_to_timeline_start":"\u8F6C\u8DF3\u5230\u52A8\u753B\u8D77\u70B9","action.jump_to_timeline_end":"\u8F6C\u8DF3\u5230\u52A8\u753B\u7EC8\u70B9","menu.help.updating":"\u66F4\u65B0\u4E2D\uFF08%0%\uFF09","menu.help.update_failed":"\u66F4\u65B0\u5931\u8D25","menu.animation.loop.once":"\u64AD\u653E\u4E00\u6B21","menu.animation.loop.hold":"\u505C\u6B62\u4E8E\u6700\u540E\u4E00\u5E27","menu.animation.loop.loop":"\u5FAA\u73AF\u64AD\u653E","interface.streamer_mode_on":"\u5DF2\u542F\u7528\u76F4\u64AD\u6A21\u5F0F","generic.reset":"\u91CD\u7F6E","generic.restore":"\u6062\u590D","keys.mousewheel":"\u6EDA\u8F6E","message.delete_animation.title":"\u5220\u9664\u52A8\u753B","message.delete_animation.message":"\u8BE5\u52A8\u753B\u5DF2\u4ECE Blockbench \u4E2D\u79FB\u9664\u3002\u662F\u5426\u540C\u65F6\u5728\u5DF2\u4FDD\u5B58\u7684\u6587\u4EF6\u4E2D\u5220\u9664\u8BE5\u52A8\u753B\uFF1F","message.no_animation_to_import":"\u6CA1\u6709\u53EF\u5BFC\u5165\u7684\u52A8\u753B","dialog.material_instances.title":"\u6750\u8D28\u5B9E\u4F8B","dialog.animation_import.title":"\u9009\u62E9\u9700\u8981\u5BFC\u5165\u7684\u52A8\u753B","dialog.create_texture.padding":"\u586B\u5145","settings.fov":"\u89C6\u91CE","settings.fov.desc":"\u76F8\u673A\u89C6\u91CE\u3002\u9ED8\u8BA4\u503C 45","settings.minify_bbmodel":"\u538B\u7F29\u9879\u76EE\u6587\u4EF6","settings.minify_bbmodel.desc":"\u5C06 .bbmodel \u6587\u4EF6\u4FDD\u5B58\u4E3A\u5355\u884C","action.edit_material_instances":"\u7F16\u8F91\u6750\u8D28\u5B9E\u4F8B","action.edit_material_instances.desc":"\u7F16\u8F91 Bedrock \u7248\u65B9\u5757\u51E0\u4F55\u4F53\u7684\u6750\u8D28\u5B9E\u4F8B\u540D\u79F0","action.save_all_animations":"\u4FDD\u5B58\u6240\u6709\u52A8\u753B","action.save_all_animations.desc":"\u4FDD\u5B58\u6240\u6709\u5F53\u524D\u52A0\u8F7D\u7684\u52A8\u753B","action.keyframe_interpolation":"\u63D2\u503C","action.keyframe_interpolation.desc":"\u9009\u62E9\u63D2\u503C\u7684\u6A21\u5F0F","action.keyframe_interpolation.linear":"\u7EBF\u6027","action.keyframe_interpolation.catmullrom":"\u5E73\u6ED1","action.timeline_focus.hide_empty":"\u9690\u85CF\u7A7A\u901A\u9053","menu.file.preferences":"\u9996\u9009\u9879","menu.animation.blend_weight":"\u6DF7\u5408\u6743\u91CD","menu.animation.save":"\u4FDD\u5B58","menu.animation.properties":"\u5C5E\u6027...","menu.animation.file":"\u6587\u4EF6","menu.animation.snapping":"\u5438\u9644","menu.animation.open_location":"\u6253\u5F00\u6587\u4EF6\u6240\u5728\u4F4D\u7F6E","panel.keyframe.add_data_point":"\u6DFB\u52A0\u5173\u952E\u5E27\u6570\u636E\u70B9","panel.keyframe.remove_data_point":"\u79FB\u9664\u6570\u636E\u70B9","panel.keyframe.pre":"\u524D","panel.keyframe.post":"\u540E","generic.all":"\u5168\u90E8","message.small_face_dimensions.title":"\u4E0D\u517C\u5BB9\u7684\u754C\u9762\u7EF4\u5EA6","message.small_face_dimensions.message":"\u9009\u62E9\u5305\u542B\u5728\u4E00\u4E2A\u65B9\u5411\u4E0A\u5C0F\u4E8E 1 \u4E2A\u5355\u4F4D\u7684\u9762\u3002\u7BB1\u578B UV \u6620\u5C04\u7CFB\u7EDF\u5C06\u4F4E\u4E8E\u8BE5\u9608\u503C\u7684\u4EFB\u4F55\u9762\u89C6\u4E3A 0 \u50CF\u7D20\u5BBD\u3002 \u56E0\u6B64\u8FD9\u4E9B\u9762\u4E0A\u7684\u7EB9\u7406\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5DE5\u4F5C\u3002","message.small_face_dimensions.face_uv":"\u5F53\u524D\u683C\u5F0F\u652F\u6301\u53EF\u4EE5\u5904\u7406\u5C0F\u9762\u5C3A\u5BF8\u7684\u5355\u9762 UV \u8D34\u56FE\u3002 \u8F6C\u5230\u201C\u6587\u4EF6\u201D > \u201C\u9879\u76EE...\u201D\uFF0C\u7136\u540E\u5C06\u201CUV \u6A21\u5F0F\u201D\u66F4\u6539\u4E3A\u201C\u9010\u9762 UV\u201D\u3002","dialog.plugins.outdated_client":"\u9700\u8981\u65B0\u7248\u672C\u7684 Blockbench","dialog.plugins.outdated_plugin":"\u63D2\u4EF6\u5DF2\u8FC7\u65F6\uFF0C\u4E0D\u9002\u7528\u4E8E\u5F53\u524D\u7248\u672C\u7684 Blockbench","settings.motion_trails":"\u8FD0\u52A8\u8F68\u8FF9","settings.motion_trails.desc":"\u5728\u52A8\u753B\u7F16\u8F91\u5668\u4E2D\u663E\u793A\u8FD0\u52A8\u8F68\u8FF9","settings.antialiasing":"\u6297\u952F\u9F7F","settings.antialiasing.desc":"\u5728\u9884\u89C8\u542F\u7528\u6297\u952F\u9F7F\u3002\u91CD\u65B0\u542F\u52A8 Blockbench \u4EE5\u5E94\u7528\u66F4\u6539","action.timeline_frame_back":"\u4E0A\u4E00\u4E2A\u5173\u952E\u5E27","action.timeline_frame_forth":"\u4E0B\u4E00\u4E2A\u5173\u952E\u5E27","panel.bone.ik":"\u53CD\u5411\u8FD0\u52A8\uFF08\u5B9E\u9A8C\u529F\u80FD\uFF09","settings.particle_tick_rate":"\u7C92\u5B50\u9891\u7387","settings.particle_tick_rate.desc":"\u7C92\u5B50\u6548\u5E94\u7684\u901F\u7387\uFF0C\u5355\u4F4D\u4E3A\u6BCF\u79D2\u3002\u9ED8\u8BA4\u503C 30","action.lock_motion_trail":"\u9501\u5B9A\u8FD0\u52A8\u8F68\u8FF9","action.lock_motion_trail.desc":"\u9501\u5B9A\u8FD0\u52A8\u8F68\u8FF9\u5230\u5F53\u524D\u9009\u62E9\u7684\u5206\u7EC4","menu.animation_file.unload":"\u5378\u8F7D\u52A8\u753B\u6587\u4EF6","data.null_object":"\u7A7A\u76EE\u6807","status_bar.toggle_sidebar":"\u663E\u793A\u4FA7\u8FB9\u680F","message.load_plugin_failed.title":"\u63D2\u4EF6\u52A0\u8F7D\u5931\u8D25","message.load_plugin_failed.message":"\u786E\u4FDD\u63D2\u4EF6\u7684\u57FA\u672C\u6587\u4EF6\u540D\u4E0E Plugin.register() \u4E2D\u5B9A\u4E49\u7684\u63D2\u4EF6 ID \u201C%0\u201D\u5339\u914D\u3002","dialog.project.uv_mode":"UV \u6A21\u5F0F","dialog.project.uv_mode.box_uv":"\u7BB1\u578B UV","dialog.project.uv_mode.face_uv":"\u9010\u9762 UV","dialog.project.texture_size":"\u7EB9\u7406\u5206\u8FA8\u7387","dialog.animation_export.title":"\u9009\u62E9\u8981\u5BFC\u51FA\u7684\u52A8\u753B","dialog.create_texture.rearrange_uv":"\u91CD\u65B0\u6392\u5217 UV","layout.color.subtle_text":"\u6B21\u8981\u6587\u5B57","layout.color.subtle_text.desc":"\u5BF9\u6BD4\u5EA6\u8F83\u4F4E\u7684\u6587\u672C\u989C\u8272","settings.interface_scale":"\u754C\u9762\u5C3A\u5BF8","settings.interface_scale.desc":"Blockbench \u754C\u9762\u7F29\u653E\u6BD4","settings.background_rendering":"\u80CC\u666F\u6E32\u67D3","settings.background_rendering.desc":"\u7A97\u53E3\u5931\u53BB\u7126\u70B9\u65F6\u66F4\u65B0\u9884\u89C8","settings.ctrl_shift_size":"Ctrl + Shift \u79FB\u52A8\u8DDD\u79BB","settings.ctrl_shift_size.desc":"\u540C\u65F6\u6309\u4F4F Ctrl \u548C Shift \u65F6\u7ACB\u65B9\u4F53\u79FB\u52A8\u7684\u8DDD\u79BB","settings.hardware_acceleration":"\u786C\u4EF6\u52A0\u901F","settings.hardware_acceleration.desc":"\u4F7F\u7528\u663E\u5361\u6E32\u67D3\u3002\u91CD\u65B0\u542F\u52A8 Blockbench \u4EE5\u5E94\u7528\u66F4\u6539","action.explode_skin_model":"\u76AE\u80A4\u6A21\u578B\u5206\u89E3\u89C6\u56FE","action.explode_skin_model.desc":"\u5207\u6362\u5230\u5206\u89E3\u89C6\u56FE\uFF0C\u4FBF\u4E8E\u7F16\u8F91\u88AB\u8986\u76D6\u7684\u9762","action.export_minecraft_skin":"\u5BFC\u51FA Minecraft \u76AE\u80A4","action.export_minecraft_skin.desc":"\u5C06 Minecraft \u76AE\u80A4\u5BFC\u51FA\u4E3A PNG \u7EB9\u7406","action.add_null_object":"\u6DFB\u52A0\u7A7A\u76EE\u6807","action.add_null_object.desc":"\u6DFB\u52A0\u65B0\u7684\u7A7A\u5BF9\u8C61","action.animated_texture_frame":"\u52A8\u6001\u7EB9\u7406\u5E27","action.animated_texture_frame.desc":"\u8BBE\u7F6E\u5F53\u524D\u5E27\u4F7F\u7528\u7684\u52A8\u6001\u7EB9\u7406","action.export_animation_file":"\u5BFC\u51FA\u52A8\u753B...","action.export_animation_file.desc":"\u5C06\u9009\u5B9A\u7684\u52A8\u4F5C\u5BFC\u51FA\u81F3\u65B0\u6587\u4EF6\u4E2D","action.timeline_graph_editor":"\u5207\u6362\u56FE\u50CF\u7F16\u8F91\u5668","action.timeline_graph_editor.desc":"\u5207\u6362\u65F6\u95F4\u8F74\u7684\u56FE\u50CF\u7F16\u8F91\u5668\u89C6\u56FE\u548C\u5173\u952E\u5E27\u89C6\u56FE","menu.file.recent.clear":"\u6E05\u7A7A\u6700\u8FD1\u7684\u6587\u4EF6","switches.shade":"\u9634\u5F71","generic.share":"\u5206\u4EAB","dates.minute":"%0 \u5206\u949F","dates.minutes":"%0 \u5206\u949F","dates.hour":"%0 \u5C0F\u65F6","dates.hours":"%0 \u5C0F\u65F6","dates.day":"%0 \u5929","dates.days":"%0 \u5929","dates.week":"%0 \u5468","dates.weeks":"%0 \u5468","dates.year":"%0 \u5E74","dates.years":"%0 \u5E74","message.installed_plugin":"%0 \u63D2\u4EF6\u5B89\u88C5\u6210\u529F","message.installed_plugin_fail":"%0 \u63D2\u4EF6\u5B89\u88C5\u5931\u8D25","dialog.share_model.title":"\u5206\u4EAB\u6A21\u578B","dialog.share_model.expire_time":"\u8FC7\u671F\u65F6\u95F4","dialog.share_model.failed":"\u4E0A\u4F20\u6A21\u578B\u5931\u8D25","action.import_java_block_model":"\u6DFB\u52A0 Java \u7248\u65B9\u5757/\u7269\u54C1\u6A21\u578B","action.import_java_block_model.desc":"\u4ECE Json \u6587\u4EF6\u5C06 Minecraft Java \u7248\u65B9\u5757/\u7269\u54C1\u6A21\u578B\u6DFB\u52A0\u5230\u5F53\u524D\u6A21\u578B","action.share_model":"\u5206\u4EAB...","action.share_model.desc":"\u751F\u6210\u4E00\u4E2A\u77ED\u94FE\u63A5\u6765\u5206\u4EAB\u60A8\u7684\u6A21\u578B","action.import_project":"\u5BFC\u5165\u9879\u76EE","action.import_project.desc":"\u4ECE\u5176\u4ED6 .bbmodel \u9879\u76EE\u6587\u4EF6\u5BFC\u5165\u5230\u5F53\u524D\u9879\u76EE","dialog.toolbar_edit.hidden_tools":"\u67D0\u4E9B\u5DE5\u5177\u88AB\u81EA\u52A8\u9690\u85CF\uFF0C\u56E0\u4E3A\u5728\u5F53\u524D\u9879\u76EE\u3001\u683C\u5F0F\u3001\u6216\u5176\u4ED6\u56E0\u7D20\u4E0B\u4E0D\u53EF\u7528\u3002","settings.camera_near_plane":"\u6444\u50CF\u673A\u9760\u8FD1\u5E73\u9762","settings.camera_near_plane.desc":"\u7269\u4F53\u6E32\u67D3\u7684\u76F8\u673A\u7684\u6700\u5C0F\u8DDD\u79BB\u3002\u8F83\u9AD8\u7684\u503C\u4F1A\u51CF\u5C11 Z-fighting\u3002\u9ED8\u8BA4\u503C\u4E3A 1\u3002","mode.start.keymap_preference.desc":"\u5982\u679C\u60A8\u662F Blockbench \u7684\u65B0\u624B\u4E14\u66FE\u4F7F\u7528\u5176\u4ED6 3D \u7A0B\u5E8F\uFF0C\u60A8\u53EF\u4EE5\u9009\u62E9\u4E00\u4E2A\u952E\u76D8\u6620\u5C04\u4EE5\u4F7F\u60A8\u7684\u8F6C\u6362\u66F4\u5BB9\u6613\u3002\u7A0D\u540E\u53EF\u5728\u8BBE\u7F6E\u4E2D\u66F4\u6539\u952E\u76D8\u6620\u5C04\u6216\u5355\u4E2A\u952E\u7ED1\u5B9A\u3002","message.load_keymap":"\u4F60\u786E\u5B9A\u8981\u52A0\u8F7D\u6B64\u952E\u76D8\u6620\u5C04\u5417\uFF1F\u8FD9\u4F1A\u8986\u76D6\u4F60\u5F53\u524D\u7684\u952E\u4F4D\u7ED1\u5B9A\u3002","message.keymap_loaded":"\u5DF2\u52A0\u8F7D\u952E\u76D8\u6620\u5C04","dialog.convert_project.current_format":"\u5F53\u524D\u683C\u5F0F","dialog.create_texture.rearrange_uv.desc":"\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684 UV \u6392\u5217\uFF0C\u4EE5\u5728\u6750\u8D28\u4E0A\u663E\u793A\u6BCF\u4E00\u4E2A\u9762","dialog.create_texture.power.desc":"\u5C06\u81EA\u52A8\u6750\u8D28\u5927\u5C0F\u9501\u5B9A\u4E3A 2 \u7684\u51E0\u6B21\u5E42\uFF0C\u4F8B\u5982 64 \u6216 128\u3002\u4EE5\u9002\u5E94\u67D0\u4E9B\u6E32\u67D3\u5668","dialog.create_texture.double_use.desc":"\u5982\u679C\u4E24\u4E2A\u5143\u7D20\u5DF2\u7ECF\u5206\u914D\u4E86\u76F8\u540C\u7684 UV \u7A7A\u95F4\uFF0C\u8BF7\u5728\u65B0\u8D34\u56FE\u4E2D\u4FDD\u6301\u8FD9\u79CD\u65B9\u5F0F","dialog.create_texture.padding.desc":"\u5728\u6A21\u677F\u7684\u5404\u4E2A\u90E8\u5206\u4E4B\u95F4\u586B\u5145\u4E00\u4E2A\u5C0F\u7A7A\u683C","dialog.create_texture.resolution.desc":"\u6750\u8D28\u7684\u5BBD\u5EA6\u548C\u9AD8\u5EA6","dialog.create_gif.color":"\u80CC\u666F\u8272","dialog.save_angle.zoom":"\u7F29\u653E","dialog.skin.variant":"\u53D8\u4F53","dialog.flip_animation.info":"\u5BF9\u7ACB\u7684\u9AA8\u9ABC\u7531\u5176\u540D\u79F0\u4E2D\u7684\u5173\u952E\u5B57\u201Cleft\u201D\u548C\u201Cright\u201D\u6807\u8BC6\u3002","dialog.export_private_settings.title":"\u9690\u79C1\u8BBE\u7F6E","dialog.export_private_settings.message":"\u60A8\u7684\u6587\u4EF6\u5305\u542B\u4E0B\u5217\u9690\u79C1\u4FE1\u606F\uFF1A**%0**\u3002\u5982\u679C\u60A8\u8BA1\u5212\u4E0E\u5176\u4ED6\u4EBA\u5171\u4EAB\u6587\u4EF6\uFF0C\u8BF7\u5FFD\u7565\u8FD9\u4E9B\u503C\u3002","dialog.export_private_settings.keep":"\u4FDD\u6301","settings.timecode_frame_number":"\u4EE5\u5E27\u7387\u663E\u793A\u65F6\u95F4\u7801","settings.timecode_frame_number.desc":"\u5C06\u65F6\u95F4\u7EBF\u4E2D\u7684\u5206\u6570\u65F6\u95F4\u7801\u663E\u793A\u4E3A\u5E27\u53F7\u800C\u4E0D\u662F\u79D2","settings.animation_sample_rate":"\u52A8\u753B\u91C7\u6837\u7387","settings.animation_sample_rate.desc":"\u76F8\u5E94\u683C\u5F0F\u672C\u8EAB\u4E0D\u652F\u6301\u7684\u66F2\u7EBF\u7684\u6BCF\u79D2\u91C7\u6837\u7387","keybind.preview_zoom":"\u7F29\u653E\u89C6\u56FE","action.gradient_tool":"\u6E10\u53D8\u5DE5\u5177","action.gradient_tool.desc":"\u5728\u7EB9\u7406\u4E0A\u521B\u5EFA\u989C\u8272\u6E10\u53D8","action.import_settings":"\u5BFC\u5165\u8BBE\u7F6E","action.import_settings.desc":"\u5BFC\u5165 .bbsettings \u6587\u4EF6","action.export_settings":"\u5BFC\u51FA\u8BBE\u7F6E","action.export_settings.desc":"\u5BFC\u51FA Blockbench \u8BBE\u7F6E\u6587\u4EF6 .bbsettings","action.load_keymap":"\u52A0\u8F7D\u952E\u76D8\u6620\u5C04","action.load_keymap.default":"\u9ED8\u8BA4\uFF08\u89E6\u63A7\u677F/\u9F20\u6807\uFF09","action.load_keymap.mouse":"\u9ED8\u8BA4\uFF08\u9F20\u6807\uFF09","action.load_keymap.default.desc":"\u9ED8\u8BA4 Blockbench \u952E\u7ED1\u5B9A\uFF0C\u5177\u6709\u9488\u5BF9\u7B14\u8BB0\u672C\u7535\u8111\u89E6\u63A7\u677F\u4F7F\u7528\u800C\u4F18\u5316\u7684\u89C6\u53E3\u5BFC\u822A\u63A7\u4EF6","action.load_keymap.mouse.desc":"\u9ED8\u8BA4 Blockbench \u952E\u7ED1\u5B9A\uFF0C\u89C6\u53E3\u5BFC\u822A\u7ED1\u5B9A\u5230\u9F20\u6807\u4E2D\u952E","action.load_keymap.blender.desc":"\u9002\u7528\u4E8E Blender \u7528\u6237\u7684\u952E\u4F4D\u7ED1\u5B9A","action.load_keymap.cinema4d.desc":"\u9002\u7528\u4E8E Cinema 4D \u7528\u6237\u7684\u952E\u4F4D\u7ED1\u5B9A","action.load_keymap.maya.desc":"\u9002\u7528\u4E8E Autodesk Maya \u7528\u6237\u7684\u952E\u4F4D\u7ED1\u5B9A","action.import_keymap":"\u5BFC\u5165\u952E\u4F4D\u7ED1\u5B9A\u8BBE\u7F6E\u6587\u4EF6","action.import_keymap.desc":"\u5BFC\u5165 .bbkeymap \u952E\u4F4D\u7ED1\u5B9A\u8BBE\u7F6E\u6587\u4EF6","action.export_keymap":"\u5BFC\u51FA\u952E\u4F4D\u7ED1\u5B9A\u8BBE\u7F6E\u6587\u4EF6","action.export_keymap.desc":"\u5BFC\u51FA\u952E\u4F4D\u7ED1\u5B9A\u8BBE\u7F6E\u6587\u4EF6\u4E3A .bbkeymap \u6587\u4EF6","action.edit_history":"\u7F16\u8F91\u5386\u53F2...","action.edit_history.desc":"\u67E5\u770B\u7F16\u8F91\u5386\u53F2\u548C\u91CD\u505A\u6216\u64A4\u56DE\u64CD\u4F5C","action.group_elements":"\u5206\u7EC4\u5143\u7D20","action.group_elements.desc":"\u5C06\u6240\u9009\u5143\u7D20\u5305\u88C5\u5230\u4E00\u4E2A\u65B0\u5206\u7EC4\u4E2D","action.unfold_groups":"\u5C55\u5F00\u6240\u6709\u5206\u7EC4","action.unfold_groups.desc":"\u5C55\u5F00\u5927\u7EB2\u4E0B\u6240\u6709\u5206\u7EC4","action.edit_bedrock_binding":"\u7F16\u8F91\u7ED1\u5B9A...","action.edit_bedrock_binding.desc":"\u66F4\u6539\u51E0\u4F55\u7ED1\u5B9A\u5230\u7684\u9AA8\u9ABC","action.pick_screen_color":"\u9009\u53D6\u5C4F\u5E55\u989C\u8272","action.pick_screen_color.desc":"\u4ECE\u5C4F\u5E55\u4E2D\u9009\u53D6\u989C\u8272","action.view_mode":"\u663E\u793A\u6A21\u5F0F","action.view_mode.desc":"\u5207\u6362\u663E\u793A\u6A21\u5F0F","action.view_mode.textured":"\u7EB9\u7406","action.view_mode.solid":"\u5B9E\u4F53","action.view_mode.wireframe":"\u7EBF\u6846","action.toggle_sidebars":"\u5207\u6362\u4FA7\u8FB9\u680F","action.toggle_sidebars.desc":"\u542F\u7528\u6216\u7981\u7528\u4FA7\u8FB9\u680F","action.set_animation_end":"\u8BBE\u7F6E\u52A8\u753B\u7ED3\u675F\u70B9","action.set_animation_end.desc":"\u5C06\u9009\u5B9A\u52A8\u753B\u7684\u7ED3\u675F\u8BBE\u7F6E\u4E3A\u5F53\u524D\u65F6\u95F4\u8F74\u65F6\u95F4","action.flip_animation":"\u7FFB\u8F6C\u52A8\u753B","action.flip_animation.desc":"\u901A\u8FC7\u5C06\u9009\u5B9A\u7684\u5173\u952E\u5E27\u590D\u5236\u5230\u6A21\u578B\u7684\u53E6\u4E00\u4FA7\u6765\u7FFB\u8F6C\u52A8\u753B\u7684\u4E00\u90E8\u5206","action.graph_editor_zero_line":"\u5305\u62EC\u96F6\u7EBF","action.graph_editor_zero_line.desc":"\u56FE\u5F62\u7F16\u8F91\u5668\u662F\u5426\u59CB\u7EC8\u5728\u89C6\u56FE\u4E2D\u5305\u542B\u96F6\u7EBF","menu.texture.render_mode":"\u6E32\u67D3\u6A21\u5F0F","menu.texture.render_mode.emissive":"\u53D1\u5149","menu.texture.render_mode.layered":"\u56FE\u5C42","menu.preview.angle.edit":"\u7F16\u8F91\u89D2\u5EA6...","menu.animation.start_delay":"\u542F\u52A8\u5EF6\u8FDF","menu.animation.loop_delay":"\u5FAA\u73AF\u5EF6\u8FDF","menu.animation.flip_keyframes":"\u7FFB\u8F6C\u5173\u952E\u5E27","menu.mobile_keyboard.disable_all":"\u7981\u7528\u6240\u6709","panel.keyframe.toggle_uniform_scale":"\u5207\u6362\u7EDF\u4E00\u6BD4\u4F8B","camera_angle.common_isometric_right":"\u7B49\u8DDD\u53F3\uFF082:1\uFF09","camera_angle.common_isometric_left":"\u7B49\u8DDD\u5DE6\uFF082:1\uFF09","camera_angle.true_isometric_right":"\u771F\u7B49\u8DDD\u53F3\uFF0830\xB0\uFF09","camera_angle.true_isometric_left":"\u771F\u7B49\u8DDD\u5DE6\uFF0830\xB0\uFF09","menu.help.wiki":"Blockbench \u7EF4\u57FA","settings.update_to_prereleases":"\u66F4\u65B0\u81F3\u9884\u53D1\u5E03\u7248","settings.update_to_prereleases.desc":"\u81EA\u52A8\u66F4\u65B0\u81F3 beta \u7248\u672C\u7684 Blockbench \u4EE5\u6D4B\u8BD5\u65B0\u529F\u80FD\u3002\u9884\u53D1\u5E03\u7248\u672C\u53EF\u80FD\u4E0D\u7A33\u5B9A\uFF0C\u5982\u679C\u60A8\u4F9D\u8D56 Blockbench \u5DE5\u4F5C\u6216\u5176\u4ED6\u91CD\u8981\u9879\u76EE\uFF0C\u8BF7\u4E0D\u8981\u542F\u7528\u6B64\u9009\u9879\u3002","data.separator.spacer":"\u95F4\u9694","data.separator.linebreak":"\u6362\u884C\u7B26","data.setting":"\u8BBE\u7F6E","generic.select_all":"\u9009\u62E9\u5168\u90E8","generic.select_none":"\u65E0\u9009\u62E9","projects.new_tab":"\u65B0\u6807\u7B7E\u9875","projects.close_tab":"\u5173\u95ED\u6807\u7B7E\u9875","message.invalid_format.title":"\u65E0\u6548\u7684\u683C\u5F0F","message.invalid_format.message":"\u6B64\u6A21\u578B\u4EE5\u201C%0\u201D\u683C\u5F0F\u5236\u4F5C\uFF0C\u5E76\u5728\u4F60\u7684 Blockbench \u4E2D\u4E0D\u53EF\u7528\u3002\u4F60\u9700\u8981\u5B89\u88C5\u7279\u5B9A\u63D2\u4EF6\u624D\u80FD\u6B63\u786E\u6253\u5F00\u3002","message.invalid_link":"\u65E0\u6548\u6216\u8FC7\u671F\u7684\u6A21\u578B\u94FE\u63A5","message.default_textures.current":"\u5F53\u524D\u8DEF\u5F84","message.update_after_restart":"\u6B64\u6B21\u66F4\u65B0\u5C06\u4F1A\u5728\u8F6F\u4EF6\u91CD\u542F\u540E\u5B8C\u6210","message.copy_paste_tool_viewport":"\u6B64\u5DE5\u5177\u4EC5\u80FD\u5728 2D \u7F16\u8F91\u5668\u4E2D\u4F7F\u7528","dialog.project.shadow_size":"\u9634\u5F71\u5927\u5C0F","dialog.find_replace.target":"\u76EE\u6807","dialog.find_replace.target.element_names":"\u5143\u7D20\u540D\u79F0","dialog.find_replace.target.group_names":"\u5206\u7EC4\u540D\u79F0","dialog.find_replace.target.animation_names":"\u52A8\u753B\u540D\u79F0","dialog.find_replace.target.keyframe_values":"\u5173\u952E\u5E27\u6570\u503C","dialog.find_replace.find":"\u67E5\u627E","dialog.find_replace.replace":"\u66FF\u6362","dialog.find_replace.regex":"\u6B63\u5219\u8868\u8FBE\u5F0F","dialog.add_primitive.shape":"\u5F62\u72B6","dialog.add_primitive.shape.circle":"\u5706\u5F62","dialog.add_primitive.shape.tube":"\u5706\u7B52","dialog.add_primitive.shape.cone":"\u5706\u9525","dialog.add_primitive.shape.cylinder":"\u5706\u67F1","dialog.add_primitive.shape.sphere":"\u7403\u5F62","dialog.add_primitive.shape.torus":"\u5706\u73AF","dialog.add_primitive.shape.cube":"\u65B9\u5F62","dialog.add_primitive.shape.pyramid":"\u68F1\u9525","dialog.add_primitive.diameter":"\u76F4\u5F84","dialog.add_primitive.height":"\u9AD8\u5EA6","dialog.add_primitive.sides":"\u6BB5\u6570","dialog.add_primitive.minor_diameter":"\u539A\u5EA6","dialog.add_primitive.minor_sides":"\u6B21\u8981\u4FA7\u9762","dialog.create_texture.combine_polys":"\u5408\u5E76\u9762","dialog.create_texture.combine_polys.desc":"\u5C06\u5171\u540C\u9762\u5408\u5E76\u81F3\u540C\u4E00\u4E2A UV","dialog.model_stats.meshes":"\u7F51\u683C","dialog.export_private_settings.omit":"\u5FFD\u7565","layout.select":"\u9009\u62E9","layout.options":"\u9009\u9879","layout.color":"\u914D\u8272\u65B9\u6848","layout.documentation":"\u6587\u6863","layout.color.bright_ui_text":"\u9AD8\u4EAE\u7684 UI \u6587\u672C","layout.color.bright_ui_text.desc":"\u9AD8\u4EAE\u80CC\u666F\u4E0A\u7684\u6587\u672C","layout.name":"\u540D\u79F0","layout.author":"\u4F5C\u8005","settings.dialog.desc":"\u663E\u793A\u201C%0\u201D\u5BF9\u8BDD\u6846","settings.export_empty_groups":"\u5BFC\u51FA\u7A7A\u5206\u7EC4","settings.export_empty_groups.desc":"\u5BFC\u51FA\u4E2D\u5305\u542B\u7A7A\u7684\u5206\u7EC4","category.separators":"\u5206\u9694\u7B26","keybind.preview_area_select":"\u9009\u62E9\u533A\u57DF","action.color_erase_mode":"\u64E6\u9664\u6A21\u5F0F","action.color_erase_mode.desc":"\u542F\u7528\u64E6\u9664\u6A21\u5F0F\u540E\uFF0C\u586B\u5145\u548C\u77E9\u5F62\u7B49\u5DE5\u5177\u4F1A\u5220\u9664\u989C\u8272\u800C\u4E0D\u662F\u6DFB\u52A0\u989C\u8272","action.open_from_link":"\u4ECE\u94FE\u63A5\u6253\u5F00\u6A21\u578B...","action.open_from_link.desc":"\u4ECE blckbn.ch \u94FE\u63A5\u6253\u5F00\u6A21\u578B","action.import_obj":"\u5BFC\u5165 OBJ \u6A21\u578B","action.import_obj.desc":"\u4EE5\u7F51\u683C\u5F62\u5F0F\u5BFC\u5165 OBJ \u6A21\u578B","action.add_plugin":"\u5B89\u88C5\u63D2\u4EF6","action.add_plugin.desc":"\u901A\u8FC7\u52A8\u4F5C\u63A7\u5236\u5B89\u88C5\u63D2\u4EF6","action.remove_plugin":"\u5378\u8F7D\u63D2\u4EF6","action.remove_plugin.desc":"\u901A\u8FC7\u52A8\u4F5C\u63A7\u5236\u5378\u8F7D\u63D2\u4EF6","action.add_mesh":"\u6DFB\u52A0\u7F51\u683C","action.add_mesh.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u7F51\u683C\u5F62\u72B6","action.add_texture_mesh":"\u6DFB\u52A0\u7EB9\u7406\u7F51\u683C","action.add_texture_mesh.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u7EB9\u7406\u7F51\u683C","action.find_replace":"\u67E5\u627E/\u66FF\u6362...","action.find_replace.desc":"\u67E5\u627E\u5E76\u66FF\u6362\u90E8\u5206\u540D\u5B57","action.hide_everything_except_selection":"\u4EC5\u663E\u793A\u6240\u9009\u9879","action.hide_everything_except_selection.desc":"\u5207\u6362\u9664\u9009\u5B9A\u5143\u7D20\u4E4B\u5916\u7684\u6240\u6709\u5143\u7D20\u7684\u53EF\u89C1\u6027","action.transform_space.normal":"\u6B63\u5E38","action.selection_mode":"\u9009\u533A\u6A21\u5F0F","action.selection_mode.desc":"\u66F4\u6539\u5728\u89C6\u56FE\u4E2D\u9009\u62E9\u5143\u7D20\u7684\u65B9\u5F0F","action.selection_mode.object":"\u7269\u4F53","action.selection_mode.face":"\u9762","action.selection_mode.vertex":"\u9876\u70B9","action.create_face":"\u521B\u5EFA\u9762\u6216\u8FB9","action.create_face.desc":"\u5728\u9009\u4E2D\u7684\u9876\u70B9\u95F4\u65B0\u5EFA\u9762\u6216\u8FB9","action.convert_to_mesh":"\u8F6C\u6362\u6210\u7F51\u683C","action.convert_to_mesh.desc":"\u8F6C\u6362\u4F7F\u9009\u4E2D\u7684\u5143\u7D20\u6210\u7F51\u683C","action.invert_face":"\u53CD\u8F6C\u9762","action.invert_face.desc":"\u53CD\u8F6C\u9009\u4E2D\u7684\u9762\u4F7F\u5176\u9762\u5411\u76F8\u53CD\u65B9\u5411","action.extrude_mesh_selection":"\u62C9\u4F38\u9009\u533A","action.extrude_mesh_selection.desc":"\u62C9\u4F38\u9009\u4E2D\u90E8\u5206\u7684\u7F51\u683C","action.loop_cut":"\u73AF\u5F62\u5207\u5272","action.loop_cut.desc":"\u5728\u9009\u5B9A\u7684\u8FB9\u4E0A\u5FAA\u73AF\u5206\u5272\u7F51\u683C","action.merge_meshes":"\u5408\u5E76\u7F51\u683C","action.merge_meshes.desc":"\u5408\u5E76\u591A\u4E2A\u7F51\u683C\u4E3A\u4E00\u4E2A","action.keyframe_uniform":"\u5747\u5300\u7F29\u653E","action.keyframe_uniform.desc":"\u5728\u9009\u5B9A\u7684\u5173\u952E\u5E27\u4E0A\u542F\u7528\u7EDF\u4E00\u7F29\u653E","menu.locator.ignore_inherited_scale":"\u5FFD\u7565\u7EE7\u627F\u7684\u6BD4\u4F8B","menu.texture.elements":"\u5E94\u7528\u5230\u5143\u7D20","uv_editor.transparent_face":"\u900F\u660E\u9762","display.pose_angle":"\u59FF\u52BF\u89D2\u5EA6\uFF08\u4EC5\u7528\u4E8E\u9884\u89C8\uFF09","data.mesh":"\u7F51\u683C","dialog.create_texture.type":"\u7C7B\u578B","dialog.create_texture.type.blank":"\u7A7A\u767D","dialog.create_texture.type.template":"\u7EB9\u7406\u6A21\u677F","dialog.create_texture.type.color_map":"\u7EAF\u8272\u6A21\u677F","dialog.sketchfab_uploader.suggested_tags":"\u5EFA\u8BAE\u6807\u7B7E","dialog.sketchfab_uploader.category":"\u7C7B\u522B","dialog.sketchfab_uploader.category2":"\u7C7B\u522B2","layout.restore_backup":"\u60A8\u7684\u81EA\u5B9A\u4E49\u4E3B\u9898\u201C%0\u201D\u5DF2\u88AB\u8986\u76D6\u3002\u70B9\u51FB\u8FD9\u91CC\u6062\u590D\u5B83\u3002","layout.borders":"\u8FB9\u6846","action.fill_mode.element":"\u5143\u7D20","action.inset_mesh_selection":"\u63D2\u5165\u9009\u62E9","action.inset_mesh_selection.desc":"\u63D2\u5165\u7F51\u683C\u7684\u9009\u5B9A\u90E8\u5206","action.dissolve_edges":"\u6EB6\u89E3\u8FB9","action.dissolve_edges.desc":"\u6EB6\u89E3\u7F51\u683C\u4E2D\u7684\u9009\u5B9A\u8FB9\u5E76\u5408\u5E76\u5B83\u4EEC\u5212\u5206\u7684\u9762","action.split_mesh":"\u5206\u5272\u7F51\u683C","action.split_mesh.desc":"\u5C06\u7F51\u683C\u7684\u9009\u5B9A\u9762\u62C6\u5206\u4E3A\u65B0\u7F51\u683C","action.merge_vertices":"\u5408\u5E76\u9876\u70B9","action.merge_vertices.desc":"\u5C06\u6240\u9009\u9876\u70B9\u5408\u5E76\u5230\u7B2C\u4E00\u4E2A\u9009\u5B9A\u9876\u70B9\u7684\u4F4D\u7F6E","action.view_mode.normal":"\u7F6E\u9762\u5750\u6807\u7CFB","action.snap_uv_to_pixels":"\u5C06 UV \u6355\u6349\u5230\u50CF\u7D20","action.snap_uv_to_pixels.desc":"\u5C06\u9009\u5B9A\u7684 UV \u9876\u70B9\u6355\u6349\u5230\u50CF\u7D20\u7F51\u683C","menu.file.import.import_open_project":"\u5BFC\u5165\u6253\u5F00\u9879\u76EE","menu.help.unlock_projects":"\u89E3\u9501\u5168\u90E8\u9879\u76EE","status_bar.selection.faces":"%0 \u9762","status_bar.selection.vertices":"%0 \u70B9","message.merged_vertices":"\u5728 %1 \u4E2A\u4F4D\u7F6E\u627E\u5230\u5E76\u5408\u5E76 %0 \u4E2A\u9876\u70B9","settings.vertex_merge_distance":"\u9876\u70B9\u5408\u5E76\u8DDD\u79BB","settings.vertex_merge_distance.desc":"\u4F7F\u7528\u6309\u8DDD\u79BB\u5408\u5E76\u7684\u9876\u70B9\u7684\u8DDD\u79BB","settings.show_only_selected_uv":"\u4EC5\u663E\u793A\u9009\u4E2D\u7684 UV","settings.show_only_selected_uv.desc":"\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0C\u4EC5\u5728 UV \u7F16\u8F91\u5668\u4E2D\u663E\u793A\u9009\u5B9A\u7684 UV \u9762","action.merge_vertices.merge_all":"\u5408\u5E76\u5168\u90E8","action.merge_vertices.merge_all_in_center":"\u5728\u4E2D\u5FC3\u5408\u5E76\u6240\u6709","action.merge_vertices.merge_by_distance":"\u6309\u8DDD\u79BB\u5408\u5E76","action.merge_vertices.merge_by_distance_in_center":"\u6309\u4E2D\u5FC3\u8DDD\u79BB\u5408\u5E76","action.uv_rotate_left":"\u5411\u5DE6\u65CB\u8F6C UV","action.uv_rotate_left.desc":"\u9006\u65F6\u9488\u65CB\u8F6C\u6240\u9009 UV \u9762","action.uv_rotate_right":"\u5411\u53F3\u65CB\u8F6C UV","action.uv_rotate_right.desc":"\u987A\u65F6\u9488\u65CB\u8F6C\u6240\u9009 UV \u9762","menu.uv.display_uv":"\u663E\u793A UV","menu.uv.display_uv.selected_faces":"\u6240\u9009\u9762","menu.uv.display_uv.selected_elements":"\u6240\u6709\u9762","menu.uv.display_uv.all_elements":"\u6240\u6709\u5143\u7D20\u7684\u6240\u6709\u9762","menu.paste.face":"UV \u9762","menu.paste.mesh_selection":"\u7F51\u683C\u9009\u62E9","menu.paste.outliner":"\u5143\u7D20","uv_editor.show_all_faces":"\u663E\u793A\u6240\u6709\u9762","uv_editor.show_selected_faces":"\u663E\u793A\u9009\u5B9A\u7684\u9762","status_bar.selection.edges":"%0 \u6761\u8FB9","action.selection_mode.edge":"\u8FB9","message.cannot_re_import.title":"\u65E0\u6CD5\u91CD\u65B0\u5BFC\u5165\u6A21\u578B","message.cannot_re_import.message":"\u5BFC\u51FA\u7684\u6A21\u578B\u683C\u5F0F\u65E0\u6CD5\u518D\u6B21\u5BFC\u5165 Blockbench\u3002\u8BF7\u786E\u4FDD\u5C06\u6A21\u578B\u53E6\u5B58\u4E3A\u9879\u76EE\u6587\u4EF6\u3002","generic.default":"\u9ED8\u8BA4","units.pixels_per_meter":"%0 \u50CF\u7D20/\u7C73","mode.pose":"\u59FF\u52BF","modifier_actions.resize_both_sides":"\u5728\u4E24\u4E2A\u65B9\u5411\u4E0A\u8C03\u6574\u5927\u5C0F","modifier_actions.resize_one_side":"\u5728\u4E00\u4E2A\u65B9\u5411\u4E0A\u8C03\u6574\u5927\u5C0F","modifier_actions.draw_line":"\u7ED8\u5236\u7EBF\u6761","modifier_actions.drag_without_snapping":"\u62D6\u52A8\u4F46\u4E0D\u5BF9\u9F50","modifier_actions.stretch_keyframes":"\u62C9\u4F38\u5173\u952E\u5E27","modifier_actions.resize_background":"\u8C03\u6574\u80CC\u666F\u5927\u5C0F","modifier_actions.select_multiple":"\u9009\u62E9\u591A\u4E2A","modifier_actions.select_range":"\u9009\u62E9\u8303\u56F4","modifier_actions.drag_to_duplicate":"\u62D6\u52A8\u590D\u5236","modifier_actions.uniform_scaling":"\u7B49\u6BD4\u7F29\u653E","modifier_actions.snap_direction":"\u6355\u6349\u65B9\u5411","message.no_valid_elements":"\u672A\u9009\u62E9\u6709\u6548\u5143\u7D20...","dialog.add_primitive.shape.plane":"\u5E73\u9762","dialog.save_angle.rotation_mode":"\u65CB\u8F6C\u6A21\u5F0F","dialog.save_angle.rotation":"\u65CB\u8F6C","dialog.save_angle.fov":"\u89C6\u91CE","settings.hide_tab_bar":"\u81EA\u52A8\u9690\u85CF\u6807\u7B7E\u680F","settings.hide_tab_bar.desc":"\u4EC5\u6253\u5F00\u4E00\u4E2A\u9009\u9879\u5361\u65F6\u9690\u85CF\u6807\u7B7E\u680F","settings.status_bar_modifier_keys":"\u5EFA\u8BAE\u72B6\u6001\u680F\u4E2D\u7684\u4FEE\u6539\u952E","settings.status_bar_modifier_keys.desc":"\u5728\u72B6\u6001\u680F\u4E2D\u663E\u793A\u4E0A\u4E0B\u6587\u611F\u77E5\u7684\u5EFA\u8BAE\u66F4\u6539","settings.ground_plane":"\u63A5\u5730\u5C42","settings.ground_plane.desc":"\u5728\u6A21\u578B\u4E0B\u9762\u663E\u793A\u63A5\u5730\u5C42","settings.preview_paste_behavior":"\u9ED8\u8BA4\u9884\u89C8\u7C98\u8D34\u884C\u4E3A","settings.preview_paste_behavior.desc":"\u5728\u7F16\u8F91\u6A21\u5F0F\u4E0B\u5C06\u5185\u5BB9\u6DFB\u52A0\u5230\u9884\u89C8\u7684\u884C\u4E3A","settings.preview_paste_behavior.always_ask":"\u59CB\u7EC8\u8BE2\u95EE","action.new_window":"\u65B0\u7A97\u53E3","action.new_window.desc":"\u6253\u5F00\u65B0\u7684 Blockbench \u7A97\u53E3","action.export_collada":"\u5BFC\u51FA Collada \u6A21\u578B\uFF08dae\uFF09","action.export_collada.desc":"\u4EE5 dae \u683C\u5F0F\u5BFC\u51FA\u6A21\u578B\u548C\u52A8\u753B\u4EE5\u7528\u4E8E\u5176\u4ED6 3D \u8F6F\u4EF6","action.paint_mode_uv_overlay":"UV \u8986\u76D6","action.paint_mode_uv_overlay.desc":"\u5728\u7ED8\u753B\u6A21\u5F0F\u4E0B\u4EE5\u8986\u76D6\u5F62\u5F0F\u663E\u793A UV \u8D34\u56FE","action.bake_animation_into_model":"\u70D8\u7119\u52A8\u753B\u5230\u6A21\u578B","action.bake_animation_into_model.desc":"\u5C06\u5F53\u524D\u663E\u793A\u7684\u52A8\u753B\u5E27\u590D\u5236\u5230\u6A21\u578B\u4E2D\u3002\u53EA\u5E94\u7528\u65CB\u8F6C\u548C\u4F4D\u7F6E\uFF0C\u5FFD\u7565\u7F29\u653E\u3002","action.keyframe_interpolation.step":"\u6B65","action.set_ik_target":"\u8BBE\u7F6E IK \u76EE\u6807","action.set_ik_target.desc":"\u901A\u8FC7\u53CD\u9009\u5C06\u8FD9\u4E2A\u7A7A\u5BF9\u8C61\u5E94\u7528\u5230\u76EE\u6807\u9AA8\u9ABC","menu.action_control.type.tab":"\u6807\u7B7E","menu.action_control.type.angle":"\u955C\u5934\u89D2\u5EA6","menu.action_control.recent_in_streamer_mode":"\u786E\u5B9A\uFF1F\u6D41\u5A92\u4F53\u6A21\u5F0F\u5DF2\u542F\u7528","menu.action_control.recent_in_streamer_mode.desc":"\u60A8\u786E\u5B9A\u8981\u663E\u793A\u6700\u8FD1\u7684\u6A21\u578B\u5417\uFF1F","menu.tools":"\u5DE5\u5177","menu.file.recent.more":"\u67E5\u770B\u66F4\u591A\u5185\u5BB9...","menu.null_object.lock_ik_target_rotation":"\u9501\u5B9A\u9009\u5B9A\u76EE\u6807\u65CB\u8F6C","menu.animation_file.import_remaining":"\u5BFC\u5165\u5269\u4F59\u7684\u52A8\u753B\u6587\u4EF6","edit.loop_cut.offset":"\u504F\u79FB","edit.extrude_mesh_selection.extend":"\u6269\u5C55","cube.color.pink":"\u7C89\u8272","cube.color.silver":"\u94F6\u8272","dialog.plugins.offline":"\u6CA1\u6709\u7F51\u7EDC\u8FDE\u63A5","dialog.create_texture.pixel_density":"\u50CF\u7D20\u5BC6\u5EA6","dialog.create_texture.pixel_density.desc":"\u7EB9\u7406\u7684\u50CF\u7D20\u5BC6\u5EA6\uFF0C\u4EE5\u50CF\u7D20/\u7C73\u4E3A\u5355\u4F4D\u3002 \u7EB9\u7406\u8D34\u56FE\u7684\u5927\u5C0F\u53EF\u80FD\u4F1A\u56E0\u5143\u7D20\u7684\u6570\u91CF\u548C\u5927\u5C0F\u800C\u5F02\u3002","panel.skin_pose":"\u59FF\u52BF","panel.skin_pose.none":"\u65E0","panel.skin_pose.natural":"\u81EA\u7136","panel.skin_pose.walking":"\u6B65\u884C","panel.skin_pose.crouching":"\u4E0B\u8E72","panel.skin_pose.sitting":"\u5750\u4E0B","panel.skin_pose.jumping":"\u8DF3\u8DC3","panel.skin_pose.aiming":"\u7784\u51C6","edit.loop_cut.direction":"\u65B9\u5411","data.texture_mesh":"\u7EB9\u7406\u7F51\u683C","generic.left":"\u5DE6\u4FA7","generic.right":"\u53F3\u4FA7","mode.start.quick_setup":"\u5FEB\u901F\u8BBE\u7F6E","mode.start.keymap":"\u8F6E\u5ED3","mode.start.quick_setup.more_themes":"\u66F4\u591A...","dialog.resize_texture.animation_frames":"\u52A8\u753B\u5E27","dialog.export_emission_map.title":"\u5BFC\u51FA\u52A8\u753B","dialog.export_emission_map.format":"\u683C\u5F0F","dialog.export_emission_map.format.luminance":"\u4EAE\u5EA6","dialog.export_emission_map.format.luminance_inverted":"\u4EAE\u5EA6\u53CD\u8F6C","dialog.export_emission_map.format.colors":"\u989C\u8272","dialog.export_emission_map.threshold":"\u900F\u660E\u5EA6\u9608\u503C","dialog.export_emission_map.round_up":"\u5411\u4E0A\u53D6\u820D %0 \u5230 %1","dialog.export_emission_map.flip_y":"\u7FFB\u8F6CY\u8F74","dialog.select.type":"\u5143\u7D20\u7C7B\u578B","dialog.create_texture.max_edge_angle":"\u8FB9\u89D2\u9608\u503C","dialog.create_texture.max_edge_angle.desc":"\u4E24\u4E2A\u9762\u4E4B\u95F4\u4ECD\u5C06\u88AB\u7EC4\u5408\u7684\u6700\u5927\u89D2\u5EA6","dialog.create_texture.max_island_angle":"\u5C9B\u5C7F\u7684\u6700\u5927\u503E\u659C\u89D2\u5EA6","dialog.create_texture.max_island_angle.desc":"\u540C\u4E00\u4E2A UV \u8D34\u56FE\u53EF\u4EE5\u7EC4\u5408\u7684\u6700\u5927\u89D2\u5EA6","settings.mobile_panel_side":"\u79FB\u52A8\u9762\u677F","settings.mobile_panel_side.desc":"\u9009\u62E9\u7AD6\u5C4F\u4F7F\u7528 Blockbench \u65F6\u5C4F\u5E55\u9762\u677F\u7684\u4F4D\u7F6E","settings.obj_face_export_mode":"OBJ \u9762\u5BFC\u51FA\u6A21\u5F0F","settings.obj_face_export_mode.desc":"\u9009\u62E9\u8BA9 OBJ \u5BFC\u51FA\u5668\u5C06\u6240\u6709\u9762\u8F6C\u6362\u4E3A tris \u6216 quads","settings.obj_face_export_mode.both":"\u9ED8\u8BA4","settings.obj_face_export_mode.tris":"\u8F6C\u6362\u4E3A Tris","settings.obj_face_export_mode.quads":"\u8F6C\u6362\u4E3A Quads","action.seam_tool":"\u7F1D\u9699\u8FDE\u63A5\u5DE5\u5177","action.seam_tool.desc":"\u7528\u4E8E\u5B9A\u4E49\u7F51\u683C\u8FB9\u7F18\u4E0A\u7684 UV \u63A5\u7F1D\u7684\u5DE5\u5177","action.resolve_group":"\u89E3\u6790\u5206\u7EC4","action.resolve_group.desc":"\u89E3\u6790\u5206\u7EC4\uFF0C\u540C\u65F6\u5C06\u5176\u5B50\u9879\u4FDD\u7559\u5728\u540C\u4E00\u4F4D\u7F6E","action.move_to_group":"\u79FB\u52A8\u81F3\u5206\u7EC4","action.move_to_group.desc":"\u5C06\u6240\u9009\u5143\u7D20\u79FB\u81F3\u5176\u4ED6\u5927\u7EB2\u89C6\u56FE\u7EC4","action.select_seam":"\u9009\u62E9 UV \u63A5\u7F1D","action.select_seam.desc":"\u4E3A\u6240\u9009\u8FB9\u7F18\u9009\u62E9 UV \u63A5\u7F1D\u6A21\u5F0F","action.select_seam.auto":"\u81EA\u52A8","action.select_seam.join":"\u52A0\u5165","action.select_seam.divide":"\u5206\u79BB","action.adjust_brightness_contrast":"\u8C03\u6574\u4EAE\u5EA6\u548C\u5BF9\u6BD4\u5EA6...","action.adjust_brightness_contrast.desc":"\u8C03\u6574\u6240\u9009\u7EB9\u7406\u7684\u4EAE\u5EA6\u548C\u5BF9\u6BD4\u5EA6","action.adjust_saturation_hue":"\u8C03\u6574\u9971\u548C\u5EA6\u548C\u8272\u8C03...","action.adjust_saturation_hue.desc":"\u8C03\u6574\u6240\u9009\u7EB9\u7406\u7684\u9971\u548C\u5EA6\u548C\u8272\u8C03","action.invert_colors":"\u53CD\u8F6C\u989C\u8272","action.invert_colors.desc":"\u53CD\u8F6C\u6240\u9009\u7EB9\u7406\u7684\u6240\u6709\u989C\u8272","action.adjust_curves":"\u8C03\u6574\u66F2\u7EBF...","action.adjust_curves.desc":"\u8C03\u6574\u6240\u9009\u7EB9\u7406\u7684\u4EAE\u5EA6\u66F2\u7EBF","action.flip_texture_x":"\u6C34\u5E73\u7FFB\u8F6C\u7EB9\u7406","action.flip_texture_y":"\u5782\u76F4\u7FFB\u8F6C\u7EB9\u7406","action.resize_texture":"\u8C03\u6574\u7EB9\u7406\u5927\u5C0F...","action.view_mode.uv":"UV \u9884\u89C8","action.append_to_template":"\u5411\u6A21\u677F\u8FFD\u52A0\u5143\u7D20...","action.append_to_template.desc":"\u5C06\u9009\u4E2D\u7684\u5143\u7D20\u6DFB\u52A0\u5230\u7EB9\u7406\u6A21\u677F","action.move_texture_with_uv":"\u4F7F\u7528 UV \u79FB\u52A8\u7EB9\u7406","action.move_texture_with_uv.desc":"\u62D6\u52A8 UV \u9762\u65F6\u79FB\u52A8\u9762\u7684\u7EB9\u7406","action.timeline_setups":"\u65F6\u95F4\u7EBF\u8BBE\u7F6E","action.save_timeline_setup":"\u4FDD\u5B58\u65F6\u95F4\u7EBF\u8BBE\u7F6E...","action.save_timeline_setup.desc":"\u4FDD\u5B58\u5F53\u524D\u9009\u5B9A\u7684\u52A8\u753B\u5E08\u548C\u9891\u9053\u7684\u9884\u8BBE","menu.texture":"\u7EB9\u7406","menu.texture.render_mode.default":"\u9ED8\u8BA4","menu.texture.merge_onto_texture":"\u5408\u5E76\u5230\u4E0A\u65B9\u7684\u7EB9\u7406\u4E0A","menu.animation.unload":"\u5378\u8F7D","panel.timeline":"\u65F6\u95F4\u7EBF","action.pan_tool":"\u5E73\u79FB\u5DE5\u5177","action.pan_tool.desc":"\u5728\u89C6\u53E3\u548C\u7EB9\u7406\u7F16\u8F91\u5668\u4E2D\u5BFC\u822A\u7684\u5DE5\u5177","mode.start.recent.favorite":"\u6807\u8BB0\u4E3A\u6536\u85CF","mode.start.info":"\u4FE1\u606F","mode.start.target":"\u76EE\u6807","mode.start.start":"\u5F00\u59CB","mode.start.create_new":"\u521B\u5EFA\u65B0\u6A21\u578B","mode.start.format.informations":"\u4F60\u77E5\u9053\u5417\uFF1A","mode.start.format.resources":"\u8D44\u6E90\uFF1A","format.free.info.meshes":"\u5728\u6B64\u683C\u5F0F\u4E2D\uFF0C\u60A8\u53EF\u4EE5\u4F7F\u7528\u7ACB\u65B9\u4F53\u548C\u81EA\u5B9A\u4E49\u5F62\u72B6\u7684\u7F51\u683C\u521B\u5EFA low poly \u6A21\u578B\u3002","format.free.info.limitation":"\u6A21\u578B\u65E0\u6CD5\u52A0\u8F7D\u5230\u9700\u8981\u7279\u6B8A\u683C\u5F0F\u7684\u6E38\u620F\u4E2D\uFF0C\u4F8B\u5982 Minecraft\u3002","format.skin.info.skin":"\u6B64\u683C\u5F0F\u65E8\u5728\u521B\u5EFA Minecraft \u76AE\u80A4\u548C\u5B9E\u4F53\u7EB9\u7406\u3002","format.skin.info.model":"\u65E0\u6CD5\u66F4\u6539\u6A21\u578B\u3002\u8981\u5BF9\u6A21\u578B\u8FDB\u884C\u66F4\u6539\uFF0C\u8BF7\u5148\u901A\u8FC7**\u6587\u4EF6**>**\u8F6C\u6362\u9879\u76EE**\u8F6C\u6362\u4E3A\u5176\u4ED6\u683C\u5F0F\u3002","format.java_block.info.rotation":"\u6BCF\u4E2A\u5143\u7D20\u7684\u65CB\u8F6C\u9650\u5236\u4E3A 22.5\xB0\uFF0C\u4E14\u4EC5\u5355\u4E2A\u8F74\u53EF\u65CB\u8F6C","format.java_block.info.size":"\u8BE5\u6A21\u578B\u5927\u5C0F\u9650\u5236\u4E3A 3x3x3 \u5757\u3002\u663E\u793A\u8BBE\u7F6E\u53EF\u4EE5\u4F7F\u7269\u54C1\u6A21\u578B\u66F4\u5927","format.java_block.info.animation":"\u539F\u7248 Minecraft \u4E0D\u652F\u6301\u6B64\u683C\u5F0F\u52A8\u753B\u3002\u5982\u679C\u4F60\u6B63\u5728\u521B\u5EFA\u4E00\u4E2A\u6A21\u7EC4\uFF0C\u5219\u53EF\u4F7F\u7528 GeckoLib \u5236\u4F5C\u6A21\u578B\u52A8\u753B\u3002\u5982\u679C\u6CA1\u6709\uFF0C\u5236\u4F5C\u52A8\u753B\u7684\u552F\u4E00\u65B9\u6CD5\u662F\u4F7F\u7528\u547D\u4EE4\u6216\u52A8\u753B\u7EB9\u7406\u5207\u6362\u6A21\u578B\u3002","format.bedrock.info.textures":"\u6BCF\u4E2A\u6A21\u578B\u53EA\u80FD\u6709\u4E00\u4E2A\u7EB9\u7406","format.bedrock_block":"Bedrock \u7248\u65B9\u5757","format.bedrock_block.desc":"Bedrock \u7248\u65B9\u5757\u6A21\u578B","format.modded_entity.info.integer_size":"\u5355\u4E2A\u7ACB\u65B9\u4F53\u7684\u5927\u5C0F\u4EC5\u9650\u4E8E\u6574\u6570\u3002","format.modded_entity.info.format":"\u6A21\u578B\u662F\u7528 Java \u4EE3\u7801\u7F16\u5199\u7684\uFF0C\u800C\u4E0D\u662F\u50CF\u6240\u6709\u5176\u4ED6 Blockbench \u5BFC\u51FA\u683C\u5F0F\u90A3\u6837\u7684\u4E13\u7528\u6570\u636E\u7ED3\u6784\u3002","format.optifine_entity.info.optifine_required":"\u672A\u5B89\u88C5 OptiFine \u7684\u7528\u6237\u5C06\u770B\u4E0D\u5230\u8BE5\u6A21\u578B\u3002","format.optifine_entity.info.pivots":"\u9AA8\u9ABC\u67A2\u8F74\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u6700\u597D\u4E0D\u8981\u89E6\u78B0\u5B83\u4EEC\u3002","format_category.low_poly":"\u4F4E\u591A\u8FB9\u5F62","format_category.minecraft":"Minecraft","format_category.other":"\u5176\u4ED6","format_category.loaders":"\u52A0\u8F7D\u7A0B\u5E8F","message.recover_backup.recover":"\u6062\u590D","message.invalid_characters.title":"\u65E0\u6548\u8DEF\u5F84","message.invalid_characters.message":"\u5BFC\u5165\u6587\u4EF6\u7684\u8DEF\u5F84\u5305\u542B\u65E0\u6548\u5B57\u7B26\u3001\u5927\u5199\u5B57\u6BCD\u6216\u7A7A\u683C\u3002 \u652F\u6301\u7684\u5B57\u7B26\u6709\uFF1A%0","dialog.share_model.thumbnail":"\u7F29\u7565\u56FE","dialog.skin.high_res_texture":"\u8BF7\u6CE8\u610F\uFF0C\u5177\u6709\u6240\u9009\u5206\u8FA8\u7387\u7684\u76AE\u80A4\u5C06\u65E0\u6CD5\u4F5C\u4E3A\u5E38\u89C4 Minecraft \u76AE\u80A4\u4F7F\u7528\u3002 \u9009\u62E9\u8F83\u4F4E\u7684\u5206\u8FA8\u7387\u3002","settings.allow_display_slot_mirror":"\u5141\u8BB8\u955C\u50CF\u526F\u624B\u680F","settings.allow_display_slot_mirror.desc":"\u5141\u8BB8\u5BF9 Java \u7248\u9879\u76EE\u6A21\u578B\u7684\u526F\u624B\u680F\u884C\u955C\u50CF\u3002 \u8B66\u544A\uFF1A\u6B64\u9009\u9879\u9002\u7528\u4E8E Minecraft 1.14 \u6216\u66F4\u65E9\u7248\u672C\u6216\u7279\u6B8A\u60C5\u51B5\u3002","action.switch_tabs":"\u5207\u6362\u9009\u9879\u5361","action.switch_tabs.desc":"\u5728\u6253\u5F00\u7684\u9009\u9879\u5361\u4E4B\u95F4\u5FAA\u73AF\u3002 \u6309\u4F4F shift \u4EE5\u53CD\u65B9\u5411\u5FAA\u73AF\u3002","action.unselect_all":"\u53D6\u6D88\u9009\u62E9","action.save_palette":"\u4FDD\u5B58\u8C03\u8272\u677F...","action.save_palette.desc":"\u5C06\u5F53\u524D\u8C03\u8272\u677F\u4FDD\u5B58\u5728 Blockbench \u4E2D\u4F9B\u4EE5\u540E\u4F7F\u7528","action.keyframe_column_create":"\u521B\u5EFA\u5173\u952E\u5E27\u5217","action.keyframe_column_create.desc":"\u5982\u679C\u5B83\u4EEC\u5DF2\u7ECF\u5177\u6709\u5173\u952E\u5E27\uFF0C\u5C06\u65F6\u95F4\u8F74\u4E2D\u7684\u6240\u6709\u901A\u9053\u6309\u5F53\u524D\u65F6\u95F4\u8FDB\u884C\u5173\u952E\u5E27","action.keyframe_column_select":"\u9009\u62E9\u5173\u952E\u5E27\u5217","action.keyframe_column_select.desc":"\u6CBF\u64AD\u653E\u952E\u4E0B\u65B9\u7684\u5217\uFF0C\u9009\u62E9\u65F6\u95F4\u8F74\u4E2D\u7684\u6240\u6709\u5173\u952E\u5E27","menu.uv":"UV","menu.keyframe":"\u5173\u952E\u5E27","menu.palette.load.update":"\u66F4\u65B0\u8C03\u8272\u677F","menu.palette.load.update.desc":"\u7528\u5F53\u524D Blockbench \u8C03\u8272\u677F\u7684\u989C\u8272\u66F4\u65B0\u6B64\u8C03\u8272\u677F","menu.timeline_marker.set_time":"\u8BBE\u7F6E\u65F6\u95F4...","uv_editor.scale_uv":"\u7F29\u653E UV","action.preview_scene":"\u9884\u89C8\u573A\u666F","action.preview_scene.desc":"\u66F4\u6539\u6A21\u578B\u9884\u89C8\u573A\u666F","preview_scene.minecraft_overworld":"\u4E3B\u4E16\u754C","preview_scene.minecraft_nether":"\u4E0B\u754C","preview_scene.minecraft_end":"\u672B\u5730","dialog.project.modded_entity_flip_y":"Y\u8F74\u7FFB\u8F6C","preview_scene.studio":"\u5DE5\u4F5C\u5BA4","format.image":"\u56FE\u50CF","modifier_actions.set_copy_source":"\u8BBE\u7F6E\u590D\u5236\u6E90","message.load_images.title":"\u52A0\u8F7D\u56FE\u50CF","message.load_images.edit_image":"\u7F16\u8F91\u56FE\u50CF","dialog.add_primitive.align_edges":"\u5BF9\u9F50\u8FB9\u7F18","dialog.flip_animation.show_in_timeline":"\u5728\u65F6\u95F4\u8F74\u4E2D\u663E\u793A\u4FEE\u6539\u540E\u7684\u9AA8\u9ABC","settings.default_cube_size":"\u9ED8\u8BA4\u65B9\u5757\u5927\u5C0F","settings.default_cube_size.desc":"\u521B\u5EFA\u65B0\u7ACB\u65B9\u4F53\u65F6\u8BBE\u7F6E\u9ED8\u8BA4\u7ACB\u65B9\u4F53\u5927\u5C0F","settings.uniform_keyframe":"\u7EDF\u4E00\u5173\u952E\u5E27\u6BD4\u4F8B","settings.uniform_keyframe.desc":"\u9ED8\u8BA4\u5C06\u7F29\u653E\u5173\u952E\u5E27\u8BBE\u7F6E\u4E3A\u7EDF\u4E00\u7F29\u653E","settings.nearest_rectangle_select":"\u77E9\u5F62\u9009\u62E9\uFF1A\u6700\u8FD1\u7684\u8FB9","settings.nearest_rectangle_select.desc":"\u5C06\u77E9\u5F62\u9009\u62E9\u6355\u6349\u5230\u6700\u8FD1\u7684\u50CF\u7D20\u8FB9\u7F18\uFF0C\u5C31\u50CF\u5728 GIMP \u4E2D\u4E00\u6837\uFF0C\u800C\u4E0D\u662F\u6574\u4E2A\u50CF\u7D20\u3002","settings.pick_color_opacity":"\u9009\u62E9\u989C\u8272\u4E0D\u900F\u660E\u5EA6","settings.pick_color_opacity.desc":"\u4F7F\u7528\u62FE\u8272\u5668\u9009\u62E9\u989C\u8272\u4E0D\u900F\u660E\u5EA6\u5E76\u5C06\u5176\u8BBE\u7F6E\u4E3A\u753B\u7B14\u4E0D\u900F\u660E\u5EA6","settings.paint_with_stylus_only":"\u4EC5\u4F7F\u7528\u89E6\u63A7\u7B14\u7ED8\u753B","settings.paint_with_stylus_only.desc":"\u4EC5\u4F7F\u7528\u89E6\u63A7\u7B14\u8FDB\u884C\u7ED8\u753B\u3001\u4FDD\u7559\u9F20\u6807\u6216\u89E6\u6478\u8F93\u5165\u8FDB\u884C\u5BFC\u822A\u3002","action.copy_brush_mode":"\u590D\u5236\u753B\u7B14\u6A21\u5F0F","action.copy_brush_mode.copy":"\u590D\u5236","action.copy_brush_mode.pattern":"\u56FE\u6848","action.copy_brush_mode.sample":"\u6837\u672C","action.brush_shape":"\u753B\u7B14\u5F62\u72B6","action.brush_shape.square":"\u65B9\u5F62","action.brush_shape.circle":"\u5706\u5F62","action.blend_mode":"\u6DF7\u5408\u6A21\u5F0F","action.blend_mode.default":"\u9ED8\u8BA4","action.blend_mode.set_opacity":"\u8BBE\u7F6E\u4E0D\u900F\u660E\u5EA6","action.blend_mode.color":"\u989C\u8272","action.blend_mode.behind":"\u80CC\u9762","action.blend_mode.multiply":"\u76F8\u4E58","action.blend_mode.divide":"\u5206\u5272","action.blend_mode.add":"\u6DFB\u52A0","action.blend_mode.subtract":"\u76F8\u51CF","action.blend_mode.screen":"\u5C4F\u5E55","action.blend_mode.overlay":"\u8986\u76D6","action.blend_mode.hard_light":"\u5F3A\u5149","action.blend_mode.difference":"\u5DEE\u5F02","action.copy_brush":"\u590D\u5236\u753B\u7B14","action.copy_brush.desc":"\u4F7F\u7528\u7B14\u5237\u6765\u590D\u5236\u7EB9\u7406\u7684\u4E00\u90E8\u5206\u6216\u7ED8\u5236\u56FE\u6848\u3002\u6309\u4F4F Ctrl \u5E76\u70B9\u51FB\u4EE5\u9009\u62E9\u590D\u5236\u6E90\u3002","action.validator_window":"\u67E5\u770B\u6A21\u578B\u95EE\u9898...","action.validator_window.desc":"\u6253\u5F00\u9A8C\u8BC1\u5668\uFF0C\u5217\u51FA\u5F53\u524D\u6A21\u578B\u7684\u95EE\u9898\u3002","action.cancel_gif":"\u53D6\u6D88 GIF","menu.text_edit.copy_vector":"\u590D\u5236\u5411\u91CF","menu.brush_presets.dialog":"\u753B\u7B14\u9884\u8BBE...","menu.brush_presets.pixel_brush":"\u50CF\u7D20\u753B\u7B14","menu.brush_presets.smooth_brush":"\u5E73\u6ED1\u753B\u7B14","menu.texture.edit_in_blockbench":"\u5728 Blockbench \u4E2D\u7F16\u8F91","menu.mirror_painting.axis":"\u8F74","menu.mirror_painting.axis.desc":"\u9009\u62E9\u5C06\u5728\u54EA\u4E2A\u8F74\u4E0A\u955C\u50CF\u63CF\u8FB9","menu.mirror_painting.global":"\u5168\u5C40\u5BF9\u79F0","menu.mirror_painting.global.desc":"\u5728\u5168\u5C40\u7A7A\u95F4\u4E2D\u7684\u6A21\u578B\u4E0A\u542F\u7528\u955C\u50CF\u7ED8\u5236","menu.mirror_painting.local":"\u5C40\u90E8\u5BF9\u79F0","menu.mirror_painting.local.desc":"\u5728\u672C\u5730\u7A7A\u95F4\u4E2D\u4E3A\u6BCF\u4E2A\u5143\u7D20\u542F\u7528\u955C\u50CF\u7ED8\u5236","menu.mirror_painting.texture_frames":"\u52A8\u753B\u7EB9\u7406\u5E27","menu.mirror_painting.texture_frames.desc":"\u5C06\u7B14\u753B\u955C\u50CF\u5230\u52A8\u753B\u7EB9\u7406\u7684\u6BCF\u4E00\u5E27","format.bedrock_block.info.size_limit":"\u5757\u7684\u603B\u5927\u5C0F\u5728\u6240\u6709\u7EF4\u5EA6\u4E0A\u9650\u5236\u4E3A 30 \u50CF\u7D20\u3002 \u4E0A\u7EBF\u6700\u591A\u53EF\u4EE5\u5728\u6240\u6709\u65B9\u5411\u4E0A\u504F\u79BB\u5757\u4E2D\u5FC3 7 \u4E2A\u50CF\u7D20\u3002","format.bedrock_block.info.textures":"\u5728 Blockbench \u4E2D\uFF0C\u53EF\u4EE5\u5C06\u591A\u79CD\u7EB9\u7406\u5E94\u7528\u4E8E\u4E0D\u540C\u7684\u7ACB\u65B9\u4F53\uFF0C\u4F46\u9700\u8981\u5728\u884C\u4E3A\u5305\u4E2D\u8FDB\u884C\u989D\u5916\u7684\u8BBE\u7F6E\u624D\u80FD\u5728\u6E38\u620F\u4E2D\u6B63\u5E38\u5DE5\u4F5C\u3002","format.image.desc":"\u5728 2D \u56FE\u50CF\u7F16\u8F91\u5668\u4E2D\u7F16\u8F91\u56FE\u50CF","generic.delete_all":"\u5220\u9664\u6240\u6709","message.child_model_only.open":"\u6253\u5F00\u7236\u7EA7","message.child_model_only.open_with_textures":"\u6253\u5F00\u7236\u9879\u5E76\u5E94\u7528\u7EB9\u7406","dialog.project.credit":"\u5236\u4F5C\u4FE1\u606F","dialog.convert_project.create_copy":"\u521B\u5EFA\u526F\u672C","dialog.texture.frame_time":"\u5E27\u65F6\u95F4","dialog.texture.frame_time.desc":"\u8BBE\u7F6E\u6BCF\u5E27\u53EF\u89C1\u7684\u65F6\u957F\uFF0C\u4EE5\u523B\u5EA6\u4E3A\u5355\u4F4D\u3002 \u6BCF\u4E2A\u523B\u5EA6\u4E3A 1/20 \u79D2\u3002","dialog.texture.frame_interpolate":"\u63D2\u5165","dialog.texture.frame_interpolate.desc":"\u5728\u4E0B\u4E00\u4E2A\u52A8\u753B\u5E27\u4E4B\u524D\u63D2\u5165\u6DE1\u5165\u6DE1\u51FA","dialog.texture.frame_order_type":"\u5FAA\u73AF\u6A21\u5F0F","dialog.texture.frame_order_type.loop":"\u5FAA\u73AF","dialog.texture.frame_order_type.backwards":"\u53CD\u5411\u5FAA\u73AF","dialog.texture.frame_order_type.back_and_forth":"\u5F80\u8FD4\u5FAA\u73AF","dialog.texture.frame_order_type.custom":"\u81EA\u5B9A\u4E49\u987A\u5E8F","dialog.texture.frame_order":"\u5E27\u987A\u5E8F","dialog.texture.frame_order.desc":"\u901A\u8FC7\u6309\u65B0\u987A\u5E8F\u5217\u51FA\u5E27\u7D22\u5F15\u6765\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u5E27\u987A\u5E8F\u3002 \u7B2C\u4E00\u5E27\u7684\u5E27\u7D22\u5F15\u4ECE 0 \u5F00\u59CB\u3002","dialog.select.mode":"\u6A21\u5F0F","dialog.select.mode.new":"\u65B0\u9009\u62E9","dialog.select.mode.add":"\u6DFB\u52A0\u5230\u5DF2\u9009\u62E9","dialog.select.mode.remove":"\u4ECE\u5DF2\u9009\u62E9\u79FB\u9664","dialog.select.mode.in_selection":"\u4EC5\u4ECE\u5DF2\u9009\u62E9\u5185\u5BB9\u4E2D\u9009\u62E9","dialog.predicate_overrides.model":"\u6A21\u578B","dialog.predicate_overrides.predicates":"\u8C13\u8BCD","dialog.predicate_overrides.variants":"\u53D8\u4F53","dialog.predicate_overrides.start_value":"\u5F00\u59CB","dialog.predicate_overrides.add_override":"\u6DFB\u52A0\u8986\u5199","dialog.predicate_overrides.add_predicate":"\u6DFB\u52A0\u8C13\u8BCD","dialog.predicate_overrides.generate_overrides":"\u751F\u6210\u8986\u5199","dialog.predicate_overrides.confirm_delete":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6240\u6709\u8986\u5199\u5417\uFF1F","dialog.predicate_overrides.predicate.angle":"\u6307\u5357\u9488\u89D2\u5EA6","dialog.predicate_overrides.predicate.blocking":"\u5DF2\u906E\u6321","dialog.predicate_overrides.predicate.broken":"\u5DF2\u635F\u574F","dialog.predicate_overrides.predicate.cast":"\u5DF2\u65BD\u51FA","dialog.predicate_overrides.predicate.cooldown":"\u51B7\u5374\u4E2D","dialog.predicate_overrides.predicate.damage":"\u635F\u574F","dialog.predicate_overrides.predicate.damaged":"\u5DF2\u635F\u574F","dialog.predicate_overrides.predicate.lefthanded":"\u5DE6\u624B","dialog.predicate_overrides.predicate.pull":"\u62C9\u4F38\u503C","dialog.predicate_overrides.predicate.pulling":"\u6B63\u5728\u62C9\u4F38","dialog.predicate_overrides.predicate.charged":"\u5DF2\u62C9\u5F00","dialog.predicate_overrides.predicate.firework":"\u6709\u706B\u7BAD","dialog.predicate_overrides.predicate.throwing":"\u51C6\u5907\u597D\u6295\u63B7","dialog.predicate_overrides.predicate.time":"\u5F53\u65E5\u65F6\u95F4","dialog.predicate_overrides.predicate.custom_model_data":"\u81EA\u5B9A\u4E49\u6A21\u578B\u4FE1\u606F","dialog.predicate_overrides.predicate.level":"\u5149\u7167\u5F3A\u5EA6","dialog.predicate_overrides.predicate.filled":"\u6536\u7EB3\u888B\u88C5\u6EE1\u7A0B\u5EA6","dialog.predicate_overrides.predicate.tooting":"\u561F\u561F","settings.model_export_scale":"\u6A21\u578B\u5BFC\u51FA\u6BD4\u4F8B","settings.model_export_scale.desc":"\u5BFC\u51FA glTF\u3001DAE \u548C FBX \u6A21\u578B\u7684\u7F29\u653E\u6BD4\u4F8B\u3002\u9ED8\u8BA4\u4E3A 16\uFF0C\u5373\u5728\u5BFC\u51FA\u65F6\u5C06 16 \u4E2A Blockbench \u5355\u4F4D\u8F6C\u6362\u4E3A 1 \u7C73\u3002","action.export_fbx":"\u5BFC\u51FA FBX \u6A21\u578B","action.export_fbx.desc":"\u5C06\u6A21\u578B\u548C\u52A8\u753B\u5BFC\u51FA\u4E3A FBX \u6587\u4EF6\u4EE5\u5728\u5176\u4ED6 3D \u5E94\u7528\u7A0B\u5E8F\u548C\u6E38\u620F\u5F15\u64CE\u4E2D\u4F7F\u7528","action.center_lateral":"\u4E2D\u592E\u6A2A\u5411","action.center_lateral.desc":"\u5728 X \u548C Z \u8F74\u4E0A\u5C06\u6240\u9009\u5143\u7D20\u5C45\u4E2D","action.adjust_opacity":"\u8C03\u6574\u4E0D\u900F\u660E\u5EA6...","action.adjust_opacity.desc":"\u8C03\u6574\u6240\u9009\u7EB9\u7406\u7684\u4E0D\u900F\u660E\u5EA6","action.rotate_texture_cw":"\u987A\u65F6\u9488\u65CB\u8F6C\u7EB9\u7406","action.rotate_texture_ccw":"\u9006\u65F6\u9488\u65CB\u8F6C\u7EB9\u7406","action.predicate_overrides":"\u7F16\u8F91\u8C13\u8BCD\u8986\u5199...","action.predicate_overrides.desc":"\u6839\u636E\u6240\u9009\u6761\u4EF6\u9009\u62E9\u6A21\u578B\u4EE5\u8986\u76D6\u539F\u6A21\u578B","action.auto_set_cullfaces":"\u8BBE\u7F6E\u81EA\u52A8\u5254\u9664\u9762","action.auto_set_cullfaces.desc":"\u5F53\u9762\u88AB\u76F8\u90BB\u5757\u8986\u76D6\u65F6\uFF0C\u81EA\u52A8\u5254\u9664\u9762\u4EE5\u9690\u85CF\u9762\u3002","menu.texture.edit_externally":"\u5916\u90E8\u7F16\u8F91","menu.mirror_painting.texture":"2D \u7F16\u8F91\u5668\u5BF9\u79F0\u6027","menu.mirror_painting.texture.desc":"\u5728\u56FE\u50CF\u6216\u7EB9\u7406\u7684 2D \u7A7A\u95F4\u4E2D\u542F\u7528\u955C\u50CF\u7ED8\u5236","menu.animator.rotation_global":"\u5728\u5168\u5C40\u7A7A\u95F4\u4E2D\u65CB\u8F6C","uv_editor.face_properties":"\u9762\u5C5E\u6027","uv_editor.face_properties.material_instance":"\u6750\u8D28\u5B9E\u4F8B","uv_editor.tint.info":"\u542F\u7528\u7740\u8272\u53EF\u4EE5\u8BA9 Minecraft \u8FDB\u884C\u76F8\u5E94\u9762\u7684\u7740\u8272\u5904\u7406\u3002\u539F\u7248\u4EC5\u80FD\u5BF9\u7279\u5B9A\u65B9\u5757\u6216\u7269\u54C1\u8FDB\u884C\u7740\u8272\uFF0C\u4F8B\u5982\u6811\u53F6\u5757\u3001\u7EA2\u77F3\u7C89\uFF0C\u4E14\u503C\u4EC5\u80FD\u4E3A 0\u3002","uv_editor.cullface.info":"\u542F\u7528\u5254\u9664\u9762\u53EF\u4EE5\u8BA9\u6B64\u65B9\u5757\u7684\u9762\u5728\u7279\u5B9A\u65B9\u5411\u5B58\u5728\u76F8\u90BB\u65B9\u5757\u65F6\u4E0D\u8FDB\u884C\u6E32\u67D3\u3002\u8FD9\u53EF\u4EE5\u7528\u6765\u4F18\u5316\u6E38\u620F\u6027\u80FD\u3002","uv_editor.material_instance.info":"\u6750\u8D28\u5B9E\u4F8B\u53EF\u4EE5\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u540D\u79F0\u3002\u8BE5\u540D\u79F0\u53EF\u4EE5\u5728\u884C\u4E3A\u5305\u4E2D\u7684 JSON \u6587\u4EF6\u4E2D\u4F7F\u7528\uFF0C\u4EE5\u4FBF\u4E3A\u7279\u70B9\u7684\u9762\u6307\u5B9A\u7279\u5B9A\u7684\u7EB9\u7406\u548C\u6750\u8D28\u3002","display.reference.frame_invisible":"\u7269\u54C1\u5C55\u793A\u6846\uFF08\u9690\u5F62\uFF09","data.settings_profile":"\u914D\u7F6E","message.display_skin.invalid_name":"\u627E\u4E0D\u5230\u540D\u4E3A \u201C%0\u201D \u7684 Minecraft \u8D26\u53F7\u3002","dialog.load_plugins_from_query.title":"\u52A0\u8F7D\u63D2\u4EF6","dialog.load_plugins_from_query.text":"\u6B64\u94FE\u63A5\u7684\u63D2\u4EF6\u9700\u8981\u88AB\u5B89\u88C5\u3002\u60A8\u786E\u5B9A\u8981\u5B89\u88C5\u6B64\u63D2\u4EF6\u5417\uFF1F","dialog.select_model.title":"\u9009\u62E9\u6A21\u578B","dialog.select_model.bones":"\u9AA8\u9ABC","dialog.select_model.cubes":"\u591A\u7ACB\u65B9","dialog.settings.create_profile":"\u521B\u5EFA\u914D\u7F6E...","settings_profile.confirm_delete":"\u786E\u5B9A\u5220\u9664\u6B64\u914D\u7F6E\uFF1F","settings_profile.condition.type.selectable":"\u624B\u52A8\u53EF\u9009","settings.interface_mode":"UI \u6A21\u5F0F","settings.interface_mode.desc":"\u7528\u6237\u754C\u9762\u6A21\u5F0F\u3002\u91CD\u65B0\u542F\u52A8 Blockbench \u4EE5\u5E94\u7528\u6539\u52A8","settings.interface_mode.auto":"\u81EA\u52A8","settings.interface_mode.desktop":"\u684C\u9762","settings.interface_mode.mobile":"\u79FB\u52A8\u8BBE\u5907","settings.paint_through_transparency":"\u7A7F\u8FC7\u900F\u660E\u90E8\u5206\u7ED8\u753B","settings.paint_through_transparency.desc":"\u5F53 Alpha \u901A\u9053\u9501\u5B9A\u65F6\uFF0C\u7B14\u5237\u5C06\u7A7F\u900F\u900F\u660E\u7684\u533A\u57DF","action.tab_overview":"\u6807\u7B7E\u9875\u603B\u89C8","action.tab_overview.desc":"\u67E5\u770B\u6240\u6709\u6253\u5F00\u7684\u6807\u7B7E\u9875\u5E76\u8DF3\u8F6C\u81F3\u5176\u4E2D\u4E00\u4E2A","action.slider_color_red":"\u7EA2\u8272","action.slider_color_green":"\u7EFF\u8272","action.slider_color_blue":"\u84DD\u8272","action.add_animation_controller":"\u52A0\u5165\u52A8\u4F5C\u63A7\u5236\u5668","action.add_animation_controller.desc":"\u521B\u5EFA\u52A8\u4F5C\u63A7\u5236\u5668","action.animation_controller_preview_mode":"\u9884\u89C8","action.animation_controller_preview_mode.paused":"\u5DF2\u6682\u505C","action.animation_controller_preview_mode.manual":"\u624B\u52A8\u9884\u89C8","action.animation_controller_preview_mode.play":"\u81EA\u52A8\u64AD\u653E","action.keyframe_interpolation.bezier":"\u8D1D\u585E\u5C14","action.keyframe_bezier_linked":"\u8FDE\u63A5\u8D1D\u585E\u5C14\u624B\u67C4","action.keyframe_bezier_linked.desc":"\u8FDE\u63A5\u5DE6\u548C\u53F3\u5173\u952E\u5E27\u7684\u8D1D\u585E\u5C14\u624B\u67C4","action.reset_keyframe_handles":"\u91CD\u7F6E\u5173\u952E\u5E27\u624B\u67C4","action.reset_keyframe_handles.desc":"\u91CD\u7F6E\u5DF2\u9009\u4E2D\u5173\u952E\u5E27\u7684\u8D1D\u585E\u5C14\u624B\u67C4","action.looped_animation_playback":"\u5FAA\u73AF\u64AD\u653E","action.looped_animation_playback.desc":"\u65E0\u9650\u5FAA\u73AF\u9884\u89C8\u52A8\u753B","timeline.bind_to_actor":"\u7ED1\u5B9A\u4E8E\u6F14\u5458","animation_controllers.select_preset":"\u9009\u62E9\u63A7\u5236\u5668\u9884\u8BBE...","animation_controllers.state.animations":"\u52A8\u753B","animation_controllers.state.particles":"\u7C92\u5B50","animation_controllers.state.sounds":"\u97F3\u6548","animation_controllers.state.on_entry":"\u8FDB\u5165\u65F6","animation_controllers.state.on_exit":"\u9000\u51FA\u65F6","animation_controllers.state.transitions":"\u8FC7\u6E21\u52A8\u753B","animation_controllers.state.condition":"\u6761\u4EF6","animation_controllers.state.blend_transition":"\u6DF7\u5408\u65F6\u95F4","animation_controllers.state.shortest_path":"\u6309\u6700\u77ED\u7684\u8DEF\u5F84\u6DF7\u5408","animation_controllers.state.edit_transition":"\u7F16\u8F91\u8FC7\u6E21\u52A8\u753B","menu.color_picker.picker_type":"\u62FE\u8272\u5668\u7C7B\u578B","menu.color_picker.picker_type.square":"\u6B63\u65B9\u5F62","menu.color_picker.picker_type.wheel":"\u5706\u8F6E","menu.color_picker.slider_mode":"\u6ED1\u5757\u6A21\u5F0F","menu.color_picker.slider_mode.hsv":"\u8272\u76F8\u3001\u9971\u548C\u5EA6\u3001\u660E\u5EA6","menu.color_picker.slider_mode.rgb":"RGB","menu.texture.render_mode.additive":"\u6DFB\u52A0","panel.color.picker_options":"\u53D6\u8272\u5668\u8BBE\u7F6E","panel.animation_controllers":"\u52A8\u753B\u63A7\u5236\u5668","display.preset.armor_stand":"\u5730\u9762\uFF08\u76D4\u7532\u67B6\uFF09","data.file_path":"\u6587\u4EF6\u8DEF\u5F84","dialog.extrude.orientation":"\u5750\u6807\u7CFB","dialog.extrude.orientation.upright":"\u76F4\u7ACB","dialog.extrude.orientation.flat":"\u5E73\u5766","dialog.scale.box_uv_warning":"\u7F29\u653E\u7BB1\u578B UV \u53EF\u80FD\u4F1A\u7834\u574F\u6A21\u578B UV\u3002\u76F8\u53CD\uFF0C\u8BF7\u5C1D\u8BD5\u5728\u5916\u90E8\u7F29\u653E\u4F60\u7684\u6A21\u578B\uFF0C\u6216\u8005\u5728\u201C\u6587\u4EF6\u201D > \u201C\u9879\u76EE\u201D\u4E2D\u5207\u6362\u5230\u9010\u9762 UV \u6A21\u5F0F\u3002","dialog.create_gif.format":"\u683C\u5F0F","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG \u5E8F\u5217","dialog.create_gif.pixelate":"\u50CF\u7D20\u5316","dialog.create_gif.bg_image":"\u80CC\u666F\u56FE\u7247","dialog.create_gif.turn.desc":"\u5728\u5F55\u5236\u4E2D\u65CB\u8F6C\u6A21\u578B\u3002\u4F7F\u7528\u8D1F\u6570\u503C\u987A\u65F6\u9488\u65CB\u8F6C\u300260 \u76F8\u5F53\u4E8E\u6BCF\u79D2\u65CB\u8F6C\u4E00\u5468\u3002","settings_profile.condition":"\u6761\u4EF6","settings_profile.condition.type.file_path.desc":"\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u8BED\u6CD5\u4EE5\u5BF9\u5E94\u5F53\u524D\u9879\u76EE\u7684\u6587\u4EF6\u8DEF\u5F84\u3002\u4F7F\u7528\u6B63\u659C\u6760\u6807\u6CE8\u76EE\u5F55","settings.only_selected_bezier_handles":"\u4EC5\u663E\u793A\u6240\u9009\u8D1D\u585E\u5C14\u624B\u67C4","settings.only_selected_bezier_handles.desc":"\u9690\u85CF\u672A\u9009\u4E2D\u7684\u8D1D\u585E\u5C14\u624B\u67C4","settings.embed_textures":"\u5D4C\u5165\u7EB9\u7406","settings.embed_textures.desc":"\u5D4C\u5165\u7EB9\u7406\u5230 .bbmodel \u5DE5\u7A0B\u6587\u4EF6","action.selection_mode.cluster":"\u7EC4","dialog.copied_to_clipboard":"\u590D\u5236\u5230\u526A\u8D34\u677F","data.reference_image":"\u53C2\u8003\u56FE\u50CF","message.delete_reference_image":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u53C2\u8003\u56FE\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002","message.add_reference_image.message":"\u9009\u62E9\u53C2\u8003\u56FE\u8981\u52A0\u8F7D\u7684\u4F4D\u7F6E","message.add_reference_image.project":"\u6DFB\u52A0\u81F3\u5F53\u524D\u9879\u76EE","message.add_reference_image.app":"\u6DFB\u52A0\u81F3\u6240\u6709\u9879\u76EE","message.import_particle_texture.import":"\u5BFC\u5165\u7C92\u5B50\u6750\u8D28","message.import_particle_texture.message":"\u4F60\u8981\u4E3A\u7C92\u5B50\u5BFC\u5165\u7EB9\u7406\u6587\u4EF6\u5417?","message.save_codec_selector.title":"\u4FDD\u5B58\u6A21\u578B\u683C\u5F0F","message.save_codec_selector.message":"\u9009\u62E9\u4FDD\u5B58\u6A21\u578B\u7684\u683C\u5F0F\u3002","message.save_codec_selector.project_file":"Blockbench \u9879\u76EE\uFF08.bbmodel\uFF09","message.save_codec_selector.both":"\u90FD","message.display_skin.username":"\u7528\u6237\u540D\uFF08JAVA\uFF09","message.palette_locked":"\u8C03\u8272\u677F\u5DF2\u9501\u5B9A","dialog.project.default_uv_mode":"\u9ED8\u8BA4 UV \u6A21\u5F0F","dialog.project.default_uv_mode.description":"\u6B64\u9879\u76EE\u7684\u9ED8\u8BA4 UV \u6A21\u5F0F\u3002\u6BCF\u4E2A\u5757\u90FD\u53EF\u4EE5\u66F4\u6539 UV \u6A21\u5F0F\u3002","dialog.export_options.title":"\u5BFC\u51FA\u9009\u9879","dialog.edit_texture.preview":"\u9884\u89C8","dialog.proportional_editing.range":"\u8303\u56F4","dialog.proportional_editing.falloff":"\u8870\u51CF\u65B9\u5F0F","dialog.proportional_editing.falloff.linear":"\u7EBF\u6027","dialog.proportional_editing.falloff.hermite_spline":"\u5E73\u6ED1","dialog.proportional_editing.falloff.constant":"\u56FA\u5B9A","dialog.proportional_editing.selection":"\u9009\u62E9","dialog.proportional_editing.selection.linear":"\u7EBF\u6027\u8DDD\u79BB","dialog.proportional_editing.selection.connections":"\u8854\u63A5","dialog.mirror_painting_texture_center.middle":"\u4E2D\u95F4","dialog.mirror_painting_texture_center.custom":"\u81EA\u5B9A\u4E49","dialog.settings.reset_to_default":"\u91CD\u7F6E\u81F3\u539F\u503C","keybindings.item.num_slider.increase":"\u589E\u52A0","keybindings.item.num_slider.decrease":"\u51CF\u5C11","settings.always_show_splash_art":"\u59CB\u7EC8\u663E\u793A\u5F00\u5C4F\u753B\u9762","settings.always_show_splash_art.desc":"\u59CB\u7EC8\u663E\u793A\u5F00\u59CB\u754C\u9762\u7684\u5F00\u5C4F\u753B\u9762","action.slider_palette_color":"\u5207\u6362\u8C03\u8272\u677F\u989C\u8272","action.slider_palette_color.desc":"\u5FAA\u73AF\u5207\u6362\u8C03\u8272\u677F\u4E2D\u989C\u8272","action.proportional_editing":"\u8870\u51CF\u7F16\u8F91","action.proportional_editing.desc":"\u5728\u8C03\u6574\u6A21\u578B\u90E8\u5206\u65F6\u540C\u65F6\u6309\u6BD4\u4F8B\u5F71\u54CD\u5468\u8FB9\u9876\u70B9","action.limit_to_palette":"\u9650\u5236\u4E3A\u8C03\u8272\u677F\u5185\u989C\u8272","action.limit_to_palette.desc":"\u9650\u5236\u6750\u8D28\u4E2D\u7684\u989C\u8272\u4E3A\u73B0\u6709\u8C03\u8272\u677F\u4E2D\u989C\u8272","action.edit_reference_images":"\u7F16\u8F91\u53C2\u8003\u56FE\u50CF","action.edit_reference_images.desc":"\u6253\u5F00\u53C2\u8003\u56FE\u50CF\u6A21\u5F0F\u4EE5\u6DFB\u52A0\u6216\u7F16\u8F91\u53C2\u8003\u56FE\u548C\u84DD\u56FE","action.add_reference_image":"\u6DFB\u52A0\u53C2\u8003\u56FE\u50CF","action.reference_image_from_clipboard":"\u4ECE\u526A\u8D34\u677F\u8BFB\u53D6\u53C2\u8003\u56FE\u50CF","action.reference_image_list":"\u53C2\u8003\u56FE\u50CF","action.connect_uv_faces":"\u8FDE\u63A5 UV \u9762","action.connect_uv_faces.desc":"\u5C06\u9009\u4E2D\u7684 UV \u9762\u8FDE\u63A5\u4E8E\u4E0A\u6B21\u9009\u4E2D\u7684 UV \u9762","action.merge_uv_vertices":"\u5408\u5E76 UV \u9876\u70B9","action.merge_uv_vertices.desc":"\u5C06\u9996\u5148\u9009\u4E2D\u7684 UV \u9876\u70B9\u5BF9\u5176\u4E8E\u6700\u540E\u9009\u4E2D\u7684 UV \u9876\u70B9","action.bedrock_animation_mode":"Bedrock \u7248\u52A8\u753B\u6A21\u5F0F","action.bedrock_animation_mode.desc":"\u9009\u4E2D\u4E3A Minecraft: Bedrock \u7248\u7F16\u8F91\u52A8\u753B\u7684\u6A21\u5F0F","action.bedrock_animation_mode.entity":"\u5B9E\u4F53","action.bedrock_animation_mode.attachable_first":"\u7269\u54C1\u7B2C\u4E00\u4EBA\u79F0","action.bedrock_animation_mode.attachable_third":"\u7269\u54C1\u7B2C\u4E09\u4EBA\u79F0","timeline.amplify":"\u653E\u5927","menu.options":"\u9009\u9879...","menu.palette.lock_palette":"\u9501\u5B9A\u8C03\u8272\u677F","menu.uv.export":"\u5BFC\u51FA UV \u7EB9\u7406\u6620\u5C04","menu.uv.flip_x":"\u53CD\u8F6C X \u8F74","menu.uv.flip_y":"\u53CD\u8F6C Y \u8F74","menu.mirror_painting.enabled":"\u542F\u7528","reference_image.position":"\u4F4D\u7F6E","reference_image.size":"\u5C3A\u5BF8","reference_image.rotation":"\u65CB\u8F6C","reference_image.opacity":"\u900F\u660E\u5EA6","reference_image.visibility":"\u53EF\u89C1","reference_image.clear_mode":"\u660E\u6670\u6A21\u5F0F","reference_image.layer":"\u5C42\u7EA7","reference_image.layer.background":"\u7F6E\u4E8E\u6A21\u578B\u4E0B\u65B9","reference_image.layer.viewport":"\u7F6E\u4E8E\u6A21\u578B\u4E0A\u65B9","reference_image.layer.float":"\u7F6E\u4E8E\u754C\u9762\u4E0A\u65B9","reference_image.scope":"\u8303\u56F4","reference_image.scope.project":"\u6B64\u9879\u76EE","reference_image.scope.global":"\u5168\u90E8\u9879\u76EE","reference_image.enabled_modes":"\u5728\u6A21\u578B\u4E2D\u542F\u7528","codec.common.encoding":"\u7F16\u7801","codec.common.armature":"\u5C06\u5206\u7EC4\u4F5C\u4E3A\u9AA8\u67B6\u5BFC\u51FA","codec.common.export_animations":"\u5BFC\u51FA\u52A8\u4F5C","codec.common.embed_textures":"\u5185\u5D4C\u7EB9\u7406","preview.center_camera":"\u76F8\u673A\u5C45\u4E2D","display.reference.frame_top":"\u8868\u9762\u5C55\u793A\u6846","display.reference.frame_top_invisible":"\u8868\u9762\u5C55\u793A\u6846\uFF08\u9690\u5F62\uFF09","action.proportional_editing_range":"\u7B49\u6BD4\u4F8B\u7F16\u8F91\u8303\u56F4","action.proportional_editing_range.desc":"\u8C03\u6574\u7B49\u6BD4\u4F8B\u7F16\u8F91\u7684\u8303\u56F4","action.toggle_all_reference_images":"\u9690\u85CF/\u5C55\u793A\u5168\u90E8\u53C2\u8003\u56FE","action.toggle_all_reference_images.desc":"\u540C\u65F6\u9690\u85CF/\u5C55\u793A\u5168\u90E8\u53C2\u8003\u56FE","action.add_animation_controller_state":"\u589E\u52A0\u52A8\u753B\u63A7\u5236\u72B6\u6001","action.add_animation_controller_state.desc":"\u4E3A\u52A8\u753B\u63A7\u5236\u589E\u52A0\u65B0\u72B6\u6001","menu.slider.round_value":"\u820D\u5165\u503C","texture.error.too_large":"\u5206\u8FA8\u7387\u8D85\u8D8A\u4E86\u6700\u5927\u5C3A\u5BF8 %0","dialog.copy_to_clipboard":"\u590D\u5236\u5230\u526A\u5207\u677F\u4E2D","dialog.open_url":"\u6253\u5F00 URL \u94FE\u63A5","reference_image.image":"\u56FE\u50CF","uv_editor.rotate_uv":"\u65CB\u8F6C UV","generic.error":"\u9519\u8BEF","projects.start_screen":"\u542F\u52A8\u753B\u9762","message.invalid_link.message":"\u4F60\u4F01\u56FE\u52A0\u8F7D\u7684\u5206\u4EAB\u6A21\u578B\u201C%0\u201D\u53EF\u80FD\u65E0\u6548\u6216\u5DF2\u8FC7\u671F\u3002","message.plugin_dependencies.title":"\u63D2\u4EF6\u4F9D\u8D56","message.plugin_dependencies.message1":"\u63D2\u4EF6\u9700\u8981\u524D\u7F6E\uFF1A","message.plugin_dependencies.message1_update":"\u63D2\u4EF6\u5DF2\u88AB\u66F4\u65B0\u5E76\u9700\u8981\u524D\u7F6E\uFF1A","message.plugin_dependencies.message2":"\u4F60\u662F\u5426\u8981\u5B89\u88C5\u5B83\u4EEC\u5E76\u7EE7\u7EED\uFF1F","message.plugin_dependencies.invalid":"\u63D2\u4EF6\u65E0\u6CD5\u88AB\u5B89\u88C5\uFF0C\u65E0\u6548\u524D\u7F6E\uFF1A","message.preview_scene_load_failed":"\u65E0\u6CD5\u52A0\u8F7D\u9884\u89C8\u573A\u666F\u3002\u68C0\u67E5\u4E92\u8054\u7F51\u8FDE\u63A5\u3002","dialog.convert_project.text1":"\u5C06\u9879\u76EE\u8F6C\u5316\u4E3A\u53E6\u4E00\u683C\u5F0F\u3002","dialog.convert_project.text2":"\u8BF7\u8C28\u614E\u8F6C\u5316\u3002\u4E0D\u540C\u683C\u5F0F\u6709\u7740\u4E0D\u540C\u529F\u80FD\u53CA\u9650\u5236\uFF0C\u67D0\u4E9B\u8F6C\u5316\u5C06\u7834\u574F\u90E8\u5206\u9879\u76EE\u3002","dialog.convert_project.text3":"\u4F60\u65E0\u6CD5\u64A4\u9500\u8F6C\u5316\uFF0C\u56E0\u6B64\u9ED8\u8BA4\u60C5\u51B5\u4E0B\u5C06\u4F1A\u590D\u5236\u4E00\u4EFD\u526F\u672C\u3002","dialog.unsaved_work.title":"\u672A\u4FDD\u5B58\u7684\u53D8\u66F4","dialog.unsaved_work.text":"\u4EE5\u4E0B\u9879\u76EE\u6709\u672A\u4FDD\u5B58\u7684\u53D8\u66F4\u3002\u662F\u5426\u4FDD\u5B58\u66F4\u6539\uFF1F","dialog.unsaved_work.discard_all":"\u5168\u90FD\u4E22\u5F03","dialog.unsaved_work.save_all":"\u5168\u90FD\u4FDD\u5B58","dialog.resize_texture.mode":"\u6A21\u5F0F","dialog.resize_texture.mode.crop":"\u88C1\u5207/\u6269\u5C55","dialog.resize_texture.mode.scale":"\u7F29\u653E","dialog.plugins.is_installed":"\u5DF2\u5B89\u88C5","dialog.plugins.is_disabled":"\u5DF2\u7981\u7528","dialog.plugins.disable":"\u7981\u7528","dialog.plugins.enable":"\u542F\u7528","dialog.plugins.dependencies":"\u4F9D\u8D56\u4E8E\uFF1A","dialog.view_backups.open_folder":"\u6253\u5F00\u6587\u4EF6\u5939","dialog.share_model.reference_images":"\u5305\u62EC\u53C2\u8003\u56FE\u50CF","dialog.share_model.too_large":"\u4E0A\u4F20\u5931\u8D25\uFF1A\u6A21\u578B\u8FC7\u5927","dialog.share_model.too_large_references":"\u4E0A\u4F20\u5931\u8D25\uFF1A\u6A21\u578B\u8FC7\u5927\u3002\u8BF7\u53D6\u6D88\u53C2\u8003\u56FE\u50CF\u5E76\u518D\u6B21\u5C1D\u8BD5\u3002","settings.stretch_linked":"\u8FDE\u9501\u62C9\u4F38","settings.stretch_linked.desc":"\u5C06\u7ACB\u65B9\u4F53\u5411\u5404\u65B9\u5411\u62C9\u4F38\u76F8\u540C\u503C","settings.grids":"\u663E\u793A\u7F51\u683C","settings.grids.desc":"\u663E\u793A\u8FD8\u662F\u9690\u85CF\u5168\u90E8 3D \u7F51\u683C","settings.double_click_switch_tools":"\u53CC\u51FB\u65F6\u5207\u6362\u5DE5\u5177","settings.double_click_switch_tools.desc":"\u53CC\u51FB\u89C6\u53E3\u4EE5\u5207\u6362\u5DE5\u5177","settings.outlines_in_paint_mode":"\u5728\u7ED8\u5236\u6A21\u5F0F\u4E0B\u9009\u62E9\u8F6E\u5ED3","settings.outlines_in_paint_mode.desc":"\u5728\u7ED8\u5236\u6A21\u5F0F\u4E0B\u663E\u793A\u6240\u9009\u5143\u7D20\u7684\u8F6E\u5ED3","settings.json_indentation":"JSON \u9996\u884C\u7F29\u8FDB","settings.json_indentation.desc":"\u5BFC\u51FA\u7684 JSON \u6587\u4EF6\u4F7F\u7528\u9996\u884C\u7F29\u8FDB\u683C\u5F0F","settings.json_indentation.tabs":"\u5236\u8868\u7B26","settings.json_indentation.spaces_4":"\u7A7A\u683C\uFF1A4","settings.json_indentation.spaces_2":"\u7A7A\u683C\uFF1A2","action.slider_stretch":"\u62C9\u4F38","action.slider_stretch.desc":"\u5C06\u7ACB\u65B9\u4F53\u6CBF\u8F74\u6210\u500D\u62C9\u4F38\u800C\u4E0D\u6539\u53D8\u5176 UV","action.view_backups":"\u67E5\u770B\u5907\u4EFD","action.view_backups.desc":"\u6D4F\u89C8\u81EA\u52A8\u4FDD\u5B58\u7684\u9879\u76EE\u5907\u4EFD\u5217\u8868","action.search_outliner":"\u641C\u7D22\u5927\u7EB2","action.search_outliner.desc":"\u5728\u5927\u7EB2\u4E2D\u4EE5\u5173\u952E\u8BCD\u68C0\u7D22\u5143\u7D20\u540D\u79F0","action.mirror_modeling":"\u955C\u50CF\u7F16\u8F91\u6A21\u5F0F","action.mirror_modeling.desc":"\u5728 X \u8F74\u4E0A\u542F\u7528\u955C\u50CF\u7F16\u8F91\u6A21\u5F0F\u3002\u4F60\u5728\u89C6\u53E3\u4E2D\u505A\u7684\u4E00\u5207\u66F4\u6539\u90FD\u4F1A\u6298\u5C04\u5230\u53E6\u4E00\u8FB9\uFF0C\u9664\u975E\u5143\u7D20\u6709\u4E0A\u7279\u6B8A\u7981\u7528\u3002","action.allow_element_mirror_modeling":"\u542F\u7528\u955C\u50CF\u7F16\u8F91\u6A21\u5F0F","action.allow_element_mirror_modeling.desc":"\u9009\u62E9\u6240\u9009\u5143\u7D20\u662F\u5426\u53D7\u955C\u50CF\u7F16\u8F91\u6A21\u5F0F\u5F71\u54CD","action.switch_face_crease":"\u5207\u6362\u9762\u6298\u53E0","action.switch_face_crease.desc":"\u5207\u6362\u9762\u7684\u5BF9\u6298\u65B9\u5411","action.clear_unused_texture_space":"\u6E05\u9664\u7EB9\u7406\u672A\u4F7F\u7528\u7684\u90E8\u5206","action.clear_unused_texture_space.desc":"\u5C06\u7EB9\u7406\u4E2D\u6CA1\u6709\u5BF9\u5E94\u5143\u7D20 UV \u6620\u5C04\u7684\u90E8\u5206\u6E05\u9664","action.split_screen":"\u5206\u5C4F","action.split_screen.desc":"\u9009\u62E9\u89C6\u53E3\u5206\u5C4F\u6A21\u5F0F","action.split_screen.single":"\u5355\u5C4F","action.split_screen.double_horizontal":"\u6C34\u5E73\u53CC\u5C4F","action.split_screen.double_vertical":"\u5782\u76F4\u53CC\u5C4F","action.split_screen.quad":"\u56DB\u5C4F","action.split_screen.triple_left":"\u4E09\u8FDE\u5DE6\u5C4F","action.split_screen.triple_right":"\u4E09\u8FDE\u53F3\u5C4F","action.split_screen.triple_top":"\u4E09\u8FDE\u4E0A\u5C4F","action.split_screen.triple_bottom":"\u4E09\u8FDE\u4E0B\u5C4F","action.uv_project_from_view":"\u81EA\u89C6\u89D2\u6295\u5C04 UV","action.uv_project_from_view.desc":"\u4EE5 3D \u89C6\u56FE\u7684\u89C6\u89D2\u4E3A\u6240\u9009\u7684\u9762\u81EA\u52A8\u751F\u6210 UV","action.graph_editor_other_graphs":"\u663E\u793A\u5176\u4ED6\u56FE\u8868","action.graph_editor_other_graphs.desc":"\u51B3\u5B9A\u672A\u9009\u4E2D\u7684\u8F74\u7684\u56FE\u8868\u662F\u5426\u88AB\u5C55\u793A","action.graph_editor_include_other_graphs":"\u5305\u542B\u5176\u4ED6\u8F74","action.graph_editor_include_other_graphs.desc":"\u51B3\u5B9A\u56FE\u6807\u7F16\u8F91\u5668\u662F\u5426\u5305\u62EC\u89C6\u56FE\u4E2D\u672A\u9009\u4E2D\u7684\u56FE\u8868","action.set_ik_source":"\u8BBE\u5B9A IK \u6839","action.set_ik_source.desc":"\u8BBE\u5B9A\u8FD9\u4E2A\u7A7A\u5BF9\u8C61\u80FD\u591F\u4EE5\u53CD\u5411\u8FD0\u52A8\u5B66\u79FB\u52A8\u7684\u94FE\u7684\u6839","edit.loop_cut.cuts":"\u5207","panel.element.stretch":"\u62C9\u4F38","preview_scene.minecraft_plains":"\u5E73\u539F","preview_scene.minecraft_cherry_grove":"\u6A31\u82B1\u6811\u6797","preview_scene.minecraft_snowy_tundra":"\u96EA\u539F","preview_scene.minecraft_sunset":"\u65E5\u843D","preview_scene.minecraft_night":"\u591C\u665A","preview_scene.minecraft_desert":"\u6C99\u6F20","preview_scene.minecraft_underwater":"\u6C34\u4E0B","preview_scene.minecraft_coral_reef":"\u73CA\u745A\u7901","preview_scene.minecraft_lush_cave":"\u7E41\u8302\u6D1E\u7A74","preview_scene.minecraft_deep_dark":"\u6DF1\u6697\u4E4B\u57DF","generic.navigate_forward":"\u524D","generic.navigate_back":"\u540E","action.element_render_order":"\u900F\u660E\u5EA6\u6E32\u67D3\u987A\u5E8F","action.element_render_order.default":"\u81EA\u52A8","action.element_render_order.behind":"\u540E\u9762","action.element_render_order.in_front":"\u524D\u9762","message.installing_update.title":"\u65E0\u53EF\u7528\u66F4\u65B0","message.installing_update.message":"\u6709\u65B0\u7248\u672C\u53EF\u4F9B\u66F4\u65B0\u3002\u5728\u5173\u95ED\u8F6F\u4EF6\u540E\uFF0C\u8BF7\u7B49\u5F85\u7EA6 %0 \u79D2\u518D\u91CD\u65B0\u542F\u52A8 Blockbench \u6216\u5173\u95ED\u7535\u8111\uFF0C\u4EE5\u5B89\u88C5\u65B0\u7248\u672C\u3002","settings.brush_cursor_2d":"2D \u7B14\u5237\u5149\u6807","settings.brush_cursor_2d.desc":"\u5728 2D \u5DE5\u4F5C\u53F0\u4E2D\u663E\u793A\u7B14\u5237\u8F6E\u5ED3","settings.brush_cursor_3d":"3D \u7B14\u5237\u5149\u6807","settings.brush_cursor_3d.desc":"\u5728 3D \u5DE5\u4F5C\u53F0\u4E2D\u663E\u793A\u7B14\u5237\u8F6E\u5ED3","settings.cdn_mirror":"\u4F7F\u7528 CDN \u955C\u50CF","settings.cdn_mirror.desc":"\u4F7F\u7528\u955C\u50CF CDN \u4E0B\u8F7D\u63D2\u4EF6\u3002\u955C\u50CF\u63A5\u6536\u66F4\u65B0\u7684\u901F\u5EA6\u66F4\u5FEB\uFF0C\u5E76\u4E14\u53EF\u4EE5\u5728\u9ED8\u8BA4\u8BBE\u7F6E\u5931\u6548\u7684\u67D0\u4E9B\u5730\u533A\u4E2D\u4F7F\u7528\u3002","data.layer":"\u56FE\u5C42","data.panel":"\u9762\u677F","generic.confirm_delete":"\u786E\u5B9A\u5220\u9664\u5417\uFF1F","format_category.general":"\u603B\u4F53","modifier_actions.no_uniform_scaling":"\u81EA\u7531\u7F29\u653E","message.texture_refresh_conflict.title":"\u7EB9\u7406\u7248\u672C\u51B2\u7A81","message.texture_refresh_conflict.message":"\u7EB9\u7406\u6587\u4EF6\u53EF\u80FD\u5B58\u5728\u4E0E Blockbench \u7248\u672C\u51B2\u7A81\u7684\u5185\u5BB9","message.texture_refresh_conflict.keep_ours":"\u4FDD\u6301 Blockbench \u7684\u7248\u672C","message.texture_refresh_conflict.keep_theirs":"\u52A0\u8F7D\u6587\u4EF6\u5E76\u653E\u5F03 Blockbench \u5185\u7684\u66F4\u6539\u4E0E\u56FE\u5C42","message.group_required_to_animate":"\u4F60\u65E0\u6CD5\u5BF9\u6B64\u7C7B\u5143\u7D20\u5E94\u7528\u52A8\u753B\u3002\u521B\u5EFA\u4E00\u4E2A\u5206\u7EC4\u4EE5\u5BF9\u5176\u5E94\u7528\u52A8\u753B\u3002","dialog.texture.uv_size":"UV \u5C3A\u5BF8","dialog.advanced_screenshot.angle_preset":"\u9884\u8BBE\u89D2\u5EA6","dialog.advanced_screenshot.resolution":"\u5206\u8FA8\u7387","dialog.advanced_screenshot.zoom_to_fit":"\u7F29\u653E\u4EE5\u9002\u914D","dialog.advanced_screenshot.zoom":"\u7F29\u653E/\u7126\u8DDD","dialog.advanced_screenshot.anti_aliasing":"\u6297\u952F\u9F7F","dialog.advanced_screenshot.anti_aliasing.off":"\u5173\u95ED","dialog.advanced_screenshot.anti_aliasing.msaa":"\u591A\u53D6\u6837","dialog.advanced_screenshot.anti_aliasing.ssaa":"\u8D85\u53D6\u6837","dialog.advanced_screenshot.show_gizmos":"\u663E\u793A\u64CD\u4F5C\u624B\u67C4","dialog.advanced_screenshot.shading":"\u9634\u5F71","settings.auto_keyframe":"\u81EA\u52A8\u5173\u952E\u5E27","settings.auto_keyframe.desc":"\u5F53\u66F4\u6539\u9AA8\u9ABC\u65F6\uFF0C\u5728\u65F6\u95F4\u7EBF\u8D77\u59CB\u81EA\u52A8\u6DFB\u52A0\u9ED8\u8BA4\u72B6\u6001\u5173\u952E\u5E27","settings.modded_entity_integer_size":"\u6A21\u7EC4\u5B9E\u4F53\u6574\u6570\u5C3A\u5BF8","settings.modded_entity_integer_size.desc":"\u5C06\u6A21\u7EC4\u5B9E\u4F53\u7684\u7ACB\u65B9\u4F53\u5927\u5C0F\u9650\u5236\u4E3A\u6574\u6570\u3002\u5C3D\u7BA1\u67D0\u4E9B\u7248\u672C\u6280\u672F\u4E0A\u652F\u6301\u6D6E\u70B9\u6570\uFF0C\u6574\u6570\u5C3A\u5BF8\u66F4\u9002\u4E8E UV \u6620\u5C04\u3002","category.layers":"\u56FE\u5C42","keybind.paint_secondary_color":"\u7528\u6B21\u8981\u989C\u8272\u7ED8\u5236","action.selection_tool_operation_mode":"\u9009\u62E9\u6A21\u5F0F","action.selection_tool_operation_mode.create":"\u65B0\u7684\u9009\u62E9","action.selection_tool_operation_mode.add":"\u52A0\u5C55\u9009\u4E2D","action.selection_tool_operation_mode.subtract":"\u51CF\u5C55\u9009\u4E2D","action.selection_tool_operation_mode.intersect":"\u76F8\u4EA4","action.pixel_perfect_drawing":"\u5B8C\u7F8E\u50CF\u7D20\u7ED8\u5236\u6A21\u5F0F","action.pixel_perfect_drawing.desc":"\u4E0D\u5728\u8F6C\u5F2F\u5904\u4EA7\u751F\u53CC\u50CF\u7D20\u800C\u7CBE\u51C6\u7ED8\u5236\u51FA\u50CF\u7D20","action.selection_tool":"\u9009\u533A\u5DE5\u5177","action.selection_tool.desc":"\u9009\u53D6\u90E8\u5206\u56FE\u50CF","action.selection_tool.rectangle":"\u957F\u65B9\u5F62","action.selection_tool.ellipse":"\u692D\u5706","action.selection_tool.lasso":"\u5957\u7D22\u9009\u62E9","action.selection_tool.wand":"\u9B54\u68D2\u5DE5\u5177","action.selection_tool.color":"\u540C\u79CD\u989C\u8272","action.move_layer_tool":"\u79FB\u52A8\u56FE\u5C42","action.move_layer_tool.desc":"\u79FB\u52A8\u5F53\u524D\u56FE\u5C42\u6216\u9009\u533A","action.export_modded_animations":"\u5BFC\u51FA\u6A21\u7EC4\u5B9E\u4F53\u52A8\u753B","action.export_modded_animations.desc":"\u4E3A Java \u7248\u6A21\u7EC4\u5B9E\u4F53\u6A21\u578B\u5BFC\u51FA\u52A8\u753B","action.swap_colors":"\u5207\u6362\u989C\u8272","action.swap_colors.desc":"\u5728\u4E3B\u8981\u548C\u6B21\u8981\u989C\u8272\u4E4B\u95F4\u5207\u6362","action.apply_mesh_rotation":"\u5E94\u7528\u65CB\u8F6C","action.apply_mesh_rotation.desc":"\u91CD\u7F6E\u7F51\u683C\u7684\u5143\u7D20\u65CB\u8F6C\uFF0C\u5E76\u5C06\u5176\u5E94\u7528\u4E8E\u51E0\u4F55","action.flip_texture_x.desc":"\u6C34\u5E73\u7FFB\u8F6C\u7EB9\u7406\u6216\u56FE\u5C42","action.flip_texture_y.desc":"\u5782\u76F4\u7FFB\u8F6C\u7EB9\u7406\u6216\u56FE\u5C42","action.rotate_texture_cw.desc":"\u5C06\u7EB9\u7406\u6216\u56FE\u5C42\u987A\u65F6\u9488\u65CB\u8F6C","action.rotate_texture_ccw.desc":"\u5C06\u7EB9\u7406\u6216\u56FE\u5C42\u9006\u65F6\u9488\u65CB\u8F6C","action.crop_texture_to_selection":"\u5C06\u7EB9\u7406\u88C1\u526A\u81F3\u9009\u533A\u5185","action.create_empty_layer":"\u521B\u9020\u7A7A\u767D\u56FE\u5C42","action.enable_texture_layers":"\u542F\u7528\u56FE\u5C42","action.disable_texture_layers":"\u7981\u7528\u56FE\u5C42","action.layer_opacity":"\u56FE\u5C42\u900F\u660E\u5EA6","action.layer_to_texture_size":"\u653E\u5927\u56FE\u5C42\u81F3\u7EB9\u7406\u5C3A\u5BF8","action.layer_to_texture_size.desc":"\u653E\u5927\u7EB9\u7406\u81F3\u56FE\u5C42\u5C3A\u5BF8","action.merge_layer_down":"\u5411\u4E0B\u5408\u5E76","action.merge_layer_down.desc":"\u5411\u4E0B\u5408\u5E76\u5165\u56FE\u5C42","action.advanced_screenshot":"\u9AD8\u7EA7\u622A\u5C4F...","action.advanced_screenshot.desc":"\u4F7F\u7528\u9AD8\u7EA7\u9009\u9879\u5BF9\u6A21\u578B\u622A\u5C4F","action.bake_ik_animation":"\u70D8\u7119\u53CD\u5411\u8FD0\u52A8","action.bake_ik_animation.desc":"\u5C06\u53CD\u5411\u8FD0\u52A8\u63D0\u4F9B\u7684\u65CB\u8F6C\u70D8\u57F9\u5165\u6240\u9009\u7684\u52A8\u753B\u5185","action.save_animation_preset":"\u4FDD\u5B58\u52A8\u753B\u9884\u8BBE...","action.save_animation_preset.desc":"\u5C06\u6240\u9009\u7684\u5173\u952E\u5E27\u4FDD\u5B58\u4E3A\u52A8\u753B\u9884\u8BBE","action.animation_onion_skin":"\u52A8\u753B\u6D0B\u8471\u76AE","action.animation_onion_skin.desc":"\u5C55\u793A\u52A8\u753B\u5176\u4ED6\u5E27\u7684\u7EBF\u6846\u4F5C\u4E3A\u53C2\u8003","action.apply_animation_preset":"\u5E94\u7528\u52A8\u753B\u6620\u5C04","action.apply_animation_preset.desc":"\u9009\u62E9\u52A8\u753B\u6620\u5C04\u5E76\u5E94\u7528\u4E8E\u6240\u9009\u9AA8\u9ABC","menu.brush_presets.pixel_perfect":"\u5B8C\u7F8E\u50CF\u7D20\u7B14\u5237","panel.layers":"\u56FE\u5C42","uv_editor.copy_paste_tool.to_layer":"\u81F3\u65B0\u56FE\u5C42","format.image.new":"\u521B\u5EFA\u65B0\u56FE\u5C42","format.image.info.summary":"2D \u56FE\u50CF\u7F16\u8F91\u5668\u8BA9\u4F60\u5728 Blockbench \u4E2D\u65E0\u9700\u5916\u63A5\u56FE\u50CF\u7F16\u8F91\u5668\uFF0C\u800C\u76F4\u63A5\u521B\u5EFA\u5E76\u7F16\u8F91\u56FE\u50CF\u4E8E\u50CF\u7D20\u827A\u672F\u3002\u7F16\u8F91\u56FE\u50CF\uFF0C\u66F4\u6539\u7EB9\u7406\uFF0C\u6216\u521B\u5EFA\u81EA\u5DF1\u7684\u50CF\u7D20\u4F5C\u54C1\u5427\uFF01","settings.move_with_selection_tool":"\u4F7F\u7528\u9009\u533A\u5DE5\u5177\u79FB\u52A8\u9009\u533A","settings.move_with_selection_tool.desc":"\u4F7F\u9009\u533A\u5DE5\u5177\u80FD\u591F\u76F4\u63A5\u79FB\u52A8\u9009\u533A\uFF0C\u800C\u4E0D\u7528\u5207\u6362\u5230\u79FB\u52A8\u56FE\u5C42\u5DE5\u5177","settings.final_newline":"\u7ED3\u675F\u6362\u884C\u7B26","settings.final_newline.desc":"\u5728\u5BFC\u51FA\u6587\u4EF6\u7684\u672B\u5C3E\u589E\u52A0\u4E00\u4E2A\u6362\u884C\u7B26","action.crop_layer_to_selection":"\u5C06\u56FE\u5C42\u88C1\u5207\u81F3\u9009\u533A\u5185","action.edit_mode_uv_overlay.desc":"\u5728\u7F16\u8F91\u6A21\u5F0F\u4E2D\u5C06 UV \u6620\u5C04\u8986\u76D6\u8FDB\u884C\u5C55\u793A","menu.image":"\u56FE\u50CF","menu.texture.discard_changes":"\u64A4\u9500\u66F4\u6539","menu.texture.discard_changes.desc":"\u64A4\u9500\u5168\u90E8\u672A\u4FDD\u5B58\u66F4\u6539\u5E76\u4ECE\u6587\u4EF6\u4E2D\u52A0\u8F7D\u6700\u65B0\u7248\u672C","panel.textures.images":"\u56FE\u50CF","dialog.advanced":"\u9AD8\u7EA7","dialog.recommended_option":"\u63A8\u8350\u7528","modifier_actions.snap_to_center":"\u5BF9\u5176\u81F3\u4E2D\u7EBF","modifier_actions.snap_to_pixels":"\u5BF9\u5176\u81F3\u50CF\u7D20","message.invalid_format.install_plugin":"\u5B89\u88C5\u63D2\u4EF6\u201C%0\u201D","message.plugin_deprecated.message":"\u4F60\u786E\u5B9A\u8981\u5B89\u88C5\u5DF2\u5F03\u7528\u63D2\u4EF6\uFF1F","message.plugin_deprecated.install_anyway":"\u65E0\u8BBA\u5B89\u88C5","message.image_editor.not_found":"\u65E0\u6CD5\u627E\u5230\u6240\u9009\u7684\u56FE\u50CF\u7F16\u8F91\u5668\u3002\u8BF7\u9009\u62E9\u5176\u4ED6\u9009\u9879\u3002","message.knife_tool.confirm":"\u6309 %0 \u6216\u70B9\u51FB\u6B64\u5904\u4EE5\u5E94\u7528\u5200\u5177\u5DE5\u5177","message.knife_tool.skipped_face":"\u65E0\u6CD5\u5728\u4E0D\u540C\u9762\u4E4B\u95F4\u8FDB\u884C\u5207\u5272\u3002\u5305\u62EC\u4E4B\u95F4\u7684\u8FB9\u6216\u9876\u70B9\uFF01","message.optimize_animation.keyframes_removed":"\u79FB\u9664\u4E86 %0 \u5F20\u91CD\u590D\u5173\u952E\u5E27","message.optimize_animation.nothing_to_optimize":"\u6CA1\u6709\u53EF\u4F18\u5316\u90E8\u5206\uFF01","message.duplicate_bone_copy_animation.title":"\u590D\u5236\u52A8\u753B","message.duplicate_bone_copy_animation.message":"\u590D\u5236\u7684\u9AA8\u9ABC\u5728 %0 \u52A8\u753B\u4E2D\u6709\u52A8\u753B\u3002\u8981\u5C06\u5173\u952E\u5E27\u590D\u5236\u5230\u65B0\u9AA8\u9ABC\u4E0A\u5417\uFF1F","message.auto_fix_mesh_edit.title":"\u81EA\u52A8\u4FEE\u6B63","message.auto_fix_mesh_edit.revert":"\u64A4\u9500\u7F16\u8F91","message.auto_fix_mesh_edit.overlapping_vertices":"\u67D0\u4E9B\u9876\u70B9\u88AB\u79FB\u52A8\u81F3\u540C\u4E00\u4F4D\u7F6E\u3002\u4F60\u60F3\u8981\u5982\u4F55\u7EE7\u7EED\uFF1F","message.auto_fix_mesh_edit.concave_quads":"\u4E00\u4E2A\u6216\u591A\u4E2A\u9762\u73B0\u5DF2\u5185\u9677\uFF0C\u5728 UV \u6620\u5C04\u4E0E\u6E32\u67D3\u4E2D\u53EF\u80FD\u5BFC\u81F4\u95EE\u9898\u3002Blockbench \u53EF\u4EE5\u81EA\u52A8\u4E3A\u4F60\u4FEE\u6B63\uFF1A","message.auto_fix_mesh_edit.merge_vertices":"\u5408\u5E76\u9876\u70B9","message.auto_fix_mesh_edit.split_quads":"\u5206\u9694\u76F8\u540C","message.load_images.add_image":"\u589E\u6DFB\u56FE\u50CF","dialog.project.modded_entity_entity_class":"\u5B9E\u4F53\u5C42\u7EA7","dialog.resize_texture.offset":"\u504F\u79BB","dialog.animated_texture_editor.code_reference":"\u4EE3\u7801\u53C2\u8003","dialog.animated_texture_editor.code_reference.about":"\u6B64\u4EE3\u7801\u88AB\u751F\u6210\u6765\u7528\u4E8E\u5B9E\u73B0\u7EB9\u7406\u52A8\u753B\uFF0C\u4EC5\u4F9B\u53C2\u8003\uFF0C\u4E0D\u4FEE\u6539\u4E0D\u4E00\u5B9A\u80FD\u6B63\u5E38\u5DE5\u4F5C\u3002\u8BF7\u67E5\u770B\u6587\u6863\u4EE5\u4E86\u89E3\u66F4\u591A\u4FE1\u606F\u3002","dialog.animated_texture_editor.code_reference.docs":"\u6587\u6863","dialog.animated_texture_editor.reframe":"\u91CD\u5E27","dialog.animated_texture_editor.stride":"\u5E27\u5C3A\u5BF8","dialog.animated_texture_editor.frames":"\u5E27\u6570\u91CF","dialog.animated_texture_editor.add_frame":"\u589E\u52A0\u5E27","dialog.animated_texture_editor.resize_frames":"\u91CD\u8BBE\u5E27\u5C3A\u5BF8...","dialog.animated_texture_editor.apply":"\u5E94\u7528","dialog.add_primitive.edge_size":"\u8FB9\u7F18\u5927\u5C0F","dialog.change_animation_speed.speed":"\u901F\u5EA6","dialog.change_animation_speed.adjust_snapping":"\u8C03\u6574\u5438\u9644","dialog.optimize_animation.selection":"\u9009\u62E9","dialog.optimize_animation.selection.selected_keyframes":"\u6240\u9009\u5173\u952E\u5E27","dialog.optimize_animation.selection.selected_animation":"\u6240\u9009\u52A8\u753B","dialog.optimize_animation.selection.all_animations":"\u5168\u90E8\u52A8\u753B","dialog.optimize_animation.thresholds":"\u9608\u503C\u5927\u5C0F","dialog.import_obj.obj":"OBJ \u6587\u4EF6","dialog.import_obj.mtl":"MTL \u6587\u4EF6","dialog.import_obj.scale":"\u7F29\u653E","layout.thumbnail":"\u81EA\u5B9A\u4E49\u5C0F\u56FE CSS","settings.pixel_grid":"\u50CF\u7D20\u7F51\u683C","settings.pixel_grid.desc":"\u5728\u7F16\u8F91\u6A21\u5F0F\u4E0B\u5C55\u793A\u50CF\u7D20\u7F51\u683C","settings.image_editor_grid_size":"\u56FE\u50CF\u7F16\u8F91\u5668\u7F51\u683C\u5C3A\u5BF8","settings.image_editor_grid_size.desc":"\u5728 2D \u56FE\u50CF\u7F16\u8F91\u5668\u4E2D\u7684\u5927\u7F51\u683C\u7684\u5C3A\u5BF8","settings.ground_plane_double_side":"\u53CC\u9762\u5730\u5E73\u9762","settings.ground_plane_double_side.desc":"\u4F7F\u5730\u5E73\u9762\u4ECE\u4E0B\u65B9\u53EF\u89C1","settings.optifine_save_default_texture":"OptiFine JEM\uFF1A\u5BFC\u51FA\u6240\u9009\u7EB9\u7406","settings.optifine_save_default_texture.desc":"\u5C06\u6240\u9009\u7EB9\u7406\u4F5C\u4E3A\u6A21\u578B\u9ED8\u8BA4\u7EB9\u7406\u5BFC\u51FA","action.slider_color_select_threshold":"\u8272\u5F69\u9009\u62E9\u9608\u503C","action.slider_color_select_threshold.desc":"\u76F8\u90BB\u50CF\u7D20\u7684\u989C\u8272\u8981\u591A\u76F8\u4F3C\u4EE5\u88AB\u989C\u8272\u5DE5\u5177\u6216\u9B54\u68D2\u5DE5\u5177\u9009\u4E2D","action.stretch_tool":"\u62C9\u4F38","action.stretch_tool.desc":"\u7528\u4E8E\u62C9\u4F38\u5143\u7D20\u7684\u5DE5\u5177","action.knife_tool":"\u5200\u5177\u5DE5\u5177","action.knife_tool.desc":"\u7528\u4E8E\u5C06\u7F51\u683C\u9762\u5207\u5272\u4E3A\u66F4\u5C0F\u5F62\u72B6\u7684\u5DE5\u5177","action.duplicate_project":"\u590D\u5236\u9879\u76EE","action.duplicate_project.desc":"\u521B\u5EFA\u5F53\u524D\u9879\u76EE\u7684\u526F\u672C","action.transform_space.parent":"\u7236\u7EA7","action.transform_pivot_space":"\u9A71\u8F74\u53D8\u6362\u7A7A\u95F4","action.solidify_mesh_selection":"\u56FA\u5316\u9762","action.solidify_mesh_selection.desc":"\u4F7F\u7F51\u683C\u4E0A\u6240\u9009\u7684\u9762\u56FA\u5316","action.animated_texture_editor":"\u624B\u7FFB\u4E66\u52A8\u753B...","action.animated_texture_editor.desc":"\u8BBE\u5B9A\u6216\u7F16\u8F91\u6240\u9009\u7EB9\u7406\u7684\u624B\u7FFB\u4E66\u52A8\u753B","action.center_individual_pivots":"\u5C45\u4E2D\u72EC\u7ACB\u9A71\u8F74","action.center_individual_pivots.desc":"\u5C06\u6240\u9009\u5143\u7D20\u7684\u9A71\u8F74\u5206\u522B\u5C45\u4E2D","action.uv_cycle":"\u5FAA\u73AF UV","action.uv_cycle.desc":"\u987A\u5E8F\u5FAA\u73AF UV \u9876\u70B9\u800C\u4E0D\u6539\u53D8 UV \u4F4D\u7F6E","action.uv_cycle_invert":"\u5FAA\u73AF\u7FFB\u8F6C UV","action.uv_cycle_invert.desc":"\u53CD\u5411\u5FAA\u73AF UV \u9876\u70B9\u800C\u4E0D\u6539\u53D8 UV \u4F4D\u7F6E","action.slider_animation_controller_speed":"\u63A7\u5236\u56DE\u653E\u901F\u5EA6","action.slider_animation_controller_speed.desc":"\u52A8\u753B\u63A7\u5236\u5668\u7684\u64AD\u653E\u901F\u5EA6\u767E\u5206\u6BD4","action.optimize_animation":"\u4F18\u5316\u52A8\u753B","action.optimize_animation.desc":"\u4F18\u5316\u5F53\u524D\u52A8\u753B\u5E76\u51CF\u5C11\u5173\u952E\u5E27\u6570\u91CF","action.change_animation_speed":"\u66F4\u6539\u52A8\u753B\u901F\u5EA6...","action.change_animation_speed.desc":"\u6539\u53D8\u6240\u9009\u52A8\u753B\u7684\u901F\u5EA6","timeline.select_particle_file":"\u9009\u62E9\u7C92\u5B50\u6587\u4EF6","timeline.select_sound_file":"\u9009\u62E9\u58F0\u97F3\u6587\u4EF6","menu.cube.texture.default":"\u9ED8\u8BA4","menu.texture.particle.clear":"\u505C\u6B62\u7C92\u5B50\u5E94\u7528","menu.texture.use_as_default":"\u8BBE\u4E3A\u9ED8\u8BA4","menu.texture.use_as_default.clear":"\u53D6\u6D88\u9ED8\u8BA4\u8BBE\u5B9A","menu.toolbar.overflow":"\u5DE5\u5177\u680F\u6EA2\u51FA","edit.solidify_mesh_selection.thickness":"\u7C97\u7EC6\u5EA6","reference_image.sync_to_timeline":"\u5BF9\u9F50\u4E8E\u65F6\u95F4\u8F74","reference_image.toggle_playback":"\u64AD\u653E/\u505C\u6B62","dialog.add_primitive.shape.beveled_cuboid":"\u659C\u89D2\u65B9\u5F62","dialog.ignore_all":"\u5FFD\u7565\u6240\u6709","data.texture_group":"\u7EB9\u7406\u7EC4","data.animation":"\u52A8\u753B","generic.on":"\u5F00\u542F","generic.off":"\u5173\u95ED","format.free.info.3d_printing":"3D \u6253\u5370","message.invalid_file.merge_conflict":"\u8BE5\u6587\u4EF6\u5305\u542B\u672A\u89E3\u51B3\u7684 Git \u5408\u5E76\u51B2\u7A81\u3002","dialog.expand_texture_selection.radius":"\u6570\u91CF","dialog.expand_texture_selection.corner":"\u8FB9\u89D2\u5F62\u72B6","dialog.expand_texture_selection.corner.round":"\u5706\u5F62","dialog.expand_texture_selection.corner.square":"\u65B9\u5F62","dialog.expand_texture_selection.corner.manhattan":"\u66FC\u54C8\u987F","dialog.merge_animation.merge_target":"\u5408\u5E76\u5230","keybindings.variation_conflict":"\u6309\u952E\u7ED1\u5B9A\u51B2\u7A81","settings.recovery_save_interval":"\u6062\u590D\u70B9\u4FDD\u5B58\u95F4\u9694","settings.recovery_save_interval.desc":"Blockbench \u4F1A\u5B9A\u671F\u5728\u540E\u53F0\u4FDD\u5B58\u6253\u5F00\u7684\u9879\u76EE\uFF0C\u4EE5\u4FBF\u5728\u8BA1\u7B97\u673A\u5D29\u6E83\u65F6\u8FDB\u884C\u6062\u590D\u3002\u8BBE\u7F6E\u4EE5\u79D2\u4E3A\u5355\u4F4D\u7684\u95F4\u9694\u3002\u8BBE\u7F6E\u4E3A 0 \u53EF\u7981\u7528\u4FDD\u5B58\u3002","settings.save_view_per_tab":"\u4FDD\u5B58\u6BCF\u4E2A\u6807\u7B7E\u9875\u7684\u89C6\u56FE","settings.save_view_per_tab.desc":"\u5206\u522B\u4FDD\u5B58\u6BCF\u4E2A\u6807\u7B7E\u9875\u7684\u5F53\u524D\u89C6\u89D2","settings.inherit_parent_color":"\u7EE7\u627F\u7236\u7EA7\u989C\u8272","settings.inherit_parent_color.desc":"\u5C06\u65B0\u521B\u5EFA\u5143\u7D20\u7684\u989C\u8272\u6807\u8BB0\u8BBE\u7F6E\u4E3A\u7236\u5143\u7D20\u7684\u989C\u8272\uFF0C\u800C\u4E0D\u662F\u968F\u673A\u989C\u8272","keybind.preview_select.multi_select":"\u591A\u9879\u9009\u4E2D","keybind.preview_select.group_select":"\u5206\u7EC4\u9009\u4E2D","keybind.preview_select.loop_select":"\u5FAA\u73AF\u9009\u4E2D","action.fill_mode.selection":"\u9009\u62E9","action.fill_mode.selected_elements":"\u9009\u4E2D\u7684\u5143\u7D20","action.image_tiled_view":"\u5E73\u94FA\u89C6\u56FE","action.image_tiled_view.description":"\u5728 2D \u7F16\u8F91\u5668\u4E2D\u542F\u7528\u5E73\u94FA\u89C6\u56FE","action.image_onion_skin_view":"\u6D0B\u8471\u76AE\u56FE\u50CF\u7F16\u8F91\u5668","action.image_onion_skin_view.description":"\u5728 2D \u7F16\u8F91\u5668\u4E2D\u542F\u7528\u6D0B\u8471\u76AE\u89C6\u56FE","action.expand_texture_selection":"\u6269\u5927\u7EB9\u7406\u9009\u62E9","action.expand_texture_selection.desc":"\u6269\u5927\u6216\u7F29\u5C0F\u7EB9\u7406\u9009\u62E9","action.switch_tabs.reverse_order":"\u9006\u5E8F","action.save_project_incremental":"\u589E\u91CF\u4FDD\u5B58\u9879\u76EE","action.save_project_incremental.desc":"\u5C06\u5F53\u524D\u6A21\u578B\u4EE5\u9879\u76EE\u6587\u4EF6\u7684\u5F62\u5F0F\u589E\u91CF\u4FDD\u5B58\uFF08\u6BD4\u5982\uFF1Aproject_2.bbmodel\uFF09","action.copy.multiple":"\u5168\u90E8\u590D\u5236","action.copy.multiple.desc":"\u9010\u4E00\u590D\u5236\u6240\u6709\u53EF\u7528\u6570\u636E","action.paste.multiple":"\u5168\u90E8\u7C98\u8D34","action.randomize_marker_colors":"\u968F\u673A\u5316\u989C\u8272\u6807\u8BB0","action.cube_light_emission":"\u53D1\u5149","action.cube_light_emission.desc":"\u66F4\u6539\u6240\u9009\u65B9\u5757\u7684\u53D1\u5149\u5F3A\u5EA6\uFF0C\u503C\u4ECB\u4E8E 0 \u5230 15 \u4E4B\u95F4","action.view_mode.colored_solid":"\u6709\u989C\u8272\u6807\u8BB0\u7684\u5B9E\u4F53","action.focus_on_selection.rotate_only":"\u53EA\u65CB\u8F6C","action.create_texture_group":"\u521B\u5EFA\u7EB9\u7406\u7EC4","action.create_texture_group.desc":"\u4E3A\u4F60\u7684\u7EB9\u7406\u4EEC\u521B\u5EFA\u4E00\u4E2A\u5206\u7EC4","action.uv_maximize.all_faces":"\u5E94\u7528\u5230\u6240\u6709\u9762","action.retarget_animators":"\u91CD\u65B0\u5B9A\u4F4D\u52A8\u753B","action.retarget_animators.desc":"\u9009\u62E9\u4E00\u4E2A\u52A8\u753B\u4EE5\u53CA\u5176\u5BF9\u5E94\u7684\u9AA8\u9ABC\u6216\u5143\u7D20","action.merge_animation":"\u5408\u5E76\u52A8\u753B","action.merge_animation.desc":"\u5C06\u52A8\u753B\u5408\u5E76\u5230\u53E6\u4E00\u4E2A\u52A8\u753B\u4E2D","action.add_keyframe.reset_values":"\u4F7F\u7528\u9ED8\u8BA4\u503C","action.set_timeline_range_start":"\u8BBE\u7F6E\u65F6\u95F4\u7EBF\u8303\u56F4\u5F00\u59CB","action.set_timeline_range_start.desc":"\u5728\u52A8\u753B\u65F6\u95F4\u8F74\u4E2D\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u64AD\u653E\u8303\u56F4\u7684\u8D77\u70B9","action.set_timeline_range_end":"\u8BBE\u7F6E\u65F6\u95F4\u7EBF\u8303\u56F4\u7ED3\u675F","action.set_timeline_range_end.desc":"\u5728\u52A8\u753B\u65F6\u95F4\u8F74\u4E2D\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u64AD\u653E\u8303\u56F4\u7684\u7EC8\u70B9","action.disable_timeline_range":"\u7981\u7528\u65F6\u95F4\u7EBF\u8303\u56F4","action.disable_timeline_range.desc":"\u5728\u52A8\u753B\u65F6\u95F4\u8F74\u4E2D\u7981\u7528\u81EA\u5B9A\u4E49\u64AD\u653E\u8303\u56F4","menu.texture_group.resolve":"\u89E3\u6790","menu.image_tiled_view.mirrored":"\u955C\u50CF\u8FB9\u7F18","menu.image_onion_skin_view.frame":"\u5E27","menu.image_onion_skin_view.frame.last_viewed":"\u6700\u540E\u67E5\u770B\u7684\u5E27","menu.image_onion_skin_view.frame.previous":"\u4E0A\u4E00\u5E27","menu.image_onion_skin_view.frame.next":"\u4E0B\u4E00\u5E27","menu.image_onion_skin_view.frame.both":"\u4E0A\u4E00\u4E2A + \u4E0B\u4E00\u4E2A","menu.image_onion_skin_view.display":"\u663E\u793A","menu.image_onion_skin_view.display.pixels":"\u66F4\u5C0F\u7684\u50CF\u7D20","menu.image_onion_skin_view.display.transparent":"\u900F\u660E","menu.image_onion_skin_view.above":"\u4E0A\u65B9\u663E\u793A","menu.animation.reload":"\u91CD\u65B0\u52A0\u8F7D","switches.autouv.alt":"\u76F8\u5BF9","display.rotation_pivot":"\u65CB\u8F6C\u67A2\u8F74","display.scale_pivot":"\u7F29\u653E\u67A2\u8F74","display.reference.fox":"\u72D0\u72F8","display.reference.eating":"\u5403\u4E1C\u897F","preview_scene.sky":"\u5929\u7A7A","preview_scene.space":"\u592A\u7A7A","preview_scene.minecraft_ocean":"\u6D77\u6D0B","message.import_palette.selection_only":"\u4EC5\u9009\u62E9","dialog.blend_transition_edit.ease_in_out":"\u6E10\u8FDB\u6E10\u51FA\uFF08%0\uFF09","dialog.blend_transition_edit.generate":"\u751F\u6210...","dialog.blend_transition_edit.generate.learn_more":"\u9884\u89C8\u548C\u66F4\u591A\u4FE1\u606F","dialog.blend_transition_edit.generate.curve":"\u7F13\u52A8\u7C7B\u578B","dialog.blend_transition_edit.generate.steps":"\u5173\u952E\u5E27","settings.fps_limit":"FPS \u9650\u5236","settings.fps_limit.desc":"\u9650\u5236 Blockbench \u6BCF\u79D2\u6E32\u67D3\u7684\u5E27\u6570\u3002\u5B9E\u9645\u5E27\u901F\u7387\u53D7\u9650\u4E8E\u60A8\u7684\u8BBE\u5907\u53EF\u4EE5\u663E\u793A\u7684\u901F\u7387\u3002","settings.outliner_reveal_on_select":"\u9009\u4E2D\u65F6\u663E\u793A\u5143\u7D20","settings.outliner_reveal_on_select.desc":"\u5728\u5927\u7EB2\u4E2D\u663E\u793A\u9009\u62E9\u8F6E\u5ED3\u4E2D\u5BF9\u5E94\u7684\u5143\u7D20","settings.java_export_pivots":"\u5728 Java \u7248\u65B9\u5757/\u7269\u54C1\u6A21\u578B\u4E2D\u5BFC\u51FA\u67A2\u8F74","settings.java_export_pivots.desc":"\u5728\u6CA1\u6709\u65CB\u8F6C\u7684\u7ACB\u65B9\u4F53\u4E0A\u4FDD\u5B58\u67A2\u8F74\u70B9\u5230 Java \u7248\u65B9\u5757/\u7269\u54C1\u6A21\u578B\u4E2D","animation_controllers.state.blend_transition_curve":"\u6DF7\u5408\u8FC7\u6E21\u66F2\u7EBF","menu.slider.reset_vector":"\u91CD\u7F6E\u5411\u91CF","dialog.blend_transition_edit.extended":"\u6269\u5C55\u56FE\u8868","message.screenshot_too_large.title":"\u622A\u5C4F\u5206\u8FA8\u7387\u95EE\u9898","message.screenshot_too_large.message":"\u5C4F\u5E55\u622A\u56FE\u65E0\u6CD5\u6210\u529F\u6E32\u67D3\u3002\u8BF7\u4F7F\u7528\u8F83\u4F4E\u7684\u5206\u8FA8\u7387\u6216\u4E0D\u8FDB\u884C\u8D85\u91C7\u6837\u91CD\u8BD5\u3002","message.rename_elements.numbering":"\u4F60\u53EF\u4EE5\u4F7F\u7528\u7279\u6B8A\u5B57\u7B26\u751F\u6210\u5E8F\u5217\u53F7\uFF1A% \u83B7\u53D6\u5143\u7D20\u7EC4\u5185\u7684\u7D22\u5F15\uFF0C$ \u83B7\u53D6\u6240\u9009\u5185\u5BB9\u4E2D\u7684\u7D22\u5F15\u3002","generic.edit_externally":"\u5916\u90E8\u7F16\u8F91","message.settings_require_restart.title":"\u9700\u8981\u91CD\u542F","message.settings_require_restart.message":"\u4E00\u4E9B\u8BBE\u7F6E\u9700\u8981\u91CD\u65B0\u542F\u52A8\u7A0B\u5E8F\u4EE5\u751F\u6548\u3002","message.settings_require_restart.restart_now":"\u7ACB\u5373\u91CD\u542F","message.settings_require_restart.restart_later":"\u4EE5\u540E\u91CD\u542F","message.classroom_mode.install_plugin":"\u4E0D\u4F1A\u6559\u5BA4\u6A21\u5F0F\u5728\u5B89\u88C5\u63D2\u4EF6","dialog.collection.export_path":"\u5BFC\u51FA\u8DEF\u5F84","dialog.collection.select_all":"\u9009\u62E9\u5168\u90E8","dialog.collection.select_none":"\u65E0\u9009\u62E9","dialog.collection.add_with_filter":"\u4F7F\u7528\u8FC7\u6EE4\u6DFB\u52A0","dialog.collection.remove":"\u79FB\u9664","dialog.material_config.title":"\u6750\u8D28\u8BBE\u7F6E","dialog.material_config.color_value":"\u989C\u8272\u503C","dialog.material_config.mer":"\u91D1\u5C5E\u3001\u81EA\u53D1\u5149\u3001\u7C97\u7CD9\u5EA6","dialog.material_config.mer_value":"MER \u503C","dialog.material_config.depth_type":"\u6DF1\u5EA6\u7C7B\u578B","dialog.create_texture.disable_mirror_uv":"\u7981\u7528 UV \u955C\u50CF","dialog.create_texture.disable_mirror_uv.desc":"\u7981\u7528\u955C\u50CF\u5EFA\u6A21\u4E2D\u7684 UV \u955C\u50CF\u9009\u9879\uFF0C\u4E3A\u6A21\u578B\u7684\u6BCF\u4E00\u4FA7\u4FDD\u7559\u5355\u72EC\u7684 UV","dialog.create_gif.turn.sync_to_anim_length":"\u540C\u6B65\u5230\u52A8\u753B\u957F\u5EA6","settings.category.controls":"\u63A7\u5236","settings.classroom_mode":"\u6559\u5BA4\u6A21\u5F0F","settings.classroom_mode.desc":"\u9650\u5236\u5B89\u88C5\u63D2\u4EF6\u7B49\u529F\u80FD\u5E76\u5220\u9664\u6307\u5411\u793E\u4EA4\u5A92\u4F53\u7684\u94FE\u63A5","settings.antialiasing_bleed_fix":"\u4FEE\u590D\u6297\u952F\u9F7F\u6E17\u51FA","settings.antialiasing_bleed_fix.desc":"\u4FEE\u590D\u4F7F\u7528\u6297\u952F\u9F7F\u65F6\u7684\u7EB9\u7406\u6E17\u51FA\u95EE\u9898","settings.tone_mapping":"\u8272\u8C03\u6620\u5C04","settings.tone_mapping.desc":"\u7528\u4E8E\u5728\u6807\u51C6\u5C4F\u5E55\u4E0A\u663E\u793A HDR \u4EE5\u8FDB\u884C PBR \u6E32\u67D3\u7684\u8FD1\u4F3C\u65B9\u6CD5\u3002","settings.audio_scrubbing":"\u5728\u65F6\u95F4\u8F74\u4E0A\u8BD5\u542C\u97F3\u9891","settings.audio_scrubbing.desc":"\u64AD\u653E\u97F3\u9891\u7684\u7B80\u77ED\u9884\u89C8\uFF0C\u540C\u65F6\u62D6\u52A8\u65F6\u95F4\u8F74","settings.viewport_rotate_speed":"\u89C6\u53E3\u65CB\u8F6C\u901F\u5EA6","settings.viewport_rotate_speed.desc":"\u5728\u89C6\u53E3\u4E2D\u65CB\u8F6C\u65F6\u7684\u7075\u654F\u5EA6","settings.viewport_zoom_speed":"\u89C6\u53E3\u7F29\u653E\u901F\u5EA6","settings.viewport_zoom_speed.desc":"\u5728\u89C6\u53E3\u4E2D\u7F29\u653E\u65F6\u7684\u8F93\u5165\u7075\u654F\u5EA6","settings.editor_2d_zoom_speed":"2D \u7F16\u8F91\u5668\u7F29\u653E\u901F\u5EA6","settings.editor_2d_zoom_speed.desc":"\u5728 UV \u548C 2D \u7ED8\u5236\u7F16\u8F91\u5668\u4E2D\u653E\u5927\u65F6\u7684\u7075\u654F\u5EA6","category.select":"\u9009\u62E9","action.vertex_snap_mode.rotate":"\u65CB\u8F6C","action.export_image":"\u5BFC\u51FA\u56FE\u50CF","action.export_image.desc":"\u5C06\u7EB9\u7406\u5BFC\u51FA\u4E3A\u56FE\u50CF\u6587\u4EF6","action.apply_mirror_modeling":"\u5E94\u7528\u955C\u50CF\u5EFA\u6A21","action.apply_mirror_modeling.desc":"\u5C06\u955C\u50CF\u5EFA\u6A21\u5E94\u7528\u4E8E\u6240\u9009\u5185\u5BB9\u3002\u6240\u6709\u9009\u5B9A\u7684\u5143\u7D20\u90FD\u5C06\u88AB\u590D\u5236\u5E76\u6CBF X \u8F74\u7FFB\u8F6C\u3002","action.create_collection":"\u521B\u5EFA\u96C6\u5408","action.create_collection.desc":"\u4ECE\u5927\u7EB2\u89C6\u56FE\u9009\u62E9\u4E2D\u521B\u5EFA\u96C6\u5408","action.set_collection_content_to_selection":"\u5C06\u96C6\u5408\u5185\u5BB9\u8BBE\u7F6E\u4E3A\u9009\u5B9A\u5BF9\u8C61","action.set_collection_content_to_selection.desc":"\u5C06\u9009\u5B9A\u7684\u7EC4\u548C\u5143\u7D20\u8BBE\u7F6E\u4E3A\u8BE5\u96C6\u5408\u7684\u5185\u5BB9","action.add_to_collection":"\u5C06\u9009\u5B9A\u7684\u5143\u7D20\u6DFB\u52A0\u5230\u96C6\u5408\u4E2D","action.add_to_collection.desc":"\u5C06\u9009\u5B9A\u7684\u7EC4\u548C\u5143\u7D20\u6DFB\u52A0\u5230\u96C6\u5408\u4E2D","action.view_mode.material":"\u6750\u8D28\u9884\u89C8","action.create_material":"\u521B\u5EFA\u6750\u8D28","action.create_material.desc":"\u4ECE\u9009\u5B9A\u7EB9\u7406\u4E2D\u521B\u5EFA\u65B0\u7684 PBR \u6750\u8D28","action.generate_pbr_map":"\u751F\u6210 PBR \u8D34\u56FE","action.generate_pbr_map.desc":"\u4ECE\u73B0\u6709\u7EB9\u7406\u751F\u6210 PBR \u8D34\u56FE\uFF08\u9AD8\u5EA6\u8D34\u56FE\u6216\u91D1\u5C5E\u5EA6\u3001\u53D1\u5149\u5EA6\u3001\u7C97\u7CD9\u5EA6\uFF09","menu.tools.main_tools":"\u5DE5\u5177\u7BB1","menu.view.panels":"\u9762\u677F","menu.texture.pbr_channel":"PBR \u901A\u9053","menu.texture.pbr_channel.color":"\u989C\u8272","menu.texture.pbr_channel.normal":"\u6CD5\u7EBF\u8D34\u56FE","menu.texture.pbr_channel.height":"\u51F9\u51F8\u8D34\u56FE","menu.texture.pbr_channel.mer":"MER \uFF08\u91D1\u5C5E\u5EA6-\u81EA\u53D1\u5149-\u7C97\u7CD9\u5EA6\uFF09","menu.texture.pbr_channel.mer_subsurface":"MER \u6B21\u8868\u9762","menu.collection.export_project":"\u5BFC\u51FA\u9879\u76EE","menu.collection.export_as":'\u5BFC\u51FA\u4E3A \u201C%0"',"menu.panel.enable":"\u542F\u7528","menu.panel.move_to":"\u79FB\u5230","menu.panel.move_to.left_bar":"\u5DE6\u5C4F\u4FA7\u8FB9\u680F","menu.panel.move_to.right_bar":"\u53F3\u5C4F\u4FA7\u8FB9\u680F","menu.panel.move_to.top":"\u4E0A\u5C4F","menu.panel.move_to.bottom":"\u4E0B\u5C4F","menu.panel.move_to.float":"\u7A97\u53E3","menu.panel.move_to.hidden":"\u9690\u85CF","menu.panel.fold":"\u6298\u53E0","menu.mirror_painting.texture_center":"\u539F\u70B9","menu.mirror_modeling.mirror_uv":"\u955C\u50CF UV","menu.animation_onion_skin.frames":"\u5E27","menu.animation_onion_skin.select":"\u9009\u62E9","menu.animation_onion_skin.previous":"\u4E0A\u4E00\u4E2A","menu.animation_onion_skin.next":"\u4E0B\u4E00\u4E2A","menu.animation_onion_skin.previous_next":"\u4E0A\u4E00\u4E2A + \u4E0B\u4E00\u4E2A","menu.animation_onion_skin.count":"\u6570\u91CF","menu.animation_onion_skin.interval":"\u95F4\u9694","menu.animation_onion_skin_selective":"\u9009\u62E9\u6027\u6D0B\u8471\u76AE","menu.animation_onion_skin_selective.desc":"\u4EC5\u663E\u793A\u6A21\u578B\u9009\u5B9A\u90E8\u5206\u7684\u6D0B\u8471\u76AE","edit.loop_cut.unit":"\u5355\u4F4D","edit.loop_cut.unit.size_units":"\u5C3A\u5BF8\u5355\u4F4D","edit.loop_cut.unit.percent":"\u767E\u5206\u4E4B","edit.extrude_mesh_selection.direction":"\u65B9\u5411","edit.extrude_mesh_selection.direction.outwards":"\u5411\u5916","edit.extrude_mesh_selection.direction.average":"\u5E73\u5747","edit.extrude_mesh_selection.even_extend":"\u5747\u5300\u62D3\u5C55","edit.vertex_snap.align":"\u5BF9\u9F50","edit.vertex_snap.align.longest":"\u6700\u957F\u8F74","edit.vertex_snap.align.direction":"\u4ECE\u67A2\u8F74\u7684\u65B9\u5411","edit.vertex_snap.align.align_axis":"\u8F74 %0","edit.vertex_snap.ignore_axis":"\u5FFD\u7565 \u8F74","codec.common.format":"\u683C\u5F0F","codec.image.quality":"\u54C1\u8D28","panel.collections":"\u96C6\u5408","modifier_actions.always":"\u59CB\u7EC8\u542F\u7528","modifier_actions.unless":"\u9664\u975E %0","settings.undo_selections":"\u64A4\u9500\u9009\u62E9","settings.undo_selections.desc":"\u5C06\u6240\u9009\u5185\u5BB9\u66F4\u6539\u4F5C\u4E3A\u64A4\u9500\u5386\u53F2\u8BB0\u5F55\u4E2D\u7684\u4E00\u4E2A\u6B65\u9AA4\u8FDB\u884C\u8DDF\u8E2A","action.focus_on_selection.zoom":"\u7F29\u653E\u4EE5\u9002\u5408\u89C6\u56FE\u5927\u5C0F","display.reference.tooting":"\u5439\u53F7\u89D2","settings.selection_tolerance":"\u9009\u62E9\u5BB9\u5DEE","settings.selection_tolerance.desc":"\u53EF\u70B9\u51FB\u9009\u62E9\u7684\u8FB9\u6216\u9876\u70B9\u7684\u533A\u57DF\u5927\u5C0F","action.delete.keep_vertices":"\u4FDD\u6301\u8FB9/\u9876\u70B9","menu.mesh":"\u7F51\u683C","dialog.material_config.subsurface":"\u6B21\u8868\u9762\u6563\u5C04","dialog.material_config.subsurface_enabled.desc":"\u4F7F\u7528 MER \u8D34\u56FE\u7684 Alpha \u901A\u9053\u7528\u4E8E\u6B21\u8868\u9762\u6563\u5C04","settings.pick_combined_color":"\u9009\u53D6\u6DF7\u5408\u7684\u989C\u8272","settings.pick_combined_color.desc":"\u5728\u76F8\u5E94\u50CF\u7D20\u5904\u62FE\u53D6\u6240\u6709\u56FE\u5C42\u5408\u6210\u540E\u7684\u989C\u8272\uFF0C\u800C\u4E0D\u662F\u6D3B\u52A8\u56FE\u5C42\u7684\u989C\u8272","action.split_rgb_into_layers":"\u5C06 RGB \u901A\u9053\u5206\u89E3\u6210\u56FE\u5C42","action.split_rgb_into_layers.desc":"\u5C06\u7EB9\u7406\u5206\u89E3\u4E3A\u52A0\u6CD5\u8272\u56FE\u5C42\uFF0C\u6BCF\u4E2A RGB \u901A\u9053\u5BF9\u5E94\u4E00\u5C42","dialog.project.java_block_version":"\u683C\u5F0F\u7248\u672C","data.spline_mesh":"\u6837\u6761","data.billboard":"Billboard","data.armature":"\u9AA8\u67B6","data.armature_bone":"\u9AA8\u9ABC","generic.reload":"\u91CD\u65B0\u52A0\u8F7D","modifier_actions.subtract":"\u51CF\u53BB","modifier_actions.reduced_intensity":"\u5FAE\u8C03","modifier_actions.select_bone":"\u9009\u62E9\u9AA8\u9ABC","modifier_actions.spline_select_multiple_points":"\u9009\u62E9\u591A\u4E2A\u70B9\u6216\u624B\u67C4","modifier_actions.move_panel_without_docking":"\u4E0D\u505C\u9760\u79FB\u52A8","message.save_all_textures.message":"\u4F60\u60F3\u4FDD\u5B58\u4EE5\u4E0B\u6750\u8D28\u5417\uFF1F","message.save_all_textures.skip":"\u8DF3\u8FC7","dialog.add_spline.shape":"\u5F62\u72B6","dialog.add_spline.shape.segment":"\u7EBF\u6BB5","dialog.add_spline.shape.square":"\u77E9\u5F62","dialog.add_spline.shape.circle":"\u5706\u5F62","dialog.add_spline.diameter":"\u76F4\u5F84","dialog.add_spline.sides_tubular":"\u7BA1\u6BB5\u6570","dialog.add_spline.sides_radial":"\u73AF\u6BB5\u6570","dialog.add_spline.radius":"\u7BA1\u534A\u5F84","dialog.add_spline.length":"\u957F\u5EA6","dialog.add_spline.width":"\u5BBD\u5EA6","dialog.plugins.revoke_permissions":"\u64A4\u9500\u6743\u9650","dialog.expression_editor.pretty_print":"\u683C\u5F0F\u5316\u8F93\u51FA","dialog.expression_editor.minify":"\u538B\u7F29","dialog.expression_editor.find_replace":"\u67E5\u627E/\u66FF\u6362","dialog.create_gif.show_gizmos":"\u5F55\u5236\u64CD\u4F5C\u624B\u67C4\u4E0E\u7F51\u683C","dialog.preview_options.title":"\u9884\u89C8\u9009\u9879","dialog.preview_options.background":"\u80CC\u666F","dialog.preview_options.background.checkerboard":"\u68CB\u76D8\u683C","dialog.preview_options.background.solid":"\u9759\u6001","dialog.preview_options.background.custom_color":"\u81EA\u5B9A\u4E49\u80CC\u666F\u989C\u8272","dialog.preview_options.show_gizmos":"\u663E\u793A\u64CD\u4F5C\u624B\u67C4","dialog.skin.texture_source":"\u7EB9\u7406\u6765\u6E90","dialog.skin.texture_source.template":"\u751F\u6210\u6A21\u677F","dialog.skin.texture_source.load_texture":"\u4ECE Minecraft \u52A0\u8F7D","dialog.skin.texture_file":"\u7EB9\u7406\u6587\u4EF6","dialog.convert_skin.adjust_texture":"\u8C03\u6574\u7EB9\u7406","dialog.settings.clear_profile_value":"\u6E05\u9664\u914D\u7F6E\u503C","layout.section.customize":"\u81EA\u5B9A\u4E49","layout.theme.configure":"\u914D\u7F6E","layout.color.elevated":"\u60AC\u6D6E","layout.color.elevated.desc":"\u60AC\u6D6E\u7684 UI \u5143\u7D20\uFF0C\u901A\u5E38\u901A\u8FC7\u9634\u5F71\u4E0E\u80CC\u666F\u5206\u9694","layout.file.watch_changes":"\u76D1\u89C6\u66F4\u6539\u5E76\u91CD\u65B0\u52A0\u8F7D","settings.autocomplete_code":"\u4EE3\u7801\u81EA\u52A8\u8865\u5168","settings.autocomplete_code.desc":"\u5728\u4EE3\u7801\u7F16\u8F91\u5668\u4E2D\u663E\u793A\u81EA\u52A8\u8865\u5168\u5EFA\u8BAE","settings.detect_flipbook_textures":"\u68C0\u6D4B\u7FFB\u9875\u52A8\u753B\u7EB9\u7406","settings.detect_flipbook_textures.desc":"\u81EA\u52A8\u68C0\u6D4B\u7FFB\u9875\u52A8\u753B\u7EB9\u7406\uFF0C\u5E76\u4EE5\u52A8\u753B\u5F62\u5F0F\u9884\u89C8","settings.double_click_select_reference":"\u53CC\u51FB\u9009\u62E9\u53C2\u8003\u56FE\u50CF","settings.double_click_select_reference.desc":"\u5728\u89C6\u53E3\u4E2D\u53CC\u51FB\u4EE5\u9009\u62E9\u53C2\u8003\u56FE\u50CF","settings.default_keyframe_interpolation":"\u9ED8\u8BA4\u5173\u952E\u5E27\u63D2\u503C","settings.default_keyframe_interpolation.desc":"\u9009\u62E9\u9ED8\u8BA4\u7684\u5173\u952E\u5E27\u63D2\u503C\u6A21\u5F0F","settings.color_picker_style":"\u53D6\u8272\u5668\u6837\u5F0F","settings.color_picker_style.desc":"\u9009\u62E9\u7ED8\u753B\u6A21\u5F0F\u53D6\u8272\u5668\u7684\u6837\u5F0F","settings.export_asset_paths":"\u5BFC\u51FA\u8D44\u6E90\u8DEF\u5F84","settings.export_asset_paths.desc":"\u9009\u62E9\u7EB9\u7406\u6216\u52A8\u753B\u7B49\u8D44\u6E90\u5728 .bbmodel \u6587\u4EF6\u4E2D\u7684\u4FDD\u5B58\u8DEF\u5F84\u65B9\u5F0F","settings.export_asset_paths.relative":"\u76F8\u5BF9\u8DEF\u5F84","settings.export_asset_paths.absolute":"\u5B8C\u6574\u8DEF\u5F84","settings.export_asset_paths.both":"\u76F8\u5BF9\u8DEF\u5F84\u4E0E\u5B8C\u6574\u8DEF\u5F84\uFF08\u4EC5\u7EB9\u7406\uFF09","settings.export_asset_paths.none":"\u4E0D\u5BFC\u51FA","action.slider_spline_resolution":"\u6837\u6761\u5206\u8FA8\u7387 %0","action.slider_spline_resolution.desc":"\u5728 %0 \u8F74\u4E0A\u66F4\u6539\u6837\u6761\u5206\u8FA8\u7387\uFF08%1\uFF09","action.slider_spline_resolution.u.desc_precision":"\u73AF\u6BB5\u6570","action.slider_spline_resolution.v.desc_precision":"\u7BA1\u6BB5\u6570","action.slider_spline_radius":"\u6837\u6761\u534A\u5F84","action.slider_spline_radius.desc":"\u66F4\u6539\u6837\u6761\u534A\u5F84","action.slider_spline_handle_tilt":"\u624B\u67C4\u503E\u659C","action.slider_spline_handle_tilt.desc":"\u66F4\u6539\u6837\u6761\u624B\u67C4\u503E\u659C","action.slider_spline_handle_size":"\u624B\u67C4\u5927\u5C0F","action.slider_spline_handle_size.desc":"\u66F4\u6539\u6837\u6761\u624B\u67C4\u5927\u5C0F","action.blend_mode.lighten":"\u53D8\u4EAE","action.blend_mode.darken":"\u53D8\u6697","action.weight_brush":"\u6743\u91CD\u753B\u7B14","action.weight_brush.desc":"\u5728\u7F51\u683C\u4E0A\u7ED8\u5236\u9876\u70B9\u6743\u91CD\u4EE5\u7528\u4E8E\u9AA8\u67B6\u5F62\u53D8","action.convert_minecraft_skin_variant":"\u8F6C\u6362\u7EC6\u81C2/\u5BBD\u81C2\u76AE\u80A4","action.convert_minecraft_skin_variant.desc":"\u5728\u7ECF\u5178\u7684\u5BBD\u6A21\u578B\uFF08Steve\uFF09\u548C\u7EC6\u6A21\u578B\uFF08Alex\uFF09\u4E2D\u5207\u6362\uFF0C\u4F60\u53EF\u4EE5\u9009\u62E9\u662F\u5426\u8BA9\u6750\u8D28\u81EA\u9002\u5E94\u6A21\u578B","action.custom_skin_poses":"\u81EA\u5B9A\u4E49\u76AE\u80A4\u59FF\u52BF","action.custom_skin_poses.desc":"\u52A0\u8F7D\u81EA\u5B9A\u4E49\u76AE\u80A4\u59FF\u52BF\u9884\u8BBE","action.custom_skin_poses.update":"\u66F4\u65B0\u59FF\u52BF","action.custom_skin_poses.update.desc":"\u7528\u6A21\u578B\u7684\u5F53\u524D\u59FF\u52BF\u8986\u76D6\u5DF2\u4FDD\u5B58\u7684\u59FF\u52BF","action.add_custom_skin_pose":"\u6DFB\u52A0\u81EA\u5B9A\u4E49\u76AE\u80A4\u59FF\u52BF","action.add_custom_skin_pose.desc":"\u5C06\u6A21\u578B\u7684\u5F53\u524D\u59FF\u52BF\u4FDD\u5B58\u4E3A\u59FF\u52BF\u9884\u8BBE","action.export_stl":"\u5BFC\u51FA\u4E3A STL","action.export_stl.desc":"\u5BFC\u51FA\u7528\u4E8E 3D \u6253\u5370\u7684 STL \u6A21\u578B","action.add_element":"\u6DFB\u52A0\u5143\u7D20","action.add_element.desc":"\u4ECE\u5143\u7D20\u7C7B\u578B\u5217\u8868\u4E2D\u6DFB\u52A0\u4E00\u4E2A\u65B0\u5143\u7D20","action.add_spline":"\u6DFB\u52A0\u6837\u6761","action.add_spline.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u6837\u6761","action.add_billboard":"\u6DFB\u52A0 Billboard","action.add_billboard.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684 Billboard\uFF0C\u4E00\u4E2A\u59CB\u7EC8\u671D\u5411\u76F8\u673A\u7684\u5E73\u9762\u5143\u7D20","action.add_armature":"\u6DFB\u52A0\u9AA8\u67B6","action.add_armature.desc":"\u6DFB\u52A0\u4E00\u7EC4\u53EF\u4EE5\u901A\u8FC7\u52A8\u753B\u4F7F\u7F51\u683C\u53D8\u5F62\u7684\u9AA8\u67B6","action.add_armature_bone":"\u6DFB\u52A0\u9AA8\u9ABC","action.add_armature_bone.desc":"\u5411\u9AA8\u67B6\u6DFB\u52A0\u4E00\u6839\u9AA8\u9ABC","action.search_textures":"\u641C\u7D22\u7EB9\u7406","action.search_textures.desc":"\u6309\u540D\u79F0\u641C\u7D22\u7EB9\u7406","action.search_animations":"\u641C\u7D22\u52A8\u753B","action.search_animations.desc":"\u6309\u540D\u79F0\u641C\u7D22\u52A8\u753B","action.spline_selection_mode":"\u6837\u6761\u9009\u62E9\u6A21\u5F0F","action.spline_selection_mode.object":"\u5BF9\u8C61","action.spline_selection_mode.handles":"\u624B\u67C4","action.spline_render_mode":"\u51E0\u4F55\u4F53","action.spline_render_mode.mesh":"\u7F51\u683C","action.spline_render_mode.path":"\u8DEF\u5F84","action.spline_render_mode.desc":"\u6B64\u6837\u6761\u5E94\u6E32\u67D3\u54EA\u79CD\u51E0\u4F55\u4F53","action.spline_uv_mode":"UV \u6837\u5F0F","action.spline_uv_mode.length_accurate":"\u6309\u957F\u5EA6\u5206\u5E03","action.spline_uv_mode.uniform":"\u5747\u5300","action.spline_uv_mode.per_segment":"\u6309\u6BB5","action.spline_uv_mode.desc":"\u6837\u6761\u7684\u7BA1\u72B6\u7F51\u683C\u5E94\u5982\u4F55\u94FA\u8BBE UV","action.spline_ring_segments":"\u73AF\u6BB5\u6570","action.spline_ring_segments.desc":"\u6B64\u6837\u6761\u6BCF\u4E2A\u7BA1\u73AF\u7684\u7EC6\u5206\u6570\u91CF","action.spline_tube_segments":"\u7BA1\u6BB5\u6570","action.spline_tube_segments.desc":"\u6B64\u6837\u6761\u6CBF\u8DEF\u5F84\u7684\u7EC6\u5206\u6570\u91CF","action.spline_tube_radius":"\u7BA1\u534A\u5F84","action.spline_tube_radius.desc":"\u8BBE\u7F6E\u6837\u6761\u7684\u7BA1\u534A\u5F84","action.spline_display_space":"\u663E\u793A\u7A7A\u95F4","action.spline_display_space.desc":"\u5728\u5176\u8DEF\u5F84\u4E0A\u663E\u793A\u6837\u6761\u7A7A\u95F4\u6307\u793A\u5668","action.spline_handle_mode":"\u6837\u6761\u624B\u67C4\u6A21\u5F0F","action.spline_handle_mode.desc":"\u7528\u4E8E\u53D8\u6362\u6837\u6761\u624B\u67C4\u7684\u6A21\u5F0F","action.spline_handle_mode.aligned":"\u5BF9\u9F50","action.spline_handle_mode.free":"\u81EA\u7531","action.spline_handle_mode.mirrored":"\u955C\u50CF","action.slider_weight_brush_size":"\u6743\u91CD\u753B\u7B14\u5927\u5C0F","action.weight_brush_xray":"\u6743\u91CD\u753B\u7B14 X \u5149\u6A21\u5F0F","action.weight_brush_xray.desc":"\u542F\u7528\u540E\uFF0C\u6743\u91CD\u753B\u7B14\u5C06\u5F71\u54CD\u6240\u6709\u9876\u70B9\uFF0C\u800C\u4E0D\u53EA\u662F\u8868\u9762\u53EF\u89C1\u7684\u9876\u70B9","action.apply_spline_rotation":"\u5E94\u7528\u65CB\u8F6C","action.apply_spline_rotation.desc":"\u91CD\u7F6E\u6837\u6761\u7684\u5143\u7D20\u65CB\u8F6C\uFF0C\u5E76\u5C06\u5176\u6539\u4E3A\u5E94\u7528\u5230\u51E0\u4F55\u4F53\u4E0A","action.extrude_spline_selection":"\u6324\u51FA\u6837\u6761","action.extrude_spline_selection.desc":"\u5728\u6240\u6709\u6837\u6761\u4E0A\u6324\u51FA\u6240\u9009\u624B\u67C4","action.split_spline":"\u62C6\u5206\u6837\u6761","action.split_spline.desc":"\u5728\u6240\u9009\u624B\u67C4\u5904\u5C06\u6837\u6761\u62C6\u5206\u4E3A\u4E24\u6761\u6837\u6761","action.divide_spline_curve":"\u7EC6\u5206\u6837\u6761\u6BB5","action.divide_spline_curve.desc":"\u5C06\u6837\u6761\u6BB5\u62C6\u5206\u4E3A\u4E24\u4E2A\u65B0\u6BB5\uFF0C\u5E76\u5728\u4EA4\u70B9\u5904\u521B\u5EFA\u4E00\u4E2A\u65B0\u624B\u67C4","action.set_vertex_weights":"\u8BBE\u7F6E\u9876\u70B9\u6743\u91CD","action.set_vertex_weights.desc":"\u5C06\u6240\u9009\u9876\u70B9\u7684\u6743\u91CD\u8BBE\u7F6E\u4E3A\u6307\u5B9A\u503C\uFF0C\u7ED1\u5B9A\u5230\u67D0\u4E2A\u9AA8\u9ABC","action.calculate_vertex_weights":"\u8BA1\u7B97\u9876\u70B9\u6743\u91CD","action.calculate_vertex_weights.desc":"\u6839\u636E\u9AA8\u9ABC\u7684\u4F4D\u7F6E\u81EA\u52A8\u5206\u914D\u9876\u70B9\u6743\u91CD","action.shelf_alignment":"\u5DE5\u5177\u67B6\u5BF9\u9F50","action.shelf_alignment.desc":"\u9009\u62E9\u5DE5\u5177\u67B6\u4E0A\u9879\u76EE\u7684\u5782\u76F4\u5BF9\u9F50\u65B9\u5F0F","action.shelf_alignment.top":"\u9876\u90E8\u5BF9\u9F50","action.shelf_alignment.bottom":"\u5E95\u90E8\u5BF9\u9F50","action.view_mode.vertex_weight":"\u9876\u70B9\u6743\u91CD","action.view_mode.weighted_bone_colors":"\u9876\u70B9\u9AA8\u9ABC\u989C\u8272","action.create_animation_group":"\u521B\u5EFA\u52A8\u753B\u7EC4","action.create_animation_group.desc":"\u521B\u5EFA\u4E00\u7EC4\u52A8\u753B","action.move_graph_keyframes_up":"\u4E0A\u79FB\u5173\u952E\u5E27\u56FE\u8868","action.move_graph_keyframes_down":"\u4E0B\u79FB\u5173\u952E\u5E27\u56FE\u8868","menu.skin":"\u76AE\u80A4","menu.text_edit.expression_editor":"\u8868\u8FBE\u5F0F\u7F16\u8F91\u5668","menu.color_picker.picker_type.normal":"\u6CD5\u7EBF\u8D34\u56FE","menu.texture.flipbook_animation":"\u7FFB\u9875\u52A8\u753B","menu.panel.attach_to":"\u9644\u52A0\u5230","menu.animation.playing":"\u64AD\u653E\u4E2D","menu.animation_file.save_as":"\u53E6\u5B58\u4E3A","menu.animator.quaternion_interpolation":"\u56DB\u5143\u6570\u63D2\u503C","edit.extrude_spline_selection.extend":"\u5EF6\u4F38","edit.divide_spline_curve.position":"\u4F4D\u7F6E","group.bedrock_binding":"\u7ED1\u5B9A","group.cem_attach":"CEM \u9644\u52A0","group.cem_model":"CEM \u6A21\u578B","group.cem_scale":"CEM \u7F29\u653E","cube.rescale":"\u65CB\u8F6C\u91CD\u7F29\u653E","cube.rescale.desc":"\u91CD\u65B0\u7F29\u653E\u65B9\u5757\u4EE5\u8865\u507F\u65CB\u8F6C\u89D2\u5EA6","mesh.shading":"\u7740\u8272","mesh.shading.flat":"\u5E73\u9762","mesh.shading.smooth":"\u5E73\u6ED1","spline_mesh.cyclic":"\u95ED\u5408","spline_mesh.cyclic.desc":"\u6240\u9009\u6837\u6761\u662F\u5426\u5E94\u5F62\u6210\u4E00\u4E2A\u73AF\uFF08\u95ED\u5408\uFF09","billboard.offset":"\u504F\u79FB","billboard.facing_mode":"\u671D\u5411\u6A21\u5F0F","billboard.facing_mode.lookat":"\u770B\u5411","billboard.facing_mode.lookat_y":"\u770B\u5411 Y","billboard.facing_mode.rotate":"\u65CB\u8F6C","billboard.facing_mode.rotate_y":"\u65CB\u8F6C Y","armature_bone.connected":"\u5DF2\u8FDE\u63A5","reference_image.blueprint":"\u9501\u5B9A\u84DD\u56FE","codec.image.alpha_channel":"Alpha \u901A\u9053","codec.image.animation_fps":"\u52A8\u753B FPS","panel.palette":"\u8C03\u8272\u677F","panel.keyframe.change_effect_file":"\u66F4\u6539\u6548\u679C\u6587\u4EF6","panel.transform":"\u53D8\u6362","panel.element.spline_dimensions":"\u6837\u6761\u5C3A\u5BF8","display.slot.on_shelf":"\u5DE5\u5177\u67B6","display.reference.shelf":"\u5DE5\u5177\u67B6\uFF08\u5168\u90E8\u69FD\u4F4D\uFF09","display.reference.shelf_left":"\u5DE5\u5177\u67B6\uFF08\u5DE6\u69FD\u4F4D\uFF09","display.reference.shelf_center":"\u5DE5\u5177\u67B6\uFF08\u4E2D\u69FD\u4F4D\uFF09","display.reference.shelf_right":"\u5DE5\u5177\u67B6\uFF08\u53F3\u69FD\u4F4D\uFF09","message.newer_project_format_version.title":"\u5BA2\u6237\u7AEF\u8FC7\u65E7","message.newer_project_format_version.message":"\u6B64\u6587\u4EF6\u662F\u7528\u8F83\u65B0\u7684 Blockbench \u7248\u672C\u4FDD\u5B58\u7684\u3002\u8BF7\u66F4\u65B0\u5230 Blockbench %0 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u6B63\u786E\u6253\u5F00","message.load_images.add_layer":"\u4F5C\u4E3A\u56FE\u5C42\u6DFB\u52A0","message.load_images.category.add_to_project":"\u6DFB\u52A0\u5230\u9879\u76EE","message.load_images.category.new_project":"\u65B0\u5EFA\u9879\u76EE","message.load_palette.title":"\u52A0\u8F7D\u8C03\u8272\u677F","message.load_palette.message":"\u60A8\u786E\u5B9A\u8981\u52A0\u8F7D\u6B64\u8C03\u8272\u677F\u5417\uFF1F\u8FD9\u5C06\u66FF\u6362\u5F53\u524D\u7684\u8C03\u8272\u677F\u3002","dialog.set_vertex_weights.weight":"\u6743\u91CD","dialog.set_vertex_weights.overwrite":"\u8986\u76D6\u5176\u4ED6\u9AA8\u9ABC","action.element_render_order.short":"\u6E32\u67D3\u987A\u5E8F","action.element_render_order.desc":"\u5143\u7D20\u7684\u6E32\u67D3\u987A\u5E8F\u3002\u8FD9\u53EF\u4EE5\u5E2E\u52A9\u4FEE\u590D\u5E26\u900F\u660E\u7EB9\u7406\u7684\u5143\u7D20\u88AB\u5176\u4ED6\u5143\u7D20\u906E\u6321\u7684\u95EE\u9898\u3002\u4E0D\u900F\u660E\u5143\u7D20\u8BF7\u4FDD\u6301\u4E3A\u201C\u81EA\u52A8\u201D\u3002","spline.shading.flat":"\u5E73\u9762","spline.shading.smooth":"\u5E73\u6ED1","spline.shading":"\u7740\u8272","spline.shading.desc":"\u6B64\u6837\u6761\u7684\u7BA1\u72B6\u7F51\u683C\u5E94\u5982\u4F55\u7740\u8272","action.slider_weight_brush_limit":"\u6743\u91CD\u753B\u7B14\u9650\u5236","action.slider_weight_brush_limit.desc":"\u4E3A\u6743\u91CD\u753B\u7B14\u80FD\u5206\u914D\u7ED9\u9876\u70B9\u7684\u6743\u91CD\u8BBE\u7F6E\u4E0A\u9650","action.weight_brush_blend_mode":"\u6743\u91CD\u753B\u7B14\u6DF7\u5408\u6A21\u5F0F","action.weight_brush_blend_mode.set":"\u8BBE\u7F6E","action.weight_brush_blend_mode.add":"\u6DFB\u52A0","action.apply_texture_to_elements":"\u5E94\u7528\u7EB9\u7406\u5230\u5143\u7D20","action.apply_texture_to_elements.desc":"\u5C06\u6240\u9009\u7EB9\u7406\u5E94\u7528\u5230\u6240\u9009\u5143\u7D20","menu.panel.reset_size":"\u91CD\u7F6E\u5927\u5C0F","action.import_layer":"\u5BFC\u5165\u56FE\u5C42","action.import_layer.desc":"\u5C06\u56FE\u50CF\u6587\u4EF6\u4F5C\u4E3A\u56FE\u5C42\u5BFC\u5165","menu.collection.open_file":"\u6253\u5F00\u6587\u4EF6","layout.version":"\u7248\u672C","settings.status_bar_transform_sliders":"\u72B6\u6001\u680F\u4E2D\u7684\u53D8\u6362\u6ED1\u5757","settings.status_bar_transform_sliders.desc":"\u5728\u72B6\u6001\u680F\u4E2D\u663E\u793A\u6240\u9009\u5DE5\u5177\u7684\u53D8\u6362\u6ED1\u5757\u5DE5\u5177\u680F\uFF0C\u800C\u4E0D\u662F\u4F7F\u7528\u53D8\u6362\u9762\u677F","settings.default_bedrock_format":"\u9ED8\u8BA4 Bedrock \u683C\u5F0F","settings.default_bedrock_format.desc":"\u65E0\u6CD5\u81EA\u52A8\u8BC6\u522B\u683C\u5F0F\u65F6\uFF0C\u7528\u4E8E\u52A0\u8F7D Minecraft Bedrock \u6A21\u578B\u7684\u9ED8\u8BA4\u683C\u5F0F","settings.limit_brush_opacity_per_stroke":"\u9650\u5236\u6BCF\u6B21\u7B14\u753B\u7684\u4E0D\u900F\u660E\u5EA6","settings.limit_brush_opacity_per_stroke.desc":"\u5C06\u7B14\u5237\u5728\u6BCF\u6B21\u7B14\u753B\u4E2D\u53EF\u5E94\u7528\u7684\u4E0D\u900F\u660E\u5EA6\u9650\u5236\u4E3A\u4E0D\u900F\u660E\u5EA6\u6ED1\u5757\u7684\u503C\u3002\u4F7F\u7528\u5E73\u6ED1\u753B\u7B14\u65F6\uFF0C\u8FD9\u79CD\u884C\u4E3A\u53EF\u80FD\u4F1A\u5BFC\u81F4\u8F7B\u5FAE\u7684\u566A\u70B9","action.merge_splines":"\u5408\u5E76\u6837\u6761","action.merge_splines.desc":"\u5C06\u591A\u4E2A\u6837\u6761\u5408\u5E76\u4E3A\u4E00\u4E2A","settings.default_java_block_version":"\u9ED8\u8BA4 Java \u65B9\u5757/\u7269\u54C1\u7248\u672C","settings.default_java_block_version.desc":"\u521B\u5EFA\u65B0\u7684 Java \u65B9\u5757/\u7269\u54C1\u6A21\u578B\u6216\u6253\u5F00\u6CA1\u6709\u683C\u5F0F\u7248\u672C\u7684\u6587\u4EF6\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u683C\u5F0F\u7248\u672C","data.bounding_box":"\u5305\u56F4\u76D2","keys.option":"Option","keys.slide_lmb_horizontal":"\u5DE6\u952E\u6A2A\u5411\u6ED1\u52A8","keys.slide_lmb_vertical":"\u5DE6\u952E\u7EB5\u5411\u6ED1\u52A8","keys.slide_rmb_horizontal":"\u53F3\u952E\u6A2A\u5411\u6ED1\u52A8","keys.slide_rmb_vertical":"\u53F3\u952E\u7EB5\u5411\u6ED1\u52A8","message.recover_backup.unknown_project":"\u672A\u77E5\u9879\u76EE","message.recover_backup.discard_others":"\u4E22\u5F03\u5176\u4ED6\u6240\u6709\u5907\u4EFD","message.unsupported_file_extension.title":"\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u683C\u5F0F","message.unsupported_file_extension.message":"\u65E0\u6CD5\u6253\u5F00\u6587\u4EF6 %0\uFF0C\u8BE5\u683C\u5F0F\u4E0D\u53D7\u652F\u6301\u3002\u4F60\u53EF\u80FD\u9700\u8981\u5B89\u88C5\u4E00\u4E2A\u63D2\u4EF6\u6765\u5904\u7406\u6B64\u6587\u4EF6\u7C7B\u578B\u3002","message.unsupported_file_extension.open_in_default_program":"\u7528\u9ED8\u8BA4\u7A0B\u5E8F\u6253\u5F00","dialog.project.uv_size":"UV \u5C3A\u5BF8","dialog.collection.offset":"\u504F\u79FB","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"\u7EB9\u7406\u7FFB\u9875\u52A8\u753B\u7684\u6BCF\u79D2\u5E27\u6570","dialog.edit_uv_size.title":"\u7F16\u8F91 UV \u5C3A\u5BF8","dialog.edit_uv_size.target":"\u76EE\u6807","dialog.edit_uv_size.adjust":"\u8C03\u6574\u65B9\u5F0F","dialog.edit_uv_size.adjust.adjust_uv":"\u53CD\u5411\u8C03\u6574 UV","dialog.edit_uv_size.adjust.adjust_scale":"\u53CD\u5411\u8C03\u6574 UV \u548C\u7F29\u653E","dialog.edit_uv_size.adjust.keep":"\u4FDD\u6301 UV \u4E0D\u53D8","dialog.edit_uv_size.target_size":"\u76EE\u6807 UV \u5C3A\u5BF8","dialog.edit_uv_size.preset.original":"\u539F\u59CB","dialog.edit_uv_size.preset.match_texture":"\u5339\u914D\u7EB9\u7406","dialog.edit_uv_size.result":"\u7ED3\u679C","dialog.edit_uv_size.result.textures":"\u7EB9\u7406","dialog.adjust_brightness_contrast.brightness":"\u4EAE\u5EA6","dialog.adjust_brightness_contrast.contrast":"\u5BF9\u6BD4\u5EA6","dialog.adjust_saturation_hue.saturation":"\u9971\u548C\u5EA6","dialog.adjust_saturation_hue.hue":"\u8272\u8C03","dialog.adjust_opacity.mode":"\u6A21\u5F0F","dialog.adjust_opacity.mode.multiply":"\u76F8\u4E58","dialog.adjust_opacity.mode.set":"\u8BBE\u7F6E","dialog.bedrock_bounding_box.type":"\u7C7B\u578B","dialog.bedrock_bounding_box.type.collision_box":"\u78B0\u649E\u7BB1","dialog.bedrock_bounding_box.type.selection_box":"\u9009\u62E9\u6846","dialog.bedrock_bounding_box.type.hitbox":"\u547D\u4E2D\u7BB1","dialog.bedrock_bounding_box.hitbox_note":"\u8BF7\u6CE8\u610F\uFF0C\u5B9E\u4F53\u547D\u4E2D\u7BB1\u4EC5\u5728\u4E00\u5B9A\u5C3A\u5BF8\u8303\u56F4\u5185\u6709\u6548\uFF0C\u5E76\u4E14\u53EF\u80FD\u65E0\u6CD5\u9002\u5E94\u6E38\u620F\u4E2D\u5B9E\u4F53\u7684\u65CB\u8F6C\u3002","dialog.bedrock_bounding_box.collision_note":"\u8BF7\u6CE8\u610F\uFF0C\u5B9E\u4F53\u78B0\u649E\u7BB1\u4EC5\u652F\u6301\u4E00\u4E2A\u5C45\u4E2D\u7684\u3001\u9876\u90E8\u8F6E\u5ED3\u4E3A\u6B63\u65B9\u5F62\u7684\u5F62\u72B6\u3002","dialog.bedrock_bounding_box.no_bounding_boxes":"\u6B64\u9879\u76EE\u4E2D\u4E0D\u5B58\u5728\u5305\u56F4\u76D2","dialog.install_plugins_from_list.ids":"\u63D2\u4EF6 ID","dialog.install_plugins_from_list.info":"\u4ECE ID \u5217\u8868\u6279\u91CF\u5B89\u88C5\u63D2\u4EF6\u3002\u5B89\u88C5\u524D\uFF0C\u8BF7\u786E\u8BA4\u4F60\u786E\u5B9E\u9700\u8981\u6240\u6709\u8FD9\u4E9B\u63D2\u4EF6\u3002\u4FDD\u7559\u4E0D\u4F7F\u7528\u7684\u63D2\u4EF6\u53EF\u80FD\u4F1A\u589E\u52A0\u51FA\u73B0\u9519\u8BEF\u548C\u672A\u6765\u66F4\u65B0\u4E0D\u517C\u5BB9\u7684\u98CE\u9669\u3002","dialog.copy_installed_plugins.details":"\u5305\u542B\u8BE6\u7EC6\u4FE1\u606F","dialog.flip_animation.phase_offset":"\u76F8\u4F4D\u504F\u79FB","dialog.flip_animation.phase_offset.off":"\u5173\u95ED","dialog.flip_animation.phase_offset.custom":"\u81EA\u5B9A\u4E49","dialog.flip_animation.clear_opposite":"\u8986\u5199\u5BF9\u4FA7","settings.flipbook_textures_in_animation":"\u52A8\u753B\u4E2D\u64AD\u653E\u7FFB\u9875\u7EB9\u7406","settings.flipbook_textures_in_animation.desc":"\u5728\u52A8\u753B\u65F6\u95F4\u7EBF\u4E2D\u540C\u6B65\u9884\u89C8\u7FFB\u9875\u7EB9\u7406\u52A8\u753B","settings.display_uv":"UV \u9762\u663E\u793A\u8303\u56F4","settings.display_uv.desc":"\u9009\u62E9\u5728 UV \u7F16\u8F91\u5668\u4E2D\u663E\u793A\u54EA\u4E9B UV \u9762","settings.display_uv.selected_faces":"\u4EC5\u9009\u4E2D\u7684\u9762","settings.display_uv.selected_elements":"\u9009\u4E2D\u5143\u7D20\u7684\u6240\u6709\u9762","settings.display_uv.all_elements":"\u6240\u6709\u5143\u7D20\u7684\u6240\u6709\u9762","settings.local_position_values":"\u5C40\u90E8\u7A7A\u95F4\u4F4D\u7F6E\u503C","settings.local_position_values.desc":"\u5728\u53D8\u6362\u9762\u677F\u4E2D\u4EE5\u5C40\u90E8\u7A7A\u95F4\u663E\u793A\u6240\u6709\u4F4D\u7F6E\u503C","settings.transform_cube_from_center":"\u4ECE\u4E2D\u5FC3\u53D8\u6362\u65B9\u5757","settings.transform_cube_from_center.desc":"\u4ECE\u4E2D\u5FC3\u800C\u975E\u89D2\u70B9\u7F16\u8F91\u65B9\u5757\u7684\u4F4D\u7F6E\u503C","settings.color_picker_tool_switch":"\u62FE\u8272\u5668\u5DE5\u5177\u5207\u6362","settings.color_picker_tool_switch.desc":"\u62FE\u53D6\u900F\u660E\u50CF\u7D20\u65F6\u81EA\u52A8\u5207\u6362\u4E3A\u6A61\u76AE\u64E6\uFF1B\u82E5\u5148\u524D\u5904\u4E8E\u6A61\u76AE\u64E6\u72B6\u6001\uFF0C\u62FE\u53D6\u989C\u8272\u65F6\u81EA\u52A8\u5207\u6362\u4E3A\u753B\u7B14","keybind.preview_scroll_zoom":"\u7F29\u653E\u89C6\u56FE","keybind.uv_editor_scroll_zoom":"\u7F29\u653E UV/2D \u7F16\u8F91\u5668","action.blend_mode.alpha_mask":"Alpha \u8499\u7248","action.swap_tools.hold":"\u6309\u4F4F\u5207\u6362\uFF08\u62FE\u8272\u5668\uFF09","action.import_bedrock_voxel_shape":"\u5BFC\u5165 Bedrock \u7248\u4F53\u7D20\u5F62\u72B6","action.import_bedrock_voxel_shape.desc":"\u4ECE JSON \u6587\u4EF6\u4E2D\u5C06\u4F53\u7D20\u5F62\u72B6\u6DFB\u52A0\u5230\u5F53\u524D\u9879\u76EE","action.export_bedrock_voxel_shape":"\u5BFC\u51FA Bedrock \u7248\u4F53\u7D20\u5F62\u72B6","action.export_bedrock_voxel_shape.desc":"\u5C06\u9879\u76EE\u4E2D\u7684\u5305\u56F4\u76D2\u5BFC\u51FA\u4E3A Bedrock \u7248\u4F53\u7D20\u5F62\u72B6\u6587\u4EF6","action.plugins_window_menu":"\u83DC\u5355","action.copy_installed_plugins":"\u590D\u5236\u5DF2\u5B89\u88C5\u63D2\u4EF6\u5217\u8868","action.copy_installed_plugins.desc":"\u751F\u6210\u5E76\u590D\u5236\u5F53\u524D\u5DF2\u5B89\u88C5\u63D2\u4EF6\u7684\u5217\u8868","action.install_plugins_from_list":"\u4ECE\u5217\u8868\u5B89\u88C5\u63D2\u4EF6","action.install_plugins_from_list.desc":"\u4ECE\u63D2\u4EF6 ID \u5217\u8868\u6279\u91CF\u5B89\u88C5\u63D2\u4EF6","action.add_bounding_box":"\u6DFB\u52A0\u5305\u56F4\u76D2","action.add_bounding_box.desc":"\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u5305\u56F4\u76D2","action.split_alpha_into_layer":"\u5206\u79BB Alpha \u901A\u9053\u4E3A\u56FE\u5C42","action.split_alpha_into_layer.desc":"\u5C06\u7EB9\u7406\u7684 Alpha \u901A\u9053\u5206\u79BB\u4E3A\u4E00\u4E2A Alpha \u8499\u7248\u56FE\u5C42","action.generate_bedrock_block_box":"\u590D\u5236\u78B0\u649E/\u9009\u62E9\u6846\u7EC4\u4EF6","action.generate_bedrock_block_box.desc":"\u4E3A Minecraft Bedrock \u7248\u65B9\u5757\u751F\u6210\u78B0\u649E\u6216\u9009\u62E9\u6846\u7EC4\u4EF6","action.generate_bedrock_entity_box":"\u590D\u5236\u78B0\u649E/\u547D\u4E2D\u7BB1\u7EC4\u4EF6","action.generate_bedrock_entity_box.desc":"\u4E3A Minecraft Bedrock \u7248\u5B9E\u4F53\u751F\u6210\u78B0\u649E\u6216\u81EA\u5B9A\u4E49\u547D\u4E2D\u68C0\u6D4B\u7EC4\u4EF6","action.refresh_texture":"\u5237\u65B0\u7EB9\u7406","action.refresh_texture.desc":"\u4ECE\u6587\u4EF6\u91CD\u65B0\u52A0\u8F7D\u7EB9\u7406","action.move_uv_to_cursor":"\u5C06 UV \u79FB\u81F3\u5149\u6807","action.move_uv_to_cursor.desc":"\u5C06\u9009\u4E2D\u7684 UV \u9762\u79FB\u52A8\u5230\u9F20\u6807\u5149\u6807\u6240\u5728\u4F4D\u7F6E","action.edit_mode_uv_overlay":"\u663E\u793A\u6240\u6709\u5143\u7D20","action.round_keyframe_values":"\u53D6\u6574\u5173\u952E\u5E27\u503C","action.round_keyframe_values.desc":"\u5C06\u9009\u4E2D\u5173\u952E\u5E27\u7684\u6240\u6709\u503C\u56DB\u820D\u4E94\u5165\u53D6\u6574","action.keyframe_column_create.all_channels":"\u6240\u6709\u901A\u9053","action.keyframe_column_create.all_channels.desc":"\u4E3A\u6240\u6709\u901A\u9053\u521D\u59CB\u5316\u5173\u952E\u5E27\uFF0C\u5373\u4F7F\u8BE5\u901A\u9053\u4E4B\u524D\u6CA1\u6709\u5173\u952E\u5E27","action.add_all_to_timeline":"\u5168\u90E8\u6DFB\u52A0\u5230\u65F6\u95F4\u7EBF","action.mirror_animating":"\u955C\u50CF\u52A8\u753B\u7F16\u8F91","action.mirror_animating.desc":"\u5C06\u52A8\u753B\u7F16\u8F91\u955C\u50CF\u5230\u5BF9\u4FA7","action.copy_animation_pose":"\u590D\u5236\u52A8\u753B\u59FF\u6001","action.copy_animation_pose.desc":"\u590D\u5236\u5173\u952E\u5E27\u4EE5\u590D\u73B0\u5F53\u524D\u52A8\u753B\u59FF\u6001","menu.texture.file_format":"\u6587\u4EF6\u683C\u5F0F","menu.texture.wrap_mode":"\u73AF\u7ED5\u6A21\u5F0F","menu.texture.wrap_mode.limited":"\u53D7\u9650","menu.texture.wrap_mode.repeat":"\u91CD\u590D","menu.texture.wrap_mode.clamp":"\u8FB9\u7F18\u94B3\u5236","edit.reparent_selection.adjust_position":"\u4FDD\u6301\u4E16\u754C\u53D8\u6362","texture_mesh.texture_name":"\u7EB9\u7406\u540D\u79F0","display.slot.embedded":"\u5185\u5D4C","display.animate_preview":"\u9884\u89C8\u52A8\u753B","display.reference.flower_pot":"\u82B1\u76C6"};var UL={"dialog.ok":"\u78BA\u5B9A","dialog.cancel":"\u53D6\u6D88","dialog.confirm":"\u78BA\u8A8D","dialog.close":"\u95DC\u9589","dialog.import":"\u532F\u5165","dialog.save":"\u5132\u5B58","dialog.discard":"\u64A4\u56DE","dialog.dontshowagain":"\u4E0D\u518D\u986F\u793A","data.cube":"\u65B9\u584A","data.group":"\u7FA4\u7D44","data.texture":"\u7D0B\u7406","data.plugin":"\u63D2\u4EF6","data.preview":"\u9810\u89BD","data.toolbar":"\u5DE5\u5177\u5217","data.image":"\u5716\u7247","keys.ctrl":"Ctrl","keys.shift":"Shift","keys.alt":"Alt","keys.meta":"Cmd","keys.delete":"Delete","keys.space":"\u7A7A\u767D\u9375","keys.leftclick":"\u6ED1\u9F20\u5DE6\u9375","keys.middleclick":"\u6ED1\u9F20\u4E2D\u9375","keys.rightclick":"\u6ED1\u9F20\u53F3\u9375","keys.tab":"Tab","keys.backspace":"Backspace","keys.enter":"Enter","keys.escape":"Escape","keys.function":"Fn %0","keys.numpad":"\u6578\u5B57\u9375 %0","keys.caps":"\u5927\u5C0F\u5BEB\u9396\u5B9A","keys.menu":"Contextmenu","keys.left":"Left","keys.up":"Up","keys.right":"Right","keys.down":"Down","keys.pageup":"Page Up","keys.pagedown":"Page Down","keys.plus":"+","keys.comma":",\u9375","keys.point":".\u9375","keys.minus":"-\u9375","keys.cross":"Cross\u9375","keys.end":"End","keys.pos1":"Pos 1","keys.printscreen":"Print Screen","keys.pause":"Pause","message.rotation_limit.title":"\u65CB\u8F49\u9650\u5236","message.rotation_limit.message":"Minecraft \u9650\u5236\u6A21\u578B\u53EA\u80FD\u6CBF\u8457\u4E00\u500B\u8EF8\u65CB\u8F49\uFF0C\u7E5E\u5176\u4ED6\u8EF8\u65CB\u8F49\u6703\u6E05\u9664\u6240\u6709\u5176\u4ED6\u8EF8\u7684\u65CB\u8F49\u8A2D\u5B9A\u3002\u5982\u679C\u60A8\u51FA\u65BC\u5176\u4ED6\u76EE\u7684\u5EFA\u6A21\uFF0C\u5247\u9700\u8981\u81EA\u7531\u65CB\u8F49\uFF0C\u8ACB\u5C07\u6A21\u578B\u8F49\u63DB\u70BA\u300C\u4E00\u822C\u6A21\u578B\u300D\u3002","message.file_not_found.title":"\u627E\u4E0D\u5230\u6A94\u6848","message.file_not_found.message":"Blockbench \u627E\u4E0D\u5230\u6307\u5B9A\u7684\u6A94\u6848\uFF0C\u8ACB\u78BA\u8A8D\u662F\u5132\u5B58\u5728\u672C\u6A5F\u800C\u975E\u96F2\u7AEF\u3002","message.screenshot.title":"\u622A\u5716","message.screenshot.clipboard":"\u526A\u8CBC\u7C3F","message.screenshot.right_click":"\u53F3\u9375\u6216\u9577\u6309\u64F7\u53D6\u756B\u9762\u8907\u88FD","message.invalid_file.title":"\u7121\u6548\u7684\u6A94\u6848","message.invalid_file.message":"\u7121\u6CD5\u958B\u555F json \u6A94\u6848\uFF1A%0","message.invalid_model.title":"\u7121\u6548\u7684\u6A21\u578B\u6A94\u6848","message.invalid_model.message":"\u9019\u500B\u6A94\u6848\u4E2D\u6C92\u6709\u4EFB\u4F55\u6709\u6548\u7684\u6A21\u578B\u6578\u64DA\u3002","message.child_model_only.title":"\u7A7A\u7684\u5B50\u6A21\u578B","message.child_model_only.message":"\u9019\u662F %0 \u7684\u5B50\u6A21\u578B\uFF0C\u4E0D\u5305\u542B\u4EFB\u4F55\u6A21\u578B\u3002","message.unsaved_textures.title":"\u7D0B\u7406\u672A\u5132\u5B58","message.unsaved_textures.message":"\u4F60\u7684\u6A21\u578B\u542B\u6709\u672A\u5132\u5B58\u7684\u7D0B\u7406\uFF0C\u8ACB\u78BA\u8A8D\u6709\u5C07\u5176\u653E\u7F6E\u5230\u6B63\u78BA\u7684\u8CC7\u6E90\u5305\u8CC7\u6599\u593E\u4E2D\u3002","message.model_clipping.title":"\u6A21\u578B\u904E\u5927","message.model_clipping.message":"\u60A8\u7684\u6A21\u578B\u5305\u542B %0 \u500B\u5927\u65BC Minecraft \u5141\u8A31\u7684\u65B9\u584A\u5C3A\u5BF8\u9650\u5236\u7684\u7ACB\u65B9\u9AD4\uFF0C\u6545\u6B64\u6A21\u578B\u7121\u6CD5\u5728 Minecraft \u4E2D\u904B\u4F5C\u3002","message.loose_texture.title":"\u532F\u5165\u7D0B\u7406","message.loose_texture.message":"\u532F\u5165\u7684\u7D0B\u7406\u4E0D\u5728\u8CC7\u6E90\u5305\u4E2D\uFF0CMinecraft \u50C5\u80FD\u5F9E\u8F09\u5165\u7684\u8CC7\u6E90\u5305\u4E2D\u8F09\u5165\u7D0B\u7406\u3002","message.loose_texture.change":"\u66F4\u6539\u8DEF\u5F91","message.update_res.title":"\u7D0B\u7406\u89E3\u6790\u5EA6","message.update_res.message":"\u662F\u5426\u8981\u5C07\u5C08\u6848\u7684\u89E3\u6790\u5EA6\u66F4\u6539\u70BA\u7D0B\u7406\u7684\u89E3\u6790\u5EA6\uFF1F\u5982\u679C\u7D0B\u7406\u7684\u89E3\u6790\u5EA6\u6BD4\u6B63\u5E38\u7684\u8981\u9AD8\uFF0C\u6309\u4E0B\u300C\u53D6\u6D88\u300D\u3002","message.update_res.update":"\u66F4\u65B0","message.bedrock_overwrite_error.message":"Blockbench \u7121\u6CD5\u5C07\u9019\u500B\u6A21\u578B\u8207\u820A\u7684\u6A94\u6848\u5408\u4F75\u3002","message.bedrock_overwrite_error.backup_overwrite":"\u5EFA\u7ACB\u5099\u4EFD\u4E26\u8986\u84CB","message.bedrock_overwrite_error.overwrite":"\u8986\u84CB","message.close_warning.message":"\u8981\u5132\u5B58\u6A21\u578B\u55CE\uFF1F","message.close_warning.web":"\u76EE\u524D\u7684\u5DE5\u4F5C\u5C07\u6703\u907A\u5931\uFF0C\u78BA\u8A8D\u8981\u9000\u51FA\u55CE\uFF1F","message.default_textures.title":"\u9810\u8A2D\u7D0B\u7406","message.default_textures.message":"\u9078\u53D6\u9810\u8A2D\u8CC7\u6E90\u5305\u7684 textures \u8CC7\u6599\u593E","message.default_textures.detail":"\u5F9E Minecraf \u7684 jar \u6A94\u6848\u53D6\u51FA\u6216\u81EA\u884C Google \u4E0B\u8F09\u3002\u627E\u5230\u88E1\u9762\u7684 textures \u8CC7\u6599\u593E\u4E26\u958B\u555F\u3002Blockbench \u6703\u8A18\u4F4F\u4F4D\u7F6E\uFF0C\u4E26\u5617\u8A66\u5F9E\u88E1\u9762\u5C0B\u627E\u7D0B\u7406\u3002","message.default_textures.select":"\u9078\u53D6\u9810\u8A2D\u7684 textures \u8CC7\u6599\u593E","message.image_editor.title":"\u9078\u53D6\u5716\u7247\u7DE8\u8F2F\u5668","message.image_editor.file":"\u9078\u53D6\u6A94\u6848...","message.image_editor.exe":"\u9078\u53D6\u5716\u7247\u7DE8\u8F2F\u5668\u7A0B\u5F0F","message.display_skin.title":"Minecraft \u5916\u89C0","message.display_skin.message":"\u5F9E\u96FB\u8166\u4E2D\u9078\u53D6\u5916\u89C0\u6A94\u6848\uFF0C\u6216\u8F38\u5165\u73A9\u5BB6\u540D\u5B57","message.display_skin.upload":"\u4E0A\u50B3\u5916\u89C0","message.display_skin.reset":"\u91CD\u7F6E","message.invalid_plugin":"\u7121\u6548\u7684\u63D2\u4EF6\uFF0C\u958B\u555F\u63A7\u5236\u53F0\u67E5\u770B\u932F\u8AA4\u8A0A\u606F","message.load_plugin_app":"\u662F\u5426\u5141\u8A31\u9019\u500B\u63D2\u4EF6\u4FEE\u6539\u4F60\u7684\u96FB\u8166\uFF1F\u8ACB\u78BA\u4FDD\u53EA\u5F9E\u4FE1\u4EFB\u7684\u4F5C\u8005\u8F09\u5165\u63D2\u4EF6\u3002","message.load_plugin_web":"\u662F\u5426\u8F09\u5165\u9019\u500B\u63D2\u4EF6\uFF1F\u8ACB\u78BA\u4FDD\u53EA\u5F9E\u4FE1\u4EFB\u7684\u4F5C\u8005\u8F09\u5165\u63D2\u4EF6\u3002","message.preset_no_info":"\u9810\u8A2D\u96C6\u4E26\u7121\u6B64\u6B04\u4F4D\u7684\u8A0A\u606F","message.restart_to_update":"\u91CD\u65B0\u555F\u52D5 Blockbench \u4EE5\u5957\u7528\u8B8A\u66F4\u3002","message.save_file":"\u5132\u5B58\u70BA %0","dialog.project.title":"\u5C08\u6848","dialog.project.name":"\u6A94\u6848\u540D\u7A31","dialog.project.parent":"\u7236\u6A21\u578B","dialog.project.geoname":"\u6A21\u578B\u8B58\u5225\u7B26","dialog.project.ao":"\u74B0\u5883\u5149\u906E\u853D","dialog.texture.title":"\u7D0B\u7406","dialog.texture.variable":"\u8B8A\u6578","dialog.texture.namespace":"\u547D\u540D\u7A7A\u9593","dialog.texture.folder":"\u8CC7\u6599\u593E","dialog.extrude.title":"\u62C9\u4F38\u5716\u7247","dialog.extrude.mode":"\u6383\u63CF\u6A21\u5F0F","dialog.extrude.mode.areas":"\u5340\u57DF","dialog.extrude.mode.lines":"\u7DDA\u689D","dialog.extrude.mode.columns":"\u67F1","dialog.extrude.mode.pixels":"\u50CF\u7D20","dialog.extrude.opacity":"\u6700\u4F4E\u900F\u660E\u5EA6","dialog.extrude.scan":"\u6383\u7784\u4E26\u532F\u5165","dialog.display_preset.title":"\u65B0\u5EFA\u9810\u8A2D\u96C6","dialog.display_preset.message":"\u9078\u53D6\u8981\u5132\u5B58\u7684\u6B04\u4F4D","dialog.display_preset.create":"\u5EFA\u7ACB","dialog.select.title":"\u9078\u53D6","dialog.select.group":"\u5728\u7FA4\u7D44\u4E2D\u9078\u53D6","dialog.select.name":"\u542B\u6709\u540D\u7A31","dialog.select.random":"\u96A8\u6A5F (%)","dialog.select.select":"\u9078\u53D6","dialog.scale.title":"\u7E2E\u653E\u6A21\u578B","dialog.scale.axis":"\u8EF8","dialog.scale.clipping":"\u6A21\u578B\u88C1\u5207\uFF1A\u541B\u4E4B\u6A21\u5DE8\u4E5F\uFF0C\u6EA2\u65BC\u4F5C\u5340\u77E3\u3002","dialog.scale.confirm":"\u6BD4\u4F8B","dialog.plugins.title":"\u63D2\u4EF6","dialog.plugins.installed":"\u5DF2\u5B89\u88DD","dialog.plugins.available":"\u53EF\u7528","dialog.plugins.install":"\u5B89\u88DD","dialog.plugins.uninstall":"\u89E3\u9664\u5B89\u88DD","dialog.plugins.reload":"\u91CD\u65B0\u8F09\u5165","dialog.plugins.none_installed":"\u7121\u5B89\u88DD\u4EFB\u4F55\u63D2\u4EF6","dialog.plugins.none_available":"\u7121\u63D2\u4EF6\u53EF\u7528","dialog.plugins.web_only":"\u50C5\u9650\u7DB2\u9801\u61C9\u7528\u7A0B\u5F0F\u53EF\u4EE5\u4F7F\u7528","dialog.plugins.app_only":"\u50C5\u9650\u684C\u9762\u61C9\u7528\u7A0B\u5F0F\u53EF\u4EE5\u4F7F\u7528","dialog.plugins.author":"\u4F5C\u8005\uFF1A%0","dialog.create_texture.folder":"\u8CC7\u6599\u593E","dialog.create_texture.resolution":"\u89E3\u6790\u5EA6","dialog.input.title":"\u8F38\u5165","dialog.settings.settings":"\u8A2D\u5B9A","dialog.settings.keybinds":"\u5FEB\u6377\u9375","dialog.settings.about":"\u95DC\u65BC","layout.color.back":"\u8FD4\u56DE","layout.color.back.desc":"\u80CC\u666F\u8207\u8F38\u5165\u6846","layout.color.dark":"\u9ED1\u6697","layout.color.dark.desc":"\u756B\u5E03\u80CC\u666F","layout.color.ui":"UI","layout.color.ui.desc":"\u4E3B\u4ECB\u9762\u984F\u8272","layout.color.bright_ui":"\u4EAE\u8272 UI","layout.color.bright_ui.desc":"\u9078\u55AE\u8207\u5DE5\u5177\u63D0\u793A","layout.color.button":"\u6309\u9215","layout.color.button.desc":"\u6309\u9215\u548C\u5207\u63DB\u958B\u95DC","layout.color.selected":"\u5DF2\u9078\u53D6","layout.color.selected.desc":"\u9078\u53D6\u7684\u9801\u7C64\u548C\u7269\u4EF6","layout.color.border":"\u908A\u6846","layout.color.border.desc":"\u6309\u9215\u8207\u8F38\u5165\u6846\u7684\u908A\u6846","layout.color.accent":"\u5F37\u8ABF\u8272","layout.color.accent.desc":"\u6ED1\u584A\u548C\u5176\u4ED6","layout.color.grid":"\u7DB2\u683C","layout.color.grid.desc":"3D \u9810\u89BD\u7DB2\u683C","layout.color.text":"\u6587\u5B57","layout.color.text.desc":"\u901A\u5E38\u6587\u5B57","layout.color.light":"\u6DFA\u8272","layout.color.light.desc":"\u8A9E\u6CD5\u51F8\u986F","layout.color.accent_text":"\u51F8\u986F\u6587\u5B57","layout.color.accent_text.desc":"\u4EAE\u8272\u6587\u5B57\u6216\u7A81\u986F\u7684\u5143\u7D20","layout.font.main":"\u4E3B\u8981\u5B57\u578B","layout.font.headline":"\u6A19\u984C\u5B57\u578B","about.version":"\u7248\u672C\uFF1A","settings.category.general":"\u4E00\u822C","settings.category.preview":"\u9810\u89BD","settings.category.grid":"\u7DB2\u683C","settings.category.edit":"\u7DE8\u8F2F","settings.category.snapping":"\u6355\u6349","settings.category.defaults":"\u9810\u8A2D","settings.category.dialogs":"\u5C0D\u8A71\u6846","settings.category.export":"\u532F\u51FA","settings.language":"\u8A9E\u8A00","settings.language.desc":"\u91CD\u65B0\u555F\u52D5 Blockbench \u4EE5\u5957\u7528\u8B8A\u66F4\u3002","settings.backup_interval":"\u5099\u4EFD\u9593\u9694","settings.backup_interval.desc":"\u81EA\u52D5\u5099\u4EFD\u7684\u5206\u9418\u9593\u9694","settings.origin_size":"\u6A1E\u7D10\u9EDE\u6A19\u793A\u5668","settings.origin_size.desc":"\u6A1E\u7D10\u9EDE\u6A19\u793A\u5668\u7684\u5927\u5C0F","settings.control_size":"\u8B8A\u5F62\u7CBE\u9748\u5927\u5C0F","settings.control_size.desc":"\u8B8A\u5F62\u7CBE\u9748\u7684\u5927\u5C0F","settings.display_skin":"Minecraft\u73A9\u5BB6\u5916\u89C0","settings.display_skin.desc":"\u7528\u65BC\u5C55\u793A\u73A9\u5BB6\u6A21\u578B\u7684\u5916\u89C0","settings.shading":"\u8457\u8272\u5668","settings.shading.desc":"\u5728\u9810\u89BD\u4E2D\u4F7F\u7528\u8457\u8272\u5668","settings.base_grid":"\u5C0F\u578B\u7DB2\u683C","settings.base_grid.desc":"\u986F\u793A\u8F03\u5C0F\u7684\u7DB2\u683C\u8207\u8EF8\u7DDA","settings.large_grid":"\u65B9\u584A\u7DB2\u683C","settings.large_grid.desc":"\u986F\u793A 16\xD716 \u65B9\u584A\u7684\u7DB2\u683C","settings.full_grid":"\u7CBE\u78BA\u65B9\u584A\u7DB2\u683C","settings.full_grid.desc":"\u986F\u793A\u7CBE\u78BA\u7684\u50CF\u7D20\u65B9\u584A\u7DB2\u683C","settings.large_box":"\u5C3A\u5BF8\u9650\u5236\u76D2","settings.large_box.desc":"\u986F\u793A\u5927\u5C0F\u9650\u5236\u7684\u908A\u754C","settings.display_grid":"\u5C55\u793A\u6A21\u5F0F\u7DB2\u683C","settings.display_grid.desc":"\u5728\u5C55\u793A\u6A21\u5F0F\u4E2D\u986F\u793A\u7DB2\u683C","settings.undo_limit":"\u5FA9\u539F\u4E0A\u9650","settings.undo_limit.desc":"\u5FA9\u539F\u6B21\u6578\u7684\u4E0A\u9650","settings.local_move":"\u4EE5\u76F8\u5C0D\u8EF8\u79FB\u52D5","settings.local_move.desc":"\u79FB\u52D5\u5143\u7D20\u6642\u4EE5\u81EA\u8EAB\u7684\u8EF8\u79FB\u52D5\u3002","settings.canvas_unselect":"\u6309\u4E00\u4E0B\u4EE5\u53D6\u6D88\u9078\u53D6\u80CC\u666F","settings.canvas_unselect.desc":"\u6309\u4E00\u4E0B\u756B\u5E03\u80CC\u666F\uFF0C\u53D6\u6D88\u9078\u53D6\u6240\u6709\u5143\u7D20\u3002","settings.paint_side_restrict":"\u7B46\u5237\u9650\u5236\u6A21\u5F0F","settings.paint_side_restrict.desc":"\u9650\u5236\u7B46\u5237\u53EA\u80FD\u5728\u76EE\u524D\u7684\u8868\u9762\u5857\u756B\u3002","settings.autouv":"\u81EA\u52D5 UV","settings.autouv.desc":"\u9810\u8A2D\u555F\u7528\u81EA\u52D5 UV","settings.create_rename":"\u91CD\u65B0\u547D\u540D\u65B0\u5143\u7D20","settings.create_rename.desc":"\u65B0\u5EFA\u5143\u7D20\u6216\u7FA4\u7D44\u6642\u81EA\u52D5\u5207\u63DB\u5230\u547D\u540D\u6B04\u4F4D\u3002","settings.edit_size":"\u7DB2\u683C\u89E3\u6790\u5EA6","settings.edit_size.desc":"\u5143\u7D20\u5C0D\u9F4A\u7684\u7DB2\u683C\u89E3\u6790\u5EA6","settings.shift_size":"Shift \u89E3\u6790\u5EA6","settings.shift_size.desc":"\u6309\u8457 Shift \u6642\u7684\u7DB2\u683C\u89E3\u6790\u5EA6","settings.ctrl_size":"Control \u89E3\u6790\u5EA6","settings.ctrl_size.desc":"\u6309\u8457 Control \u6642\u7684\u7DB2\u683C\u89E3\u6790\u5EA6","settings.negative_size":"\u8CA0\u5C3A\u5BF8","settings.negative_size.desc":"\u5141\u8A31\u8ABF\u6574\u5C3A\u5BF8\u5DE5\u5177\u4F7F\u7528\u8CA0\u503C","settings.minifiedout":"\u6700\u5C0F\u5316\u532F\u51FA","settings.minifiedout.desc":"\u5C07 JSON \u8F38\u51FA\u7C21\u5316\u6210\u4E00\u884C","settings.export_groups":"\u532F\u51FA\u65B9\u584A\u6216\u7269\u54C1\u4E4B\u7FA4\u7D44","settings.export_groups.desc":"\u5C07\u7FA4\u7D44\u5132\u5B58\u81F3\u65B9\u584A\u6216\u7269\u54C1\u6A94\u6848","settings.credit":"\u7248\u6B0A\u8A0A\u606F","settings.credit.desc":"\u5728\u8F38\u51FA\u7684\u6A94\u6848\u4E2D\u52A0\u5165\u7248\u6B0A\u8A0A\u606F","settings.default_path":"\u9810\u8A2D Minecraft \u7D0B\u7406\u8DEF\u5F91","settings.default_path.desc":"Blokbench \u8F09\u5165\u9810\u8A2D\u7D0B\u7406\u7684\u8DEF\u5F91","settings.image_editor":"\u5716\u7247\u7DE8\u8F2F\u5668","settings.image_editor.desc":"\u9810\u8A2D\u7684\u5716\u7247\u7DE8\u8F2F\u5668","category.navigate":"\u5C0E\u89BD","category.tools":"\u5DE5\u5177","category.file":"\u6A94\u6848","category.blockbench":"Blockbench","category.edit":"\u7DE8\u8F2F","category.transform":"\u8B8A\u5F62","category.view":"\u6AA2\u8996","category.display":"\u986F\u793A\u8A2D\u5B9A","category.textures":"\u7D0B\u7406","category.misc":"\u5176\u4ED6","keybind.preview_select":"\u9078\u53D6","keybind.preview_rotate":"\u65CB\u8F49\u8996\u89D2","keybind.preview_drag":"\u62D6\u52D5\u8996\u89D2","keybind.confirm":"\u78BA\u8A8D","keybind.cancel":"\u53D6\u6D88","action.slider_inflate":"\u81A8\u8139","action.slider_inflate.desc":"\u81A8\u8139\u7ACB\u65B9\u9AD4\uFF0C\u4E0D\u5F71\u97FF UV\u3002","action.slider_brush_size":"\u5C3A\u5BF8","action.slider_brush_size.desc":"\u7B46\u5237\u7684\u5C3A\u5BF8\uFF08\u50CF\u7D20\uFF09","action.slider_brush_opacity":"\u900F\u660E\u5EA6","action.slider_brush_opacity.desc":"\u7B46\u5237\u900F\u660E\u5EA6\uFF080~255\uFF09","action.slider_brush_softness":"\u786C\u5EA6","action.slider_brush_softness.desc":"\u7B46\u5237\u786C\u5EA6\uFF08%\uFF09","action.uv_slider_pos_x":"\u6C34\u5E73\u79FB\u52D5","action.uv_slider_pos_x.desc":"\u6C34\u5E73\u79FB\u52D5\u9078\u4E2D\u7ACB\u65B9\u9AD4\u7684 UV","action.uv_slider_pos_y":"\u5782\u76F4\u79FB\u52D5","action.uv_slider_pos_y.desc":"\u5782\u76F4\u79FB\u52D5\u9078\u4E2D\u7ACB\u65B9\u9AD4\u7684 UV","action.uv_slider_size_x":"\u6C34\u5E73\u7E2E\u653E","action.uv_slider_size_x.desc":"\u6C34\u5E73\u7E2E\u653E\u9078\u4E2D\u7ACB\u65B9\u9AD4\u7684 UV","action.uv_slider_size_y":"\u5782\u76F4\u7E2E\u653E","action.uv_slider_size_y.desc":"\u5782\u76F4\u79FB\u52D5\u9078\u4E2D\u7ACB\u65B9\u9AD4\u7684 UV","action.vertex_snap_mode":"\u6355\u6349\u6A21\u5F0F","action.vertex_snap_mode.desc":"\u9802\u9EDE\u6355\u6349\u6A21\u5F0F\u6642\u53EA\u79FB\u52D5\u5143\u7D20\u6216\u8ABF\u6574\u5927\u5C0F","action.move_tool":"\u79FB\u52D5","action.move_tool.desc":"\u9078\u53D6\u4E26\u79FB\u52D5\u5143\u7D20\u7684\u5DE5\u5177","action.resize_tool":"\u8ABF\u6574\u5C3A\u5BF8","action.resize_tool.desc":"\u9078\u53D6\u548C\u8ABF\u6574\u5C3A\u5BF8\u7684\u5DE5\u5177","action.brush_tool":"\u7E6A\u756B\u7B46\u5237","action.brush_tool.desc":"\u53EF\u5728\u8868\u9762\u6216UV\u7DE8\u8F2F\u5668\u4F5C\u756B\u7684\u5DE5\u5177","action.vertex_snap_tool":"\u9802\u9EDE\u6355\u6349","action.vertex_snap_tool.desc":"\u5C07\u7ACB\u65B9\u9AD4\u9593\u4EE5\u9802\u9EDE\u9023\u8D77\u4F86","action.swap_tools":"\u4EA4\u63DB\u5DE5\u5177","action.swap_tools.desc":"\u5728\u79FB\u52D5\u548C\u8ABF\u6574\u5C3A\u5BF8\u5DE5\u5177\u5207\u63DB","action.project_window":"\u5C08\u6848\u2026","action.project_window.desc":"\u958B\u555F\u5C08\u6848\u8996\u7A97\uFF0C\u53EF\u7DE8\u8F2F\u6A21\u578B\u7684\u8A73\u7D30\u8CC7\u8A0A\u3002","action.open_model":"\u958B\u555F\u6A21\u578B","action.open_model.desc":"\u5F9E\u96FB\u8166\u4E0A\u958B\u555F\u6A21\u578B","action.extrude_texture":"\u62C9\u4F38\u7D0B\u7406","action.extrude_texture.desc":"\u62C9\u4F38\u7D0B\u7406\u4E26\u65B0\u5EFA\u6A21\u578B","action.export_blockmodel":"\u532F\u51FA\u65B9\u584A\uFF0F\u7269\u54C1\u6A21\u578B","action.export_blockmodel.desc":"\u532F\u51FA Minecraft Java \u7248\u65B9\u584A\uFF0F\u7269\u54C1\u6A21\u578B","action.export_optifine_part":"\u532F\u51FA OptiFine Part","action.export_optifine_part.desc":"\u532F\u51FA OptiFine \u5BE6\u9AD4\u6A21\u578B\u7684\u55AE\u4E00\u500B part","action.export_optifine_full":"\u532F\u51FA OptiFine JEM","action.export_optifine_full.desc":"\u532F\u51FA\u5B8C\u6574\u7684 OptiFine \u5BE6\u9AD4\u6A21\u578B","action.export_obj":"\u532F\u51FA OBJ \u6A21\u578B","action.export_obj.desc":"\u532F\u51FA\u6210 Wavefront OBJ \u683C\u5F0F\uFF0C\u7528\u65BC\u6E32\u67D3","action.settings_window":"\u8A2D\u5B9A \u2026","action.settings_window.desc":"\u958B\u555F Blockbennch \u8A2D\u5B9A\u5C0D\u8A71\u6846","action.plugins_window":"\u63D2\u4EF6\u2026","action.plugins_window.desc":"\u958B\u555F\u63D2\u4EF6\u5546\u5E97\u8996\u7A97","action.reset_layout":"\u91CD\u8A2D\u7248\u9762\u914D\u7F6E","action.reset_layout.desc":"\u5C07\u7248\u9762\u914D\u7F6E\u91CD\u8A2D\u81F3 Blockbench \u9810\u8A2D\u6A23\u5F0F","action.load_plugin":"\u8F09\u5165\u63D2\u4EF6\u6A94\u6848","action.load_plugin.desc":"\u532F\u5165\u63D2\u4EF6\u6A94\u6848","action.reload_plugins":"\u91CD\u65B0\u8F09\u5165\u63D2\u4EF6","action.reload_plugins.desc":"\u91CD\u65B0\u8F09\u5165\u6240\u6709\u7684\u958B\u767C\u7528\u63D2\u4EF6","action.undo":"\u5FA9\u539F","action.undo.desc":"\u5FA9\u539F\u4E0A\u4E00\u6B21\u8B8A\u66F4","action.redo":"\u53D6\u6D88\u5FA9\u539F","action.redo.desc":"\u53D6\u6D88\u5FA9\u539F\u4E0A\u4E00\u6B21\u8B8A\u66F4","action.copy":"\u8907\u88FD","action.copy.desc":"\u8907\u88FD\u9078\u53D6\u5340\uFF0C\u9762\u6216\u986F\u793A\u8A2D\u5B9A","action.paste":"\u8CBC\u4E0A","action.paste.desc":"\u8CBC\u4E0A\u9078\u53D6\u5340\uFF0C\u9762\u6216\u986F\u793A\u8A2D\u5B9A","action.cut":"\u526A\u4E0B","action.cut.desc":"\u526A\u4E0B\u9078\u53D6\u5340\uFF0C\u9762\u6216\u986F\u793A\u8A2D\u5B9A","action.add_cube":"\u6DFB\u52A0\u584A","action.add_cube.desc":"\u6DFB\u52A0\u4E00\u500B\u65B0\u7684\u584A","action.add_group":"\u6DFB\u52A0\u5206\u7D44","action.add_group.desc":"\u6DFB\u52A0\u4E00\u500B\u65B0\u7684\u5206\u7D44\u6216\u9AA8\u9ABC","action.outliner_toggle":"\u5207\u63DB\u986F\u793A\u66F4\u591A\u9078\u9805","action.outliner_toggle.desc":"\u5728\u5927\u7DB1\u8996\u5716\u4E2D\u986F\u793A\u66F4\u591A\u9078\u9805","action.duplicate":"\u8907\u88FD","action.delete":"\u522A\u9664","action.sort_outliner":"\u5927\u7DB1\u6392\u5E8F","action.sort_outliner.desc":"\u6309\u5B57\u6BCD\u6392\u5E8F\u5927\u7DB1","action.select_window":"\u9078\u53D6\u2026","action.select_window.desc":"\u6309\u5C6C\u6027\u641C\u5C0B\u548C\u9078\u53D6\u5143\u7D20","action.invert_selection":"\u53CD\u8F49\u9078\u53D6","action.invert_selection.desc":"\u53CD\u8F49\u9078\u53D6\u9078\u4E2D\u7684\u5143\u7D20","action.select_all":"\u5168\u90E8\u9078\u53D6","action.collapse_groups":"\u89E3\u6563\u7FA4\u7D44","action.collapse_groups.desc":"\u5728\u5927\u7DB1\u8996\u5716\u4E2D\u89E3\u6563\u7FA4\u7D44","action.scale":"\u7E2E\u653E\u2026","action.scale.desc":"\u7E2E\u653E\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4","action.toggle_visibility":"\u5207\u63DB\u986F\u793A","action.toggle_visibility.desc":"\u986F\u793A\u6216\u96B1\u85CF\u9078\u53D6\u7684\u5143\u7D20","action.toggle_export":"\u5207\u63DB\u532F\u51FA","action.toggle_export.desc":"\u5207\u63DB\u9078\u53D6\u5143\u7D20\u7684\u532F\u51FA\u8A2D\u5B9A","action.toggle_autouv":"\u5207\u63DB\u81EA\u52D5 UV","action.toggle_autouv.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u662F\u5426\u81EA\u52D5 UV","action.toggle_shade":"\u5207\u63DB\u8457\u8272","action.toggle_shade.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u662F\u5426\u8981\u4F7F\u7528\u8457\u8272\u5668","action.rename":"\u91CD\u65B0\u547D\u540D","action.rename.desc":"\u91CD\u65B0\u547D\u540D\u9078\u53D6\u5143\u7D20\u6216\u7FA4\u7D44\u7684\u540D\u7A31","action.add_display_preset":"\u65B0\u5EFA\u9810\u8A2D","action.add_display_preset.desc":"\u6DFB\u52A0\u65B0\u7684\u986F\u793A\u8A2D\u7F6E\u9810\u8A2D","action.fullscreen":"\u5168\u87A2\u5E55","action.fullscreen.desc":"\u5207\u63DB\u5168\u87A2\u5E55\u6A21\u5F0F","action.zoom_in":"\u653E\u5927","action.zoom_in.desc":"\u653E\u5927\u4ECB\u9762","action.zoom_out":"\u7E2E\u5C0F","action.zoom_out.desc":"\u7E2E\u5C0F\u4ECB\u9762","action.zoom_reset":"\u91CD\u8A2D\u653E\u5927","action.zoom_reset.desc":"\u5C07\u7E2E\u653E\u6BD4\u91CD\u8A2D\u70BA 100 \uFF05","action.reset_interface":"\u91CD\u8A2D\u4ECB\u9762","action.reset_interface.desc":"\u91CD\u8A2D GUI \u7684\u4F4D\u7F6E\u548C\u5927\u5C0F","action.screenshot_model":"\u6A21\u578B\u64F7\u53D6\u756B\u9762","action.screenshot_model.desc":"\u5F9E\u76EE\u524D\u89D2\u5EA6\u7D66\u6A21\u578B\u64F7\u53D6\u756B\u9762","action.screenshot_app":"\u61C9\u7528\u7A0B\u5F0F\u622A\u5716","action.screenshot_app.desc":"\u622A\u5716\u6574\u500B\u61C9\u7528\u7A0B\u5F0F","action.import_texture":"\u532F\u5165\u7D0B\u7406","action.import_texture.desc":"\u5F9E\u96FB\u8166\u4E2D\u532F\u5165\u7D0B\u7406","action.create_texture":"\u65B0\u589E\u7D0B\u7406","action.create_texture.desc":"\u65B0\u5EFA\u7BC4\u672C\u6216\u7A7A\u767D\u7D0B\u7406","action.save_textures":"\u5132\u5B58\u7D0B\u7406","action.save_textures.desc":"\u5132\u5B58\u6240\u6709\u672A\u5132\u5B58\u7684\u7D0B\u7406","action.animated_textures":"\u64AD\u653E\u52D5\u614B\u7D0B\u7406","action.animated_textures.desc":"\u64AD\u653E\u548C\u66AB\u505C\u52D5\u756B\u7D0B\u7406\u7684\u9810\u89BD","action.origin_to_geometry":"\u6A1E\u7D10\u9EDE\u5C0D\u9F4A\u4E2D\u5FC3","action.origin_to_geometry.desc":"\u6A1E\u7D10\u9EDE\u5C0D\u9F4A\u81F3\u9078\u53D6\u5340\u4E2D\u5FC3","action.bone_reset_toggle":"\u91CD\u8A2D\u9AA8\u9ABC","action.bone_reset_toggle.desc":"\u505C\u6B62\u986F\u793A\u7236\u6A21\u578B\u9AA8\u9ABC\u7684\u7ACB\u65B9\u9AD4","action.reload":"\u91CD\u65B0\u8F09\u5165 Blockbench","action.reload.desc":"\u91CD\u65B0\u8F09\u5165 Blockbench\uFF0C\u7D42\u6B62\u6240\u6709\u672A\u5132\u5B58\u7684\u7A0B\u5F0F\u3002","menu.file":"\u6A94\u6848","menu.edit":"\u7DE8\u8F2F","menu.transform":"\u8B8A\u5F62","menu.display":"\u986F\u793A","menu.view":"\u6AA2\u8996","menu.file.new":"\u65B0\u5EFA","menu.file.recent":"\u6700\u8FD1","menu.file.import":"\u532F\u5165","menu.file.export":"\u532F\u51FA","menu.transform.rotate":"\u65CB\u8F49","menu.transform.flip":"\u7FFB\u8F49","menu.transform.center":"\u5C0D\u6E96\u4E2D\u5FC3","menu.transform.properties":"\u5C6C\u6027","menu.display.preset":"\u5957\u7528\u9810\u8A2D\u96C6","menu.display.preset_all":"\u5168\u90E8\u5957\u7528\u9810\u8A2D\u96C6","menu.display.remove_preset":"\u79FB\u9664\u9810\u8A2D\u96C6","menu.view.zoom":"\u7E2E\u653E","menu.view.background":"\u80CC\u666F","menu.view.screenshot":"\u622A\u5716","menu.cube.color":"\u6A19\u793A\u5668\u984F\u8272","menu.cube.texture":"\u7D0B\u7406","menu.cube.texture.transparent":"\u900F\u660E","menu.cube.texture.blank":"\u7A7A\u767D","menu.group.sort":"\u6392\u5E8F","menu.texture.face":"\u5957\u7528\u81F3\u9762","menu.texture.file":"\u6A94\u6848","menu.texture.refresh":"\u91CD\u65B0\u8F09\u5165","menu.texture.change":"\u66F4\u6539\u6A94\u6848","menu.texture.folder":"\u5728\u8CC7\u6599\u593E\u4E2D\u958B\u555F","menu.texture.edit":"\u7DE8\u8F2F","menu.texture.export":"\u5132\u5B58\u70BA","menu.texture.save":"\u5132\u5B58","menu.texture.properties":"\u5C6C\u6027\u2026","menu.preview.background":"\u80CC\u666F","menu.preview.background.load":"\u8F09\u5165","menu.preview.background.position":"\u4F4D\u7F6E","menu.preview.background.lock":"\u9396\u5B9A\u76F8\u6A5F","menu.preview.screenshot":"\u622A\u5716","menu.preview.perspective":"\u89D2\u5EA6","menu.preview.perspective.normal":"\u666E\u901A","menu.preview.quadview":"\u56DB\u91CD\u5206\u5272\u6AA2\u8996","menu.preview.stop_drag":"\u505C\u6B62\u80CC\u666F\u79FB\u52D5","menu.uv.mapping.rotation":"\u65CB\u8F49","menu.uv.texture":"\u7D0B\u7406","cube.color.light_blue":"\u6DFA\u85CD\u8272","cube.color.yellow":"\u9EC3\u8272","cube.color.orange":"\u6A59\u8272","cube.color.red":"\u7D05\u8272","cube.color.purple":"\u7D2B\u8272","cube.color.blue":"\u85CD\u8272","cube.color.green":"\u7DA0\u8272","cube.color.lime":"\u6DFA\u7DA0\u8272","switches.visibility":"\u5207\u63DB\u986F\u793A","switches.export":"\u532F\u51FA","switches.autouv":"\u81EA\u52D5 UV","panel.uv":"UV","panel.display":"\u986F\u793A","panel.textures":"\u7D0B\u7406","panel.outliner":"\u5927\u7DB1","uv_editor.title":"UV \u7DE8\u8F2F\u5668","uv_editor.all_faces":"\u5168\u90E8","uv_editor.no_faces":"\u7121","face.north":"\u5317","face.south":"\u5357","face.west":"\u897F","face.east":"\u6771","face.up":"\u4E0A","face.down":"\u4E0B","direction.north":"\u5317","direction.south":"\u5357","direction.west":"\u897F","direction.east":"\u6771","direction.top":"\u9802\u90E8","direction.bottom":"\u5E95\u90E8","display.slot.third_right":"\u7B2C\u4E09\u4EBA\u7A31\u53F3\u624B","display.slot.third_left":"\u7B2C\u4E09\u4EBA\u7A31\u5DE6\u624B","display.slot.first_right":"\u7B2C\u4E00\u4EBA\u7A31\u53F3\u624B","display.slot.first_left":"\u7B2C\u4E00\u4EBA\u7A31\u5DE6\u624B","display.slot.head":"\u6234\u5728\u982D\u4E0A","display.slot.ground":"\u6389\u843D\u7269","display.slot.frame":"\u7269\u54C1\u5C55\u793A\u6846","display.slot.gui":"GUI","display.rotation":"\u65CB\u8F49","display.translation":"\u504F\u79FB","display.scale":"\u7E2E\u653E","display.slot":"\u6B04\u4F4D","display.reference":"\u53C3\u8003\u6A21\u578B","display.reference.player":"\u73A9\u5BB6","display.reference.zombie":"\u6210\u5E74\u6BAD\u5C4D","display.reference.armor_stand":"\u76D4\u7532\u67B6","display.reference.baby_zombie":"\u5E7C\u5E74\u6BAD\u5C4D","display.reference.armor_stand_small":"\u5C0F\u76D4\u7532\u67B6","display.reference.monitor":"\u666E\u901A","display.reference.bow":"\u5F13","display.reference.block":"\u65B9\u584A","display.reference.frame":"\u7269\u54C1\u5C55\u793A\u6846","display.reference.inventory_nine":"3\xD73","display.reference.inventory_full":"\u80CC\u5305","display.reference.hud":"\u62AC\u982D\u986F\u793A\u5668\uFF08HUD\uFF09","display.preset.blank_name":"\u8ACB\u8F38\u5165\u540D\u7A31","display.preset.item":"\u9810\u8A2D\u7269\u54C1","display.preset.block":"\u9810\u8A2D\u65B9\u584A","display.preset.handheld":"\u9810\u8A2D\u6B66\u5668","display.preset.rod":"\u9810\u8A2D\u68D2\u5B50","dialog.continue":"\u7E7C\u7E8C","message.square_textures":"\u7D0B\u7406\u5FC5\u9808\u70BA\u6B63\u65B9\u5F62","message.unsaved_texture.title":"\u672A\u5132\u5B58\u7684\u7D0B\u7406","message.unsaved_texture.message":"\u7D0B\u7406\u672A\u5132\u5B58\u7684\u8B8A\u66F4\u5C07\u6703\u907A\u5931\uFF0C\u662F\u5426\u7E7C\u7E8C\uFF1F","action.vertex_snap_mode.move":"\u79FB\u52D5","action.vertex_snap_mode.scale":"\u7E2E\u653E","action.open_model_folder":"\u958B\u555F\u6A21\u578B\u8CC7\u6599\u593E","action.open_model_folder.desc":"\u958B\u555F\u6A21\u578B\u8CC7\u6599\u593E","action.change_textures_folder":"\u8B8A\u66F4\u6750\u8CEA\u4F4D\u7F6E","action.change_textures_folder.desc":"\u8B8A\u66F4\u5132\u5B58\u6750\u8CEA\u7684\u8CC7\u6599\u593E","menu.texture.particle":"\u4F7F\u7528\u7C92\u5B50","message.update_notification.title":"\u7121\u6CD5\u5B89\u88DD\u66F4\u65B0","message.update_notification.message":"\u65B0\u7248\u672C\u5DF2\u7D93\u91CB\u51FA\uFF0C\u8ACB\u5728\u8A2D\u5B9A\u4E2D\u958B\u555F\u81EA\u52D5\u66F4\u65B0\u9032\u884C\u5B89\u88DD\uFF01","message.untextured":"\u6B64\u5E73\u9762\u6C92\u6709\u4EFB\u4F55\u7D0B\u7406","dialog.toolbar_edit.title":"\u81EA\u8A02\u5DE5\u5177\u5217","keybindings.reset":"\u91CD\u8A2D","keybindings.clear":"\u7A7A\u767D","action.cube_counter":"\u7ACB\u65B9\u9AD4\u8A08\u6578\u5668","action.uv_rotation":"UV \u65CB\u8F49","action.uv_rotation.desc":"UV \u9762\u7684\u65CB\u8F49","action.uv_grid":"UV \u65B9\u683C","action.uv_grid.desc":"UV \u9078\u53D6\u5668\u8981\u6355\u6349\u7684\u7DB2\u683C\u89E3\u6790\u5EA6","action.uv_grid.auto":"\u81EA\u52D5","action.uv_maximize":"UV \u6700\u5927\u5316","action.uv_maximize.desc":"\u5C07\u6B64\u9762\u7684 UV \u7D0B\u7406\u6700\u5927\u5316","action.uv_auto":"\u81EA\u52D5 UV","action.uv_auto.desc":"\u5C07\u6B64\u9762\u7684 UV \u5C3A\u5BF8\u8ABF\u6574\u70BA\u5BE6\u969B\u9762\u7684\u5927\u5C0F","action.uv_rel_auto":"\u76F8\u5C0D\u81EA\u52D5 UV","action.uv_rel_auto.desc":"\u8B93\u6B64\u9762\u7684 UV \u5C3A\u5BF8\u7B26\u5408\u5BE6\u969B\u9762\u7684\u5927\u5C0F\u548C\u4F4D\u7F6E","action.uv_mirror_x":"UV X \u93E1\u5C04","action.uv_mirror_x.desc":"\u4EE5 X \u8EF8\u93E1\u5C04\u6B64\u9762 UV","action.uv_mirror_y":"UV Y \u93E1\u5C04","action.uv_mirror_y.desc":"\u4EE5 Y \u8EF8\u93E1\u5C04\u6B64\u9762 UV","action.uv_transparent":"\u79FB\u9664\u9762","action.uv_transparent.desc":"\u79FB\u9664\u76EE\u524D\u7684\u9762","action.uv_reset":"\u91CD\u8A2D\u9762","action.uv_reset.desc":"\u91CD\u8A2D\u76EE\u524D\u7684\u9762","action.cullface":"\u5254\u9664\u9762","action.cullface.desc":"\u5982\u679C\u9078\u53D6\u7684\u6A21\u578B\u8986\u84CB\u6B64\u9762\uFF0C\u5247\u4E0D\u6E32\u67D3\u6B64\u9762","action.auto_cullface":"\u81EA\u52D5\u5254\u9664\u9762","action.auto_cullface.desc":"\u5C07\u6B64\u9762\u7684\u5254\u9664\u9762\u8A2D\u7F6E\u70BA\u81EA\u8EAB","action.face_tint":"\u8457\u8272","action.face_tint.desc":"\u958B\u555F\u6B64\u9762\u7684\u8457\u8272\u9078\u9805","menu.toolbar.edit":"\u81EA\u8A02","menu.toolbar.reset":"\u91CD\u8A2D","uv_editor.rotated":"\u65CB\u8F49","uv_editor.auto_cull":"\u5254\u9664\u81EA\u8EAB","uv_editor.copied":"\u8907\u88FD\u7684\u9762","uv_editor.pasted":"\u8CBC\u4E0A\u7684\u9762","uv_editor.copied_x":"\u5DF2\u8907\u88FD%0\u500B\u9762","uv_editor.reset":"\u91CD\u8A2D\u9762","uv_editor.maximized":"\u6700\u5927\u5316","uv_editor.autouv":"\u81EA\u52D5\u5C3A\u5BF8","uv_editor.mirrored":"\u93E1\u5C04","uv_editor.to_all":"\u5957\u7528\u81F3\u6240\u6709\u7684\u9762","uv_editor.transparent":"\u8F49\u70BA\u900F\u660E","uv_editor.cullface_on":"\u958B\u555F\u5254\u9664\u9762","uv_editor.cullface_off":"\u95DC\u9589\u5254\u9664\u9762","uv_editor.tint_on":"\u958B\u555F\u8457\u8272","uv_editor.tint_off":"\u95DC\u9589\u8457\u8272","action.uv_apply_all":"\u5957\u7528\u81F3\u6240\u6709\u7684\u9762","action.uv_apply_all.desc":"\u5C07\u76EE\u524D\u9762\u7684\u8A2D\u5B9A\u5957\u7528\u81F3\u6240\u6709\u7684\u9762","message.image_editor_missing.title":"\u9810\u8A2D\u5716\u7247\u7DE8\u8F2F\u5668","message.image_editor_missing.message":"\u9078\u53D6\u5716\u7247\u7DE8\u8F2F\u5668\u7684\u61C9\u7528\u7A0B\u5F0F","message.image_editor_missing.detail":"Blockbench \u5728\u4F60\u7684\u96FB\u8166\u4E0A\u627E\u4E0D\u5230\u4EFB\u4F55\u5716\u7247\u7DE8\u8F2F\u5668\uFF0C\u8ACB\u81EA\u884C\u9078\u53D6\u5716\u7247\u7DE8\u8F2F\u5668\u61C9\u7528\u7A0B\u5F0F\u3002","action.update_autouv":"\u66F4\u65B0\u81EA\u52D5 UV","action.update_autouv.desc":"\u81EA\u52D5\u66F4\u65B0\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u7684 UV \u6620\u5C04","category.uv":"UV","status_bar.saved":"\u6A21\u578B\u5DF2\u5132\u5B58","status_bar.unsaved":"\u6709\u8B8A\u66F4\u672A\u5132\u5B58","action.move_up":"\u5F80\u4E0A\u79FB\u52D5","action.move_up.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u4E0A\u79FB\u52D5","action.move_down":"\u5F80\u4E0B\u79FB\u52D5","action.move_down.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u4E0B\u79FB\u52D5","action.move_left":"\u5F80\u5DE6\u79FB\u52D5","action.move_left.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u5DE6\u79FB\u52D5","action.move_right":"\u5F80\u53F3\u79FB\u52D5","action.move_right.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u53F3\u79FB\u52D5","action.move_forth":"\u5F80\u524D\u79FB\u52D5","action.move_forth.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u524D\u79FB\u52D5","action.move_back":"\u5F80\u5F8C\u79FB\u52D5","action.move_back.desc":"\u5C07\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4\u6309\u651D\u5F71\u6A5F\u8996\u89D2\u5F80\u5F8C\u79FB\u52D5","layout.color.wireframe":"\u7DDA\u6846","layout.color.wireframe.desc":"\u7DDA\u6846\u8996\u5716\u7684\u7DDA\u689D","action.add_animation":"\u6DFB\u52A0\u52D5\u756B","action.add_animation.desc":"\u5275\u5EFA\u4E00\u500B\u7A7A\u767D\u52D5\u756B","action.load_animation_file":"\u532F\u5165\u52D5\u756B","action.load_animation_file.desc":"\u532F\u5165\u52D5\u756B\u6A94\u6309","action.play_animation":"\u64AD\u653E\u52D5\u756B","action.play_animation.desc":"\u9810\u89BD\u9078\u53D6\u7684\u52D5\u756B","action.slider_keyframe_time":"\u6642\u9593\u78BC","action.slider_keyframe_time.desc":"\u8B8A\u66F4\u9078\u53D6\u7684\u95DC\u9375\u5F71\u683C\u7684\u6642\u9593\u78BC","timeline.rotation":"\u65CB\u8F49","timeline.position":"\u4F4D\u7F6E","timeline.scale":"\u7E2E\u653E","menu.keyframe.quaternion":"\u56DB\u5143\u6578","panel.animations":"\u52D5\u756B","panel.keyframe":"\u95DC\u9375\u5F71\u683C","panel.keyframe.type":"\u95DC\u9375\u5F71\u683C \uFF08%0\uFF09","generic.delete":"\u522A\u9664","generic.rename":"\u91CD\u65B0\u547D\u540D","message.no_animation_selected":"\u8ACB\u5148\u9078\u64C7\u4E00\u500B\u52D5\u756B","message.no_bone_selected":"\u8ACB\u5148\u9078\u64C7\u4E00\u500B\u9AA8\u9ABC","message.duplicate_groups.title":"\u9AA8\u9ABC\u540D\u7A31\u91CD\u8907","message.duplicate_groups.message":"\u591A\u500B\u9AA8\u9ABC\u4F7F\u7528\u540C\u6A23\u7684\u540D\u7A31\uFF0C\u9019\u6703\u5C0E\u81F4\u4E00\u4E9B\u932F\u8AA4\u3002","action.delete_keyframes":"\u522A\u9664\u95DC\u9375\u5F71\u683C","action.delete_keyframes.desc":"\u522A\u9664\u9078\u53D6\u7684\u95DC\u9375\u5F71\u683C","menu.animation":"\u52D5\u756B","menu.animation.loop":"\u8FF4\u5708\u6A21\u5F0F","menu.animation.override":"\u8986\u84CB","menu.animation.anim_time_update":"\u52D5\u756B\u66F4\u65B0\u6642\u9593","message.display_skin_model.title":"\u5916\u89C0\u6A21\u578B","message.display_skin_model.message":"\u9078\u53D6\u5916\u89C0\u7684\u6A21\u578B\u6A23\u5F0F","message.display_skin_model.classic":"\u7D93\u5178","message.display_skin_model.slim":"\u82D7\u689D","message.bone_material":"\u66F4\u6539\u9AA8\u9ABC\u7684\u6750\u8CEA","action.slider_animation_length":"\u52D5\u756B\u9577\u5EA6","action.slider_animation_length.desc":"\u8B8A\u66F4\u9078\u53D6\u7684\u52D5\u756B\u9577\u5EA6","panel.variable_placeholders":"\u8B8A\u6578\u4F54\u4F4D\u7B26","panel.variable_placeholders.info":"\u4F7F\u7528 \u8B8A\u6578\u540D=\u503C \u4F86\u9810\u89BD\u8B8A\u6578","status_bar.vertex_distance":"\u8DDD\u96E2\uFF1A%0","dialog.create_gif.title":"\u9304\u88FD GIF","dialog.create_gif.length":"\u9577\u5EA6","dialog.create_gif.fps":"FPS","dialog.create_gif.play":"\u958B\u59CB\u64AD\u653E\u52D5\u756B","category.animation":"\u52D5\u756B","action.record_model_gif":"\u9304\u88FD GIF...","action.record_model_gif.desc":"\u5F9E\u76EE\u524D\u89D2\u5EA6\u9304\u88FD\u6A21\u578B\u52D5\u756B","display.mirror":"\u93E1\u5C04","data.separator":"\u5206\u9694","menu.preview.background.set_position":"\u8A2D\u5B9A\u4F4D\u7F6E","dialog.toolbar_edit.hidden":"\u5DF2\u96B1\u85CF","action.export_class_entity":"\u532F\u51FA Java \u5BE6\u9AD4","action.export_class_entity.desc":"\u5C07\u5BE6\u9AD4\u6A21\u578B\u532F\u51FA\u70BA Java \u985E\u5225","settings.seethrough_outline":"\u900F\u8996\u5927\u7DB1","settings.seethrough_outline.desc":"\u900F\u8996\u7269\u4EF6\u5927\u7DB1","mode.edit":"\u7DE8\u8F2F","mode.paint":"\u7E6A\u5716","mode.display":"\u5C55\u793A","mode.animate":"\u52D5\u756B","status_bar.recording_gif":"\u9304\u88FD GIF","status_bar.processing_gif":"\u8655\u7406 GIF\u4E2D","settings.backup_retain":"\u5099\u4EFD\u4FDD\u7559\u671F\u9650","settings.backup_retain.desc":"\u8A2D\u5B9A Blockbench \u4FDD\u7559\u5099\u4EFD\u7684\u5929\u6578","action.rotate_tool":"\u65CB\u8F49","action.rotate_tool.desc":"\u9078\u53D6\u548C\u65CB\u8F49\u5143\u7D20\u7684\u5DE5\u5177","action.fill_tool":"\u6CB9\u6F06\u6876","action.fill_tool.desc":"\u6CB9\u6F06\u6876\u53EF\u7D66\u6574\u500B\u9762\u586B\u6EFF\u55AE\u4E00\u984F\u8272","action.eraser":"\u6A61\u76AE\u64E6","action.eraser.desc":"\u6A61\u76AE\u64E6\u5DE5\u5177\u53EF\u5C07\u7D0B\u7406\u4E0A\u7684\u984F\u8272\u8B8A\u70BA\u900F\u660E","action.color_picker":"\u53D6\u8272\u5668","action.color_picker.desc":"\u5F9E\u7D0B\u7406\u50CF\u7D20\u4E0A\u9078\u53D6\u984F\u8272","switches.mirror":"\u93E1\u5C04 UV",language_name:"\u6B63\u9AD4\u4E2D\u6587\uFF08\u81FA\u7063\uFF09","message.plugin_reload":"\u91CD\u65B0\u8F09\u5165 %0 \u500B\u672C\u6A5F\u63D2\u4EF6","settings.brightness":"\u4EAE\u5EA6","settings.brightness.desc":"\u9810\u89BD\u7684\u4EAE\u5EA6\uFF0C\u9810\u8A2D\u70BA 50","menu.preview.perspective.reset":"\u91CD\u8A2D\u76F8\u6A5F","action.fill_mode":"\u586B\u6EFF\u6A21\u5F0F","action.fill_mode.face":"\u9762","action.fill_mode.color":"\u984F\u8272","action.toggle_mirror_uv":"\u93E1\u5C04 UV","action.toggle_mirror_uv.desc":"\u5207\u63DB\u9078\u53D6\u7ACB\u65B9\u9AD4\u7684 X \u8EF8 UV \u93E1\u5C04","menu.texture.blank":"\u5957\u7528\u81F3\u7121\u7D0B\u7406\u7684\u9762","dialog.scale.select_overflow":"\u9078\u53D6\u6EA2\u4F4D","action.action_control":"\u52D5\u4F5C\u63A7\u5236","action.action_control.desc":"\u641C\u7D22\u4E26\u4E14\u57F7\u884C\u4EFB\u4F55\u53EF\u7528\u7684\u64CD\u4F5C","keybindings.recording":"\u9304\u88FD\u5FEB\u6377\u9375","keybindings.press":"\u4F7F\u7528\u5FEB\u6377\u9375\u4F86\u9304\u88FD\u5FEB\u6377\u9375\u9375\u4F4D\u3002","action.pivot_tool":"\u6A1E\u7D10\u9EDE\u5DE5\u5177","action.pivot_tool.desc":"\u8B8A\u66F4\u7ACB\u65B9\u9AD4\u548C\u9AA8\u9ABC\u7684\u6A1E\u7D10\u9EDE","action.slider_animation_speed":"\u64AD\u653E\u901F\u5EA6","action.slider_animation_speed.desc":"\u6642\u9593\u8EF8\u7684\u64AD\u653E\u901F\u5EA6\uFF08%\uFF09","action.previous_keyframe":"\u4E0A\u4E00\u500B\u95DC\u9375\u5F71\u683C","action.previous_keyframe.desc":"\u8DF3\u81F3\u4E0A\u4E00\u500B\u95DC\u9375\u5F71\u683C","action.next_keyframe":"\u4E0B\u4E00\u500B\u95DC\u9375\u5F71\u683C","action.next_keyframe.desc":"\u8DF3\u81F3\u4E0B\u4E00\u500B\u95DC\u9375\u5F71\u683C","message.outdated_client.title":"\u7248\u672C\u592A\u820A","message.outdated_client.message":"\u8ACB\u66F4\u65B0\u81F3\u6700\u65B0\u7248 Blockbench \u518D\u7E7C\u7E8C\u3002","action.export_asset_archive":"\u4E0B\u8F09\u5C01\u5B58\u6A94","action.export_asset_archive.desc":"\u4E0B\u8F09\u542B\u6709\u6A21\u578B\u548C\u7D0B\u7406\u7684\u5C01\u5B58\u6A94\u3002","action.upload_sketchfab":"\u4E0A\u50B3\u81F3 Sketchab","message.sketchfab.name_or_token":"\u8ACB\u8F38\u5165 Sketchfab \u540D\u7A31\u548C token","dialog.sketchfab_uploader.title":"\u4E0A\u50B3 Sketchfab","dialog.sketchfab_uploader.token":"API Token","dialog.sketchfab_uploader.about_token":"\u9019\u500B token \u7528\u65BC\u5C07 Blockbench \u8207\u4F60\u7684 Sketchfab \u5E33\u6236\u9023\u63A5\uFF0C\u53EF\u5728 %0 \u627E\u5230","dialog.sketchfab_uploader.name":"\u6A21\u578B\u540D\u7A31","dialog.sketchfab_uploader.description":"\u8AAA\u660E","dialog.sketchfab_uploader.tags":"\u6A19\u7C64","settings.sketchfab_token":"Sketchfab Token","settings.sketchfab_token.desc":"\u9019\u500B token \u7528\u65BC\u6388\u6B0A Blockbench \u4E0A\u50B3\u6A94\u6848\u5230\u4F60\u7684 Sketchfab \u5E33\u6236","panel.color":"\u984F\u8272","data.origin":"\u6A1E\u7D10\u9EDE","message.sketchfab.success":"\u6A21\u578B\u4E0A\u50B3\u6210\u529F","message.sketchfab.error":"\u4E0A\u50B3\u6A21\u578B\u81F3 Sketchfab \u5931\u6557","settings.outliner_colors":"\u5927\u7DB1\u984F\u8272","settings.outliner_colors.desc":"\u5143\u7D20\u548C\u7FA4\u7D44\u5728\u5927\u7DB1\u8996\u5716\u4E2D\u7684\u984F\u8272","action.upload_sketchfab.desc":"\u4E0A\u50B3\u6A21\u578B\u81F3 Sketchfab","action.element_colors":"\u7ACB\u65B9\u9AD4\u984F\u8272","action.element_colors.desc":"\u5927\u7DB1\u8996\u5716\u4E2D\u7ACB\u65B9\u9AD4\u7684\u984F\u8272","texture.error.file":"\u627E\u4E0D\u5230\u6A94\u6848","texture.error.parent":"\u7236\u6A21\u578B\u63D0\u4F9B\u7684\u7D0B\u7406","message.recover_backup.title":"\u5FA9\u539F\u6A21\u578B","message.recover_backup.message":"Blockbench \u610F\u5916\u95DC\u9589\uFF0C\u4F60\u8981\u5FA9\u539F\u672A\u5132\u5B58\u7684\u6A21\u578B\u55CE\uFF1F","message.invalid_session.title":"\u7121\u6548\u7684\u6703\u8A71 token","message.invalid_session.message":"\u6B32\u52A0\u5165\u7684\u6703\u8A71\u5DF2\u904E\u671F\u6216\u7121\u6548\u3002","dialog.create_texture.power":"2 \u6B21\u65B9\u5927\u5C0F","dialog.create_gif.turn":"\u8ABF\u6574\u901F\u5EA6","action.edit_session":"\u7DE8\u8F2F\u6703\u8A71\u2026","action.edit_session.desc":"\u9023\u63A5\u81F3\u6703\u8A71\uFF0C\u8207\u5176\u4ED6\u4EBA\u4E00\u540C\u7DE8\u8F2F","action.reset_keyframe":"\u540C\u8A2D\u95DC\u9375\u5F71\u683C","action.reset_keyframe.desc":"\u91CD\u8A2D\u9078\u53D6\u7684\u95DC\u9375\u5F71\u683C","dialog.edit_session.title":"\u7DE8\u8F2F\u6703\u8A71","edit_session.username":"\u4F7F\u7528\u8005\u540D\u7A31","edit_session.token":"Token","edit_session.about":"\u7DE8\u8F2F\u6703\u8A71\u53EF\u7528\u65BC\u7DB2\u8DEF\u6A21\u578B\u5354\u4F5C\uFF0C\u5EFA\u7ACB\u4E00\u500B\u6703\u8A71\u4E26\u767C\u9001\u7D66\u597D\u53CB\uFF0C\u5C0D\u65B9\u5C31\u53EF\u4EE5\u52A0\u5165\u7DE8\u8F2F\u3002","edit_session.join":"\u52A0\u5165\u6703\u8A71","edit_session.create":"\u5EFA\u7ACB\u6703\u8A71","edit_session.quit":"\u9000\u51FA\u6703\u8A71","edit_session.joined":"%0 \u52A0\u5165\u4E86\u6703\u8A71","edit_session.left":"%0 \u96E2\u958B\u4E86\u6703\u8A71","edit_session.quit_session":"\u96E2\u958B\u76EE\u524D\u7684\u6703\u8A71","edit_session.status":"\u72C0\u614B","edit_session.hosting":"\u4E3B\u6A5F","edit_session.connected":"\u9023\u63A5\u81F3\u6703\u8A71","dialog.sketchfab_uploader.private":"\u79C1\u4EBA\uFF08Pro\uFF09","dialog.sketchfab_uploader.password":"\u5BC6\u78BC\uFF08Pro\uFF09","action.uv_select_all":"\u5168\u90E8\u9078\u53D6","action.uv_select_all.desc":"\u9078\u53D6 UV \u5C0D\u8A71\u6846\u4E2D\u7684\u5168\u90E8\u9762","panel.chat":"\u804A\u5929","edit_session.welcome":"\u6B61\u8FCE\u4F86\u5230%0\u7684\u6703\u8A71","dialog.yes":"\u662F","dialog.no":"\u5426","generic.remove":"\u79FB\u9664","generic.download":"\u4E0B\u8F09","generic.search":"\u641C\u5C0B","dates.today":"\u4ECA\u5929","dates.yesterday":"\u6628\u5929","dates.this_week":"\u672C\u9031","dates.weeks_ago":"%0 \u9031\u524D","mode.start.new":"\u65B0\u5EFA","mode.start.recent":"\u6700\u8FD1","format.free":"\u4E00\u822C\u6A21\u578B","format.free.desc":"\u7121\u4EFB\u4F55\u9650\u5236\u7684\u6A21\u578B\uFF0C\u9069\u5408\u904A\u6232\u5F15\u64CE\u3001\u6E32\u67D3\u3002","format.java_block":"Java\u7248\u65B9\u584A\uFF0F\u7269\u54C1","format.java_block.desc":"Java\u7248\u7684\u65B9\u584A\uFF0F\u7269\u54C1\u6A21\u578B\u3002","format.bedrock":"\u57FA\u5CA9\u7248\u6A21\u578B","format.bedrock.desc":"Minecraft\u57FA\u5CA9\u7248\u6A21\u578B","format.bedrock_old":"\u820A\u7248\u57FA\u5CA9\u7248\u6A21\u578B","format.bedrock_old.desc":"Minecraft\u57FA\u5CA9\u7248 1.12 \u4EE5\u524D\u7684\u5BE6\u9AD4\u6A21\u578B","format.modded_entity":"\u6A21\u7D44\u5BE6\u9AD4","format.modded_entity.desc":"Minecraft \u6A21\u7D44\u7684\u5BE6\u9AD4\u6A21\u578B\uFF0C\u53EF\u532F\u51FA\u6210 .java \u985E\u5225\u6A94\u6848\u3002","format.optifine_entity":"OptiFine \u5BE6\u9AD4","format.optifine_entity.desc":"OptiFine \u81EA\u8A02\u5BE6\u9AD4\u6A21\u578B","keys.mouse":"\u6ED1\u9F20\u6309\u9375 %0","message.cleared_blank_faces.title":"\u7A7A\u767D\u9762","message.cleared_blank_faces.message":"Blockbench \u627E\u5230 %0 \u500B\u6C92\u6709\u7D0B\u7406\u7684\u7ACB\u65B9\u9AD4\uFF0C\u4F60\u662F\u5426\u8981\u5C07\u9019\u4E9B\u5143\u7D20\u79FB\u9664\uFF1F","message.wireframe.enabled":"\u7DDA\u6846\u8996\u5716\u5DF2\u958B\u555F","message.wireframe.disabled":"\u7DDA\u6846\u8996\u5716\u5DF2\u95DC\u9589","dialog.convert_project.title":"\u8F49\u63DB\u5C08\u6848","dialog.create_texture.double_use":"\u4FDD\u6301\u591A\u91CD\u7D0B\u7406\u7684\u900F\u660E\u5EA6","dialog.model_stats.title":"\u6A21\u578B\u7D71\u8A08","dialog.model_stats.cubes":"\u7ACB\u65B9\u9AD4","dialog.model_stats.locators":"\u5B9A\u4F4D\u5668","dialog.model_stats.groups":"\u7FA4\u7D44","dialog.model_stats.vertices":"\u9802\u9EDE","dialog.model_stats.faces":"\u9762\u9762","settings.username":"\u4F7F\u7528\u8005\u540D\u7A31","settings.username.desc":"\u7DE8\u8F2F\u6703\u8A71\u7684\u4F7F\u7528\u8005\u540D\u7A31","settings.painting_grid":"\u7E6A\u5716\u7DB2\u683C","settings.painting_grid.desc":"\u5728\u7E6A\u5716\u6A21\u5F0F\u7684\u7ACB\u65B9\u9AD4\u7D0B\u7406\u4E0A\u986F\u793A\u7DB2\u683C","action.convert_project":"\u8F49\u63DB\u5C08\u6848","action.convert_project.desc":"\u5C07\u76EE\u524D\u7684\u5C08\u6848\u8F49\u63DB\u70BA\u5176\u4ED6\u6A21\u578B\u683C\u5F0F\u7684\u5C08\u6848","action.close_project":"\u95DC\u9589\u5C08\u6848","action.close_project.desc":"\u95DC\u9589\u958B\u555F\u7684\u5C08\u6848","action.export_bedrock":"\u532F\u51FA\u57FA\u5CA9\u7248\u5E7E\u4F55\u9AD4","action.export_bedrock.desc":"\u532F\u51FA\u6210\u57FA\u5CA9\u7248\u6A21\u578B\u5E7E\u4F55\u9AD4\u3002","action.save_project":"\u5132\u5B58\u5C08\u6848","action.save_project.desc":"\u5C07\u6A21\u578B\u6A94\u6848\u5132\u5B58\u70BA\u5C08\u6848\u6A94\u3002","action.save_project_as":"\u53E6\u5B58\u5C08\u6848\u70BA","action.save_project_as.desc":"\u53E6\u5B58\u5C08\u6848\u81F3\u5176\u4ED6\u4F4D\u7F6E","action.export_over":"\u5132\u5B58\u6A21\u578B","action.export_over.desc":"\u5132\u5B58\u6A21\u578B\u3001\u7D0B\u7406\u3001\u52D5\u756B\uFF0C\u8986\u84CB\u6389\u539F\u6709\u7684\u6A94\u6848","action.add_locator":"\u6DFB\u52A0\u5B9A\u4F4D\u5668","action.add_locator.desc":"\u6DFB\u52A0\u65B0\u7684\u5B9A\u4F4D\u5668\uFF0C\u4EE5\u63A7\u5236\u7C92\u5B50\u3001\u727D\u5F15\u7B49\u4F4D\u7F6E","action.uv_turn_mapping":"\u65CB\u8F49 UV \u6620\u5C04","action.uv_turn_mapping.desc":"UV \u6620\u5C04\u65CB\u8F49 90 \u5EA6","action.remove_blank_faces":"\u79FB\u9664\u7A7A\u767D\u7684\u9762","action.remove_blank_faces.desc":"\u79FB\u9664\u6C92\u6709\u7D0B\u7406\u7684\u9762","web.download_app":"\u4E0B\u8F09 App","uv_editor.turned":"\u65CB\u8F49\u6620\u5C04","display.reference.crossbow":"\u5F29","dialog.settings.search_results":"\u641C\u5C0B\u7D50\u679C","settings.animation_snap":"\u52D5\u756B\u6355\u6349","settings.animation_snap.desc":"\u6BCF\u79D2\u52D5\u756B\u6642\u9593\u8EF8\u9810\u8A2D\u6355\u6349\u7684\u95DC\u9375\u5F71\u683C","action.import_optifine_part":"\u532F\u5165 OptiFine Part","action.import_optifine_part.desc":"\u532F\u5165 Optifine Part \u6A21\u578B","data.locator":"\u5B9A\u4F4D\u5668","mode.start.no_recents":"\u6C92\u6709\u6700\u8FD1\u958B\u555F\u7684\u6A21\u578B","panel.element":"\u5143\u7D20","panel.element.position":"\u4F4D\u7F6E","panel.element.size":"\u5927\u5C0F","panel.element.origin":"\u6A1E\u7D10\u9EDE","panel.element.rotation":"\u65CB\u8F49","message.canvas_limit_error.title":"\u756B\u5E03\u5927\u5C0F\u932F\u8AA4","message.canvas_limit_error.message":"\u7121\u6CD5\u57F7\u884C\u8A72\u64CD\u4F5C\uFF0C\u6B64\u683C\u5F0F\u9650\u5236\u756B\u5E03\u5927\u5C0F\u70BA 48\uFF0C\u8ABF\u6574\u6A1E\u7D10\u9EDE\u4F86\u907F\u514D\u6B64\u4E00\u60C5\u6CC1\u3002","data.effect":"\u6548\u679C","generic.name":"\u540D\u7A31","settings.recent_projects":"\u6700\u8FD1\u7684\u6A21\u578B\u6578","settings.recent_projects.desc":"\u8A18\u4F4F\u7684\u6700\u8FD1\u7684\u6A21\u578B\u6578\u91CF","settings.volume":"\u97F3\u91CF","settings.volume.desc":"\u52D5\u756B\u4E2D\u7684\u97F3\u6548\u63A7\u5236","action.clear_timeline":"\u6E05\u7A7A\u6642\u9593\u8EF8","action.clear_timeline.desc":"\u5F9E\u6642\u9593\u8EF8\u4E2D\u6E05\u9664\u672A\u9078\u53D6\u7684\u9AA8\u9ABC","action.select_effect_animator":"\u52D5\u756B\u6548\u679C","action.select_effect_animator.desc":"\u958B\u555F\u6642\u9593\u8EF8\u52A0\u5165\u97F3\u6548\u548C\u7C92\u5B50\u6548\u679C","action.timeline_focus":"\u904E\u6FFE\u8ECC\u9053","action.timeline_focus.desc":"\u9078\u53D6\u8981\u5728\u6642\u9593\u8EF8\u986F\u793A\u7684\u52D5\u756B\u8ECC\u9053","timeline.particle":"\u7C92\u5B50","timeline.sound":"\u97F3\u6548","timeline.effects":"\u6548\u679C","data.format":"\u683C\u5F0F","format.optifine_part":"OptiFine Part","format.optifine_part.desc":"JPM OptiFine \u5BE6\u9AD4\u6A21\u578B","action.reverse_keyframes":"\u5012\u8F49\u95DC\u9375\u5F71\u683C","action.reverse_keyframes.desc":"\u5012\u8F49\u95DC\u9375\u5F71\u683C\u7684\u9806\u5E8F","generic.help":"\u5354\u52A9","message.removed_faces":"\u5DF2\u79FB\u9664 %0 \u500B\u9762","dialog.sketchfab_uploader.draft":"\u8349\u7A3F","action.slider_pos":"\u79FB\u52D5 %0","action.slider_pos.desc":"\u5728 %0 \u8EF8\u79FB\u52D5\u7ACB\u65B9\u9AD4","action.slider_size":"\u7E2E\u653E %0","action.slider_size.desc":"\u5728 %0 \u8EF8\u7E2E\u653E\u7ACB\u65B9\u9AD4","action.slider_rotation":"\u65CB\u8F49 %0","action.slider_rotation.desc":"\u5728 %0 \u8EF8\u65CB\u8F49\u7ACB\u65B9\u9AD4","action.slider_origin":"\u6A1E\u7D10\u9EDE %0","action.slider_origin.desc":"\u79FB\u52D5\u6A1E\u7D10\u9EDE\u81F3 %0 \u8EF8","action.rotate_cw":"\u65CB\u8F49 %0 +90\xB0","action.rotate_cw.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4 %0 \u8EF8\u65CB\u8F49 90\xB0","action.rotate_ccw":"\u65CB\u8F49 %0 -90\xB0","action.rotate_ccw.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4 %0 \u8EF8\u65CB\u8F49 -90\xB0","action.flip":"\u7FFB\u8F49 %0","action.flip.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4 %0 \u8EF8\u7FFB\u8F49","action.center":"\u5C0D\u9F4A\u4E2D\u5FC3 %0","action.center.desc":"\u9078\u53D6\u7684\u7ACB\u65B9\u9AD4 %0 \u8EF8\u5C0D\u9F4A\u4E2D\u5FC3","action.bring_up_all_animations":"\u986F\u793A\u6240\u6709\u52D5\u756B","panel.bone":"\u9AA8\u9ABC","data.color":"\u984F\u8272","generic.export":"\u532F\u51FA","generic.none":"\u7121","status_bar.recording":"\u9304\u88FD\u7E2E\u6642\u5F71\u7247","message.add_to_palette":"\u52A0\u5165\u81F3\u8ABF\u8272\u76E4","message.size_modifiers":"\u6309\u8457 Ctrl \u6216 Shift \u9032\u884C\u66F4\u7CBE\u7D30\u7684\u7E2E\u653E","message.timelapse_start":"\u7E2E\u6642\u5F71\u7247\u9304\u88FD\u958B\u59CB","message.timelapse_stop":"\u7E2E\u6642\u5F71\u7247\u9304\u88FD\u505C\u6B62","message.import_palette.replace_palette":"\u8F09\u5165\u820A\u8ABF\u8272\u76E4","message.import_palette.threshold":"\u5408\u4F75\u81E8\u754C\u503C","dialog.timelapse.interval":"\u9593\u9694\uFF08\u79D2\uFF09","dialog.timelapse.source":"\u4F86\u6E90","dialog.timelapse.source.interface":"\u4ECB\u9762","dialog.timelapse.source.locked":"\u9396\u5B9A\u89D2\u5EA6","dialog.timelapse.destination":"\u76EE\u6A19\u8CC7\u6599\u593E","layout.color.checkerboard":"\u900F\u660E\u80CC\u666F","layout.color.checkerboard.desc":"\u756B\u5E03\u548C UV \u7DE8\u8F2F\u5668\u7684\u80CC\u666F","layout.font.code":"\u7A0B\u5F0F\u78BC\u5B57\u578B","layout.css":"\u81EA\u8A02 CSS","settings.category.paint":"\u7E6A\u5716","settings.deactivate_size_limit":"\u53D6\u6D88\u5927\u5C0F\u9650\u5236","settings.deactivate_size_limit.desc":"\u53D6\u6D88\u6A21\u578B\u683C\u5F0F\u7684\u5927\u5C0F\u9650\u5236\uFF0C\u9019\u53EF\u80FD\u6703\u5012\u7F6E\u6A21\u578B\u683C\u5F0F\u7121\u6548\u3002","settings.brush_opacity_modifier":"\u4FEE\u6539\u7B46\u5237\u900F\u660E\u5EA6","settings.brush_opacity_modifier.desc":"\u4F7F\u7528\u89F8\u63A7\u7B46\u6642\u8B8A\u66F4\u7B46\u5237\u900F\u660E\u5EA6","settings.brush_size_modifier":"\u7B46\u5237\u5927\u5C0F","settings.brush_size_modifier.desc":"\u4F7F\u7528\u89F8\u63A7\u7B46\u6642\u8B8A\u66F4\u7B46\u5237\u5927\u5C0F","settings.brush_modifier.pressure":"\u58D3\u529B","settings.brush_modifier.tilt":"\u50BE\u659C","category.color":"\u984F\u8272","action.import_theme":"\u532F\u5165\u4E3B\u984C","action.export_theme":"\u532F\u51FA\u4E3B\u984C","action.export_theme.desc":"\u4EE5\u76EE\u524D\u7684\u8A2D\u5B9A\u5EFA\u7ACB\u4E3B\u984C\u6A94\u6848","action.slider_color_h":"\u8272\u8ABF","action.slider_color_s":"\u98FD\u548C\u5EA6","action.slider_color_v":"\u660E\u5EA6","action.add_to_palette":"\u6DFB\u52A0\u5230\u8ABF\u8272\u677F","action.add_to_palette.desc":"\u5C07\u6240\u9078\u9854\u8272\u6DFB\u52A0\u5230\u8ABF\u8272\u677F","action.import_palette":"\u532F\u5165\u8ABF\u8272\u76E4","action.import_palette.desc":"\u532F\u5165\u8ABF\u8272\u76E4\u6A94\u6848","action.export_palette":"\u532F\u51FA\u8ABF\u8272\u76E4\u6A94\u6848","action.export_palette.desc":"\u532F\u51FA .gpl \u8ABF\u8272\u76E4\u6A94\u6848","action.generate_palette":"\u751F\u6210\u8ABF\u8272\u76E4","action.generate_palette.desc":"\u5F9E\u7D0B\u7406\u751F\u6210\u8ABF\u8272\u76E4","action.sort_palette":"\u6392\u5217\u8ABF\u8272\u76E4","action.sort_palette.desc":"\u4EE5\u984F\u8272\u548C\u4EAE\u5EA6\u6392\u5217\u8ABF\u8272\u76E4\u7684\u984F\u8272","action.timelapse":"\u7E2E\u6642\u2026","action.timelapse.desc":"\u9304\u88FD\u5EFA\u6A21\u7E2E\u6642\u651D\u5F71","action.add_keyframe":"\u6DFB\u52A0\u95DC\u9375\u5E40","action.add_keyframe.desc":"\u6DFB\u52A0\u95DC\u9375\u5E40\u5230\u6240\u9078\u52D5\u756B","action.bring_up_all_animations.desc":"\u986F\u793A\u6642\u9593\u8EF8\u6240\u6709\u8B8A\u66F4\u904E\u7684\u52D5\u756B","timeline.timeline":"\u6559\u5B78","menu.palette.load.default":"\u9810\u8A2D\u9810\u8A2D","generic.import":"\u532F\u5165","settings.brush_modifier.none":"\u7121","action.export_entity":"\u532F\u51FA\u70BA\u57FA\u5CA9\u7248\u5BE6\u9AD4","action.export_entity.desc":"\u5C07\u76EE\u524D\u7684\u5BE6\u9AD4\u52A0\u5165\u5230 mobs.json \u6A94\u6848\u4E2D","settings.highlight_cubes":"\u51F8\u986F\u7ACB\u65B9\u9AD4","settings.highlight_cubes.desc":"\u9078\u53D6\u6216\u6ED1\u9F20\u79FB\u81F3\u7ACB\u65B9\u9AD4\u4E0A\u65B9\u6642\u51F8\u986F\u7ACB\u65B9\u9AD4","action.add_marker":"\u8A2D\u7F6E\u6A19\u8A18","action.add_marker.desc":"\u8A2D\u7F6E\u4E00\u500B\u6642\u9593\u8EF8\u9EDE\u6A19\u8A18","timeline.pre_effect_script":"\u8173\u672C","format.skin":"Minecraft\u5916\u89C0","format.skin.desc":"\u7DE8\u8F2F\u73A9\u5BB6\u548C\u5BE6\u9AD4\u7684\u5916\u89C0","message.sketchfab.setup_guide":"\u60F3\u4E86\u89E3\u5982\u4F55\u5728 Sketchfab \u4E0A\u8A2D\u7F6E\u6A21\u578B\uFF1F\u8ACB\u95B1\u8B80\uFF1A%0","dialog.skin.title":"\u65B0\u5EFA Minecraft \u5916\u89C0","dialog.skin.model":"\u6A21\u578B","action.toggle_skin_layer":"\u5207\u63DB\u5916\u89C0\u5916\u5C64","action.toggle_skin_layer.desc":"\u662F\u5426\u986F\u793A\u5916\u89C0\u7684\u5E3D\u5B50\u548C\u8863\u670D","action.gui_light":"GUI \u5149\u7167","action.gui_light.desc":"\u9078\u53D6\u7269\u54C1\u5728\u80CC\u5305\u4E2D\u7684\u5149\u7167\u65B9\u5F0F","action.gui_light.side":"\u5074\u5149\u7167","action.gui_light.front":"\u524D\u5149\u7167","action.move_keyframe_back":"\u95DC\u9375\u756B\u683C\u5F80\u5F8C\u79FB","action.move_keyframe_forth":"\u95DC\u9375\u756B\u683C\u5F80\u524D\u79FB","menu.help":"\u5354\u52A9","menu.help.discord":"Discord \u4F3A\u670D\u5668","menu.help.report_issue":"\u56DE\u5831\u554F\u984C","menu.help.plugin_documentation":"\u63D2\u4EF6 API \u6587\u4EF6","menu.help.search_action":"\u641C\u5C0B\u548C\u57F7\u884C\u52D5\u4F5C","menu.help.donate":"\u8D0A\u52A9","menu.help.about":"\u95DC\u65BC\u2026","menu.preview.background.clipboard":"\u5F9E\u526A\u8CBC\u7C3F\u8F09\u5165","dialog.ignore":"\u5FFD\u7565","generic.unset":"\u672A\u8A2D\u5B9A","message.invalid_builtin_parent.title":"\u7121\u6548\u7684\u7236\u6A21\u578B","message.invalid_builtin_parent.message":"\u70BA\u532F\u51FA\u6709\u6548\u7684\u6A21\u578B\uFF0C\u5DF2\u53D6\u6D88\u9023\u7D50\u7121\u6548\u7684\u7236\u6A21\u578B%0\u3002","dialog.resize_texture.fill":"\u586B\u6EFF","dialog.resize_texture.fill.transparent":"\u900F\u660E","dialog.resize_texture.fill.color":"\u984F\u8272","dialog.resize_texture.fill.repeat":"\u91CD\u8907","dialog.scale.element_pivot":"\u5143\u7D20\u6A1E\u7D10\u9EDE","dialog.scale.selection_center":"\u4EE5\u9078\u53D6\u90E8\u5206\u70BA\u4E2D\u5FC3","dialog.create_gif.length_mode":"\u9577\u5EA6\u6A21\u5F0F","dialog.create_gif.length_mode.seconds":"\u79D2","dialog.create_gif.length_mode.frames":"\u5F71\u683C\u7387","dialog.create_gif.length_mode.animation":"\u52D5\u756B\u9577\u5EA6","dialog.create_gif.length_mode.turntable":"\u8ABF\u6574\u65CB\u8F49","dialog.save_angle.projection":"\u6295\u5F71","dialog.save_angle.projection.perspective":"\u900F\u8996\u6295\u5F71","dialog.save_angle.projection.orthographic":"\u6B63\u6295\u5F71","dialog.sketchfab_uploader.animations":"\u52D5\u756B\u52D5\u756B","dialog.settings.theme":"\u4E3B\u984C","settings.category.interface":"\u4ECB\u9762","settings.preview_checkerboard":"\u9810\u89BD\u900F\u660E\u80CC\u666F","settings.preview_checkerboard.desc":"\u958B\u95DC\u9810\u89BD\u900F\u660E\u80CC\u666F","settings.uv_checkerboard":"UV\u7DE8\u8F2F\u5668\u900F\u660E\u80CC\u666F","settings.uv_checkerboard.desc":"\u958B\u95DCUV\u7DE8\u8F2F\u5668\u900F\u660E\u80CC\u666F","category.paint":"\u7E6A\u5716","action.fill_mode.color_connected":"\u76F8\u9130\u7684\u984F\u8272","action.draw_shape_type":"\u5F62\u72C0","action.draw_shape_type.rectangle":"\u9577\u65B9\u5F62","action.draw_shape_type.rectangle_h":"\u9577\u65B9\u5F62\uFF08\u7A7A\u5FC3\uFF09","action.draw_shape_type.ellipse":"\u6A62\u5713\u5F62","action.draw_shape_type.ellipse_h":"\u6A62\u5713\u5F62\uFF08\u7A7A\u5FC3\uFF09","action.draw_shape_type.line":"\u76F4\u7DDA","action.mirror_painting":"\u93E1\u5C04\u7E6A\u5716","action.mirror_painting.description":"\u5728\u6A21\u578B\u4E0A\u7E6A\u756B\u6642\u7E6A\u88FD\u5C0D\u7A31\u5716\u6A23","action.lock_alpha":"\u9396\u5B9A\u900F\u660E\u901A\u9053","action.lock_alpha.description":"\u9396\u5B9A\u50CF\u7D20\u900F\u660E\u5EA6","action.draw_shape_tool":"\u7E6A\u88FD\u5F62\u72C0","action.draw_shape_tool.desc":"\u6B64\u5DE5\u5177\u7528\u65BC\u5728\u7D0B\u7406\u4E0A\u7E6A\u88FD\u7C21\u55AE\u5F62\u72C0","action.export_gltf":"\u532F\u51FA\u70BA glTF \u6A21\u578B","action.export_gltf.desc":"\u5C07\u6A21\u578B\u548C\u52D5\u756B\u532F\u51FA\u70BA glTF \u6A21\u578B\uFF0C\u7528\u65BC\u5176\u4ED6 3D \u8EDF\u9AD4","action.transform_space":"\u8B8A\u5F62\u7A7A\u9593","action.transform_space.desc":"\u9810\u8A2D\u5143\u7D20\u548C\u9AA8\u9ABC\u7684\u8B8A\u5F62\u7A7A\u9593","action.transform_space.global":"\u5168\u57DF","action.transform_space.local":"\u5340\u57DF","action.toggle_camera_projection":"\u958B\u95DC\u651D\u5F71\u6A5F\u6295\u5F71","action.toggle_camera_projection.desc":"\u5728\u900F\u8996\u6295\u5F71\u548C\u6B63\u6295\u5F71\u9593\u5207\u63DB","action.load_camera_angle":"\u651D\u5F71\u6A5F\u89D2\u5EA6:%0","action.load_camera_angle.desc":"\u8F09\u5165\u651D\u5F71\u6A5F\u300C%0\u300D\u5EA6","action.slider_face_tint":"\u8272\u8ABF\u7D22\u5F15","action.slider_face_tint.desc":"\u8A2D\u5B9A\u6B64\u9762\u7684\u8272\u8ABF\u7D22\u5F15\uFF0C-1 \u4EE3\u8868\u672A\u8A2D\u7F6E\u3002","menu.help.quickstart":"\u5FEB\u901F\u958B\u59CB\u7CBE\u9748","menu.help.developer":"\u958B\u767C\u4EBA\u54E1","menu.help.developer.dev_tools":"\u958B\u555F\u958B\u767C\u4EBA\u54E1\u5DE5\u5177","menu.help.developer.reset_storage":"\u9084\u539F\u81F3\u51FA\u5EE0\u8A2D\u5B9A","menu.help.developer.reset_storage.confirm":"\u662F\u5426\u8981\u5C07 Blockbench \u9084\u539F\u81F3\u51FA\u5EE0\u6A21\u5F0F\uFF1F\u6240\u6709\u81EA\u8A02\u8A2D\u5B9A\u3001\u5FEB\u6377\u9375\u3001\u5B89\u88DD\u7684\u63D2\u4EF6\u90FD\u6703\u88AB\u522A\u9664\u3002","menu.help.developer.cache_reload":"\u91CD\u65B0\u8F09\u5165\u5FEB\u53D6","menu.preview.orthographic":"\u6B63\u6295\u5F71","menu.preview.save_angle":"\u5132\u5B58\u89D2\u5EA6\u2026","menu.preview.angle":"\u89D2\u5EA6","menu.preview.angle.initial":"\u521D\u59CB\u89D2\u5EA6","menu.preview.maximize":"\u6700\u5927\u756B\u6700\u5927\u756B","uv_editor.copy_selection":"\u8907\u88FD\u9078\u53D6","uv_editor.paste_selection":"\u8CBC\u4E0A\u9078\u53D6","uv_editor.copy_paste_tool.place":"\u653E\u7F6E","uv_editor.copy_paste_tool.mirror_x":"\u93E1\u5C04 X \u8EF8","uv_editor.copy_paste_tool.mirror_y":"\u93E1\u5C04 Y \u8EF8","uv_editor.copy_paste_tool.rotate":"\u65CB\u8F49 90 \u5EA6","dialog.project.modded_entity_version":"\u532F\u51FA\u7248\u672C","dialog.save_angle.position":"\u651D\u5F71\u6A5F\u4F4D\u7F6E","dialog.save_angle.target":"\u7126\u9EDE","dialog.skin.pose":"\u59FF\u52E2","layout.color.frame":"\u8996\u7A97\u5916\u6846","layout.color.frame.desc":"\u8996\u7A97\u7684\u5916\u6846\u548C\u6A19\u984C\u6B04","settings.large_grid_size":"\u65B9\u584A\u7DB2\u683C\u5C3A\u5BF8","settings.large_grid_size.desc":"\u65B9\u584A\u7DB2\u683C\u7684\u5C3A\u5BF8","action.load_plugin_from_url":"\u5F9E\u7DB2\u5740\u8F09\u5165\u63D2\u4EF6","action.load_plugin_from_url.desc":"\u5F9E\u6307\u5B9A\u7684\u7DB2\u5740\u8F09\u5165\u63D2\u4EF6","action.cube_counter.desc":"\u986F\u793A\u76EE\u524D\u7684\u7ACB\u65B9\u9AD4\u6578\u91CF\u548C\u5176\u4ED6\u7D71\u8A08\u6578\u5B57","action.unlock_everything":"\u5168\u90E8\u89E3\u9396","action.unlock_everything.desc":"\u89E3\u9396\u5927\u7DB1\u8996\u5716\u4E2D\u7684\u6240\u6709\u7FA4\u7D44\u548C\u5143\u7D20\u3002","action.load_palette":"\u8F09\u5165\u8ABF\u8272\u76E4","action.load_palette.desc":"\u8F09\u5165\u5167\u5EFA\u8ABF\u8272\u76E4\u9810\u8A2D\u96C6","action.toggle_locked":"\u5207\u63DB\u9396\u5B9A","action.toggle_locked.desc":"\u9396\u5B9A\u6216\u89E3\u6240\u9078\u53D6\u7684\u5143\u7D20","action.apply_display_preset":"\u61C9\u7528\u9810\u8A2D","action.apply_display_preset.desc":"\u61C9\u7528\u9ED8\u8A8D\u6216\u81EA\u5B9A\u7FA9\u986F\u793A\u8A2D\u7F6E\u9810\u8A2D","action.apply_display_preset.here":"\u61C9\u7528\u4E8E\u6B64\u69FD\u4F4D","action.apply_display_preset.everywhere":"\u61C9\u7528\u4E8E\u6240\u6709\u69FD\u4F4D","action.resolve_keyframe_expressions":"\u89E3\u6790\u95DC\u9375\u5F71\u683C","action.resolve_keyframe_expressions.desc":"\u89E3\u6790\u95DC\u9375\u5F71\u683C\u7684\u6578\u5B78\u8868\u9054\u5F0F","action.fold_all_animations":"\u5C07\u6240\u6709\u52D5\u756B\u647A\u758A","menu.palette.load.empty":"\u7A7A\u767D","switches.lock":"\u9396\u5B9A","settings.render_sides":"\u6E32\u67D3\u7684\u9762","settings.render_sides.desc":"\u9078\u53D6\u8981\u6E32\u67D3\u7684\u9762","settings.render_sides.auto":"\u81EA\u52D5","settings.render_sides.front":"\u5916\u90E8","settings.render_sides.double":"\u5167\u90E8\u548C\u5916\u90E8","generic.enable":"\u555F\u7528","generic.disable":"\u505C\u7528","generic.redacted":"\u5DF2\u96B1\u85CF","dialog.select_texture.import_all":"\u5168\u90E8\u532F\u5165","dialog.skin.layer_template":"\u7D0B\u7406\u5716\u5C64","about.version.up_to_date":"\u5DF2\u662F\u6700\u65B0","about.version.update_available":"\u53EF\u7528\u7248\u672C %0","settings.category.application":"\u61C9\u7528\u7A0B\u5F0F","settings.streamer_mode":"\u4E32\u6D41\u6A21\u5F0F","settings.streamer_mode.desc":"\u96B1\u85CF\u96B1\u79C1\u5167\u5BB9\uFF0C\u4F8B\u5982\u6700\u8FD1\u7684\u6A21\u578B","settings.automatic_updates":"\u81EA\u52D5\u66F4\u65B0","settings.automatic_updates.desc":"\u81EA\u52D5\u4E0B\u8F09\u65B0\u7248\u672C\uFF0C\u8B93 Blockbench \u4FDD\u6301\u5728\u6700\u65B0\u7248\u672C","action.rotation_space":"\u65CB\u8F49\u7A7A\u9593","action.focus_on_selection":"\u4EE5\u9078\u53D6\u70BA\u4E2D\u5FC3","action.focus_on_selection.desc":"\u5C07\u651D\u5F71\u6A5F\u5C0D\u9F4A\u9078\u53D6\u5340\u7684\u4E2D\u5FC3","action.jump_to_timeline_start":"\u8DF3\u8F49\u81F3\u52D5\u756B\u958B\u59CB\u8655","action.jump_to_timeline_end":"\u8DF3\u8F49\u81F3\u52D5\u756B\u7D50\u675F\u8655","menu.help.updating":"\u66F4\u65B0\u4E2D\uFF08%0 \uFF05\uFF09","menu.help.update_failed":"\u66F4\u65B0\u5931\u6557","menu.animation.loop.once":"\u53EA\u64AD\u653E\u4E00\u6B21","menu.animation.loop.hold":"\u505C\u7559\u5728\u6700\u5F8C\u7684\u95DC\u9375\u5F71\u683C","menu.animation.loop.loop":"\u91CD\u8907","interface.streamer_mode_on":"\u4E32\u6D41\u6A21\u5F0F\u5DF2\u555F\u7528","generic.reset":"\u91CD\u7F6E","generic.restore":"\u56DE\u5FA9","keys.mousewheel":"\u6ED1\u9F20\u6EFE\u8F2A","message.delete_animation.title":"\u522A\u9664\u52D5\u756B","message.delete_animation.message":"\u52D5\u756B\u5DF2\u5F9E Blockbench \u522A\u9664\uFF0C\u662F\u5426\u8981\u5C07\u5176\u5F9E\u5132\u5B58\u7684\u6A94\u6848\u4E2D\u4E00\u8D77\u522A\u9664\uFF1F","message.no_animation_to_import":"\u6C92\u6709\u8981\u532F\u5165\u7684\u52D5\u756B","dialog.material_instances.title":"\u6750\u8CEA\u5BE6\u4F8B","dialog.animation_import.title":"\u9078\u53D6\u8981\u532F\u5165\u7684\u52D5\u756B","dialog.create_texture.padding":"\u9593\u8DDD","settings.fov":"\u8996\u89D2\u5EE3\u5EA6","settings.fov.desc":"\u8996\u89D2\u5EE3\u5EA6\uFF0C\u9810\u8A2D\u70BA 45","settings.minify_bbmodel":"\u6700\u5C0F\u5316\u5C08\u6848\u6A94","settings.minify_bbmodel.desc":"\u5C07 .bbmodel \u6A94\u6848\u5132\u5B58\u6210\u4E00\u884C\u7A0B\u5F0F\u78BC","action.edit_material_instances":"\u7DE8\u8F2F\u6750\u8CEA\u5BE6\u4F8B","action.edit_material_instances.desc":"\u7DE8\u8F2F\u57FA\u5CA9\u7248\u65B9\u584A\u5E7E\u4F55\u9AD4\u7684\u6750\u8CEA\u5BE6\u4F8B","action.save_all_animations":"\u5132\u5B58\u5168\u90E8\u52D5\u756B","action.save_all_animations.desc":"\u5132\u5B58\u5DF2\u8F09\u5165\u7684\u52D5\u756B","action.keyframe_interpolation":"\u63D2\u503C","action.keyframe_interpolation.desc":"\u9078\u53D6\u52D5\u756B\u63D2\u503C\u65B9\u6CD5","action.keyframe_interpolation.linear":"\u76F4\u7DDA","action.keyframe_interpolation.catmullrom":"\u5E73\u6ED1","action.timeline_focus.hide_empty":"\u96B1\u85CF\u7A7A\u8ECC\u9053","menu.file.preferences":"\u504F\u597D\u8A2D\u5B9A","menu.animation.blend_weight":"\u6DF7\u5408\u6B0A\u91CD","menu.animation.save":"\u5132\u5B58","menu.animation.properties":"\u5C6C\u6027\u2026","menu.animation.file":"\u6A94\u6848","menu.animation.snapping":"\u6355\u6349","menu.animation.open_location":"\u958B\u555F\u6A94\u6848\u4F4D\u7F6E","panel.keyframe.add_data_point":"\u65B0\u589E\u95DC\u9375\u5F71\u683C\u8CC7\u6599\u9EDE","panel.keyframe.remove_data_point":"\u79FB\u9664\u95DC\u9375\u5F71\u683C\u8CC7\u6599\u9EDE","panel.keyframe.pre":"\u524D","panel.keyframe.post":"\u5F8C","generic.all":"\u5168\u90E8","message.small_face_dimensions.title":"\u4E0D\u76F8\u5BB9\u7684\u9762","message.small_face_dimensions.message":"\u9078\u53D6\u7684\u90E8\u5206\u5305\u542B\u5C0F\u65BC 1 \u7684\u9762\uFF0CBox UV \u7CFB\u7D71\u6703\u5C07\u5176\u8996\u4F5C0\u500B\u50CF\u7D20\uFF0C\u7D0B\u7406\u53EF\u80FD\u6703\u7121\u6CD5\u6B63\u5E38\u986F\u793A\u3002","message.small_face_dimensions.face_uv":"\u9019\u500B\u6A21\u578B\u683C\u5F0F\u652F\u63F4\u4F7F\u7528 pre-face UV\uFF0C\u53EF\u8655\u7406\u5C0F\u65BC 1 \u7684\u9762\u7684\u6750\u8CEA\u3002\u9EDE\u9078\u6A94\u6848\u2192\u5C08\u6848\uFF0C\u53D6\u6D88\u52FE\u9078 Box UV\u3002","dialog.plugins.outdated_client":"\u9700\u8981\u65B0\u7248\u672C\u7684 Blockbench","dialog.plugins.outdated_plugin":"\u8A72\u63D2\u4EF6\u592A\u820A\uFF0C\u4E0D\u9069\u7528\u65BC\u73FE\u5728\u7684 Blockbench","settings.motion_trails":"\u904B\u52D5\u8ECC\u8DE1","settings.motion_trails.desc":"\u5728\u52D5\u756B\u7DE8\u8F2F\u5668\u4E2D\u986F\u793A\u904B\u52D5\u8ECC\u8DE1","settings.antialiasing":"\u53CD\u92F8\u9F52","settings.antialiasing.desc":"\u958B\u95DC\u9810\u89BD\u53CD\u92F8\u9F52\uFF0C\u91CD\u555F Blockbench \u4EE5\u5957\u7528\u8B8A\u66F4","action.timeline_frame_back":"\u5F80\u5F8C\u8DF3\u8F49 1 \u500B\u95DC\u9375\u5F71\u683C","action.timeline_frame_forth":"\u5F80\u524D\u8DF3\u8F49 1 \u500B\u95DC\u9375\u5F71\u683C","panel.bone.ik":"\u53CD\u5411\u904B\u52D5\uFF08\u5BE6\u9A57\u6027\uFF09","settings.particle_tick_rate":"\u7C92\u5B50\u904A\u6232\u523B","settings.particle_tick_rate.desc":"\u6BCF\u79D2\u7684\u7C92\u5B50\u6548\u679C\u523B\uFF0C\u9810\u8A2D\u70BA 30","action.lock_motion_trail":"\u9396\u5B9A\u904B\u52D5\u8ECC\u8DE1","action.lock_motion_trail.desc":"\u9396\u5B9A\u9078\u53D6\u7FA4\u7D44\u7684\u904B\u52D5\u8ECC\u8DE1","menu.animation_file.unload":"\u53D6\u6D88\u8F09\u5165\u52D5\u756B\u6A94\u6848","data.null_object":"\u7A7A\u7269\u4EF6","status_bar.toggle_sidebar":"\u958B\u95DC\u5074\u908A\u6514","message.load_plugin_failed.title":"\u8F09\u5165\u63D2\u4EF6\u5931\u6557","message.load_plugin_failed.message":"\u8ACB\u78BA\u8A8D\u63D2\u4EF6\u6A94\u6848\u540D\u8207 Plugin.register() \u4E2D\u6240\u4F7F\u7528\u7684ID\u300C%0\u300D\u76F8\u540C\u3002","dialog.project.uv_mode":"UV \u6A21\u5F0F","dialog.project.uv_mode.box_uv":"Box UV","dialog.project.uv_mode.face_uv":"Per-face UV","dialog.project.texture_size":"\u7D0B\u7406\u5C3A\u5BF8","dialog.animation_export.title":"\u9078\u53D6\u8981\u532F\u51FA\u7684\u52D5\u756B","dialog.create_texture.rearrange_uv":"\u91CD\u65B0\u6392\u5217 UV","layout.color.subtle_text":"\u6B21\u8981\u6587\u5B57","layout.color.subtle_text.desc":"\u5C0D\u6BD4\u5EA6\u8F03\u4F4E\u7684\u7B2C\u4E8C\u6587\u5B57","settings.interface_scale":"\u4ECB\u9762\u7E2E\u653E\u6BD4\u4F8B","settings.interface_scale.desc":"Blockbench \u4ECB\u9762\u7684\u7E2E\u653E\u6BD4\u4F8B","settings.background_rendering":"\u80CC\u666F\u6E32\u67D3","settings.background_rendering.desc":"\u6ED1\u9F20\u4E0D\u5728\u8996\u7A97\u6642\u66F4\u65B0\u9810\u89BD\u756B\u9762","settings.ctrl_shift_size":"Control + Shift\u89E3\u6790\u5EA6","settings.ctrl_shift_size.desc":"\u6309\u4E0BControl + Shift \u7684\u7DB2\u683C\u89E3\u6790\u5EA6","settings.hardware_acceleration":"\u786C\u9AD4\u52A0\u901F","settings.hardware_acceleration.desc":"\u5C07\u6E32\u67D3\u4EFB\u52D9\u5206\u914D\u7D66\u986F\u793A\u5361\uFF0C\u91CD\u555FBlockbench\u5957\u7528\u8B8A\u66F4","action.explode_skin_model":"\u5C55\u958B\u5916\u89C0\u7684\u6A21\u578B","action.explode_skin_model.desc":"\u958B\u555F\u7206\u70B8\u6AA2\u8996\u6A21\u5F0F\u4EE5\u4FBF\u7DE8\u8F2F\u8986\u84CB\u7684\u9762","action.export_minecraft_skin":"\u532F\u51FA Minecraft \u5916\u89C0","action.export_minecraft_skin.desc":"\u5C07 Minecraft \u5916\u89C0\u532F\u51FA\u70BA .png \u7D0B\u7406","action.add_null_object":"\u6DFB\u52A0\u7A7A\u76EE\u6A19","action.add_null_object.desc":"\u6DFB\u52A0\u65B0\u7684\u7A7A\u5C0D\u8C61","action.animated_texture_frame":"\u52D5\u614B\u7D0B\u7406\u5E40","action.animated_texture_frame.desc":"\u8A2D\u7F6E\u7576\u524D\u5E40\u4F7F\u7528\u7684\u52D5\u614B\u7D0B\u7406","action.export_animation_file":"\u532F\u51FA\u52D5\u756B\u2026","action.export_animation_file.desc":"\u5C07\u9078\u53D6\u7684\u52D5\u756B\u532F\u51FA\u6210\u4E00\u500B\u6A94\u6848","action.timeline_graph_editor":"\u958B\u95DC\u5716\u50CF\u7DE8\u8F2F\u5668","action.timeline_graph_editor.desc":"\u5728\u6642\u9593\u8EF8\u5207\u63DB\u5716\u50CF\u7DE8\u8F2F\u5668\u548C\u95DC\u9375\u5F71\u683C\u7DE8\u8F2F\u5668","menu.file.recent.clear":"\u6E05\u9664\u6700\u8FD1\u7684\u6A94\u6848","switches.shade":"\u8457\u8272","generic.share":"\u5206\u4EAB","dates.minute":"%0 \u5206\u9418","dates.minutes":"%0 \u5206\u9418","dates.hour":"%0 \u5C0F\u6642","dates.hours":"%0 \u5C0F\u6642","dates.day":"%0 \u5929","dates.days":"%0 \u5929","dates.week":"%0 \u9031","dates.weeks":"%0 \u9031","dates.year":"%0 \u5E74","dates.years":"%0 \u5E74","message.installed_plugin":"\u5DF2\u6210\u529F\u5B89\u88DD %0 \u63D2\u4EF6","message.installed_plugin_fail":"\u7121\u6CD5\u5B89\u88DD %0 \u63D2\u4EF6","dialog.share_model.title":"\u5206\u4EAB\u6A21\u578B","dialog.share_model.expire_time":"\u904E\u671F\u6642\u9593","dialog.share_model.failed":"\u4E0A\u50B3\u6A21\u578B\u5931\u6557","action.import_java_block_model":"\u52A0\u5165 Java \u7248\u65B9\u584A\uFF0F\u7269\u54C1\u6A21\u578B","action.import_java_block_model.desc":"\u5F9E JSON \u6A94\u6848\u532F\u5165 Minecraft Java \u7248\u65B9\u584A\uFF0F\u7269\u54C1\u6A21\u578B\u81F3\u76EE\u524D\u7684\u6A21\u578B","action.share_model":"\u5206\u4EAB\u2026","action.share_model.desc":"\u5EFA\u7ACB\u4E00\u500B\u9023\u7D50\uFF0C\u5206\u4EAB\u4F60\u7684\u6A21\u578B","action.import_project":"\u532F\u5165\u5C08\u6848","action.import_project.desc":"\u5F9E\u53E6\u4E00\u500B .bbmodel \u6A94\u6848\u532F\u5165\u81F3\u76EE\u524D\u7684\u5C08\u6848","dialog.toolbar_edit.hidden_tools":"\u6709\u4E9B\u5DE5\u5177\u53EF\u80FD\u6703\u56E0\u76EE\u524D\u7684\u7DE8\u8F2F\u6A21\u5F0F\u3001\u683C\u5F0F\u6216\u5176\u4ED6\u60C5\u5F62\u800C\u81EA\u52D5\u96B1\u85CF\u3002","settings.camera_near_plane":"\u651D\u5F71\u6A5F\u63A5\u8FD1\u5E73\u9762","settings.camera_near_plane.desc":"\u651D\u5F71\u6A5F\u8DDD\u96E2\u7269\u4EF6\u6700\u5C0F\u7684\u6E32\u67D3\u8DDD\u96E2\uFF0C\u503C\u8D8A\u5927\u8D8A\u80FD\u6E1B\u5C11 Z-fighting \u7684\u554F\u984C\uFF0C\u9810\u8A2D\u503C\u70BA 1\u3002","mode.start.keymap_preference.desc":"\u5982\u679C\u9019\u662F\u4F60\u7B2C\u4E00\u6B21\u4F7F\u7528 Blockbench\uFF0C\u6216\u8005\u4F7F\u7528\u904E\u5176\u4ED6 3D \u8EDF\u9AD4\uFF0C\u4F60\u53EF\u4EE5\u81EA\u8A02\u5FEB\u6377\u9375\u4F86\u9069\u61C9\u64CD\u4F5C\uFF0C\u7A0D\u5F8C\u53EF\u5F9E\u8A2D\u5B9A\u4E2D\u8B8A\u66F4\u3002","message.load_keymap":"\u662F\u5426\u8981\u8F09\u5165\u9019\u500B\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94\uFF1F\u9019\u6703\u8986\u84CB\u76EE\u524D\u4F60\u7684\u5FEB\u6377\u9375\u8A2D\u5B9A\u3002","message.keymap_loaded":"\u5DF2\u8F09\u5165\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94","dialog.convert_project.current_format":"\u76EE\u524D\u7684\u683C\u5F0F","dialog.create_texture.rearrange_uv.desc":"\u65B0\u5EFA\u91CD\u65B0\u6392\u5217\u904E\u7684 UV\uFF0C\u8B93\u6BCF\u500B\u9762\u90FD\u80FD\u6709\u7D0B\u7406\u3002","dialog.create_texture.power.desc":"\u5C07\u7D0B\u7406\u7684\u5C3A\u5BF8\u9396\u5B9A\u70BA 2\xB2 \u5927\u5C0F\uFF0C\u4F8B\u5982 64 \u6216 128\u3002\u6709\u4E9B\u6E32\u67D3\u5668\u5FC5\u9808\u555F\u7528\u6B64\u9078\u9805\u3002","dialog.create_texture.double_use.desc":"\u5982\u679C\u4E8C\u500B\u5143\u7D20UV\u4F4D\u7F6E\u76F8\u540C\uFF0C\u5728\u65B0\u7684 UVmap \u4E2D\u7DAD\u6301\u539F\u6A23\u3002","dialog.create_texture.padding.desc":"\u5728\u7BC4\u672C\u5404\u500B\u5143\u7D20\u9593\u52A0\u5165\u908A\u8DDD\u3002","dialog.create_texture.resolution.desc":"\u7D0B\u7406\u7684\u57FA\u672C\u89E3\u6790\u5EA6\uFF0C\u4EE5\u50CF\u7D20\u70BA\u55AE\u4F4D\u3002\u5BE6\u969B\u7684\u7D0B\u7406 map \u5927\u5C0F\u53EF\u80FD\u6703\u56E0\u5143\u7D20\u7684\u6578\u91CF\u548C\u5927\u5C0F\u800C\u4E0D\u540C\u3002","dialog.create_gif.color":"\u80CC\u666F\u984F\u8272","dialog.save_angle.zoom":"\u7E2E\u653E","dialog.skin.variant":"\u8B8A\u7A2E","dialog.flip_animation.info":"\u9AA8\u9ABC\u540D\u7A31\u4E2D\u542B\u6709\u300Cleft\u300D\u548C\u300Cright\u300D\u6703\u8996\u70BA\u76F8\u53CD\u7684\u9AA8\u9ABC\u3002","dialog.export_private_settings.title":"\u96B1\u79C1\u8A2D\u5B9A","dialog.export_private_settings.message":"\u4F60\u7684\u6A94\u6848\u542B\u6709\u4EE5\u4E0B\u7684\u79C1\u4EBA\u8CC7\u8A0A\uFF1A**%0**\uFF0C\u5728\u8207\u5225\u4EBA\u5206\u4EAB\u6A94\u6848\u524D\u79FB\u9664\u9019\u4E9B\u6578\u503C\u3002","dialog.export_private_settings.keep":"\u7DAD\u6301","settings.timecode_frame_number":"\u5C07\u6642\u9593\u78BC\u986F\u793A\u70BA\u95DC\u9375\u756B\u683C\u6578\u5B57","settings.timecode_frame_number.desc":"\u5728\u6642\u9593\u8EF8\u986F\u793A\u95DC\u9375\u756B\u683C\u6578\u5B57\uFF0C\u800C\u975E\u5398\u79D2","settings.animation_sample_rate":"\u52D5\u756B\u53D6\u6A23\u7387","settings.animation_sample_rate.desc":"\u4F7F\u7528\u8A72\u683C\u5F0F\u539F\u751F\u4E0D\u652F\u63F4\u7684\u6BCF\u79D2\u53D6\u6A23\u7387","keybind.preview_zoom":"\u653E\u5927","action.gradient_tool":"\u6F38\u5C64\u5DE5\u5177","action.gradient_tool.desc":"\u5728\u7D0B\u7406\u4E0A\u5EFA\u7ACB\u6F38\u5C64","action.import_settings":"\u532F\u5165\u8A2D\u5B9A","action.import_settings.desc":"\u532F\u5165 .bbsettings \u6A94\u6848","action.export_settings":"\u532F\u51FA\u8A2D\u5B9A","action.export_settings.desc":"\u5C07 Blockbench \u7684\u8A2D\u5B9A\u503C\u532F\u51FA\u70BA .bbesettings \u6A94\u6848","action.load_keymap":"\u8F09\u5165\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94","action.load_keymap.default":"\u9810\u8A2D\uFF08\u89F8\u63A7\u677F/\u6ED1\u9F20\uFF09","action.load_keymap.mouse":"\u9810\u8A2D\uFF08\u6ED1\u9F20\uFF09","action.load_keymap.default.desc":"\u9810\u8A2D\u7684 Blockbench \u5FEB\u6377\u9375\u8A2D\u5B9A\uFF0C\u7B46\u96FB\u7684\u89F8\u63A7\u677F\u7528\u65BC\u79FB\u52D5\u6AA2\u8996\u8996\u89D2\u3002","action.load_keymap.mouse.desc":"\u9810\u8A2D\u7684 Blockbench \u5FEB\u6377\u9375\u8A2D\u5B9A\uFF0C\u6ED1\u9F20\u4E2D\u9375\u7528\u65BC\u79FB\u52D5\u6AA2\u8996\u8996\u89D2\u3002","action.load_keymap.blender.desc":"\u9069\u7528\u65BC Blender \u4F7F\u7528\u8005\u7684\u5FEB\u6377\u9375\u8A2D\u5B9A","action.load_keymap.cinema4d.desc":"\u9069\u7528\u65BC Cinema 4D \u4F7F\u7528\u8005\u7684\u5FEB\u6377\u9375\u8A2D\u5B9A","action.load_keymap.maya.desc":"\u9069\u7528\u65BC Autodesk Maya \u4F7F\u7528\u8005\u7684\u5FEB\u6377\u9375\u8A2D\u5B9A","action.import_keymap":"\u532F\u5165\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94","action.import_keymap.desc":"\u532F\u5165 .bbkeymap \u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94","action.export_keymap":"\u532F\u51FA\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94","action.export_keymap.desc":"\u532F\u51FA\u5FEB\u6377\u9375\u8A2D\u5B9A\u6A94\u70BA .bbkeymap \u6A94\u6848","action.edit_history":"\u7DE8\u8F2F\u7D00\u9304","action.edit_history.desc":"\u6AA2\u8996\u5FA9\u539F\u548C\u53D6\u6D88\u5FA9\u539F\u7684\u7DE8\u8F2F\u7D00\u9304","action.group_elements":"\u5C07\u5143\u7D20\u96C6\u5408\u6210\u4E00\u500B\u7FA4\u7D44","action.group_elements.desc":"\u5C07\u9078\u53D6\u7684\u5143\u7D20\u96C6\u5408\u6210\u4E00\u500B\u7FA4\u7D44","action.unfold_groups":"\u53D6\u6D88\u647A\u758A\u7FA4\u7D44","action.unfold_groups.desc":"\u53D6\u6D88\u647A\u758A\u5927\u7DB1\u8996\u5716\u4E2D\u7684\u6240\u6709\u7FA4\u7D44","action.edit_bedrock_binding":"\u7DE8\u8F2F\u5FEB\u6377\u9375\u2026","action.edit_bedrock_binding.desc":"\u8B8A\u66F4\u6B64\u5E7E\u4F55\u9AD4\u7D81\u5B9A\u7684\u9AA8\u9ABC","action.pick_screen_color":"\u9078\u53D6\u87A2\u5E55\u984F\u8272","action.pick_screen_color.desc":"\u5F9E\u4F60\u7684\u87A2\u5E55\u4E0A\u9078\u53D6\u984F\u8272","action.view_mode":"\u6AA2\u8996\u6A21\u5F0F","action.view_mode.desc":"\u8B8A\u66F4\u6A21\u578B\u6AA2\u8996\u6A21\u5F0F","action.view_mode.textured":"\u7D0B\u7406","action.view_mode.solid":"\u9EDE\u7DDA\u9762","action.view_mode.wireframe":"\u7DDA\u6846","action.toggle_sidebars":"\u958B\u95DC\u5074\u908A\u6B04","action.toggle_sidebars.desc":"\u958B\u555F\u6216\u95DC\u9589\u5074\u908A\u6B04","action.set_animation_end":"\u8A2D\u5B9A\u52D5\u756B\u7D42\u9EDE","action.set_animation_end.desc":"\u8A2D\u5B9A\u76EE\u524D\u6642\u9593\u8EF8\u4E0A\u7684\u52D5\u756B\u7D42\u9EDE","action.flip_animation":"\u7FFB\u8F49\u52D5\u756B","action.flip_animation.desc":"\u8907\u88FD\u9078\u53D6\u7684\u95DC\u9375\u5F71\u683C\u81F3\u6A21\u578B\u53E6\u4E00\u5074\u4F86\u7FFB\u8F49\u52D5\u756B","action.graph_editor_zero_line":"\u5305\u542B\u96F6\u7DDA","action.graph_editor_zero_line.desc":"\u662F\u5426\u8981\u5728\u5716\u50CF\u7DE8\u8F2F\u5668\u4E2D\u986F\u793A\u96F6\u7DDA","menu.texture.render_mode":"\u6E32\u67D3\u6A21\u5F0F","menu.texture.render_mode.emissive":"\u767C\u5149","menu.texture.render_mode.layered":"\u5C64\u758A","menu.preview.angle.edit":"\u7DE8\u8F2F\u89D2\u5EA6\u2026","menu.animation.start_delay":"\u8D77\u59CB\u5EF6\u6642","menu.animation.loop_delay":"\u91CD\u8907\u5EF6\u9072","menu.animation.flip_keyframes":"\u7FFB\u8F49\u95DC\u9375\u5F71\u683C","menu.mobile_keyboard.disable_all":"\u5168\u90E8\u505C\u7528","panel.keyframe.toggle_uniform_scale":"\u958B\u95DC\u5747\u52FB\u7E2E\u653E","camera_angle.common_isometric_right":"\u7B49\u8EF8\u8DDD\u53F3\u5074\uFF082:1\uFF09","camera_angle.common_isometric_left":"\u7B49\u8EF8\u8DDD\u5DE6\u5074\uFF082:1\uFF09","camera_angle.true_isometric_right":"\u7B49\u8EF8\u8DDD\u53F3\u5074\uFF0830\xB0\uFF09","camera_angle.true_isometric_left":"\u7B49\u8EF8\u8DDD\u5DE6\u5074\uFF0830\xB0\uFF09","menu.help.wiki":"Blockbench \u7DAD\u57FA","settings.update_to_prereleases":"\u66F4\u65B0\u81F3\u9810\u767C\u5E03\u7248","settings.update_to_prereleases.desc":"\u81EA\u52D5\u66F4\u65B0 Blockbench \u81F3\u9810\u767C\u5E03\u7248\u4EE5\u6E2C\u8A66\u65B0\u529F\u80FD\u3002\u9810\u767C\u5E03\u7248\u5F88\u4E0D\u7A69\u5B9A\uFF0C\u5728\u9032\u884C\u91CD\u8981\u5DE5\u4F5C\u6642\u8ACB\u52FF\u958B\u555F\u6B64\u9078\u9805\u3002","data.separator.spacer":"\u9593\u9694","data.separator.linebreak":"\u63DB\u884C","data.setting":"\u8A2D\u5B9A","generic.select_all":"\u5168\u90E8\u9078\u53D6","generic.select_none":"\u4E0D\u9078\u53D6","projects.new_tab":"\u65B0\u5206\u9801","projects.close_tab":"\u95DC\u9589\u5206\u9801","message.invalid_format.title":"\u7121\u6548\u7684\u683C\u5F0F","message.invalid_format.message":"\u6B64\u6A21\u578B\u70BA %0 \u683C\u5F0F\uFF0CBlockbench \u7121\u6CD5\u958B\u555F\u3002\u60A8\u53EF\u80FD\u9700\u8981\u63D2\u4EF6\u624D\u80FD\u6B63\u5E38\u958B\u555F\u3002","message.invalid_link":"\u7121\u6548\u6216\u904E\u671F\u7684\u9023\u7D50","message.default_textures.current":"\u76EE\u524D\u7684\u8DEF\u5F91","message.update_after_restart":"\u91CD\u65B0\u555F\u52D5\u5F8C\u5C07\u6703\u5B89\u88DD\u66F4\u65B0","message.copy_paste_tool_viewport":"\u6B64\u5DE5\u5177\u50C5\u80FD\u5728 UV \u9762\u677F\u4F7F\u7528","dialog.project.shadow_size":"\u5F71\u5B50\u5927\u5C0F","dialog.find_replace.target":"\u76EE\u6A19","dialog.find_replace.target.element_names":"\u5143\u7D20\u540D\u7A31","dialog.find_replace.target.group_names":"\u7FA4\u7D44\u540D\u7A31","dialog.find_replace.target.animation_names":"\u52D5\u756B\u540D\u7A31","dialog.find_replace.target.keyframe_values":"\u95DC\u9375\u5F71\u683C\u6578\u503C","dialog.find_replace.find":"\u5C0B\u627E","dialog.find_replace.replace":"\u53D6\u4EE3","dialog.find_replace.regex":"\u6B63\u5247\u8868\u9054\u5F0F","dialog.add_primitive.shape":"\u5F62\u72C0","dialog.add_primitive.shape.circle":"\u5713\u5F62","dialog.add_primitive.shape.tube":"\u7BA1\u72C0","dialog.add_primitive.shape.cone":"\u9310\u9AD4","dialog.add_primitive.shape.cylinder":"\u5713\u67F1","dialog.add_primitive.shape.sphere":"\u7403","dialog.add_primitive.shape.torus":"\u74B0\u72C0","dialog.add_primitive.shape.cube":"\u7ACB\u65B9\u9AD4","dialog.add_primitive.shape.pyramid":"\u89D2\u9310","dialog.add_primitive.diameter":"\u76F4\u5F91","dialog.add_primitive.height":"\u9AD8\u5EA6","dialog.add_primitive.sides":"\u908A\u6578","dialog.add_primitive.minor_diameter":"\u539A\u5EA6","dialog.add_primitive.minor_sides":"\u6700\u5C0F\u908A\u6578","dialog.create_texture.combine_polys":"\u5408\u4F75\u7684\u9762","dialog.create_texture.combine_polys.desc":"\u5C07\u5171\u9762\u7684\u9762\u5408\u4F75\u81F3\u540C\u4E00\u500B UV","dialog.model_stats.meshes":"\u7DB2\u683C","dialog.export_private_settings.omit":"\u5FFD\u7565","layout.select":"\u9078\u64C7","layout.options":"\u9078\u9805","layout.color":"\u984F\u8272\u6A23\u5F0F","layout.documentation":"\u6587\u6A94","layout.color.bright_ui_text":"\u6DFA\u8272 UI","layout.color.bright_ui_text.desc":"\u6DFA\u8272\u80CC\u666F\u7684\u6587\u5B57\u984F\u8272","layout.name":"\u540D\u7A31","layout.author":"\u4F5C\u8005","settings.dialog.desc":"\u986F\u793A%0\u5C0D\u8A71\u6846","settings.export_empty_groups":"\u532F\u51FA\u7A7A\u767D\u7684\u7FA4\u7D44","settings.export_empty_groups.desc":"\u5C07\u7A7A\u767D\u7684\u7FA4\u7D44\u4E00\u540C\u532F\u51FA","category.separators":"\u5206\u9694\u7B26\u865F","keybind.preview_area_select":"\u5340\u57DF\u9078\u64C7","action.color_erase_mode":"\u64E6\u9664\u6A21\u5F0F","action.color_erase_mode.desc":"\u958B\u555F\u6BBA\u9664\u6A21\u5F0F\u4E4B\u5F8C\uFF0C\u586B\u6EFF\u548C\u9577\u65B9\u5F62\u5DE5\u5177\u6703\u6E1B\u53BB\u984F\u8272\u3002","action.open_from_link":"\u5F9E\u9023\u7D50\u958B\u555F\u6A21\u578B\u2026","action.open_from_link.desc":"\u5F9E blckbn.ch \u7DB2\u5740\u958B\u555F\u6A21\u578B","action.import_obj":"\u532F\u5165 OBJ \u6A21\u578B","action.import_obj.desc":"\u5F9E OBJ \u6A21\u578B\u532F\u5165\u7DB2\u683C\u7269\u4EF6","action.add_plugin":"\u5B89\u88DD\u63D2\u4EF6","action.add_plugin.desc":"\u901A\u904E\u52D5\u4F5C\u63A7\u5236\u5B89\u88DD\u63D2\u4EF6","action.remove_plugin":"\u89E3\u9664\u5B89\u88DD\u63D2\u4EF6","action.remove_plugin.desc":"\u5F9E\u52D5\u4F5C\u63A7\u5236\u89E3\u9664\u5B89\u88DD\u63D2\u4EF6","action.add_mesh":"\u6DFB\u52A0\u7DB2\u683C","action.add_mesh.desc":"\u6DFB\u52A0\u4E00\u500B\u65B0\u7684\u7DB2\u683C\u5F62\u72C0","action.add_texture_mesh":"\u6DFB\u52A0\u7D0B\u7406\u7DB2\u683C","action.add_texture_mesh.desc":"\u6DFB\u52A0\u4E00\u500B\u65B0\u7684\u7D0B\u7406\u7DB2\u683C","action.find_replace":"\u5C0B\u627E\uFF0F\u53D6\u4EE3\u2026","action.find_replace.desc":"\u5C0B\u627E\u548C\u53D6\u4EE3\u90E8\u5206\u540D\u7A31","action.hide_everything_except_selection":"\u96B1\u85CF\u9078\u53D6\u4EE5\u5916\u7684\u90E8\u5206","action.hide_everything_except_selection.desc":"\u958B\u95DC\u9078\u53D6\u4EE5\u5916\u5143\u7D20\u7684\u53EF\u898B\u5EA6","action.transform_space.normal":"\u6B63\u5E38","action.selection_mode":"\u9078\u53D6\u6A21\u5F0F","action.selection_mode.desc":"\u8B8A\u66F4\u5143\u7D20\u65BC\u6AA2\u8996\u8996\u5716\u4E2D\u7684\u9078\u53D6\u6A21\u5F0F","action.selection_mode.object":"\u7269\u4EF6","action.selection_mode.face":"\u9762","action.selection_mode.vertex":"\u9802\u9EDE","action.create_face":"\u65B0\u589E\u9762\u6216\u7DDA","action.create_face.desc":"\u5728\u9078\u53D6\u7684\u9802\u9EDE\u4E4B\u9593\u5EFA\u7ACB\u9762\u6216\u7DDA","action.convert_to_mesh":"\u8F49\u63DB\u6210\u7DB2\u683C","action.convert_to_mesh.desc":"\u5C07\u9078\u53D6\u7684\u5143\u7D20\u8F49\u63DB\u6210\u7DB2\u683C","action.invert_face":"\u7FFB\u8F49\u9762","action.invert_face.desc":"\u7FFB\u8F49\u9078\u53D6\u7684\u9762\uFF0C\u4F7F\u5176\u9762\u5411\u76F8\u53CD\u7684\u65B9\u5411","action.extrude_mesh_selection":"\u62C9\u4F38\u9078\u53D6","action.extrude_mesh_selection.desc":"\u62C9\u4F38\u9078\u53D6\u7684\u7DB2\u683C","action.loop_cut":"\u74B0\u5F62\u5207\u5272","action.loop_cut.desc":"\u5C07\u9078\u53D6\u7684\u7DDA\u6BB5\u4E2D\u4F7F\u7528\u74B0\u5F62\u5207\u5272\u5206\u96E2\u7DB2\u683C","action.merge_meshes":"\u5408\u4F75\u7DB2\u683C","action.merge_meshes.desc":"\u5C07\u591A\u500B\u7DB2\u683C\u5408\u800C\u70BA\u4E00","action.keyframe_uniform":"\u7D71\u4E00\u7E2E\u653E","action.keyframe_uniform.desc":"\u5728\u9078\u53D6\u7684\u95DC\u9375\u5F71\u683C\u555F\u7528\u7D71\u4E00\u7E2E\u653E","menu.locator.ignore_inherited_scale":"\u5FFD\u7565\u7E7C\u627F\u7684\u7E2E\u653E","menu.texture.elements":"\u5957\u7528\u8B8A\u66F4\u81F3\u5143\u7D20","uv_editor.transparent_face":"\u900F\u660E\u7684\u9762","display.pose_angle":"\u59FF\u52E2\u89D2\u5EA6\uFF08\u50C5\u7528\u65BC\u9810\u89BD\uFF09","data.mesh":"\u7DB2\u683C","dialog.create_texture.type":"\u985E\u578B","dialog.create_texture.type.blank":"\u7A7A\u767D","dialog.create_texture.type.template":"\u7D0B\u7406\u7BC4\u672C","dialog.create_texture.type.color_map":"\u7D14\u8272\u7BC4\u672C","dialog.sketchfab_uploader.suggested_tags":"\u5EFA\u8B70\u7684\u6A19\u7C64","dialog.sketchfab_uploader.category":"\u5206\u985E","dialog.sketchfab_uploader.category2":"\u5206\u985E2","layout.restore_backup":"\u60A8\u7684\u81EA\u8A02 %0 \u4E3B\u984C\u906D\u5230\u8986\u84CB\u3002\u6309\u9019\u88E1\u9084\u539F\u3002","layout.borders":"\u908A\u754C","action.fill_mode.element":"\u5143\u7D20","action.inset_mesh_selection":"\u63D2\u5165\u9078\u53D6","action.inset_mesh_selection.desc":"\u63D2\u5165\u9078\u53D6\u7684\u7DB2\u683C","action.dissolve_edges":"\u908A\u7DE3\u6EB6\u89E3","action.dissolve_edges.desc":"\u6EB6\u89E3\u7DB2\u683C\u4E2D\u9078\u53D6\u7684\u908A\uFF0C\u5408\u4F75\u5169\u500B\u9762","action.split_mesh":"\u5207\u5272\u7DB2\u683C","action.split_mesh.desc":"\u5C07\u7DB2\u683C\u9078\u53D6\u7684\u9762\u5207\u5272\u6210\u65B0\u7684\u7DB2\u683C","action.merge_vertices":"\u5408\u4F75\u9802\u9EDE","action.merge_vertices.desc":"\u5C07\u9802\u9EDE\u5408\u4F75\u81F3\u7B2C\u4E00\u500B\u9078\u53D6\u7684\u9802\u9EDE","action.view_mode.normal":"\u6CD5\u7DDA","action.snap_uv_to_pixels":"\u5C07 UV \u5C0D\u9F4A\u50CF\u7D20","action.snap_uv_to_pixels.desc":"\u5C07\u9078\u53D6\u7684 UV \u9802\u9EDE\u5C0D\u9F4A\u50CF\u7D20\u7DB2\u683C","menu.file.import.import_open_project":"\u532F\u5165\u958B\u555F\u7684\u5C08\u6848","menu.help.unlock_projects":"\u89E3\u9396\u5168\u90E8\u5C08\u6848","status_bar.selection.faces":"%0 \u500B\u9762","status_bar.selection.vertices":"%0 \u500B\u9802\u9EDE","message.merged_vertices":"\u5728 %1 \u8655\u627E\u5230\u8207\u5408\u4F75\u4E86 %0 \u500B\u9802\u9EDE","settings.vertex_merge_distance":"\u9802\u9EDE\u5408\u4F75\u8DDD\u96E2","settings.vertex_merge_distance.desc":"\u6309\u8DDD\u96E2\u5408\u4F75\u9802\u9EDE\u7684\u8DDD\u96E2","settings.show_only_selected_uv":"\u50C5\u986F\u793A\u9078\u53D6\u7684 UV","settings.show_only_selected_uv.desc":"UV \u7DE8\u8F2F\u5668\u9810\u8A2D\u50C5\u986F\u793A\u9078\u53D6\u7684 UV","action.merge_vertices.merge_all":"\u5168\u90E8\u5408\u4F75","action.merge_vertices.merge_all_in_center":"\u5168\u90E8\u5408\u4F75\u81F3\u4E2D\u592E","action.merge_vertices.merge_by_distance":"\u6309\u8DDD\u96E2\u5408\u4F75","action.merge_vertices.merge_by_distance_in_center":"\u6309\u8DDD\u96E2\u5408\u4F75\u81F3\u4E2D\u592E","action.uv_rotate_left":"UV \u5411\u5DE6\u65CB\u8F49","action.uv_rotate_left.desc":"\u9078\u53D6\u7684 UV \u9006\u6642\u91DD\u65CB\u8F49","action.uv_rotate_right":"UV \u5411\u53F3\u65CB\u8F49","action.uv_rotate_right.desc":"\u9078\u53D6\u7684 UV \u9806\u6642\u91DD\u65CB\u8F49","menu.uv.display_uv":"\u986F\u793A UV","menu.uv.display_uv.selected_faces":"\u9078\u53D6\u7684\u9762","menu.uv.display_uv.selected_elements":"\u5168\u90E8\u7684\u9762","menu.uv.display_uv.all_elements":"\u5168\u90E8\u5143\u7D20\u4E0A\u7684\u9762","menu.paste.face":"UV \u9762","menu.paste.mesh_selection":"\u9078\u53D6\u7DB2\u683C","menu.paste.outliner":"\u5143\u7D20","uv_editor.show_all_faces":"\u986F\u793A\u6240\u6709\u9762","uv_editor.show_selected_faces":"\u986F\u793A\u9078\u53D6\u7684\u9762","status_bar.selection.edges":"%0 \u500B\u908A","action.selection_mode.edge":"\u908A","message.cannot_re_import.title":"\u6A21\u578B\u7121\u6CD5\u91CD\u65B0\u532F\u5165","message.cannot_re_import.message":"\u532F\u51FA\u5F8C\u7684\u6A21\u578B\u7121\u6CD5\u532F\u5165\u81F3 Blockbench\u3002\u8ACB\u78BA\u4FDD\u4F60\u662F\u5C07\u6A21\u578B\u5132\u5B58\u6210\u5C08\u6848\u6A94\u3002","generic.default":"\u9810\u8A2D","units.pixels_per_meter":"%0 \u50CF\u7D20\u6BCF\u516C\u5C3A","mode.pose":"\u59FF\u52E2","modifier_actions.resize_both_sides":"\u6240\u6709\u65B9\u5411\u91CD\u65B0\u8ABF\u6574\u5927\u5C0F","modifier_actions.resize_one_side":"\u55AE\u500B\u65B9\u5411\u8ABF\u6574\u5927\u5C0F","modifier_actions.draw_line":"\u756B\u7DDA","modifier_actions.drag_without_snapping":"\u7121\u5C0D\u9F4A\u62D6\u653E","modifier_actions.stretch_keyframes":"\u62C9\u4F38\u95DC\u9375\u5F71\u683C","modifier_actions.resize_background":"\u8ABF\u6574\u80CC\u666F\u5927\u5C0F","modifier_actions.select_multiple":"\u591A\u500B\u9078\u53D6","modifier_actions.select_range":"\u9078\u53D6\u7BC4\u570D","modifier_actions.drag_to_duplicate":"\u62D6\u653E\u62F7\u8C9D","modifier_actions.uniform_scaling":"\u7D71\u4E00\u7E2E\u653E","modifier_actions.snap_direction":"\u5C0D\u9F4A\u65B9\u5411","message.no_valid_elements":"\u6C92\u6709\u9078\u53D6\u6709\u6548\u7684\u5143\u7D20\u2026","dialog.add_primitive.shape.plane":"\u5E73\u9762","dialog.save_angle.rotation_mode":"\u65CB\u8F49\u6A21\u5F0F","dialog.save_angle.rotation":"\u65CB\u8F49","dialog.save_angle.fov":"\u8996\u89D2\u5EE3\u5EA6","settings.hide_tab_bar":"\u81EA\u52D5\u96B1\u85CF\u9801\u7C64\u5217","settings.hide_tab_bar.desc":"\u50C5\u6709\u4E00\u500B\u9801\u7C64\u958B\u555F\u6642\u96B1\u85CF\u9801\u7C64\u5217","settings.status_bar_modifier_keys":"\u5728\u72C0\u614B\u6B04\u986F\u793A\u4FEE\u98FE\u9375","settings.status_bar_modifier_keys.desc":"\u5728\u72C0\u614B\u6B04\u986F\u793A\u5EFA\u8B70\u7684\u4FEE\u98FE\u9375","settings.ground_plane":"\u5730\u9762\u5E73\u9762","settings.ground_plane.desc":"\u5728\u6A21\u578B\u4E0B\u65B9\u986F\u793A\u5E73\u9762","settings.preview_paste_behavior":"\u9810\u8A2D\u9810\u89BD\u8CBC\u4E0A\u884C\u70BA","settings.preview_paste_behavior.desc":"\u9078\u53D6\u5728\u7DE8\u8F2F\u6A21\u5F0F\u9810\u89BD\u8CBC\u4E0A\u6642\u7684\u884C\u70BA\uFF0C\u6709\u591A\u500B\u9078\u9805\u53EF\u9078","settings.preview_paste_behavior.always_ask":"\u7E3D\u662F\u8A62\u554F","action.new_window":"\u65B0\u8996\u7A97","action.new_window.desc":"\u958B\u555F\u65B0\u8996\u7A97","action.export_collada":"\u532F\u51FA\u70BA Collada Model (.dae)","action.export_collada.desc":"\u5C07\u6A21\u578B\u548C\u52D5\u756B\u532F\u51FA\u70BA .dae \u6A94\uFF0C\u4EE5\u5728\u5176\u4ED6 3D \u61C9\u7528\u7A0B\u5F0F\u4E2D\u4F7F\u7528","action.paint_mode_uv_overlay":"UV \u8986\u84CB","action.paint_mode_uv_overlay.desc":"\u5728\u7E6A\u5716\u6A21\u5F0F\u4E2D\u986F\u793AUV\u8986\u84CB","action.bake_animation_into_model":"\u70D8\u7119\u52D5\u756B\u5230\u6A21\u578B","action.bake_animation_into_model.desc":"\u5C07\u7576\u524D\u986F\u793A\u7684\u52D5\u756B\u5E40\u8907\u5236\u5230\u6A21\u578B\u4E2D\u3002\u53EA\u61C9\u7528\u65CB\u8F49\u548C\u4F4D\u7F6E\uFF0C\u5FFD\u7565\u7E2E\u653E\u3002","action.keyframe_interpolation.step":"\u6B65\u6578","action.set_ik_target":"\u8A2D\u5B9A\u9006\u904B\u52D5\u5B78\u76EE\u6A19","action.set_ik_target.desc":"\u9078\u53D6\u8981\u4F7F\u7528\u9006\u904B\u52D5\u5B78\u7A7A\u7269\u4EF6\u79FB\u52D5\u7684\u76EE\u6A19\u9AA8\u9ABC","menu.action_control.type.tab":"\u9801\u7C64","menu.action_control.type.angle":"\u651D\u5F71\u6A5F\u89D2\u5EA6","menu.action_control.recent_in_streamer_mode":"\u78BA\u5B9A\u55CE\uFF1F\u5DF2\u958B\u555F\u4E32\u6D41\u6A21\u5F0F","menu.action_control.recent_in_streamer_mode.desc":"\u4F60\u78BA\u5B9A\u8981\u986F\u793A\u6700\u8FD1\u7684\u6A21\u578B\uFF1F","menu.tools":"\u5DE5\u5177","menu.file.recent.more":"\u6AA2\u8996\u66F4\u591A\u2026","menu.null_object.lock_ik_target_rotation":"\u9396\u5B9A\u9006\u904B\u52D5\u5B78\u76EE\u6A19\u7684\u65CB\u8F49","menu.animation_file.import_remaining":"\u532F\u5165\u5269\u9918\u7684\u52D5\u756B","edit.loop_cut.offset":"\u504F\u79FB","edit.extrude_mesh_selection.extend":"\u5EF6\u5C55","cube.color.pink":"\u7C89\u7D05\u8272","cube.color.silver":"\u9280\u8272","dialog.plugins.offline":"\u6C92\u6709\u7DB2\u8DEF\u9023\u7DDA","dialog.create_texture.pixel_density":"\u50CF\u7D20\u5BC6\u5EA6","dialog.create_texture.pixel_density.desc":"\u6BCF\u516C\u5206\u7D0B\u7406\u7684\u50CF\u7D20\u5BC6\u5EA6\uFF0C\u6750\u8CEA\u8CBC\u5716\u7684\u5927\u5C0F\u6703\u56E0\u5143\u7D20\u800C\u6709\u6240\u4E0D\u540C\u3002","panel.skin_pose":"\u59FF\u52E2","panel.skin_pose.none":"\u7121","panel.skin_pose.natural":"\u81EA\u7136","panel.skin_pose.walking":"\u8D70\u8DEF","panel.skin_pose.crouching":"\u8E72\u4E0B","panel.skin_pose.sitting":"\u5750\u8457","panel.skin_pose.jumping":"\u8DF3\u8E8D","panel.skin_pose.aiming":"\u7784\u6E96","edit.loop_cut.direction":"\u65B9\u5411","data.texture_mesh":"\u7D0B\u7406\u7DB2\u683C","generic.left":"\u5DE6","generic.right":"\u53F3","mode.start.quick_setup":"\u5FEB\u901F\u8A2D\u7F6E","mode.start.keymap":"\u6309\u9375\u7D81\u5B9A","mode.start.quick_setup.more_themes":"\u7B49\u2026","dialog.resize_texture.animation_frames":"\u52D5\u756B\u5E40","dialog.export_emission_map.title":"\u5C0E\u51FA\u52D5\u756B","dialog.export_emission_map.format":"\u683C\u5F0F","dialog.export_emission_map.format.luminance":"\u4EAE\u5EA6","dialog.export_emission_map.format.luminance_inverted":"\u4EAE\u5EA6\u53CD\u8F49","dialog.export_emission_map.format.colors":"\u984F\u8272","dialog.export_emission_map.threshold":"\u900F\u660E\u5EA6\u9608\u503C","dialog.export_emission_map.round_up":"\u5411\u4E0A\u53D6\u820D%0\u5230%1","dialog.export_emission_map.flip_y":"\u7FFB\u8F49Y\u8EF8","dialog.select.type":"\u5143\u7D20\u7A2E\u985E","dialog.create_texture.max_edge_angle":"\u908A\u89D2\u9608\u503C","dialog.create_texture.max_edge_angle.desc":"\u5169\u500B\u9762\u4E4B\u9593\u4ECD\u5C07\u88AB\u7D44\u5408\u7684\u6700\u5927\u89D2\u5EA6","dialog.create_texture.max_island_angle":"\u5CF6\u5DBC\u7684\u6700\u5927\u50BE\u659C\u89D2\u5EA6","dialog.create_texture.max_island_angle.desc":"\u540C\u4E00\u500B UV \u8CBC\u5716\u53EF\u4EE5\u7D44\u5408\u7684\u6700\u5927\u89D2\u5EA6","settings.mobile_panel_side":"\u884C\u52D5\u88DD\u7F6E\u9762\u677F\u4F4D\u7F6E","settings.mobile_panel_side.desc":"\u9078\u64C7\u6A6B\u5411\u64CD\u4F5C\u6642\u9762\u677F\u7684\u986F\u793A\u65B9\u4F4D","settings.obj_face_export_mode":"OBJ \u591A\u908A\u5F62\u9762\u532F\u51FA\u6A21\u5F0F","settings.obj_face_export_mode.desc":"\u9078\u64C7\u8B93 OBJ \u532F\u51FA\u7A0B\u5F0F\u5C07\u6240\u6709\u9762\u8F49\u63DB\u70BA\u4E09\u89D2\u5F62\u6216\u56DB\u908A\u5F62","settings.obj_face_export_mode.both":"\u9810\u8A2D","settings.obj_face_export_mode.tris":"\u8F49\u63DB\u70BA\u4E09\u89D2\u5F62","settings.obj_face_export_mode.quads":"\u8F49\u63DB\u70BA\u56DB\u908A\u5F62","action.seam_tool":"\u7E2B\u9699\u9023\u63A5\u5DE5\u5177","action.seam_tool.desc":"\u7528\u4E8E\u5B9A\u7FA9\u7DB2\u683C\u908A\u7DE3\u4E0A\u7684 UV \u63A5\u7E2B\u7684\u5DE5\u5177","action.resolve_group":"\u89E3\u6790\u5206\u7D44","action.resolve_group.desc":"\u89E3\u6790\u5206\u7D44\uFF0C\u540C\u6642\u5C07\u5176\u5B50\u9805\u4FDD\u7559\u5728\u540C\u4E00\u4F4D\u7F6E","action.move_to_group":"\u79FB\u52D5\u5230\u7FA4\u7D44","action.move_to_group.desc":"\u5C07\u6240\u9078\u5143\u7D20\u79FB\u81F3\u5176\u4ED6\u5927\u7DB1\u8996\u5716\u7D44","action.select_seam":"\u9078\u64C7 UV \u63A5\u7E2B","action.select_seam.desc":"\u70BA\u6240\u9078\u908A\u7DE3\u9078\u64C7 UV \u63A5\u7E2B\u6A21\u5F0F","action.select_seam.auto":"\u81EA\u52D5","action.select_seam.join":"\u52A0\u5165","action.select_seam.divide":"\u5283\u5206","action.adjust_brightness_contrast":"\u8ABF\u6574\u4EAE\u5EA6\u548C\u5C0D\u6BD4\u5EA6...","action.adjust_brightness_contrast.desc":"\u8ABF\u6574\u6240\u9078\u7D0B\u7406\u7684\u4EAE\u5EA6\u548C\u5C0D\u6BD4\u5EA6","action.adjust_saturation_hue":"\u8ABF\u6574\u98FD\u548C\u5EA6\u548C\u8272\u8ABF...","action.adjust_saturation_hue.desc":"\u8ABF\u6574\u6240\u9078\u7D0B\u7406\u7684\u98FD\u548C\u5EA6\u548C\u8272\u8ABF","action.invert_colors":"\u53CD\u8F49\u9854\u8272","action.invert_colors.desc":"\u53CD\u8F49\u6240\u9078\u7D0B\u7406\u7684\u6240\u6709\u9854\u8272","action.adjust_curves":"\u8ABF\u6574\u66F2\u7DDA...","action.adjust_curves.desc":"\u8ABF\u6574\u6240\u9078\u7D0B\u7406\u7684\u4EAE\u5EA6\u66F2\u7DDA","action.flip_texture_x":"\u6C34\u5E73\u7FFB\u8F49\u7D0B\u7406","action.flip_texture_y":"\u5782\u76F4\u7FFB\u8F49\u7D0B\u7406","action.resize_texture":"\u8ABF\u6574\u7D0B\u7406\u5927\u5C0F...","action.view_mode.uv":"UV \u9810\u89BD","action.append_to_template":"\u5411\u6A21\u677F\u8FFD\u52A0\u5143\u7D20...","action.append_to_template.desc":"\u5C07\u9078\u4E2D\u7684\u5143\u7D20\u6DFB\u52A0\u5230\u7D0B\u7406\u6A21\u677F","action.move_texture_with_uv":"\u4F7F\u7528 UV \u79FB\u52D5\u7D0B\u7406","action.move_texture_with_uv.desc":"\u62D6\u52D5 UV \u9762\u6642\u79FB\u52D5\u9762\u7684\u7D0B\u7406","action.timeline_setups":"\u6642\u9593\u7DDA\u8A2D\u7F6E","action.save_timeline_setup":"\u4FDD\u5B58\u6642\u9593\u7DDA\u8A2D\u7F6E...","action.save_timeline_setup.desc":"\u4FDD\u5B58\u7576\u524D\u9078\u5B9A\u7684\u52D5\u756B\u5E2B\u548C\u983B\u9053\u7684\u9810\u8A2D","menu.texture":"\u7D0B\u7406","menu.texture.render_mode.default":"\u9810\u8A2D","menu.texture.merge_onto_texture":"\u5411\u4E0A\u5408\u4F75\u8CBC\u5716","menu.animation.unload":"\u91CB\u653E","panel.timeline":"\u6642\u9593\u8EF8","action.pan_tool":"\u5E73\u79FB\u5DE5\u5177","action.pan_tool.desc":"\u5728\u8996\u53E3\u548C\u7D0B\u7406\u7DE8\u8F2F\u5668\u4E2D\u5C0E\u822A\u7684\u5DE5\u5177","mode.start.recent.favorite":"\u6A19\u793A\u70BA\u6700\u611B","mode.start.info":"\u8CC7\u8A0A","mode.start.target":"\u76EE\u6A19","mode.start.start":"\u958B\u59CB","mode.start.create_new":"\u5275\u5EFA\u65B0\u6A21\u578B","mode.start.format.informations":"\u597D\u6D88\u606F :","mode.start.format.resources":"\u8CC7\u6E90","format.free.info.meshes":"\u6B64\u683C\u5F0F\u652F\u63F4\u4F7F\u7528\u65B9\u584A\u4EE5\u53CA\u81EA\u8A02\u5F62\u72C0\u7684\u7DB2\u683C\uFF0C\u53EF\u88FD\u4F5C\u4F4E\u591A\u908A\u5F62\u98A8\u683C\u7684\u6A21\u578B\u3002","format.free.info.limitation":"\u6B64\u6A21\u578B\u7121\u6CD5\u76F4\u63A5\u7528\u65BC Minecraft \u6216\u5176\u4ED6\u9700\u8981\u7279\u5B9A\u683C\u5F0F\u7684\u904A\u6232\u8B80\u53D6\u3002","format.skin.info.skin":"\u6B64\u683C\u5F0F\u5C08\u70BA\u88FD\u4F5C Minecraft \u76AE\u819A\u8207\u5BE6\u9AD4\u8CBC\u5716\u800C\u8A2D\u8A08\u3002","format.skin.info.model":"\u7121\u6CD5\u66F4\u6539\u6B64\u6A21\u578B\u3002\u82E5\u8981\u4FEE\u6539\u6A21\u578B\uFF0C\u8ACB\u5148\u900F\u904E **File** > **Convert Project** \u4F86\u8F49\u63DB\u6210\u5176\u4ED6\u683C\u5F0F\u3002","format.java_block.info.rotation":"\u6BCF\u500B\u5143\u7D20\u4E00\u6B21\u53EA\u80FD\u6CBF\u8457\u4E00\u500B\u65B9\u5411\u65CB\u8F49","format.java_block.info.size":"\u6B64\u6A21\u578B\u53D7\u9650\u65BC 3x3x3 \u65B9\u584A\u7684\u5C3A\u5BF8\uFF0C\u82E5\u9700\u8ABF\u6574\u7269\u54C1\u6A21\u578B\u7684\u5BE6\u969B\u986F\u793A\u5927\u5C0F\uFF0C\u53EF\u81F3 **\u986F\u793A\u8A2D\u5B9A** \u9032\u884C\u8A2D\u5B9A\u3002","format.java_block.info.animation":"\u539F\u7248 Minecraft \u4E0D\u652F\u63F4\u6B64\u683C\u5F0F\u7684\u52D5\u756B\u3002\u82E5\u662F\u7528\u65BC\u6A21\u7D44\uFF0C\u5EFA\u8B70\u4F7F\u7528 GeckoLib\u3002\u5426\u5247\u4F60\u53EA\u80FD\u900F\u904E\u6307\u4EE4\u66F4\u63DB\u6A21\u578B\u6216\u5229\u7528\u52D5\u614B\u7D0B\u7406\u4F86\u9054\u6210\u52D5\u756B\u6548\u679C\u3002","format.bedrock.info.textures":"\u6BCF\u500B\u6A21\u578B\u53EA\u80FD\u6709\u4E00\u500B\u7D0B\u7406","format.bedrock_block":"\u57FA\u5CA9\u7248\u65B9\u584A","format.bedrock_block.desc":"Bedrock\u7248\u65B9\u584A\u6A21\u578B","format.modded_entity.info.integer_size":"\u6BCF\u500B\u65B9\u584A\u7684\u5C3A\u5BF8\u5FC5\u9808\u662F\u6574\u6578\uFF0C\u7121\u6CD5\u6DFB\u52A0\u5C0F\u6578\u9EDE\u3002","format.modded_entity.info.format":"\u6B64\u6A21\u578B\u662F\u7528 Java \u7A0B\u5F0F\u78BC\u7DE8\u5BEB\uFF0C\u800C\u4E0D\u662F\u4EE5 Blockbench \u532F\u51FA\u683C\u5F0F\u4F7F\u7528\u5C08\u7528\u8CC7\u6599\u7D50\u69CB\u3002","format.optifine_entity.info.optifine_required":"\u6B64\u6A21\u578B\u9700\u8981\u5B89\u88DD OptiFine \u624D\u80FD\u6B63\u5E38\u986F\u793A\u3002","format.optifine_entity.info.pivots":"\u8EF8\u5FC3\u8655\u65BC\u9396\u5B9A\u72C0\u614B\uFF0C\u5EFA\u8B70\u4E0D\u8981\u9032\u884C\u4FEE\u6539\u4EE5\u907F\u514D\u932F\u8AA4\u3002","format_category.low_poly":"Low-Poly","format_category.minecraft":"Minecraft","format_category.other":"\u5176\u4ED6","format_category.loaders":"\u52A0\u8F09\u7A0B\u5E8F","message.recover_backup.recover":"\u6062\u5FA9","message.invalid_characters.title":"\u8DEF\u5F91\u932F\u8AA4","message.invalid_characters.message":"\u532F\u5165\u7684\u8DEF\u5F91\u8DEF\u5F91\u4E2D\u542B\u6709\u4E0D\u5408\u898F\u5B9A\u5B57\u5143\u3001\u5927\u5BEB\u5B57\u6BCD\u6216\u7A7A\u683C\u3002\u9650\u4F7F\u7528\u4EE5\u4E0B\u652F\u63F4\u7684\u5B57\u5143\uFF1A%0","dialog.share_model.thumbnail":"\u7E2E\u7565\u5716","dialog.skin.high_res_texture":"\u8ACB\u6CE8\u610F\uFF0C\u5177\u6709\u6240\u9078\u5206\u8FA8\u7387\u7684\u76AE\u819A\u5C07\u7121\u6CD5\u4F5C\u70BA\u5E38\u898F Minecraft \u76AE\u819A\u4F7F\u7528\u3002 \u9078\u64C7\u8F03\u4F4E\u7684\u5206\u8FA8\u7387\u3002","settings.allow_display_slot_mirror":"\u555F\u7528\u93E1\u50CF\u986F\u793A\u529F\u80FD","settings.allow_display_slot_mirror.desc":"\u555F\u7528 Java \u7269\u54C1\u6A21\u578B\u7684\u93E1\u50CF\u986F\u793A\u529F\u80FD\u3002\u8B66\u544A\uFF1A\u6B64\u529F\u80FD\u50C5\u9650\u5728 Minecraft 1.14\uFF08\u542B\uFF09\u4EE5\u524D\u7684\u7248\u672C\u6216\u7279\u5B9A\u689D\u4EF6\u4E0B\u6709\u6548\u3002","action.switch_tabs":"\u5207\u63DB\u9078\u9805\u5361","action.switch_tabs.desc":"\u5728\u6253\u958B\u7684\u9078\u9805\u5361\u4E4B\u9593\u5FAA\u74B0\u3002 \u6309\u4F4F shift \u4EE5\u53CD\u65B9\u5411\u5FAA\u74B0\u3002","action.unselect_all":"\u53D6\u6D88\u9078\u53D6\u5168\u90E8","action.save_palette":"\u4FDD\u5B58\u8ABF\u8272\u677F...","action.save_palette.desc":"\u5C07\u7576\u524D\u8ABF\u8272\u677F\u4FDD\u5B58\u5728 Blockbench \u4E2D\u4F9B\u4EE5\u5F8C\u4F7F\u7528","action.keyframe_column_create":"\u5275\u5EFA\u95DC\u9375\u5E40\u5217","action.keyframe_column_create.desc":"\u5982\u679C\u5B83\u5011\u5DF2\u7D93\u5177\u6709\u95DC\u9375\u5E40\uFF0C\u5C07\u6642\u9593\u8EF8\u4E2D\u7684\u6240\u6709\u901A\u9053\u6309\u7576\u524D\u6642\u9593\u9032\u884C\u95DC\u9375\u5E40","action.keyframe_column_select":"\u9078\u64C7\u95DC\u9375\u5E40\u5217","action.keyframe_column_select.desc":"\u6CBF\u64AD\u653E\u9375\u4E0B\u65B9\u7684\u5217\uFF0C\u9078\u64C7\u6642\u9593\u8EF8\u4E2D\u7684\u6240\u6709\u95DC\u9375\u5E40","menu.uv":"UV","menu.keyframe":"\u95DC\u9375\u5F71\u683C","menu.palette.load.update":"\u66F4\u65B0\u8868","menu.palette.load.update.desc":"\u4F7F\u7528\u76EE\u524D Blockbench \u8ABF\u8272\u677F\u7684\u984F\u8272\u66F4\u65B0\u6B64\u8ABF\u8272\u677F","menu.timeline_marker.set_time":"\u8A2D\u5B9A\u6642\u9593","uv_editor.scale_uv":"UV\u898F\u6A21","action.preview_scene":"\u9810\u89BD\u5834\u666F","action.preview_scene.desc":"\u66F4\u6539\u6A21\u578B\u9810\u89BD\u5834\u666F","preview_scene.minecraft_overworld":"\u4E3B\u4E16\u754C","preview_scene.minecraft_nether":"\u5730\u7344","preview_scene.minecraft_end":"\u7D42\u754C","dialog.project.modded_entity_flip_y":"Y\u8EF8\u7FFB\u8F49","preview_scene.studio":"\u5DE5\u4F5C\u5BA4","format.image":"\u5716\u7247","modifier_actions.set_copy_source":"\u8A2D\u5B9A\u8907\u88FD\u4F86\u6E90","message.load_images.title":"\u8F09\u5165\u5716\u7247","message.load_images.edit_image":"\u7DE8\u8F2F\u5716\u7247","dialog.add_primitive.align_edges":"\u5C0D\u9F4A\u908A\u7DE3","dialog.flip_animation.show_in_timeline":"\u5728\u6642\u9593\u8EF8\u4E2D\u986F\u793A\u4FEE\u6539\u5F8C\u7684\u9AA8\u9ABC","settings.default_cube_size":"\u65B9\u584A\u5C3A\u5BF8","settings.default_cube_size.desc":"\u5EFA\u7ACB\u65B0\u7ACB\u65B9\u9AD4\u6642\u8A2D\u5B9A\u9810\u8A2D\u7ACB\u65B9\u9AD4\u5927\u5C0F","settings.uniform_keyframe":"\u7D71\u4E00\u6BD4\u4F8B\u95DC\u9375\u5E40","settings.uniform_keyframe.desc":"\u9810\u8A2D\u60C5\u6CC1\u4E0B\uFF0C\u5C07\u7E2E\u653E\u95DC\u9375\u5E40\u8A2D\u5B9A\u70BA\u7D71\u4E00\u7E2E\u653E\u3002","settings.nearest_rectangle_select":"\u77E9\u5F62\u9078\u64C7\uFF1A\u6700\u8FD1\u908A\u7DE3","settings.nearest_rectangle_select.desc":"\u5C07\u77E9\u5F62\u9078\u53D6\u7BC4\u570D\u5C0D\u9F4A\u5230\u6700\u8FD1\u7684\u50CF\u7D20\u908A\u7DE3\uFF0C\u5C31\u50CF\u5728 GIMP \u4E2D\u4E00\u6A23\uFF0C\u800C\u4E0D\u662F\u5C0D\u9F4A\u5230\u6574\u500B\u50CF\u7D20\u3002","settings.pick_color_opacity":"\u9078\u64C7\u984F\u8272\u4E0D\u900F\u660E\u5EA6","settings.pick_color_opacity.desc":"\u4F7F\u7528\u984F\u8272\u9078\u64C7\u5668\u9078\u64C7\u984F\u8272\u4E0D\u900F\u660E\u5EA6\uFF0C\u4E26\u5C07\u5176\u8A2D\u70BA\u756B\u7B46\u4E0D\u900F\u660E\u5EA6\u3002","settings.paint_with_stylus_only":"\u50C5\u4F7F\u7528\u89F8\u63A7\u7B46\u4F5C\u756B","settings.paint_with_stylus_only.desc":"\u50C5\u4F7F\u7528\u89F8\u63A7\u7B46\u9032\u884C\u7E6A\u756B\uFF0C\u5C0E\u822A\u8ACB\u4FDD\u7559\u6ED1\u9F20\u6216\u89F8\u63A7\u8F38\u5165\u3002","action.copy_brush_mode":"\u8907\u5236\u756B\u7B46\u6A21\u5F0F","action.copy_brush_mode.copy":"\u62F7\u8C9D","action.copy_brush_mode.pattern":"\u5716\u6848","action.copy_brush_mode.sample":"\u6A23\u672C","action.brush_shape":"\u756B\u7B46\u5F62\u72C0","action.brush_shape.square":"\u65B9\u5F62","action.brush_shape.circle":"\u5713\u5708","action.blend_mode":"\u6DF7\u5408\u6A21\u5F0F","action.blend_mode.default":"\u9ED8\u8A8D","action.blend_mode.set_opacity":"\u8A2D\u5B9A\u4E0D\u900F\u660E\u5EA6","action.blend_mode.color":"\u984F\u8272","action.blend_mode.behind":"\u80CC\u9762","action.blend_mode.multiply":"\u76F8\u4E58","action.blend_mode.divide":"\u5283\u5206","action.blend_mode.add":"\u6DFB\u52A0","action.blend_mode.subtract":"\u76F8\u6E1B","action.blend_mode.screen":"\u5C4F\u5E55","action.blend_mode.overlay":"\u8986\u84CB","action.blend_mode.hard_light":"\u5F37\u5149","action.blend_mode.difference":"\u5DEE\u7570","action.copy_brush":"\u8907\u5236\u756B\u7B46","action.copy_brush.desc":"\u4F7F\u7528\u7B46\u5237\u4F86\u8907\u5236\u7D0B\u7406\u7684\u4E00\u90E8\u5206\u6216\u7E6A\u5236\u5716\u6848\u3002\u6309\u4F4FCtrl\u4E26\u9EDE\u64CA\u4EE5\u9078\u64C7\u8907\u5236\u6E90\u3002","action.validator_window":"\u67E5\u770B\u6A21\u578B\u554F\u984C...","action.validator_window.desc":"\u6253\u958B\u9A57\u8B49\u5668\uFF0C\u5217\u51FA\u7576\u524D\u6A21\u578B\u7684\u554F\u984C\u3002","action.cancel_gif":"\u53D6\u6D88GIF","menu.text_edit.copy_vector":"\u8907\u88FD\u5411\u91CF","menu.brush_presets.dialog":"\u7B46\u5237\u9810\u8A2D","menu.brush_presets.pixel_brush":"\u50CF\u7D20\u7B46","menu.brush_presets.smooth_brush":"\u5E73\u6ED1\u7B46\u5237","menu.texture.edit_in_blockbench":"\u7DE8\u8F2F\u65BCBlockbench","menu.mirror_painting.axis":"Axis","menu.mirror_painting.axis.desc":"Select on which axis paint strokes will get mirrored","menu.mirror_painting.global":"Global Symmetry","menu.mirror_painting.global.desc":"Enabled mirror painting on the model in global space","menu.mirror_painting.local":"Local Symmetry","menu.mirror_painting.local.desc":"Enable mirror painting in local space for each element","menu.mirror_painting.texture_frames":"Repeat on Flipbook Frames","menu.mirror_painting.texture_frames.desc":"Mirror paint strokes to every frame of animated textures","format.bedrock_block.info.size_limit":"\u584A\u7684\u7E3D\u5927\u5C0F\u5728\u6240\u6709\u7DAD\u5EA6\u4E0A\u9650\u5236\u70BA 30 \u50CF\u7D20\u3002 \u4E0A\u7DDA\u6700\u591A\u53EF\u4EE5\u5728\u6240\u6709\u65B9\u5411\u4E0A\u504F\u96E2\u584A\u4E2D\u5FC3 7 \u500B\u50CF\u7D20\u3002","format.bedrock_block.info.textures":"\u5728 Blockbench \u4E2D\uFF0C\u53EF\u4EE5\u5C07\u591A\u7A2E\u7D0B\u7406\u61C9\u7528\u4E8E\u4E0D\u540C\u7684\u7ACB\u65B9\u9AD4\uFF0C\u4F46\u9700\u8981\u5728\u884C\u70BA\u5305\u4E2D\u9032\u884C\u984D\u5916\u7684\u8A2D\u7F6E\u624D\u80FD\u5728\u904A\u6232\u4E2D\u6B63\u5E38\u5DE5\u4F5C\u3002","format.image.desc":"Edit images in the 2D image editor","generic.delete_all":"\u522A\u9664\u5168\u90E8","message.child_model_only.open":"Open Parent","message.child_model_only.open_with_textures":"Open Parent & Adopt Textures","dialog.project.credit":"\u5236\u4F5C\u4FE1\u606F","dialog.convert_project.create_copy":"\u5275\u5EFA\u526F\u672C","dialog.texture.frame_time":"\u5E40\u6642\u9593","dialog.texture.frame_time.desc":"\u8A2D\u7F6E\u6BCF\u5E40\u53EF\u898B\u7684\u6642\u9577\uFF0C\u4EE5\u523B\u5EA6\u70BA\u55AE\u4F4D\u3002 \u6BCF\u500B\u523B\u5EA6\u70BA 1/20 \u79D2\u3002","dialog.texture.frame_interpolate":"\u63D2\u5165","dialog.texture.frame_interpolate.desc":"\u5728\u4E0B\u4E00\u500B\u52D5\u756B\u5E40\u4E4B\u524D\u63D2\u5165\u6DE1\u5165\u6DE1\u51FA","dialog.texture.frame_order_type":"\u5FAA\u74B0\u6A21\u5F0F","dialog.texture.frame_order_type.loop":"\u5FAA\u74B0","dialog.texture.frame_order_type.backwards":"\u53CD\u5411\u5FAA\u73AF","dialog.texture.frame_order_type.back_and_forth":"\u5F80\u8FD4\u5FAA\u74B0","dialog.texture.frame_order_type.custom":"\u81EA\u5B9A\u7FA9\u9806\u5E8F","dialog.texture.frame_order":"\u5E40\u9806\u5E8F","dialog.texture.frame_order.desc":"\u8A2D\u7F6E\u81EA\u5B9A\u7FA9\u7684\u5E40\u9806\u5E8F\u3002 \u7B2C\u4E00\u5E40\u958B\u59CB%0\u3002","dialog.select.mode":"\u6A21\u5F0F","dialog.select.mode.new":"\u65B0\u9078\u64C7","dialog.select.mode.add":"\u6DFB\u52A0\u5230\u5DF2\u9078\u64C7","dialog.select.mode.remove":"\u5F9E\u5DF2\u9078\u64C7\u79FB\u9664","dialog.select.mode.in_selection":"\u50C5\u5F9E\u5DF2\u9078\u64C7\u5167\u5BB9\u4E2D\u9078\u64C7","dialog.predicate_overrides.model":"\u6A21\u578B","dialog.predicate_overrides.predicates":"\u8B02\u8A5E","dialog.predicate_overrides.variants":"\u8B8A\u9AD4","dialog.predicate_overrides.start_value":"\u958B\u59CB","dialog.predicate_overrides.add_override":"\u6DFB\u52A0\u8986\u5BEB","dialog.predicate_overrides.add_predicate":"\u6DFB\u52A0\u8B02\u8A5E","dialog.predicate_overrides.generate_overrides":"\u751F\u6210\u8986\u5BEB","dialog.predicate_overrides.confirm_delete":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6240\u6709\u8986\u5BEB\u55CE\uFF1F","dialog.predicate_overrides.predicate.angle":"\u6307\u5357\u91DD\u89D2\u5EA6","dialog.predicate_overrides.predicate.blocking":"\u5DF2\u906E\u64CB","dialog.predicate_overrides.predicate.broken":"\u5DF2\u640D\u58DE","dialog.predicate_overrides.predicate.cast":"\u5DF2\u65BD\u51FA","dialog.predicate_overrides.predicate.cooldown":"\u51B7\u537B\u4E2D","dialog.predicate_overrides.predicate.damage":"\u640D\u58DE","dialog.predicate_overrides.predicate.damaged":"\u5DF2\u640D\u58DE","dialog.predicate_overrides.predicate.lefthanded":"\u5DE6\u624B","dialog.predicate_overrides.predicate.pull":"\u62C9\u4F38\u503C","dialog.predicate_overrides.predicate.pulling":"\u6B63\u5728\u62C9\u4F38","dialog.predicate_overrides.predicate.charged":"\u5DF2\u62C9\u958B","dialog.predicate_overrides.predicate.firework":"\u6709\u706B\u7BAD","dialog.predicate_overrides.predicate.throwing":"\u51C6\u5099\u597D\u6295\u64F2","dialog.predicate_overrides.predicate.time":"\u7576\u65E5\u6642\u9593","dialog.predicate_overrides.predicate.custom_model_data":"\u81EA\u5B9A\u7FA9\u6A21\u578B\u4FE1\u606F","dialog.predicate_overrides.predicate.level":"\u5149\u7167\u5F37\u5EA6","dialog.predicate_overrides.predicate.filled":"\u6536\u7D0D\u888B\u88DD\u6EFF\u7A0B\u5EA6","dialog.predicate_overrides.predicate.tooting":"\u561F\u561F","settings.model_export_scale":"Model Export Scale","settings.model_export_scale.desc":"Factor by which the scale of exported glTF, DAE, and FBX models gets reduced. The default is 16, which converts 16 Blockbench units into 1 meter in the export.","action.export_fbx":"\u5C0E\u51FA FBX \u6A21\u578B","action.export_fbx.desc":"\u5C07\u6A21\u578B\u548C\u52D5\u756B\u5C0E\u51FA\u70BA FBX \u6587\u4EF6\u4EE5\u5728\u5176\u4ED6 3D \u61C9\u7528\u7A0B\u5E8F\u548C\u904A\u6232\u5F15\u64CE\u4E2D\u4F7F\u7528","action.center_lateral":"\u4E2D\u592E\u6A6B\u5411","action.center_lateral.desc":"\u5728 X \u548C Z \u8EF8\u4E0A\u5C07\u6240\u9078\u5143\u7D20\u5C45\u4E2D","action.adjust_opacity":"\u8ABF\u6574\u4E0D\u900F\u660E\u5EA6...","action.adjust_opacity.desc":"\u8ABF\u6574\u6240\u9078\u7D0B\u7406\u7684\u4E0D\u900F\u660E\u5EA6","action.rotate_texture_cw":"\u9806\u6642\u91DD\u65CB\u8F49\u7D0B\u7406","action.rotate_texture_ccw":"\u9006\u6642\u91DD\u65CB\u8F49\u7D0B\u7406","action.predicate_overrides":"\u7DE8\u8F2F\u8B02\u8A5E\u8986\u5BEB...","action.predicate_overrides.desc":"\u6839\u64DA\u6240\u9078\u689D\u4EF6\u9078\u64C7\u6A21\u578B\u4EE5\u8986\u84CB\u539F\u6A21\u578B","action.auto_set_cullfaces":"\u8A2D\u7F6E\u81EA\u52D5\u5254\u9664\u9762","action.auto_set_cullfaces.desc":"\u7576\u9762\u88AB\u76F8\u9130\u584A\u8986\u84CB\u6642\uFF0C\u81EA\u52D5\u5254\u9664\u9762\u4EE5\u96B1\u85CF\u9762\u3002","menu.texture.edit_externally":"Edit Externally","menu.mirror_painting.texture":"2D Editor Symmetry","menu.mirror_painting.texture.desc":"Enable mirror painting in 2D space on the image or texture","menu.animator.rotation_global":"Rotate in Global Space","uv_editor.face_properties":"Face Properties","uv_editor.face_properties.material_instance":"Material Instance","uv_editor.tint.info":"Tint can be enabled on a face to tell Minecraft to tint it. In vanilla, tint can only be used by specific blocks such as leaves and redstone dust, and can only have a value of 0.","uv_editor.cullface.info":"\u555F\u7528\u5254\u9664\u9762\u529F\u80FD\u5F8C\uFF0C\u5982\u679C Minecraft \u4E16\u754C\u4E2D\u6307\u5B9A\u65B9\u5411\u4E0A\u6709\u53E6\u4E00\u500B\u5B8C\u6574\u7684\u65B9\u584A\u7DCA\u9130\u67D0\u500B\u65B9\u584A\u653E\u7F6E\uFF0C\u5247\u8A72\u65B9\u584A\u7684\u67D0\u500B\u9762\u5C07\u4E0D\u518D\u6E32\u67D3\u3002\u9019\u53EF\u4EE5\u7528\u65BC\u512A\u5316\u6548\u80FD\u3002","uv_editor.material_instance.info":"\u6750\u8CEA\u5BE6\u4F8B\u53EF\u4EE5\u8A2D\u5B9A\u70BA\u4F7F\u7528\u8005\u81EA\u8A02\u540D\u7A31\uFF0C\u6B64\u540D\u7A31\u53EF\u7528\u65BC\u884C\u70BA\u5305\u4E2D\u7684\u65B9\u584A JSON \u6587\u4EF6\uFF0C\u70BA\u9762\u6307\u5B9A\u7279\u5B9A\u7684\u7D0B\u7406\u548C\u6750\u8CEA\u3002","display.reference.frame_invisible":"\u7269\u54C1\u5C55\u793A\u6846\uFF08\u96B1\u5F62\uFF09","data.settings_profile":"\u914D\u7F6E","message.display_skin.invalid_name":"\u7121\u6CD5\u627E\u5230\u540D\u7A31\u7232\u300C%0\u300D\u7684Minecraft\u5E33\u6236\u3002","dialog.load_plugins_from_query.title":"\u52A0\u8F09\u63D2\u4EF6","dialog.load_plugins_from_query.text":"\u6B64\u93C8\u63A5\u7684\u63D2\u4EF6\u9700\u8981\u88AB\u5B89\u88DD\u3002\u60A8\u78BA\u5B9A\u8981\u5B89\u88DD\u6B64\u63D2\u4EF6\u55CE\uFF1F","dialog.select_model.title":"\u9078\u64C7\u6A21\u578B","dialog.select_model.bones":"\u9AA8\u9ABC","dialog.select_model.cubes":"\u591A\u7ACB\u65B9","dialog.settings.create_profile":"\u5275\u5EFA\u914D\u7F6E...","settings_profile.confirm_delete":"\u4F60\u78BA\u5B9A\u8981\u522A\u9664\u9019\u500B\u8A2D\u5B9A\u914D\u7F6E\uFF1F","settings_profile.condition.type.selectable":"\u624B\u52D5\u9078\u64C7","settings.interface_mode":"\u4ECB\u9762\u6A21\u5F0F","settings.interface_mode.desc":"\u4ECB\u9762\u6A21\u5F0F\uFF0C\u91CD\u65B0\u555F\u52D5 Blockbench \u4EE5\u61C9\u7528\u66F4\u6539","settings.interface_mode.auto":"\u81EA\u52D5","settings.interface_mode.desktop":"\u684C\u9762\u61C9\u7528\u7A0B\u5F0F","settings.interface_mode.mobile":"\u884C\u52D5\u88DD\u7F6E\u61C9\u7528\u7A0B\u5F0F","settings.paint_through_transparency":"\u900F\u904E\u900F\u660E\u984F\u6599\u4F5C\u756B","settings.paint_through_transparency.desc":"\u555F\u7528\u300C\u9396\u5B9A Alpha \u901A\u9053\u300D\u5F8C\uFF0C\u53EF\u900F\u904E\u900F\u660E\u50CF\u7D20\u9032\u884C\u7E6A\u88FD\u3002","action.tab_overview":"\u6A19\u7C3D\u9801\u7E3D\u89BD","action.tab_overview.desc":"\u67E5\u770B\u6240\u6709\u6253\u958B\u7684\u6A19\u7C3D\u9801\u4E26\u8DF3\u8F49\u81F3\u5176\u4E2D\u4E00\u500B","action.slider_color_red":"\u7EA2\u8272","action.slider_color_green":"\u7DA0\u8272","action.slider_color_blue":"\u85CD\u8272","action.add_animation_controller":"\u52A0\u5165\u52D5\u4F5C\u63A7\u5236\u5668","action.add_animation_controller.desc":"\u5275\u5EFA\u52D5\u4F5C\u63A7\u5236\u5668","action.animation_controller_preview_mode":"\u9810\u89BD","action.animation_controller_preview_mode.paused":"\u5DF2\u66AB\u505C","action.animation_controller_preview_mode.manual":"\u624B\u52D5\u9810\u89BD","action.animation_controller_preview_mode.play":"\u81EA\u52D5\u64AD\u653E","action.keyframe_interpolation.bezier":"\u8C9D\u585E\u723E","action.keyframe_bezier_linked":"\u9023\u63A5\u8C9D\u585E\u723E\u624B\u67C4","action.keyframe_bezier_linked.desc":"\u9023\u63A5\u5DE6\u548C\u53F3\u95DC\u9375\u5E40\u7684\u8C9D\u585E\u723E\u624B\u67C4","action.reset_keyframe_handles":"\u91CD\u7F6E\u95DC\u9375\u5E40\u624B\u67C4","action.reset_keyframe_handles.desc":"\u91CD\u7F6E\u5DF2\u9078\u4E2D\u95DC\u9375\u5E40\u7684\u8C9D\u585E\u723E\u624B\u67C4","action.looped_animation_playback":"\u5FAA\u74B0\u64AD\u653E","action.looped_animation_playback.desc":"\u7121\u9650\u5FAA\u74B0\u9810\u89BD\u52D5\u756B","timeline.bind_to_actor":"\u7D81\u5B9A\u5230Actor","animation_controllers.select_preset":"\u9078\u64C7\u63A7\u5236\u5668\u9810\u8A2D...","animation_controllers.state.animations":"\u52D5\u756B","animation_controllers.state.particles":"\u7C92\u5B50","animation_controllers.state.sounds":"\u97F3\u6548","animation_controllers.state.on_entry":"\u9032\u5165\u6642","animation_controllers.state.on_exit":"\u9000\u51FA\u6642","animation_controllers.state.transitions":"\u904E\u6E21\u52D5\u756B","animation_controllers.state.condition":"\u689D\u4EF6","animation_controllers.state.blend_transition":"\u6DF7\u5408\u6642\u9593","animation_controllers.state.shortest_path":"\u6309\u6700\u77ED\u7684\u8DEF\u5F91\u6DF7\u5408","animation_controllers.state.edit_transition":"\u7DE8\u8F2F\u904E\u6E21\u52D5\u756B","menu.color_picker.picker_type":"\u985E\u578B\u9078\u64C7","menu.color_picker.picker_type.square":"\u65B9\u5F62","menu.color_picker.picker_type.wheel":"\u8272\u8F2A","menu.color_picker.slider_mode":"\u6ED1\u687F\u6A21\u5F0F","menu.color_picker.slider_mode.hsv":"\u8272\u76F8\u3001\u98FD\u548C\u5EA6\u548C\u4EAE\u5EA6\uFF08HSV\uFF09","menu.color_picker.slider_mode.rgb":"RGB","menu.texture.render_mode.additive":"\u9644\u52A0","panel.color.picker_options":"\u53D6\u8272\u5668\u8A2D\u5B9A","panel.animation_controllers":"\u52D5\u756B\u63A7\u5236\u5668","display.preset.armor_stand":"\u5730\u9762\uFF08\u76D4\u7532\u67B6\uFF09","data.file_path":"\u6587\u4EF6\u8DEF\u5F91","dialog.extrude.orientation":"\u5750\u6A19\u7CFB","dialog.extrude.orientation.upright":"\u76F4\u7ACB","dialog.extrude.orientation.flat":"\u5E73\u5766","dialog.scale.box_uv_warning":"\u7E2E\u653E Box UV \u6A21\u578B\u53EF\u80FD\u6703\u7834\u58DEUV\u3002\u76F8\u53CD\uFF0C\u8ACB\u5617\u8A66\u5728\u5916\u90E8\u7E2E\u653E\u4F60\u7684\u6A21\u578B\uFF0C\u6216\u8005\u5728\u300A\u6587\u4EF6 > \u9805\u76EE\u300B \u4E2D\u5207\u63DB\u5230\u9010\u9762UV\u6A21\u5F0F\u3002","dialog.create_gif.format":"\u683C\u5F0F","dialog.create_gif.format.gif":"GIF","dialog.create_gif.format.png_sequence":"PNG \u5E8F\u5217","dialog.create_gif.pixelate":"\u50CF\u7D20\u5316","dialog.create_gif.bg_image":"\u80CC\u666F\u5716\u7247","dialog.create_gif.turn.desc":"\u5728\u9304\u5236\u4E2D\u65CB\u8F49\u6A21\u578B\u3002\u4F7F\u7528\u8CA0\u6578\u503C\u9806\u6642\u91DD\u65CB\u8F49\u300260\u76F8\u7576\u4E8E\u6BCF\u79D2\u65CB\u8F49\u4E00\u5468\u3002","settings_profile.condition":"\u72C0\u614B","settings_profile.condition.type.file_path.desc":"\u4F7F\u7528\u6B63\u898F\u8868\u793A\u5F0F\u8A9E\u6CD5\u4F86\u7B26\u5408\u76EE\u524D\u9805\u76EE\u7684\u6A94\u6848\u8DEF\u5F91\uFF0C\u76EE\u9304\u8DEF\u5F91\u8ACB\u4F7F\u7528\u6B63\u659C\u7DDA\u3002","settings.only_selected_bezier_handles":"\u50C5\u986F\u793A\u9078\u5B9A\u7684\u8C9D\u585E\u723E\u66F2\u7DDA\u63A7\u5236\u67C4","settings.only_selected_bezier_handles.desc":"\u96B1\u85CF\u76EE\u524D\u672A\u9078\u53D6\u7684\u8C9D\u585E\u723E\u95DC\u9375\u5F71\u683C\u7684\u63A7\u5236\u67C4","settings.embed_textures":"\u5D4C\u5165\u7D0B\u7406","settings.embed_textures.desc":"\u5D4C\u5165.bbmodel\u683C\u5F0F\u7684\u7D0B\u7406\u6A94","action.selection_mode.cluster":"\u7D44","dialog.copied_to_clipboard":"\u8907\u5236\u5230\u526A\u8CBC\u677F","data.reference_image":"\u53C3\u8003\u5716\u7247","message.delete_reference_image":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u9019\u5F35\u53C3\u8003\u5716\u55CE\uFF1F\u672C\u64CD\u4F5C\u7121\u6CD5\u64A4\u92B7\u3002","message.add_reference_image.message":"Select where to load the reference image","message.add_reference_image.project":"Add to this project","message.add_reference_image.app":"Add to all projects","message.import_particle_texture.import":"Import Particle Texture","message.import_particle_texture.message":"Would you like to import a texture file to be used for your particle?","message.save_codec_selector.title":"Save Model Format","message.save_codec_selector.message":"Select a format to save the model in.","message.save_codec_selector.project_file":"Blockbench Project (.bbmodel)","message.save_codec_selector.both":"\u5169\u8005","message.display_skin.username":"\u4F7F\u7528\u8005\u540D\u7A31 (Java)","message.palette_locked":"The palette is locked","dialog.project.default_uv_mode":"\u9ED8\u8A8DUV\u6A21\u5F0F","dialog.project.default_uv_mode.description":"\u6B64\u9805\u76EE\u7684\u9ED8\u8A8DUV\u6A21\u5F0F\u3002\u6BCF\u500B\u584A\u90FD\u53EF\u4EE5\u66F4\u6539UV\u6A21\u5F0F\u3002","dialog.export_options.title":"\u5C0E\u51FA\u9078\u9805","dialog.edit_texture.preview":"\u9810\u89BD","dialog.proportional_editing.range":"\u8DDD\u96E2","dialog.proportional_editing.falloff":"\u8870\u6E1B\u65B9\u5F0F","dialog.proportional_editing.falloff.linear":"\u7DDA\u6027","dialog.proportional_editing.falloff.hermite_spline":"\u5E73\u6ED1","dialog.proportional_editing.falloff.constant":"\u56FA\u5B9A","dialog.proportional_editing.selection":"\u9078\u64C7","dialog.proportional_editing.selection.linear":"\u7DDA\u6027\u8DDD\u96E2","dialog.proportional_editing.selection.connections":"\u9078\u64C7","dialog.mirror_painting_texture_center.middle":"\u4E2D\u9593","dialog.mirror_painting_texture_center.custom":"\u81EA\u5B9A\u7FA9","dialog.settings.reset_to_default":"\u91CD\u7F6E\u70BA\u9810\u8A2D","keybindings.item.num_slider.increase":"\u589E\u52A0","keybindings.item.num_slider.decrease":"\u6E1B\u5C11","settings.always_show_splash_art":"Always Show Splash Art","settings.always_show_splash_art.desc":"Always display the splash art on the start screen","action.slider_palette_color":"\u5207\u63DB\u8ABF\u8272\u677F\u9854\u8272","action.slider_palette_color.desc":"\u5FAA\u74B0\u5207\u63DB\u8ABF\u8272\u677F\u4E2D\u9854\u8272","action.proportional_editing":"\u8870\u6E1B\u7DE8\u8F2F","action.proportional_editing.desc":"\u5728\u8ABF\u6574\u6A21\u578B\u90E8\u5206\u6642\u540C\u6642\u6309\u6BD4\u4F8B\u5F71\u97FF\u5468\u908A\u9802\u9EDE","action.limit_to_palette":"\u9650\u5236\u70BA\u8ABF\u8272\u677F\u5167\u9854\u8272","action.limit_to_palette.desc":"\u9650\u5236\u6750\u8CEA\u4E2D\u7684\u9854\u8272\u70BA\u73FE\u6709\u8ABF\u8272\u677F\u4E2D\u9854\u8272","action.edit_reference_images":"\u7DE8\u8F2F\u53C3\u8003\u5716\u50CF","action.edit_reference_images.desc":"\u6253\u958B\u53C3\u8003\u5716\u50CF\u6A21\u5F0F\u4EE5\u6DFB\u52A0\u6216\u7DE8\u8F2F\u53C3\u8003\u5716\u548C\u85CD\u5716","action.add_reference_image":"\u6DFB\u52A0\u53C3\u8003\u5716\u50CF","action.reference_image_from_clipboard":"\u5F9E\u526A\u8CBC\u677F\u8B80\u53D6\u53C3\u8003\u5716\u50CF","action.reference_image_list":"\u53C3\u8003\u5716\u50CF","action.connect_uv_faces":"\u9023\u63A5UV\u9762","action.connect_uv_faces.desc":"\u5C07\u9078\u4E2D\u7684UV\u9762\u9023\u63A5\u4E8E\u4E0A\u6B21\u9078\u4E2D\u7684UV\u9762","action.merge_uv_vertices":"\u5408\u4E26UV\u9802\u9EDE","action.merge_uv_vertices.desc":"\u5C07\u9996\u5148\u9078\u4E2D\u7684UV\u9802\u9EDE\u5C0D\u5176\u4E8E\u6700\u5F8C\u9078\u4E2D\u7684UV\u9802\u9EDE","action.bedrock_animation_mode":"Bedrock\u7248\u52D5\u756B\u6A21\u5F0F","action.bedrock_animation_mode.desc":"\u9078\u4E2D\u70BAMinecraft: Bedrock\u7248\u7DE8\u8F2F\u52D5\u756B\u7684\u6A21\u5F0F","action.bedrock_animation_mode.entity":"\u5BE6\u9AD4","action.bedrock_animation_mode.attachable_first":"\u7269\u54C1\u7B2C\u4E00\u4EBA\u7A31","action.bedrock_animation_mode.attachable_third":"\u7269\u54C1\u7B2C\u4E09\u4EBA\u7A31","timeline.amplify":"Amplify","menu.options":"\u9078\u9805","menu.palette.lock_palette":"Lock Palette","menu.uv.export":"Export UV Mapping","menu.uv.flip_x":"\uFF38\u8EF8\u93E1\u8C61","menu.uv.flip_y":"\uFF39\u8EF8\u93E1\u8C61","menu.mirror_painting.enabled":"\u555F\u52D5","reference_image.position":"\u4F4D\u7F6E","reference_image.size":"\u5927\u5C0F","reference_image.rotation":"\u9078\u8F49","reference_image.opacity":"\u900F\u660E\u5EA6","reference_image.visibility":"\u53EF\u898B\u5EA6","reference_image.clear_mode":"Clear Mode","reference_image.layer":"Layer","reference_image.layer.background":"Behind Model","reference_image.layer.viewport":"Above Model","reference_image.layer.float":"Above Interface","reference_image.scope":"Scope","reference_image.scope.project":"Just this project","reference_image.scope.global":"All projects","reference_image.enabled_modes":"Enabled in Modes","codec.common.encoding":"\u7DE8\u78BC","codec.common.armature":"\u5C07\u5206\u7D44\u4F5C\u70BA\u9AA8\u67B6\u5C0E\u51FA","codec.common.export_animations":"\u5C0E\u51FA\u52D5\u4F5C","codec.common.embed_textures":"\u5167\u5D4C\u7D0B\u7406","preview.center_camera":"Center Camera","display.reference.frame_top":"\u8868\u9762\u5C55\u793A\u6846","display.reference.frame_top_invisible":"\u8868\u9762\u5C55\u793A\u6846\uFF08\u96B1\u5F62\uFF09","action.proportional_editing_range":"\u7B49\u6BD4\u4F8B\u7DE8\u8F2F\u7BC4\u570D","action.proportional_editing_range.desc":"\u8ABF\u6574\u7B49\u6BD4\u4F8B\u7DE8\u8F2F\u7684\u7BC4\u570D","action.toggle_all_reference_images":"\u96B1\u85CF/\u5C55\u793A\u5168\u90E8\u53C3\u8003\u5716","action.toggle_all_reference_images.desc":"\u540C\u6642\u96B1\u85CF/\u5C55\u793A\u5168\u90E8\u53C3\u8003\u5716","action.add_animation_controller_state":"\u589E\u52A0\u52D5\u756B\u63A7\u5236\u72C0\u614B","action.add_animation_controller_state.desc":"\u70BA\u52D5\u756B\u63A7\u5236\u589E\u52A0\u65B0\u72C0\u614B","menu.slider.round_value":"Round Value","texture.error.too_large":"Resolution exceeds the maximum of %0","dialog.copy_to_clipboard":"\u8907\u5236\u5230\u526A\u5207\u677F\u4E2D","dialog.open_url":"\u6253\u958B URL \u93C8\u63A5","reference_image.image":"\u5716\u7247","uv_editor.rotate_uv":"\u9078\u8F49UV","generic.error":"\u932F\u8AA4","projects.start_screen":"Start Screen","message.invalid_link.message":'The shared model "%0" that you are trying to load is either invalid or has expired.',"message.plugin_dependencies.title":"\u63D2\u4EF6\u4F9D\u8CF4","message.plugin_dependencies.message1":"\u8A72\u63D2\u4EF6\u9700\u8981\u4EE5\u4E0B\u4F9D\u8CF4\u9805\uFF1A","message.plugin_dependencies.message1_update":"\u63D2\u4EF6 %0 \u5DF2\u66F4\u65B0\uFF0C\u73FE\u5728\u9700\u8981\u4EE5\u4E0B\u4F9D\u8CF4\u9805\uFF1A","message.plugin_dependencies.message2":"\u60A8\u662F\u5426\u5E0C\u671B\u4E0B\u8F09\u5B83\u5011\u4F7F\u5176\u7E7C\u7E8C?","message.plugin_dependencies.invalid":"\u5F88\u62B1\u6B49\uFF0C\u8A72\u63D2\u4EF6\u7121\u6CD5\u5B89\u88DD\uFF0C\u5B83\u5B58\u5728\u7121\u6548\u7684\u4F9D\u8CF4\u9805\uFF1A","message.preview_scene_load_failed":"Failed to load preview scene. Check your internet connection.","dialog.convert_project.text1":"\u5C07\u9805\u76EE\u8F49\u5316\u70BA\u53E6\u4E00\u683C\u5F0F\u3002","dialog.convert_project.text2":"\u8ACB\u8B39\u614E\u8F49\u5316\u3002\u4E0D\u540C\u683C\u5F0F\u6709\u8457\u4E0D\u540C\u529F\u80FD\u53CA\u9650\u5236\uFF0C\u67D0\u4E9B\u8F49\u5316\u5C07\u7834\u58DE\u90E8\u5206\u9805\u76EE\u3002","dialog.convert_project.text3":"\u4F60\u7121\u6CD5\u64A4\u92B7\u8F49\u5316\uFF0C\u56E0\u6B64\u9ED8\u8A8D\u60C5\u6CC1\u4E0B\u5C07\u6703\u8907\u5236\u4E00\u4EFD\u526F\u672C\u3002","dialog.unsaved_work.title":"\u70BA\u5132\u5B58\u505A\u54C1","dialog.unsaved_work.text":"\u4EE5\u4E0B\u9805\u76EE\u6709\u672A\u4FDD\u5B58\u7684\u8B8A\u66F4\u3002\u662F\u5426\u4FDD\u5B58\u66F4\u6539\uFF1F","dialog.unsaved_work.discard_all":"\u5168\u90FD\u4E1F\u68C4","dialog.unsaved_work.save_all":"\u5132\u5B58\u5168\u90E8","dialog.resize_texture.mode":"\u6A21\u5F0F","dialog.resize_texture.mode.crop":"\u88C1\u5207/\u64F4\u5C55","dialog.resize_texture.mode.scale":"\u7E2E\u653E","dialog.plugins.is_installed":"\u5DF2\u4E0B\u8F09","dialog.plugins.is_disabled":"\u5DF2\u7981\u7528","dialog.plugins.disable":"\u7981\u7528","dialog.plugins.enable":"\u5553\u7528","dialog.plugins.dependencies":"\u4F9D\u8CF4\u5728\uFF1A","dialog.view_backups.open_folder":"\u6253\u958B\u8CC7\u6599\u593E","dialog.share_model.reference_images":"\u5305\u62EC\u53C3\u8003\u5716\u50CF","dialog.share_model.too_large":"\u4E0A\u50B3\u5931\u6557\uFF1A\u6A21\u578B\u904E\u5927","dialog.share_model.too_large_references":"\u4E0A\u50B3\u5931\u6557\uFF1A\u6A21\u578B\u904E\u5927\u3002\u8ACB\u53D6\u6D88\u53C3\u8003\u5716\u50CF\u4E26\u518D\u6B21\u5617\u8A66\u3002","settings.stretch_linked":"Link Stretching","settings.stretch_linked.desc":"Stretch the cube in all directions with the same value","settings.grids":"Show Grids","settings.grids.desc":"Show or hide all 3D grids","settings.double_click_switch_tools":"Switch Tools on Double Click","settings.double_click_switch_tools.desc":"Double click the viewport to switch between tools","settings.outlines_in_paint_mode":"Selection Outlines in Paint Mode","settings.outlines_in_paint_mode.desc":"Display element selection outlines while in paint mode","settings.json_indentation":"JSON Indentation","settings.json_indentation.desc":"Indentation style for exported JSON files","settings.json_indentation.tabs":"Tabs","settings.json_indentation.spaces_4":"Spaces: 4","settings.json_indentation.spaces_2":"Spaces: 2","action.slider_stretch":"\u62C9\u4F38","action.slider_stretch.desc":"\u5C07\u7ACB\u65B9\u9AD4\u6CBF\u8EF8\u6210\u500D\u62C9\u4F38\u800C\u4E0D\u6539\u8B8A\u5176UV","action.view_backups":"\u67E5\u770B\u5099\u4EFD","action.view_backups.desc":"\u6D4F\u89BD\u81EA\u52D5\u4FDD\u5B58\u7684\u9805\u76EE\u5099\u4EFD\u5217\u8868","action.search_outliner":"\u641C\u7D22\u5927\u7DB1","action.search_outliner.desc":"\u5728\u5927\u7DB1\u4E2D\u4EE5\u95DC\u9375\u8A5E\u6AA2\u7D22\u5143\u7D20\u540D\u7A31","action.mirror_modeling":"\u5EFA\u6A21\u93E1\u5C04","action.mirror_modeling.desc":"\u5728X\u8EF8\u4E0A\u5553\u7528\u93E1\u50CF\u7DE8\u8F2F\u6A21\u5F0F\u3002\u4F60\u5728\u8996\u53E3\u4E2D\u505A\u7684\u4E00\u5207\u66F4\u6539\u90FD\u6703\u6298\u5C04\u5230\u53E6\u4E00\u908A\uFF0C\u9664\u975E\u5143\u7D20\u6709\u4E0A\u7279\u6B8A\u7981\u7528\u3002","action.allow_element_mirror_modeling":"\u5553\u7528\u93E1\u50CF\u7DE8\u8F2F\u6A21\u5F0F","action.allow_element_mirror_modeling.desc":"\u9078\u64C7\u6240\u9078\u5143\u7D20\u662F\u5426\u53D7\u93E1\u50CF\u7DE8\u8F2F\u6A21\u5F0F\u5F71\u97FF","action.switch_face_crease":"\u5207\u63DB\u9762\u6298\u758A","action.switch_face_crease.desc":"\u5207\u63DB\u9762\u7684\u5C0D\u6298\u65B9\u5411","action.clear_unused_texture_space":"\u6E05\u9664\u7D0B\u7406\u672A\u4F7F\u7528\u7684\u90E8\u5206","action.clear_unused_texture_space.desc":"\u5C07\u7D0B\u7406\u4E2D\u6C92\u6709\u5C0D\u61C9\u5143\u7D20UV\u6620\u5C04\u7684\u90E8\u5206\u6E05\u9664","action.split_screen":"\u5206\u5C4F","action.split_screen.desc":"\u9009\u62E9\u89C6\u53E3\u5206\u5C4F\u6A21\u5F0F","action.split_screen.single":"\u55AE\u4E00","action.split_screen.double_horizontal":"\u6C34\u5E73\u96D9\u5C4F","action.split_screen.double_vertical":"\u5782\u76F4\u96D9\u5C4F","action.split_screen.quad":"\u56DB\u5C4F","action.split_screen.triple_left":"\u4E09\u9023\u5DE6\u5C4F","action.split_screen.triple_right":"\u4E09\u9023\u53F3\u5C4F","action.split_screen.triple_top":"\u4E09\u9023\u4E0A\u5C4F","action.split_screen.triple_bottom":"\u4E09\u9023\u4E0B\u5C4F","action.uv_project_from_view":"\u81EA\u8996\u89D2\u6295\u5C04UV","action.uv_project_from_view.desc":"\u4EE53D\u8996\u5716\u7684\u8996\u89D2\u70BA\u6240\u9078\u7684\u9762\u81EA\u52D5\u751F\u6210UV","action.graph_editor_other_graphs":"\u986F\u793A\u5176\u4ED6\u5716\u8868","action.graph_editor_other_graphs.desc":"\u6C7A\u5B9A\u672A\u9078\u4E2D\u7684\u8EF8\u7684\u5716\u8868\u662F\u5426\u88AB\u5C55\u793A","action.graph_editor_include_other_graphs":"\u5305\u542B\u5176\u4ED6\u8EF8","action.graph_editor_include_other_graphs.desc":"\u6C7A\u5B9A\u5716\u6A19\u7DE8\u8F2F\u5668\u662F\u5426\u5305\u62EC\u8996\u5716\u4E2D\u672A\u9078\u4E2D\u7684\u5716\u8868","action.set_ik_source":"\u8A2D\u5B9AIK\u6839","action.set_ik_source.desc":"\u8A2D\u5B9A\u9019\u500B\u7A7A\u5C0D\u8C61\u80FD\u5920\u4EE5\u53CD\u5411\u904B\u52D5\u5B78\u79FB\u52D5\u7684\u93C8\u7684\u6839","edit.loop_cut.cuts":"\u5207","panel.element.stretch":"Stretch","preview_scene.minecraft_plains":"\u8349\u7538","preview_scene.minecraft_cherry_grove":"\u6AFB\u82B1\u6A39\u53E2","preview_scene.minecraft_snowy_tundra":"\u96EA\u539F","preview_scene.minecraft_sunset":"\u65E5\u51FA","preview_scene.minecraft_night":"\u591C\u665A","preview_scene.minecraft_desert":"\u6C99\u6F20","preview_scene.minecraft_underwater":"\u6C34\u4E0B","preview_scene.minecraft_coral_reef":"\u73CA\u745A\u7901","preview_scene.minecraft_lush_cave":"\u84BC\u9B31\u6D1E\u7A9F","preview_scene.minecraft_deep_dark":"\u6DF1\u6697\u4E4B\u57DF","generic.navigate_forward":"Forward","generic.navigate_back":"Back","action.element_render_order":"\u900F\u660E\u5EA6\u6E32\u67D3\u9806\u5E8F","action.element_render_order.default":"\u81EA\u52D5","action.element_render_order.behind":"\u80CC\u5F8C","action.element_render_order.in_front":"\u524D\u9762","message.installing_update.title":"Update Available","message.installing_update.message":"A new version is ready to be installed. After closing the app, please allow for around %0 seconds before opening Blockbench again or turning off the computer, for the update to be installed.","settings.brush_cursor_2d":"2D Brush Cursor","settings.brush_cursor_2d.desc":"Display an outline around the brush in the 2D workspace","settings.brush_cursor_3d":"3D Brush Cursor","settings.brush_cursor_3d.desc":"Display an outline around the brush in the 3D workspace","settings.cdn_mirror":"Use CDN Mirror","settings.cdn_mirror.desc":"Use the mirror CDN to download plugins. The mirror receives updates faster and works in some regions where the default does not work.","data.layer":"\u5716\u5C64","data.panel":"\u9762\u677F","generic.confirm_delete":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u9019\u500B\u55CE?","format_category.general":"\u7E3D\u9AD4","modifier_actions.no_uniform_scaling":"Free Scaling","message.texture_refresh_conflict.title":"Conflicting Texture Versions","message.texture_refresh_conflict.message":"The texture file might contain changes that conflict with Blockbench's version","message.texture_refresh_conflict.keep_ours":"Keep Blockbench's version","message.texture_refresh_conflict.keep_theirs":"Load file and discard all changes and layers in Blockbench","message.group_required_to_animate":"You cannot animate this type of element. Create a group or armature to animate it.","dialog.texture.uv_size":"UV\u5C3A\u5BF8","dialog.advanced_screenshot.angle_preset":"\u9810\u8A2D\u89D2\u5EA6","dialog.advanced_screenshot.resolution":"\u5206\u8FA8\u7387","dialog.advanced_screenshot.zoom_to_fit":"\u7E2E\u653E\u4EE5\u9069\u914D","dialog.advanced_screenshot.zoom":"\u7E2E\u653E/\u7126\u8DDD","dialog.advanced_screenshot.anti_aliasing":"\u6297\u92F8\u9F52","dialog.advanced_screenshot.anti_aliasing.off":"\u95DC\u9589","dialog.advanced_screenshot.anti_aliasing.msaa":"\u591A\u53D6\u6A23","dialog.advanced_screenshot.anti_aliasing.ssaa":"\u8D85\u53D6\u6A23","dialog.advanced_screenshot.show_gizmos":"\u986F\u793A\u7DE8\u8F2F\u88DD\u7F6E","dialog.advanced_screenshot.shading":"\u9670\u5F71","settings.auto_keyframe":"Auto Keyframe","settings.auto_keyframe.desc":"Automatically create a keyframe with default values at the timeline start when transforming the bone at a later point","settings.modded_entity_integer_size":"Modded Entity Integer Size","settings.modded_entity_integer_size.desc":"Limit cube sizes in the Modded Entity format to integers. While floats are technically supported in some versions, integers are much easier to UV-map.","category.layers":"\u5716\u5C64","keybind.paint_secondary_color":"Paint with Secondary Color","action.selection_tool_operation_mode":"\u9078\u64C7\u6A21\u5F0F","action.selection_tool_operation_mode.create":"\u65B0\u7684\u9078\u64C7","action.selection_tool_operation_mode.add":"\u52A0\u5C55\u9078\u4E2D","action.selection_tool_operation_mode.subtract":"\u6E1B\u5C55\u9078\u4E2D","action.selection_tool_operation_mode.intersect":"\u76F8\u4EA4","action.pixel_perfect_drawing":"\u5B8C\u7F8E\u50CF\u7D20\u7E6A\u5236\u6A21\u5F0F","action.pixel_perfect_drawing.desc":"\u4E0D\u5728\u8F49\u5F4E\u8655\u7523\u751F\u96D9\u50CF\u7D20\u800C\u7CBE\u51C6\u7E6A\u5236\u51FA\u50CF\u7D20","action.selection_tool":"\u9078\u5340\u5DE5\u5177","action.selection_tool.desc":"\u9078\u53D6\u90E8\u5206\u5716\u50CF","action.selection_tool.rectangle":"\u9577\u65B9\u5F62","action.selection_tool.ellipse":"\u692D\u5706","action.selection_tool.lasso":"\u5957\u7D22\u9078\u64C7","action.selection_tool.wand":"\u9B54\u68D2\u5DE5\u5177","action.selection_tool.color":"\u540C\u7A2E\u9854\u8272","action.move_layer_tool":"\u79FB\u52D5\u5716\u5C64","action.move_layer_tool.desc":"\u79FB\u52D5\u7576\u524D\u5716\u5C64\u6216\u9078\u5340","action.export_modded_animations":"\u5C0E\u51FA\u6A21\u7D44\u5BE6\u9AD4\u52D5\u756B","action.export_modded_animations.desc":"\u70BA Java \u7248\u6A21\u7D44\u5BE6\u9AD4\u6A21\u578B\u5C0E\u51FA\u52D5\u756B","action.swap_colors":"\u5207\u63DB\u9854\u8272","action.swap_colors.desc":"\u5728\u4E3B\u8981\u548C\u6B21\u8981\u9854\u8272\u4E4B\u9593\u5207\u63DB","action.apply_mesh_rotation":"\u61C9\u7528\u65CB\u8F49","action.apply_mesh_rotation.desc":"\u91CD\u7F6E\u7DB2\u683C\u7684\u5143\u7D20\u65CB\u8F49\uFF0C\u4E26\u5C07\u5176\u61C9\u7528\u4E8E\u5E7E\u4F55","action.flip_texture_x.desc":"\u6C34\u5E73\u7FFB\u8F49\u7D0B\u7406\u6216\u5716\u5C64","action.flip_texture_y.desc":"\u5782\u76F4\u7FFB\u8F49\u7D0B\u7406\u6216\u5716\u5C64","action.rotate_texture_cw.desc":"\u5C07\u7D0B\u7406\u6216\u5716\u5C64\u9806\u6642\u91DD\u65CB\u8F49","action.rotate_texture_ccw.desc":"\u5C07\u7D0B\u7406\u6216\u5716\u5C64\u9006\u6642\u91DD\u65CB\u8F49","action.crop_texture_to_selection":"\u5C07\u7D0B\u7406\u88C1\u526A\u81F3\u9078\u5340\u5167","action.create_empty_layer":"\u5275\u9020\u7A7A\u767D\u5716\u5C64","action.enable_texture_layers":"\u542F\u7528\u56FE\u5C42","action.disable_texture_layers":"\u7981\u7528\u5716\u5C64","action.layer_opacity":"\u5716\u5C64\u900F\u660E\u5EA6","action.layer_to_texture_size":"\u653E\u5927\u5716\u5C64\u81F3\u7D0B\u7406\u5C3A\u5BF8","action.layer_to_texture_size.desc":"\u653E\u5927\u7D0B\u7406\u81F3\u5716\u5C64\u5C3A\u5BF8","action.merge_layer_down":"\u5411\u4E0B\u5408\u4E26","action.merge_layer_down.desc":"\u5411\u4E0B\u5408\u4E26\u5165\u5716\u5C64","action.advanced_screenshot":"\u9AD8\u7D1A\u622A\u5C4F...","action.advanced_screenshot.desc":"\u4F7F\u7528\u9AD8\u7D1A\u9078\u9805\u5C0D\u6A21\u578B\u622A\u5C4F","action.bake_ik_animation":"\u70D8\u7119\u53CD\u5411\u904B\u52D5","action.bake_ik_animation.desc":"\u5C07\u53CD\u5411\u904B\u52D5\u63D0\u4F9B\u7684\u65CB\u8F49\u70D8\u57F9\u5165\u6240\u9078\u7684\u52D5\u756B\u5167","action.save_animation_preset":"\u4FDD\u5B58\u52D5\u756B\u9810\u8A2D...","action.save_animation_preset.desc":"\u5C07\u6240\u9078\u7684\u95DC\u9375\u5E40\u4FDD\u5B58\u70BA\u52D5\u756B\u9810\u8A2D","action.animation_onion_skin":"\u52D5\u756B\u6D0B\u8525\u76AE","action.animation_onion_skin.desc":"\u5C55\u793A\u52D5\u756B\u5176\u4ED6\u5E40\u7684\u7DDA\u6846\u4F5C\u70BA\u53C3\u8003","action.apply_animation_preset":"\u61C9\u7528\u52D5\u756B\u6620\u5C04","action.apply_animation_preset.desc":"\u9078\u64C7\u52D5\u756B\u6620\u5C04\u4E26\u61C9\u7528\u4E8E\u6240\u9078\u9AA8\u9ABC","menu.brush_presets.pixel_perfect":"Pixel-perfect Brush","panel.layers":"Layers","uv_editor.copy_paste_tool.to_layer":"To New Layer","format.image.new":"Create New Image","format.image.info.summary":"The 2D Image editor lets you create and edit images and pixel art directly in Blockbench, without the need for an external image editor. Edit images, modify textures, or create your own pixel art!","settings.move_with_selection_tool":"Use Selection Tool to Move Selections","settings.move_with_selection_tool.desc":"Allow the Selection Tool to directly move selections, without having to switch to the Move Layer tool","settings.final_newline":"Final Newline","settings.final_newline.desc":"\u5728\u532F\u51FA\u7684\u6587\u4EF6\u672B\u5C3E\u63D2\u5165\u63DB\u884C\u7B26","action.crop_layer_to_selection":"\u5C07\u5716\u5C64\u88C1\u5207\u81F3\u9078\u5340\u5167","action.edit_mode_uv_overlay.desc":"\u5728\u7DE8\u8F2F\u6A21\u5F0F\u4E2D\u5C07UV\u6620\u5C04\u8986\u84CB\u9032\u884C\u5C55\u793A","menu.image":"\u5716\u7247","menu.texture.discard_changes":"Discard Changes","menu.texture.discard_changes.desc":"Discard all unsaved changes and load the latest version from the file","panel.textures.images":"\u5716\u7247","dialog.advanced":"\u9AD8\u7D1A","dialog.recommended_option":"\u63A8\u85A6\u7528","modifier_actions.snap_to_center":"Snap to Center","modifier_actions.snap_to_pixels":"Snap to Pixels","message.invalid_format.install_plugin":"Install plugin '%0'","message.plugin_deprecated.message":"Are you sure you want to install this deprecated plugin?","message.plugin_deprecated.install_anyway":"Install Anyway","message.image_editor.not_found":"Could not find the selected image editor. Please select a different option.","message.knife_tool.confirm":"Press %0 or click here to apply Knife Tool","message.knife_tool.skipped_face":"Cannot cut between different faces. Include the edges or vertices between them!","message.optimize_animation.keyframes_removed":"Removed %0 redundant keyframes","message.optimize_animation.nothing_to_optimize":"Found nothing to optimize!","message.duplicate_bone_copy_animation.title":" \u62F7\u8C9D\u52D5\u756B","message.duplicate_bone_copy_animation.message":"The duplicated bone is animated in %0 animations. Do you want to copy the keyframes over to the new bone?","message.auto_fix_mesh_edit.title":"\u81EA\u52D5\u4FEE\u5FA9","message.auto_fix_mesh_edit.revert":"Revert Edit","message.auto_fix_mesh_edit.overlapping_vertices":"Certain vertices have been moved into the same spot. How would you like to proceed?","message.auto_fix_mesh_edit.concave_quads":"\u4E00\u500B\u6216\u591A\u500B\u56DB\u908A\u5F62\u9762\u73FE\u5728\u5448\u73FE\u51F9\u9762\uFF0C\u9019\u53EF\u80FD\u6703\u5C0E\u81F4 UV \u8CBC\u5716\u548C\u6E32\u67D3\u51FA\u73FE\u554F\u984C\uFF0C Blockbench \u53EF\u4EE5\u81EA\u52D5\u70BA\u60A8\u4FEE\u5FA9\u6B64\u554F\u984C\uFF1A","message.auto_fix_mesh_edit.merge_vertices":"Merge Vertices","message.auto_fix_mesh_edit.split_quads":"Split Quads","message.load_images.add_image":"\u589E\u52A0\u5716\u7247","dialog.project.modded_entity_entity_class":"\u5BE6\u9AD4\u5C64\u7D1A","dialog.resize_texture.offset":"\u504F\u96E2","dialog.animated_texture_editor.code_reference":"\u4EE3\u78BC\u53C3\u8003","dialog.animated_texture_editor.code_reference.about":"\u7528\u4E8E\u57F7\u884C\u7D0B\u7406\u52D5\u756B\u7684\u4EE3\u78BC\u662F\u4F5C\u70BA\u53C3\u8003\u88AB\u751F\u6210\uFF0C\u800C\u5728\u7DE8\u8F2F\u524D\u6709\u53EF\u80FD\u7121\u6CD5\u5DE5\u4F5C\u3002\u8ACB\u53C3\u8003\u4EE5\u4E0B\u6587\u6A94\u4EE5\u4E86\u89E3\u66F4\u591A\u3002","dialog.animated_texture_editor.code_reference.docs":"\u6587\u6A94","dialog.animated_texture_editor.reframe":"\u91CD\u5E40","dialog.animated_texture_editor.stride":"\u5E40\u5C3A\u5BF8","dialog.animated_texture_editor.frames":"\u5E40\u6578\u91CF","dialog.animated_texture_editor.add_frame":"\u589E\u52A0\u5E40","dialog.animated_texture_editor.resize_frames":"\u91CD\u8A2D\u5E40\u5C3A\u5BF8...","dialog.animated_texture_editor.apply":"\u61C9\u7528","dialog.add_primitive.edge_size":"\u908A\u7DE3\u5927\u5C0F","dialog.change_animation_speed.speed":"\u901F\u5EA6","dialog.change_animation_speed.adjust_snapping":"\u8ABF\u6574\u5438\u9644","dialog.optimize_animation.selection":"\u9078\u64C7","dialog.optimize_animation.selection.selected_keyframes":"\u6240\u9078\u95DC\u9375\u5E40","dialog.optimize_animation.selection.selected_animation":"\u6240\u9078\u52D5\u756B","dialog.optimize_animation.selection.all_animations":"\u5168\u90E8\u52D5\u756B","dialog.optimize_animation.thresholds":"\u9608\u503C\u5927\u5C0F","dialog.import_obj.obj":"OBJ\u6A94\u6848","dialog.import_obj.mtl":"MTL\u6A94\u6848","dialog.import_obj.scale":"\u7E2E\u653E","layout.thumbnail":"Custom Thumbnail CSS","settings.pixel_grid":"Pixel Grid","settings.pixel_grid.desc":"Show texture pixel grid on elements in edit mode","settings.image_editor_grid_size":"Image Editor Grid Size","settings.image_editor_grid_size.desc":"Size of the large grid in the 2D image editor","settings.ground_plane_double_side":"Ground Plane Double-sided","settings.ground_plane_double_side.desc":"Make the ground plane visible from below","settings.optifine_save_default_texture":"OptiFine JEM: Export selected texture","settings.optifine_save_default_texture.desc":"Export the selected texture as the default texture of the model","action.slider_color_select_threshold":"\u8272\u5F69\u9078\u64C7\u9608\u503C","action.slider_color_select_threshold.desc":"\u76F8\u9130\u50CF\u7D20\u7684\u9854\u8272\u8981\u591A\u76F8\u4F3C\u4EE5\u88AB\u9854\u8272\u5DE5\u5177\u6216\u9B54\u68D2\u5DE5\u5177\u9078\u4E2D","action.stretch_tool":"\u62C9\u4F38","action.stretch_tool.desc":"\u7528\u4E8E\u62C9\u4F38\u5143\u7D20\u7684\u5DE5\u5177","action.knife_tool":"\u5200\u5177\u5DE5\u5177","action.knife_tool.desc":"\u7528\u4E8E\u5C07\u7DB2\u683C\u9762\u5207\u5272\u70BA\u66F4\u5C0F\u5F62\u72C0\u7684\u5DE5\u5177","action.duplicate_project":"\u8907\u5236\u9805\u76EE","action.duplicate_project.desc":"\u5275\u5EFA\u7576\u524D\u9805\u76EE\u7684\u526F\u672C","action.transform_space.parent":"\u7236\u7D1A","action.transform_pivot_space":"\u9A45\u8EF8\u8B8A\u63DB\u7A7A\u9593","action.solidify_mesh_selection":"\u56FA\u5316\u9762","action.solidify_mesh_selection.desc":"\u4F7F\u7DB2\u683C\u4E0A\u6240\u9078\u7684\u9762\u56FA\u5316","action.animated_texture_editor":"\u624B\u7FFB\u66F8\u52D5\u756B...","action.animated_texture_editor.desc":"\u8A2D\u5B9A\u6216\u7DE8\u8F2F\u6240\u9078\u7D0B\u7406\u7684\u624B\u7FFB\u66F8\u52D5\u756B","action.center_individual_pivots":"\u5C45\u4E2D\u7368\u7ACB\u9A45\u8EF8","action.center_individual_pivots.desc":"\u5C07\u6240\u9078\u5143\u7D20\u7684\u9A45\u8EF8\u5206\u5225\u5C45\u4E2D","action.uv_cycle":"\u5FAA\u74B0 UV","action.uv_cycle.desc":"\u9806\u5E8F\u5FAA\u74B0 UV \u9802\u9EDE\u800C\u4E0D\u6539\u8B8A UV \u4F4D\u7F6E","action.uv_cycle_invert":"\u5FAA\u74B0\u7FFB\u8F49 UV","action.uv_cycle_invert.desc":"\u53CD\u5411\u5FAA\u74B0 UV \u9802\u9EDE\u800C\u4E0D\u6539\u8B8A UV \u4F4D\u7F6E","action.slider_animation_controller_speed":"\u63A7\u5236\u56DE\u653E\u901F\u5EA6","action.slider_animation_controller_speed.desc":"\u52D5\u756B\u63A7\u5236\u5668\u7684\u64AD\u653E\u901F\u5EA6\u767E\u5206\u6BD4","action.optimize_animation":"\u512A\u5316\u52D5\u756B","action.optimize_animation.desc":"\u512A\u5316\u7576\u524D\u52D5\u756B\u4E26\u6E1B\u5C11\u95DC\u9375\u5E40\u6578\u91CF","action.change_animation_speed":"\u66F4\u6539\u52D5\u756B\u901F\u5EA6...","action.change_animation_speed.desc":"\u6539\u8B8A\u6240\u9078\u52D5\u756B\u7684\u901F\u5EA6","timeline.select_particle_file":"Select Particle File","timeline.select_sound_file":"Select Sound File","menu.cube.texture.default":"\u9810\u8A2D","menu.texture.particle.clear":"Stop using for Particles","menu.texture.use_as_default":"\u8A2D\u5B9A\u6210\u9810\u8A2D","menu.texture.use_as_default.clear":"Unassign as Default","menu.toolbar.overflow":"Toolbar Overflow","edit.solidify_mesh_selection.thickness":"\u7C97\u7D30\u5EA6","reference_image.sync_to_timeline":"Sync To Timeline","reference_image.toggle_playback":"Play/Pause","dialog.add_primitive.shape.beveled_cuboid":"\u4F7F\u7ACB\u65B9\u9AD4\u6539\u70BA\u659C\u9762","dialog.ignore_all":"\u5FFD\u7565\u6240\u6709","data.texture_group":"\u7D0B\u7406\u7D44","data.animation":"\u52D5\u756B","generic.on":"On","generic.off":"Off","format.free.info.3d_printing":"3D \u6253\u5370","message.invalid_file.merge_conflict":"The file contains unresolved Git merge conflicts.","dialog.expand_texture_selection.radius":"\u6578\u91CF","dialog.expand_texture_selection.corner":"\u908A\u89D2\u5F62\u72C0","dialog.expand_texture_selection.corner.round":"\u5713\u5F62","dialog.expand_texture_selection.corner.square":"\u65B9\u5F62","dialog.expand_texture_selection.corner.manhattan":"\u66FC\u54C8\u9813","dialog.merge_animation.merge_target":"\u5408\u4E26\u5230","keybindings.variation_conflict":"Variation conflicts with the main keybinding","settings.recovery_save_interval":"Recovery Point Save Interval","settings.recovery_save_interval.desc":"Blockbench regularly saves the open project in the background to recover in case of a computer crash. Set the interval in seconds. Set to 0 to disable saving.","settings.save_view_per_tab":"Save View per Tab","settings.save_view_per_tab.desc":"Save the current view angle for each tab separately","settings.inherit_parent_color":"Inherit Parent Color","settings.inherit_parent_color.desc":"Set the marker color of a newly created element to the color of the parent instead of a random color","keybind.preview_select.multi_select":"Multi-select","keybind.preview_select.group_select":"Group-select","keybind.preview_select.loop_select":"Loop-select","action.fill_mode.selection":"\u9078\u64C7","action.fill_mode.selected_elements":"\u9078\u4E2D\u7684\u5143\u7D20","action.image_tiled_view":"\u5E73\u92EA\u8996\u5716","action.image_tiled_view.description":"\u5728 2D \u7DE8\u8F2F\u5668\u4E2D\u5553\u7528\u5E73\u92EA\u8996\u5716","action.image_onion_skin_view":"\u6D0B\u8525\u76AE\u5716\u50CF\u7DE8\u8F2F\u5668","action.image_onion_skin_view.description":"\u5728 2D \u7DE8\u8F2F\u5668\u4E2D\u5553\u7528\u6D0B\u8525\u76AE\u8996\u5716","action.expand_texture_selection":"\u64F4\u5927\u7D0B\u7406\u9078\u64C7","action.expand_texture_selection.desc":"\u64F4\u5927\u6216\u7E2E\u5C0F\u7D0B\u7406\u9078\u64C7","action.switch_tabs.reverse_order":"\u9006\u5E8F","action.save_project_incremental":"\u589E\u91CF\u4FDD\u5B58\u9805\u76EE","action.save_project_incremental.desc":"\u5C07\u7576\u524D\u6A21\u578B\u4EE5\u9805\u76EE\u6587\u4EF6\u7684\u5F62\u5F0F\u589E\u91CF\u4FDD\u5B58\uFF08\u6BD4\u5982\uFF1Aproject_2.bbmodel\uFF09","action.copy.multiple":"\u5168\u90E8\u8907\u5236","action.copy.multiple.desc":"\u9010\u4E00\u8907\u5236\u6240\u6709\u53EF\u7528\u6578\u64DA","action.paste.multiple":"\u5168\u90E8\u7C98\u8CBC","action.randomize_marker_colors":"\u96A8\u6A5F\u5316\u9854\u8272\u6A19\u8A18","action.cube_light_emission":"\u767C\u5149","action.cube_light_emission.desc":"\u66F4\u6539\u6240\u9078\u65B9\u584A\u7684\u767C\u5149\u5F37\u5EA6\uFF0C\u503C\u4ECB\u4E8E 0 \u5230 15 \u4E4B\u9593","action.view_mode.colored_solid":"\u6709\u9854\u8272\u6A19\u8A18\u7684\u5BE6\u9AD4","action.focus_on_selection.rotate_only":"\u53EA\u65CB\u8F49","action.create_texture_group":"\u5275\u5EFA\u7D0B\u7406\u7D44","action.create_texture_group.desc":"\u70BA\u4F60\u7684\u7D0B\u7406\u5011\u5275\u5EFA\u4E00\u500B\u5206\u7D44","action.uv_maximize.all_faces":"\u61C9\u7528\u5230\u6240\u6709\u9762","action.retarget_animators":"\u91CD\u65B0\u5B9A\u4F4D\u52D5\u756B","action.retarget_animators.desc":"\u9078\u64C7\u4E00\u500B\u52D5\u756B\u4EE5\u53CA\u5176\u5C0D\u61C9\u7684\u9AA8\u9ABC\u6216\u5143\u7D20","action.merge_animation":"\u5408\u4E26\u52D5\u756B","action.merge_animation.desc":"\u5C07\u52D5\u756B\u5408\u4E26\u5230\u53E6\u4E00\u500B\u52D5\u756B\u4E2D","action.add_keyframe.reset_values":"\u4F7F\u7528\u9ED8\u8A8D\u503C","action.set_timeline_range_start":"\u8A2D\u7F6E\u6642\u9593\u7DDA\u7BC4\u570D\u958B\u59CB","action.set_timeline_range_start.desc":"\u5728\u52D5\u756B\u6642\u9593\u8EF8\u4E2D\u8A2D\u7F6E\u81EA\u5B9A\u7FA9\u64AD\u653E\u7BC4\u570D\u7684\u8D77\u9EDE","action.set_timeline_range_end":"\u8A2D\u7F6E\u6642\u9593\u7DDA\u7BC4\u570D\u7D50\u675F","action.set_timeline_range_end.desc":"\u5728\u52D5\u756B\u6642\u9593\u8EF8\u4E2D\u8A2D\u7F6E\u81EA\u5B9A\u7FA9\u64AD\u653E\u7BC4\u570D\u7684\u7D42\u9EDE","action.disable_timeline_range":"\u7981\u7528\u6642\u9593\u7DDA\u7BC4\u570D","action.disable_timeline_range.desc":"\u5728\u52D5\u756B\u6642\u9593\u8EF8\u4E2D\u7981\u7528\u81EA\u5B9A\u7FA9\u64AD\u653E\u7BC4\u570D","menu.texture_group.resolve":"Resolve","menu.image_tiled_view.mirrored":"Mirrored Edges","menu.image_onion_skin_view.frame":"Frames","menu.image_onion_skin_view.frame.last_viewed":"Last Viewed Frame","menu.image_onion_skin_view.frame.previous":"Previous Frame","menu.image_onion_skin_view.frame.next":"Next Frame","menu.image_onion_skin_view.frame.both":"Previous + Next","menu.image_onion_skin_view.display":"Display","menu.image_onion_skin_view.display.pixels":"Smaller Pixels","menu.image_onion_skin_view.display.transparent":"Transparent","menu.image_onion_skin_view.above":"Display Above","menu.animation.reload":"Reload","switches.autouv.alt":"Relative","display.rotation_pivot":"\u65CB\u8F49\u6A1E\u8EF8","display.scale_pivot":"\u7E2E\u653E\u6A1E\u8EF8","display.reference.fox":"\u72D0\u72F8","display.reference.eating":"\u5403\u6771\u897F","preview_scene.sky":"\u5929\u7A7A","preview_scene.space":"\u592A\u7A7A","preview_scene.minecraft_ocean":"\u6D77\u6D0B","message.import_palette.selection_only":"Selection only","dialog.blend_transition_edit.ease_in_out":"\u6F38\u9032\u6F38\u51FA\uFF08%0\uFF09","dialog.blend_transition_edit.generate":"\u751F\u6210...","dialog.blend_transition_edit.generate.learn_more":"\u9810\u89BD\u548C\u66F4\u591A\u4FE1\u606F","dialog.blend_transition_edit.generate.curve":"\u7DE9\u52D5\u985E\u578B","dialog.blend_transition_edit.generate.steps":"\u95DC\u9375\u5E40","settings.fps_limit":"FPS Limit","settings.fps_limit.desc":"\u9650\u5236 Blockbench \u6BCF\u79D2\u6E32\u67D3\u7684\u5E40\u6578\u3002\u5BE6\u969B\u5E40\u901F\u7387\u53D7\u9650\u65BC\u8A2D\u5099\u986F\u793A\u80FD\u529B\u3002","settings.outliner_reveal_on_select":"Reveal Elements on Select","settings.outliner_reveal_on_select.desc":"Reveal elements in the ouliner when selected","settings.java_export_pivots":"Export Pivots in Java block/item models","settings.java_export_pivots.desc":"Save pivot points in Java block/item models on cubes without rotation","animation_controllers.state.blend_transition_curve":"\u6DF7\u5408\u904E\u6E21\u66F2\u7DDA","menu.slider.reset_vector":"Reset Vector","dialog.blend_transition_edit.extended":"\u64F4\u5C55\u5716\u8868","message.screenshot_too_large.title":"Screenshot Resolution Issue","message.screenshot_too_large.message":"\u87A2\u5E55\u64F7\u53D6\u756B\u9762\u6E32\u67D3\u5931\u6557\uFF0C\u8ACB\u5617\u8A66\u964D\u4F4E\u89E3\u6790\u5EA6\u6216\u505C\u7528\u8D85\u63A1\u6A23\u5F8C\u91CD\u8A66\u3002","message.rename_elements.numbering":"You can use special characters to generate sequential numbers: % to get the index of the element within its group, $ to get the index within the selection.","generic.edit_externally":"Edit Externally","message.settings_require_restart.title":"Restart Required","message.settings_require_restart.message":"Some settings will only apply after restarting the program.","message.settings_require_restart.restart_now":"Restart Now","message.settings_require_restart.restart_later":"Restart Later","message.classroom_mode.install_plugin":"Cannot install plugins in Classroom Mode","dialog.collection.export_path":"Export Path","dialog.collection.select_all":"Select All","dialog.collection.select_none":"Select None","dialog.collection.add_with_filter":"Add with Filter","dialog.collection.remove":"Remove","dialog.material_config.title":"Material Config","dialog.material_config.color_value":"Color Value","dialog.material_config.mer":"Metal-Emissive-Roughness","dialog.material_config.mer_value":"MER Value","dialog.material_config.depth_type":"Depth Type","dialog.create_texture.disable_mirror_uv":"Disable UV Mirroring","dialog.create_texture.disable_mirror_uv.desc":"Disable the UV Mirror option in Mirror Modeling to preserve separate UVs for each side of the model","dialog.create_gif.turn.sync_to_anim_length":"Sync to animation length","settings.category.controls":"Controls","settings.classroom_mode":"Classroom Mode","settings.classroom_mode.desc":"Restricts functionality such as installing plugins and removes links to social media","settings.antialiasing_bleed_fix":"Fix anti-aliasing bleeding","settings.antialiasing_bleed_fix.desc":"Fixes texture bleeding when using anti-aliasing. Potentially unsupported on older hardware.","settings.tone_mapping":"Tone Mapping","settings.tone_mapping.desc":"\u7528\u65BC\u5728\u6A19\u6E96\u87A2\u5E55\u4E0A\u986F\u793A\u9AD8\u52D5\u614B\u7BC4\u570D\u7684 PBR \u6E32\u67D3\u8FD1\u4F3C\u65B9\u6CD5\u3002","settings.audio_scrubbing":"Timline Scrubbing Audio","settings.audio_scrubbing.desc":"Play short previews of the audio while scrubbing through time timeline","settings.viewport_rotate_speed":"Viewport Rotate Speed","settings.viewport_rotate_speed.desc":"Input sensitivity when rotating in the viewport","settings.viewport_zoom_speed":"Viewport Zoom Speed","settings.viewport_zoom_speed.desc":"Input sensitivity when zooming in the viewport","settings.editor_2d_zoom_speed":"2D Editor Zoom Speed","settings.editor_2d_zoom_speed.desc":"Input sensitivity when zooming in the UV and 2D paint editor","category.select":"Select","action.vertex_snap_mode.rotate":"Rotate","action.export_image":"Export Image","action.export_image.desc":"Export your texture as an image file","action.apply_mirror_modeling":"Apply Mirror Modeling","action.apply_mirror_modeling.desc":"Apply Mirror Modeling to the selection. All selected elements will be copied and flipped across the X axis.","action.create_collection":"Create Collection","action.create_collection.desc":"Create a collection out of the outliner selection","action.set_collection_content_to_selection":"Set Collection Content to Selected","action.set_collection_content_to_selection.desc":"Set the selected groups and elements as the content of the collection","action.add_to_collection":"Add Selected to Collection","action.add_to_collection.desc":"Add the selected groups and elements to the collection","action.view_mode.material":"Material Preview","action.create_material":"Create Material","action.create_material.desc":"Create a new PBR material out of the selected texture","action.generate_pbr_map":"Generate PBR Map...","action.generate_pbr_map.desc":"Generate a PBR map (height map or metalness, emissiveness, roughness) from an existing texture","menu.tools.main_tools":"Toolbox","menu.view.panels":"Panels","menu.texture.pbr_channel":"PBR Channel","menu.texture.pbr_channel.color":"Color","menu.texture.pbr_channel.normal":"Normal","menu.texture.pbr_channel.height":"Height","menu.texture.pbr_channel.mer":"MER (Metalness-Emissive-Roughness)","menu.texture.pbr_channel.mer_subsurface":"MER Subsurface","menu.collection.export_project":"Export Project","menu.collection.export_as":'Export as "%0"',"menu.panel.enable":"Enable","menu.panel.move_to":"Move To","menu.panel.move_to.left_bar":"Left Sidebar","menu.panel.move_to.right_bar":"Right Sidebar","menu.panel.move_to.top":"Top","menu.panel.move_to.bottom":"Bottom","menu.panel.move_to.float":"Float","menu.panel.move_to.hidden":"Hide","menu.panel.fold":"Collapse","menu.mirror_painting.texture_center":"Origin","menu.mirror_modeling.mirror_uv":"Mirror UV","menu.animation_onion_skin.frames":"Frames","menu.animation_onion_skin.select":"Select","menu.animation_onion_skin.previous":"Previous","menu.animation_onion_skin.next":"Next","menu.animation_onion_skin.previous_next":"Previous + Next","menu.animation_onion_skin.count":"Count","menu.animation_onion_skin.interval":"Interval","menu.animation_onion_skin_selective":"Selective Onion Skin","menu.animation_onion_skin_selective.desc":"Only display onion skin for the selected part of the model","edit.loop_cut.unit":"Unit","edit.loop_cut.unit.size_units":"Size Units","edit.loop_cut.unit.percent":"Percent","edit.extrude_mesh_selection.direction":"Direction","edit.extrude_mesh_selection.direction.outwards":"Outwards","edit.extrude_mesh_selection.direction.average":"Average","edit.extrude_mesh_selection.even_extend":"\u5076\u6578\u5EF6\u4F38","edit.vertex_snap.align":"Align","edit.vertex_snap.align.longest":"Longest Axis","edit.vertex_snap.align.direction":"Direction from Pivot","edit.vertex_snap.align.align_axis":"%0 Axis","edit.vertex_snap.ignore_axis":"Ignore Axis","codec.common.format":"Format","codec.image.quality":"Quality","panel.collections":"Collections","modifier_actions.always":"Always Enabled","modifier_actions.unless":"Unless %0","settings.undo_selections":"Undo Selection","settings.undo_selections.desc":"Track selection changes as a step in the undo history","action.focus_on_selection.zoom":"Zoom to fit","display.reference.tooting":"Horn Tooting","settings.selection_tolerance":"Selection Tolerance","settings.selection_tolerance.desc":"Size of the area that can be clicked to select an edge or vertex","action.delete.keep_vertices":"Keep Edges/Vertices","menu.mesh":"Mesh","dialog.material_config.subsurface":"Subsurface Scattering","dialog.material_config.subsurface_enabled.desc":"Use the MER map alpha channel for subsurface scattering","settings.pick_combined_color":"Pick Combined Color","settings.pick_combined_color.desc":"Pick the combined color of all layers at the respective pixel, instead of the color on the active layer","action.split_rgb_into_layers":"Split RGBA Channels into Layers","action.split_rgb_into_layers.desc":"Split the texture into additive layers, one for each RGBA channel","dialog.project.java_block_version":"Format Version","data.spline_mesh":"Spline","data.billboard":"Billboard","data.armature":"Armature","data.armature_bone":"Armature Bone","generic.reload":"Reload","modifier_actions.subtract":"Subtract","modifier_actions.reduced_intensity":"Fine-Tune","modifier_actions.select_bone":"Select Bone","modifier_actions.spline_select_multiple_points":"Select multiple Points or Handles","modifier_actions.move_panel_without_docking":"Move without docking","message.save_all_textures.message":"Do you want to save each of the following textures?","message.save_all_textures.skip":"Skip","dialog.add_spline.shape":"Shape","dialog.add_spline.shape.segment":"Segment","dialog.add_spline.shape.square":"Rectangle","dialog.add_spline.shape.circle":"Circle","dialog.add_spline.diameter":"Diameter","dialog.add_spline.sides_tubular":"Tube Segments","dialog.add_spline.sides_radial":"Ring Segments","dialog.add_spline.radius":"Tube Radius","dialog.add_spline.length":"Length","dialog.add_spline.width":"Width","dialog.plugins.revoke_permissions":"Revoke Permissions","dialog.expression_editor.pretty_print":"Pretty Print","dialog.expression_editor.minify":"Minify","dialog.expression_editor.find_replace":"Find/Replace","dialog.create_gif.show_gizmos":"Record Gizmos & Grid","dialog.preview_options.title":"Preview Options","dialog.preview_options.background":"Background","dialog.preview_options.background.checkerboard":"Checkerboard","dialog.preview_options.background.solid":"Solid","dialog.preview_options.background.custom_color":"Custom Color","dialog.preview_options.show_gizmos":"Show Gizmos","dialog.skin.texture_source":"Texture Source","dialog.skin.texture_source.template":"Generate Template","dialog.skin.texture_source.load_texture":"Load from Minecraft","dialog.skin.texture_file":"Texture File","dialog.convert_skin.adjust_texture":"Adjust Texture","dialog.settings.clear_profile_value":"Clear profile value","layout.section.customize":"Customize","layout.theme.configure":"Configure","layout.color.elevated":"Elevated","layout.color.elevated.desc":"Elevated UI elements, usually separated by drop shadow","layout.file.watch_changes":"Watch Changes and Reload","settings.autocomplete_code":"Autocomplete Code","settings.autocomplete_code.desc":"Display autocomplete suggestions in code editors","settings.detect_flipbook_textures":"Detect Flipbook Textures","settings.detect_flipbook_textures.desc":"Automatically detect flipbook animated textures and preview them as animation","settings.double_click_select_reference":"Select Reference Image on Double Click","settings.double_click_select_reference.desc":"Double click the viewport to select a reference image","settings.default_keyframe_interpolation":"Default Keyframe Interpolation","settings.default_keyframe_interpolation.desc":"Select the default keyframe interpolation mode","settings.color_picker_style":"Color Picker Style","settings.color_picker_style.desc":"Select the style of the paint mode color picker","settings.export_asset_paths":"Export Asset Paths","settings.export_asset_paths.desc":"Select how paths to assets such as textures or animations get saved in .bbmodel files","settings.export_asset_paths.relative":"Relative Paths","settings.export_asset_paths.absolute":"Full Paths","settings.export_asset_paths.both":"Relative & Full Paths (Texture only)","settings.export_asset_paths.none":"No Export","action.slider_spline_resolution":"Spline Resolution %0","action.slider_spline_resolution.desc":"Change spline resolution on the %0 axis (%1)","action.slider_spline_resolution.u.desc_precision":"Ring Segments","action.slider_spline_resolution.v.desc_precision":"Tube Segments","action.slider_spline_radius":"Spline Radius","action.slider_spline_radius.desc":"Change spline Radius","action.slider_spline_handle_tilt":"Handle Tilt","action.slider_spline_handle_tilt.desc":"Change spline handle Tilt","action.slider_spline_handle_size":"Handle Size","action.slider_spline_handle_size.desc":"Change spline handle Size","action.blend_mode.lighten":"\u4EAE\u5316","action.blend_mode.darken":"\u6697\u5316","action.weight_brush":"Weight Brush","action.weight_brush.desc":"Paint vertex weights on meshes for armature deformations","action.convert_minecraft_skin_variant":"Convert Slim/Wide Skin","action.convert_minecraft_skin_variant.desc":"Switch the skin model between the classic wide (steve) model and the slim (alex) model. Optionally auto-adjust the texture to fit the model","action.custom_skin_poses":"Custom Skin Poses","action.custom_skin_poses.desc":"Load a custom skin pose preset","action.custom_skin_poses.update":"Update Pose","action.custom_skin_poses.update.desc":"Overwrite the saved pose with the current pose of the model","action.add_custom_skin_pose":"Add Custom Skin Pose","action.add_custom_skin_pose.desc":"Save the current pose of the model as a pose preset","action.export_stl":"Export STL","action.export_stl.desc":"Export a STL model for 3D printing","action.add_element":"Add Element","action.add_element.desc":"Add a new element from the list of element types","action.add_spline":"Add Spline","action.add_spline.desc":"Adds a new spline","action.add_billboard":"Add Billboard","action.add_billboard.desc":"Adds a new billboard, a flat element that always faces towards the camera","action.add_armature":"Add Armature","action.add_armature.desc":"Adds an armature that allows deforming a mesh via animation","action.add_armature_bone":"Add Armature Bone","action.add_armature_bone.desc":"Adds a bone to the armature","action.search_textures":"Search Textures","action.search_textures.desc":"Search for textures by name","action.search_animations":"Search Animations","action.search_animations.desc":"Search for animations by name","action.spline_selection_mode":"Spline Selection Mode","action.spline_selection_mode.object":"Object","action.spline_selection_mode.handles":"Handles","action.spline_render_mode":"Geometry","action.spline_render_mode.mesh":"Mesh","action.spline_render_mode.path":"Path","action.spline_render_mode.desc":"\u6B64\u6A23\u689D\u66F2\u7DDA\u61C9\u8A72\u6E32\u67D3\u54EA\u500B\u5E7E\u4F55\u9AD4\uFF1F","action.spline_uv_mode":"UV Style","action.spline_uv_mode.length_accurate":"Length Accurate","action.spline_uv_mode.uniform":"Uniform","action.spline_uv_mode.per_segment":"Per Segment","action.spline_uv_mode.desc":"How the spline's tube mesh should lay its UVs","action.spline_ring_segments":"Ring Segments","action.spline_ring_segments.desc":"How many subdivisions this Spline has per Tube Ring","action.spline_tube_segments":"Tube Segments","action.spline_tube_segments.desc":"How many subdivisions this Spline has along its path","action.spline_tube_radius":"Tube Radius","action.spline_tube_radius.desc":"Set the Spline's Tube Radius","action.spline_display_space":"Display Space","action.spline_display_space.desc":"Display spline space indicators on its path","action.spline_handle_mode":"Spline Handle Mode","action.spline_handle_mode.desc":"Which mode to use for transforming spline handles","action.spline_handle_mode.aligned":"Aligned","action.spline_handle_mode.free":"Free","action.spline_handle_mode.mirrored":"Mirrored","action.slider_weight_brush_size":"Weight Brush Size","action.weight_brush_xray":"Weight Brush XRay Mode","action.weight_brush_xray.desc":"When enabled, the weight brush will affect all vertices instead of just the ones that are visible on the surface","action.apply_spline_rotation":"Apply Rotation","action.apply_spline_rotation.desc":"Reset the element rotation of the spline, and apply it to the geometry instead","action.extrude_spline_selection":"Extrude Spline","action.extrude_spline_selection.desc":"Extrude the selected handle on all splines","action.split_spline":"Split Spline","action.split_spline.desc":"Splits the spline into two splines at the selected handle","action.divide_spline_curve":"Divide Spline Segment","action.divide_spline_curve.desc":"Splits the spline segment into two new segments with a new handle at their intersection","action.set_vertex_weights":"Set Vertex Weights","action.set_vertex_weights.desc":"Set the vertex weights of the selected vertices to a specific value on a certain armature bone","action.calculate_vertex_weights":"Calculate Vertex Weights","action.calculate_vertex_weights.desc":"Automatically assign vertex weights weights based on the position of the bones","action.shelf_alignment":"Shelf Alignment","action.shelf_alignment.desc":"Select the vertical alignment of items on the shelf","action.shelf_alignment.top":"Top Alignment","action.shelf_alignment.bottom":"Bottom Alignment","action.view_mode.vertex_weight":"Vertex Weight","action.view_mode.weighted_bone_colors":"Vertex Bone Colors","action.create_animation_group":"Create Animation Group","action.create_animation_group.desc":"Create a group of animations","action.move_graph_keyframes_up":"Move Keyframe Graph Up","action.move_graph_keyframes_down":"Move Keyframe Graph Down","menu.skin":"Skin","menu.text_edit.expression_editor":"Expression Editor","menu.color_picker.picker_type.normal":"Normal Map","menu.texture.flipbook_animation":"Flipbook Animation","menu.panel.attach_to":"Attach To","menu.animation.playing":"Playing","menu.animation_file.save_as":"Save As","menu.animator.quaternion_interpolation":"Quaternion Interpolation","edit.extrude_spline_selection.extend":"\u5EF6\u4F38","edit.divide_spline_curve.position":"Position","group.bedrock_binding":"Binding","group.cem_attach":"CEM Attach","group.cem_model":"CEM Model","group.cem_scale":"CEM Scale","cube.rescale":"Rotation Rescale","cube.rescale.desc":"Rescale cube to compensate for the rotation angle","mesh.shading":"Shading","mesh.shading.flat":"Flat","mesh.shading.smooth":"Smooth","spline_mesh.cyclic":"Cyclic","spline_mesh.cyclic.desc":"Whether the selected spline should form a loop (Cycle)","billboard.offset":"Offset","billboard.facing_mode":"Facing Mode","billboard.facing_mode.lookat":"Look At","billboard.facing_mode.lookat_y":"Look At Y","billboard.facing_mode.rotate":"Rotate","billboard.facing_mode.rotate_y":"Rotate Y","armature_bone.connected":"Connected","reference_image.blueprint":"Locked Blueprint","codec.image.alpha_channel":"Alpha Channel","codec.image.animation_fps":"Animation FPS","panel.palette":"Palette","panel.keyframe.change_effect_file":"Change Effect File","panel.transform":"Transform","panel.element.spline_dimensions":"Spline Dimensions","display.slot.on_shelf":"Shelf","display.reference.shelf":"Shelf (All Slots)","display.reference.shelf_left":"Shelf (Left Slot)","display.reference.shelf_center":"Shelf (Center Slot)","display.reference.shelf_right":"Shelf (Right Slot)","message.newer_project_format_version.title":"Outdated client","message.newer_project_format_version.message":"This file was saved in a newer version of Blockbench. Update to Blockbench %0 or newer to be able to open it correctly","message.load_images.add_layer":"Add as Layer","message.load_images.category.add_to_project":"Add to project","message.load_images.category.new_project":"New project","message.load_palette.title":"Load Palette","message.load_palette.message":"Are you sure you want to load this palette? This will replace your current color palette.","dialog.set_vertex_weights.weight":"Weight","dialog.set_vertex_weights.overwrite":"Overwrite other bones","action.element_render_order.short":"\u6E32\u67D3\u9806\u5E8F","action.element_render_order.desc":"\u5143\u7D20\u6E32\u67D3\u9806\u5E8F\uFF0C\u9019\u6709\u52A9\u65BC\u4FEE\u5FA9\u88AB\u900F\u660E\u7D0B\u7406\u5143\u7D20\u906E\u853D\u7684\u5143\u7D20\uFF0C\u5C0D\u65BC\u4E0D\u900F\u660E\u5143\u7D20\uFF0C\u8ACB\u5C07\u5176\u8A2D\u70BA\u300C\u81EA\u52D5\u300D\u3002","spline.shading.flat":"Flat","spline.shading.smooth":"Smooth","spline.shading":"Shading","spline.shading.desc":"How this spline's tube should be shaded","action.slider_weight_brush_limit":"Weight Brush Limit","action.slider_weight_brush_limit.desc":"Set an upper limit for how much weight the weight brush can assign to a vertex","action.weight_brush_blend_mode":"\u8F15\u91CD\u7B46\u5237\u6DF7\u5408\u6A21\u5F0F","action.weight_brush_blend_mode.set":"\u8A2D","action.weight_brush_blend_mode.add":"\u6DFB","action.apply_texture_to_elements":"Apply Texture to Elements","action.apply_texture_to_elements.desc":"Apply the selected texture to the selected elements","menu.panel.reset_size":"Reset Size","action.import_layer":"Import Layer","action.import_layer.desc":"Import image files as layers","menu.collection.open_file":"Open File","layout.version":"Version","settings.status_bar_transform_sliders":"Transform Sliders in Status Bar","settings.status_bar_transform_sliders.desc":"Display the transform sliders toolbar of the selected tool in the status bar instead of using the Transform panel","settings.default_bedrock_format":"Default Bedrock Format","settings.default_bedrock_format.desc":"Select the default format to load Minecraft Bedrock models in, when no specific format can be detected from context.","settings.limit_brush_opacity_per_stroke":"Limit Brush Opacity per Stroke","settings.limit_brush_opacity_per_stroke.desc":"Limit the opacity that a brush can apply to the value of the opacity slider during each brush stroke. With a smooth brush this behavior can potentially lead to slight unwanted noise.","action.merge_splines":"Merge Splines","action.merge_splines.desc":"Merge multiple splines into one","settings.default_java_block_version":"Default Java Block/Item Version","settings.default_java_block_version.desc":"Default format version when creating new Java block/item models or opening files without format version","data.bounding_box":"Bounding Box","keys.option":"Option","keys.slide_lmb_horizontal":"Left-click slide horizontal","keys.slide_lmb_vertical":"Left-click slide vertical","keys.slide_rmb_horizontal":"Right-click slide horizontal","keys.slide_rmb_vertical":"Right-click slide vertical","message.recover_backup.unknown_project":"Unknown project","message.recover_backup.discard_others":"Discard all others","message.unsupported_file_extension.title":"File format not supported","message.unsupported_file_extension.message":"Cannot open file %0, the format is not supported. You might need a plugin for this file type.","message.unsupported_file_extension.open_in_default_program":"Open in default program","dialog.project.uv_size":"UV Size","dialog.collection.offset":"Offset","dialog.texture.fps":"FPS","dialog.texture.fps.desc":"Frames per second of the texture flipbook animation","dialog.edit_uv_size.title":"Edit UV Size","dialog.edit_uv_size.target":"Target","dialog.edit_uv_size.adjust":"Adjust","dialog.edit_uv_size.adjust.adjust_uv":"Counter UV","dialog.edit_uv_size.adjust.adjust_scale":"Counter UV & Scale","dialog.edit_uv_size.adjust.keep":"Keep UV","dialog.edit_uv_size.target_size":"Target UV Size","dialog.edit_uv_size.preset.original":"Original","dialog.edit_uv_size.preset.match_texture":"Match Texture","dialog.edit_uv_size.result":"Result","dialog.edit_uv_size.result.textures":"Textures","dialog.adjust_brightness_contrast.brightness":"Brightness","dialog.adjust_brightness_contrast.contrast":"Contrast","dialog.adjust_saturation_hue.saturation":"Saturation","dialog.adjust_saturation_hue.hue":"Hue","dialog.adjust_opacity.mode":"Mode","dialog.adjust_opacity.mode.multiply":"Multiply","dialog.adjust_opacity.mode.set":"Set","dialog.bedrock_bounding_box.type":"Type","dialog.bedrock_bounding_box.type.collision_box":"Collision","dialog.bedrock_bounding_box.type.selection_box":"Selection Box","dialog.bedrock_bounding_box.type.hitbox":"Hitbox","dialog.bedrock_bounding_box.hitbox_note":"Please note that entity hitboxes only work up to a certain size and may not adapt to the rotation of the entity in-game.","dialog.bedrock_bounding_box.collision_note":"Please note that entity collision boxes only support one centered shape with a square top profile.","dialog.bedrock_bounding_box.no_bounding_boxes":"No bounding boxes exist in this project","dialog.install_plugins_from_list.ids":"Plugin IDs","dialog.install_plugins_from_list.info":"Install several plugins from a list of IDs. Before installing, please ensure that you actually need all plugins. Keeping inactive plugins can increase the risk of bugs and incompatibilities with future updates.","dialog.copy_installed_plugins.details":"Include Details","dialog.flip_animation.phase_offset":"Phase Offset","dialog.flip_animation.phase_offset.off":"Off","dialog.flip_animation.phase_offset.custom":"Custom","dialog.flip_animation.clear_opposite":"Overwrite opposite","settings.flipbook_textures_in_animation":"Play Flipbook Textures in Animation","settings.flipbook_textures_in_animation.desc":"Preview animations on flipbook textures in sync with the animation timeline","settings.display_uv":"Display UV Faces","settings.display_uv.desc":"Select which UV faces are displayed in the UV editor","settings.display_uv.selected_faces":"Only selected faces","settings.display_uv.selected_elements":"All faces on selected elements","settings.display_uv.all_elements":"All faces on all elements","settings.local_position_values":"Local Position Values","settings.local_position_values.desc":"Display all position values in the Transform panel in local space","settings.transform_cube_from_center":"Transform Cubes from Center","settings.transform_cube_from_center.desc":"Edit the cube position values from the center instead of the corner","settings.color_picker_tool_switch":"Color Picker Tool Switch","settings.color_picker_tool_switch.desc":"When picking a transparent pixel, switch to the eraser. When the eraser was previously selected and a color is picked, switch to the brush","keybind.preview_scroll_zoom":"Zoom View","keybind.uv_editor_scroll_zoom":"Zoom UV/2D Editor","action.blend_mode.alpha_mask":"Alpha Mask","action.swap_tools.hold":"Hold to swap (Color Picker)","action.import_bedrock_voxel_shape":"Import Bedrock Voxel Shape","action.import_bedrock_voxel_shape.desc":"Add a voxel shape from a json file to the current project","action.export_bedrock_voxel_shape":"Export Bedrock Voxel Shape","action.export_bedrock_voxel_shape.desc":"Export the bounding boxes in the project as a bedrock voxel shape file","action.plugins_window_menu":"Menu","action.copy_installed_plugins":"Copy Installed Plugins","action.copy_installed_plugins.desc":"Generate and copy a list of the currently installed plugins","action.install_plugins_from_list":"Install Plugins from List","action.install_plugins_from_list.desc":"Install plugins from a list of plugin IDs","action.add_bounding_box":"Add Bounding Box","action.add_bounding_box.desc":"Adds a new bounding box","action.split_alpha_into_layer":"Split Alpha Channel into Layer","action.split_alpha_into_layer.desc":"Split the alpha channel of the texture into an alpha mask layer","action.generate_bedrock_block_box":"Copy Collision/Selection Component","action.generate_bedrock_block_box.desc":"Generate a collision or selection box component for Minecraft Bedrock Edition blocks","action.generate_bedrock_entity_box":"Copy Collision/Hitbox Component","action.generate_bedrock_entity_box.desc":"Generate a collision or custom hit test component for Minecraft Bedrock Edition entities","action.refresh_texture":"Refresh Texture","action.refresh_texture.desc":"Reload the texture from file","action.move_uv_to_cursor":"Move UV to Cursor","action.move_uv_to_cursor.desc":"Move the selected UV faces to the mouse cursor position","action.edit_mode_uv_overlay":"Display All Elements","action.round_keyframe_values":"Round Keyframe Values","action.round_keyframe_values.desc":"Round all values of the selected keyframes","action.keyframe_column_create.all_channels":"All Channels","action.keyframe_column_create.all_channels.desc":"Initialize all channels with keyframes even if they had no keyframes previously","action.add_all_to_timeline":"Add All to Timeline","action.mirror_animating":"Mirror Animating","action.mirror_animating.desc":"Mirror animation edits to the opposite side","action.copy_animation_pose":"Copy Animation Pose","action.copy_animation_pose.desc":"Copy all keyframes to replicate the current animation pose","menu.texture.file_format":"File Format","menu.texture.wrap_mode":"Wrap Mode","menu.texture.wrap_mode.limited":"Restricted","menu.texture.wrap_mode.repeat":"Repeat","menu.texture.wrap_mode.clamp":"Clamp Edge","edit.reparent_selection.adjust_position":"Preserve World Transform","texture_mesh.texture_name":"Texture Name","display.slot.embedded":"Embedded","display.animate_preview":"Preview Animation","display.reference.flower_pot":"Flower Pot"};var OL={cz:yL,de:xL,en:kL,es:wL,fr:SL,it:zL,ja:EL,ko:ML,nl:TL,pl:AL,pt:CL,pt_br:PL,ru:BL,sv:RL,th:jL,tr:IL,uk:DL,vi:VL,zh:FL,zh_tw:UL},$ee="5.1.6".includes("-"),nn=function(i,e,t){if(i&&i.length>100)return i;var n=ic.data[i];if($ee&&!n&&(n=OL.en[i]),n&&n.length>0){if(e){e instanceof Array||(e=[e]);for(var a=e.length;a>0;)a--,n=n.replace(new RegExp("%"+a,"g"),e[a])}return n}else return t??i},Tw=function(){$(".tl").each(function(i,e){var t=nn($(e).text());$(e).text(t)})},ic={data:{},code:"en",options:{en:"English",cz:"\u010Ce\u0161tina - Czech",de:"Deutsch - German",es:"Espa\xF1ol - Spanish",fr:"Fran\xE7ais - French",it:"Italiano - Italian",ja:"\u65E5\u672C\u8A9E - Japanese",ko:"\uD55C\uAD6D\uC5B4 - Korean",nl:"Nederlands - Dutch",pl:"Polski - Polish",pt:"Portugu\xEAs - Portuguese",pt_br:"Portugu\xEAs (Brasil) - Portuguese (Brazil)",ru:"\u0440\u0443\u0441\u0441\u043A\u0438\u0439 - Russian",sv:"Svenska - Swedish",th:"Thai - \u0E20\u0E32\u0E29\u0E32\u0E44\u0E17\u0E22",tr:"T\xFCrk\xE7e - Turkish",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430 - Ukrainian",vi:"Ti\u1EBFng vi\u1EC7t - Vietnamese",zh:"\u7B80\u4F53\u4E2D\u6587 - Chinese (simplified)",zh_tw:"\u7E41\u9AD4\u4E2D\u6587 - Chinese (traditional, Taiwan)"},addTranslations(i,e){for(var t in e)(i==ic.code||i=="en"&&ic.data[t]==null)&&(ic.data[t]=e[t])},toString:()=>ic.code},ef;try{ef=JSON.parse(localStorage.getItem("settings")).language.value}catch{}ef||(ef=navigator.language.replace(/-\w+/,""));ef&&ic.options[ef]&&(ic.code=ef,document.body.parentElement.setAttribute("lang",ic.code));ic.data=OL[ic.code];var Yee={tl:nn,Language:ic};Object.assign(window,Yee);var Xee=/^-?\d+(\.\d+f?)?$/;function Jee(i){return Xee.test(i)}function Aw(i,e){if(i.includes("return "))return i.replace(/return (.+?)(;|$)/g,(t,n,a)=>`return ${e(n)}${a}`);{i=i.replace(/;+$/,"");let t=i.lastIndexOf(";");if(t===-1)return i.includes("=")?i+";"+e(""):e(i);let n=i.substring(0,t),a=i.substring(t+1);return a.includes("=")?i+";"+e(""):n+";"+e(a)}}var Zee="{([",Qee="})]";function Zs(i){return typeof i=="number"?-i:i==""||i=="0"?i:Jee(i)?(-parseFloat(i)).toString():Aw(i,e=>{let t=!0,n=0,a,o="";for(let r of e){if(!n){let s,l=!0;if(r=="-"&&a!="*"&&a!="/"){!t&&!a&&(o+="+"),t=!1;continue}else if(r==" "||r==`
`)l=!1;else if(r=="+"&&a!="*"&&a!="/"){o+="-",t=!1;continue}else"?:".includes(r)?(t=!0,s=r):t?(o+="-",t=!1):"+-*/&|".includes(r)&&(s=r);l&&(a=s)}Zee.includes(r)?n++:Qee.includes(r)&&n--,o+=r}return o})}function ete(i){let e=Animator.MolangParser.parse(i),t=Zs(i),n=Animator.MolangParser.parse(t);if(Math.epsilon(e,-n,1e-5))return t;console.warn([e,n],t)}var tte={invertMolang:Zs,testInvertMolang:ete,processMolangReturn:Aw};Object.assign(window,tte);var Hc={init(i,e){let t=localStorage.getItem(`StateMemory.${i}`);if(typeof t=="string")try{t=JSON.parse(t)}catch{localStorage.removeItem(`StateMemory.${i}`)}t!==null&&(typeof t==e||e=="array"&&t instanceof Array)?Hc[i]=t:Hc[i]=(()=>{switch(e){case"string":return"";case"number":return 0;case"boolean":return!1;case"object":return{};case"array":return[]}})()},set(i,e){Hc[i]instanceof Array?Hc[i].replace(e):Hc[i]=e,Hc.save(i)},save(i){let e=JSON.stringify(Hc[i]);localStorage.setItem(`StateMemory.${i}`,e)},get(i){return Hc[i]}},Ba=Hc,ite={StateMemory:Hc};Object.assign(window,ite);var NL=function(i,e){if(i!=null&&i.condition!==void 0&&(i=i.condition),i===void 0)return!0;if(typeof i=="function")return!!i(e);if(typeof i=="object"){if(i.modes instanceof Array&&i.modes.includes(Modes.id)===!1||i.formats instanceof Array&&i.formats.includes(Format.id)===!1||i.tools instanceof Array&&window.Toolbox&&i.tools.includes(Toolbox.selected.id)===!1||i.features instanceof Array&&Format&&i.features.find(t=>!Format[t]))return!1;if(i.selected){if(i.selected.animation===!0&&!Animation.selected||i.selected.animation===!1&&Animation.selected||i.selected.animation_controller===!0&&!AnimationController.selected||i.selected.animation_controller===!1&&AnimationController.selected||i.selected.animation_controller_state===!0&&!AnimationController.selected?.selected_state||i.selected.animation_controller_state===!1&&AnimationController.selected?.selected_state||i.selected.keyframe===!0&&!Keyframe.selected.length||i.selected.keyframe===!1&&Keyframe.selected.length||i.selected.group===!0&&!Group.first_selected||i.selected.group===!1&&Group.first_selected||i.selected.texture===!0&&!Texture.selected||i.selected.texture===!1&&Texture.selected||i.selected.element===!0&&!Outliner.selected.length||i.selected.element===!1&&Outliner.selected.length||i.selected.outliner===!0&&!(Outliner.selected.length||Group.first_selected)||i.selected.outliner===!1&&(Outliner.selected.length||Group.first_selected))return!1;for(let t in i.selected)if(OutlinerElement.types[t]&&(i.selected[t]===!0&&!OutlinerElement.types[t].selected.length||i.selected[t]===!1&&OutlinerElement.types[t].selected.length))return!1}return i.project&&!Project?!1:i.method instanceof Function?!!i.method(e):!0}else return!!i};NL.mutuallyExclusive=function(i,e){if(typeof i!="object"||typeof e!="object")return!1;if(i.modes&&e.modes&&i.modes.overlap(e.modes)==0||i.tools&&e.tools&&i.tools.overlap(e.tools)==0||i.formats&&e.formats&&i.formats.overlap(e.formats)==0||i.features&&e.features&&i.features.overlap(e.features)==0)return!0;if(i.selected&&e.selected){for(let t in i.selected)if(i.selected[t]===!0&&e.selected[t]===!1||i.selected[t]===!1&&e.selected[t]===!0)return!0}return!1};async function nte(i){await new Promise(e=>{setTimeout(e,i)})}function Nd(i){let e=marked(i);return DOMPurify.sanitize(e)}Date.prototype.getTimestamp=function(){var i=e=>e.toString().length===1?"0"+e:e;return i(this.getHours())+":"+i(this.getMinutes())};Object.defineProperty(Event.prototype,"ctrlOrCmd",{get:function(){return this.ctrlKey||this.metaKey}});Object.defineProperty($.Event.prototype,"ctrlOrCmd",{get:function(){return this.ctrlKey||this.metaKey}});ImageData.prototype.getIndex=function(i,e){return i<0||e<0||i>=this.width||e>=this.height?null:(i+e*this.height)*4};function ate(i){if(i&&i.changedTouches&&i.changedTouches.length&&i.offsetX==null){i.clientX=i.changedTouches[0].clientX,i.clientY=i.changedTouches[0].clientY,i.offsetX=i.changedTouches[0].clientX,i.offsetY=i.changedTouches[0].clientY;var e=$(i.target).offset();e&&(i.offsetX-=e.left,i.offsetY-=e.top)}return i}function ote(i,e,t,n){e.split(" ").forEach(a=>{i.addEventListener(a,t,n)})}function Bw(i,e,t,n){e.split(" ").forEach(a=>{i.removeEventListener(a,t,n)})}function Bm(i,e){let t=Interface.createElement("label",{style:"position: absolute; visibility: hidden;"},i);e&&e!==16&&(t.style.fontSize=e+"pt"),document.body.append(t);let n=t.clientWidth;return t.remove(),n+1}function Rb(i){return typeof Buffer=="function"?Buffer.from(i,"base64").toString():decodeURIComponent(atob(i).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""))}function rte(i,e){var t=e?1/0:-1/0,n;for(var a in i)(!e&&i[a]>t||e&&i[a]<t)&&(t=i[a],n=a);return n}var EA=class{constructor(e=0,t=0,n=0,a=0){this.start_x=e,this.start_y=t,this.width=n,this.height=a}get start(){return[this.x,this.y]}get w(){return this.width}get h(){return this.width}get end_x(){return this.start_x+this.width}get end_y(){return this.start_y+this.height}set end_x(e){return this.width=e-this.start_x}set end_y(e){return this.height=e-this.start_y}get area(){return this.width*this.height}fromCoords(e,t,n,a){this.start_x=e,this.width=n-e,this.start_y=t,this.height=a-t}fromUnorderedCoords(e,t,n,a){e<n?(this.start_x=e,this.width=n-e):(this.start_x=n,this.width=e-n),t<a?(this.start_y=t,this.height=a-t):(this.start_y=a,this.height=t-a)}expandTo(e,t){e<this.start_x?this.start_x=e:e>this.end_x&&(this.end_x=e),t<this.start_y?this.start_y=t:t>this.end_y&&(this.end_y=t)}};function ste(i,e,t,n){var a={};return!e&&typeof i=="object"?a=i:typeof i=="object"&&i.x?(a.ax=i.x,a.ay=i.y,a.bx=e.x,a.by=e.y):(a.ax=i,a.ay=e,typeof t=="number"&&typeof n=="number"?(a.bx=t,a.by=n):(a.bx=i,a.by=e)),a.ax>a.bx&&([a.ax,a.bx]=[a.bx,a.ax]),a.ay>a.by&&([a.ay,a.by]=[a.by,a.ay]),a.x=a.w=a.bx-a.ax,a.y=a.h=a.by-a.ay,a}function lte(i,e){return!(i.ax>e.bx||e.ax>i.bx||i.ay>e.by||e.ay>i.by)}Number.prototype.toDigitString=function(i){i||(i=1);for(var e=this.toString(),t=e.length,n=0;n<i-t;n++)e="0"+e;return e};Date.prototype.getDateArray=function(){return[this.getDate(),this.getMonth()+1,this.getYear()+1900]};Date.prototype.getDateString=function(){var i=this.getDateArray();return`${i[0].toDigitString(2)}.${i[1].toDigitString(2)}.${i[2]}`};Date.prototype.dayOfYear=function(){var i=new Date(this.getFullYear(),0,0),e=this-i,t=1e3*60*60*24;return Math.floor(e/t)};function cte(i,e,t){var n={};for(let a in i)if(e.indexOf(a)==-1)if(t===!0&&typeof i[a]=="object"){n[a]={};for(let o in i[a])e.indexOf(o)==-1&&(n[a][o]=i[a][o])}else n[a]=i[a];return n}function dte(i,e){return Object.keys(i).find(t=>i[t]===e)}var ute={equalKeys:function(i,e){for(var t in i)if(i.hasOwnProperty(t)&&!e.hasOwnProperty(t))return!1;for(var t in e)if(e.hasOwnProperty(t)&&!i.hasOwnProperty(t))return!1;return!0},keyLength:function(i){var e=0;for(var t in i)i.hasOwnProperty(t)&&e++;return e}},pte={number(i,e,t){if(e[t]!==void 0){var n=e[t];typeof n=="number"&&!isNaN(n)?i[t]=n:(n=parseFloat(n),typeof n=="number"&&!isNaN(n)&&(i[t]=n))}},string(i,e,t,n){if(e[t]||typeof e[t]=="string"){var a=e[t];typeof a!="string"&&(a=a.toString()),(!(n instanceof Function)||n(a))&&(i[t]=a)}},molang(i,e,t){typeof e[t]=="string"?i[t]=e[t].replace(/-?\d\.\d+e-\d\d/g,"0"):typeof e[t]=="number"&&(i[t]=Math.roundTo(e[t],9).toString())},boolean(i,e,t,n){e[t]!==void 0&&(!(n instanceof Function)||n(e[t]))&&(i[t]=e[t])},function(i,e,t,n){typeof e[t]=="function"&&(!(n instanceof Function)||n(e[t]))&&(i[t]=e[t])},arrayVector(i,e,t,n){e[t]instanceof Array&&(!(n instanceof Function)||n(e[t]))&&i[t].V3_set(e[t])},arrayVector2(i,e,t,n){e[t]instanceof Array&&(!(n instanceof Function)||n(e[t]))&&i[t].replace(e[t])}};function Cw(i){Cw.funcs||(Cw.funcs=[]),Cw.funcs.push(i)}function MA(i){return i.charAt(0).toUpperCase()+i.slice(1)}function mte(i){return compileJSON(i,{small:settings.minifiedout.value})}function _te(i){return i.length===1||i===1?"":"s"}function Rw(i){return i.replace(/[A-Z]/g,e=>"_"+e).toLowerCase().replace(/\s+/g,"_").replace(/[^a-z0-9_]/g,"")}function hte(i,e){var t=i.split("/").join("\\").split("\\");return e===!0?t[t.length-1]:t[t.length-1].replace(/\.\w+$/,"")}function Gc(i){if(typeof i!="string")return"";var e=i.match(/\.\w{2,24}$/);return!e||!e.length?"":e[0].replace(".","").toLowerCase()}Object.defineProperty(String.prototype,"hashCode",{value(){var i=0,e;for(let t=0;t<this.length;t++)e=this.charCodeAt(t),i=(i<<5)-i+e,i|=0;return i}});function fte(i){if(!i)return 0;if(typeof i=="string"){if(isNaN(i))return i.replace(/\n/g,"");{let e=parseFloat(i);return isNaN(e)?0:e}}else return typeof i=="number"?i:0}function HL(i,e){if(!i)return;let t=i.getBoundingClientRect();return Pw([e.clientX,e.clientY],[t.x,t.y],[t.right+1,t.bottom+1])}function gte(i,e){return document.querySelectorAll(i).entries().map(([t,n])=>n).find(t=>HL(t,e))}tinycolor.prototype.toInt=function(){let{r:i,g:e,b:t,a:n}=this.toRgb();return i*Math.pow(256,3)+e*Math.pow(256,2)+t*Math.pow(256,1)+n*Math.pow(256,0)};function vte(i){let e={};return e.r=Math.floor(i/Math.pow(256,3)),e.g=Math.floor((i-e.r*Math.pow(256,3))/Math.pow(256,2)),e.b=Math.floor((i-e.r*Math.pow(256,3)-e.g*Math.pow(256,2))/Math.pow(256,1)),e.a=Math.floor((i-e.r*Math.pow(256,3)-e.g*Math.pow(256,2)-e.b*Math.pow(256,1))/Math.pow(256,0)),e}function bte(i,e){var t={r:0,g:0,b:0},n=document.createElement("canvas"),a=n.getContext&&n.getContext("2d"),o,r,s,l=-4,c,d={r:0,g:0,b:0},u=0;if(!a)return t;s=n.height=i.naturalHeight||i.offsetHeight||i.height,r=n.width=i.naturalWidth||i.offsetWidth||i.width,a.drawImage(i,0,0);try{o=a.getImageData(0,0,r,s)}catch{return alert("x"),t}for(c=o.data.length,e||(e=Math.ceil(c/64));(l+=e*4)<c;)o.data[l+3]>0&&(++u,d.r+=o.data[l],d.g+=o.data[l+1],d.b+=o.data[l+2]);return d.r=~~(d.r/u),d.g=~~(d.g/u),d.b=~~(d.b/u),d}function yte(i){var e=i[0]/255,t=i[1]/255,n=i[2]/255,a,o,r;return e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,a=(e*.4124+t*.3576+n*.1805)/.95047,o=(e*.2126+t*.7152+n*.0722)/1,r=(e*.0193+t*.1192+n*.9505)/1.08883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,[116*o-16,500*(a-o),200*(o-r)]}function xte(i,e){var t=i[0]-e[0],n=i[1]-e[1],a=i[2]-e[2],o=Math.sqrt(i[1]*i[1]+i[2]*i[2]),r=Math.sqrt(e[1]*e[1]+e[2]*e[2]),s=o-r,l=n*n+a*a-s*s;l=l<0?0:Math.sqrt(l);var c=1+.045*o,d=1+.015*o,u=t/1,p=s/c,m=l/d,_=u*u+p*p+m*m;return _<0?0:Math.sqrt(_)}function Wr(i,e){return Math.sqrt(Math.pow(e._r-i._r,2)+Math.pow(e._g-i._g,2)+Math.pow(e._b-i._b,2))}function kte(i){return i.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")}function tp(i,e,t,n){let a=[e[0]-i[0],e[1]-i[1]],o=[n[0]-t[0],n[1]-t[1]],r=(-a[1]*(i[0]-t[0])+a[0]*(i[1]-t[1]))/(-o[0]*a[1]+a[0]*o[1]),s=(o[0]*(i[1]-t[1])-o[1]*(i[0]-t[0]))/(-o[0]*a[1]+a[0]*o[1]);return r>=0&&r<=1&&s>=0&&s<=1}function Pw(i,e,t){return i[0]>e[0]&&i[0]<t[0]&&i[1]>e[1]&&i[1]<t[1]}function ws(i,e,t,n){return Pw(i,t,n)||Pw(e,t,n)?!0:Math.epsilon(i[0],e[0],.01)&&Math.epsilon(i[1],e[1],.01)?!1:tp(i,e,[t[0],t[1]],[n[0],t[1]])||tp(i,e,[t[0],t[1]],[t[0],n[1]])||tp(i,e,[n[0],n[1]],[n[0],t[1]])||tp(i,e,[n[0],n[1]],[t[0],n[1]])}function wte(i,e,t,n){function a(d,u,p){return(d[0]-p[0])*(u[1]-p[1])-(u[0]-p[0])*(d[1]-p[1])}let o=a(i,e,t),r=a(i,t,n),s=a(i,n,e),l=o<0||r<0||s<0,c=o>0||r>0||s>0;return!(l&&c)}function TA(i,e){let t=i[0],n=i[1],a=e,o=!1;for(let r=0,s=a.length-1;r<a.length;s=r++){let l=a[r][0],c=a[r][1],d=a[s][0],u=a[s][1];c>n!=u>n&&t<(d-l)*(n-c)/(u-c)+l&&(o=!o)}return o}function Ste(i,e,t,n,a){return tp(i,e,t,n)||tp(i,e,n,a)||tp(i,e,a,t)}function zte(i,e){let t=new THREE.Spherical;t.setFromCartesianCoords(...e.slice().V3_subtract(i));let n=Math.radToDeg(-t.theta),a=Math.radToDeg(-t.phi)-90;return a<90&&(a+=180),n+=180,[n,a]}function Ete(i,e){let t=new THREE.Vector3(0,0,16);return t.applyEuler(new THREE.Euler(Math.degToRad(e[1]),Math.degToRad(e[0]),0,"ZYX")),t.z*=-1,t.y*=-1,t.toArray().V3_add(i)}var LL=new Intl.DateTimeFormat,Mte=new Intl.DateTimeFormat(void 0,{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"});function Rm(i,e=!0){let t=new Date(i);var n=Math.floor(Blockbench.openTime/(6e4*60*24))-Math.floor(t/(6e4*60*24));let a;return n<=0?a=tl("dates.today"):n==1?a=tl("dates.yesterday"):n<=7?a=tl("dates.this_week"):n<=60?a=tl("dates.weeks_ago",[Math.ceil(n/7)]):a=LL.format(t),{short:a,full:e?Mte.format(t):LL.format(t)}}window.structuredClone||(window.structuredClone=function(e){return JSON.parse(JSON.stringify(e))});window.structuredClone||(window.structuredClone=i=>{if(i)return JSON.parse(JSON.stringify(i))});Object.assign(window,{Condition:NL,Objector:ute,Merge:pte,pureMarked:Nd,convertTouchEvent:ate,addEventListeners:ote,removeEventListeners:Bw,getStringWidth:Bm,patchedAtob:Rb,highestInObject:rte,getRectangle:ste,doRectanglesOverlap:lte,omitKeys:cte,onVueSetup:Cw,capitalizeFirstLetter:MA,autoStringify:mte,pluralS:_te,pathToName:hte,pathToExtension:Gc,exportMolang:fte,isNodeUnderCursor:HL,findNodeUnderCursor:gte,intToRGBA:vte,getAverageRGB:bte,rgb2lab:yte,labColorDistance:xte,stringifyLargeInt:kte,intersectLines:tp,pointInRectangle:Pw,lineIntersectsReactangle:ws,pointInTriangle:wte,pointInPolygon:TA,lineIntersectsTriangle:Ste,cameraTargetToRotation:zte,cameraRotationToTarget:Ete,getDateDisplay:Rm,wait:nte,Rectangle:EA,getKeyByValue:dte});var jw=Symbol("singleComment"),GL=Symbol("multiComment"),Tte=()=>"",Ate=(i,e,t)=>i.slice(e,t).replace(/[^ \t\r\n]/g," "),Cte=(i,e)=>{let t=e-1,n=0;for(;i[t]==="\\";)t-=1,n+=1;return!!(n%2)};function AA(i,{whitespace:e=!0,trailingCommas:t=!1}={}){if(typeof i!="string")throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof i}\``);let n=e?Ate:Tte,a=!1,o=!1,r=0,s="",l="",c=-1;for(let u=0;u<i.length;u++){let p=i[u],m=i[u+1];if(!o&&p==='"'&&(Cte(i,u)||(a=!a)),!a)if(!o&&p+m==="//")s+=i.slice(r,u),r=u,o=jw,u++;else if(o===jw&&p+m===`\r
`){u++,o=!1,s+=n(i,r,u),r=u;continue}else if(o===jw&&p===`
`)o=!1,s+=n(i,r,u),r=u;else if(!o&&p+m==="/*"){s+=i.slice(r,u),r=u,o=GL,u++;continue}else if(o===GL&&p+m==="*/"){u++,o=!1,s+=n(i,r,u+1),r=u+1;continue}else t&&!o&&(c!==-1?p==="}"||p==="]"?(s+=i.slice(r,u),l+=n(s,0,1)+s.slice(1),s="",r=u,c=-1):p!==" "&&p!==" "&&p!=="\r"&&p!==`
`&&(s+=i.slice(r,u),r=u,c=-1):p===","&&(l+=s+i.slice(r,u),s="",r=u,c=u))}let d=o===jw?n(i,r):i.slice(r);return l+s+d}var Iw=class{constructor(e){if(e!==void 0)for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}};function jb(i,e={}){let t=e.indentation;if(typeof t!="string")switch(settings.json_indentation.value){case"spaces_4":t=" ";break;case"spaces_2":t=" ";break;case"tabs":default:t=" ";break}function n(s){if(e.small===!0)return"";let l=`
`;for(let c=0;c<s;c++)l+=t;return l}function a(s){return s.includes("\\")&&(s=s.replace(/\\/g,"\\\\")),s.includes('"')&&(s=s.replace(/"/g,'\\"')),s.includes(`
`)&&(s=s.replace(/\n|\r\n/g,"\\n")),s.includes(" ")&&(s=s.replace(/\t/g,"\\t")),s}function o(s,l,c=!0){var d="";let u=typeof s;if(u==="string")d+='"'+a(s)+'"';else if(u==="boolean")d+=s?"true":"false";else if(s===null||s===1/0||s===-1/0)d+="null";else if(u==="number")s=(Math.round(s*1e5)/1e5).toString(),s=="NaN"&&(s=null),d+=s;else if(s instanceof Array){let g=!1,v=!!s.find(b=>typeof b=="object");if(!v){let b=0;s.forEach(x=>{b+=typeof x=="string"?x.length+4:3}),b>140&&(v=!0)}d+="[";for(var p=0;p<s.length;p++){var m=o(s[p],l+1);m&&(g&&(d+=","+(e.small||v?"":" ")),v&&(d+=n(l)),d+=m,g=!0)}v&&(d+=n(l-1)),d+="]"}else if(u==="object"){c=c&&!(s instanceof Iw);var _=!1;d+="{";for(var f in s)if(s.hasOwnProperty(f)){var m=o(s[f],l+1,c);m&&(_&&(d+=","+(c||e.small?"":" ")),c&&(d+=n(l)),d+='"'+a(f)+'":'+(e.small===!0?"":" "),d+=m,_=!0)}c&&_&&(d+=n(l-1)),d+="}"}return d}let r=o(i,1);return(settings.final_newline.value&&e.final_newline!=!1||e.final_newline==!0)&&(r+=`
`),r}function Pte(i,e=!0){i.substr(0,4)==="<lz>"&&(i=hw.decompress(i.substr(4),{inputEncoding:"StorageBinaryString"})),i.charCodeAt(0)===65279&&(i=i.substr(1));try{i=JSON.parse(i)}catch{i=AA(i);try{i=JSON.parse(i)}catch(o){let s=function(l,c,d){var u=l.substr(0,c).match(/\n/gm);u=u?u.length+1:1;var p="",m=l.substr(c,d).split(/\n/gm);m.forEach((_,f)=>{p+=`#${u+f} ${_}
`}),r=p.substr(0,p.length-1)+" <-- HERE",console.log(r)};if(e===!1)return;if(i.match(/\n\r?[><]{7}/)){Blockbench.showMessageBox({title:"message.invalid_file.title",icon:"fab.fa-git-alt",message:"message.invalid_file.merge_conflict"});return}let r="";console.error(o);var t=o.toString().split("at position ")[1];if(t){t=parseInt(t);var n=limitNumber(t-32,0,1/0);s(i,n,1+t-n)}else o.toString().includes("Unexpected end of JSON input")&&s(i,i.length-16,10);Blockbench.showMessageBox({translateKey:"invalid_file",icon:"error",message:tl("message.invalid_file.message",[o])+(r?`
\`\`\`
${r}
\`\`\``:""),commands:{open_file:void 0}},l=>{l=="open_file"&&typeof e=="object"&&null.openPath(e.file_path)});return}}return i}var Bte={oneLiner:Iw,compileJSON:jb,autoParseJSON:Pte};Object.assign(window,Bte);Ve.BufferGeometry.prototype.setShape=function(i,e){let{position:t}=this.attributes;t.array.set([e[0],e[1],e[2],e[0],e[1],i[2],e[0],i[1],e[2],e[0],i[1],i[2]],0),t.array.set([i[0],e[1],i[2],i[0],e[1],e[2],i[0],i[1],i[2],i[0],i[1],e[2]],12),t.array.set([i[0],e[1],i[2],e[0],e[1],i[2],i[0],e[1],e[2],e[0],e[1],e[2]],24),t.array.set([i[0],i[1],e[2],e[0],i[1],e[2],i[0],i[1],i[2],e[0],i[1],i[2]],36),t.array.set([i[0],e[1],e[2],e[0],e[1],e[2],i[0],i[1],e[2],e[0],i[1],e[2]],48),t.array.set([e[0],e[1],i[2],i[0],e[1],i[2],e[0],i[1],i[2],i[0],i[1],i[2]],60),t.needsUpdate=!0};Object.assign(Ve.Euler.prototype,{setFromDegreeArray:function(i,e){return this._x=Math.degToRad(i[0])*(e?-1:1),this._y=Math.degToRad(i[1])*(e?-1:1),this._z=Math.degToRad(i[2])*(e?-1:1),this._onChangeCallback(),this}});Ve.Euler.prototype.invert=function(){var i=new Ve.Quaternion;return function(){return this.setFromQuaternion(i.setFromEuler(this).invert())}}();Ve.Vector3.prototype.removeEuler=function(i){return function(t){var n=new Ve.Euler().copy(t).invert();return this.applyEuler(n),this}}();Ve.Vector3.prototype.toString=function(){return`${this.x}, ${this.y}, ${this.z}`};var CA=class extends Ve.LineSegments{constructor(e,t,n,a){var o=[];function r(b,x){switch(x){case 0:return[b[1],b[2]];case 1:return[b[0],b[2]];case 2:return[b[0],b[1]]}}function s(b,x,w,E){switch(w){case 0:o.push(E,b,x);break;case 1:o.push(b,E,x);break;case 2:o.push(b,x,E);break}}for(var l=0;l<3;l++)for(var c=r(e,l),d=r(t,l),u=r(n,l),p=0;p<2;p++){var m=p?e[l]:t[l],f=Math.abs((d[1]-c[1])/u[1]);f<.0625&&(f=.0625);for(var _=c[1];_<=d[1];_+=f)s(c[0],_,l,m),s(d[0],_,l,m);var f=Math.abs((d[0]-c[0])/u[0]);f<.0625&&(f=.0625);for(var g=c[0];g<=d[0];g+=f)s(g,c[1],l,m),s(g,d[1],l,m)}var v=new Ve.BufferGeometry;v.addAttribute("position",new Ve.Float32BufferAttribute(o,3)),a=a||new Ve.LineBasicMaterial({color:gizmo_colors.grid})}};Ve.GridBox=CA;Ve.Object3D.prototype.toScreenPosition=function(i,e){var t=new Ve.Vector3,n=.5*e.width,a=.5*e.height;return this.updateMatrixWorld(),t.setFromMatrixPosition(this.matrixWorld),t.project(i),t.x=t.x*n+n,t.y=-(t.y*a)+a,t.divideScalar(window.devicePixelRatio),{x:t.x,y:t.y}};Ve.AxesHelper=class extends Ve.LineSegments{constructor(e){e=e||1;var t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=new Ve.BufferGeometry;n.setAttribute("position",new Ve.Float32BufferAttribute(t,3));var a=new Ve.LineBasicMaterial({vertexColors:!0});super(n,a),this.updateColors()}updateColors(){var e=[...gizmo_colors.r.toArray(),...gizmo_colors.r.toArray(),...gizmo_colors.g.toArray(),...gizmo_colors.g.toArray(),...gizmo_colors.b.toArray(),...gizmo_colors.b.toArray()];this.geometry.setAttribute("color",new Ve.Float32BufferAttribute(e,3))}};Ve.AxesHelper.prototype.constructor=Ve.AxesHelper;Ve.GridHelper=class extends Ve.LineSegments{constructor(e,t,n){e=e||10,t=Math.clamp(t||10,1,4e4);let a=e/t,o=e/2,r=[];for(let l=0,c=0,d=-o;l<=t;l++,d+=a)r.push(-o,0,d,o,0,d),r.push(d,0,-o,d,0,o);var s=new Ve.BufferGeometry;s.setAttribute("position",new Ve.Float32BufferAttribute(r,3)),super(s,n),this.type="GridHelper"}};Ve.NormalX=new Ve.Vector3(1,0,0);Ve.NormalY=new Ve.Vector3(0,1,0);Ve.NormalZ=new Ve.Vector3(0,0,1);function PA(i,e){return e?e.set(0,0,0):e=new Ve.Vector3,i.localToWorld(e),e}Ve.fastWorldPosition=PA;function BA(){function i(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return i()+i()+"-"+i()+"-"+i()+"-"+i()+"-"+i()+i()+i()}function Rte(i){return i.length===36&&i.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/)}function jte(i){i=i||1;let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(var t="";i>0;){var n=Math.floor(Math.random()*62);n>9&&(n=e[n-10]),t+=n,i--}return t}Math.radToDeg=function(i){return i/Math.PI*180};Math.degToRad=function(i){return Math.PI/(180/i)};Math.roundTo=function(i,e){var t=Math.pow(10,e);return Math.round(i*t)/t};Math.getLerp=function(i,e,t){return(t-i)/(e-i)};Math.lerp=function(i,e,t){return i+(e-i)*t};Math.isBetween=function(i,e,t){return(i-e)*(i-t)<=0};Math.epsilon=function(i,e,t=.001){return Math.abs(e-i)<t};Math.trimDeg=function(i){return(i+2700)%360-180};Math.trimRad=function(i){return(i+Math.PI*15)%(Math.PI*2)-Math.PI};Math.isPowerOfTwo=function(i){return i>1&&(i&i-1)==0};Math._numbertype="number";Math.isNumber=function(i){return typeof i==Math._numbertype};Math.randomab=function(i,e){return i+Math.random()*(e-i)};Math.randomInteger=function(i,e){return i=Math.ceil(i),e=Math.floor(e),i+Math.floor(Math.random()*(e-i+1))};Math.areMultiples=function(i,e){return i/e%1===0||e/i%1===0};Math.getNextPower=function(i,e){for(var t=e||2;t<i&&t<4e3;)t*=2;return t};Math.signedPow=function(i,e=2){return e%2==0?Math.pow(i,e)*Math.sign(i):Math.pow(i,e)};Math.snapToValues=function(i,e,t=12){let n=e.slice().sort((a,o)=>Math.abs(i-a)-Math.abs(i-o));return Math.abs(n[0]-i)<t?n[0]:i};Math.hermiteBlend=function(i){return 3*i**2-2*i**3};Math.clamp=function(i,e,t){return i>t&&(i=t),(i<e||isNaN(i))&&(i=e),i};var Ite=Math.clamp;function Dte(i,e=4){if(i=="")return i;var t=i.toFixed(e);return t=t.replace(/0+$/g,"").replace(/\.$/g,""),t==="-0"?"0":t}function RA(i){let e=i.toString(),t=e.indexOf(".");if(t==-1&&(t=e.length),t<4)return e;let n;for(let a=t;a>0;a-=3)a==t?n=e.substring(a-3):n=e.substring(Math.max(0,a-3),a)+","+n;return n}function Vte(i){switch(i){case 0:return"x";case 1:return"y";case 2:return"z"}}function Fte(i){switch(i.toLowerCase()){case"x":return 0;case"y":return 1;case"z":return 2}}var Ute=/^-?\d+(\.\d+f?)?$/;function jA(i){return typeof i=="number"||Ute.test(i)}Object.assign(window,{guid:BA,isUUID:Rte,bbuid:jte,trimFloatNumber:Dte,separateThousands:RA,getAxisLetter:Vte,getAxisNumber:Fte,isStringNumber:jA,limitNumber:Ite});Array.prototype.safePush=function(...i){let e=!1;for(var t of i)this.includes(t)||(this.push(t),e=!0);return e};Array.prototype.equals=function(i){if(!i||this.length!=i.length)return!1;for(var e=0,t=this.length;e<t;e++)if(this[e]instanceof Array&&i[e]instanceof Array){if(!this[e].equals(i[e]))return!1}else if(this[e]!=i[e])return!1;return!0};Array.prototype.remove=function(...i){i.forEach(e=>{var t=this.indexOf(e);t>-1&&this.splice(t,1)})};Array.prototype.empty=function(){return this.splice(0,this.length),this};Array.prototype.purge=function(){return this.splice(0,this.length),this};Array.prototype.set=function(i,e){return this.splice(i,1,e),this};Array.prototype.replace=function(i){return this.splice(0,this.length,...i),this};Array.prototype.allAre=function(i){return this.findIndex((e,t)=>!i(e,t))===-1};Array.prototype.findInArray=function(i,e){for(var t=0;t<this.length;t++)if(this[t][i]===e)return this[t];return!1};Array.prototype.findHighest=function(i){let e=-1/0,t;for(let n of this){let a=i(n);a>e&&(e=a,t=n)}return t};Array.prototype.last=function(){return this[this.length-1]};Array.prototype.findLast||(Array.prototype.findLast=function(i){for(let e=this.length-1;e>=0;e--)if(i(this[e],e))return this[e]},Array.prototype.findLastIndex=function(i){for(let e=this.length-1;e>=0;e--)if(i(this[e],e))return e});Array.prototype.atWrapped=function(i){return i=(i+this.length*5)%this.length,this[this.length-1]};Array.prototype.positiveItems=function(){for(var i=0,e=0;e<this.length;)this[e]&&i++,e++;return i};Array.prototype.allEqual=function(i){for(var e=0;e<this.length;){if(this[e]!==i)return!1;e++}return!0};Array.prototype.random=function(){return this[Math.floor(Math.random()*this.length)]};Array.prototype.forEachReverse=function(i){for(var e=this.length,e=this.length-1;e>=0;e--)i(this[e],e)};Array.prototype.overlap=function(i){var e=0;for(var t of this)i.includes(t)&&e++;return e};Array.prototype.toggle=function(i,e=!this.includes(i)){e?this.safePush(i):this.remove(i)};Object.defineProperty(Array.prototype,"equals",{enumerable:!1});Array.prototype.V3_set=function(i,e,t){return i instanceof Array?this.V3_set(...i):i instanceof THREE.Vector3?this.V3_set(i.x,i.y,i.z):(e===void 0&&t===void 0&&(t=e=i),this[0]=parseFloat(i)||0,this[1]=parseFloat(e)||0,this[2]=parseFloat(t)||0,this)};Array.prototype.V3_add=function(i,e,t){return i instanceof Array?this.V3_add(...i):i instanceof THREE.Vector3?this.V3_add(i.x,i.y,i.z):(this[0]+=parseFloat(i)||0,this[1]+=parseFloat(e)||0,this[2]+=parseFloat(t)||0,this)};Array.prototype.V3_subtract=function(i,e,t){return i instanceof Array?this.V3_subtract(...i):i instanceof THREE.Vector3?this.V3_subtract(i.x,i.y,i.z):(this[0]-=parseFloat(i)||0,this[1]-=parseFloat(e)||0,this[2]-=parseFloat(t)||0,this)};Array.prototype.V3_multiply=function(i,e,t){return i instanceof Array?this.V3_multiply(...i):i instanceof THREE.Vector3?this.V3_multiply(i.x,i.y,i.z):(e===void 0&&t===void 0&&(t=e=i),this[0]*=parseFloat(i)||0,this[1]*=parseFloat(e)||0,this[2]*=parseFloat(t)||0,this)};Array.prototype.V3_divide=function(i,e,t){return i instanceof Array?this.V3_divide(...i):i instanceof THREE.Vector3?this.V3_divide(i.x,i.y,i.z):(e===void 0&&t===void 0&&(t=e=i),this[0]/=parseFloat(i)||1,this[1]/=parseFloat(e)||1,this[2]/=parseFloat(t)||1,this)};Array.prototype.V3_toThree=function(){return new THREE.Vector3(this[0],this[1],this[2])};Array.prototype.V3_toEuler=function(){return new THREE.Euler().fromArray(this)};Array.prototype.V2_set=function(i,e){return i instanceof Array?this.V2_set(...i):(e===void 0&&(e=i),this[0]=parseFloat(i)||0,this[1]=parseFloat(e)||0,this)};Array.prototype.V2_add=function(i,e){return i instanceof Array?this.V2_add(...i):(this[0]+=parseFloat(i)||0,this[1]+=parseFloat(e)||0,this)};Array.prototype.V2_subtract=function(i,e){return i instanceof Array?this.V2_subtract(...i):(this[0]-=parseFloat(i)||0,this[1]-=parseFloat(e)||0,this)};Array.prototype.V2_multiply=function(i,e){return i instanceof Array?this.V2_multiply(...i):(e===void 0&&(e=i),this[0]*=parseFloat(i)||0,this[1]*=parseFloat(e)||0,this)};Array.prototype.V2_divide=function(i,e){return i instanceof Array?this.V2_divide(...i):(e===void 0&&(e=i),this[0]/=parseFloat(i)||1,this[1]/=parseFloat(e)||1,this)};var Qs=class{constructor(){W(this,"events");this.events={}}dispatchEvent(e,t){var n=this.events[e];if(!n)return;let a;for(let o of n)a=o(t)??a;return a}on(e,t){if(typeof t!="function"){console.warn(t,"is not a function!");return}if(e.includes(" ")){let n=e.split(" ");for(let a of n)this.events[a]||(this.events[a]=[]),this.events[a].safePush(t);return{delete:()=>{for(let a of n)this.events[a].remove(t)}}}else return this.events[e]||(this.events[e]=[]),this.events[e].safePush(t),{delete:()=>{this.events[e].remove(t)}}}once(e,t){if(typeof t!="function"){console.warn(t,"is not a function!");return}let n=a=>{this.removeListener(e,n),t(a)};return this.on(e,n)}addListener(e,t){return this.on(e,t)}removeListener(e,t){if(e.includes(" ")){let n=e.split(" ");for(let a of n)this.events[a]&&this.events[a].remove(t)}else this.events[e]&&this.events[e].remove(t)}},Ote={EventSystem:Qs};Object.assign(window,Ote);var vt=class{constructor(e,t,n,a={}){W(this,"class");W(this,"name");W(this,"type");W(this,"default");W(this,"export");W(this,"isString");W(this,"isEnum");W(this,"isMolang");W(this,"isNumber");W(this,"isBoolean");W(this,"isArray");W(this,"isVector");W(this,"isVector2");W(this,"isObject");W(this,"isInstance");W(this,"enum_values");W(this,"merge_validation");W(this,"condition");W(this,"exposed");W(this,"label");W(this,"inputs");W(this,"copy_value");W(this,"description");W(this,"placeholder");W(this,"options");if(e.properties||(e.properties={}),e.properties[n]=this,this.class=e,this.name=n,this.type=t,a.default!=null)this.default=a.default;else switch(this.type){case"string":this.default="";break;case"enum":this.default=a.values?.[0]||"";break;case"molang":this.default="0";break;case"number":this.default=0;break;case"boolean":this.default=!1;break;case"array":this.default=[];break;case"object":this.default={};break;case"instance":this.default=null;break;case"vector":this.default=[0,0,0];break;case"vector2":this.default=[0,0];break;case"vector4":this.default=[0,0,0,0];break}switch(this.type){case"string":this.isString=!0;break;case"enum":this.isEnum=!0;break;case"molang":this.isMolang=!0;break;case"number":this.isNumber=!0;break;case"boolean":this.isBoolean=!0;break;case"array":this.isArray=!0;break;case"object":this.isObject=!0;break;case"instance":this.isInstance=!0;break;case"vector":case"vector2":case"vector4":this.isVector=!0;break}this.isMolang&&Object.defineProperty(e.prototype,`${n}_string`,{get(){return typeof this[n]=="number"?trimFloatNumber(this[n])||"0":this[n]},set(o){this[n]=o}}),this.isEnum&&(this.enum_values=a.values),typeof a.merge=="function"&&(this.merge=a.merge),typeof a.reset=="function"&&(this.reset=a.reset),typeof a.merge_validation=="function"&&(this.merge_validation=a.merge_validation),a.condition&&(this.condition=a.condition),a.exposed==!1&&(this.exposed=!1),a.export==!1&&(this.export=!1),a.copy_value==!1&&(this.copy_value=!1),a.label&&(this.label=a.label),a.description&&(this.description=a.description),a.placeholder&&(this.placeholder=a.placeholder),a.inputs&&(this.inputs=a.inputs),a.options&&(this.options=a.options)}delete(){delete this.class.properties[this.name]}getDefault(e){return typeof this.default=="function"?this.default(e):this.isArray?this.default?this.default.slice():[]:this.isObject?Object.keys(this.default).length?structuredClone(this.default):{}:this.default}merge(e,t){t[this.name]==null||!Condition(this.condition,e)||(this.isString?Merge.string(e,t,this.name,this.merge_validation):this.isEnum?Merge.string(e,t,this.name,n=>!this.enum_values||this.enum_values.includes(n)):this.isNumber?Merge.number(e,t,this.name):this.isMolang?Merge.molang(e,t,this.name):this.isBoolean?Merge.boolean(e,t,this.name,this.merge_validation):this.isArray||this.isVector?t[this.name]instanceof Array&&(e[this.name]instanceof Array||(e[this.name]=[]),e[this.name].replace(t[this.name])):this.isObject?typeof t[this.name]=="object"&&(e[this.name]=structuredClone(t[this.name])):this.isInstance&&typeof t[this.name]=="object"&&(e[this.name]=t[this.name]))}copy(e,t){if(Condition(this.condition,e))if(this.isArray||this.isVector){if(e[this.name]instanceof Array&&(t[this.name]=e[this.name].slice(),this.isArray))try{e[this.name].forEach((n,a)=>{typeof n=="object"&&(e[this.name][a]=JSON.parse(JSON.stringify(n)))})}catch(n){console.error(n)}}else this.isObject?typeof e[this.name]=="object"&&(t[this.name]=structuredClone(e[this.name])):t[this.name]=e[this.name]}reset(e,t=!1){if(!(e[this.name]==null&&!Condition(this.condition,e)&&!t)){var n=this.getDefault(e);this.isArray||this.isVector?(e[this.name]instanceof Array||(e[this.name]=[]),e[this.name].replace(n||[])):e[this.name]=n}}};W(vt,"resetUniqueValues",function(e,t){for(var n in e.properties){let a=e.properties[n];a.copy_value==!1&&a.reset(t)}});var Lte={Property:vt};Object.assign(window,Lte);window.open_menu=null;var jm=class{constructor(e,t){this.id=e||"",this.menu_node=Interface.createElement("li",{class:"menu_separator",menu_separator_id:e}),t&&(this.label=tl(t),this.menu_node.append(Interface.createElement("label",{},this.label)),this.menu_node.classList.add("has_label"))}};function qL(i){if(i=i.get(0),!i)return;function e(t){let n=parseInt(i.style.top),a=n-$(i).offset().top,o=26;Blockbench.isMobile&&qc.open instanceof BarMenu&&(o=window.innerHeight>400?106:56),n=Math.clamp(n+t,window.innerHeight-i.clientHeight+a,a+o),i.style.top=`${n}px`}Blockbench.isTouch&&i.addEventListener("touchstart",t=>{t.stopPropagation(),convertTouchEvent(t);let n=t.clientY,a=r=>{convertTouchEvent(r),e(r.clientY-n),n=r.clientY},o=r=>{document.removeEventListener("touchmove",a),document.removeEventListener("touchend",o)};document.addEventListener("touchmove",a),document.addEventListener("touchend",o)}),i.addEventListener("wheel",t=>{t.stopPropagation(),e(-t.deltaY)})}var tf=class tf{constructor(e,t,n){typeof e!="string"&&(n=t,t=e),this.id=typeof e=="string"?e:"",this.children=[],this.structure=t,this.options=n||{},this.onOpen=this.options.onOpen,this.onClose=this.options.onClose,this.node=document.createElement("ul"),this.node.classList.add("contextMenu"),this.options.class&&(this.options.class instanceof Array?this.node.classList.add(...this.options.class):this.node.classList.add(this.options.class))}hover(e,t,n){if(e.classList.contains("focused")&&!n)if(e.classList.contains("hybrid_parent"))e.classList.remove("opened");else return;t&&t.stopPropagation(),$(open_menu.node).find("li.focused").removeClass("focused"),$(open_menu.node).find("li.opened").removeClass("opened");var a=$(e);if(e.classList.add("focused"),a.parents("li.parent, li.hybrid_parent").addClass("opened"),a.hasClass("parent")||n&&a.hasClass("hybrid_parent")){var o=a.find("> ul.contextMenu.sub");n&&e.classList.add("opened");var r=a.outerWidth();o.css("left",r+"px"),o.css("margin-top","");var s=o.width(),l=o.offset(),c=o.height();if(l.left+s>window.innerWidth){let p=window.innerWidth-l.left+r-s;if(Blockbench.isMobile)o.css("visibility","hidden"),setTimeout(()=>{o.css("left",0),o.css("visibility","visible")},100);else if(n){o.css("margin-top",e.clientHeight-5+"px");let m=r-t.target.clientWidth;o.css("left",Math.min(p,m)+"px")}else s>l.left-r?o.css("left",p+"px"):o.css("left",-s+"px")}let d=26;Blockbench.isMobile&&this instanceof BarMenu&&(d=window.innerHeight>400?106:56);let u=window.innerHeight-d;c>u?(o.css("margin-top","0").css("top","0"),o.css("top",-o.offset().top+d+"px"),qL(o)):l.top+c>u&&(o.css("margin-top",d-o.height()+"px"),o.offset().top<d&&o.offset({top:d}))}}reveal(e){}keyNavigate(e){var t=this,n,a=$(this.node);if(e.which>=37&&e.which<=40){let c=t.type==="bar_menu"&&e.which%2;if(a.find("li.focused").length||c){var o=a.find("li.focused"),r;switch(e.which){case 37:r=o.parent("ul").parent("li");break;case 38:r=o.prevAll("li:not(.menu_separator)").first();break;case 39:r=o.find("ul li:first-child");break;case 40:r=o.nextAll("li:not(.menu_separator)").first();break}if(!r.length&&e.which%2==0){var s=o.siblings("li:not(.menu_separator)");e.which===38?r=s.last():r=s.first()}if(r&&r.length)o.removeClass("focused"),t.hover(r.get(0));else if(c){var l=MenuBar.keys.indexOf(t.id);l+=e.which==39?1:-1,l<0?l=MenuBar.keys.length-1:l>=MenuBar.keys.length&&(l=0),MenuBar.menus[MenuBar.keys[l]].open()}}else a.find("> li:first-child").addClass("focused");n=!0}else Keybinds.extra.confirm.keybind.isTriggered(e)?(a.find("li.focused").trigger("click"),t&&this.options.keep_open,n=!0):Keybinds.extra.cancel.keybind.isTriggered(e)&&(t.hide(),n=!0);return n}open(e,t){this.onOpen&&this.onOpen(e,t),e&&e.changedTouches&&convertTouchEvent(e);let n=t;var a=this,o=$(this.node);open_menu&&open_menu.hide(),document.body.append(this.node),o.children().detach();function r(g,v,b){if(!b&&typeof g.children=="function"?b=g.children(t):b||(b=g.children),v=$(v),v.find("ul.contextMenu.sub").detach(),b.length){var x=$(Interface.createElement("ul",{class:"contextMenu sub"}));if(s(b,x,g.searchable),(typeof g.click=="function"||g instanceof Tool)&&(!(g instanceof Action)||g.side_menu)){if(v.find("> .menu_more_button").length==0){v.addClass("hybrid_parent");let w=Interface.createElement("div",{class:"menu_more_button"},Blockbench.getIconNode("more_horiz"));v.append(w),w.addEventListener("mouseenter",E=>{a.hover(v.get(0),E,!0)}),w.addEventListener("mouseleave",E=>{v.is(":hover")&&!x.is(":hover")&&a.hover(v.get(0),E)})}}else v.addClass("parent");return v.append(x),x.children().length}return 0}function s(g,v,b){if(b){let E=256,y=Interface.createElement("input",{type:"text",placeholder:tl("generic.search"),inputmode:"search"}),A=Interface.createElement("div",{},Blockbench.getIconNode("search")),R=Interface.createElement("li",{class:"menu_search_bar"},[y,A]);v.append(R);let j=[];g.forEach(function(F,O){let L=l(F,v);L&&j.push({object:F,node:L,id:F.id,name:F.name,description:F.description})}),A.onclick=F=>{y.value="",y.oninput(F)},y.oninput=F=>{let O=y.value.toUpperCase();A.firstElementChild.replaceWith(Blockbench.getIconNode(O?"clear":"search")),j.forEach(U=>{$(U.node).detach()});let L=0;for(let U of j){if(L>E)break;(typeof U.object=="string"||U.object.always_show||U.id&&U.id.toUpperCase().includes(O)||U.name&&U.name.toUpperCase().includes(O)||U.description&&U.description.toUpperCase().includes(O))&&(v.append(U.node),L++)}},y.oninput(0),v==o&&y.focus()}else g.forEach(E=>{l(E,v)});let x=v.children();x.length&&x.last().hasClass("menu_separator")&&x.last().remove();let w=!x.toArray().find(E=>E.classList.contains("parent")||E.classList.contains("hybrid_parent"));v.toggleClass("scrollable",w)}function l(g,v){g.context&&(n=t,t=g.context);let b=t;var x;if(g==="_"?g=new jm:typeof g=="string"&&g.startsWith("#")&&(g=new jm(g.substring(1))),g instanceof jm){x=g.menu_node;var w=v.children().last();return w.length&&!w.hasClass("menu_separator")&&v[0].append(x),x}if(typeof g=="string"&&BarItems[g]&&(g=BarItems[g]),typeof g=="function"&&(g=g(b)),!(g==null||!Condition(g.condition,b))){if(g instanceof Action){if(x=g.menu_node,x.classList.remove("focused","opened"),typeof g.children=="function"||typeof g.children=="object")r(g,x);else if(g.side_menu instanceof tf){let R=typeof g.side_menu.structure=="function"?g.side_menu.structure(b):g.side_menu.structure;r(g,x,R)}else g.side_menu instanceof Dialog&&r(g,x,[{name:"menu.options",icon:"web_asset",click(){g.side_menu.show()}}]);v[0].append(x)}else if(g instanceof BarSelect){if(typeof g.icon=="function")var E=Blockbench.getIconNode(g.icon(b),g.color);else var E=Blockbench.getIconNode(g.icon,g.color);x=Interface.createElement("li",{title:g.description&&tl(g.description),menu_item:g.id},Interface.createElement("span",{},tl(g.name))),x.prepend(E);var y=[];for(var A in g.options){let j=g.options[A];j&&function(){var F=A;y.push({name:g.getNameFor(A),id:A,icon:j.icon||(g.value==F?"far.fa-dot-circle":"far.fa-circle"),condition:j.condition,click:O=>{g.set(F),g.onChange&&g.onChange(g,O)}})}()}(r({children:y},x)!==0||typeof g.click=="function")&&v[0].append(x),x.addEventListener("mouseenter",function(j){a.hover(x,j)})}else if(g instanceof NumSlider){let R=g,j={name:R.name,description:R.description,icon:"code",click(){let F={};R.settings&&(F={min:R.settings.min,max:R.settings.max,step:R.settings.step},typeof R.settings.interval=="function"&&(F.step=R.settings.interval(event))),new Dialog(R.id,{title:R.name,width:360,form:{value:{label:R.name,type:"number",value:R.get(),...F}},onConfirm(O){typeof R.onBefore=="function"&&R.onBefore(),R.change(L=>O.value),R.update(),typeof R.onAfter=="function"&&R.onAfter()}}).show()}};return l(j,v)}else if(g instanceof HTMLElement)v[0].append(g);else if(typeof g=="object"){let R;if(typeof g.icon=="function")var E=Blockbench.getIconNode(g.icon(b),g.color);else var E=Blockbench.getIconNode(g.icon,g.color);if(x=Interface.createElement("li",{title:g.description&&tl(g.description),menu_item:g.id},Interface.createElement("span",{},tl(g.name))),x.prepend(E),g.marked&&Condition(g.marked,b)&&x.classList.add("marked"),g.keybind){let j=document.createElement("label");j.classList.add("keybinding_label"),j.innerText=g.keybind||"",x.append(j)}typeof g.click=="function"&&x.addEventListener("click",j=>{j.target==x&&g.click(b,j)}),(typeof g.children=="function"||typeof g.children=="object")&&(R=r(g,x)),(R!==0||typeof g.click=="function")&&v[0].append(x),addEventListeners(x,"mouseenter mouseover",j=>{j.target.classList.contains("menu_separator")||j.target.classList.contains("contextMenu")||a.hover(x,j)})}if(a.highlight_action==g&&x){let R=x;for(;R&&R.nodeName=="LI";)R.classList.add("highlighted"),R=R.parentElement.parentElement}return g.context&&n!=t&&(t=n),x}}let c=typeof this.structure=="function"?this.structure(t):this.structure;s(c,o,this.options.searchable);let d=o.width(),u=o.height(),p=26;Blockbench.isMobile&&this instanceof BarMenu&&(p=window.innerHeight>400?106:56);let m=window.innerHeight-p;if(e&&e.clientX!==void 0)var _=e.clientX,f=e.clientY+1;else if(e==document.body)var _=(document.body.clientWidth-d)/2,f=(document.body.clientHeight-u)/2;else if(e=="mouse")var _=mouse_pos.x,f=mouse_pos.y;else{!e&&a.type==="bar_menu"?e=a.label:e&&e.parentElement.classList.contains("tool")&&(e=e.parentElement);let g=$(e).offset();var _=g.left,f=g.top+e.offsetHeight}return _>window.innerWidth-d&&(_-=d,e&&e.clientWidth&&(_+=e.clientWidth),_<0&&(_=0)),f>m-u&&(u<f-50?(f-=u,e instanceof HTMLElement&&(f-=e.clientHeight)):f=m-u),f=Math.max(f,p),o.css("left",_+"px"),o.css("top",f+"px"),u>m&&qL(o),a.node.onclick=g=>{g.target.classList.contains("parent")||g.target.parentNode&&g.target.parentNode.classList.contains("parent")||g.target.classList.contains("menu_search_bar")||g.target.parentNode&&g.target.parentNode.classList.contains("menu_search_bar")||(this.options.keep_open?(this.hide(),this.open(e,t)):this.hide())},a.type==="bar_menu"&&(MenuBar.open=a,a.label.classList.add("opened")),window.open_menu=a,tf.open=this,a}show(...e){return this.open(...e)}hide(){return this.onClose&&this.onClose(),$(this.node).find("li.highlighted").removeClass("highlighted"),this.node.remove(),window.open_menu=null,tf.open=null,this}conditionMet(){return Condition(this.condition)}addAction(e,t=""){if(!(this.structure instanceof Array))return;typeof t!="string"&&(t=t.toString());let n=t.split(".");function a(o,r){if(n.length===r||n[r]===""||!isNaN(parseInt(n[r]))||n[r][0]=="#"){let s=o.length;if(n[r]!==""&&n.length!==r)if(n[r].startsWith("#")){let l=n[r].substring(1),c=!1;s=0;for(let d of o){if(d instanceof jm){if(d.id==l)c=!0;else if(c&&d.id!=l)break}s++}}else s=parseInt(n[r]);o.splice(s,0,e)}else for(let s=0;s<o.length;s++){let l=o[s];if(l.children instanceof Array&&l.id===n[r]&&r<20){a(l.children,r+1);break}}}a(this.structure,0),e&&e.menus&&e.menus.push({menu:this,path:t})}removeAction(e){if(!(this.structure instanceof Array))return;var t=this;if(e instanceof Action){let a=e;this.structure.remove(a),this.structure.remove(a.id),a.menus.remove(this)}else this.structure.includes(e)&&this.structure.remove(e);if(e===void 0&&(e=""),typeof e=="string"&&(e=e.split(".")),!(e instanceof Array))return;function n(a,o){if(!isNaN(parseInt(e[o])))result=a[parseInt(e[o])];else if(typeof e[o]=="string")for(var r=a.length-1;r>=0;){var s=a[r];if(s.id===e[o]&&o<20)if(o===e.length-1){var l=a.splice(r,1)[0];if(l instanceof Action)for(var r=l.menus.length-1;r>=0;r--)l.menus[r].menu==t&&l.menus.splice(r,1)}else s.children&&n(s.children,o+1);r--}}n(this.structure,0)}deleteItem(e){var t=this;function n(a,o){a.forEachReverse((r,s)=>{r===e||r===e.id?a.splice(s,1):r&&r.children instanceof Array&&n(r.children)})}n(this.structure,0),e.menus.remove(t)}delete(){this.node.remove()}};W(tf,"open",null);var qc=tf;function IA(){Blockbench.addFlag("no_context_menu"),setTimeout(()=>{Blockbench.removeFlag("no_context_menu")},20)}Object.assign(window,{MenuSeparator:jm,Menu:qc,preventContextMenu:IA});var DA=i=>((i+180)%360+180)%360,cs={clamp(i,e,t){return i>t&&(i=t),(i<e||isNaN(i))&&(i=e),i},random(i,e){return i+Math.random()*(e-i)},randomInt(i,e){return i=Math.ceil(i),e=Math.floor(e),i+Math.floor(Math.random()*(e-i+1))},dieRoll(i,e,t){i=this.clamp(i,0,1e9);let n=0;for(var a=0;a<i;a++)n+=this.random(e,t);return n},dieRollInt(i,e,t){i=this.clamp(i,0,1e9);let n=0;for(var a=0;a<i;a++)n+=this.randomInt(e,t);return n},lerp(i,e,t){return i+(e-i)*t},inverseLerp(i,e,t){return(t-i)/(e-i)},lerpRotate(i,e,t){let n=DA(i),a=DA(e);n>a&&([n,a]=[a,n]);var o=a-n;return o>180?DA(a+t*(360-o)):n+t*o},minAngle(i){let e=Math.max(4,4+Math.round(i/-360))*2+1;return(i+180*e)%360-180},inRange(i,e,t){return i<=t&&i>=e?1:0},all(i,...e){return e.findIndex(t=>t!==i)===-1?1:0},any(i,...e){return e.findIndex(t=>t==i)>=0?1:0},approxEq(i,...e){return e.findIndex(t=>Math.abs(i-t)>1e-7)===-1?1:0}},Yn=class i{static linear(e){return e}static easeInSine(e){return-1*Math.cos(e*(Math.PI/2))+1}static easeOutSine(e){return Math.sin(e*(Math.PI/2))}static easeInOutSine(e){return-.5*(Math.cos(Math.PI*e)-1)}static easeInQuad(e){return e*e}static easeOutQuad(e){return e*(2-e)}static easeInOutQuad(e){return e<.5?2*e*e:-1+(4-2*e)*e}static easeInCubic(e){return e*e*e}static easeOutCubic(e){let t=e-1;return t*t*t+1}static easeInOutCubic(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1}static easeInQuart(e){return e*e*e*e}static easeOutQuart(e){let t=e-1;return 1-t*t*t*t}static easeInOutQuart(e){let t=e-1;return e<.5?8*e*e*e*e:1-8*t*t*t*t}static easeInQuint(e){return e*e*e*e*e}static easeOutQuint(e){let t=e-1;return 1+t*t*t*t*t}static easeInOutQuint(e){let t=e-1;return e<.5?16*e*e*e*e*e:1+16*t*t*t*t*t}static easeInExpo(e){return e===0?0:Math.pow(2,10*(e-1))}static easeOutExpo(e){return e===1?1:-Math.pow(2,-10*e)+1}static easeInOutExpo(e){if(e===0||e===1)return e;let t=e*2,n=t-1;return t<1?.5*Math.pow(2,10*n):.5*(-Math.pow(2,-10*n)+2)}static easeInCirc(e){let t=e/1;return-1*(Math.sqrt(1-t*e)-1)}static easeOutCirc(e){let t=e-1;return Math.sqrt(1-t*t)}static easeInOutCirc(e){let t=e*2,n=t-2;return t<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-n*n)+1)}static easeInBack(e,t=1.70158){return e*e*((t+1)*e-t)}static easeOutBack(e,t=1.70158){let n=e/1-1;return n*n*((t+1)*n+t)+1}static easeInOutBack(e,t=1.70158){let n=e*2,a=n-2,o=t*1.525;return n<1?.5*n*n*((o+1)*n-o):.5*(a*a*((o+1)*a+o)+2)}static easeInElastic(e,t=.7){if(e===0||e===1)return e;let a=e/1-1,o=1-t,r=o/(2*Math.PI)*Math.asin(1);return-(Math.pow(2,10*a)*Math.sin((a-r)*(2*Math.PI)/o))}static easeOutElastic(e,t=.7){if(e===0||e===1)return e;let n=1-t,a=e*2,o=n/(2*Math.PI)*Math.asin(1);return Math.pow(2,-10*a)*Math.sin((a-o)*(2*Math.PI)/n)+1}static easeInOutElastic(e,t=.65){if(e===0||e===1)return e;let n=1-t,a=e*2,o=a-1,r=n/(2*Math.PI)*Math.asin(1);return a<1?-.5*(Math.pow(2,10*o)*Math.sin((o-r)*(2*Math.PI)/n)):Math.pow(2,-10*o)*Math.sin((o-r)*(2*Math.PI)/n)*.5+1}static easeOutBounce(e){let t=e/1;if(t<1/2.75)return 7.5625*t*t;if(t<2/2.75){let n=t-.5454545454545454;return 7.5625*n*n+.75}else if(t<2.5/2.75){let n=t-.8181818181818182;return 7.5625*n*n+.9375}else{let n=t-.9545454545454546;return 7.5625*n*n+.984375}}static easeInBounce(e){return 1-i.easeOutBounce(1-e)}static easeInOutBounce(e){return e<.5?i.easeInBounce(e*2)*.5:i.easeOutBounce(e*2-1)*.5+.5}};function Nte(){let i=this;this.global_variables={},this.cache_enabled=!0,this.use_radians=!1,this.variables={},this.variableHandler=null;let e=!1,t=0,n={},a=0;function o(X,ne){if(n[X]=ne,a++,a>400){let Me=Object.keys(n);for(let Ue=0;Ue<10;Ue++)delete n[Me[Ue]];a-=10}}function r(X){this.lines=[];for(let ne of X){if(!ne)continue;let Me=F(ne);if(this.lines.push(Me),Me instanceof u)break}}function s(X,ne){this.iterations=F(X),this.body=F(ne)}function l(X,ne,Me,Ue){this.operator=X,this.a=F(ne),Me!==void 0&&(this.b=F(Me)),Ue!==void 0&&(this.c=F(Ue))}function c(X,ne){this.query=X,this.args=ne.map(Me=>Me.startsWith("'")&&Me.endsWith("'")?Me:F(Me))}function d(X,ne){this.value=F(ne),this.name=v(X)}function u(X){this.value=F(X)}function p(){}function m(){}let _=()=>this.use_radians?1:Math.PI/180,f=/^-?\d+(\.\d+f?)?$/;function g(X){return f.test(X)}function v(X){if(X[1]===j)switch(X[0]){case"q":return"query"+X.substring(1);case"v":return"variable"+X.substring(1);case"t":return"temp"+X.substring(1);case"c":return"context"+X.substring(1);default:return X}else return X}let b=/[&|<>=]/,x=/^(temp|variable|t|v)\.\w+=/,w="true",E="false",y="return",A="break",R="continue",j=".";function F(X){if(!X)return 0;for(X.endsWith(";")&&(X=X.substring(0,X.length-1));O(X);)X=X.substr(1,X.length-2);if(g(X))return parseFloat(X);let ne=K(X,";");if(ne)return new r(ne);if(X.startsWith(y))return new u(X.substr(6));switch(X){case w:return 1;case E:return 0;case A:return new p;case R:return new m}let Me=X.indexOf("=")!==-1,Ue=Me&&X.length>4&&X.match(x);if(Ue&&X[Ue.index+Ue[0].length]!=="="){let Ke=Ue[0].substring(0,Ue[0].length-1),z=X.substr(Ue.index+Ue[0].length);return new d(Ke,z)}let et=X.indexOf("?")!==-1,Qe=et&&L(X,"??",19);if(Qe)return Qe;let Ge=et&&re(X,"?");if(Ge){let Ke=re(Ge[1],":");return Ke&&Ke.length?new l(10,Ge[0],Ke[0],Ke[1]):new l(10,Ge[0],Ge[1],0)}if(Qe=b.test(X)&&(L(X,"&&",11)||L(X,"||",12)||Me&&L(X,"==",17)||Me&&L(X,"!=",18)||Me&&L(X,"<=",14)||L(X,"<",13)||Me&&L(X,">=",16)||L(X,">",15))||L(X,"+",1,!0)||U(X,"-",2)||L(X,"*",3)||L(X,"/",4,!0)||J(X),Qe instanceof l)return Qe;if(X.startsWith("math.")){if(X==="math.pi")return Math.PI;let Ke=X.indexOf("("),z=X.substr(5,Ke-5),C=X.substr(Ke+1,X.length-Ke-2),S=K(C,",");switch(S||(S=[C]),z){case"abs":return new l(100,S[0]);case"sin":return new l(101,S[0]);case"cos":return new l(102,S[0]);case"exp":return new l(103,S[0]);case"ln":return new l(104,S[0]);case"pow":return new l(105,S[0],S[1]);case"sqrt":return new l(106,S[0]);case"random":return new l(107,S[0],S[1]);case"ceil":return new l(108,S[0]);case"round":return new l(109,S[0]);case"trunc":return new l(110,S[0]);case"floor":return new l(111,S[0]);case"mod":return new l(112,S[0],S[1]);case"min":return new l(113,S[0],S[1]);case"max":return new l(114,S[0],S[1]);case"clamp":return new l(115,S[0],S[1],S[2]);case"lerp":return new l(116,S[0],S[1],S[2]);case"lerprotate":return new l(117,S[0],S[1],S[2]);case"asin":return new l(118,S[0]);case"acos":return new l(119,S[0]);case"atan":return new l(120,S[0]);case"atan2":return new l(121,S[0],S[1]);case"die_roll":return new l(122,S[0],S[1],S[2]);case"die_roll_integer":return new l(123,S[0],S[1],S[2]);case"hermite_blend":return new l(124,S[0]);case"random_integer":return new l(125,S[0],S[1]);case"min_angle":return new l(126,S[0]);case"sign":return new l(127,S[0]);case"copy_sign":return new l(128,S[0],S[1]);case"inverse_lerp":return new l(129,S[0],S[1],S[2]);case"ease_in_quad":return new l(200,S[0],S[1],S[2]);case"ease_out_quad":return new l(201,S[0],S[1],S[2]);case"ease_in_out_quad":return new l(202,S[0],S[1],S[2]);case"ease_in_cubic":return new l(203,S[0],S[1],S[2]);case"ease_out_cubic":return new l(204,S[0],S[1],S[2]);case"ease_in_out_cubic":return new l(205,S[0],S[1],S[2]);case"ease_in_quart":return new l(206,S[0],S[1],S[2]);case"ease_out_quart":return new l(207,S[0],S[1],S[2]);case"ease_in_out_quart":return new l(208,S[0],S[1],S[2]);case"ease_in_quint":return new l(209,S[0],S[1],S[2]);case"ease_out_quint":return new l(210,S[0],S[1],S[2]);case"ease_in_out_quint":return new l(211,S[0],S[1],S[2]);case"ease_in_sine":return new l(212,S[0],S[1],S[2]);case"ease_out_sine":return new l(213,S[0],S[1],S[2]);case"ease_in_out_sine":return new l(214,S[0],S[1],S[2]);case"ease_in_expo":return new l(215,S[0],S[1],S[2]);case"ease_out_expo":return new l(216,S[0],S[1],S[2]);case"ease_in_out_expo":return new l(217,S[0],S[1],S[2]);case"ease_in_circ":return new l(218,S[0],S[1],S[2]);case"ease_out_circ":return new l(219,S[0],S[1],S[2]);case"ease_in_out_circ":return new l(220,S[0],S[1],S[2]);case"ease_in_bounce":return new l(221,S[0],S[1],S[2]);case"ease_out_bounce":return new l(222,S[0],S[1],S[2]);case"ease_in_out_bounce":return new l(223,S[0],S[1],S[2]);case"ease_in_back":return new l(224,S[0],S[1],S[2]);case"ease_out_back":return new l(225,S[0],S[1],S[2]);case"ease_in_out_back":return new l(226,S[0],S[1],S[2]);case"ease_in_elastic":return new l(227,S[0],S[1],S[2]);case"ease_out_elastic":return new l(228,S[0],S[1],S[2]);case"ease_in_out_elastic":return new l(229,S[0],S[1],S[2])}}if(X.startsWith("loop(")){let Ke=X.substring(5,X.length-1),z=K(Ke,",");if(z)return new s(...z)}if(Ge=X.match(/[a-z0-9._]{2,}/g),Ge&&Ge.length===1&&Ge[0].length>=X.length-2)return v(X);if(X.includes("(")&&X[X.length-1]==")"){let Ke=X.search(/\(/),z=v(X.substr(0,Ke)),C=X.substr(Ke+1,X.length-Ke-2),S=K(C,",");return S||(S=[C]),new c(z,S)}return 0}function O(X){let ne=X.startsWith(ie)&&X.endsWith(te);if(ne||X.startsWith(me)&&X.endsWith(Q)){if(X.indexOf(ne?te:Q)===X.length-1)return!0;let Me=0;for(let Ue=0;Ue<X.length-1;Ue++){switch(X[Ue]){case ie:case me:Me++;break;case te:case Q:Me--;break}if(Me==0)return!1}return!0}else return!1}function L(X,ne,Me,Ue){let et=Ue?pe(X,ne):re(X,ne);if(et)return new l(Me,et[0],et[1])}function U(X,ne,Me){let Ue=pe(X,ne);if(Ue)return Ue[0].length===0?new l(Me,0,Ue[1]):new l(Me,Ue[0],Ue[1])}function J(X){if(X.startsWith("!")&&X.length>1)return new l(5,X.substr(1),0)}let ie="(",te=")",me="{",Q="}",H="-";function re(X,ne){if(X.indexOf(ne)===-1)return;let Me=0;for(let Ue=0;Ue<X.length;Ue++)switch(X[Ue]){case ie:case me:Me++;break;case te:case Q:Me--;break;default:if(Me===0&&ne[0]===X[Ue]&&(ne.length===1||ne===X.substr(Ue,ne.length)))return[X.substr(0,Ue),X.substr(Ue+ne.length)];break}}function K(X,ne){if(X.indexOf(ne)===-1)return;let Me=0,Ue,et=0;e:for(let Qe=0;Qe<X.length;Qe++)switch(X[Qe]){case ie:case me:Me++;break;case te:case Q:Me--;break;default:if(Me===0&&ne[0]===X[Qe]&&(ne.length===1||ne===X.substr(Qe,ne.length))){let Ge=X.substring(et,Qe);if(Ue||(Ue=[]),Ue.push(Ge),et=Qe+ne.length,X.substring(et).indexOf(ne)===-1)break e}}if(Ue&&Ue.length)return Ue.push(X.substring(et)),Ue}function pe(X,ne){if(X.indexOf(ne)===-1)return;let Me=X.length-1,Ue=0;for(;Me>=0;){switch(X[Me]){case ie:case me:Ue++;break;case te:case Q:Ue--;break;default:if(Ue===0&&ne[0]===X[Me]&&(ne.length===1||ne===X.substr(Me,ne.length))&&(ne!==H||"+-*/<>=|&?:".includes(X[Me-1])===!1))return[X.substr(0,Me),X.substr(Me+ne.length)];break}Me--}}function xe(X,ne,Me){return typeof X=="string"&&X[0]=="'"||(X=le(X,Me,!0)),typeof ne=="string"&&ne[0]=="'"||(ne=le(ne,Me,!0)),X===ne}function le(X,ne,Me){if(typeof X=="number")return X;if(typeof X=="string"){let Ue=ne[X];if(Ue===void 0&&typeof i.variableHandler=="function"&&(Ue=i.variableHandler(X,ne)),typeof Ue=="number")return Ue;if(typeof Ue=="string"&&!Me)return i.parse(Ue,ne)||0;if(Ue===void 0)e=!0;else if(typeof Ue=="function")return Ue()||0;return Ue||0}else if(X===void 0)return 0;switch(X.constructor){case l:switch(X.operator){case 1:return le(X.a,ne)+le(X.b,ne);case 2:return le(X.a,ne)-le(X.b,ne);case 3:return le(X.a,ne)*le(X.b,ne);case 4:return le(X.a,ne)/le(X.b,ne);case 5:return le(X.a,ne)==0?1:0;case 10:return le(X.a,ne)?le(X.b,ne):le(X.c,ne);case 11:return le(X.a,ne)&&le(X.b,ne)?1:0;case 12:return le(X.a,ne)||le(X.b,ne)?1:0;case 13:return le(X.a,ne)<le(X.b,ne)?1:0;case 14:return le(X.a,ne)<=le(X.b,ne)?1:0;case 15:return le(X.a,ne)>le(X.b,ne)?1:0;case 16:return le(X.a,ne)>=le(X.b,ne)?1:0;case 17:return xe(X.a,X.b,ne)?1:0;case 18:return xe(X.a,X.b,ne)?0:1;case 19:e=!1;let Ie=le(X.a,ne);return e?le(X.b,ne):Ie;case 100:return Math.abs(le(X.a,ne));case 101:return Math.sin(le(X.a,ne)*_());case 102:return Math.cos(le(X.a,ne)*_());case 103:return Math.exp(le(X.a,ne));case 104:return Math.log(le(X.a,ne));case 105:return le(X.a,ne)**le(X.b,ne);case 106:return Math.sqrt(le(X.a,ne));case 107:return cs.random(le(X.a,ne),le(X.b,ne));case 108:return Math.ceil(le(X.a,ne));case 109:return Math.round(le(X.a,ne));case 110:return Math.trunc(le(X.a,ne));case 111:return Math.floor(le(X.a,ne));case 112:return le(X.a,ne)%le(X.b,ne);case 113:return Math.min(le(X.a,ne),le(X.b,ne));case 114:return Math.max(le(X.a,ne),le(X.b,ne));case 115:return cs.clamp(le(X.a,ne),le(X.b,ne),le(X.c,ne));case 116:return cs.lerp(le(X.a,ne),le(X.b,ne),le(X.c,ne));case 117:return cs.lerpRotate(le(X.a,ne),le(X.b,ne),le(X.c,ne));case 118:return Math.asin(le(X.a,ne))/_();case 119:return Math.acos(le(X.a,ne))/_();case 120:return Math.atan(le(X.a,ne))/_();case 121:return Math.atan2(le(X.a,ne),le(X.b,ne))/_();case 122:return cs.dieRoll(le(X.a,ne),le(X.b,ne),le(X.c,ne));case 123:return cs.dieRollInt(le(X.a,ne),le(X.b,ne),le(X.c,ne));case 124:let Ke=le(X.a,ne);return 3*Ke**2-2*Ke**3;case 125:return cs.randomInt(le(X.a,ne),le(X.b,ne));case 126:return cs.minAngle(le(X.a,ne));case 127:return Math.sign(le(X.a,ne));case 128:return Math.abs(le(X.a,ne))*Math.sign(le(X.b,ne));case 129:return cs.inverseLerp(le(X.a,ne),le(X.b,ne),le(X.c,ne))}if(X.operator>=200){let Ie=le(X.a,ne),Ke=le(X.b,ne),z=le(X.c,ne),C=z;switch(X.operator){case 200:C=Yn.easeInQuad(z);break;case 201:C=Yn.easeOutQuad(z);break;case 202:C=Yn.easeInOutQuad(z);break;case 203:C=Yn.easeInCubic(z);break;case 204:C=Yn.easeOutCubic(z);break;case 205:C=Yn.easeInOutCubic(z);break;case 206:C=Yn.easeInQuart(z);break;case 207:C=Yn.easeOutQuart(z);break;case 208:C=Yn.easeInOutQuart(z);break;case 209:C=Yn.easeInQuint(z);break;case 210:C=Yn.easeOutQuint(z);break;case 211:C=Yn.easeInOutQuint(z);break;case 212:C=Yn.easeInSine(z);break;case 213:C=Yn.easeOutSine(z);break;case 214:C=Yn.easeInOutSine(z);break;case 215:C=Yn.easeInExpo(z);break;case 216:C=Yn.easeOutExpo(z);break;case 217:C=Yn.easeInOutExpo(z);break;case 218:C=Yn.easeInCirc(z);break;case 219:C=Yn.easeOutCirc(z);break;case 220:C=Yn.easeInOutCirc(z);break;case 221:C=Yn.easeInOutBounce(z);break;case 222:C=Yn.easeOutBounce(z);break;case 223:C=Yn.easeInOutBounce(z);break;case 224:C=Yn.easeInBack(z);break;case 225:C=Yn.easeOutBack(z);break;case 226:C=Yn.easeInOutBack(z);break;case 227:C=Yn.easeInElastic(z);break;case 228:C=Yn.easeOutElastic(z);break;case 229:C=Yn.easeInOutElastic(z);break}return cs.lerp(Ie,Ke,C)}break;case u:return t=1,le(X.value,ne);case d:return ne[X.name]=i.variables[X.name]=le(X.value,ne),0;case c:let Ue=X.args.map(Ie=>typeof Ie=="string"&&Ie.startsWith("'")&&Ie.endsWith("'")?Ie.substring(1,Ie.length-1):le(Ie,ne,!0));switch(X.query){case"query.in_range":return cs.inRange(...Ue);case"query.all":return cs.all(...Ue);case"query.any":return cs.any(...Ue);case"query.approx_eq":return cs.approxEq(...Ue)}return typeof ne[X.query]=="function"?ne[X.query](...Ue)||0:typeof i.variableHandler=="function"&&i.variableHandler(X.query,ne,Ue)||0;case r:t=0;let et=0;for(let Ie of X.lines)if(et=le(Ie,ne),t>0)break;return et;case s:let Qe=0,Ge=cs.clamp(le(X.iterations,ne),0,1024);for(let Ie=0;Ie<Ge;Ie++){let Ke=le(X.body,ne);if(t===2){t=0;break}if(t===3){t=0;continue}if(Qe=Ke,t===1)break}return Qe;case p:return t=2,0;case m:return t=3,0}return 0}function Be(X,ne){let Me={};for(let et in i.global_variables)Me[et]=i.global_variables[et];for(let et in i.variables)Me[et]=i.variables[et];if(ne)for(let et in ne)Me[et]=ne[et];let Ue=le(X,Me);return t=0,Ue}this.parse=(X,ne)=>{if(typeof X=="number")return X||0;if(typeof X!="string"||X.length===0)return 0;if(X.length<9&&g(X))return parseFloat(X);let Me=this.cache_enabled&&n[X];return Me||(Me=F(X.toLowerCase().replace(/\s/g,"")),this.cache_enabled&&o(X,Me)),Be(Me,ne)||0},this.resetVariables=()=>{i.variables={}}}var Im=Nte;var WL={keys:{preview_select:{key:1},preview_rotate:{key:2},preview_drag:{key:2,shift:!0},preview_zoom:{key:2,ctrl:!0},preview_area_select:{key:1},confirm:{key:13},cancel:{key:27},move_tool:{key:71},resize_tool:{key:83},rotate_tool:{key:82},pivot_tool:{key:80},vertex_snap_tool:{key:88},stretch_tool:null,vertex_snap_mode:null,swap_tools:{key:32},open_model_folder:null,open_backup_folder:null,reload:{key:116},rename:{key:113},delete:{key:46},duplicate:{key:68,shift:!0},find_replace:null,open_dev_tools:{key:73,ctrl:!0,shift:!0},fullscreen:{key:122},zoom_in:null,zoom_out:null,zoom_reset:null,toggle_sidebars:{key:66,ctrl:!0},action_control:{key:114},theme_window:null,import_theme:null,export_theme:null,reset_layout:null,about_window:null,edit:{key:49},paint:{key:50},display:{key:51},animate:{key:52},keybindings_window:null,load_keymap:null,import_keymap:null,export_keymap:null,settings_window:null,import_settings:null,export_settings:null,copy:{key:67,ctrl:!0},cut:{key:88,ctrl:!0},paste:{key:86,ctrl:!0},undo:{key:90,ctrl:!0},redo:{key:90,ctrl:!0,shift:!0},edit_history:null,edit_session:null,outliner_toggle:{key:115},cube_counter:null,sort_outliner:null,unlock_everything:null,element_colors:null,select_window:{key:70,ctrl:!0},invert_selection:{key:73,ctrl:!0},select_all:{key:65},hide_everything_except_selection:{key:72,ctrl:!0},add_group:{key:71,ctrl:!0},group_elements:{key:71,ctrl:!0,shift:!0},collapse_groups:null,unfold_groups:null,edit_bedrock_binding:null,add_mesh:{key:65,shift:!0},selection_mode:null,create_face:{key:70},convert_to_mesh:null,invert_face:null,extrude_mesh_selection:{key:69},extrude_spline_selection:{key:69},inset_mesh_selection:{key:73},loop_cut:{key:82,ctrl:!0},dissolve_edges:{key:88,shift:!0},merge_vertices:{key:77,shift:!0},merge_meshes:{key:77},split_mesh:null,import_obj:null,add_cube:{key:78,ctrl:!0},edit_material_instances:null,add_texture_mesh:null,add_locator:null,add_null_object:null,view_mode:{key:90,shift:!0},preview_checkerboard:null,uv_checkerboard:null,toggle_shading:{key:90},toggle_motion_trails:null,screenshot_model:{key:80,ctrl:!0},record_model_gif:null,timelapse:null,screenshot_app:null,toggle_quad_view:{key:81,ctrl:!0,alt:!0},focus_on_selection:{key:110},toggle_camera_projection:{key:101},camera_initial:{key:97},camera_top:{key:104},camera_bottom:{key:98},camera_south:{key:100},camera_north:{key:102},camera_east:{key:103},camera_west:{key:105},transform_space:null,rotation_space:null,slider_pos_x:null,slider_pos_y:null,slider_pos_z:null,slider_size_x:null,slider_size_y:null,slider_size_z:null,slider_inflate:null,slider_stretch_x:null,slider_stretch_y:null,slider_stretch_z:null,slider_rotation_x:null,slider_rotation_y:null,slider_rotation_z:null,slider_origin_x:null,slider_origin_y:null,slider_origin_z:null,scale:null,rotate_x_cw:null,rotate_x_ccw:null,rotate_y_cw:null,rotate_y_ccw:null,rotate_z_cw:null,rotate_z_ccw:null,flip_x:null,flip_y:null,flip_z:null,center_x:null,center_y:null,center_z:null,center_all:null,move_up:{key:38},move_down:{key:40},move_left:{key:37},move_right:{key:39},move_forth:{key:33},move_back:{key:34},toggle_visibility:{key:72},toggle_locked:null,toggle_export:null,toggle_autouv:null,toggle_shade:null,toggle_mirror_uv:null,update_autouv:null,origin_to_geometry:null,rescale_toggle:null,bone_reset_toggle:null,remove_blank_faces:null,import_texture:{key:84,ctrl:!0},create_texture:{key:84,ctrl:!0,shift:!0},save_textures:{key:83,alt:!0},change_textures_folder:null,animated_textures:null,animated_texture_frame:null,uv_rotation:null,uv_grid:null,uv_maximize:null,uv_turn_mapping:null,uv_auto:null,uv_rel_auto:null,uv_mirror_x:null,uv_mirror_y:null,uv_transparent:{key:88,alt:!0},uv_reset:null,uv_apply_all:null,cullface:null,auto_cullface:null,face_tint:null,slider_face_tint:null,snap_uv_to_pixels:null,toggle_uv_overlay:null,brush_tool:{key:66},fill_tool:null,eraser:{key:69,ctrl:!0},color_picker:null,draw_shape_tool:{key:85},gradient_tool:null,copy_paste_tool:{key:77},draw_shape_type:null,fill_mode:null,mirror_painting:null,color_erase_mode:null,lock_alpha:null,painting_grid:{key:71,shift:!0},pixel_grid:{key:71,shift:!0},slider_brush_size:null,slider_brush_softness:null,slider_brush_opacity:null,add_to_palette:null,import_palette:null,export_palette:null,generate_palette:null,sort_palette:null,load_palette:null,slider_color_h:null,slider_color_s:null,slider_color_v:null,pick_screen_color:null,add_display_preset:null,apply_display_preset:null,gui_light:null,slider_animation_length:null,set_animation_end:{key:35,ctrl:!0},add_animation:null,load_animation_file:null,export_animation_file:null,save_all_animations:null,ik_enabled:null,slider_ik_chain_length:null,lock_motion_trail:null,add_keyframe:{key:73},move_keyframe_back:{key:37},move_keyframe_forth:{key:39},previous_keyframe:null,next_keyframe:null,slider_keyframe_time:null,keyframe_uniform:null,keyframe_interpolation:{key:84},reset_keyframe:null,resolve_keyframe_expressions:null,change_keyframe_file:null,reverse_keyframes:null,flip_animation:null,timeline_graph_editor:{key:114,ctrl:!0},graph_editor_zero_line:null,play_animation:{key:32},slider_animation_speed:null,jump_to_timeline_start:{key:36},jump_to_timeline_end:{key:35},timeline_frame_back:{key:188},timeline_frame_forth:{key:190},bring_up_all_animations:null,fold_all_animations:null,clear_timeline:null,select_effect_animator:null,timeline_focus:null,add_marker:{key:77},plugins_window:null,reload_plugins:null,load_plugin:null,load_plugin_from_url:null,add_plugin:null,remove_plugin:null,project_window:null,close_project:null,convert_project:null,open_model:{key:79,ctrl:!0},open_from_link:null,extrude_texture:null,export_over:{key:83,ctrl:!0},upload_sketchfab:null,share_model:null,save_project:{key:83,ctrl:!0,alt:!0},save_project_as:{key:83,ctrl:!0,shift:!0,alt:!0},import_project:null,export_blockmodel:null,import_java_block_model:null,export_bedrock:null,export_entity:null,export_obj:null,export_gltf:null,export_class_entity:null,export_optifine_full:null,export_optifine_part:null,import_optifine_part:null,toggle_skin_layer:null,export_minecraft_skin:null,explode_skin_model:null}};var KL={keys:{preview_select:{key:1},preview_rotate:{key:1,alt:!0},preview_drag:{key:2,alt:!0},preview_zoom:{key:1,shift:!0},preview_area_select:{key:1},confirm:{key:13},cancel:{key:27},move_tool:{key:69},resize_tool:{key:84},rotate_tool:{key:82},pivot_tool:{key:80},vertex_snap_tool:{key:88},vertex_snap_mode:null,swap_tools:{key:32},open_model_folder:null,open_backup_folder:null,settings_window:null,keybindings_window:null,theme_window:null,reload:null,rename:{key:113},delete:{key:46},duplicate:null,open_dev_tools:{key:73,ctrl:!0,shift:!0},fullscreen:{key:122},zoom_in:{key:187},zoom_out:{key:189},zoom_reset:null,toggle_sidebars:{key:66,ctrl:!0},action_control:{key:112},import_theme:null,export_theme:null,reset_layout:null,start:null,edit:null,paint:null,display:null,animate:null,load_keymap:null,import_keymap:null,export_keymap:null,import_settings:null,export_settings:null,copy:{key:67,ctrl:!0},cut:{key:88,ctrl:!0},paste:{key:86,ctrl:!0},undo:{key:90,ctrl:!0},redo:{key:90,shift:!0},edit_history:null,edit_session:null,outliner_toggle:{key:115},cube_counter:null,sort_outliner:null,unlock_everything:null,element_colors:null,select_window:null,invert_selection:{key:73,ctrl:!0},select_all:{key:65,ctrl:!0},add_group:{key:71,shift:!0},group_elements:{key:71,ctrl:!0,shift:!0},collapse_groups:null,unfold_groups:null,edit_bedrock_binding:null,add_cube:null,edit_material_instances:null,add_locator:null,add_null_object:null,view_mode:{key:52},preview_checkerboard:null,uv_checkerboard:null,toggle_shading:null,toggle_motion_trails:null,screenshot_model:{key:80,ctrl:!0},record_model_gif:null,timelapse:null,screenshot_app:null,toggle_quad_view:{key:116},focus_on_selection:{key:70},toggle_camera_projection:{key:101},camera_initial:{key:97},camera_top:{key:104},camera_bottom:{key:98},camera_south:{key:100},camera_north:{key:102},camera_east:{key:103},camera_west:{key:105},transform_space:null,rotation_space:null,slider_pos_x:null,slider_pos_y:null,slider_pos_z:null,slider_size_x:null,slider_size_y:null,slider_size_z:null,slider_inflate:null,slider_stretch_x:null,slider_stretch_y:null,slider_stretch_z:null,slider_rotation_x:null,slider_rotation_y:null,slider_rotation_z:null,slider_origin_x:null,slider_origin_y:null,slider_origin_z:null,scale:null,rotate_x_cw:null,rotate_x_ccw:null,rotate_y_cw:null,rotate_y_ccw:null,rotate_z_cw:null,rotate_z_ccw:null,flip_x:null,flip_y:null,flip_z:null,center_x:null,center_y:null,center_z:null,center_all:null,move_up:{key:38},move_down:{key:40},move_left:{key:37},move_right:{key:39},move_forth:{key:33},move_back:{key:34},toggle_visibility:null,toggle_locked:null,toggle_export:null,toggle_autouv:null,toggle_shade:null,toggle_mirror_uv:null,update_autouv:null,origin_to_geometry:null,rescale_toggle:null,bone_reset_toggle:null,remove_blank_faces:null,import_texture:{key:84,ctrl:!0},create_texture:{key:84,ctrl:!0,shift:!0},save_textures:null,change_textures_folder:null,animated_textures:null,animated_texture_frame:null,uv_rotation:null,uv_grid:null,uv_select_all:null,uv_maximize:null,uv_turn_mapping:null,uv_auto:null,uv_rel_auto:null,uv_mirror_x:null,uv_mirror_y:null,uv_transparent:null,uv_reset:null,uv_apply_all:null,cullface:null,auto_cullface:null,face_tint:null,slider_face_tint:null,toggle_uv_overlay:null,brush_tool:{key:66},fill_tool:null,eraser:null,color_picker:null,draw_shape_tool:{key:85},gradient_tool:null,copy_paste_tool:{key:77},draw_shape_type:null,fill_mode:null,mirror_painting:null,lock_alpha:null,painting_grid:{key:71},slider_brush_size:null,slider_brush_softness:null,slider_brush_opacity:null,add_to_palette:null,import_palette:null,export_palette:null,generate_palette:null,sort_palette:null,load_palette:null,slider_color_h:null,slider_color_s:null,slider_color_v:null,pick_screen_color:null,add_display_preset:null,apply_display_preset:null,gui_light:null,slider_animation_length:null,set_animation_end:{key:35,ctrl:!0},add_animation:null,load_animation_file:null,export_animation_file:null,save_all_animations:null,ik_enabled:null,slider_ik_chain_length:null,lock_motion_trail:null,add_keyframe:{key:73},move_keyframe_back:{key:37},move_keyframe_forth:{key:39},previous_keyframe:{key:70,ctrl:!0},next_keyframe:{key:71,ctrl:!0},slider_keyframe_time:null,keyframe_interpolation:null,reset_keyframe:null,resolve_keyframe_expressions:null,change_keyframe_file:null,reverse_keyframes:null,flip_animation:null,timeline_graph_editor:{key:114},graph_editor_zero_line:null,play_animation:{key:32},slider_animation_speed:null,jump_to_timeline_start:{key:70,shift:!0},jump_to_timeline_end:{key:35},timeline_frame_back:{key:188,alt:!0},timeline_frame_forth:{key:190,alt:!0},bring_up_all_animations:null,fold_all_animations:null,clear_timeline:null,select_effect_animator:null,timeline_focus:null,add_marker:{key:77,ctrl:!0},plugins_window:null,reload_plugins:{key:74,ctrl:!0},load_plugin:null,load_plugin_from_url:null,project_window:{key:68,ctrl:!0},close_project:{key:87,ctrl:!0,shift:!0},convert_project:null,open_model:{key:79,ctrl:!0},extrude_texture:null,export_over:{key:83,ctrl:!0},upload_sketchfab:null,share_model:null,save_project:{key:83,ctrl:!0,alt:!0},save_project_as:{key:83,ctrl:!0,shift:!0,alt:!0},import_project:null,export_blockmodel:null,import_java_block_model:null,export_bedrock:null,export_entity:null,export_obj:null,export_gltf:null,export_class_entity:null,export_optifine_full:null,export_optifine_part:null,import_optifine_part:null,toggle_skin_layer:null,export_minecraft_skin:null,explode_skin_model:null}};var $L={keys:{preview_select:{key:1},preview_rotate:{key:1,alt:!0},preview_drag:{key:2,alt:!0},preview_zoom:{key:3,alt:!0},preview_area_select:{key:1},confirm:{key:13},cancel:{key:27},move_tool:{key:87},resize_tool:{key:82},rotate_tool:{key:69},pivot_tool:{key:80},vertex_snap_tool:{key:88},vertex_snap_mode:null,swap_tools:{key:32},open_model_folder:null,open_backup_folder:null,settings_window:null,keybindings_window:null,theme_window:null,reload:null,rename:{key:113},delete:{key:46},duplicate:{key:68,ctrl:!0},open_dev_tools:{key:73,ctrl:!0,shift:!0},fullscreen:{key:122},zoom_in:null,zoom_out:null,zoom_reset:null,toggle_sidebars:{key:66,ctrl:!0},action_control:{key:112},import_theme:null,export_theme:null,reset_layout:null,start:null,edit:null,paint:null,display:null,animate:null,load_keymap:null,import_keymap:null,export_keymap:null,import_settings:null,export_settings:null,copy:{key:67,ctrl:!0},cut:{key:88,ctrl:!0},paste:{key:86,ctrl:!0},undo:{key:90,ctrl:!0},redo:{key:90,shift:!0},edit_history:null,edit_session:null,outliner_toggle:{key:115},cube_counter:null,sort_outliner:null,unlock_everything:null,element_colors:null,select_window:{key:70,ctrl:!0},invert_selection:{key:73,ctrl:!0},select_all:{key:65,ctrl:!0},add_group:{key:71,ctrl:!0},group_elements:{key:71,ctrl:!0,shift:!0},collapse_groups:null,unfold_groups:null,edit_bedrock_binding:null,add_cube:null,edit_material_instances:null,add_locator:null,add_null_object:null,view_mode:{key:52},preview_checkerboard:null,uv_checkerboard:null,toggle_shading:null,toggle_motion_trails:null,screenshot_model:{key:80,ctrl:!0},record_model_gif:null,timelapse:null,screenshot_app:null,toggle_quad_view:{key:9},focus_on_selection:{key:70},toggle_camera_projection:{key:101},camera_initial:{key:97},camera_top:{key:104},camera_bottom:{key:98},camera_south:{key:100},camera_north:{key:102},camera_east:{key:103},camera_west:{key:105},transform_space:null,rotation_space:null,slider_pos_x:null,slider_pos_y:null,slider_pos_z:null,slider_size_x:null,slider_size_y:null,slider_size_z:null,slider_inflate:null,slider_stretch_x:null,slider_stretch_y:null,slider_stretch_z:null,slider_rotation_x:null,slider_rotation_y:null,slider_rotation_z:null,slider_origin_x:null,slider_origin_y:null,slider_origin_z:null,scale:null,rotate_x_cw:null,rotate_x_ccw:null,rotate_y_cw:null,rotate_y_ccw:null,rotate_z_cw:null,rotate_z_ccw:null,flip_x:null,flip_y:null,flip_z:null,center_x:null,center_y:null,center_z:null,center_all:null,move_up:{key:38},move_down:{key:40},move_left:{key:37},move_right:{key:39},move_forth:{key:33},move_back:{key:34},toggle_visibility:null,toggle_locked:null,toggle_export:null,toggle_autouv:null,toggle_shade:null,toggle_mirror_uv:null,update_autouv:null,origin_to_geometry:null,rescale_toggle:null,bone_reset_toggle:null,remove_blank_faces:null,import_texture:{key:84,ctrl:!0},create_texture:{key:84,ctrl:!0,shift:!0},save_textures:null,change_textures_folder:null,animated_textures:null,animated_texture_frame:null,uv_rotation:null,uv_grid:null,uv_select_all:null,uv_maximize:null,uv_turn_mapping:null,uv_auto:null,uv_rel_auto:null,uv_mirror_x:null,uv_mirror_y:null,uv_transparent:null,uv_reset:null,uv_apply_all:null,cullface:null,auto_cullface:null,face_tint:null,slider_face_tint:null,toggle_uv_overlay:null,brush_tool:{key:66},fill_tool:null,eraser:null,color_picker:null,draw_shape_tool:{key:85},gradient_tool:null,copy_paste_tool:{key:77},draw_shape_type:null,fill_mode:null,mirror_painting:null,lock_alpha:null,painting_grid:{key:71},slider_brush_size:null,slider_brush_softness:null,slider_brush_opacity:null,add_to_palette:null,import_palette:null,export_palette:null,generate_palette:null,sort_palette:null,load_palette:null,slider_color_h:null,slider_color_s:null,slider_color_v:null,pick_screen_color:null,add_display_preset:null,apply_display_preset:null,gui_light:null,slider_animation_length:null,set_animation_end:{key:35,ctrl:!0},add_animation:null,load_animation_file:null,export_animation_file:null,save_all_animations:null,ik_enabled:null,slider_ik_chain_length:null,lock_motion_trail:null,add_keyframe:{key:83},move_keyframe_back:{key:37},move_keyframe_forth:{key:39},previous_keyframe:{key:188},next_keyframe:{key:190},slider_keyframe_time:null,keyframe_interpolation:null,reset_keyframe:null,resolve_keyframe_expressions:null,change_keyframe_file:null,reverse_keyframes:null,flip_animation:null,timeline_graph_editor:{key:114},graph_editor_zero_line:null,play_animation:{key:32},slider_animation_speed:null,jump_to_timeline_start:{key:36},jump_to_timeline_end:{key:35},timeline_frame_back:{key:188,alt:!0},timeline_frame_forth:{key:190,alt:!0},bring_up_all_animations:null,fold_all_animations:null,clear_timeline:null,select_effect_animator:null,timeline_focus:null,add_marker:{key:77,ctrl:!0},plugins_window:null,reload_plugins:{key:74,ctrl:!0},load_plugin:null,load_plugin_from_url:null,project_window:null,close_project:null,convert_project:null,open_model:{key:79,ctrl:!0},extrude_texture:null,export_over:{key:83,ctrl:!0},upload_sketchfab:null,share_model:null,save_project:{key:83,ctrl:!0,alt:!0},save_project_as:{key:83,ctrl:!0,shift:!0,alt:!0},import_project:null,export_blockmodel:null,import_java_block_model:null,export_bedrock:null,export_entity:null,export_obj:null,export_gltf:null,export_class_entity:null,export_optifine_full:null,export_optifine_part:null,import_optifine_part:null,toggle_skin_layer:null,export_minecraft_skin:null,explode_skin_model:null}};function ip(i,e){let t=!1,n={start_event:i,event:i,delta:{x:0,y:0},distance:0},a=r=>{let s={x:r.clientX-i.clientX,y:r.clientY-i.clientY},l=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2));if(n.delta=s,n.distance=l,n.event=r,!t)if(l>(e.start_distance??6))t=!0,e.onStart&&e.onStart(n);else return;e.onMove&&e.onMove(n)},o=r=>{document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",o),n.event=r,e.onEnd&&e.onEnd(n)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",o)}var Dw=Vl(YL(),1);var bn;(p=>{function i(m,_){{let f=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,g=Interface.createElement("input",{type:"file",accept:"."+(m.extensions?m.extensions.join(",."):""),multiple:m.multiple===!0?"true":"false","@change"(v){e(this.files,m,_)}});if((f||Blockbench.isTouch)&&m.extensions&&m.extensions.length>1){let v={};m.extensions.forEach(b=>{v[b]=b}),new Dialog({id:"import_type",title:"File Type",form:{extension:{label:"File Type",type:"select",options:v}},onConfirm(b){g.setAttribute("accept","."+b.extension),$(g).trigger("click")}}).show()}else $(g).trigger("click")}}p.importFile=i;function e(m,_={},f){if(m==null)return!1;typeof m=="string"&&(m=[m]);let g=[],v=0,b=!1;{let x=0;for(let w of m){let E=new FileReader,y=x;E.onloadend=function(){let j=E.result;g[y]={name:A,path:A,content:j,browser_file:w},v++,v===m.length&&f(g)};let A=w.name;Gc(A)==="txt"&&!(_&&_.extensions instanceof Array&&_.extensions.includes("txt"))&&(A=A.replace(/\.txt$/i,""));let R=_.readtype;typeof R=="function"&&(R=R(A)),R==="image"?Gc(A)==="tga"?E.readAsArrayBuffer(w):E.readAsDataURL(w):R==="buffer"||R==="binary"?E.readAsArrayBuffer(w):E.readAsText(w),x++}}}p.readFile=e,p.read=e;function n(m={}){console.warn("Picking directories is currently not supported in the web app")}p.pickDirectory=n;function a(m,_){{let f=m.name||"file",g=Gc(f);if(m.extensions instanceof Array&&!m.extensions.includes(g)&&m.extensions[0]&&(f+="."+m.extensions[0]),m.custom_writer)m.custom_writer(m.content,f);else{let v=typeof m.savetype=="function"?m.savetype(f):m.savetype;if(v==="image"&&typeof m.content=="string")(0,Dw.default)(m.content,f,{});else if(["zip","buffer","binary","image"].includes(v)){let b=m.content instanceof Blob?m.content:new Blob([m.content],{type:"octet/stream"});(0,Dw.default)(b,f)}else{let b="text/plain;charset=utf-8";f.endsWith("json")?b="application/json;charset=utf-8":f.endsWith("bbmodel")&&(b="model/vnd.blockbench.bbmodel");let x=new Blob([m.content],{type:b});(0,Dw.default)(x,f,{autoBOM:!0})}}typeof _=="function"&&_(f)}}p.exportFile=a;function o(m,_,f){}p.writeFile=o;function r(m){null.send("show-item-in-folder",m)}p.showFileInFolder=r;function s(m,_,f){let g=[];function v(x){try{let w;return _.read_file!==!1&&(w=null.readFileSync(x,"utf-8")),f(x,_.json?autoParseJSON(w,!1):w)}catch(w){return console.error(w),!1}}let b=x=>{let w;try{w=null.readdirSync(x,{withFileTypes:!0})}catch{w=[]}for(let E of w)if(!E.isDirectory()&&(!_.filter_regex||_.filter_regex.exec(E.name))){let y=x+osfs+E.name;if(!_.priority_regex||_.priority_regex.exec(E.name)){let A=v(y);if(A)return A}else g.push(y)}if(_.recursive!==!1)for(let E of w){if(!E.isDirectory())continue;let y=b(x+osfs+E.name);if(y)return y}};for(let x of m){let w=b(x);if(w)return w}for(let x of g){let w=v(x);if(w)return w}}p.findFileFromContent=s,p.drag_handlers={};function c(m,_,f){let g={cb:f,condition:_.condition,extensions:_.extensions,delete(){p.removeDragHandler(m)}};return _.propagate&&(g.propagate=!0),_.readtype&&(g.readtype=_.readtype),_.errorbox&&(g.errorbox=!0),_.element&&(g.element=_.element),p.drag_handlers[m]=g,g}p.addDragHandler=c;function d(m){delete p.drag_handlers[m]}p.removeDragHandler=d,document.ondragover=function(m){m.preventDefault()},document.body.ondrop=function(m){m.preventDefault();let _=m.dataTransfer.getData("text/plain");_&&Blockbench.dispatchEvent("drop_text",{text:_});function f(v){let b=[];return b=[...v],b}let g=!1;if(u(m,function(v,b){let x=f(m.dataTransfer.files);if(!x.length)return;let w={extensions:(typeof v.extensions=="function",v.extensions),readtype:v.readtype,errorbox:v.errorbox};p.read(x,w,E=>{v.cb(E,m),g=!0})}),!g){let v=f(m.dataTransfer.files)[0];v&&unsupportedFileFormatMessage(v)}},document.body.ondragenter=function(m){m.preventDefault(),u(m,function(_,f){})},document.body.ondragleave=function(m){m.preventDefault(),u(m,function(_,f){})};function u(m,_){if(!(m.dataTransfer==null||m.dataTransfer.files.length==0||!m.dataTransfer.files[0].name))for(let f in p.drag_handlers){let g=p.drag_handlers[f],v;if(!Condition(g.condition))continue;if(!g.element)v=document.body;else if(typeof g.element=="function"){let E=g.element();E===!0?v=$(m.target):$(E).length&&(v=$(E).get(0))}else if($(g.element).get(0)===m.target)v=m.target;else if(typeof g.element=="string"&&$(m.target).is(g.element))v=m.target;else if(g.propagate){let E=$(g.element);E&&E.has(m.target).length&&(v=E)}let b=typeof g.extensions=="function"?g.extensions():g.extensions,w=m.dataTransfer.files[0].name.toLowerCase();if(v&&b.find(E=>w.endsWith("."+E))){_(g,v);break}}}})(bn||(bn={}));var Wte={Filesystem:bn};Object.assign(window,Wte);var $a={},Ko=class i{constructor(e,t){t||(t=e,e=t.id),this.id=e,this.name=t.name&&tl(t.name),this.label=!!t.label,this.label_node=null,this.condition=t.condition,this.children=[],this.condition_cache=[],$a[this.id]=this,this.postload=null,this.positionLookup={},this.no_wrap=!!t.no_wrap,this.vertical=!!t.vertical,this.default_children=t.children?t.children.slice():[],this.previously_enabled=!0;let n=Interface.createElement("div",{class:"tool toolbar_menu"},Interface.createElement("i",{class:"material-icons"},this.vertical?"more_horiz":"more_vert"));if(n.addEventListener("click",a=>{this.contextmenu(a)}),this.node=Interface.createElement("div",{class:"toolbar",toolbar_id:this.id},[n,Interface.createElement("div",{class:"content"})]),BarItem.prototype.addLabel(!1,{name:tl("data.toolbar"),node:n}),this.no_wrap&&!this.vertical){let a=Interface.createElement("div",{class:"tool toolbar_overflow_button",title:tl("menu.toolbar.overflow")},Blockbench.getIconNode("expand_more"));a.addEventListener("click",r=>{let s=this.node.querySelector(".content");if(!s)return;let l=[];for(let c of s.childNodes)if(c.offsetTop){let d=BarItems[c.getAttribute("toolbar_item")];if(!d)continue;l.push(d)}new Menu("toolbar_overflow",l,{class:"toolbar_overflow_menu"}).show(a)}),n.after(a);let o=()=>{if(!this.node.isConnected||i.open_overflow_popup)return;let r=this.node.querySelector(".content")?.lastElementChild?.offsetTop>12;a.style.display=r?"block":"none"};o(),new ResizeObserver(o).observe(this.node)}if(t)try{this.build(t)}catch(a){console.error(`Error building toolbar "${this.id}":`,a),delete ma.stored[this.id],this.build(t)}}build(e,t){var n=this;this.children.length=0;var a=e.children;if(!t&&ma.stored[this.id]&&typeof ma.stored[this.id]=="object"&&(a=ma.stored[this.id],e.children&&e.children.forEach((l,c)=>{if(typeof l=="string"&&l.length>1&&!a.includes(l)&&!Keybinds.stored[l]&&ma.stored._known?.includes(l)==!1&&BarItems[l]){let d=a.indexOf(e.children[c-1]);d!=-1&&(c=d+1),a.splice(c,0,l)}})),a&&a instanceof Array){var o=$(this.node).find("div.content");o.children().detach();for(var r=0;r<a.length;r++){let l=a[r];if(typeof l=="string"&&l.match(/^[_+#]/)){let c=l.substring(0,1);o.append(`<div class="toolbar_separator ${c=="_"?"border":c=="+"?"spacer":"linebreak"}"></div>`),this.children.push(c+guid().substring(0,8)),this.positionLookup[r]=c;continue}if(typeof l=="string"&&(ma.stored._known?.safePush(l),l=BarItems[l]),l)l.pushToolbar(this),this.positionLookup[r]=l;else{var s=[a[r],r];this.postload?this.postload.push(s):this.postload=[s]}}}return $(this.node).toggleClass("no_wrap",this.no_wrap),$(this.node).toggleClass("vertical",this.vertical),e.default_place&&this.toPlace(this.id),this.condition_cache.empty(),this}contextmenu(e){var t=$(this.node).find(".toolbar_menu").offset();t&&(e={clientX:t.left+7,clientY:t.top+28}),this.menu.open(e,this)}editMenu(){return ma.editing_bar=this,ma.dialog.show(),ma.dialog.content_vue.currentBar=this.children,this}add(e,t){if(e instanceof BarItem&&this.children.includes(e))return this;if(t===void 0&&(t=this.children.length),typeof e=="object"&&e.uniqueNode&&e.toolbars.length)for(var n=e.toolbars.length-1;n>=0;n--)e.toolbars[n].remove(e);return this.children.splice(t,0,e),typeof e=="object"&&e.toolbars.safePush(this),this.update().save(),this}remove(e,t=!0){for(var n=this.children.length-1;n>=0;){var a=this.children[n];if(a===e||a.id===e)return a.toolbars.remove(this),this.children.splice(n,1),t!=!1&&this.update(!0).save(),this;n--}return this}update(e){var t=this;let n=Condition(this.condition);if(n!=this.previously_enabled&&(this.node.style.display=n?"":"none",this.label_node&&(this.label_node.style.display=this.node.style.display),this.previously_enabled=n),!n&&!e)return this;if(this.postload){for(var a=0;a<this.postload.length;){var o=this.postload[a],r=BarItems[o[0]];if(r){for(var s=o[1];this.positionLookup[--s]===void 0&&s>=0;);var l=s+1;this.children.includes(r)||(r.pushToolbar(this,l),this.positionLookup[l]=r),this.postload.splice(a,1)}else a++}this.postload.length==0&&(this.postload=null)}let c=e===!0||t.condition_cache.length!==t.children.length;if(t.condition_cache.length=t.children.length,this.children.forEach(function(_,f){let g=null;typeof _=="object"&&(g=!!Condition(_.condition)),!c&&g!==t.condition_cache[f]&&(c=!0),t.condition_cache[f]=g}),!c)return this;var d=$(this.node).find(".content");d.find("> .tool").detach();var u={border:d.find("> .toolbar_separator.border").detach().toArray(),spacer:d.find("> .toolbar_separator.spacer").detach().toArray(),linebreak:d.find("> .toolbar_separator.linebreak").detach().toArray()};let p=!1;this.children.forEach(function(_,f){if(typeof _=="string"){var g=d.find("> :last-child");let v=_[0]=="_"?"border":_[0]=="+"?"spacer":"linebreak";if((g.length===0||g.hasClass("toolbar_separator")||f==t.children.length-1)&&v!=="spacer")return this;let b=u[v].shift();if(b)d.append(b);else{let x=document.createElement("div");x.className=`toolbar_separator ${v}`,d.append(x)}}else typeof _=="object"&&(t.condition_cache[f]?(d.append(_.getNode()),_.toolbars.safePush(t),p=!0):_.toolbars.remove(t))});var m=d.find("> :last-child");return m.length&&m.hasClass("toolbar_separator")&&!m.hasClass("spacer")&&m.remove(),this.label_node&&(this.label_node.style.visibility=p?"":"hidden"),this}toPlace(e){return e||(e=this.id),$("div.toolbar_wrapper."+e+" > .toolbar").detach(),$("div.toolbar_wrapper."+e).append(this.node),this}save(){var e=[];this.children.forEach(function(n){typeof n=="string"?e.push(n):e.push(n.id)}),ma.stored[this.id]=e,this.default_children.length==e.length&&this.default_children.allAre((n,a)=>e[a]==n||typeof e[a]=="string"&&e[a].startsWith(n))&&delete ma.stored[this.id];try{localStorage.setItem("toolbars",JSON.stringify(ma.stored))}catch{localStorage.removeItem("backup_model")}return this}reset(){return this.build({children:this.default_children,default_place:this.default_place},!0),this.update(),this.save(),this}};Ko.prototype.menu=new Menu([{name:"menu.toolbar.edit",icon:"edit",click:function(i){i.editMenu()}},{name:"menu.toolbar.reset",icon:"refresh",click:function(i){i.reset()}}]);var ma={stored:{_known:[]},editing_bar:void 0,action_definers:[],condition:Condition,defineActions(i){ma.action_definers.push(i)},setupActions(){new KeybindItem("preview_select",{category:"navigate",keybind:new Keybind({key:Blockbench.isTouch?0:1},{multi_select:"ctrl",group_select:"shift",loop_select:"alt"}),variations:{multi_select:{name:"keybind.preview_select.multi_select"},group_select:{name:"keybind.preview_select.group_select"},loop_select:{name:"keybind.preview_select.loop_select"}}}),new KeybindItem("preview_rotate",{category:"navigate",keybind:new Keybind({key:1})}),new KeybindItem("preview_drag",{category:"navigate",keybind:new Keybind({key:3})}),new KeybindItem("preview_zoom",{category:"navigate",keybind:new Keybind({key:1,shift:!0})}),new KeybindItem("preview_scroll_zoom",{category:"navigate",keybind:new Keybind({key:1001})}),new KeybindItem("uv_editor_scroll_zoom",{category:"navigate",keybind:new Keybind({key:1001,ctrl:!0})}),new KeybindItem("preview_area_select",{category:"navigate",keybind:new Keybind({key:1,ctrl:!0,shift:null})}),new KeybindItem("confirm",{category:"navigate",keybind:new Keybind({key:13})}),new KeybindItem("cancel",{category:"navigate",keybind:new Keybind({key:27})}),new Tool("move_tool",{icon:"icon-gizmo",category:"tools",selectFace:!0,transformerMode:"translate",animation_channel:"position",toolbar:"main_tools",transform_toolbar:"element_position",alt_tool:"resize_tool",modes:["edit","display","animate","pose"],keybind:new Keybind({key:"v"})}),new Tool("resize_tool",{icon:"open_with",category:"tools",selectFace:!0,transformerMode:"scale",animation_channel:"scale",toolbar:"main_tools",transform_toolbar:"element_size",alt_tool:"move_tool",modes:["edit","display","animate"],keybind:new Keybind({key:"s"}),onSelect(){Modes.edit&&(Mesh.selected.length?Interface.addSuggestedModifierKey("alt","modifier_actions.resize_one_side"):Interface.addSuggestedModifierKey("alt","modifier_actions.resize_both_sides"))},onUnselect(){Interface.removeSuggestedModifierKey("alt","modifier_actions.resize_one_side"),Interface.removeSuggestedModifierKey("alt","modifier_actions.resize_both_sides")}}),new Tool("rotate_tool",{icon:"sync",category:"tools",selectFace:!0,transformerMode:"rotate",animation_channel:"rotation",toolbar:"main_tools",transform_toolbar:"element_rotation",alt_tool:"pivot_tool",modes:["edit","display","animate","pose"],keybind:new Keybind({key:"r"})}),new Tool("pivot_tool",{icon:"gps_fixed",category:"tools",selectFace:!0,transformerMode:"translate",toolbar:"main_tools",transform_toolbar:"element_origin",alt_tool:"rotate_tool",modes:["edit","animate"],keybind:new Keybind({key:"p"})}),new Tool("vertex_snap_tool",{icon:"icon-vertexsnap",transformerMode:"hidden",toolbar:"vertex_snap",category:"tools",selectElements:!0,cursor:"copy",modes:["edit"],condition:{modes:["edit"]},keybind:new Keybind({key:"x"}),onCanvasClick(t){Vertexsnap.canvasClick(t)},onSelect:function(){Blockbench.addListener("update_selection",Vertexsnap.select),Vertexsnap.select()},onUnselect:function(){Vertexsnap.clearVertexGizmos(),Vertexsnap.step1=!0,Blockbench.removeListener("update_selection",Vertexsnap.select)}}),new Tool("stretch_tool",{icon:"expand",category:"tools",condition:{features:["stretch_cubes"],modes:["edit"]},selectFace:!0,transformerMode:"stretch",toolbar:"main_tools",transform_toolbar:"element_stretch",alt_tool:"resize_tool",modes:["edit"],keybind:new Keybind({key:"s",alt:!0})}),new Action("swap_tools",{icon:"swap_horiz",category:"tools",condition:{modes:["edit","paint","display"],project:!0},keybind:new Keybind({key:32}),click:function(){BarItems[Toolbox.selected.alt_tool]&&Condition(BarItems[Toolbox.selected.alt_tool].condition)&&BarItems[Toolbox.selected.alt_tool].select()}}).addSubKeybind("hold","action.swap_tools.hold",new Keybind({key:18}),()=>{}),new Action("set_element_marker_color",{name:"menu.cube.color",icon:"color_lens",condition:()=>Outliner.selected.find(t=>t.getTypeBehavior("marker_color"))||Group.selected.length,click(t){new Menu("set_element_marker_color",this.children()).open(t.target)},children(){return markerColors.map((t,n)=>({icon:"bubble_chart",color:t.standard,name:t.name||"cube.color."+t.id,click(){let a=Outliner.selected.filter(r=>r.getTypeBehavior("marker_color")),o=Group.all.filter(r=>r.selected);Undo.initEdit({elements:a,groups:o}),a.concat(o).forEach(r=>{r.setColor(n)}),Undo.finishEdit("Set marker color")}}))}}),new Action("randomize_marker_colors",{icon:"fa-shuffle",category:"edit",condition:{modes:["edit"],project:!0},click:function(){let t=function(){return Math.floor(Math.random()*markerColors.length)},n=Outliner.selected.filter(a=>a.getTypeBehavior("marker_color"));Undo.initEdit({outliner:!0,elements:n,selection:!0,groups:Group.all.filter(a=>a.selected)}),Group.all.forEach(a=>{if(a.selected){let o=a.color;do a.color=t();while(a.color===o)}}),n.forEach(a=>{let o=a.color;do a.setColor(t());while(a.color===o)}),Undo.finishEdit("Change marker color")}}),new Action("new_window",{icon:"open_in_new",category:"file",condition:!1,click:function(){null.send("new-window")}}),new Action("open_model_folder",{icon:"folder_open",category:"file",condition:()=>!1,click:function(){bn.showFileInFolder(Project.export_path||Project.save_path)}}),new Action("reload",{icon:"refresh",category:"file",condition:!1,click:function(){(Blockbench.hasFlag("dev")||confirm(tl("message.close_warning.web")))&&Blockbench.reload()}});let e=new Dialog({id:"find_replace",title:"action.find_replace",form:{target:{label:"dialog.find_replace.target",type:"select",options:{element_names:"dialog.find_replace.target.element_names",group_names:"dialog.find_replace.target.group_names",animation_names:"dialog.find_replace.target.animation_names",keyframe_values:"dialog.find_replace.target.keyframe_values"}},find:{label:"dialog.find_replace.find",type:"text"},replace:{label:"dialog.find_replace.replace",type:"text"},regex:{label:"dialog.find_replace.regex",type:"checkbox",value:!1}},onConfirm(t){if(!t.find)return;function n(a){if(t.regex){let o=new RegExp(t.find,"g");return a.replace(o,t.replace)}else return a.split(t.find).join(t.replace)}if(t.target=="element_names"){let a=Outliner.selected.length?Outliner.selected:Outliner.elements;Undo.initEdit({elements:a}),a.forEach(o=>{o.name=n(o.name),o.sanitizeName(),Condition(o.getTypeBehavior("unique_name"))&&o.createUniqueName()})}if(t.target=="group_names"){let a=Group.first_selected?Group.all.filter(o=>o.selected):Group.all;Undo.initEdit({groups:a}),a.forEach(o=>{o.name=n(o.name),o.sanitizeName(),Condition(o.getTypeBehavior("unique_name"))&&o.createUniqueName()})}if(t.target=="animation_names"){let a=Animation.all;Undo.initEdit({animations:a}),a.forEach(o=>{o.name=n(o.name),o.createUniqueName()})}if(t.target=="keyframe_values"){let a=[];if(Timeline.selected.length)a=Timeline.selected;else if(Animation.selected)for(let o in Animation.selected.animators)a.push(...Animation.selected.animators[o].keyframes);Undo.initEdit({keyframes:a}),a.forEach(o=>{o.data_points.forEach(r=>{r.x!=null&&(r.x=n(r.x.toString())),r.y!=null&&(r.y=n(r.y.toString())),r.z!=null&&(r.z=n(r.z.toString())),r.effect&&(r.effect=n(r.effect)),r.locator&&(r.locator=n(r.locator)),r.script&&(r.script=n(r.script))})})}Undo.finishEdit("Find/replace")}});new Action("find_replace",{icon:"find_replace",category:"edit",click:function(){e.show()}}),new Action("open_dev_tools",{name:"menu.help.developer.dev_tools",icon:"fas.fa-tools",condition:!1,work_in_dialog:!0,keybind:new Keybind({ctrl:!0,shift:!0,key:"i"}),click:()=>{null.toggleDevTools()}}),new Action("fullscreen",{icon:"fullscreen",category:"view",condition:!1,work_in_dialog:!0,keybind:new Keybind({key:122}),click:function(){null.setFullScreen(!null.isFullScreen())}}),new Action("zoom_in",{icon:"zoom_in",category:"view",work_in_dialog:!0,click:function(){setZoomLevel("in")}}),new Action("zoom_out",{icon:"zoom_out",category:"view",work_in_dialog:!0,click:function(){setZoomLevel("out")}}),new Action("zoom_reset",{icon:"zoom_out_map",category:"view",work_in_dialog:!0,click:function(){setZoomLevel("reset")}}),new Action("toggle_sidebars",{icon:"view_array",category:"view",condition:()=>!Blockbench.isMobile&&Mode.selected&&!Mode.selected.hide_sidebars,keybind:new Keybind({key:"b",ctrl:!0}),click:function(){let t=!Prop.show_left_bar;Prop.show_left_bar=t,Prop.show_right_bar=t,resizeWindow()}}),ma.action_definers.forEach(t=>{typeof t=="function"&&t()})},setupToolbars(){var i=localStorage.getItem("toolbars");i&&(i=JSON.parse(i),typeof i=="object"&&(ma.stored=i,ma.stored._known||(ma.stored._known=[]))),$a.tools=new Ko({id:"tools",children:["move_tool","resize_tool","rotate_tool","pivot_tool","vertex_snap_tool","stretch_tool","knife_tool","seam_tool","weight_brush","pan_tool","brush_tool","copy_brush","fill_tool","eraser","color_picker","draw_shape_tool","gradient_tool","selection_tool","move_layer_tool"],no_wrap:!0,vertical:Blockbench.isMobile==!0,default_place:!0}),$a.main_tools=new Ko({id:"main_tools",no_wrap:Blockbench.isMobile!=!0,children:["transform_space","rotation_space","transform_pivot_space","selection_mode","spline_selection_mode","spline_handle_mode","slider_spline_handle_tilt","slider_spline_handle_size","animation_controller_preview_mode","slider_animation_controller_speed","bedrock_animation_mode","load_on_bedrock_player","lock_motion_trail","extrude_mesh_selection","inset_mesh_selection","loop_cut","create_face","invert_face","_","mirror_modeling","mirror_animating"]}),$a.element_position=new Ko({id:"element_position",name:"panel.element.position",label:!0,children:["slider_pos_x","slider_pos_y","slider_pos_z"]}),$a.element_size=new Ko({id:"element_size",name:"panel.element.size",label:!0,children:["slider_size_x","slider_size_y","slider_size_z","slider_inflate"]}),$a.element_stretch=new Ko({id:"element_stretch",name:"panel.element.stretch",label:!0,condition:()=>Format.stretch_cubes,children:["slider_stretch_x","slider_stretch_y","slider_stretch_z","toggle_stretch_linked"]}),$a.element_origin=new Ko({id:"element_origin",name:"panel.element.origin",label:!0,children:["slider_origin_x","slider_origin_y","slider_origin_z","origin_to_geometry"]}),$a.element_rotation=new Ko({id:"element_rotation",name:"panel.element.rotation",label:!0,children:["slider_rotation_x","slider_rotation_y","slider_rotation_z"]}),Blockbench.isMobile&&[$a.element_position,$a.element_size,$a.element_stretch,$a.element_origin,$a.element_rotation].forEach(t=>{for(let n of $a.main_tools.children)t.children.includes(n)&&t.remove(n)}),$a.brush=new Ko({id:"brush",no_wrap:!0,children:["fill_mode","copy_brush_mode","draw_shape_type","copy_paste_tool_mode","selection_tool_operation_mode","_","slider_brush_size","slider_brush_opacity","slider_brush_softness","slider_color_select_threshold","_","brush_shape","blend_mode","mirror_painting","color_erase_mode","lock_alpha","painting_grid","image_tiled_view","image_onion_skin_view"]}),$a.vertex_snap=new Ko({id:"vertex_snap",no_wrap:!0,children:["vertex_snap_mode","selection_mode","spline_selection_mode","spline_handle_mode"]}),$a.seam_tool=new Ko({id:"seam_tool",no_wrap:!0,children:["select_seam"]}),$a.weight_brush=new Ko({id:"weight_brush",no_wrap:!0,children:["slider_weight_brush_size","slider_weight_brush_limit","weight_brush_blend_mode","weight_brush_xray","_","mirror_modeling"]}),window.Toolbox=$a.tools,Toolbox.toggleTransforms=function(){Toolbox.selected.id==="move_tool"?BarItems.resize_tool.select():Toolbox.selected.id==="resize_tool"&&BarItems.move_tool.select()},BarItems.move_tool.select()},setupVue(){let i={separators:tl("category.separators")};for(let e in BarItems){let t=BarItems[e].category;i[t]||(i[t]=tl(`category.${t}`))}ma.dialog=new Dialog({id:"toolbar_edit",title:"dialog.toolbar_edit.title",singleButton:!0,width:780,sidebar:{pages:i,page:"separators",onPageSwitch(e){ma.dialog.content_vue.open_category=e,ma.dialog.content_vue.search_term=""}},component:{data:{items:BarItems,currentBar:[],search_term:"",open_category:"separators",separators:[{icon:"fa-grip-lines-vertical",name:tl("data.separator"),type:"separator",separator_code:"_"},{icon:"space_bar",name:tl("data.separator.spacer"),type:"separator",separator_code:"+"},{icon:"fa-paragraph",name:tl("data.separator.linebreak"),type:"separator",separator_code:"#"}]},computed:{searchedBarItems(){var e=this.search_term.toLowerCase(),t=[];(this.open_category=="separators"||e)&&(e?t=this.separators.filter(o=>o.name.toLowerCase().includes(e)):t=this.separators);for(var n in BarItems){var a=BarItems[n];this.currentBar.includes(a)||(e?(a.name.toLowerCase().includes(e)||a.id.toLowerCase().includes(e))&&t.push(a):a.category==this.open_category&&t.push(a))}return t}},methods:{sort(e){var t=this.currentBar.splice(e.oldIndex,1)[0];this.currentBar.splice(e.newIndex,0,t),this.update()},drop(e){var t=this;$("#bar_items_current .tooltip").css("display",""),setTimeout(()=>{if($("#bar_items_current:hover").length===0&&!Blockbench.isTouch){var n=t.currentBar.splice(e.newIndex,1)[0];n instanceof BarItem&&n.toolbars.remove(ma.editing_bar),t.update()}},30)},choose(){$("#bar_items_current .tooltip").css("display","none")},update(){ma.editing_bar.update(!0).save()},addItem(e){e.type==="separator"&&(e=e.separator_code),ma.editing_bar.add(e)},openContextMenu(e,t){new Menu([{name:"generic.remove",icon:"clear",click:()=>{this.currentBar.remove(e),e instanceof BarItem&&e.toolbars.remove(ma.editing_bar),this.update()}}]).open(t)},getSpacerTitle(e){switch(e){case"_":return this.separators[0].name;case"+":return this.separators[1].name;case"#":return this.separators[2].name}},getIconNode:Blockbench.getIconNode,Condition,tl},template:`
<div>
<ul class="bar" id="bar_items_current" v-sortable="{onChoose: choose, onUpdate: sort, onEnd: drop, animation: 160 }">
<li v-for="item in currentBar" v-bind:title="typeof item == 'string' ? getSpacerTitle(item[0]) : item.name" :key="item.id||item" @contextmenu="openContextMenu(item, $event)">
<div v-if="typeof item === 'string'" class="toolbar_separator" :class="{border: item[0] == '_', spacer: item[0] == '+', linebreak: item[0] == '#'}"></div>
<div v-else class="tool">
<div class="tooltip">{{item.name + (Condition(item.condition) ? '' : ' (' + tl('dialog.toolbar_edit.hidden') + ')' )}}</div>
<span class="icon_wrapper" v-bind:style="{opacity: Condition(item.condition) ? 1 : 0.4}" v-html="getIconNode(item.icon, item.color).outerHTML"></span>
</div>
</li>
</ul>
<p class="small_text subtle" style="display: inline;">${tl("dialog.toolbar_edit.hidden_tools")}</p>
<search-bar v-model="search_term"></search-bar>
<ul class="list" id="bar_item_list">
<li v-for="item in searchedBarItems" v-on:click="addItem(item)" :class="{separator_item: item.type == 'separator'}">
<dynamic-icon :icon="item.icon" :color="item.color" />
<div class="icon_wrapper add"><i class="material-icons">add</i></div>
{{ item.name }}
</li>
</ul>
</div>
`}})},updateConditions(){var i=document.querySelector('input[type="text"]:focus, input[type="number"]:focus, div[contenteditable="true"]:focus');for(var e in $a)$a.hasOwnProperty(e)&&(!i||$($a[e].node).has(i).length===0)&&$a[e].update();TickUpdates.interface=!0}};Object.assign(window,{Toolbar:Ko,BARS:ma,Toolbars:$a});var XL={blender:WL,cinema4d:KL,maya:$L},nc=window.SystemInfo?.platform=="darwin"||navigator.userAgent.includes("Mac OS"),Kt={actions:[],stored:{},extra:{},structure:{},save(){localStorage.setItem("keybindings",JSON.stringify(Kt.stored))}};if(localStorage.getItem("keybindings"))try{Kt.stored=JSON.parse(localStorage.getItem("keybindings"))}catch(i){console.error(i)}var UA=class{constructor(e,t){if(this.key=-1,this.ctrl=!1,this.shift=!1,this.alt=!1,this.meta=!1,this.label="",this.conflict=!1,e&&(nc&&(e.ctrl&&!e.meta&&(e.meta=!0,e.ctrl=void 0),e.key==46&&(e.key=8)),typeof e.key=="string"&&(e.key=e.key.toUpperCase().charCodeAt(0)),this.set(e)),t){this.variations={};for(let n in t)this.variations[n]=t[n]}}set(e,t){if(!e||typeof e!="object")return this;if(this.key=typeof e.key=="number"?e.key:-1,this.ctrl!==null&&(this.ctrl=e.ctrl===null?null:e.ctrl==!0),this.shift!==null&&(this.shift=e.shift===null?null:e.shift==!0),this.alt!==null&&(this.alt=e.alt===null?null:e.alt==!0),this.meta!==null&&(this.meta=e.meta===null?null:e.meta==!0),t&&(t.ctrl==null&&(this.ctrl=null),t.shift==null&&(this.shift=null),t.alt==null&&(this.alt=null),t.meta==null&&(this.meta=null)),e.variations&&this.variations)for(let n in e.variations)this.variations[n]=e.variations[n];return this.label=this.getText(),TickUpdates.keybind_conflicts=!0,this}clear(){return this.set({key:-1,ctrl:!1,shift:!1,alt:!1,meta:!1}).save(),this}save(e){if(this.action){let t={key:this.key};if(this.ctrl&&(t.ctrl=!0),this.shift&&(t.shift=!0),this.alt&&(t.alt=!0),this.meta&&(t.meta=!0),this.variations&&Object.keys(this.variations)){t.variations={};for(let a in this.variations)t.variations[a]=this.variations[a]}let n=this.sub_id?this.action+"."+this.sub_id:this.action;Kt.stored[n]=t,e!==!1&&(Kt.save(),TickUpdates.keybind_conflicts=!0),BarItems[this.action]instanceof Action&&BarItems[this.action].updateKeybindingLabel()}return this}setAction(e,t){var n=BarItems[e];if(n||(n=Kt.extra[e]),!!n)return this.action=e,this.sub_id=t,Kt.structure[n.category]||(Kt.structure[n.category]={actions:[],id:n.category,name:tl("category."+n.category),open:!1,conflict:!1}),Kt.structure[n.category].actions.safePush(n),this}getText(e=!1){if(this.key<0)return"";var t=[];this.ctrl&&t.push(tl("keys.ctrl")),this.ctrl===null&&t.push(`[${tl("keys.ctrl")}]`),this.shift&&t.push(tl("keys.shift")),this.shift===null&&t.push(`[${tl("keys.shift")}]`),this.alt&&t.push(tl(nc?"keys.option":"keys.alt")),this.alt===null&&t.push(`[${tl(nc?"keys.option":"keys.alt")}]`),this.meta&&t.push(tl("keys.meta")),this.meta===null&&t.push(`[${tl("keys.meta")}]`);var n=this.getCode(),a=tl("keys."+n,[],capitalizeFirstLetter(n));return t.push(a),e?(t.forEach((o,r)=>{let s=r!==t.length-1?o.match(/\[\w+\]/)?"optional":"modifier":"key";t[r]=`<span class="${s}">${o}</span>`}),t.join('<span class="punctuation"> + </span>')):t.join(" + ")}getCode(e){if(e||(e=this.key),e<0)return"";if(e>=112&&e<=123)return tl("keys.function",[e-111]);if(e>=96&&e<=105)return tl("keys.numpad",[e-96]);if(e>=4&&e<=7)return tl("keys.mouse",[e]);switch(e){case 1:return"leftclick";case 2:return"middleclick";case 3:return"rightclick";case 9:return"tab";case 8:return"backspace";case 13:return"enter";case 27:return"escape";case 46:return"delete";case 20:return"caps";case 16:return"shift";case 17:return"control";case 18:return"alt";case 32:return"space";case 93:return"menu";case 37:return"left";case 38:return"up";case 39:return"right";case 40:return"down";case 33:return"pageup";case 34:return"pagedown";case 35:return"end";case 36:return"pos1";case 44:return"printscreen";case 19:return"pause";case 91:return"meta";case 1001:return"mousewheel";case 1010:return"slide_lmb_horizontal";case 1011:return"slide_lmb_vertical";case 1012:return"slide_rmb_horizontal";case 1013:return"slide_rmb_vertical";case 106:return tl("keys.numpad",["*"]);case 107:return tl("keys.numpad",["+"]);case 108:return tl("keys.numpad",["+"]);case 109:return tl("keys.numpad",["-"]);case 110:return tl("keys.numpad",[","]);case 111:return tl("keys.numpad",["/"]);case 188:return",";case 190:return".";case 189:return"-";case 191:return"/";case 219:return"[";case 221:return"]";case 186:return";";case 222:return"'";case 220:return"\\";case 187:return"=";case 226:return"\\";case 192:return"`";default:return String.fromCharCode(e).toLowerCase()}}hasKey(){return this.key>=0}setConflict(){if(!this.conflict){this.conflict=!0;var e=BarItems[this.action];e||(e=Kt.extra[this.action]),e&&Kt.structure[e.category]&&(Kt.structure[e.category].conflict=!0)}return this}isTriggered(e,t){let n=new Set;if(this.variations)for(let a in this.variations)n.add(this.variations[a].replace("unless_",""));return!(this.ctrl===(e.ctrlKey||Pressing.overrides.ctrl)||this.ctrl===null||n.has("ctrl"))||!(this.shift===(e.shiftKey||Pressing.overrides.shift)||this.shift===null||n.has("shift"))||!(this.alt===(e.altKey||Pressing.overrides.alt)||this.alt===null||n.has("alt"))||!(this.meta===e.metaKey||this.meta===null||n.has("ctrl"))?!1:this.key==e.which||this.key==1001&&e instanceof WheelEvent||this.key>=1010&&this.key<1018&&t=="pointer_slide"&&((this.key==1010||this.key==1011)&&e.which==1||(this.key==1012||this.key==1013)&&e.which==3)}additionalModifierTriggered(e,t){if(this.variations)for(let n in this.variations){if(t&&n!=t)continue;let a=this.variations[n];if(a=="always"||a=="ctrl"&&(e.ctrlOrCmd||Pressing.overrides.ctrl)||a=="shift"&&(e.shiftKey||Pressing.overrides.shift)||a=="alt"&&(e.altKey||Pressing.overrides.alt)||a=="meta"&&(e.metaKey||Pressing.overrides.meta)||a=="unless_ctrl"&&!(e.ctrlOrCmd||Pressing.overrides.ctrl)||a=="unless_shift"&&!(e.shiftKey||Pressing.overrides.shift)||a=="unless_alt"&&!(e.altKey||Pressing.overrides.alt))return t?!0:n}}record(){let e=this;Kt.recording=this;let t=Interface.createElement("button",{"@click"(){e.stopRecording()}},tl("dialog.cancel")),n=Interface.createElement("button",{"@click"(){e.clear().stopRecording()}},tl("keybindings.clear")),a=Interface.createElement("div",{id:"keybind_record_key_list",class:"keybindslot"});a.innerHTML=this.getText(!0);let o=Interface.createElement("div",{id:"overlay_message_box"},[Interface.createElement("div",{},[Interface.createElement("h3",{},[Blockbench.getIconNode("keyboard"),tl("keybindings.recording")]),Interface.createElement("p",{},tl("keybindings.press")),a,t," ",n])]);if(BarItems[this.action]instanceof NumSlider){let f=function(v,b){l(),e.key=_[b],e.ctrl=v.ctrlKey,e.shift=v.shiftKey,e.alt=v.altKey,e.meta=v.metaKey,e.label=e.getText(),e.save(!0),Blockbench.showQuickMessage(e.label),e.stopRecording()},_={slide_lmb_horizontal:1010,slide_lmb_vertical:1011,slide_rmb_horizontal:1012,slide_rmb_vertical:1013},g=Interface.createElement("div",{class:"mouse_gesture_keybind_menu"},[Interface.createElement("h3",{},"Mouse Gesture"),Interface.createElement("div",{},[Interface.createElement("label",{},"Left click"),Interface.createElement("div",{title:tl("keys.slide_lmb_horizontal"),class:"mouse_gesture_option","@click":v=>f(v,"slide_lmb_horizontal")},Blockbench.getIconNode("arrow_range")),Interface.createElement("div",{title:tl("keys.slide_lmb_vertical"),class:"mouse_gesture_option","@click":v=>f(v,"slide_lmb_vertical")},Blockbench.getIconNode("height"))]),Interface.createElement("div",{},[Interface.createElement("label",{},"Right click"),Interface.createElement("div",{title:tl("keys.slide_rmb_horizontal"),class:"mouse_gesture_option","@click":v=>f(v,"slide_rmb_horizontal")},Blockbench.getIconNode("arrow_range")),Interface.createElement("div",{title:tl("keys.slide_rmb_vertical"),class:"mouse_gesture_option","@click":v=>f(v,"slide_rmb_vertical")},Blockbench.getIconNode("height"))])]);t.parentElement.append(g)}document.getElementById("dialog_wrapper").append(o);var r=$(o),s=limitNumber(window.innerHeight/2-200,30,800);r.find("> div").css("margin-top",s+"px");function l(){document.removeEventListener("keyup",c),document.removeEventListener("keydown",u),r.off("mousedown",c),r.off("wheel",c),r.off("keydown keypress keyup click click dblclick mouseup mousewheel",p),removeEventListeners(document,"keydown mousedown",m)}function c(_){_.originalEvent&&(_=_.originalEvent),l(),!(!(_ instanceof KeyboardEvent)&&_.target&&(_.target.tagName==="BUTTON"||_.target.classList.contains("mouse_gesture_option")))&&(_ instanceof WheelEvent?e.key=1001:e.key=_.which,e.ctrl!==null&&(e.ctrl=_.ctrlKey),e.shift!==null&&(e.shift=_.shiftKey),e.alt!==null&&(e.alt=_.altKey),e.meta!==null&&(e.meta=_.metaKey),e.label=e.getText(),e.save(!0),Blockbench.showQuickMessage(e.label),e.stopRecording())}let d=["Alt","Shift","Control","Meta"];function u(_){_.metaKey&&!d.includes(_.key)&&c(_)}function p(_){_.preventDefault()}function m(_){let f=[];_.ctrlKey&&f.push(tl("keys.ctrl")),_.shiftKey&&f.push(tl("keys.shift")),_.altKey&&f.push(tl(nc?"keys.option":"keys.alt")),_.metaKey&&f.push(tl("keys.meta")),f.forEach((g,v)=>{let b=v!==f.length-1?g.match(/\[\w+\]/)?"optional":"modifier":"key";f[v]=`<span class="${b}">${g}</span>`}),a.innerHTML=f.join('<span class="punctuation"> + </span>')}return addEventListeners(document,"keydown mousedown",m),document.addEventListener("keyup",c),document.addEventListener("keydown",u),r.on("mousedown",c),r.on("wheel",c),r.on("keydown keypress keyup click click dblclick mouseup mousewheel",p),this}stopRecording(){return Kt.recording=!1,document.getElementById("overlay_message_box")?.remove(),this}toString(){return this.label}};Kt.loadKeymap=function(i,e=!1){let t=e&&(i=="default"||i=="mouse");if(!(t||confirm(tl("message.load_keymap"))))return;let a=XL[i]||{keys:{}};if(!t){let o=function(r,s,l){r?r===null?s.clear():r&&(typeof r.key=="string"&&(r.key=r.key.toUpperCase().charCodeAt(0)),s.set(r).save(!1)):l?s.set(l):s.clear(),s.save(!1)};Kt.actions.forEach(r=>{if(r.keybind&&(o(a.keys[r.id],r.keybind,r.default_keybind),r.sub_keybinds))for(let s in r.sub_keybinds)o(a.keys[r.id+"."+s],r.sub_keybinds[s].keybind,r.sub_keybinds[s].default_keybind)})}return i=="mouse"&&(Kt.extra.preview_rotate.keybind.set({key:2}).save(!1),Kt.extra.preview_drag.keybind.set({key:2,shift:!0}).save(!1),Kt.extra.preview_zoom.keybind.set({key:2,ctrl:!0}).save(!1),Kt.extra.preview_area_select.keybind.set({key:1}).save(!1),Kt.extra.paint_secondary_color.keybind.set({key:3}).save(!1)),Kt.save(),TickUpdates.keybind_conflicts=!0,Blockbench.showQuickMessage("message.keymap_loaded",1600),!0};Kt.no_overlap=function(i,e){return Condition.mutuallyExclusive(i.condition,e.condition)};var Kte=[1,2,3,1001];function $te(){for(var i in Kt.structure)Kt.structure[i].conflict=!1;if(Kt.actions.forEach((e,t)=>{e.keybind.conflict=!1}),Kt.actions.forEach((e,t)=>{var n=e.keybind;if(n.hasKey())for(;t<Kt.actions.length-1;){t++;var a=Kt.actions[t].keybind;a.hasKey()&&n.key===a.key&&n.ctrl===a.ctrl&&n.shift===a.shift&&n.alt===a.alt&&n.meta===a.meta&&Kte.includes(n.key)==!1&&!Kt.no_overlap(e,Kt.actions[t])&&(n.setConflict(),a.setConflict())}}),Kt.dialog&&Kt.dialog.sidebar.node){let e=Kt.dialog.sidebar.node;for(var i in Kt.structure)Kt.dialog.sidebar.pages[i]&&e.querySelector(`.dialog_sidebar_pages li[page="${i}"]`).classList.toggle("error",Kt.structure[i].conflict)}}function JL(i){let e=BarItems.swap_tools.sub_keybinds.hold.keybind;if(e.key==18||e.alt)return i?i.altKey:Pressing.alt;if(e.key==17||e.ctrl)return i?i.ctrlKey:Pressing.ctrl;if(e.key==16||e.shift)return i?i.shiftKey:Pressing.shift}function ZL(i){let e=BarItems.swap_tools.sub_keybinds.hold.keybind;if(i==e.key)return!0;if(e.alt)return i==18;if(e.ctrl)return i==17;if(e.shift)return i==16}window.addEventListener("blur",i=>{JL()&&Toolbox.original&&Toolbox.original.alt_tool&&(Toolbox.original.select(),delete Toolbox.original);let e=Pressing.shift||Pressing.alt||Pressing.ctrl,t=e&&{shift:Pressing.shift,alt:Pressing.alt,ctrl:Pressing.ctrl};Pressing.shift=!1,Pressing.alt=!1,Pressing.ctrl=!1,e&&Blockbench.dispatchEvent("update_pressed_modifier_keys",{before:t,now:Pressing,event:i})});window.addEventListener("focus",i=>{function e(a){if(JL(a)&&Toolbox.selected.alt_tool&&!Toolbox.original&&!open_interface){var o=Toolbox.selected,r=BarItems[Toolbox.selected.alt_tool];r&&Condition(r)&&(Modes.paint||BarItems.swap_tools.keybind.key==18)&&(r.select(),Toolbox.original=o)}n()}let t=!1;function n(){t||(t=!0,removeEventListeners(window,"keydown mousedown",e,!0))}addEventListeners(window,"keydown mousedown",e,!0),setTimeout(n,100)});function Ib(){let i=document.activeElement;if(i.nodeName=="TEXTAREA"||i.nodeName=="INPUT"&&["number","text"].includes(i.type)||i.isContentEditable)return i}addEventListeners(document,"keydown mousedown",function(i){if(Kt.recording||i.which<4)return;let e=Pressing.shift!=i.shiftKey||Pressing.alt!=i.altKey||Pressing.ctrl!=i.ctrlKey,t=e&&{shift:Pressing.shift,alt:Pressing.alt,ctrl:Pressing.ctrl};Pressing.shift=i.shiftKey,Pressing.alt=i.altKey,Pressing.ctrl=i.ctrlKey,e&&Blockbench.dispatchEvent("update_pressed_modifier_keys",{before:t,now:Pressing,event:i}),i.which===16&&showShiftTooltip();let n=!1,a,o=Ib();if((i.code=="PageUp"||i.code=="PageDown")&&i.preventDefault(),o){if(i.which==9&&!Dialog.open&&!document.querySelector(".capture_tab_key:focus-within")){let _=[];var r=document.querySelectorAll('.tab_target:not(.prism-editor-component), .prism-editor-component.tab_target > .prism-editor-wrapper > pre[contenteditable="true"]');r.forEach(f=>{f.isConnected&&f.offsetParent&&$(f).is(":visible")&&_.push(f)});var s=_.indexOf(o)+(i.shiftKey?-1:1);s>=_.length&&(s=0),s<0&&(s=_.length-1);var l=$(_[s]);if(l.length){if(stopRenameOutliner(),l.hasClass("cube_name")){let f=l.parent().parent().attr("id");var c=OutlinerNode.uuids[f];c&&setTimeout(()=>{c.select({},!0).rename()},50)}else if(l.hasClass("nslide")){let f=l.attr("n-action"),g=BarItems[f]||UVEditor.sliders[f.replace("uv_slider_","")];g&&setTimeout(()=>g.startInput(i),50)}else event.preventDefault(),l.trigger("focus").trigger("click"),document.execCommand("selectAll");return}}if(Blockbench.hasFlag("renaming")){if(Kt.extra.confirm.keybind.isTriggered(i)){stopRenameOutliner();return}else if(Kt.extra.cancel.keybind.isTriggered(i)){stopRenameOutliner(!1);return}}if($("input#chat_input:focus").length&&Project.EditSession&&Kt.extra.confirm.keybind.isTriggered(i)){Interface.Panels.chat.inside_vue.sendMessage();return}if((Kt.extra.confirm.keybind.isTriggered(i)||Kt.extra.cancel.keybind.isTriggered(i))&&$(document).trigger("click"),a=!i.ctrlKey&&!i.metaKey,("zyxcva".includes(i.key)||i.keyCode>=37&&i.keyCode<=40)&&(a=!0),$("pre.prism-editor__code:focus").length&&a)return}let d=!1,u=Blockbench.dispatchEvent("press_key",{input_in_focus:o,event:i,capture(){d=!0}});if(u instanceof Array&&u.includes(!0)&&(n=!0),d){i.preventDefault();return}if(ZL(i.which)&&Toolbox.selected.alt_tool&&!Toolbox.original&&!open_interface){var p=Toolbox.selected,m=BarItems[Toolbox.selected.alt_tool];m&&Condition(m)&&(Modes.paint||BarItems.swap_tools.keybind.key==18)&&(i.preventDefault(),m.select(),Toolbox.original=p)}else Kt.extra.cancel.keybind.isTriggered(i)&&$i.active==$i.types.gizmo_transform?(Transformer.cancelMovement(i,!1),updateSelection()):KnifeToolContext.current&&(Kt.extra.cancel.keybind.isTriggered(i)?KnifeToolContext.current.cancel():Kt.extra.confirm.keybind.isTriggered(i)&&KnifeToolContext.current.apply());if((!o||!a)&&(Kt.actions.forEach(function(_){if((!Dialog.open||_.work_in_dialog)&&(_.keybind&&typeof _.trigger=="function"&&_.keybind.isTriggered(i)&&_.trigger(i)&&(n=!0),_.sub_keybinds&&Condition(_.condition)))for(let f in _.sub_keybinds){let g=_.sub_keybinds[f];if(g.keybind.isTriggered(i)){let v=_.value;if(g.trigger(i),n=!0,_ instanceof BarSelect&&v!=_.value)break}}}),!n&&!Dialog.open)){for(let _ of Tool.all)if(_.keybind&&typeof _.trigger=="function"&&_.keybind.isTriggered(i)&&_.switchModeAndSelect(i))break}if(open_menu)n=open_menu.keyNavigate(i)||n;else if(Dialog.open){let _=Dialog.open;for(let f in _.keyboard_actions||{}){let g=_.keyboard_actions[f];Condition(g.condition,_)&&g.keybind.isTriggered(i)&&g.run.call(_,i)}$("textarea:focus").length===0&&(Kt.extra.confirm.keybind.isTriggered(i)?(o&&o.blur(),Dialog.open.confirm(i),n=!0):Kt.extra.cancel.keybind.isTriggered(i)&&(Dialog.open.cancel(i),n=!0))}else if(open_interface&&typeof open_interface=="object"&&open_interface.hide)Kt.extra.confirm.keybind.isTriggered(i)?(open_interface.confirm(i),n=!0):Kt.extra.cancel.keybind.isTriggered(i)&&(open_interface.hide(i),n=!0);else if(ReferenceImageMode.active)(Kt.extra.confirm.keybind.isTriggered(i)||Kt.extra.cancel.keybind.isTriggered(i))&&(ReferenceImageMode.deactivate(),n=!0);else if(Project&&Undo.amend_edit_menu&&!o&&(Kt.extra.confirm.keybind.isTriggered(i)||Kt.extra.cancel.keybind.isTriggered(i)))Undo.closeAmendEditMenu();else if(UVEditor.vue.texture_selection_polygon.length&&Kt.extra.cancel.keybind.isTriggered(i))UVEditor.vue.texture_selection_polygon.empty();else if(Prop.active_panel=="uv"&&Modes.paint&&Texture.selected&&Texture.selected.selection.is_custom)Kt.extra.cancel.keybind.isTriggered(i)&&(SharedActions.run("unselect_all",i),n=!0);else if(Toolbox.selected.id=="copy_paste_tool"&&UVEditor.texture&&Painter.selection.canvas&&i.which>=37&&i.which<=40){switch(i.which){case 37:Painter.selection.x-=1;break;case 38:Painter.selection.y-=1;break;case 39:Painter.selection.x+=1;break;case 40:Painter.selection.y+=1;break}Painter.selection.x=Math.clamp(Painter.selection.x,1-Painter.selection.canvas.width,UVEditor.texture.width-1),Painter.selection.y=Math.clamp(Painter.selection.y,1-Painter.selection.canvas.height,UVEditor.texture.height-1),UVEditor.updatePastingOverlay(),i.preventDefault()}else Modes.paint&&TextureLayer.selected&&TextureLayer.selected.in_limbo&&Kt.extra.confirm.keybind.isTriggered(i)&&(TextureLayer.selected.resolveLimbo(!1),n=!0);ActionControl.open&&(n=ActionControl.handleKeys(i)||n),n&&i.preventDefault()});document.addEventListener("wheel",i=>{if(Ib())return;let e=!1;Kt.actions.forEach(function(t){t.keybind&&(!Dialog.open||t.work_in_dialog)&&typeof t.trigger=="function"&&t.keybind.isTriggered(i)&&t.trigger(i)&&(e=!0)}),e&&i.stopPropagation()},!0);$(document).keyup(function(i){Pressing.alt&&ActionControl.open&&ActionControl.vue.$forceUpdate(),i.which==18&&i.preventDefault(),ZL(i.which)&&Toolbox.original&&Toolbox.original.alt_tool&&(Toolbox.original.select(),delete Toolbox.original);let e=Pressing.shift||Pressing.alt||Pressing.ctrl,t=e&&{shift:Pressing.shift,alt:Pressing.alt,ctrl:Pressing.ctrl};Pressing.shift=i.shiftKey,Pressing.alt=i.altKey,Pressing.ctrl=i.ctrlKey,e&&Blockbench.dispatchEvent("update_pressed_modifier_keys",{before:t,now:Pressing,event:i})});document.addEventListener("pointerdown",i=>{let e=Kt.actions.filter(t=>!(t instanceof NumSlider)||!Condition(t.condition)?!1:t.keybind.isTriggered(i,"pointer_slide"));if(e.length){if(!$i.requestTarget($i.types.global_drag_slider))return;ip(i,{onStart(n){for(let a of e)typeof a.onBefore=="function"&&a.onBefore(),a.sliding=!0,a.pre=0,a.sliding_start_pos=0},onMove(n){for(let a of e){let o=a.keybind.key==1010||a.keybind.key==1012,r=o?n.delta.x:n.delta.y,s=(o?2.4:2.6)*(a.settings?.gesture_speed??1);a.slide(r*s,i)}},onEnd(n){Blockbench.setStatusBarText(),n.distance>1&&IA();for(let a of e)delete a.sliding,typeof a.onAfter=="function"&&a.onAfter(a.value-a.last_value)}})}},{capture:!0});Object.assign(window,{Keybind:UA,KeymapPresets:XL,updateKeybindConflicts:$te,getFocusedTextInput:Ib});function Vw(i){"@babel/helpers - typeof";return Vw=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vw(i)}var Yte=/^\s+/,Xte=/\s+$/;function ci(i,e){if(i=i||"",e=e||{},i instanceof ci)return i;if(!(this instanceof ci))return new ci(i,e);var t=Jte(i);this._originalInput=i,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||t.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=t.ok}ci.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},getLuminance:function(){var e=this.toRgb(),t,n,a,o,r,s;return t=e.r/255,n=e.g/255,a=e.b/255,t<=.03928?o=t/12.92:o=Math.pow((t+.055)/1.055,2.4),n<=.03928?r=n/12.92:r=Math.pow((n+.055)/1.055,2.4),a<=.03928?s=a/12.92:s=Math.pow((a+.055)/1.055,2.4),.2126*o+.7152*r+.0722*s},setAlpha:function(e){return this._a=o4(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=e4(this._r,this._g,this._b);return{h:e.h*360,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=e4(this._r,this._g,this._b),t=Math.round(e.h*360),n=Math.round(e.s*100),a=Math.round(e.v*100);return this._a==1?"hsv("+t+", "+n+"%, "+a+"%)":"hsva("+t+", "+n+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var e=QL(this._r,this._g,this._b);return{h:e.h*360,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=QL(this._r,this._g,this._b),t=Math.round(e.h*360),n=Math.round(e.s*100),a=Math.round(e.l*100);return this._a==1?"hsl("+t+", "+n+"%, "+a+"%)":"hsla("+t+", "+n+"%, "+a+"%, "+this._roundA+")"},toHex:function(e){return t4(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return tie(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(Ya(this._r,255)*100)+"%",g:Math.round(Ya(this._g,255)*100)+"%",b:Math.round(Ya(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(Ya(this._r,255)*100)+"%, "+Math.round(Ya(this._g,255)*100)+"%, "+Math.round(Ya(this._b,255)*100)+"%)":"rgba("+Math.round(Ya(this._r,255)*100)+"%, "+Math.round(Ya(this._g,255)*100)+"%, "+Math.round(Ya(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:mie[t4(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var t="#"+i4(this._r,this._g,this._b,this._a),n=t,a=this._gradientType?"GradientType = 1, ":"";if(e){var o=ci(e);n="#"+i4(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+t+",endColorstr="+n+")"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,a=this._a<1&&this._a>=0,o=!t&&a&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return o?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(n=this.toRgbString()),e==="prgb"&&(n=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(n=this.toHexString()),e==="hex3"&&(n=this.toHexString(!0)),e==="hex4"&&(n=this.toHex8String(!0)),e==="hex8"&&(n=this.toHex8String()),e==="name"&&(n=this.toName()),e==="hsl"&&(n=this.toHslString()),e==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return ci(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(oie,arguments)},brighten:function(){return this._applyModification(rie,arguments)},darken:function(){return this._applyModification(sie,arguments)},desaturate:function(){return this._applyModification(iie,arguments)},saturate:function(){return this._applyModification(nie,arguments)},greyscale:function(){return this._applyModification(aie,arguments)},spin:function(){return this._applyModification(lie,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(uie,arguments)},complement:function(){return this._applyCombination(cie,arguments)},monochromatic:function(){return this._applyCombination(pie,arguments)},splitcomplement:function(){return this._applyCombination(die,arguments)},triad:function(){return this._applyCombination(n4,[3])},tetrad:function(){return this._applyCombination(n4,[4])}};ci.fromRatio=function(i,e){if(Vw(i)=="object"){var t={};for(var n in i)i.hasOwnProperty(n)&&(n==="a"?t[n]=i[n]:t[n]=Db(i[n]));i=t}return ci(i,e)};function Jte(i){var e={r:0,g:0,b:0},t=1,n=null,a=null,o=null,r=!1,s=!1;return typeof i=="string"&&(i=gie(i)),Vw(i)=="object"&&(Hd(i.r)&&Hd(i.g)&&Hd(i.b)?(e=Zte(i.r,i.g,i.b),r=!0,s=String(i.r).substr(-1)==="%"?"prgb":"rgb"):Hd(i.h)&&Hd(i.s)&&Hd(i.v)?(n=Db(i.s),a=Db(i.v),e=eie(i.h,n,a),r=!0,s="hsv"):Hd(i.h)&&Hd(i.s)&&Hd(i.l)&&(n=Db(i.s),o=Db(i.l),e=Qte(i.h,n,o),r=!0,s="hsl"),i.hasOwnProperty("a")&&(t=i.a)),t=o4(t),{ok:r,format:i.format||s,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}function Zte(i,e,t){return{r:Ya(i,255)*255,g:Ya(e,255)*255,b:Ya(t,255)*255}}function QL(i,e,t){i=Ya(i,255),e=Ya(e,255),t=Ya(t,255);var n=Math.max(i,e,t),a=Math.min(i,e,t),o,r,s=(n+a)/2;if(n==a)o=r=0;else{var l=n-a;switch(r=s>.5?l/(2-n-a):l/(n+a),n){case i:o=(e-t)/l+(e<t?6:0);break;case e:o=(t-i)/l+2;break;case t:o=(i-e)/l+4;break}o/=6}return{h:o,s:r,l:s}}function Qte(i,e,t){var n,a,o;i=Ya(i,360),e=Ya(e,100),t=Ya(t,100);function r(c,d,u){return u<0&&(u+=1),u>1&&(u-=1),u<1/6?c+(d-c)*6*u:u<1/2?d:u<2/3?c+(d-c)*(2/3-u)*6:c}if(e===0)n=a=o=t;else{var s=t<.5?t*(1+e):t+e-t*e,l=2*t-s;n=r(l,s,i+1/3),a=r(l,s,i),o=r(l,s,i-1/3)}return{r:n*255,g:a*255,b:o*255}}function e4(i,e,t){i=Ya(i,255),e=Ya(e,255),t=Ya(t,255);var n=Math.max(i,e,t),a=Math.min(i,e,t),o,r,s=n,l=n-a;if(r=n===0?0:l/n,n==a)o=0;else{switch(n){case i:o=(e-t)/l+(e<t?6:0);break;case e:o=(t-i)/l+2;break;case t:o=(i-e)/l+4;break}o/=6}return{h:o,s:r,v:s}}function eie(i,e,t){i=Ya(i,360)*6,e=Ya(e,100),t=Ya(t,100);var n=Math.floor(i),a=i-n,o=t*(1-e),r=t*(1-a*e),s=t*(1-(1-a)*e),l=n%6,c=[t,r,o,o,s,t][l],d=[s,t,t,r,o,o][l],u=[o,o,s,t,t,r][l];return{r:c*255,g:d*255,b:u*255}}function t4(i,e,t,n){var a=[oc(Math.round(i).toString(16)),oc(Math.round(e).toString(16)),oc(Math.round(t).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function tie(i,e,t,n,a){var o=[oc(Math.round(i).toString(16)),oc(Math.round(e).toString(16)),oc(Math.round(t).toString(16)),oc(r4(n))];return a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}function i4(i,e,t,n){var a=[oc(r4(n)),oc(Math.round(i).toString(16)),oc(Math.round(e).toString(16)),oc(Math.round(t).toString(16))];return a.join("")}ci.equals=function(i,e){return!i||!e?!1:ci(i).toRgbString()==ci(e).toRgbString()};ci.random=function(){return ci.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function iie(i,e){e=e===0?0:e||10;var t=ci(i).toHsl();return t.s-=e/100,t.s=Fw(t.s),ci(t)}function nie(i,e){e=e===0?0:e||10;var t=ci(i).toHsl();return t.s+=e/100,t.s=Fw(t.s),ci(t)}function aie(i){return ci(i).desaturate(100)}function oie(i,e){e=e===0?0:e||10;var t=ci(i).toHsl();return t.l+=e/100,t.l=Fw(t.l),ci(t)}function rie(i,e){e=e===0?0:e||10;var t=ci(i).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(e/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(e/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(e/100)))),ci(t)}function sie(i,e){e=e===0?0:e||10;var t=ci(i).toHsl();return t.l-=e/100,t.l=Fw(t.l),ci(t)}function lie(i,e){var t=ci(i).toHsl(),n=(t.h+e)%360;return t.h=n<0?360+n:n,ci(t)}function cie(i){var e=ci(i).toHsl();return e.h=(e.h+180)%360,ci(e)}function n4(i,e){if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");for(var t=ci(i).toHsl(),n=[ci(i)],a=360/e,o=1;o<e;o++)n.push(ci({h:(t.h+o*a)%360,s:t.s,l:t.l}));return n}function die(i){var e=ci(i).toHsl(),t=e.h;return[ci(i),ci({h:(t+72)%360,s:e.s,l:e.l}),ci({h:(t+216)%360,s:e.s,l:e.l})]}function uie(i,e,t){e=e||6,t=t||30;var n=ci(i).toHsl(),a=360/t,o=[ci(i)];for(n.h=(n.h-(a*e>>1)+720)%360;--e;)n.h=(n.h+a)%360,o.push(ci(n));return o}function pie(i,e){e=e||6;for(var t=ci(i).toHsv(),n=t.h,a=t.s,o=t.v,r=[],s=1/e;e--;)r.push(ci({h:n,s:a,v:o})),o=(o+s)%1;return r}ci.mix=function(i,e,t){t=t===0?0:t||50;var n=ci(i).toRgb(),a=ci(e).toRgb(),o=t/100,r={r:(a.r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b,a:(a.a-n.a)*o+n.a};return ci(r)};ci.readability=function(i,e){var t=ci(i),n=ci(e);return(Math.max(t.getLuminance(),n.getLuminance())+.05)/(Math.min(t.getLuminance(),n.getLuminance())+.05)};ci.isReadable=function(i,e,t){var n=ci.readability(i,e),a,o;switch(o=!1,a=vie(t),a.level+a.size){case"AAsmall":case"AAAlarge":o=n>=4.5;break;case"AAlarge":o=n>=3;break;case"AAAsmall":o=n>=7;break}return o};ci.mostReadable=function(i,e,t){var n=null,a=0,o,r,s,l;t=t||{},r=t.includeFallbackColors,s=t.level,l=t.size;for(var c=0;c<e.length;c++)o=ci.readability(i,e[c]),o>a&&(a=o,n=ci(e[c]));return ci.isReadable(i,n,{level:s,size:l})||!r?n:(t.includeFallbackColors=!1,ci.mostReadable(i,["#fff","#000"],t))};var OA=ci.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},mie=ci.hexNames=_ie(OA);function _ie(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function o4(i){return i=parseFloat(i),(isNaN(i)||i<0||i>1)&&(i=1),i}function Ya(i,e){hie(i)&&(i="100%");var t=fie(i);return i=Math.min(e,Math.max(0,parseFloat(i))),t&&(i=parseInt(i*e,10)/100),Math.abs(i-e)<1e-6?1:i%e/parseFloat(e)}function Fw(i){return Math.min(1,Math.max(0,i))}function el(i){return parseInt(i,16)}function hie(i){return typeof i=="string"&&i.indexOf(".")!=-1&&parseFloat(i)===1}function fie(i){return typeof i=="string"&&i.indexOf("%")!=-1}function oc(i){return i.length==1?"0"+i:""+i}function Db(i){return i<=1&&(i=i*100+"%"),i}function r4(i){return Math.round(parseFloat(i)*255).toString(16)}function a4(i){return el(i)/255}var ac=function(){var i="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",t="(?:"+e+")|(?:"+i+")",n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",a="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Hd(i){return!!ac.CSS_UNIT.exec(i)}function gie(i){i=i.replace(Yte,"").replace(Xte,"").toLowerCase();var e=!1;if(OA[i])i=OA[i],e=!0;else if(i=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=ac.rgb.exec(i))?{r:t[1],g:t[2],b:t[3]}:(t=ac.rgba.exec(i))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=ac.hsl.exec(i))?{h:t[1],s:t[2],l:t[3]}:(t=ac.hsla.exec(i))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=ac.hsv.exec(i))?{h:t[1],s:t[2],v:t[3]}:(t=ac.hsva.exec(i))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=ac.hex8.exec(i))?{r:el(t[1]),g:el(t[2]),b:el(t[3]),a:a4(t[4]),format:e?"name":"hex8"}:(t=ac.hex6.exec(i))?{r:el(t[1]),g:el(t[2]),b:el(t[3]),format:e?"name":"hex"}:(t=ac.hex4.exec(i))?{r:el(t[1]+""+t[1]),g:el(t[2]+""+t[2]),b:el(t[3]+""+t[3]),a:a4(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=ac.hex3.exec(i))?{r:el(t[1]+""+t[1]),g:el(t[2]+""+t[2]),b:el(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function vie(i){var e,t;return i=i||{level:"AA",size:"small"},e=(i.level||"AA").toUpperCase(),t=(i.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),t!=="small"&&t!=="large"&&(t="small"),{level:e,size:t}}var nf={},Vb=class Vb extends EventSystem{constructor(t,n){super();W(this,"id");W(this,"name");W(this,"description");W(this,"icon");W(this,"category");W(this,"color");W(this,"condition");W(this,"type");W(this,"node");W(this,"nodes");W(this,"uniqueNode");W(this,"toolbars");W(this,"keybind");W(this,"default_keybind");W(this,"plugin");W(this,"uses");W(this,"work_in_dialog");W(this,"variations");W(this,"sub_keybinds");Vb.constructing=this,this.id=t,n.private||(this.id&&!nf[this.id]?nf[this.id]=this:nf[this.id]?console.warn(`${this.constructor.name} ${this.id} has a duplicate ID`):console.warn(`${this.constructor.name} defined without a vaild ID`)),this.name=tl(n.name??"action."+this.id),this.description=tl(n.description??"action."+this.id+".desc",[],""),this.color=n.color,this.node,this.condition=n.condition,this.nodes=[],this.toolbars=[],this.plugin=n.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),this.category=n.category?n.category:"misc",!n.private&&this.condition!==!1&&(n.keybind&&(this.default_keybind=n.keybind),this.keybind=new Keybind(null,this.default_keybind?.variations),Kt.stored[this.id]?this.keybind.set(Kt.stored[this.id],this.default_keybind):this.keybind.set(n.keybind),this.variations=n.variations,this.keybind.setAction(this.id),this.work_in_dialog=n.work_in_dialog===!0,this.uses=0,Kt.actions.push(this))}conditionMet(){return Condition(this.condition)}addLabel(t,n){if((!n||this instanceof Vb)&&(n=this),t){let a=document.createElement("label");a.classList.add("f_left","toolbar_label"),a.innerText=n.name,this.node.classList.add("has_label"),this.node.prepend(a)}else{let a=document.createElement("div");a.className="tooltip",a.innerText=n.name;let o=document.createElement("label");o.className="keybinding_label",o.innerText=n.keybind||"",a.append(o);let r;n.description&&(r=document.createElement("div"),r.className="tooltip_description",r.innerText=n.description,a.append(r)),n.node.prepend(a),addEventListeners(n.node,"mouseenter touchstart",()=>{let s=$(a),l=r&&$(r);if($(n.node).parent().parent().hasClass("vertical"))s.css("margin","0"),$(n.node).offset().left>window.innerWidth/2?s.css("margin-left",-s.width()-3+"px"):s.css("margin-left","34px");else{s.css("margin-left","0");var c=s&&s.offset();let d=c.left+parseInt(s.css("width").replace(/px/,""))-window.innerWidth;if(d>4&&s.css("margin-left",-d+"px"),!l)return;l.css("margin-left","-5px");var c=l.offset();d=c.left+parseInt(l.css("width").replace(/px/,""))-window.innerWidth,d>4&&l.css("margin-left",-d+"px"),window.innerHeight-c.top<28&&(s.css("margin-top",-2-s.height()+"px"),l.css("margin-top","-51px"))}},{passive:!0}),n.node.addEventListener("touchstart",()=>{a.style.display="none";let s=setTimeout(()=>{a.style.display="block",setTimeout(()=>{a.style.display="none"},1200)},500),l=c=>{clearInterval(s),document.removeEventListener("touchend",l)};document.addEventListener("touchend",l)},{passive:!0})}}getNode(t){this.nodes.length===0&&(this.nodes=[this.node]);for(let a of this.nodes)if(!a.isConnected&&!t)return $(a).detach(),a;var n=$(this.node).clone(!0,!0).get(0);return n.onclick=a=>{this.trigger(a)},this.nodes.push(n),n}toElement(t){return $(t).first().append(this.getNode()),this}pushToolbar(t,n){if(this.uniqueNode&&this.toolbars.length)for(var a=this.toolbars.length-1;a>=0;a--)this.toolbars[a].remove(this,!1);n!==void 0?t.children.splice(n,0,this):t.children.push(this),this.toolbars.safePush(t)}addSubKeybind(t,n,a,o){this.sub_keybinds||(this.sub_keybinds={}),this.sub_keybinds[t]={name:tl(n,null,n),trigger:o},a&&(this.sub_keybinds[t].default_keybind=a),Kt.stored[this.id+"."+t]?this.sub_keybinds[t].keybind=new Keybind().set(Kt.stored[this.id+"."+t],a):this.sub_keybinds[t].keybind=new Keybind().set(a),this.sub_keybinds[t].keybind.setAction(this.id,t)}delete(){this.dispatchEvent("delete",{}),this.toolbars.forEach(t=>{t.remove(this)}),delete nf[this.id],Kt.actions.remove(this);for(let t in Kt.structure)Kt.structure[t]?.actions?.length&&Kt.structure[t].actions.remove(this)}};W(Vb,"constructing");var Ub=Vb,LA=class{constructor(e,t){W(this,"id");W(this,"type");W(this,"name");W(this,"description");W(this,"category");W(this,"keybind");W(this,"default_keybind");W(this,"condition");W(this,"variations");typeof e=="object"&&(t=e,e=t.id),this.id=e,this.type="keybind_item",this.name=tl(t.name||"keybind."+this.id),this.description=tl(t.description??"action."+this.id+".desc",[],""),this.category=t.category?t.category:"misc",t.keybind&&(this.default_keybind=t.keybind);let n=this.default_keybind?.variations;Kt.stored[this.id]?this.keybind=new Keybind(null,this.default_keybind?.variations).set(Kt.stored[this.id],this.default_keybind):this.keybind=new Keybind(null,this.default_keybind?.variations).set(t.keybind),this.variations=t.variations,Kt.actions.push(this),Kt.extra[this.id]=this,this.keybind.setAction(this.id)}delete(){Kt.actions.remove(this);for(let e in Kt.structure)Kt.structure[e]?.actions?.length&&Kt.structure[e].actions.remove(this)}},Gd=class extends Ub{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"menu_node");W(this,"icon_node");W(this,"side_menu");W(this,"menus");W(this,"tool_config");W(this,"onClick");W(this,"children");W(this,"searchable");W(this,"click");var a=this;this.type="action",this.icon=n.icon;let o=n.linked_setting;if(this instanceof Uw&&o&&(n.name||(this.name=tl(`settings.${o}`)),n.description||(this.description=tl(`settings.${o}.desc`))),n.condition&&(this.condition=n.condition),this.children=n.children,this.searchable=n.searchable,!this.click&&n.click&&(this.onClick=n.click,this.click=(...r)=>{this.dispatchEvent("use",{})!=!1&&(this.onClick(...r),this.dispatchEvent("used",{}))}),this.icon_node=Blockbench.getIconNode(this.icon,this.color),this.node=document.createElement("div"),this.node.classList.add("tool"),this.node.setAttribute("toolbar_item",this.id),this.node.append(this.icon_node),this.nodes=[this.node],this.menus=[],this.menu_node=Interface.createElement("li",{title:this.description||"",menu_item:t},[this.icon_node.cloneNode(!0),Interface.createElement("span",{},this.name),Interface.createElement("label",{class:"keybinding_label"},this.keybind?.toString()||"")]),addEventListeners(this.menu_node,"mouseenter mousedown",r=>{r.target==this.menu_node&&Menu.open.hover(this.menu_node,r)}),this.children||this.menu_node.addEventListener("click",r=>{(r.target==this.menu_node||r.target.parentElement==this.menu_node)&&this.trigger(r)}),this.addLabel(n.label),this.updateKeybindingLabel(),n.tool_config instanceof ToolConfig&&(this.tool_config=n.tool_config,n.side_menu||(n.side_menu=n.tool_config)),n.side_menu){this.side_menu=n.side_menu,this.node.classList.add("side_menu_tool");let r=Blockbench.getIconNode("arrow_drop_down");r.classList.add("action_more_options"),r.onclick=s=>{s.stopPropagation(),this.side_menu instanceof Menu?this.side_menu.open(s.target.parentElement):this.side_menu instanceof ToolConfig?this.side_menu.show(this.node):this.side_menu instanceof Dialog&&this.side_menu.show()},this.node.append(r)}this.node.onclick=r=>{a.trigger(r)}}trigger(t){var n=this;let a=BARS.condition(n.condition,this);if(this.dispatchEvent("trigger",{condition_met:a}),a){if(t&&t.type==="click"&&t.altKey&&n.keybind){var o=function(){document.removeEventListener("keyup",o),n.keybind.record()};return document.addEventListener("keyup",o,!1),!0}return n.click(t),n.uses++,n.nodes.forEach(r=>{r.style.setProperty("color","var(--color-light)")}),setTimeout(function(){n.nodes.forEach(r=>{r.style.setProperty("color","")})},200),!0}return!1}updateKeybindingLabel(){let t=this.keybind?.toString()||"";return!t&&this.id=="color_picker"&&(t=tl(nc?"keys.option":"keys.alt")),this.menu_node.querySelector(".keybinding_label").textContent=t,this.nodes.forEach(n=>{n.querySelector(".keybinding_label").textContent=t}),this}getNode(t){let n=super.getNode(t);if(this.side_menu){let a=n.querySelector(".action_more_options");a&&!a.onclick&&(a.onclick=o=>{o.stopPropagation(),this.side_menu instanceof Menu?this.side_menu.open(o.target.parentElement):this.side_menu instanceof ToolConfig?this.side_menu.show(n):this.side_menu instanceof Dialog&&this.side_menu.show()})}return this.dispatchEvent("get_node",{node:n}),n}setIcon(t){this.icon=t,this.icon_node=Blockbench.getIconNode(this.icon),$(this.menu_node).find("> .icon").replaceWith(this.icon_node),this.nodes.forEach(n=>{n.querySelector(".icon:not(.action_more_options)").replaceWith(this.icon_node.cloneNode(!0))})}setName(t){this.name=t,this.nodes.forEach(a=>{let o=a.querySelector(".tooltip");o&&o.firstChild&&(o.firstChild.textContent=this.name)});let n=this.menu_node.querySelector("span");n&&(n.innerText=this.name)}delete(){super.delete();for(var t=this.menus.length-1;t>=0;t--){var n=this.menus[t];n.menu&&n.menu.deleteItem(this)}}},af=class af extends Gd{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"tool_settings");var a=this;this.type="tool",this.toolbar=n.toolbar,this.transform_toolbar=n.transform_toolbar,this.alt_tool=n.alt_tool,this.modes=n.modes,this.selectFace=n.selectFace,this.cursor=n.cursor,this.selectElements=n.selectElements!==!1,this.paintTool=n.paintTool,this.brush=n.brush,this.transformerMode=n.transformerMode,this.animation_channel=n.animation_channel,this.allowed_view_modes=n.allowed_view_modes||null,this.tool_settings={},this.condition==null&&this.modes instanceof Array&&(this.condition={modes:this.modes}),this.raycast_options=n.raycast_options,this.onCanvasClick=n.onCanvasClick,this.onCanvasMouseMove=n.onCanvasMouseMove,this.onCanvasRightClick=n.onCanvasRightClick,this.onTextureEditorClick=n.onTextureEditorClick,this.onSelect=n.onSelect,this.onUnselect=n.onUnselect,this.node.onclick=()=>{a.select()},af.all.push(this)}select(){if(this===Toolbox.selected)return;let t=Toolbox.selected;if(Toolbox.selected&&(Toolbox.selected.nodes.forEach(n=>{n.classList.remove("enabled")}),Toolbox.selected.menu_node.classList.remove("enabled"),typeof Toolbox.selected.onUnselect=="function"&&Toolbox.selected.onUnselect(),Toolbox.selected.brush?.size&&!this.brush?.size&&scene.remove(Canvas.brush_outline),Transformer.dragging&&Transformer.cancelMovement({},!0)),Toolbox.selected=this,delete Toolbox.original,this.uses++,Project&&(Project.tool=Mode.selected.tool=this.id),this.transformerMode&&Transformer.setMode(this.transformerMode),this.allowed_view_modes&&!this.allowed_view_modes.includes(Project.view_mode)&&(Project.view_mode="textured",nf.view_mode.change("textured")),this.toolbar&&Toolbars[this.toolbar]?Toolbars[this.toolbar].toPlace("tool_options"):$(".toolbar_wrapper.tool_options > .toolbar").detach(),Blockbench.isMobile&&Settings.get("status_bar_transform_sliders")){let n=document.getElementById("status_bar_tool_controls");if(n){for(;n.firstElementChild;)n.firstElementChild.remove();Toolbars[this.transform_toolbar]&&n.append(Toolbars[this.transform_toolbar].node)}}return typeof this.onSelect=="function"&&this.onSelect(),this.dispatchEvent("select",{previous_tool:t}),Interface.preview.style.cursor=this.cursor?this.cursor:"default",this.nodes.forEach(n=>{n.classList.add("enabled")}),this.menu_node.classList.add("enabled"),TickUpdates.selection=!0,this}trigger(t){return BARS.condition(this.condition,this)?(this.select(),!0):this.modes&&!(t instanceof KeyboardEvent)?this.switchModeAndSelect():!1}switchModeAndSelect(){for(var t=0;t<this.modes.length;t++){var n=Modes.options[this.modes[t]];if(n&&Condition(n.condition))return n.select(),this.select(),!0}}delete(){super.delete(),af.all.remove(this)}};W(af,"all",[]),W(af,"selected",null);var NA=af,Uw=class extends Gd{constructor(t,n){super(t,n);W(this,"linked_setting");W(this,"value");W(this,"onChange");W(this,"menu_icon_node");if(this.type="toggle",this.value=n.default||!1,n.linked_setting)this.linked_setting=n.linked_setting,settings[this.linked_setting]&&(this.value=!!settings[this.linked_setting].value);else if(n.save_on_restart){let a=localStorage.getItem(`bar_item_value.${this.id}`);a&&(this.value=a=="true")}this.onChange=n.onChange,this.menu_icon_node=Blockbench.getIconNode("check_box_outline_blank"),$(this.menu_node).find(".icon").replaceWith(this.menu_icon_node),this.click=()=>{if(this.value=!this.value,this.linked_setting&&settings[this.linked_setting]){let a=settings[this.linked_setting];a.value=this.value,a.onChange&&a.onChange(a.value),Settings.saveLocalStorages()}this.onChange&&this.onChange(this.value),this.dispatchEvent("change",{state:this.value}),n.save_on_restart&&localStorage.setItem(`bar_item_value.${this.id}`,this.value.toString()),this.updateEnabledState()},this.updateEnabledState()}set(t){return t==this.value?this:(this.click(),this)}setIcon(t){return t?(this.icon=t,this.icon_node=Blockbench.getIconNode(this.icon),this.nodes.forEach(n=>{$(n).find(".icon").replaceWith($(this.icon_node).clone())}),this):this}updateEnabledState(){return this.nodes.forEach(t=>{t.classList.toggle("enabled",this.value)}),this.menu_icon_node.innerText=this.value?"check_box":"check_box_outline_blank",this}},np=class extends Ub{constructor(e,t){typeof e=="object"&&(t=e,e=t.id),super(e,t),this.type="widget"}},Fb=class Fb extends np{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"value");W(this,"width");W(this,"sensitivity");W(this,"invert_scroll_direction");W(this,"pre");W(this,"last_value");W(this,"sliding");W(this,"sliding_start_pos");W(this,"settings");W(this,"interval");W(this,"onBefore");W(this,"onChange");W(this,"onAfter");W(this,"uv");W(this,"jq_outer");W(this,"jq_inner");W(this,"tool_setting");W(this,"slider_vector");this.uv=!!n.uv,this.type="numslider",this.icon="code",this.value=0,this.width=69,this.sensitivity=n.sensitivity||30,this.invert_scroll_direction=n.invert_scroll_direction==!0,this.uniqueNode=!0,n.tool_setting&&(this.tool_setting=n.tool_setting),typeof n.get=="function"&&(this.get=n.get),this.onBefore=n.onBefore,this.onChange=n.onChange,this.onAfter=n.onAfter,typeof n.change=="function"&&(this.change=(r,...s)=>{n.change(r),this.dispatchEvent("changed",{modify:r})}),n.settings?(this.settings=n.settings,this.settings.default&&(this.value=this.settings.default),this.interval=this.settings.step||this.settings.interval):this.interval=function(r={}){if(!r.shiftKey&&!r.ctrlOrCmd)return 1;if(r.ctrlOrCmd&&r.shiftKey)return .025;if(r.ctrlOrCmd)return .1;if(r.shiftKey)return .25},typeof n.getInterval=="function"&&(this.interval=n.getInterval),this.keybind&&(this.keybind.label=this.keybind.getText()),this.addSubKeybind("increase","keybindings.item.num_slider.increase",n.sub_keybinds?.increase,r=>{if(!Condition(this.condition))return!1;typeof this.onBefore=="function"&&this.onBefore();var s=this.getInterval(r);this.change(l=>l+s),this.update(),typeof this.onAfter=="function"&&this.onAfter(s)}),this.addSubKeybind("decrease","keybindings.item.num_slider.decrease",n.sub_keybinds?.decrease,r=>{if(!Condition(this.condition))return!1;typeof this.onBefore=="function"&&this.onBefore();var s=this.getInterval(r);this.change(l=>l-s),this.update(),typeof this.onAfter=="function"&&this.onAfter(s)});var a=this;if(this.node=Interface.createElement("div",{class:"tool wide widget nslide_tool",toolbar_item:this.id},[Interface.createElement("div",{class:"nslide tab_target",inputmode:this.settings?.min>=0?"decimal":"","n-action":this.id})]),this.jq_outer=$(this.node),this.jq_inner=this.jq_outer.find(".nslide"),this.color){var o="uvwxyz".includes(this.color.toString())?`var(--color-axis-${this.color})`:this.color;this.node.style.setProperty("--corner-color",o.toString()),this.node.classList.add("is_colored")}this.addLabel(),this.jq_inner.on("mousedown touchstart",async r=>{if(a.jq_inner.hasClass("editing"))return;a.last_value=a.value;let s=await new Promise((p,m)=>{function _(g){(!g.clientX||Math.abs(g.clientX-r.clientX)>2)&&(removeEventListeners(document,"mousemove touchmove",_),removeEventListeners(document,"mouseup touchend",f),p(g))}function f(g){removeEventListeners(document,"mousemove touchmove",_),removeEventListeners(document,"mouseup touchend",f),r.target==r.target&&a.startInput(),p(!1)}addEventListeners(document,"mousemove touchmove",_),addEventListeners(document,"mouseup touchend",f)});if(!s)return;typeof a.onBefore=="function"&&a.onBefore(),convertTouchEvent(s),s=s;let l=s.clientX;a.sliding=!0,a.pre=0,a.sliding_start_pos=l;let c=0;"touches"in s||a.jq_inner.get(0).requestPointerLock();function d(p){if(convertTouchEvent(p),s&&"touches"in s)l=p.clientX;else{let m=c<=2?1:160;l+=Math.clamp(p.movementX,-m,m)}a.slide(l,p),c++}function u(p){removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u),document.exitPointerLock(),Blockbench.setStatusBarText(),delete a.sliding,typeof a.onAfter=="function"&&a.onAfter(parseFloat(a.value)-parseFloat(a.last_value))}addEventListeners(document,"mousemove touchmove",d),addEventListeners(document,"mouseup touchend",u)}).on("keypress",function(r){(r.keyCode===10||r.keyCode===13)&&(r.preventDefault(),a.stopInput())}).on("keyup",function(r){if(r.keyCode!==10&&r.keyCode!==13&&a.input(),r.keyCode===27){if(!a.jq_inner.hasClass("editing"))return;r.preventDefault(),a.jq_inner.removeClass("editing"),a.jq_inner.attr("contenteditable","false"),a.update()}}).on("focusout",function(){a.stopInput()}).on("dblclick",function(r){if(r.target!=this)return;let s=a.settings&&a.settings.default?a.settings.default.toString():"0";a.jq_inner.text(s),a.stopInput()}).on("contextmenu",r=>{new Menu([new MenuSeparator("copypaste"),{id:"copy",name:"action.copy",icon:"fa-copy",click:()=>{Clipbench.setText(this.value.toString())}},{id:"copy",name:"menu.text_edit.copy_vector",icon:"fa-copy",condition:this.slider_vector instanceof Array,click:()=>{let l=this.slider_vector.map(c=>c.value).join(" ");Clipbench.setText(l)}},{id:"paste",name:"action.paste",icon:"fa-paste",click:async()=>{this.startInput();let s=await navigator.clipboard.readText();this.jq_inner.text(s),this.stopInput()}},new MenuSeparator("edit"),{id:"round",name:"menu.slider.round_value",icon:"percent",click:()=>{typeof this.onBefore=="function"&&this.onBefore(),this.change(s=>Math.round(s)),this.update(),typeof this.onAfter=="function"&&this.onAfter()}},{id:"round",name:"menu.slider.reset_vector",icon:"replay",condition:this.slider_vector instanceof Array,click:()=>{typeof this.onBefore=="function"&&this.onBefore();for(let s of this.slider_vector){let l=s.settings?.default??0;s.change(c=>l),s.update()}typeof this.onAfter=="function"&&this.onAfter()}}]).open(r)}),this.jq_outer.on("mouseenter",function(){a.jq_outer.append('<div class="nslide_arrow na_left" ><i class="material-icons">navigate_before</i></div><div class="nslide_arrow na_right"><i class="material-icons">navigate_next</i></div>');var r=limitNumber(a.node.clientWidth/2-22,6,1e3);a.jq_outer.find(".nslide_arrow.na_left").click(function(s){a.arrow(-1,s)}).css("margin-left",-r-22+"px"),a.jq_outer.find(".nslide_arrow.na_right").click(function(s){a.arrow(1,s)}).css("margin-left",r+"px")}).on("mouseleave",function(){a.jq_outer.find(".nslide_arrow").remove()})}startInput(){this.jq_inner.find(".nslide_arrow").remove(),this.jq_inner.attr("contenteditable","true"),this.jq_inner.addClass("editing"),this.jq_inner.focus(),document.execCommand("selectAll")}setWidth(t){return t?this.width=t:t=this.width,this.node.style.width=t+"px",this}getInterval(t){return typeof this.interval=="function"?this.interval(t):typeof this.interval=="number"?this.interval:0}slide(t,n){var a=Math.round((t-this.sliding_start_pos)/this.sensitivity),o=(a-this.pre)*this.getInterval(n);if(this.pre=a,!o)return;this.change(s=>s+o,n),this.update();let r=trimFloatNumber(parseFloat(this.value)-parseFloat(this.last_value||"0"));Blockbench.isMobile||Blockbench.setStatusBarText(r)}input(){this.last_value=this.value}stopInput(){if(this.jq_inner.hasClass("editing")){var t=this.jq_inner.text();if(this.last_value?.toString()!==t){var n=t.substr(0,1);if(typeof this.onBefore=="function"&&this.onBefore(),this.slider_vector&&t.split(/\s+/g).length==this.slider_vector.length){t.split(/\s+/g).forEach((s,l)=>{let c=this.slider_vector[l],d=parseFloat(s);isNaN(d)&&(d=0),c.change(u=>d),this.jq_inner.removeClass("editing"),this.jq_inner.attr("contenteditable","false"),this.update()}),this.onAfter();return}if(t=t.replace(/,(?=\d+$)/,"."),t.match(/^-?\d*(\.\d+)?%?$/gm)){var a=parseFloat(t);isNaN(a)&&(a=0),t.endsWith("%")&&typeof this.settings?.min=="number"&&typeof this.settings?.max=="number"&&(a=Math.lerp(this.settings.min,this.settings.max,a/100)),this.change(r=>a)}else{var o=0;this.change(r=>{var s={val:r,n:o};return o++,"+*/".includes(n)?Fb.MolangParser.parse(r+t,s):Fb.MolangParser.parse(t,s)})}typeof this.onAfter=="function"&&this.onAfter()}this.jq_inner.removeClass("editing"),this.jq_inner.attr("contenteditable","false"),this.update()}}arrow(t,n){typeof this.onBefore=="function"&&this.onBefore(),t*=this.getInterval(n),this.change(a=>a+t),this.update(),typeof this.onAfter=="function"&&this.onAfter(t)}trigger(t){if(!Condition(this.condition))return!1;typeof this.onBefore=="function"&&this.onBefore();let n=t.shiftKey?-1:1;t.deltaY>0&&(n*=-1),t instanceof WheelEvent&&this.invert_scroll_direction&&(n*=-1);var a=this.getInterval()*n;return this.change(o=>o+a),this.update(),typeof this.onAfter=="function"&&this.onAfter(a),!0}setValue(t,n=!0){if(typeof t=="string"&&(t=parseFloat(t)),n===!1?this.value=t:typeof t=="number"&&(this.value=trimFloatNumber(t)),this.tool_setting&&(Toolbox.selected.tool_settings[this.tool_setting]=t),!this.jq_inner.hasClass("editing")&&this.jq_inner[0].textContent!==this.value.toString()&&this.jq_inner.text(this.value),this.settings&&this.settings.show_bar&&typeof this.settings.max=="number"){this.node.classList.add("has_percentage_bar");let a=Math.getLerp(this.settings.min??0,this.settings.max,t)*100;this.node.style.setProperty("--percentage",a.toString())}return this}change(t,n){var a=t(this.get());this.settings&&typeof this.settings.min=="number"&&this.settings.limit!==!1&&(a=limitNumber(a,this.settings.min,this.settings.max)),this.value=a,this.tool_setting&&(Toolbox.selected.tool_settings[this.tool_setting]=a),typeof this.onChange=="function"&&this.onChange(a,n),this.dispatchEvent("change",{number:a})}get(){return this.tool_setting?Toolbox.selected.tool_settings[this.tool_setting]!=null?Toolbox.selected.tool_settings[this.tool_setting]:this.settings.default||0:parseFloat(this.value)}update(){if(BARS.condition(this.condition)){var t=this.get();this.setValue(t),isNaN(t)&&!this.jq_inner.hasClass("editing")&&this.jq_inner[0].textContent&&this.jq_inner.text(""),this.dispatchEvent("update",{})}}};W(Fb,"MolangParser",new Im);var HA=Fb,GA=class extends np{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"value");W(this,"settings");W(this,"onChange");W(this,"onBefore");W(this,"onAfter");var a=this;this.type="slider",this.icon="fa-sliders-h",this.value=n.value||0,this.settings={min:n.min?n.min:0,max:n.max?n.max:10,step:n.step?n.step:1,circular:n.circular},this.node=Interface.createElement("div",{class:"tool widget",toolbar_item:this.id},[Interface.createElement("input",{type:"range",value:n.value?n.value:0,...this.settings,style:`width: ${n.width?n.width+"px":"auto"};`})]),this.addLabel(),typeof n.onChange=="function"&&(this.onChange=n.onChange),typeof n.onBefore=="function"&&(this.onBefore=n.onBefore),typeof n.onAfter=="function"&&(this.onAfter=n.onAfter),$(this.node).children("input").on("input",function(o){let r=parseFloat($(o.target).val());a.change(r,o.originalEvent)}),a.onBefore&&$(this.node).children("input").on("mousedown",function(o){a.onBefore(o.originalEvent)}),a.onAfter&&$(this.node).children("input").on("change",function(o){a.onAfter(o.originalEvent)}),this.addSubKeybind("increase","keybindings.item.num_slider.increase",n.sub_keybinds?.increase,o=>{if(!Condition(this.condition))return!1;typeof this.onBefore=="function"&&this.onBefore(o);let r=this.get()+this.settings.step;this.settings.circular&&r>this.settings.max&&(r=this.settings.min),this.change(r,o),typeof this.onAfter=="function"&&this.onAfter(o)}),this.addSubKeybind("decrease","keybindings.item.num_slider.decrease",n.sub_keybinds?.decrease,o=>{if(!Condition(this.condition))return!1;typeof this.onBefore=="function"&&this.onBefore(o);let r=this.get()-this.settings.step;this.settings.circular&&r<this.settings.min&&(r=this.settings.max),this.change(r,o),typeof this.onAfter=="function"&&this.onAfter(o)})}change(t,n){t=Math.clamp(t,this.settings.min,this.settings.max),this.set(t),this.onChange&&this.onChange(n),this.dispatchEvent("change",{value:this.value})}set(t){this.value=t,$(this.nodes).children("input").val(t)}get(){return this.value}},qA=class extends np{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"icon_mode");W(this,"value");W(this,"values");W(this,"options");if(this.type="select",this.icon="list",this.icon_mode=!!n.icon_mode,this.value=n.value,this.values=[],this.options=n.options,n.options)for(let a in n.options)this.value||(this.value=a),this.values.push(a);if(this.node=Interface.createElement("div",{class:"tool widget bar_select",toolbar_item:this.id}),this.icon_mode){this.node.classList.add("icon_mode");for(let a in n.options){let o=document.createElement("div");o.className="select_option",o.setAttribute("key",a),o.append(Blockbench.getIconNode(typeof n.options[a]=="object"?n.options[a].icon:"")),this.node.append(o),o.addEventListener("click",s=>{this.set(a),this.onChange&&this.onChange(this,s)});let r=this.getNameFor(a);o.addEventListener("mouseenter",s=>{this.node.firstElementChild.firstChild.textContent=this.name+": "+r})}}else{let a=Interface.createElement("div",{class:"bb-select"});this.node.append(a),n.width&&a.style.setProperty("width",n.width+"px"),n.min_width&&a.style.setProperty("min-width",n.min_width+"px"),a.addEventListener("click",o=>{this.open(o)})}if(n.options)for(let a in n.options)this.addSubKeybind(a,this.getNameFor(a),n.sub_keybinds?.[a],o=>{if(!Condition(this.condition))return!1;this.set(a),this.onChange&&this.onChange(this,o)});this.nodes.push(this.node),this.set(this.value),this.addLabel(),typeof n.onChange=="function"&&(this.onChange=n.onChange),$(this.node).on("wheel",a=>{this.trigger(a.originalEvent)})}getNode(t){let n=this.nodes.length,a=super.getNode(t);if(a.onclick=null,this.nodes.length!==n)if(this.icon_mode)for(let o in this.options){let r=a.querySelector(`div[key="${o}"]`);if(r){r.addEventListener("click",l=>{this.set(o),this.onChange&&this.onChange(this,l)});let s=this.getNameFor(o);r.addEventListener("mouseenter",l=>{a.firstElementChild.firstChild.textContent=this.name+": "+s})}}else{let o=a.querySelector(".bb-select");o&&o.addEventListener("click",r=>{this.open(r)})}return a}open(t){if(Menu.closed_in_this_click==this.id)return this;let n=this,a=[];for(let r in this.options){let s=this.options[r];if(s){let l=r;a.push({name:n.getNameFor(r),icon:s.icon||(n.value==l?"far.fa-dot-circle":"far.fa-circle"),condition:s.condition,click:c=>{n.set(l),n.onChange&&n.onChange(n,c)}})}}let o=new Menu(this.id,a,{class:"select_menu"});this.dispatchEvent("open",{menu:o,items:a}),o.node.style["min-width"]=this.node.clientWidth+"px",o.open(t.target,this)}trigger(t){var n=this;let a=BARS.condition(this.condition,this);if(this.dispatchEvent("trigger",{condition_met:a}),a){let l=function(){t.type==="mousewheel"||t.type==="wheel"?r+=t.deltaY<0?-1:1:(r++,r>=n.values.length&&(r=0))};if(t&&t.type==="click"&&t.altKey&&n.keybind){var o=function(){document.removeEventListener("keyup",o),n.keybind.record()};return document.addEventListener("keyup",o,!1),!0}for(var r=this.values.indexOf(this.value),s=0;s<40;s++){if(l(),r<0||r>=this.values.length)return;let c=this.options[this.values[r]];if(c&&Condition(c.condition))break}return this.set(this.values[r]),this.onChange&&this.onChange(this,t),n.uses++,!0}return!1}change(t,n){return this.set(t),this.onChange&&this.onChange(this,n),this.dispatchEvent("change",{value:t,event:n}),this}getNameFor(t){let n=this.options[t],a=typeof n=="object"?n.name:n;return tl(n==!0||a===!0?"action."+this.id+"."+t:n&&n.name||n)}set(t){if(this.options[t]==null)return console.warn(`Option ${t} does not exist in BarSelect ${this.id}`),this;if(this.value=t,this.icon_mode)this.nodes.forEach(n=>{for(let a in this.options)n.querySelector(`div.select_option[key=${a}]`).classList.toggle("selected",this.value==a)});else{let n=this.getNameFor(t);this.nodes.forEach(a=>{$(a).find(".bb-select").text(n)}),this.nodes.includes(this.node)||$(this.node).find(".bb-select").text(n)}return this}get(){return this.value}},WA=class extends np{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"text");W(this,"onUpdate");W(this,"click");this.type="bar_text",this.icon="text_format",this.node=Interface.createElement("div",{class:"tool widget bar_text",toolbar_item:this.id},n.text),this.onUpdate=n.onUpdate,typeof n.click=="function"&&(this.click=n.click,this.node.addEventListener("click",this.click))}set(t){return this.text=t,$(this.nodes).text(t),this}update(){return typeof this.onUpdate=="function"&&this.onUpdate(),this.dispatchEvent("update",{}),this}trigger(t){return Condition(this.condition)?(this.dispatchEvent("trigger",{event:t}),Blockbench.showQuickMessage(this.text),!0):!1}},KA=class extends np{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"value");W(this,"jq");W(this,"onChange");var a=this;this.type="color_picker",this.icon="color_lens",this.node=Interface.createElement("div",{class:"tool widget",toolbar_item:this.id},[Interface.createElement("input",{class:"f_left",type:"text"})]),this.addLabel(),this.jq=$(this.node).find("input"),typeof n.onChange=="function"&&(this.onChange=n.onChange),this.value=new ci("ffffff"),this.jq.spectrum({preferredFormat:"hex",color:n.value||"ffffff",showAlpha:!0,showInput:!0,maxSelectionSize:128,showPalette:n.palette===!0,palette:n.palette?[]:void 0,resetText:tl("generic.reset"),cancelText:tl("dialog.cancel"),chooseText:tl("dialog.confirm"),show:function(){open_interface=a},hide:function(){open_interface=!1},change:function(o){a.change(o)},move(o){a.dispatchEvent("modify_color",{color:o})}})}change(t){this.onChange&&this.onChange(t),this.dispatchEvent("change",{color:t})}hide(){this.jq.spectrum("cancel")}confirm(){this.jq.spectrum("hide")}set(t){return this.value=new ci(t),this.jq.spectrum("set",this.value.toHex8String()),this}get(){return this.value=this.jq.spectrum("get"),this.value}},bie={BarItem:Ub,KeybindItem:LA,Action:Gd,Tool:NA,Toggle:Uw,Widget:np,NumSlider:HA,BarSlider:GA,BarSelect:qA,BarText:WA,ColorPicker:KA,Keybinds:Kt,BarItems:nf};Object.assign(window,bie);var $o={add(i,e){$o.actions[i]||($o.actions[i]=[]);let t=$o.actions[i];return e.priority||(e.priority=0),t.push(e),t.sort((n,a)=>a.priority-n.priority),{delete(){t.remove(e)}}},run(i,e,t){let n=$o.actions[i];if(n){for(let a of n)if(Condition(a.condition))return a.run(e,t),!0;return!1}},runSpecific(i,e,t,n,a){let o=$o.actions[i];if(o){for(let r of o)if(r.subject==e&&(a||Condition(r.condition)))return r.run(t,n),!0;return!1}},condition(i){let e=$o.actions[i];if(e){for(let t of e)if(Condition(t.condition))return!0;return!1}},find(i,e,t){let n=$o.actions[i];if(n){for(let a of n)if(Condition(a.condition,t))return a;return null}},actions:{}};BARS.defineActions(()=>{new Action("rename",{icon:"text_format",category:"edit",keybind:new Keybind({key:113}),click(){$o.run("rename")}}),Blockbench.onUpdateTo("5.1.0-beta.0",()=>{(SystemInfo?.platform=="darwin"||navigator.userAgent.includes("Mac OS"))&&delete Keybinds.stored.delete}),new Action("delete",{icon:"delete",category:"edit",keybind:new Keybind({key:46},{keep_vertices:"alt"}),variations:{keep_vertices:{name:"action.delete.keep_vertices"}},condition:()=>!Dialog.open,click(i){$o.run("delete",i)}}),new Action("duplicate",{icon:"content_copy",category:"edit",condition:()=>$o.condition("duplicate"),keybind:new Keybind({key:"d",ctrl:!0}),click(i){$o.run("duplicate",i)}}),new Action("select_all",{icon:"select_all",category:"select",condition:()=>!Modes.display,keybind:new Keybind({key:"a",ctrl:!0}),click(i){$o.run("select_all",i),Blockbench.dispatchEvent("select_all",{})}}),new Action("unselect_all",{icon:"border_clear",category:"select",condition:()=>!Modes.display,click(i){$o.run("unselect_all",i),Blockbench.dispatchEvent("unselect_all",{})}}),new Action("invert_selection",{icon:"swap_vert",category:"select",keybind:new Keybind({key:"i",ctrl:!0}),click(i){$o.run("invert_selection",i),Blockbench.dispatchEvent("invert_selection",{})}})});var yie={SharedActions:$o};Object.assign(window,yie);window.osfs="/";window.open_dialog=!1;window.open_interface=!1;window.Format=0;window.Project=0;var Ob={shift:!1,ctrl:!1,alt:!1,overrides:{shift:!1,ctrl:!1,alt:!1}},mn={_active_panel:"preview",get active_panel(){return mn._active_panel},set active_panel(i){let e=mn._active_panel;e!=i&&(mn._active_panel=i,Blockbench.dispatchEvent("change_active_panel",{last_panel:e,panel:i}))},file_path:"",file_name:"",recording:null,fps:0,progress:0,session:!1,connections:0,facing:"north",show_right_bar:!0,show_left_bar:!0},xie={x:0,y:0},$A=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function kie(i,e){return!i&&!e?16/Math.clamp(settings.edit_size.value,1,512):e&&i?16/Math.clamp(settings.ctrl_shift_size.value,1,4096):e?16/Math.clamp(settings.ctrl_size.value,1,4096):16/Math.clamp(settings.shift_size.value,1,4096)}function s4(){Outliner.selected.length&&(BarItems.slider_pos_x.update(),BarItems.slider_pos_y.update(),BarItems.slider_pos_z.update(),Condition(BarItems.slider_size_x)&&(BarItems.slider_size_x.update(),BarItems.slider_size_y.update(),BarItems.slider_size_z.update()),Condition(BarItems.slider_inflate)&&BarItems.slider_inflate.update(),Condition(BarItems.slider_stretch_x)&&(BarItems.slider_stretch_x.update(),BarItems.slider_stretch_y.update(),BarItems.slider_stretch_z.update()),Condition(BarItems.slider_face_tint)&&BarItems.slider_face_tint.update(),Condition(BarItems.slider_spline_handle_tilt)&&(BarItems.slider_spline_handle_tilt.update(),BarItems.slider_spline_handle_size.update())),(Outliner.selected.length||Format.bone_rig&&Group.first_selected)&&(BarItems.slider_origin_x.update(),BarItems.slider_origin_y.update(),BarItems.slider_origin_z.update(),BarItems.slider_rotation_x.update(),BarItems.slider_rotation_y.update(),BarItems.slider_rotation_z.update(),Format.bone_rig&&BarItems.bone_reset_toggle.setIcon(Group.first_selected&&Group.first_selected.reset?"check_box":"check_box_outline_blank")),Texture.all.length&&BarItems.animated_texture_frame.update()}function l4(i={}){if(Project){Project.elements.forEach(t=>{let n=Project.selected_elements.includes(t);n&&!t.selected&&!t.locked?t.markAsSelected():(!n||t.locked)&&t.selected&&(t.unselect(),UVEditor.selected_element_faces[t.uuid]&&delete UVEditor.selected_element_faces[t.uuid]),t instanceof Mesh&&Project.mesh_selection[t.uuid]&&(n?(Project.mesh_selection[t.uuid].vertices.forEachReverse(a=>{a in t.vertices||Project.mesh_selection[t.uuid].vertices.remove(a)}),Project.mesh_selection[t.uuid].edges.forEachReverse(a=>{(!t.vertices[a[0]]||!t.vertices[a[1]])&&Project.mesh_selection[t.uuid].edges.remove(a)}),Project.mesh_selection[t.uuid].faces.forEachReverse(a=>{a in t.faces||Project.mesh_selection[t.uuid].faces.remove(a)})):delete Project.mesh_selection[t.uuid]),t instanceof SplineMesh&&Project.spline_selection[t.uuid]&&(n?Project.spline_selection[t.uuid].vertices.forEachReverse(a=>{a in t.vertices||Project.spline_selection[t.uuid].vertices.remove(a)}):delete Project.spline_selection[t.uuid])}),Modes.pose&&!Group.first_selected&&Outliner.selected[0]&&Outliner.selected[0].parent instanceof Group&&Outliner.selected[0].parent.select();for(let t of Group.multi_selected)t.locked&&t.unselect();UVEditor.vue._computedWatchers.mappable_elements.run(),Project.elements.forEach(t=>{t.preview_controller.updateSelection&&t.preview_controller.updateSelection(t)});for(var e=Outliner.selected.length-1;e>=0;e--)Project.elements.includes(Outliner.selected[e])||Outliner.selected.splice(e,1);if(Format.meshes&&Outliner.selected.length&&Modes.edit&&Toolbox.selected.id=="resize_tool"&&(Mesh.selected.length?(Interface.removeSuggestedModifierKey("alt","modifier_actions.resize_both_sides"),Interface.addSuggestedModifierKey("alt","modifier_actions.resize_one_side")):(Interface.removeSuggestedModifierKey("alt","modifier_actions.resize_one_side"),Interface.addSuggestedModifierKey("alt","modifier_actions.resize_both_sides"))),Format.splines&&Outliner.selected.length&&Modes.edit&&BarItems.spline_selection_mode.value=="handles"&&SplineMesh.selected.length&&Interface.addSuggestedModifierKey("shift","modifier_actions.spline_select_multiple_points"),UVEditor.vue.mode=="face_properties"&&Outliner.selected.length&&(!Outliner.selected[0]||Outliner.selected[0].type!=="cube"||Outliner.selected[0].box_uv)&&(UVEditor.vue.mode="uv"),Condition(Panels.uv.condition)&&UVEditor.loadData(),Modes.animate&&(updateKeyframeSelection(),Timeline.selected_animator&&!Timeline.selected_animator.selected&&(Timeline.selected_animator=null)),BarItems.cube_counter.update(),s4(),Interface.status_bar.vue.updateSelectionInfo(),(settings.highlight_cubes.value||Mesh.all[0])&&updateCubeHighlights(),Toolbox.selected.id=="seam_tool"&&Mesh.selected[0]){let t,n=Mesh.selected[0].getSelectedEdges();Mesh.selected[0].forAllFaces(a=>{if(t=="")return;let o=a.getSortedVertices();o.forEach((r,s)=>{let l=o[s+1]||o[0];if(n.find(c=>sameMeshEdge(c,[r,l]))){let c=Mesh.selected[0].getSeam([r,l])||"auto";t==null?t=c:t!==c&&(t="")}})}),BarItems.select_seam.set(t||"auto")}Format.cube_size_limiter?.updateBoxMarker&&Format.cube_size_limiter.updateBoxMarker(),Canvas.updatePivotMarker(),Transformer.updateSelection(),Preview.all.forEach(t=>{t.updateAnnotations()}),Condition(BarItems.layer_opacity.condition)&&BarItems.layer_opacity.update(),Condition(BarItems.layer_blend_mode.condition)&&BarItems.layer_blend_mode.set(TextureLayer.selected?.blend_mode),BARS.updateConditions(),MenuBar.update(),delete ds.selection,Blockbench.dispatchEvent("update_selection")}}function wie(i){Project.selected_elements.slice().forEach(e=>{i instanceof Array&&i.includes(e)||e.unselect()});for(let e of Group.multi_selected)e.unselect();Group.all.forEach(function(e){e.selected=!1}),Group.multi_selected.empty();for(let e in Project.mesh_selection)delete Project.mesh_selection[e];Modes.animate&&Timeline.selected_animator&&(Timeline.selected_animator.selected=!1,Timeline.selected_animator=null),ds.selection=!0}function Sie(){SharedActions.run("select_all")}function zie(){SharedActions.run("unselect_all")}setInterval(function(){Project&&(Outliner.root.length||Project.textures.length)&&Validator.validate()},1e3*30);var ds={Run(){try{ds.selection&&(delete ds.selection,l4()),ds.UVEditor&&(delete ds.UVEditor,UVEditor.loadData()),ds.keyframe_selection&&(delete ds.keyframe_selection,Vue.nextTick(updateKeyframeSelection)),ds.keybind_conflicts&&(delete ds.keybind_conflicts,updateKeybindConflicts()),ds.interface&&(delete ds.interface,updateInterface())}catch(i){console.error(i)}}};function Eie(i,e,t){e||(e=1e3),console.time(i);for(let n=0;n<e;n++)t();console.timeEnd(i)}var YA=new Promise((i,e)=>{$(document).ready(function(){i()})});Object.assign(window,{Pressing:Ob,Prop:mn,mouse_pos:xie,sort_collator:$A,canvasGridSize:kie,updateNslideValues:s4,updateSelection:l4,unselectAllElements:wie,selectAll:Sie,unselectAll:zie,TickUpdates:ds,benchmarkCode:Eie});var Mie=/^(?<version>[\d.]+)(?:-beta\.(?<beta>[\d\.]+))?$/;function XA(i){let e=i.match(Mie);if(!e)throw new Error(`Invalid version format '${i}'.Expected a list of dot-separated numbers, optionally followed by '-beta.' and another list of dot-separated numbers. E.g. '1.2.3' or '1.2.3-beta.4'`);let{version:t,beta:n}=e.groups;return{string:i,version:t.split(".").map(a=>parseInt(a)),beta:n?n.split(".").map(a=>parseInt(a)):void 0}}function JA(i,e,t){t===void 0&&(t=e,e=void 0);let n=0;if(i!==t){let a=XA(i),o=XA(t),r=Math.max(a.version.length,o.version.length);for(let s=0;s<r;s++){let l=a.version.at(s)??0,c=o.version.at(s)??0;if(l>c){n=1;break}if(l<c){n=-1;break}}n===0&&(a.beta&&!o.beta?n=-1:!a.beta&&o.beta?n=1:a.beta&&o.beta&&(n=JA(a.beta.join("."),o.beta.join("."))))}switch(e){case"==":return n===0;case"<=":return n<=0;case">=":return n>=0;case"<":return n===-1;case">":return n===1;case void 0:return n;default:throw new Error(`Invalid version comparison operator '${e}'. Expected one of '<=', '==', '>=', '>', '<'.`)}}function Tie(i){return i.replace("-beta."," Beta ")}window.compareVersions=(i,e)=>JA(i,">",e);var c4={compare:JA,parse:XA,format:Tie};window.VersionUtil=c4;var vo=c4;var Dm=localStorage.getItem("last_version")||localStorage.getItem("welcomed_version")||"5.1.6",he={isWeb:!0,isMobile:(window.innerWidth<=960||window.innerHeight<=500)&&"ontouchend"in document,isLandscape:window.innerWidth>window.innerHeight,isTouch:"ontouchend"in document,get isPWA(){return"standalone"in navigator||window.matchMedia("(display-mode: standalone)").matches},version:"5.1.6",operating_system:"",platform:"web",flags:[],drag_handlers:{},events:{},openTime:new Date,setup_successful:null,argv:null,edit(i,e){Undo.initEdit(i),e(),Undo.finishEdit("Edit")},reload(){location.reload()},isNewerThan(i){return vo.compare(he.version,">",i)},isOlderThan(i){return vo.compare(he.version,"<",i)},registerEdit(){console.warn("Blockbench.registerEdit is outdated. Please use Undo.initEdit and Undo.finishEdit")},getIconNode(i,e){let t;return typeof i=="function"&&(i=i()),i===void 0?(t=document.createElement("i"),t.classList.add("material-icons","notranslate","icon"),t.innerText="help_outline"):i instanceof HTMLElement?t=i:i===!0||i===!1?(t=document.createElement("i"),t.classList.add("material-icons","notranslate","icon"),t.innerText=i?"check_box":"check_box_outline_blank"):i===null?(t=document.createElement("i"),t.classList.add("fa_big","icon")):i.match(/^(fa[.-])|(fa[rsb]\.)/)?(t=document.createElement("i"),t.classList.add("fa_big","icon"),i.substr(3,1)==="."?t.classList.add(i.substr(0,3),i.substr(4)):t.classList.add("fa",i)):i.substr(0,5)==="icon-"?(t=document.createElement("i"),t.classList.add(i,"icon")):i.startsWith("data:image/")?(t=document.createElement("img"),t.classList.add("icon"),t.src=i):(t=document.createElement("i"),t.classList.add("material-icons","notranslate","icon"),t.innerText=i),e&&(e==="x"?t.classList.add("color_x"):e==="y"?t.classList.add("color_y"):e==="z"?t.classList.add("color_z"):e==="u"?t.classList.add("color_u"):e==="v"?t.classList.add("color_v"):e==="w"?t.classList.add("color_w"):typeof e=="string"&&(t.style.color=e)),t},showQuickMessage(i,e=1e3){document.getElementById("quick_message_box")?.remove();let t=Interface.createElement("div",{id:"quick_message_box"},tl(i));document.body.append(t),setTimeout(function(){t.remove()},e)},showToastNotification(i){let e=document.createElement("li");if(e.className="toast_notification",i.icon){let o=he.getIconNode(i.icon);e.append(o)}let t=document.createElement("span");t.innerText=tl(i.text),e.append(t);let n=document.createElement("div");n.innerHTML='<i class="material-icons">clear</i>',n.className="toast_close_button",n.addEventListener("click",o=>{e.remove()}),e.append(n),i.color&&(e.style.backgroundColor=i.color),typeof i.click=="function"&&(e.addEventListener("click",o=>{if(o.target==n||o.target.parentElement==n)return;i.click(o)==!0&&e.remove()}),e.style.cursor="pointer"),i.expire&&setTimeout(()=>{e.remove()},i.expire),document.getElementById("toast_notification_list").append(e);function a(o){this.delete=function(){o.remove()}}return new a(e)},setCursorTooltip(i){},setProgress(i,e=0,t){},showStatusMessage(i,e=800){he.setStatusBarText(tl(i)),setTimeout(function(){he.setStatusBarText()},e)},setStatusBarText(i){i!==void 0?mn.file_name=i:mn.file_name=mn.file_name_alt||""},showMessage(i,e){e==="status_bar"?he.showStatusMessage(i):e==="center"&&he.showQuickMessage(i)},showMessageBox(i,e){return new MessageBox(i,e).show()},async textPrompt(i,e,t,n={}){return typeof n=="string"&&(n={placeholder:n},console.warn("textPrompt: 4th argument is expected to be an object")),await new Promise(o=>{let r={text:{type:"text",full_width:!0,placeholder:n.placeholder,value:e,description:n.description}};n.info&&(r.description={type:"info",text:tl(n.info)}),new Dialog({id:"text_input",title:i||"dialog.input.title",form:r,onConfirm({text:s}){t&&t(s),o(s)},onOpen(){this.object.querySelector("input")?.focus()}}).show()})},addMenuEntry(i,e,t){console.warn("Blockbench.addMenuEntry is deprecated. Please use Actions instead.");let n=i.replace(/\s/g,"").toLowerCase();var a=new Action(n,{icon:e,name:i,click:t});MenuBar.addAction(a,"tools")},removeMenuEntry(i){let e=i.replace(/\s/g,"").toLowerCase();MenuBar.removeAction("tools."+e)},openLink(i){window.open(i)},notification(i,e,t){Notification.requestPermission().then(n=>{if(n=="granted"){let a=new Notification(i,{body:e,icon:t||"favicon.png"});a.onclick=function(){window.focus()}}})},addCSS(i,e="plugin"){let t=document.createElement("style");t.setAttribute("type","text/css"),e!=""&&(i=`@layer ${e} {${i}}`),t.appendChild(document.createTextNode(i)),document.getElementsByTagName("head")[0].appendChild(t);function n(a){this.delete=function(){a.remove()}}return new n(t)},addFlag(i){this.flags[i]=!0},removeFlag(i){delete this.flags[i]},hasFlag(i){return this.flags[i]},dispatchEvent(i,e){let t=this.events[i],n;if(t){n=[];for(let a=0;a<t.length;a++)if(typeof t[a]=="function"){let o=t[a](e);n.push(o)}}return Validator.triggers.includes(i)&&Validator.validate(i),n},on(i,e){return Qs.prototype.on.call(this,i,e)},once(i,e){return Qs.prototype.once.call(this,i,e)},addListener(i,e){return Qs.prototype.addListener.call(this,i,e)},removeListener(i,e){return Qs.prototype.removeListener.call(this,i,e)},onUpdateTo(i,e){Dm&&vo.compare(i,">",Dm)&&!he.isOlderThan(i)&&e(Dm)},Format:0,Project:0,get Undo(){return he.Project instanceof ModelProject?he.Project.undo:void 0},import:bn.importFile,importFile:bn.importFile,pickDirectory:bn.pickDirectory,read:bn.readFile,readFile:bn.readFile,export:bn.exportFile,exportFile:bn.exportFile,writeFile:bn.writeFile,findFileFromContent:bn.findFileFromContent,addDragHandler:bn.addDragHandler,removeDragHandler:bn.removeDragHandler};(function(){!Dm||Dm.replace(/.\d+$/,"")!="5.1.6".replace(/.\d+$/,"")?he.addFlag("after_update"):Dm!="5.1.6"&&he.addFlag("after_patch_update");try{let i=JSON.parse(localStorage.getItem("settings")).interface_mode.value;i=="desktop"&&(he.isMobile=!1),i=="mobile"&&(he.isMobile=!0)}catch{}})();var Aie={LastVersion:Dm,Blockbench:he,isApp:!1};Object.assign(window,Aie);var Ow=class Ow{constructor(e,t){W(this,"before");W(this,"node");var n=this;typeof e=="object"&&(t=e,e=t.id),this.id=e,Ow.resizers[this.id]=this,this.horizontal=t.horizontal===!0,this.position=t.position,this.condition=t.condition,this.width=0,this.get=t.get,this.set=t.set,this.reset=t.reset,this.node=document.createElement("div"),this.node.className="resizer "+(t.horizontal?"horizontal":"vertical"),this.node.id="resizer_"+this.id,this.node.addEventListener("pointerdown",a=>{this.before=this.get(),this.node.classList.add("dragging");let o=s=>{let l=n.horizontal?s.clientY-a.clientY:s.clientX-a.clientX;this.set(n.before,l),updateInterface(),this.update(),Blockbench.setCursorTooltip(Math.round(this.get()).toString())},r=s=>{document.removeEventListener("pointermove",o,!1),document.removeEventListener("pointerup",r,!1),updateInterface(),this.update(),this.node.classList.remove("dragging"),Blockbench.setCursorTooltip()};document.addEventListener("pointermove",o,!1),document.addEventListener("pointerup",r,!1)}),this.reset&&this.node.addEventListener("dblclick",a=>{this.reset(),updateInterface(),this.update()})}update(){Condition(this.condition)?($(this.node).show(),this.position&&this.position.call(this,this)):$(this.node).hide()}setPosition(e){this.node.style.top=e.top!==void 0?e.top+"px":"",this.node.style.bottom=e.bottom!==void 0?e.bottom+"px":"",this.node.style.left=e.left!==void 0?e.left+"px":"",this.node.style.right=e.right!==void 0?e.right+"px":"",e.top!==void 0&&(this.node.style.top=e.top+"px"),e.bottom!==void 0&&(!this.horizontal||e.top===void 0)&&(this.node.style.bottom=e.bottom+"px"),e.left!==void 0&&(this.node.style.left=e.left+"px"),e.right!==void 0&&(this.horizontal||e.left===void 0)&&(this.node.style.right=e.right+"px")}};W(Ow,"resizers",{});var Ss=Ow;function d4(){new Ss("left",{condition(){if(Blockbench.isMobile||!mn.show_left_bar||!Mode.selected)return!1;for(let i of Interface.getLeftPanels(!1))if(i&&BARS.condition(i.condition)&&i.slot=="left_bar")return!0},get(){return Interface.left_bar_width},set(i,e){let t=128,n=limitNumber(i+e,t,window.innerWidth-120-Interface.right_bar_width);Interface.getModeData().left_bar_width=Math.snapToValues(n,[Interface.default_data.left_bar_width],16),n==t?(mn.show_left_bar=!1,Interface.getModeData().left_bar_width=Interface.default_data.left_bar_width):mn.show_left_bar=!0},reset(){Interface.getModeData().left_bar_width=Interface.default_data.left_bar_width,mn.show_left_bar=!0},position(){this.setPosition({top:0,bottom:0,left:Interface.left_bar_width+2})}}),new Ss("right",{condition(){if(Blockbench.isMobile||!mn.show_right_bar||!Mode.selected)return!1;for(let i of Interface.getRightPanels(!1))if(i&&BARS.condition(i.condition)&&i.slot=="right_bar")return!0},get(){return Interface.right_bar_width},set(i,e){let t=128,n=limitNumber(i-e,t,window.innerWidth-120-Interface.left_bar_width);Interface.getModeData().right_bar_width=Math.snapToValues(n,[Interface.default_data.right_bar_width],12),n==t?(mn.show_right_bar=!1,Interface.getModeData().right_bar_width=Interface.default_data.right_bar_width):mn.show_right_bar=!0},reset(){Interface.getModeData().right_bar_width=Interface.default_data.right_bar_width,mn.show_right_bar=!0},position(){this.setPosition({top:30,bottom:0,right:Interface.right_bar_width-2})}}),new Ss("quad_view_x",{condition(){return Preview.split_screen.enabled&&Preview.split_screen.mode!="double_horizontal"},get(){return Interface.data.quad_view_x},set(i,e){Interface.data.quad_view_x=limitNumber(i+e/Interface.preview.clientWidth*100,5,95)},reset(){Interface.data.quad_view_x=Interface.default_data.quad_view_x},position(){let i=Interface.preview;if(!i)return;let e=Interface.center_screen.offsetTop,t=window.innerHeight-(i.clientHeight+$(i).offset().top),n=Interface.left_bar_width+3+i.clientWidth*Interface.data.quad_view_x/100;Preview.split_screen.mode=="triple_top"?e=e+i.clientHeight*(Interface.data.quad_view_y/100):Preview.split_screen.mode=="triple_bottom"&&(t=t+i.clientHeight*(1-Interface.data.quad_view_y/100)),this.setPosition({top:e,bottom:t,left:n})}}),new Ss("quad_view_y",{horizontal:!0,condition(){return Preview.split_screen.enabled&&Preview.split_screen.mode!="double_vertical"},get(){return Interface.data.quad_view_y},set(i,e){Interface.data.quad_view_y=limitNumber(i+e/Interface.preview.clientHeight*100,5,95)},reset(){Interface.data.quad_view_y=Interface.default_data.quad_view_y},position(){let i=Interface.preview;if(!i)return;let e=Interface.left_bar_width+2,t=Interface.right_bar_width+2,n=Interface.center_screen.offsetTop+Interface.preview.clientHeight*Interface.data.quad_view_y/100;Preview.split_screen.mode=="triple_left"?e=e+i.clientWidth*(Interface.data.quad_view_x/100):Preview.split_screen.mode=="triple_right"&&(t=t+i.clientWidth*(1-Interface.data.quad_view_x/100)),this.setPosition({left:e,right:t,top:n})}}),new Ss("top",{horizontal:!0,condition(){return!Blockbench.isMobile&&!!Interface.getTopPanel()},get(){let i=Interface.getTopPanel();return i.folded?i.tab_bar.clientHeight:i.height},set(i,e){let t=Interface.getTopPanel();t.position_data.height=Math.max(i+e,150),t.folded&&t.fold(!1),t.update(),Interface.getBottomPanel()&&Interface.getBottomPanel().update()},position(){this.setPosition({left:Interface.left_bar_width+2,right:Interface.right_bar_width+2,top:this.get()+Interface.center_screen.offsetTop+4})}}),new Ss("bottom",{horizontal:!0,condition(){return!Blockbench.isMobile&&!!Interface.getBottomPanel()},get(){let i=Interface.getBottomPanel();return i.folded?i.tab_bar.clientHeight:i.height},set(i,e){let t=Interface.getBottomPanel();t.position_data.height=Math.max(i-e,150),t.folded&&t.fold(!1),t.update(),Interface.getTopPanel()&&Interface.getTopPanel().update()},position(){this.setPosition({left:Interface.left_bar_width+2,right:Interface.right_bar_width+2,top:Interface.work_screen.clientHeight-document.getElementById("status_bar").clientHeight-this.get()})}}),new Ss("timeline_head",{horizontal:!1,condition(){return Modes.animate&&!Blockbench.isMobile},get(){return Interface.data.timeline_head},set(i,e){let t=limitNumber(i+e,90,Panels.timeline.node.clientWidth-40);t=Math.snapToValues(t,[Interface.default_data.timeline_head],12),Interface.data.timeline_head=Timeline.vue.$data.head_width=t},reset(){Interface.data.timeline_head=Interface.default_data.timeline_head},position(){let i=$(Panels.timeline.vue.$el).offset();this.setPosition({left:i.left+2+Interface.data.timeline_head,top:i.top-Interface.work_screen.offsetTop+30,bottom:Interface.work_screen.clientHeight-i.top+Interface.work_screen.offsetTop-Panels.timeline.vue.$el.clientHeight+10})}})}var Cie={ResizeLine:Ss};Object.assign(window,Cie);var Xe={default_data:{left_bar_width:366,right_bar_width:314,quad_view_x:50,quad_view_y:50,timeline_head:he.isMobile?140:196,modes:{}},get left_bar_width(){return Prop.show_left_bar&&Xe.getLeftPanels(!1).length?Xe.getModeData()?.left_bar_width??Xe.data.left_bar_width:0},get right_bar_width(){return Prop.show_right_bar&&Xe.getRightPanels(!1).length?Xe.getModeData()?.right_bar_width??Xe.data.right_bar_width:0},get top_panel_height(){return 1},get bottom_panel_height(){return 1},getTopPanel(){for(let i in Panels){let e=Panels[i];if(e.slot=="top"&&Condition(e.condition))return e}},getBottomPanel(){for(let i in Panels){let e=Panels[i];if(e.slot=="bottom"&&Condition(e.condition))return e}},getLeftPanels(i=!0){return Xe.calculateSidebarOrder("left_bar",i).map(e=>this.Panels[e])},getRightPanels(i=!0){return Xe.calculateSidebarOrder("right_bar",i).map(e=>this.Panels[e])},calculateSidebarOrder(i,e=!0){let t=[];for(let n in Xe.Panels){let a=Xe.Panels[n];a.slot==i&&Condition(a)&&(a.attached_to||t.push(a.id))}return e&&t.sort((n,a)=>{let o=Panels[n].position_data.sidebar_index,r=Panels[a].position_data.sidebar_index;return(o??0)-(r??0)}),t},getUIMode(){let i=Mode.selected&&Mode.selected.id;return i||(i="start"),i=="paint"&&Format.image_editor&&(i="paint_2d"),i},getModeData(i=Xe.getUIMode()){if(i&&i!="start"){Xe.data.modes[i]||(Xe.data.modes[i]={});let e=Xe.data.modes[i];return e.left_bar_width==null&&(e.left_bar_width=Xe.data.left_bar_width),e.right_bar_width==null&&(e.right_bar_width=Xe.data.right_bar_width),e}else return Xe.data},Resizers:Ss.resizers,CustomElements:{},status_bar:{},Panels:{},createElement(i,e={},t){let n=document.createElement(i);for(let a in e){let o=e[a];o!==void 0&&(a.startsWith("@")?n.addEventListener(a.substring(1),o):n.setAttribute(a,e[a]))}return typeof t=="string"&&(n.textContent=t),t instanceof Array&&t.forEach(a=>n.append(a)),t instanceof HTMLElement&&n.append(t),n},toggleSidebar(i,e){e==null&&(e=!Prop[`show_${i}_bar`]),Prop[`show_${i}_bar`]=!!e,Wc()}};(function(){Xe.data=$.extend(!0,{},Xe.default_data);var i=localStorage.getItem("interface_data");if(i)try{i=JSON.parse(i),$.extend(!0,Xe.data,i)}catch(e){console.error(e)}})();function u4(i){if(open_menu&&!i.target.classList.contains("contextMenu")&&$(".contextMenu").find(i.target).length===0&&$(".menu_bar_point.opened:hover").length===0&&!document.getElementById("mobile_menu_bar")?.contains(i.target)){let e=function(t){delete Menu.closed_in_this_click,document.removeEventListener("click",e)};Menu.closed_in_this_click=open_menu.id,open_menu.hide(),document.addEventListener("click",e)}Dialog.open instanceof ConfigDialog&&!Dialog.open.object.contains(i.target)&&(!Menu.open||!Menu.open.node.contains(i.target))&&Dialog.open.close(),ActionControl.open&&$("#action_selector").find(i.target).length===0&&(!open_menu||open_menu instanceof BarMenu)&&ActionControl.hide(),$(i.target).is("input.cube_name:not([disabled])")===!1&&he.hasFlag("renaming")&&stopRenameOutliner(),ReferenceImageMode.active&&![i.target,i.target.parentNode,i.target.parentNode?.parentNode,i.target.parentNode?.parentNode?.parentNode,i.target.parentNode?.parentNode?.parentNode?.parentNode].find(e=>e?.classList?.contains("reference_image"))&&!ReferenceImageMode.toolbar.node.contains(i.target)&&!Dialog.open&&!open_menu&&ReferenceImageMode.deactivate(),he.dispatchEvent("unselect_interface",{event:i})}function Pie(){if(Tw(),he.isMobile&&document.body.classList.add("is_mobile"),he.isLandscape&&document.body.classList.add("is_landscape"),he.isTouch&&document.body.classList.add("is_touch"),document.getElementById("title_bar_home_button").title=tl("projects.start_screen"),document.getElementById("center").classList.toggle("checkerboard",settings.preview_checkerboard.value),document.body.classList.toggle("mobile_sidebar_left",settings.mobile_panel_side.value=="left"),d4(),setupPanels(),Xe.status_bar.menu=new Menu(["project_window","open_model_folder","view_backups","save","cancel_gif"]),he.isMobile)setupMobilePanelSelector(),Prop.show_right_bar=!1,Prop.show_left_bar=!1;else{let n=document.getElementById("panel_selector_bar");n&&n.remove()}for(var i in Xe.Resizers){var e=Xe.Resizers[i];$("#work_screen").append(e.node)}he.isMobile&&document.getElementById("preview").append(document.querySelector(".toolbar_wrapper.narrow.tools")),$(document).on("mouseenter",".tool",function(){var n=$(this).find("div.tooltip");!n||typeof n.offset()!="object"||(n.css("left")==="-4px"&&n.css("left","auto"),-n.offset().left>4&&n.css("left","-4px"),n.css("right")==="-4px"&&n.css("right","auto"),n.offset().left+n.width()-window.innerWidth>4?n.css("right","-4px"):$(this).parent().css("position")=="relative"&&n.css("right","0"))}),StateMemory.get("viewport_background_color")&&document.body.style.setProperty("--custom-preview-background",StateMemory.get("viewport_background_color")),(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document)&&document.addEventListener("touchstart",n=>{if(n.touches.length!=1)return;let a=n.touches[0],o=Date.now(),r=s=>{document.removeEventListener("touchend",r);let l=s.changedTouches[0];if(!(Math.pow(a.clientX-l.clientX,2)+Math.pow(a.clientY-l.clientY,2)>50||(Date.now()-o)/1e3<.5)&&n.target instanceof HTMLElement){let u=Object.assign({},s);u.clientX=l.clientX,u.clientY=l.clientY;let p=new PointerEvent("contextmenu",u),m=n.target;for(let _=0;_<5&&!(!(m instanceof HTMLElement)||(m.dispatchEvent(p),Menu.open)||p.cancelBubble==!0);_++)m=m.parentNode}};document.addEventListener("touchend",r)}),Xe.preview.addEventListener("click",n=>setActivePanel(Format.image_editor?"uv":"preview")),Xe.work_screen.addEventListener("dblclick",n=>{if(settings.double_click_select_reference.value==!1)return;let a=ReferenceImage.active.find(o=>o.projectMouseCursor(n.clientX,n.clientY));if(a){if(document.querySelector(".preview > canvas:hover")){if(Preview.selected.raycast(n))return}else if(document.querySelector("#preview:hover"))return;a.select()}}),$(Panels.timeline.node).mousedown(n=>{setActivePanel("timeline")}),addEventListeners(document,"mousedown touchstart",u4),window.addEventListener("resize",Wc),window.addEventListener("orientationchange",()=>{setTimeout(Wc,100)}),rc(),Xe.text_edit_menu=new Menu([{id:"copy",name:"action.copy",icon:"fa-copy",click(){document.execCommand("copy")}},{id:"paste",name:"action.paste",icon:"fa-paste",click(){document.execCommand("paste")}}]),document.oncontextmenu=function(n){if(!$(n.target).hasClass("allow_default_menu")&&(!he.isTouch||!(n instanceof TouchEvent)))return n.target.nodeName==="INPUT"&&$(n.target).is(":focus")&&Xe.text_edit_menu.open(n,n.target),!1},$('input[type="range"]').on("wheel",function(){var n=$(event.target),a=event.deltaY>0?-1:1,o=parseFloat(n.val())+parseFloat(n.attr("step"))*a;if(o=limitNumber(o,n.attr("min"),n.attr("max")),n.attr("trigger_type")){DisplayMode.scrollSlider(n.attr("trigger_type"),o,n);return}n.val(o)}),document.addEventListener("pointermove",n=>{mouse_pos.x=n.clientX,mouse_pos.y=n.clientY,Xe.cursor_tooltip?.textContent&&p4(n)}),Lw()}function p4(i){let t=(i?i.pointerType=="touch":he.isTouch)?-72:0;Xe.cursor_tooltip.style.left=mouse_pos.x+"px",Xe.cursor_tooltip.style.top=mouse_pos.y+t+"px"}function Lw(){BARS.updateConditions(),MenuBar.update(),updatePanelSelector(),Wc(),localStorage.setItem("interface_data",JSON.stringify(Xe.data)),delete TickUpdates.interface}function Wc(i){if(!(!Preview.all||i&&i.target&&i.target!==window)){he.isLandscape=window.innerWidth>window.innerHeight,document.body.classList.toggle("is_landscape",he.isLandscape),Xe.data&&updateInterfacePanels(),Preview.all.forEach(function(t){t.canvas.isConnected&&(t.resize(),!settings.background_rendering.value&&!document.hasFocus()&&!document.querySelector("#preview:hover")&&t.render())}),ReferenceImage.active.forEach(t=>t.updateTransform()),Outliner.elements.forEach(t=>{t.preview_controller.updateWindowSize&&t.preview_controller.updateWindowSize(t)}),Format.image_editor&&UVEditor.updateSize();var e=$("dialog#"+open_dialog);e.length&&(e.outerWidth()+e.offset().left>window.innerWidth&&e.css("left",limitNumber(window.innerWidth-e.outerWidth(),0,4e3)+"px"),e.outerHeight()+e.offset().top>window.innerHeight&&e.css("top",limitNumber(window.innerHeight-e.outerHeight(),0,4e3)+"px")),he.dispatchEvent("resize_window",i)}}function rc(i){let e="Blockbench";i==null&&Project.name&&(i=Project.name),i?(Project&&(Prop.file_name=Prop.file_name_alt=i,Project.name||(Project.name=i),Format.bone_rig&&(i=i.replace(/^geometry\./,"").replace(/:[a-z0-9.]+/,""))),e=i+" - Blockbench"):Prop.file_name=Prop.file_name_alt="",Project&&!Project.saved&&(e="\u25CF "+e),document.title=e,he.isMobile||(document.getElementById("header_free_bar").innerText=e)}function Bie(i){if(Prop.active_panel==="uv"){var e=UVEditor.zoom;switch(i){case"in":e*=1.5;break;case"out":e*=.66;break;case"reset":e=1;break}UVEditor.setZoom(e),i=="reset"&&(Project.uv_viewport.offset.V2_set(0,0),UVEditor.loadViewportOffset())}else if(Prop.active_panel=="timeline"){let t=document.getElementById("timeline_body"),n=Timeline.vue.scroll_left+(t.clientWidth-Timeline.vue.head_width)/2;if(i=="reset"){let a=Timeline.vue._data.size;Timeline.vue._data.size=200,t.scrollLeft+=(Timeline.vue._data.size-a)*(n/a)}else{let a=i=="in"?1.2:.8,o=Timeline.vue._data.size,r=limitNumber(Timeline.vue._data.size*a,10,1e3);Timeline.vue._data.size=r,t.scrollLeft+=(r-o)*(n/o)}}else switch(i){case"in":Preview.selected.controls.dollyIn(1.16);break;case"out":Preview.selected.controls.dollyOut(1.16);break}}function m4(i,e,t){!i||i==="main"?Prop.progress=e:$("#"+i+" > .progress_bar_inner").animate({width:e*488},t-1)}function Rie(){$(":hover").find(".tooltip_shift").css("display","inline")}$(document).keyup(function(i){i.which===16&&$(".tooltip_shift").hide()});Xe.CustomElements.ResizeLine=Ss;Xe.CustomElements.SelectInput=function(i,e){function t(s){return s?tl(s.name||s):""}let n=typeof e.options=="function"?e.options():e.options,a=e.value||e.default||Object.keys(n).find(s=>n[s]),o=Xe.createElement("div",{id:i,class:"bb-select half",value:a},t(n[a]));function r(s,l,c){l||(l=typeof e.options=="function"?e.options():e.options),a=s,o.setAttribute("value",s),o.textContent=t(l[s]),typeof e.onChange=="function"&&e.onChange(a),c&&typeof e.onInput=="function"&&e.onInput(a,c)}o.addEventListener("click",function(s){if(Menu.closed_in_this_click==i)return this;let l=[],c=typeof e.options=="function"?e.options():e.options;for(let u in c){let p=c[u];if(p){if(p instanceof MenuSeparator){l.push(p);continue}l.push({name:t(c[u]),icon:p.icon||(a==u?"far.fa-dot-circle":"far.fa-circle"),color:p.color,condition:p.condition,click:(m,_)=>{r(u,c,_||1)}})}}let d=new Menu(i,l,{searchable:l.length>16});d.node.style["min-width"]=o.clientWidth+"px",d.open(o)}),this.node=o,this.set=r};Xe.CustomElements.NumericInput=function(i,e){let t=Xe.createElement("input",{id:i,class:"dark_bordered focusable_input",value:e.value||0,inputmode:e.min>=0?"decimal":""}),n=Xe.createElement("div",{class:"tool numeric_input_slider"},he.getIconNode("code"));this.node=Xe.createElement("div",{class:"numeric_input"},[t,n]),e.readonly&&(t.readOnly=!0,n.remove()),addEventListeners(n,"mousedown touchstart",a=>{if(e.readonly)return;convertTouchEvent(a);let o=0,r=l=>{convertTouchEvent(l);let c=Math.trunc((l.clientX-a.clientX)/10)*(e.step||1);if(c!=o){let d=Math.clamp((parseFloat(t.value)||0)+(c-o),e.min,e.max);t.value=trimFloatNumber(d,8),e.onChange&&e.onChange(NumSlider.MolangParser.parse(t.value),l),o=c}},s=l=>{removeEventListeners(document,"mousemove touchmove",r),removeEventListeners(document,"mouseup touchend",s)};addEventListeners(document,"mousemove touchmove",r),addEventListeners(document,"mouseup touchend",s)}),Object.defineProperty(this,"value",{get(){return Math.clamp(NumSlider.MolangParser.parse(t.value),e.min,e.max)},set(a){t.value=trimFloatNumber(a,8)}}),addEventListeners(t,"focusout dblclick",()=>{e.readonly||(t.value=Math.clamp(NumSlider.MolangParser.parse(t.value),e.min,e.max))}),t.addEventListener("input",a=>{e.onChange&&e.onChange(Math.clamp(NumSlider.MolangParser.parse(t.value),e.min,e.max),a)})};function Nw(i){if(Menu.closed_in_this_click=="mobile_keyboard")return;let e=["ctrl","shift","alt"];new Menu("mobile_keyboard",[...e.map(n=>{let a=tl(`keys.${n}`);return Xe.status_bar.vue.modifier_keys[n].length&&(a+=" ("+tl(Xe.status_bar.vue.modifier_keys[n].last())+")"),{name:a,icon:Pressing.overrides[n]?"check_box":"check_box_outline_blank",click(){Pressing.overrides[n]=!Pressing.overrides[n]}}}),"_",{icon:"clear_all",name:"menu.mobile_keyboard.disable_all",condition:()=>{let{length:n}=[Pressing.overrides.ctrl,Pressing.overrides.shift,Pressing.overrides.alt].filter(a=>a);return n},click(){Pressing.overrides.ctrl=!1,Pressing.overrides.shift=!1,Pressing.overrides.alt=!1}}]).open(i)}he.setCursorTooltip=function(i){Xe.cursor_tooltip||(Xe.cursor_tooltip=Xe.createElement("div",{id:"cursor_tooltip"})),i?(Xe.cursor_tooltip.textContent=i,Xe.cursor_tooltip.parentNode||(document.body.append(Xe.cursor_tooltip),p4())):(Xe.cursor_tooltip.textContent="",Xe.cursor_tooltip.remove())};he.setProgress=function(i,e=0,t){m4(t,i??0,e)};onVueSetup(function(){Xe.status_bar.vue=new Vue({el:"#status_bar",data:{Prop,isMobile:he.isMobile,streamer_mode:settings.streamer_mode.value,selection_info:"",Format:null,show_modifier_keys:settings.status_bar_modifier_keys.value,warnings:Validator.warnings,errors:Validator.errors,modifier_keys:{ctrl:[],shift:[],alt:[]},modifiers:he.isTouch&&!he.isMobile&&Pressing.overrides,keyboard_menu_in_status_bar:he.isTouch&&!he.isMobile},methods:{showContextMenu(i){Xe.status_bar.menu.show(i)},toggleStreamerMode(){ActionControl.select(`setting: ${tl("settings.streamer_mode")}`)},updateSelectionInfo(){let i=BarItems.selection_mode.value,e=BarItems.spline_selection_mode.value;if(Modes.edit&&Mesh.selected.length&&i!=="object"){if(i=="face"){let t=0,n=0;Mesh.selected.forEach(a=>{t+=Object.keys(a.faces).length,n+=a.getSelectedFaces().length}),this.selection_info=tl("status_bar.selection.faces",`${n} / ${t}`)}if(i=="edge"){let t=0,n=0;Mesh.selected.forEach(a=>{let o=[];a.forAllFaces(r=>{let s=r.getSortedVertices();s.forEach((l,c)=>{let d=s[c+1]||s[0];o.find(u=>u.includes(l)&&u.includes(d))||(o.push([l,d]),t+=1)})}),n+=a.getSelectedEdges().length}),this.selection_info=tl("status_bar.selection.edges",`${n} / ${t}`)}if(i=="vertex"){let t=0,n=0;Mesh.selected.forEach(a=>t+=Object.keys(a.vertices).length),Mesh.selected.forEach(a=>n+=a.getSelectedVertices().length),this.selection_info=tl("status_bar.selection.vertices",`${n} / ${t}`)}}else if(Modes.edit&&SplineMesh.selected.length&&e!=="object"){if(e=="handles"){let t=0,n=0;SplineMesh.selected.forEach(a=>t+=Object.keys(a.vertices).length),SplineMesh.selected.forEach(a=>n+=a.getSelectedVertices().length),this.selection_info=tl("status_bar.selection.vertices",`${n} / ${t}`)}e=="tilt"&&(this.selection_info="")}else this.selection_info=""},clickModifiers(){ActionControl.select(`setting: ${tl("settings.status_bar_modifier_keys")}`)},openValidator(){Validator.openDialog()},openKeyboardMenu(){Nw(this.$refs.mobile_keyboard_menu)},toggleSidebar:Xe.toggleSidebar,getIconNode:he.getIconNode,tl},template:`
<div id="status_bar" @contextmenu="showContextMenu($event)">
<div class="sidebar_toggle_button" v-if="!isMobile" @click="toggleSidebar('left')" title="${tl("status_bar.toggle_sidebar")}">
<i class="material-icons">{{Prop.show_left_bar ? 'chevron_left' : 'chevron_right'}}</i>
</div>
<div class="f_left" v-if="streamer_mode"
style="background-color: var(--color-stream); color: var(--color-light);"
@click="toggleStreamerMode()"
title="${tl("interface.streamer_mode_on")}"
>
<i class="material-icons">live_tv</i>
</div>
<div v-if="Format" v-html="getIconNode(Format.icon).outerHTML" v-bind:title="Format.name"></div>
<div v-if="Prop.recording" v-html="getIconNode('fiber_manual_record').outerHTML" style="color: var(--color-close)" title="${tl("status_bar.recording")}"></div>
<div id="status_name">
{{ Prop.file_name }}
</div>
<div id="status_message" class="hidden"></div>
<template v-if="show_modifier_keys && !isMobile">
<div class="status_bar_modifier_key" v-if="modifier_keys.ctrl.length" @click="clickModifiers()">
<kbd>${tl(he.platform=="darwin"?"keys.meta":"keys.ctrl")}</kbd>
<span>{{ tl(modifier_keys.ctrl.last()) }}</span>
</div>
<div class="status_bar_modifier_key" v-if="modifier_keys.shift.length" @click="clickModifiers()">
<kbd>${tl("keys.shift")}</kbd>
<span>{{ tl(modifier_keys.shift.last()) }}</span>
</div>
<div class="status_bar_modifier_key" v-if="modifier_keys.alt.length" @click="clickModifiers()">
<kbd>${tl(nc?"keys.option":"keys.alt")}</kbd>
<span>{{ tl(modifier_keys.alt.last()) }}</span>
</div>
</template>
<div class="status_selection_info">{{ selection_info }}</div>
<div class="f_right" id="validator_status" v-if="warnings.length || errors.length" @click="openValidator()">
<span v-if="warnings.length" style="color: var(--color-warning)">{{ warnings.length }}<i class="material-icons">warning</i></span>
<span v-if="errors.length" style="color: var(--color-error)">{{ errors.length }}<i class="material-icons">error</i></span>
</div>
<div id="status_bar_tool_controls" v-if="isMobile"></div>
<div v-if="keyboard_menu_in_status_bar" id="mobile_keyboard_menu" @click="openKeyboardMenu()" ref="mobile_keyboard_menu" :class="{enabled: modifiers.ctrl || modifiers.shift || modifiers.alt}">
<i class="material-icons">keyboard</i>
</div>
<div class="f_right fps_counter_display" v-if="!isMobile">
{{ Prop.fps }} FPS
</div>
<div class="sidebar_toggle_button" v-if="!isMobile" @click="toggleSidebar('right')" title="${tl("status_bar.toggle_sidebar")}">
<i class="material-icons">{{Prop.show_right_bar ? 'chevron_right' : 'chevron_left'}}</i>
</div>
<div id="status_progress" v-if="Prop.progress" v-bind:style="{width: Prop.progress*100+'%'}"></div>
</div>
`}),Xe.addSuggestedModifierKey=(i,e)=>{Xe.status_bar.vue.modifier_keys[i].safePush(e)},Xe.removeSuggestedModifierKey=(i,e)=>{Xe.status_bar.vue.modifier_keys[i].remove(e)}});BARS.defineActions(function(){new Action("reset_layout",{icon:"replay",category:"blockbench",click:function(){Xe.data=$.extend(!0,{},Xe.default_data);for(let i in Panels)Panels[i].resetCustomLayout();Prop.show_left_bar=!0,Prop.show_right_bar=!0,updateInterfacePanels(),he.dispatchEvent("reset_layout",{}),Wc()}})});Object.assign(window,{ResizeLine:Ss,Interface:Xe,unselectInterface:u4,setupInterface:Pie,updateInterface:Lw,resizeWindow:Wc,setProjectTitle:rc,setZoomLevel:Bie,setProgressBar:m4,showShiftTooltip:Rie,openTouchKeyboardModifierMenu:Nw});var Lb=class Lb{constructor(e,t){W(this,"id");W(this,"icon");W(this,"name");W(this,"description");W(this,"category");W(this,"target");W(this,"show_on_start_screen");W(this,"confidential");W(this,"condition");W(this,"format_page");W(this,"plugin");W(this,"onFormatPage");W(this,"onStart");this.id=e,this.name=tl(t.name),this.description=t.description?tl(t.description):"",this.icon=t.icon||"arrow_forward",this.category=t.category||"loaders",this.target=t.target||"",this.show_on_start_screen=t.show_on_start_screen??!0,this.confidential=t.confidential||!1,this.condition=t.condition,this.plugin=t.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),this.format_page=t.format_page,this.onFormatPage=t.onFormatPage,this.onStart=t.onStart,Mn.default.set(Lb.loaders,e,this),this.format_page&&this.format_page.component&&Mn.default.component(`format_page_${this.id}`,this.format_page.component),Blockbench.dispatchEvent("construct_model_loader",{loader:this})}new(){this.onStart()}delete(){Mn.default.delete(Lb.loaders,this.id),Blockbench.dispatchEvent("delete_model_loader",{loader:this})}};W(Lb,"loaders",{});var zs=Lb,jie={ModelLoader:zs};Object.assign(window,jie);var Rr=class extends Menu{constructor(e,t,n={}){super(e,t,n),yn.menus[e]=this,this.type="bar_menu",this.id=e,this.children=[],this.condition=n.condition,this.node=document.createElement("ul"),this.node.className="contextMenu menu_bar_menu",this.node.style.minHeight="8px",this.node.style.minWidth="150px",this.icon=n.icon,this.name=tl(n.name||`menu.${e}`),this.label=Interface.createElement("li",{class:"menu_bar_point"},this.name),this.label.addEventListener("click",a=>{open_menu===this?this.hide():this.open()}),this.label.addEventListener("mouseenter",a=>{yn.open&&yn.open!==this&&this.open()}),this.structure=t,this.highlight_action=null}open(...e){super.open(...e),Blockbench.dispatchEvent("open_bar_menu",{menu:this})}hide(){return super.hide(),$(this.label).removeClass("opened"),yn.open=void 0,this.highlight_action=null,this.label.classList.remove("highlighted"),yn.last_opened==this&&document.getElementById("mobile_menu_bar")?.remove(),this}highlight(e){this.highlight_action=e,this.label.classList.add("highlighted")}delete(){super.delete(),this.label.remove(),delete yn.menus[this.id]}},yn={menus:{},open:void 0,last_opened:null,mode_switcher_button:null,setup(){if(yn.menues=yn.menus,new Rr("file",[new MenuSeparator("file_options"),"project_window",new MenuSeparator("open"),{name:"menu.file.new",id:"new",icon:"insert_drive_file",children:function(){let i=[],e=settings.streamer_mode.value;for(let t in Formats){let n=Formats[t];n.show_in_new_list!==!1&&i.push({id:n.id,name:e&&n.confidential?`[${tl("generic.redacted")}]`:n.name,icon:n.icon,description:n.description,click:a=>{n.new()}})}i.push(new MenuSeparator("loaders","format_category.loaders"));for(let t in zs.loaders){let n=zs.loaders[t];i.push({id:n.id,name:e&&n.confidential?`[${tl("generic.redacted")}]`:n.name,icon:n.icon,description:n.description,click:a=>{n.new()}})}return i}},{name:"menu.file.recent",id:"recent",icon:"history",condition(){return!1},searchable:!0,children(){var i=[];let e=settings.streamer_mode.value;for(let t of recent_projects){if(i.length>12)break;i.push({name:e?`[${tl("generic.redacted")}]`:t.name,path:t.path,description:e?"":t.path,icon:t.icon,click(n,a){Blockbench.read([t.path],{},o=>{loadModelFile(o[0])})}})}return recent_projects.length>12&&i.push("_",{name:"menu.file.recent.more",icon:"read_more",always_show:!0,click(t,n){ActionControl.select("recent: ")}}),i.length&&i.push("_",{name:"menu.file.recent.clear",icon:"clear",always_show:!0,click(t,n){recent_projects.empty(),updateRecentProjects()}}),i}},"open_model","open_from_link","new_window",new MenuSeparator("project"),"save_project","save_project_as","save_project_incremental","convert_project","close_project",new MenuSeparator("import_export"),{name:"menu.file.import",id:"import",icon:"insert_drive_file",condition:()=>Format&&!Format.pose_mode,children:[{id:"import_open_project",name:"menu.file.import.import_open_project",icon:"input",condition:()=>Project&&ModelProject.all.length>1,children(){let i=[];return ModelProject.all.forEach(e=>{e!=Project&&i.push({name:e.getDisplayName(!0),icon:e.format.icon,description:e.path,click(){let t=Project;e.select();let n=Codecs.project.compile();t.select(),Codecs.project.merge(JSON.parse(n))}})}),i}},"import_project","import_java_block_model","import_optifine_part","import_bedrock_attachable","import_bedrock_voxel_shape","import_obj","extrude_texture"]},{name:"generic.export",id:"export",icon:"insert_drive_file",condition:()=>Project,children:["export_blockmodel","export_bedrock","export_entity","export_bedrock_voxel_shape","export_class_entity","export_optifine_full","export_optifine_part","export_minecraft_skin","export_image","export_gltf","export_obj","export_fbx","export_stl","export_collada","export_legacy_project","export_modded_animations","upload_sketchfab","share_model"]},"export_over","export_asset_archive",new MenuSeparator("options"),{name:"menu.file.preferences",id:"preferences",icon:"tune",children:["settings_window","keybindings_window","theme_window",{id:"profiles",name:"data.settings_profile",icon:"manage_accounts",condition:()=>SettingsProfile.all.findIndex(i=>i.condition.type=="selectable")!=-1,children:()=>{let i=[{name:"generic.none",icon:SettingsProfile.selected?"far.fa-circle":"far.fa-dot-circle",click:()=>{SettingsProfile.unselect()}},"_"];return SettingsProfile.all.forEach(e=>{e.condition.type=="selectable"&&i.push({name:e.name,icon:e.selected?"far.fa-dot-circle":"far.fa-circle",color:markerColors[e.color%markerColors.length].standard,click:()=>{e.select()}})}),i}}]},"plugins_window","edit_session"],{icon:"draft"}),new Rr("edit",[new MenuSeparator("undo"),"undo","redo","edit_history",new MenuSeparator("add_element"),"add_element","add_group",new MenuSeparator("modify_elements"),"duplicate","rename","find_replace","unlock_everything","delete","apply_mirror_modeling",new MenuSeparator("mesh_specific"),new MenuSeparator("editing_mode"),"proportional_editing","mirror_modeling",new MenuSeparator("selection"),"select_window","select_all","unselect_all","invert_selection"],{icon:"edit"}),new Rr("transform",["scale",{name:"menu.transform.rotate",id:"rotate",icon:"rotate_90_degrees_ccw",children:["rotate_x_cw","rotate_x_ccw","rotate_y_cw","rotate_y_ccw","rotate_z_cw","rotate_z_ccw"]},{name:"menu.transform.flip",id:"flip",icon:"flip",children:["flip_x","flip_y","flip_z"]},{name:"menu.transform.center",id:"center",icon:"filter_center_focus",children:["center_x","center_y","center_z","center_lateral"]},{name:"menu.transform.properties",id:"properties",icon:"navigate_next",children:["toggle_visibility","toggle_locked","toggle_export","toggle_autouv","toggle_shade","toggle_mirror_uv"]}],{icon:"open_with",condition:{modes:["edit"]}}),new Rr("mesh",[new MenuSeparator("geometry"),"extrude_mesh_selection","inset_mesh_selection","loop_cut","create_face","invert_face","switch_face_crease","merge_vertices","dissolve_edges","solidify_mesh_selection","set_vertex_weights",new MenuSeparator("element"),"apply_mesh_rotation","split_mesh","merge_meshes"],{icon:"fa-gem",condition:{selected:{mesh:!0},modes:["edit"]}}),new Rr("skin",[new MenuSeparator("view"),"custom_skin_poses","add_custom_skin_pose",new MenuSeparator("edit"),"toggle_skin_layer","explode_skin_model","convert_minecraft_skin_variant"],{icon:"icon-player",condition:{formats:["skin"]}}),new Rr("uv",UVEditor.menu.structure,{condition:{modes:["edit"]},icon:"photo_size_select_large",onOpen(){setActivePanel("uv")}}),new Rr("image",[new MenuSeparator("adjustment"),"adjust_brightness_contrast","adjust_saturation_hue","adjust_opacity","invert_colors","adjust_curves",new MenuSeparator("filters"),"limit_to_palette","split_rgb_into_layers","split_alpha_into_layer","clear_unused_texture_space",new MenuSeparator("transform"),"flip_texture_x","flip_texture_y","rotate_texture_cw","rotate_texture_ccw","resize_texture","crop_texture_to_selection"],{icon:"image",condition:{modes:["paint"]}}),new Rr("animation",[new MenuSeparator("edit_options"),"animation_onion_skin","animation_onion_skin_selective","toggle_motion_trails","lock_motion_trail",new MenuSeparator("edit"),"add_marker","select_effect_animator","copy_animation_pose","flip_animation","optimize_animation","retarget_animators","bake_ik_animation","bake_animation_into_model","merge_animation",new MenuSeparator("file"),"load_animation_file","save_all_animations","export_animation_file"],{icon:"movie",condition:{modes:["animate"]}}),new Rr("keyframe",[new MenuSeparator("copypaste"),"copy","paste",new MenuSeparator("edit"),"add_keyframe","keyframe_column_create","select_all","keyframe_column_select","reverse_keyframes",{name:"menu.animation.flip_keyframes",id:"flip_keyframes",condition:()=>Timeline.selected.length,icon:"flip",children:["flip_x","flip_y","flip_z"]},"keyframe_uniform","reset_keyframe","round_keyframe_values","resolve_keyframe_expressions","delete"],{icon:"icon-keyframe",condition:{modes:["animate"]}}),new Rr("timeline",Timeline.menu.structure,{name:"panel.timeline",icon:"timeline",condition:{modes:["animate"],method:()=>!AnimationController.selected},onOpen(){setActivePanel("timeline")}}),new Rr("display",[new MenuSeparator("copypaste"),"copy","paste",new MenuSeparator("presets"),"add_display_preset","apply_display_preset"],{icon:"tune",condition:{modes:["display"]}}),new Rr("tools",[new MenuSeparator("overview"),{id:"main_tools",icon:"construction",name:"menu.tools.main_tools",condition:()=>Project,children(){let i=Toolbox.children.filter(n=>n instanceof Tool&&n.condition!==!1);i.forEach(n=>{let a=n.condition;n.condition=()=>(n.condition=a,!0)});let e=Object.keys(Modes.options);i.sort((n,a)=>(n.modes?e.indexOf(n.modes[0]):-1)-(a.modes?e.indexOf(a.modes[0]):-1));let t=i[0].modes?.[0];for(let n=0;n<i.length;n++)i[n].modes?.[0]!==t&&(t=i[n].modes?.[0],i.splice(n,0,"_"),n++);return i}},"swap_tools","action_control",new MenuSeparator("tools"),"predicate_overrides","convert_to_mesh","auto_set_cullfaces","remove_blank_faces","generate_voxel_shapes","generate_bedrock_block_box","generate_bedrock_entity_box","slice_bedrock_multiblock"],{icon:"handyman"}),yn.menus.filter=yn.menus.tools,new Rr("view",[new MenuSeparator("window"),"fullscreen",new MenuSeparator("interface"),{id:"panels",name:"menu.view.panels",icon:"web_asset",children(){let i=[],e=[];for(let t in Panels){let n=Panels[t];Condition(n.condition)&&e.push(n)}for(let t of e){let n={id:t.id,name:t.name,icon:t.icon,context:t,children:t.snap_menu.structure};i.push(n)}return i}},"toggle_sidebars","split_screen",new MenuSeparator("viewport"),"view_mode","toggle_shading","toggle_all_grids","toggle_ground_plane","preview_checkerboard","pixel_grid","painting_grid",new MenuSeparator("references"),"bedrock_animation_mode","preview_scene","edit_reference_images",new MenuSeparator("model"),"hide_everything_except_selection","focus_on_selection",{name:"menu.view.screenshot",id:"screenshot",icon:"camera_alt",children:[]},new MenuSeparator("media"),"screenshot_model","screenshot_app","advanced_screenshot","record_model_gif","timelapse"],{icon:"visibility"}),new Rr("help",[new MenuSeparator("search"),{name:"menu.help.search_action",description:BarItems.action_control.description,keybind:BarItems.action_control.keybind,id:"search_action",icon:"search",click:ActionControl.select},new MenuSeparator("links"),{name:"menu.help.quickstart",id:"quickstart",icon:"fas.fa-directions",click:()=>{Blockbench.openLink("https://blockbench.net/quickstart/")}},{name:"menu.help.discord",id:"discord",icon:"fab.fa-discord",condition:()=>!settings.classroom_mode.value,click:()=>{Blockbench.openLink("http://discord.blockbench.net")}},{name:"menu.help.wiki",id:"wiki",icon:"menu_book",click:()=>{Blockbench.openLink("https://blockbench.net/wiki/")}},{name:"menu.help.report_issue",id:"report_issue",icon:"bug_report",click:()=>{Blockbench.openLink("https://github.com/JannisX11/blockbench/issues")}},new MenuSeparator("backups"),"view_backups",new MenuSeparator("about"),{name:"menu.help.developer",id:"developer",icon:"fas.fa-wrench",children:["reload_plugins",{name:"menu.help.plugin_documentation",id:"plugin_documentation",icon:"fa-book",click:()=>{Blockbench.openLink("https://www.blockbench.net/wiki/docs/plugin")}},"open_dev_tools",{name:"Error Log",condition:()=>window.ErrorLog.length,icon:"error",color:"red",keybind:{toString:()=>window.ErrorLog.length.toString()},click(){let i=window.ErrorLog.map(t=>`${t.message}
- In .${t.file.split(location.origin).join("")} : ${t.line}`),e=i.slice(0,64).map(t=>Interface.createElement("p",{style:"word-break: break-word;"},t));new Dialog({id:"error_log",title:"Error Log",lines:e,buttons:["action.copy","dialog.close"],confirmIndex:1,cancelIndex:1,onButton(t){t==0&&Clipbench.setText(i.slice(0,256).join(`
`))}}).show()}},{name:"Expose Native Modules",icon:"terminal",condition:!1,click:()=>{null()}},{name:"menu.help.developer.reset_storage",icon:"fas.fa-hdd",click:()=>{factoryResetAndReload()}},{name:"menu.help.developer.unlock_projects",id:"unlock_projects",icon:"vpn_key",condition:()=>ModelProject.all.find(i=>i.locked),click(){ModelProject.all.forEach(i=>i.locked=!1)}},{name:"Uncorrupt Mesh",id:"uncorrupt_mesh",icon:"build",condition:()=>Mesh.hasSelected(),click(){uncorruptMesh()}},{name:"menu.help.developer.cache_reload",id:"cache_reload",icon:"cached",condition:!0,click:()=>{"caches"in window&&caches.keys().then(i=>{i.forEach(async e=>{await caches.delete(e)})}),window.location.reload(!0)}},"reload"]},"reset_layout","about_window"],{icon:"help"}),yn.update(),Blockbench.isMobile){let i=document.querySelector("header");document.getElementById("menu_bar").remove(),document.getElementById("header_free_bar").remove(),document.getElementById("corner_logo").remove();let e=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("menu"));e.addEventListener("click",c=>{yn.openMobile(e,c)});let t=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("search"));t.addEventListener("click",c=>{ActionControl.select()});let n=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("undo"));n.addEventListener("click",c=>{BarItems.undo.trigger()});let a=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("redo"));a.addEventListener("click",c=>{BarItems.redo.trigger()});let o=Interface.createElement("div",{class:"tool hidden",style:"margin-left: auto"},Blockbench.getIconNode("settings"));o.addEventListener("click",c=>{Modes.mobileModeMenu(o,c)}),yn.mode_switcher_button=o;let r=document.getElementById("title_bar_home_button"),s=document.getElementById("settings_profiles_header_menu");[e,t,s,r,n,a,,o].forEach(c=>{i.append(c)}),i.addEventListener("touchstart",c=>{convertTouchEvent(c);let d,u,p,m=f=>{convertTouchEvent(f);let g=f.clientY-c.clientY;if(g>16&&(d||(u=yn.openMobile(e),d=!0,p=g)),u){u.style.marginTop=Math.clamp(g-50,-60,0)+"px";for(let v of u.childNodes){if(!v.bbOpenMenu)continue;let b=u.offsetLeft+v.offsetLeft+v.clientWidth/2;if(Math.abs(b-f.clientX)<21){v.bbOpenMenu(f);break}}}},_=f=>{document.removeEventListener("touchmove",m),document.removeEventListener("touchend",_),u&&(u.style.marginTop="0",convertTouchEvent(f),f.clientY-c.clientY<p&&yn.open&&yn.open.hide())};document.addEventListener("touchmove",m),document.addEventListener("touchend",_)})}},openMobile(i,e){if(document.getElementById("mobile_menu_bar")){document.getElementById("mobile_menu_bar").remove();return}let t=Interface.createElement("label",{}),n=Interface.createElement("div",{id:"mobile_menu_bar"},t),a=[],o,r=(s,l)=>{a.forEach(c=>c.classList.remove("selected")),s.classList.add("selected"),t.innerText=l.name};for(let s in yn.menus){let l=yn.menus[s];if(s=="filter"||!Condition(l.condition))continue;let c=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode(l.icon)),d=u=>{yn.last_opened!=l&&(yn.last_opened=yn.open=l,l.open(o),r(c,l))};addEventListeners(c,"pointerdown touchmove",d),c.bbOpenMenu=d,a.push(c),n.append(c),(yn.last_opened==l||!yn.last_opened&&s=="file")&&setTimeout(()=>{yn.last_opened=l,l.open(o),r(c,l)},1)}return document.body.append(n),o={clientX:n.offsetLeft+7,clientY:n.offsetTop+n.clientHeight-1},n},addMenu(i,e){if(yn.menus[i.id]=i,e){let t=Object.keys(yn.menus);t.remove(i.id);let n=typeof e=="number"?e:t.indexOf(e)+1;t.splice(n,0,i.id);let a=Object.assign({},yn.menus);t.forEach(o=>delete yn.menus[o]),t.forEach(o=>yn.menus[o]=a[o])}yn.update()},update(){if(!Blockbench.isMobile){let e=document.getElementById("menu_bar");e.replaceChildren(),this.keys=[];for(var i in yn.menus)yn.menus.hasOwnProperty(i)&&yn.menus[i].conditionMet()&&(e.append(yn.menus[i].label),this.keys.push(i))}},addAction(i,e){if(e){e=e.split(".");var t=yn.menus[e.splice(0,1)[0]];t&&t.addAction(i,e.join("."))}},removeAction(i){if(i){i=i.split(".");var e=yn.menus[i.splice(0,1)[0]];e&&e.removeAction(i.join("."))}}};Object.assign(window,{BarMenu:Rr,MenuBar:yn});var qt={elements:[],types:{text:"text",display_slot:"display_slot",keyframe:"keyframe",animation:"animation",face:"face",mesh_selection:"mesh_selection",texture:"texture",layer:"layer",outliner:"outliner",texture_selection:"texture_selection",image:"image"},type_icons:{face:"aspect_ratio",mesh_selection:"fa-gem",outliner:"fas.fa-cube"},getCopyType(i,e){let t=Prop.active_panel,n;if(e||(n=getFocusedTextInput()&&window.getSelection()+""),n)return qt.types.text;if(Painter.selection.canvas&&Toolbox.selected.id=="copy_paste_tool")return qt.types.texture_selection;if(Modes.display)return qt.types.display_slot;if(Animator.open&&Prop.active_panel=="animations")return qt.types.animation;if(Animator.open&&(Timeline.animators.length||t=="timeline")&&(Timeline.selected.length||i===2)&&["keyframe","timeline","preview"].includes(t))return qt.types.keyframe;if(Modes.edit&&t=="preview"&&Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length&&(i!==2||qt.vertices)||i==2&&Modes.edit&&Format.meshes&&qt.last_copied=="mesh_selection"&&(t=="preview"||t=="outliner"))return qt.types.mesh_selection;if((t=="uv"||t=="preview")&&Modes.edit)return qt.types.face;if(t=="textures"&&(Texture.selected||i===2))return qt.types.texture;if(t=="layers"&&Texture.selected&&Texture.selected.selected_layer)return qt.types.layer;if(t=="outliner"&&Modes.edit)return qt.types.outliner;if(!Project)return qt.types.image},async getPasteType(){let i=Prop.active_panel;if(getFocusedTextInput())return qt.types.text;if(!Project)return qt.types.image;if(Painter.selection.canvas&&Toolbox.selected.id=="copy_paste_tool")return qt.types.texture_selection;if(Modes.display)return qt.types.display_slot;if(Animator.open&&Prop.active_panel=="animations")return qt.types.animation;if(Animator.open&&(Timeline.animators.length||i=="timeline")&&["keyframe","timeline","preview"].includes(i))return qt.types.keyframe;if(Modes.edit&&i=="preview"){let e=[];if((qt.elements.length||qt.groups)&&e.push(qt.types.outliner),Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length&&qt.vertices&&e.push(qt.types.mesh_selection),UVEditor.getMappableElements().length&&UVEditor.clipboard?.length&&e.push(qt.types.face),e.length>1&&e.includes(settings.preview_paste_behavior.value))return settings.preview_paste_behavior.value;if(e.length>1)return await new Promise((t,n)=>{new Menu(e.map(a=>({id:a,name:tl(`menu.paste.${a}`),icon:qt.type_icons[a],click(){t(a)}}))).show("mouse")});if(e[0])return e[0]}if(i=="uv"&&Modes.edit&&UVEditor.clipboard?.length)return qt.types.face;if(i=="textures")return qt.types.texture;if(i=="layers"&&Texture.selected&&Texture.selected.selected_layer)return qt.types.layer;if(i=="outliner"&&Modes.edit)return qt.types.outliner},copy(i,e){if(SharedActions.run("copy",i,e))return;let n=qt.getCopyType(1);switch(qt.last_copied=n,n){case"text":qt.setText(window.getSelection()+"");break;case"display_slot":DisplayMode.copy();break;case"animation":qt.setAnimation();break;case"keyframe":Timeline.selected.length&&(qt.setKeyframes(),e&&BarItems.delete.trigger());break;case"face":UVEditor.copy(i),Prop.active_panel=="uv"&&(qt.groups=void 0,qt.elements=[]);break;case"mesh_selection":UVEditor.copy(i),qt.setMeshSelection(Mesh.selected[0],i);break;case"texture":qt.setTexture(Texture.selected),e&&BarItems.delete.trigger();break}(n=="outliner"||n=="face"&&Prop.active_panel=="preview")&&(qt.setElements(),qt.setGroups(),Group.selected.length?qt.setGroups(Group.selected):qt.setElements(selected),e&&BarItems.delete.trigger(),Prop.active_panel=="outliner"&&(UVEditor.clipboard=[]))},async paste(i){if(!SharedActions.run("paste",i))switch(await qt.getPasteType()){case"text":let t=await navigator.clipboard.readText();Blockbench.dispatchEvent("paste_text",{text:t});break;case"texture_selection":UVEditor.addPastingOverlay();break;case"display_slot":DisplayMode.paste();break;case"animation":qt.pasteAnimation();break;case"keyframe":qt.pasteKeyframes();break;case"face":UVEditor.paste(i);break;case"mesh_selection":qt.pasteMeshSelection();break;case"texture":qt.pasteTextures();break;case"outliner":qt.pasteOutliner(i);break;case"image":qt.pasteImage(i);break}},setGroups(i){if(!i||!i.length){qt.groups=void 0;return}qt.groups=i.map(e=>e.getSaveCopy(!0))},setElements(i){if(!i){qt.elements=[];return}i.forEach(function(e){qt.elements.push(e.getSaveCopy())})},setText(i){navigator.clipboard?navigator.clipboard.writeText(i):document.execCommand("copy")},setMeshSelection(i){this.vertices={},this.faces={},i.getSelectedVertices().forEach(e=>{this.vertices[e]=i.vertices[e].slice()});for(let e in i.faces){let t=i.faces[e];t.isSelected(e)&&(this.faces[e]=new MeshFace(null,t))}},pasteMeshSelection(){let i=Mesh.selected.slice();Undo.initEdit({elements:i});let e;i.length||(e=new Mesh({name:"pasted",vertices:[]}),i.push(e));let t=BarItems.selection_mode.value;BarItems.selection_mode.change("vertex"),i.forEach(n=>{let a=Object.keys(this.vertices),o=a.map(s=>this.vertices[s]),r=n.addVertices(...o);for(let s in this.faces){let l=this.faces[s],c=new MeshFace(n,l);Property.resetUniqueValues(MeshFace,c);let d=c.vertices.map(u=>{let p=r[a.indexOf(u)];return c.uv[p]=c.uv[u],delete c.uv[u],p});c.vertices.replace(d),n.addFaces(c)}n.getSelectedVertices(!0).replace(r)}),e&&e.init().select(),BarItems.selection_mode.change(t),Undo.finishEdit("Paste mesh selection"),Canvas.updateView({elements:Mesh.selected,selection:!0})},pasteOutliner(i){let e=[];Undo.initEdit({outliner:!0,elements:[],groups:e,selection:!0});var t="root";if(Group.first_selected?(t=Group.first_selected,Group.first_selected.isOpen=!0):Outliner.selected[0]&&(t=Outliner.selected[0]),Outliner.selected.length=0,0){var n;try{var a}catch(o){}}if(qt.groups){let o=function(r,s){if(r.children){let c=new Group(r).addTo(s).init();return e.push(c),c.temp_data.old_name=c.name,c.createUniqueName(),Property.resetUniqueValues(Group,c),r.children&&r.children.length&&r.children.forEach(d=>{o(d,c)}),c}else if(OutlinerElement.isTypePermitted(r.type)){var l=OutlinerElement.fromSave(r).addTo(s).markAsSelected();return l.createUniqueName(),Property.resetUniqueValues(l.constructor,l),l.preview_controller.updateTransform(l),l}};for(let r of qt.groups)o(r,t).multiSelect()}else if(qt.elements&&qt.elements.length){let o=[],r={};for(let s of qt.elements){if(!OutlinerElement.isTypePermitted(s.type))continue;let l=new OutlinerElement.types[s.type](s),c=t instanceof OutlinerNode&&t.children?t:t.parent;canAddOutlinerNodesTo([l],c??Outliner.ROOT)&&(l.init(),l.addTo(t).markAsSelected(),l.createUniqueName(),Property.resetUniqueValues(l.constructor,l),typeof s.isOpen=="boolean"&&(l.isOpen=s.isOpen),r[s.uuid]=l,o.push(l))}for(let s of qt.elements)if(s.children&&r[s.uuid])for(let l of s.children){let c=r[l];c&&c.addTo(r[s.uuid])}Canvas.updateView({elements:o})}Format.rotate_cubes||(elements.forEach(o=>{o.getTypeBehavior("cube_rotation_limit")&&o.rotation.V3_set(0,0,0)}),Canvas.updateView({elements,element_aspects:{transform:!0}})),Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&(elements.forEach(o=>{o.getTypeBehavior("cube_rotation_limit")&&Format.cube_size_limiter.move(o)}),Canvas.updateView({elements,element_aspects:{transform:!0,geometry:!0}})),Format.rotation_limit&&Format.rotate_cubes&&(elements.forEach(o=>{if(o.getTypeBehavior("cube_rotation_limit")&&!o.rotation.allEqual(0)){var r=getAxisNumber(o.rotationAxis())||0,s=Format.rotation_snap?Math.round(o.rotation[r]/22.5)*22.5:o.rotation[r],l=limitNumber(s,-45,45);o.rotation.V3_set(0,0,0),o.rotation[r]=l}}),Canvas.updateView({elements,element_aspects:{transform:!0}})),Undo.finishEdit("Paste Elements",{outliner:!0,elements:selected,groups:e,selection:!0})},pasteImage(){function i(t){!t||t.length<32||Codecs.image.load(t)}if(0)var e;else navigator.clipboard.read().then(t=>{t&&t[0]&&t[0].types.includes("image/png")&&t[0].getType("image/png").then(n=>{let a=URL.createObjectURL(n);i(a)})}).catch(()=>{})}};BARS.defineActions(function(){new Action("copy",{icon:"fa-copy",category:"edit",work_in_dialog:!0,condition:()=>qt.getCopyType(1,!0)||SharedActions.condition("copy"),keybind:new Keybind({key:"c",ctrl:!0},{multiple:"shift"}),variations:{multiple:{name:"action.copy.multiple",description:"action.copy.multiple.desc"}},click(e){qt.copy(e)}}),new Action("cut",{icon:"fa-cut",category:"edit",work_in_dialog:!0,condition:()=>qt.getCopyType(1,!0)||SharedActions.condition("copy"),keybind:new Keybind({key:"x",ctrl:!0},{multiple:"shift"}),variations:{multiple:{name:"action.copy.multiple",description:"action.copy.multiple.desc"}},click(e){qt.copy(e,!0)}});let i=new Action("paste",{icon:"fa-clipboard",category:"edit",work_in_dialog:!0,condition:()=>qt.getCopyType(2,!0)||SharedActions.condition("paste"),keybind:new Keybind({key:"v",ctrl:!0},{multiple:"shift"}),variations:{multiple:{name:"action.paste.multiple"}},click(e){qt.paste(e)}});i.addSubKeybind("outliner","menu.paste.outliner",null,e=>{qt.pasteOutliner(e)}),i.addSubKeybind("face","menu.paste.face",null,e=>{UVEditor.paste(e)}),i.addSubKeybind("mesh_selection","menu.paste.mesh_selection",null,e=>{qt.pasteMeshSelection()}),i.addSubKeybind("texture","data.texture",null,e=>{qt.pasteTextures()}),i.addSubKeybind("image","format.image",null,e=>{qt.pasteImage(e)}),i.addSubKeybind("animation","menu.animation",null,e=>{qt.pasteAnimation()}),i.addSubKeybind("keyframe","menu.keyframe",null,e=>{qt.pasteKeyframes()}),i.addSubKeybind("display_slot","category.display",null,e=>{DisplayMode.paste()})});Object.assign(window,{Clipbench:qt});var El=class extends Qs{constructor(t,n={}){super();W(this,"uuid");W(this,"form_config");W(this,"form_data");W(this,"node");W(this,"max_label_width");W(this,"uses_wide_inputs");this.uuid=guid(),this.form_config=t,this.form_data={},this.node=Xe.createElement("div",{class:"form"}),this.max_label_width=0,this.uses_wide_inputs=!1,this.buildForm(),this.updateValues({cause:"setup"})}buildForm(){let t=$(this.node);t.empty();for(let n in this.form_config){let a=this.form_config[n];if(n=n.replace(/"/g,""),a==="_"){t.append("<hr />");continue}let o=Sn.types[a.type]??Sn.types.text,r=this.form_data[n]=new o(n,a,this),s=Xe.createElement("div",{class:`dialog_bar bar form_bar form_bar_${n}`});r.build(s),r.setup(),r.uses_wide_inputs&&(this.uses_wide_inputs=!0),t.append(s)}this.updateLabelWidth()}updateLabelWidth(t=!1){this.max_label_width=0;for(let n in this.form_config){n=n.replace(/"/g,"");let a=this.form_data[n];!a||t&&!Condition(a.condition)||(a.uses_wide_inputs&&(this.uses_wide_inputs=!0),a.label_width&&(this.max_label_width=Math.max(a.label_width,this.max_label_width)))}this.node.style.setProperty("--max_label_width",this.max_label_width+"px")}update(t){for(let n in this.form_config){let a=this.form_data[n],o=this.form_config[n];if(typeof o=="object"&&a.bar){let r=Condition(o.condition,t);a.bar.style.display=r?null:"none"}}}updateValues(t={}){let n=this.getResult();return this.update(n),t.cause!="setup"&&this.dispatchEvent("change",{result:n,cause:t.cause,changed_keys:t.changed_keys}),t.cause=="input"&&this.dispatchEvent("input",{result:n,changed_keys:t.changed_keys}),n}setValues(t,n=!0){for(let a in this.form_config){let o=this.form_data[a],r=this.form_config[a];o&&"setValue"in o&&t[a]!=null&&typeof r=="object"&&o.setValue(t[a])}n&&this.updateValues({cause:"update_value"})}setToggles(t,n=!0){for(let a in this.form_config){let o=this.form_config[a],r=this.form_data[a];t[a]!=null&&typeof o=="object"&&r.input_toggle&&r.bar&&(r.input_toggle.checked=t[a],r.bar.classList.toggle("form_toggle_disabled",!r.input_toggle.checked))}n&&this.updateValues({cause:"update_toggle"})}getResult(){let t={};for(let n in this.form_data){let a=this.form_data[n];if(a)if(a.input_toggle&&a.input_toggle.checked==!1){t[n]=null;continue}else t[n]=a.getValue()}return t}static getDefaultValue(t){let n=t.value??t.default;if(n)return n;let a=Sn.types[t.type];return a?a.prototype.getDefault.call({options:t}):""}},Hw=class Hw extends Qs{constructor(t,n,a){super();W(this,"id");W(this,"form");W(this,"condition");W(this,"options");W(this,"bar");W(this,"input_toggle");W(this,"label_width");this.id=t,this.options=n,this.form=a,this.condition=n.condition}build(t){if(this.bar=t,typeof this.options.label=="string"){let n=Xe.createElement("label",{class:"name_space_left",for:this.id},nn(this.options.label));t.append(n),!this.options.full_width&&this.condition!==!1&&(this.label_width=Bm(n.textContent))}this.options.full_width&&t.classList.add("full_width_dialog_bar"),t.setAttribute("form_type",this.options.type),this.options.description&&t.setAttribute("title",nn(this.options.description))}get uses_wide_inputs(){return this.options.full_width}getValue(){return this.getDefault()}setValue(t){}getDefault(){return null}change(){this.dispatchEvent("change",{changed_keys:[this.id]}),this.form.updateValues({cause:"input",changed_keys:[this.id]})}setup(){if(this.options.readonly&&"input"in this&&$(this.input).attr("readonly","readonly").removeClass("focusable_input"),this.options.description){let t=document.createElement("i");t.className="fa fa-question dialog_form_description",t.onclick=()=>{he.showQuickMessage(this.options.description,3600)},this.bar.append(t)}if(this.options.toggle_enabled){let t=Xe.createElement("input",{type:"checkbox",class:"focusable_input form_input_toggle",id:this.id+"_toggle"});t.checked=this.options.toggle_default!=!1,this.bar.append(t),this.bar.classList.toggle("form_toggle_disabled",!t.checked),t.addEventListener("input",()=>{this.change(),this.bar.classList.toggle("form_toggle_disabled",!t.checked)}),this.input_toggle=t}}addShareButtons(t){let a=(this.options.value?.toString()??"").startsWith("https://"),o=this.input??this.textarea,r=Xe.createElement("div",{class:"form_input_tool tool",title:nn("dialog.copy_to_clipboard")},he.getIconNode("content_paste"));if(r.addEventListener("click",s=>{let l=this.getValue(),c=l.startsWith("https://");navigator.clipboard?(qt.setText(l),he.showQuickMessage("dialog.copied_to_clipboard"),o.focus(),document.execCommand("selectAll")):c&&he.showMessageBox({title:"dialog.share_model.title",message:`[${l}](${l})`})}),t.append(r),a){let s=Xe.createElement("div",{class:"form_input_tool tool",title:nn("dialog.open_url")},he.getIconNode("open_in_browser"));s.addEventListener("click",l=>{let c=this.getValue();he.openLink(c)}),t.append(s)}if(navigator.share){let s=Xe.createElement("div",{class:"form_input_tool tool",title:nn("generic.share")},he.getIconNode("share"));s.addEventListener("click",l=>{let c=this.getValue();navigator.share({title:this.options.label?nn(this.options.label):"Share",[a?"url":"text"]:c})}),t.append(s)}}static registerType(t,n){Hw.types[t]=n}};W(Hw,"types",{});var Sn=Hw;Sn.types.range=class extends Sn{constructor(){super(...arguments);W(this,"input");W(this,"numeric_input")}build(t){super.build(t);let n=this,a=$(`<input class="half focusable_input" type="range" id="${this.id}"
value="${this.options.value||0}" min="${this.options.min}" max="${this.options.max}" step="${this.options.step||1}">`);if(t.append(a[0]),this.input=a[0],this.options.editable_range_label){t.classList.add("slider_input_combo");let o=new Xe.CustomElements.NumericInput(this.id+"_number",{value:this.options.value??0,min:this.options.min,max:this.options.max,step:this.options.step,onChange(){a.val(o.value),n.change()}});this.numeric_input=o,t.append(o.node),a.on("input",()=>{let r=parseFloat(a.val());o.value=r})}else{let o=Xe.createElement("span",{class:"range_input_label"},(this.options.value||0).toString());t.append(o),a.on("input",()=>{let r=this.form.getResult();o.textContent=trimFloatNumber(r[this.id])})}a.on("input",()=>{this.change()})}getValue(){let t;return this.options.editable_range_label&&this.numeric_input?t=this.numeric_input.value:t=parseFloat(this.input.value),this.options.force_step&&this.options.step&&(t=Math.round(t/this.options.step)*this.options.step),Math.clamp(t||0,this.options.min,this.options.max)}setValue(t){this.input.value=t.toString(),this.numeric_input&&(this.numeric_input.value=t)}getDefault(){return Math.clamp(0,this.options.min,this.options.max)}};Sn.types.info=class extends Sn{get uses_wide_inputs(){return!0}build(e){if(this.bar=e,typeof this.options.label=="string"){let n=Xe.createElement("label",{class:"name_space_left",for:this.id},nn(this.options.label));e.append(n),!this.options.full_width&&this.condition!==!1&&(this.label_width=Bm(n.textContent))}this.options.full_width&&e.classList.add("full_width_dialog_bar"),this.options.description&&e.setAttribute("title",nn(this.options.description));let t=Xe.createElement("div",{class:"small_text"});t.innerHTML=Nd(nn(this.options.text)),e.append(t)}};Sn.types.text=class extends Sn{constructor(){super(...arguments);W(this,"password_toggle");W(this,"input")}build(t){super.build(t);let n=this,a=Object.assign(document.createElement("input"),{type:"text",className:"dark_bordered half focusable_input",id:this.id,value:this.options.value||"",placeholder:this.options.placeholder||"",oninput(){n.change()}});if(this.input=a,t.append(a),this.options.list){let o=`${this.form.uuid}_${this.id}_list`;a.setAttribute("list",o);let r=Xe.createElement("datalist",{id:o});for(let s of this.options.list){let l=document.createElement("option");l.value=s,r.append(l)}t.append(r[0])}if(this.options.type=="password"){let o=Xe.createElement("div",{class:"password_toggle form_input_tool tool"},he.getIconNode("fas.fa-eye-slash"));t.append(o),a.type="password";let r=!0;o.addEventListener("click",s=>{r=!r,a.setAttribute("type",r?"password":"text"),o.firstElementChild.className=r?"fas fa-eye-slash":"fas fa-eye"})}this.options.share_text&&this.addShareButtons(t)}getValue(){return this.input.value}setValue(t){this.input.value=t}getDefault(){return""}};Sn.types.textarea=class extends Sn{constructor(){super(...arguments);W(this,"textarea")}build(t){super.build(t);let n=this;if(this.textarea=Object.assign(document.createElement("textarea"),{className:"focusable_input",id:this.id,value:this.options.value||"",placeholder:this.options.placeholder||"",oninput(){n.change()}}),this.textarea.style.height=(this.options.height||150)+"px",this.options.style=="code"&&this.textarea.classList.add("code"),t.append(this.textarea),this.options.share_text){let a=Xe.createElement("div",{class:"form_overlay_tools"});t.append(a),this.addShareButtons(a)}}getValue(){return this.textarea.value}setValue(t){this.textarea.value=t}getDefault(){return""}};Sn.types.number=class extends Sn{constructor(){super(...arguments);W(this,"numeric_input")}build(t){super.build(t);let n=this;this.numeric_input=new Xe.CustomElements.NumericInput(this.id,{value:this.options.value,min:this.options.min,max:this.options.max,step:this.options.step,onChange(){n.change()}}),t.append(this.numeric_input.node)}getValue(){let t=Math.clamp(this.numeric_input.value,this.options.min,this.options.max);return this.options.force_step&&this.options.step&&(t=Math.round(t/this.options.step)*this.options.step),t}setValue(t){this.numeric_input.value=t}getDefault(){return Math.clamp(0,this.options.min,this.options.max)}};Sn.types.select=class extends Sn{constructor(){super(...arguments);W(this,"select_input")}build(t){super.build(t);let n=this;this.select_input=new Xe.CustomElements.SelectInput(this.id,{options:this.options.options,value:this.options.value||this.options.default,onInput(){n.change()}}),t.append(this.select_input.node)}getValue(){return this.select_input.node.getAttribute("value")}setValue(t){this.select_input.set(t)}getDefault(){return Object.keys(this.options.options)[0]??""}};Sn.types.inline_select=class extends Sn{build(e){super.build(e);let t=[],n=this.options.value||this.options.default,a=0;for(let r in this.options.options){let s=n?r==n:a==0,l=typeof this.options.options[r]=="string"?this.options.options[r]:this.options.options[r].name,c=Xe.createElement("li",{class:s?"selected":"",key:r},nn(l));c.onclick=()=>{t.forEach(d=>{d.classList.toggle("selected",d==c)}),this.change()},t.push(c),a++}let o=Xe.createElement("ul",{class:"form_inline_select"},t);e.append(o)}getValue(){return $(this.bar).find("li.selected")[0]?.getAttribute("key")||""}setValue(e){$(this.bar).find("li").each((t,n)=>{n.classList.toggle("selected",n.getAttribute("key")==e)})}getDefault(){return Object.keys(this.options.options)[0]??""}};Sn.types.multi_select=class extends Sn{constructor(){super(...arguments);W(this,"value");W(this,"ul")}build(t){super.build(t);let n=this.options.value||this.options.default;this.value=[],n instanceof Array&&this.value.push(...n),this.ul=Xe.createElement("ul",{class:"form_multi_select"}),t.append(this.ul),this.ul.addEventListener("click",a=>{let o=[];for(let r in this.options.options){let s=this.options.options[r];typeof s!="string"&&(s=s.name);let l=this.value.includes(r);o.push({id:r,name:s,icon:()=>l,click:()=>{l=!l,l?this.value.safePush(r):this.value.remove(r),this.updateUI(),this.change()}})}new Menu("multi_select",o,{keep_open:!0}).open(this.ul)}),this.updateUI()}updateUI(){this.ul.innerHTML="";for(let n in this.options.options){if(this.value.includes(n)==!1)continue;let a=this.options.options[n];typeof a!="string"&&(a=a.name);let o=he.getIconNode("clear");this.ul.append(Xe.createElement("li",{},[a,o])),o.addEventListener("click",r=>{r.stopPropagation(),this.value.remove(n),this.updateUI(),this.change()})}let t=Xe.createElement("div",{class:"tool"},he.getIconNode("add"));this.ul.append(t)}getValue(){return this.value}setValue(t){this.value.replace(t),this.updateUI()}getDefault(){return[]}};Sn.types.inline_multi_select=class extends Sn{constructor(){super(...arguments);W(this,"value")}build(t){super.build(t);let n=this.options.value||this.options.default;if(this.value={},n)for(let s in this.options.options)this.value[s]=!!n[s];let a=0,o=[];for(let s in this.options.options){let l=n&&n[s],c=this.options.options[s];typeof c!="string"&&(c=c.name);let d=Xe.createElement("li",{class:l?"selected":"",key:s},nn(c));d.onclick=()=>{this.value[s]=!this.value[s],d.classList.toggle("selected",this.value[s]),this.change()},o.push(d),a++}let r=Xe.createElement("ul",{class:"form_inline_select multi_select"},o);t.append(r)}getValue(){return this.value}setValue(t){for(let n in t)this.value[n]!==void 0&&(this.value[n]=t[n]);$(this.bar).find("li").each((n,a)=>{a.classList.toggle("selected",!!this.value[a.getAttribute("key")])})}getDefault(){return{}}};Sn.types.radio=class extends Sn{constructor(){super(...arguments);W(this,"input")}build(t){super.build(t);let n=$(`<div class="half form_part_radio" id="${this.id}"></div>`);for(let a in this.options.options){let o=nn(typeof this.options.options[a]=="string"?this.options.options[a]:this.options.options[a].name);n.append(`<div class="form_bar_radio">
<input type="radio" class="focusable_input" name="${this.id}_radio" id="${a}" ${(this.options.default||this.options.value)===a?"selected":""}>
<label for="${a}">${o}</label>
</div>`),this.input=n.find(`input#${a}`)[0],this.input.addEventListener("change",r=>{this.change()})}t.append(n[0])}getValue(){return $(this.bar).find(".form_part_radio#"+this.id+" input:checked").attr("id")}setValue(t){$(this.bar).find(".form_part_radio input#"+t).prop("checked",!0)}getDefault(){return Object.keys(this.options.options)[0]??""}};Sn.types.buttons=class extends Sn{get uses_wide_inputs(){return!0}build(e){super.build(e),this.bar=e;let t=document.createElement("div");t.className="dialog_form_buttons",this.options.buttons.forEach((n,a)=>{let o=document.createElement("button");o.innerText=nn(n),o.addEventListener("click",r=>{this.options.click(a)}),t.append(o)}),e.append(t)}};Sn.types.num_slider=class extends Sn{constructor(){super(...arguments);W(this,"slider")}build(t){super.build(t);let n=this.options.getInterval;this.options.interval_type=="position"&&(n=getSpatialInterval),this.options.interval_type=="rotation"&&(n=getRotationInterval),this.slider=new NumSlider("form_slider_"+this.id,{private:!0,onChange:()=>{this.change()},color:this.options.color||"",getInterval:n,settings:{default:this.options.value||0,min:this.options.min,max:this.options.max,step:this.options.step||1}}),t.append(this.slider.node),this.slider.update()}getValue(){return this.slider.get()}setValue(t){this.slider.setValue(t)}getDefault(){return Math.clamp(0,this.options.min,this.options.max)}};Sn.types.vector=class extends Sn{constructor(t,n,a){super(t,n,a);W(this,"linked_ratio");this.linked_ratio=!1}build(t){super.build(t);let n=this,a=$('<div class="dialog_vector_group half"></div>');t.append(a[0]);let o=[],r=this.options.value instanceof Array?this.options.value.slice():[1,1,1],s=l=>{let c=-1;for(let d of o){if(c++,d==l)continue;let u=r[c]*(l.value/r[o.indexOf(l)]);u=Math.clamp(u,this.options.min,this.options.max),this.options.force_step&&this.options.step&&(u=Math.round(u/this.options.step)*this.options.step),d.value=u}};for(let l=0;l<(this.options.dimensions||3);l++){let c=new Xe.CustomElements.NumericInput(this.id+"_"+l,{value:this.options.value?this.options.value[l]:0,min:this.options.min,max:this.options.max,step:this.options.step,readonly:this.options.readonly,onChange(){n.linked_ratio&&s(c),n.change()}});a.append(c.node),o.push(c)}if(typeof this.options.linked_ratio=="boolean"){let l=()=>{c.textContent=n.linked_ratio?"link":"link_off",d.classList.toggle("enabled",n.linked_ratio)};this.linked_ratio=this.options.linked_ratio;let c=he.getIconNode("link"),d=Xe.createElement("div",{class:"tool linked_ratio_toggle"},c);d.addEventListener("click",u=>{this.linked_ratio=!this.linked_ratio,this.linked_ratio&&(r=o.map(p=>p.value)),l()}),l(),a.append(d)}for(let l of this.options.extra_actions??[]){let c=he.getIconNode(l.icon),d=Xe.createElement("div",{class:"tool form_extra_action",title:l.name},c);d.addEventListener("click",u=>{l.click&&l.click(u)}),a.append(d)}}getValue(){let t=[];for(let n=0;n<(this.options.dimensions||3);n++){let a=$(this.bar).find(`input#${this.id}_${n}`).val(),o=Math.clamp(parseFloat(a)||0,this.options.min,this.options.max);this.options.force_step&&this.options.step&&(o=Math.round(o/this.options.step)*this.options.step),t.push(o)}return t}setValue(t){for(let n=0;n<(this.options.dimensions||3);n++)$(this.bar).find(`input#${this.id}_${n}`).val(t[n])}getDefault(){return new Array(this.options.dimensions??3).fill(Math.clamp(0,this.options.min,this.options.max))}};Sn.types.color=class extends Sn{constructor(){super(...arguments);W(this,"colorpicker")}build(t){super.build(t),this.options.colorpicker&&(this.colorpicker=this.options.colorpicker);let n=this;this.colorpicker||(this.colorpicker=new ColorPicker({id:"cp_"+this.id,name:nn(this.options.label),label:!1,private:!0,value:this.options.value})),this.colorpicker.onChange=function(){n.change()},this.colorpicker.on("modify_color",()=>{n.change()}),t.append(this.colorpicker.getNode())}getValue(){return this.colorpicker.get()}setValue(t){this.colorpicker.set(t)}getDefault(){return"#ffffff"}};Sn.types.checkbox=class extends Sn{constructor(){super(...arguments);W(this,"input")}build(t){super.build(t),this.input=Xe.createElement("input",{type:"checkbox",class:"focusable_input"+(this.options.style=="toggle_switch"?" toggle_switch":""),id:this.id}),this.input.checked=this.options.value,t.append(this.input),this.input.addEventListener("change",()=>{this.change()})}setValue(t){this.input.checked=t}getValue(){return this.input.checked}getDefault(){return!1}};var Nb=class extends Sn{constructor(){super(...arguments);W(this,"file");W(this,"value");W(this,"content");W(this,"input")}build(t){if(super.build(t),this.options.type=="folder")return;this.value=this.options.value;let n=this,a=$(`<input class="dark_bordered half" class="focusable_input" type="text" id="${this.id}" style="pointer-events: none;" disabled>`);this.input=a[0],this.input.value=settings.streamer_mode.value?`[${nn("generic.redacted")}]`:this.value||"";let o=$('<div class="input_wrapper"></div>');switch(o.append(a),t.append(o[0]),t.classList.add("form_bar_file"),this.options.type){case"file":o.append('<i class="material-icons">insert_drive_file</i>');break;case"folder":o.append('<i class="material-icons">folder</i>');break;case"save":o.append('<i class="material-icons">save</i>');break}let r=$('<div class="tool" style="float: none; vertical-align: top;"><i class="material-icons">clear</i></div>');t.append(r[0]),r.on("click",s=>{s.stopPropagation(),this.value="",delete this.content,delete this.file,a.val("")}),o.on("click",s=>{let l=c=>{this.value=c[0].path,this.content=c[0].content,this.file=c[0],a.val(settings.streamer_mode.value?`[${nn("generic.redacted")}]`:this.value),n.change()};switch(this.options.type){case"file":he.import({resource_id:this.options.resource_id,extensions:this.options.extensions,type:this.options.filetype,startpath:this.value,readtype:this.options.readtype},l);break;case"folder":let c=he.pickDirectory({startpath:this.value});c&&l([{path:c}]);break;case"save":he.export({resource_id:this.options.resource_id,extensions:this.options.extensions,type:this.options.filetype,startpath:this.value,custom_writer:()=>{}},d=>{this.value=d,a.val(settings.streamer_mode.value?`[${nn("generic.redacted")}]`:this.value),n.change()});break}})}getValue(){return this.options.return_as=="file"?this.file:this.content}setValue(t){delete this.file,this.options.return_as=="file"&&typeof t=="object"?(this.file=t,this.value=this.file.name):this.content=t,$(this.input).val(settings.streamer_mode.value?`[${nn("generic.redacted")}]`:this.value)}getDefault(){return""}};Sn.types.file=Nb;Sn.types.folder=Nb;Sn.types.save=Nb;var Iie={InputForm:El,FormElement:Sn};Object.assign(window,Iie);var Die={slot:"left_bar",float_position:[0,0],float_size:[300,300],height:300,folded:!1,fixed_height:!1,attached_to:"",attached_index:void 0,open_tab:void 0,sidebar_index:0},Kc=class Kc extends Qs{constructor(t,n){super();W(this,"type");W(this,"id");W(this,"name");W(this,"icon");W(this,"menu");W(this,"condition");W(this,"display_condition");W(this,"resizable");W(this,"growable");W(this,"min_height");W(this,"optional");W(this,"plugin");W(this,"onResize");W(this,"onFold");W(this,"previous_slot");W(this,"width");W(this,"height");W(this,"node");W(this,"container");W(this,"handle");W(this,"tab_bar");W(this,"form");W(this,"vue");W(this,"inside_vue");W(this,"toolbars");W(this,"sidebar_resize_handle");W(this,"resize_handles");W(this,"mode_position_data");W(this,"default_configuration");!n&&typeof t!="string"&&(n=t);let a=this;this.type="panel",this.id=typeof t=="string"?t:n.id||"new_panel",this.name=tl(n.name?n.name:`panel.${this.id}`),this.icon=n.icon,this.menu=n.menu,this.condition=n.condition,this.display_condition=n.display_condition,this.previous_slot="left_bar",this.optional=n.optional??!0,this.plugin=n.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),this.growable=n.growable,this.resizable=n.resizable,this.min_height=n.min_height??60,this.onResize=n.onResize,this.onFold=n.onFold,this.events={},this.toolbars=[],this.default_configuration={default_position:n.default_position,mode_positions:n.mode_positions},this.mode_position_data={},this.handle=Xe.createElement("div",{class:"panel_handle",panel_id:this.id},Xe.createElement("span",{},this.name)),this.node=Xe.createElement("div",{class:"panel",id:`panel_${this.id}`}),this.tab_bar=Xe.createElement("div",{class:"panel_tab_bar"},[Xe.createElement("div",{class:"panel_tab_list"},this.handle)]),this.container=Xe.createElement("div",{class:"panel_container",panel_id:this.id},[this.tab_bar,this.node]),this.handle.addEventListener("mousedown",r=>{this.attached_to?zn[this.attached_to].selectTab(this):this.selectTab()}),this.growable&&(this.container.classList.add("grow"),this.node.classList.add("grow"));let o=n.toolbars instanceof Array?n.toolbars:n.toolbars?Object.keys(n.toolbars):[];for(let r of o){let s=r instanceof Ko?r:this.toolbars[r];if(s instanceof Ko){if(s.label){let l=Xe.createElement("p",{class:"panel_toolbar_label"},tl(s.name));this.node.append(l),s.label_node=l}this.node.append(s.node),this.toolbars.push(s)}}if(n.form&&(this.form=n.form instanceof El?n.form:new El(n.form),this.node.append(this.form.node),this.form.buildForm()),n.component){let r=Xe.createElement("div");this.node.append(r);let s=n.component.mounted;n.component.mounted=function(){Mn.default.nextTick(()=>{this.$el.querySelectorAll(".toolbar_wrapper").forEach(c=>{let d=c.getAttribute("toolbar"),u=a.toolbars.find(p=>p.id==d);u&&c.append(u.node)}),typeof s=="function"&&s.call(this)})},this.vue=this.inside_vue=new Mn.default(n.component),this.vue.$mount(r),this.vue.$el.classList.add("panel_vue_wrapper")}if(he.isMobile){let r=Xe.createElement("div",{class:"tool panel_control"},he.getIconNode("clear"));this.tab_bar.append(r),r.addEventListener("click",s=>{Xe.PanelSelectorVue.select(null)}),this.tab_bar.classList.add("single_tab"),addEventListeners(this.handle,"mousedown touchstart",s=>{convertTouchEvent(s);let l=!1,c=this.position_data.height,d=he.isLandscape?window.innerWidth-50:Xe.work_screen.clientHeight,u=m=>{convertTouchEvent(m);let _=he.isLandscape?s.clientX-m.clientX:s.clientY-m.clientY;if(!l&&Math.abs(_)>4&&(l=!0,this.folded&&this.fold()),!l)return;let f=he.isLandscape&&settings.mobile_panel_side.value=="left"?-1:1;this.position_data.height=Math.clamp(c+_*f,this.min_height,d),this.update(!0),Wc()},p=m=>{convertTouchEvent(m),this.update(),removeEventListeners(document,"mousemove touchmove",u),removeEventListeners(document,"mouseup touchend",p)};addEventListeners(document,"mousemove touchmove",u),addEventListeners(document,"mouseup touchend",p)})}else{if(n.expand_button){let d=Xe.createElement("div",{class:"tool panel_control panel_expanding_button"},he.getIconNode("fullscreen"));this.tab_bar.append(d),d.addEventListener("click",u=>{this.slot=="float"?this.moveTo(this.previous_slot):(this.moveTo("float"),this.moveToFront())})}let r=Xe.createElement("div",{class:"light_on_hover panel_menu_button"},he.getIconNode("more_vert"));this.handle.append(r),r.addEventListener("click",d=>{this.snap_menu.open(r,this)});let s=Xe.createElement("div",{class:"tool panel_control panel_folding_button"},he.getIconNode("expand_more"));this.tab_bar.append(s),s.addEventListener("click",d=>{this.fold()}),this.tab_bar.firstElementChild.addEventListener("dblclick",d=>{this.fold()}),this.resizable&&(this.sidebar_resize_handle=Xe.createElement("div",{class:"panel_sidebar_resize_handle"}),this.container.append(this.sidebar_resize_handle),addEventListeners(this.sidebar_resize_handle,"mousedown touchstart",d=>{let u=this.slot=="right_bar"?Xe.getRightPanels():Xe.getLeftPanels(),p=u.indexOf(this),m=u.filter(_=>_.resizable&&!_.growable);if(u.length==1&&u[0].growable)return Gw(u);this.growable&&m.length?m.last().resize(d):d.ctrlKey&&u[p+1]?.resizable?u[p+1].resize(d):this.resize(d)}));let l=d=>{for(let u in zn){let p=zn[u];if(p!=this&&p.container.isConnected){let m=p.tab_bar.getBoundingClientRect();if(Math.isBetween(d.clientX,m.left,m.right)&&Math.isBetween(d.clientY,m.top,m.bottom))return p}}},c=(d,u=!1)=>{if(d.target instanceof HTMLElement&&d.target.classList.contains("panel_menu_button")||d.which==2||d.which==3)return;convertTouchEvent(d);let p=!1,m=this.slot=="float"?this.position_data.float_position.slice():[d.clientX-d.offsetX,d.clientY-d.offsetY-55],_=mn.show_left_bar,f=mn.show_right_bar,g,v,b=!1,x=!1,w=u||d.shiftKey||Pressing.overrides.shift;function E(R){if($(".panel_container[order], .panel_handle[order]").attr("order",null),$(".panel_container.attach_target").removeClass("attach_target"),x&&v){v.container.classList.add("attach_target");let j=$(v.container).offset()?.left??0,F=[v].concat(v.getAttachedPanels()),O=F.findLast(L=>R.clientX+20>j+L.handle.offsetLeft+L.handle.clientWidth)??F[0];O&&O.handle.setAttribute("order","1")}else v&&v.container.setAttribute("order",(b?-1:1).toString());g?Xe.center_screen.setAttribute("snapside",g):Xe.center_screen.removeAttribute("snapside"),(g=="right_bar"&&Xe.right_bar_width||g=="left_bar"&&Xe.left_bar_width)&&Xe.center_screen.removeAttribute("snapside"),Xe.left_bar.classList.toggle("drop_target",g=="left_bar"),Xe.right_bar.classList.toggle("drop_target",g=="right_bar"),g=="left_bar"&&!mn.show_left_bar&&Xe.toggleSidebar("left"),g=="right_bar"&&!mn.show_right_bar&&Xe.toggleSidebar("right"),g!="left_bar"&&mn.show_left_bar&&!_&&Xe.toggleSidebar("left"),g!="right_bar"&&mn.show_right_bar&&!f&&Xe.toggleSidebar("right")}let y=R=>{if(convertTouchEvent(R),!p&&Math.pow(R.clientX-d.clientX,2)+Math.pow(R.clientY-d.clientY,2)>15){p=!0;let L=this.getAttachedPanels();if(L.length&&!w){let U=L.splice(0,1)[0];U.moveTo(this.slot,this);for(let J of L)U.attachPanel(J)}(this.slot!=="float"||this.attached_to)&&(this.moveTo("float"),this.moveToFront()),this.container.classList.add("dragging"),Xe.addSuggestedModifierKey("ctrl","modifier_actions.move_panel_without_docking")}if(!p)return;this.position_data.float_position[0]=m[0]+R.clientX-d.clientX,this.position_data.float_position[1]=m[1]+R.clientY-d.clientY;let j=40,F=64,O;if(g=null,v=null,b=!1,x=!1,!R.ctrlOrCmd)if(O=l(R))v=O,x=!0,g=void 0;else if(R.clientX<Math.max(Xe.left_bar_width,j)){g="left_bar";for(let L of Xe.left_bar.childNodes){if(!L.clientHeight)continue;let U=$(L).offset()?.top;if(U&&(v=zn[L.getAttribute("panel_id")],R.clientY<U+L.clientHeight/2)){b=!0;break}}}else if(R.clientX>document.body.clientWidth-Math.max(Xe.right_bar_width,j)){g="right_bar";for(let L of Xe.right_bar.childNodes){if(!L.clientHeight)continue;let U=$(L).offset()?.top;if(U&&(v=zn[L.getAttribute("panel_id")],R.clientY<U+L.clientHeight/2)){b=!0;break}}}else R.clientY<Xe.work_screen.offsetTop+30+F&&R.clientX>Xe.left_bar_width&&R.clientX<Xe.work_screen.clientWidth-Xe.right_bar_width?g="top":R.clientY>Xe.work_screen.offsetTop+Xe.work_screen.clientHeight-Xe.status_bar.vue.$el.clientHeight-F&&R.clientX>Xe.left_bar_width&&R.clientX<Xe.work_screen.clientWidth-Xe.right_bar_width&&(g="bottom");E(R),this.update(!0),this.dispatchEvent("drag",{event:R,target_before:b,attach_to:x,target_panel:v,target_slot:g})},A=R=>{convertTouchEvent(R),this.container.classList.remove("dragging"),Xe.center_screen.removeAttribute("snapside"),$(".panel_container[order], .panel_handle[order]").attr("order",null),Xe.left_bar.classList.remove("drop_target"),Xe.right_bar.classList.remove("drop_target"),$(".panel_container.attach_target").removeClass("attach_target"),Xe.removeSuggestedModifierKey("ctrl","modifier_actions.move_panel_without_docking"),x?(this.fixed_height=!1,v.attachPanel(this)):g&&(this.fixed_height=!1,this.moveTo(g,v,b)),this.slot!="float"&&(this.position_data.float_position[0]=m[0],this.position_data.float_position[1]=m[1]),this.customizePosition(),Lw(),setTimeout(()=>{this.update()},0),removeEventListeners(document,"mousemove touchmove",y),removeEventListeners(document,"mouseup touchend",A)};addEventListeners(document,"mousemove touchmove",y),addEventListeners(document,"mouseup touchend",A)};addEventListeners(this.handle,"mousedown touchstart",c),addEventListeners(this.tab_bar,"mousedown touchstart",d=>{d.target==this.tab_bar&&c(d,!0)})}if(this.container.addEventListener("mousedown",r=>{this.moveToFront()}),this.node.addEventListener("mousedown",r=>{QA(this.id)}),this.handle.addEventListener("mousedown",r=>{QA(this.id),this.moveToFront()}),!he.isMobile&&!this.attached_to){let r=zn[n.insert_before||n.insert_after];this.moveTo(this.position_data.slot,r,r&&!n.insert_after)}this.folded&&this.fold(!0),zn[this.id]=this}isVisible(){return!this.folded&&this.node.parentElement&&this.node.parentElement.style.display!=="none"}isInSidebar(){return this.slot==="left_bar"||this.slot==="right_bar"}get position_data(){let t=Xe.getUIMode();if(!this.mode_position_data[t]){let n=this.default_configuration,a=Object.assign({},Die);n.default_position&&Object.assign(a,n.default_position),n.mode_positions?.[t]&&Object.assign(a,n.mode_positions?.[t]),qd[this.id]?.[t]&&Object.assign(a,qd[this.id][t]),this.mode_position_data[t]=a}return this.mode_position_data[t]}get slot(){return this.position_data.slot}get folded(){return this.position_data.folded}set folded(t){this.position_data.folded=!!t}get fixed_height(){return this.position_data.fixed_height}set fixed_height(t){this.position_data.fixed_height=!!t}get attached_to(){return this.position_data.attached_to}set attached_to(t){this.position_data.attached_to=t}get attached_index(){return this.position_data.attached_index}set attached_index(t){this.position_data.attached_index=t}get open_attached_panel(){return zn[this.position_data.open_tab]??this}set open_attached_panel(t){this.position_data.open_tab=t&&t!=this?t.id:void 0}dispatchEvent(t,n){super.dispatchEvent(t,n)}getAttachedPanels(){let t=[];for(let n in zn){let a=zn[n];a.attached_to==this.id&&Condition(!!a)&&a!=this&&t.push(a)}return t.sort((n,a)=>a.attached_index-n.attached_index),t}getHostPanel(){return zn[this.attached_to]}getContainerPanel(){return zn[this.attached_to]||this}attachPanel(t,n){let a=t.getHostPanel(),o=t.getAttachedPanels();t.customizePosition({attached_to:this.id,attached_index:n??t.attached_index}),this.update(),a&&a.update(),ZA(),n=t.attached_index+1;for(let r of o)n++,this.attachPanel(r,n)}selectTab(t=this){return this.open_attached_panel!=t&&(this.open_attached_panel=t,this.update()),this}customizePosition(t){let n=Xe.getUIMode(),a=this.mode_position_data[n];t&&Object.assign(a,t),qd[this.id]||(qd[this.id]={}),qd[this.id][n]=a}resetCustomLayout(){qd[this.id]={};for(let t in this.mode_position_data)delete this.mode_position_data[t];return this.updateSlot(),this}addToolbar(t,n=this.toolbars.length){let a=[];if(t.label){let o=Xe.createElement("p",{class:"panel_toolbar_label"},tl(t.name));a.push(o),t.label_node=o}if(a.push(t.node),n==0)this.node.prepend(...a);else if(typeof n=="string"){let o=this.node.querySelector(`.toolbar[toolbar_id="${n}"]`);o&&o.after(...a)}else this.node.append(...a);this.toolbars.splice(n,0,t)}fold(t=!this.folded){this.folded=!!t;let n=he.getIconNode(t?"expand_less":"expand_more");return $(this.tab_bar).find("> .panel_folding_button > .icon").replaceWith(n),this.container.classList.toggle("folded",t),this.onFold&&this.onFold(),(this.slot=="top"||this.slot=="bottom")&&Wc(),this.update(),this.dispatchEvent("fold",{}),this}resize(t){t=convertTouchEvent(t);let n=this.container.clientHeight,a=!1,o=1;this.container.classList.contains("bottommost_panel")&&!this.container.classList.contains("topmost_panel")&&(o=-1);let r=this.slot=="right_bar"?Xe.getRightPanels():Xe.getLeftPanels();t.preventDefault();let s=c=>{if(c=convertTouchEvent(c),!a&&Math.pow(c.clientX-t.clientX,2)+Math.pow(c.clientY-t.clientY,2)>12&&(a=!0,this.sidebar_resize_handle?.classList.add("dragging"),Gw(r,this)),!a)return;let d=(c.clientY-t.clientY)*o,u=this.container.parentElement.clientHeight;for(let m of r)u-=m.container.clientHeight;let p=this.position_data.height;this.position_data.fixed_height=!0,this.position_data.height=Math.max(n+d,this.min_height),this.update()},l=c=>{convertTouchEvent(c),removeEventListeners(document,"mousemove touchmove",s),removeEventListeners(document,"mouseup touchend",l),this.sidebar_resize_handle?.classList.remove("dragging"),Gw(r,this)};addEventListeners(document,"mousemove touchmove",s),addEventListeners(document,"mouseup touchend",l)}setupFloatHandles(){let t=[Xe.createElement("div",{class:"panel_resize_side resize_top"}),Xe.createElement("div",{class:"panel_resize_side resize_bottom"}),Xe.createElement("div",{class:"panel_resize_side resize_left"}),Xe.createElement("div",{class:"panel_resize_side resize_right"})],n=[Xe.createElement("div",{class:"panel_resize_corner resize_top_left"}),Xe.createElement("div",{class:"panel_resize_corner resize_top_right"}),Xe.createElement("div",{class:"panel_resize_corner resize_bottom_left"}),Xe.createElement("div",{class:"panel_resize_corner resize_bottom_right"})],a=(r,s,l)=>{let c=this.position_data.float_position.slice(),d=[this.width,this.height],u=!1,p=_=>{if(convertTouchEvent(_),!u&&Math.pow(_.clientX-r.clientX,2)+Math.pow(_.clientY-r.clientY,2)>12&&(u=!0),!u)return;this.position_data.float_size[0]=d[0]+(_.clientX-r.clientX)*s,this.position_data.float_size[1]=d[1]+(_.clientY-r.clientY)*l;let f=this.min_height??60,g=this.container.querySelector(".panel");g&&!g.classList.contains("grow")&&(f=Math.max(f,g.clientHeight+this.tab_bar.clientHeight)),this.position_data.float_size[1]=Math.clamp(this.position_data.float_size[1],f,window.innerHeight),s==-1&&(this.position_data.float_position[0]=c[0]-this.position_data.float_size[0]+d[0]),l==-1&&(this.position_data.float_position[1]=c[1]-this.position_data.float_size[1]+d[1]),this.update()},m=_=>{convertTouchEvent(_),removeEventListeners(document,"mousemove touchmove",p),removeEventListeners(document,"mouseup touchend",m)};addEventListeners(document,"mousemove touchmove",p),addEventListeners(document,"mouseup touchend",m)};addEventListeners(t[0],"mousedown touchstart",r=>a(r,0,-1)),addEventListeners(t[1],"mousedown touchstart",r=>a(r,0,1)),addEventListeners(t[2],"mousedown touchstart",r=>a(r,-1,0)),addEventListeners(t[3],"mousedown touchstart",r=>a(r,1,0)),addEventListeners(n[0],"mousedown touchstart",r=>a(r,-1,-1)),addEventListeners(n[1],"mousedown touchstart",r=>a(r,1,-1)),addEventListeners(n[2],"mousedown touchstart",r=>a(r,-1,1)),addEventListeners(n[3],"mousedown touchstart",r=>a(r,1,1));let o=Xe.createElement("div",{class:"panel_resize_handle_wrapper"},[...t,...n]);return this.container.append(o),this.resize_handles=o,this}moveToFront(){if(this.slot=="float"&&Kc.floating_panel_z_order[0]!==this.id){Kc.floating_panel_z_order.remove(this.id),Kc.floating_panel_z_order.splice(0,0,this.id);let t=18;Kc.floating_panel_z_order.forEach(n=>{let a=zn[n];a.container.style.zIndex=t.toString(),a.dispatchEvent("change_zindex",{zindex:t}),t=Math.clamp(t-1,14,19)})}return this}moveTo(t,n,a=!1){let o=this.position_data;if(t==null&&(t=n.position_data.slot),t!==this.slot&&(this.previous_slot=this.slot),this.position_data.attached_to="",this.position_data.attached_index=0,this.container.append(this.node),this.dispatchEvent("move_to",{slot:t,ref_panel:n,before:a,previous_slot:this.previous_slot}),this.node.classList.remove("floating"),t=="left_bar"||t=="right_bar"){if(document.getElementById(t).append(this.container),n){let r=Xe.calculateSidebarOrder(t);r.remove(this.id);let s=a?-1:1,l=n.position_data.sidebar_index+s;this.customizePosition({sidebar_index:l});for(let c=r.indexOf(n.id)+s;r[c];c+=s){let d=zn[r[c]];l+=s,(s==1&&d.position_data.sidebar_index<l||s==-1&&d.position_data.sidebar_index>l)&&(d.customizePosition({sidebar_index:l}),console.log("Re-index",d.id,l))}}of()}else if(t=="top"){let r=Xe.getTopPanel();r&&r!==this&&!Condition.mutuallyExclusive(this.condition,r.condition)&&r.moveTo(r.previous_slot),document.getElementById("top_slot").append(this.container)}else if(t=="bottom"){let r=Xe.getBottomPanel();r&&r!==this&&!Condition.mutuallyExclusive(this.condition,r.condition)&&r.moveTo(r.previous_slot),document.getElementById("bottom_slot").append(this.container)}else t=="float"&&!he.isMobile?(Xe.work_screen.append(this.container),this.node.classList.add("floating"),this.dispatchEvent("change_zindex",{zindex:14}),this.resize_handles||this.setupFloatHandles()):t=="hidden"&&!he.isMobile&&this.node.remove();return t!=="float"&&(Kc.floating_panel_z_order.remove(this.id),this.node.style.zIndex="",this.dispatchEvent("change_zindex",{zindex:null})),o.slot=t,this.position_data&&(this.previous_slot=="right_bar"||this.previous_slot=="left_bar")&&Gw(this.previous_slot,this),this.updateSlot(),zn[this.id]&&this.dispatchEvent("moved_to",{slot:t,ref_panel:n,before:a,previous_slot:this.previous_slot}),this}updateSlot(){let t=this.slot;if(this.container.classList.remove("floating"),t=="left_bar"||t=="right_bar"?document.getElementById(t).append(this.container):t=="top"?document.getElementById("top_slot").append(this.container):t=="bottom"?document.getElementById("bottom_slot").append(this.container):t=="float"&&!he.isMobile?(Xe.work_screen.append(this.container),this.container.classList.add("floating"),this.dispatchEvent("change_zindex",{zindex:14}),this.resize_handles||this.setupFloatHandles()):t=="hidden"&&this.container.remove(),t!=="float"&&(Kc.floating_panel_z_order.remove(this.id),this.container.style.zIndex="",this.dispatchEvent("change_zindex",{zindex:null})),this.folded!=this.container.classList.contains("folded")){this.folded=!!this.folded;let n=he.getIconNode(this.folded?"expand_less":"expand_more");$(this.handle).find("> .panel_folding_button > .icon").replaceWith(n),this.container.classList.toggle("folded",this.folded),this.onFold&&this.onFold()}return this.customizePosition(),this.update(),zn[this.id]&&(TickUpdates.interface=!0),this}update(t=!1){let n=BARS.condition(this.condition);he.isMobile||this.getHostPanel()&&Condition(this.getHostPanel().condition)&&(n=!1);let{work_screen:a,center_screen:o}=Xe,r=this.slot,s=r=="left_bar"||r=="right_bar";if(n){if(this.container.classList.remove("hidden"),this.node.classList.remove("attached"),r=="float"?(!t&&a.clientWidth&&(this.position_data.float_position[0]=Math.clamp(this.position_data.float_position[0],0,a.clientWidth-this.width),this.position_data.float_position[1]=Math.clamp(this.position_data.float_position[1],0,a.clientHeight-this.height),this.position_data.float_size[0]=Math.clamp(this.position_data.float_size[0],200,a.clientWidth-this.position_data.float_position[0]),this.position_data.float_size[1]=Math.clamp(this.position_data.float_size[1],86,a.clientHeight-this.position_data.float_position[1])),this.container.style.left=this.position_data.float_position[0]+"px",this.container.style.top=this.position_data.float_position[1]+"px",this.width=this.position_data.float_size[0],this.height=this.position_data.float_size[1],this.folded&&(this.height=this.tab_bar.clientHeight),this.container.style.width=this.width+"px",this.container.style.height=this.height+"px",this.container.classList.remove("bottommost_panel"),this.container.classList.remove("topmost_panel")):this.container.style.width=this.container.style.left=this.container.style.top=null,he.isMobile?this.width=this.container.clientWidth:r=="left_bar"?this.width=Xe.left_bar_width:r=="right_bar"&&(this.width=Xe.right_bar_width),r=="top"||r=="bottom"){if(he.isMobile&&he.isLandscape)this.height=o.clientHeight,this.width=Math.clamp(this.position_data.height,30,o.clientWidth),this.folded&&(this.width=72);else{let l=r=="top"?Xe.getBottomPanel():Xe.getTopPanel();this.height=Math.clamp(this.position_data.height,30,o.clientHeight-(l?l.height:0)),this.folded&&(this.height=this.tab_bar.clientHeight),this.width=Xe.work_screen.clientWidth-Xe.left_bar_width-Xe.right_bar_width}this.container.style.width=this.width+"px",this.container.style.height=this.height+"px"}else s&&(this.fixed_height?(this.height=Math.clamp(this.position_data.height,30,Xe.work_screen.clientHeight),this.container.style.height=this.height+"px",this.container.classList.add("fixed_height")):this.container.style.height=null);if(this.fixed_height||this.container.classList.remove("fixed_height"),this.sidebar_resize_handle&&(this.sidebar_resize_handle.style.display=s?"block":"none"),(r=="right_bar"&&Xe.getRightPanels(!0).last()==this||r=="left_bar"&&Xe.getLeftPanels().last()==this)&&(this.node.parentElement?.childNodes.forEach(l=>l.classList.remove("bottommost_panel")),this.container.classList.add("bottommost_panel")),(r=="right_bar"&&Xe.getRightPanels(!0)[0]==this||r=="left_bar"&&Xe.getLeftPanels()[0]==this)&&(this.node.parentElement?.childNodes.forEach(l=>l.classList.remove("topmost_panel")),this.container.classList.add("topmost_panel")),this.open_attached_panel!=this&&this.node.clientHeight==0&&!this.container.style.getPropertyValue("--main-panel-height")){this.container.append(this.node);let l=this.node.clientHeight;l&&this.container.style.setProperty("--main-panel-height",l+"px"),this.node.remove()}else this.getAttachedPanels().length&&this.node.clientHeight&&this.container.style.setProperty("--main-panel-height",this.node.clientHeight+"px");for(let l of this.getAttachedPanels())l.width=this.width,l.height=this.height,l.onResize&&l.onResize();zn[this.id]&&this.onResize&&this.onResize()}else this.container.classList.add("hidden");if(n&&!this.attached_to&&!he.isMobile){this.open_attached_panel&&this.getAttachedPanels().includes(this.open_attached_panel)==!1&&(this.open_attached_panel=this);let l=[this];l.safePush(...this.getAttachedPanels()),this.tab_bar.firstElementChild.textContent="";let c=0;for(let u of l)Condition(u.condition)&&(this.tab_bar.firstElementChild.append(u.handle),u.handle.classList.toggle("selected",this.open_attached_panel==u),c++);this.id=="uv"&&(this.id="uv");let d=!1;for(let u of this.container.querySelectorAll(".panel"))u==this.open_attached_panel.node?d=!0:u.remove();d||this.container.append(this.open_attached_panel.node),this.open_attached_panel!=this&&this.open_attached_panel.node.classList.add("attached"),this.tab_bar.classList.toggle("single_tab",c<=1)}return this.dispatchEvent("update",{show:n}),localStorage.setItem("interface_data",JSON.stringify(Xe.data)),this}delete(){delete zn[this.id],this.node.remove(),this.container.remove(),ZA()}};W(Kc,"selected"),W(Kc,"floating_panel_z_order",[]);var Ml=Kc;Ml.prototype.snap_menu=new Menu([{id:"move_to",name:"menu.panel.move_to",icon:"drag_handle",condition:()=>!he.isMobile,children:i=>[{name:"menu.panel.move_to.left_bar",icon:"align_horizontal_left",marked:e=>e.slot=="left_bar"&&!e.attached_to,click:e=>{e.fixed_height=!1,e.moveTo("left_bar")}},{name:"menu.panel.move_to.right_bar",icon:"align_horizontal_right",marked:e=>e.slot=="right_bar"&&!e.attached_to,click:e=>{e.fixed_height=!1,e.moveTo("right_bar")}},{name:"menu.panel.move_to.top",icon:"align_vertical_top",marked:e=>e.slot=="top"&&!e.attached_to,click:e=>{e.fixed_height=!1,e.moveTo("top")}},{name:"menu.panel.move_to.bottom",icon:"align_vertical_bottom",marked:e=>e.slot=="bottom"&&!e.attached_to,click:e=>{e.fixed_height=!1,e.moveTo("bottom")}},{name:"menu.panel.move_to.float",icon:"web_asset",marked:e=>e.slot=="float"&&!e.attached_to,click:e=>{e.fixed_height=!1,e.moveTo("float")}},"_",{name:"menu.panel.move_to.hidden",icon:"web_asset_off",marked:e=>e.slot=="hidden"&&!e.attached_to,condition:e=>e.optional&&e.slot!="hidden",click:e=>{e.fixed_height=!1,e.moveTo("hidden")}}]},{id:"move_to",name:"menu.panel.attach_to",icon:"fa-diagram-next",condition:()=>!he.isMobile,children:i=>{let e=[];for(let t in zn){let n=zn[t];!Condition(n.condition)||n.attached_to||n.id==i.attached_to||n==i||e.push({id:n.id,name:n.name,icon:n.icon,click(){n.attachPanel(i)}})}return e}},{id:"fold",name:"menu.panel.fold",icon:i=>i.getContainerPanel().folded==!0,condition:i=>i.getContainerPanel().slot!="hidden"&&!he.isMobile,click(i){i.getContainerPanel().fold()}},{id:"enable",name:"menu.panel.enable",icon:i=>i.slot!="hidden",condition:i=>he.isMobile,click(i){i.fixed_height=!1,i.slot=="hidden"?i.moveTo("bottom"):i.moveTo("hidden")}},{id:"reset_size",name:"menu.panel.reset_size",icon:"lock_reset",condition:i=>i.fixed_height,click(i){i.fixed_height=!1,i.update()}}]);var zn={};Xe.Panels=zn;Xe.panel_definers=[];Xe.definePanels=function(i){Xe.panel_definers.push(i)};var qd={};try{let i=JSON.parse(localStorage.getItem("panel_customization"));if(i&&typeof i=="object"){for(let e in i)qd[e]=i[e];he.onUpdateTo("5.1.0-beta.0",()=>{delete qd.layers})}}catch{}function Vie(){Xe.panel_definers.forEach(i=>{typeof i=="function"&&i()}),of()}function Gw(i,e){if(!Project)return;let t;try{typeof i=="string"?t=i=="right_bar"?Xe.getRightPanels():Xe.getLeftPanels():t=i,e&&(t=t.slice(),t.remove(e));let n=t.find(a=>a.growable&&!a.position_data.fixed_height);if(!n){if(n=t.find(a=>a.growable&&a.position_data.fixed_height),!n)return;n.position_data.fixed_height=!1,n.update()}}catch(n){console.error(n)}}function ZA(){he.isMobile||(Xe.left_bar.style.display=mn.show_left_bar?"flex":"none",Xe.right_bar.style.display=mn.show_right_bar?"flex":"none"),Xe.work_screen.style.setProperty("grid-template-columns",Xe.left_bar_width+"px auto "+Xe.right_bar_width+"px");for(var i in Xe.Panels){var e=zn[i];e.update()}var t=Xe.left_bar.querySelector(".panel_container:not(.hidden)")?Xe.left_bar_width:0,n=Xe.right_bar.querySelector(".panel_container:not(.hidden)")?Xe.right_bar_width:0;(!t||!n)&&Xe.work_screen.style.setProperty("grid-template-columns",t+"px auto "+n+"px"),Xe.preview.style.visibility=Xe.preview.clientHeight>80?"visible":"hidden";let a=document.getElementById("center").clientHeight;a-=Xe.getBottomPanel()?.height||0,a-=Xe.getTopPanel()?.height||0,Xe.preview.style.height=a>0?a+"px":"",Preview.split_screen.enabled&&Preview.split_screen.updateSize();for(var i in Xe.Resizers){var o=Xe.Resizers[i];o.update()}of(),localStorage.setItem("panel_customization",JSON.stringify(qd))}function of(){["left_bar","right_bar"].forEach(i=>{let e=document.querySelector(`.sidebar#${i}`),t=Array.from(e.childNodes).map(r=>r.getAttribute("panel_id")).filter(r=>zn[r]&&Condition(zn[r].condition)&&!zn[r].attached_to),n=Xe.calculateSidebarOrder(i),a,o=0;n.forEach(r=>{let s=zn[r];s.container.classList.remove("bottommost_panel"),s.container.classList.remove("topmost_panel"),!s.attached_to&&Condition(s.condition)?(t[o]!=r&&(s.id=="uv"&&!he.isMobile&&UVEditor.saveViewportOffset(),e.append(s.container),s.id=="uv"&&!he.isMobile&&UVEditor.loadViewportOffset()),o==0&&s.container.classList.add("topmost_panel"),o++,a=s):s.container.remove()}),a&&o>1&&a.container.classList.add("bottommost_panel")})}function e2(){if(!he.isMobile)return;Xe.PanelSelectorVue.$forceUpdate();let i=Xe.getBottomPanel();i&&!Condition(i.display_condition)&&Xe.PanelSelectorVue.select(null)}function QA(i){mn.active_panel=i,Ml.selected=zn[i]}function Fie(){Xe.PanelSelectorVue=new Mn.default({el:"#panel_selector_bar",data:{all_panels:Xe.Panels,selected:null,modifiers:Pressing.overrides},computed:{},methods:{panels(){let i=[];for(var e in this.all_panels){let t=this.all_panels[e];Condition(t.condition)&&Condition(t.display_condition)&&t.slot!="hidden"&&i.push(t)}return i},select(i){this.selected=i&&i.id;for(let e in zn){let t=zn[e];t.slot=="bottom"&&($(t.container).detach(),t.position_data.slot="left_bar")}i?i.moveTo("bottom"):Wc()},openKeyboardMenu(){Nw(this.$refs.mobile_keyboard_menu)},Condition,getIconNode:he.getIconNode},template:`
<div id="panel_selector_bar">
<div class="panel_selector" :class="{selected: selected == null}" @click="select(null)">
<div class="icon_wrapper"><i class="material-icons icon">3d_rotation</i></div>
</div>
<div class="panel_selector" :class="{selected: selected == panel.id}" v-for="panel in panels()" v-if="Condition(panel.condition)" @click="select(panel)">
<div class="icon_wrapper" v-html="getIconNode(panel.icon).outerHTML"></div>
</div>
<div id="mobile_keyboard_menu" @click="openKeyboardMenu()" ref="mobile_keyboard_menu" :class="{enabled: modifiers.ctrl || modifiers.shift || modifiers.alt}">
<i class="material-icons">keyboard</i>
</div>
</div>`})}var Uie={Panel:Ml,Panels:zn,setupPanels:Vie,updateInterfacePanels:ZA,updateSidebarOrder:of,updatePanelSelector:e2,setActivePanel:QA,setupMobilePanelSelector:Fie};Object.assign(window,Uie);var hr=class hr{constructor(e){W(this,"name");W(this,"uuid");W(this,"export");W(this,"locked");W(this,"scope");W(this,"parent");W(this,"selected");W(this,"_static");W(this,"name_regex");this.uuid=e||guid(),this.export=!0,this.locked=!1,this.scope=0,this._static=Object.freeze({properties:{},temp_data:{}})}init(){return hr.uuids[this.uuid]=this,(!this.parent||this.parent==="root"&&Outliner.root.indexOf(this)===-1)&&this.addTo("root"),this}select(e,t){return!1}unselect(e){}clickSelect(e,t){}getTypeBehavior(e){let t=this.type=="group"?Group:OutlinerElement.types[this.type];if(t){for(let n of t.behavior_overrides)if(Condition(n.condition)&&n.behavior[e]!=null)return n.behavior[e];return t.behavior[e]}}sortInBefore(e,t){if(this.getTypeBehavior("parent_types")){let o=this.getTypeBehavior("parent_types");if(!((e.parent=="root"&&o.includes("root"))|(e.parent instanceof hr&&o.includes(e.parent.type))))return}let n=e.getParentArray(),a=n.indexOf(e);return n.includes(this)&&a>this.getParentArray().indexOf(this)&&a--,this.removeFromParent(),this.parent=e.parent,a<0?n.push(this):n.splice(a+(t??0),0,this),this}addTo(e,t=-1){if(e?e!=="root"&&("children"in e||(e.parent==="root"?(t=Outliner.root.indexOf(e)+1,e="root"):(t=e.parent.children.indexOf(e)+1,e=e.parent))):e="root",this.getTypeBehavior("parent_types")){let a=this.getTypeBehavior("parent_types");if(!(e=="root"&&a.includes("root")||e instanceof hr&&a.includes(e.type)))return}this.removeFromParent();let n;return e==="root"?(n=Outliner.root,this.parent="root"):"children"in e&&(n=e.children,this.parent=e),n.includes(this)?this:(t<0?n.push(this):n.splice(t,0,this),this)}removeFromParent(){return this.getParentArray()?.remove(this),this}getParentArray(){if(this.parent==="root")return Outliner.root;if(typeof this.parent=="object")return this.parent.children}getAllAncestors(){let e=[],t=this.parent;for(;t instanceof hr&&!e.includes(t);)e.push(t),t=t.parent;return e}showContextMenu(e){return this.locked?this:(this.selected||this.clickSelect(e),this.menu.open(e,this),this)}showInOutliner(){var e=this;this.parent!=="root"&&this.parent.openUp(),Mn.default.nextTick(()=>{var t=$("#"+e.uuid);if(t.length!==0){var n=$("#panel_outliner").offset().top,a=t.offset().top;if(!(a>n&&a<$("#cubes_list").height()+n)){var o=a>n?.8:.2,r=t.offset().top+$("#cubes_list").scrollTop()-n-20;r-=$("#cubes_list").height()*o-15,$("#cubes_list").animate({scrollTop:r},200)}}})}updateElement(){var e=this,t=this.name;return e.name="_&/3%6-7A",e.name=t,this}get mesh(){return Project.nodes_3d[this.uuid]}get scene_object(){return Project.nodes_3d[this.uuid]}get temp_data(){return this._static.temp_data}getDepth(){var e=0;function t(n){return n.parent?(e++,t(n.parent)):e-1}return t(this)}duplicate(){return null}remove(e){this.preview_controller&&this.preview_controller.remove(this),hr.uuids[this.uuid]==this&&delete hr.uuids[this.uuid],this.removeFromParent()}rename(){this.showInOutliner();let t=document.getElementById(this.uuid)?.querySelector("div.outliner_object > input.cube_name");return t?(t.removeAttribute("disabled"),t.classList.add("renaming"),t.select(),t.focus(),he.addFlag("renaming"),this.temp_data.old_name=this.name,this):this}saveName(e=!0){if(e!==!1&&this.name.trim().length>0&&this.name!=this.temp_data.old_name){let t=this.name.trim();this.name=this.temp_data.old_name,this instanceof OutlinerElement?Undo.initEdit({elements:[this],mirror_modeling:!1}):this instanceof Group&&Undo.initEdit({groups:[this],mirror_modeling:!1}),this.constructor.animator&&Animation.all.forEach(n=>{n.animators[this.uuid]&&n.animators[this.uuid].keyframes.length&&(n.saved=!1)}),this.name=t,this.sanitizeName(),delete this.temp_data.old_name,Condition(this.getTypeBehavior("unique_name"))&&this.createUniqueName(),Undo.finishEdit("Rename element")}else this.name=this.temp_data.old_name,delete this.temp_data.old_name;return this}sanitizeName(){var e=typeof this.name_regex=="function"?this.name_regex(this):this.name_regex;if(e){var t=new RegExp(`[^${e}]`,"g");this.name=this.name.replace(t,n=>n=="-"&&"_".search(t)==-1?"_":n.toLowerCase().search(t)==-1?n.toLowerCase():"")}return this.name}createUniqueName(e){if(!Condition(this.getTypeBehavior("unique_name")))return;var t=this;let n=this.constructor.all.filter(l=>l.scope==this.scope);e&&e.length&&e.forEach(l=>{n.safePush(l)});let a=this.name.match(/[^\d]0$/)!==null;var o=this.name.replace(/\d+$/,"").replace(/\s+/g,"_");function r(l){let c=l.toLowerCase();for(var d=0;d<n.length;d++)if(n[d]!==t&&n[d].name.toLowerCase()===c)return!1;return!0}if(r(this.name))return this.name;for(var s=a?1:2;s<8e3;s++)if(r(o+s))return t.name=o+s,t.name;return!1}isIconEnabled(e){return typeof e.getState=="function"?e.getState(this):this[e.id]!==void 0?this[e.id]:!0}matchesFilter(e){return this.name.toLowerCase().includes(e)?!0:"children"in this?this.children.some(t=>t.matchesFilter(e)):!1}isChildOf(e,t){function n(a,o){return!a||a==="root"?!1:a===e?!0:!t||o<t-1?n(a.parent,o+1):!1}return n(this.parent,0)}get preview_controller(){return this.constructor.preview_controller}markAsSelected(e){}showContexMenu(e){return this}static addBehaviorOverride(e){let t=this,n={condition:e.condition,priority:e.priority??0,behavior:e.behavior,delete(){t.behavior_overrides.remove(n)}};return t.behavior_overrides==hr.behavior_overrides&&(t.behavior_overrides=[]),t.behavior_overrides.push(n),e.priority!=null&&t.behavior_overrides.sort((a,o)=>o.priority-a.priority),n}};W(hr,"animator"),W(hr,"isParent"),W(hr,"all"),W(hr,"selected"),W(hr,"preview_controller"),W(hr,"properties"),W(hr,"behavior"),W(hr,"behavior_overrides",[]),W(hr,"uuids");var ra=hr,Oie={OutlinerNode:ra};Object.assign(window,Oie);var Wd=class Wd extends ra{constructor(t,n){super(n);W(this,"allow_mirror_modeling");this.parent="root",this.selected=!1}init(){return super.init(),Project.elements.safePush(this),(!this.mesh||!this.mesh.parent)&&this.preview_controller.setup(this),this}remove(){if(this.unselect(),super.remove(),Project.selected_elements.remove(this),Project.elements.remove(this),this.children){let t=this.children.length-1;for(;t>=0;)this.children[t].remove(!1),t--}return"animator"in this.constructor&&Animator.animations.forEach(t=>{t.animators&&t.animators[this.uuid]&&t.removeAnimator(this.uuid),t.selected&&Animator.open&&updateKeyframeSelection()}),TickUpdates.selection=!0,this}showContextMenu(t){return this.locked?this:(this.selected||this.clickSelect(t),this.menu.open(t,this),this)}forSelected(t,n,a){let o=this.constructor.selected,r=o;if((o.length<=1||!o.includes(this))&&(r=[this]),a=="all_in_group"&&(r=r.slice(),r.slice().forEach(l=>{l.getParentArray().forEach(c=>{"faces"in c&&r.safePush(c)})})),typeof t=="function"){n&&Undo.initEdit({elements:r});for(var s=0;s<r.length;s++)t(r[s]);n&&Undo.finishEdit(n)}return r}duplicate(){let t=new this.constructor(this),n,a=t.name.match(/[0-9]+$/);a&&(n=parseInt(a[0]),t.name=t.name.split(n.toString()).join((n+1).toString())),Condition(this.getTypeBehavior("unique_name"))&&(t.temp_data.old_name=this.name);let o=this.getParentArray().findLast(s=>s.selected||s==this);t.sortInBefore(o,1).init();let r=Outliner.selected.indexOf(this);if(r>=0?Outliner.selected[r]=t:Outliner.selected.push(t),vt.resetUniqueValues(this.constructor,t),Condition(t.getTypeBehavior("unique_name"))&&t.createUniqueName(),t.getTypeBehavior("parent")){for(let s of this.children)s.duplicate().addTo(t);t.isOpen=!0,Canvas.updatePositions()}return TickUpdates.selection=!0,t}select(t,n){if(Modes.animate&&!this.constructor.animator)return he.showQuickMessage("message.group_required_to_animate"),!1;Undo.initSelection();var a=[];let o=!Modes.paint||Toolbox.selected.id=="fill_tool"&&BarItems.fill_mode.value=="selected_elements";if(Toolbox.selected.id=="knife_tool"&&(o=!1),t&&o&&(t.shiftKey===!0||Pressing.overrides.shift)&&this.getParentArray().includes(Outliner.selected.last())&&n){var r,s=Outliner.selected.last();this.getParentArray().forEach((l,c)=>{l===s||l===this?(r?r=!1:r=!0,l.type!=="group"?Outliner.selected.includes(l)||(l.markAsSelected(!0),a.push(l)):l.markAsSelected(!0)):r&&(l.type!=="group"?Outliner.selected.includes(l)||(l.markAsSelected(!0),a.push(l)):l.markAsSelected(!0))})}else if(t&&o&&(t.ctrlOrCmd||t.shiftKey||Pressing.overrides.ctrl||Pressing.overrides.shift))if(Outliner.selected.includes(this))this.unselect(!0);else{let l=!(this.getTypeBehavior("select_children")=="self_first"&&!this.selected);this.markAsSelected(l),a.push(this)}else{let l=this.children instanceof Array&&!this.children.find(d=>d.selected==!1);unselectAllElements([this]);let c=this.getTypeBehavior("select_children")=="self_first"&&!this.selected?!1:!l;this.markAsSelected(c),a.push(this),settings.outliner_reveal_on_select.value&&this.showInOutliner()}return he.dispatchEvent("added_to_selection",{added:a}),TickUpdates.selection=!0,this}clickSelect(t,n){if(he.hasFlag("renaming"))return;if(Undo.initSelection(),this.select(t,n)===!1){Undo.cancelSelection();return}Undo.finishSelection("Select element")}markAsSelected(t){return Project.selected_elements.safePush(this),this.selected=!0,TickUpdates.selection=!0,this}unselect(t){return Project.selected_elements.remove(this),this.selected=!1,UVEditor.selected_element_faces[this.uuid]&&delete UVEditor.selected_element_faces[this.uuid],t&&this.parent instanceof ra&&this.parent.selected&&this.parent.getTypeBehavior("select_children")!="self_first"&&this.parent.unselect(t),TickUpdates.selection=!0,this}getUndoCopy(){let t=new this.constructor(this);return t.uuid=this.uuid,t.type=this.type,delete t.parent,t}getSaveCopy(){let t={};for(let n in this.constructor.properties)this.constructor.properties[n].copy(this,t);return t.export=this.export?void 0:!1,t.uuid=this.uuid,t.type=this.type,t}static fromSave(t,n=!1){let a=Wd.types[t.type]||Cube;if(a)return new a(t,n?t.uuid:0).init()}static isTypePermitted(t){return!(t=="locator"&&!Format.locators||t=="mesh"&&!Format.meshes||t=="spline"&&!Format.splines)}static hasAny(){return Outliner.elements.length>0&&Outliner.elements.findIndex(t=>t instanceof this)!==-1}static hasSelected(){return Outliner.selected.length>0&&Outliner.selected.findIndex(t=>t instanceof this)!==-1}static registerType(t,n){Wd.types[n]=t,t.prototype.type=n,t.behavior||(t.behavior={}),t.properties?.name||new vt(t,"string","name"),t.properties?.export||new vt(t,"boolean","export",{default:!0}),t.properties?.locked||new vt(t,"boolean","locked",{default:!1}),t.properties?.scope||new vt(t,"number","scope"),Object.defineProperty(t,"all",{get(){return Project.elements?.length&&Project.elements.find(a=>a instanceof t)?Project.elements.filter(a=>a instanceof t):[]},set(a){console.warn("You cannot modify this")}}),Object.defineProperty(t,"selected",{get(){return Project.selected_elements?.length&&Project.selected_elements.find(a=>a instanceof t)?Project.selected_elements.filter(a=>a instanceof t):[]},set(a){console.warn("You cannot modify this")}}),he.dispatchEvent("register_element_type",{id:n,constructor:t})}};W(Wd,"animator"),W(Wd,"isParent"),W(Wd,"all"),W(Wd,"selected"),W(Wd,"types",{});var Ua=Wd;Object.defineProperty(Ua,"all",{get(){return Project.elements?Project.elements:[]},set(i){console.warn("You cannot modify this")}});Object.defineProperty(Ua,"selected",{get(){return Project.selected_elements?Project.selected_elements:[]},set(i){console.warn("You cannot modify this")}});var Lie={OutlinerElement:Ua};Object.assign(window,Lie);var Nie=[];for(let i=0;i<256;i++)Nie[i]=(i<16?"0":"")+i.toString(16);var Mde=Math.PI/180,Hie=180/Math.PI;function _4(i){return i*Hie}var rn=[{pastel:"#A2EBFF",standard:"#58C0FF",id:"light_blue"},{pastel:"#FFF899",standard:"#F4D714",id:"yellow"},{pastel:"#F1BB75",standard:"#EC9218",id:"orange"},{pastel:"#FF9B97",standard:"#FA565D",id:"red"},{pastel:"#C5A6E8",standard:"#B55AF8",id:"purple"},{pastel:"#A6C8FF",standard:"#4D89FF",id:"blue"},{pastel:"#7BFFA3",standard:"#00CE71",id:"green"},{pastel:"#BDFFA6",standard:"#AFFF62",id:"lime"},{pastel:"#FFA5D5",standard:"#F96BC5",id:"pink"},{pastel:"#E0E9FB",standard:"#C7D5F6",id:"silver"}],Gie={markerColors:rn};Object.assign(window,Gie);var Es=["#4642bb","#924919","#237028","#077678","#770c0c","#7a7000","#60179a"],qw=class qw{constructor(e,t){W(this,"id");this.id=e,Object.assign(this,t),qw.rulesets[e]=this}};W(qw,"rulesets",{});var Vm=qw,qie={MultiFileRuleset:Vm};Object.assign(window,qie);var $t={ROOT:"root",root:[],get elements(){return Project.elements||[]},set elements(i){console.warn("You cannot modify this")},get selected(){return Project.selected_elements||[]},set selected(i){console.warn("You cannot modify this")},get nodes(){return Project.groups.concat(Project.elements)},buttons:{visibility:{id:"visibility",title:tl("switches.visibility"),icon:"visibility",icon_off:"visibility_off",advanced_option:!1},locked:{id:"locked",title:tl("switches.lock"),icon:"fa-lock",icon_off:"fa-lock-open",advanced_option:!0,visibilityException(i){return i.locked}},export:{id:"export",title:tl("switches.export"),icon:"far.fa-square-check",icon_off:"far.fa-window-close",advanced_option:!0,condition:{modes:["edit"]},visibilityException(i){return!i.export}},shade:{id:"shade",condition:{modes:["edit"],features:["java_cube_shading_properties"]},title:tl("switches.shade"),icon:"fa-star",icon_off:"far.fa-star",advanced_option:!0},mirror_uv:{id:"mirror_uv",condition:{modes:["edit"],method:i=>i instanceof Group?i.children.find(e=>e.box_uv):i.box_uv},title:tl("switches.mirror"),icon:"icon-mirror_x",icon_off:"icon-mirror_x",advanced_option:!0},autouv:{id:"autouv",title:tl("switches.autouv"),icon:"fa-thumbtack",icon_off:"far.fa-times-circle",icon_alt:"fa-magic",advanced_option:!0,condition:{modes:["edit"]},getState(i){return i.autouv?i.autouv===1?!0:"alt":!1}}},isNodeDisplayed(i){for(let e of $t.node_display_rules)if(e.test(i)==!1)return!1;return!0},node_display_rules:[{id:"mode_hidden_types",test(i){return Mode.selected?.hidden_node_types?.length?!Mode.selected.hidden_node_types.includes(i.type):!0}},{id:"search",test(i){return $t.vue._data.options.search_term==""?!0:i.matchesFilter($t.vue.search_term_lowercase)}}],updateNodeDisplayRules(){$t.vue.options.update_conditions++},toJSON(){let i=[];function e(t,n){let a=0;for(let o of t){if(o.children instanceof Array){let r={uuid:o.uuid,isOpen:o.isOpen,children:[]};o.children.length>0&&e(o.children,r.children),n.push(r)}else n.push(o.uuid);a++}}return e($t.root,i),i},loadJSON(i,e){let t=new Set;function n(a,o,r){for(let s of a)if(typeof s=="string"){let l=ra.uuids[s];l&&(t.add(s),l.removeFromParent(),o.push(l),l.parent=r)}else{let l=ra.uuids[s.uuid];if(t.add(s.uuid),s&&s.name!=null&&(l instanceof Group?l.extend(s):(l=new Group(s,s.uuid),s.uuid&&(l.uuid=s.uuid),l.init())),!l){console.warn("Item not found",s);continue}l.removeFromParent(),o.push(l),l.parent=r,l.isOpen=!!s.isOpen,s.children instanceof Array&&(l.children.empty(),n(s.children,l.children,l)),s.content instanceof Array&&(l.children.empty(),n(s.content,l.children,l)),s.selected&&l.multiSelect&&l.multiSelect()}}if(e||Group.all.forEach(a=>{a.removeFromParent()}),n(i,$t.root,"root"),!e){let a=Group.all.concat($t.elements);if(a.length!=t.size){console.warn("Potential outliner mismatch detected:",`${a.length} vs ${t.size}`);for(let o of Group.all.concat($t.elements))t.has(o.uuid)||($t.root.push(o),o.parent=$t.ROOT,console.warn("Existing element missing in outliner. Adding to root instead.",o))}}}};Object.defineProperty(window,"elements",{get(){return $t.elements},set(i){console.warn("You cannot modify this")}});Object.defineProperty(window,"selected",{get(){return $t.selected},set(i){console.warn("You cannot modify this")}});var i2=class extends EventSystem{constructor(e,t={}){super(),this.type=e,this.events={},e.preview_controller=this,this.updateGeometry=null,this.updateUV=null,this.updateFaces=null,this.updatePixelGrid=null,this.updateHighlight=null,Object.assign(this,t)}setup(e){var t=new THREE.Object3D;Project.nodes_3d[e.uuid]=t,t.name=e.uuid,t.type=e.type,t.isElement=!0,t.visible=e.visibility,t.rotation.order=Format.euler_order,this.updateTransform(e),this.dispatchEvent("setup",{element:e})}remove(e){let{mesh:t}=e;t?.parent&&t.parent.remove(t),t?.geometry&&t.geometry.dispose(),t?.outline&&t.outline.geometry&&(t.outline.geometry.dispose(),Transformer.dragging&&Canvas.outlines.remove(Canvas.outlines.getObjectByName(this.uuid+"_ghost_outline"))),delete Project.nodes_3d[e.uuid],this.dispatchEvent("remove",{element:e})}updateAll(e){e.mesh||this.setup(e),this.updateTransform(e),this.updateVisibility(e),this.updateGeometry&&this.updateGeometry(e),this.updateUV&&this.updateUV(e),this.updateFaces&&this.updateFaces(e),this.updatePixelGrid&&this.updatePixelGrid(e),this.dispatchEvent("update_all",{element:e})}updateTransform(e){let t=e.mesh;e.getTypeBehavior("movable")&&t.position.set(e.origin[0],e.origin[1],e.origin[2]),e.getTypeBehavior("rotatable")&&(t.rotation.x=Math.degToRad(e.rotation[0]),t.rotation.y=Math.degToRad(e.rotation[1]),t.rotation.z=Math.degToRad(e.rotation[2])),e.getTypeBehavior("scalable")&&(t.scale.x=e.scale[0]||1e-7,t.scale.y=e.scale[1]||1e-7,t.scale.z=e.scale[2]||1e-7),Format.bone_rig&&e.parent instanceof ra&&e.parent.getTypeBehavior("parent")?(e.parent.mesh.add(t),e.parent.getTypeBehavior("use_absolute_position")&&(t.position.x-=e.parent.origin[0],t.position.y-=e.parent.origin[1],t.position.z-=e.parent.origin[2])):t.parent!==Project.model_3d&&Project.model_3d.add(t),t.updateMatrixWorld(),this.dispatchEvent("update_transform",{element:e})}updateVisibility(e){e.mesh.visible=e.visibility,this.dispatchEvent("update_visibility",{element:e})}updateSelection(e){let{mesh:t}=e;t&&t.outline&&(Modes.paint&&settings.outlines_in_paint_mode.value===!1?t.outline.visible=!1:t.outline.visible=e.selected),this.dispatchEvent("update_selection",{element:e})}updateRenderOrder(e){switch(e.render_order){case"behind":e.mesh.renderOrder=-1;break;case"in_front":e.mesh.renderOrder=1;break;default:e.mesh.renderOrder=0;break}}viewportRectangleOverlap(e,{projectPoint:t,rect_start:n,rect_end:a}){return e.mesh.getWorldPosition(Reusable.vec2),pointInRectangle(t(Reusable.vec2),n,a)}};$t.control_menu_group=[new MenuSeparator("outliner_control"),"copy","paste","duplicate","group_elements","move_to_group"];Array.prototype.findRecursive=function(i,e){for(var t=0;t<this.length;){if(this[t][i]===e)return this[t];if(this[t].children&&this[t].children.length>0){let n=this[t].children.findRecursive(i,e);if(n!==void 0)return n}t++}};function Wie(...i){return console.warn("compileGroups is no longer supported. Use Outliner.toJSON instead"),$t.toJSON(...i)}function Kie(...i){return console.warn("parseGroups is no longer supported. Use Outliner.loadJSON instead"),$t.loadJSON(...i)}function n2(i,e,t=0,n={}){let o=n.event.altKey||Pressing.overrides.alt,r=!1;if(i.children instanceof Array&&e instanceof ra&&e.parent){let _=function(f){!(s=f===i)&&f.parent.children instanceof Array&&_(f.parent)};var s=!1;if(_(e),s)return}if(i instanceof ra&&i.selected){var l=[];$t.root.forEach(_=>{_.forEachChild?_.forEachChild(f=>{f.selected&&!f.parent.selected&&(!(e instanceof ra)||!e.isChildOf?.(f))&&l.push(f)},null,!0):_.selected&&l.push(_)})}else var l=[i];if(e instanceof Collection){Undo.initEdit({collections:[e]});for(let _ of l)e.children.safePush(_.uuid);Undo.finishEdit("Add to collection"),updateSelection();return}o?(Undo.initEdit({elements:[],groups:[],outliner:!0,selection:!0},n.amended),$t.selected.empty()):Undo.initEdit({outliner:!0,selection:!0,elements:n.adjust_position?$t.selected:void 0,groups:n.adjust_position?Group.all.filter(_=>_.selected):null},n.amended);function c(_){_.children&&_.children.length&&_.children.forEach(c),_.preview_controller?.updateTransform&&(_.preview_controller.updateTransform(_),Format.per_group_texture&&_.preview_controller.updateFaces&&_.preview_controller.updateFaces(_)),_.preview_controller.updateGeometry&&_.preview_controller.updateGeometry(_)}let d=new THREE.Matrix4,u=new THREE.Matrix4,p=new THREE.Matrix4;function m(_){let f=_.scene_object,g=_.parent;if(f.updateMatrix(),u.copy(f.matrix),p.copy(f.matrixWorld),t?_.sortInBefore(e,t==1?1:void 0):_.addTo(e),c(_),g!=_.parent&&!r){f.updateMatrixWorld(!0);let v=f.matrixWorld.elements,b=p.elements;v.some((x,w)=>!Math.epsilon(x,b[w],1e-5))&&(r=!0)}if(n.adjust_position){f.parent.updateMatrixWorld(!0),d.copy(f.parent.matrixWorld).invert(),g instanceof ra&&d.multiply(g.scene_object.matrixWorld),u.premultiply(d);let v=Reusable.vec1,b=Reusable.quat1,x=Reusable.vec2;if(u.decompose(v,b,x),changeNodeLocalPosition(_,v),_.getTypeBehavior("rotatable")){let w=Reusable.euler1;w.setFromQuaternion(b,f.rotation.order),_.rotation.V3_set(w.toArray().map(_4))}c(_)}}return l.forEach(function(_){if(_&&_!==e)if(o)if(_ instanceof Group){var f=_.duplicate();m(f),f.select()}else{var g=_.duplicate();m(g),$t.selected.safePush(g)}else m(_)}),Format.bone_rig&&Canvas.updateAllBones(),updateSelection(),o?Undo.finishEdit("Duplicate selection",{elements:$t.selected,outliner:!0,selection:!0,groups:Group.all.filter(_=>_.selected)}):Undo.finishEdit("Move elements in outliner"),r}var t2={adjust_position:!1};function Hb(i,e,t,n){n2(i,e,n,{event:t,...t2})&&Undo.amendEdit({adjust_position:{type:"checkbox",value:t2.adjust_position,label:"edit.reparent_selection.adjust_position"}},o=>{n2(i,e,n,{amended:!0,event:t,adjust_position:o.adjust_position}),t2.adjust_position=o.adjust_position})}function h4(i,e){if(e=="root"){for(let n of i){let a=n.getTypeBehavior("parent_types");if(a&&!a.includes("root"))return!1}return!0}if(!e.getTypeBehavior("parent"))return!1;let t=e.getTypeBehavior("child_types");if(t&&i.find(n=>t.includes(n.type)==!1))return!1;for(let n of i){let a=n.getTypeBehavior("parent_types");if(a&&!a.includes(e.type))return!1}return!0}function Fm(i,e){let t;return e instanceof Ua&&!e.selected?t=[e]:t=$t.selected.concat(Group.selected).filter(n=>n.parent=="root"||n.parent.selected!=!0),h4(t,i)}function a2(i){Format.id!="skin"&&(f4(),Group.selected.length==1&&!Project.EditSession?Group.first_selected.rename():$t.selected.length===1&&!Project.EditSession?$t.selected[0].rename():i instanceof ra&&i.getTypeBehavior("select_children")=="self_first"?i.rename():Group.first_selected&&!i?he.textPrompt("generic.rename",Group.first_selected.name,function(e){if(e=e.trim(),e){Undo.initEdit({groups:Group.multi_selected});for(let t of Group.multi_selected)t.name=e,Format.bone_rig&&t.createUniqueName();Undo.finishEdit("Rename group")}}):$t.selected.length&&he.textPrompt("generic.rename",$t.selected[0].name,function(e){e=e.trim(),e&&(Undo.initEdit({elements:$t.selected}),$t.selected.forEach((t,n)=>{t.name=e.replace(/%+/g,a=>(t.getParentArray().indexOf(t)+1).toDigitString(a.length)).replace(/\$+/g,a=>(n+1).toDigitString(a.length)),Condition(t.getTypeBehavior("unique_name"))&&t.createUniqueName()}),Undo.finishEdit("Rename"))},{description:tl("message.rename_elements.numbering")}))}function f4(i){if(he.hasFlag("renaming")){let e=$(".outliner_object input.renaming").parent().parent().attr("id"),t=$t.root.findRecursive("uuid",e);t&&t.saveName(i),$(".outliner_object input.renaming").attr("disabled",!0).removeClass("renaming"),$("body").focus(),window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty(),he.removeFlag("renaming")}}function $ie(i){let e=$t.selected.filter(n=>n[i]!=null);if(e.length){var t=e[0][i];typeof t=="number"?t=(t+1)%3:t=!t,Undo.initEdit({elements:e,mirror_modeling:!1}),e.forEach(n=>{n[i]!=null&&(n[i]=t)}),i==="visibility"&&Canvas.updateVisibility(),i==="mirror_uv"&&Canvas.updateUVs(),Undo.finishEdit("Toggle "+i)}}Ba.init("advanced_outliner_toggles","boolean");SharedActions.add("rename",{subject:"outliner",condition:{modes:["edit","paint"],method:()=>Format.id!="skin"},priority:-1,run(){a2()}});SharedActions.add("delete",{subject:"outliner",condition:()=>(Modes.edit||Modes.paint)&&($t.selected.length||Group.first_selected),priority:-1,run(){let i=$t.selected.slice(),e=Group.all.filter(o=>o.selected),t=i.slice(),n=e.slice(),a=o=>{if(o.children)for(let r of o.children)r instanceof Group?n.safePush(r):t.safePush(r),a(r)};i.forEach(a),e.forEach(a),Undo.initEdit({elements:t,groups:n,selection:!0,outliner:!0});for(let o of i)o.remove(!1);for(let o of e)o.remove(!1);t.empty(),n.empty(),TickUpdates.selection=!0,Undo.finishEdit("Delete outliner selection")}});SharedActions.add("duplicate",{subject:"outliner",condition:()=>Modes.edit&&Group.first_selected,priority:-1,run(){Undo.initEdit({outliner:!0,elements:[],groups:[],selection:!0});let i=[];for(let a of Group.multi_selected)a.forEachChild(o=>i.safePush(o),Group,!0);let e=[],t=[],n=Group.selected.filter(a=>a.parent.selected!=!0);Group.multi_selected.empty();for(let a of Group.all)a.selected&&(a.selected=!1);for(let a of n){let o=a.duplicate();o.forEachChild(r=>e.push(r),Group,!0),o.multiSelect(),t.push(o)}if(updateSelection(),Undo.finishEdit("Duplicate group",{outliner:!0,elements:$t.selected,groups:Group.all.filter(a=>a.selected),selection:!0}),Animation.all.length){let a=Animation.all.filter(o=>i.find(r=>o.animators[r.uuid]?.keyframes.length));a.length&&he.showMessageBox({translateKey:"duplicate_bone_copy_animation",message:tl("message.duplicate_bone_copy_animation.message",[a.length]),buttons:["dialog.yes","dialog.no"]},o=>{if(o!=1){Undo.initEdit({animations:a});for(let r of a)for(let s=0;s<i.length;s++){let l=r.animators[i[s].uuid];if(!l)continue;let c=r.getBoneAnimator(e[s]);if(c){c.extend(l);for(let d of l.keyframes)c.addKeyframe(d)}}Undo.finishEdit("Copy animations of duplicated bones")}})}}});SharedActions.add("duplicate",{subject:"outliner",condition:()=>Modes.edit&&$t.selected.length,priority:-2,run(){let i=[];Undo.initEdit({elements:i,outliner:!0,selection:!0});let e=$t.selected.slice();$t.selected.empty(),e.forEachReverse(function(t,n){if(t.parent instanceof Ua&&t.parent.selected)return;let a=t.duplicate();i.push(a),"forEachChild"in a&&a.forEachChild(o=>{o instanceof Ua&&i.push(o)}),a.markAsSelected()}),BarItems.move_tool.select(),updateSelection(),Undo.finishEdit("Duplicate elements")}});SharedActions.add("select_all",{subject:"outliner",condition:()=>Modes.edit||Modes.paint,priority:-2,run(){Undo.initSelection();let i=$t.elements.filter(e=>!e.locked);if($t.selected.length<i.length){for(let e of $t.root)e instanceof Group&&e.multiSelect();i.forEach(e=>{e.markAsSelected()}),TickUpdates.selection=!0,Undo.finishSelection("Select all elements")}else unselectAllElements(),Undo.finishSelection("Unselect all elements")}});SharedActions.add("unselect_all",{subject:"outliner",condition:{modes:["edit","paint","animate"]},priority:-2,run(){Undo.initSelection(),unselectAllElements(),Undo.finishSelection("Unselect all elements")}});SharedActions.add("invert_selection",{subject:"outliner",condition:{modes:["edit","paint"]},priority:-2,run(){$t.elements.forEach(i=>{i.selected?i.unselect():i.markAsSelected()});for(let i of Group.multi_selected)i.unselect();updateSelection()}});BARS.defineActions(function(){new Action("add_element",{icon:"add_2",condition:{modes:["edit"]},side_menu:new Menu(["add_mesh","add_cube","add_spline","add_billboard","add_armature","add_armature_bone","add_locator","add_null_object","add_bounding_box","add_texture_mesh"]),click(i){let e=this.side_menu.structure.map(t=>BarItems[t]).find(t=>Condition(t.condition));e&&e.click()}}),new Toggle("outliner_toggle",{icon:"dns",category:"edit",keybind:new Keybind({key:115}),default:Ba.advanced_outliner_toggles,onChange:function(i){$t.vue.options.show_advanced_toggles=i,Ba.advanced_outliner_toggles=i,Ba.save("advanced_outliner_toggles")}}),new Toggle("search_outliner",{icon:"search",category:"edit",onChange(i){$t.vue._data.options.search_term="",$t.vue._data.search_enabled=i,i&&Vue.nextTick(()=>{document.getElementById("outliner_search_bar").firstChild.focus()})}}),new BarText("cube_counter",{right:!0,click:function(){var i=0;let e=0;$t.elements.forEach(r=>{if(r.getTypeBehavior("cube_faces")){for(var s in r.faces)r.faces[s].texture!==null&&i++;r instanceof Cube&&(e+=8)}else r.faces&&(i+=Object.keys(r.faces).length);r instanceof Mesh&&(e+=Object.keys(r.vertices).length)});let t=[{label:tl("dialog.model_stats.cubes"),value:Cube.all.length},Format.meshes&&{label:tl("dialog.model_stats.meshes"),value:Mesh.all.length},Format.splines&&{label:tl("dialog.model_stats.splines",[],"Splines"),value:SplineMesh.all.length},Format.locators&&{label:tl("dialog.model_stats.locators"),value:Locator.all.length},{label:tl("dialog.model_stats.groups"),value:Group.all.length},{label:tl("dialog.model_stats.vertices"),value:e},{label:tl("dialog.model_stats.faces"),value:i}].filter(r=>r);he.dispatchEvent("display_model_stats",{stats:t});let n={},a=0;for(let r of t){if(!r)continue;let s=typeof r.value=="number"?stringifyLargeInt(r.value):r.value;n[a]={type:"info",label:r.label,text:s},a++}new Dialog({id:"model_stats",title:"dialog.model_stats.title",width:300,singleButton:!0,form:n}).show()},onUpdate:function(){if(Animator.open){var i=0;for(let e of Group.all)e.selected&&i++;this.set(stringifyLargeInt(i)+" / "+stringifyLargeInt(Group.all.length))}else this.set(stringifyLargeInt($t.selected.length)+" / "+stringifyLargeInt($t.elements.length))}}),new Action("move_to_group",{icon:"drive_file_move",category:"edit",searchable:!0,children(i){let e=i instanceof ra?i:$t.selected[0]??Group.first_selected;if(!e)return;let n=[...getAllGroups(),...$t.elements].filter(a=>Fm(a)).map(a=>({name:a.name,icon:a.icon,color:rn[a.color%rn.length]&&rn[a.color%rn.length].standard,click(o,r){Hb(e,a,r),e.showInOutliner()}}));return Fm("root")&&n.splice(0,0,{name:"Root",icon:"list_alt",click(a,o){Hb(e,void 0,o)}}),n},click(i){new Menu("move_to_group",this.children(),{searchable:!0}).open(i.target,this)}}),new Action("sort_outliner",{icon:"sort_by_alpha",category:"edit",click:function(){Undo.initEdit({outliner:!0}),!($t.root.length<1)&&($t.root.sort(function(i,e){return sort_collator.compare(i.name,e.name)}),Undo.finishEdit("Sort outliner"))}}),new Action("unlock_everything",{icon:"fas.fa-key",category:"edit",click:function(){let i=$t.elements.filter(t=>t.locked),e=Group.all.filter(t=>t.locked);i.length+e.length!=0&&(Undo.initEdit({outliner:e.length>0,elements:i}),[...i,...e].forEach(t=>{t.locked=!1}),Undo.finishEdit("Unlock everything"))}}),new Toggle("element_colors",{category:"edit",icon:"palette",linked_setting:"outliner_colors"}),new Action("select_window",{icon:"filter_list",category:"edit",keybind:new Keybind({key:"f",ctrl:!0}),condition:()=>Modes.edit||Modes.paivnt,click:function(i,e){let t={"-1":"generic.all"};rn.forEach((a,o)=>{t[o]=a.name||"cube.color."+a.id});let n={all:"generic.all"};for(let a in Ua.types)n[a]=tl(`data.${a}`),n[a].includes(".")&&(n[a]=Ua.types[a].display_name||Ua.types[a].name);new Dialog({id:"selection_creator",title:"dialog.select.title",form_first:!0,form:{mode:{label:"dialog.select.mode",type:"select",options:{new:"dialog.select.mode.new",add:"dialog.select.mode.add",remove:"dialog.select.mode.remove",in_selection:"dialog.select.mode.in_selection"}},group:{label:"dialog.select.group",type:"checkbox"},separate:"_",name:{label:"dialog.select.name",type:"text"},type:{label:"dialog.select.type",type:"select",options:n},color:{label:"menu.cube.color",type:"select",value:"-1",options:t},texture:{label:"data.texture",type:"text",list:Texture.all.map(a=>a.name)},random:{label:"dialog.select.random",type:"range",min:0,max:100,step:1,value:100}},onConfirm(a){(a.mode=="new"||a.mode=="in_selection")&&$t.selected.empty();let o=Group.multi_selected;o.length&&o.forEach(c=>c.unselect());var r=a.name.toUpperCase(),s=a.texture.toLowerCase();let l=$t.elements.slice();if(a.group&&o.length){l=[],group.multiSelect();for(let c of o)c.forEachChild(d=>l.safePush(d),Ua,!1)}(a.mode=="in_selection"||a.mode=="remove")&&(l=l.slice().filter(c=>c.selected)),l.forEach(function(c){if(!(c.type!==a.type&&a.type!=="all")&&c.name.toUpperCase().includes(r)!==!1){if(c.faces&&s&&!Format.single_texture){var d=!1;for(var u in c.faces){var p=c.faces[u].getTexture();p&&p.name.includes(s)&&(d=!0)}if(!d)return}a.color!="-1"&&(c.setColor==null||c.color.toString()!=a.color)||Math.random()>a.random/100||(a.mode=="remove"?$t.selected.remove(c):$t.selected.safePush(c))}}),updateSelection(),e&&e.returnResult?e.returnResult({elements:$t.selected,groups:o}):$t.selected.length&&$t.selected[0].showInOutliner()}}).show(),$(".dialog#selection_creator .form_bar_name > input").focus()}}),new Action("hide_everything_except_selection",{icon:"fa-glasses",category:"view",keybind:new Keybind({key:"i"}),condition:{modes:["edit","paint"]},click(){if($i.hasMinPriority(2))return;let i=!Project.only_hidden_elements;if(Project.only_hidden_elements){let e=Project.elements.filter(t=>typeof t.visibility=="boolean"&&Project.only_hidden_elements.includes(t.uuid));Undo.initEdit({elements:e}),e.forEach(t=>{t.visibility=!0}),delete Project.only_hidden_elements}else{let e=Project.elements.filter(t=>typeof t.visibility=="boolean"&&!t.selected&&t.visibility);Undo.initEdit({elements:e}),e.forEach(t=>{t.visibility=!1}),Project.only_hidden_elements=e.map(t=>t.uuid)}Canvas.updateVisibility(),Undo.finishEdit("Toggle visibility on everything except selection")}})});Interface.definePanels(function(){var i=Vue.extend({template:`<li class="outliner_node" v-bind:class="{ parent_li: node.children && node.children.length > 0}" v-bind:id="node.uuid" v-bind:style="{'--indentation': indentation}"><div
class="outliner_object"
v-bind:class="{ group: node.type === 'group', selected: node.selected }"
:element_type="node.type"
@contextmenu.prevent.stop="node.showContextMenu($event)"
@click="node.clickSelect($event, true)"
:style="{'--color-scope': getScopeColor(node)}"
:title="node.title"
@dblclick.stop.self="!node.locked && renameOutliner(node)"
><i
v-if="node.children && options.update_conditions && node.children.some(isNodeDisplayed)"
@click.stop="node.isOpen = !node.isOpen" class="icon-open-state fa"
:class='{"fa-angle-right": !node.isOpen, "fa-angle-down": node.isOpen}'
></i>
<i v-else class="outliner_opener_placeholder"></i>
<dynamic-icon :icon="node.icon.replace('fa ', '').replace(/ /g, '.')" :color="(outliner_colors.value && node.color >= 0) ? markerColors[node.color % markerColors.length].pastel : ''" v-on:dblclick.stop="doubleClickIcon(node)"></dynamic-icon>
<input type="text" class="cube_name tab_target" :class="{locked: node.locked}" v-model="node.name" disabled><dynamic-icon v-for="(btn, key) in node.buttons" :key="key"
v-if="Condition(btn, node) && (!btn.advanced_option || options.show_advanced_toggles || (btn.visibilityException && btn.visibilityException(node)) )"
class="outliner_toggle"
:icon="getButtonIcon(btn, node)"
:class="getButtonClasses(btn, node)"
:title="getBtnTooltip(btn, node)"
:toggle="btn.id"
@click.stop
/></div><ul v-if="node.children && node.isOpen"><vue-tree-item v-for="item in visible_children" :node="item" :depth="depth + 1" :options="options" :key="item.uuid"></vue-tree-item><div class="outliner_line_guide" v-if="node.children && (node.type == 'group' ? node.constructor.selected.includes(node) : (node.selected && !node.parent.selected))"></div></ul></li>`,props:{options:Object,node:{type:Object},depth:Number},data(){return{outliner_colors:settings.outliner_colors,markerColors:rn}},computed:{indentation(){return limitNumber(this.depth,0,(this.width-100)/16)},visible_children(){return this.options.update_conditions&&this.node.children.filter($t.isNodeDisplayed)}},methods:{isNodeDisplayed(n){return $t.isNodeDisplayed(n)},nodeClass:function(n){return n.isOpen?n.openedIcon||n.icon:n.closedIcon||n.icon},getButtonIcon:function(n,a){let o=a.isIconEnabled(n),r="";return o===!0?r=typeof n.icon=="function"?n.icon(a):n.icon:o===!1?r=typeof n.icon_off=="function"?n.icon_off(a):n.icon_off:r=typeof n.icon_alt=="function"?n.icon_alt(a):n.icon_alt,r.trim().replace(/fa[rs]* /,"")},getButtonClasses:function(n,a){let o=a.isIconEnabled(n);return o===!0?"":o===!1?"icon_off":"icon_alt"},getBtnTooltip:function(n,a){let o=a.isIconEnabled(n),r=n.title+": ";return o===!0?r+tl("generic.on"):o===!1?r+tl("generic.off"):o=="alt"?r+tl(`switches.${n.id}.alt`):r+o},getScopeColor(n){return n.scope?Es[(n.scope-1)%Es.length]:""},doubleClickIcon(n){n.children&&n.children.length&&(n.isOpen=!n.isOpen)},renameOutliner:a2,Condition}});Vue.component("vue-tree-item",i);function e(n){if(!n)return[];let a=n,o=0;for(;a&&a.classList&&!a.classList.contains("outliner_node");)if(o<4&&a)a=a.parentNode,o++;else return[];return[ra.uuids[a.id],a]}function t(n,a){if(a)if(a.children&&(!a.getTypeBehavior("child_types")||a.getTypeBehavior("child_types").includes($t.selected[0]?.type))){if(n<8)return-1;if(n>24&&(!a.isOpen||a.children.length===0))return 1}else return n<16?-1:1;else return;return 0}new Panel("outliner",{icon:"list_alt",condition:{modes:["edit","paint","animate","pose"],method:()=>!Format.image_editor&&!(Modes.animate&&AnimationController.selected)},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:8},toolbars:[new Toolbar("outliner",{children:["add_element","add_group","outliner_toggle","toggle_skin_layer","explode_skin_model","+","search_outliner","cube_counter"]})],growable:!0,resizable:!0,onResize(){this.inside_vue&&(this.inside_vue.width=this.width)},component:{name:"panel-outliner",data(){return{root:$t.root,search_enabled:!1,options:{width:300,show_advanced_toggles:Ba.advanced_outliner_toggles,update_conditions:1,search_term:""}}},methods:{openMenu(n){Panels.outliner.menu.show(n)},updateSearch(n){this.search_enabled&&!this.options.search_term&&!document.querySelector("#outliner_search_bar > input:focus")&&(this.search_enabled=!1,BarItems.search_outliner.set(!1))},dragToggle(n){let[a]=e(n.target),o=[],r=n.target.getAttribute("toggle"),s={},l=a[r],c=$t.buttons[r];if(l=typeof l=="number"?(l+1)%3:!l,!c||!Condition(c.condition,$t.selected[0]))return;function d(p){if(convertTouchEvent(p),p.target.classList.contains("outliner_toggle")&&p.target.getAttribute("toggle")==r){let[m]=e(p.target);if(r=="visibility"&&(p.altKey||Pressing.overrides.alt)&&!o.length){let _=$t.elements.filter(f=>!f.selected);l=!(_[0]&&_[0][r]),_.forEach(f=>{o.push(f),s[f.uuid]=f[r],f[r]=l}),Canvas.updateView({elements:o,element_aspects:{visibility:!0}})}else if(!o.includes(m)&&(!m.locked||r=="locked"||r=="visibility")){let _=[m];m.forEachChild?c.change_children!=!1&&m.forEachChild(f=>{f.buttons.find(g=>g.id==r)&&_.push(f)}):m.selected&&$t.selected.length>1&&$t.selected.forEach(f=>{f.buttons.find(g=>g.id==r)&&_.safePush(f)}),_.forEach(f=>{o.push(f),s[f.uuid]=f[r],f[r]=l,r=="mirror_uv"&&f.preview_controller.updateUV&&f.preview_controller.updateUV(f)}),r=="visibility"&&Canvas.updateView({elements:o,element_aspects:{visibility:!0}}),r=="locked"&&updateSelection()}}}function u(p){o.length&&(o.forEach(m=>{m[r]=s[m.uuid]}),Undo.initEdit({elements:o.filter(m=>m instanceof Ua),groups:o.filter(m=>m instanceof Group),mirror_modeling:!1}),o.forEach(m=>{m[r]=l,r=="shade"&&m.updateElement()}),Undo.finishEdit(`Toggle ${r} property`)),removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u)}addEventListeners(document,"mousemove touchmove",d,{passive:!1}),addEventListeners(document,"mouseup touchend",u,{passive:!1}),d(n),n.preventDefault()},dragNode(n){if(n.button==1||getFocusedTextInput())return;if(convertTouchEvent(n),n.target.classList.contains("outliner_toggle"))return this.dragToggle(n),!1;let[a]=e(n.target);if(!a||a.locked||!Modes.edit){let b=function(x){removeEventListeners(document,"mouseup touchend",b),!(n.target&&n.offsetX>n.target.clientWidth)&&x.target&&x.target.id=="cubes_list"&&(Undo.initSelection({}),unselectAllElements(),Undo.finishSelection("Unselect outliner"))};addEventListeners(document,"mouseup touchend",b);return}let o=!1,r,s,l,c,d,u=n,p=document.getElementById("cubes_list"),m=$(p).offset(),_=function(){o&&(mouse_pos.y<m.top?p.scrollTop+=(mouse_pos.y-m.top)/7-3:mouse_pos.y>m.top+p.clientHeight&&(p.scrollTop+=(mouse_pos.y-(m.top+p.clientHeight))/6+3))},f;function g(b){convertTouchEvent(b);let x=[b.clientX-n.clientX,b.clientY-n.clientY];if(o){if(b&&b.preventDefault(),open_menu&&open_menu.hide(),!r){r=Interface.createElement("div",{id:"outliner_drag_helper"},[he.getIconNode(a.icon.replace(/ /g,".").replace(/^fa\./,"")),Interface.createElement("label",{},a.name)]);let y=$t.selected.concat(Group.selected).filter(A=>A.parent==$t.ROOT||A.parent.selected==!1).length;if(y>1){let A=document.createElement("div");A.classList.add("outliner_drag_number"),A.textContent=y.toString(),r.append(A)}document.body.append(r),f=setInterval(_,1e3/60)}r.style.left=`${b.clientX}px`,r.style.top=`${b.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".outliner_node[order]").attr("order",null),$(".drag_hover_level").removeClass("drag_hover_level");let w=document.elementFromPoint(b.clientX,b.clientY);if([l,c]=e(w),l){let E=b.clientY-$(c).offset().top;d=t(E,l);let y=d?l.parent:l;if(Fm(y,a)){c.setAttribute("order",d),c.classList.add("drag_hover");let A=c.parentElement.parentElement;(l instanceof Ua||d)&&A&&A.classList.contains("outliner_node")&&A.classList.add("drag_hover_level")}}else if($("#cubes_list").is(":hover")&&Fm("root",a))$("#cubes_list").addClass("drag_hover");else if(Panels.collections.node.isConnected&&Panels.collections.node.contains(w)){for(let E of document.querySelectorAll(".collection"))if(E.contains(w)){E.classList.add("drag_hover");break}}}else{let w=Math.sqrt(Math.pow(x[0],2)+Math.pow(x[1],2));he.isTouch?w>20&&s?(clearTimeout(s),s=null):document.getElementById("cubes_list").scrollTop+=u.clientY-b.clientY:w>6&&(o=!0)}u=b}function v(b){if(r&&r.remove(),clearInterval(f),removeEventListeners(document,"mousemove touchmove",g),removeEventListeners(document,"mouseup touchend",v),$(".drag_hover").removeClass("drag_hover"),$(".outliner_node[order]").attr("order",null),$(".drag_hover_level").removeClass("drag_hover_level"),he.isTouch&&clearTimeout(s),o&&!open_menu){convertTouchEvent(b);let x=document.elementFromPoint(b.clientX,b.clientY);if([l]=e(x),l){let w=d?l.parent:l;Fm(w,a)&&Hb(a,l,b,d)}else if($("#cubes_list").is(":hover")&&Fm("root",a))Hb(a,void 0,b);else if(document.querySelector(".collection:hover")){let E=document.querySelector(".collection:hover").attributes.uuid?.value,y=Collection.all.find(A=>A.uuid==E);y&&Hb(a,y,b)}}}he.isTouch&&(s=setTimeout(()=>{o=!0,g(n)},320)),addEventListeners(document,"mousemove touchmove",g,{passive:!1}),addEventListeners(document,"mouseup touchend",v,{passive:!1})}},computed:{search_term_lowercase(){return this.options.search_term.toLowerCase()},filtered_root(){return this.root.filter($t.isNodeDisplayed)}},template:`
<div>
<search-bar id="outliner_search_bar" class="panel_search_bar"
v-if="search_enabled" v-model="options.search_term"
@input="updateSearch()" onfocusout="Panels.outliner.vue.updateSearch()"
/>
<ul id="cubes_list"
class="list mobile_scrollbar"
@contextmenu.stop.prevent="openMenu($event)"
@mousedown="dragNode($event)"
@touchstart="dragNode($event)"
>
<vue-tree-item v-for="item in filtered_root" :node="item" :depth="0" :options="options" :key="item.uuid"></vue-tree-item>
</ul>
</div>
`},menu:new Menu([new MenuSeparator("add_element"),{id:"add_element",name:"action.add_element",description:"action.add_element.desc",icon:BarItems.add_element.icon,children:BarItems.add_element.side_menu.structure},"add_group",new MenuSeparator("copypaste"),"paste",new MenuSeparator("manage"),"select_all","sort_outliner","collapse_groups","unfold_groups","search_outliner",new MenuSeparator("options"),"element_colors","outliner_toggle"])}),he.onUpdateTo("5.0.0",()=>{Toolbars.outliner.remove("add_cube"),Toolbars.outliner.remove("add_mesh")}),$t.vue=Interface.Panels.outliner.inside_vue,he.on("change_active_panel",({last_panel:n,panel:a})=>{n=="outliner"&&(Interface.removeSuggestedModifierKey("ctrl","modifier_actions.select_multiple"),Interface.removeSuggestedModifierKey("shift","modifier_actions.select_range"),Interface.removeSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")),a=="outliner"&&(Interface.addSuggestedModifierKey("ctrl","modifier_actions.select_multiple"),Modes.animate||Interface.addSuggestedModifierKey("shift","modifier_actions.select_range"),Modes.edit&&Interface.addSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate"))})});location.href.endsWith("/blockbench/index.html")&&Object.defineProperty(window,"N",{get(){return Group.first_selected||$t.selected[0]}});Object.assign(window,{Outliner:$t,OutlinerNode:ra,OutlinerElement:Ua,NodePreviewController:i2,compileGroups:Wie,parseGroups:Kie,moveOutlinerSelectionTo:n2,canAddOutlinerNodesTo:h4,canAddOutlinerSelectionTo:Fm,renameOutliner:a2,stopRenameOutliner:f4,toggleElementProperty:$ie});function Yie(i){i.form=new El(i.form_config),$(i.object).find(".dialog_content").append(i.form.node),i.max_label_width=Math.max(i.max_label_width,i.form.max_label_width),i.form.uses_wide_inputs&&(i.uses_wide_inputs=!0),i.form.on("change",({result:t})=>{i.onFormChange&&i.onFormChange(t)})}function Xie(i){let e=i.object.querySelector(".dialog_content");i.lines.forEach(t=>{if(typeof t=="object"&&("label"in t||"widget"in t)){let n=Interface.createElement("div",{class:"dialog_bar"});if(t.label){let a=Interface.createElement("label",{class:"name_space_left"},tl(t.label));n.append(a),i.max_label_width=Math.max(Bm(a.textContent),i.max_label_width)}if(t.node)n.append(t.node);else if(t.widget){let a;typeof t.widget=="string"?a=BarItems[t.widget]:typeof t.widget=="function"?a=t.widget():a=t.widget,n.append(a.getNode()),i.max_label_width=Math.max(Bm(a.name),i.max_label_width)}i.uses_wide_inputs=!0,e.append(n)}else if(typeof t=="string")if(t.match(/^\s*</)){let n=document.createElement("template");n.innerHTML=t,e.append(n.content),console.warn('Usage of HTML template string in dialog "lines" is deprecated')}else e.append(document.createTextNode(t));else t instanceof HTMLElement&&e.append(t)})}function Jie(i){let e=$(i.object).find(".dialog_content").get(0),t;i.component.mount_directly?t=e:(t=Interface.createElement("div"),e.append(t)),i.component.name="dialog-content",i.content_vue=new Mn.default(i.component).$mount(t)}function v4(i){let e=$(i.object).find(".dialog_content");for(let t in i.toolbars){let n=i.toolbars[t];e.append(n.node)}}function b4(i,e){i.object.classList.add("draggable"),i.object.style.position="absolute";let t=i.object.style,n=Interface.page_wrapper,a=[n.offsetLeft+2,n.offsetTop+2,n.clientWidth+n.offsetLeft+2,n.clientHeight+n.offsetTop+2];e.addEventListener("pointerdown",o=>{let r,s;ip(o,{onStart(){r=i.object.offsetLeft,s=i.object.offsetTop},onMove(l){let c=Math.clamp(r+l.delta.x,a[0],a[2]-i.object.clientWidth),d=Math.clamp(s+l.delta.y,a[1],a[3]-i.object.clientHeight);t.left=c+"px",t.top=d+"px"}})})}var g4=window.innerWidth<640,Ww=class{constructor(e,t){W(this,"open");W(this,"pages");W(this,"page");W(this,"actions");W(this,"dialog");W(this,"node");W(this,"page_menu");this.open=!g4,this.pages=e.pages||{},this.page=e.page||Object.keys(this.pages)[0],this.actions=e.actions||[],this.dialog=t,this.onPageSwitch=e.onPageSwitch||null}build(){this.node=document.createElement("div"),this.node.className="dialog_sidebar";let e=document.createElement("ul");e.className="dialog_sidebar_pages",this.node.append(e),this.page_menu={};for(let t in this.pages){let n=this.pages[t];if(n instanceof MenuSeparator){let o=Interface.createElement("span"),r=Interface.createElement("div",{class:"dialog_sidebar_separator"},n?[n.label,o]:o);e.append(r);continue}let a=document.createElement("li");typeof n=="object"&&n.icon&&a.append(he.getIconNode(n.icon,n.color)),a.append(typeof n=="string"?tl(n):tl(n.label)),a.setAttribute("page",t),this.page==t&&a.classList.add("selected"),this.page_menu[t]=a,a.addEventListener("click",o=>{this.setPage(t),g4&&this.toggle()}),e.append(a)}if(this.actions.length){let t=document.createElement("ul");t.className="dialog_sidebar_actions",this.node.append(t),this.actions.forEach(n=>{typeof n=="string"&&(n=BarItems[n]);let a;if(n instanceof Action)a=n.menu_node.cloneNode(!0),a.addEventListener("click",o=>{n.trigger(o)});else{a=document.createElement("li"),a.title=n.description?tl(n.description):"";let o=he.getIconNode(n.icon,n.color),r=document.createElement("span");r.textContent=tl(n.name),a.append(o),a.append(r),a.addEventListener("click",s=>{n.click(s)})}t.append(a)})}return this.toggle(this.open),this.dialog.object.querySelector("div.dialog_wrapper").append(this.node),this.node}toggle(e=!this.open){this.open=e,this.node.parentElement&&this.node.parentElement.classList.toggle("has_sidebar",this.open)}setPage(e){let t;if(this.onPageSwitch&&(t=this.onPageSwitch(e)),t!==!1){this.page=e;for(let n in this.page_menu)this.page_menu[n].classList.toggle("selected",n==this.page)}}},Ms=class Ms{constructor(e,t){W(this,"id");W(this,"title");W(this,"object");W(this,"content_vue");W(this,"progress_bar");W(this,"confirmIndex");W(this,"cancelIndex");W(this,"lines");W(this,"form");W(this,"component");W(this,"part_order");W(this,"form_first");W(this,"sidebar");W(this,"title_menu");W(this,"singleButton");W(this,"buttons");W(this,"keyboard_actions");W(this,"resizable");W(this,"configuration");W(this,"toolbars");W(this,"form_config");W(this,"width");W(this,"draggable");W(this,"darken");W(this,"cancel_on_click_outside");W(this,"max_label_width");W(this,"uses_wide_inputs");W(this,"onOpen");W(this,"onBuild");W(this,"onResize");W(this,"resize_observer");typeof e=="object"&&(t=e,e=t.id),this.id=e,this.title=t.title,this.lines=t.lines,this.toolbars=t.toolbars,this.form_config=t.form,this.component=t.component,this.content_vue=null,this.part_order=t.part_order||(t.form_first?["form","lines","component"]:["lines","form","component"]),this.sidebar=t.sidebar?new Ww(t.sidebar,this):null,this.title_menu=t.title_menu||null,t.progress_bar&&(this.progress_bar={setProgress:n=>{this.progress_bar.progress=n,this.progress_bar.node&&this.progress_bar.node.style.setProperty("--progress",n.toString())},progress:t.progress_bar.progress??0,node:null}),this.width=t.width,this.draggable=t.draggable,this.resizable=t.resizable===!0?"xy":t.resizable,this.darken=t.darken!==!1,this.cancel_on_click_outside=t.cancel_on_click_outside!==!1,this.singleButton=t.singleButton,this.buttons=t.buttons instanceof Array?t.buttons:t.singleButton?["dialog.close"]:["dialog.confirm","dialog.cancel"],this.form_first=t.form_first,this.confirmIndex=t.confirmIndex||0,this.cancelIndex=t.cancelIndex!==void 0?t.cancelIndex:this.buttons.length-1,this.keyboard_actions=t.keyboard_actions||{},this.onConfirm=t.onConfirm,this.onCancel=t.onCancel,this.onButton=t.onButton||t.onClose,this.onFormChange=t.onFormChange,this.onOpen=t.onOpen,this.onBuild=t.onBuild,this.onResize=t.onResize,this.object}confirm(e){this.close(this.confirmIndex,e)}cancel(e){this.close(this.cancelIndex,e)}updateFormValues(e){return this.form.getResult()}setFormValues(e,t=!0){this.form.setValues(e,t)}setFormToggles(e,t=!0){this.form.setToggles(e,t)}getFormResult(){return this.form?.getResult()}close(e=this.cancelIndex,t){if(e==this.confirmIndex&&typeof this.onConfirm=="function"){let n=this.getFormResult()??{};if(this.onConfirm(n,t)===!1)return}e==this.cancelIndex&&typeof this.onCancel=="function"&&this.onCancel(t)===!1||typeof this.onButton=="function"&&this.onButton(e,t)===!1||this.hide()}build(){this.object&&this.object.remove(),this.object=document.createElement("dialog"),this.object.className="dialog",this.object.id=this.id;let e=document.createElement("div");if(e.className="dialog_handle",this.object.append(e),this.title_menu){let l=document.createElement("div");l.className="dialog_menu_button",l.append(he.getIconNode("expand_more")),l.addEventListener("click",c=>{this.title_menu.open(l)}),e.append(l)}let t=document.createElement("div");t.className="dialog_title",t.textContent=tl(this.title),e.append(t);let n=$(this.object);this.max_label_width=140,this.uses_wide_inputs=!1;let a=document.createElement("div");a.className="dialog_wrapper";let o=document.createElement("content");if(o.className="dialog_content",this.object.append(a),this.sidebar){if(window.innerWidth<920){let l=document.createElement("div");l.className="dialog_sidebar_menu_button",l.append(he.getIconNode("menu")),l.addEventListener("click",c=>{this.sidebar.toggle()}),e.prepend(l)}this.sidebar.build(),a.classList.toggle("has_sidebar",this.sidebar.open)}if(a.append(o),this.part_order.forEach(l=>{l=="form"&&this.form_config&&Yie(this),l=="lines"&&this.lines&&Xie(this),l=="toolbars"&&this.toolbars&&v4(this),l=="component"&&this.component&&Jie(this)}),this.max_label_width){let l=this.width||540,c=this.uses_wide_inputs?Math.clamp(this.max_label_width+9,0,l/2):Math.clamp(this.max_label_width+16,0,l-100);this.object.style.setProperty("--max_label_width",c+"px")}if(this.progress_bar&&(this.progress_bar.node=Interface.createElement("div",{class:"progress_bar"},Interface.createElement("div",{class:"progress_bar_inner"})),this.progress_bar.setProgress(this.progress_bar.progress),this.object.querySelector("content.dialog_content").append(this.progress_bar.node)),this.buttons.length){let l=[];this.buttons.forEach((d,u)=>{let p=Interface.createElement("button",{type:"button"},tl(d));l.push(p),p.addEventListener("click",m=>{this.close(u,m)})}),l[this.confirmIndex]&&l[this.confirmIndex].classList.add("confirm_btn"),l[this.cancelIndex]&&l[this.cancelIndex].classList.add("cancel_btn");let c=$('<div class="dialog_bar button_bar"></div>');l.forEach((d,u)=>{c.append(d)}),a.append(c[0])}let r=document.createElement("div");if(r.classList.add("dialog_close_button"),r.innerHTML='<i class="material-icons">clear</i>',n.append(r),r.addEventListener("click",l=>{this.cancel()}),this.draggable!==!1&&b4(this,e),this.resizable){this.object.classList.add("resizable");let l=Interface.createElement("div",{class:"dialog_resize_handle"});n.append(l),this.resizable=="x"?l.style.cursor="e-resize":this.resizable=="y"&&(l.style.cursor="s-resize"),addEventListeners(l,"mousedown touchstart",c=>{convertTouchEvent(c),l.classList.add("dragging");let d=[c.clientX,c.clientY];this.width||(this.width=this.object.clientWidth);let u=this.width,p=parseFloat(this.object.style.left),m=parseFloat(this.object.style.height)||this.object.clientHeight,_=g=>{if(convertTouchEvent(g),this.resizable&&this.resizable.includes("x")){let v=g.clientX-d[0];this.width=u+v*2,this.object.style.width=this.width+"px",this.draggable!==!1&&(this.object.style.left=Math.clamp(p-(this.object.clientWidth-u)/2,0,window.innerWidth)+"px")}if(this.resizable&&this.resizable.includes("y")){let v=g.clientY-d[1],b=Math.clamp(m+v,80,window.innerHeight);this.object.style.height=b+"px"}typeof this.onResize=="function"&&this.onResize()},f=g=>{removeEventListeners(document,"mousemove touchmove",_),removeEventListeners(document,"mouseup touchend",f),l.classList.remove("dragging")};addEventListeners(document,"mousemove touchmove",_),addEventListeners(document,"mouseup touchend",f)})}let s=()=>{this.object.clientHeight+this.object.offsetTop-26>Interface.page_wrapper.clientHeight&&(this.object.style.top=Math.max(Interface.page_wrapper.clientHeight-this.object.clientHeight+26,26)+"px")};return s(),this.resize_observer=new ResizeObserver(s),this.resize_observer.observe(this.object),typeof this.onBuild=="function"&&this.onBuild(this.object),this}show(e){window.open_interface&&!(open_interface instanceof Ms)&&typeof open_interface.hide=="function"&&open_interface.hide(),this.object?this.form&&this.form.updateValues({cause:"setup"}):this.build();let t=$(this.object);if(document.getElementById("dialog_wrapper").append(this.object),!(this instanceof Kw)&&(this.object.style.display="flex",this.object.style.top=limitNumber(window.innerHeight/2-this.object.clientHeight/2,0,100)+"px",this.width&&(this.object.style.width=this.width+"px"),this.draggable!==!1)){let n=Math.clamp((window.innerWidth-this.object.clientWidth)/2,0,2e3);this.object.style.left=n+"px"}if(!he.isTouch){let n=t.find(".focusable_input").first();n&&n.trigger("focus")}return typeof this.onOpen=="function"&&this.onOpen(),this.focus(),setTimeout(()=>{this.object.style.setProperty("--dialog-height",this.object.clientHeight+"px"),this.object.style.setProperty("--dialog-width",this.object.clientWidth+"px")},1),this}focus(){Ms.stack.remove(this);let e=document.getElementById("blackout");e.style.display="block",e.classList.toggle("darken",this.darken),e.style.zIndex=(20+Ms.stack.length*2).toString(),this.object.style.zIndex=(21+Ms.stack.length*2).toString(),mn._previous_active_panel=mn.active_panel,mn.active_panel="dialog",window.open_dialog=this.id,window.open_interface=this,Ms.open=this,Ms.stack.push(this)}hide(){return $("#blackout").hide().toggleClass("darken",!0),$(this.object).hide(),window.open_dialog=!1,window.open_interface=!1,Ms.open=null,Ms.stack.remove(this),mn.active_panel=mn._previous_active_panel,$(this.object).detach(),Ms.stack.length&&Ms.stack.last().focus(),this}delete(){$(this.object).remove(),this.content_vue&&(this.content_vue.$destroy(),delete this.content_vue)}getFormBar(e){var t=$(this.object).find(`.form_bar_${e}`);if(t.length)return t}};W(Ms,"open",null),W(Ms,"stack",[]);var sa=Ms,Kw=class extends sa{constructor(t,n){super(t,n);W(this,"onClose");W(this,"onConfirm");n.build&&(this.build=n.build),n.onClose&&(this.onClose=n.onClose)}close(t,n){t==this.confirmIndex&&typeof this.onConfirm=="function"&&this.onConfirm(n)===!1||t==this.cancelIndex&&typeof this.onCancel=="function"&&this.onCancel(n)===!1||typeof this.onClose=="function"&&this.onClose(n)===!1||this.hide()}show(){return super.show(),$(this.object).show(),this}build(){return this.object=Interface.createElement("div",{id:this.id,class:"shapeless_dialog"}),this.component&&(this.component.name="dialog-content",this.content_vue=new Mn.default(this.component).$mount(this.object,!0)),this}delete(){this.object&&this.object.remove(),this.object=null}},o2=class extends sa{constructor(t,n){super("message_box",t);W(this,"callback");this.configuration=t,t.buttons||(this.buttons=["dialog.ok"]),this.cancelIndex=Math.min(this.buttons.length-1,this.cancelIndex),this.confirmIndex=Math.min(this.buttons.length-1,this.confirmIndex),this.callback=n}close(t,n,a){this.callback&&this.callback(t,n,a)===!1||(this.hide(),this.delete())}build(){let t=this.configuration,n;t.translateKey&&(t.title||(t.title=tl("message."+t.translateKey+".title")),t.message||(t.message=tl("message."+t.translateKey+".message")));let a=Interface.createElement("div",{class:"dialog_content"}),o=Interface.createElement("div",{class:"dialog_handle"},Interface.createElement("div",{class:"dialog_title"},tl(t.title))),r=Interface.createElement("div",{class:"dialog_close_button",onclick:"Dialog.open.cancel()"},he.getIconNode("clear"));this.object=Interface.createElement("dialog",{class:"dialog",style:"width: auto;",id:"message_box"},[o,r,a]);let s=$(this.object);if(t.message&&a.append($('<div class="dialog_bar markdown" style="height: auto; margin-bottom: 10px;">'+pureMarked(tl(t.message))+"</div></div>")[0]),t.icon){let c=s.find(".dialog_bar");c.prepend($(he.getIconNode(t.icon)).addClass("message_box_icon")),c.append('<div style="clear:both;"></div>')}if(t.commands){let c=Interface.createElement("ul"),d;for(let u in t.commands){let p=t.commands[u];if(!p||typeof p=="object"&&!Condition(p.condition))continue;let m=tl(typeof p=="string"?p:p.text);if(typeof p=="object"&&p.category&&p.category!=d){d=p.category;let f=Interface.createElement("li",{class:"dialog_message_box_command_category"},tl(d));c.append(f)}let _=Interface.createElement("li",{class:"dialog_message_box_command"},m);if(typeof p=="object"&&(p.icon&&_.prepend(he.getIconNode(p.icon)),p.description)){let f=Interface.createElement("label",{},tl(p.description));_.append(f)}_.addEventListener("click",f=>{this.close(u,n,f)}),c.append(_)}a.append(c)}if(t.checkboxes){let c=Interface.createElement("ul",{class:"dialog_message_box_checkboxes"});n={};for(let d in t.checkboxes){let u=t.checkboxes[d];if(n[d]=!1,typeof u=="object"&&(n[d]=!!u.value,!Condition(u.condition)))continue;let p=tl(typeof u=="string"?u:u.text),m=Interface.createElement("li",{class:"dialog_message_box_checkbox"},[Interface.createElement("input",{type:"checkbox",id:"dialog_message_box_checkbox_"+d}),Interface.createElement("label",{for:"dialog_message_box_checkbox_"+d,checked:n[d]},p)]);m.firstElementChild.addEventListener("change",_=>{n[d]=_.target.checked}),c.append(m)}a.append(c)}if(this.buttons.length){let c=[];this.buttons.forEach((u,p)=>{let m=Interface.createElement("button",{type:"button"},tl(u));c.push(m),m.addEventListener("click",_=>{this.close(p,n,_)})}),c[this.confirmIndex]&&c[this.confirmIndex].classList.add("confirm_btn"),c[this.cancelIndex]&&c[this.cancelIndex].classList.add("cancel_btn");let d=$('<div class="dialog_bar button_bar"></div>');c.forEach((u,p)=>{d.append(u)}),s.append(d[0])}this.draggable!==!1&&b4(this,o);let l=(window.innerWidth-540)/2;return this.object.style.left=l+"px",this.object.style.position="absolute",this.object.style.top=limitNumber(window.innerHeight/2-s.height()/2-140,0,2e3)+"px",t.width?this.object.style.width=t.width+"px":this.object.style.width=limitNumber((t.buttons?t.buttons.length:1)*170+44,380,894)+"px",this}delete(){this.object&&this.object.remove(),this.object=null}},rf=class extends sa{constructor(e,t){super(e,t)}show(e){if(super.show(),$("#blackout").hide(),e instanceof HTMLElement){let t=$(e).offset();this.object.style.top=t.top+e.offsetHeight+"px",this.object.style.left=Math.clamp(t.left-30,0,window.innerWidth-this.object.clientWidth-(this.title?0:30))+"px"}return this}build(){this.object&&this.object.remove(),this.object=document.createElement("dialog"),this.object.className="dialog config_dialog",this.max_label_width=140,this.uses_wide_inputs=!1;let e;this.title&&(e=Interface.createElement("div",{class:"config_dialog_title"},tl(this.title)),this.object.append(e));let t=document.createElement("div");t.className="dialog_wrapper";let n=document.createElement("content");n.className="dialog_content",this.object.append(t),t.append(n),this.form=new El(this.form_config),n.append(this.form.node),this.max_label_width=Math.max(this.max_label_width,this.form.max_label_width),this.form.uses_wide_inputs&&(this.uses_wide_inputs=!0),this.form.on("change",({result:o})=>{if(this.configuration)for(let r in o)this.configuration[r]=o[r];this.onFormChange&&this.onFormChange(o)}),this.toolbars&&v4(this);let a=document.createElement("div");return a.classList.add("dialog_close_button"),a.innerHTML='<i class="material-icons">clear</i>',a.addEventListener("click",o=>{this.cancel()}),e?e.append(a):this.object.append(a),typeof this.onBuild=="function"&&this.onBuild(this.object),this}delete(){this.object&&this.object.remove(),this.object=null}},r2=class extends rf{constructor(e,t){super(e,t),this.options={};let n;try{let a=localStorage.getItem(`tool_config.${this.id}`);n=JSON.parse(a),n||(n={})}catch{n={}}for(let a in t.form)if(t.form[a]!="_"){if(a=="enabled"&&BarItem.constructing instanceof Toggle){this.options[a]=BarItem.constructing.value;continue}this.options[a]=n[a]??El.getDefaultValue(t.form[a])}}show(e){return super.show(e),this.setFormValues(this.options,!1),this.form.updateValues({cause:"setup"}),this.form.on("input",({result:t,cause:n})=>{this.changeOptions(t)}),this}save(){return localStorage.setItem(`tool_config.${this.id}`,JSON.stringify(this.options)),this}changeOptions(e){for(let t in e)this.options[t]=e[t];return this.form&&this.form.setValues(e),this.save(),this}close(){this.save(),this.hide()}},Zie={DialogSidebar:Ww,Dialog:sa,ShapelessDialog:Kw,MessageBox:o2,ConfigDialog:rf,ToolConfig:r2};Object.assign(window,Zie);window.scene=null;window.main_preview=null;window.MediaPreview=null;window.Sun=null;window.lights=null;var l2=0,s2={},Qie=new Ve.Object3D,$c={r:new Ve.Color,g:new Ve.Color,b:new Ve.Color,grid:new Ve.Color,solid:new Ve.Color,outline:new Ve.Color,gizmo_hover:new Ve.Color,spline_handle_aligned:new Ve.Color,spline_handle_mirrored:new Ve.Color,spline_handle_free:new Ve.Color,u:new Ve.Color,v:new Ve.Color,w:new Ve.Color},Xa=[{name:"menu.preview.angle.initial",id:"initial",projection:"perspective",get position(){let i;switch(Format.forward_direction){case"+x":i=[40,32,-40];break;case"-x":i=[-40,32,40];break;case"+z":i=[40,32,40];break;case"-z":default:i=[-40,32,-40];break}return Format?i.map(e=>e*(Format.block_size/16)):i},get target(){return[0,(Format.block_size??16)*.75,0]},default:!0},{name:"direction.top",id:"top",projection:"orthographic",color:"y",position:[0,512,0],target:[0,0,0],zoom:.5,locked_angle:"top",default:!0},{name:"direction.bottom",id:"bottom",projection:"orthographic",color:"y",position:[0,-512,0],target:[0,0,0],zoom:.5,locked_angle:"bottom",default:!0},{name:"direction.south",id:"south",projection:"orthographic",color:"z",position:[0,0,512],target:[0,0,0],zoom:.5,locked_angle:"south",default:!0},{name:"direction.north",id:"north",projection:"orthographic",color:"z",position:[0,0,-512],target:[0,0,0],zoom:.5,locked_angle:"north",default:!0},{name:"direction.east",id:"east",projection:"orthographic",color:"x",position:[512,0,0],target:[0,0,0],zoom:.5,locked_angle:"east",default:!0},{name:"direction.west",id:"west",projection:"orthographic",color:"x",position:[-512,0,0],target:[0,0,0],zoom:.5,locked_angle:"west",default:!0},{name:"camera_angle.common_isometric_right",id:"isometric_right",projection:"orthographic",position:[-512,512*.8165+8,-512],target:[0,8,0],zoom:.5,default:!0},{name:"camera_angle.common_isometric_left",id:"isometric_left",projection:"orthographic",position:[512,512*.8165+8,-512],target:[0,8,0],zoom:.5,default:!0},{name:"camera_angle.true_isometric_right",id:"true_isometric_right",projection:"orthographic",position:[-512,520,-512],target:[0,8,0],zoom:.5,default:!0},{name:"camera_angle.true_isometric_left",id:"true_isometric_left",projection:"orthographic",position:[512,520,-512],target:[0,8,0],zoom:.5,default:!0}],ya=class ya{constructor(e=0){var t=this;e&&e.id&&(this.id=e.id),this.canvas=document.createElement("canvas"),this.canvas.preview=this,this.height=0,this.width=0,this.node=document.createElement("div"),this.node.className="preview",this.node.appendChild(this.canvas);let n=$(`
<div class="preview_menu">
<div class="tool preview_fullscreen_button quad_view_only"><i class="material-icons">fullscreen</i></div>
<div class="tool preview_view_mode_menu one_is_enough"><i class="material-icons">image</i></div>
<div class="tool preview_view_options one_is_enough"><i class="material-icons">discover_tune</i></div>
<div class="tool preview_main_menu"><i class="material-icons">menu</i></div>
</div>`)[0];n.querySelector(".preview_main_menu").onclick=r=>{this.menu.open(n,this)},n.querySelector(".preview_view_options").onclick=r=>{$w.show(n);let s=Interface.preview.getBoundingClientRect();$w.object.style.left="auto",$w.object.style.right=window.innerWidth-s.right+"px"},n.querySelector(".preview_fullscreen_button").onclick=r=>{this.fullscreen()},n.querySelector(".preview_view_mode_menu").onclick=r=>{BarItems.view_mode.open(r)},BarItem.prototype.addLabel(!1,{name:tl("menu.preview.maximize"),node:n.querySelector(".preview_fullscreen_button")}),BarItem.prototype.addLabel(!1,{name:tl("action.view_mode"),node:n.querySelector(".preview_view_mode_menu")}),BarItem.prototype.addLabel(!1,{name:tl("dialog.preview_options.title"),node:n.querySelector(".preview_view_options")}),BarItem.prototype.addLabel(!1,{name:tl("data.preview"),node:n.querySelector(".preview_main_menu")}),this.node.appendChild(n),this.offscreen=!!e.offscreen,this.isOrtho=!1,this.angle=null,this.camPers=new Ve.PerspectiveCamera(settings.fov.value,16/9,settings.camera_near_plane.value||1,3e4),this.camOrtho=new Ve.OrthographicCamera(-600,600,-400,400,-200,2e4),this.camOrtho.backgroundHandle=[{n:!1,a:"x"},{n:!1,a:"y"}],this.camOrtho.axis=null,this.camOrtho.zoom=.5,this.camPers.preview=this.camOrtho.preview=this;for(var a=4;a<=6;a++)this.camPers.layers.enable(a);this.side_view_target=new Ve.Vector3,this.controls=new bL(this.camPers,this),this.controls.minDistance=1,this.controls.maxDistance=3960,this.controls.enableKeys=!1,this.controls.zoomSpeed=settings.viewport_zoom_speed.value/100*1.5,this.controls.rotateSpeed=settings.viewport_rotate_speed.value/100,this.controls.onUpdate(()=>{ReferenceImage.active.forEach(r=>{r.is_blueprint&&r.attached_side==this.angle&&r.updateTransform()}),Transformer.visible&&Transformer.update(),this.angle!=null&&(this.camOrtho.axis!="x"&&(this.side_view_target.x=this.controls.target.x),this.camOrtho.axis!="y"&&(this.side_view_target.y=this.controls.target.y),this.camOrtho.axis!="z"&&(this.side_view_target.z=this.controls.target.z)),Blockbench.dispatchEvent("update_camera_position",{preview:this})}),this.annotations={},this.updateAnnotations=function(){for(var r in t.annotations){var s=t.annotations[r];if(s.object.visible){var l=s.object.toScreenPosition(t.camera,t.canvas);s.node.style.setProperty("left",l.x+"px"),s.node.style.setProperty("top",l.y+"px")}}},this.controls.onUpdate(()=>setTimeout(()=>{t.updateAnnotations()},6)),this.addAnnotation=function(r,s){t.annotations[r]=s,$(s.node).insertBefore(t.canvas),t.updateAnnotations()},this.removeAnnotation=function(r){t.annotations[r]&&($(t.annotations[r].node).detach(),delete t.annotations[r])},this.default_angle=Xa[0],this.camPers.position.fromArray(this.default_angle.position),this.controls.target.fromArray(this.default_angle.target),!Blockbench.isMobile&&!this.offscreen&&(this.orbit_gizmo=new Yw(this),this.node.append(this.orbit_gizmo.node)),this.controls.mouseButtons.ZOOM=void 0;try{this.renderer=new Ve.WebGLRenderer({canvas:this.canvas,antialias:typeof e.antialias=="boolean"?e.antialias:Settings.get("antialiasing"),alpha:!0,preserveDrawingBuffer:!0})}catch(r){let s=document.querySelector("#loading_error_detail");if(s.innerHTML="Error creating WebGL context. Try to update your web browser.",0)var o;throw r}this.renderer.setClearColor(0,0),this.renderer.setSize(500,400),this.updateToneMapping(),this.selection={box:$('<div id="selection_box" class="selection_rectangle"></div>'),frustum:new Ve.Frustum},this.label=Interface.createElement("label",{class:"preview_perspective_label"}),this.node.append(this.label),this.raycaster=new Ve.Raycaster,this.mouse=new Ve.Vector2,addEventListeners(this.canvas,"pointerdown",r=>{this.click(r)},{passive:!1}),addEventListeners(this.canvas,"mousemove touchmove",r=>{if(!this.static_rclick)return;convertTouchEvent(r);let s=7;(!this.event_start||!Math.epsilon(this.event_start[0],r.clientX,s)||!Math.epsilon(this.event_start[1],r.clientY,s))&&(this.static_rclick=!1)},!1),addEventListeners(this.canvas,"mousemove touchmove",r=>{$i.active!=$i.types.global_drag_slider&&this.mousemove(r)},!1),addEventListeners(this.canvas,"mouseup touchend",r=>{this.mouseup(r)},!1),addEventListeners(this.canvas,"dblclick",r=>{settings.double_click_switch_tools.value&&Toolbox.toggleTransforms(r)},!1),addEventListeners(this.canvas,"mouseenter touchstart",r=>{this.occupyTransformer(r)},!1),addEventListeners(this.canvas,"mouseenter",r=>{this.controls.hasMoved=!0},!1),ya.all.push(this)}resize(e,t){if(this.canvas.isConnected&&this!==MediaPreview)if(this.height=this.node.parentElement.clientHeight,this.width=this.node.parentElement.clientWidth,this.aspect_ratio){let n=this.width/this.height;Math.abs(n-this.aspect_ratio)>.02&&(n<this.aspect_ratio?this.height=this.width/this.aspect_ratio:this.width=this.height*this.aspect_ratio),this.node.classList.add("fixed_ratio")}else this.node.classList.remove("fixed_ratio");else if(t&&e)this.height=t,this.width=e;else return this;return this.isOrtho===!1?(this.camPers.aspect=this.width/this.height,this.camPers.updateProjectionMatrix()):(this.camOrtho.right=this.width/80,this.camOrtho.left=this.camOrtho.right*-1,this.camOrtho.top=this.height/80,this.camOrtho.bottom=this.camOrtho.top*-1,this.camOrtho.updateProjectionMatrix()),this.renderer.setSize(this.width,this.height),this.canvas.isConnected&&(this.renderer.setPixelRatio(window.devicePixelRatio),window.Transformer&&Transformer.update()),this}updateToneMapping(){switch(settings.tone_mapping.value){case"none":this.renderer.toneMapping=Ve.NoToneMapping;break;case"linear":this.renderer.toneMapping=Ve.LinearToneMapping;break;case"reinhard":this.renderer.toneMapping=Ve.ReinhardToneMapping;break;case"cineon":this.renderer.toneMapping=Ve.CineonToneMapping;break;case"aces_filmic":this.renderer.toneMapping=Ve.ACESFilmicToneMapping;break;case"agx":this.renderer.toneMapping=Ve.AgXToneMapping;break;case"neutral":this.renderer.toneMapping=Ve.NeutralToneMapping;break}}raycast(e,t=Toolbox.selected.raycast_options){t||(t=0),convertTouchEvent(e);let n=this.canvas.getBoundingClientRect();this.mouse.x=(e.clientX-n.left)/this.width*2-1,this.mouse.y=-((e.clientY-n.top)/this.height)*2+1,this.raycaster.setFromCamera(this.mouse,this.camera);var a=[];Outliner.elements.forEach(d=>{let u=d.mesh;if(!(d.visibility===!1||d.locked===!0||u&&u.visible==!1)){if(u&&u.geometry)a.push(u),Modes.edit&&d.selected?(u.vertex_points&&(u.vertex_points.visible||t.vertices)&&a.push(u.vertex_points),d instanceof Mesh&&(u.outline.visible&&BarItems.selection_mode.value=="edge"||t.edges)&&a.push(u.outline)):d instanceof SplineMesh&&d.render_mode!=="mesh"&&a.push(u.pathLine);else if(d instanceof Locator)a.push(u.sprite);else if(d instanceof ArmatureBone){if(Toolbox.selected.id=="weight_brush"&&!(e.altKey||Ob.overrides.alt))return;a.push(u.children[0])}}});for(let d of Group.multi_selected)d.mesh.vertex_points&&a.push(d.mesh.vertex_points);Animator.open&&settings.motion_trails.value&&Group.first_selected&&Animator.motion_trail.children.forEach(d=>{d.isKeyframe===!0&&a.push(d)});let o=this.raycaster.intersectObjects(a,!1);if(o.length==0)return!1;let r=ya.selected.calculateControlScale(o[0].point);for(let d of o)d.object.isLine?d.distance-=r:d.object.isPoints&&(d.distance-=r*1.4);if(Toolbox.selected.id=="vertex_snap_tool"?o.sort((d,u)=>d.object.isPoints!=u.object.isPoints?d.object.isPoints?-100:100:d.distance-u.distance):o.sort((d,u)=>d.object.renderOrder>10||u.object.renderOrder>10?u.object.renderOrder-d.object.renderOrder:d.distance-u.distance),settings.seethrough_outline.value&&BarItems.selection_mode.value=="edge"){let d=o;o=o.filter(u=>u.object.isLine),o.length==0&&(o=d)}let s=o[0],l=s.object;if(l.isElement){let d,u;for(;;){if(d=OutlinerNode.uuids[l.name],d.getTypeBehavior("cube_faces"))d.getTypeBehavior("select_faces")?u=l.geometry.faces[Math.floor(o[0].faceIndex/2)]:u=Object.keys(d.faces)[0];else if(d instanceof Mesh){let p=o[0].faceIndex;for(let m in d.faces){let{vertices:_}=d.faces[m];if(!(_.length<3)){if(p==0||p==1&&_.length==4){u=m;break}_.length==3&&(p-=1),_.length==4&&(p-=2)}}}else if(d instanceof SplineMesh){let p=o[0].faceIndex;for(let m in d.faces){let{vertices:_}=d.faces[m];if(p==0||p==1&&_.length==4){u=m;break}p-=2}}if(Modes.paint&&(Toolbox.selected.id=="color_picker"||Painter.lock_alpha&&Settings.get("paint_through_transparency"))){let p=d.faces[u].getTexture();if(p){let[m,_]=Painter.getCanvasToolPixelCoords(o[0].uv,p),f=Painter.getCanvas(p).getContext("2d");if(Painter.getPixelColor(f,m,_).getAlpha()<.004){for(o.shift();o.length&&!o[0].object.isElement;)o.shift();if(!o[0])return!1;l=o[0].object;continue}}}break}return{type:"element",event:e,intersects:o,face:u,element:d}}else if(l.isKeyframe){let d=l.keyframeUUIDs[s.index],u=Timeline.keyframes.find(p=>p.uuid==d);return{event:e,type:"keyframe",intersects:o,keyframe:u}}else if(l.type=="Points"){var c=OutlinerNode.uuids[l.element_uuid];let d=c instanceof Mesh?Object.keys(c.vertices)[s.index]:l.vertices[s.index];return{event:e,type:"vertex",element:c,intersects:o,intersect:s,vertex:d,vertex_index:s.index}}else if(l.type=="LineSegments"){var c=OutlinerNode.uuids[l.parent.name];let u=[];return c instanceof SplineMesh||(u=l.vertex_order.slice(s.index,s.index+2)),{event:e,type:"line",element:c,intersects:o,intersect:s,vertices:u}}}render(){this.controls.update(),this.renderer.render(Canvas.scene,this.camera)}get camera(){return this.isOrtho?this.camOrtho:this.camPers}setProjectionMode(e,t){let n=this.camera.position;if(this.isOrtho=!!e,this.resize(),this.controls.object=this.camera,this.camera.position.copy(n),t){let a=this.camPers.position.distanceTo(this.controls.target),o=.64*devicePixelRatio*this.camPers.getFocalLength();if(this.isOrtho)this.camera.zoom=o/a;else{let r=o/this.camOrtho.zoom,s=new Ve.Vector3().copy(this.camPers.position).sub(this.controls.target);s.multiplyScalar(r/a),this.camPers.position.copy(s).add(this.controls.target)}}return this.offscreen||(this.setLockedAngle(),this.controls.update()),this==ya.selected&&this.occupyTransformer(),this}setFOV(e){this.camPers.fov=e,this.camPers.updateProjectionMatrix()}setNormalCamera(){return this.setProjectionMode(!1),this}setLockedAngle(e){if(typeof e=="string"&&this.isOrtho){switch(this.angle=e,this.controls.enableRotate=!1,e){case"top":this.camOrtho.axis="y",this.camOrtho.backgroundHandle=[{n:!1,a:"x"},{n:!1,a:"z"}];break;case"bottom":this.camOrtho.axis="y",this.camOrtho.backgroundHandle=[{n:!1,a:"x"},{n:!0,a:"z"}];break;case"south":this.camOrtho.axis="z",this.camOrtho.backgroundHandle=[{n:!1,a:"x"},{n:!0,a:"y"}];break;case"north":this.camOrtho.axis="z",this.camOrtho.backgroundHandle=[{n:!0,a:"x"},{n:!0,a:"y"}];break;case"east":this.camOrtho.axis="x",this.camOrtho.backgroundHandle=[{n:!0,a:"z"},{n:!0,a:"y"}];break;case"west":this.camOrtho.axis="x",this.camOrtho.backgroundHandle=[{n:!1,a:"z"},{n:!0,a:"y"}];break}var t=getAxisNumber(this.camOrtho.axis)+1;this.camOrtho.layers.set(0),this.camOrtho.layers.enable(t);for(var n=1;n<=3;n++)n!=t&&this.camOrtho.layers.enable(n+3);this.camOrtho.axis!="x"&&(this.controls.target.x=this.camOrtho.position.x=this.side_view_target.x),this.camOrtho.axis!="y"&&(this.controls.target.y=this.camOrtho.position.y=this.side_view_target.y),this.camOrtho.axis!="z"&&(this.controls.target.z=this.camOrtho.position.z=this.side_view_target.z),this.label.textContent=tl(`direction.${e}`)}else this.angle=null,this.camOrtho.axis=null,this.camOrtho.layers.set(0),this.camOrtho.layers.enable(4),this.camOrtho.layers.enable(5),this.camOrtho.layers.enable(6),this.resize(),this.controls.enableRotate=!0,this.label.textContent="";return Transformer.update(),ReferenceImage.updateAll(),this}setDefaultAnglePreset(e){return this.default_angle=e,this.loadAnglePreset(e),this}loadAnglePreset(e){if(e)return this.camera.position.fromArray(e.position),e.target?this.controls.target.fromArray(e.target):e.rotation&&(this.controls.target.set(0,0,16).applyEuler(new Ve.Euler(Math.degToRad(e.rotation[0]),Math.degToRad(e.rotation[1]),Math.degToRad(e.rotation[2]),"ZYX")),this.controls.target.add(this.camera.position)),this.aspect_ratio!=e.aspect_ratio&&(this.aspect_ratio=e.aspect_ratio),e.projection!=="unset"&&this.setProjectionMode(e.projection=="orthographic"),this.isOrtho&&e.zoom&&!e.locked_angle&&(this.camera.zoom=e.zoom,this.camera.updateProjectionMatrix()),this.isOrtho||(typeof e.focal_length=="number"?this.camera.setFocalLength(e.focal_length):this.setFOV(e.fov??Settings.get("fov"))),this.setLockedAngle(e.locked_angle),this}newAnglePreset(){let e=this,t=e.camera.position.toArray(),n=e.controls.target.toArray();t.forEach((r,s)=>{t[s]=Math.round(r*100)/100}),n.forEach((r,s)=>{n[s]=Math.round(r*100)/100});let a="target",o=new Dialog({id:"save_angle",title:"menu.preview.save_angle",width:540,form:{name:{label:"generic.name"},projection:{label:"dialog.save_angle.projection",type:"select",default:"unset",options:{unset:"generic.unset",perspective:"dialog.save_angle.projection.perspective",orthographic:"dialog.save_angle.projection.orthographic"}},divider1:"_",rotation_mode:{label:"dialog.save_angle.rotation_mode",type:"inline_select",value:a,options:{target:"dialog.save_angle.target",rotation:"dialog.save_angle.rotation"}},position:{label:"dialog.save_angle.position",type:"vector",dimensions:3,value:t},target:{label:"dialog.save_angle.target",type:"vector",dimensions:3,value:n,condition:({rotation_mode:r})=>r=="target"},rotation:{label:"dialog.save_angle.rotation",type:"vector",dimensions:2,condition:({rotation_mode:r})=>r=="rotation"},zoom:{label:"dialog.save_angle.zoom",type:"number",value:Math.roundTo(e.camOrtho.zoom||1,4),condition:r=>e.isOrtho}},onFormChange(r){r.rotation_mode!==a&&(a=r.rotation_mode,r.rotation_mode=="rotation"?this.setFormValues({rotation:cameraTargetToRotation(r.position,r.target).map(trimFloatNumber)}):this.setFormValues({target:cameraRotationToTarget(r.position,r.rotation).map(trimFloatNumber)}))},onConfirm:function(r){if(!r.name)return;let s={name:r.name,projection:r.projection,position:r.position,target:r.target};e.isOrtho&&(s.zoom=e.camOrtho.zoom);let l=localStorage.getItem("camera_presets");try{l=JSON.parse(l)||[]}catch{l=[]}l.push(s),localStorage.setItem("camera_presets",JSON.stringify(l)),o.hide()}});return o.show(),this}getFacingDirection(){var e=new Ve.Vector3;switch(this.controls.object.getWorldDirection(e),e.applyAxisAngle(new Ve.Vector3(0,1,0),Math.PI/4).ceil(),e.x+"_"+e.z){case"1_1":return"south";case"0_0":return"north";case"1_0":return"east";case"0_1":return"west"}}getFacingHeight(){var e=this.controls.object.getWorldDirection(new Ve.Vector3).y;return e>.5?"up":e<-.5?"down":"middle"}click(e){if($(":focus").blur(),open_menu&&open_menu.hide(),unselectInterface(e),convertTouchEvent(e),ya.selected=this,this.static_rclick=e.which===3||e.pointerType=="touch",this.static_rclick&&(this.event_start=[e.clientX,e.clientY]),e.pointerType=="touch"&&(this.rclick_cooldown=setTimeout(()=>{this.rclick_cooldown=!0},420),Transformer.dispatchPointerHover(e)),Transformer.hoverAxis!==null)return;let t=Keybinds.extra.preview_select.keybind.key==e.which||e.button===0||Modes.paint&&Keybinds.extra.paint_secondary_color.keybind.isTriggered(e);var n=t&&this.raycast(e);if(n){let s=function(){Group.multi_selected.empty(),Outliner.elements.forEach(c=>{c!==n.element&&Outliner.selected.remove(c)})};this.selection.click_target=n;let a=Keybinds.extra.preview_select.keybind.additionalModifierTriggered(e,"multi_select"),o=Keybinds.extra.preview_select.keybind.additionalModifierTriggered(e,"group_select"),r=Keybinds.extra.preview_select.keybind.additionalModifierTriggered(e,"loop_select");(Toolbox.selected.paintTool||Toolbox.selected.id=="knife_tool")&&(a=o=r=!1);let l=BarItems.selection_mode.value;if(Condition(BarItems.selection_mode.condition)||(l="object"),l!="object"&&(a=a||o,o=!1),Toolbox.selected.selectElements&&Modes.selected.selectElements&&(n.type==="element"||Toolbox.selected.id=="knife_tool"||n.type=="line"&&n.element instanceof SplineMesh)){if(Undo.initSelection(),Toolbox.selected.selectFace&&n.face&&n.element.type!="mesh"&&n.element.type!="spline"){let c=UVEditor.getSelectedFaces(n.element,!0);n.element.selected&&(a||o)?c.safePush(n.face):c.replace([n.face])}if(Blockbench.dispatchEvent("canvas_select",n),Modes.paint&&!(Toolbox.selected.id=="fill_tool"&&BarItems.fill_mode.value=="selected_elements")&&(e=0),n.element.parent instanceof OutlinerNode&&(!(n.element instanceof Mesh)||!(n.element instanceof SplineMesh)||l=="object")&&(Animator.open&&!n.element.constructor.animator||o||!Format.rotate_cubes&&Format.bone_rig&&["rotate_tool","pivot_tool"].includes(Toolbox.selected.id))){let c=n.element.parent;if(n.element.parent.selected&&o)for(;c.parent instanceof Group&&c.selected;)c=c.parent;n.element.markAsSelected(),a?c.multiSelect():c.select(e),settings.outliner_reveal_on_select.value&&c.showInOutliner()}else if(Animator.open)n.element.select(e);else{if(n.element instanceof Mesh&&l=="face"){n.element.selected||n.element.select(e),a||o||s();let c=n.element,d=c.getSelectedVertices(!0),u=c.getSelectedEdges(!0),p=c.getSelectedFaces(!0);if(r){let f=function(b,x){if(_.includes(b)||(_.push(b),m.vertices.length==4&&b.vertices.length!=4))return;let w=b.getAdjacentFace(x);w&&f(w.face,w.index+2)},m=c.faces[n.face];if(!m)return;let _=[],g=m.getAdjacentFace(1),v=g&&g.face.isSelected(g.key)?2:1;f(m,v),m.vertices.length==4&&(_.remove(m),f(m,(v+2)%4)),a||o||(d.empty(),u.empty(),p.empty()),_.forEach(b=>{d.safePush(...b.vertices);let x=b.getFaceKey();p.safePush(x)})}else{let m=n.element.faces[n.face].vertices;if(a||o)if(p.includes(n.face)){let _=n.element.getSelectedFaces(),f=m.filter(g=>!_.find(v=>v!==n.face&&n.element.faces[v].vertices.includes(g)));f.length==0&&f.push(m[0]),d.remove(...f),_.remove(n.face)}else d.safePush(...m),p.safePush(n.face);else u.empty(),d.replace(m),p.replace([n.face])}}else if(n.element instanceof Mesh&&l=="cluster"){let _=function(f,g){if(p.includes(g))return;p.push(g),d.safePush(...f.vertices);let v=c.faces;for(let b in v){let x=v[b];f.vertices.find(w=>x.vertices.includes(w))&&_(x,b)}};n.element.selected||n.element.select(e),a||o||s();let c=n.element,d=c.getSelectedVertices(!0),u=c.getSelectedEdges(!0),p=c.getSelectedFaces(!0);a||o||(d.empty(),u.empty(),p.empty());let m=c.faces[n.face];if(!m)return;_(m,n.face)}else n.element instanceof Mesh&&["edge","vertex"].includes(l)?n.element.select():Toolbox.selected.id=="fill_tool"&&BarItems.fill_mode.value=="selected_elements"&&n.element.selected||n.element.select(e);updateSelection()}Undo.finishSelection("Select from viewport")}else if(Animator.open&&n.type=="keyframe")n.keyframe instanceof Keyframe&&(Undo.initSelection({timeline:!0}),n.keyframe.select(e).callPlayhead(),updateSelection(),Undo.finishSelection("Select keyframe"));else if(n.type=="vertex"&&Toolbox.selected.id!=="vertex_snap_tool"){Undo.initSelection();let c=n.element.getSelectedVertices(!0),d,u;d=n.element.getSelectedEdges(!0),u=n.element.getSelectedEdges(!0),a||o?c.toggle(n.vertex):(s(),c.replace([n.vertex]),d.empty(),u.empty()),updateSelection(),Undo.finishSelection("Select vertex")}else if(n.type=="line"){Undo.initSelection();let c=n.element.getSelectedVertices(!0),d=n.element.getSelectedEdges(!0),u=n.element.getSelectedFaces(!0);if(a||o){let p=d.findIndex(m=>sameMeshEdge(m,n.vertices));p>=0?(c.remove(...n.vertices),d.splice(p,1)):(d.push(n.vertices),c.safePush(...n.vertices))}else n.vertices&&(u.empty(),d.splice(0,1/0,n.vertices),c.replace(n.vertices),s());if(r){let f=function(g,v){_.push(g);let b=g.getSortedVertices(),x=b.indexOf(v[0])-b.indexOf(v[1]);(x==-1||x>2)&&v.reverse();let w=b.filter(A=>!v.includes(A)),E=b.indexOf(w[0])-b.indexOf(w[1]);(E==1||E<-2)&&w.reverse(),c.safePush(...v),d.push(v);function y(A){for(let R in p.faces){let j=p.faces[R];if(j.vertices.length<3||_.includes(j))continue;let F=j.getSortedVertices();if(j.vertices.filter(L=>L==v[A]||L==w[A]).length>=2){let L=F.find((U,J)=>U!==v[A]&&U!==w[A]&&(F.length==3||Math.abs(F.indexOf(v[A])-J)!==2));f(j,[v[A],L]);break}}}y(0),y(1)},p=n.element,m;for(let g in p.faces){let v=p.faces[g];if(v.vertices.length<3)continue;if(v.vertices.filter(x=>n.vertices.includes(x)).length>=2){m=v;break}}if(!m)return;let _=[m];f(m,n.vertices)}updateSelection(),Undo.finishSelection("Select edge")}return typeof Toolbox.selected.onCanvasClick=="function"&&(Toolbox.selected.onCanvasClick(n),Blockbench.dispatchEvent("canvas_click",n)),Keybinds.extra.preview_area_select.keybind.isTriggered(e)&&this.startSelRect(e),!0}if(t&&typeof Toolbox.selected.onCanvasClick=="function"&&Toolbox.selected.onCanvasClick({event:e}),Keybinds.extra.preview_area_select.keybind.isTriggered(e))this.startSelRect(e);else return!1}mousemove(e){let t=this.raycast(e);Settings.get("highlight_cubes")&&k4(t&&t.element);e:if(Toolbox.selected.brush?.size&&Settings.get("brush_cursor_3d")){if(!t){scene.remove(Canvas.brush_outline);break e}if(!t.element.faces||t.element instanceof SplineMesh&&t.element.render_mode!=="mesh")break e;let n=t.element.faces[t.face],a=n.getTexture();if(!a){scene.remove(Canvas.brush_outline);break e}scene.add(Canvas.brush_outline);let o=t.intersects[0],r=o.object.getWorldQuaternion(Reusable.quat1),s=Reusable.vec1.copy(o.face.normal).applyQuaternion(r),l=a.getUVWidth()/a.width,c=a.getUVHeight()/a.display_height,d=0,u=o.uv.x*a.width,p=(1-o.uv.y)*a.height,m=u,_=p;Condition(Toolbox.selected.brush.floor_coordinates)&&(d=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?0:.5,m=Math.round(u+d)-d,_=Math.round(p+d)-d),a.currentFrame&&(p-=a.display_height*a.currentFrame,_-=a.display_height*a.currentFrame);let f=n.texelToLocalMatrix([u*l,p*c],[l,c],[m*l,_*c]),g=new Ve.Vector3().setFromMatrixPosition(f);o.object.localToWorld(g),Format.centered_grid||(g.x+=8,g.z+=8);let v=new Ve.Vector3(BarItems.slider_brush_size.get(),BarItems.slider_brush_size.get(),1);f.scale(v),f.multiplyMatrices(o.object.matrixWorld,f);let b=ya.selected.calculateControlScale(g)/8;ya.selected.camera.getWorldDirection(Reusable.vec2).angleTo(s)<Math.PI/2&&s.multiplyScalar(-1);let w=s.clone().multiplyScalar(b),E=new Ve.Matrix4().makeTranslation(w.x,w.y,w.z);f.multiplyMatrices(E,f),Canvas.brush_outline.parent&&f.multiplyMatrices(Canvas.brush_outline.parent.matrixWorld.clone().invert(),f),Canvas.brush_outline.matrix=f}if(Toolbox.selected.onCanvasMouseMove&&(t||(t=this.raycast(e)),Toolbox.selected.onCanvasMouseMove(t)),Condition(BarItems.selection_mode.condition)&&Mesh.hasAny()&&t&&t.element instanceof Mesh){if(BarItems.selection_mode.value=="edge"&&t.type=="line"&&t.vertices){let n=Reusable.vec1.fromArray(t.element.vertices[t.vertices[0]]),a=Reusable.vec2.fromArray(t.element.vertices[t.vertices[1]]);t.element.mesh.localToWorld(n),t.element.mesh.localToWorld(a);let o=ya.selected.calculateControlScale(n)/8,r=ya.selected.camera.getWorldDirection(Reusable.vec3);r.multiplyScalar(-o),n.add(r),a.add(r);let s=n.toArray().concat(a.toArray());Canvas.hover_helper_line.geometry.setAttribute("position",new Ve.BufferAttribute(new Float32Array(s),3)),Canvas.scene.add(Canvas.hover_helper_line)}else Canvas.hover_helper_line.parent&&Canvas.hover_helper_line.parent.remove(Canvas.hover_helper_line);if(BarItems.selection_mode.value=="vertex"&&t.type=="vertex"){let n=Reusable.vec1.fromArray(t.element.vertices[t.vertex]);t.element.mesh.localToWorld(n);let a=ya.selected.calculateControlScale(n),o=ya.selected.camera.getWorldDirection(Reusable.vec3);o.multiplyScalar(-a/3),n.add(o),Canvas.hover_helper_vertex.position.copy(n),Canvas.scene.add(Canvas.hover_helper_vertex)}else Canvas.hover_helper_vertex.parent&&Canvas.hover_helper_vertex.parent.remove(Canvas.hover_helper_vertex)}else if(SplineMesh.hasAny()&&t&&t.element instanceof SplineMesh){if(t.type=="line"&&t.element.render_mode=="path"){let n=t.element.mesh.pathLine,a=[],o=n.geometry.getAttribute("position").array.slice();o.forEach((r,s)=>{if((s+1)%3==0){let l=[o[s-2],o[s-1],r].V3_toThree();t.element.mesh.localToWorld(l);let c=ya.selected.calculateControlScale(l)/8,d=ya.selected.camera.getWorldDirection(Reusable.vec3);d.multiplyScalar(-c),l.add(d),a.push(l.x,l.y,l.z)}}),Canvas.hover_helper_line.geometry.setAttribute("position",new Ve.BufferAttribute(new Float32Array(a),3)),Canvas.scene.add(Canvas.hover_helper_line)}}else Canvas.hover_helper_line.parent&&Canvas.hover_helper_line.parent.remove(Canvas.hover_helper_line),Canvas.hover_helper_vertex.parent&&Canvas.hover_helper_vertex.parent.remove(Canvas.hover_helper_vertex)}mouseup(e){return this.showContextMenu(e),settings.canvas_unselect.value&&(e.which===1||e.which===3||e instanceof TouchEvent)&&!this.controls.hasMoved&&!this.selection.activated&&!Transformer.was_clicked&&Toolbox.selected.selectElements!=!1&&!this.selection.click_target&&unselectAllElements(),delete this.selection.click_target,e instanceof TouchEvent&&Canvas.scene.remove(Canvas.brush_outline),this}raycastMouseCoords(e,t){var n=this,a=$(n.canvas).offset();return n.mouse.x=(e-a.left)/n.width*2-1,n.mouse.y=-((t-a.top)/n.height)*2+1,n.raycaster.setFromCamera(n.mouse,n.camOrtho),n.raycaster.ray.origin}vectorToScreenPosition(e){e=e.clone();let t=this.canvas.width/2,n=this.canvas.height/2;return e.project(this.camera),e.x=e.x*t+t,e.y=-(e.y*n)+n,e.divideScalar(window.devicePixelRatio),{x:e.x,y:e.y}}showContextMenu(e){if(Prop.active_panel="preview",this.static_rclick&&(e.which===3||e.type=="touchend"&&this.rclick_cooldown==!0)){var t=this.raycast(e);t&&(this.selection.click_target=t);let n;typeof Toolbox.selected.onCanvasRightClick=="function"&&(n=Toolbox.selected.onCanvasRightClick(t||{event:e})),n==!1||(Toolbox.selected.selectElements&&Modes.selected.selectElements&&t&&t.element&&!Modes.animate?t.element.showContextMenu(e):t.type=="keyframe"?t.keyframe.showContextMenu(e):this.menu.open(e,this))}return clearTimeout(this.rclick_cooldown),delete this.rclick_cooldown,this}occupyTransformer(e){if(this.offscreen||Transformer.dragging)return this;let t=Transformer.canvas!=this.canvas;return Transformer.camera=this.isOrtho?this.camOrtho:this.camPers,Transformer.orbit_controls=this.controls,t&&(Transformer.setCanvas(this.canvas),ya.selected.controls.update()),e&&e.pointerType=="touch"&&Transformer.simulateMouseDown(e),this}calculateControlScale(e){if(this.isOrtho)return .35/this.camera.zoom;var t=new Ve.Vector3,n=t.subVectors(e,this.camera.position).length()/4;return n*=this.camera.fov/this.height,n}startSelRect(e){if(!this.sr_move_f&&Toolbox.selected.selectElements!=!1){var t=this;Modes.edit&&(this.sr_move_f=function(n){t.moveSelRect(n)},this.sr_stop_f=function(n){t.stopSelRect(n)},addEventListeners(document,"mousemove touchmove",this.sr_move_f),addEventListeners(document,"mouseup touchend",this.sr_stop_f)),this.selection.start_x=e.offsetX+0,this.selection.start_y=e.offsetY+0,this.selection.client_x=e.clientX+0,this.selection.client_y=e.clientY+0,Modes.edit&&e.pointerType!=="touch"&&($(this.node).append(this.selection.box),this.selection.activated=!1,this.selection.old_selected=Outliner.selected.slice(),this.selection.old_mesh_selection=JSON.parse(JSON.stringify(Project.mesh_selection)),this.selection.old_spline_selection=JSON.parse(JSON.stringify(Project.spline_selection)),Undo.initSelection(),this.moveSelRect(e))}}moveSelRect(e){var t=this;convertTouchEvent(e);var n=getRectangle(Math.clamp(this.selection.start_x,-2,this.width),Math.clamp(this.selection.start_y,-2,this.height),Math.clamp(this.selection.start_x+(e.clientX-this.selection.client_x),-2,this.width),Math.clamp(this.selection.start_y+(e.clientY-this.selection.client_y),-2,this.height));if(this.selection.box.css("left",n.ax+"px"),this.selection.box.css("top",n.ay+"px"),this.selection.box.css("width",n.x+"px"),this.selection.box.css("height",n.y+"px"),n.x+n.y>40&&(this.selection.activated=!0),!this.selection.activated)return;let a=[n.ax,n.ay],o=[n.bx,n.by],r=e.shiftKey||Ob.overrides.shift||(e.ctrlOrCmd||Ob.overrides.ctrl)&&!Keybinds.extra.preview_area_select.keybind.ctrl&&!Keybinds.extra.preview_area_select.keybind.meta,s=BarItems.selection_mode.value,l=BarItems.spline_selection_mode.value,c=.5*this.canvas.width/window.devicePixelRatio,d=.5*this.canvas.height/window.devicePixelRatio;function u(p){return p.project(t.camera),[p.x*c+c,-(p.y*d)+d]}unselectAllElements(),Outliner.elements.forEach(p=>{let m,_=(!(p instanceof Mesh)||s=="object")&&(!(p instanceof SplineMesh)||l=="object");r&&this.selection.old_selected.includes(p)&&_?m=!0:p.visibility!=!1&&p.preview_controller?.viewportRectangleOverlap&&(m=p.preview_controller.viewportRectangleOverlap(p,{projectPoint:u,extend_selection:r,rect_start:a,rect_end:o,preview:this})),m&&p.markAsSelected()}),TickUpdates.selection=!0}stopSelRect(e){removeEventListeners(document,"mousemove touchmove",this.sr_move_f),removeEventListeners(document,"mouseup touchend",this.sr_stop_f),delete this.sr_move_f,delete this.sr_stop_f,this.selection.box.detach(),this.selection.activated=!1,Undo.finishSelection("Area select")}loadBackground(){console.warn("Preview.loadBackground() is no longer supported")}updateBackground(){console.warn("Preview.updateBackground() is no longer supported")}copyView(e){if(this.setProjectionMode(e.isOrtho),this.controls.unlinked=e.controls.unlinked,this.controls.target.copy(e.controls.target),this.camera.position.copy(e.camera.position),this.camera.quaternion.copy(e.camera.quaternion),this.isOrtho){this.camera.zoom=e.camera.zoom,this.camera.top=e.camera.top,this.camera.bottom=e.camera.bottom,this.camera.right=e.camera.right,this.camera.left=e.camera.left;let t=this.width/this.height,n=(this.camera.right-this.camera.left)/(this.camera.top-this.camera.bottom);this.camera.right*=t/n,this.camera.left*=t/n,this.camOrtho.updateProjectionMatrix()}else this.setFOV(e.camPers.fov)}screenshot(e,t){return Screencam.screenshotPreview(this,e,t)}fullscreen(){ya.selected&&ya.selected.controls.stopMovement(),ya.selected=this,ya.split_screen.enabled=!1,$("#preview > .split_screen_wrapper, #preview > .single_canvas_wrapper").remove();var e=Interface.createElement("div",{class:"single_canvas_wrapper"});return e.append(this.node),$("#preview").append(e),this.node.querySelectorAll(".one_is_enough").forEach(t=>{t.style.display="block"}),this.node.querySelectorAll(".quad_view_only").forEach(t=>{t.style.display="none"}),ya.all.forEach(function(t){t.canvas.isConnected&&t.resize()}),Interface.data&&updateInterfacePanels(),this}toggleFullscreen(){ya.split_screen.enabled?this.fullscreen():ya.split_screen.setMode(ya.split_screen.before)}delete(){this.renderer.dispose(),this.renderer.forceContextLoss(),this.canvas.remove(),this.node.remove(),Blockbench.removeDragHandler("preview_"+this.id),ya.selected==this&&(ya.selected=ya.all.find(e=>e.canvas.isConnected)),ya.all.remove(this)}};W(ya,"selected",null);var gi=ya;gi.prototype.menu=new Menu(["screenshot_model",new MenuSeparator("references"),"add_reference_image","reference_image_from_clipboard","toggle_all_reference_images","edit_reference_images","preview_scene",{icon:"icon-player",name:"settings.display_skin",condition:()=>Modes.display&&displayReferenceObjects.active.id==="player"||Project.bedrock_animation_mode=="attachable_third",click:function(){changeDisplaySkin()}},new MenuSeparator("controls"),"focus_on_selection",{icon:"add_a_photo",name:"menu.preview.save_angle",condition(i){return!ReferenceImageMode.active&&!Modes.display},click(i){i.newAnglePreset()}},{id:"angle",icon:"videocam",name:"menu.preview.angle",condition(i){return!ReferenceImageMode.active&&!Modes.display},children:function(i){let e=[],t=localStorage.getItem("camera_presets");return t=t&&autoParseJSON(t,!1)||[],[Xa[0],"_",...Xa.slice(1,7),"_",...Xa.slice(7,11),"_",...Xa.slice(11).filter(a=>Condition(a.condition)),"_",...t].forEach(a=>{if(typeof a=="string"){e.push("_");return}let o=(a.locked_angle,"videocam");e.push({name:a.name,color:a.color,id:a.name,preset:a,icon:o,click:()=>{i.loadAnglePreset(a)},children:!a.default&&[{icon:"edit",name:"menu.preview.angle.edit",click(){x4(a,t)}},{icon:"delete",name:"generic.delete",click(){t.remove(a),localStorage.setItem("camera_presets",JSON.stringify(t))}}]})}),e}},{icon:i=>i.isOrtho?"check_box":"check_box_outline_blank",name:"menu.preview.orthographic",click:function(i){i.setProjectionMode(!i.isOrtho,!0)}},new MenuSeparator("interface"),"split_screen",{icon:"fullscreen",name:"menu.preview.maximize",condition:function(i){return gi.split_screen.enabled&&!ReferenceImageMode.active&&!Modes.display},click:function(i){i.fullscreen()}}]);gi.all=[];gi.split_screen={enabled:!1,mode:"single",before:null,previews:[],lazyLoadPreview(i,e){let t=gi.split_screen.previews[i];return t||(i==0?t=main_preview:t=new gi({id:`split_screen_${i}`}),e&&t.setDefaultAnglePreset(e),gi.split_screen.previews[i]=t),t},setMode(i="single"){if(gi.split_screen.mode=i,i=="single"){gi.split_screen.enabled=!1,Interface.preview.setAttribute("split_screen_mode",null),gi.selected.fullscreen(),updateInterface(),ReferenceImage.updateAll();return}gi.split_screen.enabled=!0,$("#preview .single_canvas_wrapper").remove(),$("#preview .split_screen_wrapper").remove();let e;i.startsWith("double")?e=[gi.split_screen.lazyLoadPreview(0),gi.split_screen.lazyLoadPreview(1,Xa[5])]:i.startsWith("triple")?e=[gi.split_screen.lazyLoadPreview(0),gi.split_screen.lazyLoadPreview(1,Xa[3]),gi.split_screen.lazyLoadPreview(2,Xa[5])]:i=="quad"&&(e=[gi.split_screen.lazyLoadPreview(1,Xa[1]),gi.split_screen.lazyLoadPreview(0),gi.split_screen.lazyLoadPreview(2,Xa[3]),gi.split_screen.lazyLoadPreview(3,Xa[5])]),e.forEach((t,n)=>{let a=Interface.createElement("div",{class:`split_screen_wrapper split_screen_wrapper_${n}`},t.node);a.style.gridArea=`preview_${n}`,Interface.preview.append(a),t.node.querySelectorAll(".quad_view_only").forEach(o=>{o.style.display="block"}),t!==main_preview&&t.node.querySelectorAll(".one_is_enough").forEach(o=>{o.style.display="none"})}),Interface.preview.setAttribute("split_screen_mode",i),updateInterface(),ReferenceImage.updateAll()},updateSize(){Interface.preview.style.setProperty("--split-x",Math.roundTo(Interface.data.quad_view_x,2)+"%"),Interface.preview.style.setProperty("--split-y",Math.roundTo(Interface.data.quad_view_y,2)+"%")}};Blockbench.on("update_camera_position",i=>{let e=gi.selected.calculateControlScale(Transformer.position)||.8;Blockbench.isTouch&&(e*=1.5),e*=settings.selection_tolerance.value/10,gi.all.forEach(t=>{t.canvas.isConnected&&(t.raycaster.params.Points.threshold=e*.8,t.raycaster.params.Line.threshold=e*.42)})});Ba.init("viewport_background_color","string");var $w=new rf("preview_view_options",{title:"dialog.preview_options.title",width:320,form:{background:{label:"dialog.preview_options.background",type:"select",options:{checkerboard:"dialog.preview_options.background.checkerboard",solid:"dialog.preview_options.background.solid",custom_color:"dialog.preview_options.background.custom_color"}},custom_background_color:{type:"color",label:"dialog.preview_options.background.custom_color",condition:i=>i.background=="custom_color"},preview_scene:{label:"action.preview_scene",type:"select",options(){let i={};for(let e in PreviewScene.menu_categories){let t=PreviewScene.menu_categories[e];if(t._label){let n="options_"+Rw(t._label);i[n]=new MenuSeparator(n,t._label)}for(let n in t)n.startsWith("_")||(i[n]=t[n])}return i}},shading:{label:"settings.shading",type:"checkbox",style:"toggle_switch"},grids:{label:"settings.grids",type:"checkbox",style:"toggle_switch"},ground_plane:{label:"settings.ground_plane",type:"checkbox",style:"toggle_switch"},pixel_grid:{label:"settings.pixel_grid",condition:()=>!Modes.paint,type:"checkbox",style:"toggle_switch"},painting_grid:{label:"settings.painting_grid",condition:()=>Modes.paint,type:"checkbox",style:"toggle_switch"},show_gizmos:{label:"dialog.preview_options.show_gizmos",type:"checkbox",style:"toggle_switch",value:!0}},onOpen(){let i=Ba.get("viewport_background_color");this.form.setValues({background:i?"custom_color":settings.preview_checkerboard.value?"checkerboard":"solid",custom_background_color:i,preview_scene:PreviewScene.active?PreviewScene.active.id:"none",shading:settings.shading.value,grids:settings.grids.value,ground_plane:settings.ground_plane.value,pixel_grid:settings.pixel_grid.value,painting_grid:settings.painting_grid.value,show_gizmos:Canvas.show_gizmos})},onFormChange(i){if((PreviewScene.active?PreviewScene.active.id:"none")!=i.preview_scene&&(i.preview_scene=="none"?PreviewScene.active.unselect():PreviewScene.scenes[i.preview_scene]?.select()),i.background=="checkerboard"?settings.preview_checkerboard.set(!0):settings.preview_checkerboard.set(!1),i.background=="custom_color"){let t="#"+i.custom_background_color.toHex();document.body.style.setProperty("--custom-preview-background",t),Ba.set("viewport_background_color",t)}else document.body.style.setProperty("--custom-preview-background",""),Ba.set("viewport_background_color","");settings.shading.value!=i.shading&&settings.shading.set(i.shading),settings.ground_plane.value!=i.ground_plane&&settings.ground_plane.set(i.ground_plane),settings.grids.value!=i.grids&&settings.grids.set(i.grids),settings.pixel_grid.value!=i.pixel_grid&&settings.pixel_grid.set(i.pixel_grid),settings.painting_grid.value!=i.painting_grid&&settings.painting_grid.set(i.painting_grid),Canvas.show_gizmos!=i.show_gizmos&&(Canvas.show_gizmos=i.show_gizmos,updateSelection())}});function x4(i,e){let{name:t,projection:n,position:a,target:o,zoom:r}=i,s="target",l=new Dialog({id:"edit_angle",title:"menu.preview.angle.edit",form:{name:{label:"generic.name",value:t},projection:{label:"dialog.save_angle.projection",type:"select",value:n,options:{unset:"generic.unset",perspective:"dialog.save_angle.projection.perspective",orthographic:"dialog.save_angle.projection.orthographic"}},divider1:"_",rotation_mode:{label:"dialog.save_angle.rotation_mode",type:"inline_select",value:s,options:{target:"dialog.save_angle.target",rotation:"dialog.save_angle.rotation"}},position:{label:"dialog.save_angle.position",type:"vector",dimensions:3,value:a},target:{label:"dialog.save_angle.target",type:"vector",dimensions:3,value:o,condition:({rotation_mode:c})=>c=="target"},rotation:{label:"dialog.save_angle.rotation",type:"vector",dimensions:2,condition:({rotation_mode:c})=>c=="rotation"},zoom:{label:"dialog.save_angle.zoom",type:"number",value:r||1,condition:c=>c.projection=="orthographic"}},onFormChange(c){c.rotation_mode!==s&&(s=c.rotation_mode,c.rotation_mode=="rotation"?this.setFormValues({rotation:cameraTargetToRotation(c.position,c.target)}):this.setFormValues({target:cameraRotationToTarget(c.position,c.rotation)}))},onConfirm:function(c){c.name&&(i.name=c.name,i.projection=c.projection,i.position=c.position,i.target=c.rotation_mode=="rotation"?cameraRotationToTarget(c.position,c.rotation):c.target,c.projection=="orthographic"&&(i.zoom=c.zoom),localStorage.setItem("camera_presets",JSON.stringify(e)),l.hide())}});l.show()}var Yw=class{constructor(e,t={}){let n=this;this.preview=e,this.node=document.createElement("div"),this.node.classList.add("orbit_gizmo");let a=document.createElementNS("http://www.w3.org/2000/svg","svg");this.node.append(a),this.lines={x:document.createElementNS("http://www.w3.org/2000/svg","path"),y:document.createElementNS("http://www.w3.org/2000/svg","path"),z:document.createElementNS("http://www.w3.org/2000/svg","path")};for(let o in this.lines)this.lines[o].setAttribute("axis",o),a.append(this.lines[o]);this.sides={top:{opposite:"bottom",axis:"y",sign:1,label:"Y"},bottom:{opposite:"top",axis:"y",sign:-1},east:{opposite:"west",axis:"x",sign:1,label:"X"},west:{opposite:"east",axis:"x",sign:-1},south:{opposite:"north",axis:"z",sign:1,label:"Z"},north:{opposite:"south",axis:"z",sign:-1}};for(let o in this.sides){let r=this.sides[o];r.node=document.createElement("div"),r.node.classList.add("orbit_gizmo_side"),r.node.setAttribute("axis",r.axis),r.node.title=tl(`direction.${o}`),r.label&&(r.node.innerText=r.label),r.node.addEventListener("click",s=>{if(!this.preview.controls.enabled)return;let l=o==this.preview.angle?r.opposite:o,c=Xa.find(d=>d.id==l);if(s.shiftKey){let d=c;c=structuredClone(c),c.position.V3_add(this.preview.camera.position),c.position.allAre(u=>Math.abs(u)<1)&&(c.position=d.position.slice()),delete c.locked_angle}this.preview.loadAnglePreset(c)}),this.node.append(r.node)}addEventListeners(this.node,"mousedown touchstart",o=>{if(!n.preview.controls.enableRotate&&n.preview.angle==null||!n.preview.controls.enabled||n.preview.force_locked_angle&&n.preview.locked_angle!==null)return;convertTouchEvent(o);let r=o,s=0,l=!1;function c(){l=!0,n.node.classList.add("mouse_active"),!o.touches&&r==o&&n.node.requestPointerLock&&n.node.requestPointerLock(),n.preview.angle!=null&&n.preview.setProjectionMode(!1,!0)}function d(p){if(convertTouchEvent(p),!l&&Math.pow(p.clientX-o.clientX,2)+Math.pow(p.clientY-o.clientY,2)>12&&c(),l){let m=s<=2?1:32;n.preview.controls.rotateLeft((o.touches?p.clientX-r.clientX:Math.clamp(p.movementX,-m,m))/40),n.preview.controls.rotateUp((o.touches?p.clientY-r.clientY:Math.clamp(p.movementY,-m,m))/40),Blockbench.dispatchEvent("update_camera_position",{preview:n.preview}),r=p,s++}}function u(p){document.exitPointerLock&&document.exitPointerLock(),removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u),n.node.classList.remove("mouse_active")}addEventListeners(document,"mouseup touchend",u),addEventListeners(document,"mousemove touchmove",d)}),this.node.addEventListener("dblclick",o=>{o.target==this.node&&this.preview.setProjectionMode(!this.preview.isOrtho,!0)}),this.preview.controls.onUpdate(o=>this.update(o)),this.update()}update(){let e="background",t=this.preview.controls.getPolarAngle(),n=this.preview.controls.getAzimuthalAngle(),a=40,o=28,r=.16,s={x:[Math.cos(n),Math.cos(t)*Math.sin(n),Math.sin(n)],y:[0,-Math.sin(t),Math.cos(t)],z:[-Math.sin(n),Math.cos(t)*Math.cos(n),Math.cos(n)]};for(let l in this.sides){let c=this.sides[l],d=s[c.axis];c.node.style.left=`${a+c.sign*o*d[0]}px`,c.node.style.top=`${a+c.sign*o*d[1]}px`,c.node.style.setProperty("transform",`scale(${1+r*c.sign*d[2]})`),c.node.classList.toggle(e,d[2]*c.sign<0)}for(let l in this.lines){let c=s[l];this.lines[l].setAttribute("d",`M${a} ${a} L${a+o*c[0]} ${a+o*c[1]}`)}}hide(){this.node.style.display="none"}unhide(){this.node.style.display="block"}};window.addEventListener("gamepadconnected",function(i){let e=i.gamepad.id.includes("SpaceMouse")||i.gamepad.id.includes("SpaceNavigator")||i.gamepad.id.includes("3Dconnexion");console.log("Gamepad Connected",i);let t=0,n=setInterval(()=>{let a=navigator.getGamepads()[i.gamepad.index],o=gi.selected;if(!(!document.hasFocus()||!o||!a||!a.axes||!a.connected||a.axes.allEqual(0)||a.axes.find(r=>isNaN(r))!=null))if(e){let r=new Ve.Vector3(a.axes[0],-a.axes[2],a.axes[1]);r.multiplyScalar(3),r.applyQuaternion(o.camera.quaternion),o.controls.target.add(r),o.camera.position.add(r);let s=new Ve.Vector3().copy(o.controls.target).sub(o.camera.position),l=[a.axes[3]/-40,a.axes[5]/-40];s.applyAxisAngle(Ve.NormalY,l[1]);let c=new Ve.Vector3().copy(s).normalize();c.applyAxisAngle(Ve.NormalY,Math.PI/2),c.y=0,s.applyAxisAngle(c,l[0]),o.controls.target.copy(s).add(o.camera.position),gi.selected.controls.update()}else{if(settings.gamepad_controls.value==!1)return;let r=.2,s=a.axes.map(p=>Math.abs(p)>r?p-r*Math.sign(p):0),l=o.camera.matrixWorld,c=settings.viewport_rotate_speed.value/100,d=settings.viewport_zoom_speed.value/100;s[0]&&o.controls.rotateLeft(Math.signedPow(s[0])/8*c),s[1]&&o.controls.rotateUp(Math.signedPow(s[1])/8*c),s[2]&&o.controls.panLeft(Math.signedPow(s[2])*1.5,l),s[3]&&o.controls.panUp(Math.signedPow(s[3])*1.5,l);let u=1-Math.exp(-t/10);a.buttons[6]?.pressed?(o.controls.dollyOut(1+.03*d*u),t++):a.buttons[7]?.pressed?(o.controls.dollyIn(1+.03*d*u),t++):t=0}},16);window.addEventListener("gamepadconnected",function(a){a.gamepad.id==i.gamepad.id&&a.gamepad.index==i.gamepad.index&&clearInterval(n)})});function ene(){window.scene=Canvas.scene=new Ve.Scene,scene.name="scene",Canvas.outlines=new Ve.Object3D,Canvas.outlines.name="outline_group",scene.add(Canvas.outlines),Canvas.gizmos.push(Canvas.outlines),s2.inventory_nine=new ReferenceImage({condition:()=>Modes.display&&displayReferenceObjects.active?.id=="inventory_nine",name:tl("display.reference.inventory_nine"),source:"./assets/inventory_nine.png",position:[0,0],size:[528,528],attached_side:"south",layer:"background",is_blueprint:!0}).addAsBuiltIn(),s2.inventory_full=new ReferenceImage({condition:()=>Modes.display&&displayReferenceObjects.active?.id=="inventory_full",name:tl("display.reference.inventory_full"),source:"./assets/inventory_full.png",position:[0,-215.6],size:[1390,1310],attached_side:"south",layer:"background",is_blueprint:!0}).addAsBuiltIn(),s2.hud=new ReferenceImage({condition:()=>Modes.display&&displayReferenceObjects.active?.id=="hud",name:tl("display.reference.hud"),source:"./assets/hud.png",position:[-112,-70],size:[1695,308],attached_side:"south",layer:"background",is_blueprint:!0}).addAsBuiltIn(),MediaPreview=new gi({id:"media",offscreen:!0}),Screencam.NoAAPreview=new gi({id:"no_aa_media",offscreen:!0,antialias:!1}),main_preview=new gi({id:"main"}).fullscreen(),window.Transformer=new Ve.TransformControls(main_preview.camPers,main_preview.canvas),window.SplineGizmos=new Ve.SplineGizmoController(main_preview.camPers,main_preview.canvas),Transformer.setSize(.5),scene.add(Transformer),scene.add(SplineGizmos),Canvas.gizmos.push(Transformer),Canvas.gizmos.push(SplineGizmos),main_preview.occupyTransformer(),Canvas.setup(),CustomTheme.updateColors(),resizeWindow()}var y4=performance.now();function c2(){requestAnimationFrame(c2),!(!settings.background_rendering.value&&!document.hasFocus()&&!document.querySelector("#preview:hover"))&&(performance.now()<y4+1e3/settings.fps_limit.value-1||(y4=performance.now(),TickUpdates.Run(),Animator.open&&(Timeline.playing?Timeline.loop():AnimationController.selected&&AnimationController.selected.updatePreview()),gi.selected&&WinterskyScene.updateFacingRotation(gi.selected.camera),gi.all.forEach(function(i){i.canvas.isConnected&&i.render()}),l2++,Modes.display===!0&&Canvas.ground_animation===!0&&!Transformer.hoverAxis&&DisplayMode.animate_preview&&DisplayMode.groundAnimation(),TextureAnimator.isPlaying&&TextureAnimator.playAnimationFrame(),Blockbench.dispatchEvent("render_frame")))}function tne(){Canvas.updateLayeredTextures(),Canvas.scene.remove(lights);let i=settings.brightness.value/50;Sun.intensity=i;let e=window.BarItems?BarItems.view_mode?.value:"textured";if(lights.add(Sun),e=="material"){let t=Canvas.material_light;switch(t||(Canvas.material_light=t=new Ve.DirectionalLight),t.color.copy(Canvas.global_light_color),t.intensity=.7*i,Canvas.scene.add(t),Canvas.global_light_side){case 0:t.position.set(60,100,20);break;case 1:t.position.set(-10,20,100);break;case 2:t.position.set(10,20,-100);break;case 3:t.position.set(100,20,-10);break;case 4:t.position.set(-100,20,10);break;case 5:t.position.set(20,-100,0);break}scene.add(Sun),Sun.intensity*=.5,TextureGroup.all.forEach(n=>{n.is_material&&n.updateMaterial()})}else{if(settings.shading.value===!0){Sun.intensity*=.5;let t=scene;t.add(lights),lights.position.copy(t.position).multiplyScalar(-1)}else Canvas.scene.add(Sun);Canvas.material_light&&Canvas.scene.remove(Canvas.material_light),Texture.all.forEach(t=>{let n=t.getMaterial();n.uniforms&&(n.uniforms.SHADE.value=settings.shading.value,n.uniforms.LIGHTCOLOR.value.copy(Canvas.global_light_color).multiplyScalar(settings.brightness.value/50),n.uniforms.LIGHTSIDE.value=Canvas.global_light_side)}),Canvas.emptyMaterials.forEach(t=>{t.uniforms.SHADE.value=settings.shading.value,t.uniforms.BRIGHTNESS.value=settings.brightness.value/50}),Canvas.coloredSolidMaterials.forEach(t=>{t.uniforms.SHADE.value=settings.shading.value,t.uniforms.BRIGHTNESS.value=settings.brightness.value/50})}Canvas.monochromaticSolidMaterial.uniforms.SHADE.value=settings.shading.value,Canvas.monochromaticSolidMaterial.uniforms.BRIGHTNESS.value=settings.brightness.value/50,Canvas.uvHelperMaterial.uniforms.SHADE.value=settings.shading.value,Canvas.normalHelperMaterial.uniforms.SHADE.value=settings.shading.value,Blockbench.dispatchEvent("update_scene_shading")}function k4(i,e){Outliner.elements.forEach(t=>{t.visibility&&t.mesh.geometry&&t.preview_controller.updateHighlight&&t.preview_controller.updateHighlight(t,i,e)})}setInterval(function(){Prop.fps=l2,l2=0},1e3);BARS.defineActions(function(){new BarSelect("view_mode",{category:"view",keybind:new Keybind({key:"z"}),condition:()=>Project&&Toolbox&&Toolbox.selected&&(!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.length>1),value:"textured",icon_mode:!0,options:{textured:{name:!0,icon:"image",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("textured")},solid:{name:!0,icon:"fas.fa-square",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("solid")},colored_solid:{name:!0,icon:"fas.fa-square-plus",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("colored_solid")},wireframe:{name:!0,icon:"far.fa-square",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("wireframe")},uv:{name:!0,icon:"grid_guides",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("uv")},normal:{name:!0,icon:"fa-square-caret-up",condition:()=>!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("normal")},vertex_weight:{name:!0,icon:"weight",condition:()=>ArmatureBone.all.length&&(!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("vertex_weight"))},weighted_bone_colors:{name:!0,icon:"weight",condition:()=>ArmatureBone.all.length&&(!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("weighted_bone_colors"))},material:{name:!0,icon:"pages",condition:()=>(!Toolbox.selected.allowed_view_modes||Toolbox.selected.allowed_view_modes.includes("material"))&&TextureGroup.all.find(e=>e.is_material)}},onChange(){let e=Project.view_mode;Project.view_mode=this.value,Canvas.updateViewMode(),Modes.id==="animate"&&Animator.preview(),gi.all.forEach(t=>{if(!t.offscreen){let n=Blockbench.getIconNode(this.options[this.value].icon),a=t.node.querySelector(".preview_view_mode_menu > i");a&&a.replaceWith(n)}}),Project.view_mode!=e&&Blockbench.dispatchEvent("change_view_mode",{view_mode:Project.view_mode,previous_view_mode:e})}}),new Toggle("preview_checkerboard",{icon:"fas.fa-chess-board",category:"view",linked_setting:"preview_checkerboard",keybind:new Keybind({key:"t"})}),new Toggle("uv_checkerboard",{icon:"fas.fa-chess-board",category:"view",linked_setting:"uv_checkerboard"}),new Toggle("toggle_shading",{name:tl("settings.shading"),description:tl("settings.shading.desc"),icon:"wb_sunny",category:"view",linked_setting:"shading"}),new Toggle("toggle_all_grids",{name:tl("settings.grids"),description:tl("settings.grids.desc"),icon:"grid_on",category:"view",linked_setting:"grids",condition:()=>!Modes.paint}),new Toggle("toggle_ground_plane",{name:tl("settings.ground_plane"),description:tl("settings.ground_plane.desc"),icon:"icon-format_free",category:"view",linked_setting:"ground_plane"}),new Toggle("toggle_motion_trails",{name:tl("settings.motion_trails"),description:tl("settings.motion_trails.desc"),icon:"gesture",category:"view",linked_setting:"motion_trails",condition:{modes:["animate"]}}),new Toggle("pixel_grid",{icon:"grid_on",category:"view",condition:{modes:["edit"]},keybind:new Keybind({key:"g"}),linked_setting:"pixel_grid"});function i(e,t){let n=Blockbench.getIconNode(e);return n.style.transform=`rotate(${t}deg)`,n}new BarSelect("split_screen",{icon:"grid_view",category:"view",condition:()=>!Modes.display&&!Format.image_editor,value:"single",icon_mode:!0,options:{single:{name:!0,icon:"video_label"},double_horizontal:{name:!0,icon:"splitscreen"},double_vertical:{name:!0,icon:i("splitscreen",90)},quad:{name:!0,icon:"grid_view",condition:!Blockbench.isMobile},triple_left:{name:!0,icon:"space_dashboard",condition:!Blockbench.isMobile},triple_right:{name:!0,icon:i("space_dashboard",180),condition:!Blockbench.isMobile},triple_top:{name:!0,icon:i("space_dashboard",90),condition:!Blockbench.isMobile},triple_bottom:{name:!0,icon:i("space_dashboard",270),condition:!Blockbench.isMobile}},onChange(){gi.split_screen.setMode(this.value)}}),new Action("focus_on_selection",{icon:"center_focus_weak",category:"view",condition:()=>!Format.image_editor,keybind:new Keybind({},{rotate_only:"shift",zoom:"ctrl"}),variations:{rotate_only:{name:"action.focus_on_selection.rotate_only"},zoom:{name:"action.focus_on_selection.zoom"}},click(e=0){if(!Project)return;let t=this.keybind.additionalModifierTriggered(e,"zoom");if(Prop.active_panel=="uv"||document.querySelector("#UVEditor:hover"))UVEditor.focusOnSelection(t);else{let n=gi.selected;if(!n.controls.enabled)return;let a=new Ve.Vector3;Modes.display?Transformer.getWorldPosition(a):(a.fromArray(getSelectionCenter()),a.add(scene.position));let o,r=new Ve.Vector3().copy(n.controls.target).sub(a),s=a.clone().sub(n.camera.position).add(r);if(r.divideScalar(6),t){let d=Canvas.getSelectionBounds(),u=Math.max(Math.abs(d.min.x-a.x),Math.abs(d.max.x-a.x),Math.abs(d.min.z-a.z),Math.abs(d.max.z-a.z)),p=Math.max(Math.abs(d.min.y-a.y),Math.abs(d.max.y-a.y));if(Math.abs(p)!=1/0){let m=n.camera.getFocalLength(),_=s.length(),g=Math.max(u,p)*(m/10)/_;o=s.multiplyScalar((g-1)/6)}}let l=0,c=setInterval(()=>{n.controls.target.sub(r),(this.keybind.additionalModifierTriggered(e)!="rotate_only"||n.angle!=null)&&n.camera.position.sub(r),o&&n.camera.position.sub(o),Transformer.update(),l++,l==6&&clearInterval(c)},16.66)}}}),new Action("toggle_camera_projection",{icon:"switch_video",category:"view",condition:e=>!ReferenceImageMode.active||!Modes.display,keybind:new Keybind({key:101}),click:function(){gi.selected.setProjectionMode(!gi.selected.isOrtho,!0)}}),new Action("camera_initial",{name:tl("action.load_camera_angle",tl("menu.preview.angle.initial")),description:tl("action.load_camera_angle.desc",tl("menu.preview.angle.initial")),icon:"videocam",color:"y",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:97}),click:function(){gi.selected.loadAnglePreset(Xa[0])}}),new Action("camera_top",{name:tl("action.load_camera_angle",tl("direction.top")),description:tl("action.load_camera_angle.desc",tl("direction.top")),icon:"videocam",color:"y",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:104}),click:function(){gi.selected.loadAnglePreset(Xa[1])}}),new Action("camera_bottom",{name:tl("action.load_camera_angle",tl("direction.bottom")),description:tl("action.load_camera_angle.desc",tl("direction.bottom")),icon:"videocam",color:"y",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:98}),click:function(){gi.selected.loadAnglePreset(Xa[2])}}),new Action("camera_south",{name:tl("action.load_camera_angle",tl("direction.south")),description:tl("action.load_camera_angle.desc",tl("direction.south")),icon:"videocam",color:"z",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:100}),click:function(){gi.selected.loadAnglePreset(Xa[3])}}),new Action("camera_north",{name:tl("action.load_camera_angle",tl("direction.north")),description:tl("action.load_camera_angle.desc",tl("direction.north")),icon:"videocam",color:"z",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:102}),click:function(){gi.selected.loadAnglePreset(Xa[4])}}),new Action("camera_east",{name:tl("action.load_camera_angle",tl("direction.east")),description:tl("action.load_camera_angle.desc",tl("direction.east")),icon:"videocam",color:"x",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:103}),click:function(){gi.selected.loadAnglePreset(Xa[5])}}),new Action("camera_west",{name:tl("action.load_camera_angle",tl("direction.west")),description:tl("action.load_camera_angle.desc",tl("direction.west")),icon:"videocam",color:"x",category:"view",condition:e=>!Modes.display,keybind:new Keybind({key:105}),click:function(){gi.selected.loadAnglePreset(Xa[6])}})});Object.assign(window,{scene,Sun,three_grid:Qie,gizmo_colors:$c,DefaultCameraPresets:Xa,Preview:gi,ViewOptionsDialog:$w,editCameraPreset:x4,OrbitGizmo:Yw,initCanvas:ene,updateShading:tne,updateCubeHighlights:k4});var _a=class _a{constructor(e={}){this.name="",this.layer="",this.scope="",this.is_blueprint=!1,this.position=[0,0],this.size=[0,0],this.flip_x=!1,this.flip_y=!1,this.rotation=0,this.opacity=0,this.visibility=!0,this.sync_to_timeline=!0,this.clear_mode=!1,this.attached_side=0,this.source="",this.modes=[],this.uuid=guid(),this.cache_version=0,this.condition=e.condition;for(let t in _a.properties)_a.properties[t].reset(this);this.position.V2_set(Interface.preview.clientWidth/2,Interface.preview.clientHeight/2),this._modify_nodes=[],this.defaults=e,this.dark_background=!1,this.image_is_loaded=!1,this.auto_aspect_ratio=!0,this.is_video=!1,e.source&&["mp4","wmv","mov"].includes(pathToExtension(e.source))&&(this.is_video=!0),this.node=Interface.createElement("div",{class:"reference_image"}),addEventListeners(this.node,"mousedown touchstart",t=>this.select()),this.node.addEventListener("contextmenu",t=>{this.openContextMenu(t)}),this.img=new Image,this.img.style.display="none",this.img.className="image_content",this.is_video?(this.video=Interface.createElement("video",{autoplay:!0,loop:!0,class:"image_content"}),this.video.muted="muted",this.video.append(Interface.createElement("source",{type:"video/mp4"})),this.node.append(this.video),this.image_is_loaded=!0):this.node.append(this.img),(this.is_video?this.video:this.img).onload=()=>{let t=this.image_is_loaded;if(this.image_is_loaded=!0,this.auto_aspect_ratio){let n=this.size.slice();this.aspect_ratio>1?this.size[1]=this.size[0]/this.aspect_ratio:this.size[0]=this.size[1]*this.aspect_ratio,n.equals(this.size)==!1&&this.update()}else t||this.update();this.updateClearMode()},this.img.onerror=()=>{this.image_is_loaded=!1},this.extend(e)}get aspect_ratio(){return this.source_width/this.source_height}get source_width(){return(this.is_video?this.video.videoWidth:this.img.naturalWidth)||16}get source_height(){return(this.is_video?this.video.videoHeight:this.img.naturalHeight)||16}extend(e){e.size instanceof Array&&(this.auto_aspect_ratio=!1),e.layer=="blueprint"&&(e.layer="background",e.is_blueprint=!0),e.modes instanceof Array&&this.modes.replace(e.modes);for(let t in _a.properties)_a.properties[t].merge(this,e);e.is_blueprint&&this.enableBlueprintMode()}getSaveCopy(){let e={};for(let t in _a.properties)this[t]!=_a.properties[t].default&&_a.properties[t].copy(this,e);return this.modes.length&&(e.modes=this.modes.slice()),e}resolveCondition(){return!Condition(this.condition)||this.modes.length&&!this.modes.includes(Modes.selected.id)?!1:this.is_blueprint?gi.all.find(e=>e.isOrtho&&e.angle==this.attached_side)!==void 0:!0}addAsReference(e){return Project.reference_images.push(this),gi.selected&&gi.selected.angle&&(this.enableBlueprintMode(),this.changeLayer("background")),Format.image_editor&&this.changeLayer("viewport"),this.scope="project",this.update(),e&&this.save(),this}addAsGlobalReference(e){return _a.global.push(this),gi.selected&&gi.selected.angle&&(this.enableBlueprintMode(),this.changeLayer("background")),Format.image_editor&&this.changeLayer("viewport"),this.scope="global",this.update(),e&&this.save(),this}addAsBuiltIn(e){return _a.built_in.push(this),this.scope="built_in",this.update(),e&&this.save(),this}select(e){return!e&&this.selected?this:this.scope=="built_in"?this:(_a.selected&&_a.selected!=this&&_a.selected.unselect(),lo.active||lo.activate(),_a.selected=this,this.update(),this)}unselect(){return _a.selected==this&&(_a.selected=null),this.update(),this}get selected(){return _a.selected==this}save(){if(this.removed)return this;switch(this.position[0]=Math.round(this.position[0]),this.position[1]=Math.round(this.position[1]),this.size[0]=Math.round(this.size[0]),this.size[1]=Math.round(this.size[1]),this.rotation=Math.roundTo(this.rotation,2),this.scope){case"project":Project.saved=!1;break;case"global":lo.saveGlobalReferences();break;case"built_in":break}return this}update(){if(!Interface.preview||this.removed)return this;if(!this.resolveCondition())return this.node.remove(),this;switch(this.node.setAttribute("reference_layer",this.layer),this.layer){case"background":case"viewport":{Interface.preview.querySelector(".clamped_reference_images").append(this.node);break}case"float":default:{Interface.work_screen.append(this.node);break}}this.updateTransform();let t=this.is_video?this.video:this.img;t.style.display=this.visibility&&this.image_is_loaded?"block":"none",t.style.opacity=this.opacity;let n=[];this.rotation&&n.push(`rotate(${this.rotation}deg)`),this.flip_x&&n.push("scaleX(-1)"),this.flip_y&&n.push("scaleY(-1)"),t.style.transform=n.join(" ");let a=this.source+(this.cache_version?"?"+this.cache_version:"");if(this.is_video?this.video.ref_source!=a&&(this.video.ref_source=a,this.video.firstElementChild.src=a,this.video.load()):this.img.src!=a&&(this.img.src=a),this.img.style.imageRendering=this.img.naturalWidth>this.size[0]?"auto":"pixelated",!this.selected&&this.clear_mode){let o=document.body.classList.contains("light_mode");this.node.style.filter=(o!=this.dark_background?"":"invert(1) ")+"contrast(1.2)",this.node.style.mixBlendMode="lighten"}else this.node.style.filter="",this.node.style.mixBlendMode="";return this.node.classList.toggle("invisible",this.visibility==!1||this.opacity<.1),this.selected&&!this._modify_nodes.length&&this.setupEditHandles(),!this.selected&&this._modify_nodes.length&&(this.node.classList.remove("selected"),this._modify_nodes.forEach(o=>o.remove()),this._modify_nodes.empty()),this.selected&&(this.node.querySelector("div.reference_image_toolbar .tool[tool_id=flip_x]").classList.toggle("enabled",this.flip_x),this.node.querySelector("div.reference_image_toolbar .tool[tool_id=flip_y]").classList.toggle("enabled",this.flip_y),this.node.querySelector("div.reference_image_toolbar .tool[tool_id=visibility]").classList.toggle("enabled",this.visibility)),this}getZoomLevel(){let e=this.is_blueprint&&gi.all.find(t=>t.isOrtho&&t.angle==this.attached_side);return e?e.camOrtho.zoom*2:1}updateTransform(){if(!this.node.isConnected)return this;let e=this.is_blueprint&&gi.all.find(t=>t.isOrtho&&t.angle==this.attached_side);if(e&&e.node.isConnected){let t=this.getZoomLevel(),n=this.position[0],a=this.position[1];n=e.controls.target[e.camOrtho.backgroundHandle[0].a]*t*20,a=e.controls.target[e.camOrtho.backgroundHandle[1].a]*t*20,n*=e.camOrtho.backgroundHandle[0].n===!0?1:-1,a*=e.camOrtho.backgroundHandle[1].n===!0?1:-1,n+=e.width/2,a+=e.height/2,gi.split_screen.enabled&&(n+=e.node.parentElement.offsetLeft,a+=e.node.parentElement.offsetTop),n+=this.position[0]*t-this.size[0]*t/2,a+=this.position[1]*t-this.size[1]*t/2,this.node.style.width=this.size[0]*t+"px",this.node.style.height=this.size[1]*t+"px",this.node.style.left=n+"px",this.node.style.top=a+"px";let o=e.node.offsetTop-this.node.offsetTop,r=e.node.clientWidth+e.node.offsetLeft-this.node.offsetLeft,s=e.node.clientHeight+e.node.offsetTop-this.node.offsetTop,l=e.node.offsetLeft-this.node.offsetLeft;this.node.style.clipPath=`rect(${o}px ${r}px ${s}px ${l}px) view-box`}else{this.node.style.width=this.size[0]+"px",this.node.style.height=this.size[1]+"px";let t=this.getClampedPosition();this.node.style.left=t[0]-this.size[0]/2+"px",this.node.style.top=t[1]-this.size[1]/2+"px",this.node.style.clipPath=""}return this}getClampedPosition(){let e=[Math.min(0,-this.size[0]/2+50),Math.min(0,-this.size[1]/2+50)];return[Math.clamp(this.position[0],e[0],this.node.parentNode.clientWidth-e[0]),Math.clamp(this.position[1],e[1],this.node.parentNode.clientHeight-e[1])]}updateClearMode(){if(this.clear_mode&&this.image_is_loaded){let e=getAverageRGB(this.img);this.dark_background=e.r+e.g+e.b<380}else this.dark_background=!1}detach(){this.node.remove()}setupEditHandles(){let e=this;this.node.classList.add("selected");let t=["nw","ne","sw","se"].map(o=>{let r=Interface.createElement("div",{class:"reference_image_resize_corner "+o}),s=o[1]=="e"?1:-1,l=o[0]=="s"?1:-1,c=1/this.getZoomLevel();return addEventListeners(r,"mousedown touchstart",d=>{convertTouchEvent(d);let u=this.position.slice(),p=this.size.slice(),m=f=>{convertTouchEvent(f);let g=[(f.clientX-d.clientX)*c,(f.clientY-d.clientY)*c],v=this.getZoomLevel(),b=[32/v,24/v];this.size[0]=Math.max(p[0]+g[0]*s,b[0]),this.position[0]=u[0]+g[0]/2,!f.ctrlOrCmd&&!Pressing.overrides.ctrl&&(g[1]=l*(this.size[0]/this.aspect_ratio-p[1])),this.size[1]=Math.max(p[1]+g[1]*l,b[1]),this.position[1]=u[1]+g[1]/2,this.is_blueprint||this.position.replace(this.getClampedPosition()),this.update()},_=f=>{convertTouchEvent(f),removeEventListeners(document,"mousemove touchmove",m),removeEventListeners(document,"mouseup touchend",_),this.save()};addEventListeners(document,"mousemove touchmove",m),addEventListeners(document,"mouseup touchend",_)}),this.node.append(r),r});this._modify_nodes.push(...t);let n=Interface.createElement("div",{class:"reference_image_rotate_handle"},Blockbench.getIconNode("rotate_right"));addEventListeners(n,"mousedown touchstart",o=>{convertTouchEvent(o);let r=this.rotation,s=$(this.node).offset(),l=[s.left+this.size[0]/2,s.top+this.size[1]/2],c=null,d=p=>{convertTouchEvent(p);let m=Math.radToDeg(Math.atan2(p.clientY-l[1],p.clientX-l[0]));if(c===null&&(c=m),m!=c){let _=Math.trimDeg(r+m-c);this.rotation=Math.snapToValues(_,[-180,-90,0,90,180],3),this.update()}},u=p=>{convertTouchEvent(p),removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u),this.save()};addEventListeners(document,"mousemove touchmove",d),addEventListeners(document,"mouseup touchend",u)}),this.node.append(n),this._modify_nodes.push(n),this.toolbar=Interface.createElement("div",{class:"reference_image_toolbar"}),this.node.append(this.toolbar),this._modify_nodes.push(this.toolbar);function a(o,r,s,l){let c=Interface.createElement("div",{class:"tool",tool_id:o},Blockbench.getIconNode(s));return e.toolbar.append(c),c.onclick=l,BarItem.prototype.addLabel(!1,{name:tl(r),node:c}),c}if(this.is_video){let o=a("toggle_playback","reference_image.toggle_playback",this.video.paused?"play_arrow":"pause",()=>{this.video.paused?(this.video._loading=!1,this.video.play()):this.video.pause(),o.querySelector(".icon").replaceWith(Blockbench.getIconNode(this.video.paused?"play_arrow":"pause"))})}return a("layer","reference_image.layer","flip_to_front",o=>{let r={background:"reference_image.layer.background",viewport:"reference_image.layer.viewport",float:"reference_image.layer.float"},s=Object.keys(r).map(l=>({name:r[l],icon:this.layer==l?"far.fa-dot-circle":"far.fa-circle",click:()=>{this.changeLayer(l),this.update().save()}}));new Menu(s).open(o.target)}),a("flip_x",tl("action.flip","X"),"icon-mirror_x",()=>{e.flip_x=!e.flip_x,e.update().save()}),a("flip_y",tl("action.flip","Y"),"icon-mirror_y",()=>{e.flip_y=!e.flip_y,e.update().save()}),this.opacity_slider=new NumSlider({id:"slider_reference_image_opacity",name:"reference_image.opacity",private:!0,condition:()=>!0,get(){return e.opacity*100},change(o){e.opacity=Math.clamp(o(e.opacity*100)/100,0,1),e.update()},onAfter(){e.save()},sensitivity:5,settings:{min:0,max:100,step:1,show_bar:!0}}).toElement(this.toolbar).update(),a("visibility","reference_image.visibility","visibility",()=>{e.visibility=!e.visibility,e.update().save()}),this._edit_events_initialized||(addEventListeners(this.node,"mousedown touchstart",o=>{if(!o.target.classList.contains("reference_image"))return;convertTouchEvent(o);let r=this.position.slice(),s=this.getZoomLevel(),l=d=>{convertTouchEvent(d);let u=[d.clientX-o.clientX,d.clientY-o.clientY];this.position[0]=r[0]+u[0]/s,this.position[1]=r[1]+u[1]/s,this.is_blueprint||this.position.replace(this.getClampedPosition()),this.update()},c=d=>{convertTouchEvent(d),removeEventListeners(document,"mousemove touchmove",l),removeEventListeners(document,"mouseup touchend",c),this.save()};addEventListeners(document,"mousemove touchmove",l),addEventListeners(document,"mouseup touchend",c)}),this.node.addEventListener("dblclick",o=>{o.target===this.node&&this.propertiesDialog()}),this._edit_events_initialized=!0),this}projectMouseCursor(e,t){if(!this.resolveCondition()||!this.visibility)return!1;let n=this.node.getBoundingClientRect(),a=[n.x+n.width/2,n.y+n.height/2],o=[e-a[0],t-a[1]],r=Math.sin(Math.degToRad(this.rotation)),s=Math.cos(Math.degToRad(this.rotation)),l=a[0]+o[0]*s+o[1]*r,c=a[1]-o[0]*r+o[1]*s;if(l>n.x&&c>n.y&&l<n.right&&c<n.bottom){if(this.layer!="float"){let p=this.node.parentElement;if(!p)return!1;let m=p.getBoundingClientRect();if(!(l>m.x&&c>m.y&&l<m.right&&c<m.bottom))return!1}let d=Math.getLerp(n.x,n.right,l),u=Math.getLerp(n.y,n.bottom,c);return this.flip_x&&(d=1-d),this.flip_y&&(u=1-u),[Math.floor(Math.min(d,.9999)*this.source_width),Math.floor(Math.min(u,.9999)*this.source_height)]}return!1}openContextMenu(e){return this.menu.open(e,this),this}reset(){return this}async delete(e){if(!e){let t;if(this.is_video?t="theaters":(t=new Image,t.src=this.source),await new Promise(a=>Blockbench.showMessageBox({title:"data.reference_image",message:"message.delete_reference_image",icon:t,buttons:["dialog.confirm","dialog.cancel"]},a))==1)return}switch(_a.selected==this&&(_a.selected=null),this.update(),this.scope){case"project":Project.reference_images.remove(this);break;case"global":_a.global.remove(this);break;case"built_in":_a.built_in.remove(this);break}this.save(),this.removed=!0,this.node.remove()}changeLayer(e){if(e!=this.layer){if(this.is_blueprint&&(this.is_blueprint=!1),e=="float"||this.layer=="float"){let t=$(Interface.preview).offset(),n=$(Interface.work_screen).offset(),a=e=="float"?1:-1;this.position[0]+=(t.left-n.left)*a,this.position[1]+=(t.top-n.top)*a}return this.layer=e,this}}changeScope(e){if(e==this.scope)return this;switch(this.scope){case"project":Project.reference_images.remove(this);break;case"global":_a.global.remove(this);break}switch(this.scope=e,this.scope){case"project":Project.reference_images.push(this);break;case"global":_a.global.push(this);break}return this}enableBlueprintMode(){this.is_blueprint||gi.selected?.angle&&(this.is_blueprint=!0,this.layer=="float"&&this.changeLayer("viewport"),this.attached_side=gi.selected.angle,this.position.V2_set(0,0))}propertiesDialog(){return new Dialog("reference_image_properties",{title:"data.reference_image",form:{source:{type:"file",label:"reference_image.image",condition:()=>!1,value:this.source,extensions:this.is_video?_a.video_extensions:_a.supported_extensions},layer:{type:"select",label:"reference_image.layer",value:this.layer,options:{background:"reference_image.layer.background",viewport:"reference_image.layer.viewport",float:"reference_image.layer.float"}},scope:{type:"select",label:"reference_image.scope",value:this.scope,options:{project:"reference_image.scope.project",global:"reference_image.scope.global"}},position:{type:"vector",label:"reference_image.position",dimensions:2,value:this.position},size:{type:"vector",label:"reference_image.size",dimensions:2,linked_ratio:!0,value:this.size},rotation:{type:"number",label:"reference_image.rotation",value:this.rotation},opacity:{type:"range",label:"reference_image.opacity",editable_range_label:!0,value:this.opacity*100,min:0,max:100,step:1},visibility:{type:"checkbox",label:"reference_image.visibility",value:this.visibility},sync_to_timeline:{type:"checkbox",label:"reference_image.sync_to_timeline",value:this.sync_to_timeline,condition:this.is_video&&Format.animation_mode},is_blueprint:{type:"checkbox",label:"reference_image.blueprint",value:this.is_blueprint,condition:()=>gi.selected.angle},clear_mode:{type:"checkbox",label:"reference_image.clear_mode",value:this.clear_mode}},onConfirm:e=>{if(this.removed)return;let t=this.clear_mode;this.extend({source:e.source,is_blueprint:e.is_blueprint,position:e.position,size:e.size,rotation:e.rotation,opacity:e.opacity/100,visibility:e.visibility,sync_to_timeline:e.sync_to_timeline,clear_mode:e.clear_mode}),this.changeLayer(e.layer),this.changeScope(e.scope),this.clear_mode!=t&&this.updateClearMode(),this.update().save()}}).show(),this}};W(_a,"supported_extensions",["png","jpg","jpeg","bmp","tiff","tif","gif","mp4","wmv","mov"]),W(_a,"image_extensions",["png","jpg","jpeg","bmp","tiff","tif","gif"]),W(_a,"video_extensions",["mp4","wmv","mov"]);var Pi=_a;Pi.prototype.menu=new Menu([new MenuSeparator("media_controls"),{id:"toggle_playback",name:"reference_image.toggle_playback",condition:i=>i.is_video,icon:i=>i.video.paused?"play_arrow":"pause",click(i){i.video.paused?(i.video._loading=!1,i.video.play()):i.video.pause()}},new MenuSeparator("settings"),{id:"visibility",name:"reference_image.visibility",icon:i=>i.visibility,click(i){i.visibility=!i.visibility,i.update().save()}},{id:"sync_to_timeline",name:"reference_image.sync_to_timeline",condition:()=>Format.animation_mode,icon:i=>i.sync_to_timeline,click(i){i.sync_to_timeline=!i.sync_to_timeline,i.update().save()}},{id:"blueprint",name:"reference_image.blueprint",icon:i=>i.is_blueprint,click(i){i.is_blueprint?i.is_blueprint=!1:i.enableBlueprintMode(),i.update().save()}},{id:"clear_mode",name:"reference_image.clear_mode",icon:i=>i.clear_mode,click(i){i.clear_mode=!i.clear_mode,i.updateClearMode(),i.update().save(),i.clear_mode&&(i.unselect(),setTimeout(()=>i.select(),400))}},{name:"reference_image.layer",icon:"list",children:i=>{let e={background:"reference_image.layer.background",viewport:"reference_image.layer.viewport",float:"reference_image.layer.float"},t=[];for(let n in e)t.push({id:n,name:e[n],icon:i.layer==n?"far.fa-dot-circle":"far.fa-circle",click(){i.changeLayer(n),i.update().save()}});return t}},{name:"reference_image.enabled_modes",icon:"fact_check",children:i=>{let e=[],t=[];for(let n in Modes.options){let a=Modes.options[n];t.push(n),e.push({id:n,name:a.name,icon:i.modes.length==0||i.modes.includes(n),click(){i.modes.length==0&&i.modes.replace(t),i.modes.toggle(n),i.modes.forEachReverse(o=>{Modes.options[o]||i.modes.remove(o)}),i.update().save()}})}return e}},new MenuSeparator("manage"),{name:"menu.texture.refresh",icon:"refresh",condition:i=>!1,click(i){i.cache_version++,i.update()}},"delete",new MenuSeparator("properties"),{name:"menu.texture.properties",icon:"list",click(i,e){i.propertiesDialog()}}]);new Property(Pi,"string","name",{default:"Reference"});new Property(Pi,"string","layer",{default:"background"});new Property(Pi,"string","scope",{default:"global"});new Property(Pi,"boolean","is_blueprint");new Property(Pi,"vector2","position");new Property(Pi,"vector2","size",{default:[400,300]});new Property(Pi,"boolean","flip_x");new Property(Pi,"boolean","flip_y");new Property(Pi,"number","rotation");new Property(Pi,"number","opacity",{default:1});new Property(Pi,"boolean","visibility",{default:!0});new Property(Pi,"boolean","sync_to_timeline",{default:!0});new Property(Pi,"boolean","clear_mode");new Property(Pi,"string","attached_side",{default:"north"});new Property(Pi,"string","source");Pi.selected=null;Pi.built_in=[];Pi.global=[];Object.defineProperty(Pi,"current_project",{get(){return Project.reference_images||[]}});Object.defineProperty(Pi,"all",{get(){return Pi.built_in.concat(Pi.global,Pi.current_project)}});Object.defineProperty(Pi,"active",{get(){return Pi.all.filter(i=>i.resolveCondition())}});Pi.updateAll=function(){Pi.all.forEach(i=>{i.update()})};StateMemory.init("global_reference_images","array");async function w4(){StateMemory.global_reference_images.forEach(i=>{new Pi(i).addAsGlobalReference()})}SharedActions.add("delete",{condition:()=>lo.active&&Pi.selected,priority:1,run(){Pi.selected.delete()}});Blockbench.on("display_animation_frame",()=>{Pi.active.forEach(i=>{if(i.is_video&&i.visibility&&i.sync_to_timeline&&!i.video._loading){i.video._loading=!0,i.video.ontimeupdate=()=>{i.video._loading=!1};let e=Math.max(0,Timeline.time-.02)%i.video.duration;Timeline.playing?(i.video.playbackRate=Timeline.playback_speed/100,Math.abs(i.video.currentTime-e+.02)>.05&&(i.video.currentTime=e),i.video.paused&&i.video.play()):(i.video.currentTime=e,i.video.paused||i.video.pause())}})});Blockbench.on("timeline_pause",()=>{Pi.active.forEach(i=>{i.is_video&&i.visibility&&i.sync_to_timeline&&!i.video.paused&&i.video.pause()})});var lo={active:!1,toolbar:null,activate(){lo.active=!0,Interface.work_screen.classList.add("reference_image_mode"),Interface.work_screen.append(lo.toolbar.node),Pi.updateAll(),BARS.updateConditions(),setTimeout(i=>{!Pi.selected&&Pi.active[0]&&Pi.active[0].select()},1)},deactivate(){lo.active=!1,Pi.selected&&Pi.selected.unselect(),Interface.work_screen.classList.remove("reference_image_mode"),lo.toolbar.node.remove(),Pi.updateAll(),BARS.updateConditions()},async importReferences(i){let e=await new Promise(t=>{let n=new Image;n.src=i[0].content,Blockbench.showMessageBox({title:"action.add_reference_image",message:"message.add_reference_image.message",icon:n,commands:{project:"message.add_reference_image.project",app:"message.add_reference_image.app"}},t)});i.forEach(t=>{let n=new Pi({source:t.content,name:t.name});Format.image_editor&&(n.layer="viewport"),e=="project"?n.addAsReference(!0):n.addAsGlobalReference(!0),n.select()})},saveGlobalReferences(){StateMemory.global_reference_images=Pi.global.map(i=>i.getSaveCopy()),StateMemory.save("global_reference_images")}};BARS.defineActions(function(){new Action("edit_reference_images",{icon:"wallpaper",category:"view",click(){lo.active?lo.deactivate():lo.activate()}}),new Action("add_reference_image",{icon:"add_photo_alternate",category:"view",click(){lo.active||lo.activate(),Blockbench.import({resource_id:"reference_image",extensions:Pi.supported_extensions,type:"Image",readtype:"image"},async function(i){lo.importReferences(i)},"image",!1)}}),new Action("reference_image_from_clipboard",{icon:"fa-clipboard",category:"view",click(){if(lo.active||lo.activate(),0)var i;else navigator.clipboard.read().then(e=>{e&&e[0]&&e[0].types.includes("image/png")&&e[0].getType("image/png").then(t=>{let n=URL.createObjectURL(t);i.length>32&&lo.importReferences([{content:n,name:"Pasted"}])})})}}),new Action("toggle_all_reference_images",{icon:"hide_image",category:"view",condition:()=>Pi.active.length>0,click(){let i=Pi.active,e=i.filter(t=>t.visibility==!0).length<i.length/2;i.forEach(t=>{t.visibility=e,t.update().save()})}}),new Action("reference_image_list",{icon:"list",category:"view",condition:()=>lo.active,click(i){new Menu("apply_display_preset",this.children(),{searchable:!1}).open(i.target,"wrong context")},children(){let i=[];function e(t){return[{id:"visibility",name:"reference_image.visibility",icon:()=>t.visibility,click(){t.visibility=!t.visibility,t.update().save()}},{name:"reference_image.enabled_modes",icon:"fact_check",children:()=>{let n=[],a=[];for(let o in Modes.options){let r=Modes.options[o];a.push(o),n.push({id:o,name:r.name,icon:t.modes.length==0||t.modes.includes(o),click(){t.modes.length==0&&t.modes.replace(a),t.modes.toggle(o),t.modes.forEachReverse(s=>{Modes.options[s]||t.modes.remove(s)}),t.update().save()}})}return n}},"_",{name:"menu.texture.refresh",icon:"refresh",condition:()=>!1,click(){t.cache_version++,t.update()}},{name:"generic.delete",icon:"delete",click(){t.select(),t.selected&&BarItems.delete.trigger()}},new MenuSeparator("properties"),{name:"menu.texture.properties",icon:"list",click(){t.propertiesDialog()}}]}return Pi.current_project.forEach(t=>{i.push({name:(t.name||"Unknown").substring(0,24),id:t.uuid,icon:"icon-blockbench_file",children:e(t)})}),i.push("_"),Pi.global.forEach(t=>{i.push({name:(t.name||"Unknown").substring(0,24),id:t.uuid,icon:"icon-blockbench_inverted",children:e(t)})}),i.push("_"),Pi.built_in.forEach(t=>{Condition(t.condition)&&i.push({name:(t.name||"Unknown").substring(0,24),id:t.uuid,icon:"settings"})}),i}})});Interface.definePanels(function(){lo.toolbar=new Toolbar("reference_images",{children:["add_reference_image","reference_image_from_clipboard","reference_image_list","toggle_all_reference_images"]})});Object.assign(window,{ReferenceImage:Pi,ReferenceImageMode:lo});var Um=class Um extends KeybindItem{constructor(t,n){typeof t=="object"&&(n=t,t=n.id);super(t,n);W(this,"icon");W(this,"selected");W(this,"tool");W(this,"default_tool");W(this,"selectElements");W(this,"hidden_node_types");W(this,"hide_toolbars");W(this,"hide_sidebars");W(this,"hide_status_bar");W(this,"vue");W(this,"onSelect");W(this,"onUnselect");if(this.id=t,this.name=n.name||tl("mode."+this.id),this.icon=n.icon||"video_label",this.selected=!1,this.default_tool=n.default_tool,this.selectElements=n.selectElements!==!1,this.hidden_node_types=n.hidden_node_types instanceof Array?n.hidden_node_types.slice():[],this.hide_toolbars=n.hide_toolbars,this.hide_sidebars=n.hide_sidebars,this.hide_status_bar=n.hide_status_bar,this.condition=n.condition,this.onSelect=n.onSelect,this.onUnselect=n.onUnselect,bo.options[this.id]=this,n.component){let a=document.createElement("div"),o=document.createElement("div");a.id="mode_screen_"+this.id,a.appendChild(o),document.getElementById("center").appendChild(a),this.vue=new Mn.default(n.component),this.vue.$mount(o)}}select(){if(bo.selected instanceof Um&&bo.selected.unselect(),this.selected=!0,Um.selected=this,bo.selected=this,bo[bo.selected.id]=!0,Project&&(Project.mode=this.id),document.body.setAttribute("mode",this.id),yn.mode_switcher_button){let a=he.getIconNode(this.icon);yn.mode_switcher_button.firstChild.replaceWith(a),yn.mode_switcher_button.classList.remove("hidden")}if($("#main_toolbar .toolbar_wrapper").css("visibility",this.hide_toolbars?"hidden":"visible"),$("#status_bar").css("display",this.hide_status_bar?"none":"flex"),typeof this.onSelect=="function"&&this.onSelect(),e2(),Pi.updateAll(),Xe.Panels[mn.active_panel]&&!Condition(Xe.Panels[mn.active_panel].condition)&&(mn.active_panel="preview"),UVEditor.beforeMoving(),!he.isMobile){for(let a in zn)zn[a].updateSlot();of()}Canvas.updateRenderSides();let t=BarItems[this.tool]instanceof Tool&&BarItems[this.tool],n=BarItems[this.default_tool]instanceof Tool&&BarItems[this.default_tool];t instanceof Tool&&Condition(t.condition)?t.select():n instanceof Tool?n!=Toolbox.selected&&n.select():BarItems.move_tool!=Toolbox.selected&&BarItems.move_tool.select(),updateInterface(),updateSelection(),$t.updateNodeDisplayRules(),he.dispatchEvent("select_mode",{mode:this})}unselect(){delete bo[this.id],bo.previous_id=this.id,typeof this.onUnselect=="function"&&this.onUnselect(),he.dispatchEvent("unselect_mode",{mode:this}),this.selected=!1,Um.selected=bo.selected=!1}trigger(){Condition(this.condition)&&this.select()}delete(){Um.selected==this&&bo.options.edit.select(),delete bo.options[this.id]}};W(Um,"selected",null);var Ts=Um,bo={get id(){return Ts.selected?Ts.selected.id:""},vue:null,selected:!1,previous_id:"",options:{},animate:!1,display:!1,edit:!1,paint:!1,pose:!1,mobileModeMenu(i,e){let t=[];for(let a in bo.options){let o=bo.options[a],r={id:a,icon:o.icon||"mode",name:o.name,condition:o.condition,click:()=>{o.select()}};t.push(r)}return new Menu(t).open(i)}};onVueSetup(function(){he.isMobile?document.getElementById("mode_selector").remove():bo.vue=new Mn.default({el:"#mode_selector",data:{options:bo.options},methods:{showModes(){let i=0;for(let e in this.options)Condition(this.options[e].condition)&&i++;return i>1},Condition}})});var ine={Mode:Ts,Modes:bo};Object.assign(window,ine);Vue.component("search-bar",{props:{value:String,hide:Boolean},data(){return{hidden:this.hide}},methods:{change(i){this.$emit("input",i)},clickIcon(){this.hide&&!this.value?(this.hidden=!1,this.$refs.input.focus()):this.$emit("input","")}},template:`
<div class="search_bar" :class="{folded: (!value && hidden)}">
<input type="text" inputmode="search" ref="input" class="dark_bordered" :value="value" @focusout="hidden = hide;" @input="change($event.target.value)">
<i class="material-icons" :class="{light_on_hover: !!value}" @click="clickIcon()">{{ value ? 'clear' : 'search' }}</i>
</div>`});Vue.component("select-input",{props:{value:String,options:Object,custom_dropdown:Function},data(){return{id:bbuid(8)}},methods:{set(i){this.$emit("input",i)},getNameFor(i){let e=this.options[i];return e?tl(e.name||e):""},open(i){if(Menu.closed_in_this_click==this.id)return this;let e=[];if(typeof this.custom_dropdown=="function")e=this.custom_dropdown(i,n=>this.set(n));else for(let n in this.options){let a=this.options[n];a&&e.push({name:this.getNameFor(n),icon:a.icon||(this.value==n?"far.fa-dot-circle":"far.fa-circle"),condition:a.condition,click:o=>{this.set(n)}})}let t=new Menu(this.id,e,{searchable:e.length>16,class:"select_menu"});t.node.style["min-width"]=this.$el.clientWidth+"px",t.open(i.target,this)}},template:`
<div class="bb-select" @click="open($event)">
{{ getNameFor(value) }}
</div>
`});Vue.component("numeric-input",{props:{value:Number,min:Number,max:Number,step:Number},data(){return{string_value:(this.value||0).toString(),resolved_value:this.value||0}},watch:{value(i){this.resolved_value!=i&&(this.string_value=trimFloatNumber(i,10),this.resolved_value=i)}},methods:{change(i,e){this.string_value=typeof i=="number"?trimFloatNumber(i):i,this.resolved_value=Math.clamp(NumSlider.MolangParser.parse(this.string_value),this.min,this.max),this.$emit("input",this.resolved_value),e&&this.$emit("change",this.resolved_value)},slide(i){convertTouchEvent(i);let e=0,t=a=>{convertTouchEvent(a);let o=Math.trunc((a.clientX-i.clientX)/10)*(this.step||1);if(o!=e){let r=Math.clamp((parseFloat(this.value)||0)+(o-e),this.min,this.max);this.change(r),this.$emit("input",this.resolved_value),e=o}},n=a=>{this.$emit("change",this.resolved_value),removeEventListeners(document,"mousemove touchmove",t),removeEventListeners(document,"mouseup touchend",n)};addEventListeners(document,"mousemove touchmove",t),addEventListeners(document,"mouseup touchend",n)},resolve(){this.string_value=trimFloatNumber(this.resolved_value,10),this.$emit("change",this.resolved_value)}},template:`
<div class="numeric_input" @mousedown="$emit('mousedown', $event)">
<input class="dark_bordered focusable_input"
:value="string_value" @input="change($event.target.value)"
:inputmode="min >= 0 ? 'decimal' : ''" lang="en"
@focusout="resolve($event)" @dblclick="resolve($event)"
>
<div class="tool numeric_input_slider"
@mousedown="slide($event)"
@touchstart="slide($event)"
>
<i class="material-icons">code</i>
</div>
</div>
`,mounted(){typeof this.min=="string"&&console.warn('Argument "min" should be set as a numeric property via "v-bind:"'),typeof this.max=="string"&&console.warn('Argument "max" should be set as a numeric property via "v-bind:"'),typeof this.step=="string"&&console.warn('Argument "step" should be set as a numeric property via "v-bind:"')}});Vue.component("dynamic-icon",{props:{icon:[String,HTMLElement],color:String},render(i){let e=Blockbench.getIconNode(this.icon,this.color),t={class:e.className,attrs:{src:e.attributes.src?.value},style:{color:e.style.color},on:this.$listeners};return i(e.tagName,t,e.textContent)}});var Xc={loaders:{},open(){Interface.tab_bar.openNewTab(),MenuBar.mode_switcher_button.classList.add("hidden")}};function Yc(i,e){typeof i=="object"&&(e=i,i="");var t=$(Interface.createElement("section",{class:"start_screen_section",section_id:i}));if(typeof e.graphic=="object"){var n=$('<div class="start_screen_left graphic"></div>');if(t.append(n),e.graphic.type==="icon"){var a=Blockbench.getIconNode(e.graphic.icon);n.addClass("graphic_icon"),n.append(a)}else n.css("background-image",`url('${e.graphic.source}')`);if(e.graphic.width&&n.css("width",e.graphic.width+"px"),e.graphic.width&&e.text&&n.css("flex-shrink","0"),e.graphic.width&&e.graphic.height&&Blockbench.isMobile?n.css("height","0").css("padding-top","0").css("padding-bottom",e.graphic.height/e.graphic.width*100+"%"):(e.graphic.height&&n.css("height",e.graphic.height+"px"),e.graphic.width&&!e.graphic.height&&!e.graphic.aspect_ratio&&n.css("height",e.graphic.width+"px"),e.graphic.aspect_ratio&&n.css("aspect-ratio",e.graphic.aspect_ratio)),e.graphic.description){let r=$(Nd(e.graphic.description));r.addClass("start_screen_graphic_description"),r.css({color:e.graphic.text_color||"#ffffff"}),n.append(r)}}if(e.text instanceof Array){var o=$('<div class="start_screen_right"></div>');t.append(o),e.text.forEach(r=>{var s=r.text?Nd(tl(r.text)):"";switch(r.type){case"h1":var l="h1";break;case"h2":var l="h2";break;case"h3":var l="h3";break;case"h4":var l="h4";break;case"list":var l='ul class="list_style"';r.list.forEach(d=>{s+=`<li>${Nd(tl(d))}</li>`});break;case"button":var l="button";break;default:var l="p";break}var c=$(`<${l}>${s}</${l.split(" ")[0]}>`);typeof r.click=="function"&&c.on("click",r.click),o.append(c)})}if(e.layout=="vertical"&&t.addClass("vertical"),e.features instanceof Array){let r=document.createElement("ul");r.className="start_screen_features",e.features.forEach(s=>{let l=document.createElement("li"),c=new Image;c.src=s.image;let d=document.createElement("h3");d.textContent=s.title;let u=document.createElement("p");u.innerHTML=Nd(s.text);let p=document.createElement("div");p.append(d,u),l.append(c,p),r.append(l)}),t.append(r)}return e.closable!==!1&&(t.append('<i class="material-icons start_screen_close_button">clear</i>'),t.find("i.start_screen_close_button").click(r=>{t.detach()})),typeof e.click=="function"&&t.on("click",r=>{r.target.classList.contains("start_screen_close_button")||e.click()}),e.color&&(t.css("background-color",e.color),e.color=="var(--color-bright_ui)"&&t.addClass("bright_ui")),e.text_color&&t.css("color",e.text_color),e.last?$("#start_screen > content").append(t):e.insert_after?$("#start_screen > content").find(`.start_screen_section[section_id="${e.insert_after}"]`).after(t):e.insert_before?$("#start_screen > content").find(`.start_screen_section[section_id="${e.insert_before}"]`).before(t):$("#start_screen > content").prepend(t),t[0].parentElement||$("#start_screen > content").append(t),{delete(){t[0].remove()}}}onVueSetup(async function(){StateMemory.init("start_screen_list_type","string");let i=0;Xc.vue=new Vue({el:"#start_screen",components:{},data:{formats:Formats,loaders:zs.loaders,selected_format_id:"",viewed_format:null,recent:[],list_type:StateMemory.start_screen_list_type||"grid",redact_names:settings.streamer_mode.value,redacted:tl("generic.redacted"),search_term:"",isApp:!1,mobile_layout:Blockbench.isMobile,thumbnails:{},getIconNode:Blockbench.getIconNode,slideshow:[{source:"./assets/splash_art/1.webp",description:"Splash Art 1st Place by [AnzSama](https://contests.blockbench.net/artists/726636243785613372) & [C-on](https://contests.blockbench.net/artists/768854550744137800)"},{source:"./assets/splash_art/2.webp",description:"Splash Art 2nd Place by [Wanwin](https://contests.blockbench.net/artists/402502582360080384) & [Flok](https://contests.blockbench.net/artists/445419542664183808)"},{source:"./assets/splash_art/3.webp",description:"Splash Art 3rd Place by [eag](https://contests.blockbench.net/artists/662458608281190410)"},{source:"./assets/splash_art/4.webp",description:"Splash Art 4th Place by [ultramarine digital art](https://contests.blockbench.net/artists/646162973060235277)"}],show_splash_screen:Blockbench.hasFlag("after_update")||settings.always_show_splash_art.value,slideshow_selected:0,slideshow_last:null,slideshow_autoplay:!0},methods:{getDate(e){if(e.day){var t=(365e10+Blockbench.openTime.dayOfYear()-e.day)%365;return t<=0?tl("dates.today"):t==1?tl("dates.yesterday"):t<=7?tl("dates.this_week"):tl("dates.weeks_ago",[Math.ceil(t/7)])}else return"-"},openProject:function(e,t){Blockbench.read([e.path],{},n=>{loadModelFile(n[0])})},updateThumbnails(e){this.recent.forEach(t=>{if(e&&!e.includes(t.path))return;let n=t.path.hashCode().toString().replace(/^-/,"0"),a=PathModule.join(null.getPath("userData"),"thumbnails",`${n}.png`);null.existsSync(a)?this.thumbnails[t.path]=a+"?"+Math.round(Math.random()*255):delete this.thumbnails[t.path]}),this.$forceUpdate()},setListType(e){this.list_type=e,StateMemory.start_screen_list_type=e,StateMemory.save("start_screen_list_type")},recentProjectContextMenu(e,t){new Menu("recent_project",[{id:"favorite",name:"mode.start.recent.favorite",icon:e.favorite?"fas.fa-star":"far.fa-star",click:()=>{this.toggleProjectFavorite(e)}},{id:"open_folder",name:"menu.texture.folder",icon:"folder",click(){bn.showFileInFolder(e.path)}},{id:"remove",name:"generic.remove",icon:"clear",click:()=>{recent_projects.remove(e),updateRecentProjects()}}]).show(t)},toggleProjectFavorite(e){e.favorite=!e.favorite,e.favorite&&(recent_projects.remove(e),recent_projects.splice(0,0,e)),updateRecentProjects()},getFormatCategories(){let e={};function t(n,a){e[a.category]||(e[a.category]={name:tl("format_category."+a.category),entries:[]}),e[a.category].entries.push(a)}for(let n in this.formats)this.formats[n].show_on_start_screen!=!1&&t(n,this.formats[n]);for(let n in this.loaders)this.loaders[n].show_on_start_screen!=!1&&t(n,this.loaders[n]);return e},loadFormat(e){this.selected_format_id=e.id,e.onFormatPage&&e.onFormatPage(),Vue.nextTick(()=>{let t=document.querySelector(".start_screen_format_page button");if(!t)return;let n=$(t).offset().top;if(n+38>window.innerHeight){let a=n+64-window.innerHeight;Xc.vue.$el.scrollTo({top:Xc.vue.$el.scrollTop+a,behavior:"smooth"})}})},confirmSetupScreen(e){this.selected_format_id="",e.onStart&&e.onStart(),typeof e.new=="function"&&e.new()},getBackground(e){return`url("${e}")`},setSlide(e){this.slideshow_last=this.slideshow_selected,this.slideshow_selected=e,setTimeout(()=>this.slideshow_last=null,500),i=0},openLink(e){Blockbench.openLink(e)},pureMarked:Nd,tl},computed:{projects(){if(!this.search_term)return this.recent;let e=this.search_term.toLowerCase().split(/\s/);return this.recent.filter(t=>!e.find(n=>!t.path.toLowerCase().includes(n)))}},mounted(){this.updateThumbnails(),setInterval(()=>{this.show_splash_screen&&this.slideshow_autoplay&&this.$el.offsetParent&&(i+=1,i==24&&this.setSlide((this.slideshow_selected+1)%this.slideshow.length))},1e3),settings.always_show_splash_art.value&&!Blockbench.hasFlag("after_update")&&!Blockbench.isMobile&&(document.getElementById("start_screen").scrollTop=100)},template:`
<div id="start_screen">
<content>
<section id="splash_screen" v-if="show_splash_screen" class="start_screen_section" section_id="splash_screen">
<div class="splash_art_slideshow_image" :style="{backgroundImage: getBackground(slideshow[slideshow_selected].source)}">
<p v-if="slideshow[slideshow_selected].description" class="start_screen_graphic_description" v-html="pureMarked(slideshow[slideshow_selected].description)"></p>
</div>
<div class="splash_art_slideshow_image slideshow_previous" v-if="typeof slideshow_last == 'number'" :style="{backgroundImage: getBackground(slideshow[slideshow_last].source)}">
</div>
<ul class="splash_art_slideshow_points">
<li v-for="(image, index) in slideshow" :key="index" :class="{selected: index == slideshow_selected}" @click="setSlide(index)"></li>
</ul>
<i class="material-icons start_screen_close_button" @click="show_splash_screen = false">clear</i>
</section>
<section id="start_files" class="start_screen_section" section_id="start_files">
<div class="start_screen_left" v-if="!(selected_format_id && mobile_layout)">
<h2>${tl("mode.start.new")}</h2>
<ul>
<li v-for="(category, key) in getFormatCategories()" class="format_category" :key="key">
<label>{{ category.name }}</label>
<ul>
<li
v-for="format_entry in category.entries" :key="format_entry.id"
class="format_entry" :class="{[format_entry.type == 'format' ? 'format' : 'loader']: true, selected: format_entry.id == selected_format_id}"
:title="format_entry.description"
:format="format_entry.id"
v-if="(!redact_names || !format_entry.confidential)"
@click="loadFormat(format_entry)"
@dblclick="confirmSetupScreen(format_entry)"
>
<span class="icon_wrapper f_left" v-html="getIconNode(format_entry.icon).outerHTML"></span>
<label>{{ format_entry.name }}</label>
</li>
</ul>
</li>
<li class="format_category">
<label>${tl("mode.start.info")}</label>
<ul>
<li class="format_entry start_screen_link" @click="openLink('https://blockbench.net/quickstart')">
<span class="icon_wrapper f_left"><i class="material-icons">help</i></span>
<label>${tl("menu.help.quickstart")}</label>
</li>
<li class="format_entry start_screen_link" @click="openLink('https://blockbench.net/wiki')">
<span class="icon_wrapper f_left"><i class="material-icons">menu_book</i></span>
<label>Blockbench Wiki</label>
</li>
</ul>
</li>
</ul>
</div>
<div class="start_screen_right start_screen_format_page" v-if="viewed_format = (selected_format_id && (formats[selected_format_id] || loaders[selected_format_id]) )" :id="'format_page_'+selected_format_id">
<div class="tool format_page_close_button" @click="selected_format_id = ''"><i class="material-icons">clear</i></div>
<h2 style="margin-bottom: 12px;">{{ viewed_format.name }}</h2>
<template v-if="viewed_format.format_page && viewed_format.format_page.component">
<component :is="'format_page_' + selected_format_id" />
</template>
<template v-else>
<p class="format_description" v-if="viewed_format.description">{{ viewed_format.description }}</p>
<p class="format_target" v-if="viewed_format.target">
<b>${tl("mode.start.target")}</b>:
<template v-if="viewed_format.target instanceof Array">
<span v-for="target in viewed_format.target">{{ target }}</span>
</template>
<span v-else>{{ viewed_format.target }}</span>
</p>
<content v-if="viewed_format.format_page && viewed_format.format_page.content" class="markdown">
<template v-for="item in viewed_format.format_page.content">
<img v-if="item.type == 'image'" :src="item.source" :width="item.width" :height="item.height">
<h2 v-else-if="item.type == 'h2'" v-html="pureMarked(item.text.replace(/\\n/g, '\\n\\n'))"></h2>
<h3 v-else-if="item.type == 'h3'" v-html="pureMarked(item.text.replace(/\\n/g, '\\n\\n'))"></h3>
<h4 v-else-if="item.type == 'h4'" v-html="pureMarked(item.text.replace(/\\n/g, '\\n\\n'))"></h4>
<label v-else-if="item.type == 'label'" v-html="pureMarked(item.text.replace(/\\n/g, '\\n\\n'))"></label>
<p v-else v-html="pureMarked((item.text || item).replace(/\\n/g, '\\n\\n'))"></p>
</template>
</content>
<div class="button_bar" v-if="!viewed_format.format_page || viewed_format.format_page.button_text !== ''">
<button style="margin-top: 20px;" id="create_new_model_button" @click="confirmSetupScreen(viewed_format)">
<i class="material-icons">arrow_forward</i>
{{ viewed_format.format_page && viewed_format.format_page.button_text ? tl(viewed_format.format_page.button_text) : '${tl("mode.start.create_new")}' }}
</button>
</div>
</template>
</div>
<div class="start_screen_right" v-else>
<h2 v-if="isApp">${tl("mode.start.recent")}</h2>
<div id="start_screen_view_menu" v-if="isApp && !redact_names">
<search-bar :hide="true" v-model="search_term"></search-bar>
<li class="tool" v-bind:class="{selected: list_type == 'grid'}" v-on:click="setListType('grid')">
<i class="material-icons">view_module</i>
</li>
<li class="tool" v-bind:class="{selected: list_type == 'list'}" v-on:click="setListType('list')">
<i class="material-icons">list</i>
</li>
</div>
<div v-if="redact_names">{{ '['+tl('generic.redacted')+']' }}</div>
<ul v-else-if="list_type == 'list'">
<li v-for="project in projects" :key="project.path"
v-bind:title="redact_names ? '' : project.path"
class="recent_project"
@click="openProject(project, $event)"
@contextmenu="recentProjectContextMenu(project, $event)"
>
<div class="recent_favorite_button" :class="{favorite_enabled: project.favorite}" @click.stop="toggleProjectFavorite(project)" title="${tl("mode.start.recent.favorite")}">
<i :class="'fa_big icon fa-star ' + (project.favorite ? 'fas' : 'far')" />
</div>
<span class="icon_wrapper" v-html="getIconNode(project.icon).outerHTML"></span>
<span class="recent_project_name">{{ redact_names ? redacted : project.name }}</span>
<span class="recent_project_date">{{ getDate(project) }}</span>
</li>
<div v-if="recent.length == 0">{{ tl('mode.start.no_recents') }}</div>
</ul>
<ul :class="{redact: redact_names, recent_list_grid: true}" v-else>
<li v-for="project in projects" :key="project.path"
v-bind:title="redact_names ? '' : project.path"
class="recent_project thumbnail"
@click="openProject(project, $event)"
@contextmenu="recentProjectContextMenu(project, $event)"
>
<img class="thumbnail_image" v-if="thumbnails[project.path]" :src="thumbnails[project.path]" />
<span class="recent_project_name">{{ redact_names ? redacted : project.name }}</span>
<span class="icon_wrapper" v-html="getIconNode(project.icon).outerHTML"></span>
<div class="recent_favorite_button" :class="{favorite_enabled: project.favorite}" @click.stop="toggleProjectFavorite(project)" title="${tl("mode.start.recent.favorite")}">
<i :class="'fa_big icon fa-star ' + (project.favorite ? 'fas' : 'far')" />
</div>
</li>
</ul>
<div class="button_bar">
<button style="margin-top: 20px;" onclick="BarItems.open_model.trigger()">${tl("action.open_model")}</button>
</div>
</div>
</section>
</content>
</div>
`}),Blockbench.on("construct_format delete_format",()=>{Xc.vue.$forceUpdate()})});(function(){var i=$.ajax({cache:!1,url:"https://web.blockbench.net/content/news.json",dataType:"json"});YA.then(()=>{let e;if(Blockbench.onUpdateTo("4.12.2",()=>{settings.classroom_mode.value||(e=!0,Yc("bluesky_link",{color:"rgb(32, 139, 254);",text_color:"#ffffff",graphic:{type:"icon",icon:"fab.fa-bluesky"},text:[{type:"h3",text:"Blockbench on Bluesky"},{text:"Follow Blockbench on Bluesky for the latest news & cool models from the community! [@blockbench.net](https://bsky.app/profile/blockbench.net)"}],last:!0}))}),!settings.classroom_mode.value&&!e&&Blockbench.startup_count<20&&Blockbench.startup_count%5===4&&(e=!0,Yc("bluesky_link",{color:"rgb(32, 139, 254);",text_color:"#ffffff",graphic:{type:"icon",icon:"fab.fa-bluesky"},text:[{type:"h3",text:"Blockbench on Bluesky"},{text:"Follow Blockbench on Bluesky for the latest news & cool models from the community! [@blockbench.net](https://bsky.app/profile/blockbench.net)"}],last:!0})),!settings.classroom_mode.value&&Blockbench.startup_count<6&&!e&&Yc("discord_link",{color:"#5865F2",text_color:"#ffffff",graphic:{type:"icon",icon:"fab.fa-discord"},text:[{type:"h2",text:"Discord Server"},{text:"You need help with modeling or you want to chat about Blockbench? Join the official [Blockbench Discord](https://discord.gg/WVHg5kH)!"}],last:!0}),Blockbench.startup_count<=1){let t=Interface.createElement("section",{id:"quick_setup"});document.querySelector("#start_screen #splash_screen").after(t),new Vue({data(){return{language:Language.code,language_original:Language.code,languages:Language.options,keymap:"default",keymap_changed:!1,theme:"default",keymap_options:{default:tl("action.load_keymap.default"),mouse:tl("action.load_keymap.mouse"),blender:"Blender",cinema4d:"Cinema 4D",maya:"Maya"}}},methods:{tl,close(){this.$el.remove()},reload(){Blockbench.reload()},loadTheme(n){this.theme=n;let a=CustomTheme.themes.find(o=>o.id==n);a&&CustomTheme.loadTheme(a)},getThemeThumbnailStyle(n){let a=CustomTheme.themes.find(r=>r.id==n),o={};if(!a)return o;for(let r in a.colors)o[`--color-${r}`]=a.colors[r];return o},openThemes(){BarItems.theme_window.click()}},watch:{language(n){settings.language.set(n),Settings.save()},keymap(n,a){this.keymap_changed=!0,Keybinds.loadKeymap(n,!0)||(this.keymap=a)}},template:`
<section id="quick_setup" section_id="quick_setup" class="start_screen_section">
<i class="material-icons start_screen_close_button" @click="close()">clear</i>
<h2>${tl("mode.start.quick_setup")}</h2>
<div>
<label>${tl("mode.start.keymap")}:</label>
<select-input v-model="keymap" :options="keymap_options" />
<p v-if="keymap_changed">{{ tl('action.load_keymap.' + keymap + '.desc') }}</p>
</div>
<div>
<label>${tl("settings.language")}:</label>
<select-input v-model="language" :options="languages" />
<div class="tool" @click="reload()" v-if="language != language_original" :title="tl('action.reload')">
<i class="material-icons">refresh</i>
</div>
<p v-if="language != language_original">{{ tl('message.restart_to_update') }}</p>
</div>
<div style="width: 640px;">
<label>${tl("dialog.settings.theme")}:</label>
<div class="quick_setup_theme" :class="{selected: theme == 'default'}" @click="loadTheme('default')"><div :style="getThemeThumbnailStyle('default')"></div>Dark</div>
<div class="quick_setup_theme" :class="{selected: theme == 'default_light'}" @click="loadTheme('default_light')"><div :style="getThemeThumbnailStyle('default_light')"></div>Light</div>
<div class="quick_setup_theme" :class="{selected: theme == 'contrast'}" @click="loadTheme('contrast')"><div :style="getThemeThumbnailStyle('contrast')"></div>Contrast</div>
<div class="quick_setup_theme more_themes" @click="openThemes()"><div><i class="material-icons">more_horiz</i></div>{{ tl('mode.start.quick_setup.more_themes') }}</div>
</div>
</section>
`}).$mount(t)}}),Promise.all([i,YA]).then(e=>{!e||!e[0]||(e=e[0],Blockbench.hasFlag("after_update")&&e.new_version&&(e.new_version.insert_after="splash_screen",Yc("new_version",e.new_version),jQuery.ajax({url:"https://blckbn.ch/api/event/successful_update",type:"POST",data:{version:Blockbench.version}})),e.psa&&function(){if(typeof e.psa.version=="string"){if(e.psa.version.includes("-")){if(limits=e.psa.version.split("-"),limits[0]&&vo.compare(Blockbench.version,"<",limits[0])||limits[1]&&vo.compare(Blockbench.version,">",limits[1]))return}else if(e.psa.version!=Blockbench.version)return}Yc("psa",e.psa)}())})})();Object.assign(window,{StartScreen:Xc,addStartScreenSection:Yc});ma.defineActions(()=>{new Action("keybindings_window",{name:tl("dialog.settings.keybinds")+"...",icon:"keyboard",category:"blockbench",click:function(){Keybinds.dialog.show(),document.querySelector("dialog#keybindings .search_bar > input").focus()}}),new Action("load_keymap",{icon:"format_list_bulleted",category:"blockbench",work_in_dialog:!0,click(i){new Menu(this.children).open(i.target)},children:["import_keymap","_",{icon:"keyboard",id:"default",description:"action.load_keymap.default.desc",name:"action.load_keymap.default",click(){Keybinds.loadKeymap("default")}},{icon:"keyboard",id:"mouse",description:"action.load_keymap.mouse.desc",name:"action.load_keymap.mouse",click(){Keybinds.loadKeymap("mouse")}},{icon:"keyboard",id:"blender",description:"action.load_keymap.blender.desc",name:"Blender",click(){Keybinds.loadKeymap("blender")}},{icon:"keyboard",id:"cinema4d",description:"action.load_keymap.cinema4d.desc",name:"Cinema 4D",click(){Keybinds.loadKeymap("cinema4d")}},{icon:"keyboard",id:"maya",description:"action.load_keymap.maya.desc",name:"Maya",click(){Keybinds.loadKeymap("maya")}}]}),new Action("import_keymap",{icon:"folder",category:"blockbench",work_in_dialog:!0,click(){Blockbench.import({resource_id:"config",extensions:["bbkeymap"],type:"Blockbench Keymap"},function(i){let{keys:e}=JSON.parse(i[0].content);Keybinds.actions.forEach(t=>{if(e[t.id]===null?t.keybind.clear():t.keybind.set(e[t.id]).save(!1),t.sub_keybinds)for(let n in t.sub_keybinds){let a=e[t.id+"."+n];a&&t.sub_keybinds[n].keybind.set(a).save(!1)}}),Keybinds.save(),TickUpdates.keybind_conflicts=!0})}}),new Action("export_keymap",{icon:"keyboard_hide",category:"blockbench",work_in_dialog:!0,click(){var i={};Keybinds.actions.forEach(e=>{if(Keybinds.stored[e.id]&&(Keybinds.stored[e.id].key==-1?i[e.id]=null:i[e.id]=new oneLiner(Keybinds.stored[e.id])),e.sub_keybinds)for(let t in e.sub_keybinds){let n=e.id+"."+t;Keybinds.stored[n]&&(Keybinds.stored[n].key==-1?i[n]=null:i[n]=new oneLiner(Keybinds.stored[n]))}}),Blockbench.export({resource_id:"config",type:"Blockbench Keymap",extensions:["bbkeymap"],content:compileJSON({keys:i})})}})});onVueSetup(function(){let i={};for(let e in Keybinds.structure)i[e]=Keybinds.structure[e].name;Keybinds.dialog=new Dialog({id:"keybindings",title:"dialog.settings.keybinds",singleButton:!0,width:800,title_menu:new Menu(["settings_window","keybindings_window","theme_window","about_window"]),sidebar:{pages:i,page:"navigate",actions:["load_keymap","export_keymap"],onPageSwitch(e){Keybinds.dialog.content_vue.open_category=e,Keybinds.dialog.content_vue.search_term=""}},component:{data(){return{structure:Keybinds.structure,open_category:"navigate",search_term:"",modifier_options:{"":"-",always:tl("modifier_actions.always"),ctrl:tl(Blockbench.platform=="darwin"?"keys.meta":"keys.ctrl"),shift:tl("keys.shift"),alt:tl(nc?"keys.option":"keys.alt"),unless_ctrl:tl("modifier_actions.unless",tl(Blockbench.platform=="darwin"?"keys.meta":"keys.ctrl")),unless_shift:tl("modifier_actions.unless",tl("keys.shift")),unless_alt:tl("modifier_actions.unless",tl(nc?"keys.option":"keys.alt"))}}},methods:{record(e,t){t?e.sub_keybinds[t].keybind.record():(e.keybind||(e.keybind=new Keybind),e.keybind.record())},reset(e,t){if(t){let n=e.sub_keybinds[t];n.default_keybind?n.keybind.set(n.default_keybind):n.keybind.clear(),n.keybind.save(!0)}else e.keybind&&(e.default_keybind?e.keybind.set(e.default_keybind):e.keybind.clear(),e.keybind.save(!0))},clear(e,t){t?e.sub_keybinds[t].keybind.clear().save(!0):e.keybind&&e.keybind.clear().save(!0)},toggleCategory(e){if(!e.open)for(var t in Keybinds.structure)Keybinds.structure[t].open=!1;e.open=!e.open},hasSubKeybinds(e){return e.sub_keybinds&&typeof e.sub_keybinds=="object"&&Object.keys(e.sub_keybinds).length>0},hasVariationConflict(e,t){return e[e.variations[t]]},getVariationText(e,t){return tl(e.variations?.[t]?.name,null,e.variations?.[t]?.name??t)},getVariationDescription(e,t){return e.variations?.[t]?.description?tl(e.variations[t].description,null,""):""}},computed:{list(){if(this.search_term){var e=this.search_term.toLowerCase().replace(/_/g," ").split(" "),t=[];for(var n of Keybinds.actions){var a=!1;for(var o of e){if(!a&&!n.name.toLowerCase().includes(o)&&!n.id.toLowerCase().includes(o)&&!n.keybind.label.toLowerCase().includes(o)&&(a=!0),a&&n.sub_keybinds)for(let r in n.sub_keybinds)n.sub_keybinds[r].name.toLowerCase().includes(o)&&(a=!1);if(a)break}a||t.push(n)}return t}else return this.structure[this.open_category].actions},title(){return this.search_term?tl("dialog.settings.search_results"):this.structure[this.open_category].name}},template:`
<div>
<h2 class="i_b">{{ title }}</h2>
<search-bar id="settings_search_bar" v-model="search_term"></search-bar>
<ul id="keybindlist">
<li v-for="action in list">
<div class="keybind_line">
<div :title="action.description"><span>{{action.name}}</span><span class="keybind_guide_line" /></div>
<div class="keybindslot" :class="{conflict: action.keybind && action.keybind.conflict}" @click.stop="record(action)" v-html="action.keybind ? action.keybind.getText(true) : ''"></div>
<div class="tool" v-on:click="reset(action)" title="${tl("keybindings.reset")}"><i class="material-icons">replay</i></div>
<div class="tool" v-on:click="clear(action)" title="${tl("keybindings.clear")}"><i class="material-icons">clear</i></div>
</div>
<ul class="keybind_item_variations" v-if="action.keybind.variations">
<li v-for="(value, option_key) in action.keybind.variations">
<label :title="getVariationDescription(action, option_key)">{{ getVariationText(action, option_key) }}</label>
<select-input v-model="action.keybind.variations[option_key]" @input="action.keybind.save(true)" :options="modifier_options" />
<i v-if="hasVariationConflict(action.keybind, option_key)" class="material-icons icon keybind_variation_conflict" title="${tl("keybindings.variation_conflict")}">warning</i>
</li>
</ul>
<ul class="keybind_item_sub_keybinds" v-if="hasSubKeybinds(action)">
<li v-for="(sub_keybind, sub_id) in action.sub_keybinds" class="keybind_line keybind_line__sub" :key="sub_id">
<div><span>{{ sub_keybind.name }}</span><span class="keybind_guide_line" /></div>
<div class="keybindslot"
:class="{conflict: sub_keybind.keybind && sub_keybind.keybind.conflict}"
@click.stop="record(action, sub_id)"
v-html="sub_keybind.keybind ? sub_keybind.keybind.getText(true) : ''"
></div>
<div class="tool" v-on:click="reset(action, sub_id)" title="${tl("keybindings.reset")}"><i class="material-icons">replay</i></div>
<div class="tool" v-on:click="clear(action, sub_id)" title="${tl("keybindings.clear")}"><i class="material-icons">clear</i></div>
</li>
</ul>
</li>
</ul>
</div>`},onButton(){Keybinds.save()},onOpen(){updateKeybindConflicts()}})});var Zi={};var yt=class{constructor(e,t){W(this,"id");W(this,"type");W(this,"default_value");W(this,"master_value");W(this,"condition");W(this,"category");W(this,"name");W(this,"description");W(this,"requires_restart");W(this,"launch_setting");W(this,"plugin");W(this,"min");W(this,"max");W(this,"step");W(this,"icon");W(this,"click");W(this,"options");W(this,"hidden");W(this,"onChange");W(this,"keybind_label");if(this.id=e,Zi[e]=this,this.type="toggle",t.type&&(this.type=t.type),t.value!=null)this.default_value=t.value;else switch(this.type){case"toggle":this.default_value=!0;break;case"number":this.default_value=0;break;case"text":this.default_value="";break;case"password":this.default_value="";break;case"select":this.default_value;break;case"click":this.default_value=!1;break}typeof wi.stored[e]=="object"?this.master_value=wi.stored[e].value:t.value!=null?this.master_value=t.value:this.master_value=this.default_value,this.condition=t.condition,this.category=t.category||"general",this.name=t.name||tl(`settings.${e}`),this.description=t.description||tl(`settings.${e}.desc`),this.requires_restart=t.requires_restart==!0,this.launch_setting=t.launch_setting||!1,this.plugin=t.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),this.type=="number"&&(this.min=t.min,this.max=t.max,this.step=t.step),this.type=="click"&&(this.icon=t.icon,this.click=t.click),this.type=="select"&&(this.options=t.options),this.type=="password"&&(this.hidden=!0),typeof t.onChange=="function"&&(this.onChange=t.onChange);var n=wi.structure[this.category];if(n){n.items[e]=this;let a=n.open;n.open=!1,Mn.default.nextTick(()=>{n.open=a})}this.icon||(this.type=="toggle"&&(this.icon=this.value?"check_box":"check_box_outline_blank"),this.type=="number"&&(this.icon="tag"),this.type=="password"&&(this.icon="password"),this.type=="text"&&(this.icon="format_color_text"),this.type=="select"&&(this.icon="list"),this.icon||(this.icon="settings")),this.keybind_label=tl("data.setting"),he.setup_successful&&wi.saveLocalStorages()}get value(){let e=Co.all.find(t=>t.isActive()&&t.settings[this.id]!==void 0);return e?e.settings[this.id]??this.master_value:this.master_value}set value(e){this.master_value=e}get ui_value(){let e=wi.dialog.content_vue?.$data.profile;return e?e.settings[this.id]??this.master_value:this.master_value}set ui_value(e){let t=wi.dialog.content_vue?.$data.profile;this.type=="number"&&(e=Math.clamp(e,this.min,this.max)),t?Mn.default.set(t.settings,this.id,e):this.master_value=e}delete(){Zi[this.id]&&delete Zi[this.id],wi.structure[this.category]&&wi.structure[this.category].items[this.id]&&delete wi.structure[this.category].items[this.id]}set(e){if(e==null)return;let t=this.value;this.type=="number"&&typeof e=="number"?(this.step&&(e=Math.round(e/this.step)*this.step),this.value=Math.clamp(e,this.min,this.max)):this.type=="toggle"?this.value=!!e:this.type=="click"?this.value=e:typeof e=="string"&&(this.value=e),typeof this.onChange=="function"&&this.value!==t&&this.onChange(this.value),wi.saveLocalStorages()}trigger(e){let{type:t}=this,n=this;if(t=="toggle")this.set(!this.value),wi.save(),n.requires_restart&&wi.showRestartMessage();else if(t=="click")this.click(e);else if(t=="select"){let a=[];for(let o in this.options)a.push({id:o,name:this.options[o],icon:this.value==o?"far.fa-dot-circle":"far.fa-circle",click:()=>{this.set(o),wi.save(),n.requires_restart&&wi.showRestartMessage()}});new Menu(a).open(e.target)}else{let a={click:"checkbox",number:"number",password:"password",select:"select",text:"text",toggle:"checkbox"},o=new sa({id:"setting_"+this.id,title:tl("data.setting"),form:{input:{value:this.value,label:this.name,description:this.description,type:a[this.type]},description:this.description?{type:"info",text:this.description}:void 0,reset:{type:"buttons",buttons:["dialog.settings.reset_to_default"],click(){o.setFormValues({input:n.default_value})}}},onConfirm({input:r}){n.set(r),wi.save(),this.hide().delete(),n.requires_restart&&wi.showRestartMessage()},onCancel(){this.hide().delete()}}).show()}}};var il=class il{constructor(e={}){W(this,"uuid");W(this,"name");W(this,"color");W(this,"condition");W(this,"settings");W(this,"selected");this.uuid=guid(),this.name=e.name||"New Profile",this.color=e.color==null?Math.randomInteger(0,rn.length-1):e.color,this.condition={type:"selectable",value:""},this.settings={},this.extend(e),this.selected=!1,il.all.push(this)}select(e=!0){this.condition.type==="selectable"&&(il.all.forEach(t=>t.selected=!1),this.selected=!0,il.selected=this,e&&(wi.updateSettingsInProfiles(),wi.saveLocalStorages(),wi.updateProfileButton()))}extend(e){if(Merge.string(this,e,"name"),e.condition&&(this.condition.type=e.condition.type,this.condition.value=e.condition.value),e.settings)for(let t in e.settings){let n=e.settings[t];n!=null&&Mn.default.set(this.settings,t,n)}}isActive(){switch(this.condition.type){case"selectable":return il.selected==this;case"format":if(Format&&Format.id==this.condition.value)return!0;break;case"file_path":let e=new RegExp(this.condition.value,"i");if(Project&&(e.test(Project.save_path.replace(osfs,"/"))||e.test(Project.export_path.replace(osfs,"/"))))return!0;break}return!1}clear(e){Mn.default.delete(this.settings,e),wi.saveLocalStorages()}openDialog(){let e={};for(let o=0;o<rn.length;o++)e[o]=tl(`cube.color.${rn[o].id}`);let t={selectable:tl("settings_profile.condition.type.selectable"),format:tl("data.format"),file_path:tl("data.file_path")},n={};for(let o in Formats)n[o]=Formats[o].name;let a=new sa({id:"settings_profile",title:tl("data.settings_profile"),form:{name:{label:"generic.name",type:"text",value:this.name},color:{label:"menu.cube.color",type:"select",options:e,value:this.color},_1:"_",condition_type:{type:"select",label:"settings_profile.condition",value:this.condition.type,options:t},format:{type:"select",label:"data.format",value:this.condition.type=="format"?this.condition.value:"",options:n,condition:o=>o.condition_type=="format"},file_path:{type:"text",label:"data.file_path",description:"settings_profile.condition.type.file_path.desc",value:this.condition.type=="file_path"?this.condition.value:"",condition:o=>o.condition_type=="file_path"},_2:"_",remove:{type:"buttons",buttons:["generic.delete"],click:o=>{confirm(tl("settings_profile.confirm_delete"))&&this.remove(),wi.dialog.content_vue.$data.profile=null,il.unselect(),a.close(0)}}},onConfirm:o=>{this.name=o.name,this.color=o.color,this.condition.type=o.condition_type,this.condition.type=="format"&&(this.condition.value=o.format),this.condition.type=="file_path"&&(this.condition.value=o.file_path),wi.saveLocalStorages(),wi.updateProfileButton()},onCancel(){wi.updateProfileButton()}}).show()}remove(){il.all.remove(this),wi.saveLocalStorages()}};W(il,"all",[]),W(il,"selected",null),W(il,"unselect",function(e=!0){il.all.forEach(t=>t.selected=!1),il.selected=null,e&&(wi.updateSettingsInProfiles(),wi.saveLocalStorages(),wi.updateProfileButton())});var Co=il,wi={profile_menu_button:null,structure:{},stored:{},dialog:null,addCategory(i,e){wi.structure[i]={name:e.name||tl("settings.category."+i),open:e.open!=null?!!e.open:i==="general",items:{}},wi.dialog.sidebar.pages[i]=wi.structure[i].name,wi.dialog.sidebar.build()},saveLocalStorages(){var i={};for(var e in Zi)i[e]={value:Zi[e].master_value};localStorage.setItem("settings",JSON.stringify(i)),localStorage.setItem("settings_profiles",JSON.stringify(Co.all)),window.ColorPanel&&ColorPanel.saveLocalStorages()},save(){wi.saveLocalStorages(),updateSelection();for(let i in BarItems){let e=BarItems[i];e instanceof Toggle&&e.linked_setting&&Zi[e.linked_setting]&&e.value!=Zi[e.linked_setting].value&&(e.value=Zi[e.linked_setting].value,e.updateEnabledState())}wi.updateProfileButton(),he.dispatchEvent("update_settings",{})},updateSettingsInProfiles(){let i=new Set;for(let e of Co.all)for(let t in e.settings)Zi[t]?i.add(t):delete e.settings[t];i.forEach(e=>{let t=Zi[e];t.onChange&&t.onChange(t.value)})},updateProfileButton(){let i=Co.selected;wi.profile_menu_button.style.color=i?rn[i.color%rn.length].standard:"",wi.profile_menu_button.classList.toggle("hidden",Co.all.findIndex(e=>e.condition.type=="selectable")==-1)},import(i){let e=JSON.parse(i.content);for(let t in Zi){let n=Zi[t];n instanceof yt&&e.settings[t]!==void 0&&n.set(e.settings[t])}},get(i){if(i&&Zi[i])return Zi[i].value},openDialog(i={}){for(var e in Zi)Zi.hasOwnProperty(e)&&(wi.old[e]=Zi[e].value);wi.dialog.show(),i.search_term&&(wi.dialog.content_vue.$data.search_term=i.search_term),i.profile&&(wi.dialog.content_vue.$data.profile=i.profile),wi.dialog.content_vue.$forceUpdate()},showRestartMessage(i){let e;if(i instanceof Array){e=tl("message.settings_require_restart.message")+`
`;for(let t of i)e+="* "+t.name+`
`}he.showMessageBox({icon:"fa-power-off",translateKey:"settings_require_restart",message:e,commands:{restart_now:{text:"message.settings_require_restart.restart_now"}},buttons:["message.settings_require_restart.restart_later"]},t=>{t=="restart_now"&&location.reload()})},old:{}},nne={settings:Zi,Setting:yt,SettingsProfile:Co,Settings:wi};Object.assign(window,nne);BARS.defineActions(()=>{new Action("about_window",{name:tl("dialog.settings.about")+"...",description:`Blockbench ${Blockbench.version}`,icon:"info",category:"blockbench",click:function(){let i={isApp:!1,version_label:Blockbench.version};jQuery.ajax({url:"https://api.github.com/repos/JannisX11/blockbench/releases/latest",cache:!1,type:"GET",success(e){let t=e.tag_name.replace(/^v/,""),n=vo.format(Blockbench.version);switch(vo.compare(Blockbench.version,t)){case 1:i.version_label=`${n} (Pre-release)`;break;case 0:i.version_label=`${n} (${tl("about.version.up_to_date")}\u{1F604})`;break;case-1:i.version_label=`${n} (${tl("about.version.update_available",[t])})`;break}},error(e){}}),new Dialog({id:"about",title:"dialog.settings.about",width:640,title_menu:new Menu(["settings_window","keybindings_window","theme_window","about_window"]),buttons:[],component:{data(){return i},template:`
<div>
<div class="blockbench_logo" id="about_page_title">
<img src="assets/logo_text_white.svg" alt="Blockbench" width="340px">
</div>
<p>Version <span>{{ version_label }}</span></p>
<div class="socials">
<a class="open-in-browser" href="https://blockbench.net">
<i class="icon icon-blockbench_inverted" style="transform: scale(1.3);"></i>
<label>Website</label>
</a>
<a class="open-in-browser" href="https://bsky.app/profile/blockbench.net">
<i class="icon fab fa-bluesky" style="color: #208bfe;"></i>
<label>Bluesky</label>
</a>
<a class="open-in-browser" href="https://twitter.com/blockbench">
<i class="icon fab fa-twitter" style="color: #1ea6ff;"></i>
<label>Twitter</label>
</a>
<a class="open-in-browser" href="http://discord.blockbench.net">
<i class="icon fab fa-discord" style="color: #5865F2;"></i>
<label>Discord</label>
</a>
<a class="open-in-browser" href="https://youtube.com/Blockbench3D">
<i class="icon fab fa-youtube"></i>
<label>YouTube</label>
</a>
<a class="open-in-browser" href="https://github.com/JannisX11/blockbench">
<i class="icon fab fa-github" style="color: #dddddd;"></i>
<label>GitHub</label>
</a>
<a class="open-in-browser" href="https://blockbench.net/wiki">
<i class="icon material-icons">menu_book</i>
<label>Wiki</label>
</a>
</div>
<p>Created by Jannis Petersen</p>
<p style="color: var(--color-subtle_text);">A free and open-source low-poly model editor. To make 3D art easy and accessible for everyone.
For all who enjoy stylized 3D art. For game developers, students, content creators, and for the Minecraft community.</p>
<h4>SPECIAL THANKS TO</h4>
<ul class="multi_column_list special_thanks_mentions">
<li>Mojang Studios</li>
<li>All contributors</li>
<li>The community moderators</li>
<li>All donators</li>
<li>All translators</li>
<li>Wacky</li>
<li>Ewan Howell and Lukas</li>
<li>SirBenet</li>
<li>Sultan Taha and Kanno</li>
<li>The Blockbench Community</li>
</ul>
<h4>FRAMEWORKS, LIBRARIES, AND ICONS</h4>
<p style="margin-bottom: 16px" v-if="isApp">This program is powered by <a class="open-in-browser" href="https://electronjs.org">Electron</a></p>
<ul class="multi_column_list">
<li><a class="open-in-browser" href="https://material.io/icons/">Material Icons</a></li>
<li><a class="open-in-browser" href="https://fontawesome.com/icons/">Font Awesome</a></li>
<li><a class="open-in-browser" href="https://github.com/microsoft/vscode-codicons">VSCode Codicons</a></li>
<li><a class="open-in-browser" href="https://electronjs.org">Electron</a></li>
<li><a class="open-in-browser" href="https://vuejs.org">Vue</a></li>
<li><a class="open-in-browser" href="https://github.com/weibangtuo/vue-tree">Vue Tree</a></li>
<li><a class="open-in-browser" href="https://github.com/sagalbot/vue-sortable">Vue Sortable</a></li>
<li><a class="open-in-browser" href="https://threejs.org">ThreeJS</a></li>
<li><a class="open-in-browser" href="https://github.com/lo-th/fullik">Full IK</a></li>
<li><a class="open-in-browser" href="https://bgrins.github.io/spectrum">Spectrum</a></li>
<li><a class="open-in-browser" href="https://github.com/stijlbreuk/vue-color-picker-wheel">Vue Color Picker Wheel</a></li>
<li><a class="open-in-browser" href="https://github.com/jnordberg/gif.js">gif.js</a></li>
<li><a class="open-in-browser" href="https://github.com/mattdesl/gifenc">gifenc</a></li>
<li><a class="open-in-browser" href="https://stuk.github.io/jszip/">JSZip</a></li>
<li><a class="open-in-browser" href="https://github.com/rotemdan/lzutf8.js">LZ-UTF8</a></li>
<li><a class="open-in-browser" href="https://jquery.com">jQuery</a></li>
<li><a class="open-in-browser" href="https://jqueryui.com">jQuery UI</a></li>
<li><a class="open-in-browser" href="https://github.com/furf/jquery-ui-touch-punch">jQuery UI Touch Punch</a></li>
<li><a class="open-in-browser" href="https://github.com/eligrey/FileSaver.js">FileSaver.js</a></li>
<li><a class="open-in-browser" href="https://github.com/AndrewRayCode/easing-utils">easing-utils</a></li>
<li><a class="open-in-browser" href="https://peerjs.com">PeerJS</a></li>
<li><a class="open-in-browser" href="https://github.com/markedjs/marked">Marked</a></li>
<li><a class="open-in-browser" href="https://github.com/cure53/DOMPurify">DOMPurify</a></li>
<li><a class="open-in-browser" href="https://prismjs.com">Prism</a></li>
<li><a class="open-in-browser" href="https://github.com/akalverboer/canvas2apng">Canvas2APNG</a></li>
<li><a class="open-in-browser" href="https://github.com/lunapaint/tga-codec">lunapaint/tga-codec</a></li>
<li><a class="open-in-browser" href="https://github.com/koca/vue-prism-editor">Vue Prism Editor</a></li>
<li><a class="open-in-browser" href="https://github.com/JannisX11/molangjs">MolangJS</a></li>
<li><a class="open-in-browser" href="https://github.com/JannisX11/wintersky">Wintersky</a></li>
</ul>
<p style="margin-top: 20px">Released under the <a class="open-in-browser" href="https://github.com/JannisX11/blockbench/blob/master/LICENSE.MD">GPL 3.0 license</a></p>
<p><a class="open-in-browser" href="https://www.blockbench.net/privacy-policy">Privacy Policy</a></p>
</div>`}}).show()}})});var Tn={get open(){return Tn.vue._data.open},set open(i){Tn.vue._data.open=!!i},type:"action_selector",recently_used:[],max_length:32,max_recently_used:8,select(i){Tn.open=!0,open_interface=Tn,Tn.vue._data.index=0,Tn.vue.updateSearch(),i&&(Tn.vue.search_input=i),Vue.nextTick(e=>{let t=$("#action_selector > input");t.trigger("focus"),i||t.trigger("select")});for(let e in settings){let t=settings[e];t.type=="toggle"&&(t.icon=t.value?"check_box":"check_box_outline_blank")}},show(...i){return this.select(...i)},hide(){open_interface==Tn&&(open_interface=!1),Tn.recent_in_streamer_mode=!1,Tn.open=!1},confirm(i){var e=Tn.vue._data,t=e.list[e.index];Tn.hide(),t&&Tn.trigger(t,i)},cancel(){Tn.hide()},trigger(i,e){if(i.id=="action_control"&&($("body").effect("shake"),Blockbench.showQuickMessage("Congratulations! You have discovered recursion!",3e3)),i instanceof BarSelect)i.open({target:Tn.vue.$el.childNodes[2]});else if(i.type=="recent_project")Blockbench.read([i.description],{},t=>{loadModelFile(t[0])});else if(i.type=="project_tab")ModelProject.all.find(t=>t.uuid==i.uuid).select();else if(i.type=="profile"){let t=SettingsProfile.all.find(n=>n.uuid==i.uuid);t?t.select():SettingsProfile.unselect()}else if(i.type=="plugin"){let t=Plugins.all.find(n=>n.uuid==i.uuid);t.installed?t.uninstall():t.install()}else i.trigger(e);i instanceof BarItem&&this.addRecentlyUsed(i)},click(i,e){Tn.trigger(i,e),Tn.hide()},handleKeys(i){var e=Tn.vue._data;i.altKey&&Tn.vue.$forceUpdate();function t(){Vue.nextTick(()=>{let n=document.querySelector("#action_selector_list ul"),a=n&&n.children[e.index];if(a){var o=$(n).offset().top,r=$(a).offset().top;r<o?n.scrollTop+=r-o:r>n.clientHeight+o-20&&(n.scrollTop+=r-(n.clientHeight+o)+30)}})}if(i.which===38)e.index--,e.index<0&&(e.index=e.length-1),t();else if(i.which===40)e.index++,e.index>=e.length&&(e.index=0),t();else return!1;return!0},addRecentlyUsed(i){i.id!="action_control"&&(Tn.recently_used.remove(i.id),Tn.recently_used.splice(0,0,i.id),Tn.recently_used.length>Tn.max_recently_used&&Tn.recently_used.pop(),localStorage.setItem("action_control_recently_used",Tn.recently_used.join(",")))}};if(localStorage.getItem("action_control_recently_used")){let i=localStorage.getItem("action_control_recently_used").split(",");Tn.recently_used.push(...i.filter(e=>e))}BARS.defineActions(function(){new Action("action_control",{icon:"play_arrow",category:"blockbench",keybind:new Keybind({key:"f"}),click:function(){Tn.select()}}),Tn.vue=new Vue({el:"#action_selector",data:{open:!1,search_input:"",index:0,length:0,search_types:{"":{name:tl("action.action_control"),icon:"play_arrow"},setting:{name:tl("data.setting"),icon:"settings"},settings:{name:tl("data.setting"),icon:"settings"},profile:{name:tl("data.settings_profile"),icon:"manage_accounts"},"+plugin":{name:tl("action.add_plugin"),icon:"extension"},"-plugin":{name:tl("action.remove_plugin"),icon:"extension_off"},recent:{name:tl("menu.file.recent"),icon:"history"},tab:{name:tl("menu.action_control.type.tab"),icon:"view_stream"},angle:{name:tl("menu.action_control.type.angle"),icon:"videocam"}},list:[]},computed:{search_type(){if(this.search_input.search(/:/)>0){let[i]=this.search_input.split(/:\s*(.*)/);if(i=i.toLowerCase(),this.search_types[i])return i}return""}},methods:{updateSearch(){var i=this._data.list.empty(),e=this.search_type.toLowerCase(),t=this._data.search_input.toLowerCase();if(t=t.replace(e+":","").trim(),!e&&t)for(let n in this.search_types)n!="setting"&&n.includes(t)&&i.push({name:this.search_types[n].name,icon:this.search_types[n].icon,keybind_label:`${n}:`,trigger:()=>{Tn.select(n&&n+": ")}});if(!e){let a=Tn.recently_used.map(o=>BarItems[o]).filter(o=>o).concat(Keybinds.actions);for(let o of a)if((t.length==0||o.name.toLowerCase().includes(t)||o.id.toLowerCase().includes(t))&&(o instanceof Action||o instanceof BarSelect)&&Condition(o.condition)&&!o.linked_setting&&(i.safePush(o),i.length>Tn.max_length))break}if((!e||e=="settings"||e=="setting")&&i.length<=Tn.max_length)for(let n in settings){let a=settings[n];if((t.length==0||a.name.toLowerCase().includes(t)||n.toLowerCase().includes(t))&&Condition(a.condition)&&(i.push(a),i.length>Tn.max_length))break}if(e=="tab"){for(let n of ModelProject.all)if((t.length==0||n.name.toLowerCase().includes(t)||n.geometry_name.toLowerCase().includes(t))&&(i.push({name:n.getDisplayName(!0),icon:n.format.icon,description:n.path,keybind_label:Modes.options[n.mode].name,uuid:n.uuid,type:"project_tab"}),i.length>Tn.max_length))break}if(e=="profile"){i.push({name:tl("generic.none"),icon:SettingsProfile.selected?"far.fa-circle":"far.fa-dot-circle",type:"profile"});for(let n of SettingsProfile.all)if(n.condition.type==="selectable"&&(t.length==0||n.name.toLowerCase().includes(t))&&(i.push({name:n.name,icon:n.selected?"far.fa-dot-circle":"far.fa-circle",color:markerColors[n.color%markerColors.length].standard,uuid:n.uuid,type:"profile"}),i.length>Tn.max_length))break}if(e.substr(1)=="plugin"){for(let n of Plugins.all)if(n.installed==(e[0]=="-")&&(t.length==0||n.name.toLowerCase().includes(t)||n.description.toLowerCase().includes(t))){let a=n.icon;if(n.hasImageIcon()&&(a=document.createElement("img"),a.classList.add("icon"),a.src=n.getIcon()),i.push({name:n.name,icon:a,description:n.description,keybind_label:n.author,id:n.id,uuid:n.uuid,type:"plugin"}),i.length>Tn.max_length)break}}if(e=="angle"){let n=Preview.prototype.menu.structure.find(a=>a.id=="angle").children(Preview.selected);for(let a of n){if(typeof a!="object")continue;let o=tl(a.name);if((t.length==0||o.toLowerCase().includes(t)||a.id&&a.id.toLowerCase().includes(t))&&(i.push({name:o,icon:a.icon,color:a.color,type:"angle",trigger(){Preview.selected.loadAnglePreset(a.preset)}}),i.length>Tn.max_length))break}}return this._data.length=i.length,this._data.index<0&&(this._data.index=0),this._data.index>=i.length&&(this._data.index=i.length-1),i},subtext(){let i=this.list[this.index];return Pressing.alt?i instanceof Setting?i.type=="select"?i.options[i.value]:i.value:i.keybind?.label??"":i.description},openTypeMenu(){let i=[];for(let e in this.search_types)e!="setting"&&i.push({name:this.search_types[e].name,icon:this.search_types[e].icon,click:()=>{this.search_input=e&&e+": ",Vue.nextTick(t=>{$("#action_selector > input").trigger("focus")})}});new Menu(i).show(this.$refs.search_type_menu)},click:Tn.click,getIconNode:Blockbench.getIconNode},watch:{search_input(){this.updateSearch()}},template:`
<dialog id="action_selector" v-if="open">
<div class="tool" ref="search_type_menu" @click="openTypeMenu($event)">
<dynamic-icon :icon="search_types[search_type] ? search_types[search_type].icon : 'fullscreen'" />
</div>
<input type="text" v-model="search_input" inputmode="search" @input="e => search_input = e.target.value" autocomplete="off" autosave="off" autocorrect="off" spellcheck="false" autocapitalize="off">
<i class="material-icons" id="action_search_bar_icon" @click="search_input = ''">{{ search_input ? 'clear' : 'search' }}</i>
<div v-if="search_type" class="action_selector_type_overlay">{{ search_type }}:</div>
<div id="action_selector_list">
<ul>
<li v-for="(item, i) in list"
:class="{selected: i === index}"
:title="item.description"
@click="click(item, $event)"
@mousemove="index = i"
>
<dynamic-icon :icon="item.icon" :color="item.color" />
<span>{{ item.name }}</span>
<label class="keybinding_label">{{ item.keybind_label || (item.keybind ? item.keybind.label : '') }}</label>
</li>
</ul>
<div class="small_text" v-if="list[index]">{{ subtext() }}</div>
</div>
</dialog>
`})});Object.assign(window,{ActionControl:Tn});var Gb=class i{constructor(){this.index=0,this.history=[]}startChange(e){!e&&this.amend_edit_menu&&this.closeAmendEditMenu()}initEdit(e,t=!1){return e&&e.cubes&&(console.warn('Aspect "cubes" is deprecated. Please use "elements" instead.'),e.elements=e.cubes),this.startChange(t),this.current_save=new i.save(e),e.selection&&(this.current_selection_save=new i.selectionSave(typeof e.selection=="object"?typeof e.selection:0)),Blockbench.dispatchEvent("init_edit",{aspects:e,amended:t,save:this.current_save}),this.current_save}finishEdit(e,t){if(t&&t.cubes&&(console.warn('Aspect "cubes" is deprecated. Please use "elements" instead.'),t.elements=t.cubes),!!this.current_save){t=t||this.current_save.aspects,Blockbench.dispatchEvent("finish_edit",{aspects:t,message:e});var n={before:this.current_save,post:new i.save(t),action:e,type:"edit",time:Date.now()};if(t.selection&&this.current_selection_save){let a=typeof t.selection=="object"?t.selection:this.current_selection_save.aspects,o=this.current_selection_save,r=new i.selectionSave(a);o.matches(r)||(n.selection_before=o,n.selection_post=r)}if((n.before._groups||n.post._groups)&&(console.warn("Group undo issue, potentially edited groups without tracking changes correctly in undo. Tracking all selected group changes as a fail-safe."),n.before.groups=n.before._groups??[],n.post.groups=n.post._groups??[]),this.history.length>this.index&&(this.history.length=this.index),delete this.current_save,this.history.push(n),this.history.length>settings.undo_limit.value&&this.history.shift(),this.index=this.history.length,Collection.all.length){let a=[];t.elements&&a.push(...t.elements),t.groups&&a.push(...t.groups);let o=n.before.aspects;o&&o!=t&&(o.elements&&a.push(...o.elements),o.groups&&a.push(...o.groups));for(let r of Collection.all)a.some(s=>s.scope==r.scope)&&(r.saved=!1)}return(!t||!t.keep_saved)&&(Project.saved=!1),Blockbench.dispatchEvent("finished_edit",{aspects:t,message:e}),Project.EditSession&&Project.EditSession.active&&Project.EditSession.sendEdit(n),n}}initSelection(e){if(!(!settings.undo_selections.value||Blockbench.hasFlag("loading_selection_save")||Project.EditSession)&&!this.current_selection_save)return this.current_selection_save=new i.selectionSave(e),Blockbench.dispatchEvent("init_selection_change",{aspects:e,save:this.current_selection_save}),this.current_selection_save}finishSelection(e,t){if(!settings.undo_selections.value||Blockbench.hasFlag("loading_selection_save")||Project.EditSession||!this.current_selection_save)return;t=t||this.current_selection_save.aspects;let n=this.current_selection_save,a=new i.selectionSave(t);if(n.matches(a)){this.cancelSelection();return}Blockbench.dispatchEvent("finish_selection_change",{aspects:t});var o={selection_before:n,selection_post:a,action:e,type:"selection",time:Date.now()};return this.history.length>this.index&&(this.history.length=this.index),delete this.current_selection_save,this.history.push(o),this.history.length>settings.undo_limit.value&&this.history.shift(),this.index=this.history.length,Blockbench.dispatchEvent("finished_selection_change",{aspects:t}),o}cancelEdit(e=!1){this.current_save&&(this.startChange(),e&&(Canvas.outlines.children.empty(),this.loadSave(this.current_save,new i.save(this.current_save.aspects))),delete this.current_save)}cancelSelection(e=!1){let t=this.current_selection_save;e&&t.load(new i.save(t.aspects)),delete this.current_selection_save,Blockbench.dispatchEvent("cancel_selection_change",{selection_before:t})}closeAmendEditMenu(){this.amend_edit_menu&&(this.amend_edit_menu.node.remove(),delete this.amend_edit_menu)}amendEdit(e,t){let n=document.createElement("div");n.id="amend_edit_menu",this.amend_edit_menu={node:n,form:null};let a=document.createElement("div");a.append(Blockbench.getIconNode("clear")),a.className="amend_edit_close_button",a.title=tl("dialog.close"),a.addEventListener("click",r=>{Undo.closeAmendEditMenu()}),n.append(a),this.amend_edit_menu.form=new InputForm(e),this.amend_edit_menu.form.on("change",({result:r})=>{if(Undo.history.length!=Undo.index){console.error("Detected error in amending edit. Skipping this edit.");return}Undo.undo(null,!0),t(r,this.amend_edit_menu.form)}),n.append(this.amend_edit_menu.form.node),document.getElementById("preview").append(n)}addKeyframeCasualties(e){!e||e.length==0||(this.current_save.keyframes||(this.current_save.keyframes={animation:Animation.selected.uuid}),e.forEach(t=>{this.current_save.affected=!0,this.current_save.keyframes[t.uuid]=t.getUndoCopy()}))}undo(e,t){if(this.startChange(t),!(this.history.length<=0||this.index<1)){Project.saved=!1,this.index--;var n=this.history[this.index];n.before&&this.loadSave(n.before,n.post),n.selection_before instanceof i.selectionSave&&n.selection_before.load(n.selection_post),Project.EditSession&&e!==!0&&n.type!="selection"&&Project.EditSession.sendAll("command","undo"),Blockbench.dispatchEvent("undo",{entry:n})}}redo(e,t){if(this.startChange(t),!(this.history.length<=0)&&!(this.index>=this.history.length)){Project.saved=!1;var n=this.history[this.index];this.index++,n.post&&this.loadSave(n.post,n.before),n.selection_post instanceof i.selectionSave&&n.selection_post.load(n.selection_before),Project.EditSession&&e!==!0&&n.type!="selection"&&Project.EditSession.sendAll("command","redo"),Blockbench.dispatchEvent("redo",{entry:n})}}remoteEdit(e){this.loadSave(e.post,e.before,"session"),e.save_history!==!1&&(delete this.current_save,this.history.push(e),this.history.length>settings.undo_limit.value&&this.history.shift(),this.index=this.history.length,Project.saved=!1,Blockbench.dispatchEvent("finished_edit",{remote:!0}))}getItemByUUID(e,t){if(!e||typeof e!="object"||!e.length)return!1;for(var n=0;n<e.length;){if(e[n].uuid===t)return e[n];n++}return!1}loadSave(e,t,n){e instanceof i.save||(e=new i.save().fromJSON(e)),e.load(t,n)}};Gb.save=class{constructor(i){i&&this.fromState(i)}fromJSON(i){return Object.assign(this,i),this}fromState(i){var e=this;if(this.aspects=i,this.mode=Modes.selected.id,i.elements&&(this.elements={},i.elements.forEach(function(t){e.elements[t.uuid]=t.getUndoCopy(i)})),i.outliner&&(this.outliner=Outliner.toJSON()),i.groups)this.groups=i.groups.map(t=>t.getChildlessCopy(!0));else if(i.group)this.groups=[i.group.getChildlessCopy(!0)];else if(i.outliner&&i.groups!=null&&(Undo.current_save?Undo.current_save._groups:Group.first_selected)){let t=Undo.current_save?Undo.current_save.aspects._groups.filter(n=>Group.all.includes(n)):Group.all.filter(n=>n.selected);this._groups=t.map(n=>n.getChildlessCopy(!0)),i._groups=t}return i.collections&&(this.collections={},i.collections.forEach(t=>{let n=t.getUndoCopy();this.collections[t.uuid]=n})),i.textures&&(this.textures={},i.textures.forEach(t=>{let n=t.getUndoCopy(i.bitmap);this.textures[t.uuid]=n})),i.texture_groups&&(this.texture_groups={},i.texture_groups.forEach(t=>{let n=t.getUndoCopy();this.texture_groups[t.uuid]=n})),i.layers&&(this.layers={},i.layers.forEach(t=>{let n=t.getUndoCopy(i.bitmap);this.layers[t.uuid]=n})),i.texture_order&&Texture.all.length&&(this.texture_order=[],Texture.all.forEach(t=>{this.texture_order.push(t.uuid)})),i.selected_texture&&Texture.all.length&&(this.selected_texture=Texture.selected?Texture.selected.uuid:null),i.settings&&(this.settings=i.settings),i.uv_mode&&(this.uv_mode={box_uv:Project.box_uv,width:Project.texture_width,height:Project.texture_height}),i.animations&&(this.animations={},i.animations.forEach(t=>{e.animations[t.uuid]=t.getUndoCopy()})),i.keyframes&&Animation.selected&&Timeline.animators.length&&(this.keyframes={animation:Animation.selected.uuid},i.keyframes.forEach(t=>{e.keyframes[t.uuid]=t.getUndoCopy()})),i.animation_controllers&&(this.animation_controllers={},i.animation_controllers.forEach(t=>{e.animation_controllers[t.uuid]=t.getUndoCopy()})),i.animation_controller_state&&(this.animation_controller_state=i.animation_controller_state.getUndoCopy(),this.animation_controller_state.controller=i.animation_controller_state.controller?.uuid),i.display_slots&&(e.display_slots={},i.display_slots.forEach(t=>{Project.display_settings[t]?e.display_slots[t]=Project.display_settings[t].copy():e.display_slots[t]=null})),i.exploded_view!==void 0&&(this.exploded_view=!!i.exploded_view),Blockbench.dispatchEvent("create_undo_save",{save:this,aspects:i}),this}load(i,e){let t=e==="session",n=this;if(this.mode&&Modes.options[this.mode]&&Modes.selected.id!=this.mode&&e!="session"&&Modes.options[this.mode].select(),this.uv_mode&&(Project.box_uv=this.uv_mode.box_uv,Project.texture_width=this.uv_mode.width,Project.texture_height=this.uv_mode.height,Canvas.updateAllUVs()),this.elements){for(let m in this.elements){let _=this.elements[m],f=OutlinerNode.uuids[m];if(f)if(f instanceof SplineMesh)f.overwrite(_),f.preview_controller.updateAll(f);else{for(let g in f.faces)f.faces[g].reset();f.extend(_),f.preview_controller.updateAll(f)}else f=OutlinerElement.fromSave(_,!0)}for(let m in i.elements)if(i.elements.hasOwnProperty(m)&&!this.elements.hasOwnProperty(m)){let _=OutlinerNode.uuids[m];_&&(_.children instanceof Array&&_.children.empty(),_.remove())}Canvas.updateVisibility()}if(this.groups){Group.multi_selected.empty();for(let m of this.groups){let _=OutlinerNode.uuids[m.uuid];_?(t&&delete m.isOpen,_.extend(m),Format.bone_rig&&_.forEachChild(function(f){f.preview_controller&&f.preview_controller.updateTransform(f)}),_.preview_controller.updateAll(_)):_=new Group(m,m.uuid).init(),m.primary_selected&&_.multiSelect()}for(let m of i.groups)if(!this.groups.find(_=>_.uuid==m.uuid)){let _=OutlinerNode.uuids[m.uuid];_&&(_.children.empty(),_.remove())}}if(this.outliner){if(Outliner.loadJSON(this.outliner),t){let m=function(_){_.forEach(f=>{delete f.isOpen,f.children&&m(f.children)})};m(this.outliner)}Format.bone_rig&&Canvas.updateAllPositions()}if(this.collections){for(let m in this.collections){let _,f=this.collections[m];i.collections[m]?(_=Collection.all.find(v=>v.uuid==m),_&&_.extend(f)):_=new Collection(f,m).add();let g=Collection.all.indexOf(_);g!=-1&&g!=f.index&&typeof f.index=="number"&&(Collection.all.remove(_),Collection.all.splice(f.index,0,_))}for(let m in i.collections)if(!this.collections[m]){let _=Collection.all.find(f=>f.uuid==m);_&&Collection.all.remove(_)}}if(this.texture_groups){for(let m in this.texture_groups){let _,f=this.texture_groups[m];i.texture_groups[m]?(_=TextureGroup.all.find(v=>v.uuid==m),_&&_.extend(f)):_=new TextureGroup(f,m).add(!1);let g=TextureGroup.all.indexOf(_);g!=-1&&g!=f.index&&typeof f.index=="number"&&(TextureGroup.all.remove(_),TextureGroup.all.splice(f.index,0,_))}for(let m in i.texture_groups)if(!this.texture_groups[m]){let _=TextureGroup.all.find(f=>f.uuid==m);_&&TextureGroup.all.remove(_)}}if(this.textures){Painter.current={};for(var a in this.textures)if(i.textures[a]){var o=Texture.all.find(m=>m.uuid==a);if(o){var r=o.mode!==this.textures[a].mode;o.extend(this.textures[a]),o.source_overwritten&&this.textures[a].image_data&&o.convertToInternal(this.textures[a].image_data),o.layers_enabled&&o.updateLayerChanges(!0),o.updateSource(),o.keep_size=!0,(r||i.textures[a]===!0)&&o.load(),o.syncToOtherProject()}}else{var o=new Texture(this.textures[a],a);o.load().add(!1)}for(var a in i.textures)if(!this.textures[a]){var o=Texture.all.find(f=>f.uuid==a);o&&Texture.all.splice(Texture.all.indexOf(o),1),Texture.selected==o&&(Texture.selected=void 0,Blockbench.dispatchEvent("update_texture_selection"))}Canvas.updateAllFaces(),updateInterfacePanels(),UVEditor.vue.updateTexture()}if(this.layers){let m=[];for(let _ in this.layers)if(i.layers[_]){let f=Texture.all.find(v=>v.uuid==this.layers[_].texture),g=f&&f.layers.find(v=>v.uuid==_);g&&(g.extend(this.layers[_]),m.safePush(f))}m.forEach(_=>{_.updateLayerChanges(!0),_.updateSource(),_.keep_size=!0,_.syncToOtherProject()}),Canvas.updateAllFaces(),UVEditor.vue.updateTexture()}if(this.texture_order&&(Texture.all.sort((m,_)=>this.texture_order.indexOf(m.uuid)-this.texture_order.indexOf(_.uuid)),Canvas.updateLayeredTextures()),this.selected_texture){let m=Texture.all.find(_=>_.uuid==this.selected_texture);m instanceof Texture&&m.select()}else this.selected_texture===null&&unselectTextures();if(this.settings)for(var s in this.settings)settings[s].value=this.settings[s];if(this.animations){for(var a in this.animations){var l=i.animations&&i.animations[a]?Undo.getItemByUUID(Animator.animations,a):null;l||(l=new Animation,l.uuid=a),l.extend(this.animations[a]).add(!1),this.animations[a].selected&&l.select()}for(var a in i.animations)if(!this.animations[a]){var l=Undo.getItemByUUID(Animator.animations,a);l&&l.remove(!1)}}if(this.animation_controllers){for(var a in this.animation_controllers){var c=i.animation_controllers&&i.animation_controllers[a]?Undo.getItemByUUID(AnimationController.all,a):null;c||(c=new AnimationController,c.uuid=a),c.extend(this.animation_controllers[a]).add(!1),this.animation_controllers[a].selected&&c.select()}for(var a in i.animation_controllers)if(!this.animation_controllers[a]){var c=Undo.getItemByUUID(AnimationController.all,a);c&&c.remove(!1)}}if(this.animation_controller_state){let m=AnimationController.all.find(f=>this.animation_controller_state.controller==f.uuid),_=m&&m.states.find(f=>f.uuid==this.animation_controller_state.uuid);_&&_.extend(this.animation_controller_state)}if(this.keyframes){var l=Animation.selected;if((!l||l.uuid!==this.keyframes.animation)&&(l=Animator.animations.findInArray("uuid",this.keyframes.animation),l.select&&Animator.open&&t&&l.select()),l){let _=function(f,g){for(var v=0;v<g.keyframes.length;){if(g.keyframes[v].uuid===f)return g.keyframes[v];v++}};for(var a in this.keyframes)if(a.length===36&&this.keyframes.hasOwnProperty(a)){var d=this.keyframes[a],u=l.animators[d.animator];if(!u)continue;var p=_(a,u);p?p.extend(d):u.addKeyframe(d,a)}for(var a in i.keyframes)if(a.length===36&&i.keyframes.hasOwnProperty(a)&&!this.keyframes.hasOwnProperty(a)){var d=i.keyframes[a],u=l.animators[d.animator];if(!u)continue;var p=_(a,u);p&&p.remove()}updateKeyframeSelection()}}if(this.display_slots)for(let m in this.display_slots){let _=this.display_slots[m];!Project.display_settings[m]&&_?Project.display_settings[m]=new DisplaySlot(m):_===null&&Project.display_settings[m]&&Project.display_settings[m].default(),Project.display_settings[m]&&Project.display_settings[m].extend(_).update()}this.exploded_view!==void 0&&(Project.exploded_view=BarItems.explode_skin_model.value=this.exploded_view,BarItems.explode_skin_model.updateEnabledState()),Blockbench.dispatchEvent("load_undo_save",{save:this,reference:i,mode:e}),updateSelection(),(this.outliner||this.groups?.length)&&Format.bone_rig&&Canvas.updateAllBones(),this.outliner&&Format.per_group_texture&&Canvas.updateAllFaces(),Modes.animate&&Animator.preview()}addTexture(i){this.textures&&this.aspects.textures.safePush(i)&&(this.textures[i.uuid]=i.getUndoCopy(this.aspects.bitmap))}addTextureOrLayer(i){if(i.layers_enabled&&i.layers[0]){let e=i.getActiveLayer();this.aspects.layers||(this.aspects.layers=[]),this.aspects.layers.safePush(e)&&(this.layers||(this.layers={}),this.layers[e.uuid]=e.getUndoCopy(this.aspects.bitmap))}else this.aspects.textures||(this.aspects.textures=[]),this.aspects.textures.safePush(i)&&(this.textures||(this.textures={}),this.textures[i.uuid]=i.getUndoCopy(this.aspects.bitmap))}addElements(i,e={}){this.elements||(this.elements={}),i.forEach(t=>{this.elements[t.uuid]=t.getUndoCopy(e)})}};Gb.selectionSave=class{constructor(i=0){this.aspects=i,this.elements=Outliner.selected.map(e=>e.uuid),this.groups=Group.multi_selected.map(e=>e.uuid),this.geometry={},this.mode=Modes.selected.id,this.mesh_selection_mode=BarItems.selection_mode.value;for(let e of Outliner.selected)e instanceof Mesh&&(this.geometry[e.uuid]={faces:e.getSelectedFaces().slice(),edges:e.getSelectedEdges().map(t=>t.slice()),vertices:e.getSelectedVertices().slice()}),e instanceof SplineMesh?this.geometry[e.uuid]={vertices:e.getSelectedVertices().slice()}:e.getTypeBehavior("select_faces")&&!e.box_uv&&(this.geometry[e.uuid]={faces:UVEditor.getSelectedFaces(e).slice()});if(Texture.selected&&(this.texture=Texture.selected?.uuid,i.texture_selection&&UVEditor.texture)){let e=UVEditor.texture.selection;e.is_custom?this.texture_selection=new Int8Array(e.array):this.texture_selection=e.override}if(Modes.animate&&AnimationItem.selected&&(this.animation_item=AnimationItem.selected.uuid),Modes.animate&&Animation.selected){this.timeline={};let e=Object.keys(Animation.selected.animators);for(let t of Timeline.animators){let n=e.find(a=>Animation.selected.animators[a]==t);this.timeline[n]={selected:t.selected,keyframes:t.keyframes.filter(a=>a.selected).map(a=>a.uuid)}}this.graph_editor_channel=Timeline.vue.graph_editor_channel,this.graph_editor_axis=Timeline.vue.graph_editor_axis,this.graph_editor_open=Timeline.vue.graph_editor_open}}load(i){if(Blockbench.addFlag("loading_selection_save"),this.mode&&Modes.options[this.mode]&&Modes.selected.id!=this.mode&&Modes.options[this.mode].select(),this.mesh_selection_mode&&BarItems.selection_mode.set(this.mesh_selection_mode),unselectAllElements(),this.elements&&Outliner.selected.replace(this.elements.map(e=>OutlinerNode.uuids[e]).filter(e=>e instanceof OutlinerElement)),this.groups)for(let e of this.groups){let t=OutlinerNode.uuids[e];t instanceof Group&&t.multiSelect()}if(this.geometry)for(let e in this.geometry){let t=this.geometry[e],n=OutlinerNode.uuids[e];n instanceof Mesh&&(n.getSelectedFaces(!0).replace(t.faces),n.getSelectedEdges(!0).replace(t.edges),n.getSelectedVertices(!0).replace(t.vertices)),n instanceof SplineMesh?n.getSelectedVertices(!0).replace(t.vertices):n.getTypeBehavior("select_faces")&&!n.box_uv&&UVEditor.getSelectedFaces(n,!0).replace(t.faces)}if(this.texture){let e=Texture.all.find(t=>t.uuid==this.texture);e&&e.select()}if(UVEditor.texture?.selection&&this.texture_selection!==void 0){let e=UVEditor.texture.selection;typeof this.texture_selection=="boolean"?e.setOverride(this.texture_selection):e.height*e.width==this.texture_selection.length&&(e.override=null,!e.array||e.array.length!=this.texture_selection.length?e.array=new Int8Array(this.texture_selection):e.array.set(this.texture_selection)),UVEditor.updateSelectionOutline()}if(Modes.animate&&this.animation_item){let e=AnimationItem.all.find(t=>t.uuid==this.animation_item);e&&e!=AnimationItem.selected&&e.select()}if(Modes.animate&&Animation.selected&&this.timeline){Timeline.animators.empty(),Keyframe.selected.forEach(e=>e.selected=!1),Keyframe.selected.empty();for(let e in this.timeline){let t=Animation.selected.animators[e];if(t){Timeline.animators.push(t),this.timeline[e].selected&&t.select();for(let n of this.timeline[e].keyframes){let a=t.keyframes.find(o=>o.uuid==n);a&&(Keyframe.selected.push(a),a.selected=!0)}}}Timeline.vue.graph_editor_channel=this.graph_editor_channel,Timeline.vue.graph_editor_axis=this.graph_editor_axis,Timeline.vue.graph_editor_open=this.graph_editor_open,updateKeyframeSelection()}updateSelection(),Blockbench.removeFlag("loading_selection_save")}matches(i){if(this.texture_selection)return!1;let e=(t,n)=>{if(typeof t!=typeof n||typeof t=="function")return!1;if(t instanceof Array&&n instanceof Array){if(t.length!=n.length)return!1;let a=0;for(let o of t){if(!e(o,n[a]))return!1;a++}return!0}if(typeof t=="object"){for(let a in t)if(!e(t[a],n[a]))return!1;return!0}return t==n};for(let t in this){if(t=="aspects")continue;if(e(this[t],i[t])==!1)return!1}return!0}};BARS.defineActions(function(){new Action("undo",{icon:"undo",category:"edit",condition:()=>Project,keybind:new Keybind({key:"z",ctrl:!0}),click(i){Project.undo.undo(i)}}),new Action("redo",{icon:"redo",category:"edit",condition:()=>Project,keybind:new Keybind({key:"y",ctrl:!0}),click(i){Project.undo.redo(i)}}),new Action("edit_history",{icon:"history",category:"edit",condition:()=>Project,click(){let i=[];Undo.history.forEachReverse((n,a)=>{a++;let o={name:n.action,time:new Date(n.time).toLocaleTimeString(),index:a,type:n.type,current:a==Undo.index};i.push(o)}),i.push({name:"Original",time:"",index:0,type:"original",current:Undo.index==0});let e=null,t=new Dialog({id:"edit_history",title:"action.edit_history",component:{data(){return{steps:i,selected:null,icons:{original:"draft",selection:"arrow_selector_tool",edit:"construction"}}},methods:{select(n){this.selected=e=n},confirm(){t.confirm()}},template:`
<div id="edit_history_list">
<ul>
<li v-for="step in steps" :class="{current: step.current, selected: step.index == selected}" @click="select(step.index)" @dblclick="confirm()">
<dynamic-icon :icon="icons[step.type]" />
<label>{{ step.name }}</label>
<div class="edit_history_time">{{ step.time }}</div>
</li>
</ul>
</div>
`},onConfirm(){if(e===null)return;let n=e-Undo.index;if(e<Undo.index)for(let a=0;a<-n;a++)Undo.undo();else if(e>Undo.index)for(let a=0;a<n;a++)Undo.redo()}}).show()}})});Object.defineProperty(window,"Undo",{get(){return Blockbench.Project?.undo}});Object.assign(window,{UndoSystem:Gb});Blockbench.queries={};var Xw=location.search||location.hash;Xw&&(Xw=decodeURIComponent(Xw.substring(1)),Xw.split("&").forEach(e=>{let[t,n]=e.split(/=\s*(.+)/);Blockbench.queries[t]=n||!0}));function ane(){$(document.body).on("click","a[href]",i=>{i.preventDefault(),window.open(i.currentTarget.href,"_blank")}),location.host=="blockbench-dev.netlify.app"&&$(`<a href="https://www.netlify.com/" style="padding: 10px; color: white; cursor: pointer; text-decoration: none; display: block;" target="_blank" rel="noopener">
Hosted by
<img src="./assets/netlify-full-logo-dark.svg" height="20px" style="vertical-align: text-top;">
</div>`).insertBefore("#start_files"),!Blockbench.isTouch&&!Blockbench.isPWA&&$("#web_download_button").show(),Blockbench.browser=="firefox"&&(document.body.style.imageRendering="crisp-edges")}addEventListener("load",function(){window.history.pushState({},"")});addEventListener("popstate",i=>{if(ModelProject.all.length!=0){if(open_interface)typeof open_interface.cancel=="function"?open_interface.cancel(event):typeof open_interface=="string"&&open_dialog&&$("dialog#"+open_dialog).find(".cancel_btn:not([disabled])").trigger("click");else if(Interface.tab_bar.new_tab.visible)Interface.tab_bar.new_tab.close();else if(open_menu)open_menu.hide();else if(Undo&&Undo.index)Undo.undo();else if(!Blockbench.isMobile)return;window.history.pushState({},"")}});try{window.matchMedia("(display-mode: standalone)").addEventListener("change",i=>{Blockbench.isMobile||$("#web_download_button").toggle(!i.matches)})}catch{Blockbench.isMobile||$("#web_download_button").hide()}async function one(){if(Blockbench.queries.session&&(EditSession.token=Blockbench.queries.session,BarItems.edit_session.click()),Blockbench.queries.plugins){let e=Blockbench.queries.plugins.split(/,/).map(t=>Plugins.all.find(n=>n.id==t)).filter(t=>t instanceof Plugin&&t.installed==!1&&t.isInstallable()==!0);e.length&&await new Promise(t=>{let n={info:{type:"info",text:"dialog.load_plugins_from_query.text"}};e.forEach(a=>{n[a.id.replace(/\./g,"_")]={type:"checkbox",label:a.name,description:a.description,value:!0}}),new Dialog({id:"load_plugins_from_query",title:"dialog.load_plugins_from_query.title",form:n,buttons:["dialog.plugins.install","dialog.cancel"],onConfirm:async function(a){let o=[];e.forEach(r=>{a[r.id.replace(/\./g,"_")]&&o.push(r.download())}),await Promise.all(o),t()},onCancel(){t()}}).show()})}if(Blockbench.queries.m)$.getJSON(`https://blckbn.ch/api/models/${Blockbench.queries.m}`,(i,e)=>{Codecs.project.load(i,{path:""})}).fail(()=>{Blockbench.showMessageBox({title:"message.invalid_link",message:tl("message.invalid_link.message",["`"+Blockbench.queries.m+"`"]),icon:"running_with_errors"})});else if(Blockbench.queries.loadtype){let i={content:Blockbench.queries.loaddata,name:Blockbench.queries.loadname||"file",path:Blockbench.queries.loadname||"file"};switch(Blockbench.queries.loadtype){case"minecraft_skin":{Formats.skin.setup_dialog.show(),Formats.skin.setup_dialog.setFormValues({texture:i});break}case"image":{loadImages([i]);break}case"json":{loadModelFile(i);break}}}}window.onbeforeunload=function(){if(ModelProject.all.find(e=>!e.saved))return"Unsaved Changes";Blockbench.dispatchEvent("before_closing"),Project.EditSession&&Project.EditSession.quit()};var Jw=null;Object.assign(window,{initializeWebApp:ane,loadInfoFromURL:one});var yo={db:null,initialize(){let i=indexedDB.open("auto_backups",1);i.onerror=function(e){console.error("Failed to load backup database",e)},i.onblocked=function(e){console.error("Another instance of Blockbench is opened, the backup database cannot be upgraded at the moment")},i.onupgradeneeded=function(){let t=i.result.createObjectStore("projects",{keyPath:"uuid"}),n=localStorage.getItem("backup_model");if(n){let a=JSON.parse(n);for(let o in a){let r=JSON.stringify(a[o]);t.put({uuid:o,data:r})}console.log(`Upgraded ${Object.keys(a).length} project back-ups to indexedDB`)}},i.onsuccess=async function(){if(yo.db=i.result,await yo.hasBackups()){let t=Yc("recover_backup",{graphic:{type:"icon",icon:"fa-archive"},insert_before:"start_files",text:[{type:"h3",text:tl("message.recover_backup.title")},{type:"p",text:tl("message.recover_backup.message")},{type:"button",text:tl("message.recover_backup.recover"),click:n=>{yo.recoverAllBackups(!0).then(()=>{t.delete()})}},{type:"button",text:tl("dialog.discard"),click:n=>{yo.removeAllBackups(),t.delete()}}]})}yo.backupProjectLoop(!1)}},async backupOpenProject(){if(!Project)return;let i=yo.db.transaction("projects","readwrite"),e=i.objectStore("projects"),t=Codecs.project.compile({compressed:!1,backup:!0,raw:!0}),n=JSON.stringify(t),a={uuid:Project.uuid,data:n,name:Project.name,date:Math.round(Date.now()/1e3)};e.put(a),await new Promise(o=>{i.oncomplete=o})},async hasBackups(){let e=yo.db.transaction("projects","readonly").objectStore("projects");return await new Promise(t=>{let n=e.count();n.onsuccess=function(){t(!!n.result)},n.onerror=function(a){console.error(a),t(!1)}})},recoverAllBackups(i=!1){return new Promise((e,t)=>{let o=yo.db.transaction("projects","readonly").objectStore("projects").getAll();o.onsuccess=async function(){let r=o.result;if(i&&r.length>1){let s={info:{text:"\u26A0 Recovering models is only a backup. Please remember to always save your work to your device.",type:"info"}},l=[];r.sort((c,d)=>(d.date??0)-(c.date??0));for(let c of r){let d=c.name??tl("message.recover_backup.unknown_project"),u;if(c.date){let p=Rm(c.date*1e3);d+=` (${p.short})`,u=p.full}s[c.uuid]={label:d,description:u,type:"checkbox",value:!0},l.push(c.uuid)}s.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(c){let d={};l.forEach(u=>d[u]=c==0),Dialog.open.setFormValues(d)}},s.delete_others={type:"checkbox",label:"message.recover_backup.discard_others",value:!1},r=await new Promise((c,d)=>{let p=new Dialog({id:"recover_backup",title:"message.recover_backup.title",form:s,onConfirm(m){let _=[];for(let f of r)m[f.uuid]?_.push(f):m[f.uuid]==!1&&m.delete_others&&yo.removeBackup(f.uuid);c(_)}}).show().object.querySelector(".dialog_content");p&&(p.style.maxHeight=window.innerHeight-150+"px")})}r.sort((s,l)=>(s.date??0)-(l.date??0));for(let s of r)try{let l=JSON.parse(s.data);setupProject(Formats[l.meta.model_format]||Formats.free,s.uuid),Codecs.project.parse(l,"backup.bbmodel"),await new Promise(c=>setTimeout(c,40))}catch(l){console.error(l)}e()},o.onerror=function(r){console.error(r),t(r)}})},async removeBackup(i){let n=yo.db.transaction("projects","readwrite").objectStore("projects").delete(i);return await new Promise((a,o)=>{n.onsuccess=a,n.onerror=function(r){o()}})},async removeAllBackups(){let t=yo.db.transaction("projects","readwrite").objectStore("projects").clear();return await new Promise((n,a)=>{t.onsuccess=n,t.onerror=function(o){console.error(o),a()}})},loop_timeout:null,backupProjectLoop(i=!0){if(i&&Project&&(Outliner.root.length||Project.textures.length))try{yo.backupOpenProject()}catch(t){console.error("Unable to create backup. ",t)}let e=settings.recovery_save_interval.value;e!=0&&(e=Math.max(e,5),yo.loop_timeout=setTimeout(()=>yo.backupProjectLoop(!0),e*1e3))}},rne={AutoBackup:yo};Object.assign(window,rne);function sne(){localStorage.getItem("settings")!=null&&(wi.stored=JSON.parse(localStorage.getItem("settings"))),new yt("language",{value:"en",type:"select",requires_restart:!0,options:Language.options}),new yt("username",{value:"",type:"text"}),new yt("streamer_mode",{value:!1,onChange(){StartScreen.vue._data.redact_names=settings.streamer_mode.value,Interface.status_bar.vue.$data.streamer_mode=settings.streamer_mode.value,d2()}}),new yt("classroom_mode",{value:!1,requires_restart:!0}),new yt("cdn_mirror",{value:!1}),new yt("recovery_save_interval",{value:30,type:"number",min:0,onChange(){clearTimeout(yo.loop_timeout),yo.backupProjectLoop(!1)}}),new yt("interface_mode",{category:"interface",value:"auto",requires_restart:!0,type:"select",options:{auto:tl("settings.interface_mode.auto"),desktop:tl("settings.interface_mode.desktop"),mobile:tl("settings.interface_mode.mobile")}}),new yt("interface_scale",{category:"interface",value:100,min:40,max:200,type:"number",condition:!1,onChange(){var i=Math.clamp(settings.interface_scale.value,40,200)/100;null.webContents.setZoomFactor(i),resizeWindow()}}),new yt("hide_tab_bar",{category:"interface",value:Blockbench.isMobile,onChange(){updateTabBarVisibility()}}),new yt("mobile_panel_side",{category:"interface",value:"right",condition:Blockbench.isMobile,type:"select",options:{right:tl("generic.right"),left:tl("generic.left")},onChange(){document.body.classList.toggle("mobile_sidebar_left",settings.mobile_panel_side.value=="left")}}),new yt("status_bar_modifier_keys",{category:"interface",value:!0,condition:!Blockbench.isTouch,onChange(i){Interface.status_bar.vue.show_modifier_keys=i}}),new yt("status_bar_transform_sliders",{category:"interface",value:!0,condition:Blockbench.isTouch,onChange(i){updateInterface()}}),new yt("always_show_splash_art",{category:"interface",value:!0}),new yt("origin_size",{category:"interface",value:10,type:"number",min:2,max:40}),new yt("control_size",{category:"interface",value:10,type:"number",min:2,max:40}),new yt("motion_trails",{category:"interface",value:!0,onChange(){Animator.open&&(Canvas.scene[this.value?"add":"remove"](Animator.motion_trail),Animator.showMotionTrail(null,!0),Animator.preview())}}),new yt("seethrough_outline",{category:"interface",value:!1,onChange(i){Canvas.outlineMaterial.depthTest=!i,Canvas.meshOutlineMaterial.depthTest=!i}}),new yt("outliner_colors",{category:"interface",value:!0}),new yt("preview_checkerboard",{category:"interface",value:!0,onChange(){$("#center").toggleClass("checkerboard",settings.preview_checkerboard.value)}}),new yt("uv_checkerboard",{category:"interface",value:!0,onChange(i){UVEditor.vue.checkerboard=i}}),new yt("display_uv",{category:"interface",value:"selected_elements",type:"select",options:{selected_faces:"settings.display_uv.selected_faces",selected_elements:"settings.display_uv.selected_elements",all_elements:"settings.display_uv.all_elements"},onChange(i){BarItems.edit_mode_uv_overlay.value=i=="all_elements",BarItems.edit_mode_uv_overlay.updateEnabledState()}}),new yt("timecode_frame_number",{category:"interface",value:!1,onChange(){Timeline.vue.updateTimecodes()}}),new yt("only_selected_bezier_handles",{category:"interface",value:!1,onChange(i){Timeline.vue.show_all_handles=!i}}),new yt("autocomplete_code",{category:"interface",value:!0}),new yt("brightness",{category:"preview",value:50,type:"number",min:0,max:400,onChange(){Canvas.updateShading()}}),new yt("shading",{category:"preview",value:!0,onChange(){Canvas.updateShading()}}),new yt("antialiasing",{category:"preview",value:!0,requires_restart:!0}),new yt("antialiasing_bleed_fix",{category:"preview",value:!0,requires_restart:!0}),new yt("fov",{category:"preview",value:45,type:"number",min:1,max:120,onChange(i){Preview.all.forEach(e=>e.setFOV(i))}}),new yt("camera_near_plane",{category:"preview",value:1,type:"number",min:.01,max:100,onChange(i){Preview.all.forEach(e=>{e.camPers.near=i,e.camPers.updateProjectionMatrix()})}}),new yt("render_sides",{category:"preview",value:"auto",type:"select",options:{auto:tl("settings.render_sides.auto"),front:tl("settings.render_sides.front"),double:tl("settings.render_sides.double")},onChange(){Canvas.updateRenderSides()}}),new yt("tone_mapping",{category:"preview",value:"none",type:"select",options:{none:tl("generic.none"),linear:"Linear",reinhard:"Reinhard",cineon:"Cineon",aces_filmic:"ACES Filmic",agx:"AgX",neutral:"Neutral"},onChange(){for(let i of Preview.all)i.updateToneMapping();Canvas.updateShading();for(let i of PreviewModel.getActiveModels())i.material.needsUpdate=!0}}),new yt("fps_limit",{category:"preview",value:144,min:10,max:1024,type:"number"}),new yt("background_rendering",{category:"preview",value:!0}),new yt("flipbook_textures_in_animation",{category:"preview",value:!0}),new yt("particle_tick_rate",{category:"preview",value:30,type:"number",min:1,max:1e3,onChange(){WinterskyScene.global_options.tick_rate=this.value}}),new yt("volume",{category:"preview",value:80,min:0,max:200,type:"number"}),new yt("audio_scrubbing",{category:"preview",value:!0}),new yt("save_view_per_tab",{category:"preview",value:!0}),new yt("display_skin",{category:"preview",value:!1,type:"click",icon:"icon-player",click:function(){changeDisplaySkin()}}),new yt("viewport_rotate_speed",{category:"controls",value:100,min:10,max:1e3,type:"number",onChange(i){Preview.all.forEach(e=>e.controls.rotateSpeed=i/100)}}),new yt("viewport_zoom_speed",{category:"controls",value:100,min:10,max:1e3,type:"number",onChange(i){Preview.all.forEach(e=>e.controls.zoomSpeed=i/100*1.5)}}),new yt("editor_2d_zoom_speed",{category:"controls",value:100,min:10,max:1e3,type:"number"}),new yt("gamepad_controls",{category:"controls",value:!1,name:"Gamepad Controls",description:"Use a gamepad or 3D mouse to navigate the viewport"}),new yt("double_click_switch_tools",{category:"controls",value:!0}),new yt("canvas_unselect",{category:"controls",value:!1}),new yt("double_click_select_reference",{category:"controls",value:!0}),new yt("selection_tolerance",{category:"controls",value:10,type:"number",min:1,max:50}),new yt("undo_selections",{category:"edit",value:!1}),new yt("undo_limit",{category:"edit",value:256,type:"number",min:1}),new yt("highlight_cubes",{category:"edit",value:!0,onChange(){updateCubeHighlights()}}),new yt("outliner_reveal_on_select",{category:"edit",value:!0}),new yt("allow_display_slot_mirror",{category:"edit",value:!1,onChange(i){DisplayMode.vue.allow_mirroring=i}}),new yt("local_position_values",{category:"edit",value:!1}),new yt("transform_cube_from_center",{category:"edit",value:!1}),new yt("deactivate_size_limit",{category:"edit",value:!1}),new yt("modded_entity_integer_size",{category:"edit",value:!0}),new yt("vertex_merge_distance",{category:"edit",value:.1,step:.01,type:"number",min:0}),new yt("preview_paste_behavior",{category:"edit",value:"always_ask",type:"select",options:{always_ask:tl("settings.preview_paste_behavior.always_ask"),outliner:tl("menu.paste.outliner"),face:tl("menu.paste.face"),mesh_selection:tl("menu.paste.mesh_selection")}}),new yt("stretch_linked",{category:"edit",value:!0}),new yt("auto_keyframe",{category:"edit",value:!0}),new yt("detect_flipbook_textures",{category:"edit",value:!0}),new yt("color_picker_style",{category:"paint",value:"box",type:"select",options:{box:"menu.color_picker.picker_type.square",wheel:"menu.color_picker.picker_type.wheel",normal:"menu.color_picker.picker_type.normal"},onChange(i){Interface.Panels.color.vue.picker_type=i}}),new yt("brush_cursor_2d",{category:"paint",value:!0}),new yt("brush_cursor_3d",{category:"paint",value:!0,onChange(i){i||scene.remove(Canvas.brush_outline)}}),new yt("outlines_in_paint_mode",{category:"paint",value:!0}),new yt("move_with_selection_tool",{category:"paint",value:!0}),new yt("pick_color_opacity",{category:"paint",value:!1}),new yt("pick_combined_color",{category:"paint",value:!1}),new yt("color_picker_tool_switch",{category:"paint",value:!0}),new yt("paint_through_transparency",{category:"paint",value:!0}),new yt("paint_side_restrict",{category:"paint",value:!0}),new yt("limit_brush_opacity_per_stroke",{category:"paint",value:!0}),new yt("paint_with_stylus_only",{category:"paint",value:!1}),new yt("brush_opacity_modifier",{category:"paint",value:"none",type:"select",options:{pressure:tl("settings.brush_modifier.pressure"),tilt:tl("settings.brush_modifier.tilt"),none:tl("settings.brush_modifier.none")}}),new yt("brush_size_modifier",{category:"paint",value:"none",type:"select",options:{pressure:tl("settings.brush_modifier.pressure"),tilt:tl("settings.brush_modifier.tilt"),none:tl("settings.brush_modifier.none")}}),new yt("image_editor",{category:"paint",value:!1,type:"click",launch_setting:!0,condition:!1,icon:"fas.fa-pen-square",click:function(){Jw(null)}}),new yt("grids",{category:"grid",value:!0,onChange(){Canvas.buildGrid()}}),new yt("base_grid",{category:"grid",value:!0,onChange(){Canvas.buildGrid()}}),new yt("large_grid",{category:"grid",value:!0,onChange(){Canvas.buildGrid()}}),new yt("full_grid",{category:"grid",value:!1,onChange(){Canvas.buildGrid()}}),new yt("large_box",{category:"grid",value:!1,onChange(){Canvas.buildGrid()}}),new yt("large_grid_size",{category:"grid",value:3,type:"number",min:0,max:2e3,onChange(){Canvas.buildGrid()}}),new yt("pixel_grid",{category:"grid",value:!1,onChange(i){Canvas.updatePixelGrid(),UVEditor.vue.pixel_grid=i}}),new yt("painting_grid",{category:"grid",value:!0,onChange(i){Canvas.updatePixelGrid(),UVEditor.vue.pixel_grid=i}}),new yt("image_editor_grid_size",{category:"grid",type:"number",value:16,onChange(){UVEditor.vue.zoom+=.01,UVEditor.vue.zoom-=.01}}),new yt("ground_plane",{category:"grid",value:!1,onChange(){Canvas.ground_plane.visible=this.value}}),new yt("ground_plane_double_side",{category:"grid",value:!1,onChange(){Canvas.groundPlaneMaterial.side=this.value?THREE.DoubleSide:THREE.FrontSide}}),new yt("edit_size",{category:"snapping",value:16,type:"number",min:1,max:8192,onChange(){Canvas.buildGrid()}}),new yt("shift_size",{category:"snapping",value:64,type:"number",min:1,max:8192}),new yt("ctrl_size",{category:"snapping",value:160,type:"number",min:1,max:8192}),new yt("ctrl_shift_size",{category:"snapping",value:640,type:"number",min:1,max:8192}),new yt("negative_size",{category:"snapping",value:!1}),new yt("nearest_rectangle_select",{category:"snapping",value:!1}),new yt("default_cube_size",{category:"defaults",value:2,type:"number",min:0,max:32}),new yt("autouv",{category:"defaults",value:!0}),new yt("inherit_parent_color",{category:"defaults",value:!1}),new yt("create_rename",{category:"defaults",value:!1}),new yt("default_path",{category:"defaults",value:!1,type:"click",condition:!1,icon:"burst_mode",click:function(){openDefaultTexturePath()}}),new yt("default_bedrock_format",{category:"defaults",type:"select",value:"entity",options:{entity:"format.bedrock",block:"format.bedrock_block"}}),new yt("default_java_block_version",{category:"defaults",type:"select",value:"latest",options:{latest:"Latest","1.21.6":"1.21.6 - 1.21.10","1.9.0":"1.9 - 1.21.5"}}),new yt("animation_snap",{category:"defaults",value:24,type:"number"}),new yt("default_keyframe_interpolation",{category:"defaults",value:"linear",type:"select",options:{linear:"action.keyframe_interpolation.linear",catmullrom:"action.keyframe_interpolation.catmullrom",bezier:"action.keyframe_interpolation.bezier",step:"action.keyframe_interpolation.step"}}),new yt("uniform_keyframe",{category:"defaults",value:!0}),new yt("dialog_larger_cubes",{category:"dialogs",value:!0,name:tl("message.model_clipping.title"),description:tl("settings.dialog.desc",[tl("message.model_clipping.title")])}),new yt("dialog_rotation_limit",{category:"dialogs",value:!0,name:tl("message.rotation_limit.title"),description:tl("settings.dialog.desc",[tl("message.rotation_limit.title")])}),new yt("dialog_loose_texture",{category:"dialogs",value:!0,name:tl("message.loose_texture.title"),description:tl("settings.dialog.desc",[tl("message.loose_texture.title")])}),new yt("dialog_invalid_characters",{category:"dialogs",value:!0,name:tl("message.invalid_characters.title"),description:tl("settings.dialog.desc",[tl("message.invalid_characters.title")])}),new yt("dialog_save_codec",{category:"dialogs",value:!0,name:tl("message.save_codec_selector.title"),description:tl("settings.dialog.desc",[tl("message.save_codec_selector.title")])}),new yt("recent_projects",{category:"application",value:32,max:256,min:0,type:"number",condition:!1}),new yt("backup_interval",{category:"application",value:10,type:"number",min:0,condition:!1}),new yt("backup_retain",{category:"application",value:30,type:"number",min:0,condition:!1}),new yt("automatic_updates",{category:"application",value:!0,condition:!1}),new yt("update_to_prereleases",{category:"application",value:!1,condition:!1,launch_setting:!0}),new yt("hardware_acceleration",{category:"application",value:!0,requires_restart:!0,condition:!1,launch_setting:!0}),new yt("json_indentation",{category:"export",value:"tabs",type:"select",options:{tabs:tl("settings.json_indentation.tabs"),spaces_4:tl("settings.json_indentation.spaces_4"),spaces_2:tl("settings.json_indentation.spaces_2")}}),new yt("final_newline",{category:"export",value:!1}),new yt("minifiedout",{category:"export",value:!1}),new yt("export_asset_paths",{category:"export",condition:!1,value:"relative",type:"select",options:{relative:tl("settings.export_asset_paths.relative"),absolute:tl("settings.export_asset_paths.absolute"),both:tl("settings.export_asset_paths.both"),none:tl("settings.export_asset_paths.none")}}),new yt("embed_textures",{category:"export",value:!0}),new yt("minify_bbmodel",{category:"export",value:!0}),new yt("export_empty_groups",{category:"export",value:!0}),new yt("export_groups",{category:"export",value:!0}),new yt("java_export_pivots",{category:"export",value:!0}),new yt("optifine_save_default_texture",{category:"export",value:!0}),new yt("obj_face_export_mode",{category:"export",value:"both",type:"select",options:{both:tl("settings.obj_face_export_mode.both"),tris:tl("settings.obj_face_export_mode.tris"),quads:tl("settings.obj_face_export_mode.quads")}}),new yt("animation_sample_rate",{category:"export",value:24,type:"number",min:1,max:640}),new yt("model_export_scale",{category:"export",value:16,type:"number",min:1e-4,max:4096}),new yt("sketchfab_token",{category:"export",value:"",type:"password"}),new yt("credit",{category:"export",value:"Made with Blockbench",type:"text"}),Blockbench.onUpdateTo("5.0.0",()=>{settings.antialiasing_bleed_fix.set(!0)}),setTimeout(()=>{Preview.selected&&Preview.selected.renderer.capabilities.isWebGL2==!1&&(settings.antialiasing_bleed_fix.set(!1),console.warn("Downgrading settings to support WebGL 1"))},4*1e3)}function lne(){localStorage.getItem("settings_profiles")!=null&&JSON.parse(localStorage.getItem("settings_profiles")).forEach(e=>{let t=new Co(e);e.selected&&t.select(!1)}),wi.profile_menu_button=document.getElementById("settings_profiles_header_menu"),wi.profile_menu_button.addEventListener("click",i=>{let e=[{name:"generic.none",icon:Co.selected?"far.fa-circle":"far.fa-dot-circle",click:()=>{Co.unselect()}},"_"];Co.all.forEach(t=>{t.condition.type=="selectable"&&e.push({name:t.name,icon:t.selected?"far.fa-dot-circle":"far.fa-circle",color:markerColors[t.color].standard,click:()=>{t.select()}})}),new Menu(e).open(wi.profile_menu_button)}),wi.profile_menu_button.setAttribute("title",tl("data.settings_profile")),wi.updateProfileButton()}function d2(){$("#start_screen section#streamer_mode").detach(),settings.streamer_mode.value&&Yc("streamer_mode",{graphic:{type:"icon",icon:"live_tv"},color:"var(--color-stream)",text_color:"var(--color-light)",text:[{type:"h2",text:tl("interface.streamer_mode_on"),click(){wi.openDialog({search_term:tl("settings.streamer_mode")})}}]})}sne();lne();var It={dialog:null,Vue:null,installed:[],json:void 0,download_stats:{},all:[],registered:{},currently_loading:"",loading_promise:null,api_path:Zi.cdn_mirror.value?"https://blckbn.ch/cdn/plugins":"https://cdn.jsdelivr.net/gh/JannisX11/blockbench-plugins/plugins",path:"",devReload(){let i=0;for(let e=It.all.length-1;e>=0;e--){let t=It.all[e];t.source=="file"&&t.isReloadable()&&(It.all[e].reload(),i++)}he.showQuickMessage(tl("message.plugin_reload",[i])),console.log("Reloaded "+i+" plugin"+pluralS(i))},sort(){It.all.sort((i,e)=>{if(i.tags.find(n=>n.match(/deprecated/i)))return 1;if(e.tags.find(n=>n.match(/deprecated/i)))return-1;let t=(It.download_stats[e.id]||0)-(It.download_stats[i.id]||0);return t||$A.compare(i.title,e.title)})}};Ba.init("installed_plugins","array");It.installed=Ba.installed_plugins=Ba.installed_plugins.filter(i=>i&&typeof i=="object");var u2=0,nl,qb,p2,m2,sf=class sf{constructor(e="unknown",t){Mp(this,nl);W(this,"id");W(this,"installed");W(this,"title");W(this,"author");W(this,"description");W(this,"about");W(this,"icon");W(this,"tags");W(this,"dependencies");W(this,"contributors");W(this,"version");W(this,"variant");W(this,"min_version");W(this,"max_version");W(this,"deprecation_note");W(this,"path");W(this,"website");W(this,"repository");W(this,"bug_tracker");W(this,"source");W(this,"creation_date");W(this,"contributes");W(this,"await_loading");W(this,"has_changelog");W(this,"changelog");W(this,"about_fetched");W(this,"changelog_fetched");W(this,"disabled");W(this,"new_repository_format");W(this,"cache_version");W(this,"menu");W(this,"details");W(this,"uuid");W(this,"onload");W(this,"onunload");W(this,"oninstall");W(this,"onuninstall");this.uuid=guid(),this.id=e,this.installed=!1,this.path="",this.title="",this.author="",this.description="",this.about="",this.icon="",this.tags=[],this.dependencies=[],this.contributors=[],this.version="0.0.1",this.variant="both",this.min_version="",this.max_version="",this.deprecation_note="",this.website="",this.source="store",this.creation_date=0,this.contributes={},this.await_loading=!1,this.has_changelog=!1,this.changelog=null,this.details=null,this.about_fetched=!1,this.changelog_fetched=!1,this.disabled=!1,this.new_repository_format=!1,this.cache_version=0,this.extend(t),It.all.safePush(this)}extend(e){return e instanceof Object?(Merge.boolean(this,e,"installed"),Merge.string(this,e,"title"),Merge.string(this,e,"author"),Merge.string(this,e,"description"),Merge.string(this,e,"about"),Merge.string(this,e,"icon"),Merge.string(this,e,"version"),Merge.string(this,e,"variant"),Merge.string(this,e,"min_version"),Merge.string(this,e,"max_version"),Merge.string(this,e,"deprecation_note"),Merge.string(this,e,"website"),Merge.string(this,e,"repository"),Merge.string(this,e,"bug_tracker"),Merge.boolean(this,e,"await_loading"),Merge.boolean(this,e,"has_changelog"),Merge.boolean(this,e,"disabled"),e.creation_date&&(this.creation_date=Date.parse(e.creation_date)),e.tags instanceof Array&&this.tags.safePush(...e.tags.slice(0,3)),e.contributors instanceof Array&&this.contributors.safePush(...e.contributors),e.dependencies instanceof Array&&this.dependencies.safePush(...e.dependencies),e.new_repository_format&&(this.new_repository_format=!0),this.min_version!=""&&vo.compare(this.min_version,">=","4.8.0")&&(this.new_repository_format=!0),typeof e.contributes=="object"&&(this.contributes=e.contributes),Merge.function(this,e,"onload"),Merge.function(this,e,"onunload"),Merge.function(this,e,"oninstall"),Merge.function(this,e,"onuninstall"),this):this}get name(){return this.title}async install(){if(this.tags.includes("Deprecated")||this.deprecation_note){let e=tl("message.plugin_deprecated.message");if(this.deprecation_note&&(e+=`
*`+this.deprecation_note+"*"),await new Promise(n=>{he.showMessageBox({icon:"warning",title:this.title,message:e,cancelIndex:0,buttons:["dialog.cancel","message.plugin_deprecated.install_anyway"]},n)})==0)return}return u2++,u2>=12&&await new Promise(e=>he.showMessageBox({icon:"data_check",title:"data.plugin",message:`You have already installed ${u2} plugins in this session.
Please remember to check if you actually need a plugin before installing it. Running too many plugins can increase the chance of encountering compatibility issues or bugs.`},e)),await this.download(!0)}async load(e=!1,t){var n=this;return It.registered[this.id]=this,await new Promise((a,o)=>{let r=It.path+n.id+".js";this.new_repository_format&&(r=`${It.path}${n.id}/${n.id}.js`),pd(this,nl,p2).call(this,r).then(s=>{t&&t.bind(n)(),e&&(n.oninstall?.(),he.dispatchEvent("installed_plugin",{plugin:n}),he.showQuickMessage(tl("message.installed_plugin",[this.title]))),a()}).catch(s=>{e&&he.showQuickMessage(tl("message.installed_plugin_fail",[this.title])),o(),console.error(s)}),pd(this,nl,qb).call(this),n.installed=!0})}runOnLoad(){typeof this.unload=="function"&&(It.currently_loading=this.id,this.onload(),It.currently_loading="",he.dispatchEvent("loaded_plugin",{plugin:this}))}async installDependencies(e){let t=[];for(let n of this.dependencies){if(!e&&It.installed.find(r=>r.id==n))continue;let o=It.all.find(r=>r.id==n);if(o){o.installed==!1&&t.push(o);continue}t.push(n)}if(t.length){let n=t.find(r=>!r.isInstallable||r.isInstallable()!=!0);if(n){let r=n;return n instanceof sf&&(r=`**${n.title}**: ${n.isInstallable()}`),he.showMessageBox({title:"message.plugin_dependencies.title",message:`Updating **${this.title||this.id}**:
${tl("message.plugin_dependencies.invalid")}
${r}`}),!1}let a=t.map(r=>`**${r.title}** ${tl("dialog.plugins.author",[r.author])}`);if(!await new Promise(r=>{he.showMessageBox({title:"message.plugin_dependencies.title",message:`${tl("message.plugin_dependencies."+(e?"message1":"message1_update"),[this.title])}
* ${a.join(`
* `)}
${tl("message.plugin_dependencies.message2")}`,buttons:["dialog.continue",e?"dialog.cancel":"dialog.plugins.uninstall"],width:512},s=>{r(s==0)})}))return this.installed&&this.uninstall(),!1;for(let r of t)await r.install()}return!0}async download(e=!1){if(await this.installDependencies(e)==!1)return;var n=this;function a(){It.json[n.id]&&jQuery.ajax({url:"https://blckbn.ch/api/event/install_plugin",type:"POST",data:{plugin:n.id}})}return e&&a(),await n.load(e);async function o(r,s,l){var c=null.createWriteStream(PathModule.join(It.path,s));null.get(It.api_path+"/"+r,function(d){d.pipe(c),l&&d.on("end",l)})}}async loadFromFile(e,t=!1){var n=this;if(!t)return this;t&&!confirm(tl("message.load_plugin_web"))||(this.id=pathToName(e.path),It.registered[this.id]=this,It.all.safePush(this),this.source="file",this.tags.safePush("Local"),pd(this,nl,m2).call(this,e.content),t&&n.oninstall&&n.oninstall(),this.installed=!0,pd(this,nl,qb).call(this),It.sort())}async loadFromURL(e,t=!1){return t&&!confirm(tl("message.load_plugin_web"))?void 0:(this.id=pathToName(e),It.registered[this.id]=this,It.all.safePush(this),this.tags.safePush("Remote"),this.source="url",await pd(this,nl,p2).call(this,e).catch(async a=>{console.error(a)})&&(t&&this.oninstall&&this.oninstall(),this.installed=!0,this.path=e,pd(this,nl,qb).call(this),It.sort()),this)}uninstall(){try{this.unload(),this.onuninstall?.(),he.dispatchEvent("uninstalled_plugin",{plugin:this})}catch(t){console.error(`Error in unload or uninstall method of "${this.id}": `,t)}delete It.registered[this.id];let e=It.installed.find(t=>t.id==this.id);return It.installed.remove(e),Ba.save("installed_plugins"),this.installed=!1,this.disabled=!1,Ba.save("installed_plugins"),this}unload(){return this.onunload&&this.onunload(),he.dispatchEvent("unloaded_plugin",{plugin:this}),this}reload(){if(this.source=="file")return this;this.cache_version++,this.unload(),this.tags.empty(),this.contributors.empty(),this.dependencies.empty(),It.all.remove(this),this.details=null;let e=this.changelog_fetched;return this.changelog_fetched=!1,this.source=="file"?this.loadFromFile({path:this.path,name:this.path,content:""},!1):this.source=="url"&&this.loadFromURL(this.path,!1),this.fetchAbout(!0),e&&this.has_changelog&&this.fetchChangelog(!0),this}toggleDisabled(){if(this.disabled)this.runOnLoad(),this.disabled=!1;else{this.disabled=!0;try{this.unload()}catch(e){console.error(e)}}pd(this,nl,qb).call(this)}showContextMenu(e){sf.menu.open(e,this)}isReloadable(){return this.installed&&!this.disabled&&(this.source=="file"&&!1||this.source=="url")}isInstallable(){var e=this,t=e.variant==="both"||e.variant!=="desktop"&&e.variant==="web";return t&&e.min_version&&(t=he.isOlderThan(e.min_version)?"outdated_client":!0),t&&e.max_version&&(t=he.isNewerThan(e.max_version)?"outdated_plugin":!0),t===!1&&(t=e.variant==="web"?"web_only":"app_only"),t===!0?!0:tl("dialog.plugins."+t)}hasImageIcon(){return this.icon.endsWith(".png")||this.icon.endsWith(".svg")}getIcon(){return this.hasImageIcon()?`${It.api_path}/${this.id}/${this.icon}`:this.icon}async fetchAbout(e=!1){if((!this.about_fetched&&!this.about||e)&&this.new_repository_format){let t=`${It.api_path}/${this.id}/about.md`,n=await fetch(t).catch(()=>{console.error("about.md missing for plugin "+this.id)});n&&n.ok&&(this.about=await n.text()),this.about_fetched=!0}}async fetchChangelog(e=!1){if(!this.changelog_fetched&&!this.changelog||e){let t=function(o){let r={};return Object.keys(o).forEachReverse(s=>{r[s]=o[s]}),r},n=`${It.api_path}/${this.id}/changelog.json`,a=await fetch(n).catch(()=>{console.error("changelog.json missing for plugin "+this.id)});a&&a.ok&&(this.changelog=t(await a.json())),this.changelog_fetched=!0}}getPluginDetails(e=!1){if(this.details&&!e)return this.details;this.details={version:this.version,last_modified:"N/A",creation_date:"N/A",last_modified_full:"",creation_date_full:"",min_version:this.min_version?this.min_version+"+":"-",max_version:this.max_version||"",website:this.website||"",repository:this.repository||"",bug_tracker:this.bug_tracker||"",contributors:this.contributors.join(", "),author:this.author,variant:this.variant=="both"?"All":this.variant,permissions:"",weekly_installations:RA(It.download_stats[this.id]||0)};let t=(n,a,o)=>{let r=Rm(n,o);this.details[a]=r.short,this.details[a+"_full"]=r.full};if(this.source=="store"){this.details.bug_tracker||(this.details.bug_tracker=`https://github.com/JannisX11/blockbench-plugins/issues/new?title=[${this.title.replace(/[+&]/g,"and")}]`),this.details.repository||(this.details.repository=`https://github.com/JannisX11/blockbench-plugins/tree/master/plugins/${this.id+(this.new_repository_format?"":".js")}`);let a=`https://api.github.com/repos/JannisX11/blockbench-plugins/commits?path=plugins/${(this.new_repository_format?this.id+"/"+this.id:this.id)+".js"}`;fetch(a).catch(o=>{console.error("Cannot access commit info for "+this.id,o)}).then(async o=>{if(!o)return;let r=await o.json().catch(s=>console.error(s));!r||!r.length||(t(Date.parse(r[0].commit.committer.date),"last_modified",!0),this.creation_date||t(Date.parse(r.last().commit.committer.date),"creation_date",!1))})}return this.creation_date&&t(this.creation_date,"creation_date",!1),this.details}static register(e,t){if(typeof e!="string"||typeof t!="object"){console.warn("Plugin.register: not enough arguments, string and object required.");return}var n=It.registered[e];if(n||(n=It.registered.unknown,n&&(delete It.registered.unknown,n.id=e,It.registered[e]=n)),!n){he.showMessageBox({translateKey:"load_plugin_failed",message:tl("message.load_plugin_failed.message",[e])});return}return n.extend(t),n.isInstallable()==!0&&n.disabled==!1&&n.onload instanceof Function&&n.runOnLoad(),n}};nl=new WeakSet,qb=function(e=this.id,t=this.path){let n=It.installed.find(o=>o.id==this.id),a=!!n;return n||(n={}),n.id=e,n.version=this.version,n.path=t,n.source=this.source,n.disabled=this.disabled?!0:void 0,n.dependencies=this.dependencies?.length?this.dependencies.slice():void 0,a||It.installed.push(n),Ba.save("installed_plugins"),this},p2=async function(e){let t;if(e.startsWith("http")){if(!e.startsWith("https"))throw"Cannot load plugins over http: "+e;await new Promise((n,a)=>{$.ajax({cache:!1,url:e,success(o){t=o,n()},error(){a("Failed to load plugin "+this.id)}})})}else throw"Failed to load plugin: Unknown URL format";return pd(this,nl,m2).call(this,t),t},m2=function(e){if(typeof e!="string"||e.length<20)throw`Issue loading plugin "${this.id}": Plugin file empty`;try{let t=new Function("requireNativeModule","require",e+`
//# sourceURL=PLUGINS/(Plugin):${this.id}.js`),n=void 0;t(n,n)}catch(t){console.error(t)}},W(sf,"selected",null),W(sf,"menu",new Menu([new MenuSeparator("general"),{name:"generic.share",icon:"share",condition:e=>It.json[e.id],click(e){let t=`https://www.blockbench.net/plugins/${e.id}`;new sa("share_plugin",{title:tl("generic.share")+": "+e.title,icon:"extension",form:{link:{type:"text",value:t,readonly:!0,share_text:!0}}}).show()}},new MenuSeparator("installation"),{name:"dialog.plugins.install",icon:"add",condition:e=>!e.installed&&e.isInstallable()==!0,click(e){e.install()}},{name:"dialog.plugins.uninstall",icon:"delete",condition:e=>e.installed,click(e){e.uninstall()}},{name:"dialog.plugins.disable",icon:"bedtime",condition:e=>e.installed&&!e.disabled,click(e){e.toggleDisabled()}},{name:"dialog.plugins.enable",icon:"bedtime",condition:e=>e.installed&&e.disabled,click(e){e.toggleDisabled()}},{name:"dialog.plugins.revoke_permissions",icon:"key_off",condition:!1,click(e){let t=null(e);he.showQuickMessage(`Revoked ${t.length} permissions. Restart to apply`,2e3),e.getPluginDetails(!0)}},new MenuSeparator("developer"),{name:"dialog.plugins.reload",icon:"refresh",condition:e=>e.installed&&e.isReloadable(),click(e){e.reload()}},{name:"menu.animation.open_location",icon:"folder",condition:e=>!1,click(e){bn.showFileInFolder(e.path)}}]));var Jc=sf,cne=Jc;It.path=It.api_path+"/";It.loading_promise=new Promise((i,e)=>{$.ajax({cache:!1,url:It.api_path+".json",timeout:1e3*10,dataType:"json",success(n){It.json=n,i(),It.loading_promise=null},error(n,a){console.error("Could not connect to plugin server:",a,n),i(),It.loading_promise=null,Zi.cdn_mirror.value==!1&&navigator.onLine&&(Zi.cdn_mirror.set(!0),console.log("Switching to plugin CDN mirror. Restart to apply.")),It.dialog&&(It.dialog.content_vue&&(It.dialog.content_vue._data.network_error=n.status),It.dialog.component.data.network_error=n.status)}}),setTimeout(()=>{It.loading_promise&&console.warn("Connecting to plugin API is taking longer than expected. Plugins will not load until a connection is made or the request times out after 10 seconds.")},3e3)});$.getJSON("https://blckbn.ch/api/stats/plugins?weeks=2",i=>{It.download_stats=i,It.json&&It.sort()});async function S4(){It.loading_promise&&await It.loading_promise;let i=[],e=It.json instanceof Object&&navigator.onLine;if(e){for(let n in It.json)new Jc(n,It.json[n]);It.sort()}if(It.installed.length>0){let n=function(o,r){if(r>10){console.error(`Could not resolve plugin dependencies: Recursive dependency on plugin "${o.id}"`,o);return}for(let s of o.dependencies){let l=It.installed.find(u=>u.id==s),c=It.installed.indexOf(o),d=It.installed.indexOf(l);l&&d>c&&(It.installed.remove(l),It.installed.splice(c,0,l),l.dependencies?.length&&n(l,r+1))}},a=function(o){if(o.source=="file")if(0)var r;else It.installed.remove(o);else if(o.source=="url")if(o.path){var r=new Jc(o.id,{disabled:o.disabled});i.push(r.loadFromURL(o.path,!1)),t++,console.log(`\u{1F9E9}\u{1F310} Loaded plugin "${o.id||o.path}" from URL`)}else It.installed.remove(o);else if(e){let s=It.all.find(l=>l.id==o.id);if(s){s.installed=!0,o.disabled&&(s.disabled=!0);{let l=s.download();s.await_loading&&i.push(l)}t++,console.log(`\u{1F9E9}\u{1F6D2} Loaded plugin "${o.id}" from store`)}else It.json instanceof Object&&navigator.onLine&&It.installed.remove(o)}else It.installed.remove(o)};for(let o of It.installed.slice())if(o.dependencies?.length)try{n(o,0)}catch(r){console.error("Error resolving plugin dependencies",o.id,r)}var t=0;for(let o of It.installed.slice())try{a(o)}catch(r){console.error("Error loading installed plugin",o.id,r)}console.log(`Loaded ${t} plugin${pluralS(t)}`)}return Ba.save("installed_plugins"),i.forEach(n=>{n.catch(console.error)}),await Promise.allSettled(i)}BARS.defineActions(function(){let i=!1;It.dialog=new sa({id:"plugins",title:"dialog.plugins.title",buttons:[],width:1200,resizable:"xy",onOpen(){if(!i){let e=document.getElementById("plugins_list_main_bar"),t=new Action("plugins_window_menu",{private:!0,icon:"more_vert",click(n){let a="target"in n&&n.target;new Menu("plugin_browser",this.children).open(a)},children:["copy_installed_plugins","install_plugins_from_list"]});BarItems.load_plugin.toElement(e),BarItems.load_plugin_from_url.toElement(e),t.toElement(e),i=!0}},component:{data:{tab:"installed",page_tab:"about",search_term:"",items:It.all,selected_plugin:null,page:0,per_page:25,settings:Zi,isMobile:he.isMobile,isApp:!1,markerColors:rn,online:navigator.onLine,network_error:null},computed:{plugin_search(){let e=this.search_term.toUpperCase();if(e){let t=this.items.filter(o=>o.id.toUpperCase().includes(e)||o.title.toUpperCase().includes(e)||o.description.toUpperCase().includes(e)||o.author.toUpperCase().includes(e)||o.tags.find(r=>r.toUpperCase().includes(e))),n=t.filter(o=>o.installed),a=t.filter(o=>!o.installed);return n.concat(a)}else return this.items.filter(t=>this.tab=="installed"==t.installed)},suggested_rows(){let e=["Animation"];this.items.forEach(o=>{o.installed&&e.safePush(...o.tags)});let t=e.map(o=>{let r=this.items.filter(s=>!s.installed&&s.tags.includes(o)&&!s.tags.includes("Deprecated")).slice(0,12);return{title:o,plugins:r}}).filter(o=>o.plugins.length>2);t.sort(()=>Math.random()-.5);let n=Date.now()-36e5*24*28,a=this.items.filter(o=>!o.installed&&o.creation_date>n&&!o.tags.includes("Deprecated"));if(a.length){a.sort((r,s)=>r.creation_date-s.creation_date);let o={title:"New",plugins:a.slice(0,12)};t.splice(0,0,o)}return t.slice(0,3)},viewed_plugins(){return this.plugin_search.slice(this.page*this.per_page,(this.page+1)*this.per_page)},pages(){let e=[],t=this.plugin_search.length;for(let n=0;n*this.per_page<t;n++)e.push(n);return e},selected_plugin_settings(){if(!this.selected_plugin)return{};let e={};for(let t in this.settings)Zi[t].plugin==this.selected_plugin.id&&(e[t]=Zi[t]);return e}},methods:{setTab(e){this.tab=e,this.setPage(0)},setPage(e){this.page=e,this.$refs.plugin_list.scrollTop=0},selectPlugin(e){if(!e){this.selected_plugin=Jc.selected=null;return}e.fetchAbout(),this.selected_plugin=Jc.selected=e,!this.selected_plugin.installed&&this.page_tab=="settings"&&this.page_tab=="about",this.page_tab=="changelog"&&(e.has_changelog?e.fetchChangelog():this.page_tab=="about")},setPageTab(e){this.page_tab=e,this.page_tab=="changelog"&&this.selected_plugin.has_changelog&&this.selected_plugin.fetchChangelog()},showDependency(e){let t=It.all.find(n=>n.id==e);t&&this.selectPlugin(t)},getDependencyName(e){let t=It.all.find(n=>n.id==e);return t?t.title+(t.installed?" \u2713":""):e+" \u26A0"},isDependencyInstalled(e){let t=It.all.find(n=>n.id==e);return t&&t.installed},getTagClass(e){if(e.match(/^(local|remote)$/i))return"plugin_tag_source";if(e.match(/^minecraft/i))return"plugin_tag_mc";if(e.match(/^hytale/i))return"plugin_tag_hytale";if(e.match(/^deprecated/i))return"plugin_tag_deprecated"},formatAbout(e){return pureMarked(e)},reduceLink(e){return e=e.replace("https://","").replace(/\/$/,""),e.length>50?e.substring(0,50)+"...":e},printDate(e){return Rm(e).short},printDateFull(e){return Rm(e,!1).full},formatChangelogLine(e){let t=[],n=0;for(let o of e.matchAll(/\[.+?\]\(.+?\)/g)){let r=o[0].search(/\]\(/),s=o[0].substring(1,r),l=o[0].substring(r+2,o[0].length-1),c=Interface.createElement("a",{href:l,title:l},s);t.push(e.substring(n,o.index)),t.push(c),n=o.index+o[0].length}return t.push(e.substring(n)),Interface.createElement("p",{},t.filter(o=>o)).innerHTML},changePluginSetting(e){setTimeout(()=>{typeof e.onChange=="function"&&e.onChange(e.value),wi.saveLocalStorages()},20)},openSettingInSettings(e,t){wi.openDialog({search_term:e,profile:t})},settingContextMenu(e,t){new Menu([{name:"dialog.settings.reset_to_default",icon:"replay",click:()=>{e.ui_value=e.default_value,wi.saveLocalStorages()}}]).open(t)},getProfileValuesForSetting(e){return Co.all.filter(t=>t.settings[e]!==void 0)},getPluginFeatures(e){let t=[],n=[];for(let p in Formats)Formats[p].plugin==e.id&&n.push(Formats[p]);n.length&&t.push({id:"formats",name:tl("data.format"),features:n.map(p=>({id:p.id,name:p.name,icon:p.icon,description:p.description,click:p.show_on_start_screen&&(()=>{sa.open.close(),Xc.open(),Xc.vue.loadFormat(p)})}))});let a=[];for(let p in zs.loaders)zs.loaders[p].plugin==e.id&&a.push(zs.loaders[p]);a.length&&t.push({id:"loaders",name:tl("format_category.loaders"),features:a.map(p=>({id:p.id,name:p.name,icon:p.icon,description:p.description,click:p.show_on_start_screen&&(()=>{sa.open.close(),Xc.open(),Xc.vue.loadFormat(p)})}))});let o=[];for(let p in Codecs)Codecs[p].plugin==e.id&&o.push(Codecs[p]);o.length&&t.push({id:"codecs",name:"Codec",features:o.map(p=>({id:p.id,name:p.name,icon:p.export_action?p.export_action.icon:"save",description:p.export_action?p.export_action.description:""}))});let r=Keybinds.actions.filter(p=>p.plugin==e.id),s=r.filter(p=>p instanceof Tool),l=r.filter(p=>!(p instanceof Tool));s.length&&t.push({id:"tools",name:tl("category.tools"),features:s.map(p=>({id:p.id,name:p.name,icon:p.icon,description:p.description,extra_info:p.keybind.label,click:Condition(p.condition)&&(()=>{ActionControl.select(p.name)})}))}),l.length&&t.push({id:"actions",name:"Action",features:l.map(p=>({id:p.id,name:p.name,icon:p.icon,description:p.description,extra_info:p.keybind.label,click:Condition(p.condition)&&(()=>{ActionControl.select(p.name)})}))});let c=[];for(let p in zn)zn[p].plugin==e.id&&c.push(zn[p]);c.length&&t.push({id:"panels",name:tl("data.panel"),features:c.map(p=>({id:p.id,name:p.name,icon:p.icon}))});let d=[];for(let p in Zi)Zi[p].plugin==e.id&&d.push(Zi[p]);d.length&&t.push({id:"settings",name:tl("data.setting"),features:d.map(p=>({id:p.id,name:p.name,icon:p.icon,click:()=>{this.page_tab="settings"}}))});let u=Validator.checks.filter(p=>p.plugin==e.id);return u.length&&t.push({id:"validator_checks",name:"Validator Check",features:u.map(p=>({id:p.id,name:p.name,icon:"task_alt"}))}),t},getIconNode:he.getIconNode,pureMarked,capitalizeFirstLetter,tl,Condition},mount_directly:!0,template:`
<content style="display: flex;" class="dialog_content">
<div id="plugin_browser_sidebar" v-show="!isMobile || !selected_plugin">
<div class="bar flex" id="plugins_list_main_bar">
<div class="tool" v-if="!isMobile" @click="selectPlugin(null);"><i class="material-icons icon">home</i></div>
<search-bar id="plugin_search_bar" v-model="search_term" @input="setPage(0)"></search-bar>
</div>
<div class="tab_bar" v-if="!search_term">
<div :class="{open: tab == 'installed'}" @click="setTab('installed')">${tl("dialog.plugins.installed")}</div>
<div :class="{open: tab == 'available'}" @click="setTab('available')">${tl("dialog.plugins.available")}</div>
</div>
<ul class="list" :class="{paginated_list: pages.length > 1}" id="plugin_list" ref="plugin_list">
<li v-for="plugin in viewed_plugins" :plugin="plugin.id" :class="{plugin: true, testing: plugin.fromFile, selected: plugin == selected_plugin, disabled_plugin: plugin.disabled, installed_plugin: plugin.installed, disabled_plugin: plugin.disabled, incompatible: plugin.isInstallable() !== true}" @click="selectPlugin(plugin)" @contextmenu="selectPlugin(plugin); plugin.showContextMenu($event)">
<div>
<div class="plugin_icon_area">
<img v-if="plugin.hasImageIcon()" :src="plugin.getIcon()" width="48" height="48px" />
<dynamic-icon v-else :icon="plugin.icon" />
</div>
<div>
<div class="title">{{ plugin.title || plugin.id }}</div>
<div class="author">{{ tl('dialog.plugins.author', [plugin.author]) }}</div>
</div>
<div v-if="plugin.installed && search_term" class="plugin_installed_tag">\u2713 ${tl("dialog.plugins.is_installed")}</div>
</div>
<div class="description">{{ plugin.description }}</div>
<ul class="plugin_tag_list">
<li v-for="tag in plugin.tags" :class="getTagClass(tag)" :key="tag" @click="search_term = tag;">{{tag}}</li>
</ul>
</li>
<div class="no_plugin_message tl" v-if="plugin_search.length < 1 && tab === 'installed'">${tl("dialog.plugins.none_installed")}</div>
<div class="no_plugin_message tl" v-if="plugin_search.length < 1 && tab === 'available'">
{{ tl(online ? 'dialog.plugins.none_available' : 'dialog.plugins.offline') }}
<p v-if="online && network_error">Error {{ network_error }}</p>
<p v-if="online && network_error">This is not an issue with Blockbench itself, it is most likely caused by network issues or internet restrictions.</p>
</div>
</ul>
<ol class="pagination_numbers" v-if="pages.length > 1">
<li v-for="number in pages" :class="{selected: page == number}" @click="setPage(number)">{{ number+1 }}</li>
</ol>
</div>
<div id="plugin_browser_page" v-if="selected_plugin" :class="{plugin_disabled: selected_plugin.disabled, plugin_installed: selected_plugin.installed}">
<div v-if="isMobile" @click="selectPlugin(null);" class="plugin_browser_back_button">
<i class="material-icons icon">arrow_back_ios</i>
${tl("generic.navigate_back")}</div>
<div class="plugin_browser_page_header" :class="{disabled_plugin: selected_plugin.disabled}" @contextmenu="selected_plugin.showContextMenu($event)">
<div class="plugin_browser_page_titlebar" :class="{disabled_plugin: selected_plugin.disabled}">
<div class="plugin_icon_area">
<img v-if="selected_plugin.hasImageIcon()" :src="selected_plugin.getIcon()" width="48" height="48px" />
<dynamic-icon v-else :icon="selected_plugin.icon" />
</div>
<div>
<h1>
{{ selected_plugin.title || selected_plugin.id }}
<div class="version">v{{ selected_plugin.version }}</div>
</h1>
<div class="author">
{{ tl('dialog.plugins.author', [selected_plugin.author]) }}
<div v-if="selected_plugin.disabled" class="plugin_disabled_tag">\u{1F319} ${tl("dialog.plugins.is_disabled")}</div>
<div v-else-if="selected_plugin.installed" class="plugin_installed_tag">\u2713 ${tl("dialog.plugins.is_installed")}</div>
</div>
</div>
</div>
<div class="button_bar" v-if="selected_plugin.installed || selected_plugin.isInstallable() == true">
<button type="button" v-if="selected_plugin.installed" @click="selected_plugin.toggleDisabled()">
<i class="material-icons icon">bedtime</i>
<span>{{ selected_plugin.disabled ? '${tl("dialog.plugins.enable")}' : '${tl("dialog.plugins.disable")}' }}</span>
</button>
<button type="button" @click="selected_plugin.reload()" v-if="selected_plugin.installed && selected_plugin.isReloadable()">
<i class="material-icons icon">refresh</i>
<span>${tl("dialog.plugins.reload")}</span>
</button>
<button type="button" class="" @click="selected_plugin.uninstall()" v-if="selected_plugin.installed">
<i class="material-icons icon">delete</i>
<span>${tl("dialog.plugins.uninstall")}</span>
</button>
<button type="button" class="" @click="selected_plugin.install()" v-else>
<i class="material-icons icon">add</i>
<span>${tl("dialog.plugins.install")}</span>
</button>
</div>
<ul class="plugin_tag_list">
<li v-for="tag in selected_plugin.tags" :class="getTagClass(tag)" :key="tag" @click="search_term = tag;">{{tag}}</li>
</ul>
<div class="description" :class="{disabled_plugin: selected_plugin.disabled}">{{ selected_plugin.description }}</div>
<div class="plugin_dependencies" v-if="selected_plugin.dependencies.length">
${tl("dialog.plugins.dependencies")}
<a v-for="dep in selected_plugin.dependencies" @click="showDependency(dep)" :class="{installed: isDependencyInstalled(dep)}">{{ getDependencyName(dep) }}</a>
</div>
<div class="tiny plugin_compatibility_issue" v-if="selected_plugin.isInstallable() != true">
<i class="material-icons icon">error</i>
{{ selected_plugin.isInstallable() }}
</div>
<div class="tiny plugin_deprecation_note" v-if="selected_plugin.deprecation_note">
<i class="material-icons icon">warning</i>
{{ selected_plugin.deprecation_note }}
</div>
</div>
<ul id="plugin_browser_page_tab_bar">
<li :class="{selected: page_tab == 'about'}" @click="setPageTab('about')">About</li>
<li :class="{selected: page_tab == 'details'}" @click="setPageTab('details')">Details</li>
<li :class="{selected: page_tab == 'changelog'}" @click="setPageTab('changelog')" v-if="selected_plugin.has_changelog">Changelog</li>
<li :class="{selected: page_tab == 'settings'}" @click="setPageTab('settings')" v-if="selected_plugin.installed">Settings</li>
<li :class="{selected: page_tab == 'features'}" @click="setPageTab('features')" v-if="selected_plugin.installed">Features</li>
</ul>
<dynamic-icon v-if="page_tab == 'about' && !selected_plugin.about && !selected_plugin.hasImageIcon()" :icon="selected_plugin.icon" id="plugin_page_background_decoration" />
<div class="about markdown" v-show="page_tab == 'about'" v-if="selected_plugin.about" v-html="formatAbout(selected_plugin.about)">
</div>
<table v-if="page_tab == 'details'" id="plugin_browser_details" class="plugin_browser_tabbed_page">
<tbody>
<tr>
<td>Identifier</td>
<td>{{ selected_plugin.id }}</td>
</tr>
<tr>
<td>Version</td>
<td>{{ selected_plugin.version }}</td>
</tr>
<tr>
<td>Author</td>
<td>{{ selected_plugin.getPluginDetails().author }}</td>
</tr>
<tr v-if="selected_plugin.details.contributors">
<td>Contributors</td>
<td>{{ selected_plugin.details.contributors }}</td>
</tr>
<tr>
<td>Last updated</td>
<td :title="selected_plugin.details.last_modified_full">{{ selected_plugin.details.last_modified }}</td>
</tr>
<tr>
<td>Published</td>
<td :title="selected_plugin.details.creation_date_full">{{ selected_plugin.details.creation_date }}</td>
</tr>
<tr>
<td>Required Blockbench version</td>
<td>{{ selected_plugin.details.min_version }}</td>
</tr>
<tr v-if="selected_plugin.details.max_version">
<td>Maximum allowed Blockbench version</td>
<td>{{ selected_plugin.details.max_version }}</td>
</tr>
<tr>
<td>Supported variants</td>
<td>{{ capitalizeFirstLetter(selected_plugin.details.variant || '') }}</td>
</tr>
<tr v-if="isApp">
<td>Permissions</td>
<td>{{ selected_plugin.details.permissions || '' }}</td>
</tr>
<tr>
<td>Installations per week</td>
<td>{{ selected_plugin.details.weekly_installations }}</td>
</tr>
<tr v-if="selected_plugin.details.website">
<td>Website</td>
<td><a :href="selected_plugin.details.website" :title="selected_plugin.details.website">{{ reduceLink(selected_plugin.details.website) }}</a></td>
</tr>
<tr v-if="selected_plugin.details.repository">
<td>Plugin source</td>
<td><a :href="selected_plugin.details.repository" :title="selected_plugin.details.repository">{{ reduceLink(selected_plugin.details.repository) }}</a></td>
</tr>
<tr v-if="selected_plugin.details.bug_tracker">
<td>Report issues</td>
<td><a :href="selected_plugin.details.bug_tracker" :title="selected_plugin.details.bug_tracker">{{ reduceLink(selected_plugin.details.bug_tracker) }}</a></td>
</tr>
</tbody>
</table>
<ul v-if="page_tab == 'changelog' && typeof selected_plugin.changelog == 'object'" id="plugin_browser_changelog" class="plugin_browser_tabbed_page">
<li v-for="(version, key) in selected_plugin.changelog">
<h3>{{ version.title || key }}</h3>
<label class="plugin_changelog_author" v-if="version.author">{{ tl('dialog.plugins.author', [version.author]) }}</label>
<label class="plugin_changelog_date" v-if="version.date" :title="printDateFull(version.date)">
<i class="material-icons icon">calendar_today</i>
{{ printDate(version.date) }}
</label>
<ul>
<li v-for="category in version.categories">
<h4>{{ category.title || key }}</h4>
<ul class="plugin_changelog_features">
<li v-for="change in category.list" v-html="formatChangelogLine(change)"></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class="settings_list plugin_browser_tabbed_page" v-if="page_tab == 'settings'">
<li v-for="(setting, key) in selected_plugin_settings" v-if="Condition(setting.condition)"
v-on="setting.click ? {click: setting.click} : {}"
@contextmenu="settingContextMenu(setting, $event)"
>
<template v-if="setting.type === 'number'">
<div class="setting_element"><numeric-input v-model.number="setting.master_value" :min="setting.min" :max="setting.max" :step="setting.step" @input="changePluginSetting(setting)" /></div>
</template>
<template v-else-if="setting.type === 'click'">
<div class="setting_element setting_icon" v-html="getIconNode(setting.icon).outerHTML"></div>
</template>
<template v-else-if="setting.type == 'toggle'"><!--TOGGLE-->
<div class="setting_element"><input type="checkbox" class="toggle_switch" v-model="setting.master_value" v-bind:id="'setting_'+key" @click="changePluginSetting(setting)"></div>
</template>
<div class="setting_label">
<label class="setting_name" v-bind:for="'setting_'+key">{{ setting.name }}</label>
<div class="setting_profile_value_indicator"
v-for="profile_here in getProfileValuesForSetting(key)"
:style="{'--color-profile': markerColors[profile_here.color] && markerColors[profile_here.color].standard}"
:class="{active: profile_here.isActive()}"
:title="tl('Has override in profile ' + profile_here.name)"
@click.stop="openSettingInSettings(key, profile_here)"
/>
<div class="setting_description">{{ setting.description }}</div>
</div>
<template v-if="setting.type === 'text'">
<input type="text" class="dark_bordered" style="width: 96%" v-model="setting.master_value" @input="changePluginSetting(setting)">
</template>
<template v-if="setting.type === 'password'">
<input :type="setting.hidden ? 'password' : 'text'" class="dark_bordered" style="width: calc(96% - 28px);" v-model="setting.master_value" @input="changePluginSetting(setting)">
<div class="password_toggle" @click="setting.hidden = !setting.hidden;">
<i class="fas fa-eye-slash" v-if="setting.hidden"></i>
<i class="fas fa-eye" v-else></i>
</div>
</template>
<template v-else-if="setting.type === 'select'">
<div class="bar_select">
<select-input v-model="setting.master_value" :options="setting.options" @change="changePluginSetting"setting />
</div>
</template>
</li>
</ul>
<ul v-if="page_tab == 'features'" class="features_list plugin_browser_tabbed_page">
<li v-for="type in getPluginFeatures(selected_plugin)" :key="type.id">
<h4>{{ type.name }}</h4>
<ul>
<li v-for="feature in type.features" :key="feature.id" class="plugin_feature_entry" :class="{clickable: feature.click}" @click="feature.click && feature.click($event)">
<dynamic-icon v-if="feature.icon" :icon="feature.icon" />
<label>{{ feature.name }}</label>
<div class="description">{{ feature.description }}</div>
<div v-if="feature.extra_info" class="extra_info">{{ feature.extra_info }}</div>
</li>
</ul>
</li>
</ul>
</div>
<div id="plugin_browser_start_page" v-if="!selected_plugin && !isMobile">
<h1>Blockbench Plugins</h1>
<img src="./assets/plugins.png" />
<p>Plugins allow you to configure Blockbench beyond the default capabilities. Select from a catalog of community created plugins.</p>
<p>Want to write your own plugin? Check out the <a href="https://www.blockbench.net/wiki/docs/plugin" target="_blank">Plugin Documentation</a>.</p>
<div v-for="row in suggested_rows" class="plugins_suggested_row">
<h3>{{row.title}}</h3>
<ul>
<li v-for="plugin in row.plugins" @click="selectPlugin(plugin)" class="elevated">
<div class="plugin_icon_area">
<img v-if="plugin.hasImageIcon()" :src="plugin.getIcon()" width="48" height="48px" />
<dynamic-icon v-else :icon="plugin.icon" />
</div>
<div class="title"><span>{{ plugin.title || plugin.id }}</span></div>
<div class="author">{{ plugin.author }}</div>
</li>
</ul>
</div>
</div>
</content>
`}}),new Action("plugins_window",{icon:"extension",category:"blockbench",side_menu:new Menu("plugins_window",["load_plugin","load_plugin_from_url"]),click(e){if(Zi.classroom_mode.value){he.showQuickMessage("message.classroom_mode.install_plugin");return}It.dialog.show(),!It.all.find(n=>n.installed)&&(It.dialog.content_vue.tab="available"),$("dialog#plugins #plugin_search_bar input").trigger("focus")}}),new Action("reload_plugins",{icon:"sync",category:"blockbench",click(){It.devReload()}}),new Action("load_plugin",{icon:"fa-file-code",category:"blockbench",click(){if(Zi.classroom_mode.value){he.showQuickMessage("message.classroom_mode.install_plugin");return}he.import({resource_id:"dev_plugin",extensions:["js"],type:"Blockbench Plugin"},function(e){new Jc().loadFromFile(e[0],!0)})}}),new Action("load_plugin_from_url",{icon:"cloud_download",category:"blockbench",click(){if(Zi.classroom_mode.value){he.showQuickMessage("message.classroom_mode.install_plugin");return}he.textPrompt("URL","",e=>{new Jc().loadFromURL(e,!0)})}}),new Action("copy_installed_plugins",{icon:"assignment",category:"blockbench",click(){function e(t){let n=It.all.filter(a=>a.installed);return t?n.map(a=>`${a.id}@${a.version}${a.source=="store"?"":"("+a.source+")"}`).join(", "):n.map(a=>a.id).join(", ")}new sa({title:"action.copy_installed_plugins",form:{output:{type:"text",value:e(!0),readonly:!0,share_text:!0},details:{type:"checkbox",label:"dialog.copy_installed_plugins.details",value:!0}},onFormChange(t){sa.open.form.setValues({output:e(t.details)},!1)},singleButton:!0}).show()}}),new Action("install_plugins_from_list",{icon:"list_alt_add",category:"blockbench",click(){new sa({title:"action.install_plugins_from_list",form:{about:{type:"info",text:"dialog.install_plugins_from_list.info"},input:{type:"text",label:"dialog.install_plugins_from_list.ids"}},onConfirm(e){let t=e.input.split(/,\s*/),n=[];for(let o of t){let r=o.match(/\w+/)?.[0],s=r&&It.all.filter(l=>l.id==r);s.length==0||s.some(l=>l.installed)||n.push(s[0])}let a={};n.forEach(o=>{a[o.id.replace(/\./g,"_")]={type:"checkbox",label:o.name,description:o.description,value:!0}}),new sa({id:"install_plugins_from_list_check",title:"action.install_plugins_from_list",form:a,buttons:["dialog.plugins.install","dialog.cancel"],onConfirm(o){n.forEach(r=>{o[r.id.replace(/\./g,"_")]&&r.download()})}}).show()}}).show()}}),new Action("add_plugin",{icon:"add",category:"blockbench",click(){setTimeout(e=>ActionControl.select("+plugin: "),1)}}),new Action("remove_plugin",{icon:"remove",category:"blockbench",click(){setTimeout(e=>ActionControl.select("-plugin: "),1)}})});var dne={Plugins:It,Plugin:Jc,BBPlugin:cne};Object.assign(window,dne);BARS.defineActions(()=>{new Action("settings_window",{icon:"settings",category:"blockbench",click:function(){for(var i in settings)settings.hasOwnProperty(i)&&(Settings.old[i]=settings[i].value);Settings.dialog.show(),document.querySelector("dialog#settings .search_bar > input").focus()}}),new Action("import_settings",{icon:"folder",category:"blockbench",click:function(){he.import({resource_id:"config",extensions:["bbsettings"],type:"Blockbench Settings"},function(i){Settings.import(i[0])})}}),new Action("export_settings",{icon:"fas.fa-user-cog",category:"blockbench",click:async function(){let i=[];var e={};for(var t in settings)e[t]=settings[t].value,settings[t].value&&settings[t].type=="password"&&i.push(t);i.length&&!await new Promise((a,o)=>{he.showMessageBox({title:"dialog.export_private_settings.title",message:tl("dialog.export_private_settings.message",[i.map(r=>settings[r].name).join(", ")]),buttons:["dialog.export_private_settings.keep","dialog.export_private_settings.omit","dialog.cancel"]},r=>{r==1&&i.forEach(s=>{delete e[s]}),a(r!==2)})})||he.export({resource_id:"config",type:"Blockbench Settings",extensions:["bbsettings"],content:jb({settings:e})})}})});onVueSetup(function(){for(var i in settings)if(settings[i].condition!=!1){var e=settings[i].category;e||(e="general"),Settings.structure[e]||(Settings.structure[e]={name:tl("settings.category."+e),open:e==="general",items:{}}),Settings.structure[e].items[i]=settings[i]}let t={};for(let n in Settings.structure)t[n]=Settings.structure[n].name;Settings.dialog=new sa({id:"settings",title:"dialog.settings.settings",width:920,singleButton:!0,title_menu:new Menu(["settings_window","keybindings_window","theme_window","about_window"]),sidebar:{pages:t,page:"general",actions:["import_settings","export_settings"],onPageSwitch(n){Settings.dialog.content_vue.open_category=n,Settings.dialog.content_vue.search_term=""}},component:{data(){return{structure:Settings.structure,profile:null,all_profiles:Co.all,open_category:"general",search_term:""}},methods:{saveSettings(){Settings.saveLocalStorages()},settingContextMenu(n,a){new Menu([{name:"dialog.settings.reset_to_default",icon:"replay",click:()=>{n.ui_value=n.default_value,this.saveSettings()}}]).open(a)},showProfileMenu(){let n=[{name:"generic.none",icon:"remove",color:"",click:()=>{this.profile=null}}];Co.all.forEach(a=>{n.push({name:a.name,icon:"manage_accounts",color:rn[a.color%rn.length].standard,click:()=>{this.profile=a,a.condition.type=="selectable"?a.select():Co.unselect()}})}),n.push("_",{name:"dialog.settings.create_profile",icon:"add",click:()=>{this.profile=new Co({}),this.profile.openDialog()}}),new Menu("settings_profiles",n).open(this.$refs.profile_menu)},profileButtonPress(){this.profile||(this.profile=new Co({})),this.profile.openDialog()},getProfileValuesForSetting(n){return this.all_profiles.filter(a=>a.settings[n]!==void 0)},getProfileColor(n){return n&&rn[n.color%rn.length]?rn[n.color%rn.length].standard:""},isFullWidth(n){return["text","password","select"].includes(n.type)},getPluginName(n){return It.all.find(o=>o.id==n)?.title??n},revealPlugin(n){let a=It.all.find(o=>o.id==n);a&&(It.dialog.show(),It.dialog.content_vue.selectPlugin(a))},getIconNode:he.getIconNode,tl,Condition},computed:{list(){if(this.search_term){var n=this.search_term.toLowerCase().replace(/_/g," ").split(" "),a={};for(var o in settings){var r=settings[o];if(Condition(r.condition)){var s=r.name.toLowerCase(),l=r.description.toLowerCase(),c=!1;for(var d of n)!o.includes(d)&&!s.includes(d)&&!l.includes(d)&&(c=!0);c||(a[o]=r)}}return a}else return this.structure[this.open_category].items},title(){return this.search_term?tl("dialog.settings.search_results"):this.structure[this.open_category].name},profile_name(){return this.profile?this.profile.name:tl("generic.none")}},template:`
<div :style="{'--color-profile': getProfileColor(profile)}">
<div id="settings_profile_wrapper">
Profile:
<div class="bb-select" ref="profile_menu" id="settings_profile_select" @click="showProfileMenu($event)" :class="{profile_is_selected: !!profile}">{{ profile_name }}</div>
<div class="tool" @click="profileButtonPress()"><i class="material-icons">{{ profile ? 'build' : 'add' }}</i></div>
</div>
<h2 class="i_b">{{ title }}</h2>
<search-bar id="settings_search_bar" v-model="search_term"></search-bar>
<ul class="settings_list" id="settingslist">
<li v-for="(setting, key) in list" v-if="Condition(setting.condition)"
v-on="setting.click ? {click: setting.click} : {}"
:class="{has_profile_override: profile && profile.settings[key] !== undefined, full_width_input: isFullWidth(setting)}"
@contextmenu="settingContextMenu(setting, $event)"
>
<div class="tool setting_profile_clear_button" v-if="profile && profile.settings[key] !== undefined" @click.stop="profile.clear(key)" title="${tl("dialog.settings.clear_profile_value")}">
<i class="material-icons">clear</i>
</div>
<template v-if="setting.type === 'number'">
<div class="setting_element"><numeric-input v-model.number="setting.ui_value" :min="setting.min" :max="setting.max" :step="setting.step" v-on:input="saveSettings()" /></div>
</template>
<template v-else-if="setting.type === 'click'">
<div class="setting_element setting_icon" v-html="getIconNode(setting.icon).outerHTML"></div>
</template>
<template v-else-if="setting.type == 'toggle'"><!--TOGGLE-->
<div class="setting_element"><input type="checkbox" class="toggle_switch" v-model="setting.ui_value" v-bind:id="'setting_'+key" :key="key" v-on:click="saveSettings()"></div>
</template>
<div class="setting_label">
<label class="setting_name" v-bind:for="'setting_'+key">
{{ setting.name }}
</label>
<div class="setting_plugin_label" v-if="setting.plugin" @click="revealPlugin(setting.plugin)">
<span>${tl("data.plugin")}:</span> {{ getPluginName(setting.plugin) }}
</div>
<div class="setting_profile_value_indicator"
v-for="profile_here in getProfileValuesForSetting(key)"
:style="{'--color-profile': getProfileColor(profile_here)}"
:class="{active: profile_here.isActive()}"
:title="tl('Has override in profile ' + profile_here.name)"
@click.stop="profile = (profile == profile_here) ? null : profile_here"
/>
<div class="setting_description">{{ setting.description }}</div>
</div>
<template v-if="setting.type === 'text'">
<input type="text" class="dark_bordered" style="width: 96%" v-model="setting.ui_value" v-on:input="saveSettings()">
</template>
<template v-if="setting.type === 'password'">
<input :type="setting.hidden ? 'password' : 'text'" class="dark_bordered" style="width: calc(96% - 28px);" v-model="setting.ui_value" v-on:input="saveSettings()">
<div class="password_toggle" @click="setting.hidden = !setting.hidden;">
<i class="fas fa-eye-slash" v-if="setting.hidden"></i>
<i class="fas fa-eye" v-else></i>
</div>
</template>
<template v-else-if="setting.type === 'select'">
<div class="bar_select">
<select-input v-model="setting.ui_value" :options="setting.options" />
</div>
</template>
</li>
</ul>
</div>`},onButton(){Settings.save();function n(r){return Settings.old&&settings[r].value!==Settings.old[r]}let a=[];for(let r in settings){let s=settings[r];if(!Condition(s.condition))continue;n(r)&&(a.push(s),s.onChange&&s.onChange(s.value))}let o=a.filter(r=>r.requires_restart);o.length&&Settings.showRestartMessage(o)}})});var _2=class{constructor(){this.encoder=new TextEncoder,this._pieces=[],this._parts=[]}append_buffer(e){this.flush(),this._parts.push(e)}append(e){this._pieces.push(e)}flush(){if(this._pieces.length>0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return une(e).buffer}};function une(i){let e=0;for(let a of i)e+=a.byteLength;let t=new Uint8Array(e),n=0;for(let a of i){let o=new Uint8Array(a.buffer,a.byteOffset,a.byteLength);t.set(o,n),n+=a.byteLength}return t}function g2(i){return new h2(i).unpack()}function v2(i){let e=new f2,t=e.pack(i);return t instanceof Promise?t.then(()=>e.getBuffer()):e.getBuffer()}var h2=class{constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}unpack(){let e=this.unpack_uint8();if(e<128)return e;if((e^224)<32)return(e^224)-32;let t;if((t=e^160)<=15)return this.unpack_raw(t);if((t=e^176)<=15)return this.unpack_string(t);if((t=e^144)<=15)return this.unpack_array(t);if((t=e^128)<=15)return this.unpack_map(t);switch(e){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return t=this.unpack_uint16(),this.unpack_string(t);case 217:return t=this.unpack_uint32(),this.unpack_string(t);case 218:return t=this.unpack_uint16(),this.unpack_raw(t);case 219:return t=this.unpack_uint32(),this.unpack_raw(t);case 220:return t=this.unpack_uint16(),this.unpack_array(t);case 221:return t=this.unpack_uint32(),this.unpack_array(t);case 222:return t=this.unpack_uint16(),this.unpack_map(t);case 223:return t=this.unpack_uint32(),this.unpack_map(t)}}unpack_uint8(){let e=this.dataView[this.index]&255;return this.index++,e}unpack_uint16(){let e=this.read(2),t=(e[0]&255)*256+(e[1]&255);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((e[0]*256+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((e[0]*256+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2**31?e:e-2**32}unpack_int64(){let e=this.unpack_uint64();return e<2**63?e:e-2**64}unpack_raw(e){if(this.length<this.index+e)throw new Error(`BinaryPackFailure: index is out of range ${this.index} ${e} ${this.length}`);let t=this.dataBuffer.slice(this.index,this.index+e);return this.index+=e,t}unpack_string(e){let t=this.read(e),n=0,a="",o,r;for(;n<e;)o=t[n],o<160?(r=o,n++):(o^192)<32?(r=(o&31)<<6|t[n+1]&63,n+=2):(o^224)<16?(r=(o&15)<<12|(t[n+1]&63)<<6|t[n+2]&63,n+=3):(r=(o&7)<<18|(t[n+1]&63)<<12|(t[n+2]&63)<<6|t[n+3]&63,n+=4),a+=String.fromCodePoint(r);return this.index+=e,a}unpack_array(e){let t=new Array(e);for(let n=0;n<e;n++)t[n]=this.unpack();return t}unpack_map(e){let t={};for(let n=0;n<e;n++){let a=this.unpack();t[a]=this.unpack()}return t}unpack_float(){let e=this.unpack_uint32(),t=e>>31,n=(e>>23&255)-127,a=e&8388607|8388608;return(t===0?1:-1)*a*2**(n-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=e>>31,a=(e>>20&2047)-1023,r=(e&1048575|1048576)*2**(a-20)+t*2**(a-52);return(n===0?1:-1)*r}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw new Error("BinaryPackFailure: read index out of range")}},f2=class{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if(typeof e=="string")this.pack_string(e);else if(typeof e=="number")Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if(typeof e=="boolean")e===!0?this._bufferBuilder.append(195):e===!1&&this._bufferBuilder.append(194);else if(e===void 0)this._bufferBuilder.append(192);else if(typeof e=="object")if(e===null)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let n=this.pack_array(e);if(n instanceof Promise)return n.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if("BYTES_PER_ELEMENT"in e){let n=e;this.pack_bin(new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}else if(e instanceof Date)this.pack_string(e.toString());else{if(e instanceof Blob)return e.arrayBuffer().then(n=>{this.pack_bin(new Uint8Array(n)),this._bufferBuilder.flush()});if(t==Object||t.toString().startsWith("class")){let n=this.pack_object(e);if(n instanceof Promise)return n.then(()=>this._bufferBuilder.flush())}else throw new Error(`Type "${t.toString()}" not yet supported`)}}else throw new Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw new Error("Invalid length");this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw new Error("Invalid length");this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw new Error("Invalid length");let n=a=>{if(a<t){let o=this.pack(e[a]);return o instanceof Promise?o.then(()=>n(a+1)):n(a+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(e&255);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-9223372036854776e3&&e<=9223372036854776e3)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=18446744073709552e3)this._bufferBuilder.append(207),this.pack_uint64(e);else throw new Error("Invalid integer")}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),a=e/2**n-1,o=Math.floor(a*2**52),r=2**32,s=t<<31|n+1023<<20|o/r&1048575,l=o%r;this._bufferBuilder.append(203),this.pack_int32(s),this.pack_int32(l)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw new Error("Invalid length");let a=o=>{if(o<t.length){let r=t[o];if(e.hasOwnProperty(r)){this.pack(r);let s=this.pack(e[r]);if(s instanceof Promise)return s.then(()=>a(o+1))}return a(o+1)}};return a(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(e&255)}pack_uint32(e){let t=e&4294967295;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255)}pack_uint64(e){let t=e/4294967296,n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}pack_int8(e){this._bufferBuilder.append(e&255)}pack_int16(e){this._bufferBuilder.append((e&65280)>>8),this._bufferBuilder.append(e&255)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((e&16711680)>>>16),this._bufferBuilder.append((e&65280)>>>8),this._bufferBuilder.append(e&255)}pack_int64(e){let t=Math.floor(e/4294967296),n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}constructor(){this._bufferBuilder=new _2,this._textEncoder=new TextEncoder}};var E4=!0,M4=!0;function Wb(i,e,t){let n=i.match(e);return n&&n.length>=t&&parseInt(n[t],10)}function Zc(i,e,t){if(!i.RTCPeerConnection)return;let n=i.RTCPeerConnection.prototype,a=n.addEventListener;n.addEventListener=function(r,s){if(r!==e)return a.apply(this,arguments);let l=c=>{let d=t(c);d&&(s.handleEvent?s.handleEvent(d):s(d))};return this._eventMap=this._eventMap||{},this._eventMap[e]||(this._eventMap[e]=new Map),this._eventMap[e].set(s,l),a.apply(this,[r,l])};let o=n.removeEventListener;n.removeEventListener=function(r,s){if(r!==e||!this._eventMap||!this._eventMap[e])return o.apply(this,arguments);if(!this._eventMap[e].has(s))return o.apply(this,arguments);let l=this._eventMap[e].get(s);return this._eventMap[e].delete(s),this._eventMap[e].size===0&&delete this._eventMap[e],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[r,l])},Object.defineProperty(n,"on"+e,{get(){return this["_on"+e]},set(r){this["_on"+e]&&(this.removeEventListener(e,this["_on"+e]),delete this["_on"+e]),r&&this.addEventListener(e,this["_on"+e]=r)},enumerable:!0,configurable:!0})}function T4(i){return typeof i!="boolean"?new Error("Argument type: "+typeof i+". Please use a boolean."):(E4=i,i?"adapter.js logging disabled":"adapter.js logging enabled")}function A4(i){return typeof i!="boolean"?new Error("Argument type: "+typeof i+". Please use a boolean."):(M4=!i,"adapter.js deprecation warnings "+(i?"disabled":"enabled"))}function Zw(){if(typeof window=="object"){if(E4)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function lf(i,e){M4&&console.warn(i+" is deprecated, please use "+e+" instead.")}function C4(i){let e={browser:null,version:null};if(typeof i>"u"||!i.navigator||!i.navigator.userAgent)return e.browser="Not a browser.",e;let{navigator:t}=i;if(t.userAgentData&&t.userAgentData.brands){let n=t.userAgentData.brands.find(a=>a.brand==="Chromium");if(n)return{browser:"chrome",version:parseInt(n.version,10)}}if(t.mozGetUserMedia)e.browser="firefox",e.version=Wb(t.userAgent,/Firefox\/(\d+)\./,1);else if(t.webkitGetUserMedia||i.isSecureContext===!1&&i.webkitRTCPeerConnection)e.browser="chrome",e.version=Wb(t.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(i.RTCPeerConnection&&t.userAgent.match(/AppleWebKit\/(\d+)\./))e.browser="safari",e.version=Wb(t.userAgent,/AppleWebKit\/(\d+)\./,1),e.supportsUnifiedPlan=i.RTCRtpTransceiver&&"currentDirection"in i.RTCRtpTransceiver.prototype;else return e.browser="Not a supported browser.",e;return e}function z4(i){return Object.prototype.toString.call(i)==="[object Object]"}function y2(i){return z4(i)?Object.keys(i).reduce(function(e,t){let n=z4(i[t]),a=n?y2(i[t]):i[t],o=n&&!Object.keys(a).length;return a===void 0||o?e:Object.assign(e,{[t]:a})},{}):i}function b2(i,e,t){!e||t.has(e.id)||(t.set(e.id,e),Object.keys(e).forEach(n=>{n.endsWith("Id")?b2(i,i.get(e[n]),t):n.endsWith("Ids")&&e[n].forEach(a=>{b2(i,i.get(a),t)})}))}function x2(i,e,t){let n=t?"outbound-rtp":"inbound-rtp",a=new Map;if(e===null)return a;let o=[];return i.forEach(r=>{r.type==="track"&&r.trackIdentifier===e.id&&o.push(r)}),o.forEach(r=>{i.forEach(s=>{s.type===n&&s.trackId===r.id&&b2(i,s,a)})}),a}var t1={};cu(t1,{fixNegotiationNeeded:()=>M2,shimAddTrackRemoveTrack:()=>E2,shimAddTrackRemoveTrackWithNative:()=>B4,shimGetSendersWithDtmf:()=>S2,shimGetUserMedia:()=>Qw,shimMediaStream:()=>k2,shimOnTrack:()=>w2,shimPeerConnection:()=>e1,shimSenderReceiverGetStats:()=>z2});var P4=Zw;function Qw(i,e){let t=i&&i.navigator;if(!t.mediaDevices)return;let n=function(s){if(typeof s!="object"||s.mandatory||s.optional)return s;let l={};return Object.keys(s).forEach(c=>{if(c==="require"||c==="advanced"||c==="mediaSource")return;let d=typeof s[c]=="object"?s[c]:{ideal:s[c]};d.exact!==void 0&&typeof d.exact=="number"&&(d.min=d.max=d.exact);let u=function(p,m){return p?p+m.charAt(0).toUpperCase()+m.slice(1):m==="deviceId"?"sourceId":m};if(d.ideal!==void 0){l.optional=l.optional||[];let p={};typeof d.ideal=="number"?(p[u("min",c)]=d.ideal,l.optional.push(p),p={},p[u("max",c)]=d.ideal,l.optional.push(p)):(p[u("",c)]=d.ideal,l.optional.push(p))}d.exact!==void 0&&typeof d.exact!="number"?(l.mandatory=l.mandatory||{},l.mandatory[u("",c)]=d.exact):["min","max"].forEach(p=>{d[p]!==void 0&&(l.mandatory=l.mandatory||{},l.mandatory[u(p,c)]=d[p])})}),s.advanced&&(l.optional=(l.optional||[]).concat(s.advanced)),l},a=function(s,l){if(e.version>=61)return l(s);if(s=JSON.parse(JSON.stringify(s)),s&&typeof s.audio=="object"){let c=function(d,u,p){u in d&&!(p in d)&&(d[p]=d[u],delete d[u])};s=JSON.parse(JSON.stringify(s)),c(s.audio,"autoGainControl","googAutoGainControl"),c(s.audio,"noiseSuppression","googNoiseSuppression"),s.audio=n(s.audio)}if(s&&typeof s.video=="object"){let c=s.video.facingMode;c=c&&(typeof c=="object"?c:{ideal:c});let d=e.version<66;if(c&&(c.exact==="user"||c.exact==="environment"||c.ideal==="user"||c.ideal==="environment")&&!(t.mediaDevices.getSupportedConstraints&&t.mediaDevices.getSupportedConstraints().facingMode&&!d)){delete s.video.facingMode;let u;if(c.exact==="environment"||c.ideal==="environment"?u=["back","rear"]:(c.exact==="user"||c.ideal==="user")&&(u=["front"]),u)return t.mediaDevices.enumerateDevices().then(p=>{p=p.filter(_=>_.kind==="videoinput");let m=p.find(_=>u.some(f=>_.label.toLowerCase().includes(f)));return!m&&p.length&&u.includes("back")&&(m=p[p.length-1]),m&&(s.video.deviceId=c.exact?{exact:m.deviceId}:{ideal:m.deviceId}),s.video=n(s.video),P4("chrome: "+JSON.stringify(s)),l(s)})}s.video=n(s.video)}return P4("chrome: "+JSON.stringify(s)),l(s)},o=function(s){return e.version>=64?s:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[s.name]||s.name,message:s.message,constraint:s.constraint||s.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},r=function(s,l,c){a(s,d=>{t.webkitGetUserMedia(d,l,u=>{c&&c(o(u))})})};if(t.getUserMedia=r.bind(t),t.mediaDevices.getUserMedia){let s=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(l){return a(l,c=>s(c).then(d=>{if(c.audio&&!d.getAudioTracks().length||c.video&&!d.getVideoTracks().length)throw d.getTracks().forEach(u=>{u.stop()}),new DOMException("","NotFoundError");return d},d=>Promise.reject(o(d))))}}}function k2(i){i.MediaStream=i.MediaStream||i.webkitMediaStream}function w2(i){if(typeof i=="object"&&i.RTCPeerConnection&&!("ontrack"in i.RTCPeerConnection.prototype)){Object.defineProperty(i.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(t){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=t)},enumerable:!0,configurable:!0});let e=i.RTCPeerConnection.prototype.setRemoteDescription;i.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",a=>{let o;i.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(s=>s.track&&s.track.id===a.track.id):o={track:a.track};let r=new Event("track");r.track=a.track,r.receiver=o,r.transceiver={receiver:o},r.streams=[n.stream],this.dispatchEvent(r)}),n.stream.getTracks().forEach(a=>{let o;i.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(s=>s.track&&s.track.id===a.id):o={track:a};let r=new Event("track");r.track=a,r.receiver=o,r.transceiver={receiver:o},r.streams=[n.stream],this.dispatchEvent(r)})},this.addEventListener("addstream",this._ontrackpoly)),e.apply(this,arguments)}}else Zc(i,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function S2(i){if(typeof i=="object"&&i.RTCPeerConnection&&!("getSenders"in i.RTCPeerConnection.prototype)&&"createDTMFSender"in i.RTCPeerConnection.prototype){let e=function(a,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=a.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:a}};if(!i.RTCPeerConnection.prototype.getSenders){i.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let a=i.RTCPeerConnection.prototype.addTrack;i.RTCPeerConnection.prototype.addTrack=function(s,l){let c=a.apply(this,arguments);return c||(c=e(this,s),this._senders.push(c)),c};let o=i.RTCPeerConnection.prototype.removeTrack;i.RTCPeerConnection.prototype.removeTrack=function(s){o.apply(this,arguments);let l=this._senders.indexOf(s);l!==-1&&this._senders.splice(l,1)}}let t=i.RTCPeerConnection.prototype.addStream;i.RTCPeerConnection.prototype.addStream=function(o){this._senders=this._senders||[],t.apply(this,[o]),o.getTracks().forEach(r=>{this._senders.push(e(this,r))})};let n=i.RTCPeerConnection.prototype.removeStream;i.RTCPeerConnection.prototype.removeStream=function(o){this._senders=this._senders||[],n.apply(this,[o]),o.getTracks().forEach(r=>{let s=this._senders.find(l=>l.track===r);s&&this._senders.splice(this._senders.indexOf(s),1)})}}else if(typeof i=="object"&&i.RTCPeerConnection&&"getSenders"in i.RTCPeerConnection.prototype&&"createDTMFSender"in i.RTCPeerConnection.prototype&&i.RTCRtpSender&&!("dtmf"in i.RTCRtpSender.prototype)){let e=i.RTCPeerConnection.prototype.getSenders;i.RTCPeerConnection.prototype.getSenders=function(){let n=e.apply(this,[]);return n.forEach(a=>a._pc=this),n},Object.defineProperty(i.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function z2(i){if(!(typeof i=="object"&&i.RTCPeerConnection&&i.RTCRtpSender&&i.RTCRtpReceiver))return;if(!("getStats"in i.RTCRtpSender.prototype)){let t=i.RTCPeerConnection.prototype.getSenders;t&&(i.RTCPeerConnection.prototype.getSenders=function(){let o=t.apply(this,[]);return o.forEach(r=>r._pc=this),o});let n=i.RTCPeerConnection.prototype.addTrack;n&&(i.RTCPeerConnection.prototype.addTrack=function(){let o=n.apply(this,arguments);return o._pc=this,o}),i.RTCRtpSender.prototype.getStats=function(){let o=this;return this._pc.getStats().then(r=>x2(r,o.track,!0))}}if(!("getStats"in i.RTCRtpReceiver.prototype)){let t=i.RTCPeerConnection.prototype.getReceivers;t&&(i.RTCPeerConnection.prototype.getReceivers=function(){let a=t.apply(this,[]);return a.forEach(o=>o._pc=this),a}),Zc(i,"track",n=>(n.receiver._pc=n.srcElement,n)),i.RTCRtpReceiver.prototype.getStats=function(){let a=this;return this._pc.getStats().then(o=>x2(o,a.track,!1))}}if(!("getStats"in i.RTCRtpSender.prototype&&"getStats"in i.RTCRtpReceiver.prototype))return;let e=i.RTCPeerConnection.prototype.getStats;i.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof i.MediaStreamTrack){let n=arguments[0],a,o,r;return this.getSenders().forEach(s=>{s.track===n&&(a?r=!0:a=s)}),this.getReceivers().forEach(s=>(s.track===n&&(o?r=!0:o=s),s.track===n)),r||a&&o?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):a?a.getStats():o?o.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return e.apply(this,arguments)}}function B4(i){i.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(r=>this._shimmedLocalStreams[r][0])};let e=i.RTCPeerConnection.prototype.addTrack;i.RTCPeerConnection.prototype.addTrack=function(r,s){if(!s)return e.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let l=e.apply(this,arguments);return this._shimmedLocalStreams[s.id]?this._shimmedLocalStreams[s.id].indexOf(l)===-1&&this._shimmedLocalStreams[s.id].push(l):this._shimmedLocalStreams[s.id]=[s,l],l};let t=i.RTCPeerConnection.prototype.addStream;i.RTCPeerConnection.prototype.addStream=function(r){this._shimmedLocalStreams=this._shimmedLocalStreams||{},r.getTracks().forEach(c=>{if(this.getSenders().find(u=>u.track===c))throw new DOMException("Track already exists.","InvalidAccessError")});let s=this.getSenders();t.apply(this,arguments);let l=this.getSenders().filter(c=>s.indexOf(c)===-1);this._shimmedLocalStreams[r.id]=[r].concat(l)};let n=i.RTCPeerConnection.prototype.removeStream;i.RTCPeerConnection.prototype.removeStream=function(r){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[r.id],n.apply(this,arguments)};let a=i.RTCPeerConnection.prototype.removeTrack;i.RTCPeerConnection.prototype.removeTrack=function(r){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},r&&Object.keys(this._shimmedLocalStreams).forEach(s=>{let l=this._shimmedLocalStreams[s].indexOf(r);l!==-1&&this._shimmedLocalStreams[s].splice(l,1),this._shimmedLocalStreams[s].length===1&&delete this._shimmedLocalStreams[s]}),a.apply(this,arguments)}}function E2(i,e){if(!i.RTCPeerConnection)return;if(i.RTCPeerConnection.prototype.addTrack&&e.version>=65)return B4(i);let t=i.RTCPeerConnection.prototype.getLocalStreams;i.RTCPeerConnection.prototype.getLocalStreams=function(){let d=t.apply(this);return this._reverseStreams=this._reverseStreams||{},d.map(u=>this._reverseStreams[u.id])};let n=i.RTCPeerConnection.prototype.addStream;i.RTCPeerConnection.prototype.addStream=function(d){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},d.getTracks().forEach(u=>{if(this.getSenders().find(m=>m.track===u))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[d.id]){let u=new i.MediaStream(d.getTracks());this._streams[d.id]=u,this._reverseStreams[u.id]=d,d=u}n.apply(this,[d])};let a=i.RTCPeerConnection.prototype.removeStream;i.RTCPeerConnection.prototype.removeStream=function(d){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},a.apply(this,[this._streams[d.id]||d]),delete this._reverseStreams[this._streams[d.id]?this._streams[d.id].id:d.id],delete this._streams[d.id]},i.RTCPeerConnection.prototype.addTrack=function(d,u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let p=[].slice.call(arguments,1);if(p.length!==1||!p[0].getTracks().find(f=>f===d))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(f=>f.track===d))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let _=this._streams[u.id];if(_)_.addTrack(d),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let f=new i.MediaStream([d]);this._streams[u.id]=f,this._reverseStreams[f.id]=u,this.addStream(f)}return this.getSenders().find(f=>f.track===d)};function o(c,d){let u=d.sdp;return Object.keys(c._reverseStreams||[]).forEach(p=>{let m=c._reverseStreams[p],_=c._streams[m.id];u=u.replace(new RegExp(_.id,"g"),m.id)}),new RTCSessionDescription({type:d.type,sdp:u})}function r(c,d){let u=d.sdp;return Object.keys(c._reverseStreams||[]).forEach(p=>{let m=c._reverseStreams[p],_=c._streams[m.id];u=u.replace(new RegExp(m.id,"g"),_.id)}),new RTCSessionDescription({type:d.type,sdp:u})}["createOffer","createAnswer"].forEach(function(c){let d=i.RTCPeerConnection.prototype[c],u={[c](){let p=arguments;return arguments.length&&typeof arguments[0]=="function"?d.apply(this,[_=>{let f=o(this,_);p[0].apply(null,[f])},_=>{p[1]&&p[1].apply(null,_)},arguments[2]]):d.apply(this,arguments).then(_=>o(this,_))}};i.RTCPeerConnection.prototype[c]=u[c]});let s=i.RTCPeerConnection.prototype.setLocalDescription;i.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?s.apply(this,arguments):(arguments[0]=r(this,arguments[0]),s.apply(this,arguments))};let l=Object.getOwnPropertyDescriptor(i.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(i.RTCPeerConnection.prototype,"localDescription",{get(){let c=l.get.apply(this);return c.type===""?c:o(this,c)}}),i.RTCPeerConnection.prototype.removeTrack=function(d){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!d._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(d._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let p;Object.keys(this._streams).forEach(m=>{this._streams[m].getTracks().find(f=>d.track===f)&&(p=this._streams[m])}),p&&(p.getTracks().length===1?this.removeStream(this._reverseStreams[p.id]):p.removeTrack(d.track),this.dispatchEvent(new Event("negotiationneeded")))}}function e1(i,e){!i.RTCPeerConnection&&i.webkitRTCPeerConnection&&(i.RTCPeerConnection=i.webkitRTCPeerConnection),i.RTCPeerConnection&&e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){let n=i.RTCPeerConnection.prototype[t],a={[t](){return arguments[0]=new(t==="addIceCandidate"?i.RTCIceCandidate:i.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};i.RTCPeerConnection.prototype[t]=a[t]})}function M2(i,e){Zc(i,"negotiationneeded",t=>{let n=t.target;if(!((e.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics==="plan-b")&&n.signalingState!=="stable"))return t})}var a1={};cu(a1,{shimAddTransceiver:()=>R2,shimCreateAnswer:()=>D2,shimCreateOffer:()=>I2,shimGetDisplayMedia:()=>R4,shimGetParameters:()=>j2,shimGetUserMedia:()=>i1,shimOnTrack:()=>T2,shimPeerConnection:()=>n1,shimRTCDataChannel:()=>B2,shimReceiverGetStats:()=>C2,shimRemoveStream:()=>P2,shimSenderGetStats:()=>A2});function i1(i,e){let t=i&&i.navigator,n=i&&i.MediaStreamTrack;if(t.getUserMedia=function(a,o,r){lf("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),t.mediaDevices.getUserMedia(a).then(o,r)},!(e.version>55&&"autoGainControl"in t.mediaDevices.getSupportedConstraints())){let a=function(r,s,l){s in r&&!(l in r)&&(r[l]=r[s],delete r[s])},o=t.mediaDevices.getUserMedia.bind(t.mediaDevices);if(t.mediaDevices.getUserMedia=function(r){return typeof r=="object"&&typeof r.audio=="object"&&(r=JSON.parse(JSON.stringify(r)),a(r.audio,"autoGainControl","mozAutoGainControl"),a(r.audio,"noiseSuppression","mozNoiseSuppression")),o(r)},n&&n.prototype.getSettings){let r=n.prototype.getSettings;n.prototype.getSettings=function(){let s=r.apply(this,arguments);return a(s,"mozAutoGainControl","autoGainControl"),a(s,"mozNoiseSuppression","noiseSuppression"),s}}if(n&&n.prototype.applyConstraints){let r=n.prototype.applyConstraints;n.prototype.applyConstraints=function(s){return this.kind==="audio"&&typeof s=="object"&&(s=JSON.parse(JSON.stringify(s)),a(s,"autoGainControl","mozAutoGainControl"),a(s,"noiseSuppression","mozNoiseSuppression")),r.apply(this,[s])}}}}function R4(i,e){i.navigator.mediaDevices&&"getDisplayMedia"in i.navigator.mediaDevices||i.navigator.mediaDevices&&(i.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let a=new DOMException("getDisplayMedia without video constraints is undefined");return a.name="NotFoundError",a.code=8,Promise.reject(a)}return n.video===!0?n.video={mediaSource:e}:n.video.mediaSource=e,i.navigator.mediaDevices.getUserMedia(n)})}function T2(i){typeof i=="object"&&i.RTCTrackEvent&&"receiver"in i.RTCTrackEvent.prototype&&!("transceiver"in i.RTCTrackEvent.prototype)&&Object.defineProperty(i.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function n1(i,e){if(typeof i!="object"||!(i.RTCPeerConnection||i.mozRTCPeerConnection))return;!i.RTCPeerConnection&&i.mozRTCPeerConnection&&(i.RTCPeerConnection=i.mozRTCPeerConnection),e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){let o=i.RTCPeerConnection.prototype[a],r={[a](){return arguments[0]=new(a==="addIceCandidate"?i.RTCIceCandidate:i.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};i.RTCPeerConnection.prototype[a]=r[a]});let t={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=i.RTCPeerConnection.prototype.getStats;i.RTCPeerConnection.prototype.getStats=function(){let[o,r,s]=arguments;return n.apply(this,[o||null]).then(l=>{if(e.version<53&&!r)try{l.forEach(c=>{c.type=t[c.type]||c.type})}catch(c){if(c.name!=="TypeError")throw c;l.forEach((d,u)=>{l.set(u,Object.assign({},d,{type:t[d.type]||d.type}))})}return l}).then(r,s)}}function A2(i){if(!(typeof i=="object"&&i.RTCPeerConnection&&i.RTCRtpSender)||i.RTCRtpSender&&"getStats"in i.RTCRtpSender.prototype)return;let e=i.RTCPeerConnection.prototype.getSenders;e&&(i.RTCPeerConnection.prototype.getSenders=function(){let a=e.apply(this,[]);return a.forEach(o=>o._pc=this),a});let t=i.RTCPeerConnection.prototype.addTrack;t&&(i.RTCPeerConnection.prototype.addTrack=function(){let a=t.apply(this,arguments);return a._pc=this,a}),i.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function C2(i){if(!(typeof i=="object"&&i.RTCPeerConnection&&i.RTCRtpSender)||i.RTCRtpSender&&"getStats"in i.RTCRtpReceiver.prototype)return;let e=i.RTCPeerConnection.prototype.getReceivers;e&&(i.RTCPeerConnection.prototype.getReceivers=function(){let n=e.apply(this,[]);return n.forEach(a=>a._pc=this),n}),Zc(i,"track",t=>(t.receiver._pc=t.srcElement,t)),i.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function P2(i){!i.RTCPeerConnection||"removeStream"in i.RTCPeerConnection.prototype||(i.RTCPeerConnection.prototype.removeStream=function(t){lf("removeStream","removeTrack"),this.getSenders().forEach(n=>{n.track&&t.getTracks().includes(n.track)&&this.removeTrack(n)})})}function B2(i){i.DataChannel&&!i.RTCDataChannel&&(i.RTCDataChannel=i.DataChannel)}function R2(i){if(!(typeof i=="object"&&i.RTCPeerConnection))return;let e=i.RTCPeerConnection.prototype.addTransceiver;e&&(i.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let n=arguments[1]&&arguments[1].sendEncodings;n===void 0&&(n=[]),n=[...n];let a=n.length>0;a&&n.forEach(r=>{if("rid"in r&&!/^[a-z0-9]{0,16}$/i.test(r.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in r&&!(parseFloat(r.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in r&&!(parseFloat(r.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let o=e.apply(this,arguments);if(a){let{sender:r}=o,s=r.getParameters();(!("encodings"in s)||s.encodings.length===1&&Object.keys(s.encodings[0]).length===0)&&(s.encodings=n,r.sendEncodings=n,this.setParametersPromises.push(r.setParameters(s).then(()=>{delete r.sendEncodings}).catch(()=>{delete r.sendEncodings})))}return o})}function j2(i){if(!(typeof i=="object"&&i.RTCRtpSender))return;let e=i.RTCRtpSender.prototype.getParameters;e&&(i.RTCRtpSender.prototype.getParameters=function(){let n=e.apply(this,arguments);return"encodings"in n||(n.encodings=[].concat(this.sendEncodings||[{}])),n})}function I2(i){if(!(typeof i=="object"&&i.RTCPeerConnection))return;let e=i.RTCPeerConnection.prototype.createOffer;i.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>e.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):e.apply(this,arguments)}}function D2(i){if(!(typeof i=="object"&&i.RTCPeerConnection))return;let e=i.RTCPeerConnection.prototype.createAnswer;i.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>e.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):e.apply(this,arguments)}}var o1={};cu(o1,{shimAudioContext:()=>G2,shimCallbacksAPI:()=>U2,shimConstraints:()=>j4,shimCreateOfferLegacy:()=>H2,shimGetUserMedia:()=>O2,shimLocalStreamsAPI:()=>V2,shimRTCIceServerUrls:()=>L2,shimRemoteStreamsAPI:()=>F2,shimTrackEventTransceiver:()=>N2});function V2(i){if(!(typeof i!="object"||!i.RTCPeerConnection)){if("getLocalStreams"in i.RTCPeerConnection.prototype||(i.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in i.RTCPeerConnection.prototype)){let e=i.RTCPeerConnection.prototype.addTrack;i.RTCPeerConnection.prototype.addStream=function(n){this._localStreams||(this._localStreams=[]),this._localStreams.includes(n)||this._localStreams.push(n),n.getAudioTracks().forEach(a=>e.call(this,a,n)),n.getVideoTracks().forEach(a=>e.call(this,a,n))},i.RTCPeerConnection.prototype.addTrack=function(n,...a){return a&&a.forEach(o=>{this._localStreams?this._localStreams.includes(o)||this._localStreams.push(o):this._localStreams=[o]}),e.apply(this,arguments)}}"removeStream"in i.RTCPeerConnection.prototype||(i.RTCPeerConnection.prototype.removeStream=function(t){this._localStreams||(this._localStreams=[]);let n=this._localStreams.indexOf(t);if(n===-1)return;this._localStreams.splice(n,1);let a=t.getTracks();this.getSenders().forEach(o=>{a.includes(o.track)&&this.removeTrack(o)})})}}function F2(i){if(!(typeof i!="object"||!i.RTCPeerConnection)&&("getRemoteStreams"in i.RTCPeerConnection.prototype||(i.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in i.RTCPeerConnection.prototype))){Object.defineProperty(i.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(t){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=t),this.addEventListener("track",this._onaddstreampoly=n=>{n.streams.forEach(a=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(a))return;this._remoteStreams.push(a);let o=new Event("addstream");o.stream=a,this.dispatchEvent(o)})})}});let e=i.RTCPeerConnection.prototype.setRemoteDescription;i.RTCPeerConnection.prototype.setRemoteDescription=function(){let n=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(a){a.streams.forEach(o=>{if(n._remoteStreams||(n._remoteStreams=[]),n._remoteStreams.indexOf(o)>=0)return;n._remoteStreams.push(o);let r=new Event("addstream");r.stream=o,n.dispatchEvent(r)})}),e.apply(n,arguments)}}}function U2(i){if(typeof i!="object"||!i.RTCPeerConnection)return;let e=i.RTCPeerConnection.prototype,t=e.createOffer,n=e.createAnswer,a=e.setLocalDescription,o=e.setRemoteDescription,r=e.addIceCandidate;e.createOffer=function(c,d){let u=arguments.length>=2?arguments[2]:arguments[0],p=t.apply(this,[u]);return d?(p.then(c,d),Promise.resolve()):p},e.createAnswer=function(c,d){let u=arguments.length>=2?arguments[2]:arguments[0],p=n.apply(this,[u]);return d?(p.then(c,d),Promise.resolve()):p};let s=function(l,c,d){let u=a.apply(this,[l]);return d?(u.then(c,d),Promise.resolve()):u};e.setLocalDescription=s,s=function(l,c,d){let u=o.apply(this,[l]);return d?(u.then(c,d),Promise.resolve()):u},e.setRemoteDescription=s,s=function(l,c,d){let u=r.apply(this,[l]);return d?(u.then(c,d),Promise.resolve()):u},e.addIceCandidate=s}function O2(i){let e=i&&i.navigator;if(e.mediaDevices&&e.mediaDevices.getUserMedia){let t=e.mediaDevices,n=t.getUserMedia.bind(t);e.mediaDevices.getUserMedia=a=>n(j4(a))}!e.getUserMedia&&e.mediaDevices&&e.mediaDevices.getUserMedia&&(e.getUserMedia=function(n,a,o){e.mediaDevices.getUserMedia(n).then(a,o)}.bind(e))}function j4(i){return i&&i.video!==void 0?Object.assign({},i,{video:y2(i.video)}):i}function L2(i){if(!i.RTCPeerConnection)return;let e=i.RTCPeerConnection;i.RTCPeerConnection=function(n,a){if(n&&n.iceServers){let o=[];for(let r=0;r<n.iceServers.length;r++){let s=n.iceServers[r];s.urls===void 0&&s.url?(lf("RTCIceServer.url","RTCIceServer.urls"),s=JSON.parse(JSON.stringify(s)),s.urls=s.url,delete s.url,o.push(s)):o.push(n.iceServers[r])}n.iceServers=o}return new e(n,a)},i.RTCPeerConnection.prototype=e.prototype,"generateCertificate"in e&&Object.defineProperty(i.RTCPeerConnection,"generateCertificate",{get(){return e.generateCertificate}})}function N2(i){typeof i=="object"&&i.RTCTrackEvent&&"receiver"in i.RTCTrackEvent.prototype&&!("transceiver"in i.RTCTrackEvent.prototype)&&Object.defineProperty(i.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function H2(i){let e=i.RTCPeerConnection.prototype.createOffer;i.RTCPeerConnection.prototype.createOffer=function(n){if(n){typeof n.offerToReceiveAudio<"u"&&(n.offerToReceiveAudio=!!n.offerToReceiveAudio);let a=this.getTransceivers().find(r=>r.receiver.track.kind==="audio");n.offerToReceiveAudio===!1&&a?a.direction==="sendrecv"?a.setDirection?a.setDirection("sendonly"):a.direction="sendonly":a.direction==="recvonly"&&(a.setDirection?a.setDirection("inactive"):a.direction="inactive"):n.offerToReceiveAudio===!0&&!a&&this.addTransceiver("audio",{direction:"recvonly"}),typeof n.offerToReceiveVideo<"u"&&(n.offerToReceiveVideo=!!n.offerToReceiveVideo);let o=this.getTransceivers().find(r=>r.receiver.track.kind==="video");n.offerToReceiveVideo===!1&&o?o.direction==="sendrecv"?o.setDirection?o.setDirection("sendonly"):o.direction="sendonly":o.direction==="recvonly"&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive"):n.offerToReceiveVideo===!0&&!o&&this.addTransceiver("video",{direction:"recvonly"})}return e.apply(this,arguments)}}function G2(i){typeof i!="object"||i.AudioContext||(i.AudioContext=i.webkitAudioContext)}var K2={};cu(K2,{removeExtmapAllowMixed:()=>l1,shimAddIceCandidateNullOrEmpty:()=>Xb,shimConnectionState:()=>s1,shimMaxMessageSize:()=>$b,shimParameterlessSetLocalDescription:()=>Jb,shimRTCIceCandidate:()=>Kb,shimRTCIceCandidateRelayProtocol:()=>r1,shimSendThrowTypeError:()=>Yb});var cf=Vl(W2());function Kb(i){if(!i.RTCIceCandidate||i.RTCIceCandidate&&"foundation"in i.RTCIceCandidate.prototype)return;let e=i.RTCIceCandidate;i.RTCIceCandidate=function(n){if(typeof n=="object"&&n.candidate&&n.candidate.indexOf("a=")===0&&(n=JSON.parse(JSON.stringify(n)),n.candidate=n.candidate.substring(2)),n.candidate&&n.candidate.length){let a=new e(n),o=cf.default.parseCandidate(n.candidate);for(let r in o)r in a||Object.defineProperty(a,r,{value:o[r]});return a.toJSON=function(){return{candidate:a.candidate,sdpMid:a.sdpMid,sdpMLineIndex:a.sdpMLineIndex,usernameFragment:a.usernameFragment}},a}return new e(n)},i.RTCIceCandidate.prototype=e.prototype,Zc(i,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new i.RTCIceCandidate(t.candidate),writable:"false"}),t))}function r1(i){!i.RTCIceCandidate||i.RTCIceCandidate&&"relayProtocol"in i.RTCIceCandidate.prototype||Zc(i,"icecandidate",e=>{if(e.candidate){let t=cf.default.parseCandidate(e.candidate.candidate);t.type==="relay"&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e})}function $b(i,e){if(!i.RTCPeerConnection)return;"sctp"in i.RTCPeerConnection.prototype||Object.defineProperty(i.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp}});let t=function(s){if(!s||!s.sdp)return!1;let l=cf.default.splitSections(s.sdp);return l.shift(),l.some(c=>{let d=cf.default.parseMLine(c);return d&&d.kind==="application"&&d.protocol.indexOf("SCTP")!==-1})},n=function(s){let l=s.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(l===null||l.length<2)return-1;let c=parseInt(l[1],10);return c!==c?-1:c},a=function(s){let l=65536;return e.browser==="firefox"&&(e.version<57?s===-1?l=16384:l=2147483637:e.version<60?l=e.version===57?65535:65536:l=2147483637),l},o=function(s,l){let c=65536;e.browser==="firefox"&&e.version===57&&(c=65535);let d=cf.default.matchPrefix(s.sdp,"a=max-message-size:");return d.length>0?c=parseInt(d[0].substring(19),10):e.browser==="firefox"&&l!==-1&&(c=2147483637),c},r=i.RTCPeerConnection.prototype.setRemoteDescription;i.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,e.browser==="chrome"&&e.version>=76){let{sdpSemantics:l}=this.getConfiguration();l==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp>"u"?null:this._sctp},enumerable:!0,configurable:!0})}if(t(arguments[0])){let l=n(arguments[0]),c=a(l),d=o(arguments[0],l),u;c===0&&d===0?u=Number.POSITIVE_INFINITY:c===0||d===0?u=Math.max(c,d):u=Math.min(c,d);let p={};Object.defineProperty(p,"maxMessageSize",{get(){return u}}),this._sctp=p}return r.apply(this,arguments)}}function Yb(i){if(!(i.RTCPeerConnection&&"createDataChannel"in i.RTCPeerConnection.prototype))return;function e(n,a){let o=n.send;n.send=function(){let s=arguments[0],l=s.length||s.size||s.byteLength;if(n.readyState==="open"&&a.sctp&&l>a.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+a.sctp.maxMessageSize+" bytes)");return o.apply(n,arguments)}}let t=i.RTCPeerConnection.prototype.createDataChannel;i.RTCPeerConnection.prototype.createDataChannel=function(){let a=t.apply(this,arguments);return e(a,this),a},Zc(i,"datachannel",n=>(e(n.channel,n.target),n))}function s1(i){if(!i.RTCPeerConnection||"connectionState"in i.RTCPeerConnection.prototype)return;let e=i.RTCPeerConnection.prototype;Object.defineProperty(e,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(e,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(t){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),t&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=t)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(t=>{let n=e[t];e[t]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=a=>{let o=a.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let r=new Event("connectionstatechange",a);o.dispatchEvent(r)}return a},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),n.apply(this,arguments)}})}function l1(i,e){if(!i.RTCPeerConnection||e.browser==="chrome"&&e.version>=71||e.browser==="safari"&&e.version>=605)return;let t=i.RTCPeerConnection.prototype.setRemoteDescription;i.RTCPeerConnection.prototype.setRemoteDescription=function(a){if(a&&a.sdp&&a.sdp.indexOf(`
a=extmap-allow-mixed`)!==-1){let o=a.sdp.split(`
`).filter(r=>r.trim()!=="a=extmap-allow-mixed").join(`
`);i.RTCSessionDescription&&a instanceof i.RTCSessionDescription?arguments[0]=new i.RTCSessionDescription({type:a.type,sdp:o}):a.sdp=o}return t.apply(this,arguments)}}function Xb(i,e){if(!(i.RTCPeerConnection&&i.RTCPeerConnection.prototype))return;let t=i.RTCPeerConnection.prototype.addIceCandidate;!t||t.length===0||(i.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(e.browser==="chrome"&&e.version<78||e.browser==="firefox"&&e.version<68||e.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():t.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Jb(i,e){if(!(i.RTCPeerConnection&&i.RTCPeerConnection.prototype))return;let t=i.RTCPeerConnection.prototype.setLocalDescription;!t||t.length===0||(i.RTCPeerConnection.prototype.setLocalDescription=function(){let a=arguments[0]||{};if(typeof a!="object"||a.type&&a.sdp)return t.apply(this,arguments);if(a={type:a.type,sdp:a.sdp},!a.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":a.type="offer";break;default:a.type="answer";break}return a.sdp||a.type!=="offer"&&a.type!=="answer"?t.apply(this,[a]):(a.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(r=>t.apply(this,[r]))})}var pne=Vl(W2());function I4({window:i}={},e={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let t=Zw,n=C4(i),a={browserDetails:n,commonShim:K2,extractVersion:Wb,disableLog:T4,disableWarnings:A4,sdp:pne};switch(n.browser){case"chrome":if(!t1||!e1||!e.shimChrome)return t("Chrome shim is not included in this adapter release."),a;if(n.version===null)return t("Chrome shim can not determine version, not shimming."),a;t("adapter.js shimming chrome."),a.browserShim=t1,Xb(i,n),Jb(i,n),Qw(i,n),k2(i,n),e1(i,n),w2(i,n),E2(i,n),S2(i,n),z2(i,n),M2(i,n),Kb(i,n),r1(i,n),s1(i,n),$b(i,n),Yb(i,n),l1(i,n);break;case"firefox":if(!a1||!n1||!e.shimFirefox)return t("Firefox shim is not included in this adapter release."),a;t("adapter.js shimming firefox."),a.browserShim=a1,Xb(i,n),Jb(i,n),i1(i,n),n1(i,n),T2(i,n),P2(i,n),A2(i,n),C2(i,n),B2(i,n),R2(i,n),j2(i,n),I2(i,n),D2(i,n),Kb(i,n),s1(i,n),$b(i,n),Yb(i,n);break;case"safari":if(!o1||!e.shimSafari)return t("Safari shim is not included in this adapter release."),a;t("adapter.js shimming safari."),a.browserShim=o1,Xb(i,n),Jb(i,n),L2(i,n),H2(i,n),U2(i,n),V2(i,n),F2(i,n),N2(i,n),O2(i,n),G2(i,n),Kb(i,n),r1(i,n),$b(i,n),Yb(i,n),l1(i,n);break;default:t("Unsupported browser!");break}return a}var mne=I4({window:typeof window>"u"?void 0:window}),$2=mne;function Nm(i,e,t,n){Object.defineProperty(i,e,{get:t,set:n,enumerable:!0,configurable:!0})}var d1=class{constructor(){this.chunkedMTU=16300,this._dataCount=1,this.chunk=e=>{let t=[],n=e.byteLength,a=Math.ceil(n/this.chunkedMTU),o=0,r=0;for(;r<n;){let s=Math.min(n,r+this.chunkedMTU),l=e.slice(r,s),c={__peerData:this._dataCount,n:o,data:l,total:a};t.push(c),r=s,o++}return this._dataCount++,t}}};function _ne(i){let e=0;for(let a of i)e+=a.byteLength;let t=new Uint8Array(e),n=0;for(let a of i)t.set(a,n),n+=a.byteLength;return t}var Y2=$2.default||$2,Zb=new class{isWebRTCSupported(){return typeof RTCPeerConnection<"u"}isBrowserSupported(){let i=this.getBrowser(),e=this.getVersion();return this.supportedBrowsers.includes(i)?i==="chrome"?e>=this.minChromeVersion:i==="firefox"?e>=this.minFirefoxVersion:i==="safari"?!this.isIOS&&e>=this.minSafariVersion:!1:!1}getBrowser(){return Y2.browserDetails.browser}getVersion(){return Y2.browserDetails.version||0}isUnifiedPlanSupported(){let i=this.getBrowser(),e=Y2.browserDetails.version||0;if(i==="chrome"&&e<this.minChromeVersion)return!1;if(i==="firefox"&&e>=this.minFirefoxVersion)return!0;if(!window.RTCRtpTransceiver||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let t,n=!1;try{t=new RTCPeerConnection,t.addTransceiver("audio"),n=!0}catch{}finally{t&&t.close()}return n}toString(){return`Supports:
browser:${this.getBrowser()}
version:${this.getVersion()}
isIOS:${this.isIOS}
isWebRTCSupported:${this.isWebRTCSupported()}
isBrowserSupported:${this.isBrowserSupported()}
isUnifiedPlanSupported:${this.isUnifiedPlanSupported()}`}constructor(){this.isIOS=typeof navigator<"u"?["iPad","iPhone","iPod"].includes(navigator.platform):!1,this.supportedBrowsers=["firefox","chrome","safari"],this.minFirefoxVersion=59,this.minChromeVersion=72,this.minSafariVersion=605}},hne=i=>!i||/^[A-Za-z0-9]+(?:[ _-][A-Za-z0-9]+)*$/.test(i),F4=()=>Math.random().toString(36).slice(2),D4={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:["turn:eu-0.turn.peerjs.com:3478","turn:us-0.turn.peerjs.com:3478"],username:"peerjs",credential:"peerjsp"}],sdpSemantics:"unified-plan"},X2=class extends d1{noop(){}blobToArrayBuffer(e,t){let n=new FileReader;return n.onload=function(a){a.target&&t(a.target.result)},n.readAsArrayBuffer(e),n}binaryStringToArrayBuffer(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t.buffer}isSecure(){return location.protocol==="https:"}constructor(...e){super(...e),this.CLOUD_HOST="0.peerjs.com",this.CLOUD_PORT=443,this.chunkedBrowsers={Chrome:1,chrome:1},this.defaultConfig=D4,this.browser=Zb.getBrowser(),this.browserVersion=Zb.getVersion(),this.pack=v2,this.unpack=g2,this.supports=function(){let t={browser:Zb.isBrowserSupported(),webRTC:Zb.isWebRTCSupported(),audioVideo:!1,data:!1,binaryBlob:!1,reliable:!1};if(!t.webRTC)return t;let n;try{n=new RTCPeerConnection(D4),t.audioVideo=!0;let a;try{a=n.createDataChannel("_PEERJSTEST",{ordered:!0}),t.data=!0,t.reliable=!!a.ordered;try{a.binaryType="blob",t.binaryBlob=!Zb.isIOS}catch{}}catch{}finally{a&&a.close()}}catch{}finally{n&&n.close()}return t}(),this.validateId=hne,this.randomToken=F4}},As=new X2,fne="PeerJS: ",V4;(function(i){i[i.Disabled=0]="Disabled",i[i.Errors=1]="Errors",i[i.Warnings=2]="Warnings",i[i.All=3]="All"})(V4||(V4={}));var J2=class{get logLevel(){return this._logLevel}set logLevel(e){this._logLevel=e}log(...e){this._logLevel>=3&&this._print(3,...e)}warn(...e){this._logLevel>=2&&this._print(2,...e)}error(...e){this._logLevel>=1&&this._print(1,...e)}setLogFunction(e){this._print=e}_print(e,...t){let n=[fne,...t];for(let a in n)n[a]instanceof Error&&(n[a]="("+n[a].name+") "+n[a].message);e>=3?console.log(...n):e>=2?console.warn("WARNING",...n):e>=1&&console.error("ERROR",...n)}constructor(){this._logLevel=0}},yi=new J2,lC={},gne=Object.prototype.hasOwnProperty,us="~";function iy(){}Object.create&&(iy.prototype=Object.create(null),new iy().__proto__||(us=!1));function vne(i,e,t){this.fn=i,this.context=e,this.once=t||!1}function U4(i,e,t,n,a){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new vne(t,n||i,a),r=us?us+e:e;return i._events[r]?i._events[r].fn?i._events[r]=[i._events[r],o]:i._events[r].push(o):(i._events[r]=o,i._eventsCount++),i}function c1(i,e){--i._eventsCount===0?i._events=new iy:delete i._events[e]}function Kr(){this._events=new iy,this._eventsCount=0}Kr.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)gne.call(t,n)&&e.push(us?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Kr.prototype.listeners=function(e){var t=us?us+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,r=new Array(o);a<o;a++)r[a]=n[a].fn;return r};Kr.prototype.listenerCount=function(e){var t=us?us+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Kr.prototype.emit=function(e,t,n,a,o,r){var s=us?us+e:e;if(!this._events[s])return!1;var l=this._events[s],c=arguments.length,d,u;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),c){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,n),!0;case 4:return l.fn.call(l.context,t,n,a),!0;case 5:return l.fn.call(l.context,t,n,a,o),!0;case 6:return l.fn.call(l.context,t,n,a,o,r),!0}for(u=1,d=new Array(c-1);u<c;u++)d[u-1]=arguments[u];l.fn.apply(l.context,d)}else{var p=l.length,m;for(u=0;u<p;u++)switch(l[u].once&&this.removeListener(e,l[u].fn,void 0,!0),c){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,t);break;case 3:l[u].fn.call(l[u].context,t,n);break;case 4:l[u].fn.call(l[u].context,t,n,a);break;default:if(!d)for(m=1,d=new Array(c-1);m<c;m++)d[m-1]=arguments[m];l[u].fn.apply(l[u].context,d)}}return!0};Kr.prototype.on=function(e,t,n){return U4(this,e,t,n,!1)};Kr.prototype.once=function(e,t,n){return U4(this,e,t,n,!0)};Kr.prototype.removeListener=function(e,t,n,a){var o=us?us+e:e;if(!this._events[o])return this;if(!t)return c1(this,o),this;var r=this._events[o];if(r.fn)r.fn===t&&(!a||r.once)&&(!n||r.context===n)&&c1(this,o);else{for(var s=0,l=[],c=r.length;s<c;s++)(r[s].fn!==t||a&&!r[s].once||n&&r[s].context!==n)&&l.push(r[s]);l.length?this._events[o]=l.length===1?l[0]:l:c1(this,o)}return this};Kr.prototype.removeAllListeners=function(e){var t;return e?(t=us?us+e:e,this._events[t]&&c1(this,t)):(this._events=new iy,this._eventsCount=0),this};Kr.prototype.off=Kr.prototype.removeListener;Kr.prototype.addListener=Kr.prototype.on;Kr.prefixed=us;Kr.EventEmitter=Kr;lC=Kr;var Hm={};Nm(Hm,"ConnectionType",()=>ed);Nm(Hm,"PeerErrorType",()=>xo);Nm(Hm,"BaseConnectionErrorType",()=>ny);Nm(Hm,"DataConnectionErrorType",()=>ay);Nm(Hm,"SerializationType",()=>df);Nm(Hm,"SocketEventType",()=>Qc);Nm(Hm,"ServerMessageType",()=>fr);var ed;(function(i){i.Data="data",i.Media="media"})(ed||(ed={}));var xo;(function(i){i.BrowserIncompatible="browser-incompatible",i.Disconnected="disconnected",i.InvalidID="invalid-id",i.InvalidKey="invalid-key",i.Network="network",i.PeerUnavailable="peer-unavailable",i.SslUnavailable="ssl-unavailable",i.ServerError="server-error",i.SocketError="socket-error",i.SocketClosed="socket-closed",i.UnavailableID="unavailable-id",i.WebRTC="webrtc"})(xo||(xo={}));var ny;(function(i){i.NegotiationFailed="negotiation-failed",i.ConnectionClosed="connection-closed"})(ny||(ny={}));var ay;(function(i){i.NotOpenYet="not-open-yet",i.MessageToBig="message-too-big"})(ay||(ay={}));var df;(function(i){i.Binary="binary",i.BinaryUTF8="binary-utf8",i.JSON="json",i.None="raw"})(df||(df={}));var Qc;(function(i){i.Message="message",i.Disconnected="disconnected",i.Error="error",i.Close="close"})(Qc||(Qc={}));var fr;(function(i){i.Heartbeat="HEARTBEAT",i.Candidate="CANDIDATE",i.Offer="OFFER",i.Answer="ANSWER",i.Open="OPEN",i.Error="ERROR",i.IdTaken="ID-TAKEN",i.InvalidKey="INVALID-KEY",i.Leave="LEAVE",i.Expire="EXPIRE"})(fr||(fr={}));var cC={};cC=JSON.parse('{"name":"peerjs","version":"1.5.4","keywords":["peerjs","webrtc","p2p","rtc"],"description":"PeerJS client","homepage":"https://peerjs.com","bugs":{"url":"https://github.com/peers/peerjs/issues"},"repository":{"type":"git","url":"https://github.com/peers/peerjs"},"license":"MIT","contributors":["Michelle Bu <michelle@michellebu.com>","afrokick <devbyru@gmail.com>","ericz <really.ez@gmail.com>","Jairo <kidandcat@gmail.com>","Jonas Gloning <34194370+jonasgloning@users.noreply.github.com>","Jairo Caro-Accino Viciana <jairo@galax.be>","Carlos Caballero <carlos.caballero.gonzalez@gmail.com>","hc <hheennrryy@gmail.com>","Muhammad Asif <capripio@gmail.com>","PrashoonB <prashoonbhattacharjee@gmail.com>","Harsh Bardhan Mishra <47351025+HarshCasper@users.noreply.github.com>","akotynski <aleksanderkotbury@gmail.com>","lmb <i@lmb.io>","Jairooo <jairocaro@msn.com>","Moritz St\xFCckler <moritz.stueckler@gmail.com>","Simon <crydotsnakegithub@gmail.com>","Denis Lukov <denismassters@gmail.com>","Philipp Hancke <fippo@andyet.net>","Hans Oksendahl <hansoksendahl@gmail.com>","Jess <jessachandler@gmail.com>","khankuan <khankuan@gmail.com>","DUODVK <kurmanov.work@gmail.com>","XiZhao <kwang1imsa@gmail.com>","Matthias Lohr <matthias@lohr.me>","=frank tree <=frnktrb@googlemail.com>","Andre Eckardt <aeckardt@outlook.com>","Chris Cowan <agentme49@gmail.com>","Alex Chuev <alex@chuev.com>","alxnull <alxnull@e.mail.de>","Yemel Jardi <angel.jardi@gmail.com>","Ben Parnell <benjaminparnell.94@gmail.com>","Benny Lichtner <bennlich@gmail.com>","fresheneesz <bitetrudpublic@gmail.com>","bob.barstead@exaptive.com <bob.barstead@exaptive.com>","chandika <chandika@gmail.com>","emersion <contact@emersion.fr>","Christopher Van <cvan@users.noreply.github.com>","eddieherm <edhermoso@gmail.com>","Eduardo Pinho <enet4mikeenet@gmail.com>","Evandro Zanatta <ezanatta@tray.net.br>","Gardner Bickford <gardner@users.noreply.github.com>","Gian Luca <gianluca.cecchi@cynny.com>","PatrickJS <github@gdi2290.com>","jonnyf <github@jonathanfoss.co.uk>","Hizkia Felix <hizkifw@gmail.com>","Hristo Oskov <hristo.oskov@gmail.com>","Isaac Madwed <i.madwed@gmail.com>","Ilya Konanykhin <ilya.konanykhin@gmail.com>","jasonbarry <jasbarry@me.com>","Jonathan Burke <jonathan.burke.1311@googlemail.com>","Josh Hamit <josh.hamit@gmail.com>","Jordan Austin <jrax86@gmail.com>","Joel Wetzell <jwetzell@yahoo.com>","xizhao <kevin.wang@cloudera.com>","Alberto Torres <kungfoobar@gmail.com>","Jonathan Mayol <mayoljonathan@gmail.com>","Jefferson Felix <me@jsfelix.dev>","Rolf Erik Lekang <me@rolflekang.com>","Kevin Mai-Husan Chia <mhchia@users.noreply.github.com>","Pepijn de Vos <pepijndevos@gmail.com>","JooYoung <qkdlql@naver.com>","Tobias Speicher <rootcommander@gmail.com>","Steve Blaurock <sblaurock@gmail.com>","Kyrylo Shegeda <shegeda@ualberta.ca>","Diwank Singh Tomer <singh@diwank.name>","So\u0308ren Balko <Soeren.Balko@gmail.com>","Arpit Solanki <solankiarpit1997@gmail.com>","Yuki Ito <yuki@gnnk.net>","Artur Zayats <zag2art@gmail.com>"],"funding":{"type":"opencollective","url":"https://opencollective.com/peer"},"collective":{"type":"opencollective","url":"https://opencollective.com/peer"},"files":["dist/*"],"sideEffects":["lib/global.ts","lib/supports.ts"],"main":"dist/bundler.cjs","module":"dist/bundler.mjs","browser-minified":"dist/peerjs.min.js","browser-unminified":"dist/peerjs.js","browser-minified-msgpack":"dist/serializer.msgpack.mjs","types":"dist/types.d.ts","engines":{"node":">= 14"},"targets":{"types":{"source":"lib/exports.ts"},"main":{"source":"lib/exports.ts","sourceMap":{"inlineSources":true}},"module":{"source":"lib/exports.ts","includeNodeModules":["eventemitter3"],"sourceMap":{"inlineSources":true}},"browser-minified":{"context":"browser","outputFormat":"global","optimize":true,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15"},"source":"lib/global.ts"},"browser-unminified":{"context":"browser","outputFormat":"global","optimize":false,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15"},"source":"lib/global.ts"},"browser-minified-msgpack":{"context":"browser","outputFormat":"esmodule","isLibrary":true,"optimize":true,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 102, safari >= 15"},"source":"lib/dataconnection/StreamConnection/MsgPack.ts"}},"scripts":{"contributors":"git-authors-cli --print=false && prettier --write package.json && git add package.json package-lock.json && git commit -m \\"chore(contributors): update and sort contributors list\\"","check":"tsc --noEmit && tsc -p e2e/tsconfig.json --noEmit","watch":"parcel watch","build":"rm -rf dist && parcel build","prepublishOnly":"npm run build","test":"jest","test:watch":"jest --watch","coverage":"jest --coverage --collectCoverageFrom=\\"./lib/**\\"","format":"prettier --write .","format:check":"prettier --check .","semantic-release":"semantic-release","e2e":"wdio run e2e/wdio.local.conf.ts","e2e:bstack":"wdio run e2e/wdio.bstack.conf.ts"},"devDependencies":{"@parcel/config-default":"^2.9.3","@parcel/packager-ts":"^2.9.3","@parcel/transformer-typescript-tsc":"^2.9.3","@parcel/transformer-typescript-types":"^2.9.3","@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@swc/core":"^1.3.27","@swc/jest":"^0.2.24","@types/jasmine":"^4.3.4","@wdio/browserstack-service":"^8.11.2","@wdio/cli":"^8.11.2","@wdio/globals":"^8.11.2","@wdio/jasmine-framework":"^8.11.2","@wdio/local-runner":"^8.11.2","@wdio/spec-reporter":"^8.11.2","@wdio/types":"^8.10.4","http-server":"^14.1.1","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","mock-socket":"^9.0.0","parcel":"^2.9.3","prettier":"^3.0.0","semantic-release":"^21.0.0","ts-node":"^10.9.1","typescript":"^5.0.0","wdio-geckodriver-service":"^5.0.1"},"dependencies":{"@msgpack/msgpack":"^2.8.0","eventemitter3":"^4.0.7","peerjs-js-binarypack":"^2.1.0","webrtc-adapter":"^9.0.0"},"alias":{"process":false,"buffer":false}}');var Z2=class extends lC.EventEmitter{constructor(e,t,n,a,o,r=5e3){super(),this.pingInterval=r,this._disconnected=!0,this._messagesQueue=[];let s=e?"wss://":"ws://";this._baseUrl=s+t+":"+n+a+"peerjs?key="+o}start(e,t){this._id=e;let n=`${this._baseUrl}&id=${e}&token=${t}`;this._socket||!this._disconnected||(this._socket=new WebSocket(n+"&version="+cC.version),this._disconnected=!1,this._socket.onmessage=a=>{let o;try{o=JSON.parse(a.data),yi.log("Server message received:",o)}catch{yi.log("Invalid server message",a.data);return}this.emit(Qc.Message,o)},this._socket.onclose=a=>{this._disconnected||(yi.log("Socket closed.",a),this._cleanup(),this._disconnected=!0,this.emit(Qc.Disconnected))},this._socket.onopen=()=>{this._disconnected||(this._sendQueuedMessages(),yi.log("Socket open"),this._scheduleHeartbeat())})}_scheduleHeartbeat(){this._wsPingTimer=setTimeout(()=>{this._sendHeartbeat()},this.pingInterval)}_sendHeartbeat(){if(!this._wsOpen()){yi.log("Cannot send heartbeat, because socket closed");return}let e=JSON.stringify({type:fr.Heartbeat});this._socket.send(e),this._scheduleHeartbeat()}_wsOpen(){return!!this._socket&&this._socket.readyState===1}_sendQueuedMessages(){let e=[...this._messagesQueue];this._messagesQueue=[];for(let t of e)this.send(t)}send(e){if(this._disconnected)return;if(!this._id){this._messagesQueue.push(e);return}if(!e.type){this.emit(Qc.Error,"Invalid message");return}if(!this._wsOpen())return;let t=JSON.stringify(e);this._socket.send(t)}close(){this._disconnected||(this._cleanup(),this._disconnected=!0)}_cleanup(){this._socket&&(this._socket.onopen=this._socket.onmessage=this._socket.onclose=null,this._socket.close(),this._socket=void 0),clearTimeout(this._wsPingTimer)}},u1=class{constructor(e){this.connection=e}startConnection(e){let t=this._startPeerConnection();if(this.connection.peerConnection=t,this.connection.type===ed.Media&&e._stream&&this._addTracksToConnection(e._stream,t),e.originator){let n=this.connection,a={ordered:!!e.reliable},o=t.createDataChannel(n.label,a);n._initializeDataChannel(o),this._makeOffer()}else this.handleSDP("OFFER",e.sdp)}_startPeerConnection(){yi.log("Creating RTCPeerConnection.");let e=new RTCPeerConnection(this.connection.provider.options.config);return this._setupListeners(e),e}_setupListeners(e){let t=this.connection.peer,n=this.connection.connectionId,a=this.connection.type,o=this.connection.provider;yi.log("Listening for ICE candidates."),e.onicecandidate=r=>{!r.candidate||!r.candidate.candidate||(yi.log(`Received ICE candidates for ${t}:`,r.candidate),o.socket.send({type:fr.Candidate,payload:{candidate:r.candidate,type:a,connectionId:n},dst:t}))},e.oniceconnectionstatechange=()=>{switch(e.iceConnectionState){case"failed":yi.log("iceConnectionState is failed, closing connections to "+t),this.connection.emitError(ny.NegotiationFailed,"Negotiation of connection to "+t+" failed."),this.connection.close();break;case"closed":yi.log("iceConnectionState is closed, closing connections to "+t),this.connection.emitError(ny.ConnectionClosed,"Connection to "+t+" closed."),this.connection.close();break;case"disconnected":yi.log("iceConnectionState changed to disconnected on the connection with "+t);break;case"completed":e.onicecandidate=()=>{};break}this.connection.emit("iceStateChanged",e.iceConnectionState)},yi.log("Listening for data channel"),e.ondatachannel=r=>{yi.log("Received data channel");let s=r.channel;o.getConnection(t,n)._initializeDataChannel(s)},yi.log("Listening for remote stream"),e.ontrack=r=>{yi.log("Received remote stream");let s=r.streams[0],l=o.getConnection(t,n);if(l.type===ed.Media){let c=l;this._addStreamToMediaConnection(s,c)}}}cleanup(){yi.log("Cleaning up PeerConnection to "+this.connection.peer);let e=this.connection.peerConnection;if(!e)return;this.connection.peerConnection=null,e.onicecandidate=e.oniceconnectionstatechange=e.ondatachannel=e.ontrack=()=>{};let t=e.signalingState!=="closed",n=!1,a=this.connection.dataChannel;a&&(n=!!a.readyState&&a.readyState!=="closed"),(t||n)&&e.close()}async _makeOffer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let n=await e.createOffer(this.connection.options.constraints);yi.log("Created offer."),this.connection.options.sdpTransform&&typeof this.connection.options.sdpTransform=="function"&&(n.sdp=this.connection.options.sdpTransform(n.sdp)||n.sdp);try{await e.setLocalDescription(n),yi.log("Set localDescription:",n,`for:${this.connection.peer}`);let a={sdp:n,type:this.connection.type,connectionId:this.connection.connectionId,metadata:this.connection.metadata};if(this.connection.type===ed.Data){let o=this.connection;a={...a,label:o.label,reliable:o.reliable,serialization:o.serialization}}t.socket.send({type:fr.Offer,payload:a,dst:this.connection.peer})}catch(a){a!="OperationError: Failed to set local offer sdp: Called in wrong state: kHaveRemoteOffer"&&(t.emitError(xo.WebRTC,a),yi.log("Failed to setLocalDescription, ",a))}}catch(n){t.emitError(xo.WebRTC,n),yi.log("Failed to createOffer, ",n)}}async _makeAnswer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let n=await e.createAnswer();yi.log("Created answer."),this.connection.options.sdpTransform&&typeof this.connection.options.sdpTransform=="function"&&(n.sdp=this.connection.options.sdpTransform(n.sdp)||n.sdp);try{await e.setLocalDescription(n),yi.log("Set localDescription:",n,`for:${this.connection.peer}`),t.socket.send({type:fr.Answer,payload:{sdp:n,type:this.connection.type,connectionId:this.connection.connectionId},dst:this.connection.peer})}catch(a){t.emitError(xo.WebRTC,a),yi.log("Failed to setLocalDescription, ",a)}}catch(n){t.emitError(xo.WebRTC,n),yi.log("Failed to create answer, ",n)}}async handleSDP(e,t){t=new RTCSessionDescription(t);let n=this.connection.peerConnection,a=this.connection.provider;yi.log("Setting remote description",t);let o=this;try{await n.setRemoteDescription(t),yi.log(`Set remoteDescription:${e} for:${this.connection.peer}`),e==="OFFER"&&await o._makeAnswer()}catch(r){a.emitError(xo.WebRTC,r),yi.log("Failed to setRemoteDescription, ",r)}}async handleCandidate(e){yi.log("handleCandidate:",e);try{await this.connection.peerConnection.addIceCandidate(e),yi.log(`Added ICE candidate for:${this.connection.peer}`)}catch(t){this.connection.provider.emitError(xo.WebRTC,t),yi.log("Failed to handleCandidate, ",t)}}_addTracksToConnection(e,t){if(yi.log(`add tracks from stream ${e.id} to peer connection`),!t.addTrack)return yi.error("Your browser does't support RTCPeerConnection#addTrack. Ignored.");e.getTracks().forEach(n=>{t.addTrack(n,e)})}_addStreamToMediaConnection(e,t){yi.log(`add stream ${e.id} to media connection ${t.connectionId}`),t.addStream(e)}},p1=class extends lC.EventEmitter{emitError(e,t){yi.error("Error:",t),this.emit("error",new Q2(`${e}`,t))}},Q2=class extends Error{constructor(e,t){typeof t=="string"?super(t):(super(),Object.assign(this,t)),this.type=e}},m1=class extends p1{get open(){return this._open}constructor(e,t,n){super(),this.peer=e,this.provider=t,this.options=n,this._open=!1,this.metadata=n.metadata}},aC,ey=class ey extends m1{get type(){return ed.Media}get localStream(){return this._localStream}get remoteStream(){return this._remoteStream}constructor(e,t,n){super(e,t,n),this._localStream=this.options._stream,this.connectionId=this.options.connectionId||ey.ID_PREFIX+As.randomToken(),this._negotiator=new u1(this),this._localStream&&this._negotiator.startConnection({_stream:this._localStream,originator:!0})}_initializeDataChannel(e){this.dataChannel=e,this.dataChannel.onopen=()=>{yi.log(`DC#${this.connectionId} dc connection success`),this.emit("willCloseOnRemote")},this.dataChannel.onclose=()=>{yi.log(`DC#${this.connectionId} dc closed for:`,this.peer),this.close()}}addStream(e){yi.log("Receiving stream",e),this._remoteStream=e,super.emit("stream",e)}handleMessage(e){let t=e.type,n=e.payload;switch(e.type){case fr.Answer:this._negotiator.handleSDP(t,n.sdp),this._open=!0;break;case fr.Candidate:this._negotiator.handleCandidate(n.candidate);break;default:yi.warn(`Unrecognized message type:${t} from peer:${this.peer}`);break}}answer(e,t={}){if(this._localStream){yi.warn("Local stream already exists on this MediaConnection. Are you answering a call twice?");return}this._localStream=e,t&&t.sdpTransform&&(this.options.sdpTransform=t.sdpTransform),this._negotiator.startConnection({...this.options._payload,_stream:e});let n=this.provider._getMessages(this.connectionId);for(let a of n)this.handleMessage(a);this._open=!0}close(){this._negotiator&&(this._negotiator.cleanup(),this._negotiator=null),this._localStream=null,this._remoteStream=null,this.provider&&(this.provider._removeConnection(this),this.provider=null),this.options&&this.options._stream&&(this.options._stream=null),this.open&&(this._open=!1,super.emit("close"))}};aC=new WeakMap,Mp(ey,aC,ey.ID_PREFIX="mc_");var _1=ey,eC=class{constructor(e){this._options=e}_buildRequest(e){let t=this._options.secure?"https":"http",{host:n,port:a,path:o,key:r}=this._options,s=new URL(`${t}://${n}:${a}${o}${r}/${e}`);return s.searchParams.set("ts",`${Date.now()}${Math.random()}`),s.searchParams.set("version",cC.version),fetch(s.href,{referrerPolicy:this._options.referrerPolicy})}async retrieveId(){try{let e=await this._buildRequest("id");if(e.status!==200)throw new Error(`Error. Status:${e.status}`);return e.text()}catch(e){yi.error("Error retrieving ID",e);let t="";throw this._options.path==="/"&&this._options.host!==As.CLOUD_HOST&&(t=" If you passed in a `path` to your self-hosted PeerServer, you'll also need to pass in that same path when creating a new Peer."),new Error("Could not get an ID from the server."+t)}}async listAllPeers(){try{let e=await this._buildRequest("peers");if(e.status!==200){if(e.status===401){let t="";throw this._options.host===As.CLOUD_HOST?t="It looks like you're using the cloud server. You can email team@peerjs.com to enable peer listing for your API key.":t="You need to enable `allow_discovery` on your self-hosted PeerServer to use this feature.",new Error("It doesn't look like you have permission to list peers IDs. "+t)}throw new Error(`Error. Status:${e.status}`)}return e.json()}catch(e){throw yi.error("Error retrieving list peers",e),new Error("Could not get list peers from the server."+e)}}},oC,rC,Lm=class Lm extends m1{get type(){return ed.Data}constructor(e,t,n){super(e,t,n),this.connectionId=this.options.connectionId||Lm.ID_PREFIX+F4(),this.label=this.options.label||this.connectionId,this.reliable=!!this.options.reliable,this._negotiator=new u1(this),this._negotiator.startConnection(this.options._payload||{originator:!0,reliable:this.reliable})}_initializeDataChannel(e){this.dataChannel=e,this.dataChannel.onopen=()=>{yi.log(`DC#${this.connectionId} dc connection success`),this._open=!0,this.emit("open")},this.dataChannel.onmessage=t=>{yi.log(`DC#${this.connectionId} dc onmessage:`,t.data)},this.dataChannel.onclose=()=>{yi.log(`DC#${this.connectionId} dc closed for:`,this.peer),this.close()}}close(e){if(e?.flush){this.send({__peerData:{type:"close"}});return}this._negotiator&&(this._negotiator.cleanup(),this._negotiator=null),this.provider&&(this.provider._removeConnection(this),this.provider=null),this.dataChannel&&(this.dataChannel.onopen=null,this.dataChannel.onmessage=null,this.dataChannel.onclose=null,this.dataChannel=null),this.open&&(this._open=!1,super.emit("close"))}send(e,t=!1){if(!this.open){this.emitError(ay.NotOpenYet,"Connection is not open. You should listen for the `open` event before sending messages.");return}return this._send(e,t)}async handleMessage(e){let t=e.payload;switch(e.type){case fr.Answer:await this._negotiator.handleSDP(e.type,t.sdp);break;case fr.Candidate:await this._negotiator.handleCandidate(t.candidate);break;default:yi.warn("Unrecognized message type:",e.type,"from peer:",this.peer);break}}};oC=new WeakMap,rC=new WeakMap,Mp(Lm,oC,Lm.ID_PREFIX="dc_"),Mp(Lm,rC,Lm.MAX_BUFFERED_AMOUNT=8388608);var h1=Lm,oy=class extends h1{get bufferSize(){return this._bufferSize}_initializeDataChannel(e){super._initializeDataChannel(e),this.dataChannel.binaryType="arraybuffer",this.dataChannel.addEventListener("message",t=>this._handleDataMessage(t))}_bufferedSend(e){(this._buffering||!this._trySend(e))&&(this._buffer.push(e),this._bufferSize=this._buffer.length)}_trySend(e){if(!this.open)return!1;if(this.dataChannel.bufferedAmount>h1.MAX_BUFFERED_AMOUNT)return this._buffering=!0,setTimeout(()=>{this._buffering=!1,this._tryBuffer()},50),!1;try{this.dataChannel.send(e)}catch(t){return yi.error(`DC#:${this.connectionId} Error when sending:`,t),this._buffering=!0,this.close(),!1}return!0}_tryBuffer(){if(!this.open||this._buffer.length===0)return;let e=this._buffer[0];this._trySend(e)&&(this._buffer.shift(),this._bufferSize=this._buffer.length,this._tryBuffer())}close(e){if(e?.flush){this.send({__peerData:{type:"close"}});return}this._buffer=[],this._bufferSize=0,super.close()}constructor(...e){super(...e),this._buffer=[],this._bufferSize=0,this._buffering=!1}},Qb=class extends oy{close(e){super.close(e),this._chunkedData={}}constructor(e,t,n){super(e,t,n),this.chunker=new d1,this.serialization=df.Binary,this._chunkedData={}}_handleDataMessage({data:e}){let t=g2(e),n=t.__peerData;if(n){if(n.type==="close"){this.close();return}this._handleChunk(t);return}this.emit("data",t)}_handleChunk(e){let t=e.__peerData,n=this._chunkedData[t]||{data:[],count:0,total:e.total};if(n.data[e.n]=new Uint8Array(e.data),n.count++,this._chunkedData[t]=n,n.total===n.count){delete this._chunkedData[t];let a=_ne(n.data);this._handleDataMessage({data:a})}}_send(e,t){let n=v2(e);if(n instanceof Promise)return this._send_blob(n);if(!t&&n.byteLength>this.chunker.chunkedMTU){this._sendChunks(n);return}this._bufferedSend(n)}async _send_blob(e){let t=await e;if(t.byteLength>this.chunker.chunkedMTU){this._sendChunks(t);return}this._bufferedSend(t)}_sendChunks(e){let t=this.chunker.chunk(e);yi.log(`DC#${this.connectionId} Try to send ${t.length} chunks...`);for(let n of t)this.send(n,!0)}},tC=class extends oy{_handleDataMessage({data:e}){super.emit("data",e)}_send(e,t){this._bufferedSend(e)}constructor(...e){super(...e),this.serialization=df.None}},iC=class extends oy{_handleDataMessage({data:e}){let t=this.parse(this.decoder.decode(e)),n=t.__peerData;if(n&&n.type==="close"){this.close();return}this.emit("data",t)}_send(e,t){let n=this.encoder.encode(this.stringify(e));if(n.byteLength>=As.chunkedMTU){this.emitError(ay.MessageToBig,"Message too big for JSON channel");return}this._bufferedSend(n)}constructor(...e){super(...e),this.serialization=df.JSON,this.encoder=new TextEncoder,this.decoder=new TextDecoder,this.stringify=JSON.stringify,this.parse=JSON.parse}};var sC,ty=class ty extends p1{get id(){return this._id}get options(){return this._options}get open(){return this._open}get socket(){return this._socket}get connections(){let e=Object.create(null);for(let[t,n]of this._connections)e[t]=n;return e}get destroyed(){return this._destroyed}get disconnected(){return this._disconnected}constructor(e,t){super(),this._serializers={raw:tC,json:iC,binary:Qb,"binary-utf8":Qb,default:Qb},this._id=null,this._lastServerId=null,this._destroyed=!1,this._disconnected=!1,this._open=!1,this._connections=new Map,this._lostMessages=new Map;let n;if(e&&e.constructor==Object?t=e:e&&(n=e.toString()),t={debug:0,host:As.CLOUD_HOST,port:As.CLOUD_PORT,path:"/",key:ty.DEFAULT_KEY,token:As.randomToken(),config:As.defaultConfig,referrerPolicy:"strict-origin-when-cross-origin",serializers:{},...t},this._options=t,this._serializers={...this._serializers,...this.options.serializers},this._options.host==="/"&&(this._options.host=window.location.hostname),this._options.path&&(this._options.path[0]!=="/"&&(this._options.path="/"+this._options.path),this._options.path[this._options.path.length-1]!=="/"&&(this._options.path+="/")),this._options.secure===void 0&&this._options.host!==As.CLOUD_HOST?this._options.secure=As.isSecure():this._options.host==As.CLOUD_HOST&&(this._options.secure=!0),this._options.logFunction&&yi.setLogFunction(this._options.logFunction),yi.logLevel=this._options.debug||0,this._api=new eC(t),this._socket=this._createServerConnection(),!As.supports.audioVideo&&!As.supports.data){this._delayedAbort(xo.BrowserIncompatible,"The current browser does not support WebRTC");return}if(n&&!As.validateId(n)){this._delayedAbort(xo.InvalidID,`ID "${n}" is invalid`);return}n?this._initialize(n):this._api.retrieveId().then(a=>this._initialize(a)).catch(a=>this._abort(xo.ServerError,a))}_createServerConnection(){let e=new Z2(this._options.secure,this._options.host,this._options.port,this._options.path,this._options.key,this._options.pingInterval);return e.on(Qc.Message,t=>{this._handleMessage(t)}),e.on(Qc.Error,t=>{this._abort(xo.SocketError,t)}),e.on(Qc.Disconnected,()=>{this.disconnected||(this.emitError(xo.Network,"Lost connection to server."),this.disconnect())}),e.on(Qc.Close,()=>{this.disconnected||this._abort(xo.SocketClosed,"Underlying socket is already closed.")}),e}_initialize(e){this._id=e,this.socket.start(e,this._options.token)}_handleMessage(e){let t=e.type,n=e.payload,a=e.src;switch(t){case fr.Open:this._lastServerId=this.id,this._open=!0,this.emit("open",this.id);break;case fr.Error:this._abort(xo.ServerError,n.msg);break;case fr.IdTaken:this._abort(xo.UnavailableID,`ID "${this.id}" is taken`);break;case fr.InvalidKey:this._abort(xo.InvalidKey,`API KEY "${this._options.key}" is invalid`);break;case fr.Leave:yi.log(`Received leave message from ${a}`),this._cleanupPeer(a),this._connections.delete(a);break;case fr.Expire:this.emitError(xo.PeerUnavailable,`Could not connect to peer ${a}`);break;case fr.Offer:{let o=n.connectionId,r=this.getConnection(a,o);if(r&&(r.close(),yi.warn(`Offer received for existing Connection ID:${o}`)),n.type===ed.Media){let l=new _1(a,this,{connectionId:o,_payload:n,metadata:n.metadata});r=l,this._addConnection(a,r),this.emit("call",l)}else if(n.type===ed.Data){let l=new this._serializers[n.serialization](a,this,{connectionId:o,_payload:n,metadata:n.metadata,label:n.label,serialization:n.serialization,reliable:n.reliable});r=l,this._addConnection(a,r),this.emit("connection",l)}else{yi.warn(`Received malformed connection type:${n.type}`);return}let s=this._getMessages(o);for(let l of s)r.handleMessage(l);break}default:{if(!n){yi.warn(`You received a malformed message from ${a} of type ${t}`);return}let o=n.connectionId,r=this.getConnection(a,o);r&&r.peerConnection?r.handleMessage(e):o?this._storeMessage(o,e):yi.warn("You received an unrecognized message:",e);break}}}_storeMessage(e,t){this._lostMessages.has(e)||this._lostMessages.set(e,[]),this._lostMessages.get(e).push(t)}_getMessages(e){let t=this._lostMessages.get(e);return t?(this._lostMessages.delete(e),t):[]}connect(e,t={}){if(t={serialization:"default",...t},this.disconnected){yi.warn("You cannot connect to a new Peer because you called .disconnect() on this Peer and ended your connection with the server. You can create a new Peer to reconnect, or call reconnect on this peer if you believe its ID to still be available."),this.emitError(xo.Disconnected,"Cannot connect to new Peer after disconnecting from server.");return}let n=new this._serializers[t.serialization](e,this,t);return this._addConnection(e,n),n}call(e,t,n={}){if(this.disconnected){yi.warn("You cannot connect to a new Peer because you called .disconnect() on this Peer and ended your connection with the server. You can create a new Peer to reconnect."),this.emitError(xo.Disconnected,"Cannot connect to new Peer after disconnecting from server.");return}if(!t){yi.error("To call a peer, you must provide a stream from your browser's `getUserMedia`.");return}let a=new _1(e,this,{...n,_stream:t});return this._addConnection(e,a),a}_addConnection(e,t){yi.log(`add connection ${t.type}:${t.connectionId} to peerId:${e}`),this._connections.has(e)||this._connections.set(e,[]),this._connections.get(e).push(t)}_removeConnection(e){let t=this._connections.get(e.peer);if(t){let n=t.indexOf(e);n!==-1&&t.splice(n,1)}this._lostMessages.delete(e.connectionId)}getConnection(e,t){let n=this._connections.get(e);if(!n)return null;for(let a of n)if(a.connectionId===t)return a;return null}_delayedAbort(e,t){setTimeout(()=>{this._abort(e,t)},0)}_abort(e,t){yi.error("Aborting!"),this.emitError(e,t),this._lastServerId?this.disconnect():this.destroy()}destroy(){this.destroyed||(yi.log(`Destroy peer with ID:${this.id}`),this.disconnect(),this._cleanup(),this._destroyed=!0,this.emit("close"))}_cleanup(){for(let e of this._connections.keys())this._cleanupPeer(e),this._connections.delete(e);this.socket.removeAllListeners()}_cleanupPeer(e){let t=this._connections.get(e);if(t)for(let n of t)n.close()}disconnect(){if(this.disconnected)return;let e=this.id;yi.log(`Disconnect peer with ID:${e}`),this._disconnected=!0,this._open=!1,this.socket.close(),this._lastServerId=e,this._id=null,this.emit("disconnected",e)}reconnect(){if(this.disconnected&&!this.destroyed)yi.log(`Attempting reconnection to server with ID ${this._lastServerId}`),this._disconnected=!1,this._initialize(this._lastServerId);else{if(this.destroyed)throw new Error("This peer cannot reconnect to the server. It has already been destroyed.");if(!this.disconnected&&!this.open)yi.error("In a hurry? We're still trying to make the initial connection!");else throw new Error(`Peer ${this.id} cannot reconnect because it is not disconnected from the server!`)}}listAllPeers(e=t=>{}){this._api.listAllPeers().then(t=>e(t)).catch(t=>this._abort(xo.ServerError,t))}};sC=new WeakMap,Mp(ty,sC,ty.DEFAULT_KEY="peerjs");var nC=ty;var dC=nC;var Tl=class i{constructor(){this.active=!1,this.hosting=!1,this.clients={},this.client_count=1,this.data_queue=[],this.chat_history=[],this.Project=Project||null,Interface.Panels.chat.inside_vue.chat_history=this.chat_history,Project&&(Project.EditSession=this)}updateClientCount(){this.client_count=Math.clamp(Object.keys(this.clients).length,1,999),this.sendAll("client_count",this.client_count)}start(e){if(this.active)return;let t=this.peer=new dC({key:"edit_session",host:i.defaults.ip,port:9e3,path:"/sessions",secure:!0});this.username=e||i.defaults.placeholder_names.random(),this.username=i.sanitizeMessage(this.username),settings.username.value=this.username,t.on("open",n=>{this.hosting=!0,this.setState(!0),this.self=new i.Client(this,{id:this.peer.id,name:this.username,hosting:!0}),$("#edit_session_token").val(n),this.token=n,Clipbench.setText(n),Blockbench.dispatchEvent("create_session",{peer:t,token:n}),BarItems.edit_session.click()}),t.on("connection",n=>{n.on("open",()=>{var a=new i.Client(this,{id:n.peer,conn:n,name:n.metadata.username,hosting:!1});this.processChatMessage({text:tl("edit_session.joined",[a.name]),color:"green"}),Blockbench.showQuickMessage(tl("edit_session.joined",[a.name])),a.send({type:"chat_message",data:{text:tl("edit_session.welcome",[this.username]),color:"yellow"}});var o=Codecs.project.compile({uuids:!0,bitmaps:!0,backup:!0,history:!0});a.send({type:"init_model",fromHost:this.hosting,sender:this.peer.id,data:o})})}),t.on("error",n=>{console.error("Error in edit session:",n)})}join(e,t){this.active||(this.hosting=!1,this.peer=new dC({key:"edit_session",host:i.defaults.ip,port:9e3,path:"/sessions",secure:!0}),this.peer.on("open",()=>{if(this.username=e||i.defaults.placeholder_names.random(),this.username=i.sanitizeMessage(this.username),settings.username.value=this.username,!t||!i.matchToken(t)){Blockbench.showMessageBox({translateKey:"invalid_session",icon:"cloud_off"},a=>{BarItems.edit_session.click()});return}this.token=t;var n=this.peer.connect(t,{metadata:{username:this.username}});n.on("error",a=>{console.error("peer join error",a),Blockbench.showMessageBox({translateKey:"invalid_session",icon:"cloud_off"}),this.quit()}),n.on("open",()=>{Dialog.open&&Dialog.open.id=="edit_session"&&Dialog.open.cancel(),this.host=n,this.setState(!0),this.initConnection(n),updateInterfacePanels(),Blockbench.dispatchEvent("join_session",{conn:n})})}),this.peer.on("error",n=>{console.error("Error in edit session:",n)}))}quit(){this.active&&(Blockbench.dispatchEvent("quit_session",{}),this.hosting?this.sendAll("command","quit_session"):this.host.close(),ModelProject.all.forEach(e=>{e.EditSession==this&&delete e.EditSession}),setTimeout(()=>{this.setState(!1),this.chat_history.purge(),this.peer.destroy(),Blockbench.showQuickMessage("edit_session.quit_session",1500)},400))}setState(e){this.active=e,e||(this.hosting=!1),Interface.tab_bar.$forceUpdate(),TickUpdates.interface=!0}copyToken(){let e=document.getElementById("edit_session_token");if(this.active)e.focus(),document.execCommand("selectAll"),document.execCommand("copy");else if(0)var t;else navigator.clipboard.readText().then(n=>{i.matchToken(n)&&(e.value=n)})}initNewModel(e){if(this.active&&this.hosting){var t=Codecs.project.compile({uuids:!0,bitmaps:!0,backup:!0,flag:e?"force":null});e&&(t.flag="force"),this.sendAll("init_model",t)}}initConnection(e){e.on("data",(...t)=>this.receiveData(...t))}sendAll(e,t){var n={type:e,data:t};Blockbench.dispatchEvent("send_session_data",n);for(var a in this.peer.connections){var o=this.peer.connections[a];o.forEach(r=>{r.send({type:n.type,fromHost:this.hosting,sender:this.peer.id,data:n.data})})}Blockbench.hasFlag("log_session")&&console.log("Sent Data:",e,t)}sendEdit(e){var t={before:omitKeys(e.before,["aspects"]),post:omitKeys(e.post,["aspects"]),save_history:e.save_history,action:e.action,time:e.time||Date.now()};this.sendAll("edit",JSON.stringify(t,(n,a)=>n=="image_data"&&typeof a=="object"&&a.data instanceof Uint8ClampedArray?{data:Array.from(a.data)}:a))}receiveData(e){if(Blockbench.hasFlag("log_session")&&console.log("Received Data:",e),this.hosting&&!e.hostOnly&&Object.keys(this.peer.connections).length>1)for(var t in this.peer.connections)t!==e.sender&&this.peer.connections[t].length&&this.peer.connections[t][0].send(e);var n=e.data;if(typeof n=="string"&&(n.includes('"')||n.includes("[")))try{n=e.data=JSON.parse(n)}catch(a){console.log(a);return}Blockbench.dispatchEvent("receive_session_data",e),e.type==="chat_input"&&this.hosting?this.processChatMessage(e.data):e.type==="chat_message"?this.addChatMessage(e.data):Project.EditSession==this||!this.Project?this.processData(e):this.data_queue.push(e)}processData(e){let{data:t}=e;if(e.type==="edit")Undo.remoteEdit(t);else if(e.type==="init_model")setupProject(t.meta.type||"free",t.flag==="force"),Codecs.project.parse(t),this.Project=Project,this.Project.EditSession=this,updateInterfacePanels();else if(e.type==="command")switch(t){case"undo":Undo.undo(!0);break;case"redo":Undo.redo(!0);break;case"quit_session":this.quit();break}else if(e.type==="client_count")this.client_count=parseInt(t);else if(e.type==="change_project_meta")for(var n in t)Project[n]=t[n]}catchUp(){for(;this.data_queue.length;){let e=this.data_queue.shift();try{this.processData(e)}catch(t){console.error(t)}}}sendChat(e){typeof e!="string"&&(e=$("input#chat_input").val(),$("input#chat_input").val("")),e&&(e=i.sanitizeMessage(e),this.processChatMessage({author:this.username,text:e,sender:this.peer.id}))}addChatMessage(e){if(e instanceof i.ChatMessage||(e=new i.ChatMessage(this,e)),!!e.text)return this.chat_history.push(e),Vue.nextTick(()=>{$("#chat_history").scrollTop(1e4)}),!document.hasFocus()&&!e.self&&Blockbench.notification(e.author?e.author+":":"Chat",e.text),e}processChatMessage(e){if(!this.hosting){this.host.send({type:"chat_input",data:e,sender:this.peer.id});return}Blockbench.dispatchEvent("process_chat_message",e),this.sendAll("chat_message",e),this.addChatMessage(e)}};Tl.matchToken=function(i){return!!(i.length===16&&i.match(/[a-z0-9]{16}/))};Tl.defaults={max_chat_length:512,ip:"blckbn.ch",placeholder_names:["R2D2","Tin Man","C3PO","WALL-E","EVE","BB-8","B1 Battle Droid","ASIMO","Atlas"]};Tl.Client=class{constructor(i,e){var t=this;this.id=e.id,this.hosting=e.hosting,this.conn=e.conn,this.name=e.name,this.session=i,this.session.clients[this.id]=this,this.session.updateClientCount(),this.conn&&(this.session.initConnection(this.conn),this.conn.on("close",()=>{t.disconnect()}),this.conn.on("error",n=>{t.disconnect(),this.conn.close(),console.error(n)}),Blockbench.dispatchEvent("user_joins_session",this))}send(i){this.conn.send(i)}disconnect(i){this.session.clients[this.id]&&(Blockbench.dispatchEvent("user_leaves_session",this),delete this.session.peer.connections[this.conn.peer],delete this.session.clients[this.id],this.session.updateClientCount(),this.session.processChatMessage({text:tl("edit_session.left",[this.name]),color:"red"}),Blockbench.showQuickMessage(tl("edit_session.left",[this.name])))}};Tl.ChatMessage=class{constructor(i,e){this.session=i,this.author=e.author||"",this.author=this.author.substr(0,64),this.sender=e.sender,this.self=e.sender==this.session.peer.id,this.text=e.text.substr(0,Tl.defaults.max_chat_length)||"",this.html=Interface.createElement("p",{},this.text).innerHTML,this.html=this.html.replace(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g,(n,a)=>Interface.createElement("a",{href:n,class:"open-in-browser"},n).outerHTML);var t=new Date;switch(this.timestamp=t.getTimestamp(),this.toString=()=>this.author+": "+this.content,this.color=e.color,this.color){case"red":this.hex="#ff4158";break;case"orange":this.hex="#ff6f10";break;case"yellow":this.hex="#ffd100";break;case"green":this.hex="#00eb3b";break;case"blue":this.hex="#08a3ff";break}}toObject(){return{author:this.author,text:this.text,color:this.color}}showAuthor(){if(!this.author)return!1;var i=this.session.chat_history.indexOf(this),e=this.session.chat_history[i-1];return!e||e.author!==this.author}};BARS.defineActions(function(){new Action("edit_session",{icon:"people",category:"blockbench",click:()=>{let i=Project&&Project.EditSession;var e,t;i?(e=i.username,t=i.token):(e=settings.username.value,t=Tl.token),new Dialog({id:"edit_session",title:"dialog.edit_session.title",form:{username:{type:"text",label:"edit_session.username",value:e},token:{type:"text",label:"edit_session.token",value:t,readonly:!!i,share_text:!0},about:{type:"info",text:"edit_session.about",condition:!i},status:{type:"info",text:`**${tl("edit_session.status")}**: ${i&&i.hosting?tl("edit_session.hosting"):tl("edit_session.connected")}`,condition:!!i}},cancelIndex:2,buttons:i?["edit_session.quit"]:["edit_session.join","edit_session.create"],onButton(n){let a=this.getFormResult();i&&n==0?i.quit():!i&&n!=2&&(n==0?(i=new Tl,i.join(a.username,a.token)):(Project||Formats.free.new(),i=new Tl,i.start(a.username)))}}).show()}})});Tl.initNewModel=function(){};Tl.sanitizeMessage=function(i){let e="";if(!i||typeof i!="string")return e;for(let t=0;t<i.length;t++)i.charCodeAt(t)<55296&&(e+=i[t]);return e};Interface.definePanels(function(){new Panel("chat",{icon:"chat",condition:{method(){return Project.EditSession&&Project.EditSession.active}},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:10},component:{data(){return{chat_history:[],chat_input:""}},methods:{sendMessage(){Project&&Project.EditSession&&(Project.EditSession.sendChat(this.chat_input),this.chat_input="")}},template:`
<div>
<ul id="chat_history">
<li v-for="msg in chat_history">
<b v-if="msg.showAuthor()" v-bind:class="{self: msg.self}">{{ msg.author }}:</b>
<span class="text" v-bind:style="{color: msg.hex || 'inherit'}" v-html="msg.html"></span>
<span class="timestamp">{{ msg.timestamp }}</span>
</li>
</ul>
<div id="chat_bar">
<input type="text" id="chat_input" class="dark_bordered f_left" maxlength="512" v-model="chat_input">
<i class="material-icons" @click="sendMessage()">send</i>
</div>
</div>
`}})});var ha={checks:[],warnings:[],errors:[],_timeout:null,accumulated_triggers:[],wildcard_trigger:!1,validate(i){i?this.accumulated_triggers.safePush(i):this.wildcard_trigger=!0,this._timeout&&(clearTimeout(this._timeout),this._timeout=null),Project&&(this._timeout=setTimeout(()=>{this._timeout=null,ha.warnings.empty(),ha.errors.empty(),ha.checks.forEach(e=>{try{if(!Condition(e.condition))return;(this.wildcard_trigger||e.update_triggers.includes(i)||this.accumulated_triggers.find(t=>e.update_triggers.includes(t)))&&e.update(),ha.warnings.push(...e.warnings),ha.errors.push(...e.errors)}catch(t){console.error(t)}}),this.accumulated_triggers.empty(),this.wildcard_trigger=!1},40))},openDialog(){ha.dialog||(ha.dialog=new Dialog({id:"validator",title:"action.validator_window",singleButton:!0,width:800,component:{data(){return{warnings:ha.warnings,errors:ha.errors}},computed:{problems(){return this.errors.forEach(i=>i.error=!0),[...this.errors,...this.warnings]}},methods:{getIconNode:Blockbench.getIconNode,pureMarked},template:`
<ul>
<li v-for="problem in problems" class="validator_dialog_problem" :class="problem.error ? 'validator_error' : 'validator_warning'" :key="problem.message">
<i class="material-icons">{{ problem.error ? 'error' : 'warning' }}</i>
<span class="markdown" v-html="pureMarked(problem.message.replace(/\\n/g, '\\n\\n'))"></span>
<template v-if="problem.buttons">
<div v-for="button in problem.buttons" class="tool" :title="button.name" @click="button.click($event)">
<div class="icon_wrapper plugin_icon normal" v-html="getIconNode(button.icon, button.color).outerHTML"></div>
</div>
</template>
</li>
</ul>
`}})),ha.dialog.show()},triggers:[],updateCashedTriggers(){ha.triggers.empty(),ha.checks.forEach(i=>{ha.triggers.safePush(...i.update_triggers)})}},ap=class{constructor(e,t){this.id=e,this.type=t.type,this.update_triggers=t.update_triggers?t.update_triggers instanceof Array?t.update_triggers:[t.update_triggers]:[],this.condition=t.condition,this.run=t.run,this.errors=[],this.warnings=[],this._timeout=null,this.plugin=t.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),ha.checks.push(this),ha.updateCashedTriggers()}delete(){ha.checks.remove(this),ha.updateCashedTriggers()}update(){this.errors.empty(),this.warnings.empty();try{this.run(),this.errors.length>100&&this.errors.splice(100),this.warnings.length>100&&this.warnings.splice(100)}catch(e){console.error(e)}}validate(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this._timeout=setTimeout(()=>{this._timeout=null,this.update(),ha.warnings.empty(),ha.errors.empty(),ha.checks.forEach(e=>{ha.warnings.push(...e.warnings),ha.errors.push(...e.errors)})},40)}warn(...e){this.warnings.push(...e)}fail(...e){this.errors.push(...e)}};BARS.defineActions(function(){new Action("validator_window",{icon:"checklist",category:"file",condition:()=>Project,click(){ha.openDialog()}})});new ap("cube_size_limit",{condition:()=>Format.cube_size_limiter&&settings.deactivate_size_limit.value,update_triggers:["update_selection"],run(){Cube.all.forEach(i=>{Format.cube_size_limiter.test(i)&&this.warn({message:`The cube "${i.name}" is outside the allowed size restrictions. It may not work correctly on the target platform.`,buttons:[{name:"Select Cube",icon:"fa-cube",click(){ha.dialog.hide(),i.select()}}]})})}});new ap("box_uv",{condition:()=>Format.edit_mode&&Cube.all.find(i=>i.box_uv),update_triggers:["update_selection"],run(){Cube.all.forEach(i=>{if(!i.box_uv)return;let t=i.size().filter((n,a)=>n<.999&&(n+i.inflate*2)*i.stretch[a]>.005);if(t.length){let n=[{name:"Select Cube",icon:"fa-cube",click(){ha.dialog.hide(),i.select()}}];Format.optional_box_uv&&n.push({name:"Switch to Per-face UV",icon:"toggle_on",click(){ha.dialog.hide(),Undo.initEdit({elements:[i],uv_only:!0}),i.setUVMode(!1),Undo.finishEdit("Change UV mode"),updateSelection()}}),this.warn({message:`The cube "${i.name}" has ${t.length*2} faces that are smaller than one unit along an axis, which may render incorrectly in Box UV. Increase the size of the cube to at least 1 or switch to Per-face UV and resize the UV to fix this.`,buttons:n})}})}});new ap("texture_names",{condition:{formats:["java_block"]},update_triggers:["add_texture","change_texture_path"],run(){Texture.all.forEach(i=>{let e=i.folder?i.folder+"/"+i.name:i.name,t=e.replace(/^#/,"").match(/[^a-z0-9._/\\-]/);t&&this.warn({message:`Texture "${e}" contains the following invalid characters: "${t.join("")}". Valid characters are: a-z0-9._/\\-. Uppercase letters and spaces are invalid.`,buttons:[{name:"Select Texture",icon:"mouse",click(){ha.dialog.hide(),i.select()}}]})})}});new ap("catmullrom_keyframes",{condition:()=>Format.id?.includes("bedrock"),update_triggers:["update_keyframe_selection"],run(){function i(e){return[{name:"Reveal Keyframe",icon:"icon-keyframe",click(){Dialog.open.close(),e.showInTimeline()}}]}Animation.all.forEach(e=>{for(let t in e.animators){let n=e.animators[t];if(n instanceof BoneAnimator)for(let a in n.channels){if(!n[a]||!n[a].find(r=>r.interpolation=="catmullrom"))continue;let o=n[a].slice().sort((r,s)=>r.time-s.time);o.forEach((r,s)=>{r.interpolation=="catmullrom"?(r.data_points.find(l=>isNaN(l.x)||isNaN(l.y)||isNaN(l.z))&&this.fail({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" contains non-numeric values. Smooth keyframes cannot contain math expressions.`,buttons:i(r)}),(!o[s-1]||o[s-1].interpolation!="catmullrom")&&(!o[s+1]||o[s+1].interpolation!="catmullrom")?this.warn({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" is not surrounded by smooth keyframes. Multiple smooth keyframes are required to create a smooth spline.`,buttons:i(r)}):!o[s+1]&&e.length&&r.time+.01<e.length&&r.data_points.find(l=>parseFloat(l.x)||parseFloat(l.y)||parseFloat(l.z))?this.warn({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" is the last smooth keyframe, but does not line up with the end of the animation. The last keyframe should either be linear, or line up with the animation end.`,buttons:i(r)}):!o[s+1]&&e.loop==="hold"&&r.data_points.find(l=>parseFloat(l.x)||parseFloat(l.y)||parseFloat(l.z))&&this.warn({message:`${n.channels[a].name} keyframe on "${n.name}" in "${e.name}" is the last keyframe, and is smooth. The last keyframe per channel on "hold on last frame" animations should generally be set to linear, since splines cannot hold their value past the last keyframe.`,buttons:i(r)})):o[s+1]&&o[s+1].interpolation=="catmullrom"&&r.data_points.find(l=>isNaN(l.x)||isNaN(l.y)||isNaN(l.z))?this.fail({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" contains non-numeric values. Keyframes that are adjacent to smooth keyframes cannot contain math expressions.`,buttons:i(r)}):o[s-1]&&o[s-1].interpolation=="catmullrom"&&r.data_points.find(l=>isNaN(l.x)||isNaN(l.y)||isNaN(l.z))?this.fail({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" contains non-numeric values. Keyframes that are adjacent to smooth keyframes cannot contain math expressions.`,buttons:i(r)}):o[s-2]&&o[s-2].interpolation=="catmullrom"&&r.data_points.find(l=>isNaN(l.x)||isNaN(l.y)||isNaN(l.z))&&this.warn({message:`${n.channels[a].name} keyframe at ${r.time.toFixed(2)} on "${n.name}" in "${e.name}" contains non-numeric values. Keyframes that are adjacent to smooth keyframes cannot contain math expressions.`,buttons:i(r)})})}}})}});new ap("zero_wide_uv_faces",{condition:{formats:["optifine_entity","java_block"]},update_triggers:["update_selection"],run(){for(let i of Cube.all){if(i.box_uv&&Format.id=="optifine_entity")continue;let e=[],t={name:"Select Cube",icon:"fa-cube",click(){ha.dialog.hide(),i.select(),UVEditor.getSelectedFaces(i,!0).replace(e),updateSelection()}};for(let n in i.faces){let a=i.faces[n];if(a.texture===null)continue;let o=a.uv_size,r;for(let s of[0,1]){let l=o[s];Math.abs(l)<5e-5&&(r=!0)}r&&(e.push(n),this.warn({message:`The face "${n}" on cube "${i.name}" has invalid UV sizes. UV sizes should not be 0.`,buttons:[t]}))}}}});Object.assign(window,{Validator:ha,ValidatorCheck:ap});Xe.definePanels(function(){new Ml("transform",{icon:"arrows_output",condition:{modes:["edit","pose"],method:()=>!(he.isMobile&&Settings.get("status_bar_transform_sliders"))},display_condition:()=>!!(Outliner.selected.length||Group.first_selected),min_height:90,default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:1},toolbars:[Toolbars.element_position,Toolbars.element_size,Toolbars.element_stretch,Toolbars.element_origin,Toolbars.element_rotation]});let i=new Ml("element",{icon:"fas.fa-cube",condition:{modes:["edit"]},display_condition:()=>!!(Outliner.selected.length||Group.first_selected),default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,attached_to:"transform",attached_index:1,sidebar_index:2},form:new El({})});function e(){let{form_config:n}=i.form;for(let r in n)delete n[r];let a={},o=(r,s,l)=>{if(!l?.inputs?.element_panel)return;let{input:c,onChange:d}=l.inputs.element_panel,u=r+"__"+s;c.condition={selected:{[r]:!0},method:()=>Condition(l.condition)},d&&(a[u]=d),n[u]=c};for(let r in OutlinerElement.types){let s=OutlinerElement.types[r];for(let l in s.properties)o(r,l,s.properties[l])}for(let r in Group.properties)Group.properties[r]?.inputs?.element_panel&&o("group",r,Group.properties[r]);i.form.events?.input?.empty(),i.form.on("input",({result:r,changed_keys:s})=>{if(s[0]?.startsWith("group_")){let l=Group.multi_selected;Undo.initEdit({groups:l});for(let c of s){for(let d of l){let u=c.replace(d.type+"__","");d.constructor.properties?.[u]&&(d[u]=r[c])}a[c]&&a[c](r[c],l)}Undo.finishEdit("Change group property")}else{let l=Outliner.selected.slice();Undo.initEdit({elements:l});for(let c of s){for(let d of l){let u=c.replace(d.type+"__",""),p;p=d.constructor.properties?.[u],p&&p.merge(d,{[u]:r[c]})}a[c]&&a[c](r[c],l)}Undo.finishEdit("Change element property")}}),i.form.buildForm(),updateSelection()}e(),he.on("register_element_type",()=>{e()});let t;he.on("loaded_plugin",()=>{t&&clearTimeout(t),t=setTimeout(()=>{e(),t=void 0},50)}),he.on("update_selection",()=>{let n={};for(let a in OutlinerElement.types){let o=OutlinerElement.types[a],r=o.selected[0];if(r){for(let s in o.properties)if(o.properties[s]?.inputs?.element_panel){let c=a+"__"+s;r[s]instanceof Array?n[c]=r[s].slice():typeof r[s]=="object"?n[c]={...r[s]}:n[c]=r[s]}}}if(Group.multi_selected.length){for(let a in Group.properties)if(Group.properties[a]?.inputs?.element_panel){let r="group__"+a;n[r]=Group.first_selected[a]}}i.form.setValues(n),i.form.update(n),i.form.updateLabelWidth(!0)}),Toolbars.element_origin.node.after(Xe.createElement("div",{id:"element_origin_toolbar_anchor"}))});function op(i,e){let t=new Dialog("expression_editor",{title:"menu.text_edit.expression_editor",resizable:!0,width:800,component:{components:{VuePrismEditor},data:{text:i.text},methods:{prettyPrint(){this.text=this.text.replace(/;\s*(?!\n)/g,`;
`)},minify(){this.text=this.text.replace(/\n/g,"").replace(/\s{2,}/g," ")},findReplace(){let n=this;new Dialog({id:"find_replace",title:"action.find_replace",form:{find:{label:"dialog.find_replace.find",type:"text"},replace:{label:"dialog.find_replace.replace",type:"text"},regex:{label:"dialog.find_replace.regex",type:"checkbox",value:!1}},onConfirm(a){if(!a.find)return;let o=a.replace.replace(/\\n/g,`
`).replace(/\\t/g," ");function r(s){if(a.regex){let l=new RegExp(a.find,"g");return s.replace(l,o)}else return s.split(a.find).join(o)}n.text=r(n.text)}}).show()},autocomplete(n,a){return Settings.get("autocomplete_code")==!1?[]:i.autocomplete_context.autocomplete(n,a)}},template:`
<div>
<div class="dialog_bar">
<button @click="prettyPrint()">${tl("dialog.expression_editor.pretty_print")}</button>
<button @click="minify()">${tl("dialog.expression_editor.minify")}</button>
<button @click="findReplace()">${tl("dialog.expression_editor.find_replace")}</button>
</div>
<vue-prism-editor
class="molang_input"
id="expression_editor_prism"
v-model="text"
language="molang"
:autocomplete="autocomplete"
:ignoreTabKey="false"
:line-numbers="true"
/>
</div>
`},onOpen(){let n=document.querySelector("#expression_editor_prism.molang_input");n.style.height=Math.max(t.object.clientHeight-148,100)+"px",n.style.maxHeight=n.style.height},onResize(){let n=document.querySelector("#expression_editor_prism.molang_input");n.style.height=t.object.clientHeight-148+"px",n.style.maxHeight=n.style.height},onConfirm(){e(t.content_vue.$data.text)}});t.show()}var Cs=class{constructor(){}getShortName(){if(typeof Project.BedrockEntityManager?.client_entity?.description?.animations=="object"){let{animations:e}=Project.BedrockEntityManager.client_entity.description;for(let t in e)if(e[t]==this.name)return t}return this.name.split(/\./).last()}},Gt=class i extends Cs{constructor(e){super(e),this.name="",this.uuid=guid(),this.loop="once",this.playing=!1,this.override=!1,this.selected=!1,this.length=0,this.path="",this.snapping=Math.clamp(settings.animation_snap.value,10,500),this.animators={},this.markers=[],this.type="animation";for(var t in i.properties)i.properties[t].reset(this);typeof e=="object"&&this.extend(e),Project.getMultiFileRuleset()&&Group.all.length&&this.setScopeFromAnimators()}extend(e){for(var t in i.properties)i.properties[t].merge(this,e);if(e.path,Merge.string(this,e,"name"),Merge.string(this,e,"loop",o=>["once","loop","hold"].includes(o)),Merge.boolean(this,e,"override"),Merge.number(this,e,"length"),Merge.number(this,e,"snapping"),this.snapping=Math.clamp(this.snapping,10,500),typeof e.length=="number"&&this.setLength(this.length),e.bones&&!e.animators&&(e.animators=e.bones),e.animators instanceof Object)for(var t in e.animators){let r=e.animators[t];r instanceof Array&&(r={keyframes:r});var n=r.keyframes,a;if(this.animators[t]){a=this.animators[t];for(let s in a.channels)a[s].empty();a.extend(r)}else if(t=="effects")a=this.animators[t]=new EffectAnimator(this),a.extend(r);else if(r.type&&r.type!=="bone"){let s=isUUID(t)&&t,l;if(!s){let c=t.toLowerCase();l=Outliner.elements.find(d=>d.constructor.animator&&d.name.toLowerCase()==c),s=l?l.uuid:guid()}l||(l=Outliner.elements.find(c=>c.constructor.animator&&c.uuid==s)),l&&(a=this.animators[s]=new l.constructor.animator(s,this,r.name)),a?a.extend(r):console.warn(`No matching element was found for the animator with the UUID "${s}" of type "${r.type}" in "${this.name}"`,r)}else{let s=isUUID(t)&&t;if(!s){let l=t.toLowerCase(),c=Group.all.find(d=>d.name.toLowerCase()==l);s=c?c.uuid:guid()}a=this.animators[s]=new BoneAnimator(s,this,r.name),a.extend(r)}n&&a&&n.forEach(s=>{a.addKeyframe(s,s.uuid)})}return e.markers instanceof Array&&e.markers.forEach(o=>{this.markers.find(r=>Math.epsilon(r.time,o.time,.001))||this.markers.push(new TimelineMarker(o))}),this}getUndoCopy(e=0,t){let n={uuid:this.uuid,name:this.name,loop:this.loop,override:this.override,length:this.length,snapping:this.snapping,selected:this.selected};for(let a in i.properties)i.properties[a].copy(this,n);if(this.markers.length&&(n.markers=this.markers.map(a=>a.getUndoCopy())),Object.keys(this.animators).length){n.animators={};for(let a in this.animators){let o=this.animators[a];n.animators[a]=o.getUndoCopy(e)}}return n}compileBedrockAnimation(){return console.warn('"Animation.compileBedrockAnimation" is deprecated'),AnimationCodec.codecs.bedrock.compileAnimation(this)}sampleIK(e=settings.animation_sample_rate.value){let t=1/Math.clamp(e,1,144),n=Timeline.time,a={};if(!NullObject.all.find(o=>o.ik_target&&this.getBoneAnimator(o)?.position.length))return a;for(Timeline.time=0;Timeline.time<=this.length&&Timeline.time<=200;)Animator.showDefaultPose(!0),Group.all.forEach(o=>{Animator.resetLastValues(),Animator.animations.forEach(r=>{let s=r.blend_weight?Math.clamp(Animator.MolangParser.parse(r.blend_weight),0,1/0):1;r.playing&&r.getBoneAnimator(o)?.displayFrame(s)})}),Outliner.elements.forEach(o=>{if(!o.constructor.animator)return;Animator.resetLastValues();let r=this.getBoneAnimator(o);if(!r||!r.displayIK)return;let s=this.blend_weight?Math.clamp(Animator.MolangParser.parse(this.blend_weight),0,1/0):1;r.displayPosition(r.interpolate("position"),s);let l=r.displayIK(!0);for(let c in l)a[c]||(a[c]=[]),a[c].push(l[c])}),Animator.resetLastValues(),Timeline.time+=t;return Timeline.time=n,Modes.animate&&this.selected?Animator.preview():Canvas.updateAllBones(),a}save(){return AnimationCodec.getCodec(this).saveAnimation?.(this),this}select(){let e=i.selected;if(this==i.selected)return;Cs.all.forEach(o=>{o.selected=!1,o.playing==!0&&(o.playing=!1)});let t=e&&Object.keys(e.animators),n,a=e&&Timeline.animators.map(o=>{let r=t.find(s=>e.animators[s]==o);return o.selected&&(n=r),r});return Timeline.clear(),Timeline.vue._data.markers=this.markers,Timeline.vue._data.animation_length=this.length,Timeline.setTime(Timeline.time%this.length),Animator.MolangParser.resetVariables(),this.selected=!0,this.playing==!1&&(this.playing=!0),Cs.selected=this,unselectAllElements(),BarItems.slider_animation_length.update(),Group.all.forEach(o=>{this.getBoneAnimator(o)}),Outliner.elements.forEach(o=>{o.constructor.animator&&this.getBoneAnimator(o)}),a&&a.forEachReverse(o=>{let r=this.animators[o];r&&(r.addToTimeline(),n==o&&r.select(!1))}),Modes.animate&&(Animator.preview(),updateInterface()),he.dispatchEvent("select_animation",{animation:this}),this}clickSelect(){Undo.initSelection(),Prop.active_panel="animations",this.select(),Undo.finishSelection("Select animation")}setLength(e=this.length){this.length=0,this.length=limitNumber(e,this.getMaxLength(),1e4),i.selected==this&&(Timeline.vue._data.animation_length=this.length,BarItems.slider_animation_length.update())}get time(){if(!this.length||this.loop=="once")return Timeline.time;if(this.loop==="loop")return(Timeline.time-.001)%this.length+.001;if(this.loop==="hold")return Math.min(Timeline.time,this.length)}createUniqueName(e){var t=Animator.animations.slice();e&&e.length&&e.forEach(r=>{t.safePush(r)}),t=t.filter(r=>r.path==this.path);var n=this.name.replace(/\d+$/,"");let a=r=>{for(var s=0;s<t.length;s++)if(t[s]!==this&&t[s].name==r)return!1;return!0};if(a(this.name))return this.name;for(var o=2;o<800;o++)if(a(n+o))return this.name=n+o,this.name;return!1}rename(){return he.textPrompt("generic.rename",this.name,e=>{e&&e!==this.name&&(Undo.initEdit({animations:[this]}),this.name=e,this.createUniqueName(),Undo.finishEdit("Rename animation"))}),this}togglePlayingState(e){return this.selected?this.playing=="locked"?this.playing=!0:this.playing="locked":(e!==void 0?this.playing=e:this.playing==!1?this.playing=!0:this.playing==!0?this.playing="locked":this.playing=!1,Animator.preview()),this.playing}showContextMenu(e){return this.select(),this.menu.open(e,this),this}setScopeFromAnimators(){for(let e in this.animators){if(!this.animators[e].keyframes.length)continue;let t=Group.all.find(n=>n.uuid==e);if(t?.scope)return this.scope=t.scope,this.scope}}getBoneAnimator(e){if(!e&&Group.first_selected)e=Group.first_selected;else if(!e&&Outliner.selected[0]&&Outliner.selected[0].constructor.animator)e=Outliner.selected[0];else if(!e)return;if(!e.constructor.animator||e.scope&&e.scope!=this.scope&&Project.getMultiFileRuleset()?.scope_isolated_animations)return;let t=e.uuid;if(!this.animators[t]){let n;for(let a in this.animators){let o=this.animators[a];if(o instanceof BoneAnimator&&o._name&&o._name.toLowerCase()===e.name.toLowerCase()&&!o.group){n=o,n.uuid=e.uuid,this.removeAnimator(a);break}}this.animators[t]=n||new e.constructor.animator(t,this)}return this.animators[t]}removeAnimator(e){return Timeline.animators.remove(this.animators[e]),Timeline.selected_animator==this.animators[e]&&(Timeline.selected_animator=null),delete this.animators[e],this}add(e){return e&&Undo.initEdit({animations:[]}),Animator.animations.includes(this)||Animator.animations.push(this),this.createUniqueName(),e&&(this.select(),Undo.finishEdit("Add animation",{animations:[this]})),this}remove(e,t=!0){return e&&Undo.initEdit({animations:[this]}),Animator.animations.remove(this),e&&Undo.finishEdit("Remove animation",{animations:[]}),he.dispatchEvent("remove_animation",{animations:[this]}),i.selected===this&&(i.selected=null,Timeline.clear(),Animator.preview()),this}getMaxLength(){var e=this.length||0;for(var t in this.animators){var n=this.animators[t],a=n.keyframes;a.find(o=>o.interpolation=="catmullrom")&&(a=a.slice().sort((o,r)=>o.time-r.time)),a.forEach((o,r)=>{o.interpolation=="catmullrom"&&r==a.length-1||(e=Math.max(e,a[r].time))})}return e}setLoop(e,t){(e=="once"||e=="loop"||e=="hold")&&e!==this.loop&&(t&&Undo.initEdit({animations:[this]}),this.loop=e,t&&Undo.finishEdit("Change animation loop mode"))}calculateSnappingFromKeyframes(){let e=[];for(var t in this.animators)this.animators[t].keyframes.forEach(r=>{e.safePush(r.time)});if(e.length>1)for(var n=10;n<=100;n++){let o=!0;for(var a of e){let r=a*n%1;if(r>.01&&r<.99){o=!1;break}}if(o)return this.snapping=n,this.snapping}}propertiesDialog(){let e=new Dialog({id:"animation_properties",title:this.name,width:660,resizable:"x",part_order:["form","component"],form:{name:{label:"generic.name",value:this.name},path:{label:"menu.animation.file",value:this.path,type:"file",extensions:["json"],filetype:"JSON Animation",condition:i.properties.path.condition},scope:{label:"Scope",type:"select",value:this.scope,get options(){let t={0:{name:"None"}};for(let n of Collection.all)n.scope&&(t[n.scope]={name:n.name,color:Es[n.scope-1%Es.length]});return t},condition:!!Project.getMultiFileRuleset()},loop:{label:"menu.animation.loop",type:"inline_select",value:this.loop,options:{once:"menu.animation.loop.once",hold:"menu.animation.loop.hold",loop:"menu.animation.loop.loop"}},override:{label:"menu.animation.override",type:"checkbox",value:this.override},snapping:{label:"menu.animation.snapping",type:"number",value:this.snapping,step:1,min:10,max:500}},component:{components:{VuePrismEditor},data:{anim_time_update:this.anim_time_update,blend_weight:this.blend_weight,start_delay:this.start_delay,loop_delay:this.loop_delay,loop_mode:this.loop},methods:{openMolangContextMenu(t,n,a){new Menu([{name:"menu.text_edit.expression_editor",icon:"code_blocks",click:()=>{op({autocomplete_context:MolangAutocomplete.AnimationContext,text:a},o=>this[n]=o)}}]).open(t)},autocomplete(t,n){return Settings.get("autocomplete_code")==!1?[]:MolangAutocomplete.AnimationContext.autocomplete(t,n)}},template:`<div id="animation_properties_vue">
<div class="dialog_bar form_bar">
<label class="name_space_left">${tl("menu.animation.anim_time_update")}:</label>
<vue-prism-editor class="molang_input"
v-model="anim_time_update"
@contextmenu="openMolangContextMenu($event, 'anim_time_update', anim_time_update)"
language="molang"
:autocomplete="autocomplete" :line-numbers="false"
/>
</div>
<div class="dialog_bar form_bar">
<label class="name_space_left">${tl("menu.animation.blend_weight")}:</label>
<vue-prism-editor class="molang_input"
v-model="blend_weight"
@contextmenu="openMolangContextMenu($event, 'blend_weight', blend_weight)"
language="molang"
:autocomplete="autocomplete" :line-numbers="false"
/>
</div>
<div class="dialog_bar form_bar">
<label class="name_space_left">${tl("menu.animation.start_delay")}:</label>
<vue-prism-editor class="molang_input"
v-model="start_delay"
@contextmenu="openMolangContextMenu($event, 'start_delay', start_delay)"
language="molang"
:autocomplete="autocomplete" :line-numbers="false"
/>
</div>
<div class="dialog_bar form_bar" v-if="loop_mode == 'loop'">
<label class="name_space_left">${tl("menu.animation.loop_delay")}:</label>
<vue-prism-editor class="molang_input"
v-model="loop_delay"
@contextmenu="openMolangContextMenu($event, 'loop_delay', loop_delay)"
language="molang"
:autocomplete="autocomplete" :line-numbers="false"
/>
</div>
</div>`},onFormChange(t){this.component.data.loop_mode=t.loop},onOpen(){this.form.node.style.removeProperty("--max_label_width")},onConfirm:t=>{e.hide().delete(),(t.loop!=this.loop||t.name!=this.name||t.loop!=this.loop||parseInt(t.scope)!=this.scope||t.override!=this.override||t.snapping!=this.snapping||e.component.data.anim_time_update!=this.anim_time_update||e.component.data.blend_weight!=this.blend_weight||e.component.data.start_delay!=this.start_delay||e.component.data.loop_delay!=this.loop_delay)&&(Undo.initEdit({animations:[this]}),this.extend({loop:t.loop,name:t.name,override:t.override,snapping:t.snapping,scope:parseInt(t.scope)??0,anim_time_update:e.component.data.anim_time_update.trim().replace(/\n/g,""),blend_weight:e.component.data.blend_weight.trim().replace(/\n/g,""),start_delay:e.component.data.start_delay.trim().replace(/\n/g,""),loop_delay:e.component.data.loop_delay.trim().replace(/\n/g,"")}),this.createUniqueName(),he.dispatchEvent("edit_animation_properties",{animation:this}),Undo.finishEdit("Edit animation properties"),Animator.preview())},onCancel(){e.hide().delete()}});e.show()}};Object.defineProperty(Gt,"all",{get(){return Project.animations||[]},set(i){Project.animations.replace(i)}});Gt.selected=null;Gt.prototype.menu=new Menu(["copy","paste","duplicate",new MenuSeparator("settings"),{name:"menu.animation.loop",icon:"loop",children:[{name:"menu.animation.loop.once",icon:i=>i.loop=="once"?"far.fa-dot-circle":"far.fa-circle",click(i){i.setLoop("once",!0)}},{name:"menu.animation.loop.hold",icon:i=>i.loop=="hold"?"far.fa-dot-circle":"far.fa-circle",click(i){i.setLoop("hold",!0)}},{name:"menu.animation.loop.loop",icon:i=>i.loop=="loop"?"far.fa-dot-circle":"far.fa-circle",click(i){i.setLoop("loop",!0)}}]},"change_animation_speed",new MenuSeparator("manage"),{name:"menu.animation.save",id:"save",icon:"save",condition:()=>Format.animation_files,click(i){i.save()}},{name:"menu.animation.open_location",id:"open_location",icon:"folder",condition(i){return!1},click(i){bn.showFileInFolder(i.path)}},{name:"generic.edit_externally",id:"edit_externally",icon:"edit_document",condition(i){return!1},click(i){null.send("open-in-default-app",i.path)}},"rename",{id:"reload",name:"menu.animation.reload",icon:"refresh",condition:i=>!1,click(i){AnimationCodec.getCodec(i)?.reloadAnimation(i)}},{id:"unload",name:"menu.animation.unload",icon:"remove",condition:()=>Format.animation_files,click(i){Undo.initEdit({animations:[i]}),i.remove(!1,!1),Undo.finishEdit("Unload animation",{animations:[]})}},"delete",new MenuSeparator("properties"),{name:"menu.animation.properties",icon:"list",click(i){i.propertiesDialog()}}]);Gt.prototype.file_menu=new Menu([{name:"menu.animation_file.unload",icon:"remove",click(i){let e=Gt.all.filter(n=>n.path==i&&n.saved),t=AnimationController.all.filter(n=>n.path==i&&n.saved);!e.length&&!t.length||(Undo.initEdit({animations:e,animation_controllers:t}),e.forEach(n=>{n.remove(!1,!1)}),t.forEach(n=>{n.remove(!1,!1)}),Undo.finishEdit("Unload animation file",{animations:[],animation_controllers:[]}))}},{name:"menu.animation_file.save_as",icon:"save",click(i){let e=Cs.all.find(t=>t.path==i);AnimationCodec.getCodec(e)?.exportFile(i,!0)}},{name:"menu.animation.reload",icon:"refresh",click(i){AnimationCodec.getCodec(Gt.all.find(e=>e.path==i))?.reloadFile(i)}},{name:"menu.animation_file.import_remaining",icon:"playlist_add",click(i){he.read([i],{},e=>{AnimationCodec.getCodec()?.importFile(e[0])})}}]);Gt.prototype.group_menu=new Menu([{name:"action.rename",icon:"text_format",click:async function(i){let e=Gt.all.filter(n=>n.group_name==i),t=await he.textPrompt("action.rename",i);e.length==0||t==i||(Undo.initEdit({animations:e}),e.forEach(n=>{n.group_name=t}),Undo.finishEdit("Unload animation file",{animations:[]}))}}]);new Property(Gt,"boolean","saved",{default:!0,condition:()=>Format.animation_files});new Property(Gt,"string","path",{condition:()=>!1});new Property(Gt,"string","group_name",{condition:()=>Format.animation_grouping=="custom"});new Property(Gt,"number","scope");new Property(Gt,"molang","anim_time_update",{default:""});new Property(Gt,"molang","blend_weight",{default:""});new Property(Gt,"molang","start_delay",{default:""});new Property(Gt,"molang","loop_delay",{default:""});he.on("finish_edit",i=>{Format.animation_files&&(i.aspects.animations&&i.aspects.animations.length&&i.aspects.animations.forEach(e=>{Undo.current_save&&Undo.current_save.aspects.animations instanceof Array&&Undo.current_save.aspects.animations.includes(e)&&(e.saved=!1)}),i.aspects.keyframes&&i.aspects.keyframes instanceof Array&&Gt.selected&&(Gt.selected.saved=!1))});Clipbench.setAnimation=function(){!Gt.selected&&!AnimationController.selected||(Clipbench.animation=Cs.selected.getUndoCopy())};Clipbench.pasteAnimation=function(){if(0){var i;try{var e}catch(t){}}if(!(!Clipbench.animation||!Format.animation_mode))if(Clipbench.animation.type=="animation_controller"){let t=[];Undo.initEdit({animation_controllers:t});let n=new AnimationController(Clipbench.animation).add(!1);n.createUniqueName(),n.select().propertiesDialog(),t.push(n),Undo.finishEdit("Paste animation controller")}else{let t=[];Undo.initEdit({animations:t});let n=new Gt(Clipbench.animation).add(!1);n.createUniqueName(),n.select().propertiesDialog(),t.push(n),Undo.finishEdit("Paste animation")}};SharedActions.add("rename",{condition:()=>Prop.active_panel=="animations"&&Cs.selected,run(){Cs.selected.rename()}});SharedActions.add("delete",{condition:()=>Prop.active_panel=="animations"&&Cs.selected,run(){Cs.selected.remove(!0)}});SharedActions.add("duplicate",{condition:()=>Prop.active_panel=="animations"&&Gt.selected,run(){let i=Gt.selected.getUndoCopy(),e=new Gt(i);Property.resetUniqueValues(Gt,e),e.createUniqueName(),Animator.animations.splice(Animator.animations.indexOf(Gt.selected)+1,0,e),e.saved=!1,e.add(!0).select()}});bn.addDragHandler("animation",{extensions:["animation.json","animation_controllers.json"],readtype:"text",condition:{modes:["animate"]}},async function(i){for(let e of i)await AnimationCodec.codecs.bedrock.importFile(e)});new ValidatorCheck("unused_animators",{condition:{features:["animation_mode"],selected:{animation:!0}},update_triggers:["select_animation"],run(){let i=Gt.selected;if(!i)return;let e=[];for(let t in i.animators){let n=i.animators[t];n instanceof BoneAnimator&&n.keyframes.length&&(n.getGroup()||e.push(n))}if(e.length){let t=[{name:"Retarget Animators",icon:"rebase",click(){Validator.dialog.close(),BarItems.retarget_animators.click()}},{name:"Reveal in Timeline",icon:"fa-sort-amount-up",click(){for(let n of e)n.addToTimeline();Validator.dialog.close()}}];this.warn({message:`The animation "${i.name}" contains ${e.length} animated nodes that do not exist in the current model.`,buttons:t})}}});BARS.defineActions(function(){new NumSlider("slider_animation_length",{category:"animation",condition:()=>Animator.open&&Gt.selected,getInterval(e){return e&&e.shiftKey||Pressing.overrides.shift?1:Timeline.getStep()},get:function(){return Gt.selected.length},change:function(e){Gt.selected.setLength(limitNumber(e(Gt.selected.length),0,1e4))},onBefore:function(){Undo.initEdit({animations:[Gt.selected]})},onAfter:function(){Undo.finishEdit("Change animation length")}}),new Action("set_animation_end",{icon:"keyboard_tab",category:"animation",condition:{modes:["animate"],method:()=>Gt.selected},keybind:new Keybind({ctrl:!0,key:35}),click:function(){Undo.initEdit({animations:[Gt.selected]}),Gt.selected.setLength(Timeline.time),Undo.finishEdit("Set animation length")}}),new Action("add_animation",{icon:"fa-plus-circle",category:"animation",condition:{modes:["animate"]},click:function(){new Gt({name:Format.id.includes("bedrock")?"animation."+(Project.geometry_name||"model")+".new":"animation",saved:!1,scope:Group.first_selected?.scope??0}).add(!0).propertiesDialog()}}),new Action("create_animation_group",{icon:"create_new_folder",category:"animation",condition:{modes:["animate"],selected:{animation:!0},method:()=>Format.animation_grouping=="custom"},click:async function(){let e=await he.textPrompt("Group Name","Animation Group");e&&(Undo.initEdit({animations:[Gt.selected]}),Gt.selected.group_name=e,Undo.finishEdit("Set animation length"))}}),new Action("load_animation_file",{icon:"fa-file-video",category:"animation",condition:{modes:["animate"],features:["animation_files"],method:()=>AnimationCodec.getCodec()?.pickFile},click:function(){AnimationCodec.getCodec()?.pickFile()}}),new Action("export_animation_file",{icon:"movie",category:"animation",condition:()=>!!AnimationCodec.getCodec(),click:function(){let e={},t=[],n=Gt.all.slice();Condition(Gt.properties.path.condition)&&n.sort((o,r)=>(o.path??o.name).hashCode()-(r.path??r.name).hashCode()),n.forEach(o=>{let r=o.name;t.push(r),e[r.hashCode()]={label:r,type:"checkbox",value:!0}});let a=new Dialog({id:"animation_export",title:"dialog.animation_export.title",form:e,onConfirm(o){a.hide(),t=t.filter(c=>o[c.hashCode()]);let r=Animator.animations.filter(c=>t.includes(c.name)),l=(AnimationCodec.getCodec()||AnimationCodec.codecs.bedrock).compileFile(r);he.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",content:autoStringify(l)})}});e.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(o){let r={};t.forEach(s=>r[s.hashCode()]=o==0),a.setFormValues(r)}},a.show()}}),new Action("save_all_animations",{icon:"save",category:"animation",condition:()=>Format.animation_files&&AnimationCodec.getCodec(),click:function(){let e=AnimationCodec.getCodec();if(e.multiple_per_file){let n=[];Gt.all.forEach(a=>{n.safePush(a.path)}),n.forEach(a=>{e?.exportFile(a)})}else e.saveAnimation&&Gt.all.forEach(n=>{e.saveAnimation()});let t=[];AnimationController.all.forEach(n=>{t.safePush(n.path)}),t.forEach(n=>{AnimationCodec.codecs.bedrock_animation_controller.exportFile(n)})}}),new Action("bake_ik_animation",{icon:"precision_manufacturing",category:"animation",condition:()=>Modes.animate&&NullObject.all.findIndex(e=>e.ik_target)!=-1,click(){let e=Gt.selected,t=e.sampleIK(e.snapping),n=[];Undo.initEdit({keyframes:n});for(let a in t){let o=e.animators[a];t[a].forEach(({array:r})=>{r[0]=Math.roundTo(r[0],4),r[1]=Math.roundTo(r[1],4),r[2]=Math.roundTo(r[2],4)}),t[a].forEach(({array:r},s)=>{let l=t[a][s-1],c=t[a][s+1];if((!l||l.array.equals(r))&&(!c||c.array.equals(r)))return;let d=Timeline.snapTime(s/e.snapping,e),u={x:r[0],y:r[1],z:r[2]},p=o.createKeyframe(u,d,"rotation",!1,!1);n.push(p)}),o.addToTimeline()}Undo.finishEdit("Bake IK rotations")}}),new Action("bake_animation_into_model",{icon:"directions_run",category:"animation",condition:{modes:["animate"]},click:function(){let e=Outliner.elements;Undo.initEdit({elements:e,outliner:!0,groups:Group.all});let t=Outliner.elements.filter(n=>n.constructor.animator);[...Group.all,...t].forEach(n=>{let a=[0,0,0],o=[0,0,0];Animator.animations.forEach(s=>{if(!s.playing)return;let l=s.getBoneAnimator(n);if(!l)return;let c=s.blend_weight?Math.clamp(Animator.MolangParser.parse(s.blend_weight),0,1/0):1;if(l.channels.rotation){let d=l.interpolate("rotation");d instanceof Array&&a.V3_add(d.map(u=>u*c))}if(l.channels.position){let d=l.interpolate("position");d instanceof Array&&o.V3_add(d.map(u=>u*c))}}),n.getTypeBehavior("rotatable")&&(n.rotation[0]+=a[0],n.rotation[1]+=a[1],n.rotation[2]+=a[2]);function r(s){s instanceof Group?(s.origin.V3_add(o),s.children.forEach(r)):(s.from&&s.from.V3_add(o),s.to&&s.to.V3_add(o),s.origin&&s.origin!==s.from&&s.origin.V3_add(o))}r(n)});for(let n of Mesh.all)if(n.parent instanceof Armature){let a=n.parent.calculateVertexDeformation(n);for(let o in n.vertices)a[o]&&n.vertices[o].V3_add(a[o]);Mesh.preview_controller.updateGeometry(n)}Modes.options.edit.select(),Canvas.updateView({elements:Outliner.elements,element_aspects:{transform:!0},groups:Group.all,group_aspects:{transform:!0}}),Undo.finishEdit("Bake animation into model")}}),new Action("change_animation_speed",{icon:"av_timer",category:"animation",condition:{modes:["animate"],method:()=>Gt.selected},click(){let e=Gt.selected;Undo.initEdit({animations:[e]});let t=[],n={},a=e.snapping,o=e.length,r={};for(let d in e.animators){let u=e.animators[d];t.push(...u.keyframes)}t.forEach(d=>{n[d.uuid]=d.time,r[d.uuid]={left:d.bezier_left_time.slice(),right:d.bezier_right_time.slice()}});let s=1,l=a,c=new Dialog({id:"change_animation_speed",title:"action.change_animation_speed",darken:!1,form:{speed:{label:"dialog.change_animation_speed.speed",type:"range",value:1,min:.1,max:4,step:.01,editable_range_label:!0,full_width:!0},adjust_snapping:{label:"dialog.change_animation_speed.adjust_snapping",type:"checkbox",value:!0},snapping:{label:"menu.animation.snapping",type:"number",value:a,min:1,max:500,condition:d=>d.adjust_snapping}},onFormChange({speed:d,adjust_snapping:u,snapping:p}){d!=s?(p=u?Math.roundTo(a*d,2):a,c.setFormValues({snapping:p},!1)):p!=l&&(d=Math.clamp(Math.roundTo(p/a,2),.1,4),c.setFormValues({speed:d},!1)),s=d,l=p,e.snapping=p,t.forEach(m=>{if(m.time=Timeline.snapTime(n[m.uuid]/d,e),m.interpolation=="bezier"){let _=r[m.uuid];m.bezier_left_time.V3_set(_.left).V3_divide(d),m.bezier_right_time.V3_set(_.right).V3_divide(d)}}),e.setLength(o/d),Animator.preview()},onConfirm(d){Undo.finishEdit("Change animation speed")},onCancel(){Undo.cancelEdit()}}).show()}}),new Action("merge_animation",{icon:"merge_type",category:"animation",condition:()=>Modes.animate&&Gt.all.length>1,click:async function(){let e=Gt.selected,t=await new Promise(o=>{let r={};for(let s of Gt.all)s!=e&&(r[s.uuid]=s.name);new Dialog("merge_animation",{name:"action.merge_animation",form:{animation:{label:"dialog.merge_animation.merge_target",type:"select",options:r}},onConfirm(s){o(s)},onCancel(){o(!1)}}).show()});if(!t)return;let n=Gt.all.find(o=>o.uuid==t.animation),a=[e,n];Undo.initEdit({animations:a});for(let o in e.animators){let r=e.animators[o],s;if(r instanceof BoneAnimator){let l=r.getElement?r.getElement():r.getGroup();s=n.getBoneAnimator(l)}else r instanceof EffectAnimator&&(n.animators.effects||(n.animators.effects=new EffectAnimator(n)),s=n.animators.effects);if(s)for(let l in r.channels){let m=function(f,g){return f?g?typeof f=="number"&&typeof g=="number"?f+g:f.toString()+" + "+g.toString():f:g},c=r.channels[l],d=r[l],u=s[l];if(d.length==0)continue;if(u.length==0){for(let f of d)s.createKeyframe(f,f.time,l,!1,!1);continue}let p={};for(let f of d){let g=Math.roundTo(f.time,2);p[g]||(p[g]={}),p[g].source_kf=f,p[g].time=f.time}for(let f of u){let g=Math.roundTo(f.time,2);p[g]||(p[g]={}),p[g].target_kf=f,p[g].time=f.time}if(r.interpolate)for(let f in p){let g=p[f];Timeline.time=g.time,g.target_kf||(g.target_values=s.interpolate(l,!0)),g.source_kf||(g.source_values=r.interpolate(l,!0))}let _=Object.keys(p).sort((f,g)=>f.time-g.time);for(let f of _){let{source_kf:g,target_kf:v,target_values:b,source_values:x,time:w}=p[f];if(Timeline.time=w,(g||v).transform){if(g&&v)for(let E of"xyz"){let y=g.get(E),A=v.get(E);v.set(E,m(A,y))}else if(g){let E=s.createKeyframe(null,w,l,!1,!1),y=0;for(let A of"xyz"){let R=g.get(A),j=b[y]??0;E.set(A,m(j,R)),y++}}else if(v){let E=0;for(let y of"xyz"){let A=x[E]??0,R=v.get(y);v.set(y,m(R,A)),E++}}}else if(r instanceof EffectAnimator){if(g&&v){if(l=="timeline"){let E=g.data_points[0].script,y=v.data_points[0].script;v.data_points[0].script=E&&y?y+`
`+E:E||y}else if(c?.max_data_points>1)for(let E of g.data_points){let y=new KeyframeDataPoint(v);y.extend(E),v.data_points.push(y)}}else if(g){let E=s.createKeyframe(g,g.time,g.channel,!1,!1);Property.resetUniqueValues(Keyframe,E)}}}}}a.remove(e),e.remove(!1),n.select(),Undo.finishEdit("Merge animations")}});let i="selected_animation";new Action("optimize_animation",{icon:"settings_slow_motion",category:"animation",condition:{modes:["animate"],method:()=>Gt.selected},click:async function(){let e=await new Promise(o=>{new Dialog("optimize_animation",{name:"action.optimize_animation",form:{selection:{label:"dialog.optimize_animation.selection",type:"select",value:i,options:{selected_keyframes:"dialog.optimize_animation.selection.selected_keyframes",selected_animation:"dialog.optimize_animation.selection.selected_animation",all_animations:"dialog.optimize_animation.selection.all_animations"}},_1:"_",advanced:{label:"dialog.advanced",type:"checkbox",value:!1},_2:"_",thresholds:{type:"info",text:"dialog.optimize_animation.thresholds",condition:r=>r.advanced},threshold_rotation:{label:"timeline.rotation",type:"number",value:.05,min:0,max:1,condition:r=>r.advanced},threshold_position:{label:"timeline.position",type:"number",value:.01,min:0,max:1,condition:r=>r.advanced},threshold_scale:{label:"timeline.scale",type:"number",value:.005,min:0,max:1,condition:r=>r.advanced}},onConfirm(r){o(r)},onCancel(){o(!1)}}).show()});if(!e)return;i=e.selection;let t=[Gt.selected];e.selection=="all_animations"&&(t=Gt.all);let n={rotation:e.threshold_rotation,position:e.threshold_position,scale:e.threshold_scale},a=0;Undo.initEdit({animations:t});for(let o of t)for(let r in o.animators){let s=o.animators[r];for(let l in s.channels){if(!s[l]?.length||!s.channels[l].transform)continue;let c=s[l][0],d=+(l==="scale");if(s[l].length==1&&c.data_points.length==1&&(e.selection!="selected_keyframes"||c.selected)&&c.getArray().allAre(g=>g===d)){c.remove();continue}let u=s[l].slice().sort((f,g)=>f.time-g.time),p=u.slice(),m,_=0;for(let f=0;f<p.length;f++){let g=p[f];if(g.data_points.length!=1||!g.selected&&e.selection=="selected_keyframes"){m=g;continue}let v=p[f+1],b=g.getArray(),x=m&&m.getArray(1),w=v&&v.getArray(0),E=!1;if((m||v)&&(!m||x[0]==b[0])&&(!v||w[0]==b[0])&&(!m||x[1]==b[1])&&(!v||w[1]==b[1])&&(!m||x[2]==b[2])&&(!v||w[2]==b[2]))E=!0;else if(m&&v){let y=Math.getLerp(m.time,v.time,g.time),A=["x","y","z"],R;if(m.interpolation==="linear"&&(v.interpolation==="linear"||v.interpolation==="step"))R=A.map(j=>m.getLerp(v,j,y));else if(m.interpolation==="catmullrom"||v.interpolation==="catmullrom"){let j=u[u.indexOf(m)-1],F=u[u.indexOf(v)+1];R=A.map(O=>m.getCatmullromLerp(j,m,v,F,O,y))}else(m.interpolation==="bezier"||v.interpolation==="bezier")&&(R=A.map(j=>m.getBezierLerp(m,v,j,y)));if(R){let j=n[l]??n.position,F=1e-7;R.allAre((L,U)=>{let J=Math.abs(L-b[U]);return F=Math.max(F,J),J<j})&&_<Math.clamp(2*(j/F),0,12)&&(E=!0)}}else!m&&!v&&(b.allAre(y=>y===d)?E=!0:g.time=0);E?(g.remove(),_++,a++):(_=0,m=g)}}}a?(he.showQuickMessage(tl("message.optimize_animation.keyframes_removed",a),2e3),Undo.finishEdit("Optimize animations")):(he.showQuickMessage("message.optimize_animation.nothing_to_optimize",1800),Undo.cancelEdit(!1))}}),new Action("retarget_animators",{icon:"rebase",category:"animation",condition:()=>Gt.selected,click:async function(){let e=Gt.selected,t={},n=[],a=[];for(let d in e.animators){let u=e.animators[d];u instanceof BoneAnimator&&u.keyframes.length&&(u.getGroup()?a.push(u):n.push(u))}let o=n.slice();n.length&&a.length&&o.push("_"),o.push(...a);for(let d of o){if(d=="_"){t._="_";continue}let u=a.includes(d),p={},m;d.type=="bone"?m=Group.all:m=Outliner.all.filter(_=>_.type==d.type),u||(p[d.uuid]="-");for(let _ of m)p[_.uuid]=_.name;t[d.uuid]={label:d.name,type:"select",value:d.uuid,options:p}}let r=await new Promise(d=>{new Dialog("retarget_animators",{name:"action.retarget_animators",form:t,onConfirm(u){d(u)},onCancel(){d(!1)}}).show()});if(!r)return;Undo.initEdit({animations:[e]});let s={};function l(d,u){for(let p in d.channels){d[p].splice(0,1/0,...u[p]);for(let m of d[p])m.animator=d}d.extend(u)}function c(d){for(let u in d.channels)d[u].empty();for(let u in d.constructor.properties)d.constructor.properties[u].reset(d)}for(let d of o){if(d=="_")continue;let u=r[d.uuid];if(u==d.uuid)continue;let p=e.animators[u];s[u]||(s[u]=new d.constructor(u,e),l(s[u],p));let m=!s[d.uuid];m&&(s[d.uuid]=new d.constructor(d.uuid,e),l(s[d.uuid],d)),l(p,s[d.uuid]??d),m&&c(d)}Undo.finishEdit("Retarget animations"),Animator.preview()}}),new Toggle("search_animations",{icon:"search",category:"edit",onChange(e){Panels.animations.inside_vue._data.search_term="",Panels.animations.inside_vue._data.search_enabled=e,e&&Vue.nextTick(()=>{document.getElementById("animation_search_bar").firstChild.focus()})}})});Interface.definePanels(function(){function i(t){let n=t,a=0;for(;n&&n.classList&&!n.classList.contains("animation");)if(a<3&&n)n=n.parentNode,a++;else return[];return[Cs.all.find(o=>o.uuid==n.attributes.anim_id.value),n]}function e(t,n){if(n)return t<16?-1:1}new Panel("animations",{icon:"movie",growable:!0,resizable:!0,condition:{modes:["animate"]},default_position:{slot:"left_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:0},toolbars:[new Toolbar("animations",{children:["add_animation","add_animation_controller","load_animation_file","create_animation_group","slider_animation_length","export_modded_animations","+","search_animations"]})],component:{name:"panel-animations",data(){return{animations:Gt.all,animation_controllers:AnimationController.all,files_folded:{},animation_files:!0,group_animations_by_file:!0,search_enabled:!1,search_term:""}},methods:{openMenu(t){Interface.Panels.animations.menu.show(t)},toggle(t){this.files_folded[t]=!this.files_folded[t],this.$forceUpdate()},saveFile(t,n){let a=AnimationCodec.getCodec(n);a.exportFile&&a.exportFile(t)},addAnimation(t){let n=Cs.all.find(a=>(this.group_animations_by_file?a.path:a.group_name)==t);n instanceof Gt?new Gt({name:n&&n.name.replace(/\w+$/,"new"),path:this.group_animations_by_file?t:void 0,group_name:t,scope:(n.scope||Group.first_selected?.scope)??0,saved:!1}).add(!0).propertiesDialog():new AnimationController({name:n&&n.name.replace(/\w+$/,"new"),path:t,saved:!1}).add(!0)},getScopeColor(t){return t.scope?Es[(t.scope-1)%Es.length]:""},showFileContextMenu(t,n){this.group_animations_by_file?Gt.prototype.file_menu.open(t,n):Gt.prototype.group_menu.open(t,n)},dragAnimation(t){if(getFocusedTextInput()||t.button==1||t.button==2)return;convertTouchEvent(t);let[n]=i(t.target);if(!n||n.locked){let _=function(f){removeEventListeners(document,"mouseup touchend",_)};addEventListeners(document,"mouseup touchend",_);return}let a=!1,o,r,s,l,c,d=t,u=this.group_animations_by_file?"path":"group_name";function p(_){convertTouchEvent(_);let f=[_.clientX-t.clientX,_.clientY-t.clientY];if(a){if(_&&_.preventDefault(),open_menu&&open_menu.hide(),!o){o=document.createElement("div"),o.id="animation_drag_helper";let b=document.createElement("i");b.className="material-icons",b.innerText="movie",o.append(b);let x=document.createElement("span");x.innerText=n.name,o.append(x),document.body.append(o)}o.style.left=`${_.clientX}px`,o.style.top=`${_.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".animation[order]").attr("order",null);let v=document.elementFromPoint(_.clientX,_.clientY);if([s,l]=i(v),s){var g=_.clientY-$(l).offset().top;c=e(g,s),l.setAttribute("order",c),l.classList.add("drag_hover")}}else{let v=Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));he.isTouch?v>20&&r?(clearTimeout(r),r=null):document.getElementById("animations_list").scrollTop+=d.clientY-_.clientY:v>6&&(a=!0)}d=_}function m(_){if(o&&o.remove(),removeEventListeners(document,"mousemove touchmove",p),removeEventListeners(document,"mouseup touchend",m),$(".drag_hover").removeClass("drag_hover"),$(".animation[order]").attr("order",null),he.isTouch&&clearTimeout(r),a&&!open_menu){convertTouchEvent(_);let f=document.elementFromPoint(_.clientX,_.clientY),[g]=i(f);if(!g||g==n)return;if(n instanceof AnimationController){let v=AnimationController.all.indexOf(g);if(v==-1&&g[u]||(AnimationController.all.indexOf(n)<v&&v--,c==1&&v++,AnimationController.all[v]==n&&n[u]==g[u]))return;Undo.initEdit({animation_controllers:[n]}),n[u]=g[u],AnimationController.all.remove(n),AnimationController.all.splice(v,0,n),n.createUniqueName(),Undo.finishEdit("Reorder animation controllers")}else{let v=Gt.all.indexOf(g);if(v==-1&&g[u]||(Gt.all.indexOf(n)<v&&v--,c==1&&v++,Gt.all[v]==n&&n[u]==g[u]))return;Undo.initEdit({animations:[n]}),n[u]=g[u],Gt.all.remove(n),Gt.all.splice(v,0,n),n.createUniqueName(),Undo.finishEdit("Reorder animations")}}}he.isTouch&&(r=setTimeout(()=>{a=!0,p(t)},320)),addEventListeners(document,"mousemove touchmove",p,{passive:!1}),addEventListeners(document,"mouseup touchend",m,{passive:!1})},updateSearch(t){this.search_enabled&&!this.search_term&&!document.querySelector("#animation_search_bar > input:focus")&&(this.search_enabled=!1,BarItems.search_animations.set(!1))}},computed:{files(){let t=this.search_enabled&&this.search_term.toLowerCase(),n=o=>t?o.name.toLowerCase().includes(t):!0,a={};return this.animations.forEach(o=>{let r=(this.group_animations_by_file?o.path:o.group_name)||"",s=this.group_animations_by_file?pathToName(r,!0)||"Unsaved":r;a[r]||(a[r]={animations:[],name:s,type:"animation",saved:!0}),!r&&!this.group_animations_by_file&&(a[r].hide_head=!0),o.saved||(a[r].saved=!1),n(o)&&a[r].animations.push(o)}),this.animation_controllers.forEach(o=>{let r=o.path||"";a[r]||(a[r]={animations:[],name:o.path?pathToName(o.path,!0):"Unsaved",type:"animation_controller",saved:!0}),o.saved||(a[r].saved=!1),n(o)&&a[r].animations.push(o)}),a},common_namespace(){if(this.animations.length)if(this.animations.length==1){let a=this.animations[0].name.match(/^.*[.:]/);return a?a[0]:""}else{let a=this.animations[0].name;if(a.search(/[.:]/)==-1)return"";for(var t of this.animations){if(t==this.animations[0])continue;let o=t.name.split(/[.:]/),r=0;for(var n of o)if(n==a.substr(r,n.length))r+=n.length+1;else break;if(a=a.substr(0,r),a.length<8)return""}return a}else return""},common_controller_namespace(){if(this.animation_controllers.length)if(this.animation_controllers.length==1){let a=this.animation_controllers[0].name.match(/^.*[.:]/);return a?a[0]:""}else{let a=this.animation_controllers[0].name;if(a.search(/[.:]/)==-1)return"";for(var t of this.animation_controllers){if(t==this.animation_controllers[0])continue;let o=t.name.split(/[.:]/),r=0;for(var n of o)if(n==a.substr(r,n.length))r+=n.length+1;else break;if(a=a.substr(0,r),a.length<8)return""}return a}else return""}},template:`
<div>
<search-bar id="animation_search_bar" class="panel_search_bar"
v-if="search_enabled" v-model="search_term"
@input="updateSearch()" onfocusout="Panels.animations.vue.updateSearch()"
/>
<ul
id="animations_list"
class="list mobile_scrollbar"
@mousedown="dragAnimation($event)"
@touchstart="dragAnimation($event)"
@contextmenu.stop.prevent="openMenu($event)"
>
<li v-for="(file, key) in files" :key="key" class="animation_file" @contextmenu.prevent.stop="showFileContextMenu($event, key)">
<div class="animation_file_head" v-if="!file.hide_head" v-on:click.stop="toggle(key)">
<i v-on:click.stop="toggle(key)" class="icon-open-state fa" :class='{"fa-angle-right": files_folded[key], "fa-angle-down": !files_folded[key]}'></i>
<label :title="key">{{ file.name }}</label>
<div class="in_list_button" v-if="group_animations_by_file && !file.saved" v-on:click.stop="saveFile(key, file)">
<i class="material-icons">save</i>
</div>
<div class="in_list_button" v-on:click.stop="addAnimation(key)">
<i class="material-icons">add</i>
</div>
</div>
<ul v-if="!files_folded[key]" :class="{indented: !file.hide_head}">
<li
v-for="animation in file.animations"
v-bind:class="{ selected: animation.selected }"
v-bind:anim_id="animation.uuid"
class="animation"
:key="animation.uuid"
:style="{'--color-scope': getScopeColor(animation)}"
@click.stop="animation.clickSelect()"
@dblclick.stop="animation.propertiesDialog()"
@contextmenu.prevent.stop="animation.showContextMenu($event)"
>
<i class="material-icons" v-if="animation.type == 'animation'">movie</i>
<i class="material-icons" v-else>cable</i>
<label :title="animation.name" v-if="animation.type == 'animation'">
{{ common_namespace ? animation.name.split(common_namespace).join('') : animation.name }}
<span v-if="common_namespace"> - {{ animation.name }}</span>
</label>
<label :title="animation.name" v-else>
{{ common_controller_namespace ? animation.name.split(common_controller_namespace).join('') : animation.name }}
<span v-if="common_controller_namespace"> - {{ animation.name }}</span>
</label>
<div v-if="animation_files" class="in_list_button" v-bind:class="{unclickable: animation.saved}" @click.stop="animation.save()" title="${tl("menu.animation.save")}">
<i v-if="animation.saved" class="material-icons">check_circle</i>
<i v-else class="material-icons">save</i>
</div>
<div class="in_list_button" @dblclick.stop @click.stop="animation.togglePlayingState()" title="${tl("menu.animation.playing")}">
<i v-if="animation.playing == 'locked'" class="fa_big fas fa-lock"></i>
<i v-else-if="animation.playing" class="fa_big far fa-play-circle"></i>
<i v-else class="fa_big far fa-circle"></i>
</div>
</li>
</ul>
</li>
</ul>
</div>
`},menu:new Menu(["add_animation","add_animation_controller","load_animation_file","create_animation_group","paste","save_all_animations"])})});Object.assign(window,{AnimationItem:Cs,Animation:Gt});var Qn=class Qn extends OutlinerNode{constructor(e,t){super(t);for(var n in Qn.properties)Qn.properties[n].reset(this);this.name=Format.bone_rig&&!Format.armature_rig?"bone":"group",this.children=[],this.reset=!1,this.shade=!0,this.mirror_uv=!1,this.selected=!1,this.locked=!1,this.visibility=!0,this.export=!0,this.autouv=0,this.parent="root",this.isOpen=!1,typeof e=="object"?this.extend(e):typeof e=="string"&&(this.name=e)}extend(e){for(var t in Qn.properties)Qn.properties[t].merge(this,e);return Merge.string(this,e,"name"),this.sanitizeName(),Merge.boolean(this,e,"shade"),Merge.boolean(this,e,"mirror_uv"),Merge.boolean(this,e,"reset"),Merge.number(this,e,"autouv"),Merge.boolean(this,e,"export"),Merge.boolean(this,e,"locked"),Merge.boolean(this,e,"visibility"),this}getMesh(){return this.mesh}init(){return super.init(),Project.groups.push(this),(!this.mesh||!this.mesh.parent)&&this.constructor.preview_controller.setup(this),Canvas.updateAllBones([this]),this}select(e,t){if(Blockbench.hasFlag("renaming")||this.locked)return this;e||(e=!0);var n=Qn.multi_selected.length==1&&Qn.first_selected===this&&Outliner.selected.length&&this.matchesSelection();let a=Project.selected_elements[0],o=(e.ctrlOrCmd||Pressing.overrides.ctrl)&&!Modes.animate,r=(e.shiftKey||Pressing.overrides.shift)&&!Modes.animate;if(!o&&!r&&(unselectAllElements(),Project.groups.forEach(function(s){s.selected=!1})),e&&r&&this.getParentArray().includes(Qn.multi_selected.last())&&t){let s,l=Qn.multi_selected.last();this.getParentArray().forEach((c,d)=>{let u=!1;c===l||c===this?(s=!s,u=!0):s&&(u=!0),u&&(c instanceof Qn?c.multiSelect():Outliner.selected.includes(c)||c.markAsSelected())})}else this.selected=!0,Qn.multi_selected.safePush(this);if(n&&(e.which===1||e instanceof TouchEvent)?this.forEachChild(s=>{s.unselect()}):(a&&a.isChildOf(this)&&Outliner.selected.safePush(a),this.children.forEach(function(s){s.markAsSelected(!0)})),Animator.open&&Animation.selected){let s=Animation.selected.getBoneAnimator(this);s?s.select(!0):Blockbench.showQuickMessage("The current animation does not target this node")}return updateSelection(),this}clickSelect(e,t){if(Blockbench.hasFlag("renaming")||this.locked)return this;Undo.initSelection(),this.select(e,t),Undo.finishSelection("Select group")}multiSelect(){return this.locked?this:(this.selected=!0,Qn.multi_selected.safePush(this),this.children.forEach(function(e){e.markAsSelected()}),TickUpdates.selection=!0,this)}selectChildren(e){console.warn("Group#selectChildren is deprecated")}markAsSelected(e){return this.selected=!0,this.children.forEach(function(t){t.markAsSelected(e)}),TickUpdates.selection=!0,this}unselect(e){if(Animator.open&&Animation.selected){var t=Animation.selected.animators[this.uuid];t&&(t.selected=!1)}return Qn.multi_selected.remove(this),this.selected=!1,e&&this.parent.selected&&this.parent.unselect(e),TickUpdates.selection=!0,this}matchesSelection(){if(Qn.multi_selected.length!=1||this!=Qn.first_selected)return!1;let e=this,t=!0;for(let n=0;n<Outliner.selected.length;n++)if(!Outliner.selected[n].isChildOf(e,128))return!1;return this.forEachChild(n=>{n.selected||(t=!1)}),t}openUp(){return this.isOpen=!0,this.updateElement(),this.parent&&this.parent!=="root"&&this.parent.openUp(),this}remove(e){let t=[],n=[this];if(e){this.forEachChild(function(r){r.type=="group"?n.push(r):t.push(r)});let o=[];Animator.animations.forEach(r=>{r.animators&&r.animators[this.uuid]&&o.push(r)}),Undo.initEdit({elements:t,groups:n,outliner:!0,selection:!0,animations:o})}this.unselect(),super.remove();for(var a=this.children.length-1;a>=0;)this.children[a].remove(!1),a--;Animator.animations.forEach(o=>{o.animators&&o.animators[this.uuid]&&o.removeAnimator(this.uuid),o.selected&&Animator.open&&updateKeyframeSelection()}),TickUpdates.selection=!0,Project.groups.remove(this),delete OutlinerNode.uuids[this.uuid],e&&(t.empty(),n.empty(),Undo.finishEdit("Delete group"))}resolve(e=!0){var t=this.children.slice(),n=this.getParentArray().indexOf(this);let a=[],o=[this];return this.forEachChild(r=>{r instanceof Qn?o.push(r):a.push(r)}),e&&Undo.initEdit({outliner:!0,groups:o,elements:a}),t.forEach((r,s)=>{if(r.addTo(this.parent,n),r instanceof Cube&&Format.rotate_cubes||r instanceof OutlinerElement&&r.getTypeBehavior("rotatable")||r instanceof Qn&&Format.bone_rig){let l=new THREE.Quaternion().copy(r.mesh.quaternion);l.premultiply(r.mesh.parent.quaternion);let c=new THREE.Euler().setFromQuaternion(l,r.mesh.rotation.order);r.extend({rotation:[Math.roundTo(Math.radToDeg(c.x),4),Math.roundTo(Math.radToDeg(c.y),4),Math.roundTo(Math.radToDeg(c.z),4)]})}if(r.mesh){let l=new THREE.Vector3().copy(r.mesh.position);l.applyQuaternion(this.mesh.quaternion).sub(r.mesh.position);let c=l.toArray();r.from&&r.from.V3_add(c),r.to&&r.to.V3_add(c),(r.getTypeBehavior("rotatable")||r instanceof Qn)&&r.origin.V3_add(c),r instanceof Qn&&r.forEachChild(d=>{if(d instanceof Mesh)for(let u in d.vertices)d.vertices[u].V3_add(c);d instanceof Cube&&d.from.V3_add(c),d.to&&d.to.V3_add(c),d.origin&&d.origin.V3_add(c)})}}),Canvas.updateAllPositions(),Format.bone_rig&&Canvas.updateAllBones(),this.remove(!1),e&&(o.remove(this),Undo.finishEdit("Resolve group")),t}showContextMenu(e){return this.locked?this:(Qn.multi_selected.includes(this)||this.select(e),this.menu.open(e,this),this)}getWorldCenter(){return THREE.fastWorldPosition(this.mesh,new THREE.Vector3)}transferOrigin(e){if(!this.mesh)return;var t=new THREE.Quaternion().copy(this.mesh.quaternion),n=new THREE.Vector3(this.origin[0]-e[0],this.origin[1]-e[1],this.origin[2]-e[2]),a=new THREE.Vector3().copy(n);a.applyQuaternion(t),n.sub(a),n.applyQuaternion(t.invert()),this.origin.V3_set(e);function o(r){r instanceof Qn?(r.origin.V3_add(n),r.children.forEach(s=>o(s))):(r.getTypeBehavior("movable")&&r.origin.V3_add(n),r.to&&(r.from.V3_add(n),r.to.V3_add(n)))}return this.children.forEach(r=>o(r)),Canvas.updatePositions(),this}setColor(e){return this.color=e,this}sortContent(){if(Undo.initEdit({outliner:!0}),!(this.children.length<1))return this.children.sort(function(e,t){return sort_collator.compare(e.name,t.name)}),Undo.finishEdit("Sort group content"),this}duplicate(){var e=this.getChildlessCopy(!1);delete e.parent,this.getTypeBehavior("unique_name")&&(e.temp_data.old_name=this.name),Property.resetUniqueValues(Qn,e),e.sortInBefore(this,1).init(),this.getTypeBehavior("unique_name")&&e.createUniqueName();for(var t of this.children)t.duplicate().addTo(e);return e.isOpen=!0,Canvas.updatePositions(),e}getSaveCopy(e){let t=this.getChildlessCopy(!0);if(e)for(let n of this.children)t.children.push(n.getSaveCopy(e));return delete t.parent,t}getChildlessCopy(e){var t=new Qn({name:this.name},e?this.uuid:null);for(var n in Qn.properties)Qn.properties[n].copy(this,t);return t.name=this.name,t.origin.V3_set(this.origin),t.rotation.V3_set(this.rotation),t.shade=this.shade,t.mirror_uv=this.mirror_uv,t.reset=this.reset,t.locked=this.locked,t.visibility=this.visibility,t.export=this.export,t.autouv=this.autouv,t.isOpen=this.isOpen,e&&(t.primary_selected=Qn.selected.includes(this)),t}compile(e){var t={name:this.name};for(var n in Qn.properties)Qn.properties[n].copy(this,t);return this.shade==!1&&(t.shade=!1),e&&(t.uuid=this.uuid,t.export=this.export,t.mirror_uv=this.mirror_uv,t.isOpen=this.isOpen===!0,t.locked=this.locked,t.visibility=this.visibility,t.autouv=this.autouv,t.selected=Qn.multi_selected.includes(this)),this.rotation.allEqual(0)&&delete t.rotation,this.reset&&(t.reset=!0),t.children=[],t}forEachChild(e,t,n){var a=0;for(n&&e(this);a<this.children.length;)(!t||(t instanceof Array?t.find(o=>this.children[a]instanceof o):this.children[a]instanceof t))&&e(this.children[a]),this.children[a].forEachChild&&this.children[a].forEachChild(e,t),a++}setAutoUV(e){this.forEachChild(function(t){t.autouv=e,t.updateElement()}),this.autouv=e,this.updateElement()}};W(Qn,"behavior",{unique_name:!1,parent:!0,select_children:"all_first",movable:!0,rotatable:!0,has_pivot:!0,use_absolute_position:!0,marker_color:!0});var di=Qn;di.addBehaviorOverride({condition:{features:["bone_rig"]},behavior:{unique_name:!0}});di.prototype.title=tl("data.group");di.prototype.type="group";di.prototype.icon="folder";di.prototype.name_regex=()=>Format.bone_rig?Format.node_name_regex??"a-zA-Z0-9_":!1;di.prototype.buttons=[Outliner.buttons.autouv,Outliner.buttons.mirror_uv,Outliner.buttons.shade,Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];di.prototype.menu=new Menu([...Outliner.control_menu_group,new MenuSeparator("settings"),"edit_bedrock_binding","set_element_marker_color","randomize_marker_colors",{name:"menu.cube.texture",icon:"collections",condition:()=>Format.per_group_texture,children(i){function e(n,a){let o=di.all.filter(r=>r.selected);Undo.initEdit({groups:o});for(let r of o)r.texture=n;Undo.finishEdit(a),Canvas.updateAllFaces()}let t=[{icon:"crop_square",name:Format.single_texture_default?"menu.cube.texture.default":"menu.cube.texture.blank",click(n){e("","Unassign texture from group")}}];return Texture.all.forEach(n=>{t.push({name:n.name,icon:n.mode==="link"?n.img:n.source,marked:n.uuid==i.texture,click(a){e(n.uuid,"Apply texture to group")}})}),t}},{icon:"sort_by_alpha",name:"menu.group.sort",condition:{modes:["edit"]},click:function(i){i.sortContent()}},"apply_animation_preset","add_all_to_timeline","add_locator",new MenuSeparator("manage"),"resolve_group","rename","delete"]);Object.defineProperty(di,"all",{get(){return Project.groups||[]},set(i){Project.groups.replace(i)}});Object.defineProperty(di,"multi_selected",{get(){return Project.selected_groups||[]},set(i){i instanceof Array||console.warn("Not an array!"),Project.selected_groups.replace(i)}});Object.defineProperty(di,"selected",{get(){return Project.selected_groups||[]},set(i){i instanceof Array||console.warn("Not an array!"),Project.selected_groups.replace(i)}});Object.defineProperty(di,"first_selected",{get(){return Project.selected_groups?.[0]},set(i){Project.selected_groups.replace([i])}});new Property(di,"vector","origin",{default(){return Format.centered_grid?[0,0,0]:[8,8,8]}});new Property(di,"vector","rotation");new Property(di,"number","scope");new Property(di,"string","bedrock_binding",{condition:{formats:["bedrock"]},inputs:{element_panel:{input:{label:"group.bedrock_binding",description:"action.edit_bedrock_binding.desc",type:"text"},onChange(){di.selected.forEach(i=>{i.preview_controller.updateTransform(i)})}}}});new Property(di,"array","cem_animations",{condition:{formats:["optifine_entity"]}});new Property(di,"boolean","cem_attach",{condition:{formats:["optifine_entity"]},inputs:{element_panel:{input:{label:"group.cem_attach",type:"checkbox"}}}});new Property(di,"string","cem_model",{condition:{formats:["optifine_entity"]},inputs:{element_panel:{input:{label:"group.cem_model",type:"text"}}}});new Property(di,"number","cem_scale",{condition:{formats:["optifine_entity"]},inputs:{element_panel:{input:{label:"group.cem_scale",type:"number"}}}});new Property(di,"string","texture",{condition:{features:["per_group_texture"]}});new Property(di,"vector","skin_original_origin",{condition:{formats:["skin"]}});new Property(di,"number","color");new NodePreviewController(di,{setup(i){let e=new THREE.Object3D;e.name=i.uuid,e.isGroup=!0,Project.nodes_3d[i.uuid]=e,e.rotation.order=Format.euler_order,this.dispatchEvent("update_transform",{group:i})},updateVisibility(i){this.dispatchEvent("update_visibility",{element:i})},updateTransform(i){NodePreviewController.prototype.updateTransform.call(this,i);let e=i.scene_object;if(i.scope>=2&&Project.getMultiFileRuleset())if(i.bedrock_binding){let t=85e3,n=[],a=i.bedrock_binding.replace(/'(\w+)'/g,(l,c)=>(n.push(c.toLowerCase()),t+n.length-1)),o=Animator.MolangParser.parse(a,{"query.item_slot_to_bone_name"(l){return 85070}}),r=n[o-t];o==85070&&(r="rightitem");let s=r&&di.all.find(l=>l.name.length==r.length&&l.name.toLowerCase()==r);s&&(e.position.set(i.origin[0],i.origin[1],i.origin[2]),i.parent instanceof di?(e.position.x-=i.parent.origin[0],e.position.y-=i.parent.origin[1],e.position.z-=i.parent.origin[2]):e.position.y-=24,s.mesh.add(e),e.updateMatrixWorld())}else{let t=i.name.toLowerCase(),n=di.all.find(a=>a.scope==1&&a.name.toLowerCase()==t);n&&(n.mesh.add(e),e.position.set(0,0,0),e.updateMatrixWorld())}e.scale.x=e.scale.y=e.scale.z=1,e.fix_position=e.position.clone(),e.fix_rotation=e.rotation.clone()}});function bne(){if(di.first_selected)return di.first_selected;if(Outliner.selected.length){var i=Outliner.selected[0].parent;if(i instanceof di){for(var e of Outliner.selected)if(e.parent!==i)return;return i}}}function uC(){var i=[];function e(t){for(var n of t)n instanceof di&&(i.push(n),e(n.children))}return e(Outliner.root),i}window.__defineGetter__("selected_group",()=>(console.warn("selected_group is deprecated. Please use Group.first_selected instead."),di.first_selected));BARS.defineActions(function(){new Action("add_group",{icon:"create_new_folder",category:"edit",condition:()=>Modes.edit,keybind:new Keybind({key:"g",ctrl:!0}),click:function(){Undo.initEdit({outliner:!0,groups:[],selection:!0});let i=Outliner.selected.concat(di.multi_selected).filter(n=>!n.parent?.selected);var e=i.find(n=>n instanceof di)||i[0],t=new di({origin:e?e.origin:void 0,scope:e?.scope});t.isOpen=!0,t.getTypeBehavior("unique_name")&&t.createUniqueName(),(e?.children&&e?.getTypeBehavior("child_types")?.includes("group")==!1||e?.parent instanceof OutlinerNode&&e.parent.getTypeBehavior("child_types")?.includes("group")==!1)&&(e=void 0),i.length>=2&&e?(t.sortInBefore(e,1),i.forEach(n=>{n.addTo(t)})):t.addTo(e),t.init().select(),Undo.finishEdit("Add group",{outliner:!0,groups:[t],selection:!0}),Vue.nextTick(function(){updateSelection(),settings.create_rename.value&&t.rename(),t.showInOutliner(),Blockbench.dispatchEvent("add_group",{object:t})})}}),new Action("group_elements",{icon:"drive_folder_upload",category:"edit",condition:()=>Modes.edit&&(Outliner.selected.length||di.first_selected)&&!Outliner.selected.some(i=>i.getTypeBehavior("parent_types")?.includes("group")==!1),keybind:new Keybind({key:"g",ctrl:!0,shift:!0}),click:function(){let i=di.first_selected;if(!i&&Outliner.selected.length&&(i=Outliner.selected.last()),i?.parent instanceof OutlinerNode&&i.parent.getTypeBehavior("child_types")?.includes("group")==!1)return;Undo.initEdit({outliner:!0,groups:[],selection:!0});let e=i?.name,t=new di({origin:i?i.origin:void 0,name:["cube","mesh"].includes(e)?void 0:e,scope:i?.scope});t.sortInBefore(i),t.isOpen=!0,t.init(),t.getTypeBehavior("unique_name")&&t.createUniqueName(),Outliner.selected.concat(di.multi_selected).forEach(n=>{n.parent?.selected||(n.addTo(t),n.preview_controller.updateTransform(n))}),t.select(),Undo.finishEdit("Add group",{outliner:!0,groups:[t],selection:!0}),Vue.nextTick(function(){updateSelection(),settings.create_rename.value&&t.rename(),t.showInOutliner(),Blockbench.dispatchEvent("group_elements",{object:t})})}}),new Action("collapse_groups",{icon:"format_indent_decrease",category:"edit",condition:()=>di.all.length>0,click:function(){di.all.forEach(function(i){i.isOpen=!1})}}),new Action("unfold_groups",{icon:"format_indent_increase",category:"edit",condition:()=>di.all.length>0,click:function(){di.all.forEach(function(i){i.isOpen=!0})}}),new Action("edit_bedrock_binding",{icon:"fa-paperclip",category:"edit",condition:()=>Format.bone_binding_expression&&di.first_selected,click:function(){let i=new Dialog({id:"edit_bedrock_binding",title:"action.edit_bedrock_binding",resizable:"x",component:{components:{VuePrismEditor},data:{binding:di.first_selected.bedrock_binding},methods:{showPresetMenu(e){new Menu([{name:"Item Slot",icon:"build",click:()=>{this.binding="q.item_slot_to_bone_name(c.item_slot)"}},{name:"Right Hand",icon:"build",click:()=>{this.binding="'rightitem'"}},{name:"Left Hand",icon:"build",click:()=>{this.binding="'leftitem'"}},{name:"Body",icon:"build",click:()=>{this.binding="'body'"}},{name:"Head",icon:"build",click:()=>{this.binding="'head'"}}]).show(e.target)},autocomplete(e,t){return Settings.get("autocomplete_code")==!1?[]:MolangAutocomplete.BedrockBindingContext.autocomplete(e,t)}},template:`<div class="dialog_bar">
<vue-prism-editor class="molang_input" v-model="binding" language="molang" :autocomplete="autocomplete" :line-numbers="false" style="width: calc(100% - 36px); display: inline-block;" />
<i class="tool material-icons" style="vertical-align: top; padding: 3px; float: none;" @click="showPresetMenu($event)">menu</i>
</div>`},onConfirm:e=>{i.hide().delete();let t=i.component.data.binding.replace(/\n/g,"");if(t!=di.first_selected.bedrock_binding){Undo.initEdit({groups:di.multi_selected});for(let n of di.multi_selected)n.bedrock_binding=t,n.preview_controller.updateTransform(n);Undo.finishEdit("Edit group binding"),updateSelection()}},onCancel(){i.hide().delete()}}).show()}}),new Action("resolve_group",{icon:"fa-leaf",condition:{modes:["edit"],method:()=>di.first_selected},click(){let i=[],e=[];for(let t of di.multi_selected)e.push(t),t.forEachChild(n=>{n instanceof di?e.push(n):i.safePush(n)});Undo.initEdit({outliner:!0,elements:i,groups:e});for(let t of di.multi_selected.slice())t.resolve(!1),e.remove(t);Undo.finishEdit("Resolve group")}})});Interface.definePanels(function(){new Panel("bone",{icon:"fas.fa-bone",condition:!Blockbench.isMobile&&{modes:["animate"],method:()=>!AnimationController.selected},display_condition:()=>di.first_selected,default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:3},component:{template:`
<div>
<p class="panel_toolbar_label">${tl("panel.element.origin")}</p>
<div class="toolbar_wrapper bone_origin"></div>
</div>
`}})});Object.assign(window,{Group:di,getCurrentGroup:bne,getAllGroups:uC});function yne(){Blockbench.addDragHandler("texture",{extensions:Texture.getAllExtensions,propagate:!0,readtype:"image",condition:()=>!Dialog.open},function(i,e){pC(i,e)}),Blockbench.addDragHandler("texture_set",{extensions:["texture_set.json"],propagate:!0,readtype:"image",condition:()=>Format.pbr&&!Dialog.open},function(i,e){importTextureSet(i[0])}),Blockbench.addDragHandler("reference_image",{extensions:ReferenceImage.supported_extensions,propagate:!0,readtype:"image",condition:()=>Project&&!Dialog.open},function(i,e){i.map(t=>new ReferenceImage({source:t.content,name:t.name||"Reference"}).addAsReference(!0)).last().select(),ReferenceImageMode.activate()}),Blockbench.addDragHandler("model",{extensions:Codec.getAllExtensions},function(i){i.forEach(e=>{ry(e)})}),Blockbench.addDragHandler("style",{extensions:["bbtheme"]},function(i){CustomTheme.import(i[0])}),Blockbench.addDragHandler("settings",{extensions:["bbsettings"]},function(i){Settings.import(i[0])}),Blockbench.addDragHandler("plugin",{extensions:["bbplugin","js"]},function(i){i.forEach(e=>{new Plugin().loadFromFile(e,!0)})})}function ry(i,e){let t=!1,n=pathToExtension(i.path);function a(r,s,l){if(r.load_filter&&r.load_filter.type==s&&(typeof r.load_filter.extensions=="function"?r.load_filter.extensions():r.load_filter.extensions??[]).includes(n)&&Condition(r.load_filter.condition,l))return t&&!r.multiple_per_file?t.select():r.load(l,i,e),!0}for(let r in Codecs)if(a(Codecs[r],"image",i.content))return;for(let r in Codecs)if(a(Codecs[r],"text",i.content))return;let o=autoParseJSON(i.content,{file_path:i.path});for(let r in Codecs)if(a(Codecs[r],"json",o))return;O4(i.path)}async function pC(i,e){let t={},n=e&&$(e.target).parents("li.texture"),a,o=new Image;await new Promise((l,c)=>{o.src=i[0].content,o.onload=l,o.onerror=l}),e==null&&(t.edit=null),Project&&n&&n.length&&(a=Texture.all.findInArray("uuid",n.attr("texid")),a&&(t.replace_texture="menu.texture.change")),Project&&(!Format.image_editor&&Condition(Panels.textures.condition)&&(t.texture="action.import_texture"),Modes.paint&&Texture.selected&&(t.layer="message.load_images.add_layer"),Modes.edit&&(!Project.box_uv||Format.optional_box_uv)&&(t.extrude_with_cubes="dialog.extrude.title")),t.edit="message.load_images.edit_image",Project&&(t.reference_image="data.reference_image"),o.naturalHeight==o.naturalWidth&&[64,128].includes(o.naturalWidth)&&(t.minecraft_skin="format.skin"),Project&&Condition(Panels.textures.condition)&&(Format.image_editor?t.texture="message.load_images.add_image":t.texture="action.import_texture");function r(l){if(l=="texture"){let c=[];Undo.initEdit({textures:c}),i.forEach(function(d,u){let p=new Texture().fromFile(d).add(!1,!0).fillParticle();c.push(p),Format.image_editor&&u==0&&p.select()}),Undo.finishEdit("Add texture")}else if(l=="replace_texture")a.fromFile(i[0]),updateSelection();else if(l=="layer"){let c=Texture.getDefault(),d=new CanvasFrame(o);Undo.initEdit({textures:[c],bitmap:!0}),c.layers_enabled||c.activateLayers(!1);let u=new TextureLayer({name:i[0].name,offset:[0,0]},c),p=d.ctx.getImageData(0,0,d.width,d.height);u.setSize(d.width,d.height),u.ctx.putImageData(p,0,0),c.layers.push(u),u.center(),u.select(),u.setLimbo(),c.updateLayerChanges(!0),Undo.finishEdit("Add image as layer"),updateInterfacePanels(),BARS.updateConditions(),BarItems.move_layer_tool.select()}else l=="reference_image"?(i.map(c=>new ReferenceImage({source:c.content,name:c.name||"Reference"}).addAsReference(!0)).last().select(),ReferenceImageMode.activate()):l=="edit"?Codecs.image.load(i,i[0].path,[o.naturalWidth,o.naturalHeight]):l=="minecraft_skin"?(Formats.skin.setup_dialog.show(),Formats.skin.setup_dialog.setFormValues({texture_source:"upload_texture",texture_file:i[0]})):l=="extrude_with_cubes"&&(ln.dialog.show(),ln.drawImage(i[0]))}let s=Object.keys(t);if(s.length==1)r(s[0]);else if(s.length){let l={replace_texture:"file_upload",texture:"library_add",layer:"new_window",reference_image:"wallpaper",edit:"draw",minecraft_skin:"icon-player",extrude_with_cubes:"eject"},c={replace_texture:"message.load_images.category.add_to_project",texture:"message.load_images.category.add_to_project",layer:"message.load_images.category.add_to_project",reference_image:"message.load_images.category.add_to_project",edit:"message.load_images.category.new_project",minecraft_skin:"message.load_images.category.new_project",extrude_with_cubes:"message.load_images.category.add_to_project"},d={};for(let m in t)c[m]!="message.load_images.category.new_project"&&(d[m]={text:t[m],icon:l[m],category:c[m]});for(let m in t)d[m]={text:t[m],icon:l[m],category:c[m]};let u=tl("message.load_images.title"),p=`${i[0].name}`;i.length>1&&(p+=` (${i.length})`),Blockbench.showMessageBox({id:"load_images",commands:d,title:u,message:p,icon:o,buttons:["dialog.cancel"]},m=>{r(m)})}}function O4(i){let e=pathToExtension(i).toLowerCase(),t=Plugins.all.filter(a=>a.contributes?.open_extensions?.includes(e)),n={};for(let a of t)n[a.id]={icon:!a.icon||a.icon.match(/\.(svg|png)/)?"extension":a.icon,text:tl("message.invalid_format.install_plugin",[a.title])};Blockbench.showMessageBox({translateKey:"unsupported_file_extension",message:tl("message.unsupported_file_extension.message",["`"+pathToName(i,!0)+"`"]),commands:n},a=>{if(a=="open_in_default_program")return null.openPath(i);let o=a&&t.find(r=>r.id==a);o&&(BarItems.plugins_window.click(),Plugins.dialog.content_vue.selectPlugin(o))})}var ln={dialog:new Dialog({id:"image_extruder",title:"dialog.extrude.title",buttons:["dialog.confirm","dialog.cancel"],part_order:["form","lines"],form:{mode:{label:"dialog.extrude.mode",type:"select",options:{areas:"dialog.extrude.mode.areas",lines:"dialog.extrude.mode.lines",columns:"dialog.extrude.mode.columns",pixels:"dialog.extrude.mode.pixels"}},orientation:{label:"dialog.extrude.orientation",type:"select",options:{upright:"dialog.extrude.orientation.upright",flat:"dialog.extrude.orientation.flat"}},scan_tolerance:{label:"dialog.extrude.opacity",type:"range",min:1,max:255,value:255,step:1,editable_range_label:!0}},lines:[Interface.createElement("canvas",{height:256,width:256,id:"extrusion_canvas",class:"checkerboard"})],onConfirm(i){ln.startConversion(i)}}),drawImage(i){ln.canvas=$("#extrusion_canvas").get(0);var e=ln.canvas.getContext("2d");ln.ext_img=new Image,ln.ext_img.src=i.content,ln.image_file=i,ln.ext_img.style.imageRendering="pixelated",ln.canvas.style.imageRendering="pixelated",ln.ext_img.onload=function(){let t=ln.ext_img.naturalWidth/ln.ext_img.naturalHeight;if(ln.canvas.width=256,ln.canvas.height=256/t,e.clearRect(0,0,ln.canvas.width,ln.canvas.height),e.imageSmoothingEnabled=!1,e.drawImage(ln.ext_img,0,0,ln.canvas.width,ln.canvas.height),ln.width=ln.ext_img.naturalWidth,ln.height=ln.ext_img.naturalHeight,!(ln.width>128)){var n=0;e.beginPath();for(var a=0;a<ln.canvas.width;a+=256/ln.width)e.moveTo(.5+a+n,n),e.lineTo(.5+a+n,256+n);for(var a=0;a<ln.canvas.height;a+=256/ln.width)e.moveTo(n,.5+a+n),e.lineTo(256+n,.5+a+n);e.strokeStyle=CustomTheme.data.colors.grid,e.stroke()}}},startConversion(i){var e=i.mode,t=Math.round(i.scan_tolerance);Undo.initEdit({elements:selected,outliner:!0,textures:[]});var n=new Texture().fromFile(ln.image_file).add(!1).fillParticle(),o=Painter.getCanvas(n).getContext("2d"),a=document.createElement("canvas"),o=a.getContext("2d");a.width=ln.ext_img.naturalWidth,a.height=ln.ext_img.naturalHeight,o.drawImage(ln.ext_img,0,0);var r=o.getImageData(0,0,a.width,a.height).data,s={},l=0,c=n.name.split(".")[0];selected.empty();var d=1;Format.cube_size_limiter&&!Format.integer_size&&(d=16/ln.width);let u=Project.getUVWidth(n)/ln.width,p=Project.getUVHeight(n)/ln.height;function m(L,U){var J=r[(L+o.canvas.width*U)*4+3];return Math.isBetween(L,0,ln.width-1)&&Math.isBetween(U,0,ln.height-1)&&J>=t}function _(L,U){s[L]===void 0&&(s[L]={}),s[L][U]=!0}function f(L,U){return s[L]!==void 0&&s[L][U]===!0}let g=0;for(;g<ln.height;){let L=0;for(;L<ln.width;){if(f(L,g)===!1&&m(L,g)===!0){for(var v=!0,b={x:L,y:g,x2:L,y2:g},x=5e3;v===!0&&x;){var w,E,y,A;if(e==="areas"||e==="lines"){for(w=b.y,E=b.x2+1,y=!0;w<=b.y2;)(m(E,w)===!1||f(E,w)===!0)&&(y=!1),w+=1;y===!0&&(b.x2+=1)}else y=!1;if(e==="areas"||e==="columns"){for(E=b.x,w=b.y2+1,A=!0;E<=b.x2;)(m(E,w)===!1||f(E,w)===!0)&&(A=!1),E+=1;A===!0&&(b.y2+=1)}else A=!1;y===!1&&A===!1&&(v=!1),x--}for(var R=b.x,j=b.y;j<=b.y2;){for(R=b.x;R<=b.x2;)_(R,j),R++;j++}let U,J,ie;i.orientation=="upright"?(U=[b.x*d,16-(b.y2+1)*d,0],J=[(b.x2+1)*d,16-b.y*d,d],ie={south:{uv:[b.x*u,b.y*p,(b.x2+1)*u,(b.y2+1)*p],texture:n},north:{uv:[(b.x2+1)*u,b.y*p,b.x*u,(b.y2+1)*p],texture:n},up:{uv:[b.x*u,b.y*p,(b.x2+1)*u,(b.y+1)*p],texture:n},down:{uv:[b.x*u,b.y2*p,(b.x2+1)*u,(b.y2+1)*p],texture:n},east:{uv:[b.x2*u,b.y*p,(b.x2+1)*u,(b.y2+1)*p],texture:n},west:{uv:[b.x*u,b.y*p,(b.x+1)*u,(b.y2+1)*p],texture:n}}):(U=[b.x*d,0,b.y*d],J=[(b.x2+1)*d,d,(b.y2+1)*d],ie={up:{uv:[b.x*u,b.y*p,(b.x2+1)*u,(b.y2+1)*p],texture:n},down:{uv:[b.x*u,(b.y2+1)*p,(b.x2+1)*u,b.y*p],texture:n},north:{uv:[(b.x2+1)*u,b.y*p,b.x*u,(b.y+1)*p],texture:n},south:{uv:[b.x*u,b.y2*p,(b.x2+1)*u,(b.y2+1)*p],texture:n},east:{uv:[b.x2*u,b.y*p,(b.x2+1)*u,(b.y2+1)*p],texture:n,rotation:90},west:{uv:[b.x*u,b.y*p,(b.x+1)*u,(b.y2+1)*p],texture:n,rotation:270}});var F=new Cube({name:c+"_"+l,autouv:0,box_uv:!1,from:U,to:J,faces:ie}).init();selected.push(F),l++}L++}g++}var O=new Group(c).init().addTo();selected.forEach(function(L){L.addTo(O).init()}),Undo.finishEdit("Add extruded texture",{elements:selected,outliner:!0,textures:[Texture.all[Texture.all.length-1]]})}};BARS.defineActions(function(){new Action("open_model",{icon:"file_open",category:"file",keybind:new Keybind({key:"o",ctrl:!0}),click:function(){var i;Blockbench.import({resource_id:"model",extensions:Codec.getAllExtensions(),type:"Model",readtype:e=>{if(typeof e=="string"&&e.search(/\.png$/i)>0)return"image"},startpath:i,multiple:!0},function(e){let t=Texture.getAllExtensions();e.allAre(n=>t.includes(pathToExtension(n.name).toLowerCase()))?pC(e):e.forEach(n=>{ry(n)})})}}),new Action("open_from_link",{icon:"link",category:"file",click(){Blockbench.textPrompt("action.open_from_link","",i=>{if(i.match(/https:\/\/blckbn.ch\//)||i.length==4||i.length==6){let e=i.replace(/\/$/,"").split("/").last();$.getJSON(`https://blckbn.ch/api/models/${e}`,t=>{Codecs.project.load(t,{path:""})}).fail(t=>{Blockbench.showQuickMessage("message.invalid_link")})}else $.getJSON(i,e=>{Codecs.project.load(e,{path:""})}).fail(e=>{Blockbench.showQuickMessage("message.invalid_link")})},{placeholder:"https://blckbn.ch/123abc"})}}),Blockbench.on("drop_text",({text:i})=>{if(i&&i.startsWith("https://blckbn.ch/")){let e=i.replace(/\/$/,"").split("/").last();$.getJSON(`https://blckbn.ch/api/models/${e}`,t=>{Codecs.project.load(t,{path:""})}).fail(t=>{Blockbench.showQuickMessage("message.invalid_link")})}}),new Action("extrude_texture",{icon:"eject",category:"file",condition:i=>Project&&(!Project.box_uv||Format.optional_box_uv),click(){Blockbench.import({resource_id:"texture",extensions:["png"],type:"PNG Texture",readtype:"image"},i=>{i.length&&(ln.dialog.show(),ln.drawImage(i[0]))})}}),new Action("export_over",{icon:"save",category:"file",keybind:new Keybind({key:"s",ctrl:!0}),condition:()=>Project,click:async function(i){let e=Codecs[Project.export_codec]??Format?.codec;await saveTextures(),Format.codec&&Format.codec.export&&Format.codec.export(),Blockbench.dispatchEvent("quick_save_model",{})}}),new Action("export_asset_archive",{icon:"archive",category:"file",condition:i=>Format&&Format.codec,click:function(){var i=new JSZip,e=Format.codec.compile(),t=`${Format.codec.fileName()}.${Format.codec.extension}`;i.file(t,e),Texture.all.forEach(n=>{n.mode==="bitmap"&&i.file(pathToName(n.name)+".png",n.source.replace("data:image/png;base64,",""),{base64:!0})}),i.generateAsync({type:"blob"}).then(n=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"assets",startpath:Project.export_path,content:n,savetype:"zip"}),Project.saved=!0})}})});Object.assign(window,{setupDragHandlers:yne,loadModelFile:ry,loadImages:pC,Extruder:ln,unsupportedFileFormatMessage:O4,compileJSON,autoParseJSON});var Yo=class Yo{constructor(e,t){W(this,"uuid");W(this,"name");W(this,"selected");W(this,"children");W(this,"export_path");W(this,"export_codec");W(this,"visibility");W(this,"scope");W(this,"saved");this.uuid=t&&isUUID(t)?t:BA(),this.selected=!1,this.children=[];for(let n in Yo.properties)Yo.properties[n].reset(this);e&&this.extend(e)}extend(e){for(var t in Yo.properties)Yo.properties[t].merge(this,e);return this}select(e){this.selected=!0,(!(e?.shiftKey||Pressing.overrides.shift)&&!(e?.ctrlOrCmd||Pressing.overrides.ctrl)||Modes.animate)&&(unselectAllElements(),Yo.all.forEach(n=>n.selected=!1)),this.selected=!0;let t=0;Modes.animate&&Gt.selected&&!(e?.ctrlOrCmd||Pressing.overrides.ctrl)&&Timeline.animators.empty();for(let n of this.getChildren()){if(Modes.animate&&Gt.selected){if(n.constructor.animator){let a=Gt.selected.getBoneAnimator(n);a&&a.addToTimeline(!0),t==0&&n.select()}}else n instanceof di?n.multiSelect():n.markAsSelected(!0);t++}return updateSelection(),this}clickSelect(e){Undo.initSelection({collections:!0,timeline:Modes.animate}),this.select(e),Undo.finishSelection("Select collection")}getChildren(){return this.scope?Outliner.nodes.filter(e=>e.scope==this.scope&&!(e.parent instanceof ra&&e.parent.scope==this.scope)):this.children.map(e=>ra.uuids[e]).filter(e=>e!=null)}add(){return Yo.all.safePush(this),this}addSelection(){if(di.multi_selected.length)for(let e of di.multi_selected)this.children.safePush(e.uuid);for(let e of Outliner.selected)e instanceof ra&&e.parent instanceof ra&&e.parent.selected||this.children.safePush(e.uuid);return this}getVisibility(){let e=this.getChildren().find(t=>t&&"visibility"in t&&typeof t.visibility=="boolean");return e?e.visibility:!0}getAllChildren(){let e=this.getChildren(),t=[];for(let n of e)t.safePush(n),"forEachChild"in n&&typeof n.forEachChild=="function"&&n.forEachChild(a=>t.safePush(a));if(this.scope)for(let n of Outliner.nodes)n.scope==this.scope&&t.safePush(n);return t}contains(e){if(this.scope&&this.scope==e.scope)return!0;if(this.children.length==0)return!1;let t=e;for(;t instanceof ra;){if(this.children.includes(t.uuid))return!0;t=t.parent}return!1}toggleVisibility(e){let t=this.getAllChildren();if(!t.length)return;let n=[],a=[];function o(l){!("visibility"in l)||typeof l.visibility!="boolean"||(l instanceof di?n.push(l):a.push(l))}for(let l of t)o(l);e.altKey&&(a=Outliner.elements.filter(l=>!a.includes(l)),n=di.all.filter(l=>!n.includes(l)));let r=n.concat(a),s=r[0]?.visibility!=!0;Undo.initEdit({groups:n,elements:a}),r.forEach(l=>{l.visibility=s}),Canvas.updateView({elements:a,element_aspects:{visibility:!0},groups:n,group_aspects:{visibility:!0}}),Undo.finishEdit("Toggle collection visibility")}showContextMenu(e){return this.selected||this.clickSelect(e),Yo.menu.open(e,this),this}getUndoCopy(){let e={uuid:this.uuid,index:Yo.all.indexOf(this)};for(var t in Yo.properties)Yo.properties[t].copy(this,e);return e}getSaveCopy(){let e={uuid:this.uuid};for(var t in Yo.properties)Yo.properties[t].copy(this,e);return e}propertiesDialog(){let e=this;function t(){let o={group:[]};for(let s of e.getChildren()){let l=s.type;o[l]||(o[l]=[]),o[l].push(s)}let r=[];for(let s in o)for(let l of o[s])r.push({name:l.name,uuid:l.uuid,icon:s=="group"?di.prototype.icon:o[s][0].icon});return r}let n={};for(let o in Yo.properties){let r=Yo.properties[o];if(!Condition(r.condition,this)||!r.inputs?.dialog)continue;let s=Object.assign({},r.inputs.dialog.input);s.value=this[o],n[o]=s}let a=new Dialog({id:"collection_properties",title:this.name,resizable:"x",keyboard_actions:{delete:{keybind:new Keybind({key:46}),run(){this.content_vue.remove()}}},part_order:["form","component"],form:n,component:{components:{VuePrismEditor},data:{content:t(),selected:[]},methods:{selectAll(){for(let o of this.content)this.selected.safePush(o.uuid)},selectNone(){this.selected.empty()},remove(){for(let o of this.selected)this.content.remove(this.content.find(r=>r.uuid==o));this.selected.empty()},addWithFilter(o){BarItems.select_window.click(o,{returnResult:({elements:r,groups:s})=>{for(let l of r.concat(s))this.content.find(c=>c.uuid==l.uuid)||this.content.push({uuid:l.uuid,name:l.name,icon:l.icon})}})}},template:`<div id="collection_properties_vue">
<ul class="list">
<li v-for="node of content" :class="{selected: selected.includes(node.uuid)}" @click="selected.toggle(node.uuid)">
<dynamic-icon :icon="node.icon.replace('fa ', '').replace(/ /g, '.')" />
{{ node.name }}
</li>
</ul>
<div class="dialog_bar">
<button @click="selectAll()">${nn("dialog.collection.select_all")}</button>
<button @click="selectNone()">${nn("dialog.collection.select_none")}</button>
<button @click="addWithFilter()">${nn("dialog.collection.add_with_filter")}</button>
<button @click="remove()" v-if="selected.length">${nn("dialog.collection.remove")}</button>
</div>
</div>`},onFormChange(o){this.component.data.loop_mode=o.loop},onConfirm:o=>{let r=a.content_vue.$data;(Object.keys(n).find(s=>o[s]!=this[s])||r.content.find(s=>!e.children.includes(s.uuid))||e.children.find(s=>!r.content.find(l=>l.uuid==s)))&&(Undo.initEdit({collections:[this]}),this.extend(o),this.children.replace(r.content.map(s=>s.uuid)),this.saved=!1,he.dispatchEvent("edit_collection_properties",{collection:this}),Undo.finishEdit("Edit collection properties")),a.hide().delete()},onCancel(){a.hide().delete()}});a.show()}};W(Yo,"properties"),W(Yo,"all"),W(Yo,"selected"),W(Yo,"menu",new qc([new MenuSeparator("settings"),new MenuSeparator("edit"),"set_collection_content_to_selection","add_to_collection",new MenuSeparator("copypaste"),"copy","duplicate","delete",new MenuSeparator("export"),{id:"open",name:"menu.collection.open_file",icon:"file_open",condition:e=>!1,click(e){bn.readFile([e.export_path],{readtype:"text"},t=>{ry(t[0])})}},{name:"menu.animation.open_location",icon:"folder",condition:e=>!1,click(e){bn.showFileInFolder(e.export_path)}},e=>{let t=Codecs[e.export_codec];if(t?.export_action&&e.export_path&&Condition(t.export_action.condition)){let n=t.export_action;return{id:"export_as",name:nn("menu.collection.export_as",pathToName(e.export_path,!0)),icon:n.icon,description:n.description,click(){t.writeCollection(e)}}}},{id:"export",name:"generic.export",icon:"insert_drive_file",children:e=>{let t=[];for(let n in Codecs){let a=Codecs[n];if(!a.export_action||!a.support_partial_export||!Condition(a.export_action.condition))continue;let o=a.export_action,r={name:o.name,icon:o.icon,description:o.description,click(){a.exportCollection(e)}};n=="project"&&(r={name:"menu.collection.export_project",icon:"icon-blockbench_file",description:"",click(){a.exportCollection(e)}}),t.push(r)}return t}},new MenuSeparator("properties"),{icon:"list",name:"menu.texture.properties",click(e){e.propertiesDialog()}}]));var Rn=Yo;Rn.prototype.menu=Rn.menu;new vt(Rn,"string","name",{default:"collection",inputs:{dialog:{input:{type:"text",label:"generic.name"}}}});new vt(Rn,"string","model_identifier",{condition:{features:["model_identifier",""]},default:()=>Project.model_identifier,inputs:{dialog:{input:{type:"text",label:"dialog.project.geoname"}}}});new vt(Rn,"number","scope");new vt(Rn,"boolean","saved",{default:!0});new vt(Rn,"string","export_codec");new vt(Rn,"string","export_path",{condition:i=>!1,inputs:{dialog:{input:{label:"dialog.collection.export_path",type:"file",extensions:["json"],filetype:"JSON collection"}}}});new vt(Rn,"vector","offset",{condition:i=>i.export_codec&&Codecs[i.export_codec]?.support_offset,inputs:{dialog:{input:{label:"dialog.collection.offset",type:"vector",dimensions:3}}}});new vt(Rn,"array","children");new vt(Rn,"boolean","visibility",{default:!1});Object.defineProperty(Rn,"all",{get(){return Project.collections}});Object.defineProperty(Rn,"selected",{get(){return Project?Project.collections.filter(i=>i.selected):[]}});$o.add("delete",{subject:"collection",condition:()=>mn.active_panel=="collections"&&Rn.selected.length>0,run(){let i=Rn.selected.slice();Undo.initEdit({collections:i});for(let e of i)Rn.all.remove(e);i.empty(),Undo.finishEdit("Remove collection")}});$o.add("duplicate",{subject:"collection",condition:()=>mn.active_panel=="collections"&&Rn.selected.length>0,run(){let i=[];Undo.initEdit({collections:i});for(let e of Rn.selected.slice()){let t=new Rn(e);t.name+=" - copy",t.add().select(),i.push(t)}Undo.finishEdit("Duplicate collection")}});$o.add("copy",{subject:"collection",condition:()=>mn.active_panel=="collections"&&Rn.selected.length>0,run(){qt.collections=Rn.selected.map(i=>i.getUndoCopy())}});$o.add("paste",{subject:"collection",condition:()=>mn.active_panel=="collections"&&qt.collections?.length,run(){let i=[];Undo.initEdit({collections:i});for(let e of qt.collections){let t=new Rn(e);t.name+=" - copy",t.add().select(),i.push(t)}Undo.finishEdit("Paste collection")}});BARS.defineActions(()=>{new Gd("create_collection",{icon:"inventory_2",category:"select",keybind:new Keybind({key:"l",ctrl:!0}),condition:{modes:["edit","paint","animate"]},click(){Undo.initEdit({collections:[]});let i=new Rn({});i.add().addSelection().select(),Undo.finishEdit("Create collection",{collections:[i]}),updateSelection()}}),new Gd("set_collection_content_to_selection",{icon:"unarchive",category:"select",condition:()=>Rn.selected.length>0,click(){let i=Rn.selected;Undo.initEdit({collections:i});for(let e of i)e.children.empty(),e.addSelection();Undo.finishEdit("Set collection content to selection")}}),new Gd("add_to_collection",{icon:"box_add",category:"select",condition:()=>Rn.selected.length>0,click(){let i=Rn.selected;Undo.initEdit({collections:i});for(let e of i)e.addSelection();Undo.finishEdit("Add selection to collection")}})});Xe.definePanels(function(){function i(t){let n=t,a=0;for(;n&&n.classList&&!n.classList.contains("collection");)if(a<3&&n)n=n.parentElement,a++;else return[];let o=n.getAttribute("uuid");return[Rn.all.find(r=>r.uuid==o),n]}function e(t,n){if(n)return t<=20?-1:1}new Ml("collections",{icon:"inventory_2",growable:!0,resizable:!0,optional:!0,default_position:{slot:"hidden",float_position:[0,0],float_size:[300,300],height:300,folded:!1,sidebar_index:9},condition:{modes:["edit","paint","animate"],method:()=>!Format.image_editor},toolbars:[new Ko("collections",{children:["create_collection"]})],component:{name:"panel-collections",data(){return{collections:[]}},methods:{openMenu(t){Xe.Panels.collections.menu.show(t)},dragCollection(t){if(Ib()||t.button==1||t.button==2)return;convertTouchEvent(t);let[n]=i(t.target);if(!n)return;let a=!1,o,r=null,s,l,c,d=t;function u(m){convertTouchEvent(m);let _=[m.clientX-t.clientX,m.clientY-t.clientY];if(a){if(m&&m.preventDefault(),qc.open&&qc.open.hide(),!o){o=document.createElement("div"),o.id="animation_drag_helper";let v=he.getIconNode("inventory_2");o.append(v);let b=document.createElement("span");b.innerText=n.name,o.append(b),document.body.append(o),he.addFlag("dragging_collections")}o.style.left=`${m.clientX}px`,o.style.top=`${m.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".collection[order]").attr("order",null);let g=document.elementFromPoint(m.clientX,m.clientY);if([s,l]=i(g),s){var f=m.clientY-$(l).offset().top;c=e(f,s),l.setAttribute("order",c),l.classList.add("drag_hover")}}else{let g=Math.sqrt(Math.pow(_[0],2)+Math.pow(_[1],2));he.isTouch?g>20&&r?(clearTimeout(r),r=null):document.getElementById("collections_list").scrollTop+=d.clientY-m.clientY:g>6&&(a=!0)}d=m}function p(m){if(o&&o.remove(),Bw(document,"mousemove touchmove",u),Bw(document,"mouseup touchend",p),$(".drag_hover").removeClass("drag_hover"),$(".collection[order]").attr("order",null),he.isTouch&&clearTimeout(r),setTimeout(()=>{he.removeFlag("dragging_collections")},10),a&&!qc.open){convertTouchEvent(m);let _=document.elementFromPoint(m.clientX,m.clientY),[f]=i(_);if(!f||f==n)return;let g=Rn.all.indexOf(f);if(g==-1||(Rn.all.indexOf(n)<g&&g--,c==1&&g++,Rn.all[g]==n))return;Undo.initEdit({collections:[n]}),Rn.all.remove(n),Rn.all.splice(g,0,n),Undo.finishEdit("Reorder collections")}}he.isTouch&&(r=setTimeout(()=>{a=!0,u(t)},320)),addEventListeners(document,"mousemove touchmove",u,{passive:!1}),addEventListeners(document,"mouseup touchend",p,{passive:!1})},unselect(){he.hasFlag("dragging_collections")||(Rn.all.forEach(t=>{t.selected=!1}),updateSelection())},save(t){let n=Codecs[t.export_codec];if(!n)return he.showQuickMessage(`Cannot export collection: Unknown codec "${t.export_codec}"`);t.export_path&&n.writeCollection(t)},getContentList(t){let n={group:[]};for(let o of t.getChildren()){let r=o.type;n[r]||(n[r]=[]),n[r].push(o)}let a=[];for(let o in n)n[o].length&&a.push({count:n[o].length==1?"":n[o].length,name:n[o].length==1?n[o][0].name:"",icon:o=="group"?di.prototype.icon:n[o][0].icon});return a},getScopeColor(t){return t.scope?Es[(t.scope-1)%Es.length]:""}},template:`
<ul
id="collections_list"
class="list mobile_scrollbar"
@contextmenu.stop.prevent="openMenu($event)"
@mousedown="dragCollection($event)"
@touchstart="dragCollection($event)"
@click.stop="unselect($event)"
>
<li
v-for="collection in collections"
:class="{ selected: collection.selected, in_limbo: collection.in_limbo }"
:key="collection.uuid"
:uuid="collection.uuid"
class="collection"
:style="{'--color-scope': getScopeColor(collection)}"
@click.stop="collection.clickSelect($event)"
@dblclick.stop="collection.propertiesDialog()"
@contextmenu.prevent.stop="collection.showContextMenu($event)"
>
<i class="material-icons">inventory_2</i>
<div class="collection_center_wrapper">
<label>
{{ collection.name }}
</label>
<ul class="collection_content_list">
<li v-for="content_stat of getContentList(collection)">
{{ content_stat.count }}
<dynamic-icon :icon="content_stat.icon.replace('fa ', '').replace(/ /g, '.')" />
{{ content_stat.name }}
</li>
</ul>
</div>
<div class="in_list_button"
v-if="collection.export_codec && collection.export_path"
:class="{unclickable: collection.saved}"
@click.stop="save(collection)"
title="${nn("menu.animation.save")}"
>
<i v-if="collection.saved" class="material-icons">check_circle</i>
<i v-else class="material-icons">save</i>
</div>
<div class="in_list_button" @click.stop="collection.toggleVisibility($event)" @dblclick.stop>
<i v-if="collection.getVisibility()" class="material-icons icon">visibility</i>
<i v-else class="material-icons icon toggle_disabled">visibility_off</i>
</div>
</li>
</ul>
`},menu:new qc(["create_collection","copy"])})});var xne={Collection:Rn};Object.assign(window,xne);var rp=class{constructor(e){W(this,"texture");W(this,"element");W(this,"direction");W(this,"uv");for(let t in this.constructor.properties)this.constructor.properties[t].reset(this)}getBoundingRect(){}extend(e){for(let t in this.constructor.properties)this.constructor.properties[t].merge(this,e);return e.texture===null?this.texture=null:e.texture===!1?this.texture=!1:e.texture instanceof Texture&&Texture.all.includes(e.texture)?this.texture=e.texture.uuid:typeof e.texture=="string"&&Merge.string(this,e,"texture"),this}getTexture(){let e=he.dispatchEvent("get_face_texture",{face:this,element:this.element});if(e){let t=e.find(n=>n!=null);if(t)return t}return Format.per_group_texture&&this.element.parent instanceof Group&&this.element.parent.texture?Texture.all.find(t=>t.uuid==this.element.parent.texture):this.texture!==null&&(Format.single_texture||Format.single_texture_default&&(Format.per_group_texture||!this.texture))?Texture.getDefault():typeof this.texture=="string"?Texture.all.find(t=>t.uuid==this.texture):this.texture}reset(){for(let e in this.constructor.properties)this.constructor.properties[e].reset(this);return this.texture=!1,this}getSaveCopy(){let e={uv:this.uv,texture:void 0};for(let n in this.constructor.properties)this[n]!=this.constructor.properties[n].default&&this.constructor.properties[n].copy(this,e);let t=this.getTexture();return t===null?e.texture=null:t instanceof Texture&&he.hasFlag("compiling_bbmodel")?e.texture=Texture.all.indexOf(t):t instanceof Texture&&(e.texture=t.uuid),e}getUndoCopy(){let e=new this.constructor(this.direction,this);return delete e.cube,delete e.mesh,delete e.direction,e}};W(rp,"properties");var kne={Face:rp};Object.assign(window,kne);var lc=class extends rp{constructor(e,t){super(t),this.mesh=e,this.uv={},this.texture=!1,this.element=e,t&&this.extend(t)}get element(){return this.mesh}extend(e){super.extend(e),this.vertices.forEachReverse((t,n)=>{if(typeof t!="string"||!t.length){this.vertices.splice(n,1),delete this.uv[t];return}this.uv[t]||(this.uv[t]=[0,0]),e.uv&&e.uv[t]instanceof Array&&this.uv[t].replace(e.uv[t])});for(let t in this.uv)this.vertices.includes(t)||delete this.uv[t];return this}getSaveCopy(e){let t=super.getSaveCopy(e);return t.vertices=this.getSortedVertices(),t}getNormal(e,t){let n=this.getSortedVertices();if(n.length<3)return[0,0,0];let a=[0,1,2];n.length==4&&t&&(a=[0,2,3]);let o=this.mesh.vertices[n[a[0]]],r=this.mesh.vertices[n[a[1]]].slice().V3_subtract(o),s=this.mesh.vertices[n[a[2]]].slice().V3_subtract(o),l=[r[1]*s[2]-r[2]*s[1],r[2]*s[0]-r[0]*s[2],r[0]*s[1]-r[1]*s[0]];if(e){let c=Math.sqrt(l[0]*l[0]+l[1]*l[1]+l[2]*l[2]);return l.map(d=>d/c||0)}else return l}getBoundingRect(){let e=Format.per_texture_uv_size&&this.getTexture(),t=e?e.getUVWidth():Project.texture_width,n=e?e.getUVHeight():Project.texture_height,a=0,o=0;return this.vertices.forEach(r=>{t=Math.min(t,this.uv[r][0]),a=Math.max(a,this.uv[r][0]),n=Math.min(n,this.uv[r][1]),o=Math.max(o,this.uv[r][1])}),getRectangle(t,n,a,o)}getOccupationMatrix(e=!1,t=[0,0],n={}){let a=this,o=this.getBoundingRect(),r=e&&this.getTexture(),s=this.getSortedVertices(),l=r?r.width/r.getUVWidth():1,c=r?r.display_height/r.getUVHeight():1;e&&r&&(o.ax*=l,o.ay*=c,o.bx*=l,o.by*=c);function d(m,_){return[m[0]-_[0],m[1]-_[1]]}function u(m,_){let f=m[0]*_[1]-m[1]*_[0];if(f>0)return 1;if(f<0)return-1}function p(m,_){let f,g=0;for(let v of s){let b=a.uv[v],x=a.uv[s[g+1]]||a.uv[s[0]];(l!==1||c!==1)&&(b=b?[b[0]*l,b[1]*c]:[0,0],x=x?[x[0]*l,x[1]*c]:[0,0]);let w=d(x,b),E=d([m,_],b),y=u(w,E);if(!y||(f||(f=y),y!==f))return!1;g++}return!0}for(let m=Math.floor(o.ax);m<Math.ceil(o.bx);m++)for(let _=Math.floor(o.ay);_<Math.ceil(o.by);_++){let f=m-t[0],g=_-t[1],v=p(m+1e-6,_+1e-6)||p(m+.999999,_+1e-6)||p(m+1e-6,_+.999999)||p(m+.999999,_+.999999);if(!v){let b=0,x=[[m,_],[m+.999999,_+.999999]];for(let w of s){if(!a.uv[w])continue;let E=[a.uv[w][0]*l,a.uv[w][1]*c];if(pointInRectangle(E,x[0],x[1])){v=!0;break}let y=s[b+1]||s[0];if(!a.uv[y])continue;let A=[a.uv[y][0]*l,a.uv[y][1]*c];if(lineIntersectsReactangle(E,A,x[0],x[1])){v=!0;break}b++}}v&&(n[f]||(n[f]={}),n[f][g]=!0)}return n}getUVIsland(e=4096){let t=[this.getFaceKey()],n=.2,a={},o=this.mesh.faces;for(let s in o){let l=o[s];for(let c of l.vertices)a[c]??(a[c]=[]),a[c].push(s)}function r(s,l){if(!(l>=e))for(let c=0;c<s.vertices.length;c++){let d=s.getAdjacentFace(c,a);if(!d||t.includes(d.key))continue;let u=d.face.uv[d.edge[0]],p=s.uv[d.edge[0]];if(!Math.epsilon(u[0],p[0],n)||!Math.epsilon(u[1],p[1],n))continue;let m=d.face.uv[d.edge[1]],_=s.uv[d.edge[1]];!Math.epsilon(m[0],_[0],n)||!Math.epsilon(m[1],_[1],n)||(t.push(d.key),r(d.face,l+1))}}return r(this,0),t}getAngleTo(e){let t=new THREE.Vector3().fromArray(this.getNormal()),n=new THREE.Vector3().fromArray(e instanceof Array?e:e.getNormal());return Math.radToDeg(t.angleTo(n))}invert(){if(this.vertices.length<3)return this;[this.vertices[0],this.vertices[1]]=[this.vertices[1],this.vertices[0]]}isSelected(e){return!!Project.mesh_selection[this.mesh.uuid]&&Project.mesh_selection[this.mesh.uuid].faces.includes(e||this.getFaceKey())}getSortedVertices(){if(this.vertices.length<4)return this.vertices;function e(a,o,r,s){a=Canvas.temp_vectors[0].fromArray(a),o=Canvas.temp_vectors[1].fromArray(o),r=Canvas.temp_vectors[2].fromArray(r),s=Canvas.temp_vectors[3].fromArray(s);let l=Canvas.temp_vectors[4];return new THREE.Line3(a,o).closestPointToPoint(r,!1,l),l.sub(r),new THREE.Plane().setFromNormalAndCoplanarPoint(l,o).distanceToPoint(s)>0}let{mesh:t,vertices:n}=this;return e(t.vertices[n[1]],t.vertices[n[2]],t.vertices[n[0]],t.vertices[n[3]])?[n[2],n[0],n[1],n[3]]:e(t.vertices[n[0]],t.vertices[n[1]],t.vertices[n[2]],t.vertices[n[3]])?[n[0],n[2],n[1],n[3]]:n}isConcave(){if(this.vertices.length<4)return!1;let{vec1:e,vec2:t,vec3:n,vec4:a}=Reusable,o=e.fromArray(this.getNormal(!0)),r=new THREE.Plane().setFromNormalAndCoplanarPoint(o,t.fromArray(this.mesh.vertices[this.vertices[0]])),s=this.getSortedVertices(),l=cameraTargetToRotation([0,0,0],o.toArray()),c=new THREE.Euler(Math.degToRad(l[1]-90),Math.degToRad(l[0]+180),0),d=s.map(p=>{let m=r.projectPoint(n.fromArray(this.mesh.vertices[p]),a);return m.applyEuler(c),[m.x,m.z]}),u=[];for(let p=0;p<s.length;p++){let m=d[p],f=d[(p+1)%4].slice().V2_subtract(m),g=Math.atan2(f[1],f[0]);u.push(g)}for(let p=0;p<s.length;p++){let m=u[p],_=u[(p+1)%4];if(Math.trimRad(_-m)>0)return s[(p+1)%4]}return!1}getEdges(){let e=this.getSortedVertices();return e.length==2?[e]:e.length>2?e.map((t,n)=>{let a=e[n+1]||e[0];return[t,a]}):[]}getAdjacentFace(e=0,t){let n=this.getSortedVertices();e=e%this.vertices.length;let a=[n[e],n[e+1]||n[0]],o=this.mesh.faces,r=t?t[a[0]]:Object.keys(o);for(let s of r){let l=o[s];if(l!==this&&l.vertices.includes(a[0])&&l.vertices.includes(a[1])){let c=l.getSortedVertices(),d=c.indexOf(a[0]),u=c.indexOf(a[1]);if(u-d==-1||u-d==c.length-1)return{face:l,key:s,index:u,edge:a}}}return null}getFaceKey(){let e=this.mesh.faces;for(let t in e)if(e[t]==this)return t}texelToLocalMatrix(e,t=[1,1],n,a=this.getSortedVertices()){let o=a[0],r=a[1],s=a[2];a[3]&&(pointInTriangle(e,this.uv[o],this.uv[r],this.uv[s])||(o=a[0],r=a[2],s=a[3]));let l=this.uv[o],c=this.uv[r],d=this.uv[s],u=this.mesh.vertices[o],p=this.mesh.vertices[r],m=this.mesh.vertices[s];e=n==null||n[0]==null||n[1]==null?[...e]:[...n];function _(x){let w=(c[0]-l[0])*(d[1]-l[1])-(d[0]-l[0])*(c[1]-l[1]),E=((c[0]-x[0])*(d[1]-x[1])-(d[0]-x[0])*(c[1]-x[1]))/w,y=((d[0]-x[0])*(l[1]-x[1])-(l[0]-x[0])*(d[1]-x[1]))/w,A=((l[0]-x[0])*(c[1]-x[1])-(c[0]-x[0])*(l[1]-x[1]))/w;return new THREE.Vector3(u[0]*E+p[0]*y+m[0]*A,u[1]*E+p[1]*y+m[1]*A,u[2]*E+p[2]*y+m[2]*A)}let f=_(e),g=_([e[0]+t[0],e[1]]),v=_([e[0],e[1]+t[1]]);g.sub(f),v.sub(f);let b=new THREE.Matrix4;return b.makeBasis(g,v,new THREE.Vector3(0,0,1)),b.setPosition(f),b}UVToLocal(e,t=this.getSortedVertices()){let n=t[0],a=t[1],o=t[2];t[3]&&(pointInTriangle(e,this.uv[n],this.uv[a],this.uv[o])||(n=t[0],a=t[2],o=t[3]));let r=this.uv[n],s=this.uv[a],l=this.uv[o],c=this.mesh.vertices[n],d=this.mesh.vertices[a],u=this.mesh.vertices[o],p=(s[0]-r[0])*(l[1]-r[1])-(l[0]-r[0])*(s[1]-r[1]),m=((s[0]-e[0])*(l[1]-e[1])-(l[0]-e[0])*(s[1]-e[1]))/p,_=((l[0]-e[0])*(r[1]-e[1])-(r[0]-e[0])*(l[1]-e[1]))/p,f=((r[0]-e[0])*(s[1]-e[1])-(s[0]-e[0])*(r[1]-e[1]))/p;return new THREE.Vector3(c[0]*m+d[0]*_+u[0]*f,c[1]*m+d[1]*_+u[1]*f,c[2]*m+d[2]*_+u[2]*f)}localToUV(e,t=this.vertices){let n=new THREE.Vector3().fromArray(this.mesh.vertices[t[0]]),a=new THREE.Vector3().fromArray(this.mesh.vertices[t[1]]),o=new THREE.Vector3().fromArray(this.mesh.vertices[t[2]]),r=new THREE.Vector2().fromArray(this.uv[t[0]]),s=new THREE.Vector2().fromArray(this.uv[t[1]]),l=new THREE.Vector2().fromArray(this.uv[t[2]]);return THREE.Triangle.getUV(e,n,a,o,r,s,l,new THREE.Vector2).toArray()}getCenter(){let e=[0,0,0];return this.vertices.forEach(t=>{let n=this.mesh.vertices[t];e.V3_add(n)}),e.V3_divide(this.vertices.length),e}};new vt(lc,"array","vertices");var sc=class sc extends OutlinerElement{constructor(e,t){if(super(e,t),Object.assign(this._static.properties,{vertices:{},faces:{},seams:{}}),Object.freeze(this._static),!e.vertices){this.addVertices([2,4,2],[2,4,-2],[2,0,2],[2,0,-2],[-2,4,2],[-2,4,-2],[-2,0,2],[-2,0,-2]);let a=Object.keys(this.vertices);this.addFaces(new lc(this,{vertices:[a[0],a[2],a[1],a[3]]})),this.addFaces(new lc(this,{vertices:[a[4],a[5],a[6],a[7]]})),this.addFaces(new lc(this,{vertices:[a[0],a[1],a[4],a[5]]})),this.addFaces(new lc(this,{vertices:[a[2],a[6],a[3],a[7]]})),this.addFaces(new lc(this,{vertices:[a[0],a[4],a[2],a[6]]})),this.addFaces(new lc(this,{vertices:[a[1],a[3],a[5],a[7]]}));for(let o in this.faces){let r=this.faces[o];r.uv[r.vertices[0]]=[0,0],r.uv[r.vertices[1]]=[0,16],r.uv[r.vertices[2]]=[16,0],r.uv[r.vertices[3]]=[16,16]}}for(var n in sc.properties)sc.properties[n].reset(this);e&&typeof e=="object"&&this.extend(e)}get vertices(){return this._static.properties.vertices}get faces(){return this._static.properties.faces}get seams(){return this._static.properties.seams}set vertices(e){this._static.properties.vertices=e}set faces(e){this._static.properties.faces=e}set seams(e){this._static.properties.seams=e}get position(){return this.origin}get vertice_list(){return Object.keys(this.vertices).map(e=>this.vertices[e])}setSeam(e,t){let n=e.slice(0,2).sort().join("_");t?this.seams[n]=t:delete this.seams[n]}getSeam(e){let t=e.slice(0,2).sort().join("_");return this.seams[t]}getWorldCenter(e){let t=this.mesh,n=new THREE.Vector3,a=0;for(let o in this.vertices)if(e||!Project.mesh_selection[this.uuid]||Project.mesh_selection[this.uuid]&&Project.mesh_selection[this.uuid].vertices.includes(o)){let r=this.vertices[o];n.x+=r[0],n.y+=r[1],n.z+=r[2],a++}if(a&&(n.x/=a,n.y/=a,n.z/=a),t){let o=t.getWorldQuaternion(Reusable.quat1);n.applyQuaternion(o),n.add(THREE.fastWorldPosition(t,Reusable.vec2))}return n}addVertices(...e){return e.map(t=>{let n;for(;!n||this.vertices[n];)n=bbuid(4);return this.vertices[n]=[t[0]||0,t[1]||0,t[2]||0],n})}addFaces(...e){return e.map(t=>{let n;for(;!n||this.faces[n];)n=bbuid(8);return this.faces[n]=t,n})}extend(e){for(var t in sc.properties)sc.properties[t].merge(this,e);if(typeof e.vertices=="object"){for(let n in this.vertices)e.vertices[n]||delete this.vertices[n];if(e.vertices instanceof Array)this.addVertices(...e.vertices);else for(let n in e.vertices)this.vertices[n]||(this.vertices[n]=[]),this.vertices[n].replace(e.vertices[n])}if(typeof e.faces=="object"){for(let n in this.faces)e.faces[n]||delete this.faces[n];for(let n in e.faces)this.faces[n]?this.faces[n].extend(e.faces[n]):this.faces[n]=new lc(this,e.faces[n])}if(typeof e.seams=="object"){this.seams={};for(let n in e.seams)this.seams[n]=e.seams[n]}return this.sanitizeName(),this}getArmature(){return this.parent instanceof Armature?this.parent:void 0}getUndoCopy(e={}){let t={};if(!e.uv_only){for(var n in sc.properties)sc.properties[n].copy(this,t);if(Object.keys(this.seams).length){t.seams={};for(let a in this.seams)t.seams[a]=this.seams[a]}t.vertices={};for(let a in this.vertices)t.vertices[a]=this.vertices[a].slice()}t.faces={};for(let a in this.faces)t.faces[a]=this.faces[a].getUndoCopy();return t.type="mesh",t.uuid=this.uuid,t}getSaveCopy(){var e={};for(var t in sc.properties)sc.properties[t].copy(this,e);if(Object.keys(this.seams).length){e.seams={};for(let n in this.seams)e.seams[n]=this.seams[n]}e.vertices={};for(let n in this.vertices)e.vertices[n]=this.vertices[n].slice();e.faces={};for(let n in this.faces)e.faces[n]=this.faces[n].getSaveCopy();return e.type="mesh",e.uuid=this.uuid,e}getSelectedVertices(e){return e&&!Project.mesh_selection[this.uuid]&&(Project.mesh_selection[this.uuid]={vertices:[],edges:[],faces:[]}),Project.mesh_selection[this.uuid]?.vertices||[]}getSelectedEdges(e){return e&&!Project.mesh_selection[this.uuid]&&(Project.mesh_selection[this.uuid]={vertices:[],edges:[],faces:[]}),Project.mesh_selection[this.uuid]?.edges||[]}getSelectedFaces(e){return e&&!Project.mesh_selection[this.uuid]&&(Project.mesh_selection[this.uuid]={vertices:[],edges:[],faces:[]}),Project.mesh_selection[this.uuid]?.faces||[]}getSelectionRotation(){if(Transformer.dragging)return Transformer.rotation_selection;let e=this.getSelectedFaces().map(a=>this.faces[a]);if(!e[0]){let a=this.getSelectedVertices();this.forAllFaces(o=>{let r=o.vertices.filter(s=>a.includes(s)).length;r&&e.push({face:o,weight:r})}),e.sort((o,r)=>r.weight-o.weight),e=e.map(o=>o.face)}if(e[0]){let a=e[0].getNormal(!0),o=e[1]&&e[1].getNormal(!0);if(o){let r=new THREE.Object3D;return r.up.set(...a),r.lookAt(...o),r.rotation}else{var t=Math.atan2(a[0],a[2]),n=Math.atan2(a[1],Math.sqrt(Math.pow(a[0],2)+Math.pow(a[2],2)));return new THREE.Euler(-n,t,0,"YXZ")}}return new THREE.Euler}getCenter(e){let t=[0,0,0],n=0;for(let a in this.vertices)t.V3_add(this.vertices[a]),n++;return t.V3_divide(n),e?this.mesh.localToWorld(Reusable.vec1.set(...t)).toArray():t}getSize(e,t){if(t){let n=Project.mesh_selection[this.uuid]?.vertices||Object.keys(this.vertices);n.length||(n=Object.keys(this.vertices));let a=[1/0,-1/0],{vec1:o,vec2:r}=Reusable,s=new THREE.Euler().copy(Transformer.rotation_selection).invert();return n.forEach(l=>{o.fromArray(this.vertices[l]).applyEuler(s),a[0]=Math.min(a[0],o.getComponent(e)),a[1]=Math.max(a[1],o.getComponent(e))}),a[1]-a[0]}else{let n=[1/0,-1/0];for(let a in this.vertices)n[0]=Math.min(n[0],this.vertices[a][e]),n[1]=Math.max(n[1],this.vertices[a][e]);return n[1]-n[0]}}calculateNormals(){let e={};if(this.shading=="smooth"){let t={},n=new Set,{faces:a,vertices:o}=this,r={};for(let s in a){let l=a[s];l.vertices.length<=2||(t[s]=l.getNormal(!0),l.vertices.forEach(c=>{n.add(c),r[c]||(r[c]=[]),r[c].push(s)}))}for(let s in o){if(n.has(s)==!1)continue;let l=Reusable.vec8.set(0,0,0),c=0;for(let d of r[s]){let u=t[d];t[d]||(t[d]=u),l.x+=u[0],l.y+=u[1],l.z+=u[2],c++}l.divideScalar(c),e[s]=[l.x,l.y,l.z]}}return e}sortAllFaceVertices(){for(let e in this.faces)this.faces[e].vertices.replace(this.faces[e].getSortedVertices());this.preview_controller.updateGeometry(this),this.preview_controller.updateUV(this)}forAllFaces(e){for(let t in this.faces)e(this.faces[t],t)}transferOrigin(e){if(this.mesh){var t=new THREE.Quaternion().copy(this.mesh.quaternion),n=new THREE.Vector3(this.origin[0]-e[0],this.origin[1]-e[1],this.origin[2]-e[2]);n.applyQuaternion(t.invert()),n=n.toArray();for(let a in this.vertices)this.vertices[a].V3_add(n);return this.origin.V3_set(e),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}}setColor(e){this.color=e,this.visibility&&this.preview_controller.updateFaces(this)}roll(e,t,n){function a(l,c){var d,u;return l.forEach(function(p,m){m==e||(d==null?(d=p-c[m],u=m):(l[u]=p-c[m],l[u]=c[u]-l[u],l[m]=c[m]+d))}),l}for(;t>0;){t--;for(let l in this.vertices)a(this.vertices[l],[0,0,0]);n&&a(this.origin,n)}for(var o=0,r=void 0,s=void 0;o<3;)o!==e&&(r===void 0?(r=this.rotation[o],s=o):(this.rotation[s]=-this.rotation[o],this.rotation[o]=r)),o++;return this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}flip(e,t){for(let n in this.vertices)this.vertices[n][e]*=-1;for(let n in this.faces)this.faces[n].invert();return this.origin[e]*=-1,this.rotation.forEach((n,a)=>{a!=e&&(this.rotation[a]=-n)}),flipNameOnAxis(this,e),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this.preview_controller.updateUV(this),this}flipSelection(e,t){let n=BarItems.selection_mode.value=="object"||!!Group.first_selected,a=this.getSelectedVertices();for(let o in this.vertices)(n||a.includes(o))&&(this.vertices[o][e]*=-1);for(let o in this.faces){let r=this.faces[o];(n||r.isSelected(o)||r.vertices.allAre(s=>a.includes(s)))&&r.invert()}return n&&(this.origin[e]*=-1,this.rotation.forEach((o,r)=>{r!=e&&(this.rotation[r]=-o)}),this.preview_controller.updateTransform(this),flipNameOnAxis(this,e)),this.preview_controller.updateGeometry(this),this.preview_controller.updateUV(this),this}moveVector(e,t,n=!0){if(typeof e=="number"){var a=e;e=[0,0,0],e[t||0]=a}else e instanceof THREE.Vector3&&(e=e.toArray());e.forEach((o,r)=>{this.origin[r]+=o}),n&&this.preview_controller.updateTransform(this),TickUpdates.selection=!0}resize(e,t,n,a,o){let r=typeof e=="number"?this.oldVertices:this.vertices,s=Project.mesh_selection[this.uuid]?.vertices||Object.keys(this.vertices),l=[1/0,-1/0],{vec1:c,vec2:d}=Reusable,u=new THREE.Euler().copy(Transformer.rotation_selection).invert();s.forEach(f=>{c.fromArray(r[f]).applyEuler(u),l[0]=Math.min(l[0],c.getComponent(t)),l[1]=Math.max(l[1],c.getComponent(t))});let p=o?(l[0]+l[1])/2:n?l[1]:l[0],m=Math.abs(l[1]-l[0]);typeof e!="number"&&(e=e(m)-m,o&&(e/=2));let _=(m+e*(n?-1:1)*(o?2:1))/m;(isNaN(_)||Math.abs(_)==1/0)&&(_=1),_<0&&!a&&(_=0),s.forEach(f=>{c.fromArray(r[f]).applyEuler(u),d.fromArray(this.vertices[f]).applyEuler(u),d.setComponent(t,(c.getComponent(t)-p)*_+p),d.applyEuler(Transformer.rotation_selection),this.vertices[f].replace(d.toArray())}),this.preview_controller.updateGeometry(this)}applyTexture(e,t){var n=this;if(t===!0)var a=Object.keys(this.faces);else if(t)var a=t;else var a=this.getSelectedFaces();var o=!1;e&&(o=e.uuid),a.forEach(function(r){n.faces[r].texture=o}),Project.selected_elements.indexOf(this)===0&&UVEditor.loadData(),this.preview_controller.updateFaces(this),this.preview_controller.updateUV(this)}};W(sc,"behavior",{unique_name:!1,movable:!0,resizable:!0,rotatable:!0,has_pivot:!0,marker_color:!0});var la=sc;la.prototype.title=tl("data.mesh");la.prototype.type="mesh";la.prototype.icon="far.fa-gem";la.prototype.menu=new Menu([new MenuSeparator("mesh_edit"),"extrude_mesh_selection","inset_mesh_selection","loop_cut","create_face","invert_face","switch_face_crease","merge_vertices","dissolve_edges","set_vertex_weights","calculate_vertex_weights",new MenuSeparator("mesh_combination"),"apply_mesh_rotation","split_mesh","merge_meshes",...Outliner.control_menu_group,new MenuSeparator("settings"),"allow_element_mirror_modeling","set_element_marker_color","randomize_marker_colors",{name:"menu.cube.texture",icon:"collections",condition:()=>!Format.single_texture,children(){var i=[{icon:"crop_square",name:Format.single_texture_default?"menu.cube.texture.default":"menu.cube.texture.blank",click(t){let n=BarItems.selection_mode.value!="face"||la.selected[0]?.getSelectedFaces().length==0;t.forSelected(a=>{a.applyTexture(!1,n)},"texture blank")}}];let e;e:for(let t of la.selected)t:for(let n in t.faces){let a=t.faces[n].getTexture();if(a){if(!e)e=a;else if(e!=a){e=null;break e}}}return Texture.all.forEach(t=>{i.push({name:t.name,icon:t.mode==="link"?t.img:t.source,marked:t==e,click(n){let a=BarItems.selection_mode.value!="face"||la.selected[0]?.getSelectedFaces().length==0;n.forSelected(o=>{o.applyTexture(t,a)},"apply texture")}})}),i}},new MenuSeparator("manage"),"rename","toggle_visibility","delete"]);la.prototype.buttons=[Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];new vt(la,"string","name",{default:"mesh"});new vt(la,"number","color");new vt(la,"vector","origin");new vt(la,"vector","rotation");new vt(la,"enum","shading",{default:"flat",values:["flat","smooth"],inputs:{element_panel:{input:{label:"mesh.shading",type:"inline_select",options:{flat:"mesh.shading.flat",smooth:"mesh.shading.smooth"}},onChange(){Canvas.updateView({elements:la.selected,element_aspects:{geometry:!0}})}}}});new vt(la,"boolean","export",{default:!0});new vt(la,"boolean","visibility",{default:!0});new vt(la,"boolean","locked");new vt(la,"enum","render_order",{default:"default",values:["default","behind","in_front"],inputs:{element_panel:{input:{label:"action.element_render_order.short",description:"action.element_render_order.desc",type:"select",options:{default:"action.element_render_order.default",behind:"action.element_render_order.behind",in_front:"action.element_render_order.in_front"}},onChange(){la.selected.forEach(i=>{i.preview_controller.updateRenderOrder(i)})}}}});OutlinerElement.registerType(la,"mesh");new NodePreviewController(la,{setup(i){let e=i.mesh;e&&e.parent&&e.parent.remove(e);let t=i.mesh?.geometry??new THREE.BufferGeometry(1,1,1);e=new THREE.Mesh(t,Canvas.emptyMaterials[0]),Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type=i.type,e.isElement=!0,e.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(24),1));let n=new THREE.LineSegments(new THREE.BufferGeometry,Canvas.meshOutlineMaterial);n.geometry.setAttribute("color",new THREE.Float32BufferAttribute(new Array(240).fill(1),3)),n.no_export=!0,n.name=i.uuid+"_outline",n.visible=i.selected,n.renderOrder=2,n.frustumCulled=!1,e.outline=n,e.add(n),n.vertex_order=[];let a=new THREE.Points(new THREE.BufferGeometry,Canvas.meshVertexMaterial);a.element_uuid=i.uuid,a.geometry.setAttribute("color",new THREE.Float32BufferAttribute(new Array(24).fill(1),3)),e.vertex_points=a,a.no_export=!0,e.add(a),this.updateTransform(i),this.updateGeometry(i),this.updateFaces(i),this.updateUV(i),this.updateRenderOrder(i),e.visible=i.visibility,this.dispatchEvent("setup",{element:i})},displayDeformation(i,e){let t=[],n=[],{vertices:a,faces:o}=i;if(e){a={};for(let r in i.vertices)a[r]=i.vertices[r].slice(),e[r]instanceof Array&&a[r].V3_add(e[r])}if(e){for(let r in o){let s=o[r];s.vertices.length<=2||s.vertices.forEach((l,c)=>{t.push(...a[l])})}i.mesh.outline.vertex_order.forEach(r=>{n.push(...a[r])}),i.mesh.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(t),3)),i.mesh.outline.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(n),3)),i.mesh.frustumCulled=!1;return}},updateGeometry(i,e){let{mesh:t}=i,n=[],a=[],o=[],r=[],s=[],l=[];t.outline.vertex_order.empty();let{vertices:c,faces:d}=i,u={},p,m=[],_;(Toolbox.selected.id==="weight_brush"||Project.view_mode==="vertex_weight"||Project.view_mode==="weighted_bone_colors")&&ArmatureBone.all[0]&&i.getArmature()&&(m=i.getArmature().getAllBones(),p=ArmatureBone.selected.find(b=>m.includes(b)),_=markerColors.map(b=>new THREE.Color().set(b.standard)));let f=[0,.03,.08];function g(b,x){let w=c[b];if(a.push(w[0],w[1],w[2]),r.push(x[0],x[1],x[2]),p){let E=p.getVertexWeight(i,b)??0,y=0;if(m.forEach(A=>y+=A.getVertexWeight(i,b)??0),Project.view_mode==="weighted_bone_colors"){let A=[0,0,0];for(let R of m){let j=R.getVertexWeight(i,b),F=_[R.color%markerColors.length];if(j>.02){let O=j/y;A[0]+=F.r*O,A[1]+=F.g*O,A[2]+=F.b*O}}o.push(...A)}else if(y>E&&(E=E/y),!E)o.push(f[0],f[1],f[2]);else if(E<.25)o.push(0,0,E*4);else if(E<.5){let A=(E-.25)*4;o.push(0,A,1-A)}else if(E<.75){let A=(E-.5)*4;o.push(A,1,0)}else{let A=(E-.75)*4;o.push(1,1-A,0)}}else o.push(f[0],f[1],f[2])}if(e){c={};let b=i.vertices;for(let x in b)c[x]=b[x].slice(),e[x]instanceof Array&&c[x].V3_add(e[x])}let v=i.shading=="smooth"&&i.calculateNormals();for(let b in d){let x=d[b];if(x.vertices.length<=2)continue;let w;if(i.shading=="flat"&&(w=x.getNormal(!0)),x.vertices.length==3)x.vertices.forEach((E,y)=>{s.push(a.length/3),g(E,i.shading=="smooth"?v[E]:w)});else if(x.vertices.length==4){let E=a.length/3,y=Modes.animate?x.vertices:x.getSortedVertices();u[b]=y;let A={};x.vertices.forEach((R,j)=>{if(!c[R])throw new Error(`Face "${b}" in mesh "${i.name}" contains an invalid vertex key "${R}"`,x);g(R,i.shading=="smooth"?v[R]:w),A[R]=E+j}),s.push(A[y[0]]),s.push(A[y[1]]),s.push(A[y[2]]),s.push(A[y[0]]),s.push(A[y[2]]),s.push(A[y[3]])}}for(let b in d){let x=d[b];if(x.vertices.length==2)t.outline.vertex_order.push(x.vertices[0]),t.outline.vertex_order.push(x.vertices[1]);else if(x.vertices.length==3)x.vertices.forEach((w,E)=>{t.outline.vertex_order.push(w),E&&t.outline.vertex_order.push(w)}),t.outline.vertex_order.push(x.vertices[0]);else if(x.vertices.length==4){let w=u[b]||x.vertices;w.forEach((E,y)=>{t.outline.vertex_order.push(E),y!=0&&t.outline.vertex_order.push(E)}),t.outline.vertex_order.push(w[0])}}for(let b in c){let x=c[b];n.push(...x)}t.outline.vertex_order.forEach(b=>{l.push(...c[b])}),t.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(a),3)),t.geometry.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(r),3)),t.geometry.setAttribute("color",new THREE.BufferAttribute(new Float32Array(o),3)),t.geometry.setIndex(s),t.outline.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(l),3)),t.vertex_points.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(n),3)),t.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(l.length/3).fill(t.geometry.attributes.highlight.array[0]),1)),t.geometry.computeBoundingBox(),t.geometry.computeBoundingSphere(),t.vertex_points.geometry.computeBoundingSphere(),t.outline.geometry.computeBoundingSphere(),t.frustumCulled=!0,la.preview_controller.updateHighlight(i),la.preview_controller.updatePixelGrid(i),Project.view_mode=="wireframe"&&this.fixWireframe&&this.fixWireframe(i),this.dispatchEvent("update_geometry",{element:i})},updateFaces(i){let{mesh:e}=i;if(Toolbox.selected.id==="weight_brush"||Project.view_mode==="vertex_weight"||Project.view_mode==="weighted_bone_colors")e.material=Canvas.vertexWeightHelperMaterial;else if(Project.view_mode==="solid")e.material=Canvas.monochromaticSolidMaterial;else if(Project.view_mode==="colored_solid")e.material=Canvas.getSolidColorMaterial(i.color);else if(Project.view_mode==="wireframe")e.material=Canvas.wireframeMaterial;else if(Project.view_mode==="normal")e.material=Canvas.normalHelperMaterial;else if(Project.view_mode==="uv")e.material=Canvas.uvHelperMaterial;else if((Format.single_texture||Format.single_texture_default)&&Texture.all.length>=2&&Texture.all.find(a=>a.render_mode=="layered"))e.material=Canvas.getLayeredMaterial();else if(Format.single_texture){let a=Texture.getDefault();e.material=a?a.getMaterial():Canvas.getEmptyMaterial(i.color)}else{let a=i.faces;var t=[];for(let o in a)if(!(a[o].vertices.length<3)){var n=a[o].getTexture();n&&n.uuid?t.push(n.getMaterial()):t.push(Canvas.getEmptyMaterial(i.color))}if(t.allEqual(t[0])&&(t=t[0]),e.geometry.groups.empty(),t instanceof Array){let o,r=0,s=0,l=0,c=[];for(let d in a){if(a[d].vertices.length<3)continue;let u=a[d],p=t[r];o!=p&&(s&&(e.geometry.addGroup(l,s-l,c.length),c.push(o)),o=p,l=s),r++,u.vertices.length==3&&(s+=3),u.vertices.length==4&&(s+=6)}e.geometry.addGroup(l,s-l,c.length),c.push(o),t=c}e.material=t,e.material||(e.material=Canvas.transparentMaterial)}this.dispatchEvent("update_faces",{element:i})},updateUV(i){let{mesh:e,faces:t}=i;if(e===void 0||!e.geometry)return;let n=[];for(let a in t){let o=t[a];if(o.vertices.length<=2)continue;let r=1,s=0,l=o.getTexture();l instanceof Texture&&l.frameCount>1&&(r=l.frameCount,s=l.currentFrame||0);let c=l&&Project.view_mode!=="uv"?[l.getUVWidth(),l.getUVHeight()]:[Project.texture_width,Project.texture_height],d;o.vertices.forEach((u,p)=>{let m=(o.uv[u]?o.uv[u][0]:0)/c[0],_=(o.uv[u]?o.uv[u][1]:0)/c[1];r>1&&(_=(_+s)/r),d?d[0]==m&&d[1]==_&&(p<2?m+=5e-5:_+=5e-5):d=[m,_],n.push(m,1-_)})}return e.geometry.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(n),2)),e.geometry.attributes.uv.needsUpdate=!0,this.dispatchEvent("update_uv",{element:i}),this.updatePixelGrid(i),e.geometry},updateSelection(i){NodePreviewController.prototype.updateSelection.call(this,i);let e=i.mesh,t=new THREE.Color(16777215),n=new THREE.Color(1496582),a=new THREE.Color(16729088),o=new THREE.Color(7077835),r=new THREE.Color(16747625),s=i.getSelectedVertices(),l=i.getSelectedEdges(),c=i.getSelectedFaces();if(BarItems.selection_mode.value=="vertex"){let f=[];for(let g in i.vertices){let v;s.includes(g)?v=t:v=gizmo_colors.grid,f.push(v.r,v.g,v.b)}e.vertex_points.geometry.setAttribute("color",new THREE.Float32BufferAttribute(f,3)),e.outline.geometry.needsUpdate=!0}let d={},u=i.faces;(BarItems.selection_mode.value=="face"||BarItems.selection_mode.value=="cluster")&&c.forEach(f=>{let g=u[f];g.vertices.forEach(v=>{d[v]||(d[v]=new Set),g.vertices.forEach(b=>{b!=v&&d[v].add(b)})})});let p=[],m=Toolbox.selected.id==="seam_tool",_=BarItems.selection_mode.value;Modes.edit||(_="object"),e.outline.vertex_order.forEach((f,g)=>{let v=Modes.edit&&e.outline.vertex_order[g+(g%2?-1:1)],b=gizmo_colors.grid,x;switch(_){case"object":{b=gizmo_colors.outline;break}case"edge":{l.find(w=>sameMeshEdge([f,v],w))&&(b=t,x=!0);break}case"face":case"cluster":{d[f]&&d[f].has(v)&&(b=t,x=!0);break}}if(m){let w=i.getSeam([f,v]);x?(w=="join"&&(b=o),w=="divide"&&(b=r)):(w=="join"&&(b=n),w=="divide"&&(b=a))}p.push(b.r,b.g,b.b)}),e.outline.geometry.setAttribute("color",new THREE.Float32BufferAttribute(p,3)),e.outline.geometry.needsUpdate=!0,e.vertex_points.visible=(Mode.selected.id=="edit"&&BarItems.selection_mode.value=="vertex"||Toolbox.selected.id=="knife_tool")&&i.selected,Toolbox.selected.id=="weight_brush"&&(e.vertex_points.visible=!0),this.dispatchEvent("update_selection",{element:i})},updateHighlight(i,e,t){var n=i.mesh;let a=Settings.get("highlight_cubes")&&(e==i&&!Transformer.dragging||i.selected)&&Modes.edit&&!t?1:0,o=new Array(n.geometry.attributes.highlight.count).fill(a),r=BarItems.selection_mode.value,s=i.getSelectedFaces();if(!t&&i.selected&&Modes.edit){let l=0,c=i.faces;for(let d in c){let u=c[d];if(!(u.vertices.length<3))if(s.indexOf(d)!=-1&&(r=="face"||r=="cluster"))for(let p=0;p<u.vertices.length;p++)o[l]=2,l++;else l+=u.vertices.length}}n.geometry.attributes.highlight.array.set(o),n.geometry.attributes.highlight.needsUpdate=!0,this.dispatchEvent("update_highlight",{element:i})},updatePixelGrid(i){var e=i.mesh;if(e===void 0||(e.remove(e.grid_box),e.grid_box?.geometry&&e.grid_box.geometry.dispose(),i.visibility==!1)||!(Modes.paint&&settings.painting_grid.value||Modes.edit&&settings.pixel_grid.value))return;var n=[];for(let l in i.faces){let c=i.faces[l];if(c.vertices.length<=2)continue;let d=c.getNormal(!0).V3_multiply(.01),u=c.getTexture();var a=u?u.getUVWidth()/u.width:1,o=u?u.getUVHeight()/u.display_height:1;let p=c.getSortedVertices();(p.length==3?[p]:[p.slice(0,3),[p[0],p[2],p[3]]]).forEach(_=>{let f={},g={};_.forEach((v,b)=>{let x=_[b+1]||_[0],w=c.uv[v].slice(),E=c.uv[x].slice(),y=w[0]>E[0]?[E[0],w[0]]:[w[0],E[0]],A=w[1]>E[1]?[E[1],w[1]]:[w[1],E[1]];for(let R=Math.ceil(y[0]/a)*a;R<y[1];R+=a){f[R]||(f[R]=[]);let j=w[1]+(E[1]-w[1])*Math.getLerp(w[0],E[0],R);f[R].push(c.UVToLocal([R,j],_).toArray().V3_add(d))}for(let R=Math.ceil(A[0]/o)*o;R<A[1];R+=o){g[R]||(g[R]=[]);let j=w[0]+(E[0]-w[0])*Math.getLerp(w[1],E[1],R);g[R].push(c.UVToLocal([j,R],_).toArray().V3_add(d))}});for(let v in f){let b=f[v];b.length==2&&n.push(...b[0],...b[1])}for(let v in g){let b=g[v];b.length==2&&n.push(...b[0],...b[1])}})}var r=new THREE.BufferGeometry;r.setAttribute("position",new THREE.Float32BufferAttribute(n,3));let s=new THREE.LineSegments(r,new THREE.LineBasicMaterial({color:gizmo_colors.grid}));s.no_export=!0,s.name=i.uuid+"_grid_box",s.renderOrder=2,s.frustumCulled=!1,e.grid_box=s,e.add(s),this.dispatchEvent("update_painting_grid",{element:i})},fixWireframe(i){let e=i.mesh.geometry;if(!e)return;let t=i.mesh.geometry.clone();i.mesh.geometry=t,e.dispose()},viewportRectangleOverlap(i,{projectPoint:e,extend_selection:t,rect_start:n,rect_end:a,preview:o}){let r=BarItems.selection_mode.value;if(!(r=="object"||o.selection.old_selected.includes(i)))return;let s,l=i.mesh,c=!1,d=Reusable.vec6;r!="object"&&(c=!0,Project.mesh_selection[i.uuid]?s=Project.mesh_selection[i.uuid]:s=Project.mesh_selection[i.uuid]={vertices:[],edges:[],faces:[]},t||s.vertices.empty());let u={},p=!1;for(let m in i.vertices){let _=e(l.localToWorld(d.fromArray(i.vertices[m])));u[m]=_,_[0]>=0&&_[0]<=o.width&&_[1]>=0&&_[1]<=o.height&&(p=!0)}if(t&&o.selection.old_mesh_selection[i.uuid]&&(s.vertices.safePush(...o.selection.old_mesh_selection[i.uuid].vertices),s.edges.safePush(...o.selection.old_mesh_selection[i.uuid].edges),s.faces.safePush(...o.selection.old_mesh_selection[i.uuid].faces)),!p)return c;if(r=="vertex")for(let m in i.vertices){let _=u[m];!s.vertices.includes(m)&&pointInRectangle(_,n,a)&&s.vertices.push(m)}else if(r=="edge")for(let m in i.faces){let f=i.faces[m].getSortedVertices();for(let g=0;g<f.length;g++){let v=f[g],b=f[g+1]||f[0],x=u[v],w=u[b];if(lineIntersectsReactangle(x,w,n,a)){s.vertices.safePush(v,b);let E=[v,b];s.edges.find(y=>sameMeshEdge(E,y))||s.edges.push(E)}}}else{r!="object"&&!t&&s.faces.empty();for(let m in i.faces){let _=i.faces[m],f=_.getSortedVertices(),g;for(let v=0;v<f.length;v++){let b=f[v],x=f[v+1]||f[0],w=u[b],E=u[x];if(lineIntersectsReactangle(w,E,n,a)){g=!0;break}}if(r=="object"){if(g){c=!0;break}}else g&&(s.vertices.safePush(..._.vertices),s.faces.safePush(m))}}return c}});Blockbench.dispatchEvent("change_view_mode",({view_mode:i})=>{if(i=="wireframe")for(let e of la.selected)la.preview_controller.fixWireframe(e)});Object.assign(window,{MeshFace:lc,Mesh:la});var Xo=class extends rp{constructor(e,t,n){super(),this.texture=!1,this.direction=e||"north",this.cube=n,this.element=n,this.uv=[0,0,canvasGridSize(),canvasGridSize()],this.rotation=0,t&&this.extend(t)}get uv_size(){return[this.uv[2]-this.uv[0],this.uv[3]-this.uv[1]]}set uv_size(e){this.uv[2]=e[0]+this.uv[0],this.uv[3]=e[1]+this.uv[1]}get element(){return this.cube}extend(e){return super.extend(e),e.uv&&(Merge.number(this.uv,e.uv,0),Merge.number(this.uv,e.uv,1),Merge.number(this.uv,e.uv,2),Merge.number(this.uv,e.uv,3)),this}reset(){return super.reset(),this.rotation=0,this}getBoundingRect(){return getRectangle(...this.uv)}getVertexIndices(){switch(this.direction){case"north":return[1,4,6,3];case"east":return[0,1,3,2];case"south":return[5,0,2,7];case"west":return[4,5,7,6];case"up":return[4,1,0,5];case"down":return[7,2,3,6]}}texelToLocalMatrix(e,t=[1,1],n){e=n==null||n[0]==null||n[1]==null?[...e]:[...n];let a=this.UVToLocal(e),o=this.UVToLocal([e[0]+t[0],e[1]]),r=this.UVToLocal([e[0],e[1]+t[1]]);o.sub(a),r.sub(a);let s=new THREE.Matrix4;return s.makeBasis(o,r,new THREE.Vector3(0,0,1)),s.setPosition(a),s}UVToLocal(e){let t=this.cube.from.slice(),n=this.cube.to.slice();td(t,n,this.cube);let a=new THREE.Vector3().fromArray(t),o=Math.getLerp(this.uv[0],this.uv[2],e[0]),r=Math.getLerp(this.uv[1],this.uv[3],e[1]);for(let s=0;s<this.rotation;s+=90)[o,r]=[1-r,o];return this.direction=="east"&&(a.x=n[0],a.y=Math.lerp(n[1],t[1],r),a.z=Math.lerp(n[2],t[2],o)),this.direction=="west"&&(a.y=Math.lerp(n[1],t[1],r),a.z=Math.lerp(t[2],n[2],o)),this.direction=="up"&&(a.y=n[1],a.z=Math.lerp(t[2],n[2],r),a.x=Math.lerp(t[0],n[0],o)),this.direction=="down"&&(a.z=Math.lerp(n[2],t[2],r),a.x=Math.lerp(t[0],n[0],o)),this.direction=="south"&&(a.z=n[2],a.y=Math.lerp(n[1],t[1],r),a.x=Math.lerp(t[0],n[0],o)),this.direction=="north"&&(a.y=Math.lerp(n[1],t[1],r),a.x=Math.lerp(n[0],t[0],o)),a.x-=this.cube.origin[0],a.y-=this.cube.origin[1],a.z-=this.cube.origin[2],a}};Xo.prototype.is_rectangular=!0;new vt(Xo,"number","rotation",{default:0});new vt(Xo,"number","tint",{default:-1});new vt(Xo,"enum","cullface",{values:["","north","south","west","east","up","down"]});new vt(Xo,"string","material_name");new vt(Xo,"boolean","enabled",{default:!0});Xo.opposite={north:"south",south:"north",east:"west",west:"east",down:"up",up:"down"};var Ps=class Ps extends OutlinerElement{constructor(e,t){super(e,t);let n=Settings.get("default_cube_size");this.shade=!0,this.mirror_uv=!1,this.color=Math.floor(Math.random()*markerColors.length),this.uv_offset=[0,0],this.inflate=0,this.stretch=[1,1,1],this.visibility=!0,this.autouv=0;for(var a in Ps.properties)Ps.properties[a].reset(this);Object.assign(this._static.properties,{faces:{north:new Xo("north",null,this),east:new Xo("east",null,this),south:new Xo("south",null,this),west:new Xo("west",null,this),up:new Xo("up",null,this),down:new Xo("down",null,this)},from:[0,0,0],to:[n,n,n],rotation:[0,0,0],origin:[0,0,0]});for(var a in Ps.properties)Ps.properties[a].reset(this);this.box_uv=Project.box_uv,e&&typeof e=="object"&&this.extend(e)}get faces(){return this._static.properties.faces}get from(){return this._static.properties.from}get to(){return this._static.properties.to}get rotation(){return this._static.properties.rotation}get origin(){return this._static.properties.origin}set faces(e){this._static.properties.faces=e}set from(e){this._static.properties.from=e}set to(e){this._static.properties.to=e}set rotation(e){this._static.properties.rotation=e}set origin(e){this._static.properties.origin=e}extend(e){for(var t in Ps.properties)Ps.properties[t].merge(this,e);if(this.sanitizeName(),Merge.boolean(this,e,"shade"),Merge.boolean(this,e,"mirror_uv"),Merge.number(this,e,"inflate"),Merge.number(this,e,"autouv"),Merge.number(this,e,"color"),Merge.boolean(this,e,"export"),Merge.boolean(this,e,"visibility"),e.from&&(Merge.number(this.from,e.from,0),Merge.number(this.from,e.from,1),Merge.number(this.from,e.from,2)),e.to&&(Merge.number(this.to,e.to,0),Merge.number(this.to,e.to,1),Merge.number(this.to,e.to,2)),e.size&&(typeof e.size[0]=="number"&&!isNaN(e.size[0])&&(this.to[0]=this.from[0]+e.size[0]),typeof e.size[1]=="number"&&!isNaN(e.size[1])&&(this.to[1]=this.from[1]+e.size[1]),typeof e.size[2]=="number"&&!isNaN(e.size[2])&&(this.to[2]=this.from[2]+e.size[2])),e.uv_offset&&(Merge.number(this.uv_offset,e.uv_offset,0),Merge.number(this.uv_offset,e.uv_offset,1)),e.stretch&&(Merge.number(this.stretch,e.stretch,0),Merge.number(this.stretch,e.stretch,1),Merge.number(this.stretch,e.stretch,2)),e.rotation instanceof Array&&(Merge.number(this.rotation,e.rotation,0),Merge.number(this.rotation,e.rotation,1),Merge.number(this.rotation,e.rotation,2)),e.rotated&&(Merge.number(this.rotation,e.rotated,0),Merge.number(this.rotation,e.rotated,1),Merge.number(this.rotation,e.rotated,2)),e.origin&&(Merge.number(this.origin,e.origin,0),Merge.number(this.origin,e.origin,1),Merge.number(this.origin,e.origin,2)),Merge.string(this,e,"rotation_axis",a=>a==="x"||a==="y"||a==="z"),e.faces)for(var n in this.faces)this.faces.hasOwnProperty(n)&&e.faces.hasOwnProperty(n)&&this.faces[n].extend(e.faces[n]);return this}init(){if(super.init(),Format.single_texture&&Texture.getDefault())for(var e in this.faces)this.faces[e].texture!==null&&(this.faces[e].texture=Texture.getDefault().uuid);return this}markAsSelected(...e){let t=this.selected;if(super.markAsSelected(...e),!t&&Ps.selected[0]){let n=UVEditor.selected_faces.slice(),a=UVEditor.getSelectedFaces(this,!0);n?.length&&!a?.length&&a.replace(n.filter(o=>this.faces[o]))}return this}size(e,t){var n=this;let a=1e-7;function o(r){return t==!0||t=="box_uv"&&Format.box_uv_float_size!=!0?Math.floor(n.to[r]-n.from[r]+a):n.to[r]-n.from[r]}return e!==void 0?o(e):[o(0),o(1),o(2)]}getSize(e,t){return this.size(e)}rotationAxis(){for(var e=0;e<3;e++)if(this.rotation[e]!==0)return this.rotation_axis=getAxisLetter(e),this.rotation_axis;return this.rotation_axis}getMesh(){return this.mesh}get mesh(){return Project.nodes_3d[this.uuid]}getUndoCopy(e=0){let t={};for(var n in Ps.properties)Ps.properties[n].copy(this,t);t.from=this.from.slice(),t.to=this.to.slice(),t.stretch=this.stretch.slice(),t.inflate=this.inflate,t.rotation=this.rotation.slice(),t.origin=this.origin.slice(),t.uv_offset=this.uv_offset.slice(),t.autouv=this.autouv,t.color=this.color,t.visibility=this.visibility,t.export=this.export,t.shade=this.shade,t.mirror_uv=this.mirror_uv,t.faces={};for(let a in this.faces)t.faces[a]=this.faces[a].getUndoCopy();return t.uuid=this.uuid,t.type=this.type,t}getSaveCopy(){var e={};for(var t in Ps.properties)Ps.properties[t].copy(this,e);e.from=this.from,e.to=this.to,e.autouv=this.autouv,e.color=this.color,this.visibility||(e.visibility=!1),this.export||(e.export=!1),this.shade||(e.shade=!1),this.mirror_uv&&(e.mirror_uv=!0),this.inflate&&(e.inflate=this.inflate),this.isStretched()&&(e.stretch=this.stretch),this.rotation.allEqual(0)||(e.rotation=this.rotation),e.origin=this.origin,this.uv_offset.allEqual(0)||(e.uv_offset=this.uv_offset),e.faces={};for(var n in this.faces)e.faces[n]=this.faces[n].getSaveCopy();return e.type=this.type,e.uuid=this.uuid,e}roll(e,t,n){n||(n=this.origin);function a(d){n===void 0&&(n=[8,8,8]);var u,p;return d.forEach(function(m,_){_==e||(u==null?(u=m-n[_],p=_):(d[p]=m-n[_],d[p]=n[p]-d[p],d[_]=n[_]+u))}),d}if(Format.cube_size_limiter&&!settings.deactivate_size_limit.value){let d=this.from.slice(),u=this.to.slice();for(let p=t;p>0;p--){switch(e){case 0:[d[2],u[2]]=[u[2],d[2]];break;case 1:[d[2],u[2]]=[u[2],d[2]];break;case 2:[d[1],u[1]]=[u[1],d[1]];break}d.V3_set(a(d)),u.V3_set(a(u))}if(Format.cube_size_limiter.test(this,{from:d,to:u}))return!1}for(var o=0,r=void 0,s=void 0;o<3;)o!==e&&(r===void 0?(r=this.rotation[o],s=o):(this.rotation[s]=-this.rotation[o],this.rotation[o]=r)),o++;function l(d,u){return Format.uv_rotation?(d||(d=0),d+=u*90,d%360):0}for(;t>0;){switch(t--,e){case 0:[this.from[2],this.to[2]]=[this.to[2],this.from[2]];break;case 1:[this.from[2],this.to[2]]=[this.to[2],this.from[2]];break;case 2:[this.from[1],this.to[1]]=[this.to[1],this.from[1]];break}if(this.from.V3_set(a(this.from)),this.to.V3_set(a(this.to)),n!=this.origin&&this.origin.V3_set(a(this.origin)),Format.stretch_cubes){let d=[0,1,2].filter(u=>u!=e);[this.stretch[d[0]],this.stretch[d[1]]]=[this.stretch[d[1]],this.stretch[d[0]]]}if(!this.box_uv){if(e===0){this.faces.west.rotation=l(this.faces.west.rotation,1),this.faces.east.rotation=l(this.faces.east.rotation,3),this.faces.north.rotation=l(this.faces.north.rotation,2),this.faces.down.rotation=l(this.faces.down.rotation,2);var c=new Xo(!0,this.faces.north);this.faces.north.extend(this.faces.down),this.faces.down.extend(this.faces.south),this.faces.south.extend(this.faces.up),this.faces.up.extend(c)}else if(e===1){this.faces.up.rotation=l(this.faces.up.rotation,1),this.faces.down.rotation=l(this.faces.down.rotation,3);var c=new Xo(!0,this.faces.north);this.faces.north.extend(this.faces.west),this.faces.west.extend(this.faces.south),this.faces.south.extend(this.faces.east),this.faces.east.extend(c)}else if(e===2){this.faces.north.rotation=l(this.faces.north.rotation,1),this.faces.south.rotation=l(this.faces.south.rotation,3),this.faces.up.rotation=l(this.faces.up.rotation,3),this.faces.east.rotation=l(this.faces.east.rotation,3),this.faces.west.rotation=l(this.faces.west.rotation,3),this.faces.down.rotation=l(this.faces.down.rotation,3);var c=new Xo(!0,this.faces.east);this.faces.east.extend(this.faces.down),this.faces.down.extend(this.faces.west),this.faces.west.extend(this.faces.up),this.faces.up.extend(c)}}}return this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this.preview_controller.updateFaces(this),this.preview_controller.updateUV(this),this}flip(e,t,n){var a=this;this.rotation[(e+1)%3]*=-1,this.rotation[(e+2)%3]*=-1;var o=this.from[e];if(this.from[e]=t-(this.to[e]-t),this.to[e]=t-(o-t),this.origin[e]=t-(this.origin[e]-t),flipNameOnAxis(this,e),!n){let l=function(d,u){var p=a.faces[d];return!u&&(p.rotation==90||p.rotation==270)?c(d,!0):[p.uv[2],p.uv[1],p.uv[0],p.uv[3]]},c=function(d,u){var p=a.faces[d];return!u&&(p.rotation==90||p.rotation==270)?l(d,!0):[p.uv[0],p.uv[3],p.uv[2],p.uv[1]]};this.box_uv&&e===0&&(this.mirror_uv=!this.mirror_uv);var r;switch(e){case 0:r=["west","east"];break;case 1:r=["up","down"];break;case 2:r=["south","north"];break}var s=new Xo(r[1],this.faces[r[0]]);this.faces[r[0]].extend(this.faces[r[1]]),this.faces[r[1]].extend(s),e===1?(this.faces.north.uv=c("north"),this.faces.south.uv=c("south"),this.faces.east.uv=c("east"),this.faces.west.uv=c("west")):(this.faces.north.uv=l("north"),this.faces.south.uv=l("south"),this.faces.east.uv=l("east"),this.faces.west.uv=l("west")),e===0?(this.faces.up.uv=l("up"),this.faces.down.uv=l("down")):(this.faces.up.uv=c("up"),this.faces.down.uv=c("down"))}this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this.preview_controller.updateFaces(this),this.preview_controller.updateUV(this)}transferOrigin(e,t=!0){if(this.mesh){var n=Reusable.quat1.copy(this.mesh.quaternion),a=Reusable.vec1.set(this.origin[0]-e[0],this.origin[1]-e[1],this.origin[2]-e[2]),o=Reusable.vec2.copy(a);return o.applyQuaternion(n),a.sub(o),a.applyQuaternion(n.invert()),this.moveVector(a,null,t),this.origin.V3_set(e),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}}getWorldCenter(){var e=this.mesh,t=new THREE.Vector3(this.from[0]+this.size(0)/2,this.from[1]+this.size(1)/2,this.from[2]+this.size(2)/2);if(t.x=(t.x-this.origin[0])*e.scale.x,t.y=(t.y-this.origin[1])*e.scale.y,t.z=(t.z-this.origin[2])*e.scale.z,e){var n=e.getWorldQuaternion(Reusable.quat1);t.applyQuaternion(n),t.add(THREE.fastWorldPosition(e,Reusable.vec2))}return t}getGlobalVertexPositions(){var e=this.from.slice(),t=this.to.slice();td(e,t,this);let n=[[t[0],t[1],t[2]],[t[0],t[1],e[2]],[t[0],e[1],t[2]],[t[0],e[1],e[2]],[e[0],t[1],e[2]],[e[0],t[1],t[2]],[e[0],e[1],e[2]],[e[0],e[1],t[2]]],a=new THREE.Vector3;return n.map(o=>(a.set(...o.V3_subtract(this.origin)),a.applyMatrix4(this.mesh.matrixWorld),a.sub(scene.position),a.toArray()))}setUVMode(e){if(this.box_uv==!!e)return this;if(this.box_uv=!!e,this.box_uv){this.faces.west.uv[2]<this.faces.east.uv[0]?(this.mirror_uv=!0,this.uv_offset[0]=Math.round(this.faces.west.uv[2])):(this.mirror_uv=!1,this.uv_offset[0]=Math.round(this.faces.east.uv[0])),this.uv_offset[1]=Math.round(this.faces.up.uv[3]);let t=Texture.getDefault();for(let n in this.faces)this.faces[n].texture&&(t=this.faces[n].getTexture());for(let n in this.faces)this.faces[n].texture===null&&this.faces[n].extend({texture:t||!1});for(let n in this.faces)this.faces[n].rotation=0;this.preview_controller.updateFaces(this)}return this.preview_controller.updateUV(this),this}setColor(e){return this.color=e,this.visibility&&this.preview_controller.updateFaces(this),this}applyTexture(e,t){if(t===!0||this.box_uv)var n=["north","east","south","west","up","down"];else if(t===void 0)var n=[UVEditor.face];else var n=t;let a=null;e?a=e.uuid:(e===!1||e===null)&&(a=e),n.forEach(o=>{this.faces[o].texture!==null&&(this.faces[o].texture=a)}),Outliner.selected.indexOf(this)===0&&UVEditor.loadData(),this.preview_controller.updateFaces(this),this.preview_controller.updateUV(this)}mapAutoUV(e={}){if(!this.box_uv){var t=this;if(t.autouv===2){var n=["north","south","west","east","up","down"];let a=Format.centered_grid?8:0;n.forEach(function(o){var r=t.faces[o].uv.slice();let s=t.faces[o].getTexture(),l=Project.getUVWidth(s),c=Project.getUVHeight(s);switch(o){case"north":r=[l-(t.to[0]+a),c-t.to[1],l-(t.from[0]+a),c-t.from[1]];break;case"south":r=[t.from[0]+a,c-t.to[1],t.to[0]+a,c-t.from[1]];break;case"west":r=[t.from[2]+a,c-t.to[1],t.to[2]+a,c-t.from[1]];break;case"east":r=[l-(t.to[2]+a),c-t.to[1],l-(t.from[2]+a),c-t.from[1]];break;case"up":r=[t.from[0]+a,t.from[2]+a,t.to[0]+a,t.to[2]+a];break;case"down":r=[t.from[0]+a,c-(t.to[2]+a),t.to[0]+a,c-(t.from[2]+a)];break}if(Math.max(r[0],r[2])>l){let d=Math.max(r[0],r[2])-l;r[0]-=d,r[2]-=d}if(Math.min(r[0],r[2])<0){let d=Math.min(r[0],r[2]);r[0]=Math.clamp(r[0]-d,0,l),r[2]=Math.clamp(r[2]-d,0,l)}if(Math.max(r[1],r[3])>c){let d=Math.max(r[1],r[3])-c;r[1]-=d,r[3]-=d}if(Math.min(r[1],r[3])<0){let d=Math.min(r[1],r[3]);r[1]=Math.clamp(r[1]-d,0,c),r[3]=Math.clamp(r[3]-d,0,c)}t.faces[o].uv=r}),t.preview_controller.updateUV(t)}else if(t.autouv===1){let a=function(o,r,s){let l=r.map(w=>t.size(w)),c=t.faces[o];l[0]=Math.abs(l[0]),l[1]=Math.abs(l[1]);let d=c.uv[0],u=c.uv[1],p=c.uv_size,m=c.rotation,_=c.getTexture(),f=Project.getUVWidth(_),g=Project.getUVHeight(_),v=UVEditor.isUVClamped(_);(m===90||m===270)&&(l.reverse(),r.reverse(),s.reverse()),(m==180||m===270)&&(s[0]*=-1,s[1]*=-1),m===270&&(s[1]*=-1),v&&(l[0]=Math.clamp(l[0],-f,f),l[1]=Math.clamp(l[1],-g,g)),l[0]*=Math.sign(p[0])||1,l[1]*=Math.sign(p[1])||1,e&&typeof e.axis=="number"&&(e.axis==r[0]&&e.direction==s[0]&&(d+=p[0]-l[0]),e.axis==r[1]&&e.direction==s[1]&&(u+=p[1]-l[1]),e.axis==r[0]&&e.direction==0&&(d+=(p[0]-l[0])/2),e.axis==r[1]&&e.direction==0&&(u+=(p[1]-l[1])/2)),v&&d<0&&(d=0),v&&u<0&&(u=0);let b=d+l[0],x=u+l[1];return v&&b>f&&(d=f-(b-d),b=f),v&&x>g&&(u=g-(x-u),x=g),[d,u,b,x]};t.faces.north.uv=a("north",[0,1],[1,1]),t.faces.east.uv=a("east",[2,1],[1,1]),t.faces.south.uv=a("south",[0,1],[-1,1]),t.faces.west.uv=a("west",[2,1],[-1,1]),t.faces.up.uv=a("up",[0,2],[-1,-1]),t.faces.down.uv=a("down",[0,2],[-1,1]),t.preview_controller.updateUV(t)}}}moveVector(e,t,n=!0){if(typeof e=="number"){var a=e;e=[0,0,0],e[t||0]=a}else e instanceof THREE.Vector3&&(e=e.toArray());var o=this,r=!0;return e.forEach((s,l)=>{var c=o.size(l);s+=o.from[l];var d=s;Math.abs(d-s)>=1e-4&&(r=!1),s-=o.from[l],o.from[l]+=s,o.to[l]+=s}),Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.move(this),n&&(this.mapAutoUV(),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this)),TickUpdates.selection=!0,r}resize(e,t,n,a,o){let r=this.temp_data.old_size!=null?this.temp_data.old_size:this.size(t);r instanceof Array&&(r=r[t]),r<0&&a==null&&(n=!n);let l=e instanceof Function?e:c=>c+e;if(o){let c=this.temp_data.oldCenter[t]||0,d=l(r)-r;n&&(d*=-1);let u=c-r/2-d,p=c+r/2+d;Format.integer_size&&(u=Math.round(u-this.from[t])+this.from[t],p=Math.round(p-this.to[t])+this.to[t]),this.from[t]=u,this.to[t]=p,u>p&&!(settings.negative_size.value||a)&&(this.from[t]=this.to[t]=(u+p)/2)}else if(n){let c=this.to[t]+l(-r);Format.integer_size&&(c=Math.round(c-this.to[t])+this.to[t]),c<=this.to[t]||settings.negative_size.value||a?this.from[t]=c:this.from[t]=this.to[t]}else{let c=this.from[t]+l(r);Format.integer_size&&(c=Math.round(c-this.from[t])+this.from[t]),c>=this.from[t]||settings.negative_size.value||a?this.to[t]=c:this.to[t]=this.from[t]}if(Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.clamp(this,{},t,o?null:!!n),this.mapAutoUV({axis:t,direction:o?0:n?-1:1}),this.box_uv){if(t==2){let c=r-this.size(t);Format.box_uv_float_size||(c=Math.ceil(c)),this.uv_offset[0]=(this.temp_data.oldUVOffset?this.temp_data.oldUVOffset[0]:this.uv_offset[0])+c,this.uv_offset[1]=(this.temp_data.oldUVOffset?this.temp_data.oldUVOffset[1]:this.uv_offset[1])+c}else if(t==0&&(!n||o)){let c=r-this.size(t);Format.box_uv_float_size||(c=Math.ceil(c)),this.uv_offset[0]=(this.temp_data.oldUVOffset?this.temp_data.oldUVOffset[0]:this.uv_offset[0])+c}this.preview_controller.updateUV(this)}return this.preview_controller.updateGeometry(this),TickUpdates.selection=!0,this}isStretched(){return!this.stretch.allEqual(1)}};W(Ps,"behavior",{select_faces:"enum",cube_faces:!0,support_box_uv:!0,rotatable:!0,movable:!0,resizable:!0,has_pivot:!0,use_absolute_position:!0,stretchable:!0,cube_rotation_limit:!0,cube_size_limit:!0,marker_color:!0,unique_name:!1});var Fn=Ps;Fn.prototype.title=tl("data.cube");Fn.prototype.type="cube";Fn.prototype.icon="fa-cube";Fn.prototype.menu=new Menu([...Outliner.control_menu_group,new MenuSeparator("settings"),"convert_to_mesh","update_autouv","cube_uv_mode","allow_element_mirror_modeling","set_element_marker_color","randomize_marker_colors",{name:"menu.cube.texture",icon:"collections",condition:()=>!Format.single_texture&&!Format.per_group_texture,children:function(){var i=[{icon:"crop_square",name:Format.single_texture_default?"menu.cube.texture.default":"menu.cube.texture.blank",click(t){t.forSelected(function(n){n.applyTexture(!1,!0)},"texture blank",Format.per_group_texture?"all_in_group":null)}}];let e;e:for(let t of Fn.selected)t:for(let n in t.faces){let a=t.faces[n].getTexture();if(a){if(!e)e=a;else if(e!=a){e=null;break e}}}return Texture.all.forEach(function(t){i.push({name:t.name,icon:t.mode==="link"?t.img:t.source,marked:t==e,click:function(n){n.forSelected(function(a){a.applyTexture(t,!0)},"apply texture",Format.per_group_texture?"all_in_group":null)}})}),i}},"edit_material_instances","element_render_order",new MenuSeparator("manage"),"rename","toggle_visibility","delete"]);Fn.prototype.buttons=[Outliner.buttons.autouv,Outliner.buttons.mirror_uv,Outliner.buttons.shade,Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];new vt(Fn,"string","name",{default:"cube"});new vt(Fn,"boolean","box_uv",{merge_validation:i=>Format.optional_box_uv||i===Format.box_uv});new vt(Fn,"enum","render_order",{default:"default",values:["default","behind","in_front"],inputs:{element_panel:{input:{label:"action.element_render_order.short",description:"action.element_render_order.desc",type:"select",options:{default:"action.element_render_order.default",behind:"action.element_render_order.behind",in_front:"action.element_render_order.in_front"}},onChange(){Fn.selected.forEach(i=>{i.preview_controller.updateRenderOrder(i)})}}}});new vt(Fn,"boolean","rescale",{condition:{features:["java_cube_shading_properties"]},inputs:{element_panel:{input:{label:"cube.rescale",description:"cube.rescale.desc",type:"checkbox"},onChange(){Canvas.updateView({elements:Fn.all,element_aspects:{transform:!0}})}}}});new vt(Fn,"boolean","locked");new vt(Fn,"boolean","shade",{default:!0,condition:{features:["java_cube_shading_properties"]},inputs:{element_panel:{input:{label:"switches.shade",type:"checkbox"}}}});new vt(Fn,"number","light_emission",{condition:{features:["java_cube_shading_properties"]},inputs:{element_panel:{input:{label:"action.cube_light_emission",type:"number",min:0,max:15,step:1,force_step:!0}}}});OutlinerElement.registerType(Fn,"cube");function td(i,e,t){var n=t.size().slice();n.forEach((o,r)=>{n[r]/=2});var a=[t.from[0]+n[0],t.from[1]+n[1],t.from[2]+n[2]];for(let o=0;o<i.length;o++)i[o]=a[o]-(n[o]+t.inflate)*t.stretch[o],e[o]=a[o]+(n[o]+t.inflate)*t.stretch[o]}function wne(i){return i=Math.abs(i),i>45&&(i=90-i),1/Math.cos(Math.degToRad(i))}new NodePreviewController(Fn,{setup(i){let e=new THREE.Mesh(new THREE.BoxGeometry(1,1,1),Canvas.emptyMaterials[0]);Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type="cube",e.isElement=!0,e.visible=i.visibility,e.rotation.order=Format.euler_order,e.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(24).fill(0),1));let t=new THREE.BufferGeometry,n=new THREE.Line(t,Canvas.outlineMaterial);n.no_export=!0,n.name=i.uuid+"_outline",n.visible=i.selected,n.renderOrder=2,n.frustumCulled=!1,e.outline=n,e.add(n),this.updateTransform(i),this.updateGeometry(i),this.updateFaces(i),this.updateUV(i),this.updateRenderOrder(i),this.dispatchEvent("setup",{element:i})},updateTransform(i){NodePreviewController.prototype.updateTransform.call(this,i);let e=i.mesh;if(Format.rotate_cubes&&i.rescale===!0){let t=i.rotation.map(n=>wne(n));e.scale.set(t[1]*t[2],t[0]*t[2],t[0]*t[1])}else e.scale.set(1,1,1);this.dispatchEvent("update_transform",{element:i})},updateGeometry(i){let e=i.mesh;var t=i.from.slice(),n=i.to.slice();td(t,n,i),t.forEach((r,s)=>{t[s]-=i.origin[s]}),n.forEach((r,s)=>{n[s]-=i.origin[s],t[s]===n[s]&&(n[s]+=.001)}),e.geometry.setShape(t,n),e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere();var a=[0,1,2,3,4,5,6,7].map(r=>e.geometry.attributes.position.array.slice(r*3,r*3+3));let o=[a[2],a[3],a[6],a[7],a[2],a[0],a[1],a[4],a[5],a[0],a[5],a[7],a[6],a[4],a[1],a[3]].map(r=>new THREE.Vector3().fromArray(r));e.outline.geometry.setFromPoints(o),this.updatePixelGrid(i),this.dispatchEvent("update_geometry",{element:i})},updateFaces(i){let{mesh:e}=i,t=[],n=0;e.geometry.faces=[],e.geometry.clearGroups();let a;if(Canvas.face_order.forEach((o,r)=>{i.faces[o].texture!==null&&(t.push(0+r*4,2+r*4,1+r*4,2+r*4,3+r*4,1+r*4),a&&i.faces[o].texture===a?e.geometry.groups[e.geometry.groups.length-1].count+=6:(e.geometry.addGroup(n*6,6,n),a=i.faces[o].texture),e.geometry.faces.push(o),n++)}),e.geometry.setIndex(t),Project.view_mode==="solid")e.material=Canvas.monochromaticSolidMaterial;else if(Project.view_mode==="colored_solid")e.material=Canvas.getSolidColorMaterial(i.color);else if(Project.view_mode==="wireframe")e.material=Canvas.wireframeMaterial;else if(Project.view_mode==="normal")e.material=Canvas.normalHelperMaterial;else if(Project.view_mode==="uv")e.material=Canvas.uvHelperMaterial;else if((Format.single_texture||Format.single_texture_default)&&Texture.all.length>=2&&Texture.all.find(o=>o.render_mode=="layered"))e.material=Canvas.getLayeredMaterial();else if(Format.single_texture&&!Project.getMultiFileRuleset()){let o=Texture.getDefault();e.material=o?o.getMaterial():Canvas.getEmptyMaterial(i.color)}else{let o=[];Canvas.face_order.forEach(function(r){if(i.faces[r].texture!==null){let s=i.faces[r].getTexture();s&&s.uuid?o.push(s.getMaterial()):o.push(Canvas.getEmptyMaterial(i.color))}}),o.allEqual(o[0])&&(o=o[0]),e.material=o}e.material||(e.material=Canvas.transparentMaterial),Fn.preview_controller.dispatchEvent("update_faces",{element:i})},updateUV(i,e=!0){let t=i.mesh;if(!(t===void 0||!t.geometry)){if(i.box_uv){let n=i.size(void 0,Format.box_uv_float_size!=!0),a=[{face:"east",from:[0,n[2]],size:[n[2],n[1]]},{face:"west",from:[n[2]+n[0],n[2]],size:[n[2],n[1]]},{face:"up",from:[n[2]+n[0],n[2]],size:[-n[0],-n[2]]},{face:"down",from:[n[2]+n[0]*2,0],size:[-n[0],n[2]]},{face:"south",from:[n[2]*2+n[0],n[2]],size:[n[0],n[1]]},{face:"north",from:[n[2],n[2]],size:[n[0],n[1]]}];if(i.mirror_uv){a.forEach(function(r){r.from[0]+=r.size[0],r.size[0]*=-1});let o={};o.from=a[0].from.slice(),o.size=a[0].size.slice(),a[0].from=a[1].from.slice(),a[0].size=a[1].size.slice(),a[1].from=o.from.slice(),a[1].size=o.size.slice()}a.forEach(function(o,r){if(i.faces[o.face].texture==null)return;let s=[o.from[0]+i.uv_offset[0],o.from[1]+i.uv_offset[1],o.from[0]+o.size[0]+i.uv_offset[0],o.from[1]+o.size[1]+i.uv_offset[1]];s.forEach(function(l,c){s[c]*=1}),i.faces[o.face].uv[0]=s[0],i.faces[o.face].uv[1]=s[1],i.faces[o.face].uv[2]=s[2],i.faces[o.face].uv[3]=s[3]})}return Canvas.face_order.forEach((n,a)=>{let o=i.faces[n];if(o.texture===null)return;let r=1,s=0,l=o.getTexture(),c=o.uv,d=t.geometry.attributes.uv,u=Project.texture_width,p=Project.texture_height;if(l&&Format.per_texture_uv_size&&Project.view_mode!=="uv"&&(u=l.getUVWidth(),p=l.getUVHeight()),l instanceof Texture&&l.frameCount!==1&&(r=l.frameCount||1,e===!0&&l.currentFrame&&(s=l.currentFrame)),r*=-1,i.box_uv){c=c.slice();for(let f=0;f<2;f++){let g=.015625;c[f]>c[f+2]&&(g=-g),c[f]+=g,c[f+2]-=g}}let m=[[c[0]/u,c[1]/p/r+1],[c[2]/u,c[1]/p/r+1],[c[0]/u,c[3]/p/r+1],[c[2]/u,c[3]/p/r+1]];if(s>0&&r!==-1){let f=1/r*s;m[0][1]+=f,m[1][1]+=f,m[2][1]+=f,m[3][1]+=f}let _=o.rotation+0;for(;_>0;){let f=m[0];m[0]=m[2],m[2]=m[3],m[3]=m[1],m[1]=f,_=_-90}d.array.set(m[0],a*8+0),d.array.set(m[1],a*8+2),d.array.set(m[2],a*8+4),d.array.set(m[3],a*8+6)}),t.geometry.attributes.uv.needsUpdate=!0,this.dispatchEvent("update_uv",{element:i}),this.updatePixelGrid(i),t.geometry}},updateHighlight(i,e,t){var n=i.mesh;let a=Settings.get("highlight_cubes")&&(e==i&&!Transformer.dragging||i.selected)&&Modes.edit&&!t?1:0;n.geometry.attributes.highlight.array[0]!=a&&(n.geometry.attributes.highlight.array.set(Array(n.geometry.attributes.highlight.count).fill(a)),n.geometry.attributes.highlight.needsUpdate=!0),this.dispatchEvent("update_highlight",{element:i})},updatePixelGrid(i){var e=i.mesh;if(e===void 0||(e.remove(e.grid_box),e.grid_box?.geometry&&e.grid_box.geometry.dispose(),i.visibility==!1)||!(Modes.paint&&settings.painting_grid.value||Modes.edit&&settings.pixel_grid.value))return;var n=i.from.slice(),a=i.to.slice();(i.inflate||i.isStretched())&&td(n,a,i);for(let p=0;p<3;p++)if(a[p]<n[p]){let m=a[p];a[p]=n[p],n[p]=m}var o=[],r=1e-4;function s(p,m){switch(m){case 0:return[p[1],p[2]];case 1:return[p[0],p[2]];case 2:return[p[0],p[1]]}}function l(p,m,_,f){switch(_){case 0:o.push(f,p,m);break;case 1:o.push(p,f,m);break;case 2:o.push(p,m,f);break}}function c(p,m,_,f){var g=s(n,_),v=s(a,_),b=i.faces[p],x=b.getTexture();if(x!==null){var w=x?x.uv_width/x.width:1,E=x?x.uv_height/x.height:1,y=[Math.abs(b.uv_size[0]),Math.abs(b.uv_size[1])];m=[m[0]==!0?b.uv_size[0]>0?w-b.uv[2]:b.uv[2]:b.uv_size[0]>0?b.uv[0]:w-b.uv[0],m[1]==!0?b.uv_size[1]>0?E-b.uv[3]:b.uv[3]:b.uv_size[1]>0?b.uv[1]:E-b.uv[1]],m[0]=m[0]%w,m[1]=m[1]%E,b.rotation%180==90!=(_==0)&&(y.reverse(),m.reverse());var A=f==0?n[_]:a[_],R=v[0]-g[0],O=Math.abs(R/y[0]);x&&(O*=x.uv_width/x.width),O<r&&(O=r);for(var j=g[0]-m[0];j<=v[0];j+=O)j>=g[0]&&(l(j,g[1],_,A),l(j,v[1],_,A));var F=v[1]-g[1],O=Math.abs(F/y[1]);if(x){let U=x.frameCount?x.height/x.frameCount:x.height;O*=x.uv_height/U}O<r&&(O=r);for(var L=g[1]-m[1];L<=v[1];L+=O)L>=g[1]&&(l(g[0],L,_,A),l(v[0],L,_,A))}}c("north",[!0,!0],2,0),c("south",[!1,!0],2,1),c("west",[!1,!0],0,0),c("east",[!0,!0],0,1),c("down",[!1,!0],1,0),c("up",[!1,!1],1,1);var d=new THREE.BufferGeometry;d.setAttribute("position",new THREE.Float32BufferAttribute(o,3));let u=new THREE.LineSegments(d,new THREE.LineBasicMaterial({color:gizmo_colors.grid}));u.geometry.translate(-i.origin[0],-i.origin[1],-i.origin[2]),u.no_export=!0,u.name=i.uuid+"_grid_box",u.renderOrder=2,u.frustumCulled=!1,e.grid_box=u,e.add(u),this.dispatchEvent("update_painting_grid",{element:i})},viewportRectangleOverlap(i,{projectPoint:e,rect_start:t,rect_end:n,preview:a}){if(BarItems.selection_mode.value!="object"&&Format.meshes&&a.selection.old_selected.find(u=>u instanceof Mesh))return;let{mesh:o}=i,r=Reusable.vec2;var s=i.from.slice(),l=i.to.slice();td(s,l,i);let c=[[s[0],s[1],s[2]],[s[0],s[1],l[2]],[s[0],l[1],l[2]],[s[0],l[1],s[2]],[l[0],s[1],s[2]],[l[0],s[1],l[2]],[l[0],l[1],l[2]],[l[0],l[1],s[2]]].map(u=>(u.V3_subtract(i.origin),r.fromArray(u),o.localToWorld(r),e(r)));return c.find(u=>u[0]>=0&&u[0]<=a.width&&u[1]>=0&&u[1]<=a.height)&&(lineIntersectsReactangle(c[0],c[1],t,n)||lineIntersectsReactangle(c[1],c[2],t,n)||lineIntersectsReactangle(c[2],c[3],t,n)||lineIntersectsReactangle(c[3],c[0],t,n)||lineIntersectsReactangle(c[4],c[5],t,n)||lineIntersectsReactangle(c[5],c[6],t,n)||lineIntersectsReactangle(c[6],c[7],t,n)||lineIntersectsReactangle(c[7],c[4],t,n)||lineIntersectsReactangle(c[0],c[4],t,n)||lineIntersectsReactangle(c[1],c[5],t,n)||lineIntersectsReactangle(c[2],c[6],t,n)||lineIntersectsReactangle(c[3],c[7],t,n))}});BARS.defineActions(function(){new Action({id:"add_cube",icon:"add_box",category:"edit",condition:()=>Modes.edit,click:function(){Undo.initEdit({outliner:!0,elements:[],selection:!0});var i=new Fn({autouv:settings.autouv.value?1:0}).init();i.box_uv||i.mapAutoUV();let e=getCurrentGroup();if(e&&(i.addTo(e),i.scope=e.scope,settings.inherit_parent_color.value&&(i.color=e.color)),Texture.all.length&&Format.single_texture){for(var t in i.faces)i.faces[t].texture=Texture.getDefault().uuid;UVEditor.loadData()}if(Format.bone_rig){var n=e?e.origin.slice():[0,0,0];let a=Settings.get("default_cube_size");a%2==0?i.extend({from:[n[0]-a/2,n[1]-0,n[2]-a/2],to:[n[0]+a/2,n[1]+a,n[2]+a/2],origin:n.slice()}):i.extend({from:[n[0],n[1],n[2]],to:[n[0]+a,n[1]+a,n[2]+a],origin:n.slice()})}return unselectAllElements(),i.select(),Canvas.updateView({elements:[i],element_aspects:{transform:!0,geometry:!0,faces:!0}}),Undo.finishEdit("Add cube",{outliner:!0,elements:Outliner.selected,selection:!0}),Blockbench.dispatchEvent("add_cube",{object:i}),Vue.nextTick(function(){settings.create_rename.value&&i.rename()}),i}}),new Action({id:"edit_material_instances",icon:"fas.fa-adjust",category:"edit",condition:{modes:["edit"],formats:["bedrock_block"],method:()=>Fn.selected.length&&!Fn.selected.find(i=>i.box_uv)},click:function(){let i={},e=Fn.selected[0];for(var t in e.faces){let a=e.faces[t];a.texture!=null&&(i[t]={label:`face.${t}`,value:a.material_name})}let n=new Dialog({id:"material_instances",title:"dialog.material_instances.title",width:460,form:i,onConfirm:a=>{n.hide(),Undo.initEdit({elements:Fn.selected}),Fn.selected.forEach(o=>{for(var r in o.faces){let s=o.faces[r];s.texture!=null&&typeof a[r]=="string"&&(s.material_name=a[r])}}),Undo.finishEdit("Edit material instances")}});n.show()}}),new BarSelect("cube_uv_mode",{name:"dialog.project.uv_mode",category:"uv",condition:()=>Fn.selected.length&&Format.optional_box_uv,options:{face_uv:"dialog.project.uv_mode.face_uv",box_uv:"dialog.project.uv_mode.box_uv"},onChange(){let i=this.value=="box_uv";Undo.initEdit({elements:Fn.selected,uv_only:!0}),Fn.selected.forEach(e=>{e.setUVMode(i)}),Undo.finishEdit("Change UV mode"),updateSelection()}}),Blockbench.on("update_selection",()=>{Condition(BarItems.cube_uv_mode)&&BarItems.cube_uv_mode.set(Fn.selected[0].box_uv?"box_uv":"face_uv")}),new BarSelect("element_render_order",{name:"action.element_render_order",category:"edit",condition:()=>Outliner.selected.find(i=>i.render_order)&&Texture.all.length,options:{default:"action.element_render_order.default",behind:"action.element_render_order.behind",in_front:"action.element_render_order.in_front"},onChange(){let i=Outliner.selected.filter(e=>e.render_order);Undo.initEdit({elements:i}),i.forEach(e=>{e.render_order=this.value,e.preview_controller.updateRenderOrder(e)}),Undo.finishEdit("Change render order"),updateSelection()}}),Blockbench.on("update_selection",()=>{let i=Outliner.selected.find(e=>e.render_order);i&&BarItems.element_render_order.set(i.render_order)}),new NumSlider("cube_light_emission",{category:"edit",condition:{features:["java_cube_shading_properties"]},settings:{min:0,max:15,default:0,show_bar:!0},getInterval(i){return 1},get(){return Fn.selected[0]?.light_emission??0},change(i){for(let e of Fn.selected)e.light_emission=i(e.light_emission)},onBefore(){Undo.initEdit({elements:Fn.selected})},onAfter(){Undo.finishEdit("Change cube light emission")}}),Blockbench.on("update_selection",()=>{let i=Fn.selected[0]?.light_emission??0;BarItems.cube_light_emission.setValue(i)})});Object.assign(window,{CubeFace:Xo,Cube:Fn,adjustFromAndToForInflateAndStretch:td});var sy=class i extends CubeFace{constructor(e,t){super("front",e,t),this.texture=!1,this.billboard=t,this.uv=[0,0,canvasGridSize()*2,canvasGridSize()*2],this.rotation=0,e&&this.extend(e)}get uv_size(){return[this.uv[2]-this.uv[0],this.uv[3]-this.uv[1]]}set uv_size(e){this.uv[2]=e[0]+this.uv[0],this.uv[3]=e[1]+this.uv[1]}extend(e){return super.extend(e),e.uv&&(Merge.number(this.uv,e.uv,0),Merge.number(this.uv,e.uv,1),Merge.number(this.uv,e.uv,2),Merge.number(this.uv,e.uv,3)),this}getUndoCopy(){var e=new i(this);return delete e.billboard,delete e.cube,delete e.direction,e}reset(){return super.reset(),this.rotation=0,this}getBoundingRect(){return getRectangle(...this.uv)}getVertexIndices(){return[0,1,3,2]}UVToLocal(e){let t=this.element.offset,n=this.element.size,a=Math.getLerp(this.uv[0],this.uv[2],e[0]),o=Math.getLerp(this.uv[1],this.uv[3],e[1]);for(let s=0;s<this.rotation;s+=90)[a,o]=[1-o,a];return new Ve.Vector3(n[0]*(a-.5)+t[0],n[1]*(-o+.5)+t[1],0)}};new Property(sy,"number","rotation",{default:0});var id=class id extends OutlinerElement{constructor(e,t){super(e,t),this.shade=!0,this.visibility=!0,this.autouv=0;for(var n in id.properties)id.properties[n].reset(this);let a=Settings.get("default_cube_size");this.position=[0,0,0],this.size=[a,a],this.offset=[0,0],this.color=Math.floor(Math.random()*markerColors.length),this.faces={front:new sy(null,this)},e&&typeof e=="object"&&this.extend(e)}get origin(){return this.position}extend(e){for(var t in id.properties)id.properties[t].merge(this,e);if(this.sanitizeName(),e.size&&(typeof e.size[0]=="number"&&!isNaN(e.size[0])&&(this.size[0]=e.size[0]),typeof e.size[1]=="number"&&!isNaN(e.size[1])&&(this.size[1]=e.size[1])),e.faces)for(var n in this.faces)this.faces.hasOwnProperty(n)&&e.faces.hasOwnProperty(n)&&this.faces[n].extend(e.faces[n]);return this}init(){return super.init(),Format.single_texture&&Texture.getDefault()&&(this.faces.front.texture=Texture.getDefault().uuid),this}getMesh(){return this.mesh}get mesh(){return Project.nodes_3d[this.uuid]}getUndoCopy(e=0){let t=new id(this);for(let n in t.faces)t.faces[n]=t.faces[n].getUndoCopy();return t.uuid=this.uuid,t.type=this.type,delete t.parent,t}getSaveCopy(){let e={};for(var t in id.properties)id.properties[t].copy(this,e);return e.from=this.from,e.autouv=this.autouv,e.color=this.color,this.visibility||(e.visibility=!1),this.export||(e.export=!1),this.shade||(e.shade=!1),e.origin=this.origin,e.faces={front:this.faces.front.getSaveCopy()},e.type=this.type,e.uuid=this.uuid,e}flip(e){let t=Format.centered_grid?0:8;var n=this.position[e]-t;return this.position[e]=t-n,e==0&&this.name.includes("right")?this.name=this.name.replace(/right/g,"left").replace(/2$/,""):e==0&&this.name.includes("left")&&(this.name=this.name.replace(/left/g,"right").replace(/2$/,"")),this.createUniqueName(),this.preview_controller.updateTransform(this),this}getWorldCenter(){var e=Reusable.vec1.set(0,0,0),t=Reusable.quat1.set(0,0,0,1);if(this.parent instanceof Group){Ve.fastWorldPosition(this.parent.mesh,e),this.parent.mesh.getWorldQuaternion(t);var n=Reusable.vec2.fromArray(this.parent.origin).applyQuaternion(t);e.sub(n)}var a=Reusable.vec3.fromArray(this.position).applyQuaternion(t);return e.add(a),e}setColor(e){return this.color=e,this.visibility&&this.preview_controller.updateFaces(this),this}applyTexture(e){let t=null;e?t=e.uuid:(e===!1||e===null)&&(t=e),this.faces.front.texture=t,Outliner.selected.indexOf(this)===0&&UVEditor.loadData(),this.preview_controller.updateFaces(this),this.preview_controller.updateUV(this)}moveVector(e,t,n=!0){if(typeof e=="number"){var a=e;e=[0,0,0],e[t||0]=a}else e instanceof Ve.Vector3&&(e=e.toArray());this.origin.V3_add(e),n&&(this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this)),TickUpdates.selection=!0}resize(e,t,n){if(t==2)return;n&&(e=-e);let a=this.temp_data.old_size!=null?this.temp_data.old_size:this.size[t];a instanceof Array&&(a=a[t]);let o=e instanceof Function?e:r=>r+e;return this.size[t]=o(a),this.mapAutoUV(),this.preview_controller.updateGeometry(this),TickUpdates.selection=!0,this}mapAutoUV(){if(this.autouv==0)return;let e=this.size.slice();e[0]=Math.abs(e[0]),e[1]=Math.abs(e[1]);let t=this.faces.front.uv[0],n=this.faces.front.uv[1],a=this.faces.front.rotation;(a===90||a===270)&&e.reverse();let o=this.faces.front.getTexture(),r=Project.getUVWidth(o),s=Project.getUVHeight(o);e[0]=Math.clamp(e[0],-r,r),e[1]=Math.clamp(e[1],-s,s);let l=t+e[0],c=n+e[1];l>r&&(t=r-(l-t),l=r),c>s&&(n=s-(c-n),c=s),t<0&&(t=0),n<0&&(n=0),l<t&&(l=t),c<n&&(c=n),this.faces.front.uv.replace([t,n,l,c]),this.preview_controller.updateUV(this)}};W(id,"behavior",{select_faces:!1,cube_faces:!0,movable:!0,resizable:!0,unique_name:!1});var fa=id;fa.prototype.title=tl("data.billboard");fa.prototype.type="billboard";fa.prototype.icon="fa fas fa-bookmark";fa.prototype.menu=new Menu([...Outliner.control_menu_group,"_","rename","set_element_marker_color","randomize_marker_colors",{name:"menu.cube.texture",icon:"collections",condition:()=>!Project.single_texture,children:function(){let i=[{icon:"crop_square",name:"menu.cube.texture.blank",click:function(e){e.forSelected(function(t){t.applyTexture(!1,!0)},"texture blank")}}];return Texture.all.forEach(function(e){i.push({name:e.name,icon:e.mode==="link"?e.img:e.source,click:function(t){t.forSelected(function(n){n.applyTexture(e,!0)},"apply texture")}})}),i}},"toggle_visibility","delete"]);fa.prototype.buttons=[Outliner.buttons.autouv,Outliner.buttons.mirror_uv,Outliner.buttons.shade,Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];new Property(fa,"string","name",{default:"billboard"});new Property(fa,"vector","position");new Property(fa,"vector2","size",{default:[2,2]});new Property(fa,"vector2","offset",{inputs:{element_panel:{input:{label:"billboard.offset",type:"vector",dimensions:2},onChange(){for(let i of fa.selected)fa.preview_controller.updateGeometry(i)}}}});new Property(fa,"number","color");new Property(fa,"boolean","visibility",{default:!0});new Property(fa,"boolean","locked");new Property(fa,"enum","facing_mode",{default:"lookat",values:["lookat","lookat_y","rotate","rotate_y"],inputs:{element_panel:{input:{label:"billboard.facing_mode",type:"select",options:{lookat:"billboard.facing_mode.lookat",lookat_y:"billboard.facing_mode.lookat_y",rotate:"billboard.facing_mode.rotate",rotate_y:"billboard.facing_mode.rotate_y"}},onChange(){for(let i of fa.selected)fa.preview_controller.updateFacingCamera(i)}}}});OutlinerElement.registerType(fa,"billboard");new NodePreviewController(fa,{setup(i){let e=new Ve.PlaneGeometry(2,2),t=new Ve.Mesh(e,Canvas.emptyMaterials[0]);Project.nodes_3d[i.uuid]=t,t.name=i.uuid,t.type="billboard",t.isElement=!0,t.visible=i.visibility,t.rotation.order=Format.euler_order,t.geometry.setAttribute("highlight",new Ve.BufferAttribute(new Uint8Array(4).fill(0),1));let n=new Ve.BufferGeometry,a=new Ve.Line(n,Canvas.outlineMaterial);a.no_export=!0,a.name=i.uuid+"_outline",a.visible=i.selected,a.renderOrder=2,a.frustumCulled=!1,t.outline=a,t.add(a),n.setAttribute("position",new Ve.BufferAttribute(new Uint8Array(12).fill(0),3)),this.updateTransform(i),this.updateGeometry(i),this.updateFaces(i),this.updateUV(i),this.dispatchEvent("setup",{element:i})},updateTransform(i){NodePreviewController.prototype.updateTransform.call(this,i),this.updateFacingCamera(i),this.dispatchEvent("update_transform",{element:i})},updateGeometry(i){let e=i.mesh,t=[i.size[0]/2,i.size[1]/2],n=i.offset,a=[n[0]-t[0],n[1]+t[1],0,n[0]+t[0],n[1]+t[1],0,n[0]-t[0],n[1]-t[1],0,n[0]+t[0],n[1]-t[1],0];e.geometry.attributes.position.array.set(a,0),e.geometry.attributes.position.needsUpdate=!0,e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere();let o=[n[0]-t[0],n[1]+t[1],0,n[0]+t[0],n[1]+t[1],0,n[0]+t[0],n[1]-t[1],0,n[0]-t[0],n[1]-t[1],0,n[0]-t[0],n[1]+t[1],0];e.outline.geometry.setAttribute("position",new Ve.BufferAttribute(new Float32Array(o),3)),this.dispatchEvent("update_geometry",{element:i})},updateFaces(i){let{mesh:e}=i;if(Project.view_mode==="solid")e.material=Canvas.monochromaticSolidMaterial;else if(Project.view_mode==="colored_solid")e.material=Canvas.coloredSolidMaterials[i.color%Canvas.emptyMaterials.length];else if(Project.view_mode==="wireframe")e.material=Canvas.wireframeMaterial;else if(Project.view_mode==="normal")e.material=Canvas.normalHelperMaterial;else if(Project.view_mode==="uv")e.material=Canvas.uvHelperMaterial;else if((Format.single_texture||Format.single_texture_default)&&Texture.all.length>=2&&Texture.all.find(t=>t.render_mode=="layered"))e.material=Canvas.getLayeredMaterial();else if(Format.single_texture){let t=Texture.getDefault();e.material=t?t.getMaterial():Canvas.emptyMaterials[i.color%Canvas.emptyMaterials.length]}else{let t=i.faces.front.getTexture();t&&t.uuid?e.material=t.getMaterial():e.material=Canvas.emptyMaterials[i.color]}e.material||(e.material=Canvas.transparentMaterial),fa.preview_controller.dispatchEvent("update_faces",{element:i})},updateUV(i,e=!0){let t=i.mesh;if(t===void 0||!t.geometry)return;let n=1,a=0,o=i.faces.front.getTexture();o instanceof Texture&&o.frameCount!==1&&(n=o.frameCount,e===!0&&o.currentFrame&&(a=o.currentFrame));let r=i.faces.front;if(r.texture===null)return;let s=r.uv,l=t.geometry.attributes.uv,c=Project.getUV,d=Project.getUV;o&&Format.per_texture_uv_size&&Project.view_mode!=="uv"&&(c=o.getUVWidth(),d=o.getUVHeight()),o instanceof Texture&&o.frameCount!==1&&(n=o.frameCount||1,e===!0&&o.currentFrame&&(a=o.currentFrame)),n*=-1;let u=[[s[0]/c,s[1]/d/n+1],[s[2]/c,s[1]/d/n+1],[s[0]/c,s[3]/d/n+1],[s[2]/c,s[3]/d/n+1]];if(a>0&&n!==-1){let m=1/n*a;u[0][1]+=m,u[1][1]+=m,u[2][1]+=m,u[3][1]+=m}let p=r.rotation+0;for(;p>0;){let m=u[0];u[0]=u[2],u[2]=u[3],u[3]=u[1],u[1]=m,p=p-90}return l.array.set(u[0],0),l.array.set(u[1],2),l.array.set(u[2],4),l.array.set(u[3],6),t.geometry.attributes.uv.needsUpdate=!0,this.dispatchEvent("update_uv",{element:i}),t.geometry},updateFacingCamera(i){if(i.visibility==!1)return;let{mesh:e}=i,t=Preview.selected.camera;switch(i.facing_mode){case"lookat":{e.lookAt(t.position);break}case"lookat_y":{let a=Reusable.vec1,o=Reusable.vec2;var n=a.copy(t.position);o.set(0,0,0),e.localToWorld(o),n.y=o.y,e.lookAt(n);break}case"rotate":{let a=e.parent.getWorldQuaternion(Reusable.quat1).invert();e.rotation.copy(t.rotation),e.quaternion.premultiply(a);break}case"rotate_y":{let a=e.parent.getWorldQuaternion(Reusable.quat1).invert();e.rotation.copy(t.rotation),e.rotation.reorder("YXZ"),e.rotation.x=e.rotation.z=0,e.quaternion.premultiply(a);break}}},updateHighlight(i,e,t){let n=i.mesh,a=Settings.get("highlight_cubes")&&(e==i&&!Transformer.dragging||i.selected)&&Modes.edit&&!t?1:0;n.geometry.attributes.highlight.array[0]!=a&&(n.geometry.attributes.highlight.array.set(Array(n.geometry.attributes.highlight.count).fill(a)),n.geometry.attributes.highlight.needsUpdate=!0),this.dispatchEvent("update_highlight",{element:i})},updatePaintingGrid(i){return;function r(A,R){switch(R){case 0:return[A[1],A[2]];case 1:return[A[0],A[2]];case 2:return[A[0],A[1]]}}function s(A,R,j,F){switch(j){case 0:a.push(F,A,R);break;case 1:a.push(A,F,R);break;case 2:a.push(A,R,F);break}}for(var b;b<=c[0];b+=v)b>=l[0]&&(s(b,l[1],axis,f),s(b,c[1],axis,f));for(var w;w<=c[1];w+=v)w>=l[1]&&(s(l[0],w,axis,f),s(c[0],w,axis,f))},viewportRectangleOverlap(i,{projectPoint:e,rect_start:t,rect_end:n,preview:a}){if(BarItems.selection_mode.value!="object"&&Format.meshes&&a.selection.old_selected.find(c=>c instanceof Mesh))return;let{mesh:o}=i,r=Reusable.vec2,s=[[i.size[0]/2,-i.size[1]/2,0],[i.size[0]/2,i.size[1]/2,0],[-i.size[0]/2,-i.size[1]/2,0],[-i.size[0]/2,i.size[1]/2,0]].map(c=>(r.fromArray(c),o.localToWorld(r),e(r)));return s.find(c=>c[0]>=0&&c[0]<=a.width&&c[1]>=0&&c[1]<=a.height)&&(lineIntersectsReactangle(s[0],s[1],t,n)||lineIntersectsReactangle(s[1],s[2],t,n)||lineIntersectsReactangle(s[2],s[3],t,n)||lineIntersectsReactangle(s[3],s[0],t,n))}});Blockbench.on("update_camera_position",i=>{fa.all.forEach(e=>{fa.preview_controller.updateFacingCamera(e)})});BARS.defineActions(function(){new Action({id:"add_billboard",icon:"bookmark_add",category:"edit",condition:{features:["billboards"],modes:["edit"]},click:function(){Undo.initEdit({outliner:!0,elements:[],selection:!0});let i=new fa().init();i.mapAutoUV();let e=getCurrentGroup();return e&&(i.addTo(e),i.color=e.color),Texture.getDefault()&&(i.faces.front.texture=Texture.getDefault().uuid),UVEditor.loadData(),unselectAllElements(),i.select(),Canvas.updateView({elements:[i],element_aspects:{transform:!0,geometry:!0,faces:!0}}),Undo.finishEdit("Add billboard",{outliner:!0,elements:Outliner.selected,selection:!0}),Blockbench.dispatchEvent("add_billboard",{object:i}),Vue.nextTick(function(){settings.create_rename.value&&i.rename()}),i}})});Object.assign(window,{Billboard:fa,BillboardFace:sy});var mC="attribute float highlight;uniform bool SHADE;varying float light;varying float lift;float AMBIENT=0.1;float XFAC=-0.05;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelViewMatrix*vec4(normal,0.0)));light=(0.2+abs(N.z)*0.8)*(1.0-AMBIENT)+N.x*N.x*XFAC+N.y*N.y*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.3;}else if(highlight==1.0){lift=0.12;}else{lift=0.0;}vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var _C=`#ifdef GL_ES
precision highp float;
#endif
uniform bool SHADE;uniform float BRIGHTNESS;uniform vec3 base;varying float light;varying float lift;void main(void){gl_FragColor=vec4(lift+base*light*BRIGHTNESS,1.0);if(lift>0.1){gl_FragColor.b=gl_FragColor.b*1.16;gl_FragColor.g=gl_FragColor.g*1.04;}if(lift>0.2){gl_FragColor.r=gl_FragColor.r*0.6;gl_FragColor.g=gl_FragColor.g*0.7;}}`;var L4="attribute float highlight;uniform bool SHADE;varying vec2 vUv;varying float light;varying float lift;float AMBIENT=0.5;float XFAC=-0.15;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelMatrix*vec4(normal,0.0)));float yLight=(1.0+N.y)*0.5;light=yLight*(1.0-AMBIENT)+N.x*N.x*XFAC+N.z*N.z*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.22;}else if(highlight==1.0){lift=0.1;}else{lift=0.0;}vUv=uv;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var N4=`#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D map;uniform bool SHADE;uniform float BRIGHTNESS;uniform vec3 base;varying vec2 vUv;varying float light;varying float lift;void main(void){vec4 color=texture2D(map,vUv);gl_FragColor=vec4(lift+color.rgb*base*light*BRIGHTNESS,1.0);if(lift>0.2){gl_FragColor.r=gl_FragColor.r*0.6;gl_FragColor.g=gl_FragColor.g*0.7;}}`;var H4="attribute float highlight;uniform bool SHADE;varying vec2 vUv;varying float light;varying float lift;float AMBIENT=0.5;float XFAC=-0.15;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelMatrix*vec4(normal,0.0)));float yLight=(1.0+N.y)*0.5;light=yLight*(1.0-AMBIENT)+N.x*N.x*XFAC+N.z*N.z*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.22;}else if(highlight==1.0){lift=0.1;}else{lift=0.0;}vUv=uv;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var G4=`#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D t0;uniform sampler2D t1;uniform sampler2D t2;uniform bool SHADE;varying vec2 vUv;varying float light;varying float lift;void main(void){vec4 Ca=texture2D(t0,vUv);vec4 Cb=texture2D(t1,vUv);vec4 Cc=texture2D(t2,vUv);vec3 ctemp=Ca.rgb*Ca.a+Cb.rgb*Cb.a*(1.0-Ca.a);vec4 ctemp4=vec4(ctemp,Ca.a+(1.0-Ca.a)*Cb.a);vec3 c=ctemp4.rgb+Cc.rgb*Cc.a*(1.0-ctemp4.a);gl_FragColor=vec4(lift+c*light,ctemp4.a+(1.0-ctemp4.a)*Cc.a);if(lift>0.2){gl_FragColor.r=gl_FragColor.r*0.6;gl_FragColor.g=gl_FragColor.g*0.7;}if(gl_FragColor.a<0.05)discard;}`;var q4="attribute float highlight;uniform bool SHADE;varying float light;varying float lift;float AMBIENT=0.1;float XFAC=-0.05;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelViewMatrix*vec4(normal,0.0)));light=(0.2+abs(N.z)*0.8)*(1.0-AMBIENT)+N.x*N.x*XFAC+N.y*N.y*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.3;}else if(highlight==1.0){lift=0.12;}else{lift=0.0;}vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var W4=`#ifdef GL_ES
precision highp float;
#endif
varying float light;varying float lift;void main(void){if(gl_FrontFacing){gl_FragColor=vec4(vec3(0.20,0.68,0.32)*light,1.0);}else{gl_FragColor=vec4(vec3(0.76,0.21,0.20)*light,1.0);}if(lift>0.1){gl_FragColor.r=gl_FragColor.r*1.16;gl_FragColor.g=gl_FragColor.g*1.16;gl_FragColor.b=gl_FragColor.b*1.16;}if(lift>0.2){if(gl_FrontFacing){gl_FragColor.r=gl_FragColor.r*0.8;gl_FragColor.g=gl_FragColor.g*0.9;gl_FragColor.b=gl_FragColor.g*1.5;}else{gl_FragColor.r=gl_FragColor.r*0.9;gl_FragColor.g=gl_FragColor.g*2.0;gl_FragColor.b=gl_FragColor.g*3.0;}}}`;var K4="attribute float highlight;uniform bool SHADE;uniform float DENSITY;centroid varying vec2 vUv;varying float light;varying float lift;float AMBIENT=0.1;float XFAC=-0.05;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelViewMatrix*vec4(normal,0.0)));light=(0.2+abs(N.z)*0.8)*(1.0-AMBIENT)+N.x*N.x*XFAC+N.y*N.y*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.3;}else if(highlight==1.0){lift=0.12;}else{lift=0.0;}vUv=uv;vUv.x=vUv.x*DENSITY;vUv.y=vUv.y*DENSITY;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var $4=`#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D map;uniform bool SHADE;centroid varying vec2 vUv;varying float light;varying float lift;void main(void){vec4 color=texture2D(map,vUv);if(color.a<0.01)discard;gl_FragColor=vec4(lift+color.rgb*light,color.a);if(lift>0.2){gl_FragColor.r=gl_FragColor.r*0.6;gl_FragColor.g=gl_FragColor.g*0.7;}}`;var Y4="varying vec2 vUv;void main(){vUv=uv;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}";var X4="uniform int SHAPE;uniform vec3 color;uniform float width;varying vec2 vUv;float drawSquareOutline(vec2 shapeUv,float width){vec2 shapeUvX=shapeUv-dFdx(shapeUv);vec2 shapeUvY=shapeUv-dFdy(shapeUv);vec2 squareDist=1.-abs(shapeUv);vec2 squareDistX=1.-abs(shapeUvX);vec2 squareDistY=1.-abs(shapeUvY);vec2 squareDxX=squareDistX-squareDist;vec2 squareDxY=squareDistY-squareDist;vec2 squareSliceAA=squareDist/vec2(length(vec2(squareDxX.x,squareDxY.x)),length(vec2(squareDxX.y,squareDxY.y)));float squareOuterAA=min(squareSliceAA.x,squareSliceAA.y);float squareInnerAA=min(squareSliceAA.x-width,squareSliceAA.y-width);squareOuterAA=clamp(squareOuterAA,0.,1.);squareInnerAA=clamp(squareInnerAA,0.,1.);return squareOuterAA-squareInnerAA;}float drawCircleOutline(vec2 shapeUv,float width){vec2 shapeUvX=shapeUv-dFdx(shapeUv);vec2 shapeUvY=shapeUv-dFdy(shapeUv);float circleDist=1.-length(shapeUv);float circleDistX=1.-length(shapeUvX);float circleDistY=1.-length(shapeUvY);float circleDx=circleDistX-circleDist;float circleDy=circleDistY-circleDist;float circleOuterAA=circleDist/length(vec2(circleDx,circleDy));float circleInnerAA=circleOuterAA-width;circleOuterAA=clamp(circleOuterAA,0.,1.);circleInnerAA=clamp(circleInnerAA,0.,1.);return circleOuterAA-circleInnerAA;}void main(void){vec2 shapeUv=vUv.xy*2.-1.;vec4 finalColor=vec4(color,1.);if(SHAPE==0)finalColor.a=drawSquareOutline(shapeUv,width);else if(SHAPE==1)finalColor.a=drawCircleOutline(shapeUv,width);if(finalColor.a<0.01)discard;gl_FragColor=finalColor;}";function Po(i){return(Zi.antialiasing_bleed_fix.value==!1||Preview.selected?.renderer.capabilities.isWebGL2!=!0)&&(i=i.replace(/centroid /g,"")),i=i.replace("precision highp","precision mediump"),i}var Dne={vec1:new THREE.Vector3,vec2:new THREE.Vector3,vec3:new THREE.Vector3,vec4:new THREE.Vector3,vec5:new THREE.Vector3,vec6:new THREE.Vector3,vec7:new THREE.Vector3,vec8:new THREE.Vector3,quat1:new THREE.Quaternion,quat2:new THREE.Quaternion,quat3:new THREE.Quaternion,euler1:new THREE.Euler,euler2:new THREE.Euler,euler3:new THREE.Euler},ct={gizmo_colors:$c,scene,pivot_marker:new THREE.Object3D,gizmos:[],show_gizmos:!0,ground_animation:!1,outlineMaterial:new THREE.LineBasicMaterial({linewidth:2,depthTest:settings.seethrough_outline.value==!1,transparent:!0,color:$c.outline}),splinePathLineMaterial:new THREE.LineBasicMaterial({linewidth:4,vertexColors:!0,depthTest:settings.seethrough_outline.value==!1,transparent:!0}),splinePathDashedLineMaterial:new THREE.LineDashedMaterial({linewidth:4,vertexColors:!0,depthTest:settings.seethrough_outline.value==!1,transparent:!0,dashSize:.75,gapSize:.5}),meshOutlineMaterial:new THREE.LineBasicMaterial({linewidth:2,depthTest:settings.seethrough_outline.value==!1,transparent:!0,vertexColors:!0}),meshVertexMaterial:new THREE.PointsMaterial({size:7,sizeAttenuation:!1,vertexColors:!0}),wireframeMaterial:new THREE.MeshBasicMaterial({wireframe:!0}),monochromaticSolidMaterial:function(){return new THREE.ShaderMaterial({uniforms:{SHADE:{type:"bool",value:settings.shading.value},BRIGHTNESS:{type:"bool",value:settings.brightness.value/50},base:{value:$c.solid}},vertexShader:Po(mC),fragmentShader:Po(_C),side:THREE.DoubleSide})}(),normalHelperMaterial:function(){return new THREE.ShaderMaterial({uniforms:{SHADE:{type:"bool",value:settings.shading.value}},vertexShader:Po(q4),fragmentShader:Po(W4),side:THREE.DoubleSide})}(),vertexWeightHelperMaterial:function(){return new THREE.MeshLambertMaterial({color:16777215,side:2,vertexColors:!0})}(),uvHelperMaterial:function(){var i=new Image;i.src="assets/uv_preview.png";var e=new THREE.Texture(i);return i.tex=e,i.tex.magFilter=THREE.NearestFilter,i.tex.minFilter=THREE.NearestFilter,i.tex.wrapS=i.tex.wrapT=THREE.RepeatWrapping,i.onload=function(){this.tex.needsUpdate=!0},new THREE.ShaderMaterial({uniforms:{map:{type:"t",value:e},SHADE:{type:"bool",value:settings.shading.value},DENSITY:{type:"float",value:4}},vertexShader:Po(K4),fragmentShader:Po($4),side:THREE.DoubleSide})}(),emptyMaterials:[],coloredSolidMaterials:[],getEmptyMaterial(i){return ct.emptyMaterials[i%ct.emptyMaterials.length]},getSolidColorMaterial(i){return ct.coloredSolidMaterials[i%ct.coloredSolidMaterials.length]},updateMarkerColorMaterials(){var i=new Image;i.src="assets/missing.png";var e=new THREE.Texture(i);i.tex=e,i.tex.magFilter=THREE.NearestFilter,i.tex.minFilter=THREE.NearestFilter,i.tex.wrapS=i.tex.wrapT=THREE.RepeatWrapping,i.onload=function(){this.tex.needsUpdate=!0},markerColors.forEach(function(t,n){if(ct.emptyMaterials[n])return;let a={SHADE:{type:"bool",value:settings.shading.value},BRIGHTNESS:{type:"bool",value:settings.brightness.value/50},base:{value:new THREE.Color().set(t.pastel)}};ct.emptyMaterials[n]=new THREE.ShaderMaterial({uniforms:{map:{type:"t",value:e},...a},vertexShader:Po(L4),fragmentShader:Po(N4),side:THREE.DoubleSide}),ct.coloredSolidMaterials[n]=new THREE.ShaderMaterial({uniforms:a,vertexShader:Po(mC),fragmentShader:Po(_C),side:THREE.DoubleSide})})},transparentMaterial:new THREE.MeshBasicMaterial({visible:!1,name:"invisible"}),global_light_color:new THREE.Color(16777215),global_light_side:0,hover_helper_line:function(){let i=new THREE.LineBasicMaterial({color:10790346,linewidth:2}),e=new THREE.BufferGeometry;return e.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,0,0,0],3)),new THREE.LineSegments(e,i)}(),hover_helper_vertex:function(){let i=new THREE.PointsMaterial({size:4,sizeAttenuation:!1,color:4100351}),e=new THREE.BufferGeometry;return e.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0],3)),new THREE.Points(e,i)}(),onionSkinEarlierMaterial:new THREE.LineBasicMaterial({color:10696253}),onionSkinLaterMaterial:new THREE.LineBasicMaterial({color:3773887}),gridMaterial:new THREE.LineBasicMaterial({color:$c.grid}),buildGrid(){if(three_grid.children.empty(),ct.side_grids&&(ct.side_grids.x.children.empty(),ct.side_grids.z.children.empty()),!settings.grids.value||Modes.display)return;three_grid.name="grid_group",$c.grid.set(parseInt("0x"+CustomTheme.data.colors.grid.replace("#",""),16));let i=Format.block_size??16;ct.northMarkMaterial.color=$c.grid;function e(c,d,u){var p="rgb"[getAxisNumber(u)],m=new THREE.LineBasicMaterial({color:$c[p]}),_=new THREE.Vector3().copy(c);_[u]+=d;let f=[c,_],g=new THREE.BufferGeometry().setFromPoints(f);var v=new THREE.Line(g,m);v.name="axis_line_"+u,three_grid.add(v)}if(settings.base_grid.value){var t=Format.centered_grid?settings.full_grid.value?i*1.5:i/2:i;e(new THREE.Vector3(0,.01,0),t,"x"),e(new THREE.Vector3(0,.01,0),t,"z")}var n=new THREE.Object3D;if(settings.full_grid.value===!0){let c=settings.large_grid_size.value*i;var a=new THREE.GridHelper(c,c/canvasGridSize(),ct.gridMaterial);Format.centered_grid?a.position.set(0,0,0):a.position.set(i/2,0,i/2),a.name="grid",three_grid.add(a),n.add(a.clone());let d=5*(i/16),u=new THREE.PlaneGeometry(d,d);var o=new THREE.Mesh(u,ct.northMarkMaterial);Format.centered_grid?o.position.set(0,0,-3-c/2):o.position.set(i/2,0,5-c/2),o.rotation.x=Math.PI/-2,three_grid.add(o)}else{if(settings.large_grid.value===!0){let c=settings.large_grid_size.value;var a=new THREE.GridHelper(c*i,c,ct.gridMaterial);Format.centered_grid?a.position.set(0,0,0):a.position.set(i/2,0,i/2),a.name="grid",three_grid.add(a),n.add(a.clone())}if(settings.base_grid.value===!0){var a=new THREE.GridHelper(i,i/canvasGridSize(),ct.gridMaterial);Format.centered_grid?a.position.set(0,0,0):a.position.set(i/2,0,i/2),a.name="grid",three_grid.add(a),n.add(a.clone());let d=2.4*(i/16),u=new THREE.PlaneGeometry(d,d);var o=new THREE.Mesh(u,ct.northMarkMaterial);Format.centered_grid?o.position.set(0,0,-.6*d-i/2):o.position.set(i/2,0,-.6*d),o.rotation.x=Math.PI/-2,three_grid.add(o)}}if(settings.large_box.value===!0){let c=Format.cube_size_limiter?.box_marker_size||[48,48,48];var r=new THREE.EdgesGeometry(new THREE.BoxGeometry(...c)),s=new THREE.LineBasicMaterial({color:$c.grid}),l=new THREE.LineSegments(r,s);Format.centered_grid?l.position.set(0,8,0):l.position.set(8,8,8),l.name="grid",three_grid.add(l),three_grid.size_limit_box=l,Format.cube_size_limiter?.updateBoxMarker&&Format.cube_size_limiter.updateBoxMarker()}scene.add(three_grid),ct.side_grids={x:n,z:n.clone()},three_grid.add(ct.side_grids.x),ct.side_grids.x.name="side_grid_x",ct.side_grids.x.visible=!Modes.display,ct.side_grids.x.rotation.z=Math.PI/2,ct.side_grids.x.position.y=Format.centered_grid?i/2:0,ct.side_grids.z.position.z=0,ct.side_grids.x.children.forEach(c=>{c.layers.set(1)}),three_grid.add(ct.side_grids.z),ct.side_grids.z.name="side_grid_z",ct.side_grids.z.visible=!Modes.display,ct.side_grids.z.rotation.z=Math.PI/2,ct.side_grids.z.rotation.y=Math.PI/2,ct.side_grids.z.position.y=Format.centered_grid?i/2:0,ct.side_grids.z.position.z=0,ct.side_grids.z.children.forEach(c=>{c.layers.set(3)})},updateShading,face_order:["east","west","up","down","south","north"],temp_vectors:[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3],setup(){ct.updateMarkerColorMaterials(),Sun=new THREE.AmbientLight(16777215),Sun.name="sun",ct.scene.add(Sun),Sun.intensity=.5,lights=new THREE.Object3D,lights.name="lights",lights.top=new THREE.DirectionalLight,lights.top.name="light_top",lights.top.position.set(0,100,0),lights.add(lights.top),lights.top.intensity=.46,lights.bottom=new THREE.DirectionalLight,lights.bottom.name="light_bottom",lights.bottom.position.set(0,-100,0),lights.add(lights.bottom),lights.bottom.intensity=-.02,lights.north=new THREE.DirectionalLight,lights.north.name="light_north",lights.north.position.set(0,0,-100),lights.add(lights.north),lights.south=new THREE.DirectionalLight,lights.south.name="light_south",lights.south.position.set(0,0,100),lights.add(lights.south),lights.north.intensity=lights.south.intensity=.3,lights.west=new THREE.DirectionalLight,lights.west.name="light_west",lights.west.position.set(-100,0,0),lights.add(lights.west),lights.east=new THREE.DirectionalLight,lights.east.name="light_east",lights.east.position.set(100,0,0),lights.add(lights.east),lights.west.intensity=lights.east.intensity=.1,ct.updateShading();var i=new Image;i.src="assets/north.png";var e=new THREE.Texture(i);i.tex=e,i.tex.magFilter=THREE.NearestFilter,i.tex.minFilter=THREE.NearestFilter,i.onload=function(){this.tex.needsUpdate=!0},ct.northMarkMaterial=new THREE.MeshBasicMaterial({map:e,transparent:!0,side:THREE.DoubleSide,alphaTest:.2});let t=new THREE.ShaderMaterial({transparent:!0,side:THREE.DoubleSide,alphaTest:.01,polygonOffset:!0,polygonOffsetUnits:1,polygonOffsetFactor:-1,extensions:{derivatives:!0},uniforms:{color:{value:new THREE.Color},width:{value:2},SHAPE:{value:0}},vertexShader:Po(Y4),fragmentShader:Po(X4)});ct.brush_outline=new THREE.Mesh(new THREE.PlaneGeometry(1,1),t),ct.brush_outline.matrixAutoUpdate=!1,ct.gizmos.push(ct.brush_outline),ct.gizmos.push(ct.hover_helper_line),ct.gizmos.push(ct.hover_helper_vertex);var n=new THREE.AxesHelper(2),a=new THREE.AxesHelper(2);n.rotation.x=Math.PI/1,a.rotation.x=Math.PI/-1,a.rotation.y=Math.PI/1,a.scale.y=-1,ct.pivot_marker.add(n),ct.pivot_marker.add(a),ct.pivot_marker.name="pivot_marker",ct.pivot_marker.rotation.order="ZYX",ct.pivot_marker.base_scale=new THREE.Vector3(1,1,1),ct.pivot_marker.no_export=!0,ct.groundPlaneMaterial=new THREE.MeshBasicMaterial({map:ct.emptyMaterials[0].uniforms.map.value,color:CustomTheme.data.colors.back,side:settings.ground_plane_double_side.value?THREE.DoubleSide:THREE.FrontSide,alphaTest:.2});let o=4096;ct.ground_plane=new THREE.Mesh(new THREE.PlaneGeometry(o,o),ct.groundPlaneMaterial),ct.ground_plane.rotation.x=-Math.PI/2,ct.ground_plane.position.y=-.025,ct.ground_plane.geometry.attributes.uv.set([0,4096/16,4096/16,4096/16,0,0,4096/16,0]),ct.ground_plane.geometry.attributes.uv.needsUpdate=!0,ct.ground_plane.visible=settings.ground_plane.value,scene.add(ct.ground_plane),ct.gizmos.push(ct.ground_plane)},raycast(i){var e=ct.getHoveredPreview();return e?e.raycast(i):!1},getHoveredPreview(){var i=$(".preview canvas:hover").get(0);return i?i.preview:Preview.selected},withoutGizmos(i){function e(n){ct.gizmos.forEach(a=>{n(a)}),n(three_grid),ct.side_grids&&n(ct.side_grids.x),ct.side_grids&&n(ct.side_grids.z),Outliner.elements.forEach(a=>{let{mesh:o}=a;a.selected&&o.outline&&n(o.outline),o.grid_box&&n(o.grid_box),a instanceof Locator&&n(o.children[0]),a.getTypeBehavior("hide_in_screenshot")&&n(o)})}e(n=>{n.was_visible=n.visible,n.visible=!1});var t=ct.ground_animation;Modes.display&&ct.ground_animation&&(ct.ground_animation=!1),updateCubeHighlights(null,!0);try{i()}catch(n){console.error(n)}e(n=>{n.visible=n.was_visible,delete n.was_visible}),Modes.display&&t&&(ct.ground_animation=t),updateCubeHighlights()},updateView(i){if(i.elements){let e=i.element_aspects||{};i.elements.forEach(t=>{let n=!i.element_aspects||e.visibility&&t.visibility&&!t.mesh.visible&&!t.constructor.animator,a=t.constructor.preview_controller;(e.transform||n)&&a.updateTransform(t),(e.geometry||n)&&a.updateGeometry&&a.updateGeometry(t),(e.faces||n)&&a.updateFaces&&a.updateFaces(t),(e.uv||n)&&a.updateUV&&a.updateUV(t),(e.painting_grid||e.geometry||e.transform||n)&&Modes.paint&&settings.painting_grid.value&&a.updatePixelGrid&&a.updatePixelGrid(t),(e.visibility||n)&&a.updateVisibility&&a.updateVisibility(t)})}if(i.groups){ct.updateAllBones(i.groups);for(let e of i.groups)e.preview_controller.updateVisibility(e)}i.selection&&updateSelection(),Blockbench.dispatchEvent("update_view",i)},updateViewMode(){this.updateAllFaces(),this.updateShading(),updateSelection()},clear(){var i=[];scene.traverse(function(n){(n.isElement===!0||n.isGroup===!0)&&i.push(n)});for(var e in Project.nodes_3d){var t=Project.nodes_3d[e];i.safePush(t)}i.forEach(function(n){n.parent&&n.parent.remove(n),n.geometry&&n.geometry.dispose(),n.outline&&n.outline.geometry&&n.outline.geometry.dispose(),delete Project.nodes_3d[n.name]})},updateAll(){updateNslideValues(),ct.updateView({elements:Outliner.elements,groups:Group.all,selection:!0})},updateAllPositions(i){updateNslideValues(),ct.updateView({elements:Outliner.elements,element_aspects:{transform:!0,geometry:!0}}),i!==!0&&updateSelection()},updateVisibility(){ct.updateView({elements:Outliner.elements,element_aspects:{visibility:!0}}),Group.all.forEach(i=>{i.preview_controller.updateVisibility(i)})},updateAllFaces(i){Outliner.elements.forEach(function(e){if(e.preview_controller.updateFaces){var t=!0;if(i&&e.faces&&!Format.single_texture){t=!1;for(var n in e.faces)if(e.faces[n].getTexture()==i){t=!0;break}}t===!0&&(e.preview_controller.updateFaces(e),e.preview_controller.updateUV&&e.preview_controller.updateUV(e))}})},updateAllUVs(){Project.view_mode==="textured"&&ct.updateView({elements:Outliner.elements,element_aspects:{uv:!0}})},getRenderSide(i){if(i instanceof Texture){if(i.render_sides=="front")return THREE.FrontSide;if(i.render_sides=="double")return THREE.DoubleSide}if(settings.render_sides.value=="auto"){if(Format&&Format.render_sides){let e=typeof Format.render_sides=="function"?Format.render_sides():Format.render_sides;if(e=="front")return THREE.FrontSide;if(e=="double")return THREE.DoubleSide;if(e=="back")return THREE.BackSide}return THREE.DoubleSide}else return settings.render_sides.value=="front"?THREE.FrontSide:THREE.DoubleSide},updateRenderSides(){let i=ct.getRenderSide();ModelProject.all.forEach(e=>{e.textures.forEach(t=>{var n=t.getMaterial();n&&(n.side=ct.getRenderSide(t))})}),ct.layered_material&&(ct.layered_material.side=i),ct.monochromaticSolidMaterial&&(ct.monochromaticSolidMaterial.side=i),ct.coloredSolidMaterials.forEach(function(e){e.side=i}),ct.emptyMaterials.forEach(function(e){e.side=i})},updatePositions(i){updateNslideValues();var e=Outliner.selected.slice();Format.bone_rig&&Group.first_selected&&ct.updateAllBones(),ct.updateView({elements:e,element_aspects:{transform:!0,geometry:!0}}),i!==!0&&(TickUpdates.selection=!0)},updateSelectedFaces(){Cube.selected.forEach(function(i){i.visibility==!0&&(i.preview_controller.updateFaces(i),i.preview_controller.updateUV(i))})},updateUVs(){Outliner.selected.forEach(function(i){i.preview_controller.updateUV&&i.preview_controller.updateUV(i)})},outlineObjects(i){i.forEach(function(e){if(e.visibility){var t=e.mesh;if(!(!t||!t.geometry||!t.outline)){var n=t.outline.clone();n.geometry=t.outline.geometry.clone(),THREE.fastWorldPosition(t,n.position),n.position.sub(scene.position),n.rotation.setFromQuaternion(t.getWorldQuaternion(new THREE.Quaternion)),t.getWorldScale(n.scale),n.name=e.uuid+"_ghost_outline",ct.outlines.add(n)}}})},updateAllBones(i=Group.all){Project&&Project.model_3d.scale.set(1,1,1),i.forEach(e=>{e.preview_controller.updateTransform(e)})},updatePivotMarker(){if(ct.pivot_marker.parent&&ct.pivot_marker.parent.remove(ct.pivot_marker),settings.origin_size.value>0&&ct.show_gizmos&&!Modes.paint){if(Group.first_selected&&Format.bone_rig)Group.first_selected.visibility&&Group.first_selected.mesh.add(ct.pivot_marker);else if(Cube.selected.length&&Format.rotate_cubes||Mesh.selected.length||Locator.selected.length){let n=[...Cube.selected,...Mesh.selected,...Locator.selected];if(n.length===1){let a=n[0].mesh;a&&a.add(ct.pivot_marker)}else{for(var i=null,e=null,t=0;t<n.length;)n[t].visibility&&(e===null&&(e=n[t]),i===null?i=n[t].origin:i.equals(n[t].origin)||(i=!1,t=1/0)),t++;if(e&&typeof i=="object"){let a=e.mesh;a&&a.add(ct.pivot_marker)}}}}return!!ct.pivot_marker.parent},adaptObjectPosition(i,e){ct.updateView({elements:[i],element_aspects:{geometry:!0,transform:!0}})},adaptObjectFaceGeo(i){let{mesh:e}=i,{geometry:t}=e;t.all_faces||(t.all_faces=t.groups.slice()),t.groups.empty(),t.all_faces.forEach(n=>{let a=i.faces[ct.face_order[n.materialIndex]];a&&a.texture===null&&t.groups.includes(n)?t.groups.remove(n):a&&a.texture!==null&&!t.groups.includes(n)&&t.groups.push(n)}),t.groups.length==0&&t.groups.push(t.all_faces[6],t.all_faces[7])},getLayeredMaterial(i){if(ct.layered_material&&!i)return ct.layered_material;var e={SHADE:{type:"bool",value:settings.shading.value},t0:{type:"t",value:null},t1:{type:"t",value:null},t2:{type:"t",value:null}};let t=0;i instanceof Array||(i=Texture.all),i.forEachReverse(a=>{a.visible&&t<3&&(e[`t${t}`].value=a.getOwnMaterial().map,t++)});var n=new THREE.ShaderMaterial({uniforms:e,vertexShader:Po(H4),fragmentShader:Po(G4),side:ct.getRenderSide(),transparent:!0});return ct.layered_material=n,n},updateLayeredTextures(){delete ct.layered_material,(Format.single_texture||Format.single_texture_default)&&Texture.all.length>=2&&ct.updateAllFaces()},updateUV(i,e=!0){return Cube.preview_controller.updateUV(i,e)},updatePixelGrid(){Outliner.elements.forEach(i=>{i.preview_controller.updatePixelGrid&&i.preview_controller.updatePixelGrid(i)})},getModelSize(){var i=new THREE.Box3;ct.withoutGizmos(()=>{Outliner.elements.forEach(o=>{o.export!=!1&&o.mesh&&o.mesh.geometry&&i.expandByObject(o.mesh)})});var e=new THREE.Vector3(8,8,8);i.max.add(e),i.min.add(e);var t=Math.max(i.max.x,i.max.z,-i.min.x,-i.min.z);Math.abs(t)===1/0&&(t=0);let n=t*2,a=Math.abs(i.max.y-i.min.y);return a===1/0&&(a=0),[n,a]},getSelectionBounds(){let i=ct.pivot_marker.parent,e=new THREE.Box3;return i&&i.remove(ct.pivot_marker),ct.withoutGizmos(()=>{Outliner.selected.forEach(t=>{t.visibility&&t.mesh&&t.mesh.geometry&&e.expandByObject(t.mesh)})}),i&&i.add(ct.pivot_marker),e}};ct.gizmos.push(ct.pivot_marker);Object.assign(window,{Reusable:Dne,Canvas:ct,buildGrid:ct.buildGrid});function Vne(i,e){let t={},n=.004;return i.forEach(a=>{let o={},r=a.vertices;for(let s of e(a)){let l=r[s],c=[];for(let d in r){if(d==s||o[d])continue;let u=r[d];Math.epsilon(l[0],u[0],n)&&Math.epsilon(l[1],u[1],n)&&Math.epsilon(l[2],u[2],n)&&c.push(d)}c.length&&(o[s]=c)}Object.keys(o).length&&(t[a.uuid]=o)}),t}function Fne(i,e){let t=0,n=0;for(let a in e){let o=i.find(s=>s.uuid==a),r=o.getSelectedVertices(!0);for(let s in e[a]){let l=e[a][s];n++;for(let c of l){for(let d in o.faces){let u=o.faces[d],p=u.vertices.indexOf(c);if(p!==-1)if(u.vertices.includes(s)){if(u.vertices.remove(c),delete u.uv[c],u.vertices.length<2)delete o.faces[d];else if(u.vertices.length==2)for(let m in o.faces){let _=o.faces[m];_.vertices.length>=3&&_.vertices.includes(u.vertices[0])&&_.vertices.includes(u.vertices[1])&&delete o.faces[d]}}else{let m=u.uv[c];u.vertices.splice(p,1,s),u.uv[s]=m,delete u.uv[c]}}delete o.vertices[c],r.remove(c),t++}}}return[t,n]}async function al(i){let e=Mesh.selected;if(!e.length||!Modes.edit||BarItems.selection_mode.value=="object")return;let t=Vne(e,a=>i instanceof Array?i:a.getSelectedVertices());Object.keys(t).length&&await new Promise(a=>{Blockbench.showMessageBox({title:"message.auto_fix_mesh_edit.title",message:"message.auto_fix_mesh_edit.overlapping_vertices",commands:{merge:{text:"message.auto_fix_mesh_edit.merge_vertices",description:"("+tl("dialog.recommended_option")+")"},revert:"message.auto_fix_mesh_edit.revert"},buttons:["dialog.ignore"]},o=>{if(o=="revert")Undo.undo();else if(o=="merge"){let r=Mesh.selected.filter(l=>t[l.uuid]);Undo.initEdit({elements:r});let s=Fne(r,t);Undo.finishEdit("Auto-merge vertices"),Canvas.updateView({elements:r,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0}),Blockbench.showQuickMessage(tl("message.merged_vertices",[s[0],s[1]]),2e3)}a()})});let n={};e.forEach(a=>{let o=a.getSelectedFaces(),r=a.getSelectedVertices(),s=[];for(let l in a.faces){let c=a.faces[l];if(c.vertices.length!=4||!o.includes(l)&&!c.vertices.find(u=>r.includes(u)))continue;let d=c.isConcave();d!=!1&&s.push([l,d])}s.length&&(n[a.uuid]=s)}),Object.keys(n).length&&await new Promise(a=>{Blockbench.showMessageBox({title:"message.auto_fix_mesh_edit.title",message:"message.auto_fix_mesh_edit.concave_quads",commands:{split:{text:"message.auto_fix_mesh_edit.split_quads",description:"("+tl("dialog.recommended_option")+")"},revert:"message.auto_fix_mesh_edit.revert"},buttons:["dialog.ignore"]},o=>{if(o=="revert")Undo.undo();else if(o=="split"){let r=Mesh.selected.filter(s=>n[s.uuid]);Undo.initEdit({elements:r});for(let s of r){let l=s.getSelectedFaces(!0);for(let[c,d]of n[s.uuid]){let u=s.faces[c],p=u.getSortedVertices(),m=[[p[0],p[1]],[p[0],p[2]],[p[0],p[3]],[p[1],p[2]],[p[1],p[3]],[p[2],p[3]]];m=m.filter(v=>{for(let b in s.faces){if(b==c)continue;let x=s.faces[b];if(x.vertices.includes(v[0])&&x.vertices.includes(v[1]))return!1}return!0});let _=m.find(v=>!v.includes(d));_||(_=p.indexOf(d)%2?[p[1],p[3]]:[p[0],p[2]]);let f=new MeshFace(s,u);f.vertices.remove(_[0]),delete f.uv[_[0]],u.vertices.remove(_[1]),delete u.uv[_[1]];let[g]=s.addFaces(f);l.safePush(g),u.getAngleTo(f)>90&&f.invert()}}Undo.finishEdit("Auto-fix concave quads"),Canvas.updateView({elements:r,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}a()})})}var Gm=class Gm{constructor(e,t){W(this,"id");W(this,"priority");W(this,"condition");W(this,"use_condition");W(this,"previous_value");W(this,"initial_value");W(this,"has_changed");this.id=e,this.priority=t.priority??0,this.condition=t.condition,this.use_condition=t.use_condition,this.previous_value=null,this.initial_value=null,this.has_changed=!1,this.updateGizmo=t.updateGizmo,this.onPointerDown=t.onPointerDown,this.calculateOffset=t.calculateOffset,this.onStart=t.onStart,this.onMove=t.onMove,this.onEnd=t.onEnd,this.onCancel=t.onCancel,Gm.modules[e]=this}dispatchPointerDown(e){this.previous_value=null,this.initial_value=null,this.onPointerDown&&this.onPointerDown(e)}dispatchMove(e){if(!Condition(this.use_condition))return;let t=this.calculateOffset(e);this.previous_value==null&&(this.previous_value=t),this.initial_value==null&&(this.initial_value=t),t!=this.previous_value&&(e.value=t,!this.has_changed&&this.onStart&&this.onStart(e),this.onMove&&this.onMove(e),this.previous_value=t,this.has_changed=!0)}dispatchEnd(e){this.onEnd&&(e.has_changed=this.has_changed,this.onEnd(e)),this.has_changed=!1}dispatchCancel(e){this.onCancel&&(e.has_changed=this.has_changed,this.onCancel(e)),this.has_changed=!1}delete(){delete Gm.modules[this.id]}static get active(){let e;for(let t in Gm.modules){let n=Gm.modules[t];Condition(n.condition)&&(!e||n.priority>e.priority)&&(e=n)}return e}};W(Gm,"modules",{});var $r=Gm,Une={TransformerModule:$r};Object.assign(window,Une);function ly(i){Blockbench.setCursorTooltip(trimFloatNumber(i))}function Kd(){if(!selected.length&&(!Group.first_selected||!Format.bone_rig))return;let i;switch(Toolbox.selected.id){case"rotate_tool":i=BarItems.rotation_space.get();break;case"pivot_tool":i=BarItems.transform_pivot_space.get();break;case"move_tool":default:i=BarItems.transform_space.get();break}if(Toolbox.selected==BarItems.rotate_tool&&Format.rotation_limit)return 2;if(i=="local"&&selected.length&&selected[0].getTypeBehavior("rotatable")&&(!Format.bone_rig||!Group.first_selected)){let t=!0;if(Format.bone_rig){for(var e of selected)if(e.parent!==selected[0].parent){t=!1;break}}if(t){for(var e of selected)if(e.rotation!==selected[0].rotation&&!(e.rotation instanceof Array&&e.rotation.equals(selected[0].rotation))){t=!1;break}}if(t)return 2}if(i==="local"&&Format.bone_rig&&Group.first_selected)return 2;if(i==="normal"&&(Mesh.selected.length||SplineMesh.selected.length))return 3;if(i!=="global"&&Format.bone_rig){if(Format.bone_rig&&Group.first_selected&&Group.first_selected.matchesSelection())return Group.first_selected.parent instanceof Group?Group.first_selected.parent:0;let t=0;Outliner.selected.length?t=Outliner.selected[0].parent:Group.first_selected&&Group.first_selected.parent instanceof Group&&(t=Group.first_selected.parent);for(var e of Outliner.selected)if(e.parent!==t){t=0;break}return t instanceof OutlinerNode?t:0}return 0}new $r("edit",{priority:1,condition:()=>Modes.id==="edit"||Modes.id==="pose"||Toolbox.selected.id=="pivot_tool",updateGizmo(){if(Transformer.visible){let e=!1,t;switch(Toolbox.selected.id){case"rotate_tool":{e=!0,t=Al();break}case"pivot_tool":{e=!0,t=qm();break}case"move_tool":Group.selected.length&&(t=Group.selected)}if(t instanceof Array||!t&&!e){let a=t instanceof Array?t:Outliner.selected;t=void 0;for(let o of a)if(o.visibility!==!1){t=o;break}}if(!t){Transformer.detach();return}if(Transformer.rotation_object=t,Toolbox.selected.id==="rotate_tool"||Toolbox.selected.id==="pivot_tool")t instanceof Mesh&&Toolbox.selected.id==="rotate_tool"&&Project.mesh_selection[t.uuid]&&(Project.mesh_selection[t.uuid].vertices.length>0||Project.mesh_selection[t.uuid].edges.length>0||Project.mesh_selection[t.uuid].faces.length>0)||t instanceof SplineMesh&&Toolbox.selected.id==="rotate_tool"&&Project.spline_selection[t.uuid]&&Project.spline_selection[t.uuid].vertices.length>0?Transformer.position.copy(t.getWorldCenter()):t.mesh?t.mesh.getWorldPosition(Transformer.position):Transformer.position.copy(t.getWorldCenter()),Transformer.position.sub(scene.position);else{var i=getSelectionCenter();Transformer.position.fromArray(i)}let n=Kd();if(n>=2||Toolbox.selected.id=="resize_tool"||Toolbox.selected.id=="stretch_tool"){if(Transformer.rotation_ref=Group.first_selected&&Format.bone_rig?Group.first_selected.mesh:selected[0]&&selected[0].mesh,n===3&&Mesh.selected[0]){let a=Mesh.selected[0].getSelectionRotation();a&&!Transformer.dragging&&Transformer.rotation_selection.copy(a)}if(n===3&&SplineMesh.selected[0]&&SplineMesh.selected[0].getSelectedHandles(!0).length){let a=SplineMesh.selected[0].getSelectedHandles(!0)[0],r=SplineMesh.selected[0].getHandleEuler(a).combined.V3_toEuler();r&&!Transformer.dragging&&Transformer.rotation_selection.copy(r)}}else n instanceof OutlinerNode&&n.getTypeBehavior("parent")&&(Transformer.rotation_ref=n.mesh)}else if(Toolbox.selected.id=="vertex_snap_tool"&&(Outliner.selected.length||Group.first_selected)){var i=getSelectionCenter();Transformer.position.fromArray(i)}},calculateOffset(i){let{point:e,axis:t,angle:n,second_axis:a,event:o}=i,r=Toolbox.selected.id;if(r==="move_tool"){var s=canvasGridSize(o.shiftKey||Pressing.overrides.shift,o.ctrlOrCmd||Pressing.overrides.ctrl);return Math.round(e[t]/s)*s}else if(r==="resize_tool"){a&&(t=="y"?t="z":a=="y"?t="y":a=="z"&&(t="x"));var s=canvasGridSize(o.shiftKey||Pressing.overrides.shift,o.ctrlOrCmd||Pressing.overrides.ctrl);let d=e[t];return t=="e"&&(d=e.length()*Math.sign(e.y||e.x)),d=Math.round(d/s)*s,d}else if(r==="stretch_tool"){a&&(t=="y"?t="z":a=="y"?t="y":a=="z"&&(t="x"));var s=canvasGridSize(o.shiftKey||Pressing.overrides.shift,o.ctrlOrCmd||Pressing.overrides.ctrl);let d=e[t];return t=="e"&&(d=e.length()*Math.sign(e.y||e.x)),d=Math.round(d/s)*s,d*=i.direction*1/8,d}else if(r==="rotate_tool"){var l=getRotationInterval(o);return n=Math.round(n/l)*l,Math.abs(n)>300&&(n=n>0?-l:l),n}else if(r==="pivot_tool"){var s=canvasGridSize(o.shiftKey||Pressing.overrides.shift,o.ctrlOrCmd||Pressing.overrides.ctrl);return Math.round(e[t]/s)*s}},onStart(i){let e=Toolbox.selected.id;(e==="resize_tool"||e==="stretch_tool")&&Outliner.selected.forEach(function(n){if(n instanceof Mesh||n instanceof SplineMesh){n.oldVertices={};for(let a in n.vertices)n.oldVertices[a]=n.vertices[a].slice()}else n.getTypeBehavior("resizable")?(n.temp_data.old_size=typeof n.size=="function"?n.size():n.size.slice(),n.stretch&&(n.temp_data.oldStretch=n.stretch.slice()),n.uv_offset&&(n.temp_data.oldUVOffset=n.uv_offset.slice()),n.to&&n.to&&(n.temp_data.oldCenter=n.from.map((a,o)=>(a+n.to[o])/2))):n.size&&(n.temp_data.old_size=n.size.slice());n.getTypeBehavior("stretchable")&&(n.temp_data.oldStretch=n.stretch.slice())});var t=Format.bone_rig&&Group.first_selected&&Toolbox.selected.transformerMode=="rotate";e=="move_tool"&&(Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Cube.selected.forEach(function(n){Format.cube_size_limiter.test(n)&&Format.cube_size_limiter.move(n)}),BarItems.proportional_editing.value&&Mesh.selected.forEach(n=>{ProportionalEdit.calculateWeights(n)})),t?Undo.initEdit({groups:Group.multi_selected}):Undo.initEdit({elements:hC(),groups:Group.all.filter(n=>n.selected)})},onMove(i){let{axis:e,axis_number:t,value:n,second_axis:a,second_axis_number:o}=i,r=Toolbox.selected.id;var s=n-(this.previous_value||0);if(r==="move_tool"){var l=!1;Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Cube.selected.forEach(function(u){let p=u.from.slice(),m=u.to.slice();p[t]+=s,m[t]+=s,l=l||Format.cube_size_limiter.test(u,{from:p,to:m})}),l||(ly(n),f1(s,t),updateSelection())}else if(r==="resize_tool")Outliner.selected.forEach(function(u,p){if(u.getTypeBehavior("resizable")){let m=((event.altKey||Pressing.overrides.alt)&&BarItems.swap_tools.keybind.key!=18)!==Mesh.hasSelected();e=="e"?(u.resize(n,0,!1,null,!0),u.resize(n,1,!1,null,!0),u.resize(n,2,!1,null,!0)):a?(u.resize(n,t,!1,null,!0),u.resize(n,o,!1,null,!0)):u.resize(n,t,i.direction==-1,null,m)}}),ly(n*i.direction),updateSelection();else if(r==="stretch_tool")Outliner.selected.forEach(function(u,p){u.stretch&&u.temp_data.oldStretch&&(e=="e"?(u.stretch[0]=u.temp_data.oldStretch[0]+n,u.stretch[1]=u.temp_data.oldStretch[1]+n,u.stretch[2]=u.temp_data.oldStretch[2]+n):a?(u.stretch[t]=u.temp_data.oldStretch[t]+n,u.stretch[o]=u.temp_data.oldStretch[o]+n):u.stretch[t]=u.temp_data.oldStretch[t]+n)}),ly(n),Canvas.updatePositions();else if(r==="rotate_tool"){let u=n;var s=u-this.previous_value;t==null&&(t=i.rotate_normal),rotateOnAxis(m=>m+s,t),Canvas.updatePositions(!0),Transformer.updateSelection(),ly(u-this.initial_value)}else if(r==="pivot_tool"){var c=Transformer.rotation_object.origin.slice();let u=Kd();if(u==0){let m=new THREE.Vector3;var d=new THREE.Quaternion;m[e]=s,Transformer.rotation_object.mesh.parent.getWorldQuaternion(d),m.applyQuaternion(d.invert()),c.V3_add(m.x,m.y,m.z)}else if(u==2){let m=new THREE.Vector3;var d=new THREE.Quaternion;d.copy(Transformer.rotation_object.mesh.quaternion),m[e]=s,m.applyQuaternion(d),c.V3_add(m.x,m.y,m.z)}else c[t]+=s;let p=Outliner.selected.slice();if(Format.bone_rig&&Group.first_selected)for(let m of Group.multi_selected)m.transferOrigin(c),m.forEachChild(_=>{_ instanceof OutlinerElement&&p.safePush(_)});else Outliner.selected.forEach(m=>{m.transferOrigin&&m.transferOrigin(c)});ly(n),Canvas.updateView({elements:p,element_aspects:{geometry:!0,transform:!0},groups:Group.all,group_aspects:{transform:!0},selection:!0}),Modes.animate&&Animator.preview()}},onEnd(i){let e=Toolbox.selected.id;e==="resize_tool"||e==="stretch_tool"?(Outliner.selected.forEach(function(t){delete t.temp_data.old_size,delete t.temp_data.oldStretch,delete t.temp_data.oldCenter,delete t.temp_data.oldUVOffset}),i.has_changed&&i.keep_changes&&(e==="resize_tool"?Undo.finishEdit("Resize"):e==="stretch_tool"&&Undo.finishEdit("Stretch"))):Transformer.axis!==null&&i.has_changed&&i.keep_changes&&(e=="pivot_tool"?Undo.finishEdit("Move pivot"):e=="rotate_tool"?(afterRotateOnAxis(),Undo.finishEdit("Rotate selection")):Undo.finishEdit("Move selection")),autoFixMeshEdit(),updateSelection()},onCancel(i){Undo.cancelEdit(!0)}});var One={getEditTransformSpace:Kd};Object.assign(window,One);function fC(i=!1){if(Group.selected.length==1&&Outliner.selected.length==0&&!i)return THREE.fastWorldPosition(Group.first_selected.mesh,new THREE.Vector3).toArray();let e=[-1/0,-1/0,-1/0],t=[1/0,1/0,1/0],n=Outliner.selected.length?Outliner.selected:Outliner.elements;Group.first_selected&&(n=n.concat(Group.multi_selected)),n.forEach(o=>{if(!(o instanceof Group&&!Format.bone_rig)&&o.getWorldCenter){var r=o.getWorldCenter();t[0]=Math.min(r.x,t[0]),e[0]=Math.max(r.x,e[0]),t[1]=Math.min(r.y,t[1]),e[1]=Math.max(r.y,e[1]),t[2]=Math.min(r.z,t[2]),e[2]=Math.max(r.z,e[2])}});let a=t[0]==1/0?[0,0,0]:e.V3_add(t).V3_divide(2);return Format.centered_grid||a.V3_add(8,0,8),a}function Lne(i,e,t){let n=i.getSelectedVertices(!0),a=Pressing.shift,o={C1:[e.control1],C2:[e.control2],J:[e.control1,e.joint,e.control2]},r=0,s=0;return n.forEach(l=>r++),o[t].forEach(l=>s++),o[t].some(l=>n.includes(l))?a?n.includes(e.joint)&&(t==="C1"||t==="C2")?n.remove(...o.J):(n.includes(e.control1)||n.includes(e.control2))&&t==="J"?(n.remove(...o[t]),n.push(...o[t])):n.remove(...o[t]):r>s?(n.empty(),n.push(...o[t])):r===s?n.remove(...o[t]):(n.includes(e.control1)||n.includes(e.control2))&&t==="J"?(n.remove(...o[t]),n.push(...o[t])):n.remove(...o[t]):a?n.push(...o[t]):n.replace(o[t]),n.length>0}function Nne(i,e){e.tilt=i(e.tilt)}function Wm(i,e,t){if(!(!Preview.selected||!Outliner.selected.length)){var n=Format.bone_rig&&Group.first_selected&&Toolbox.selected.transformerMode=="translate";Undo.initEdit({elements:hC(),outliner:n});var a=[],o=Preview.selected.getFacingDirection(),r=Preview.selected.getFacingHeight();switch(o){case"north":a=[0,2,1];break;case"south":a=[0,2,1];break;case"west":a=[2,0,1];break;case"east":a=[2,0,1];break}r!=="middle"&&(e===1?e=2:e===2&&(e=1)),o==="south"&&(e===0||e===1)&&(i*=-1),o==="west"&&e===0&&(i*=-1),o==="east"&&e===1&&(i*=-1),e===2&&r!=="down"&&(i*=-1),e===1&&r==="up"&&(i*=-1),t&&(i*=canvasGridSize(t.shiftKey||Pressing.overrides.shift,t.ctrlOrCmd||Pressing.overrides.ctrl)),BarItems.proportional_editing.value&&Mesh.selected.forEach(s=>{ProportionalEdit.calculateWeights(s)}),f1(i,a[e]),updateSelection(),Undo.finishEdit("Move elements"),al()}}function Km(i,e){let t=[...Cube.selected,...Mesh.selected,...SplineMesh.selected];if(t.length){Undo.initEdit({elements:t}),e||(e=1);var n=[8,8,8];Group.first_selected&&Format.bone_rig?n=Group.first_selected.origin.slice():Format.centered_grid?n=[0,0,0]:n=t[0].origin.slice(),t.forEach(function(a){a.roll(i,e,n)}),updateSelection(),Undo.finishEdit("Rotate elements")}}function nd(i,e,t,n){let a={0:{right:"left",Right:"Left",RIGHT:"LEFT",R:"L",r:"l"},1:{top:"bottom",Top:"Bottom",TOP:"BOTTOM"},2:{back:"front",rear:"front",Back:"Front",Rear:"Front",BACK:"FRONT",REAR:"FRONT"}};function o(s,l,c){if(!i.name.includes(s))return!1;let d=n??i.name,u=s;return s.length==1&&(u=new RegExp(`(?<=^|[_. -])${s}(?=[_. -]|$)`)),d=d.replace(u,l),d==(n??i.name)?!1:(n||(d=d.replace(/2$/,"")),(!t||t(d,c))&&(i.name=d),i.name)}let r=a[e];Blockbench.dispatchEvent("flip_node_name",{pairs:r,node:i,axis:e,original_name:n});for(let s in r){let l=r[s];if(o(s,l,0)||o(l,s,1))break}return i.name}function g1(i){if(Modes.animate&&Timeline.selected.length){Undo.initEdit({keyframes:Timeline.selected});for(var e of Timeline.selected)e.flip(i);Undo.finishEdit("Flipped keyframes"),updateKeyframeSelection(),Animator.preview()}else if(Modes.edit&&(Outliner.selected.length||Group.first_selected)){Undo.initEdit({elements:Outliner.selected,groups:Format.bone_rig?Group.all.filter(n=>n.selected):void 0,outliner:Format.bone_rig||Group.first_selected,selection:!0});let t=Format.centered_grid?0:8;if(Format.bone_rig)for(let n of Group.multi_selected){let a=function(o){for(let r=0;r<3;r++)r===i?o.origin[r]*=-1:o.rotation[r]*=-1;nd(o,i,r=>!Group.all.find(s=>s.name==r),o.temp_data.old_name),ct.updateAllBones([o])};a(n),n.forEachChild(a,Group)}Outliner.selected.forEach(function(n){n instanceof Mesh?n.flipSelection(i,t,!1):n.flip(i,t,!1)}),updateSelection(),Undo.finishEdit("Flip selection"),al()}}function uf(i,e){if(!Outliner.selected.length)return;let t=fC()[i];var n=(Format.centered_grid?0:8)-t;Outliner.selected.forEach(function(a){a.getTypeBehavior("movable")&&(a.origin[i]+=n),a.from&&(a.from[i]=a.from[i]+n),a.to&&(a.to[i]=a.to[i]+n),a instanceof Cube&&Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.move(a)}),Group.all.forEach(a=>{a.selected&&(!Format.bone_rig&&Outliner.selected.length||(a.origin[i]+=n))}),ct.updateView({elements:Outliner.selected,groups:Group.all.filter(a=>a.selected),element_aspects:{transform:!0},group_aspects:{transform:!0},selection:!0})}function f1(i,e){let t=Kd(),n;Format.bone_rig&&Group.first_selected&&(Group.multi_selected.length>1||Group.first_selected.matchesSelection())&&(n=Group.multi_selected);var a;let o=new THREE.Quaternion,r=new THREE.Vector3;if(n)for(let s of n){if(t===0){a=r.set(0,0,0),a[getAxisLetter(e)]=i;let l=new THREE.Quaternion;n[0].mesh.parent.getWorldQuaternion(l),a.applyQuaternion(l.invert()),s.forEachChild(c=>{c.origin.V3_add(a.x,a.y,a.z)},Group,!0)}else t===2?(a=new THREE.Vector3,a[getAxisLetter(e)]=i,a.applyQuaternion(s.mesh.quaternion),s.forEachChild(l=>{l.origin.V3_add(a.x,a.y,a.z)},Group,!0)):s.forEachChild(l=>{l.origin[e]+=i},Group,!0);Group.preview_controller.updateTransform(s)}Outliner.selected.forEach(s=>{if(s.getTypeBehavior("movable")!=!1&&!(!s.getTypeBehavior("use_absolute_position")&&s.parent?.selected&&s.parent.getTypeBehavior("movable")&&!s.parent.getTypeBehavior("use_absolute_position"))){if(!a&&(s instanceof Mesh||s instanceof SplineMesh)&&(s.getSelectedVertices().length>0||t>=2)){let d=t==3&&s.getSelectionRotation(),u=s.getSelectedVertices();u.length||(u=Object.keys(s.vertices));let p=[0,0,0];if(t==2)p[e]+=i;else if(t==3){let m=r.set(0,0,0);m[getAxisLetter(e)]=i,m.applyEuler(d),p.V3_set(m.x,m.y,m.z)}else if(t instanceof OutlinerNode){let m=r.set(0,0,0);m[getAxisLetter(e)]=i,m.applyQuaternion(new THREE.Quaternion().copy(s.mesh.quaternion).invert()),p.V3_set(m.x,m.y,m.z)}else{let m=r.set(0,0,0);m[getAxisLetter(e)]=i,m.applyQuaternion(s.mesh.getWorldQuaternion(o).invert()),p.V3_set(m.x,m.y,m.z)}if(u.forEach(m=>{s.vertices[m].V3_add(p),s instanceof SplineMesh&&s.applyHandleModeOnVertex(m)}),s instanceof SplineMesh)return;BarItems.mirror_modeling.value&&p[0]&&u.allAre(m=>Math.epsilon(s.vertices[m][0],s.vertices[u[0]][0],.02))&&Math.sign(s.vertices[u[0]][0])!=Math.sign(s.vertices[u[0]][0]-p[0])&&s.vertices[u[0]][0]&&s.vertices[u[0]][0]-p[0]&&u.forEach(m=>{s.vertices[m][0]=0}),ProportionalEdit.editVertices(s,(m,_)=>{s.vertices[m].V3_add(p[0]*_,p[1]*_,p[2]*_)})}else{let d=s.position?.slice();if(t==2&&!a)if(s.position){let u=r.set(0,0,0);u[getAxisLetter(e)]=i,u.applyQuaternion(s.mesh.quaternion),s.position.V3_add(u.x,u.y,u.z)}else s instanceof TextureMesh?s.local_pivot[e]+=i:(s.getTypeBehavior("movable")&&(s.from[e]+=i),s.getTypeBehavior("resizable")&&s.to&&(s.to[e]+=i),s instanceof Cube&&Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.move(s));else if(t instanceof OutlinerNode)s.getTypeBehavior("movable")&&s.from instanceof Array?s.from[e]+=i:s.getTypeBehavior("movable")&&s.position&&(s.position[e]+=i),s.getTypeBehavior("resizable")&&s.to instanceof Array&&(s.to[e]+=i),s.getTypeBehavior("rotatable")&&!s.position&&(s.origin[e]+=i);else{let u=!!n;if(a)var l=a;else{var l=r.set(0,0,0);l[getAxisLetter(e)]=i;let m=s.parent;for(;m instanceof Group&&m.rotation.allEqual(0);)m=m.parent;if(m=="root")u=!0;else{var c=new THREE.Quaternion;s.mesh&&!s.position&&!(s instanceof Mesh)?s.mesh.getWorldQuaternion(c):s.parent instanceof Group&&s.parent.mesh.getWorldQuaternion(c),l.applyQuaternion(c.invert())}}s.from?(s.from.V3_add(l.x,l.y,l.z),s.to&&s.to.V3_add(l.x,l.y,l.z)):(s instanceof Mesh&&u||s.position)&&s.position.V3_add(l.x,l.y,l.z),u&&s.getTypeBehavior("rotatable")&&!s.position&&!(s instanceof TextureMesh)&&s.origin.V3_add(l.x,l.y,l.z)}if(s.getTypeBehavior("parent")&&s.getTypeBehavior("movable")&&!s.getTypeBehavior("use_absolute_position"))for(let u of s.children){if(u.selected||!s.position)continue;let p=Reusable.vec2.fromArray(s.position.slice().V3_subtract(d));p.applyQuaternion(Reusable.quat1.copy(s.mesh.quaternion).invert()),u.position.V3_subtract(p.toArray()),u.preview_controller.updateTransform(u)}}s instanceof Cube&&s.autouv==2&&s.mapAutoUV(),s instanceof SplineMesh&&BarItems.spline_selection_mode.value=="handles"&&s.refreshTubeFaces()}}),ct.updateView({elements:Outliner.selected,element_aspects:{transform:!0,geometry:!0},groups:Group.all.filter(s=>s.selected),group_aspects:{transform:!0}})}function Hne(i,e){Format.bone_rig&&i.parent instanceof OutlinerNode&&i.parent.getTypeBehavior("parent")&&i.parent.getTypeBehavior("use_absolute_position")&&(e.x+=i.parent.origin[0],e.y+=i.parent.origin[1],e.z+=i.parent.origin[2]);let n=e.toArray();if("forEachChild"in i&&i.getTypeBehavior("use_absolute_position")){let a=n.slice().V3_subtract(i.origin);i.forEachChild(o=>{o.from&&o.from.V3_add(a),o.to&&o.to.V3_add(a),o.origin&&o.origin.V3_add(a)})}i.getTypeBehavior("movable")&&(i.from&&i.to?(n.V3_subtract(i.origin),i.from.V3_add(n),i.to.V3_add(n),i.origin&&i.origin.V3_add(n)):i.position?i.position.V3_set(n):i.origin&&i.origin.V3_set(n))}function hC(){let i=Outliner.selected.filter(e=>e.movable||e.getTypeBehavior("movable"));for(let e of i.slice())e.getTypeBehavior("parent")&&!e.getTypeBehavior("use_absolute_position")&&i.safePush(...e.children);return i}function Yr(i=0){return canvasGridSize(i.shiftKey||Pressing.overrides.shift,i.ctrlOrCmd||Pressing.overrides.ctrl)}function v1(i){return Format.rotation_snap?22.5:(i.shiftKey||Pressing.overrides.shift)&&(i.ctrlOrCmd||Pressing.overrides.ctrl)?.25:i.shiftKey||Pressing.overrides.shift?22.5:i.ctrlOrCmd||Pressing.overrides.ctrl?1:2.5}function Al(){if(Format.bone_rig&&Group.first_selected)return Group.multi_selected.filter(e=>!e.parent?.selected);let i=Outliner.selected.filter(e=>!(!e.getTypeBehavior("rotatable")||!(!(e instanceof Cube)||Format.rotate_cubes)||e.parent instanceof OutlinerElement&&e.parent.selected));if(i.length)return i}function qm(){if(Format.bone_rig&&Group.first_selected)return Group.multi_selected;let i=Outliner.selected.filter(e=>e.getTypeBehavior("has_pivot")&&(!(e instanceof Cube)||Format.rotate_cubes));if(i.length)return i}function b1(i,e,t){var n=Al();if(!n)return;if(n instanceof Array||(n=[n]),Format.rotation_limit&&settings.dialog_rotation_limit.value&&!Dialog.open)for(var a=0;a<Cube.selected.length;){if(Cube.selected[a].rotation[(e+1)%3]||Cube.selected[a].rotation[(e+2)%3]){a=1/0,Blockbench.showMessageBox({title:tl("message.rotation_limit.title"),icon:"rotate_right",message:tl("message.rotation_limit.message")+`
`+"You can also switch to a newer format version in your project settings if you are targeting Minecraft 1.21.11 or newer.",checkboxes:{dont_show_again:{value:!1,text:"dialog.dontshowagain"}}},(c,d={})=>{d.dont_show_again&&settings.dialog_rotation_limit.set(!1)});return}a++}var o=getAxisLetter(e),r=n[0].origin;n.forEach(function(l,c){l.rotation.allEqual(0)||(r=l.origin)});let s=Kd();e instanceof THREE.Vector3&&(s=0),n.forEach(l=>{let c=l.mesh;l instanceof Cube&&!Format.bone_rig&&l.origin.allEqual(0)&&l.origin.V3_set(r);let d=l instanceof Mesh&&Project.mesh_selection[l.uuid]&&Project.mesh_selection[l.uuid].vertices.length,u=l instanceof SplineMesh&&Project.spline_selection[l.uuid]&&Project.spline_selection[l.uuid].vertices.length;if(!Group.first_selected&&(d||u)){let m=e==0?THREE.NormalX:e==1?THREE.NormalY:THREE.NormalZ,_=new THREE.Matrix4;_.makeRotationAxis(m,Math.degToRad(i(0))),s instanceof OutlinerNode||s=="root"?_.multiply(c.matrix):s==0&&_.multiply(c.matrixWorld);let f=new THREE.Quaternion().setFromRotationMatrix(_);if(s instanceof OutlinerNode||s=="root")f.premultiply(c.quaternion.invert()),c.quaternion.invert();else if(s==0){let x=c.getWorldQuaternion(new THREE.Quaternion).invert();f.premultiply(x)}let g=new THREE.Vector3,v=l.mesh.worldToLocal(new THREE.Vector3().copy(Transformer.position)),b;d&&(b=Project.mesh_selection[l.uuid].vertices),u&&(b=Project.spline_selection[l.uuid].vertices),b.forEach(x=>{g.fromArray(l.vertices[x]),g.sub(v),g.applyQuaternion(f),g.add(v),l.vertices[x].V3_set(g.x,g.y,g.z),l instanceof SplineMesh&&l.applyHandleModeOnVertex(x)})}else if(t||s==2&&Format.rotation_limit){var p=i(l.rotation[e]);if(p=Math.trimDeg(p),Format.rotation_limit&&l instanceof Cube&&(l.rotation[(e+1)%3]=0,l.rotation[(e+2)%3]=0,Format.rotation_snap&&(p=Math.round(p/22.5)*22.5),p>45||p<-45)){let m=p>45;if(l.roll(e,m!=(e==1)?1:3)){let f=Format.rotation_snap?22.5:90-Math.abs(p);p=m?-f:f}else p=Math.clamp(p,-45,45)}l.rotation[e]=p,l instanceof Cube&&(l.rotation_axis=o)}else if(s==2)if([0,1,2].find(m=>m!==e&&Math.abs(l.rotation[m])>.1)!==void 0){let m=c.rotation.order;c.rotation.reorder(e==0?"ZYX":e==1?"ZXY":"XYZ");var p=i(Math.radToDeg(c.rotation[o]));p=Math.trimDeg(p),c.rotation[o]=Math.degToRad(p),c.rotation.reorder(m),l.rotation[0]=Math.radToDeg(c.rotation.x),l.rotation[1]=Math.radToDeg(c.rotation.y),l.rotation[2]=Math.radToDeg(c.rotation.z)}else{var p=i(Math.radToDeg(c.rotation[o]));l.rotation[e]=Math.trimDeg(p)}else if(s instanceof OutlinerNode){let m=e==0?THREE.NormalX:e==1?THREE.NormalY:THREE.NormalZ,_=new THREE.Matrix4;_.makeRotationAxis(m,Math.degToRad(i(0))),_.multiply(c.matrix),c.matrix.copy(_),c.setRotationFromMatrix(_);let f=c.rotation;l.rotation[0]=Math.radToDeg(f.x),l.rotation[1]=Math.radToDeg(f.y),l.rotation[2]=Math.radToDeg(f.z)}else if(s==0){let m=e instanceof THREE.Vector3?e:e==0?THREE.NormalX:e==1?THREE.NormalY:THREE.NormalZ,_=new THREE.Matrix4;_.makeRotationAxis(m,Math.degToRad(i(0))),_.multiply(c.matrixWorld);let f=new THREE.Matrix4().copy(c.parent.matrixWorld).invert();_.premultiply(f),c.matrix.copy(_),c.setRotationFromMatrix(_);let g=c.rotation;l.rotation[0]=Math.radToDeg(g.x),l.rotation[1]=Math.radToDeg(g.y),l.rotation[2]=Math.radToDeg(g.z)}l instanceof Group&&ct.updateView({groups:[l]})})}function y1(){Format.cube_size_limiter&&Format.cube_size_limiter.rotation_affected&&!settings.deactivate_size_limit.value&&(Cube.all.forEach(i=>{Format.cube_size_limiter.move(i),Format.cube_size_limiter.clamp(i)}),ct.updateView({elements:Cube.selected,element_aspects:{transform:!0,geometry:!0}})),SplineMesh.selected.forEach(i=>{BarItems.spline_selection_mode.value=="handles"&&i.refreshTubeFaces()})}BARS.defineActions(function(){new BarSelect("transform_space",{condition:{modes:["edit","animate"],tools:["move_tool","resize_tool"],method:()=>!(Toolbox&&Toolbox.selected.id==="resize_tool"&&Mesh.all.length===0&&SplineMesh.all.length===0)},category:"transform",value:"parent",options:{global:!0,parent:!0,local:!0,normal:{condition:()=>Mesh.selected.length||SplineMesh.selected.length,name:!0}},onChange(){updateSelection()}}),new BarSelect("rotation_space",{condition:{modes:["edit","animate","pose"],tools:["rotate_tool"]},category:"transform",value:"local",options:{global:"action.transform_space.global",parent:"action.transform_space.parent",local:"action.transform_space.local"},onChange(){updateSelection()}}),new BarSelect("transform_pivot_space",{condition:{modes:["edit","animate"],tools:["pivot_tool"]},category:"transform",value:"parent",options:{global:"action.transform_space.global",parent:"action.transform_space.parent",local:"action.transform_space.local"},onChange(){updateSelection()}}),new BarSelect("vertex_snap_mode",{options:{move:!0,scale:{condition:()=>!Format.integer_size,name:!0},rotate:!0},category:"edit"});function i(p,m){Outliner.selected.forEach(function(_,f){let g=0;settings.local_position_values.value&&_.parent instanceof OutlinerNode&&_.parent.getTypeBehavior("use_absolute_position")&&(g=-_.parent.origin[m]);let v=x=>p(x+g)-g;if((_ instanceof Mesh||_ instanceof SplineMesh)&&_.getSelectedVertices().length)_.getSelectedVertices().forEach(w=>{let E=_.vertices[w][m];_.vertices[w][m]=v(E),_ instanceof SplineMesh&&_.applyHandleModeOnVertex(w)}),_.preview_controller.updateGeometry(_);else if(_.getTypeBehavior("movable")){if(settings.transform_cube_from_center.value&&_.from&&_.to){let x=Math.lerp(_.from[m],_.to[m],.5);var b=v(x);_.from[m]+=b-x,_.to[m]+=b-x}else{let x=_.from||_.position,w=x[m];var b=v(w);x[m]=b,_.to&&(_.to[m]+=b-w)}_ instanceof Cube&&(Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.move(_),_.mapAutoUV()),_.preview_controller.updateTransform(_),_.preview_controller.updateGeometry&&_.preview_controller.updateGeometry(_)}}),TickUpdates.selection=!0}function e(p){let m=Outliner.selected[0],_=0;if((m instanceof Mesh||m instanceof SplineMesh)&&m.getSelectedVertices().length){let f=m.getSelectedVertices(),g=0;f.forEach(v=>g+=m.vertices[v][p]),_=g/f.length}else m.from&&m.to&&settings.transform_cube_from_center.value?_=Math.lerp(m.from[p],m.to[p],.5):m.from?_=m.from[p]:_=m.origin[p];return settings.local_position_values.value&&m.parent instanceof OutlinerNode&&m.parent.getTypeBehavior("use_absolute_position")&&(_-=m.parent.origin[p]),_}new NumSlider("slider_pos_x",{name:tl("action.slider_pos",["X"]),description:tl("action.slider_pos.desc",["X"]),color:"x",category:"transform",condition:()=>selected.length&&Modes.edit,getInterval:Yr,get:function(){return e(0)},change:function(p){i(p,0)},onBefore:function(){Undo.initEdit({elements:selected})},onAfter:function(){Undo.finishEdit("Change element position"),al()}}),new NumSlider("slider_pos_y",{name:tl("action.slider_pos",["Y"]),description:tl("action.slider_pos.desc",["Y"]),color:"y",category:"transform",condition:()=>selected.length&&Modes.edit,getInterval:Yr,get:function(){return e(1)},change:function(p){i(p,1)},onBefore:function(){Undo.initEdit({elements:selected})},onAfter:function(){Undo.finishEdit("Change element position"),al()}}),new NumSlider("slider_pos_z",{name:tl("action.slider_pos",["Z"]),description:tl("action.slider_pos.desc",["Z"]),color:"z",category:"transform",condition:()=>selected.length&&Modes.edit,getInterval:Yr,get:function(){return e(2)},change:function(p){i(p,2)},onBefore:function(){Undo.initEdit({elements:selected})},onAfter:function(){Undo.finishEdit("Change element position"),al()}});let t=[BarItems.slider_pos_x,BarItems.slider_pos_y,BarItems.slider_pos_z];t.forEach(p=>p.slider_vector=t);function n(p,m){Outliner.selected.forEach(function(_,f){if(_.getTypeBehavior("resizable")){let g=_ instanceof Mesh,v=_.from&&_.to&&Math.lerp(_.from[m],_.to[m],.5);if(_.resize(p,m,!1,!0,g),_.from&&_.to&&settings.transform_cube_from_center.value){let b=Math.lerp(_.from[m],_.to[m],.5)-v;_.from[m]-=b,_.to[m]-=b,_.preview_controller.updateGeometry(_)}}else _.getTypeBehavior("scalable")&&(_.scale[m]=p(_.scale[m]),_.preview_controller.updateTransform(_),_.preview_controller.updateGeometry&&_.preview_controller.updateGeometry(_))})}new NumSlider("slider_size_x",{name:tl("action.slider_size",["X"]),description:tl("action.slider_size.desc",["X"]),color:"x",category:"transform",condition:()=>Outliner.selected[0]&&(Outliner.selected[0].getTypeBehavior("resizable")||Outliner.selected[0].getTypeBehavior("scalable"))&&Modes.edit,getInterval:Yr,get:function(){if(Outliner.selected[0].getTypeBehavior("scalable"))return Outliner.selected[0].scale[0];if(Outliner.selected[0].size instanceof Array)return Outliner.selected[0].size[0];if(Outliner.selected[0].getTypeBehavior("resizable"))return Outliner.selected[0].getSize(0,!0)},change:function(p){n(p,0)},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("resizable"))})},onAfter:function(){Undo.finishEdit("Change element size"),al()}}),new NumSlider("slider_size_y",{name:tl("action.slider_size",["Y"]),description:tl("action.slider_size.desc",["Y"]),color:"y",category:"transform",condition:()=>Outliner.selected[0]&&(Outliner.selected[0].getTypeBehavior("resizable")||Outliner.selected[0].getTypeBehavior("scalable"))&&Modes.edit,getInterval:Yr,get:function(){if(Outliner.selected[0].getTypeBehavior("scalable"))return Outliner.selected[0].scale[1];if(Outliner.selected[0].size instanceof Array)return Outliner.selected[0].size[1];if(Outliner.selected[0].getTypeBehavior("resizable"))return Outliner.selected[0].getSize(1,!0)},change:function(p){n(p,1)},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("resizable"))})},onAfter:function(){Undo.finishEdit("Change element size"),al()}}),new NumSlider("slider_size_z",{name:tl("action.slider_size",["Z"]),description:tl("action.slider_size.desc",["Z"]),color:"z",category:"transform",condition:()=>Outliner.selected[0]&&(Outliner.selected[0].getTypeBehavior("resizable")||Outliner.selected[0].getTypeBehavior("scalable"))&&!(Outliner.selected[0]instanceof Billboard)&&Modes.edit,getInterval:Yr,get:function(){if(Outliner.selected[0].getTypeBehavior("scalable"))return Outliner.selected[0].scale[2];if(Outliner.selected[0].size instanceof Array)return Outliner.selected[0].size[2];if(Outliner.selected[0].getTypeBehavior("resizable"))return Outliner.selected[0].getSize(2,!0)},change:function(p){n(p,2)},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("resizable"))})},onAfter:function(){Undo.finishEdit("Change element size"),al()}});let a=[BarItems.slider_size_x,BarItems.slider_size_y,BarItems.slider_size_z];a.forEach(p=>p.slider_vector=a),new NumSlider("slider_inflate",{category:"transform",condition:function(){return Cube.selected.length&&Modes.edit},getInterval:Yr,get:function(){return Cube.selected[0].inflate},change:function(p){Cube.selected.forEach(function(m,_){let f=m.inflate;var g=p(m.inflate);if(Format.cube_size_limiter&&!settings.deactivate_size_limit.value)if(Format.cube_size_limiter.coordinate_limits){let v=Format.cube_size_limiter.coordinate_limits;g=m.from[0]-Math.clamp(m.from[0]-g,v[0],v[1]),g=m.from[1]-Math.clamp(m.from[1]-g,v[0],v[1]),g=m.from[2]-Math.clamp(m.from[2]-g,v[0],v[1]),g=Math.clamp(m.to[0]+g,v[0],v[1])-m.to[0],g=Math.clamp(m.to[1]+g,v[0],v[1])-m.to[1],g=Math.clamp(m.to[2]+g,v[0],v[1])-m.to[2],m.inflate=g}else if(Format.cube_size_limiter.test(m,{inflate:g})==!1)m.inflate=g;else{let v=Math.sign(g-f)*.1,b=(g-f)/v;for(let x=0;x<b;x++)if(Format.cube_size_limiter.test(m,{inflate:f+x*(b+1)})==!1){m.inflate=f+x*b;break}}else m.inflate=g}),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Cube.selected})},onAfter:function(){Undo.finishEdit("Inflate elements")}}),new NumSlider("slider_stretch_x",{name:tl("action.slider_stretch",["X"]),description:tl("action.slider_stretch.desc",["X"]),color:"x",settings:{default:1},category:"transform",condition:function(){return Format.stretch_cubes&&Cube.selected.length&&Modes.edit},getInterval:p=>Yr(p)/8,get:function(){return Cube.selected[0].stretch[0]},change:function(p){Cube.selected.forEach(function(m,_){let f=m.stretch[0];var g=p(m.stretch[0]);settings.stretch_linked.value===!0?m.stretch.forEach(function(v,b){m.stretch[b]=g}):m.stretch[0]=g}),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Cube.selected})},onAfter:function(){Undo.finishEdit("Stretch elements")}}),new NumSlider("slider_stretch_y",{name:tl("action.slider_stretch",["Y"]),description:tl("action.slider_stretch.desc",["Y"]),color:"y",settings:{default:1},category:"transform",condition:function(){return Format.stretch_cubes&&Cube.selected.length&&Modes.edit},getInterval:p=>Yr(p)/8,get:function(){return Cube.selected[0].stretch[1]},change:function(p){Cube.selected.forEach(function(m,_){let f=m.stretch[1];var g=p(m.stretch[1]);settings.stretch_linked.value===!0?m.stretch.forEach(function(v,b){m.stretch[b]=g}):m.stretch[1]=g}),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Cube.selected})},onAfter:function(){Undo.finishEdit("Stretch elements")}}),new NumSlider("slider_stretch_z",{name:tl("action.slider_stretch",["Z"]),description:tl("action.slider_stretch.desc",["Z"]),color:"z",settings:{default:1},category:"transform",condition:function(){return Format.stretch_cubes&&Cube.selected.length&&Modes.edit},getInterval:p=>Yr(p)/8,get:function(){return Cube.selected[0].stretch[2]},change:function(p){Cube.selected.forEach(function(m,_){let f=m.stretch[2];var g=p(m.stretch[2]);settings.stretch_linked.value===!0?m.stretch.forEach(function(v,b){m.stretch[b]=g}):m.stretch[2]=g}),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Cube.selected})},onAfter:function(){Undo.finishEdit("Stretch elements")}});let o=[BarItems.slider_stretch_x,BarItems.slider_stretch_y,BarItems.slider_stretch_z];o.forEach(p=>p.slider_vector=o),new NumSlider("slider_rotation_x",{name:tl("action.slider_rotation",["X"]),description:tl("action.slider_rotation.desc",["X"]),color:"x",category:"transform",condition:()=>(Modes.edit||Modes.pose)&&Al(),get:function(){if(Format.bone_rig&&Group.first_selected)return Group.first_selected.rotation[0];let p=Outliner.selected.find(m=>m.getTypeBehavior("rotatable")&&(Format.rotate_cubes||!(m instanceof Cube)));if(p)return p.rotation[0]},change:function(p){b1(p,0,!0),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("rotatable")),groups:Group.multi_selected})},onAfter:function(){y1(),Undo.finishEdit(Al()?.find(p=>p instanceof Group)?"Rotate group":"Rotate elements")},getInterval:v1}),new NumSlider("slider_rotation_y",{name:tl("action.slider_rotation",["Y"]),description:tl("action.slider_rotation.desc",["Y"]),color:"y",category:"transform",condition:()=>(Modes.edit||Modes.pose)&&Al(),get:function(){if(Format.bone_rig&&Group.first_selected)return Group.first_selected.rotation[1];let p=Outliner.selected.find(m=>m.getTypeBehavior("rotatable")&&(Format.rotate_cubes||!(m instanceof Cube)));if(p)return p.rotation[1]},change:function(p){b1(p,1,!0),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("rotatable")),groups:Group.multi_selected})},onAfter:function(){y1(),Undo.finishEdit(Al()?.find(p=>p instanceof Group)?"Rotate group":"Rotate elements")},getInterval:v1}),new NumSlider("slider_rotation_z",{name:tl("action.slider_rotation",["Z"]),description:tl("action.slider_rotation.desc",["Z"]),color:"z",category:"transform",condition:()=>(Modes.edit||Modes.pose)&&Al(),get:function(){if(Format.bone_rig&&Group.first_selected)return Group.first_selected.rotation[2];let p=Outliner.selected.find(m=>m.getTypeBehavior("rotatable")&&(Format.rotate_cubes||!(m instanceof Cube)));if(p)return p.rotation[2]},change:function(p){b1(p,2,!0),ct.updatePositions()},onBefore:function(){Undo.initEdit({elements:Outliner.selected.filter(p=>p.getTypeBehavior("rotatable")),groups:Group.multi_selected})},onAfter:function(){y1(),Undo.finishEdit(Al()?.find(p=>p instanceof Group)?"Rotate group":"Rotate elements")},getInterval:v1});let r=[BarItems.slider_rotation_x,BarItems.slider_rotation_y,BarItems.slider_rotation_z];r.forEach(p=>p.slider_vector=r);function s(p,m){var _=qm();let f=(g,v)=>{let b=0;return settings.local_position_values.value&&v.parent instanceof OutlinerNode&&v.parent.getTypeBehavior("use_absolute_position")&&(b=-v.parent.origin[m]),p(g+b)-b};if(_&&_[0]instanceof Group){let g=[];for(let v of _){let b=f(v.origin[m],v);v.origin[m]=b,v.forEachChild(x=>g.safePush(x),OutlinerElement)}ct.updateView({groups:_,group_aspects:{transform:!0},elements:g,element_aspects:{transform:!0},selection:!0}),Format.bone_rig&&ct.updateAllBones()}else _.forEach(function(g,v){let b=f(g.origin[m],g);if(g.transferOrigin&&!g.getTypeBehavior("use_absolute_position")){let x=g.origin.slice();x[m]=b,g.transferOrigin(x)}else g.origin[m]=b}),ct.updateView({elements:_,element_aspects:{transform:!0,geometry:!0},selection:!0});Modes.animate&&Animator.preview()}function l(p){let m;Format.bone_rig&&Group.first_selected&&(m=Group.first_selected),m||(m=Outliner.selected.find(f=>f.getTypeBehavior("rotatable")&&f.origin&&(Format.rotate_cubes||!(f instanceof Cube))));let _=m?m.origin[p]:0;return settings.local_position_values.value&&m?.parent instanceof OutlinerNode&&m.parent.getTypeBehavior("use_absolute_position")&&(_-=m.parent.origin[p]),_}new NumSlider("slider_origin_x",{name:tl("action.slider_origin",["X"]),description:tl("action.slider_origin.desc",["X"]),color:"x",category:"transform",condition:()=>(Modes.edit||Modes.animate||Modes.pose)&&qm()&&(Group.first_selected||Outliner.selected.length>Locator.selected.length),getInterval:Yr,get(){return l(0)},change:function(p){Modes.pose||s(p,0)},onBefore:function(){Undo.initEdit({elements:selected,groups:Group.multi_selected})},onAfter:function(){Undo.finishEdit("Change pivot point")}}),new NumSlider("slider_origin_y",{name:tl("action.slider_origin",["Y"]),description:tl("action.slider_origin.desc",["Y"]),color:"y",category:"transform",condition:()=>(Modes.edit||Modes.animate||Modes.pose)&&qm()&&(Group.first_selected||Outliner.selected.length>Locator.selected.length),getInterval:Yr,get(){return l(1)},change:function(p){Modes.pose||s(p,1)},onBefore:function(){Undo.initEdit({elements:selected,groups:Group.multi_selected})},onAfter:function(){Undo.finishEdit("Change pivot point")}}),new NumSlider("slider_origin_z",{name:tl("action.slider_origin",["Z"]),description:tl("action.slider_origin.desc",["Z"]),color:"z",category:"transform",condition:()=>(Modes.edit||Modes.animate||Modes.pose)&&qm()&&(Group.first_selected||Outliner.selected.length>Locator.selected.length),getInterval:Yr,get(){return l(2)},change:function(p){Modes.pose||s(p,2)},onBefore:function(){Undo.initEdit({elements:selected,groups:Group.multi_selected})},onAfter:function(){Undo.finishEdit("Change pivot point")}});let c=[BarItems.slider_origin_x,BarItems.slider_origin_y,BarItems.slider_origin_z];c.forEach(p=>p.slider_vector=c),new NumSlider("slider_spline_handle_tilt",{name:tl("action.slider_spline_handle_tilt"),description:tl("action.slider_spline_handle_tilt.desc"),category:"transform",condition:()=>Modes.edit&&SplineMesh.selected.length&&SplineMesh.selected[0].getSelectedHandles().length,getInterval:Yr,get:function(){let p=SplineMesh.selected[0].getSelectedHandles()[0];return SplineMesh.selected[0].handles[p].tilt},change:function(p){SplineMesh.selected.forEach((m,_)=>{m.getSelectedHandles().forEach((f,g)=>{let v=m.handles[f];var b=p(v.tilt);v.tilt=b,m.preview_controller.updateGeometry(m),m.refreshTubeFaces()})})},onBefore:function(){Undo.initEdit({elements:SplineMesh.selected})},onAfter:function(){Undo.finishEdit("Adjust tilt of selected handle")}}),new NumSlider("slider_spline_handle_size",{name:tl("action.slider_spline_handle_size"),description:tl("action.slider_spline_handle_size.desc"),category:"transform",condition:()=>Modes.edit&&SplineMesh.selected.length&&SplineMesh.selected[0].getSelectedHandles().length,getInterval:Yr,get:function(){let p=SplineMesh.selected[0].getSelectedHandles()[0];return SplineMesh.selected[0].handles[p].size},change:function(p){SplineMesh.selected.forEach((m,_)=>{m.getSelectedHandles().forEach((f,g)=>{let v=m.handles[f];var b=p(v.size);v.size=Math.max(0,b),m.preview_controller.updateGeometry(m),m.refreshTubeFaces()})})},onBefore:function(){Undo.initEdit({elements:SplineMesh.selected})},onAfter:function(){Undo.finishEdit("Adjust tilt of selected handle")}});let d=[BarItems.slider_spline_handle_tilt,BarItems.slider_spline_handle_size];d.forEach(p=>p.slider_vector=d),new Action("rotate_x_cw",{name:tl("action.rotate_cw","X"),icon:"rotate_right",color:"x",category:"transform",click(){Km(0,1)}}),new Action("rotate_x_ccw",{name:tl("action.rotate_ccw","X"),icon:"rotate_left",color:"x",category:"transform",click(){Km(0,3)}}),new Action("rotate_y_cw",{name:tl("action.rotate_cw","Y"),icon:"rotate_right",color:"y",category:"transform",click(){Km(1,1)}}),new Action("rotate_y_ccw",{name:tl("action.rotate_ccw","Y"),icon:"rotate_left",color:"y",category:"transform",click(){Km(1,3)}}),new Action("rotate_z_cw",{name:tl("action.rotate_cw","Z"),icon:"rotate_right",color:"z",category:"transform",click(){Km(2,1)}}),new Action("rotate_z_ccw",{name:tl("action.rotate_ccw","Z"),icon:"rotate_left",color:"z",category:"transform",click(){Km(2,3)}}),new Action("flip_x",{name:tl("action.flip","X"),icon:"icon-mirror_x",color:"x",category:"transform",click(){g1(0)}}),new Action("flip_y",{name:tl("action.flip","Y"),icon:"icon-mirror_y",color:"y",category:"transform",click(){g1(1)}}),new Action("flip_z",{name:tl("action.flip","Z"),icon:"icon-mirror_z",color:"z",category:"transform",click(){g1(2)}}),new Action("center_x",{name:tl("action.center","X"),icon:"vertical_align_center",color:"x",category:"transform",click(){Undo.initEdit({elements:Outliner.selected,groups:Group.all.filter(p=>p.selected)}),uf(0,!0),Undo.finishEdit("Center selection on X axis")}}),new Action("center_y",{name:tl("action.center","Y"),icon:"vertical_align_center",color:"y",category:"transform",click(){Undo.initEdit({elements:Outliner.selected,groups:Group.all.filter(p=>p.selected)}),uf(1,!0),Undo.finishEdit("Center selection on Y axis")}}),new Action("center_z",{name:tl("action.center","Z"),icon:"vertical_align_center",color:"z",category:"transform",click(){Undo.initEdit({elements:Outliner.selected,groups:Group.all.filter(p=>p.selected)}),uf(2,!0),Undo.finishEdit("Center selection on Z axis")}}),new Action("center_lateral",{icon:"filter_center_focus",category:"transform",click(){Undo.initEdit({elements:Outliner.selected,groups:Group.all.filter(p=>p.selected)}),uf(0,!1),uf(2,!0),Undo.finishEdit("Center selection")}}),new Action("move_up",{icon:"arrow_upward",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:38,ctrl:null,shift:null}),click(p){Prop.active_panel==="uv"?UVEditor.moveSelection([0,-1],p):Wm(-1,2,p)}}),new Action("move_down",{icon:"arrow_downward",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:40,ctrl:null,shift:null}),click(p){Prop.active_panel==="uv"?UVEditor.moveSelection([0,1],p):Wm(1,2,p)}}),new Action("move_left",{icon:"arrow_back",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:37,ctrl:null,shift:null}),click(p){Prop.active_panel==="uv"?UVEditor.moveSelection([-1,0],p):Wm(-1,0,p)}}),new Action("move_right",{icon:"arrow_forward",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:39,ctrl:null,shift:null}),click(p){Prop.active_panel==="uv"?UVEditor.moveSelection([1,0],p):Wm(1,0,p)}}),new Action("move_forth",{icon:"keyboard_arrow_up",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:33,ctrl:null,shift:null}),click(p){Wm(-1,1,p)}}),new Action("move_back",{icon:"keyboard_arrow_down",category:"transform",condition:{modes:["edit"],method:()=>!open_menu&&selected.length},keybind:new Keybind({key:34,ctrl:null,shift:null}),click(p){Wm(1,1,p)}}),new Toggle("toggle_visibility",{icon:"visibility",category:"transform",onChange(){toggleElementProperty("visibility")}}),new Toggle("toggle_locked",{icon:"fas.fa-lock",category:"transform",onChange(){toggleElementProperty("locked")}}),new Toggle("toggle_export",{icon:"save",category:"transform",onChange(){toggleElementProperty("export")}}),new Toggle("toggle_autouv",{icon:"fullscreen_exit",category:"transform",condition:{modes:["edit"]},onChange(){toggleElementProperty("autouv")}}),new Toggle("toggle_shade",{icon:"wb_sunny",category:"transform",condition:()=>Format.java_cube_shading_properties&&Modes.edit,onChange(){toggleElementProperty("shade")}}),new Toggle("toggle_mirror_uv",{icon:"icon-mirror_x",category:"transform",condition:()=>(Modes.edit||Modes.paint)&&UVEditor.isBoxUV(),onChange(){toggleElementProperty("mirror_uv")}});function u(p,m){if(!Condition(p.condition))return;let _=Outliner.selected.find(g=>g[m]!=null),f=_&&_[m];p.value=!!f,p.updateEnabledState()}Blockbench.on("update_selection",()=>{u(BarItems.toggle_visibility,"visibility"),u(BarItems.toggle_locked,"locked"),u(BarItems.toggle_export,"export"),u(BarItems.toggle_autouv,"autouv"),u(BarItems.toggle_shade,"shade"),u(BarItems.toggle_mirror_uv,"mirror_uv")}),new Action("update_autouv",{icon:"brightness_auto",category:"transform",condition:()=>!Modes.edit&&UVEditor.isFaceUV(),click(){Cube.selected.length&&(Undo.initEdit({elements:Cube.selected[0].forSelected(),selection:!0}),Cube.selected[0].forSelected(function(p){p.mapAutoUV()}),Undo.finishEdit("Update auto UV"))}}),new Toggle("toggle_stretch_linked",{icon:"fas.fa-link",category:"transform",linked_setting:"stretch_linked",condition:()=>Format.stretch_cubes&&Cube.selected.length&&Modes.edit}),new Action("origin_to_geometry",{icon:"filter_center_focus",category:"transform",condition:{modes:["edit","animate"],selected:{outliner:!0}},click(){if(Format.bone_rig&&Group.first_selected){Undo.initEdit({groups:Group.multi_selected});for(let _ of Group.multi_selected){if(_.children.length===0)continue;let f=new THREE.Vector3,g=0;_.children.forEach(function(v){v.getWorldCenter&&(f.add(v.getWorldCenter()),g++)}),f.divideScalar(g),_.mesh.parent.worldToLocal(f),_.parent instanceof Group&&(f.x+=_.parent.origin[0],f.y+=_.parent.origin[1],f.z+=_.parent.origin[2]),_.transferOrigin(f.toArray())}}else if(Outliner.selected[0]){Undo.initEdit({elements:Outliner.selected});var p=fC(),m=p.slice();Outliner.selected.forEach(_=>{if(_.transferOrigin)if(Format.bone_rig&&_.parent instanceof Group){var f=new THREE.Vector3().fromArray(m);_.parent.mesh.worldToLocal(f),f.x+=_.parent.origin[0],f.y+=_.parent.origin[1],f.z+=_.parent.origin[2],p=f.toArray(),_.transferOrigin(p)}else _.transferOrigin(m)})}ct.updateView({elements:Outliner.selected,element_aspects:{transform:!0,geometry:!0},groups:Group.multi_selected,selection:!0}),Undo.finishEdit("Center pivot")}}),new Action("center_individual_pivots",{icon:"center_focus_weak",category:"transform",condition:{modes:["edit","animate"],selected:{outliner:!0}},click(){Undo.initEdit({outliner:!0,elements:Outliner.selected});for(let p of Group.all){if(!p.selected)continue;let m=new THREE.Vector3,_=0;p.children.forEach(f=>{f.getWorldCenter&&(m.add(f.getWorldCenter()),_++)}),m.divideScalar(_),p.mesh.parent.worldToLocal(m),p.parent instanceof Group&&(m.x+=p.parent.origin[0],m.y+=p.parent.origin[1],m.z+=p.parent.origin[2]),p.transferOrigin(m.toArray())}for(let p of Outliner.selected){if(!p.getWorldCenter||!p.transferOrigin)continue;let m=p.getWorldCenter().toArray(),_=m.slice();if(Format.bone_rig&&p.parent instanceof Group){let f=new THREE.Vector3().fromArray(_);p.parent.mesh.worldToLocal(f),f.x+=p.parent.origin[0],f.y+=p.parent.origin[1],f.z+=p.parent.origin[2],m=f.toArray(),p.transferOrigin(m)}else p.transferOrigin(_)}ct.updateView({elements:Outliner.selected,element_aspects:{transform:!0,geometry:!0},groups:Group.multi_selected,selection:!0}),Undo.finishEdit("Center individual pivots")}}),new Action("bone_reset_toggle",{icon:"check_box_outline_blank",category:"transform",condition:function(){return Format.bone_rig&&Group.first_selected},click(){Undo.initEdit({groups:Group.multi_selected});for(let p of Group.multi_selected)p.reset=!Group.first_selected.reset;updateNslideValues(),Undo.finishEdit("Toggle bone reset")}}),new Action("remove_blank_faces",{icon:"cancel_presentation",condition:()=>!Format.box_uv,click(){let p=Outliner.selected.filter(g=>g.faces);Undo.initEdit({elements:p});var m=p.slice(),_=[],f=0;unselectAllElements(),m.forEach(g=>{var v=0,b=Object.keys(g.faces).length;for(var x in g.faces){var w=g.faces[x];w.texture==!1&&(g instanceof Cube?w.texture=null:delete g.faces[x],v++,f++)}v==b&&_.push(g)}),updateSelection(),Blockbench.showQuickMessage(tl("message.removed_faces",[f])),_.length?Blockbench.showMessageBox({title:tl("message.cleared_blank_faces.title"),icon:"rotate_right",message:tl("message.cleared_blank_faces.message",[_.length]),buttons:["generic.remove","dialog.cancel"],confirm:0,cancel:1},function(g){_.forEach(v=>{if(g==0)v.remove(),p.remove(v);else for(var b in v.faces)v.faces[b].texture=!1}),updateSelection(),ct.updateView({elements:p,element_aspects:{geometry:!0,faces:!0,uv:!0}}),Undo.finishEdit("Remove blank faces")}):(ct.updateView({elements:p,element_aspects:{geometry:!0,faces:!0,uv:!0}}),Undo.finishEdit("Remove blank faces"))}}),new Action("auto_set_cullfaces",{icon:"smart_button",condition:()=>Modes.edit&&Format.cullfaces,click(){Cube.selected.length||BarItems.select_all.click(),Undo.initEdit({elements:Cube.selected}),Cube.selected.forEach(p=>{let m=p.getGlobalVertexPositions();["east","up","south","west","down","north"].forEach((_,f)=>{let g=f%3,v=p.faces[_];if(v.texture===null)return;let b=v.getVertexIndices().map(E=>m[E]),x=f<3?[15.98,32]:[-16,.02],w=b.allAre(E=>{let y=[0,1,2].filter(A=>g!==A);return E[g]>x[0]&&E[g]<x[1]&&E[y[0]]>=0&&E[y[0]]<=16&&E[y[1]]>=0&&E[y[1]]<=16});v.cullface=w?_:""})}),updateSelection(),Undo.finishEdit("Automatically set cullfaces")}})});Object.assign(window,{getSelectionCenter:fC,moveElementsRelative:Wm,rotateSelected:Km,flipNameOnAxis:nd,mirrorSelected:g1,centerElements:uf,moveElementsInSpace:f1,changeNodeLocalPosition:Hne,getSpatialInterval:Yr,getRotationInterval:v1,getRotationObjects:Al,getPivotObjects:qm,rotateOnAxis:b1,afterRotateOnAxis:y1,selectSplinePoints:Lne,tiltSplineHandle:Nne});var cc=class cc extends Ua{constructor(t,n){super(t,n);W(this,"title",tl("data.bounding_box"));W(this,"type","bounding_box");W(this,"icon","activity_zone");W(this,"menu",new Menu([...Outliner.control_menu_group,new MenuSeparator("export"),"generate_bedrock_block_box","generate_bedrock_entity_box",new MenuSeparator("settings"),{name:"menu.cube.color",icon:"color_lens",children(){return rn.map((t,n)=>({icon:"bubble_chart",color:t.standard,name:t.name||"cube.color."+t.id,click(a){a.forSelected(o=>{o.setColor(n)},"Change color")}}))}},"randomize_marker_colors",new MenuSeparator("manage"),"rename","toggle_visibility","delete"]));W(this,"buttons",[Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility]);W(this,"visibility");W(this,"color");W(this,"function");let a=wi.get("default_cube_size");this.color=Math.floor(Math.random()*rn.length),this.visibility=!0;for(let o in cc.properties)cc.properties[o].reset(this);Object.assign(this._static.properties,{from:[0,0,0],to:[a,a,a]}),t&&this.extend(t)}get from(){return this._static.properties.from}get to(){return this._static.properties.to}set from(t){this._static.properties.from=t}set to(t){this._static.properties.to=t}get position(){return[0,0,0]}get origin(){return[0,0,0]}extend(t){for(let n in cc.properties)cc.properties[n].merge(this,t);return this.sanitizeName(),Merge.number(this,t,"color"),Merge.boolean(this,t,"export"),Merge.boolean(this,t,"visibility"),t.from&&(Merge.number(this.from,t.from,0),Merge.number(this.from,t.from,1),Merge.number(this.from,t.from,2)),t.to&&(Merge.number(this.to,t.to,0),Merge.number(this.to,t.to,1),Merge.number(this.to,t.to,2)),t.size&&(typeof t.size[0]=="number"&&!isNaN(t.size[0])&&(this.to[0]=this.from[0]+t.size[0]),typeof t.size[1]=="number"&&!isNaN(t.size[1])&&(this.to[1]=this.from[1]+t.size[1]),typeof t.size[2]=="number"&&!isNaN(t.size[2])&&(this.to[2]=this.from[2]+t.size[2])),this}size(t,n=!1){let a=this,o=1e-7;function r(s){return n==!0?Math.floor(a.to[s]-a.from[s]+o):a.to[s]-a.from[s]}return t!==void 0?r(t):[r(0),r(1),r(2)]}getSize(t,n){return this.size(t)}getMesh(){return this.mesh}getUndoCopy(t=0){let n={};for(let a in cc.properties)cc.properties[a].copy(this,n);return n.from=this.from.slice(),n.to=this.to.slice(),n.color=this.color,n.visibility=this.visibility,n.export=this.export,n.uuid=this.uuid,n.type=this.type,n}getSaveCopy(){let t={};for(let n in cc.properties)cc.properties[n].copy(this,t);return t.from=this.from,t.to=this.to,t.color=this.color,this.visibility||(t.visibility=!1),this.export||(t.export=!1),t.type=this.type,t.uuid=this.uuid,t}roll(t,n,a=[8,8,8]){function o(r){let s,l;return r.forEach(function(c,d){d==t||(s==null?(s=c-a[d],l=d):(r[l]=c-a[d],r[l]=a[l]-r[l],r[d]=a[d]+s))}),r}for(;n>0;){switch(n--,t){case 0:[this.from[2],this.to[2]]=[this.to[2],this.from[2]];break;case 1:[this.from[2],this.to[2]]=[this.to[2],this.from[2]];break;case 2:[this.from[1],this.to[1]]=[this.to[1],this.from[1]];break}this.from.V3_set(o(this.from)),this.to.V3_set(o(this.to))}return this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}flip(t,n){let a=this,o=this.from[t];this.from[t]=n-(this.to[t]-n),this.to[t]=n-(o-n),this.origin[t]=n-(this.origin[t]-n),nd(this,t),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this)}getWorldCenter(){let t=this.mesh,n=new THREE.Vector3(this.from[0]+this.size(0)/2,this.from[1]+this.size(1)/2,this.from[2]+this.size(2)/2);if(n.x=(n.x-this.origin[0])*t.scale.x,n.y=(n.y-this.origin[1])*t.scale.y,n.z=(n.z-this.origin[2])*t.scale.z,t){let a=t.getWorldQuaternion(Reusable.quat1);n.applyQuaternion(a),n.add(PA(t,Reusable.vec2))}return n}getGlobalVertexPositions(){return[[this.to[0],this.to[1],this.to[2]],[this.to[0],this.to[1],this.from[2]],[this.to[0],this.from[1],this.to[2]],[this.to[0],this.from[1],this.from[2]],[this.from[0],this.to[1],this.from[2]],[this.from[0],this.to[1],this.to[2]],[this.from[0],this.from[1],this.from[2]],[this.from[0],this.from[1],this.to[2]]]}setColor(t){return this.color=t,this.visibility&&this.preview_controller.updateGeometry(this),this}moveVector(t,n,a=!0){if(typeof t=="number"){let s=t;t=[0,0,0],t[n||0]=s}else t instanceof THREE.Vector3&&(t=t.toArray());let o=this,r=!0;return t.forEach((s,l)=>{let c=o.size(l);s+=o.from[l],Math.abs(s-s)>=1e-4&&(r=!1),s-=o.from[l],o.from[l]+=s,o.to[l]+=s}),a&&(this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this)),TickUpdates.selection=!0,r}resize(t,n,a,o,r){let s=this.temp_data.old_size!=null?this.temp_data.old_size:this.size(n);s instanceof Array&&(s=s[n]),s<0&&o==null&&(a=!a);let c=t instanceof Function?t:d=>d+t;if(r){let d=this.temp_data.oldCenter[n]||0,u=c(s)-s;a&&(u*=-1);let p=d-s/2-u,m=d+s/2+u;Format.integer_size&&(p=Math.round(p-this.from[n])+this.from[n],m=Math.round(m-this.to[n])+this.to[n]),this.from[n]=p,this.to[n]=m,p>m&&!(Zi.negative_size.value||o)&&(this.from[n]=this.to[n]=(p+m)/2)}else if(a){let d=this.to[n]+c(-s);Format.integer_size&&(d=Math.round(d-this.to[n])+this.to[n]),d<=this.to[n]||Zi.negative_size.value||o?this.from[n]=d:this.from[n]=this.to[n]}else{let d=this.from[n]+c(s);Format.integer_size&&(d=Math.round(d-this.from[n])+this.from[n]),d>=this.from[n]||Zi.negative_size.value||o?this.to[n]=d:this.to[n]=this.from[n]}return this.preview_controller.updateGeometry(this),TickUpdates.selection=!0,this}};W(cc,"behavior",{movable:!0,resizable:!0,unique_name:!1});var Jo=cc;new Property(Jo,"string","name",{default:"bounding_box"});new Property(Jo,"boolean","locked");new Property(Jo,"array","function",{inputs:{element_panel:{input:{type:"multi_select",label:"Function",options:{collision:"Collision",hitbox:"Hitbox"}}}}});Ua.registerType(Jo,"bounding_box");var gC={};function J4(i){if(!gC[i.color]){let e=rn[i.color%rn.length];gC[i.color]={default:new THREE.LineBasicMaterial({color:new THREE.Color().set(e.standard)}),selected:new THREE.LineBasicMaterial({color:new THREE.Color().set(e.pastel)})}}return gC[i.color]}new NodePreviewController(Jo,{setup(i){let e=new THREE.LineSegments(new THREE.BufferGeometry,J4(i).default);Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type="bounding_box",e.isElement=!0,e.no_export=!0,e.visible=i.visibility,e.renderOrder=100,this.updateTransform(i),this.updateGeometry(i),this.dispatchEvent("setup",{element:i})},updateTransform(i){let e=i.mesh;i.getTypeBehavior("movable")&&e.position.set(i.origin[0],i.origin[1],i.origin[2]),e.parent!==Project.model_3d&&Project.model_3d.add(e),e.updateMatrixWorld(),this.dispatchEvent("update_transform",{element:i})},updateGeometry(i){let e=i.mesh,t=i.from.slice(),n=i.to.slice();t.forEach((r,s)=>{t[s]-=i.origin[s]}),n.forEach((r,s)=>{n[s]-=i.origin[s],t[s]===n[s]&&(n[s]+=.001)});let a=i.getGlobalVertexPositions(),o=[a[0],a[1],a[1],a[3],a[2],a[3],a[2],a[0],a[4],a[5],a[5],a[7],a[6],a[7],a[6],a[4],a[0],a[5],a[1],a[4],a[2],a[7],a[3],a[6]].map(r=>new THREE.Vector3().fromArray(r));e.geometry.setFromPoints(o),e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere(),this.dispatchEvent("update_geometry",{element:i})},updateSelection(i){let e=i.mesh;if(e)if(Modes.paint||Modes.display)e.visible=!1;else{e.visible=i.visibility;let t=J4(i);e.material=i.selected?t.selected:t.default}this.dispatchEvent("update_selection",{element:i})},updateVisibility(i){i.mesh.visible=Modes.paint||Modes.display?!1:i.visibility,this.dispatchEvent("update_visibility",{element:i})},viewportRectangleOverlap(i,{projectPoint:e,rect_start:t,rect_end:n,preview:a}){if(BarItems.selection_mode.value!="object"&&Format.meshes&&a.selection.old_selected.find(d=>d instanceof Mesh))return;let o=Reusable.vec2;var r=i.from,s=i.to;let l=[[r[0],r[1],r[2]],[r[0],r[1],s[2]],[r[0],s[1],s[2]],[r[0],s[1],r[2]],[s[0],r[1],r[2]],[s[0],r[1],s[2]],[s[0],s[1],s[2]],[s[0],s[1],r[2]]].map(d=>(o.fromArray(d),e(o)));return l.find(d=>d[0]>=0&&d[0]<=a.width&&d[1]>=0&&d[1]<=a.height)&&(ws(l[0],l[1],t,n)||ws(l[1],l[2],t,n)||ws(l[2],l[3],t,n)||ws(l[3],l[0],t,n)||ws(l[4],l[5],t,n)||ws(l[5],l[6],t,n)||ws(l[6],l[7],t,n)||ws(l[7],l[4],t,n)||ws(l[0],l[4],t,n)||ws(l[1],l[5],t,n)||ws(l[2],l[6],t,n)||ws(l[3],l[7],t,n))}});BARS.defineActions(function(){new Action("add_bounding_box",{icon:"activity_zone",category:"edit",condition:{modes:["edit"],features:["bounding_boxes"]},click:function(){Undo.initEdit({outliner:!0,elements:[],selection:!0});let i=new Jo().init(),e=getCurrentGroup();if(e&&(i.addTo(e),Zi.inherit_parent_color.value&&(i.color=e.color)),Format.bone_rig){let t=e?e.origin.slice():[0,0,0],n=wi.get("default_cube_size");n%2==0?i.extend({from:[t[0]-n/2,t[1]-0,t[2]-n/2],to:[t[0]+n/2,t[1]+n,t[2]+n/2]}):i.extend({from:[t[0],t[1],t[2]],to:[t[0]+n,t[1]+n,t[2]+n]})}return unselectAllElements(),i.select(),Canvas.updateView({elements:[i],element_aspects:{transform:!0,geometry:!0}}),Undo.finishEdit("Add bounding box",{outliner:!0,elements:Outliner.selected,selection:!0}),Blockbench.dispatchEvent("add_bounding_box",{object:i}),Mn.default.nextTick(function(){Zi.create_rename.value&&i.rename()}),i}})});var Gne={BoundingBox:Jo};Object.assign(window,Gne);var ad=class ad extends OutlinerElement{constructor(e,t){super(e,t);for(var n in ad.properties)ad.properties[n].reset(this);e&&typeof e=="object"&&this.extend(e)}get from(){return this.origin}getWorldCenter(){let e=this.mesh,t=new THREE.Vector3().fromArray(this.local_pivot);if(e){let n=e.getWorldQuaternion(Reusable.quat1);t.applyQuaternion(n),t.add(THREE.fastWorldPosition(e,Reusable.vec2))}return t}moveVector(e,t,n=!0){if(typeof e=="number"){var a=e;e=[0,0,0],e[t||0]=a}else e instanceof THREE.Vector3&&(e=e.toArray());e.forEach((o,r)=>{this.origin[r]+=o}),n&&this.preview_controller.updateTransform(this),TickUpdates.selection=!0}extend(e){for(var t in ad.properties)ad.properties[t].merge(this,e);if(typeof e.vertices=="object")for(let n in e.vertices)this.vertices[n]=e.vertices[n].slice();return this.sanitizeName(),this}getUndoCopy(){var e=new ad(this);return e.uuid=this.uuid,e.type=this.type,delete e.parent,e}getSaveCopy(){var e={};for(var t in ad.properties)ad.properties[t].copy(this,e);return e.type="texture_mesh",e.uuid=this.uuid,e}};W(ad,"behavior",{unique_name:!1,movable:!0,scalable:!0,rotatable:!0});var Zo=ad;Zo.prototype.title=tl("data.texture_mesh");Zo.prototype.type="texture_mesh";Zo.prototype.icon="fa-puzzle-piece";Zo.prototype.menu=new Menu([...Outliner.control_menu_group,new MenuSeparator("settings"),new MenuSeparator("manage"),"rename","toggle_visibility","delete"]);Zo.prototype.buttons=[Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];new Property(Zo,"string","name",{default:"texture_mesh"});new Property(Zo,"string","texture_name",{inputs:{element_panel:{input:{label:"texture_mesh.texture_name",type:"text"},onChange(){Cube.selected.forEach(i=>{i.preview_controller.updateRenderOrder(i)})}}}});new Property(Zo,"vector","origin");new Property(Zo,"vector","local_pivot");new Property(Zo,"vector","rotation");new Property(Zo,"vector","scale",{default:[1,1,1]});new Property(Zo,"boolean","visibility",{default:!0});new Property(Zo,"boolean","locked");OutlinerElement.registerType(Zo,"texture_mesh");function qne(){let i=Texture.getDefault();return i&&i.pbr_channel!="color"&&i.getGroup()&&(i=i.getGroup().getTextures().find(t=>t.pbr_channel=="color")??i),i}new NodePreviewController(Zo,{setup(i){var e=new THREE.Mesh(new THREE.BoxGeometry(1,1,1),Canvas.emptyMaterials[0]);Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type=i.type,e.isElement=!0,e.rotation.order=Format.euler_order,e.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(4),1));let t=new THREE.LineSegments(new THREE.BufferGeometry,Canvas.outlineMaterial);t.no_export=!0,t.name=i.uuid+"_outline",t.visible=i.selected,t.renderOrder=2,t.frustumCulled=!1,e.outline=t,e.add(t),this.updateTransform(i),this.updateGeometry(i),this.updateFaces(i),e.visible=i.visibility,this.dispatchEvent("setup",{element:i})},updateGeometry(i,e=qne()){let{mesh:t}=i,n=[],a=[],o=[],r=[1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1],s=[],l=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];function c(_,f,g){s.push(_,f,g),s.push(_,f,g),s.push(_,f,g),s.push(_,f,g)}let d=[Project.getUVWidth(e),Project.getUVHeight(e)],u=[[-d[0],0,0],[-d[0],0,d[1]],[0,0,d[1]],[0,0,0]];if(u.push(...u.map(_=>[_[0],-1,_[2]])),u.forEach(_=>{n.push(..._)}),a.push(0,1,2,0,2,3),a.push(4,6,5,4,7,6),c(0,1,0),c(0,-1,0),o.push(...u[0],...u[1],...u[1],...u[2],...u[2],...u[3],...u[3],...u[0],...u[4],...u[5],...u[5],...u[6],...u[6],...u[7],...u[7],...u[4],...u[0],...u[4],...u[1],...u[5],...u[2],...u[6],...u[3],...u[7]),e&&e.width){let g=function(w,E,y,A,R){let j=n.length/3;n.push(-w*d[0]/e.width,0,E*d[1]/e.height),n.push(-w*d[0]/e.width,-1,E*d[1]/e.height),n.push(-y*d[0]/e.width,-1,A*d[1]/e.height),n.push(-y*d[0]/e.width,0,A*d[1]/e.height),R==1?a.push(j+0,j+1,j+2,j+0,j+2,j+3):a.push(j+0,j+2,j+1,j+0,j+3,j+2),w==y&&(w+=.1*-R,y+=.4*-R,E+=.1,A-=.1,c(-R,0,0)),E==A&&(E+=.1*R,A+=.4*R,w+=.1,y-=.1,c(0,0,-R)),r.push(y/_.width,1-E/_.height,y/_.width,1-A/_.height,w/_.width,1-A/_.height,w/_.width,1-E/_.height),l.push(1,1,1,1,1,1,1,1,1,1,1,1)},_=document.createElement("canvas"),f=_.getContext("2d");_.width=e.width,_.height=e.height,f.drawImage(e.img,0,0);let v=f.getImageData(0,0,_.width,_.height),b=[];for(let w=0;w<v.data.length;w+=4)b.push(v.data[w+3]>140?1:0);let x=b.slice();for(var p=0;p<_.height;p++)for(var m=0;m<=_.width;m++){let w=m==0?0:b[p*_.width+m-1],E=m==_.width?0:b[p*_.width+m];!w!=!E&&g(m,p,m,p+1,w?1:-1)}for(var m=0;m<_.width;m++)for(var p=0;p<=_.height;p++){let y=p==0?0:x[(p-1)*_.width+m],A=p==_.height?0:x[p*_.width+m];!y!=!A&&g(m,p,m+1,p,y?-1:1)}}n.forEach((_,f)=>{let g=f%3;n[f]=_*i.scale[g]+i.local_pivot[g]}),o.forEach((_,f)=>{let g=f%3;o[f]=_*i.scale[g]+i.local_pivot[g]}),t.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(n),3)),t.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(t.geometry.attributes.position.count),1)),t.geometry.setIndex(a),t.geometry.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(r),2)),t.geometry.setAttribute("color",new THREE.BufferAttribute(new Float32Array(l),3)),t.geometry.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(s),3)),t.geometry.attributes.color.needsUpdate=!0,t.geometry.attributes.normal.needsUpdate=!0,t.outline.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(o),3)),t.geometry.computeBoundingBox(),t.geometry.computeBoundingSphere(),this.dispatchEvent("update_geometry",{element:i,texture:e})},updateFaces(i){let{mesh:e}=i;if(Project.view_mode==="solid")e.material=Canvas.monochromaticSolidMaterial;else if(Project.view_mode==="colored_solid")e.material=Canvas.coloredSolidMaterials[0];else if(Project.view_mode==="wireframe")e.material=Canvas.wireframeMaterial;else{var t=Texture.getDefault();t&&t.uuid?e.material=t.getMaterial():e.material=Canvas.emptyMaterials[0]}Zo.preview_controller.updateGeometry(i),this.dispatchEvent("update_faces",{element:i})},updateTransform(i){let{mesh:e}=i;NodePreviewController.prototype.updateTransform.call(this,i),e.scale.set(1,1,1),this.dispatchEvent("update_transform",{element:i})}});BARS.defineActions(function(){new Action({id:"add_texture_mesh",icon:"fa-puzzle-piece",category:"edit",condition:()=>Modes.edit&&Format.texture_meshes,click:function(){Undo.initEdit({outliner:!0,elements:[],selection:!0});var i=new Zo().init(),e=getCurrentGroup();if(i.addTo(e),Format.bone_rig&&e){var t=e.origin.slice();i.extend({from:[t[0]-0,t[1]-0,t[2]-0],to:[t[0]+1,t[1]+1,t[2]+1],origin:t.slice()})}return unselectAllElements(),i.select(),Undo.finishEdit("Add texture mesh",{outliner:!0,elements:Outliner.selected,selection:!0}),Blockbench.dispatchEvent("add_texture_mesh",{object:i}),Vue.nextTick(function(){settings.create_rename.value&&i.rename()}),i}})});Object.assign(window,{TextureMesh:Zo});var gr=class gr extends Ua{constructor(t,n){super(t,n);W(this,"isOpen");W(this,"visibility");W(this,"origin");W(this,"rotation");W(this,"vertex_weights");W(this,"length");W(this,"width");W(this,"connected");W(this,"color");W(this,"title",tl("data.armature_bone"));W(this,"type","armature_bone");W(this,"icon","humerus");W(this,"name_regex",()=>Format.bone_rig?"a-zA-Z0-9_":!1);W(this,"buttons",[Outliner.buttons.locked,Outliner.buttons.visibility]);W(this,"menu",new Menu(["add_armature_bone",...Outliner.control_menu_group,new MenuSeparator("settings"),"allow_element_mirror_modeling","set_element_marker_color","randomize_marker_colors","apply_animation_preset","add_all_to_timeline",new MenuSeparator("manage"),"rename","delete"]));for(let a in gr.properties)gr.properties[a].reset(this);this.name="bone",this.children=[],this.selected=!1,this.locked=!1,this.export=!0,this.parent="root",this.isOpen=!1,this.visibility=!0,this.vertex_weights={},this.color=Math.floor(Math.random()*rn.length),typeof t=="object"?this.extend(t):typeof t=="string"&&(this.name=t)}get position(){return this.origin}extend(t){for(let n in gr.properties)gr.properties[n].merge(this,t);return Merge.string(this,t,"name"),this.sanitizeName(),Merge.boolean(this,t,"export"),Merge.boolean(this,t,"locked"),Merge.boolean(this,t,"visibility"),this}getArmature(){let t=this.parent;for(;!(t instanceof jr)&&t instanceof ra;)t=t.parent;return t}getVertexWeight(t,n){let a=t.uuid.substring(0,6)+":"+n,o=this.vertex_weights;return o[a]??o[n]??0}setVertexWeight(t,n,a){let o=t.uuid.substring(0,6)+":"+n,r=this.vertex_weights;r[n]&&delete r[n],!a||a<0?delete r[o]:r[o]=a}init(){return super.init(),(!this.mesh||!this.mesh.parent)&&this.preview_controller.setup(this),Canvas.updateAllBones([this]),this}select(t,n){return super.select(t,n)==!1?!1:(Animator.open&&Gt.selected&&Gt.selected.getBoneAnimator(this)?.select(!0),this)}markAsSelected(t){return Outliner.selected.safePush(this),this.selected=!0,t&&this.children.forEach(n=>n.markAsSelected(!0)),TickUpdates.selection=!0,this}matchesSelection(){let t=this,n=!0;for(let a=0;a<Outliner.selected.length;a++)if(!Outliner.selected[a].isChildOf(t,128))return!1;return this.forEachChild(a=>{a.selected||(n=!1)}),n}openUp(){return this.isOpen=!0,this.updateElement(),this.parent&&this.parent!=="root"&&this.parent.openUp(),this}transferOrigin(t){if(!this.mesh)return;let n=new Ve.Quaternion().copy(this.mesh.quaternion),a=new Ve.Vector3(this.origin[0]-t[0],this.origin[1]-t[1],this.origin[2]-t[2]),o=new Ve.Vector3().copy(a);o.applyQuaternion(n),a.sub(o),a.applyQuaternion(n.invert()),this.origin.V3_set(t);function r(s){s instanceof gr&&(s.origin.V3_add(a),s.children.forEach(l=>r(l)))}return this.children.forEach(s=>r(s)),Canvas.updatePositions(),this}getWorldCenter(){let t=new Ve.Vector3;return this.mesh.localToWorld(t),t}flip(t,n){var a=this.position[t]-n;return this.position[t]=n-a,this.rotation.forEach((o,r)=>{r!=t&&(this.rotation[r]=-o)}),nd(this,t),this.createUniqueName(),this.preview_controller.updateTransform(this),this}size(t){return typeof t=="number"?t==1?this.length:this.width:[this.width,this.length,this.width]}getSize(t){return this.size(t)}resize(t,n,a){if(n==1){let o=this.temp_data.old_size instanceof Array?this.temp_data.old_size[1]:this.temp_data.old_size??this.length;typeof t=="function"?this.length=t(o):this.length=o+t*(a?-1:1)}else{let o=this.temp_data.old_size instanceof Array?this.temp_data.old_size[0]:this.temp_data.old_size??this.width;typeof t=="function"?this.width=t(o):this.width=o+t*(a?-1:1)}this.preview_controller.updateTransform(this)}setColor(t){this.color=t,this.preview_controller.updateFaces(this);let n=this.getArmature();return Canvas.updateView({elements:Mesh.all.filter(a=>n&&a.getArmature()==n),element_aspects:{geometry:!0}}),this}getSaveCopy(){let t={isOpen:this.isOpen,uuid:this.uuid,type:this.type,name:this.name,children:this.children.map(n=>n.uuid)};for(let n in gr.properties)gr.properties[n].merge(t,this);return t}getUndoCopy(){let t={isOpen:this.isOpen,uuid:this.uuid,type:this.type,name:this.name,children:this.children.map(n=>n.uuid)};for(let n in gr.properties)gr.properties[n].merge(t,this);return t}getChildlessCopy(t=!1){let n=new gr({name:this.name},t?this.uuid:null);for(let a in gr.properties)gr.properties[a].copy(this,n);return n.name=this.name,n.origin.V3_set(this.origin),n.rotation.V3_set(this.rotation),n.locked=this.locked,n.visibility=this.visibility,n.export=this.export,n.isOpen=this.isOpen,n}forEachChild(t,n,a){let o=0;for(a&&t(this);o<this.children.length;)(!n||(n instanceof Array?n.find(r=>this.children[o]instanceof r):this.children[o]instanceof n))&&t(this.children[o]),this.children[o].forEachChild&&this.children[o].forEachChild(t,n),o++}};W(gr,"preview_controller"),W(gr,"behavior",{unique_name:!1,parent:!0,movable:!0,rotatable:!0,resizable:!0,child_types:["armature_bone"],parent_types:["armature_bone","armature"],select_children:"self_first",hide_in_screenshot:!0,marker_color:!0}),W(gr,"all"),W(gr,"selected");var xn=gr;xn.addBehaviorOverride({condition:{features:["bone_rig"]},behavior:{unique_name:!0}});Ua.registerType(xn,"armature_bone");new Property(xn,"vector","origin",{default:[0,0,0]});new Property(xn,"vector","rotation");new Property(xn,"number","length",{default:8});new Property(xn,"number","width",{default:2});new Property(xn,"boolean","connected",{default:!0,inputs:{element_panel:{input:{label:"armature_bone.connected",type:"checkbox"},onChange(){let i=[];xn.selected.forEach(e=>{e.parent instanceof xn&&i.safePush(e.parent)}),Canvas.updateView({elements:i,element_aspects:{transform:!0}})}}}});new Property(xn,"number","color");new Property(xn,"object","vertex_weights");new NodePreviewController(xn,{material:new Ve.MeshLambertMaterial({color:14343133,depthTest:!1,depthWrite:!1,transparent:!0,vertexColors:!0,side:Ve.FrontSide}),material_selected:new Ve.MeshLambertMaterial({color:16777215,depthTest:!1,depthWrite:!1,transparent:!0,vertexColors:!0,side:Ve.FrontSide}),setup(i){let e=new Ve.Bone;e.rotation.order=Format.euler_order,e.uuid=i.uuid.toUpperCase(),e.name=i.name,Project.nodes_3d[i.uuid]=e;let t=new Ve.BufferGeometry,n=1,a=.2,o=[0,0,0,n,a,n,-n,a,n,n,a,-n,0,0,0,-n,a,-n,n,a,n,0,0,0,n,a,-n,0,0,0,-n,a,n,-n,a,-n,n,a,n,0,1,0,-n,a,n,0,1,0,n,a,-n,-n,a,-n,0,1,0,n,a,n,n,a,-n,-n,a,n,0,1,0,-n,a,-n],r=-.003,s=1.007,l=[0,r,0,n,a,n,0,s,0,-n,a,n,0,r,0,n,a,-n,0,s,0,-n,a,-n,-n,a,n,n,a,n,n,a,-n,-n,a,-n,0,r,0];for(let g=0;g<l.length;g+=3)l[g+0]*=1.02,l[g+2]*=1.02;let c=[0,-.5,.4,0,-.5,-.4,.4,-.5,0,-.4,-.5,0,0,.2,.6,0,.2,-.6,.6,.2,0,-.6,.2,0],d=[];for(let g=0;g<c.length;g+=3)for(let v=0;v<3;v++)d.push(c[g],c[g+1],c[g+2]);t.setAttribute("position",new Ve.Float32BufferAttribute(o,3)),t.setAttribute("normal",new Ve.Float32BufferAttribute(d,3)),t.normalizeNormals(),t.computeBoundingBox(),t.computeBoundingSphere();let u=xn.preview_controller.material,p=new Ve.Mesh(t,u);p.renderOrder=20,p.visible=i.visibility,p.no_export=!0,p.name=i.uuid,p.type=i.type,p.isElement=!0,e.add(p);let m=new Ve.BufferGeometry;m.setAttribute("position",new Ve.Float32BufferAttribute(l,3));let _=new Ve.LineBasicMaterial({color:1118481,depthTest:!1,depthWrite:!1,transparent:!0}),f=new Ve.Line(m,_);f.renderOrder=19,p.add(f),e.no_export=!0,e.fix_position=new Ve.Vector3,e.fix_rotation=new Ve.Euler,e.inverse_bind_matrix=new Ve.Matrix4,this.updateTransform(i),this.updateFaces(i),this.updateSelection(i),this.dispatchEvent("setup",{element:i})},updateFaces(i){let t=Canvas.coloredSolidMaterials[i.color%rn.length].uniforms.base.value,n=[];for(let o=0;o<24;o++)n.push(t.r,t.g,t.b);i.mesh.children[0].geometry.setAttribute("color",new Ve.Float32BufferAttribute(n,3));let a=Toolbox.selected.id=="weight_brush"&&Project.view_mode!="weighted_bone_colors";xn.preview_controller.material.opacity=a?.3:1},updateTransform(i){let e=i.scene_object,t=i.getArmature();e.rotation.order=Format.euler_order,e.rotation.setFromDegreeArray(i.rotation),e.position.fromArray(i.origin),e.scale.x=e.scale.y=e.scale.z=1,i.parent instanceof ra?(i.parent.scene_object.add(e),i.parent instanceof xn&&xn.preview_controller.updateTransform(i.parent)):e.parent&&e.parent.remove(e);let n=i.children.filter(a=>a.connected);if(n.length>=2){let a=new Ve.Box3;for(let r of n)a.expandByPoint(Reusable.vec1.fromArray(r.position));let o=a.getCenter(Reusable.vec1);e.children[0].scale.y=Math.max(2,o.length()),e.children[0].quaternion.setFromUnitVectors(new Ve.Vector3(0,1,0),o.normalize())}else if(n.length==1){let a=Reusable.vec1.fromArray(n[0].position);e.children[0].scale.y=a.length(),e.children[0].quaternion.setFromUnitVectors(new Ve.Vector3(0,1,0),a.normalize())}else e.children[0].rotation.set(0,0,0),e.children[0].scale.y=i.length;e.children[0].scale.x=i.width/2,e.children[0].scale.z=i.width/2,e.fix_position.copy(e.position),e.fix_rotation.copy(e.rotation),e.updateMatrixWorld(),t?.scene_object?(e.inverse_bind_matrix.copy(t.scene_object.matrixWorld).invert(),e.inverse_bind_matrix.multiply(e.matrixWorld),e.inverse_bind_matrix.invert()):e.inverse_bind_matrix.copy(e.matrixWorld).invert(),this.dispatchEvent("update_transform",{element:i})},updateVisibility(i){i.mesh.visible=Modes.paint?!1:i.visibility,this.dispatchEvent("update_visibility",{element:i})},updateSelection(i){let e=i.selected?this.material_selected:this.material,t=i.scene_object.children[0];t.material=e,t.children[0].material.color.set(i.selected?16777215:1118481)}});he.on("select_mode",i=>{for(let e of xn.all)xn.preview_controller.updateVisibility(e)});function Wne(){let i=[];function e(t){for(let n of t)n instanceof xn&&(i.push(n),e(n.children))}return e(Outliner.root),i}BARS.defineActions(function(){new Action("add_armature_bone",{icon:"humerus",category:"edit",keybind:new Keybind({key:"e",shift:!0}),condition:{modes:["edit"],selected:{mesh:!1,spline:!1},method:()=>xn.hasSelected()||jr.hasSelected()},click:function(){Undo.initEdit({outliner:!0,elements:[],selection:!0});let i=Outliner.selected[0]||Group.first_selected;!i&&Outliner.selected.length&&(i=Outliner.selected.last());let e=new xn({origin:i instanceof xn?[0,i.length??8,0]:void 0,width:i instanceof xn?i.width:void 0,length:i instanceof xn?i.length:void 0});e.addTo(i),e.isOpen=!0,Format.bone_rig&&e.createUniqueName(),e.init().select(),Undo.finishEdit("Add armature bone",{outliner:!0,elements:[e],selection:!0}),Mn.default.nextTick(function(){updateSelection(),settings.create_rename.value&&e.rename(),e.showInOutliner(),he.dispatchEvent("add_armature_bone",{object:e})})}})});var Kne={ArmatureBone:xn,getAllArmatureBones:Wne};Object.assign(window,Kne);var Ir=class Ir extends Ua{constructor(t,n){super(t,n);W(this,"isOpen");W(this,"visibility");W(this,"origin");W(this,"title",tl("data.armature"));W(this,"type","armature");W(this,"icon","accessibility");W(this,"name_regex",()=>Format.bone_rig?"a-zA-Z0-9_":!1);W(this,"buttons",[Outliner.buttons.locked,Outliner.buttons.visibility]);W(this,"menu",new Menu(["add_armature_bone",...Outliner.control_menu_group,new MenuSeparator("settings"),new MenuSeparator("manage"),"rename","delete"]));for(let a in Ir.properties)Ir.properties[a].reset(this);this.name="armature",this.children=[],this.selected=!1,this.locked=!1,this.export=!0,this.parent="root",this.isOpen=!1,this.visibility=!0,this.origin=[0,0,0],typeof t=="object"?this.extend(t):typeof t=="string"&&(this.name=t)}extend(t){for(let n in Ir.properties)Ir.properties[n].merge(this,t);return Merge.string(this,t,"name"),this.sanitizeName(),Merge.boolean(this,t,"export"),Merge.boolean(this,t,"locked"),Merge.boolean(this,t,"visibility"),this}getMesh(){return this.mesh}init(){return super.init(),(!this.mesh||!this.mesh.parent)&&this.constructor.preview_controller.setup(this),this}markAsSelected(t=!1){return Outliner.selected.safePush(this),this.selected=!0,t&&this.children.forEach(n=>n.markAsSelected(!0)),TickUpdates.selection=!0,this}matchesSelection(){let t=this,n=!0;for(let a=0;a<Outliner.selected.length;a++)if(!Outliner.selected[a].isChildOf(t,128))return!1;return this.forEachChild(a=>{a.selected||(n=!1)}),n}openUp(){return this.isOpen=!0,this.updateElement(),this.parent&&this.parent!=="root"&&this.parent.openUp(),this}getSaveCopy(){let t={isOpen:this.isOpen,uuid:this.uuid,type:this.type,name:this.name,children:this.children.map(n=>n.uuid)};for(let n in Ir.properties)Ir.properties[n].merge(t,this);return t}getUndoCopy(){let t={isOpen:this.isOpen,uuid:this.uuid,type:this.type,name:this.name,children:this.children.map(n=>n.uuid)};for(let n in Ir.properties)Ir.properties[n].merge(t,this);return t}getChildlessCopy(t){let n=new Ir({name:this.name},t?this.uuid:null);for(let a in Ir.properties)Ir.properties[a].copy(this,n);return n.name=this.name,n.locked=this.locked,n.visibility=this.visibility,n.export=this.export,n.isOpen=this.isOpen,n}forEachChild(t,n,a){let o=0;for(a&&t(this);o<this.children.length;)(!n||(n instanceof Array?n.find(r=>this.children[o]instanceof r):this.children[o]instanceof n))&&t(this.children[o]),"forEachChild"in this.children[o]&&this.children[o].forEachChild(t,n),o++}getAllBones(){let t=[];function n(a){for(let o of a)o instanceof xn&&(t.push(o),n(o.children))}return n(this.children.filter(a=>a instanceof xn)),t}calculateVertexDeformation(t){let n=new Ve.Matrix4,a=new Ve.Vector3,o=new Ve.Vector3,r=new Ve.Vector3,s=new Ve.Matrix4().copy(this.scene_object.parent.matrixWorld).invert(),l=new Ve.Matrix4().copy(s);l.multiply(t.mesh.matrixWorld);let c=l.clone().invert(),d=this.getAllBones(),u={},p=t.vertices;for(let m in p){a.fromArray(p[m]),a.applyMatrix4(l),r.set(0,0,0);let _={},f=d.filter(x=>{let w=x.getVertexWeight(t,m);if(w)return _[x.uuid]=w,!0});f.length>4&&f.sort((x,w)=>_[x.uuid]-_[w.uuid]).slice(0,4);let g=[];for(let x=0;x<4;x++){let w=f[x]?_[f[x].uuid]:0;g.push(w)}let v=new Ve.Vector4().fromArray(g),b=1/v.manhattanLength();if(b!==1/0){v.multiplyScalar(b),g=v.toArray();for(let x=0;x<4;x++){let w=g[x];w!==0&&f[x]&&(n.multiplyMatrices(s,f[x].scene_object.matrixWorld),n.multiply(f[x].scene_object.inverse_bind_matrix),r.addScaledVector(o.copy(a).applyMatrix4(n),w))}}else r.copy(a);r.applyMatrix4(c),u[m]=r.toArray().V3_subtract(p[m])}return u}};W(Ir,"preview_controller"),W(Ir,"behavior",{unique_name:!1,movable:!1,rotatable:!1,parent:!0,child_types:["armature_bone","mesh","null_object"]}),W(Ir,"all"),W(Ir,"selected");var jr=Ir;Ua.registerType(jr,"armature");new NodePreviewController(jr,{setup(i){let e=new Ve.Object3D;e.rotation.order="ZYX",e.uuid=i.uuid.toUpperCase(),e.name=i.name,e.isElement=!0,Project.nodes_3d[i.uuid]=e,e.no_export=!0,this.updateTransform(i),this.dispatchEvent("setup",{element:i})},updateTransform(i){let e=i.mesh;Format.bone_rig&&i.parent instanceof ra&&i.parent.scene_object?i.parent.scene_object.add(e):e.parent!==Project.model_3d&&Project.model_3d.add(e),e.updateMatrixWorld(),this.dispatchEvent("update_transform",{element:i})}});BARS.defineActions(function(){new Action("add_armature",{icon:"accessibility",category:"edit",condition:()=>Modes.edit&&Project.format?.armature_rig,click:function(){Undo.initEdit({outliner:!0,elements:[]});let i=Outliner.selected.last()||Group.first_selected;i instanceof ra&&i.getTypeBehavior("child_types")?.indexOf("armature")==-1&&(i=Outliner.ROOT);let e=new jr;e.addTo(i),e.isOpen=!0,e.createUniqueName(),e.init().select(),i instanceof Mesh&&i.addTo(e);let t=new xn;t.addTo(e).init(),Undo.finishEdit("Add armature",{outliner:!0,elements:[e,t]}),Mn.default.nextTick(function(){updateSelection(),settings.create_rename.value&&e.rename(),e.showInOutliner(),he.dispatchEvent("add_armature",{object:e})})}})});var $ne={Armature:jr};Object.assign(window,$ne);var $m=class $m extends OutlinerElement{constructor(e,t){super(e,t);for(var n in $m.properties)$m.properties[n].reset(this);e&&this.extend(e)}get origin(){return this.position}extend(e){e.from&&this.position.V3_set(e.from);for(var t in $m.properties)$m.properties[t].merge(this,e);return this.sanitizeName(),Merge.boolean(this,e,"export"),this}init(){return this.parent instanceof Group||this.addTo(Group.first_selected),super.init(),this}flip(e,t){var n=this.position[e]-t;return this.position[e]=t-n,this.rotation.forEach((a,o)=>{o!=e&&(this.rotation[o]=-a)}),flipNameOnAxis(this,e),this.createUniqueName(),this.preview_controller.updateTransform(this),this}getWorldCenter(){var e=new THREE.Vector3,t=Reusable.quat1.set(0,0,0,1);if(this.parent instanceof Group){THREE.fastWorldPosition(this.parent.mesh,e),this.parent.mesh.getWorldQuaternion(t);var n=Reusable.vec2.fromArray(this.parent.origin).applyQuaternion(t);e.sub(n)}var a=Reusable.vec3.fromArray(this.position).applyQuaternion(t);return e.add(a),e}};W($m,"behavior",{unique_name:!0,movable:!0,rotatable:!0});var Bo=$m;Bo.prototype.title=tl("data.locator");Bo.prototype.type="locator";Bo.prototype.icon="fa-anchor";Bo.prototype.name_regex=()=>Format.node_name_regex??"a-zA-Z0-9_",Bo.prototype.visibility=!0;Bo.prototype.buttons=[Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];Bo.prototype.menu=new Menu([...Outliner.control_menu_group,new MenuSeparator("settings"),new MenuSeparator("manage"),"rename","toggle_visibility","delete"]);new Property(Bo,"string","name",{default:"locator"});new Property(Bo,"vector","position");new Property(Bo,"vector","rotation");new Property(Bo,"boolean","ignore_inherited_scale",{inputs:{element_panel:{input:{label:"menu.locator.ignore_inherited_scale",description:"cube.rescale.desc",type:"checkbox"}}}});new Property(Bo,"boolean","visibility",{default:!0});new Property(Bo,"boolean","locked");OutlinerElement.registerType(Bo,"locator");var vC=new THREE.TextureLoader().load("assets/locator.png");vC.magFilter=vC.minFilter=THREE.NearestFilter;new NodePreviewController(Bo,{setup(i){let e=new THREE.Object3D;Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type=i.type,e.isElement=!0,e.visible=i.visibility,e.rotation.order=Format.euler_order;let t=new THREE.SpriteMaterial({map:vC,alphaTest:.1,sizeAttenuation:!1}),n=new THREE.Sprite(t);n.name=i.uuid,n.type=i.type,n.isElement=!0,e.add(n),e.sprite=n,this.updateTransform(i),this.dispatchEvent("setup",{element:i})},updateTransform(i){NodePreviewController.prototype.updateTransform.call(this,i),this.updateWindowSize(i)},updateSelection(i){let{mesh:e}=i;e.sprite.material.color.set(i.selected?gizmo_colors.outline:CustomTheme.data.colors.text),e.sprite.material.depthTest=!i.selected,e.renderOrder=i.selected?100:0,this.dispatchEvent("update_selection",{element:i})},updateWindowSize(i){let e=.4*Preview.selected.camera.fov/Preview.selected.height;i.mesh.sprite.scale.set(e,e,e)}});var bC=$('<datalist id="locator_suggestion_list" hidden></datalist>').get(0);document.body.append(bC);Bo.updateAutocompleteList=function(){bC.innerHTML="",Bo.all.forEach(i=>{let e=document.createElement("option");e.value=i.name,bC.append(e)})};BARS.defineActions(function(){new Action("add_locator",{icon:"fa-anchor",category:"edit",condition:()=>Format.locators&&Modes.edit,click:function(){var i=[];Undo.initEdit({elements:i,outliner:!0});var e=new Bo().addTo(Group.first_selected||Outliner.selected[0]).init();e.select().createUniqueName(),i.push(e),Undo.finishEdit("Add locator"),Vue.nextTick(function(){settings.create_rename.value&&e.rename()})}})});Object.assign(window,{Locator:Bo});var Ym=class Ym extends OutlinerElement{constructor(e,t){super(e,t);for(var n in Ym.properties)Ym.properties[n].reset(this);e&&this.extend(e)}get origin(){return this.position}extend(e){e.from&&this.position.V3_set(e.from);for(var t in Ym.properties)Ym.properties[t].merge(this,e);return this.sanitizeName(),Merge.boolean(this,e,"export"),this}select(e,t){return super.select(e,t),Animator.open&&Animation.selected&&Animation.selected.getBoneAnimator(this)?.select(!0),this}unselect(...e){return Animator.open&&Timeline.selected_animator&&Timeline.selected_animator.element==this&&(Timeline.selected_animator.selected=!1),super.unselect(...e)}flip(e,t){var n=this.position[e]-t;return this.position[e]=t-n,flipNameOnAxis(this,e),this.createUniqueName(),this.preview_controller.updateTransform(this),this}getWorldCenter(e){var t=new THREE.Vector3,n=Reusable.quat1.set(0,0,0,1);if(this.parent instanceof Group){THREE.fastWorldPosition(this.parent.mesh,t),this.parent.mesh.getWorldQuaternion(n);var a=Reusable.vec2.fromArray(this.parent.origin).applyQuaternion(n);t.sub(a)}let o;return e&&Animation.selected?(o=Reusable.vec3.copy(this.mesh.position),this.parent instanceof Group&&(o.x+=this.parent.origin[0],o.y+=this.parent.origin[1],o.z+=this.parent.origin[2])):o=Reusable.vec3.fromArray(this.position),o.applyQuaternion(n),t.add(o),t}};W(Ym,"behavior",{movable:!0,hide_in_screenshot:!0});var ea=Ym;ea.prototype.title=tl("data.null_object");ea.prototype.type="null_object";ea.prototype.icon="far.fa-circle";ea.prototype.visibility=!0;ea.prototype.buttons=[Outliner.buttons.locked,Outliner.buttons.visibility];ea.prototype.menu=new Menu([new MenuSeparator("ik"),"set_ik_target","set_ik_source",{id:"lock_ik_target_rotation",name:"menu.null_object.lock_ik_target_rotation",icon:i=>i.lock_ik_target_rotation?"check_box":"check_box_outline_blank",click(i){let e=!i.lock_ik_target_rotation,t=ea.selected.filter(n=>n.lock_ik_target_rotation!=e);Undo.initEdit({elements:t}),t.forEach(n=>{n.lock_ik_target_rotation=e}),Undo.finishEdit("Change null object lock ik target rotation option"),Modes.animate&&Animator.preview()}},...Outliner.control_menu_group,new MenuSeparator("manage"),"rename","delete"]);new Property(ea,"string","name",{default:"null_object"});new Property(ea,"vector","position");new Property(ea,"string","ik_target",{condition:()=>Format.animation_mode});new Property(ea,"string","ik_source",{condition:()=>Format.animation_mode});new Property(ea,"boolean","lock_ik_target_rotation");new Property(ea,"boolean","visibility",{default:!0});new Property(ea,"boolean","locked");OutlinerElement.registerType(ea,"null_object");var yC=new THREE.TextureLoader().load("assets/null_object.png");yC.magFilter=yC.minFilter=THREE.NearestFilter;new NodePreviewController(ea,{setup(i){let e=new THREE.SpriteMaterial({map:yC,alphaTest:.1,sizeAttenuation:!1});var t=new THREE.Sprite(e);Project.nodes_3d[i.uuid]=t,t.name=i.uuid,t.type=i.type,t.isElement=!0,t.visible=i.visibility,t.rotation.order=Format.euler_order,i.mesh.fix_position=new THREE.Vector3,this.updateTransform(i),this.dispatchEvent("setup",{element:i}),this.dispatchEvent("update_selection",{element:i})},updateTransform(i){NodePreviewController.prototype.updateTransform.call(this,i),i.mesh.fix_position.copy(i.mesh.position),this.updateWindowSize(i),this.dispatchEvent("update_transform",{element:i})},updateSelection(i){let{mesh:e}=i;e.material.color.set(i.selected?gizmo_colors.outline:CustomTheme.data.colors.text),e.material.depthTest=!i.selected,e.renderOrder=i.selected?100:0,this.dispatchEvent("update_selection",{element:i})},updateWindowSize(i){let e=.38*Preview.selected.camera.fov/Preview.selected.height;i.mesh.scale.set(e,e,e)}});BARS.defineActions(function(){new Action("add_null_object",{icon:"far.fa-circle",category:"edit",condition:()=>Format.animation_mode&&Modes.edit,click:function(){var i=[];Undo.initEdit({elements:i,outliner:!0});var e=new ea().addTo(Group.first_selected||Outliner.selected[0]).init();e.select().createUniqueName(),i.push(e),Undo.finishEdit("Add null object"),Vue.nextTick(function(){settings.create_rename.value&&e.rename()})}}),new Action("set_ik_target",{icon:"fa-paperclip",category:"edit",condition(){let i=BarItems.set_ik_target;return ea.selected.length&&i.children(i).length},searchable:!0,children(){let i=[];e(ea.selected[0].getParentArray(),0);function e(t,n){t.forEach(a=>{(a.constructor.animator||a instanceof Locator)&&n&&i.push(a),a.children&&e(a.children,n+1)})}return i.map(t=>({name:t.name+(t.uuid==ea.selected[0].ik_target?" (\u2714)":""),icon:t.icon,marked:t.uuid==ea.selected[0].ik_target,color:markerColors[t.color%markerColors.length]?.standard,click(){Undo.initEdit({elements:ea.selected}),ea.selected.forEach(n=>{n.ik_target=t.uuid}),Undo.finishEdit("Set IK target")}}))},click(i){new Menu("set_ik_target",this.children(this),{searchable:!0}).show(i.target,this)}}),new Action("set_ik_source",{icon:"fa-link",category:"edit",condition(){let i=BarItems.set_ik_source;return ea.selected.length&&i.children(i).length},searchable:!0,children(){let i=[];e(Outliner.root);function e(t){t.forEach(n=>{n.children&&(n.constructor.animator&&i.push(n),e(n.children))})}return i.map(t=>({name:t.name+(t.uuid==ea.selected[0].ik_source?" (\u2714)":""),icon:t instanceof Locator?"fa-anchor":"folder",marked:t.uuid==ea.selected[0].ik_source,color:markerColors[t.color%markerColors.length]?.standard,click(){Undo.initEdit({elements:ea.selected}),ea.selected.forEach(n=>{n.ik_source=t.uuid}),Undo.finishEdit("Set IK source")}}))},click(i){new Menu("set_ik_source",this.children(this),{searchable:!0}).show(i.target,this)}})});Object.assign(window,{NullObject:ea});var x1=class extends MeshFace{constructor(e,t,n){super(e,n),this.spline=t}get element(){return this.spline}getTexture(){return this.spline.getTexture()}},$d=class{constructor(e,t){for(var n in this.constructor.properties)this.constructor.properties[n].reset(this);this.spline=e,this.start_handle="",this.end_handle="",this.start="",this.start_ctrl="",this.end_ctrl="",this.end="",t&&this.extend(t)}get element(){return this.spline}extend(e){for(var t in this.constructor.properties)this.constructor.properties[t].merge(this,e);if(e.start_handle&&(this.start_handle=e.start_handle),e.end_handle&&(this.end_handle=e.end_handle),e.start&&(this.start=e.start),e.start_ctrl&&(this.start_ctrl=e.start_ctrl),e.end_ctrl&&(this.end_ctrl=e.end_ctrl),e.end&&(this.end=e.end),e.start&&e.end&&(e.start_handle||(this.start_handle=this.spline.getHandleOfPoint(e.start)),e.end_handle||(this.end_handle=this.spline.getHandleOfPoint(e.end))),e.start_handle&&e.end_handle){let n=this.spline.handles[e.start_handle],a=this.spline.handles[e.end_handle];e.start||(this.start=n.joint),e.start_ctrl||(this.start_ctrl=n.control2),e.end_ctrl||(this.end_ctrl=a.control1),e.end||(this.end=a.joint)}return this}getCurveKey(){for(let e in this.spline.curves)if(this.spline.curves[e]==this)return e}isSelected(){let e=Project.spline_selection[this.spline.uuid].vertices.includes(this.start),t=Project.spline_selection[this.spline.uuid].vertices.includes(this.end);return!!Project.spline_selection[this.spline.uuid]&&e&&t}getSaveCopy(){let e={start_handle:this.start_handle,end_handle:this.end_handle,start:this.start,start_ctrl:this.start_ctrl,end_ctrl:this.end_ctrl,end:this.end};for(let t in this.constructor.properties)this[t]!=this.constructor.properties[t].default&&this.constructor.properties[t].copy(this,e);return e}getUndoCopy(){let e=new this.constructor(this.spline,this);return delete e.spline,e}split(e){let t=this.spline.vertices[this.start].slice(),n=this.spline.vertices[this.start_ctrl].slice(),a=this.spline.vertices[this.end_ctrl].slice(),o=this.spline.vertices[this.end].slice();function r(m){let _=m[0].slice();return m[1].slice().V3_subtract(_).V3_multiply(e).V3_add(_)}let l=[[t,n],[n,a],[a,o]].map(m=>r(m)),d=[[l[0],l[1]],[l[1],l[2]]].map(m=>r(m)),p=[[d[0],d[1]]].map(m=>r(m));return{start:t,start_ctrl:l[0],middle_ctrl1:d[0],middle:p[0],middle_ctrl2:d[1],end_ctrl:l[2],end:o}}},Cl=class{constructor(e,t){for(var n in this.constructor.properties)this.constructor.properties[n].reset(this);this.spline=e,this.joint="",this.control1="",this.control2="",t&&this.extend(t)}get element(){return this.spline}extend(e){for(var t in this.constructor.properties)this.constructor.properties[t].merge(this,e);return e.control1&&(this.control1=e.control1),e.control2&&(this.control2=e.control2),e.joint&&(this.joint=e.joint),e.tilt&&(this.tilt=e.tilt),e.size&&(this.size=e.size),this}getHandleKey(){for(let e in this.spline.handles)if(this.spline.handles[e]==this)return e}isSelected(){return!!Project.spline_selection[this.spline.uuid]&&Project.spline_selection[this.spline.uuid].vertices.includes(this.joint)}getSaveCopy(){let e={control1:this.control1,joint:this.joint,control2:this.control2,tilt:this.tilt,size:this.size};for(let t in this.constructor.properties)this[t]!=this.constructor.properties[t].default&&this.constructor.properties[t].copy(this,e);return e}getUndoCopy(){let e=new this.constructor(this.spline,this);return e.tilt=this.tilt,e.size=this.size,delete e.spline,e}};new vt(Cl,"number","tilt",{default:0});new vt(Cl,"number","size",{default:1});var ps=class ps extends OutlinerElement{constructor(e,t){if(super(e,t),this.texture=!1,Object.assign(this._static.properties,{handles:{},curves:{},vertices:{},faces:{}}),Object.freeze(this._static),!e.vertices){this.addVertices([8,0,4],[8,.5,0],[8,1,-4]),this.addVertices([4,2,-4],[4,2.5,0],[4,3,4]),this.addVertices([0,4,4],[0,4.5,0],[0,5,-4]),this.addVertices([-4,6,-4],[-4,6.5,0],[-4,7,4]),this.addVertices([-8,8,4],[-8,8.5,0],[-8,9,-4]);let a=Object.keys(this.vertices);this.addHandles(new Cl(this,{control1:a[0],joint:a[1],control2:a[2]})),this.addHandles(new Cl(this,{control1:a[3],joint:a[4],control2:a[5]})),this.addHandles(new Cl(this,{control1:a[6],joint:a[7],control2:a[8]})),this.addHandles(new Cl(this,{control1:a[9],joint:a[10],control2:a[11]})),this.addHandles(new Cl(this,{control1:a[12],joint:a[13],control2:a[14]}));let o=Object.keys(this.handles);this.addCurves(new $d(this,{start_handle:o[0],end_handle:o[1]})),this.addCurves(new $d(this,{start_handle:o[1],end_handle:o[2]})),this.addCurves(new $d(this,{start_handle:o[2],end_handle:o[3]})),this.addCurves(new $d(this,{start_handle:o[3],end_handle:o[4]}))}for(var n in ps.properties)ps.properties[n].reset(this);this.color=Math.floor(Math.random()*markerColors.length),e&&typeof e=="object"&&this.extend(e)}get vertices(){return this._static.properties.vertices}get handles(){return this._static.properties.handles}get curves(){return this._static.properties.curves}set vertices(e){this._static.properties.vertices=e}set handles(e){this._static.properties.handles=e}set curves(e){this._static.properties.curves=e}get position(){return this.origin}get vertice_list(){return Object.keys(this.vertices).map(e=>this.vertices[e])}addVertices(...e){return e.map(t=>{let n;for(;!n||this.vertices[n];)n=bbuid(4);return this.vertices[n]=[t[0]||0,t[1]||0,t[2]||0],n})}addHandles(...e){return e.map(t=>{let n;for(;!n||this.handles[n];)n=bbuid(8);return this.handles[n]=t,n})}addCurves(...e){return e.map(t=>{let n;for(;!n||this.curves[n];)n=bbuid(4);return this.curves[n]=t,n})}extend(e){for(var t in ps.properties)ps.properties[t].merge(this,e);if(e.resolution&&e.resolution.length==2&&(this.radial_resolution=e.resolution[0],this.tubular_resolution=e.resolution[1]),e.resolution&&e.resolution.length==3&&(this.radial_resolution=e.resolution[0],this.tubular_resolution=e.resolution[1],this.radius_multiplier=e.resolution[2]),"render_mesh"in e&&(this.render_mode=e.render_mesh?"mesh":"path"),"shading"in e&&"display_space"in e){let n={shading:e.shading,display_space:e.display_space};this.render_options={...n}}if("render_options"in e&&(this.shading=e.render_options.shade_smooth?"smooth":"flat",this.display_space=e.render_options.display_space),typeof e.vertices=="object"){for(let n in this.vertices)e.vertices[n]||delete this.vertices[n];if(e.vertices instanceof Array)this.addVertices(...e.vertices);else for(let n in e.vertices)this.vertices[n]||(this.vertices[n]=[]),this.vertices[n].replace(e.vertices[n])}if(typeof e.handles=="object"){for(let n in this.handles)e.handles[n]||delete this.handles[n];for(let n in e.handles)this.handles[n]?this.handles[n].extend(e.handles[n]):this.handles[n]=new Cl(this,e.handles[n])}if(typeof e.curves=="object"){for(let n in this.curves)e.curves[n]||delete this.curves[n];for(let n in e.curves)this.curves[n]?this.curves[n].extend(e.curves[n]):this.curves[n]=new $d(this,e.curves[n])}return Texture.all.includes(e.texture)?this.texture=e.texture.uuid:this.texture=e.texture,this.refreshTubeFaces(),this.sanitizeName(),this}overwrite(e){for(var t in ps.properties)ps.properties[t].merge(this,e);if(typeof e.vertices=="object"){for(let n in this.vertices)e.vertices[n]||delete this.vertices[n];if(e.vertices instanceof Array)this.addVertices(...e.vertices);else for(let n in e.vertices)this.vertices[n]||(this.vertices[n]=[]),this.vertices[n].replace(e.vertices[n])}if(typeof e.handles=="object"){for(let n in this.handles)delete this.handles[n];for(let n in e.handles)this.handles[n]=new Cl(this,e.handles[n])}if(typeof e.curves=="object"){for(let n in this.curves)delete this.curves[n];for(let n in e.curves)this.curves[n]=new $d(this,e.curves[n])}return Texture.all.includes(e.texture)?this.texture=e.texture.uuid:this.texture=e.texture,this.refreshTubeFaces(),this.sanitizeName(),this}getUndoCopy(e={}){let t={};for(var n in ps.properties)ps.properties[n].copy(this,t);t.vertices={};for(let o in this.vertices)t.vertices[o]=this.vertices[o].slice();t.handles={};for(let o in this.handles)t.handles[o]=this.handles[o].getUndoCopy();t.curves={};for(let o in this.curves)t.curves[o]=this.curves[o].getUndoCopy();let a=this.getTexture();return a===null?t.texture=null:a instanceof Texture?t.texture=a.uuid:typeof a=="string"&&(t.texture=a),t.type="spline",t.uuid=this.uuid,t}getSaveCopy(){var e={};for(var t in ps.properties)ps.properties[t].copy(this,e);e.vertices={};for(let a in this.vertices)e.vertices[a]=this.vertices[a].slice();e.handles={};for(let a in this.handles)e.handles[a]=this.handles[a].getSaveCopy();e.curves={};for(let a in this.curves)e.curves[a]=this.curves[a].getSaveCopy();let n=this.getTexture();return n===null?e.texture=null:n instanceof Texture?e.texture=n.uuid:typeof n=="string"&&(e.texture=n),e.type="spline",e.uuid=this.uuid,e}setColor(e){this.color=e,this.visibility&&this.preview_controller.updateFaces(this)}roll(e,t,n){function a(l,c){var d,u;return l.forEach(function(p,m){m==e||(d==null?(d=p-c[m],u=m):(l[u]=p-c[m],l[u]=c[u]-l[u],l[m]=c[m]+d))}),l}for(;t>0;){t--;for(let l in this.vertices)a(this.vertices[l],[0,0,0]);n&&a(this.origin,n)}for(var o=0,r=void 0,s=void 0;o<3;)o!==e&&(r===void 0?(r=this.rotation[o],s=o):(this.rotation[s]=-this.rotation[o],this.rotation[o]=r)),o++;return this.refreshTubeFaces(),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}flip(e,t){for(let n in this.vertices)this.vertices[n][e]*=-1;return this.origin[e]*=-1,this.rotation.forEach((n,a)=>{a!=e&&(this.rotation[a]=-n)}),flipNameOnAxis(this,e),this.refreshTubeFaces(),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}refreshTubeFaces(){if(Object.keys(this.curves).length){let e=this.getTubeMesh();this.faces=e.faces}}getSelectedVertices(e){return e&&!Project.spline_selection[this.uuid]&&(Project.spline_selection[this.uuid]={vertices:[]}),Project.spline_selection[this.uuid]?.vertices||[]}getSelectedHandles(e=!1){let t=this.getSelectedVertices(),n=[];if(t.length>0)for(let a in this.handles){let o=this.handles[a];t.includes(o.joint)&&n.push(a),e&&!n.includes(a)&&(t.includes(o.control1)||t.includes(o.control2))&&n.push(a)}return n}getSelectedCurves(e=!1){let t=this.getSelectedHandles(e),n=[];if(t.length>0)for(let a in this.curves){let o=this.curves[a];for(let r=0;r<t.length-1;r++){let s=this.handles[t[r]],l=this.handles[t[r+1]];s.joint==o.start&&l.joint==o.end&&n.push(a)}}return n}getCurvesOfHandle(e){let t=[];for(let n in this.curves){let a=this.curves[n];(e==a.start_handle||e==a.end_handle)&&t.push(n)}return t}getCurvesOfPoint(e){let t=[];for(let n in this.curves){let a=this.curves[n];(e==a.start||e==a.start_ctrl||e==a.end_ctrl||e==a.end)&&t.push(n)}return t}getHandleOfPoint(e){for(let t in this.handles){let n=this.handles[t];if(e==n.joint||e==n.control1||e==n.control2)return t}}getLastSelected(){return ps.selected[ps.selected.length-1]}getLastHandle(){let e=Object.keys(this.handles).length-1,t=Object.keys(this.handles)[e];return{data:this.handles[t],key:t}}getFirstHandle(){let e=Object.keys(this.handles)[0];return{data:this.handles[e],key:e}}getSize(e,t){if(t){let n=Project.spline_selection[this.uuid]?.vertices||Object.keys(this.vertices);if(!n.length)return 0;let a=[1/0,-1/0],{vec1:o}=Reusable,r=new THREE.Euler().copy(Transformer.rotation_selection).invert();return n.forEach(s=>{o.fromArray(this.vertices[s]).applyEuler(r),a[0]=Math.min(a[0],o.getComponent(e)),a[1]=Math.max(a[1],o.getComponent(e))}),a[1]-a[0]}else{let n=[1/0,-1/0];for(let a in this.vertices)n[0]=Math.min(n[0],this.vertices[a][e]),n[1]=Math.max(n[1],this.vertices[a][e]);return n[1]-n[0]}}getHandleEuler(e,t=new THREE.Euler(0,0,Math.PI/2)){let n=this.vertices[this.handles[e].control1].slice(),a=this.vertices[this.handles[e].joint].slice(),o=this.vertices[this.handles[e].control2].slice(),{quat1:r,quat2:s,quat3:l,euler1:c,euler2:d,euler3:u}=Reusable,p=new THREE.Matrix4().lookAt(a.V3_toThree(),n.V3_toThree(),new THREE.Vector3(0,1,0)),m=new THREE.Matrix4().lookAt(o.V3_toThree(),a.V3_toThree(),new THREE.Vector3(0,1,0)),_=new THREE.Matrix4().lookAt(o.V3_toThree(),n.V3_toThree(),new THREE.Vector3(0,1,0)),f=new THREE.Matrix4().makeRotationFromEuler(t);p.multiply(f),m.multiply(f),_.multiply(f);let g=c.setFromQuaternion(r.setFromRotationMatrix(p)),v=d.setFromQuaternion(s.setFromRotationMatrix(m)),b=u.setFromQuaternion(l.setFromRotationMatrix(_));return{c1:g.toArray(),c2:v.toArray(),combined:b.toArray()}}getSelectionRotation(){let e=this.getSelectedHandles(!0)[0];return[...this.getHandleEuler(e).combined].V3_toEuler()}getWorldCenter(e){let t=this.mesh,n=new THREE.Vector3,a=0,o=this.getSelectedHandles().slice(),r={},s=o.map(l=>{let c=this.handles[l];return r[c.control1]=c.joint,r[c.control2]=c.joint,c.joint});for(let l in this.vertices){let c=Project.spline_selection[this.uuid],d=!c,u=c&&s.includes(l),p=!s.includes(r[l])&&c&&c.vertices.includes(l);if(e||d||u||p){let m=this.vertices[l];n.x+=m[0],n.y+=m[1],n.z+=m[2],a++}}if(a&&(n.x/=a,n.y/=a,n.z/=a),t){let l=t.getWorldQuaternion(Reusable.quat1);n.applyQuaternion(l),n.add(THREE.fastWorldPosition(t,Reusable.vec2))}return n}moveVector(e,t,n=!0){if(typeof e=="number"){var a=e;e=[0,0,0],e[t||0]=a}else e instanceof THREE.Vector3&&(e=e.toArray());e.forEach((o,r)=>{this.origin[r]+=o}),n&&this.preview_controller.updateTransform(this),TickUpdates.selection=!0}getCenter(e){let t=[0,0,0],n=0;for(let a in this.vertices)t.V3_add(this.vertices[a]),n++;return t.V3_divide(n),e?this.mesh.localToWorld(Reusable.vec1.set(...t)).toArray():t}transferOrigin(e,t=!0){if(this.mesh){var n=new THREE.Quaternion().copy(this.mesh.quaternion),a=new THREE.Vector3(this.origin[0]-e[0],this.origin[1]-e[1],this.origin[2]-e[2]);a.applyQuaternion(n.invert()),a=a.toArray();for(let o in this.vertices)this.vertices[o].V3_add(a);return this.origin.V3_set(e),this.preview_controller.updateTransform(this),this.preview_controller.updateGeometry(this),this}}applyHandleModeOnVertex(e){function t(a,o){let r=[a[0]-o[0],a[1]-o[1],a[2]-o[2]],s=[-r[0]+o[0],-r[1]+o[1],-r[2]+o[2]];return new THREE.Vector3().fromArray(s)}function n(a){if(a.control1===e)return a.control2;if(a.control2===e)return a.control1}for(let a in this.handles){let o=this.handles[a],r=n(o);if(!(e==o.joint||!this.vertices[r])){if(BarItems.spline_handle_mode.value==="mirrored"){if(!this.getSelectedVertices().includes(r)){let s=this.vertices[e],l=this.vertices[o.joint],c=t(s,l);this.vertices[r]=c.toArray()}}else if(BarItems.spline_handle_mode.value==="aligned"&&!this.getSelectedVertices().includes(r)){let s=Reusable.vec1.fromArray(this.vertices[o.joint]),l=Reusable.vec2.fromArray(this.vertices[e]).sub(s),c=Reusable.vec3.fromArray(this.vertices[r]).sub(s),d=c.clone().normalize(),u=l.clone().normalize(),p=new THREE.Quaternion().setFromUnitVectors(d,u),m=c.applyQuaternion(p).add(s),_=t(m.toArray(),s.toArray());this.vertices[r]=_.toArray()}}}}resize(e,t,n,a,o){let r=typeof e=="number"?this.oldVertices:this.vertices,s=Project.spline_selection[this.uuid]?.vertices||Object.keys(this.vertices),l=[1/0,-1/0],{vec1:c,vec2:d}=Reusable,u=new THREE.Euler().copy(Transformer.rotation_selection).invert();s.forEach(g=>{c.fromArray(r[g]).applyEuler(u),l[0]=Math.min(l[0],c.getComponent(t)),l[1]=Math.max(l[1],c.getComponent(t))});let p=o?(l[0]+l[1])/2:n?l[1]:l[0],m=Math.abs(l[1]-l[0]);typeof e!="number"&&(e=e(m)-m,o&&(e/=2));let _=m+e*(n?-1:1)*(o?2:1),f=_/m;t==2&&getEditTransformSpace()==3&&this.getSelectedHandles().length&&(f=Math.clamp(_,1,1/0)/m),(isNaN(f)||Math.abs(f)==1/0)&&(f=1),f<0&&!a&&(f=0),s.forEach(g=>{c.fromArray(r[g]).applyEuler(u),d.fromArray(this.vertices[g]).applyEuler(u),d.setComponent(t,(c.getComponent(t)-p)*f+p),d.applyEuler(Transformer.rotation_selection);let v=[...this.vertices[g]];this.vertices[g].replace(d.toArray());let b=.004,x=d.toArray(),w=Math.epsilon(x[0],v[0],b)&&Math.epsilon(x[1],v[1],b)&&Math.epsilon(x[2],v[2],b);this.getSelectedHandles(!0).length&&!w&&this.applyHandleModeOnVertex(g)}),this.refreshTubeFaces(),this.preview_controller.updateGeometry(this)}getTubeMesh(e=!1,t={faces:{},vertices:{}}){let n=this.getTubeGeo(!1),a=!1;function o(...c){return t instanceof Mesh?t.addVertices(...c):c.map(d=>{let u;for(;!u||t.vertices[u];)u=bbuid(4);return t.vertices[u]=[d[0]||0,d[1]||0,d[2]||0],u})}function r(...c){return t instanceof Mesh?t.addFaces(...c):c.map(d=>{let u;for(;!u||t.faces[u];)u=bbuid(8);return t.faces[u]=d,u})}function s(c){for(let d in t.vertices){let u=.004,p=t.vertices[d];if(Math.epsilon(c[0],p[0],u)&&Math.epsilon(c[1],p[1],u)&&Math.epsilon(c[2],p[2],u))return d}return null}let l=Texture.getDefault();this.texture&&(this.texture instanceof Texture?(l=this.texture,a=!0):typeof this.texture=="string"&&(l=Texture.all.findInArray("uuid",this.texture),a=!0));for(let c=0;c<n.indices.length/6;c++){let d=[],u=[];for(let v=0;v<6;v++){let b=(c*6+v)*3,x=[n.vertices[b+0],n.vertices[b+1],n.vertices[b+2]];d.push(x);let w=(c*6+v)*2,E=[n.uvs[w+0],n.uvs[w+1]];u.push(E)}let p=d.map(v=>{if(!e)return o(v)[0];let b=s(v);return b||o(v)[0]}),m={};for(let v=0;v<p.length;v++){let b=u[v][0]*(a?Project.getUVWidth(l):16),x=(1-u[v][1])*(a?Project.getUVHeight(l):16);m[p[v]]=[b,x]}let _={vertices:[p[0],p[1],p[2],p[5]],uv:m},f;t instanceof Mesh?f=new MeshFace(t,_):f=new x1(t,this,_),a&&(f.texture=l instanceof Texture?l.uuid:l);let[g]=r(f)}return t}getTubeGeo(e){let{vec1:t,vec2:n,vec3:a}=Reusable,o=this.getB\u00E9zierPath(this.uv_mode==="per_segment"),r=[],s=this.tubular_resolution,l=this.radial_resolution,c=1*this.radius_multiplier,d=new THREE.Matrix4;for(let f=0;f<o.points.length;f++){let g=o.tangents[f],v=o.normals[f],b=o.points[f],x=o.sizes[f];n.crossVectors(g,v).normalize(),d.makeBasis(g,v,n);for(let w=0;w<=l;w++){let E=w/l*Math.PI*2,y=-Math.cos(E),A=Math.sin(E),R=t;R.x=0,R.y=y*c*x,R.z=A*c*x,R.applyMatrix4(d).add(b);let j=a;j.x=y*v.x+A*n.x,j.y=y*v.y+A*n.y,j.z=y*v.z+A*n.z,j.normalize(),r.push({normal:j.toArray(),vector:R.toArray(),angles:[E,y,A],coordinates:[f,w]})}}let u=[],p=[],m=[],_=[];for(let f=1;f<o.points.length;f++){let g=o.connections[f],v=0;for(let b=1;b<=l;b++){let x=(l+1)*(f-1)+(b-1),w=(l+1)*(f-0)+(b-1),E=(l+1)*(f-0)+(b-0),y=(l+1)*(f-1)+(b-0),A=f-1,R=f,j=f,F=f-1;if(e)g&&(p.push(x,w,E),p.push(x,E,y));else{let O=new THREE.Vector3().crossVectors(new THREE.Vector3().fromArray(r[w].vector).sub(new THREE.Vector3().fromArray(r[x].vector)),new THREE.Vector3().fromArray(r[E].vector).sub(new THREE.Vector3().fromArray(r[x].vector))).normalize();if(g){let U=u.length/3;p.push(U,U+1,U+2),p.push(U+3,U+4,U+5)}let L=[A,R,j,A,j,F];[x,w,E,x,E,y].forEach((U,J)=>{u.push(...r[U].vector),m.push(...O.toArray());let ie=U%(l+1)/l,te=0;switch(this.uv_mode){case"length_accurate":{te=(o.lengths[L[J]]+o.accumulatedLengths[L[J]])/o.pathLength;break}case"uniform":{te=Math.floor(U/(l+1))/(o.points.length-1);break}case"per_segment":{te=Math.floor(U/(l+1))%(s+1)/s;break}}_.push(te,ie)})}}}if(e){r.forEach(f=>{u.push(...f.vector),m.push(...f.normal)});for(let f=0;f<o.points.length;f++)for(let g=0;g<=l;g++){let v=0,b=g/l;switch(this.uv_mode){case"length_accurate":{v=(o.lengths[f]+o.accumulatedLengths[f])/o.pathLength;break}case"uniform":{v=f/(o.points.length-1);break}case"per_segment":{v=f%(s+1)/s;break}}_.push(v,b)}}return{vertices:u,normals:m,indices:p,uvs:_}}getB\u00E9zierPath(e=!1){let{vec1:t}=Reusable,n=THREE.MathUtils,a=this.tubular_resolution,o=[],r=[],s=[],l=[],c=[],d=!0,u,p,m,_;for(let b in this.curves){let x=this.handles[this.curves[b].start_handle],w=this.handles[this.curves[b].end_handle],E=x.tilt,y=w.tilt,A=x.size,R=w.size;_&&(d=_.joint==x.joint);for(let j=0;j<=a;j++){let F=j/a,O=n.smoothstep(F,0,1),L=Math.lerp(E,y,F),U=Math.lerp(A,R,F),J=this.getB\u00E9zierForCurve(F,b),ie=u&&u!=b,te=J.tangent,me=this.getB\u00E9zierNormal(te,m);if(ie&&d){let Q=new THREE.Vector3().addVectors(te,p).multiplyScalar(.5).normalize(),H=new THREE.Vector3().addVectors(me,m).multiplyScalar(.5).normalize();if(te=Q,me=H,o.pop(),r.pop(),o.push(te),r.push(new THREE.Vector3().copy(me).applyAxisAngle(te,Math.degToRad(L))),p=te,m=me,u=b,!e)continue}o.push(te),r.push(new THREE.Vector3().copy(me).applyAxisAngle(te,Math.degToRad(L))),s.push(J.point),l.push(U),c.push(j==0?d:!0),p=te,m=me,u=b}_=w}if(this.cyclic&&d){let F=function(O){return t.set(0,0,0),t.lerpVectors(j,R,O).normalize()},b=this.getFirstHandle().data,x=this.getLastHandle().data,w=b.tilt,E=x.tilt,y=b.size,A=x.size,R=r[0],j=r[r.length-1];for(let O=0;O<=a;O++){let L=O/a,U=Math.lerp(E,w,L),J=Math.lerp(A,y,L),ie=this.getB\u00E9zierForPoints(L,x.joint,x.control2,b.control1,b.joint),te=ie.tangent,me=this.getB\u00E9zierNormal(te,F(L));if(O==0){let Q=new THREE.Vector3().addVectors(te,p).multiplyScalar(.5).normalize(),H=new THREE.Vector3().addVectors(me,m).multiplyScalar(.5).normalize();te=Q,me=H,o.pop(),r.pop(),o.push(te),r.push(new THREE.Vector3().copy(me).applyAxisAngle(te,Math.degToRad(U))),e&&(o.push(te),r.push(new THREE.Vector3().copy(me).applyAxisAngle(te,Math.degToRad(U))),s.push(ie.point),l.push(J),c.push(!0))}else if(O==a){let Q=new THREE.Vector3().addVectors(o[0],te).multiplyScalar(.5).normalize(),H=new THREE.Vector3().addVectors(R,me).multiplyScalar(.5).normalize();o.shift(),r.shift(),o.unshift(Q),r.unshift(H),o.push(Q),r.push(H),s.push(ie.point),l.push(J),c.push(!0)}else o.push(te),r.push(me),s.push(ie.point),l.push(J),c.push(!0)}}let f=[],g=[],v=0;for(let b=0;b<s.length;b++){let x=new THREE.Vector3().subVectors(s[b],s[b-(b>0?1:0)]).length();f.push(x),g.push(v),v+=x}return{tangents:o,normals:r,points:s,sizes:l,connections:c,lengths:f,accumulatedLengths:g,pathLength:v}}getB\u00E9zierNormal(e,t=null){let n=new THREE.Vector3(0,1,0);t?n=t:e.y===1&&(n=new THREE.Vector3(1,0,0));let a=new THREE.Vector3().crossVectors(e,n).normalize();return new THREE.Vector3().crossVectors(a,e).normalize()}getB\u00E9zierForCurve(e,t){let n=this.curves[t];return this.getB\u00E9zierForPoints(e,n.start,n.start_ctrl,n.end_ctrl,n.end)}getB\u00E9zierForPoints(e,t,n,a,o){let r=this.vertices[t].slice(),s=this.vertices[n].slice(),l=this.vertices[a].slice(),c=this.vertices[o].slice();return this.cubicB\u00E9zier(e,r,s,l,c)}cubicB\u00E9zier(e,t,n,a,o){let r=e**2,s=e**3,l=[1,e,r,s],c=[0,1,2*e,3*r],_=[[-1,3,-3,1],[3,-6,3,0],[-3,3,0,0],[1,0,0,0]];function f(b,x){let w=new THREE.Vector3,E=[t,n,a,o];for(let y=0;y<4;y++){let R=new THREE.Vector3(E[y][0],E[y][1],E[y][2]).multiplyScalar(b[3]*x[y][0]+b[2]*x[y][1]+b[1]*x[y][2]+b[0]*x[y][3]);w.add(R)}return w}let g=f(l,_),v=f(c,_).normalize();return{point:g,tangent:v}}getTexture(){return typeof this.texture=="string"?Texture.all.findInArray("uuid",this.texture):this.texture}applyTexture(e){var t=!1;e&&(t=e.uuid),this.texture=t,Project.selected_elements.indexOf(this)===0&&UVEditor.loadData(),this.preview_controller.updateFaces(this)}updateShading(e){this.shading=e?"smooth":"flat",this.preview_controller.updateGeometry(this)}isSmoothShaded(){return this.shading=="smooth"}};W(ps,"behavior",{unique_name:!1,movable:!0,resizable:!0,rotatable:!0,has_pivot:!0,marker_color:!0});var Qi=ps;Qi.prototype.title=tl("data.spline_mesh");Qi.prototype.type="spline";Qi.prototype.icon="fas.fa-bezier-curve";Qi.prototype.menu=new Menu([new MenuSeparator("spline_mesh_edit"),"apply_spline_rotation","extrude_spline_selection","split_spline","divide_spline_curve",new MenuSeparator("spline_mesh_combination"),...Outliner.control_menu_group,new MenuSeparator("settings"),"convert_to_mesh","set_element_marker_color","randomize_marker_colors",{name:"menu.cube.texture",icon:"collections",condition:()=>!Format.single_texture,children(){var i=[{icon:"crop_square",name:Format.single_texture_default?"menu.cube.texture.default":"menu.cube.texture.blank",click(t){t.forSelected(n=>n.applyTexture(!1),"texture blank")}}];let e;e:for(let t of Qi.selected){let n=t.texture;if(n){if(!e)e=n;else if(e!=n){e=null;break e}}}return Texture.all.forEach(t=>{i.push({name:t.name,icon:t.mode==="link"?t.img:t.source,marked:t==e,click(n){n.forSelected(a=>a.applyTexture(t),"apply texture")}})}),i}},new MenuSeparator("manage"),"rename","toggle_visibility","delete"]);Qi.prototype.buttons=[Outliner.buttons.export,Outliner.buttons.locked,Outliner.buttons.visibility];new vt(Qi,"string","name",{default:"spline"});new vt(Qi,"number","color");new vt(Qi,"vector","origin");new vt(Qi,"vector","rotation");new vt(Qi,"number","radial_resolution",{default:6,inputs:{element_panel:{input:{label:"action.spline_ring_segments",type:"num_slider",min:3,color:"u",description:"action.spline_ring_segments.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}}),Qi.selected.forEach(i=>i.refreshTubeFaces())}}}});new vt(Qi,"number","tubular_resolution",{default:12,inputs:{element_panel:{input:{label:"action.spline_tube_segments",type:"num_slider",min:1,color:"v",description:"action.spline_tube_segments.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}}),Qi.selected.forEach(i=>i.refreshTubeFaces())}}}});new vt(Qi,"number","radius_multiplier",{default:1,inputs:{element_panel:{input:{label:"action.spline_tube_radius",type:"num_slider",min:0,color:"w",description:"action.spline_tube_radius.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}}),Qi.selected.forEach(i=>i.refreshTubeFaces())}}}});new vt(Qi,"enum","render_mode",{default:"mesh",values:["mesh","path"],inputs:{element_panel:{input:{label:"action.spline_render_mode",type:"select",options:{mesh:"action.spline_render_mode.mesh",path:"action.spline_render_mode.path"},description:"action.spline_render_mode.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}})}}}});new vt(Qi,"enum","uv_mode",{default:"length_accurate",inputs:{element_panel:{input:{label:"action.spline_uv_mode",type:"select",options:{length_accurate:"action.spline_uv_mode.length_accurate",uniform:"action.spline_uv_mode.uniform",per_segment:"action.spline_uv_mode.per_segment"},description:"action.spline_uv_mode.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}}),Qi.selected.forEach(i=>i.refreshTubeFaces())}}}});new vt(Qi,"enum","shading",{default:"flat",values:["flat","smooth"],inputs:{element_panel:{input:{label:"spline.shading",type:"inline_select",options:{flat:"spline.shading.flat",smooth:"spline.shading.smooth"},description:"spline.shading.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}})}}}});new vt(Qi,"boolean","display_space",{default:!1,inputs:{element_panel:{input:{label:"action.spline_display_space",type:"checkbox",description:"action.spline_display_space.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}})}}}});new vt(Qi,"boolean","cyclic",{inputs:{element_panel:{input:{label:"spline_mesh.cyclic",type:"checkbox",description:"spline_mesh.cyclic.desc"},onChange(){Canvas.updateView({elements:Qi.selected,element_aspects:{geometry:!0}})}}}});new vt(Qi,"boolean","export",{default:!0});new vt(Qi,"boolean","visibility",{default:!0});new vt(Qi,"boolean","locked");new vt(Qi,"enum","render_order",{default:"default",values:["default","behind","in_front"],inputs:{element_panel:{input:{label:"action.element_render_order.short",description:"action.element_render_order.desc",type:"select",options:{default:"action.element_render_order.default",behind:"action.element_render_order.behind",in_front:"action.element_render_order.in_front"}},onChange(){Qi.selected.forEach(i=>{i.preview_controller.updateRenderOrder(i)})}}}});OutlinerElement.registerType(Qi,"spline");new NodePreviewController(Qi,{setup(i){var e=new THREE.Mesh(new THREE.BufferGeometry(1,1,1),Canvas.emptyMaterials[0]);Project.nodes_3d[i.uuid]=e,e.name=i.uuid,e.type=i.type,e.isElement=!0,e.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(24),1));let t=new THREE.LineSegments(new THREE.BufferGeometry,Canvas.outlineMaterial);t.no_export=!0,t.name=i.uuid+"_outline",t.renderOrder=2,t.visible=i.visibility,t.frustumCulled=!1,e.outline=t,e.add(t);let n=[Canvas.splinePathLineMaterial,Canvas.splinePathDashedLineMaterial],a=new THREE.LineSegments(new THREE.BufferGeometry,n);a.geometry.setAttribute("color",new THREE.Float32BufferAttribute(new Array(240).fill(1),3)),a.no_export=!0,a.name=i.uuid+"_path_line",a.renderOrder=2,a.frustumCulled=!1,e.pathLine=a,e.add(a);let o=new THREE.LineSegments(new THREE.BufferGeometry,Canvas.splinePathLineMaterial);o.geometry.setAttribute("color",new THREE.Float32BufferAttribute(new Array(240).fill(1),3)),o.no_export=!0,o.name=i.uuid+"_space_line",o.renderOrder=2,o.visible=i.display_space,o.frustumCulled=!1,e.spaceLine=o,e.add(o),this.updateTransform(i),this.updateGeometry(i),this.updateFaces(i),this.updateRenderOrder(i),e.visible=i.visibility,this.dispatchEvent("setup",{element:i})},debugDraw(i,e,t){let n=[gizmo_colors.v.r,gizmo_colors.v.g,gizmo_colors.v.b],a=[gizmo_colors.w.r,gizmo_colors.w.g,gizmo_colors.w.b],o=[gizmo_colors.u.r,gizmo_colors.u.g,gizmo_colors.u.b],r=[],s=[],l=i.getB\u00E9zierPath();for(let c=0;c<l.points.length;c++){let d=l.tangents[c],u=l.normals[c],p=new THREE.Vector3().crossVectors(d,u).normalize(),m=l.points[c],_=new THREE.Vector3().addVectors(m,d),f=new THREE.Vector3().addVectors(m,u),g=new THREE.Vector3().addVectors(m,p);r.push(m,_),s.push(n,n),r.push(m,f),s.push(a,a),r.push(m,g),s.push(o,o)}r.forEach((c,d)=>e.push(...c.toArray())),s.forEach((c,d)=>t.push(...c))},updateGeometry(i){let{mesh:e}=i,t=[],n=[],a=[],o=new THREE.Color().set(markerColors[i.color].standard),r=i.getB\u00E9zierPath();for(let w=0;w<r.points.length;w++)a.push({point:r.points[w],addNext:r.connections[w]});a.forEach((w,E)=>{let y=E>0&&E<a.length-1;w.addNext?(t.push(...w.point.toArray(),...y?w.point.toArray():[]),n.push(...o.toArray(),...y?o.toArray():[])):(y&&(t.pop(),t.pop(),t.pop(),n.pop(),n.pop(),n.pop()),t.push(...w.point.toArray()),n.push(...o.toArray()))});let s=[],l=[];this.debugDraw(i,s,l);let c=[],d=[],u=[],p=[],m=[];if(i.render_mode=="mesh"){let w=i.getTubeGeo(i.isSmoothShaded());c=w.vertices,d=w.normals,u=w.uvs,p=w.indices;for(let E=0;E<w.indices.length/6;E++){let y=[];[0,1,4,1].forEach(A=>y.push(w.indices[E*6+A])),E<i.radial_resolution&&[5,0,1,2].forEach(A=>y.push(w.indices[E*6+A])),y.forEach((A,R)=>{[0,1,2].forEach(j=>m.push(w.vertices[A*3+j]))})}}e.outline.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(m),3)),e.pathLine.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(t),3)),e.pathLine.geometry.setAttribute("color",new THREE.BufferAttribute(new Float32Array(n),3)),e.spaceLine.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(s),3)),e.spaceLine.geometry.setAttribute("color",new THREE.BufferAttribute(new Float32Array(l),3)),e.spaceLine.visible=i.display_space,e.pathLine.geometry.clearGroups();let _=0,f=i.tubular_resolution*2*Object.keys(i.curves).length,g=f,v=i.tubular_resolution*2,b=g+v,x=Math.abs(t.length-g+v);e.pathLine.geometry.addGroup(_,f,0),e.pathLine.geometry.addGroup(g,v,1),e.pathLine.geometry.addGroup(b,x,0),e.pathLine.geometry.computeBoundingSphere(),e.pathLine.computeLineDistances(),e.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(c),3)),e.geometry.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(d),3)),e.geometry.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(u),2)),e.geometry.setIndex(p),e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere(),e.geometry.setAttribute("highlight",new THREE.BufferAttribute(new Uint8Array(c.length/3).fill(e.geometry.attributes.highlight.array[0]),1)),Qi.preview_controller.updateHighlight(i),Qi.preview_controller.updatePixelGrid(i),Project.view_mode=="wireframe"&&this.fixWireframe&&this.fixWireframe(i),this.dispatchEvent("update_geometry",{element:i})},updateFaces(i){let{mesh:e}=i;if(Project.view_mode==="solid")e.material=Canvas.monochromaticSolidMaterial;else if(Project.view_mode==="colored_solid")e.material=Canvas.coloredSolidMaterials[i.color];else if(Project.view_mode==="wireframe")e.material=Canvas.wireframeMaterial;else if(Project.view_mode==="normal")e.material=Canvas.normalHelperMaterial;else if(Project.view_mode==="uv")e.material=Canvas.uvHelperMaterial;else if((Format.single_texture||Format.single_texture_default)&&Texture.all.length>=2&&Texture.all.find(a=>a.render_mode=="layered"))e.material=Canvas.getLayeredMaterial();else if(Format.single_texture){let a=Texture.getDefault();e.material=a?a.getMaterial():Canvas.emptyMaterials[i.color]}else{var t,n=i.getTexture();n&&n.uuid?t=n.getMaterial():t=Canvas.emptyMaterials[i.color],e.geometry.groups.empty(),e.material=t,e.material||(e.material=Canvas.transparentMaterial)}this.dispatchEvent("update_faces",{element:i})},updateHighlight(i,e,t){var n=i.mesh;let a=Settings.get("highlight_cubes")&&(e==i&&!Transformer.dragging||i.selected)&&Modes.edit&&!t?1:0,o=new THREE.Color().set(markerColors[i.color].pastel),r=new THREE.Color().set(markerColors[i.color].standard),s;BarItems.spline_selection_mode.value=="object"&&i.render_mode!=="mesh"&&a==1?s=o:s=r;let l=[];n.pathLine.geometry.getAttribute("position").array.slice().forEach((u,p)=>{(p+1)%3==0&&l.push(s.r,s.g,s.b)}),n.pathLine.geometry.setAttribute("color",new THREE.Float32BufferAttribute(l,3)),n.pathLine.geometry.needsUpdate=!0;let d=new Array(n.geometry.attributes.highlight.count).fill(a);n.geometry.attributes.highlight.array.set(d),n.geometry.attributes.highlight.needsUpdate=!0,this.dispatchEvent("update_highlight",{element:i})},updatePixelGrid(i){var e=i.mesh;if(e===void 0||(e.remove(e.grid_box),e.grid_box?.geometry&&e.grid_box.geometry.dispose(),i.visibility==!1)||i.render_mode!="mesh"||!(Modes.paint&&settings.painting_grid.value||Modes.edit&&settings.pixel_grid.value))return;var n=[];for(let l in i.faces){let c=i.faces[l];if(c.vertices.length<=2)continue;let d=c.getNormal(!0).V3_multiply(.01),u=c.getTexture();var a=u?u.getUVWidth()/u.width:1,o=u?u.getUVHeight()/u.display_height:1;let p=c.getSortedVertices();(p.length==3?[p]:[p.slice(0,3),[p[0],p[2],p[3]]]).forEach(_=>{let f={},g={};_.forEach((v,b)=>{let x=_[b+1]||_[0],w=c.uv[v].slice(),E=c.uv[x].slice(),y=w[0]>E[0]?[E[0],w[0]]:[w[0],E[0]],A=w[1]>E[1]?[E[1],w[1]]:[w[1],E[1]];for(let R=Math.ceil(y[0]/a)*a;R<y[1];R+=a){f[R]||(f[R]=[]);let j=w[1]+(E[1]-w[1])*Math.getLerp(w[0],E[0],R);f[R].push(c.UVToLocal([R,j],_).toArray().V3_add(d))}for(let R=Math.ceil(A[0]/o)*o;R<A[1];R+=o){g[R]||(g[R]=[]);let j=w[0]+(E[0]-w[0])*Math.getLerp(w[1],E[1],R);g[R].push(c.UVToLocal([j,R],_).toArray().V3_add(d))}});for(let v in f){let b=f[v];b.length==2&&n.push(...b[0],...b[1])}for(let v in g){let b=g[v];b.length==2&&n.push(...b[0],...b[1])}})}var r=new THREE.BufferGeometry;r.setAttribute("position",new THREE.Float32BufferAttribute(n,3));let s=new THREE.LineSegments(r,new THREE.LineBasicMaterial({color:gizmo_colors.grid}));s.no_export=!0,s.name=i.uuid+"_grid_box",s.renderOrder=2,s.frustumCulled=!1,e.grid_box=s,e.add(s),this.dispatchEvent("update_painting_grid",{element:i})},fixWireframe(i){let e=i.mesh.geometry;if(!e)return;let t=i.mesh.geometry.clone();i.mesh.geometry=t,e.dispose()}});Blockbench.dispatchEvent("change_view_mode",({view_mode:i})=>{if(i=="wireframe")for(let e of Qi.selected)Qi.preview_controller.fixWireframe(e)});Object.assign(window,{SplineTubeFace:x1,SplineCurve:$d,SplineHandle:Cl,SplineMesh:Qi});function k1(i,e){let t=e.has_transparency?[[0,0,0]]:[],n=e.has_transparency?[100]:[];for(let o=0;o<i.length;o+=4){if(i[o+3]<127)continue;let r=i[o],s=i[o+1],l=i[o+2],c=t.findIndex((d,u)=>d[0]==r&&d[1]==s&&d[2]==l&&(u!=0||!e.has_transparency));if(c==-1?(t.push([r,s,l]),n.push(1)):n[c]+=1,!e.prio_color_accuracy&&t.length>256)break}let a=4;for(;t.length>256&&e.prio_color_accuracy&&(n.forEachReverse((o,r)=>{r!=0&&o<a&&(t.splice(r,1),n.splice(r,1))}),a*=1.5,!(a>50)););return t}function w1(i,e,t){let n=new Uint8Array(i.length/4);for(let a=0;a<n.length;a++){if(i[a*4+3]<127)continue;let o=i[a*4],r=i[a*4+1],s=i[a*4+2],l=e.findIndex((c,d)=>c[0]==o&&c[1]==r&&c[2]==s&&(d!=0||!t.has_transparency));if(l==-1&&t.prio_color_accuracy){let c=e.filter((d,u)=>Math.epsilon(d[0],o,6)&&Math.epsilon(d[1],r,6)&&Math.epsilon(d[2],s,6)&&(u!=0||!t.has_transparency));c.length||(c=e.filter((d,u)=>Math.epsilon(d[0],o,24)&&Math.epsilon(d[1],r,24)&&Math.epsilon(d[2],s,128)&&(u!=0||!t.has_transparency))),c.length||(c=e.filter((d,u)=>Math.epsilon(d[0],o,24)&&Math.epsilon(d[1],r,24)&&Math.epsilon(d[2],s,128)&&(u!=0||!t.has_transparency))),c.length||(c=e.filter((d,u)=>Math.epsilon(d[0],o,64)&&Math.epsilon(d[1],r,64)&&Math.epsilon(d[2],s,128)&&(u!=0||!t.has_transparency))),c.length||(c=e.slice()),c.sort((d,u)=>{let p=Math.pow(d[0]+o,2)+Math.pow(d[1]+r,2)+Math.pow(d[2]+s,2),m=Math.pow(u[0]+o,2)+Math.pow(u[1]+r,2)+Math.pow(u[2]+s,2);return p-m}),c[0]&&(l=e.indexOf(c[0]))}l!=-1&&(n[a]=l)}return n}function Z4(i,e){let t=document.createElement("canvas"),n=t.getContext("2d");return t.width=i,t.height=e,n.imageSmoothingEnabled=!1,[t,n]}var Yd={gif:{name:"dialog.create_gif.format.gif",interval:i=>Math.max(Math.round(i.interval/10)*10,20),async process(i,e){i.gif=GIFEnc.GIFEncoder(),e.silent||(Gn.processing_gif=i.gif);let t=0,n="rgb565",a=!1;for(let l of i.frame_canvases){let c=l.getContext("2d").getImageData(0,0,l.width,l.height).data,d=k1(c,{format:n,has_transparency:i.has_transparency,prio_color_accuracy:a}),u;d.length>256?(d=GIFEnc.quantize(c,256,{format:n,oneBitAlpha:!0,clearAlphaThreshold:127}),u=GIFEnc.applyPalette(c,d,n)):u=w1(c,d,{format:n,has_transparency:i.has_transparency,prio_color_accuracy:a}),i.gif.writeFrame(u,l.width,l.height,{palette:d,delay:i.interval,transparent:i.has_transparency}),t++,Blockbench.setProgress(t/i.frame_canvases.length),await new Promise(p=>setTimeout(p,0))}i.gif.finish();let o=i.gif.bytesView(),r=new Blob([o],{type:"image/gif"});var s=new FileReader;s.onload=()=>{delete Gn.processing_gif,Gn.returnScreenshot(s.result,i.cb,r)},s.readAsDataURL(r)}},apng:{name:"APNG",interval:i=>Math.max(Math.round(i.interval/10)*10,20),async process(i,e){let[t]=Z4(i.canvas_width,i.canvas_height);i.apng_encoder=new APNGencoder(t),i.apng_encoder.setRepeat(0),i.apng_encoder.setDelay(Math.round(i.interval/10)),i.apng_encoder.setDispose(i.background_image||e.background?0:1),i.apng_encoder.setBlend(1),i.apng_encoder.start();let n=0;for(let r of i.frame_canvases)i.apng_encoder.addFrame(r),n++,Blockbench.setProgress(n/i.frame_canvases.length),await new Promise(s=>setTimeout(s,0));i.apng_encoder.finish();var a=APNGencoder.bytesToBase64(i.apng_encoder.stream().bin);let o="data:image/png;base64,"+a;Gn.returnScreenshot(o,i.cb)}},png_sequence:{name:"dialog.create_gif.format.png_sequence",async process(i){let e=new JSZip,t=i.frame_canvases.length.toString().length,n=0;for(let a of i.frame_canvases){let o=a.toDataURL();e.file(n.toDigitString(t)+".png",o.replace("data:image/png;base64,",""),{base64:!0}),n++,Blockbench.setProgress(n/i.frame_canvases.length),await new Promise(r=>setTimeout(r,0))}e.generateAsync({type:"blob"}).then(a=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"png_sequence",content:a,savetype:"zip"})})}}},Gn={NoAAPreview:null,recording_timelapse:!1,gif_options_dialog:new Dialog({id:"create_gif",title:tl("dialog.create_gif.title"),draggable:!0,form:{format:{label:"dialog.create_gif.format",type:"select",options:Object.fromEntries(Object.entries(Yd).map(i=>[i[0],i[1].name]))},_1:"_",length_mode:{label:"dialog.create_gif.length_mode",type:"select",default:"seconds",options:{seconds:"dialog.create_gif.length_mode.seconds",frames:"dialog.create_gif.length_mode.frames",animation:"dialog.create_gif.length_mode.animation",turntable:"dialog.create_gif.length_mode.turntable"}},length:{label:"dialog.create_gif.length",type:"number",value:5,min:.1,step:.25,condition:i=>["seconds","frames"].includes(i.length_mode)},fps:{label:"dialog.create_gif.fps",type:"number",value:20,min:.5,max:120},resolution:{type:"vector",label:"dialog.advanced_screenshot.resolution",dimensions:2,linked_ratio:!1,value:[500,500],toggle_enabled:!0,toggle_default:!1},zoom:{type:"number",label:"dialog.advanced_screenshot.zoom",value:42,toggle_enabled:!0,toggle_default:!1},_2:"_",pixelate:{label:"dialog.create_gif.pixelate",type:"range",value:1,min:1,max:8,step:1},color:{label:"dialog.create_gif.color",type:"color",value:"#000000",toggle_enabled:!0,toggle_default:!1},background_image:{label:"dialog.create_gif.bg_image",type:"file",extensions:["png"],readtype:"image",filetype:"PNG"},play:{label:"dialog.create_gif.play",type:"checkbox",condition:()=>Animator.open},show_gizmos:{label:"dialog.create_gif.show_gizmos",type:"checkbox",value:!1},turnspeed:{label:"dialog.create_gif.turn",type:"number",value:0,min:-90,max:90,description:"dialog.create_gif.turn.desc"},turnspeed_o:{type:"buttons",condition:i=>Animation.selected&&i.play,buttons:["dialog.create_gif.turn.sync_to_anim_length"],click:i=>{Dialog.open.setFormValues({turnspeed:60/(Animation.selected.length||1)})}}},onConfirm(i){i.background=i.color&&i.color.toHex8String()!="#00000000"?i.color.toHexString():void 0,this.hide(),document.getElementById("gif_recording_frame")?.remove(),Gn.createGif(i)}}),advanced_screenshot_dialog:new Dialog({id:"advanced_screenshot",title:"action.advanced_screenshot",form:{angle_preset:{type:"select",label:"dialog.advanced_screenshot.angle_preset",value:"view",options(){let i={view:"View"},e=localStorage.getItem("camera_presets");return e=e&&autoParseJSON(e,!1)||[],DefaultCameraPresets.forEach(t=>{Condition(t.condition)&&(i[t.id]={color:t.color,name:tl(t.name)})}),e.forEach((t,n)=>{Condition(t.condition)&&(i["_"+n]=t.name)}),i}},resolution:{type:"vector",label:"dialog.advanced_screenshot.resolution",dimensions:2,value:[1920,1080],linked_ratio:!1},zoom:{type:"number",label:"dialog.advanced_screenshot.zoom",value:42,condition:i=>!i.zoom_to_fit,toggle_enabled:!0,toggle_default:!1},anti_aliasing:{type:"select",label:"dialog.advanced_screenshot.anti_aliasing",value:"ssaa",options:{off:"dialog.advanced_screenshot.anti_aliasing.off",msaa:"dialog.advanced_screenshot.anti_aliasing.msaa",ssaa:"dialog.advanced_screenshot.anti_aliasing.ssaa"}},show_gizmos:{type:"checkbox",label:"dialog.advanced_screenshot.show_gizmos"},shading:{type:"checkbox",label:"dialog.advanced_screenshot.shading",value:settings.shading.value}},onConfirm(i){Gn.advancedScreenshot(Preview.selected,i,Gn.returnScreenshot)}}),screenshotPreview(i,e=0,t){Canvas.withoutGizmos(function(){if(i.render(),e.crop!==!1)if(!e&&Modes.display&&DisplayMode.display_slot==="gui"){let l=Preview.all.find(d=>d.id=="display");var n=l.camOrtho.zoom*devicePixelRatio,a=256*n,o=l.width*devicePixelRatio/2-l.controls.target.x*n*40-a/2,r=l.height*devicePixelRatio/2+l.controls.target.y*n*40-a/2;let c=new CanvasFrame(a,a);c.ctx.drawImage(i.canvas,o,r,a,a,0,0,a,a),Gn.returnScreenshot(c.canvas.toDataURL(),t)}else{let l=new CanvasFrame(i.canvas);if(l.autoCrop(),e.width&&e.height){let c=new CanvasFrame(e.width,e.height),d=l.width,u=l.height;d>e.width&&(u/=d/e.width,d=e.width),u>e.height&&(d/=u/e.height,u=e.height),c.ctx.drawImage(l.canvas,(e.width-d)/2,(e.height-u)/2,d,u),l=c}Gn.returnScreenshot(l.canvas.toDataURL(),t)}else if(!e.width&&!e.height){var s=i.canvas.toDataURL();Gn.returnScreenshot(s,t)}else{let l=new CanvasFrame(e.width,e.height),c=i.canvas.width,d=i.canvas.height;c>e.width&&(d/=c/e.width,c=e.width),d>e.height&&(c/=d/e.height,d=e.height),l.ctx.drawImage(i.canvas,(e.width-c)/2,(e.height-d)/2,c,d),Gn.returnScreenshot(l.canvas.toDataURL(),t)}})},async advancedScreenshot(i=Preview.selected,e=0,t){let n=settings.shading.value,a=async()=>{typeof e.shading=="boolean"&&e.shading!=n&&settings.shading.set(e.shading);let o=e.anti_aliasing=="msaa"?MediaPreview:Gn.NoAAPreview,r=e.anti_aliasing=="ssaa"?4:1;if(e.angle_preset=="view")o.copyView(i);else{let s=isNaN(e.angle_preset.substring(1))?DefaultCameraPresets.find(l=>l.id==e.angle_preset):JSON.parse(localStorage.getItem("camera_presets"))[parseInt(e.angle_preset)];o.loadAnglePreset(s)}if(o.resize(e.resolution[0]*r,e.resolution[1]*r),e.zoom&&(o.isOrtho?(o.camera.zoom=e.zoom/100*r,o.camera.updateProjectionMatrix()):o.camera.setFocalLength(e.zoom)),o.isOrtho,o.render(),e.anti_aliasing=="ssaa"){let s=new CanvasFrame(e.resolution[0]*r,e.resolution[1]*r),l=new CanvasFrame(e.resolution[0],e.resolution[1]),c=new Image;if(c.src=o.canvas.toDataURL(),await new Promise((d,u)=>{c.onload=function(){d()},c.onerror=u}),s.ctx.filter="blur(1px)",s.ctx.drawImage(c,0,0,e.resolution[0]*r,e.resolution[1]*r,0,0,e.resolution[0]*r,e.resolution[1]*r),l.ctx.drawImage(s.canvas,0,0,e.resolution[0]*r,e.resolution[1]*r,0,0,e.resolution[0],e.resolution[1]),l.isEmpty()&&e.resolution[0]*e.resolution[1]>2e6)return Blockbench.showMessageBox({translateKey:"screenshot_too_large",icon:"broken_image"}),!1;Gn.returnScreenshot(l.canvas.toDataURL(),t)}else Gn.returnScreenshot(o.canvas.toDataURL(),t);settings.shading.value!=n&&settings.shading.set(n)};e.show_gizmos?a():Canvas.withoutGizmos(a)},fullScreen(i=0,e){setTimeout(async function(){let n=(await null.capturePage()).toDataURL();if(!i.width&&!i.height)Gn.returnScreenshot(n,e);else{let a=await new CanvasFrame().loadFromURL(n),o=a.width,r=a.height;o>i.width&&(r/=o/i.width,o=i.width),r>i.height&&(o/=r/i.height,r=i.height),a.ctx.drawImage(a,(i.width-o)/2,(i.height-r)/2,o,r),Gn.returnScreenshot(a.canvas.toDataURL(),e)}},40)},screenshot2DEditor(i=0,e){let t=document.createElement("canvas"),n=t.getContext("2d");t.width=i.width||UVEditor.vue.inner_width,t.height=i.height||UVEditor.vue.inner_height,n.imageSmoothingEnabled=!1;let a=Texture.getDefault();a&&n.drawImage(a.img,0,0,t.width,t.height);let o=t.toDataURL();Gn.returnScreenshot(o,e)},async returnScreenshot(i,e,t){if(e){e(i);return}let n=new Image,a=i.substr(5,9)=="image/gif";n.src=i,n.className="allow_default_menu checkerboard",await new Promise((d,u)=>{n.onload=d,n.onerror=u});let o=i.length*.73,r="";t&&(o=t.size),o>1048576?r=`${Math.roundTo(o/1048576,2)} MB`:r=`${Math.round(o/1024)} KB`;let s=document.createElement("center");s.innerHTML=`<div>${n.naturalWidth} x ${n.naturalHeight}px, ${r}, ${a?"GIF":"PNG"}</div>`,s.appendChild(n);let l=["dialog.save","dialog.cancel"];a||(l=["message.screenshot.clipboard","dialog.save","menu.texture.edit","dialog.cancel"]),new Dialog({title:"message.screenshot.title",id:"screenshot",width:n.naturalWidth+50,lines:[s],buttons:l,onButton(d){let u=l[d];if(u==="message.screenshot.clipboard")if(navigator.clipboard&&navigator.clipboard.write)fetch(i).then(async p=>{let m=await p.blob();await navigator.clipboard.write([new ClipboardItem({[m.type]:m})])});else return Blockbench.showQuickMessage("message.screenshot.right_click"),!1;else u==="dialog.save"?Blockbench.export({resource_id:"screenshot",extensions:[a?"gif":"png"],type:tl("data.image"),savetype:a?"binary":"image",name:Project?Project.name.replace(/\.geo$/,""):"screenshot",content:a?t:i}):u==="menu.texture.edit"&&(Codecs.image.load(i,"",[n.naturalWidth,n.naturalHeight]),Texture.all[0].name="screenshot")}}).show()},cleanCanvas(i,e){Preview.selected.screenshot(i,e)},gif_crop:{top:0,left:0,right:0,bottom:0},async createGif(i={},e){i.format||(i.format="gif"),i.length_mode||(i.length_mode="seconds"),i.length||(i.length=1),i.pixelate||(i.pixelate=1),i.quality||(i.quality=40);let t={cb:e,preview:Preview.selected,animation:Animation.selected,interval:i.fps?1e3/i.fps:100,frames:0,frame_canvases:[],recording:!1,loop:null,crop:Gn.gif_crop,custom_resolution:i.resolution&&(i.resolution[0]>Preview.selected.width||i.resolution[1]>Preview.selected.height),has_transparency:i.background==null};i.background_image&&(t.background_image=new Image,t.background_image.src=i.background_image,t.background_image.onerror=()=>{t.background_image=null},t.background_image.onload=()=>{t.has_transparency=!1}),Yd[i.format].interval&&(t.interval=Yd[i.format].interval(t));function n(){switch(i.length_mode){case"seconds":return t.interval*t.frames/(i.length*1e3);case"frames":return t.frames/i.length;case"turntable":return Math.abs(t.preview.controls.autoRotateProgress)/(2*Math.PI);case"animation":return Timeline.time/(t.animation.length-t.interval/1e3)}}function a(){t.canvas_width=Math.round(Math.clamp((t.preview.width-t.crop.left-t.crop.right)*window.devicePixelRatio,24,4e3)),t.canvas_height=Math.round(Math.clamp((t.preview.height-t.crop.top-t.crop.bottom)*window.devicePixelRatio,24,4e3)),i.turnspeed?(t.preview.controls.autoRotate=!0,t.preview.controls.autoRotateSpeed=i.turnspeed,t.preview.controls.autoRotateProgress=0):i.length_mode=="turntable"&&(i.length_mode="seconds"),i.play&&t.animation?(Timeline.setTime(0),t.animation.length||(i.length_mode="seconds")):i.length_mode=="animation"&&(i.length_mode="seconds"),i.silent||Blockbench.setStatusBarText(`${tl("status_bar.recording_gif")} ${tl(Yd[i.format].name)}`);let x=Gn.NoAAPreview;t.custom_resolution?x.resize(t.canvas_width/i.pixelate,t.canvas_height/i.pixelate):x.resize(t.preview.width*window.devicePixelRatio/i.pixelate,t.preview.height*window.devicePixelRatio/i.pixelate),x.setProjectionMode(t.preview.isOrtho),t.recording=!0,t.loop=setInterval(()=>{t.animation&&i.play&&(Timeline.setTime(Timeline.playback_speed/100*t.interval*t.frames/1e3),Animator.preview(!0)),t.frames++;function w(){x.controls.unlinked=t.preview.controls.unlinked,x.controls.target.copy(t.preview.controls.target),x.camera.position.copy(t.preview.camera.position),x.camera.quaternion.copy(t.preview.camera.quaternion),x.isOrtho?(x.camera.zoom=t.preview.camera.zoom,x.camera.top=t.preview.camera.top,x.camera.bottom=t.preview.camera.bottom,x.camera.right=t.preview.camera.right,x.camera.left=t.preview.camera.left,x.camOrtho.updateProjectionMatrix()):i.zoom?(x.isOrtho?(x.camera.zoom=i.zoom/100,x.camera.updateProjectionMatrix()):x.camera.setFocalLength(i.zoom),x.camPers.setFocalLength(i.zoom)):x.setFOV(t.preview.camPers.fov);let[E,y]=Z4(t.canvas_width,t.canvas_height);x.render(),y.clearRect(0,0,E.width,E.height),i.background&&(y.fillStyle=i.background,y.fillRect(0,0,E.width,E.height)),t.background_image&&y.drawImage(t.background_image,0,0,E.width,E.height),t.custom_resolution?y.drawImage(x.canvas,0,0,x.width*i.pixelate,x.height*i.pixelate):y.drawImage(x.canvas,Math.round(-t.crop.left*window.devicePixelRatio),Math.round(-t.crop.top*window.devicePixelRatio),Math.round(x.width*i.pixelate),Math.round(x.height*i.pixelate)),Yd[i.format].frameRendered?Yd[i.format].frameRendered(t,E):t.frame_canvases.push(E),x.controls.unlinked=!1}if(i.show_gizmos?w():Canvas.withoutGizmos(w),Blockbench.setProgress(n()),t.frame_label.textContent=t.frames+" - "+(t.interval*t.frames/1e3).toFixed(2)+"s",n()>=1){o(!0);return}},t.interval),t.frame.classList.add("recording"),g.delete()}async function o(x){t.recording&&(t.recording=!1,clearInterval(t.loop),t.frame&&t.frame.remove(),Blockbench.setProgress(),Animator.open&&Timeline.playing&&Timeline.pause(),i.turnspeed&&(t.preview.controls.autoRotate=!1),x&&(i.silent||Blockbench.setStatusBarText(`${tl("status_bar.processing_gif")} ${tl(Yd[i.format].name)}`),await Yd[i.format].process(t,i),Blockbench.setProgress(),Blockbench.setStatusBarText()))}function r(){t.frame.remove(),g.delete()}function s(){i.resolution||(t.crop.left=Math.clamp(t.crop.left,0,t.preview.width/2-20),t.crop.right=Math.clamp(t.crop.right,0,t.preview.width/2-20),t.crop.top=Math.clamp(t.crop.top,0,t.preview.height/2-20),t.crop.bottom=Math.clamp(t.crop.bottom,0,t.preview.height/2-20)),t.frame.style.top=t.crop.top+"px",t.frame.style.left=t.crop.left+"px",t.frame.style.right=t.crop.right+"px",t.frame.style.bottom=t.crop.bottom+"px",t.frame_label.textContent=Math.round(Math.clamp((t.preview.width-t.crop.left-t.crop.right)*window.devicePixelRatio,24,4e3))+" x "+Math.round(Math.clamp((t.preview.height-t.crop.top-t.crop.bottom)*window.devicePixelRatio,24,4e3))}t.frame=Interface.createElement("div",{id:"gif_recording_frame"}),t.preview.node.append(t.frame),t.frame_label=Interface.createElement("div",{id:"gif_recording_frame_label"}),t.frame.append(t.frame_label),i.resolution&&(t.crop.left=t.crop.right=(t.preview.width-i.resolution[0]/window.devicePixelRatio)/2,t.crop.top=t.crop.bottom=(t.preview.height-i.resolution[1]/window.devicePixelRatio)/2);function l(x){let w=Object.assign({},t.crop);function E(A){convertTouchEvent(A),t.crop.left=w.left+(A.clientX-x.clientX),t.crop.right=w.right-(A.clientX-x.clientX),t.crop.top=w.top+(A.clientY-x.clientY),t.crop.bottom=w.bottom-(A.clientY-x.clientY),t.custom_resolution=!1,s()}function y(A){removeEventListeners(document,"mousemove touchmove",E),removeEventListeners(document,"mouseup touchend",y)}addEventListeners(document,"mousemove touchmove",E),addEventListeners(document,"mouseup touchend",y)}addEventListeners(t.frame_label,"mousedown touchstart",x=>l(x,"right","top"));let c=Interface.createElement("div",{style:"top: -2px; right: -2px;",class:"gif_recording_frame_handle gif_resize_ne"},Blockbench.getIconNode("arrow_back_ios")),d=Interface.createElement("div",{style:"top: -2px; left: -2px;",class:"gif_recording_frame_handle gif_resize_nw"},Blockbench.getIconNode("arrow_back_ios")),u=Interface.createElement("div",{style:"bottom: -2px; right: -2px;",class:"gif_recording_frame_handle gif_resize_se"},Blockbench.getIconNode("arrow_back_ios")),p=Interface.createElement("div",{style:"bottom: -2px; left: -2px;",class:"gif_recording_frame_handle gif_resize_sw"},Blockbench.getIconNode("arrow_back_ios"));function m(x,w,E){let y=Object.assign({},t.crop);function A(j){convertTouchEvent(j),t.crop[w]=y[w]+(j.clientX-x.clientX)*(w=="left"?1:-1),t.crop[E]=y[E]+(j.clientY-x.clientY)*(E=="top"?1:-1),t.custom_resolution=!1,s()}function R(j){removeEventListeners(document,"mousemove touchmove",A),removeEventListeners(document,"mouseup touchend",R)}addEventListeners(document,"mousemove touchmove",A),addEventListeners(document,"mouseup touchend",R)}addEventListeners(c,"mousedown touchstart",x=>m(x,"right","top")),addEventListeners(d,"mousedown touchstart",x=>m(x,"left","top")),addEventListeners(u,"mousedown touchstart",x=>m(x,"right","bottom")),addEventListeners(p,"mousedown touchstart",x=>m(x,"left","bottom")),t.frame.append(c),t.frame.append(d),t.frame.append(u),t.frame.append(p),s();let _=Interface.createElement("div",{id:"gif_recording_controls"});t.frame.append(_);let f=Interface.createElement("div",{class:"tool gif_record_button"},Blockbench.getIconNode("fiber_manual_record","var(--color-close)"));f.addEventListener("click",x=>{a()}),_.append(f);let g=Blockbench.on("press_key",x=>{if(Keybinds.extra.confirm.keybind.isTriggered(x.event)){x.capture(),a();return}if(Keybinds.extra.cancel.keybind.isTriggered(x.event)){x.capture(),t.recording?o(!1):r();return}}),v=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("stop"));v.addEventListener("click",x=>{t.recording?o(!0):r()}),_.append(v);let b=Interface.createElement("div",{class:"tool"},Blockbench.getIconNode("clear"));b.addEventListener("click",x=>{t.recording?o(!1):r()}),_.append(b)},recordTimelapse(i){if(!i.destination)return;function e(s){return`${Project.name||"model"}_${s.toDigitString(4)}.png`}var t=0;try{for(var n=null.readdirSync(i.destination);n.includes(e(t+1));)t++}catch(s){console.log("Unable to analyze past timelapse recording",s)}Prop.recording=!0,BarItems.timelapse.setIcon("stop"),Blockbench.showQuickMessage("message.timelapse_start");function a(s){var l=`${i.destination}${osfs}${e(t)}`;null.writeFile(l,s,(c,d)=>{})}if(i.source==="locked")var o=new THREE.Vector3().copy(Preview.selected.camera.position),r=new THREE.Vector3().copy(Preview.selected.controls.target);Gn.timelapse_loop=setInterval(function(){t++;var s=Preview.selected;if(i.source==="locked"){var l=new THREE.Vector3().copy(s.camera.position),c=new THREE.Vector3().copy(s.controls.target);s.camera.position.copy(o),s.controls.target.copy(r)}Canvas.withoutGizmos(function(){s.render();var d=s.canvas.toDataURL();a(null.createFromDataURL(d).toPNG()),i.source==="locked"&&(s.camera.position.copy(l),s.controls.target.copy(c))})},i.interval*1e3)},stopTimelapse(){Prop.recording&&(Prop.recording=!1,clearInterval(Gn.timelapse_loop),BarItems.timelapse.setIcon("timelapse"),Blockbench.showQuickMessage("message.timelapse_stop"))}};BARS.defineActions(function(){new Action("screenshot_model",{icon:"photo_camera",category:"view",condition:()=>!!Project,keybind:new Keybind({key:"p",ctrl:!0}),click(){Format.image_editor?Gn.screenshot2DEditor():Preview.selected.screenshot()}}),new Action("advanced_screenshot",{icon:"add_a_photo",category:"view",condition:()=>!!Project&&!Format.image_editor,click(){Gn.advanced_screenshot_dialog.show()}}),new Action("record_model_gif",{icon:"local_movies",category:"view",condition:()=>Project&&!Format.image_editor,click(){Gn.gif_options_dialog.show()}}),new Action("cancel_gif",{icon:"close",category:"view",condition:()=>Gn.processing_gif,click(){Gn.processing_gif.abort(),delete Gn.processing_gif,Blockbench.setProgress(),Blockbench.setStatusBarText()}}),Gn.timelapse_dialog=new Dialog({id:"timelapse",title:tl("action.timelapse"),draggable:!0,form:{interval:{label:"dialog.timelapse.interval",type:"number",value:10,step:.25},source:{label:"dialog.timelapse.source",type:"select",value:"preview",options:{preview:"data.preview",locked:"dialog.timelapse.source.locked",interface:"dialog.timelapse.source.interface"},condition:!1},destination:{label:"dialog.timelapse.destination",type:"folder",value:"",resource_id:"timelapse"}},onConfirm:function(i){Gn.recordTimelapse(i),this.hide()}}),new Action("timelapse",{icon:"timelapse",category:"view",condition:!1,click(){Prop.recording?Gn.stopTimelapse():Gn.timelapse_dialog.show()}}),new Action("screenshot_app",{icon:"icon-bb_interface",category:"view",condition:!1,click(){Gn.fullScreen()}})});Object.assign(window,{ScreencamGIFFormats:Yd,Screencam:Gn});var Q4=`/*
id: default
name: Default (Dark)
author: Default
*/
body {
--color-ui: #1e2127;
--color-back: #181b1f;
--color-dark: #101316;
--color-border: #101316;
--color-selected: #3b3e49;
--color-elevated: #272a31;
--color-button: #33383f;
--color-bright_ui: #f4f3ff;
--color-accent: #3e90ff;
--color-frame: #0f1012;
--color-text: #cacad4;
--color-light: #f4f3ff;
--color-accent_text: #000006;
--color-bright_ui_text: #000006;
--color-subtle_text: #848891;
--color-grid: #30333d;
--color-wireframe: #576f82;
--color-checkerboard: #14171b;
}
`;var e5=`/*
id: default_light
name: Default (Light)
author: Default
*/
body {
--color-ui: #ffffff;
--color-back: #f2f2f2;
--color-dark: #e6e6e6;
--color-border: #c8c8c8;
--color-selected: #ececec;
--color-elevated: #ffffff;
--color-button: #d5d5d5;
--color-bright_ui: #ffffff;
--color-accent: #579eff;
--color-frame: #d7d7d7;
--color-text: #343437;
--color-light: #111111;
--color-accent_text: #000006;
--color-bright_ui_text: #000006;
--color-subtle_text: #6b6d72;
--color-grid: #b0b2b8;
--color-wireframe: #8797a3;
--color-checkerboard: #eeeeee;
}
.checkerboard, .checkerboard_trigger .checkerboard_target {
--color-checker_offset: rgba(0, 0, 0, 0.05);
}
.list {
background-color: transparent;
}
#center {
box-shadow: 0 0 12px inset #00000017;
}
#start_screen > content {
box-shadow: 0 0 10px #0003;
}
body {
--color-close: #ff5062;
--color-bright_border: var(--color-border);
}
dialog {
box-shadow: 0 0px 6px rgb(0 0 0 / 48%);
}
.blockbench_logo {
mix-blend-mode: difference;
}
`;var t5=`/*
id: contrast
name: Contrast
author: Default
borders: true
*/
body {
--color-ui: #17191d;
--color-back: #17191d;
--color-dark: #17191d;
--color-border: #9ea4b5;
--color-selected: #31525f;
--color-button: #3a3f4b;
--color-bright_ui: #17191d;
--color-accent: #1b71d9;
--color-frame: #121418;
--color-text: #d0d0db;
--color-light: #f4f3ff;
--color-accent_text: #eeeef5;
--color-bright_ui_text: #d0d0dd;
--color-subtle_text: #adb2bc;
--color-grid: #727683;
--color-wireframe: #5f96bc;
--color-checkerboard: #1c2026;
}
#mode_selector li {
padding: 2px 10px;
}
#mode_selector li.selected {
background-color: var(--color-accent);
color: var(--color-accent_text);
}
#mode_selector > li:not(.selected) > .icon {
color: inherit;
}
#tab_bar .project_tab.selected,
.dialog_sidebar_pages li.selected,
.tool.enabled
{
background-color: var(--color-accent) !important;
color: var(--color-accent_text);
}
.contextMenu li:not(.menu_separator) {
height: 34px;
padding-top: 6px;
padding-bottom: 6px;
}
.dialog_sidebar_pages li.selected {
background-color: var(--color-accent) !important;
color: var(--color-accent_text);
}
.dialog_handle {
background: var(--color-ui);
}
.controller_state_gate {
background-color: var(--color-border);
}
.controller_state_title_bar {
background-color: transparent;
border-bottom: 1px solid var(--color-border)
}
#theme_list .theme {
background-color: transparent;
box-shadow: none;
border: 2px solid var(--color-border);
}
#theme_list .theme.selected {
border-color: var(--color-accent);
}
.elevated {
background-color: transparent;
border: 2px solid var(--color-border);
border-radius: 4px;
}
#tab_bar .project_tab {
border-radius: 3px;
}
#tab_bar .project_tab.selected::before, #tab_bar .project_tab.selected::after {
display: none;
}
input[type=checkbox].toggle_switch {
height: 24px;
background: var(--color-ui);
border: 1px solid var(--color-border);
}
input[type=checkbox].toggle_switch:checked {
background-color: var(--color-accent);
}`;var S1;(t=>{function i(n){switch(n){case"true":return!0;case"false":return!1}return n.startsWith('"')&&n.endsWith('"')?n.substring(1,n.length-1):isNaN(n)?n:parseFloat(n)}function e(n){let a=n.split(/(\r?\n)+/g),o={},r=[o],s;for(let l of a){let c=l.match(/^\s*/)[0]?.replace(/ /g," ").length,[d,u]=l.split(/: *(.*)/s);if(d=d.trim(),!(!d||d.startsWith("#"))){for(;c<r.length-1;)r.pop();if(d.startsWith("- "))if(d=d.substring(2),!(r.last()instanceof Array)&&r[r.length-2]&&(r[r.length-2][s]=r[r.length-1]=[]),typeof u=="string"){let p={};r.last().push(p),r.push(p)}else{r.last().push(i(d));continue}if(typeof u=="string")if(u)r.last()[d]=i(u);else{let p=r.last()[d]={};r.push(p)}s=d}}return o}t.parse=e})(S1||(S1={}));var xC={ui:"#1e2127",back:"#181b1f",dark:"#101316",border:"#101316",selected:"#3b3e49",elevated:"#272a31",button:"#33383f",bright_ui:"#f4f3ff",accent:"#3e90ff",frame:"#0f1012",text:"#cacad4",light:"#f4f3ff",accent_text:"#000006",bright_ui_text:"#000006",subtle_text:"#848891",grid:"#30333d",wireframe:"#576f82",checkerboard:"#14171b"},Dt=class Dt{constructor(e){W(this,"name");W(this,"author");W(this,"version");W(this,"borders");W(this,"thumbnail");W(this,"css");W(this,"id");W(this,"main_font");W(this,"headline_font");W(this,"code_font");W(this,"colors");W(this,"source");W(this,"path");W(this,"desktop_only");W(this,"options");W(this,"option_values");this.id="",this.name="",this.author="",this.main_font="",this.headline_font="",this.code_font="",this.borders=!1,this.thumbnail="",this.css="",this.colors=structuredClone(xC),this.options=null,this.option_values={},e&&this.extend(e)}extend(e){if(Merge.string(this,e,"id"),Merge.string(this,e,"name"),Merge.string(this,e,"author"),Merge.string(this,e,"version"),Merge.string(this,e,"source"),Merge.string(this,e,"path"),Merge.boolean(this,e,"desktop_only"),Merge.boolean(this,e,"borders"),Merge.string(this,e,"main_font"),Merge.string(this,e,"headline_font"),Merge.string(this,e,"code_font"),Merge.string(this,e,"css"),Merge.string(this,e,"thumbnail"),e.colors)for(let t in this.colors)e.colors[t]?Merge.string(this.colors,e.colors,t):this.colors[t]=xC[t];e.options&&(this.options=structuredClone(e.options)),e.option_values&&(this.option_values=Object.assign({},e.option_values))}openOptions(){let e={};if(!this.options)return;Dt.selected!=this&&this.load();let t=this;for(let n in this.options){let a=this.options[n],o=Object.keys(a.options).reduce((r,s)=>r+a.options[s].length);e[n]={label:a.name,type:o.length>28?"select":"inline_select",options:a.options,value:this.option_values[n],default:this.option_values[n]}}new sa("theme_configuration",{title:"layout.theme.configure",form:e,singleButton:!0,onFormChange(n){t.option_values=n,Dt.updateSettings(),t.save()}}).show()}static get data(){return Dt.selected}static setup(){let e={},t=!1;Dt.dialog=new sa({id:"theme",title:"dialog.settings.theme",singleButton:!0,width:950,title_menu:new Menu(["settings_window","keybindings_window","theme_window","about_window"]),sidebar:{pages:{select:tl("layout.select"),_customize:new MenuSeparator("customize","layout.section.customize"),options:tl("layout.options"),color:tl("layout.color"),css:tl("layout.css"),thumbnail:tl("layout.thumbnail")},page:"select",actions:[{name:"layout.documentation",icon:"fa-book",click(){he.openLink("https://www.blockbench.net/wiki/blockbench/themes")}},"import_theme","export_theme"],onPageSwitch(n){Dt.dialog.content_vue.open_category=n,n=="color"&&!Dt.dialog_is_setup&&Dt.setupDialog()}},onOpen(){this.content_vue.data=Dt.data,t||(t=!0,$.getJSON("https://api.github.com/repos/JannisX11/blockbench-themes/contents/themes").then(n=>{n.forEach(async a=>{try{let{content:o}=await $.getJSON(a.git_url),r=new Dt().parseBBTheme(Rb(o));if(r.desktop_only&&he.isMobile)return!1;r.id=a.name.replace(/\.\w+/,""),r.source="repository",Dt.themes.find(s=>s.id==r.id)||Dt.themes.push(r)}catch(o){console.error(o)}})}).catch(console.error))},component:{data:{backup:"",data:Dt.data,open_category:"select",themes:Dt.themes,theme_icons:{built_in:"",repository:"globe",file:"draft"}},components:{VuePrismEditor},watch:{"data.main_font"(){Dt.updateSettings(),Dt.selected.save()},"data.headline_font"(){Dt.updateSettings(),Dt.selected.save()},"data.code_font"(){Dt.updateSettings(),Dt.selected.save()},"data.borders"(){Dt.updateSettings(),Dt.selected.save()},"data.css"(){Dt.updateSettings(),Dt.selected.save()},"data.thumbnail"(){Dt.updateSettings(),Dt.selected.save()},"data.colors":{handler(){Dt.updateSettings(),Dt.selected.save()},deep:!0}},methods:{selectTheme(n){n.load(),this.data=n,Dt.selected.save()},loadBackup(){new Dt(JSON.parse(Dt.backup_data)).load(),this.clearBackup()},clearBackup(){this.backup="",Dt.backup_data=null},customizeTheme(){Dt.customizeTheme()},getThemeThumbnailStyle(n){let a={};for(let o in Dt.defaultColors)a[`--color-${o}`]=Dt.defaultColors[o];for(let o in n.colors)a[`--color-${o}`]=n.colors[o];return a},openContextMenu(n,a){if(n.source!="file")return;let o=n.id==this.data.id;new Menu([{name:"menu.texture.folder",icon:"folder",condition:!1,click:()=>{}},{name:"layout.file.watch_changes",icon:e[n.path]!=null,condition:!1,click:()=>{if(e[n.path])e[n.path].close(),delete e[n.path];else if(null.existsSync(n.path)){let s=0;e[n.path]=null.watch(n.path,l=>{l=="change"&&(s&&(clearTimeout(s),s=0),s=window.setTimeout(()=>{n.reloadThemeFile()},60))})}}},{name:"generic.reload",icon:"refresh",condition:!1,click:()=>{n.reloadThemeFile()}},{name:"generic.remove",icon:"clear",click:()=>{this.themes.remove(n),Dt.sideloaded_themes.remove(n.path),localStorage.setItem("themes_sideloaded",JSON.stringify(Dt.sideloaded_themes))}}]).open(a)},tl},computed:{listed_themes(){let n=this.themes.slice();return this.data.source=="custom"&&n.splice(0,0,this.data),n}},template:`
<div id="theme_editor">
<div v-if="open_category == 'select'">
<div v-if="backup" class="theme_backup_bar" @click.stop="loadBackup()">
{{ tl('layout.restore_backup', [backup]) }}
<i class="material-icons icon" @click.stop="clearBackup()">clear</i>
</div>
<h2 class="i_b">${tl("layout.select")}</h2>
<div id="theme_list">
<div v-for="theme in listed_themes" :key="theme.id" class="theme" :class="{selected: theme.id == data.id}" @click="selectTheme(theme)" @contextmenu="openContextMenu(theme, $event)">
<div class="theme_preview" :class="{ borders: theme.borders }" :theme_id="theme.id" :style="getThemeThumbnailStyle(theme)">
<div class="theme_preview_header">
<span class="theme_preview_text" style="width: 20px;" />
<div class="theme_preview_menu_header">
<span class="theme_preview_text" style="width: 34px;" />
</div>
<span class="theme_preview_text" style="width: 45px;" />
</div>
<div class="theme_preview_menu">
<span class="theme_preview_text" style="width: 23px;" />
<span class="theme_preview_text" style="width: 16px;" />
<span class="theme_preview_text" style="width: 40px;" />
</div>
<div class="theme_preview_window">
<div class="theme_preview_sidebar"></div>
<div class="theme_preview_center"></div>
<div class="theme_preview_sidebar"></div>
</div>
</div>
<div class="theme_name">{{ theme.name }}</div>
<div class="theme_details_bar">
<div class="theme_type_icon">
<i class="material-icons icon">{{ theme_icons[theme.source] }}</i>
</div>
<div class="theme_author">{{ theme.author }}</div>
<div class="tool" v-if="theme.options" @click.stop="theme.openOptions()">
<i class="material-icons icon">tune</i>
<div class="tooltip">${tl("layout.theme.configure")}...</div>
</div>
</div>
</div>
</div>
</div>
<div v-show="open_category == 'color'">
<h2 class="i_b">${tl("layout.color")}</h2>
<div id="color_wrapper">
<div class="color_field" v-for="(color, key) in data.colors" :id="'color_field_' + key">
<div class="layout_color_preview color_input" :style="{'background-color': color}"></div>
<div class="desc">
<h4>{{ tl('layout.color.'+key) }}</h4>
<p>{{ tl('layout.color.'+key+'.desc') }}</p>
</div>
</div>
</div>
</div>
<div v-if="open_category == 'options'">
<h2 class="i_b">${tl("layout.options")}</h2>
<div class="dialog_bar" v-if="data.source == 'custom'">
<label class="name_space_left" for="layout_name">${tl("layout.name")}</label>
<input @input="customizeTheme($event)" type="text" class="half dark_bordered" id="layout_name" v-model="data.name">
</div>
<div class="dialog_bar" v-if="data.source == 'custom'">
<label class="name_space_left" for="layout_name">${tl("layout.author")}</label>
<input @input="customizeTheme($event)" type="text" class="half dark_bordered" id="layout_name" v-model="data.author">
</div>
<div class="dialog_bar" v-if="data.source == 'custom'">
<label class="name_space_left" for="layout_name">${tl("layout.version")}</label>
<input @input="customizeTheme($event)" type="text" class="half dark_bordered" id="layout_name" v-model="data.version" placeholder="1.0.0">
</div>
<hr />
<div class="dialog_bar">
<label class="name_space_left" for="layout_font_main">${tl("layout.font.main")}</label>
<input @input="customizeTheme($event)" style="font-family: var(--font-main)" type="text" class="half dark_bordered" id="layout_font_main" v-model="data.main_font">
</div>
<div class="dialog_bar">
<label class="name_space_left" for="layout_font_headline">${tl("layout.font.headline")}</label>
<input @input="customizeTheme($event)" style="font-family: var(--font-headline)" type="text" class="half dark_bordered" id="layout_font_headline" v-model="data.headline_font">
</div>
<div class="dialog_bar">
<label class="name_space_left" for="layout_font_code">${tl("layout.font.code")}</label>
<input @input="customizeTheme($event)" style="font-family: var(--font-code)" type="text" class="half dark_bordered" id="layout_font_code" v-model="data.code_font">
</div>
<div class="dialog_bar">
<label class="name_space_left" for="layout_borders">${tl("layout.borders")}</label>
<input @input="customizeTheme($event)" type="checkbox" id="layout_borders" v-model="data.borders">
</div>
</div>
<div v-if="open_category == 'css'">
<h2 class="i_b">${tl("layout.css")}</h2>
<div id="css_editor">
<p v-if="data.css && data.css.length > 65000">Hidden due to performance limitations of the built-in CSS editor</p>
<vue-prism-editor v-else v-model="data.css" @change="customizeTheme(1, $event)" language="css" :line-numbers="true" />
</div>
</div>
<div v-if="open_category == 'thumbnail'">
<h2 class="i_b">${tl("layout.thumbnail")}</h2>
<div class="theme_preview custom_thumbnail_preview" :class="{ borders: data.borders }" :theme_id="data.id" :style="getThemeThumbnailStyle(data)">
<div class="theme_preview_header">
<span class="theme_preview_text" style="width: 20px;" />
<div class="theme_preview_menu_header">
<span class="theme_preview_text" style="width: 34px;" />
</div>
<span class="theme_preview_text" style="width: 45px;" />
</div>
<div class="theme_preview_menu">
<span class="theme_preview_text" style="width: 23px;" />
<span class="theme_preview_text" style="width: 16px;" />
<span class="theme_preview_text" style="width: 40px;" />
</div>
<div class="theme_preview_window">
<div class="theme_preview_sidebar"></div>
<div class="theme_preview_center"></div>
<div class="theme_preview_sidebar"></div>
</div>
</div>
<div id="thumbnail_editor">
<vue-prism-editor v-model="data.thumbnail" @change="customizeTheme(1, $event)" language="css" :line-numbers="true" />
</div>
</div>
</div>`},onButton(){wi.save()}})}static setupDialog(){let e=$("#color_wrapper");for(let t in Dt.defaultColors){let n=t,a=Dt.selected.colors[n],o=a,r=e.find(`#color_field_${n} .layout_color_preview`);r.spectrum({preferredFormat:"hex",color:a,showAlpha:!1,showInput:!0,defaultColor:Dt.defaultColors[t],resetText:tl("generic.reset"),cancelText:tl("dialog.cancel"),chooseText:tl("dialog.confirm"),move(s){Dt.customizeTheme(),Dt.selected.colors[n]=s.toHexString()},change(s){o=s.toHexString()},hide(s){Dt.customizeTheme(),Dt.selected.colors[n]=o,r.spectrum("set",o)},beforeShow(){o=Dt.selected.colors[n],r.spectrum("set",o)}})}Dt.dialog_is_setup=!0}static customizeTheme(){if(Dt.selected.source!="custom"){let e=new Dt(Dt.selected);e.extend({name:e.name?"Copy of "+e.name:"Custom Theme",author:Zi.username.value,id:"custom_theme",source:"custom"});let t=0;for(;Dt.themes.find(n=>e.id==n.id);)t++,e.id="custom_theme_"+t;Dt.dialog.content_vue&&(Dt.dialog.content_vue.data=e),e.load()}}static updateColors(){$("meta[name=theme-color]").attr("content",Dt.selected.colors.frame),document.body.classList.toggle("light_mode",new ci(Dt.selected.colors.ui).isLight());let e=Canvas.gizmo_colors;if(typeof e<"u"){let n=function(a,o){let r=t.getPropertyValue(o).trim();a.set(r)},t=window.getComputedStyle(document.getElementById("preview"));n(e.r,"--color-axis-x"),n(e.g,"--color-axis-y"),n(e.b,"--color-axis-z"),n(e.grid,"--color-grid"),n(e.u,"--color-axis-u"),n(e.v,"--color-axis-v"),n(e.w,"--color-axis-w"),n(Canvas.gridMaterial.color,"--color-grid"),n(Canvas.wireframeMaterial.color,"--color-wireframe"),n(e.solid,"--color-solid"),n(e.outline,"--color-outline"),n(e.gizmo_hover,"--color-gizmohover"),n(Canvas.outlineMaterial.color,"--color-outline"),n(Canvas.ground_plane.material.color,"--color-ground"),n(Canvas.brush_outline.material.uniforms.color.value,"--color-brush-outline"),n(e.spline_handle_aligned,"--color-spline-handle-aligned"),n(e.spline_handle_mirrored,"--color-spline-handle-mirrored"),n(e.spline_handle_free,"--color-spline-handle-free"),Canvas.pivot_marker.children.forEach(a=>{a.updateColors()})}}static updateSettings(){let e=Dt.selected,t={};for(let r in Dt.selected.colors)t["--color-"+r]=Dt.selected.colors[r];t["--font-custom-main"]=`'${e.main_font}'`,t["--font-custom-headline"]=`'${e.headline_font}'`,t["--font-custom-code"]=`'${e.code_font}'`;let n=`body {
`;for(let r in t)n+=`
${r}: ${t[r]};`;n+=`
}
`;let a=e.css||"",o=a.length>10&&a.match(/^[\S\s]*@import .+/);if(a&&o){let r=a.substring(o.length);a=`${o[0]}
@layer theme {${n}${r}};`}else a=`@layer theme {${n}${a}};`;document.getElementById("theme_css").textContent=a,document.body.classList.toggle("theme_borders",!!e.borders);for(let r of document.body.attributes)r.name.startsWith("theme-")&&(!e.options||e.options[r.name.substring(6)]==null)&&document.body.removeAttribute(r.name);for(let r in e.options??{})e.option_values[r]!=null&&document.body.setAttribute("theme-"+r,e.option_values[r]);Dt.loadThumbnailStyles(),Dt.updateColors()}static loadThumbnailStyles(){let e=window.chrome?new RegExp('(?<!\\[[^\\]]*),(?![^\\[]*\\])|(?<!"[^"]*),(?![^"]*")',"g"):null;if(!e)return;let t=`
`,n=document.createElement("style");document.head.appendChild(n);for(let a of Dt.themes){n.textContent=a.thumbnail;let o=n.sheet;for(let r of o.cssRules){if(!r.selectorText)continue;let s=r.selectorText.split(e).map(l=>`[theme_id="${a.id}"] ${l.trim()}`).join(", ");t+=`${s} { ${r.style.cssText} }
`}}if(Dt.selected.source=="custom"){n.textContent=Dt.selected.thumbnail;let a=n.sheet;for(let o of a.cssRules){if(!o.selectorText)continue;let r=o.selectorText.split(e).map(s=>`[theme_id="${Dt.selected.id}"] ${s.trim()}`).join(", ");t+=`${r} { ${o.style.cssText} }
`}}document.head.removeChild(n),document.getElementById("theme_thumbnail_css").textContent=t}load(){Dt.selected.source=="custom"&&Dt.selected.name&&(Dt.dialog.content_vue||Dt.dialog.build(),Dt.dialog.content_vue.backup=Dt.selected.name,Dt.backup_data=JSON.stringify(Dt.selected)),Dt.selected=this,Dt.dialog.content_vue&&(Dt.dialog.content_vue.data=this),Dt.updateSettings(),this.save()}static loadTheme(e){e.load()}reloadThemeFile(){let e=null.readFileSync(this.path,{encoding:"utf8"});if(!e)return;let t=new Dt().parseBBTheme(e);delete t.id,delete t.option_values,this.extend(t),this.load()}static import(e){let t=e.content,n=new Dt().parseBBTheme(t);n.id=e.name.replace(/\.\w+$/,""),n.name||(n.name=n.id),n.source="file",n.path=e.path,Dt.loadTheme(n),Dt.themes.remove(Dt.themes.find(a=>a.id==n.id)),Dt.themes.push(n)}parseBBTheme(e,t){if(e.startsWith("{")){let n=JSON.parse(e);this.extend(n)}else{let n=function(r,s){if(e=e.trim(),e.startsWith(r)==!1)return;let l=e.indexOf(s),c=e.substring(r.length,l);return e=e.substring(l+s.length),c},a=n("/*","*/");if(a){let r=S1.parse(a);this.extend(r)}let o=n("body {","}");if(o){for(let r of o.split(/\r?\n/))if(r=r.trim(),r.startsWith("--color")){let[s,l]=r.replace("--color-","").split(/:\s*/);this.colors[s]=l.replace(/;/,"")}else if(r.startsWith("--font-custom")){let[s,l]=r.replace("--font-custom-","").split(/:\s*/);switch(l=l.replace(";",""),s){case"main":this.main_font=l;break;case"headline":this.headline_font=l;break;case"code":this.code_font=l;break}}}this.thumbnail=n("@scope (thumbnail) {",`
}`)??"",this.css=e}return this}compileBBTheme(){let e="/*",t={name:this.name,author:this.author,version:this.version,borders:this.borders};for(let n in t)t[n]!=null&&(e+=`
${n}: ${t[n].toString()}`);e+=`
*/
`,e+="body {";for(let n in this.colors){let a=this.colors[n];e+=`
--color-${n}: ${a};`}return this.main_font&&(e+=`
--font-custom-main: ${this.main_font};`),this.headline_font&&(e+=`
--font-custom-headline: ${this.headline_font};`),this.code_font&&(e+=`
--font-custom-code: ${this.code_font};`),e+=`
}
`,this.thumbnail&&(e+=`@scope (thumbnail) {
`,e+=this.thumbnail.replace(/\n/g,`
`),e+=`
}
`),this.css&&(e+=this.css),e}save(){localStorage.setItem("theme",JSON.stringify(this))}};W(Dt,"selected",new Dt({id:"dark"})),W(Dt,"backup_data",null),W(Dt,"themes",[Q4,e5,t5].map(e=>{let t=new Dt().parseBBTheme(e,!0);return t.source="built_in",t})),W(Dt,"defaultColors",xC),W(Dt,"sideloaded_themes",[]),W(Dt,"dialog",null),W(Dt,"dialog_is_setup",!1);var Pl=Dt;function i5(){let i;try{localStorage.getItem("theme")&&(i=JSON.parse(localStorage.getItem("theme")))}catch{}if(i){let e=new Pl(i);if(e.source=="repository"&&e.id)Pl.loadTheme(e),fetch(`https://cdn.jsdelivr.net/gh/JannisX11/blockbench-themes/themes/${e.id}.bbtheme`).then(async t=>{let n=await t.text();if(!n)return;let a=new Pl().parseBBTheme(n);(a.version&&!e.version||a.version&&e.version&&vo.compare(a.version,">",e.version))&&(e.extend(a),e.source="repository",e.load(),console.log(`Updated Theme "${e.id}" to v${a.version}`))});else if((e.source=="built_in"||e.source=="file")&&e.id){let t=Pl.themes.find(n=>n.id==e.id);t&&(t.option_values=e.option_values,t.load())}else e.source=="custom"&&Pl.loadTheme(e)}}BARS.defineActions(function(){new Action("theme_window",{name:tl("dialog.settings.theme")+"...",icon:"style",category:"blockbench",click:function(){Pl.dialog.show()}}),new Action("import_theme",{icon:"folder",category:"blockbench",click:function(){he.import({resource_id:"config",extensions:["bbtheme"],type:"Blockbench Theme"},function(i){Pl.import(i[0])})}}),new Action("export_theme",{icon:"style",category:"blockbench",click:function(){let i=Pl.selected.id||"",e=Pl.selected.compileBBTheme();he.export({resource_id:"config",type:"Blockbench Theme",extensions:["bbtheme"],name:i,content:e})}})});var Zne={CustomTheme:Pl};Object.assign(window,Zne);BARS.defineActions(function(){new Ts("edit",{icon:"deployed_code",default_tool:"move_tool",category:"navigate",condition:()=>Format&&Format.edit_mode,onSelect:()=>{Outliner.elements.forEach(i=>{i.preview_controller.updatePixelGrid&&i.preview_controller.updatePixelGrid(i)})},onUnselect:()=>{Undo&&Undo.closeAmendEditMenu(),Outliner.elements.forEach(i=>{i.preview_controller.updatePixelGrid&&i.preview_controller.updatePixelGrid(i)})}})});(function(){"use strict";class i extends THREE.MeshBasicMaterial{constructor(a){super(),this.depthTest=!1,this.depthWrite=!1,this.side=THREE.FrontSide,this.transparent=!0,this.gizmoSelected=!1,this.selectedColor=new THREE.Color(16777215),this.setValues(a),typeof a.color=="function"?(this.oldColor=this.color=a.color(),this.getOriginalColor=a.color):this.oldColor=this.color=a.color,this.oldOpacity=this.opacity,this.highlight=function(o){o?(this.color=gizmo_colors.gizmo_hover,this.opacity=1):(this.color=this.getOriginalColor(),this.opacity=this.oldOpacity)},this.select=function(o){o?(this.color=this.selectedColor,this.opacity=1):(this.color=this.getOriginalColor(),this.opacity=this.oldOpacity)},this.highlightSelected=function(o){o?(this.color=gizmo_colors.gizmo_hover,this.opacity=1):(this.color=this.selectedColor,this.opacity=this.oldOpacity)}}getOriginalColor(){return this.oldColor}}class e extends THREE.LineBasicMaterial{constructor(a){super(),this.depthTest=!1,this.depthWrite=!1,this.transparent=!0,this.linewidth=1,this.gizmoSelected=!1,this.selectedColor=new THREE.Color(16777215),this.setValues(a),typeof a.color=="function"?(this.oldColor=this.color=a.color(),this.getOriginalColor=a.color):this.oldColor=this.color=a.color,this.oldOpacity=this.opacity,this.highlight=function(o){o?(this.color=gizmo_colors.gizmo_hover,this.opacity=1):(this.color=this.getOriginalColor(),this.opacity=this.oldOpacity)},this.select=function(o){o?(this.color=new THREE.Color(16777215),this.opacity=1):(this.color=this.getOriginalColor(),this.opacity=this.oldOpacity)},this.highlightSelected=function(o){o?(this.color=gizmo_colors.gizmo_hover,this.opacity=1):(this.color=this.selectedColor,this.opacity=this.oldOpacity)}}getOriginalColor(){return this.oldColor}}var t=new i({visible:!1,transparent:!1,side:THREE.DoubleSide});THREE.TransformGizmo=class extends THREE.Object3D{constructor(){super(),this.init=function(){this.handles=new THREE.Object3D,this.pickers=new THREE.Object3D,this.planes=new THREE.Object3D,this.add(this.handles),this.add(this.pickers),this.add(this.planes);var n=new THREE.PlaneGeometry(50,50,2,2),a=new THREE.MeshBasicMaterial({visible:!1,side:THREE.DoubleSide}),o={XY:new THREE.Mesh(n,a),YZ:new THREE.Mesh(n,a),XZ:new THREE.Mesh(n,a),XYZE:new THREE.Mesh(n,a)};this.activePlane=o.XYZE,o.YZ.rotation.set(0,Math.PI/2,0),o.XZ.rotation.set(-Math.PI/2,0,0);for(var r in o)o[r].name=r,this.planes.add(o[r]),this.planes[r]=o[r];var s=function(l,c){for(var d in l)for(r=l[d].length;r--;){var u=l[d][r][0],p=l[d][r][1],m=l[d][r][2],_=l[d][r][3];u.name.length===0&&(u.name=d),u.renderDepth=999,p&&u.position.set(p[0],p[1],p[2]),m&&u.rotation.set(m[0],m[1],m[2]),_&&u.scale.set(_[0],_[1],_[2]),c.add(u)}};s(this.handleGizmos,this.handles),s(this.pickerGizmos,this.pickers),this.traverse(function(l){if(l instanceof THREE.Mesh){l.updateMatrix();var c=l.geometry.clone();c.applyMatrix4(l.matrix),l.geometry=c,l.position.set(0,0,0),l.rotation.set(0,0,0),l.scale.set(1,1,1)}})},this.highlight=function(n){var a=typeof n=="string"&&n.substr(-1).toLowerCase();this.traverse(function(o){o.material&&o.material.highlight&&(o.name===n&&a&&(o.scale[a]<5||n=="E")?o.material.highlight(!0):o.material.highlight(!1))})}}get dragging(){return $i.active==$i.types.gizmo_transform}},THREE.TransformGizmo.prototype.update=function(n,a){var o=new THREE.Vector3(0,0,0),r=new THREE.Vector3(0,1,0),s=new THREE.Matrix4;let l;this instanceof THREE.TransformGizmoScale&&(l=this.getWorldQuaternion(new THREE.Quaternion).invert()),this.traverse(c=>{c.name.search("E")!==-1?(c.quaternion.setFromRotationMatrix(s.lookAt(a,o,r)),this instanceof THREE.TransformGizmoScale&&c.quaternion.premultiply(l)):this instanceof THREE.TransformGizmoRotate&&(c.name.search("X")!==-1||c.name.search("Y")!==-1||c.name.search("Z")!==-1)&&c.quaternion.setFromEuler(n)})},THREE.TransformGizmoTranslate=class extends THREE.TransformGizmo{constructor(){super();var n=new THREE.CylinderGeometry(0,.07,.2,12,1,!1);let a=new THREE.CylinderGeometry(.2,0,1,4,1,!1);var o=new THREE.BufferGeometry;o.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,1,0,0],3)),o.name="gizmo_x";var r=new THREE.BufferGeometry;r.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,0,1,0],3)),r.name="gizmo_y";var s=new THREE.BufferGeometry;s.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,0,0,1],3)),s.name="gizmo_z",this.handleGizmos={X:[[new THREE.Mesh(n,new i({color:gizmo_colors.r})),[1,0,0],[0,0,-Math.PI/2]],[new THREE.Line(o,new e({color:gizmo_colors.r}))]],Y:[[new THREE.Mesh(n,new i({color:gizmo_colors.g})),[0,1,0]],[new THREE.Line(r,new e({color:gizmo_colors.g}))]],Z:[[new THREE.Mesh(n,new i({color:gizmo_colors.b})),[0,0,1],[Math.PI/2,0,0]],[new THREE.Line(s,new e({color:gizmo_colors.b}))]]},this.pickerGizmos={X:[[new THREE.Mesh(a,t),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new THREE.Mesh(a,t),[0,.6,0]]],Z:[[new THREE.Mesh(a,t),[0,0,.6],[Math.PI/2,0,0]]]},this.setActivePlane=function(l,c){var d=new THREE.Matrix4;c.applyMatrix4(d.copy(d.extractRotation(this.planes.XY.matrixWorld)).invert()),l==="X"&&(this.activePlane=this.planes.XY,Math.abs(c.y)>Math.abs(c.z)&&(this.activePlane=this.planes.XZ)),l==="Y"&&(this.activePlane=this.planes.XY,Math.abs(c.x)>Math.abs(c.z)&&(this.activePlane=this.planes.YZ)),l==="Z"&&(this.activePlane=this.planes.XZ,Math.abs(c.x)>Math.abs(c.y)&&(this.activePlane=this.planes.YZ))},this.init()}},THREE.TransformGizmoScale=class extends THREE.TransformGizmo{constructor(){super();var n=new THREE.BoxGeometry(.15,.06,.15),a=new THREE.BufferGeometry;a.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,1,0,0],3));var o=new THREE.BufferGeometry;o.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,0,1,0],3));var r=new THREE.BufferGeometry;r.setAttribute("position",new THREE.Float32BufferAttribute([0,0,0,0,0,1],3));let s=new THREE.PlaneGeometry(.3,.3),l=new THREE.PlaneGeometry(.4,.4),c=.3;var d=function(u,p,m){var _=new THREE.BufferGeometry,f=[];let g=16;m=m||1;for(var v=0;v<=g*m;++v)p==="x"&&f.push(0,Math.cos(v/(g/2)*Math.PI)*u,Math.sin(v/(g/2)*Math.PI)*u),p==="y"&&f.push(Math.cos(v/(g/2)*Math.PI)*u,0,Math.sin(v/(g/2)*Math.PI)*u),p==="z"&&f.push(Math.sin(v/(g/2)*Math.PI)*u,Math.cos(v/(g/2)*Math.PI)*u,0);return _.setAttribute("position",new THREE.Float32BufferAttribute(f,3)),_};this.handleGizmos={X:[[new THREE.Mesh(n,new i({color:gizmo_colors.r})),[1,0,0],[0,0,-Math.PI/2]],[new THREE.Line(a,new e({color:gizmo_colors.r}))],[new THREE.Mesh(n,new i({color:gizmo_colors.r})),[-1,0,0],[0,0,-Math.PI/2]],[new THREE.Line(a,new e({color:gizmo_colors.r})),[-1,0,0]]],Y:[[new THREE.Mesh(n,new i({color:gizmo_colors.g})),[0,1,0]],[new THREE.Line(o,new e({color:gizmo_colors.g}))],[new THREE.Mesh(n,new i({color:gizmo_colors.g})),[0,-1,0]],[new THREE.Line(o,new e({color:gizmo_colors.g})),[0,-1,0]]],Z:[[new THREE.Mesh(n,new i({color:gizmo_colors.b})),[0,0,1],[Math.PI/2,0,0]],[new THREE.Line(r,new e({color:gizmo_colors.b}))],[new THREE.Mesh(n,new i({color:gizmo_colors.b})),[0,0,-1],[Math.PI/2,0,0]],[new THREE.Line(r,new e({color:gizmo_colors.b})),[0,0,-1]]],YZ:[[new THREE.Mesh(s,new i({color:gizmo_colors.r,side:THREE.DoubleSide,opacity:.5})),[0,c,c],[0,Math.PI/2,0]]],XZ:[[new THREE.Mesh(s,new i({color:gizmo_colors.g,side:THREE.DoubleSide,opacity:.5})),[c,0,c],[-Math.PI/2,0,0]]],XY:[[new THREE.Mesh(s,new i({color:gizmo_colors.b,side:THREE.DoubleSide,opacity:.5})),[c,c,0]]],E:[[new THREE.Line(new d(.13,"z",1),new e({color:gizmo_colors.outline}))]]},this.handleGizmos.X[2][0].name="NX",this.handleGizmos.X[3][0].name="NX",this.handleGizmos.Y[2][0].name="NY",this.handleGizmos.Y[3][0].name="NY",this.handleGizmos.Z[2][0].name="NZ",this.handleGizmos.Z[3][0].name="NZ",this.pickerGizmos={X:[[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[.6,0,0],[0,0,-Math.PI/2]],[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[-.6,0,0],[0,0,Math.PI/2]]],Y:[[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[0,.6,0]],[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[0,-.6,0],[Math.PI/1,0,0]]],Z:[[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[0,0,.6],[Math.PI/2,0,0]],[new THREE.Mesh(new THREE.CylinderGeometry(.2,0,1,4,1,!1),t),[0,0,-.6],[-Math.PI/2,0,0]]],XY:[[new THREE.Mesh(l,t),[c,c,0]]],YZ:[[new THREE.Mesh(l,t),[0,c,c],[0,Math.PI/2,0]]],XZ:[[new THREE.Mesh(l,t),[c,0,c],[-Math.PI/2,0,0]]],E:[[new THREE.Mesh(new THREE.SphereGeometry(.2,.12,2,24),t)]]},this.pickerGizmos.X[1][0].name="NX",this.pickerGizmos.Y[1][0].name="NY",this.pickerGizmos.Z[1][0].name="NZ",this.setActivePlane=function(u,p){var m=new THREE.Matrix4;p.applyMatrix4(m.copy(m.extractRotation(this.planes.XY.matrixWorld)).invert()),(u==="X"||u==="NX"||u=="XZ")&&(this.activePlane=this.planes.XY,Math.abs(p.y)>Math.abs(p.z)&&(this.activePlane=this.planes.XZ)),(u==="Y"||u==="NY"||u=="YZ")&&(this.activePlane=this.planes.XY,Math.abs(p.x)>Math.abs(p.z)&&(this.activePlane=this.planes.YZ)),(u==="Z"||u==="NZ"||u=="YZ")&&(this.activePlane=this.planes.XZ,Math.abs(p.x)>Math.abs(p.y)&&(this.activePlane=this.planes.YZ)),u==="E"&&(this.activePlane=this.planes.XYZE)},this.init()}},THREE.TransformGizmoRotate=class extends THREE.TransformGizmo{constructor(){super();var n=function(a,o,r){var s=new THREE.BufferGeometry,l=[];r=r||1;for(var c=0;c<=64*r;++c)o==="x"&&l.push(0,Math.cos(c/32*Math.PI)*a,Math.sin(c/32*Math.PI)*a),o==="y"&&l.push(Math.cos(c/32*Math.PI)*a,0,Math.sin(c/32*Math.PI)*a),o==="z"&&l.push(Math.sin(c/32*Math.PI)*a,Math.cos(c/32*Math.PI)*a,0);return s.setAttribute("position",new THREE.Float32BufferAttribute(l,3)),s};this.handleGizmos={X:[[new THREE.Line(new n(1,"x",.5),new e({color:gizmo_colors.r}))],[new THREE.Mesh(new THREE.OctahedronGeometry(.06,0),new e({color:gizmo_colors.r})),[0,0,.98],null,[1,4,1]]],Y:[[new THREE.Line(new n(1,"y",.5),new e({color:gizmo_colors.g}))],[new THREE.Mesh(new THREE.OctahedronGeometry(.06,0),new e({color:gizmo_colors.g})),[0,0,.98],null,[4,1,1]]],Z:[[new THREE.Line(new n(1,"z",.5),new e({color:gizmo_colors.b}))],[new THREE.Mesh(new THREE.OctahedronGeometry(.06,0),new e({color:gizmo_colors.b})),[.98,0,0],null,[1,4,1]]],E:[[new THREE.Line(new n(1.2,"z",1),new e({color:gizmo_colors.outline}))]],XYZE:[[new THREE.Line(new n(1,"z",1),new e({color:gizmo_colors.grid}))]]},this.pickerGizmos={X:[[new THREE.Mesh(new THREE.TorusGeometry(1,.12,4,12,Math.PI),t),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new THREE.Mesh(new THREE.TorusGeometry(1,.12,4,12,Math.PI),t),[0,0,0],[Math.PI/2,0,0]]],Z:[[new THREE.Mesh(new THREE.TorusGeometry(1,.12,4,12,Math.PI),t),[0,0,0],[0,0,-Math.PI/2]]],E:[[new THREE.Mesh(new THREE.TorusGeometry(1.2,.12,2,24),t)]]},this.setActivePlane=function(a){a==="E"&&(this.activePlane=this.planes.XYZE),a==="X"&&(this.activePlane=this.planes.YZ),a==="Y"&&(this.activePlane=this.planes.XZ),a==="Z"&&(this.activePlane=this.planes.XY)},this.update=function(a,o){THREE.TransformGizmo.prototype.update.apply(this,arguments);var r=new THREE.Matrix4,s=new THREE.Euler(0,0,1),l=new THREE.Quaternion,c=new THREE.Vector3(1,0,0),d=new THREE.Vector3(0,1,0),u=new THREE.Vector3(0,0,1),p=new THREE.Quaternion,m=new THREE.Quaternion,_=new THREE.Quaternion,f=o.clone();s.copy(this.planes.XY.rotation),l.setFromEuler(s),r.makeRotationFromQuaternion(l).copy(r).invert(),f.applyMatrix4(r),this.traverse(function(g){l.setFromEuler(s),g.name==="X"&&(p.setFromAxisAngle(c,Math.atan2(-f.y,f.z)),l.multiplyQuaternions(l,p),g.quaternion.copy(l)),g.name==="Y"&&(m.setFromAxisAngle(d,Math.atan2(f.x,f.z)),l.multiplyQuaternions(l,m),g.quaternion.copy(l)),g.name==="Z"&&(_.setFromAxisAngle(u,Math.atan2(f.y,f.x)),l.multiplyQuaternions(l,_),g.quaternion.copy(l))})},this.init()}},THREE.TransformGizmoSplineHandle=class extends THREE.TransformGizmo{constructor(n){super();var a=new THREE.CylinderGeometry(0,.1125,.3,12,1);let o=new THREE.BoxGeometry(.15,.15,.15),r=new THREE.BoxGeometry(.075,.075,.15),s=new THREE.BoxGeometry(.3,.3,.3),l=new THREE.BoxGeometry(.225,.225,.3);function c(){return{free:gizmo_colors.spline_handle_free,mirrored:gizmo_colors.spline_handle_mirrored,aligned:gizmo_colors.spline_handle_aligned}[BarItems.spline_handle_mode?BarItems.spline_handle_mode.value:"aligned"]}this.spline=n.uuid,this.handle=n.hKey,this.joint=n.joint,this.ctrl1=n.ctrl1,this.ctrl2=n.ctrl2,this.vKeyJoint=n.vKeyJoint,this.vKeyCtrl1=n.vKeyCtrl1,this.vKeyCtrl2=n.vKeyCtrl2,this.handleEuler=OutlinerNode.uuids[this.spline].getHandleEuler(this.handle),this.arrowEuler=OutlinerNode.uuids[this.spline].getHandleEuler(this.handle,new THREE.Euler(Math.PI/2,0,Math.PI/2,"ZXY"));let d=new THREE.BufferGeometry,u=new THREE.BufferGeometry;d.setAttribute("position",new THREE.Float32BufferAttribute([...this.joint,...this.ctrl1],3)),u.setAttribute("position",new THREE.Float32BufferAttribute([...this.joint,...this.ctrl2],3));let p=()=>new i({color:()=>c()}),m=()=>new e({color:()=>c()}),_=n.c1Arrow===!0?this.arrowEuler.c1:this.handleEuler.c1,f=n.c2Arrow===!0?this.arrowEuler.c2:this.handleEuler.c2;this.handleGizmos={C1:[[new THREE.Mesh(n.c1Arrow?a:r,p()),this.ctrl1,_],[new THREE.Line(d,m())]],C2:[[new THREE.Mesh(n.c2Arrow?a:r,p()),this.ctrl2,f],[new THREE.Line(u,m())]],J:[[new THREE.Mesh(o,p()),this.joint,this.handleEuler.combined]]},this.pickerGizmos={C1:[[new THREE.Mesh(l,t),this.ctrl1,this.handleEuler.c1]],C2:[[new THREE.Mesh(l,t),this.ctrl2,this.handleEuler.c2]],J:[[new THREE.Mesh(s,t),this.joint,this.handleEuler.combined]]},this.positionDebugHit=function(g){this.handleGizmos.DEBUG_PICKER[0][0].position.set(g.x,g.y,g.z)},this.setHandleScale=function(){for(let g in this.handleGizmos){if(g==="DEBUG_PICKER")continue;let v=this.handleGizmos[g][0][0],b=this.handleGizmos[g][0][1],x=this.getScale(b);v.geometry.center(),v.scale.set(x,x,x),v.geometry.translate(b[0]/x,b[1]/x,b[2]/x)}for(let g in this.pickerGizmos){let v=this.pickerGizmos[g][0][0],b=this.pickerGizmos[g][0][1],x=this.getScale(b);v.geometry.center(),v.scale.set(x,x,x),v.geometry.translate(b[0]/x,b[1]/x,b[2]/x)}},this.getScale=function(g){let x=OutlinerNode.uuids[this.spline].mesh.localToWorld(g.V3_toThree());return Transformer.camera.preview.calculateControlScale(x)*settings.control_size.value*.74},this.verifySelection=function(){let g=Project.spline_selection[this.spline]?.vertices||[],v=g.includes(this.vKeyCtrl1),b=g.includes(this.vKeyJoint),x=g.includes(this.vKeyCtrl2);return{C1:v,C2:x,J:b}},this.highlight=function(g){for(let v in this.handleGizmos){let b=this.handleGizmos[v],x=b[0][0],w=!1;b.length==2&&(w=b[1][0]),x.material&&x.material.highlight&&(this.verifySelection()[v]?v==g?(x.material.highlight(!0),w&&w.material.highlight(!0)):(x.material.highlightSelected(!1),w&&w.material.highlightSelected(!1)):v==g?(x.material.highlight(!0),w&&w.material.highlight(!0)):(x.material.highlight(!1),w&&w.material.highlight(!1)))}},this.select=function(){for(let g in this.handleGizmos){let v=this.handleGizmos[g],b=v[0][0],x=!1;v.length==2&&(x=v[1][0]),b.material&&b.material.select&&(this.verifySelection()[g]?(b.material.select(!0),x&&x.material.select(!0)):(b.material.select(!1),x&&x.material.select(!1)))}},this.init()}},THREE.SplineGizmoController=class extends THREE.Object3D{constructor(n,a){super(),a=a!==void 0?a:document,this.camera=n,this.spline_handles=[],this.spline=null,this.handleMode=null,this.reportStatus=function(){console.log({Gizmos:this.spline_handles,"Previous Handle Mode":this.handleMode,"Previous Spline":this.spline,"Scope Axis":Transformer.axis})},this.getCurrent=function(){return this.spline_handles[this.spline_handle_index]},this.changeHandleMode=function(o){o==="handles"&&o!==this.handleMode&&(this.remove(...this.spline_handles),this.spline_handles.empty(),this.refreshGizmos()),this.handleMode=o,this.updateAllGizmoTransforms()},this.refreshGizmos=function(o){let r=SplineMesh.selected[0];this.clear();for(let s in r.handles){let l={};l.joint=r.vertices[r.handles[s].joint],l.ctrl1=r.vertices[r.handles[s].control1],l.ctrl2=r.vertices[r.handles[s].control2],l.vKeyJoint=r.handles[s].joint,l.vKeyCtrl1=r.handles[s].control1,l.vKeyCtrl2=r.handles[s].control2,l.uuid=r.uuid,l.hKey=s,l.c1Arrow=s==r.getFirstHandle().key,l.c2Arrow=s==r.getLastHandle().key,this.spline_handles.push(new THREE.TransformGizmoSplineHandle(l))}this.add(...this.spline_handles),this.traverse(s=>{s.renderOrder=999}),o&&o.attach(r),this.spline=r},this.tryAssignIndex=function(o){o instanceof THREE.TransformGizmoSplineHandle&&(this.spline_handle_index=this.spline_handles.indexOf(o))},this.tryHighlight=function(o){let r=!1,s=[];this.spline_handles.forEach(l=>{let c=this.spline_handle_index==this.spline_handles.indexOf(l);c&&(l.highlight(o),s.push(this.spline_handles.indexOf(l))),r||(r=c)})},this.trySelect=function(){this.spline_handles.forEach(o=>{o.select()})},this.selectSplinePoints=function(o){let r=this.getCurrent(),s=OutlinerNode.uuids[r.spline],l=OutlinerNode.uuids[r.spline].handles[r.handle];selectSplinePoints(s,l,o.axis)&&this.trySelect(),updateSelection(),o.updateSelection(),o.update(),this.updateAllGizmoTransforms()},this.verifyValidity=function(){(!SplineMesh.selected.length||this.spline!=SplineMesh.selected[0]||BarItems.spline_selection_mode.value==="object"||!Modes.edit)&&this.clear()},this.clear=function(){this.remove(...this.spline_handles),this.spline_handles.empty()},this.interesct=function(o,r){let s=!1;for(let l of this.spline_handles)s||(s=r(o,l.pickers.children));return s},this.hideOtherGizmos=function(o,r){if(BarItems.spline_selection_mode&&this.spline_handles.length)for(var s in o){let l=this.spline_handles[0].spline,c=BarItems.spline_selection_mode.value==="object"||OutlinerNode.uuids[l].getSelectedVertices().length>0;o[s].visible=s===r&&c}},this.updateAllGizmoTransforms=function(){this.spline_handles.forEach(o=>{this.updateGizmoTransform(o)})},this.updateGizmoTransform=function(o){let{vec1:r,euler1:s,quat1:l}=Reusable,d=OutlinerNode.uuids[o.spline].mesh,u=d.getWorldQuaternion(l);r.set(0,0,0),r.applyQuaternion(u),r.add(THREE.fastWorldPosition(d,Reusable.vec2)),s.setFromQuaternion(u),o.setHandleScale(),o.position.copy(r),o.rotation.copy(s)}}},THREE.TransformControls=class extends THREE.Object3D{constructor(n,a){super(),a=a!==void 0?a:document,this.camera=n,this.elements=[],this.visible=!1,this.space="world",this.size=1,this.axis=null,this.hoverAxis=null,this.direction=!0,this.last_valid_position=new THREE.Vector3,this.rotation_selection=new THREE.Euler,this.firstLocation=[0,0,0];var o=this,r="translate",s=!1,l={translate:new THREE.TransformGizmoTranslate,scale:new THREE.TransformGizmoScale,rotate:new THREE.TransformGizmoRotate,stretch:new THREE.TransformGizmoScale};for(var c in l){var d=l[c];d.visible=c===r,this.add(d)}this.pivot_marker=new THREE.Mesh(new THREE.IcosahedronGeometry(.08),new THREE.MeshBasicMaterial),this.pivot_marker.material.depthTest=!1,this.pivot_marker.material.depthWrite=!1,this.pivot_marker.material.side=THREE.FrontSide,this.pivot_marker.material.transparent=!0,this.pivot_marker.material.color=gizmo_colors.outline,this.children[0].add(this.pivot_marker),this.traverse(H=>{H.renderOrder=999}),this.children[2].children[0].children[6].renderOrder-=9,this.children[2].scale.set(.8,.8,.8);var u={type:"change"},p={type:"mouseDown"},m={type:"mouseUp",mode:r},_={type:"objectChange"},f=new THREE.Raycaster,g=new THREE.Vector2,v=new THREE.Vector3,b=new THREE.Vector3,x=new THREE.Vector3,w=1,E=new THREE.Vector3,y=new THREE.Matrix4,A=null,R=0,j=new THREE.Vector3,F=new THREE.Euler,O=new THREE.Vector3;this.attach=function(H){Canvas.show_gizmos!=!1&&(this.elements.safePush(H),this.visible=!0)},this.detach=function(){this.elements.length=0,this.visible=!1,this.axis=null,this.hoverAxis=null,SplineGizmos.verifyValidity()},this.setMode=function(H){if(H!=="hidden"){r=H||r,r==="scale"&&(o.space="local");for(var re in l)l[re].visible=re===r&&(BarItems.spline_selection_mode.value=="object"||Project.spline_selection.length);H=="translate"&&(this.pivot_marker.visible=Toolbox.selected.visible=Toolbox.selected.id=="pivot_tool"),this.update(),o.dispatchEvent(u)}},this.setSize=function(H){o.size=H,this.update(),o.dispatchEvent(u)},this.setSpace=function(H){o.space=H,this.update(),o.dispatchEvent(u)},this.getScale=function(){return Transformer.camera.updateMatrixWorld(),O.setFromMatrixPosition(Transformer.camera.matrixWorld),Transformer.camera.preview.calculateControlScale(j)*settings.control_size.value*.74},this.setScale=function(H){Transformer.scale.set(H,H,H)},this.update=function(H){var re=Transformer;H||(H=this.rotation_ref),re.elements.length==0&&this.detach(),this.getWorldPosition(j),this.setScale(this.getScale()),l.rotate.children[0].children[6].visible=!(Format&&Format.rotation_limit&&Modes.edit);let K=re.camera.preview.calculateControlScale(Canvas.pivot_marker.getWorldPosition(new THREE.Vector3))*settings.origin_size.value*.2;if(Canvas.pivot_marker.scale.set(K,K,K),Canvas.pivot_marker.base_scale&&Canvas.pivot_marker.scale.multiply(Canvas.pivot_marker.base_scale),re.camera instanceof THREE.PerspectiveCamera?E.copy(O).sub(j).normalize():re.camera instanceof THREE.OrthographicCamera&&E.copy(O).normalize(),re.elements.length!=0){if(H){if(this.dragging||F.setFromRotationMatrix(y.extractRotation(H.matrixWorld)),Toolbox.selected.transformerMode==="rotate"?(l[r].update(F,E),this.rotation.set(0,0,0)):Toolbox.selected.transformerMode==="scale"||Toolbox.selected.transformerMode==="stretch"?(l[r].update(F,E),H.getWorldQuaternion(this.rotation)):H.getWorldQuaternion(this.rotation),this.rotation_selection.x||this.rotation_selection.y||this.rotation_selection.z){let pe=Reusable.quat1.setFromEuler(this.rotation_selection);this.quaternion.multiply(pe),F.setFromQuaternion(this.quaternion)}}else F.set(0,0,0),this.rotation.set(0,0,0),l[r].update(F,E);l[r].highlight(re.axis),SplineGizmos.updateAllGizmoTransforms(),SplineGizmos.tryAssignIndex(re.lastGizmoIntersected),SplineGizmos.tryHighlight(re.axis),SplineGizmos.trySelect(),SplineGizmos.hideOtherGizmos(l,r)}},this.fadeInControls=function(H){(!H||typeof H!="number")&&(H=10);var re=Transformer;w=this.getScale();var K=Transformer.scale.x,pe=(w-K)/H,xe=0,le=setInterval(function(){xe++,Transformer.setScale(K+xe*pe),xe>=H&&clearInterval(le)},16)},this.setCanvas=function(H){this.canvas&&(this.canvas.removeEventListener("mousedown",ie),this.canvas.removeEventListener("touchstart",ie),this.canvas.removeEventListener("mousemove",J),this.canvas.removeEventListener("touchmove",J)),this.canvas=H,this.canvas.addEventListener("mousedown",ie,!1),this.canvas.addEventListener("touchstart",ie,{passive:!0}),this.canvas.addEventListener("mousemove",J,!1),this.canvas.addEventListener("touchmove",J,{passive:!0})},this.setCanvas(a),this.simulateMouseDown=function(H){ie(H)},this.updateSelection=function(){if(this.elements.empty(),Toolbox.selected&&Toolbox.selected.transformerMode!=="hidden"){if(Modes.edit||Modes.pose||Toolbox.selected.id=="pivot_tool")if(SplineMesh.hasSelected()&&BarItems.spline_selection_mode.value!=="object")SplineGizmos.refreshGizmos(o);else if(Outliner.selected.length)Outliner.selected.forEach(H=>{(H.getTypeBehavior("movable")&&Toolbox.selected.transformerMode=="translate"||H.getTypeBehavior("resizable")&&(Toolbox.selected.transformerMode=="scale"||Toolbox.selected.transformerMode=="stretch")||H.getTypeBehavior("rotatable")&&Toolbox.selected.transformerMode=="rotate")&&o.attach(H)});else if(Group.first_selected&&Al()?.equals(Group.multi_selected))o.attach(Group.first_selected);else return this.update(),this;this.center()}return SplineGizmos.verifyValidity(),this.update(),this},Object.defineProperty(this,"dragging",{get(){return $i.active==$i.types.gizmo_transform}}),this.center=function(){delete Transformer.rotation_ref,o.dragging||Transformer.rotation_selection.set(0,0,0);let H=$r.active;H&&(H.updateGizmo({}),Transformer.update())},this.cancelMovement=function(H,re=!1){me(H,re);let K=$r.active;K&&K.dispatchCancel({event:H,keep_changes:re})};function L(H,re){let K=getAxisNumber(re);if(typeof K!="number")return;let pe=l[r].children[0];switch(Toolbox.selected.transformerMode){default:var xe=pe.children[K*2];break;case"scale":case"stretch":var xe=pe.children[(K*2+(o.direction?1:0))*2];break;case"rotate":var xe=Canvas.pivot_marker;break}xe.scale[re]=H?2e4:1,Toolbox.selected.transformerMode!=="rotate"?xe.position[re]=H?-1e4:o.direction||Toolbox.selected.transformerMode!=="scale"&&Toolbox.selected.transformerMode!=="stretch"?0:-1:xe.base_scale[re]=H?2e4:1}function U(H){let re=o.axis.substr(-1).toLowerCase(),K=o.axis.length==2&&o.axis[0]!="N"&&o.axis[0].toLowerCase();L(H,re),K&&L(H,K),l[r].highlight(o.axis)}function J(H){if(!(o.elements.length===0||H.button!==void 0&&H.button!==0)){var re=H.changedTouches?H.changedTouches[0]:H,K=Q(re,l[r].pickers.children)||SplineGizmos.interesct(re,Q);s!==!0&&(o.hoverAxis=null,K&&(o.hoverAxis=K.object.name,o.lastGizmoIntersected=K.object.parent.parent,SplineGizmos.tryAssignIndex(o.lastGizmoIntersected),SplineGizmos.tryHighlight(o.hoverAxis),H.preventDefault()),o.axis!==o.hoverAxis&&(o.axis=o.hoverAxis,o.update(),o.dispatchEvent(u)))}}function ie(H){if(document.addEventListener("mouseup",me,!1),!(o.elements.length===0||s===!0||H.button!==void 0&&H.button!==0)){var re=H.changedTouches?H.changedTouches[0]:H;if(re.button===0||re.button===void 0){var K=Q(re,l[r].pickers.children)||SplineGizmos.interesct(re,Q);if(K){if(o.was_clicked=!0,o.axis=="C1"||o.axis=="C2"||o.axis=="J"){$i.endTarget(),SplineGizmos.selectSplinePoints(o),SplineGizmos.hideOtherGizmos(l,r),H.preventDefault(),H.stopPropagation(),o.dispatchEvent(p),o.axis=K.object.name,o.update(),s=!1;return}$i.requestTarget($i.types.gizmo_transform),document.addEventListener("touchend",me,{passive:!0}),document.addEventListener("touchcancel",me,{passive:!0}),document.addEventListener("touchleave",me,{passive:!0}),document.addEventListener("mousemove",te,!1),document.addEventListener("touchmove",te,{passive:!0}),Transformer.getWorldPosition(j),H.preventDefault(),H.stopPropagation(),o.dispatchEvent(p),o.axis=K.object.name,o.update(),E.copy(O).sub(j).normalize(),l[r].setActivePlane(o.axis,E);var pe=Q(re,[l[r].activePlane]);o.last_valid_position.copy(o.position),(Toolbox.selected.id==="resize_tool"||Toolbox.selected.id==="stretch_tool")&&(o.direction=o.axis.substr(0,1)!=="N"),pe&&(x.copy(pe.point),$r.active&&$r.active.dispatchPointerDown({event:H}),Toolbox.selected.id!=="pivot_tool"&&Canvas.outlineObjects(Outliner.selected),U(!0)),s=!0}}}}function te(H){if(o.elements.length==0||o.axis===null||s===!1||H.button!==void 0&&H.button!==0)return;var re=H.changedTouches?H.changedTouches[0]:H,K=Q(re,[l[r].activePlane]);if(!K)return;H.stopPropagation();let pe=$r.active;var xe=(o.direction==!1&&o.axis.length==2?o.axis[1]:o.axis[0]).toLowerCase(),le=getAxisNumber(xe),Be,X,ne,Me;if(o.axis.length==2&&o.axis[0]!=="N"&&(X=o.axis[1].toLowerCase(),ne=getAxisNumber(X)),v.copy(K.point),Toolbox.selected.transformerMode!=="rotate")v.sub(x),Modes.display||v.removeEuler(F);else if(v.sub(j),v.removeEuler(F),o.axis=="E"){let et=new THREE.Matrix4().copy(l[r].activePlane.matrix).invert();v.applyMatrix4(et),Me=Math.radToDeg(Math.atan2(v.y,v.x)),Be=Preview.selected.camera.getWorldDirection(new THREE.Vector3).multiplyScalar(-1)}else{var Ue=[Math.atan2(v.z,v.y),Math.atan2(v.x,v.z),Math.atan2(v.y,v.x)];Me=Math.radToDeg(Ue[le])}pe&&pe.dispatchMove({event:H,point:v,axis:xe,axis_number:le,second_axis:X,second_axis_number:ne,rotate_normal:Be,direction:o.direction?1:-1,angle:Me}),o.dispatchEvent(u),o.dispatchEvent(_)}function me(H,re=!0){if(document.removeEventListener("mouseup",me),$i.endTarget(),o.was_clicked=!1,document.removeEventListener("mousemove",te),document.removeEventListener("touchmove",te),document.removeEventListener("touchend",me),document.removeEventListener("touchcancel",me),document.removeEventListener("touchleave",me),o.axis=="C1"&&o.axis=="C2"&&o.axis=="J"&&J(H),!(H.button!==void 0&&H.button!==0&&H.button!==2)){if(s&&o.axis!==null){m.mode=r,o.dispatchEvent(m),o.orbit_controls.stopMovement(),Canvas.outlines.children.length=0,A=null,U(!1),Blockbench.setCursorTooltip();let K=$r.active;K&&K.dispatchEnd({event:H,keep_changes:re}),K?.has_changed&&Blockbench.startup_count<=1&&!Blockbench.hasFlag("size_modifier_message")&&(Blockbench.addFlag("size_modifier_message"),setTimeout(()=>{Blockbench.showToastNotification({text:"message.size_modifiers",expire:1e4})},5e3))}s=!1,"TouchEvent"in window&&H instanceof TouchEvent?(o.axis=null,o.update(),o.dispatchEvent(u)):J(H)}}function Q(H,re){var K=o.canvas.getBoundingClientRect(),pe=(H.clientX-K.left)/K.width,xe=(H.clientY-K.top)/K.height;g.set(pe*2-1,-(xe*2)+1),f.setFromCamera(g,o.camera);var le=f.intersectObjects(re,!0);return le[0]?le[0]:!1}this.dispatchPointerHover=J}}})();var z1;(c=>{let i=null;c.dialog=new Dialog({id:"scale",title:"dialog.scale.title",darken:!1,buttons:["dialog.scale.confirm","dialog.cancel"],form:{axis:{label:"dialog.scale.axis",type:"inline_multi_select",options:{x:"X",y:"Y",z:"Z"},value:{x:!0,y:!0,z:!0}},origin:{label:"data.origin",type:"vector",dimensions:3,value:[0,0,0]},pivot_options:{label:" ",type:"buttons",buttons:["dialog.scale.element_pivot","dialog.scale.selection_center"],click:d=>{s(d?"selection":"pivot")}},scale:{type:"range",min:0,max:4,step:.01,value:1,full_width:!0,editable_range_label:!0},overflow_info:{condition:()=>!!i,type:"info",text:"dialog.scale.clipping"},select_overflow:{condition:()=>!!i,type:"buttons",buttons:["dialog.scale.select_overflow"],click(){l()}},box_uv_warning:{condition:d=>d.scale!==1&&Project.box_uv&&Texture.all.length>0,type:"info",text:"dialog.scale.box_uv_warning"}},onFormChange(){o()},onOpen(){i=null,Blockbench.once("open_bar_menu",()=>{c.dialog==Dialog.open&&c.dialog.cancel()}),setTimeout(()=>{this.object.style.top=Interface.page_wrapper.offsetTop+"px"},0)},onConfirm(){o(!0)},onCancel(){r()}});function t(){Outliner.selected.length==0&&(setActivePanel("preview"),BarItems.select_all.click());let d=n();Undo.initEdit({elements:Outliner.selected,outliner:Format.bone_rig,groups:d}),Outliner.selected.forEach(m=>{let _={from:"from"in m&&m.from instanceof Array?m.from.slice():void 0,to:"to"in m&&m.to instanceof Array?m.to.slice():void 0,origin:"origin"in m&&m.origin instanceof Array?m.origin.slice():void 0,vertices:void 0};if(m instanceof Mesh){_.vertices={};for(let f in m.vertices)_.vertices[f]=m.vertices[f].slice()}m.temp_data.before=_}),d.forEach(m=>{m.temp_data.old_origin=m.origin.slice()}),c.dialog.show();let u=Format.centered_grid?0:8,p=Group.first_selected?Group.first_selected.origin:[u,0,u];c.dialog.setFormValues({origin:p,scale:1}),o(!1,1)}c.openDialog=t;function n(){return Format.bone_rig?Group.first_selected?Group.all.filter(d=>d.selected):Outliner.selected.length==Outliner.elements.length&&Group.all.length?Group.all:[]:[]}c.getScaleGroups=n;function a(d,u,p,m,_){let f=[];d.forEach(function(g){g instanceof Cube&&(g.autouv=0);let v=g instanceof Cube?g.inflate:0,b=g.temp_data.before;b||(b=g),m.forEach(function(x,w){if(!_||_[getAxisLetter(w)]){if("from"in g&&(g.from[w]=(b.from[w]-v-x)*p,g.from[w]=g.from[w]+v+x),"to"in g&&"from"in g&&(g.to[w]=(b.to[w]+v-x)*p,g.to[w]=g.to[w]-v+x,Format.integer_size&&(g.to[w]=g.from[w]+Math.round(g.to[w]-g.from[w]))),"origin"in g&&(g.origin[w]=(b.origin[w]-x)*p,g.origin[w]=g.origin[w]+x),g instanceof Mesh)for(let E in g.vertices)g.vertices[E][w]=b.vertices[E][w]*p}else if("from"in g&&(g.from[w]=b.from[w]),"to"in g&&(g.to[w]=b.to[w]),"origin"in g&&(g.origin[w]=b.origin[w]),g instanceof Mesh)for(let E in g.vertices)g.vertices[E][w]=b.vertices[E][w]}),g.getTypeBehavior("cube_size_limit")&&Format.cube_size_limiter&&(Format.cube_size_limiter.test(g)&&f.push(g),settings.deactivate_size_limit.value||Format.cube_size_limiter.clamp(g)),g.getTypeBehavior("cube_faces")&&"box_uv"in g&&g.box_uv&&g.preview_controller.updateUV(g)}),u.forEach(g=>{let v=g.temp_data.old_origin??g.origin.slice();(!_||_.x)&&(g.origin[0]=(v[0]-m[0])*p+m[0]),(!_||_.y)&&(g.origin[1]=(v[1]-m[1])*p+m[1]),(!_||_.z)&&(g.origin[2]=(v[2]-m[2])*p+m[2])},Group),f.length&&Format.cube_size_limiter&&!settings.deactivate_size_limit.value?f=f:f=null,Canvas.updateView({elements:d,groups:u,element_aspects:{geometry:!0,transform:!0},group_aspects:{transform:!0},selection:!0})}c.scaleElements=a;function o(d,u){let p=c.dialog.getFormResult();u===void 0&&(u=p.scale);let{origin:m}=p,_=n();a(Outliner.selected,_,u,m,p.axis),d===!0&&Undo.finishEdit("Scale model")}function r(){Outliner.selected.forEach(function(d){if(d===void 0)return;let u=d.temp_data.before;if("from"in d&&d.from instanceof Array&&d.from.V3_set(u.from),"to"in d&&d.to instanceof Array&&d.to.V3_set(u.to),"origin"in d&&d.origin instanceof Array&&d.origin.V3_set(u.origin),d instanceof Mesh)for(let p in d.vertices)d.vertices[p].V3_set(u.vertices[p]);delete d.temp_data.before,d instanceof Cube&&d.box_uv&&d.preview_controller.updateUV(d)}),c.getScaleGroups().forEach(d=>{d.origin[0]=d.temp_data.old_origin[0],d.origin[1]=d.temp_data.old_origin[1],d.origin[2]=d.temp_data.old_origin[2],delete d.temp_data.old_origin},Group),Canvas.updateView({elements:Outliner.selected,element_aspects:{geometry:!0,transform:!0},groups:c.getScaleGroups(),group_aspects:{transform:!0},selection:!0})}function s(d){let u;d==="selection"?u=getSelectionCenter():u=Cube.selected[0]?.origin||Mesh.selected[0]?.origin,u&&c.dialog.setFormValues({origin:u})}function l(){r(),c.dialog.hide(),Outliner.selected.empty(),i.forEach(d=>{d.markAsSelected()}),updateSelection()}})(z1||(z1={}));BARS.defineActions(function(){new Action("scale",{icon:"settings_overscan",category:"transform",condition:()=>Modes.edit&&Outliner.elements.length>0,click(){z1.openDialog()}})});var Qne={ModelScaler:z1};Object.assign(window,Qne);var hi={step1:!0,vertex_gizmos:new THREE.Object3D,line:new THREE.Line(new THREE.BufferGeometry,ct.outlineMaterial),elements_with_vertex_gizmos:[],hovering:!1,addVertices:function(i){if(hi.elements_with_vertex_gizmos.includes(i)||i.visibility===!1)return;let{mesh:e}=i;if($("#preview").get(0).removeEventListener("mousemove",hi.hoverCanvas),$("#preview").get(0).addEventListener("mousemove",hi.hoverCanvas),!e.vertex_points){e.updateMatrixWorld();let t=[];if(e.geometry){let r=e.geometry.attributes.position.array;if(i instanceof SplineMesh){let s=r.slice(),l=e.pathLine.geometry.attributes.position.array;r=new Float32Array(s.length+l.length),r.set(s),r.set(l,s.length)}else if(r.length&&r.length%3==0)for(let s=0;s<r.length;s+=3){let l=[r[s],r[s+1],r[s+2]];t.find(c=>l.equals(c))||t.push(l)}}t.push([0,0,0]);let n=new THREE.Points(new THREE.BufferGeometry,new THREE.PointsMaterial().copy(ct.meshVertexMaterial));n.element_uuid=i.uuid,n.vertices=t;let a=[];t.forEach(r=>a.push(...r));let o=[];t.forEach(r=>o.push(gizmo_colors.grid.r,gizmo_colors.grid.g,gizmo_colors.grid.b)),n.geometry.setAttribute("position",new THREE.BufferAttribute(new Float32Array(a),3)),n.geometry.setAttribute("color",new THREE.Float32BufferAttribute(new Float32Array(o),3)),n.material.transparent=!0,e.vertex_points=n,e.outline?e.outline.add(n):e.add(n)}e.vertex_points.visible=!0,e.vertex_points.renderOrder=900,hi.elements_with_vertex_gizmos.push(i)},clearVertexGizmos:function(){Project.model_3d.remove(hi.line),hi.elements_with_vertex_gizmos.forEach(i=>{i.mesh&&i.mesh.vertex_points&&(i.mesh.vertex_points.visible=!1,i instanceof Mesh||(i.mesh.vertex_points.parent.remove(i.mesh.vertex_points),delete i.mesh.vertex_points))}),hi.elements_with_vertex_gizmos.empty(),$("#preview").get(0).removeEventListener("mousemove",hi.hoverCanvas)},hoverCanvas:function(i){let e=ct.raycast(i);if(hi.hovering&&(Project.model_3d.remove(hi.line),hi.elements_with_vertex_gizmos.forEach(n=>{let a=n.mesh.vertex_points,o=[];for(let r=0;r<a.geometry.attributes.position.count;r++){let s;e&&e.element==n&&e.type=="vertex"&&e.vertex_index==r?s=gizmo_colors.outline:s=gizmo_colors.grid,o.push(s.r,s.g,s.b)}a.material.depthTest=e.element!=n,a.geometry.setAttribute("color",new THREE.Float32BufferAttribute(o,3))})),!e||e.type!=="vertex"){Blockbench.setStatusBarText();return}if(hi.hovering=!0,hi.step1===!1){let{line:n}=hi,{geometry:a}=n,o=hi.getGlobalVertexPos(e.element,e.vertex);a.setAttribute("position",new THREE.BufferAttribute(new Float32Array([...hi.vertex_pos.toArray(),...o.toArray()]),3)),n.renderOrder=900,Project.model_3d.add(hi.line),hi.line.position.copy(scene.position).multiplyScalar(-1);var t=new THREE.Vector3().copy(hi.vertex_pos);t.sub(o),Blockbench.setStatusBarText(tl("status_bar.vertex_distance",[trimFloatNumber(t.length())]))}},select:function(){hi.clearVertexGizmos(),Outliner.selected.forEach(function(i){hi.addVertices(i)});for(let i of Group.multi_selected)hi.addVertices(i);Outliner.selected.length&&$("#preview").css("cursor",hi.step1?"copy":"alias")},canvasClick:function(i){i&&(i.type!=="vertex"&&["locator","null_object"].includes(i.element?.type)==!1||(hi.step1?(hi.step1=!1,hi.vertex_pos=hi.getGlobalVertexPos(i.element,i.vertex),hi.vertex_index=i.vertex_index,hi.move_origin=i.vertex instanceof Array?i.vertex.allEqual(0):!1,hi.elements=Outliner.selected.slice(),hi.groups=Group.multi_selected.slice(),i.element instanceof Mesh&&BarItems.selection_mode.value=="vertex"&&i.element.getSelectedVertices(!0).safePush(i.vertex),hi.selected_vertices=JSON.parse(JSON.stringify(Project.mesh_selection)),hi.clearVertexGizmos(),$("#preview").css("cursor",hi.step1?"copy":"alias")):(hi.snap(i),$("#preview").css("cursor",hi.step1?"copy":"alias")),Blockbench.setStatusBarText()))},getGlobalVertexPos(i,e){let t=new THREE.Vector3;return e instanceof Array?t.fromArray(e):typeof e=="string"&&t.fromArray(i.vertices[e]),i.mesh.localToWorld(t),t},snap:function(i,e=0,t){let n=hi.elements.slice();if(hi.groups.length)for(let l of hi.groups)l.forEachChild(c=>n.safePush(c),OutlinerElement);Undo.initEdit({elements:n,groups:hi.groups},t);let a=BarItems.vertex_snap_mode.get();function o(l){e.ignore_axis?.x&&(l.x=0),e.ignore_axis?.y&&(l.y=0),e.ignore_axis?.z&&(l.z=0)}if(hi.move_origin)if(hi.groups.length)for(let l of hi.groups){let c=hi.getGlobalVertexPos(i.element,i.vertex);Format.bone_rig&&l.parent instanceof Group&&l.mesh.parent&&l.mesh.parent.worldToLocal(c);let d=c.toArray();d.V3_add(l.parent.origin),l.transferOrigin(d)}else hi.elements.forEach(function(l){let c=hi.getGlobalVertexPos(i.element,i.vertex);Format.bone_rig&&l.parent instanceof Group&&l.mesh.parent&&l.mesh.parent.worldToLocal(c),c.sub(ct.scene.position);let d=c.toArray();d.V3_add(l.parent.origin),l.transferOrigin(d)});else{let l=hi.getGlobalVertexPos(i.element,i.vertex),c=new THREE.Vector3().copy(l).sub(hi.vertex_pos);if(a==="scale"&&!Format.integer_size&&hi.elements[0]instanceof Cube){var r;switch(hi.vertex_index){case 0:r=[1,1,1];break;case 1:r=[1,1,0];break;case 2:r=[1,0,1];break;case 3:r=[1,0,0];break;case 4:r=[0,1,0];break;case 5:r=[0,1,1];break;case 6:r=[0,0,0];break;case 7:r=[0,0,1];break}hi.elements.forEach(function(d){if(d instanceof Cube){var u=d.mesh.getWorldQuaternion(new THREE.Quaternion).invert(),p=new THREE.Vector3().copy(c).applyQuaternion(u);o(p);for(let m=0;m<3;m++)r[m]===1?d.to[m]=d.to[m]+p.getComponent(m):d.from[m]=d.from[m]+p.getComponent(m);Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Format.cube_size_limiter.clamp(d),d.box_uv&&d.visibility&&d.preview_controller.updateUV(d)}})}else a==="move"?hi.elements.forEach(function(d){var u=new THREE.Vector3().copy(c);if(d instanceof Mesh&&hi.selected_vertices&&hi.selected_vertices[d.uuid]){let _=hi.selected_vertices[d.uuid].vertices;var p=d.mesh.getWorldQuaternion(Reusable.quat1).invert();u.applyQuaternion(p),o(u);let f=u.toArray();_.forEach(g=>{d.vertices[g]&&d.vertices[g].V3_add(f)})}else{if(Format.bone_rig&&d.parent instanceof Group){var p=d.mesh.parent.getWorldQuaternion(Reusable.quat1).invert();u.applyQuaternion(p)}if(d instanceof Cube&&Format.rotate_cubes&&d.origin.V3_add(u),o(u),d.moveVector){var m=d.moveVector(u.toArray());!m&&Format.cube_size_limiter&&!settings.deactivate_size_limit.value&&Blockbench.showMessageBox({translateKey:"canvas_limit_error"})}else d.position&&d.position.V3_add(u.toArray())}}):a=="rotate"&&hi.elements.forEach(d=>{let u=d.mesh.worldToLocal(new THREE.Vector3().copy(hi.vertex_pos)),p=d.mesh.worldToLocal(new THREE.Vector3().copy(l));if(o(u),o(p),e.align!="direction"||!t){let f=p.length(),g="x";"xyz".includes(e.align)?g=e.align:(u.y>u.x&&(g="y"),u.z>u.y&&(g="z"));let v=["x","y","z"].filter(b=>b!=g);u[g]=Math.sqrt(f**2-u[v[0]]**2-u[v[1]]**2)}u.normalize(),p.normalize();let m=new THREE.Quaternion().setFromUnitVectors(u,p);d.mesh.quaternion.multiply(m);let _=d.mesh.rotation.toArray().slice(0,3).map(Math.radToDeg);d.extend({rotation:_})})}hi.clearVertexGizmos();let s={elements:n,element_aspects:{transform:!0,geometry:!0},selection:!0};if(hi.groups.length&&(s.groups=hi.groups,s.group_aspects={transform:!0}),ct.updateView(s),hi.groups.length&&!Group.first_selected&&hi.groups[0].select(),Undo.finishEdit("Use vertex snap"),Mesh.selected[0]){let l=hi.selected_vertices?.[Mesh.selected[0].uuid]?.vertices;al(l)}hi.step1=!0,t||Undo.amendEdit({align:{type:"select",condition:a=="rotate",label:"edit.vertex_snap.align",options:{longest:"edit.vertex_snap.align.longest",direction:"edit.vertex_snap.align.direction",x:tl("edit.vertex_snap.align.align_axis","X"),y:tl("edit.vertex_snap.align.align_axis","Y"),z:tl("edit.vertex_snap.align.align_axis","Z")}},ignore_axis:{type:"inline_multi_select",label:tl("edit.vertex_snap.ignore_axis",""),options:{x:"X",y:"Y",z:"Z"},value:{x:!1,y:!1,z:!1}}},l=>{hi.snap(i,l,!0)})}};Object.assign(window,{Vertexsnap:hi});function Xd(i,e){return i.equals(e)||i[0]==e[1]&&i[1]==e[0]}function eae(i,e){let t=e.getAllBones();if(i.preview_controller.updateTransform(i),e){i.sortAllFaceVertices();let n=t.map(s=>{let l=new Ve.Vector3,c=s.children[0];c?l.fromArray(c.position):l.y=s.length;let d=s.getWorldCenter(),u=s.mesh.localToWorld(l);return{bone:s,name:s.name,tail_offset:l,start:d,end:u,line:new Ve.Line3(d,u)}}),a={},o={};for(let s in i.vertices){let l=new Ve.Vector3().fromArray(i.vertices[s]);i.scene_object.localToWorld(l),o[s]=l}for(let s in i.vertices)a[s]||(a[s]=[]),!(a[s].length>=4)&&iae(i,s).forEach(l=>{if(l.length>15)return;let d=[l[0][0],l[Math.floor(l.length*.33)][0],l[Math.floor(l.length*.66)][0]].map(v=>o[v]),u=new Ve.Plane().setFromCoplanarPoints(d[0],d[1],d[2]),p=new Ve.Quaternion().setFromUnitVectors(u.normal,new Ve.Vector3(0,1,0)),m=[],_=[],f=new Ve.Vector3;l.forEach(v=>{let b=v[0],x=o[b].clone();u.projectPoint(x,f),f.applyQuaternion(p),m.push([f.x,f.z]),_.push(b)});let g={loop:l,plane_quaternion:p,vkeys:_,polygon:m,plane:u};for(let v of _)a[v]?.length?a[v].find(x=>x.vkeys.length==g.vkeys.length&&x.vkeys.allAre(w=>g.vkeys.includes(w)))||a[v].push(g):a[v]=[g]});let r={};for(let s in i.vertices){let l=o[s],c=a[s],d=c.findHighest(_=>-_.vkeys.length);for(let _ of n){_._is_inside=d&&tae(c,_)!=!1;let f=_.line.closestPointToPoint(l,!0,new Ve.Vector3);_._distance=f.distanceTo(l),_.line.closestPointToPoint(l,!1,f),_._distance_on_line=f.distanceTo(l)}let u=n.filter(_=>_._is_inside),p=u.filter(_=>_._distance<_._distance_on_line*1.2);p.length||(p=u.filter(_=>_._distance<_._distance_on_line*2));let m=p.filter(_=>_._distance<_._distance_on_line*2);if(m.length){let _=m.findHighest(f=>-f._distance);r[s]=_,_.bone.setVertexWeight(i,s,1)}else{p.sort((f,g)=>f._distance-g._distance),p=p.slice(0,3),r[s]=p[0];let _=0;for(let f of p)f._amount=Math.min(Math.max(f._distance_on_line,.04)/f._distance,1),_+=f._amount;for(let f of p)f.bone.setVertexWeight(i,s,f._amount/_)}}for(let s in i.vertices){let l=[];for(let c of a[s]){let d=c.vkeys.indexOf(s);l.safePush(c.vkeys.atWrapped(d+1)),l.safePush(c.vkeys.atWrapped(d-1))}if(!r[s]){let c=[];for(let m of l){let _=r[m];_&&(c.safePush(_),_._weight=0)}if(c.length==1){c[0].bone.setVertexWeight(i,s,1),r[s]=c[0];continue}let d=o[s],u=0,p=l.map(m=>{let _=o[m].distanceTo(d);return u+=1/_,{distance:_,bone:r[m],vkey:m,weight:1/_}});for(let m of p)m.bone&&(m.bone._weight+=m.weight);for(let m of c)m.bone.setVertexWeight(i,s,1)}}}Canvas.updateView({elements:[i],element_aspects:{geometry:!0}})}function tae(i,e){for(let t of i){let n=t.plane.intersectLine(e.line,new Ve.Vector3);if(!n)continue;n.applyQuaternion(t.plane_quaternion);let a=[n.x,n.z];if(TA(a,t.polygon))return n}return!1}function iae(i,e){let t=[],n=[],a=[];function o(l,c){a.push(l);let d=l.vertices.slice(),u=d.indexOf(c[0])-d.indexOf(c[1]);(u==-1||u>2)&&c.reverse();let p=d.filter(f=>!c.includes(f)),m=d.indexOf(p[0])-d.indexOf(p[1]);(m==1||m<-2)&&p.reverse(),t.safePush(...c),n.push(c);function _(f){for(let g in i.faces){let v=i.faces[g];if(v.vertices.length<3||a.includes(v))continue;let b=v.vertices.slice();if(v.vertices.filter(w=>w==c[f]||w==p[f]).length>=2){let w=b.find((E,y)=>E!==c[f]&&E!==p[f]&&(b.length==3||Math.abs(b.indexOf(c[f])-y)!==2));o(v,[c[f],w]);break}}}_(0),_(1)}let r=[];for(let l in i.faces){let c=i.faces[l];if(c.vertices.includes(e)!=!1)for(let d of c.getEdges())d.includes(e)&&!r.find(u=>Xd(u.edge,d))&&r.push({edge:d,face:c})}let s=[];return r.forEach(({edge:l,face:c})=>{n=[],o(c,l),n.length>1&&s.push(n)}),s}BARS.defineActions(()=>{new Action("calculate_vertex_weights",{icon:"accessibility",condition:()=>!!Mesh.selected[0]?.getArmature(),click(i){let e=[],t=[];for(let n of Mesh.selected){let a=n.getArmature();a&&(e.safePush(...a.getAllBones()),t.push(n))}Undo.initEdit({elements:[...t,...e]});for(let n of t)eae(n,n.getArmature());Undo.finishEdit("Calculate vertex weights")}})});var dc={vertex_weights:{},config:{enabled:!0,range:1,falloff:"",selection:""},calculateWeights(i){if(!pf.value)return;let e=i.getSelectedVertices(),{range:t,falloff:n,selection:a}=dc.config,o=a=="linear",r;if(!o){r={};for(let s in i.faces)i.faces[s].getEdges().forEach(c=>{r[c[0]]?r[c[0]].safePush(c[1]):r[c[0]]=[c[1]],r[c[1]]?r[c[1]].safePush(c[0]):r[c[1]]=[c[0]]})}dc.vertex_weights[i.uuid]={};for(let s in i.vertices){if(e.includes(s))continue;let l=1/0;if(o)e.forEach(d=>{let u=i.vertices[s],p=i.vertices[d],m=Math.pow(u[0]-p[0],2)+Math.pow(u[1]-p[1],2)+Math.pow(u[2]-p[2],2);m<l&&(l=m)}),l=Math.sqrt(l);else{let d=0,u=[],p=[s];e:for(let m=1;m<=t;m++){let _=[];for(let f of p){let g=r[f]?.filter(v=>!u.includes(v));!g||g.length==0||(u.push(...g),_.push(...g))}for(let f of _)if(e.includes(f)){d=m;break e}p=_}d&&(l=d)}if(l>t)continue;let c=1-l/(o?t:t+1);switch(n){case"hermite_spline":c=Math.hermiteBlend(c);break;case"constant":c=1;break}dc.vertex_weights[i.uuid][s]=c}},editVertices(i,e){if(!pf.value)return;let t=i.getSelectedVertices();for(let n in i.vertices){if(t.includes(n))continue;let a=dc.vertex_weights[i.uuid][n];e(n,a)}}},pf=new Toggle("proportional_editing",{icon:"wifi_tethering",category:"edit",condition:{modes:["edit"],features:["meshes"]},tool_config:new ToolConfig("proportional_editing_options",{title:"action.proportional_editing",width:400,form:{enabled:{type:"checkbox",label:"menu.mirror_painting.enabled",value:!1},range:{type:"number",label:"dialog.proportional_editing.range",value:8},falloff:{type:"select",label:"dialog.proportional_editing.falloff",value:"linear",options:{linear:"dialog.proportional_editing.falloff.linear",hermite_spline:"dialog.proportional_editing.falloff.hermite_spline",constant:"dialog.proportional_editing.falloff.constant"}},selection:{type:"select",label:"dialog.proportional_editing.selection",value:"linear",options:{linear:"dialog.proportional_editing.selection.linear",connections:"dialog.proportional_editing.selection.connections"}}},onFormChange(i){pf.value!=i.enabled&&pf.trigger(),BarItems.proportional_editing_range.update()}}),onChange(i){dc.config.enabled=i}});dc.config=pf.tool_config.options;new NumSlider("proportional_editing_range",{category:"edit",condition:{modes:["edit"],features:["meshes"]},get(){return dc.config.range},change(i){dc.config.range=i(dc.config.range)},onAfter(){pf.tool_config.save()}});new Action("set_vertex_weights",{icon:"weight",condition:{modes:["edit"],method:()=>!!(Mesh.selected[0]?.getArmature()&&Mesh.selected[0].getSelectedVertices().length)},click(){let i=Mesh.selected[0],e=i.getSelectedVertices(),n=i.getArmature().getAllBones(),a={};for(let r of n)a[r.uuid]=r.name;let o=n.filter(r=>e.find(s=>r.getVertexWeight(i,s)));new Dialog("set_vertex_weights",{title:"action.set_vertex_weights",form:{bone:{type:"select",label:"data.armature_bone",value:n[0].name,options:a},weight:{type:"number",label:"dialog.set_vertex_weights.weight",value:1,min:0,max:1},overwrite:{type:"checkbox",label:"dialog.set_vertex_weights.overwrite",value:!0}},onConfirm(r){let s=n.find(l=>l.uuid==r.bone);if(o.safePush(s),Undo.initEdit({elements:o}),r.overwrite){for(let l of o)if(l.uuid!=r.bone)for(let c of e)l.setVertexWeight(i,c)}for(let l of e)s.setVertexWeight(i,l,r.weight);Undo.finishEdit("Set vertex weights"),updateSelection()}}).show()}});new Action("loop_cut",{icon:"carpenter",category:"edit",keybind:new Keybind({key:"r",shift:!0}),condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length>1},click(){let i,e,t=0;Mesh.selected.forEach(r=>{i||(e=r.getSelectedFaces()[0],i=r.faces[e])});function n(r=0){if(i=Mesh.selected.last().faces[e],i){let s=i.getSortedVertices(),l=Mesh.selected[0].vertices[s[(0+r)%i.vertices.length]],c=Mesh.selected[0].vertices[s[(1+r)%i.vertices.length]];return Math.sqrt(Math.pow(c[0]-l[0],2)+Math.pow(c[1]-l[1],2)+Math.pow(c[2]-l[2],2))}else{let s=Mesh.selected[0].getSelectedVertices(),l=Mesh.selected[0].vertices[s[0]],c=Mesh.selected[0].vertices[s[1]];return Math.sqrt(Math.pow(c[0]-l[0],2)+Math.pow(c[1]-l[1],2)+Math.pow(c[2]-l[2],2))}}let a=n();function o(r,s,l=0,c=1){Undo.initEdit({elements:Mesh.selected,selection:!0},r),s==null&&(s=a/(c+1)),Mesh.selected.forEach(d=>{let u=d.getSelectedVertices(),p=d.getSelectedFaces().map(y=>d.faces[y]),m,_=1;for(let y in d.faces){let A=d.faces[y];if(A.vertices.length<2)continue;let R=A.vertices.filter(j=>u.includes(j));R.length>_&&(m=A,_=R.length)}if(!m)return;let f=[m],g={};function v(y,A){let R=y.slice().sort().join("."),j=g[R];if(j)return j;let F=d.vertices[y[0]].map((L,U)=>Math.lerp(L,d.vertices[y[1]][U],A)),[O]=d.addVertices(F);return g[R]=O,O}function b(y,A,R,j){f.push(y);let F=y.getSortedVertices(),O=F.indexOf(A[0])-F.indexOf(A[1]);if((O==-1||O>2)&&A.reverse(),y.vertices.length==4){let L=F.filter(H=>!A.includes(H)),U=F.indexOf(L[0])-F.indexOf(L[1]);(U==1||U<-2)&&L.reverse();let J=s/a;c>1&&(J=1-1/(c+1-j)*J*2);let ie=[v(A,J),v(L,J)],te=[Math.lerp(y.uv[A[0]][0],y.uv[A[1]][0],J),Math.lerp(y.uv[A[0]][1],y.uv[A[1]][1],J)],me=[Math.lerp(y.uv[L[0]][0],y.uv[L[1]][0],J),Math.lerp(y.uv[L[0]][1],y.uv[L[1]][1],J)],Q=new MeshFace(d,y).extend({vertices:[A[1],ie[0],ie[1],L[1]],uv:{[A[1]]:y.uv[A[1]],[ie[0]]:te,[ie[1]]:me,[L[1]]:y.uv[L[1]]}});if(y.extend({vertices:[L[0],ie[0],ie[1],A[0]],uv:{[L[0]]:y.uv[L[0]],[ie[0]]:te,[ie[1]]:me,[A[0]]:y.uv[A[0]]}}),d.addFaces(Q),j+1<c&&b(y,[ie[0],A[0]],R,j+1),j!=0)return;for(let H in d.faces){let re=d.faces[H];if(re.vertices.length<3||f.includes(re))continue;if(re.vertices.filter(pe=>L.includes(pe)).length>=2){b(re,L,re.vertices.length==4,0);break}}if(R)for(let H in d.faces){let re=d.faces[H];if(re.vertices.length<3||f.includes(re))continue;if(re.vertices.filter(pe=>A.includes(pe)).length>=2){let xe=re.getSortedVertices().filter(le=>!A.includes(le));if(xe.length==2){b(re,xe,re.vertices.length==4,0);break}else if(xe.length==1){b(re,A,!1,0);break}}}}else if(y.vertices.length==3)if(l>2){let L=F.find(pe=>!A.includes(pe)),U=[A[l%A.length],L],J=F.indexOf(U[0])-F.indexOf(U[1]);(J==1||J<-2)&&U.reverse();let ie=s/a;c>1&&(ie=1-1/(c+1-j)*ie*2);let te=[v(A,ie),v(U,ie)],me=[Math.lerp(y.uv[A[0]][0],y.uv[A[1]][0],ie),Math.lerp(y.uv[A[0]][1],y.uv[A[1]][1],ie)],Q=[Math.lerp(y.uv[U[0]][0],y.uv[U[1]][0],ie),Math.lerp(y.uv[U[0]][1],y.uv[U[1]][1],ie)],H=A.find(pe=>!U.includes(pe)),re=A.find(pe=>U.includes(pe)),K=new MeshFace(d,y).extend({vertices:[re,te[0],te[1]],uv:{[re]:y.uv[re],[te[0]]:me,[te[1]]:Q}});if(K.getAngleTo(y)>90&&K.invert(),y.extend({vertices:[L,te[0],te[1],H],uv:{[L]:y.uv[L],[te[0]]:me,[te[1]]:Q,[H]:y.uv[H]}}),y.getAngleTo(K)>90&&y.invert(),d.addFaces(K),j+1<c&&b(y,[te[0],H],R,j+1),j!=0)return;for(let pe in d.faces){let xe=d.faces[pe];if(xe.vertices.length<3||f.includes(xe))continue;if(xe.vertices.filter(Be=>U.includes(Be)).length>=2){b(xe,U,xe.vertices.length==4,0);break}}if(R)for(let pe in d.faces){let xe=d.faces[pe];if(xe.vertices.length<3||f.includes(xe))continue;if(xe.vertices.filter(Be=>A.includes(Be)).length>=2){let X=xe.getSortedVertices().filter(ne=>!A.includes(ne));if(X.length==2){b(xe,X,xe.vertices.length==4,0);break}}}}else{let L=F.find(me=>!A.includes(me)),U=s/a;c>1&&(U=1-1/(c+1-j)*U*2);let J=v(A,U),ie=[Math.lerp(y.uv[A[0]][0],y.uv[A[1]][0],U),Math.lerp(y.uv[A[0]][1],y.uv[A[1]][1],U)],te=new MeshFace(d,y).extend({vertices:[A[1],J,L],uv:{[A[1]]:y.uv[A[1]],[J]:ie,[L]:y.uv[L]}});y.extend({vertices:[L,J,A[0]],uv:{[L]:y.uv[L],[J]:ie,[A[0]]:y.uv[A[0]]}}),l%3==2&&(te.invert(),y.invert()),d.addFaces(te)}else if(y.vertices.length==2){let L=s/a;c>1&&(L=1-1/(c+1-j)*L*2);let U=v(A,L),J=[Math.lerp(y.uv[A[0]][0],y.uv[A[1]][0],L),Math.lerp(y.uv[A[0]][1],y.uv[A[1]][1],L)],ie=new MeshFace(d,y).extend({vertices:[A[1],U],uv:{[A[1]]:y.uv[A[1]],[U]:J}});y.extend({vertices:[U,A[0]],uv:{[U]:J,[A[0]]:y.uv[A[0]]}}),d.addFaces(ie),j+1<c&&b(y,[U,A[0]],R,j+1)}}let x=m.getSortedVertices().filter((y,A)=>u.includes(y));p.remove(m);let w=m.getEdges().find(y=>y.allAre(A=>u.includes(A))&&p.find(A=>A.vertices.includes(y[0])&&A.vertices.includes(y[1])));w&&(x=w);let E=[x[l%x.length],x[(l+1)%x.length]];E.length==1&&E.splice(0,0,x[0]),b(m,E,m.vertices.length==4||l>2,0),u.empty();for(let y in g)u.safePush(g[y])}),Undo.finishEdit("Create loop cut"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}o(),Undo.amendEdit({direction:{type:"num_slider",value:0,label:"edit.loop_cut.direction",condition:!!i,min:0},cuts:{type:"num_slider",value:1,label:"edit.loop_cut.cuts",min:0,max:16},offset:{type:"num_slider",value:a/2,label:"edit.loop_cut.offset",min:0,interval_type:"position"},unit:{type:"inline_select",label:"edit.loop_cut.unit",options:{size:"edit.loop_cut.unit.size_units",percent:"edit.loop_cut.unit.percent"}}},(r,s)=>{let l=r.direction||0;a=n(l);let c=r.offset;r.unit=="percent"&&(c=c/100*a),c=Math.clamp(c,0,a),t!==l&&(c=a/2,s.setValues({offset:c},!1),t=l),o(!0,c,l,r.cuts)})}});var cy=class cy{constructor(e){this.mesh=e,this.mesh_3d=e.mesh,this.points=[],this.hover_point=null,this.points_geo=new THREE.BufferGeometry;let t=new THREE.PointsMaterial({size:9,sizeAttenuation:!1,vertexColors:!0});this.points_mesh=new THREE.Points(this.points_geo,t),this.points_mesh.renderOrder=100,this.lines_mesh=new THREE.Line(this.points_geo,Canvas.outlineMaterial),this.points_mesh.frustumCulled=!1,this.lines_mesh.frustumCulled=!1,this.mesh_3d.add(this.points_mesh),this.mesh_3d.add(this.lines_mesh),this.unselect_listener=Blockbench.on("unselect_project",n=>{this==cy.current&&this.remove()})}showToast(){this.toast=Blockbench.showToastNotification({text:tl("message.knife_tool.confirm",[Keybinds.extra.confirm.keybind.label]),icon:BarItems.knife_tool.icon,click:()=>{this.apply()}})}hover(e){if(e.element!=this.mesh||!e){this.hover_point&&(this.hover_point=null,this.updatePreviewGeometry());return}let t={position:new THREE.Vector3().copy(e.intersects[0].point),type:e.type=="element"?"face":e.type,attached_vertex:e.vertex,attached_line:e.vertices,snapped:!1,fkey:e.face};if(e.element.mesh.worldToLocal(t.position),e.type=="vertex")t.position.fromArray(this.mesh.vertices[e.vertex]),t.snapped=!0;else if(e.type=="line"){let r=Reusable.vec1.fromArray(this.mesh.vertices[e.vertices[0]]),s=Reusable.vec2.fromArray(this.mesh.vertices[e.vertices[1]]),l=new THREE.Vector3().copy(s).sub(r),d=new THREE.Vector3().copy(t.position).sub(r).dot(l)/l.dot(l);(e.event.shiftKey||Pressing.overrides.shift)&&(d=Math.round(d*4)/4),t.position.copy(r).addScaledVector(l,d),t.snapped=!0}let n=this.mesh_3d.localToWorld(Reusable.vec1.copy(t.position)),a=Preview.selected.calculateControlScale(n)*.6,o=this.points.find(r=>t.position.distanceTo(r.position)<a&&!r.reuse_of);if(o)t.position.copy(o.position),t.reuse_of=o;else if(e.event&&(e.event.ctrlOrCmd||Pressing.overrides.shift)&&t.fkey){let r=this.mesh.faces[t.fkey],s=r.localToUV(t.position),l=e.event.shiftKey||Pressing.overrides.shift?4:1;s[0]=Math.round(s[0]*l)/l,s[1]=Math.round(s[1]*l)/l;let c=r.UVToLocal(s);t.position.copy(c)}else if(e.event&&(e.event.shiftKey||Pressing.overrides.shift)&&t.fkey){let r=this.mesh.faces[t.fkey];t.position.fromArray(r.getCenter())}this.points.length&&t.position.distanceToSquared(this.points.last().position)<.001||(this.hover_point=t,this.updatePreviewGeometry())}updatePreviewGeometry(){let e=[],t=[],n=this.points.slice();this.hover_point&&n.push(this.hover_point);for(let a of n)e.push(a.position.x,a.position.y,a.position.z),a.snapped?t.push(.1,.9,.12):t.push(.2,.4,.98);return this.points_geo.setAttribute("position",new THREE.BufferAttribute(new Float32Array(e),3)),this.points_geo.setAttribute("color",new THREE.BufferAttribute(new Float32Array(t),3)),this}addPoint(e){if(this.hover_point||this.hover(e),!this.hover_point)return;let t=this.points.last();if(t&&this.hover_point){let n=this.hover_point,a=(o,r)=>{if(o.type=="face"&&r.type=="face")return o.fkey==r.fkey;if(o.type=="face"&&r.type=="line"){let s=this.mesh.faces[o.fkey];return s&&s.vertices.includes(r.attached_line[0])&&s.vertices.includes(r.attached_line[1])}if(o.type=="face"&&r.type=="vertex"){let s=this.mesh.faces[o.fkey];return s&&s.vertices.includes(r.attached_vertex)}if(o.type!="face"&&r.type!="face"&&(o.type!=r.type||o==t)){let s=(l,c)=>l.type=="line"?c.includes(l.attached_line[0])&&c.includes(l.attached_line[1]):c.includes(l.attached_vertex);for(let l in this.mesh.faces){let c=this.mesh.faces[l]?.vertices;if(s(o,c)&&s(r,c))return!0}}};!a(t,n)&&!a(n,t)&&Blockbench.showQuickMessage("message.knife_tool.skipped_face",2200)}this.points.push(this.hover_point),this.hover_point=null,this.points.length==1&&this.showToast()}apply(){if(!this.mesh||!this.points.length||!Mesh.all.includes(this.mesh)){this.cancel();return}function e(c,d,u,p){let m=[d[0]-c[0],d[1]-c[1]],_=[p[0]-u[0],p[1]-u[1]],f=(-m[1]*(c[0]-u[0])+m[0]*(c[1]-u[1]))/(-_[0]*m[1]+m[0]*_[1]),g=(_[0]*(c[1]-u[1])-_[1]*(c[0]-u[0]))/(-_[0]*m[1]+m[0]*_[1]);return f>1e-5&&f<.99999&&g>1e-5&&g<.99999}function t(c,d,u,p,m){if(c.equals(d))return!1;let _=[u,p,m],f=_.find(v=>v.equals(c)),g=_.find(v=>v.equals(d));return f&&g?!1:e(c,d,u,p)||e(c,d,p,m)||e(c,d,m,u)||pointInTriangle(c.map((v,b)=>Math.lerp(v,d[b],.5)),u,p,m)}Undo.initEdit({elements:[this.mesh]});let{mesh:n}=this,a=[],o=[],r=[],s=new THREE.Vector3;for(let c in n.faces){let F=function(K){return K.slice().sort().join(".")},J=function(K){let pe=O.projectPoint(Reusable.vec4.fromArray(n.vertices[K]),Reusable.vec5);return pe.applyEuler(U),[pe.x,pe.z]},ie=function(K){return K.map((pe,xe)=>[pe,K[xe+1]||K[0]])},te=function(...K){let pe=K.map(J);for(let xe of v){if(K.includes(xe.vkey))continue;let le=J(xe.vkey);if(pointInTriangle(le,...pe))return!0}for(let xe of x.concat(w)){if(sameMeshEdge(xe,K.slice(0,2))||sameMeshEdge(xe,K.slice(1,3))||sameMeshEdge(xe,[K[2],K[0]]))continue;let le=J(xe[0]),Be=J(xe[1]);if(t(le,Be,...pe))return!0}return!1},me=function(K,pe){let xe=K[pe-1]||K.last(),le=K[pe],Be=K[pe+1]||K[0],X=Reusable.vec1.fromArray(n.vertices[xe]),ne=Reusable.vec2.fromArray(n.vertices[le]),Me=Reusable.vec3.fromArray(n.vertices[Be]),Ue=X.sub(ne).angleTo(Me.sub(ne));return Math.radToDeg(Ue)},Q=function(K,pe,xe,le){if(!K||!pe||!xe||!le)return;let Be=[K,pe,xe,le],X=new MeshFace(n,{vertices:Be});if(X.isConcave())return;let ne=X.getSortedVertices(),Me=[ne[0],ne[2]],Ue=[ne[1],ne[3]];if(!(x.find(Ge=>sameMeshEdge(Ge,Me)||sameMeshEdge(Ge,Ue))||ie(ne).find(Ge=>{let Ie=F(Ge);if(R[Ie]||E[Ie]>=2)return!0}))&&!j.find(Ge=>Ge.allAre(Ie=>ne.includes(Ie)))&&!te(ne[0],ne[1],ne[2])&&!te(ne[0],ne[2],ne[3])&&!te(ne[0],ne[1],ne[3])&&!te(ne[1],ne[2],ne[3])){for(let Ge=0;Ge<ne.length;Ge++){let Ie=me(ne,Ge);if(Ie<1||Ie>178)return}return X}},H=function(K,pe,xe){if(!K||!pe||!xe)return;let le=[K,pe,xe];if(j.find(Me=>le.allAre(Ue=>Me.includes(Ue)))||te(K,pe,xe)||ie(le).find(Me=>{let Ue=F(Me);if(R[Ue]||E[Ue]>=2)return!0}))return;for(let Me=0;Me<le.length;Me++){let Ue=me(le,Me);if(Ue<2||Ue>178)return}return new MeshFace(n,{vertices:le})},re=function(K){d.getAngleTo(K)>90&&K.invert();for(let le of K.vertices)K.uv[le]=_[le]?_[le].slice():[0,0];K.texture=d.texture,j.push(K.vertices);let pe=K.getEdges();for(let le of pe){!x.find(X=>sameMeshEdge(le,X))&&!A.find(X=>sameMeshEdge(le,X))&&!w.find(X=>sameMeshEdge(le,X))&&w.push(le);let Be=F(le);E[Be]||(E[Be]=0),E[Be]+=1}let xe=n.addFaces(K)[0];return a.push(xe),xe},d=n.faces[c],u=this.points.map(K=>{if(K.fkey==c||d.vertices.includes(K.attached_vertex)||K.attached_line&&K.attached_line.allAre(pe=>d.vertices.includes(pe)))return K}),p=u.filter(K=>K),m=p.filter(K=>K.attached_vertex);if(p.length==0||m.length==1&&p.length==1)continue;let _={},f=d.getSortedVertices();s.fromArray(d.getNormal(!0)),delete n.faces[c];for(let K of f)_[K]=d.uv[K];p.forEach(K=>{K.vkey||(K.attached_vertex?K.vkey=K.attached_vertex:K.reuse_of?K.vkey=K.reuse_of.vkey:(K.vkey=n.addVertices(K.position.toArray())[0],o.push(K.vkey))),_[K.vkey]||(_[K.vkey]=d.localToUV(K.position))});let g=[];for(let K=1;K<u.length;K++){let pe=u[K-1],xe=u[K];pe&&xe&&g.push([pe.vkey,xe.vkey])}r.push(...g);let v=p.filter(K=>K.type=="face"),b=p.filter(K=>K.type!="face"),x=g.filter(([K,pe])=>!b.includes(K)||!b.includes(pe)),w=[],E={},y=[],A=[],R={},j=[];for(let K=0;K<f.length;K++){let pe=f[K];y.push(pe);let xe=f[K+1]||f[0],le=[pe,xe],Be=b.filter(X=>X.type=="line"&&sameMeshEdge(X.attached_line,le));if(Be.length){let X=new THREE.Vector3().fromArray(n.vertices[pe]);Be.sort((ne,Me)=>Me.position.distanceToSquared(X)-ne.position.distanceToSquared(X)),y.push(...Be.map(ne=>ne.vkey))}}for(let K=0;K<y.length;K++)A.push([y[K],y[K+1]||y[0]]);let O=new THREE.Plane().setFromNormalAndCoplanarPoint(s,Reusable.vec3.fromArray(n.vertices[d.vertices[0]])),L=cameraTargetToRotation([0,0,0],s.toArray()),U=new THREE.Euler(Math.degToRad(L[1]-90),Math.degToRad(L[0]+180),0);for(let K of A){let pe=Reusable.vec2.fromArray(n.vertices[K[0]].slice().V3_add(n.vertices[K[1]])).divideScalar(2),xe=(ne,Me)=>{let Ue=Reusable.vec5.fromArray(n.vertices[typeof ne=="string"?ne:ne.vkey]),et=Reusable.vec6.fromArray(n.vertices[typeof Me=="string"?Me:ne.vkey]);return Ue.distanceToSquared(pe)-et.distanceToSquared(pe)},le=[...v.map(ne=>ne.vkey).sort(xe),...y.filter(ne=>!K.includes(ne)).sort(xe)],Be=Q(K[0],K[1],le[0],le[1])||Q(K[0],K[1],le[0],le[2])||Q(K[0],K[1],le[1],le[2])||Q(K[0],K[1],le[0],le[3])||Q(K[0],K[1],le[1],le[3])||Q(K[0],K[1],le[2],le[3]),X=0;for(;!Be&&le[X];)Be=H(K[0],K[1],le[X]),X++;if(Be){re(Be),R[F(K)]=!0;let ne=Be.getSortedVertices();for(let Me=0;Me<ne.length;Me++){let Ue=[ne[Me],ne[Me+1]||ne[0]];if(!sameMeshEdge(Ue,K))for(let et of A)sameMeshEdge(Ue,et)&&(R[F(Ue)]=!0)}}}for(let K of x){let pe=F(K),xe=0;for(;E[pe]!=2&&xe<5;){let le=Reusable.vec2.fromArray(n.vertices[K[0]].slice().V3_add(n.vertices[K[1]])).divideScalar(2),Be=(Ue,et)=>{let Qe=Reusable.vec5.fromArray(n.vertices[typeof Ue=="string"?Ue:Ue.vkey]),Ge=Reusable.vec6.fromArray(n.vertices[typeof et=="string"?et:Ue.vkey]);return Qe.distanceToSquared(le)-Ge.distanceToSquared(le)},X=v.map(Ue=>Ue.vkey).filter(Ue=>!K.includes(Ue)).concat(y);X.sort(Be);let ne=Q(K[0],K[1],X[0],X[1])||Q(K[0],K[1],X[0],X[2])||Q(K[0],K[1],X[1],X[2])||Q(K[0],K[1],X[0],X[3])||Q(K[0],K[1],X[1],X[3])||Q(K[0],K[1],X[2],X[3]),Me=0;for(;!ne&&X[Me];)ne=H(K[0],K[1],X[Me]),Me++;if(ne){re(ne);let Ue=ne.getEdges();for(let et of Ue){let Qe=F(et),Ge=x.find(Ie=>sameMeshEdge(Ie,et));Qe!=pe&&!Ge&&!A.find(Ie=>sameMeshEdge(Ie,et))&&x.push(et)}}else break;xe++}}}let l=a.filter(c=>n.faces[c].vertices.allAre(d=>o.includes(d)));n.getSelectedFaces(!0).replace(l),n.getSelectedVertices(!0).replace(o),n.getSelectedEdges(!0).replace(r),Canvas.updateView({elements:[n],element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0}),Undo.finishEdit("Use knife tool"),this.remove()}cancel(){this.remove()}remove(){this.mesh_3d&&(this.mesh_3d.remove(this.points_mesh),this.mesh_3d.remove(this.lines_mesh)),delete this.mesh,delete this.mesh_3d,this.toast&&this.toast.delete(),this.unselect_listener.delete(),cy.current=null}};W(cy,"current",null);var Ja=cy,sp=class sp{constructor(e){this.cube=e,this.face,this.first_point_set=!1,this.valid_position=!1,this.axis=0,this.face_axis=0,this.first_point=new THREE.Vector3,this.offset=0,this.preview_mesh=new THREE.Mesh(new THREE.BoxGeometry(1,1,1),new THREE.MeshBasicMaterial({color:Canvas.outlineMaterial.color})),this.cross_mesh=new THREE.Mesh(new THREE.PlaneGeometry(1,1),new THREE.MeshBasicMaterial({map:sp.map,alphaTest:.1,side:THREE.DoubleSide,color:Canvas.outlineMaterial.color})),this.unselect_listener=Blockbench.on("unselect_project",t=>{this==Ja.current&&this.remove()}),Ja.current=this}get mesh_3d(){return this.cube.mesh}get axis_letter(){return getAxisLetter(this.axis)}hover(e){if(!e||!(e.element instanceof Cube)){this.cross_mesh.parent&&this.cross_mesh.parent.remove(this.cross_mesh);return}let t=e.intersects[0];if(this.first_point_set){if(this.cube){this.mesh_3d.add(this.preview_mesh),this.face_axis=sp.face_axis[this.face];let n=[0,1,2].filter(l=>l!=this.face_axis),a=t.point;this.mesh_3d.worldToLocal(a);let o=this.first_point[getAxisLetter(n[0])]-a[getAxisLetter(n[0])],r=this.first_point[getAxisLetter(n[1])]-a[getAxisLetter(n[1])],s=Math.abs(o)>Math.abs(r);switch(this.face_axis){case 0:this.axis=s?2:1;break;case 1:this.axis=s?2:0;break;case 2:this.axis=s?1:0;break}this.offset=this.first_point[this.axis_letter]}}else{this.cube=e.element,this.face=e.face,this.first_point.copy(t.point),this.mesh_3d.worldToLocal(this.first_point),this.face_axis=sp.face_axis[this.face];let n=[0,1,2].filter(r=>r!=this.face_axis),a=canvasGridSize(e.event?.shiftKey||Pressing.overrides.shift,e.event?.ctrlOrCmd||Pressing.overrides.ctrl),o=this.cube.from.slice().V3_subtract(this.cube.inflate).V3_subtract(this.cube.origin);this.first_point[getAxisLetter(n[0])]=Math.round((this.first_point[getAxisLetter(n[0])]-o[n[0]])/a)*a+o[n[0]],this.first_point[getAxisLetter(n[1])]=Math.round((this.first_point[getAxisLetter(n[1])]-o[n[1]])/a)*a+o[n[1]]}this.updatePreview()}updatePreview(){let e=this.mesh_3d.localToWorld(new THREE.Vector3().copy(this.first_point)),t=Preview.selected.calculateControlScale(e)/8;if(this.first_point_set){this.cross_mesh.parent&&this.cross_mesh.parent.remove(this.cross_mesh),this.mesh_3d.add(this.preview_mesh),this.preview_mesh.position.set(Math.lerp(this.cube.from[0]-this.cube.origin[0],this.cube.to[0]-this.cube.origin[0],.5),Math.lerp(this.cube.from[1]-this.cube.origin[1],this.cube.to[1]-this.cube.origin[1],.5),Math.lerp(this.cube.from[2]-this.cube.origin[2],this.cube.to[2]-this.cube.origin[2],.5)),this.preview_mesh.position[this.axis_letter]=this.offset;let n=THREE.fastWorldPosition(this.preview_mesh),a=Preview.selected.calculateControlScale(n)/8;this.preview_mesh.scale.set(...this.cube.size().map(o=>o+this.cube.inflate*2+a)),this.preview_mesh.scale[this.axis_letter]=a}else{this.mesh_3d.add(this.cross_mesh),this.cross_mesh.position.copy(this.first_point);let n=sp.face_axis[this.face],a=["north","west","down"].includes(this.face)?-1:1;switch(this.cross_mesh.position[getAxisLetter(n)]+=a*t,n){case 0:this.cross_mesh.rotation.set(0,Math.PI/2,0);break;case 1:this.cross_mesh.rotation.set(Math.PI/2,0,0);break;case 2:this.cross_mesh.rotation.set(0,0,0);break}this.cross_mesh.scale.set(t*16,t*16,t*16)}}addPoint(e){e?.element&&(this.first_point_set?this.apply():this.first_point_set=!0)}apply(){if(!this.cube||!Cube.all.includes(this.cube)||!this.first_point_set){this.cancel();return}let e=[this.cube];Undo.initEdit({elements:e}),this.cube.box_uv&&Format.optional_box_uv&&(this.cube.box_uv=!1);let t=kC(this.cube,this.axis,this.offset);Outliner.selected.safePush(t),e.safePush(t),Canvas.updateView({elements:e,element_aspects:{geometry:!0,uv:!0},selection:!0}),Undo.finishEdit("Use knife tool"),this.remove()}cancel(){this.remove()}remove(){this.cross_mesh.parent&&this.cross_mesh.parent.remove(this.cross_mesh),this.preview_mesh.parent&&this.preview_mesh.parent.remove(this.preview_mesh),delete this.cube,delete this.cross_mesh,delete this.precross_meshview_mesh,this.unselect_listener.delete(),Ja.current=null}};W(sp,"face_axis",{north:2,south:2,up:1,down:1,east:0,west:0}),W(sp,"map",new THREE.TextureLoader().load("assets/crosshair.png"));var Xm=sp;Xm.map.magFilter=Xm.map.minFilter=THREE.NearestFilter;BARS.defineActions(()=>{new Tool("knife_tool",{icon:"surgical",transformerMode:"hidden",category:"tools",selectElements:!0,cursor:"crosshair",raycast_options:{edges:!0,vertices:!0},modes:["edit"],condition:()=>Modes.edit,onCanvasMouseMove(i){Mesh.selected[0]?!Ja.current&&Mesh.selected.length==1&&(Ja.current=new Ja(Mesh.selected[0])):Cube.all[0]&&(Ja.current||(Ja.current=new Xm)),Ja.current&&Ja.current.hover(i)},onCanvasClick(i){if(!i||!i.type)return;if(i.event instanceof TouchEvent){let t=function(){$i.endTarget(),document.removeEventListener("touchend",t)};$i.requestTarget($i.types.gizmo_transform),document.addEventListener("touchend",t)}if(!Ja.current&&(i.element instanceof Mesh?(!Ja.current&&Mesh.selected.length==1&&(Ja.current=new Ja(i.element)),Ja.current&&Ja.current.hover(i)):i.element instanceof Cube&&(Ja.current||(Ja.current=new Xm(i.element))),i.event instanceof TouchEvent))return;let e=Ja.current;e&&e.addPoint(i)},onSelect(){Interface.addSuggestedModifierKey("shift","modifier_actions.snap_to_center"),Interface.addSuggestedModifierKey("ctrl","modifier_actions.snap_to_pixels")},onUnselect(){Interface.removeSuggestedModifierKey("shift","modifier_actions.snap_to_center"),Interface.removeSuggestedModifierKey("ctrl","modifier_actions.snap_to_pixels"),Ja.current&&Ja.current.apply()}})});function kC(i,e,t){let n=i.duplicate(),a=i.from.slice().V3_subtract(i.inflate),o=i.to.slice().V3_subtract(i.inflate),r=t+i.origin[e],s=Math.getLerp(a[e],o[e],r);i.to[e]=r-i.inflate,n.from[e]=r+i.inflate;function l(c,d,u){d=(d-c.rotation/90+8)%4;let p=(d+2)%4;u?c.uv[d]=Math.lerp(c.uv[d],c.uv[p],s):c.uv[d]=Math.lerp(c.uv[p],c.uv[d],s)}switch(e){case 0:{l(i.faces.north,0),l(i.faces.south,2),l(i.faces.up,2),l(i.faces.down,2),l(n.faces.north,2,!0),l(n.faces.south,0,!0),l(n.faces.up,0,!0),l(n.faces.down,0,!0);break}case 1:{l(i.faces.north,1),l(i.faces.south,1),l(i.faces.east,1),l(i.faces.west,1),l(n.faces.north,3,!0),l(n.faces.south,3,!0),l(n.faces.east,3,!0),l(n.faces.west,3,!0);break}case 2:{l(i.faces.east,0),l(i.faces.west,2),l(i.faces.up,3),l(i.faces.down,1),l(n.faces.east,2,!0),l(n.faces.west,0,!0),l(n.faces.up,1,!0),l(n.faces.down,3,!0);break}}return n}var nae={KnifeToolContext:Ja,KnifeToolCubeContext:Xm};Object.assign(window,nae);BARS.defineActions(function(){let i=new Dialog({id:"add_primitive",title:"action.add_mesh",form:{shape:{label:"dialog.add_primitive.shape",type:"select",options:{cuboid:"dialog.add_primitive.shape.cube",beveled_cuboid:"dialog.add_primitive.shape.beveled_cuboid",pyramid:"dialog.add_primitive.shape.pyramid",plane:"dialog.add_primitive.shape.plane",circle:"dialog.add_primitive.shape.circle",cylinder:"dialog.add_primitive.shape.cylinder",tube:"dialog.add_primitive.shape.tube",cone:"dialog.add_primitive.shape.cone",sphere:"dialog.add_primitive.shape.sphere",torus:"dialog.add_primitive.shape.torus"}},diameter:{label:"dialog.add_primitive.diameter",type:"number",value:16},align_edges:{label:"dialog.add_primitive.align_edges",type:"checkbox",value:!0,condition:({shape:e})=>!["cuboid","beveled_cuboid","pyramid","plane"].includes(e)},height:{label:"dialog.add_primitive.height",type:"number",value:8,condition:({shape:e})=>["cylinder","cone","cuboid","beveled_cuboid","pyramid","tube"].includes(e)},sides:{label:"dialog.add_primitive.sides",type:"number",value:12,min:3,max:48,condition:({shape:e})=>["cylinder","cone","circle","torus","sphere","tube"].includes(e)},minor_diameter:{label:"dialog.add_primitive.minor_diameter",type:"number",value:4,condition:({shape:e})=>["torus","tube"].includes(e)},minor_sides:{label:"dialog.add_primitive.minor_sides",type:"number",value:8,min:2,max:32,condition:({shape:e})=>["torus"].includes(e)},edge_size:{label:"dialog.add_primitive.edge_size",type:"number",value:2,condition:({shape:e})=>["beveled_cuboid"].includes(e)}},onConfirm(e){let t=Group.first_selected&&Group.first_selected.uuid,n=0,a=Math.floor(Math.random()*rn.length),o=getCurrentGroup()??Armature.selected[0];function r(s,l){let c=[];if(t&&!Group.first_selected){let f=Group.all.find(g=>g.uuid==t);f&&(Group.first_selected=f)}Undo.initEdit({elements:c,selection:!0,outliner:!0},s);let d=new Mesh({name:l.shape,vertices:{},color:a});o&&(d.addTo(o),settings.inherit_parent_color.value&&"color"in o&&(d.color=o.color));let u=l.align_edges?1/Math.cos(Math.PI/l.sides):1,p=l.align_edges?.5:0;if(l.shape=="circle"){let f=d.addVertices([0,0,0]),[g]=f;for(let v=0;v<l.sides;v++){let b=Math.sin((v+p)/l.sides*Math.PI*2)*l.diameter/2*u,x=Math.cos((v+p)/l.sides*Math.PI*2)*l.diameter/2*u;f.push(...d.addVertices([b,0,x]))}for(let v=0;v<l.sides;v++){let[b,x]=f.slice(v+2,v+2+2);b?x||(x=f[1]):(x=f[2],b=f[1]),d.addFaces(new MeshFace(d,{vertices:[b,x,g]}))}}if(l.shape=="cone"){let f=d.addVertices([0,0,0],[0,l.height,0]),[g,v]=f;for(let b=0;b<l.sides;b++){let x=Math.sin((b+p)/l.sides*Math.PI*2)*l.diameter/2*u,w=Math.cos((b+p)/l.sides*Math.PI*2)*l.diameter/2*u;f.push(...d.addVertices([x,0,w]))}for(let b=0;b<l.sides;b++){let[x,w]=f.slice(b+2,b+2+2);w||(w=f[2]),d.addFaces(new MeshFace(d,{vertices:[w,x,g]}),new MeshFace(d,{vertices:[x,w,v]}))}}if(l.shape=="cylinder"){let f=d.addVertices([0,0,0],[0,l.height,0]),[g,v]=f;for(let b=0;b<l.sides;b++){let x=Math.sin((b+p)/l.sides*Math.PI*2)*l.diameter/2*u,w=Math.cos((b+p)/l.sides*Math.PI*2)*l.diameter/2*u;f.push(...d.addVertices([x,0,w],[x,l.height,w]))}for(let b=0;b<l.sides;b++){let[x,w,E,y]=f.slice(2*b+2,2*b+2+4);E||(E=f[2],y=f[3]),d.addFaces(new MeshFace(d,{vertices:[E,x,g]}),new MeshFace(d,{vertices:[x,E,y,w]}),new MeshFace(d,{vertices:[w,y,v]}))}}if(l.shape=="tube"){let f=[],g=l.diameter/2*u,v=(g-l.minor_diameter/2)*u;for(let b=0;b<l.sides;b++){let x=Math.sin((b+p)/l.sides*Math.PI*2),w=Math.cos((b+p)/l.sides*Math.PI*2);f.push(...d.addVertices([x*g,0,w*g],[x*g,l.height,w*g],[x*v,0,w*v],[x*v,l.height,w*v]))}for(let b=0;b<l.sides;b++){let[x,w,E,y,A,R,j,F]=f.slice(4*b,4*b+8);A||(A=f[0],R=f[1],j=f[2],F=f[3]),x&&w&&E&&y&&A&&R&&j&&F&&d.addFaces(new MeshFace(d,{vertices:[x,A,R,w]}),new MeshFace(d,{vertices:[y,F,j,E]}),new MeshFace(d,{vertices:[E,j,A,x]}),new MeshFace(d,{vertices:[w,R,F,y]}))}}if(l.shape=="torus"){let f=[];for(let g=0;g<l.sides;g++){let v=Math.sin((g+p)/l.sides*Math.PI*2),b=Math.cos((g+p)/l.sides*Math.PI*2),x=[];for(let w=0;w<l.minor_sides;w++){let E=Math.sin(w/l.minor_sides*Math.PI*2)*l.minor_diameter/2*u,y=v*(l.diameter/2*u+E),A=Math.cos(w/l.minor_sides*Math.PI*2)*l.minor_diameter/2*u,R=b*(l.diameter/2*u+E);x.push(...d.addVertices([y,A,R]))}f.push(x)}for(let g=0;g<l.sides;g++){let v=f[g],b=f[g+1]||f[0];for(let x=0;x<l.minor_sides;x++)d.addFaces(new MeshFace(d,{vertices:[v[x+1]||v[0],b[x+1]||b[0],v[x],b[x]]}))}}if(l.shape=="sphere"){let f=[],g=Math.round(l.sides/2)*2,[v]=d.addVertices([0,-l.diameter/2,0]),[b]=d.addVertices([0,l.diameter/2,0]);for(let x=0;x<l.sides;x++){let w=Math.sin((x+p)/l.sides*Math.PI*2),E=Math.cos((x+p)/l.sides*Math.PI*2),y=[];for(let A=1;A<g/2;A++){let R=Math.sin(A/g*Math.PI*2)*l.diameter/2*u,j=w*R,F=Math.cos(A/g*Math.PI*2)*l.diameter/2,O=E*R;y.push(...d.addVertices([j,F,O]))}f.push(y)}for(let x=0;x<l.sides;x++){let w=f[x],E=f[x+1]||f[0];for(let y=0;y<g/2;y++)y==0?d.addFaces(new MeshFace(d,{vertices:[w[y],E[y],b]})):w[y]?d.addFaces(new MeshFace(d,{vertices:[w[y],E[y],w[y-1],E[y-1]]})):d.addFaces(new MeshFace(d,{vertices:[E[y-1],w[y-1],v]}))}}if(l.shape=="cuboid"){d.name="mesh";let f=l.diameter/2,g=l.height;d.addVertices([f,g,f],[f,g,-f],[f,0,f],[f,0,-f],[-f,g,f],[-f,g,-f],[-f,0,f],[-f,0,-f]);let v=Object.keys(d.vertices);d.addFaces(new MeshFace(d,{vertices:[v[0],v[2],v[1],v[3]]}),new MeshFace(d,{vertices:[v[4],v[5],v[6],v[7]]}),new MeshFace(d,{vertices:[v[0],v[1],v[4],v[5]]}),new MeshFace(d,{vertices:[v[2],v[6],v[3],v[7]]}),new MeshFace(d,{vertices:[v[0],v[4],v[2],v[6]]}),new MeshFace(d,{vertices:[v[1],v[3],v[5],v[7]]}))}if(l.shape=="beveled_cuboid"){let f=l.edge_size,g=l.diameter/2-f,v=l.diameter/2,b=l.height,x=l.height-f,w=d.addVertices([g,b,g],[g,b,-g],[-g,b,g],[-g,b,-g]),E=d.addVertices([g,0,g],[g,0,-g],[-g,0,g],[-g,0,-g]),y=d.addVertices([-v,f,g],[-v,x,g],[-v,f,-g],[-v,x,-g]),A=d.addVertices([v,f,g],[v,x,g],[v,f,-g],[v,x,-g]),R=d.addVertices([g,f,-v],[g,x,-v],[-g,f,-v],[-g,x,-v]),j=d.addVertices([g,f,v],[g,x,v],[-g,f,v],[-g,x,v]);d.addFaces(new MeshFace(d,{vertices:[A[1],A[0],A[3],A[2]]}),new MeshFace(d,{vertices:[y[0],y[1],y[3],y[2]]}),new MeshFace(d,{vertices:[w[0],w[1],w[3],w[2]]}),new MeshFace(d,{vertices:[E[1],E[0],E[3],E[2]]}),new MeshFace(d,{vertices:[j[0],j[1],j[3],j[2]]}),new MeshFace(d,{vertices:[R[1],R[0],R[3],R[2]]})),d.addFaces(new MeshFace(d,{vertices:[w[1],w[0],A[1],A[3]]}),new MeshFace(d,{vertices:[w[2],w[3],y[1],y[3]]}),new MeshFace(d,{vertices:[w[0],w[2],j[1],j[3]]}),new MeshFace(d,{vertices:[w[3],w[1],R[1],R[3]]}),new MeshFace(d,{vertices:[E[0],E[1],A[0],A[2]]}),new MeshFace(d,{vertices:[E[3],E[2],y[0],y[2]]}),new MeshFace(d,{vertices:[E[2],E[0],j[0],j[2]]}),new MeshFace(d,{vertices:[E[1],E[3],R[0],R[2]]}),new MeshFace(d,{vertices:[R[0],R[1],A[2],A[3]]}),new MeshFace(d,{vertices:[j[1],j[0],A[0],A[1]]}),new MeshFace(d,{vertices:[R[3],R[2],y[2],y[3]]}),new MeshFace(d,{vertices:[j[2],j[3],y[0],y[1]]})),d.addFaces(new MeshFace(d,{vertices:[E[0],A[0],j[0]]}),new MeshFace(d,{vertices:[E[2],j[2],y[0]]}),new MeshFace(d,{vertices:[E[1],R[0],A[2]]}),new MeshFace(d,{vertices:[E[3],y[2],R[2]]}),new MeshFace(d,{vertices:[w[0],j[1],A[1]]}),new MeshFace(d,{vertices:[w[2],y[1],j[3]]}),new MeshFace(d,{vertices:[w[1],A[3],R[1]]}),new MeshFace(d,{vertices:[w[3],R[3],y[3]]}))}if(l.shape=="pyramid"){let f=l.diameter/2,g=l.height;d.addVertices([0,g,0],[f,0,f],[f,0,-f],[-f,0,f],[-f,0,-f]);let v=Object.keys(d.vertices);d.addFaces(new MeshFace(d,{vertices:[v[1],v[3],v[2],v[4]]}),new MeshFace(d,{vertices:[v[1],v[2],v[0]]}),new MeshFace(d,{vertices:[v[3],v[1],v[0]]}),new MeshFace(d,{vertices:[v[2],v[4],v[0]]}),new MeshFace(d,{vertices:[v[4],v[3],v[0]]}))}if(l.shape=="plane"){let f=l.diameter/2;d.addVertices([f,0,f],[f,0,-f],[-f,0,f],[-f,0,-f]);let g=Object.keys(d.vertices);d.addFaces(new MeshFace(d,{vertices:[g[0],g[1],g[3],g[2]]}))}if(Texture.all.length&&Format.single_texture){for(var m in d.faces)d.faces[m].texture=Texture.getDefault().uuid;UVEditor.loadData()}if(Format.bone_rig&&o&&o.origin){var _=o.origin.slice();d.extend({origin:_.slice()})}c.push(d),d.init(),unselectAllElements(),d.select(),UVEditor.setAutoSize(null,!0,Object.keys(d.faces)),Undo.finishEdit("Add primitive"),Blockbench.dispatchEvent("add_mesh",{object:d}),n++,Vue.nextTick(function(){settings.create_rename.value&&n==1&&d.rename()})}r(!1,e),Undo.amendEdit({diameter:{label:"dialog.add_primitive.diameter",type:"num_slider",value:e.diameter,interval_type:"position"},height:{label:"dialog.add_primitive.height",type:"num_slider",value:e.height,condition:["cylinder","cone","cuboid","beveled_cuboid","pyramid","tube"].includes(e.shape),interval_type:"position"},sides:{label:"dialog.add_primitive.sides",type:"num_slider",value:e.sides,min:3,max:48,condition:["cylinder","cone","circle","torus","sphere","tube"].includes(e.shape)},minor_diameter:{label:"dialog.add_primitive.minor_diameter",type:"num_slider",value:e.minor_diameter,condition:["torus","tube"].includes(e.shape),interval_type:"position"},minor_sides:{label:"dialog.add_primitive.minor_sides",type:"num_slider",value:e.minor_sides,min:2,max:32,condition:["torus"].includes(e.shape)},edge_size:{label:"dialog.add_primitive.edge_size",type:"num_slider",value:e.edge_size,condition:["beveled_cuboid"].includes(e.shape)}},s=>{Object.assign(e,s),r(!0,e)})}});new Action("add_mesh",{icon:"fa-gem",category:"edit",condition:{modes:["edit"],method:()=>Format.meshes},click:function(){i.show()}})});BARS.defineActions(function(){let i;new Tool("seam_tool",{icon:"content_cut",transformerMode:"hidden",toolbar:"seam_tool",category:"tools",selectElements:!0,modes:["edit"],condition:()=>Modes.edit&&Mesh.hasAny(),onCanvasClick(e){i?(clearTimeout(i),i=null,BarItems.select_seam.trigger(e?.event)):i=setTimeout(()=>{i=null},200)},onSelect:function(){BarItems.selection_mode.set("edge"),BarItems.view_mode.set("solid"),BarItems.view_mode.onChange(BarItems.view_mode)},onUnselect:function(){BarItems.selection_mode.set("object"),BarItems.view_mode.set("textured"),BarItems.view_mode.onChange(BarItems.view_mode)}}),new BarSelect("select_seam",{options:{auto:!0,divide:!0,join:!0},condition:()=>Modes.edit&&Mesh.hasAny(),onChange({value:e}){e=="auto"&&(e=null),Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(t=>{t.getSelectedEdges().forEach(a=>{t.setSeam(a,e)}),Mesh.preview_controller.updateSelection(t)}),Undo.finishEdit("Set mesh seam")}})});function n5(i){for(let e in i.faces){let t=i.faces[e];if(t.vertices.length<2)delete i.faces[e];else for(let n in i.faces){let a=i.faces[n];if(e==n||!a)continue;t.vertices.allAre(r=>a.vertices.includes(r))&&delete i.faces[e]}}}BARS.defineActions(()=>{function i(e,t){let n=0,a=0;Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(o=>{let r=o.getSelectedVertices();if(!(r.length<2)){if(e){let s=o.getSelectedVertices().slice();if(s.length<2)return;let l={},c=0;for(;s[c];){let u=s[c],p=c+1;for(;s[p];){let m=s[p],_=o.vertices[u],f=o.vertices[m];Math.sqrt(Math.pow(f[0]-_[0],2)+Math.pow(f[1]-_[1],2)+Math.pow(f[2]-_[2],2))<settings.vertex_merge_distance.value&&(l[u]||(l[u]=[]),l[u].push(m)),p++}l[u]&&l[u].forEach(m=>{s.remove(m)}),c++}let d=o.getSelectedVertices();for(let u in l){let p=l[u];if(t){let m=[u,...p],_=[0,0,0];m.forEach(f=>{_.V3_add(o.vertices[f])}),_.V3_divide(m.length),o.vertices[u].V3_set(_);for(let f in o.faces){let g=o.faces[f],v=m.filter(x=>g.vertices.includes(x));if(v.length<2)continue;let b=[0,0];v.forEach(x=>{b[0]+=g.uv[x][0],b[1]+=g.uv[x][1]}),b[0]/=v.length,b[1]/=v.length,v.forEach(x=>{g.uv[x][0]=b[0],g.uv[x][1]=b[1]})}}p.forEach(m=>{for(let _ in o.faces){let f=o.faces[_],g=f.vertices.indexOf(m);if(g!==-1)if(f.vertices.includes(u))f.vertices.remove(m),delete f.uv[m],f.vertices.length<2&&delete o.faces[_];else{let v=f.uv[m];f.vertices.splice(g,1,u),f.uv[u]=v,delete f.uv[m]}}n++,delete o.vertices[m],d.remove(m)}),n++,a++}}else{let s=r[0];if(t){let l=[0,0,0];r.forEach(c=>{l.V3_add(o.vertices[c])}),l.V3_divide(r.length),o.vertices[s].V3_set(l);for(let c in o.faces){let d=o.faces[c],u=r.filter(m=>d.vertices.includes(m));if(u.length<2)continue;let p=[0,0];u.forEach(m=>{p[0]+=d.uv[m][0],p[1]+=d.uv[m][1]}),p[0]/=u.length,p[1]/=u.length,u.forEach(m=>{d.uv[m][0]=p[0],d.uv[m][1]=p[1]})}}r.forEach(l=>{if(l!=s){for(let c in o.faces){let d=o.faces[c],u=d.vertices.indexOf(l);if(u!==-1)if(d.vertices.includes(s))d.vertices.remove(l),delete d.uv[l],d.vertices.length<2&&delete o.faces[c];else{let p=d.uv[l];d.vertices.splice(u,1,s),d.uv[s]=p,delete d.uv[l]}}delete o.vertices[l]}}),r.splice(1,r.length)}n5(o)}}),Undo.finishEdit("Merge vertices"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0}),e&&Blockbench.showQuickMessage(tl("message.merged_vertices",[n,a]),2e3)}new Action("merge_vertices",{icon:"close_fullscreen",category:"edit",keybind:new Keybind({key:"m",shift:!0}),condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length>1},click(){new Menu(this.children).open("mouse")},children:[{id:"merge_all",name:"action.merge_vertices.merge_all",icon:"north_east",click(){i(!1,!1)}},{id:"merge_all_in_center",name:"action.merge_vertices.merge_all_in_center",icon:"close_fullscreen",click(){i(!1,!0)}},{id:"merge_by_distance",name:"action.merge_vertices.merge_by_distance",icon:"expand_less",click(){i(!0,!1)}},{id:"merge_by_distance_in_center",name:"action.merge_vertices.merge_by_distance_in_center",icon:"unfold_less",click(){i(!0,!0)}}]}),new Action("merge_meshes",{icon:"upload",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected.length>=2},click(){let e=Mesh.selected.slice();Undo.initEdit({elements:e,outliner:!0});let t=Mesh.selected[0],n=new Ve.Vector3;Mesh.selected.forEach(a=>{if(a==t)return;let o=Object.keys(a.vertices),r=t.addVertices(...a.vertice_list.map(s=>(n.fromArray(s),a.mesh.localToWorld(n),t.mesh.worldToLocal(n),n.toArray())));for(let s in a.faces){let l=a.faces[s],c=new MeshFace(t,l),d={};for(let u in l.uv){let p=r[o.indexOf(u)];d[p]=l.uv[u]}c.extend({vertices:l.vertices.map(u=>r[o.indexOf(u)]),uv:d}),t.addFaces(c)}a.remove(),e.remove(a),Mesh.selected.remove(a)}),updateSelection(),Undo.finishEdit("Merge meshes"),Canvas.updateView({elements:e,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}}),new Action("split_mesh",{icon:"call_split",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>!!(Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length)},click(){let e=Mesh.selected.slice();Undo.initEdit({elements:e}),Mesh.selected.forEach(t=>{let n=t.getSelectedVertices(),a=Project.mesh_selection[t.uuid],o=new Mesh(t);e.push(o);for(let r in t.faces)t.faces[r].isSelected(r)?delete t.faces[r]:delete o.faces[r];n.forEach(r=>{let s=!1;for(let l in t.faces)t.faces[l].vertices.includes(r)&&(s=!0);s||delete t.vertices[r]}),Object.keys(o.vertices).filter(r=>!n.includes(r)).forEach(r=>{let s=!1;for(let l in o.faces)o.faces[l].vertices.includes(r)&&(s=!0);s||delete o.vertices[r]}),o.name+="_selection",o.sortInBefore(t,1).init(),delete Project.mesh_selection[t.uuid],Project.mesh_selection[o.uuid]=a,t.preview_controller.updateGeometry(t),selected[selected.indexOf(t)]=o}),Undo.finishEdit("Merge meshes"),updateSelection(),Canvas.updateView({elements:e,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}})});var aae={cleanupOverlappingMeshFaces:n5};Object.assign(window,aae);BARS.defineActions(()=>{let i;new Action("import_obj",{icon:"fa-gem",category:"file",condition:{modes:["edit"],method:()=>Format.meshes},click:function(){function e(t){let n={};if(t.mtl){let g=t.mtl.content.split(/[\r\n]+/),v;for(let b of g){let x=b.split(/\s+/).filter(E=>typeof E<"u"&&E!=="");switch(x.shift()){case"newmtl":{v=n[x[0]]={};break}case"map_Kd":{let E=x[0],A=new Texture().fromPath("").add();v.texture=A}}}}let{content:a}=t.obj,o=a.split(/[\r\n]+/);function r(g,v){return g.map(b=>parseFloat(b))}let s,l=[],c={},d=[],u=[],p=[],m=new Ve.Vector3,_=new Ve.Vector3,f;Undo.initEdit({outliner:!0,elements:p,selection:!0}),o.forEach(g=>{if(g.substr(0,1)=="#"||!g)return;let v=g.split(/\s+/).filter(x=>typeof x<"u"&&x!==""),b=v.shift();if((["o","g"].includes(b)||b=="v"&&!s)&&(s=new Mesh({name:["o","g"].includes(b)?v[0]:"unknown",vertices:{}}),c={},p.push(s)),b=="v"&&l.push(r(v,3).map(x=>x*t.scale)),b=="vt"&&d.push(r(v,2)),b=="vn"&&u.push(r(v,3)),b=="f"){let x={vertices:[],vertex_textures:[],vertex_normals:[]};v.forEach((y,A)=>{if(A>=4)return;let[R,j,F]=y.split("/").map(O=>parseInt(O));c[R-1]||(c[R-1]=s.addVertices(l[R-1])[0]),x.vertices.push(c[R-1]),x.vertex_textures.push(d[j-1]),x.vertex_normals.push(u[F-1])});let w={};x.vertex_textures.forEach((y,A)=>{let R=x.vertices[A];y instanceof Array?w[R]=[y[0]*Project.texture_width,(1-y[1])*Project.texture_width]:w[R]=[0,0]});let E=new MeshFace(s,{vertices:x.vertices,uv:w,texture:f});s.addFaces(E),x.vertex_normals.find(y=>y)&&(m.fromArray(E.getNormal()),_.fromArray(x.vertex_normals[0]),m.angleTo(_)>Math.PI/2&&E.invert())}b=="usemtl"&&(f=n[v[0]]?.texture)}),p.forEach(g=>{g.init()}),Undo.finishEdit("Import OBJ")}i||(i=new sa("import_obj",{title:"action.import_obj",form:{obj:{type:"file",label:"dialog.import_obj.obj",return_as:"file",extensions:["obj"],resource_id:"obj",filetype:"OBJ Wavefront Model"},mtl:{type:"file",label:"dialog.import_obj.mtl",return_as:"file",extensions:["mtl"],resource_id:"obj",filetype:"OBJ Material File"},scale:{type:"number",label:"dialog.import_obj.scale",value:16}},onConfirm(t){e(t)}})),i.show()}})});function oae(){for(let i of Mesh.selected){console.log(`Fixing mesh "${i.name}"`);for(let e in i.vertices){let t=i.vertices[e];(!(t instanceof Array)||t.length!=3||t.findIndex(n=>isNaN(n))!=-1)&&(delete i.vertices[e],console.log(`Delete vertex "${e}" with value`,t))}for(let e in i.faces){let t=i.faces[e],n=t.vertices.filter(a=>i.vertices[a]==null);if(n.length==t.vertices.length||n.length==t.vertices.length-1)console.log(`Deleting face "${e}" due to not having 1 or more valid vertices`),delete i.faces[e];else if(n.length)for(let a of n)t.vertices.remove(a),delete t.uv[a],console.log(`Deleting invalid vertex "${a}" from face "${e}"`)}Mesh.preview_controller.updateAll(i)}updateSelection()}SharedActions.add("delete",{condition:()=>Modes.edit&&Prop.active_panel=="preview"&&Mesh.selected[0]&&Project.mesh_selection[Mesh.selected[0].uuid],run(){let i=Mesh.selected.slice(),e=BarItems.delete.keybind.additionalModifierTriggered(event,"keep_vertices");Undo.initEdit({elements:i,outliner:!0,selection:!0}),Mesh.selected.forEach(t=>{let n=t.getSelectedVertices(),a=t.getSelectedEdges(),o=t.getSelectedFaces();if((BarItems.selection_mode.value=="face"||BarItems.selection_mode.value=="cluster")&&o.length<Object.keys(t.faces).length){let r=[],s=[];if(o.forEach(l=>{let c=t.faces[l];r.safePush(...c.vertices),e&&s.push(...c.getEdges()),delete t.faces[l]}),e)e:for(let l of s){for(let c in t.faces){let d=t.faces[c].vertices;if(d.includes(l[0])&&d.includes(l[1]))continue e}t.addFaces(new MeshFace(t,{vertices:l}))}else r.forEach(l=>{let c=!1;for(let d in t.faces)t.faces[d].vertices.includes(l)&&(c=!0);c||delete t.vertices[l]})}else if(BarItems.selection_mode.value=="edge"){for(let r in t.faces){let l=t.faces[r].getSortedVertices();l.find((d,u)=>{let p=l[u+1]||l[0],m=[d,p];return a.find(_=>Xd(m,_))})&&delete t.faces[r]}a.forEachReverse(r=>{r.forEach(s=>{let l=!1;for(let c in t.faces)t.faces[c].vertices.includes(s)&&(l=!0);!l&&!e&&(delete t.vertices[s],n.remove(s),a.remove(r))})})}else BarItems.selection_mode.value=="vertex"&&n.length<Object.keys(t.vertices).length?n.forEach(r=>{for(let s in t.faces){let l=t.faces[s];if(l.vertices.includes(r))if(l.vertices.length>2){let c;if(l.vertices.length==4&&(c=l.getNormal()),l.vertices.remove(r),delete l.uv[r],l.vertices.length==3&&l.getAngleTo(c)>90&&l.invert(),l.vertices.length==2){for(let d in t.faces)if(d!=s&&!l.vertices.find(u=>!t.faces[d].vertices.includes(u))){delete t.faces[s];break}}}else delete t.faces[s]}delete t.vertices[r]}):(i.remove(t),t.remove(!1))}),Undo.finishEdit("Delete mesh part"),Canvas.updateView({elements:i,selection:!0,element_aspects:{geometry:!0,faces:!0,uv:i.length>0}})}});SharedActions.add("select_all",{condition:()=>Modes.edit&&Mesh.selected.length&&Mesh.selected.length===Outliner.selected.length&&BarItems.selection_mode.value!=="object",priority:1,run(){let i=BarItems.selection_mode.value;if(i=="vertex"){let e=Mesh.selected[0].getSelectedVertices().length==Object.keys(Mesh.selected[0].vertices).length;Mesh.selected.forEach(t=>{e?t.getSelectedVertices(!0).empty():t.getSelectedVertices(!0).replace(Object.keys(t.vertices))})}else if(i=="edge"){let e=Mesh.selected[0].getSelectedVertices().length==Object.keys(Mesh.selected[0].vertices).length;Mesh.selected.forEach(t=>{if(e)t.getSelectedVertices(!0).empty(),t.getSelectedEdges(!0).empty();else{t.getSelectedVertices(!0).replace(Object.keys(t.vertices));let n=t.getSelectedEdges(!0);for(let a in t.faces){let r=t.faces[a].getSortedVertices();r.forEach((s,l)=>{let c=[s,r[l+1]||r[0]];n.find(d=>Xd(d,c))||n.push(c)})}}})}else{let e=Mesh.selected[0].getSelectedFaces().length==Object.keys(Mesh.selected[0].faces).length;Mesh.selected.forEach(t=>{e?delete Project.mesh_selection[t.uuid]:(t.getSelectedVertices(!0).replace(Object.keys(t.vertices)),t.getSelectedFaces(!0).replace(Object.keys(t.faces)))})}updateSelection()}});SharedActions.add("unselect_all",{condition:()=>Modes.edit&&Mesh.selected.length&&Mesh.selected.length===Outliner.selected.length&&BarItems.selection_mode.value!=="object",priority:1,run(){Mesh.selected.forEach(i=>{delete Project.mesh_selection[i.uuid]}),updateSelection()}});SharedActions.add("invert_selection",{condition:()=>Modes.edit&&Mesh.selected.length&&Mesh.selected.length===Outliner.selected.length&&BarItems.selection_mode.value!=="object",priority:1,run(){let i=BarItems.selection_mode.value;i=="vertex"?Mesh.selected.forEach(e=>{let t=e.getSelectedVertices(),n=Object.keys(e.vertices).filter(a=>!t.includes(a));e.getSelectedVertices(!0).replace(n)}):i=="edge"?Mesh.selected.forEach(e=>{let t=e.getSelectedEdges().slice(),n=e.getSelectedVertices(!0).empty(),a=e.getSelectedEdges(!0).empty();for(let o in e.faces){let s=e.faces[o].getSortedVertices();s.forEach((l,c)=>{let d=[l,s[c+1]||s[0]];t.find(u=>Xd(u,d))||(a.push(d),n.safePush(d[0],d[1]))})}}):Mesh.selected.forEach(e=>{let t=e.getSelectedFaces().slice(),n=e.getSelectedVertices(!0).empty(),a=e.getSelectedFaces(!0).empty();for(let o in e.faces)if(!t.includes(o)){let r=e.faces[o];a.push(o),n.safePush(...r.vertices)}}),updateSelection()}});BARS.defineActions(function(){let i="object";new BarSelect("selection_mode",{options:{object:{name:!0,icon:"far.fa-gem"},cluster:{name:!0,icon:"link"},face:{name:!0,icon:"far.fa-square"},edge:{name:!0,icon:"pen_size_3"},vertex:{name:!0,icon:"fiber_manual_record"}},icon_mode:!0,condition:()=>Modes.edit&&Mesh.selected.length&&Toolbox.selected.id!="knife_tool",onChange({value:e}){e=="cluster"&&(e="face"),e!==i&&(e==="object"?Mesh.selected.forEach(t=>{delete Project.mesh_selection[t.uuid]}):e==="face"&&Mesh.selected.forEach(t=>{let n=t.getSelectedFaces(!0);n.empty();for(let a in t.faces)t.faces[a].isSelected(a)&&n.safePush(a)}),(e=="face"||e=="cluster")&&["edge","vertex"].includes(i)&&Mesh.selected.forEach(t=>{let n=t.getSelectedVertices(),a=t.getSelectedFaces(!0);for(let o in t.faces)t.faces[o].vertices.allAre(s=>n.includes(s))&&a.safePush(o)}),e=="edge"&&Mesh.selected.forEach(t=>{t.getSelectedEdges(!0).empty()}),e=="edge"&&["face","cluster"].includes(i)&&Mesh.selected.forEach(t=>{let n=t.getSelectedEdges(!0),a=t.getSelectedFaces(!0);a.forEach(o=>{let s=t.faces[o].getSortedVertices();s.forEach((l,c)=>{let d=[l,s[c+1]||s[0]];n.find(u=>Xd(u,d))||n.push(d)})}),a.empty()}),e=="edge"&&["vertex","cluster"].includes(i)&&Mesh.selected.forEach(t=>{let n=t.getSelectedEdges(!0),a=t.getSelectedVertices();if(a.length)for(let o in t.faces){let s=t.faces[o].getSortedVertices();s.forEach((l,c)=>{let d=[l,s[c+1]||s[0]];!a.includes(d[0])||!a.includes(d[1])||n.find(u=>Xd(u,d))||n.push(d)})}}),e=="vertex"&&["face","cluster"].includes(i)&&Mesh.selected.forEach(t=>{t.getSelectedFaces(!0).empty()}),e=="vertex"&&["edge","cluster"].includes(i)&&Mesh.selected.forEach(t=>{t.getSelectedEdges(!0).empty()}),updateSelection(),i=e)}}),new Action("create_face",{icon:"fas.fa-draw-polygon",category:"edit",keybind:new Keybind({key:"f",shift:!0}),condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length>1},click(){let e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3,a=new THREE.Vector3;Undo.initEdit({elements:Mesh.selected});let o=[];Mesh.selected.forEach(r=>{let s=r.getSelectedVertices(),l=r.getSelectedFaces(!0);if(l.empty(),s.length>=2&&s.length<=4){let c,d=0;for(let u in r.faces){let p=r.faces[u],m=p.vertices.filter(_=>s.includes(_)).length;m>d&&(c=p,d=m),m==p.vertices.length&&delete r.faces[u]}if(c&&(s.length==2||s.length==3)&&c.vertices.length==4&&c.vertices.filter(u=>s.includes(u)).length==s.length){let u=c.getSortedVertices(),p=u.filter(_=>!s.includes(_));if(Math.abs(u.indexOf(s[0])-u.indexOf(s[1]))!=1||s.length==3){let _=new MeshFace(r,c);_.vertices.remove(p[0]),delete _.uv[p[0]];let f=p[1]||u[u.indexOf(p[0])+2]||u[u.indexOf(p[0])-2];c.vertices.remove(f),delete c.uv[f];let[g]=r.addFaces(_);l.push(g),c.getAngleTo(_)>90&&_.invert()}}else{let u=new MeshFace(r,{vertices:s,texture:c?.texture}),[p]=r.addFaces(u);if(l.push(p),o.push(p),s.length>2){let m;for(let _ in r.faces){let f=r.faces[_],g=f.vertices.filter(v=>s.includes(v));if(g.length==2){let v=f.getSortedVertices(),b=u.getSortedVertices(),x=v.indexOf(g[0])-v.indexOf(g[1]),w=b.indexOf(g[0])-b.indexOf(g[1]);if(x==1-f.vertices.length&&(x=1),w==1-u.vertices.length&&(w=1),Math.abs(x)==1&&Math.abs(w)==1){x==w&&u.invert(),m=!0;break}}}if(!m){let _=new THREE.Vector3().fromArray(u.getNormal());_.applyQuaternion(r.mesh.getWorldQuaternion(new THREE.Quaternion));let f=Preview.selected.camera.getWorldDirection(new THREE.Vector3);_.angleTo(f)<Math.PI/2&&u.invert()}}}}else if(s.length>4){let c;for(let b in r.faces){let x=r.faces[b];!c&&x.vertices.find(w=>s.includes(w))&&(c=x)}let d=s.slice(),u=e.fromArray(r.vertices[d[1]].slice().V3_subtract(r.vertices[d[0]])),m=t.fromArray(r.vertices[d[2]].slice().V3_subtract(r.vertices[d[0]])).cross(u),_=new THREE.Plane().setFromNormalAndCoplanarPoint(m,new THREE.Vector3().fromArray(r.vertices[d[0]])),f=[0,0],g={};d.forEach(b=>{let x=_.projectPoint(n.fromArray(r.vertices[b]),a),w=Reusable.quat1.setFromUnitVectors(m,THREE.NormalY);x.applyQuaternion(w),g[b]=[Math.roundTo(x.x,4),Math.roundTo(x.z,4)],f[0]+=g[b][0],f[1]+=g[b][1]}),f[0]/=d.length,f[1]/=d.length,d.forEach(b=>{g[b][0]-=f[0],g[b][1]-=f[1],g[b][2]=Math.atan2(g[b][0],g[b][1])}),d.sort((b,x)=>g[b][2]-g[x][2]);let v=0;for(;v<d.length;){let b=d.slice(v,v+4);d.push(b[0]);let x=new MeshFace(r,{vertices:b,texture:c.texture}),[w]=r.addFaces(x);if(l.push(w),b.length<4)break;v+=3}}}),UVEditor.setAutoSize(null,!0,o),Undo.finishEdit("Create mesh face"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}}),new Action("convert_to_mesh",{icon:"fa-gem",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Cube.hasSelected()||SplineMesh.hasSelected()},click(){Undo.initEdit({elements:[...Cube.selected,...SplineMesh.selected],outliner:!0});let e=[];Cube.selected.forEach(t=>{let n=new Mesh({name:t.name,color:t.color,origin:t.origin,rotation:t.rotation,vertices:[]}),a=new THREE.Euler(0,0,0,Format.euler_order).fromArray(t.rotation.map(Math.degToRad));a.reorder("XYZ"),n.rotation.V3_set(a.toArray().map(d=>Math.roundTo(Math.radToDeg(d),4)));var o=t.from.slice(),r=t.to.slice();adjustFromAndToForInflateAndStretch(o,r,t);for(let d=0;d<o.length;d++)o[d]-=t.origin[d],r[d]-=t.origin[d];let s=[n.addVertices([r[0],r[1],r[2]])[0],n.addVertices([r[0],r[1],o[2]])[0],n.addVertices([r[0],o[1],r[2]])[0],n.addVertices([r[0],o[1],o[2]])[0],n.addVertices([o[0],r[1],r[2]])[0],n.addVertices([o[0],r[1],o[2]])[0],n.addVertices([o[0],o[1],r[2]])[0],n.addVertices([o[0],o[1],o[2]])[0]],l=s.slice();function c(d,u){let p=t.faces[d];if(p.texture===null)return;let m=[[p.uv[0],p.uv[1]],[p.uv[2],p.uv[1]],[p.uv[2],p.uv[3]],[p.uv[0],p.uv[3]]],_=p.rotation||0;for(;_>0;)_-=90,m.splice(0,0,m.pop());let f={[u[0]]:m[1],[u[1]]:m[0],[u[2]]:m[2],[u[3]]:m[3]};n.addFaces(new MeshFace(n,{vertices:u,uv:f,texture:p.texture})),u.forEach(g=>l.remove(g))}c("east",[s[1],s[0],s[3],s[2]]),c("west",[s[4],s[5],s[6],s[7]]),c("up",[s[1],s[5],s[0],s[4]]),c("down",[s[2],s[6],s[3],s[7]]),c("south",[s[0],s[4],s[2],s[6]]),c("north",[s[5],s[1],s[7],s[3]]),l.forEach(d=>{delete n.vertices[d]}),n.sortInBefore(t).init(),e.push(n),selected.push(n),t.remove()}),SplineMesh.selected.forEach(t=>{let n=new Mesh({name:t.name,color:t.color,origin:t.origin,rotation:t.rotation,vertices:[]});n.shading=t.shading,t.getTubeMesh(!0,n),n.sortInBefore(t).init(),e.push(n),selected.push(n),t.remove()}),updateSelection(),Undo.finishEdit("Convert elements to meshes",{elements:e,outliner:!0})}}),new Action("apply_mesh_rotation",{icon:"published_with_changes",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected.length},click(){let e=new THREE.Vector3;Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(t=>{let n=t.mesh.rotation;for(let a in t.vertices)e.fromArray(t.vertices[a]),e.applyEuler(n),t.vertices[a].V3_set(e.x,e.y,e.z);t.rotation.V3_set(0,0,0)}),Undo.finishEdit("Apply mesh rotation"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,transform:!0},selection:!0})}}),new Action("invert_face",{icon:"flip_to_back",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedFaces().length},click(){Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(e=>{for(let t in e.faces){let n=e.faces[t];n.isSelected(t)&&n.invert()}}),Undo.finishEdit("Invert mesh faces"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0}})}}),new Action("switch_face_crease",{icon:"signal_cellular_off",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedFaces().find(e=>Mesh.selected[0].faces[e].vertices.length==4)},click(){Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(e=>{for(let t in e.faces){let n=e.faces[t];if(n.vertices.length==4&&n.isSelected(t)){let a=n.getSortedVertices().slice();a.push(a.shift()),n.vertices.replace(a)}}}),Undo.finishEdit("Switch mesh face crease"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0}})}}),new Action("extrude_mesh_selection",{icon:"upload",category:"edit",keybind:new Keybind({key:"e",shift:!0}),condition:{modes:["edit"],features:["meshes"],selected:{mesh:!0},method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length},click(){function e(t,n=1,a,o){Undo.initEdit({elements:Mesh.selected,selection:!0},t),Mesh.selected.forEach(r=>{let s=r.getSelectedVertices().slice(),l=r.getSelectedEdges(!0),c=r.getSelectedFaces(),d,u=[];s.length&&(BarItems.selection_mode.value=="vertex"||BarItems.selection_mode.value=="edge")&&c.empty();let p=c.map(g=>r.faces[g]),m;if(p.forEach(g=>{s.safePush(...g.vertices)}),l.forEach(g=>{s.safePush(...g)}),s.length>=3&&!p.length){let[g,v,b]=s.slice(0,3).map(E=>r.vertices[E].slice()),x=new THREE.Vector3().fromArray(g.V3_subtract(b));x.cross(new THREE.Vector3().fromArray(v.V3_subtract(b))).normalize();let w;for(let E in r.faces){let y=r.faces[E],A=y.vertices.filter(R=>s.includes(R));if(A.length>=2&&A.length<y.vertices.length&&y.vertices.length>2){w=y;break}}if(w){let E=r.vertices[w.vertices.find(R=>s.includes(R))],A=r.vertices[w.vertices.find(R=>!s.includes(R))].slice().V3_subtract(E);Reusable.vec1.fromArray(A).angleTo(x)<1&&x.negate()}m=x.toArray()}if(a=="average"&&p.length){m=[0,0,0];for(let g of p){let v=g.getNormal(!0);m.V3_add(v)}m.V3_divide(p.length)}d=r.addVertices(...s.map(g=>{let v=r.vertices[g].slice(),b,x=0;switch(a){case"average":b=m;break;case"y+":b=[0,1,0];break;case"y-":b=[0,-1,0];break;case"x+":b=[1,0,0];break;case"x-":b=[-1,0,0];break;case"z+":b=[0,0,1];break;case"z-":b=[0,0,-1];break}if(!b){let w=[];if(p.forEach(E=>{if(E.vertices.includes(g)){x++;let y=E.getNormal(!0);w.push(y),b?b.V3_add(y):b=y}}),x>1){let E=Math.sqrt(b[0]**2+b[1]**2+b[2]**2);if(b.V3_divide(E),o){let y=new THREE.Vector3().fromArray(w[0]),A=new THREE.Vector3().fromArray(w[1]),R=y.angleTo(A);b.V3_divide(Math.cos(R))}}}if(!b){let w,E=0,y=0;for(let A in r.faces){let R=r.faces[A],j=R.vertices.filter(F=>s.includes(F));if(E<j.length?(E=j.length,y=1,w=R):E===j.length&&y++,E==3)break}if(E<3&&y>2&&s.length>2)b=m;else if(w){let A=new THREE.Vector3,R=[];w.vertices.forEach(j=>{let F=s.includes(j)?1:-1;A.x+=r.vertices[j][0]*F,A.y+=r.vertices[j][1]*F,A.z+=r.vertices[j][2]*F,R.push(F)}),b=A.normalize().toArray()}else w?b=w.getNormal(!0):b=[0,1,0]}return v.V3_add(b.map(w=>w*n)),v})),Project.mesh_selection[r.uuid].vertices.replace(d),p.forEach(g=>{g.vertices.forEach((v,b)=>{g.vertices[b]=d[s.indexOf(v)];let x=g.uv[v];delete g.uv[v],g.uv[g.vertices[b]]=x})});let _=d.slice();p.forEach((g,v)=>{let b=g.getSortedVertices();b.forEach((x,w)=>{let E=b[w+1]||b[0];if(b.length==2&&w||p.find(R=>R!=g&&R.vertices.includes(x)&&R.vertices.includes(E)))return;let y=new MeshFace(r,r.faces[c[v]]).extend({vertices:[E,x,s[d.indexOf(x)],s[d.indexOf(E)]]}),[A]=r.addFaces(y);u.push(A),_.remove(x),_.remove(E)}),b.length==2&&delete r.faces[c[v]]});let f=[];l.forEach(g=>{let v,b;for(let j in r.faces){let F=r.faces[j],O=F.vertices;if(O.includes(g[0])&&O.includes(g[1])){v=F,b=O;break}}b[0]==g[0]&&b[1]!=g[1]&&g.reverse();let[x,w]=g.map(j=>d[s.indexOf(j)]),[E,y]=g,A=new MeshFace(r,v).extend({vertices:[x,w,E,y]});A.getAngleTo(v)>90&&A.invert();let[R]=r.addFaces(A);u.push(R),f.push(A),_.remove(x),_.remove(w)}),_.forEach(g=>{let v=s[d.indexOf(g)],b=!1;if(r.forAllFaces(x=>{x.vertices.includes(v)&&(b=!0)}),p.find(x=>x.vertices.includes(g))&&!b)delete r.vertices[v];else{let x=new MeshFace(r,{vertices:[v,g]});r.addFaces(x)}}),l.forEach(g=>{g.forEach((v,b)=>{g[b]=d[s.indexOf(v)]})}),UVEditor.setAutoSize(null,!0,u)}),Undo.finishEdit("Extrude mesh selection"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}e(),Undo.amendEdit({extend:{type:"num_slider",value:1,label:"edit.extrude_mesh_selection.extend",interval_type:"position"},direction_mode:{type:"select",label:"edit.extrude_mesh_selection.direction",options:{outwards:"edit.extrude_mesh_selection.direction.outwards",average:"edit.extrude_mesh_selection.direction.average","y+":"Y+","y-":"Y-","x+":"X+","x-":"X-","z+":"Z+","z-":"Z-"}},even_extend:{type:"checkbox",value:!1,label:"edit.extrude_mesh_selection.even_extend"}},t=>{e(!0,t.extend,t.direction_mode,t.even_extend)})}}),new Action("solidify_mesh_selection",{icon:"bottom_panel_open",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedFaces().length},click(){function e(t,n=1){Undo.initEdit({elements:Mesh.selected,selection:!0},t),Mesh.selected.forEach(a=>{let o=[],r,s=[],l=a.getSelectedFaces(!0),c=l.map(p=>a.faces[p]),d;if(c.forEach(p=>{o.safePush(...p.vertices)}),o.length>=3&&!c.length){let[p,m,_]=o.slice(0,3).map(v=>a.vertices[v].slice()),f=new THREE.Vector3().fromArray(p.V3_subtract(_));f.cross(new THREE.Vector3().fromArray(m.V3_subtract(_))).normalize();let g;for(let v in a.faces){let b=a.faces[v],x=b.vertices.filter(w=>o.includes(w));if(x.length>=2&&x.length<b.vertices.length&&b.vertices.length>2){g=b;break}}if(g){let v=a.vertices[g.vertices.find(w=>o.includes(w))],x=a.vertices[g.vertices.find(w=>!o.includes(w))].slice().V3_subtract(v);Reusable.vec1.fromArray(x).angleTo(f)<1&&f.negate()}d=f.toArray()}r=a.addVertices(...o.map(p=>{let m=a.vertices[p].slice(),_,f=0;if(c.forEach(g=>{g.vertices.includes(p)&&(f++,_?_.V3_add(g.getNormal(!0)):_=g.getNormal(!0))}),f>1&&_.V3_divide(f),!_){let g,v=0,b=0;for(let x in a.faces){let w=a.faces[x],E=w.vertices.filter(y=>o.includes(y));if(v<E.length?(v=E.length,b=1,g=w):v===E.length&&b++,v==3)break}if(v<3&&b>2&&o.length>2)_=d;else if(g){let x=new THREE.Vector3,w=[];g.vertices.forEach(E=>{let y=o.includes(E)?1:-1;x.x+=a.vertices[E][0]*y,x.y+=a.vertices[E][1]*y,x.z+=a.vertices[E][2]*y,w.push(y)}),_=x.normalize().toArray()}else g?_=g.getNormal(!0):_=[0,1,0]}return m.V3_add(_.map(g=>g*n)),m})),Project.mesh_selection[a.uuid].vertices.replace(r),c.forEach(p=>{let m=new MeshFace(a,p),[_]=a.addFaces(m);l.push(_),m.invert(),p.vertices.forEach((f,g)=>{p.vertices[g]=r[o.indexOf(f)];let v=p.uv[f];delete p.uv[f],p.uv[p.vertices[g]]=v})});let u=r.slice();c.forEach((p,m)=>{let _=p.getSortedVertices();_.forEach((f,g)=>{let v=_[g+1]||_[0];if(_.length==2&&g||c.find(w=>w!=p&&w.vertices.includes(f)&&w.vertices.includes(v)))return;let b=new MeshFace(a,a.faces[l[m]]).extend({vertices:[v,f,o[r.indexOf(f)],o[r.indexOf(v)]]}),[x]=a.addFaces(b);l.push(x),s.push(x),u.remove(f),u.remove(v)}),_.length==2&&delete a.faces[l[m]]}),UVEditor.setAutoSize(null,!0,s)}),Undo.finishEdit("Solidify mesh selection"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}e(),Undo.amendEdit({thickness:{type:"num_slider",value:1,label:"edit.solidify_mesh_selection.thickness",interval_type:"position"}},t=>{e(!0,t.thickness)})}}),new Action("inset_mesh_selection",{icon:"fa-compress-arrows-alt",category:"edit",keybind:new Keybind({key:"i",shift:!0}),condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length>=3},click(){function e(t,n=50){Undo.initEdit({elements:Mesh.selected,selection:!0},t),Mesh.selected.forEach(a=>{let o=a.getSelectedVertices();if(o.length<3)return;o=o.slice();let r,s=a.getSelectedFaces(),l=s.map(u=>a.faces[u]),c=s.slice();if(r=a.addVertices(...o.map(u=>{let p=a.vertices[u].slice(),m=l.filter(f=>f.vertices.includes(u));if(m.length==0)return;let _=[0,0,0];if((m.length==3||m.length==1)&&(m.sort((f,g)=>{let v=0;f.vertices.forEach(x=>{v+=m.filter(w=>w.vertices.includes(x)).length});let b=0;return g.vertices.forEach(x=>{b+=m.filter(w=>w.vertices.includes(x)).length}),b-v}),m[0].vertices.forEach(f=>{_.V3_add(a.vertices[f])}),_.V3_divide(m[0].vertices.length),p=p.map((f,g)=>Math.lerp(f,_[g],n/100))),m.length==2){let f=m[0].vertices.find(g=>g!=u&&m[1].vertices.includes(g));p=p.map((g,v)=>Math.lerp(g,a.vertices[f][v],n/200))}return p}).filter(u=>u instanceof Array)),!r.length)return;Project.mesh_selection[a.uuid].vertices.replace(r),l.forEach(u=>{u.vertices.forEach((p,m)=>{u.vertices[m]=r[o.indexOf(p)];let _=u.uv[p];delete u.uv[p],u.uv[u.vertices[m]]=_})});let d=r.slice();l.forEach((u,p)=>{let m=u.getSortedVertices();m.forEach((_,f)=>{let g=m[f+1]||m[0];if(m.length==2&&f||l.find(E=>E!=u&&E.vertices.includes(_)&&E.vertices.includes(g)))return;let v=[g,_,o[r.indexOf(_)],o[r.indexOf(g)]],b={[_]:u.uv[_],[g]:u.uv[g],[v[2]]:u.uv[_],[v[3]]:u.uv[g]},x=new MeshFace(a,a.faces[s[p]]).extend({vertices:v,uv:b}),[w]=a.addFaces(x);c.push(w),d.remove(_),d.remove(g)}),m.length==2&&delete a.faces[s[p]]}),d.forEach(u=>{let p=o[r.indexOf(u)];for(let m in a.faces){let _=a.faces[m];_.vertices.includes(p)&&(_.vertices.splice(_.vertices.indexOf(p),1,u),_.uv[u]=_.uv[p],delete _.uv[p])}delete a.vertices[p]}),UVEditor.setAutoSize(null,!0,c)}),Undo.finishEdit("Extrude mesh selection"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}e(),Undo.amendEdit({offset:{type:"num_slider",value:50,label:"edit.loop_cut.offset",min:0,max:100,interval_type:"position"}},t=>{e(!0,t.offset)})}}),new Action("dissolve_edges",{icon:"border_vertical",category:"edit",condition:{modes:["edit"],features:["meshes"],method:()=>Mesh.selected[0]&&Mesh.selected[0].getSelectedVertices().length>1},click(){Undo.initEdit({elements:Mesh.selected}),Mesh.selected.forEach(e=>{let t=e.getSelectedEdges(!0),n=e.getSelectedVertices(!0);for(let o of t){let r=[],s=[];for(let c in e.faces){let d=e.faces[c];if(!d.vertices.includes(o[0])||!d.vertices.includes(o[1]))continue;let u=d.getSortedVertices(),p=u.indexOf(o[0]),m=u.indexOf(o[1]);(u.length<4||Math.abs(p-m)!=2)&&(r.push(d),s.push(c))}let l=s.length>=2;if(l){let c=e.faces[s[0]],d=e.faces[s[1]],u=c.vertices.filter(p=>o.indexOf(p)==-1);delete e.faces[s[0]],s.remove(s[0]),d.vertices.safePush(...u),u.forEach((p,m)=>{d.uv[p]=c.uv[p]?c.uv[p].slice():[0,0]}),o.forEach(p=>{d.vertices.length>4&&(d.vertices.remove(p),delete d.uv[p])}),d.getAngleTo(c)>90&&d.invert()}s.forEach((c,d)=>{e.faces[c]&&(d>1||!l)&&delete e.faces[c]})}let a=[];for(let o of t)a.safePush(...o);for(let o of a){let r=!1;for(let s in e.faces)if(e.faces[s].vertices.includes(o)){r=!0;break}r||delete e.vertices[o]}n.empty()}),Undo.finishEdit("Dissolve edges"),Canvas.updateView({elements:Mesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}})});Object.assign(window,{sameMeshEdge:Xd,ProportionalEdit:dc,autoFixMeshEdit:al,cleanupOverlappingMeshFaces,uncorruptMesh:oae});var Si={initial_transformer_position:0,outliner_snapshot:null,isCentered(i){let e=Format.centered_grid?0:8,t=Si.element_types[i.type];if(t.isCentered&&t.isCentered(i,{center:e})==!1)return!1;if(t.check_parent_symmetry!=!1){let n=a=>{if(a instanceof OutlinerNode)return"origin"in a&&a.origin[0]!=e||"rotation"in a&&(a.rotation[1]||a.rotation[2])?!0:n(a.parent)};if(n(i.parent))return!1}return!0},createClone(i,e){let t=BarItems.mirror_modeling.tool_config.options,n=t.mirror_uv,a=Format.centered_grid?0:8,o=Si.cached_elements[i.uuid]?.counterpart,r=Si.element_types[i.type],s;if(o==i||o&&!Outliner.elements.includes(o))return;if(o){let c=function(d,u){let p=d.parent,m=u.parent;if(p==m||p==Outliner.ROOT||m==Outliner.ROOT||p.type!=m.type||!(p instanceof OutlinerNode)||p.getTypeBehavior("parent")!=!0||!(m instanceof OutlinerNode)||m.getTypeBehavior("parent")!=!0)return;let _=m instanceof Group?m.getSaveCopy():void 0;Si.updateParentNodeCounterpart(m,p),m instanceof Group&&Si.insertGroupIntoUndo(m,e,_),c(p,m)};s=o.getUndoCopy(e),o.extend(i),o.flip(0,a),o.extend({name:s.name}),!n&&r.maintainUV&&r.maintainUV(o,s),r.updateCounterpart&&r.updateCounterpart(i,o,{element_before_snapshot:s,center:a}),c(i,o)}else{let c=function(u){let p=u.parent;if(!(p instanceof OutlinerNode))return"root";if("origin"in p&&Math.epsilon(p.origin[0],a)&&Si.isParentTreeSymmetrical(u,{center:a}))return p;{let m=c(p),_=new p.constructor(p);nd(_,0,v=>!0,p.name),_.origin[0]=Si.flipCoord(_.origin[0]),_.rotation[1]*=-1,_.rotation[2]*=-1,_.isOpen=p.isOpen;let g=(m instanceof OutlinerNode?m.children:Outliner.root).find(v=>{if(!(v instanceof OutlinerNode))return!1;if((v.name==_.name||Condition(_.getTypeBehavior("unique_name")))&&"rotation"in v&&v.rotation instanceof Array&&v.rotation.equals(_.rotation)&&"origin"in v&&v.origin instanceof Array&&v.origin.equals(_.origin))return!0});if(g||(_.createUniqueName(),_.addTo(m).init(),g=_),g instanceof Group){let v=g!=_?g.getSaveCopy():void 0;Si.insertGroupIntoUndo(g,e,v)}else Si.insertElementIntoUndo(g,e);return g}},d=c(i);o=new i.constructor(i),o.addTo(d).init(),o.flip(0,a),r.updateCounterpart&&r.updateCounterpart(i,o,{options:t,center:a})}Si.insertElementIntoUndo(o,e,s);let{preview_controller:l}=o;return l.updateAll(o),o},updateParentNodeCounterpart(i,e){i.extend({position:"position"in e?e.position:void 0,origin:"origin"in e?e.origin:void 0,rotation:"rotation"in e?e.rotation:void 0,scale:"scale"in e?e.scale:void 0,color:"color"in e?e.color:void 0}),"origin"in i&&(i.origin[0]=Si.flipCoord(i.origin[0])),"rotation"in i&&(i.rotation[1]*=-1,i.rotation[2]*=-1)},getEditSide(i=1){return Math.sign(Transformer.position.x||Si.initial_transformer_position)||i},flipCoord(i){return Format.centered_grid?-i:16-i},getMirrorElement(i){let e=Si.element_types[i.type],t=Format.centered_grid?0:8;return e.getMirroredElement?e.getMirroredElement(i,{center:t}):!1},isParentTreeSymmetrical(i,{center:e}){if(i.parent instanceof Group&&Format.bone_rig==!1)return!0;let t=[],n=i,a=[0],o=[1,2];for(;n.parent instanceof OutlinerNode;)n=n.parent,t.push(n);return t.allAre(r=>!(r.rotation&&o.some(s=>!Math.epsilon(r.rotation[s],0))||r.origin&&!a.allAre(s=>Math.epsilon(r.origin[s],e))))},isParentTreeOpposite(i,e){let t=o=>{let r=[];for(;o.parent instanceof OutlinerNode&&r.length<50;)o=o.parent,r.push(o);return r},n=t(i),a=t(e);if(n.length!=a.length)return!1;for(let o=0;o<n.length;o++){let r=n[o],s=a[o];if(r.type!=s.type||r.origin&&(!Math.epsilon(r.origin[0],-s.origin[0])||!Math.epsilon(r.origin[1],s.origin[1])||!Math.epsilon(r.origin[2],s.origin[2]))||r.rotation&&(!Math.epsilon(r.rotation[0],s.rotation[0])||!Math.epsilon(r.rotation[1],-s.rotation[1])||!Math.epsilon(r.rotation[2],-s.rotation[2])))return!1}return!0},insertElementIntoUndo(i,e,t){t?Undo.current_save.elements[i.uuid]||(Undo.current_save.elements[i.uuid]=t):Undo.current_save.outliner||(Undo.current_save.outliner=Si.outliner_snapshot),t||(e.outliner=!0),e.elements.safePush(i)},insertGroupIntoUndo(i,e,t){var n;(n=Undo.current_save).groups??(n.groups=[]),t?Undo.current_save.groups.find(a=>a.uuid==t.uuid)||Undo.current_save.groups.push(t):Undo.current_save.outliner||(Undo.current_save.outliner=Si.outliner_snapshot),t||(e.outliner=!0),e.groups??(e.groups=[]),e.groups.includes(i)||(e.groups=[...e.groups,i])},element_types:{},registerElementType(i,e){new Property(i,"boolean","allow_mirror_modeling",{default:!0});let t=i.prototype.type;Si.element_types[t]=e},cached_elements:{}};he.on("init_edit",i=>{if(!BarItems.mirror_modeling.value)return;let e=i.aspects;if(Si.initial_transformer_position=Transformer.position.x,e.elements&&e.mirror_modeling!=!1){Si.cached_elements={},Si.outliner_snapshot=e.outliner?null:Outliner.toJSON();let t=Si.getEditSide();e.elements.forEach(n=>{if(n.allow_mirror_modeling){let a=Si.isCentered(n),o=Si.cached_elements[n.uuid]={is_centered:a,is_copy:!1,edit_side:Si.getEditSide(0),counterpart:!1,pre_part_connections:void 0};a?Si.element_types[n.type]?.discoverConnectionsPreEdit&&(o.pre_part_connections=Si.element_types[n.type]?.discoverConnectionsPreEdit(n)):(o.is_copy=Math.sign(n.getWorldCenter().x)!=t,o.counterpart=Si.getMirrorElement(n),o.counterpart||(o.is_copy=!1))}})}if(e.group||e.groups){Si.cached_elements||(Si.cached_elements={});let t=e.groups??[e.group];Si.outliner_snapshot=e.outliner?null:Outliner.toJSON(),Undo.current_save.outliner||(Undo.current_save.outliner=Outliner.toJSON()),e.outliner=!0,t.forEach(n=>{if(Math.epsilon(n.origin[0],Format.centered_grid?0:8))return;let a=Group.all.find(o=>{if(Math.epsilon(n.origin[0],Si.flipCoord(o.origin[0]))&&Math.epsilon(n.origin[1],o.origin[1])&&Math.epsilon(n.origin[2],o.origin[2])&&n.getDepth()==o.getDepth())return!0});a&&(Si.cached_elements[n.uuid]={counterpart:a})})}});he.on("finish_edit",({aspects:i})=>{BarItems.mirror_modeling.value&&(i.elements&&i.mirror_modeling!=!1&&(i.elements=i.elements.slice(),i.elements.slice().forEach(t=>{let n=Si.cached_elements[t.uuid];if(t.allow_mirror_modeling&&!t.locked){let a=Si.isCentered(t);if(a&&Si.element_types[t.type]?.createLocalSymmetry&&Si.element_types[t.type].createLocalSymmetry(t,n),a){let o=n?.counterpart;o&&Outliner.elements.includes(o)&&o.uuid!=t.uuid&&(Si.insertElementIntoUndo(o,Undo.current_save.aspects,o.getUndoCopy()),o.remove(),i.elements.remove(o))}else{if(n?.counterpart?.selected&&n.is_copy)return;Si.createClone(t,i)}}}),(i.group||i.groups||i.outliner)&&Canvas.updateAllBones()),(i.group||i.groups)&&((i.groups??[i.group]).forEach(t=>{let n=Si.cached_elements[t.uuid]?.counterpart;if(n&&Group.all.includes(n)){let a=n.getChildlessCopy();a.uuid=n.uuid,Si.updateParentNodeCounterpart(n,t),Si.insertGroupIntoUndo(n,i,a)}}),i.outliner=!0,Canvas.updateAllBones()))});var wC=[0],SC=[1,2];function zC(i,e,t=0){return!(wC.some(n=>!Math.epsilon(i[n]-t,t-e[n]))||SC.some(n=>!Math.epsilon(i[n],e[n])))}function EC(i,e){return!(wC.some(t=>!Math.epsilon(i[t],e[t]))||SC.some(t=>!Math.epsilon(i[t],-e[t])))}Si.registerElementType(Cube,{isCentered(i,{center:e}){return!(Math.roundTo(i.rotation[1],3)||Math.roundTo(i.rotation[2],3)||!Math.epsilon(i.to[0],Si.flipCoord(i.from[0]),.01))},getMirroredElement(i,{center:e}){let t=.01,n=[0],a=[1,2];if(n.find(r=>!Math.epsilon(i.from[r]-e,e-i.to[r],t))==null&&a.find(r=>i.rotation[r])==null&&Si.isParentTreeSymmetrical(i,{center:e}))return i;for(var o of Cube.all)if(o!=i&&Math.epsilon(i.inflate,o.inflate,t)&&!a.some(r=>!Math.epsilon(i.from[r],o.from[r],t))&&!a.some(r=>!Math.epsilon(i.to[r],o.to[r],t))&&!n.some(r=>!Math.epsilon(i.size(r),o.size(r),t))&&!n.some(r=>!Math.epsilon(i.to[r]-e,e-o.from[r],t))&&EC(i.rotation,o.rotation)&&o.getDepth()==i.getDepth())return o;return!1},maintainUV(i,e){i.extend({faces:e.faces,uv_offset:e.uv_offset,mirror_uv:e.mirror_uv,box_uv:e.box_uv,autouv:e.autouv})}});Si.registerElementType(Mesh,{isCentered(i,{center:e}){return!(Math.roundTo(i.origin[0],3)!=e||Math.roundTo(i.rotation[1],3)||Math.roundTo(i.rotation[2],3)||!Si.isParentTreeSymmetrical(i,{center:e}))},getMirroredElement(i,{center:e}){let t=.01,n=[0],a=[1,2],o=.5,r=i.getCenter(!0);if(n.find(l=>!Math.epsilon(i.origin[l],e,t))==null&&n.find(l=>!Math.epsilon(r[l],e,o))==null&&a.find(l=>i.rotation[l])==null&&Si.isParentTreeSymmetrical(i,{center:e}))return i;for(var s of Mesh.all){let l=s.getCenter(!0);if(Object.keys(i.vertices).length===Object.keys(s.vertices).length&&s!=i&&n.find(c=>!Math.epsilon(i.origin[c]-e,e-s.origin[c],t))==null&&n.find(c=>!Math.epsilon(r[c]-e,e-l[c],o))==null&&a.find(c=>!Math.epsilon(i.origin[c],s.origin[c],t))==null&&a.find(c=>!Math.epsilon(r[c],l[c],o))==null&&EC(i.rotation,s.rotation)&&s.getDepth()==i.getDepth())return s}return!1},maintainUV(i,e){for(let t in i.faces){let n=i.faces[t],a=e.faces[t];if(a){n.texture=a.texture;for(let o of a.vertices)n.vertices.includes(o)&&a.uv[o]&&(n.uv[o]=a.uv[o].slice())}}},discoverConnectionsPreEdit(i){let e={faces:{},vertices:{},vertex_sides:{}};for(let t in i.vertices){let n=i.vertices[t];if(n[0]&&(e.vertex_sides[t]=Math.sign(Math.round(n[0]*200))),e.vertices[t])continue;let a=Reusable.vec1.fromArray(n);a.x*=-1;for(let o in i.vertices)if(a.distanceTo(Reusable.vec2.fromArray(i.vertices[o]))<.001){e.vertices[t]=o,e.vertices[o]=t;break}}for(let t in i.faces)if(!e.faces[t])for(let n in i.faces){if(t==n)continue;if(i.faces[t].vertices.allAre(o=>{let r=e.vertices[o];return r?i.faces[n].vertices.includes(r):!1})){e.faces[t]=n,e.faces[n]=t;break}}return e},createLocalSymmetry(i,e){let t=e?.edit_side||Si.getEditSide(),a=BarItems.mirror_modeling.tool_config.options.mirror_uv,o=e?.pre_part_connections,r={},s={};function l(f){return f.map(g=>Math.round(g*25)/25).join(",")}for(let f in i.vertices)(o?.vertex_sides[f]!=null?o.vertex_sides[f]==-t:i.vertices[f][0]&&Math.round(i.vertices[f][0]*t*50)<0)&&(r[f]=i.vertices[f],delete i.vertices[f],s[l(r[f])]=f);let c=[],d={},u=[];for(let f in i.vertices){let g=i.vertices[f];if(Math.abs(i.vertices[f][0])<.02)d[f]=f,u.push(f);else{let v=[Si.flipCoord(g[0]),g[1],g[2]],b=s[l(v)];b||(b=o?.vertices[f],i.vertices[b]&&(b=void 0)),b?i.vertices[b]=v:b=i.addVertices(v)[0],c.push(b),d[f]=b,d[b]=f}}let p={};for(let f in i.faces){let g=i.faces[f];g.vertices.filter(b=>r[b]||u.includes(b)).length==g.vertices.length&&!g.vertices.allAre(b=>u.includes(b))&&(p[f]=i.faces[f],delete i.faces[f])}let m=Object.keys(i.faces);for(let f of m){let g=i.faces[f],v=g.vertices.filter(b=>r[b]);if(v.length&&g.vertices.length!=v.length*2&&g.vertices.filter(b=>u.includes(b)).length+v.length*2!=g.vertices.length)v.forEach(b=>{i.vertices[b]=r[b]});else if(v.length){let b=g.vertices.filter(x=>!r[x]).map(x=>d[x]);g.vertices.forEach((x,w)=>{if(v.includes(x)){b.sort((y,A)=>{let R=Math.pow(i.vertices[y][1]-r[x][1],2)+Math.pow(i.vertices[y][2]-r[x][2],2);return Math.pow(i.vertices[A][1]-r[x][1],2)+Math.pow(i.vertices[A][2]-r[x][2],2)-R});let E=b.pop();x!=E&&E&&(g.vertices.splice(w,1,E),g.uv[E]=g.uv[x].slice(),delete g.uv[x])}})}else if(v.length==0&&g.vertices.find(b=>b!=d[b])){let b=o&&o.faces[f],x=p[b],w=new MeshFace(i,g);g.vertices.forEach((E,y)=>{let A=d[E];if(w.vertices.splice(y,1,A),delete w.uv[E],a||!x)w.uv[A]=g.uv[E].slice();else{let R=o.vertices[E];x.uv[R]?w.uv[A]=x.uv[R].slice():w.uv[A]=g.uv[E].slice()}}),w.invert(),b?i.faces[b]=w:[b]=i.addFaces(w)}}if(BarItems.selection_mode.value!="object"){let f=i.getSelectedVertices(!0);f.replace(f.filter(b=>i.vertices[b]));let g=i.getSelectedEdges(!0);g.replace(g.filter(b=>b.allAre(x=>i.vertices[x])));let v=i.getSelectedFaces(!0);v.replace(v.filter(b=>i.faces[b]))}let{preview_controller:_}=i;_.updateGeometry(i),_.updateFaces(i),_.updateUV(i)}});Si.registerElementType(xn,{isCentered(i,{center:e}){return!(Math.roundTo(i.position[0],3)!=e||Math.roundTo(i.rotation[1],3)||Math.roundTo(i.rotation[2],3)||!Si.isParentTreeSymmetrical(i,{center:e}))},getMirroredElement(i,{center:e}){let t=.01;if(wC.allAre(n=>Math.epsilon(i.position[n],e,t))&&SC.find(n=>i.rotation[n])==null&&Si.isParentTreeSymmetrical(i,{center:e}))return i;for(let n of xn.all)if(i!=n&&zC(i.position,n.position,e)&&EC(i.rotation,n.rotation)&&Si.isParentTreeOpposite(i,n)&&n.getDepth()==i.getDepth())return n;return!1},createLocalSymmetry(i,e){let t=Si.getEditSide(),n=BarItems.mirror_modeling.tool_config.options},updateCounterpart(i,e,t){e.extend({vertex_weights:t.element_before_snapshot?.vertex_weights})}});Si.registerElementType(fa,{isCentered(i,{center:e}){return!(Math.roundTo(i.position[0],3)!=e||!Si.isParentTreeSymmetrical(i,{center:e}))},getMirroredElement(i,{center:e}){let t=.01,n=[0],a=[1,2];if(n.allAre(o=>Math.epsilon(i.position[o],e,t)))return i;for(let o of fa.all)if(i!=o&&zC(i.position,o.position,e)&&o.getDepth()==i.getDepth())return o;return!1},maintainUV(i,e){i.extend({faces:e.faces})}});function rae(i,e,t){let n=i.vertices[t];for(let a in e.vertices){let o=e.vertices[a];if(zC(n,o))return a}}function a5(i,e,t){let n=i.getAllBones(),a,o=e;if(!Si.element_types.mesh.isCentered(e,{center:0})){if(a=Si.element_types.mesh.getMirroredElement(e,{center:0}),!a)return;o=a}for(let r in e.vertices){let s=e.vertices[r];if(t.has(r)==!1||e==o&&Math.epsilon(s[0],0))continue;let l=rae(e,o,r);if(l)for(let c of n)if(Si.element_types.armature_bone.isCentered(c,{center:0}))c.setVertexWeight(o,l,c.getVertexWeight(e,r));else{let d=Si.element_types.armature_bone.getMirroredElement(c,{center:0});d&&d.setVertexWeight(o,l,c.getVertexWeight(e,r))}}return a}BARS.defineActions(()=>{let i=new Toggle("mirror_modeling",{icon:"align_horizontal_center",category:"edit",condition:{modes:["edit"]},onChange(){Project.mirror_modeling_enabled=this.value,i.tool_config.options.enabled=this.value,Si.cached_elements={},updateSelection()},tool_config:new ToolConfig("mirror_modeling_options",{title:"action.mirror_modeling",form:{enabled:{type:"checkbox",label:"menu.mirror_painting.enabled",value:!1},mirror_uv:{type:"checkbox",label:"menu.mirror_modeling.mirror_uv",value:!0}},onFormChange(t){i.value!=t.enabled&&i.trigger()}})}),e=new Toggle("allow_element_mirror_modeling",{icon:"align_horizontal_center",category:"edit",condition:{modes:["edit"],selected:{element:!0},method:()=>i.value},onChange(t){Outliner.selected.forEach(n=>{"allow_mirror_modeling"in n.constructor.properties&&(n.allow_mirror_modeling=t)})}});he.on("update_selection",()=>{if(!Condition(e.condition))return;let t=Outliner.selected.find(n=>n.allow_mirror_modeling===!1);e.value!=!t&&(e.value=!t,e.updateEnabledState())}),new Action("apply_mirror_modeling",{icon:"align_horizontal_right",category:"edit",condition:{modes:["edit"]},click(){let t=i.value;i.value=!0,Undo.initEdit({elements:Outliner.selected,groups:Group.all.filter(n=>n.selected)}),Undo.finishEdit("Applied mirror modeling"),i.value=t}})});var sae={MirrorModeling:Si};Object.assign(window,sae);SharedActions.add("delete",{condition:()=>Modes.edit&&Prop.active_panel=="preview"&&SplineMesh.selected[0]&&Project.spline_selection[SplineMesh.selected[0].uuid],run(){let i=SplineMesh.selected.slice();Undo.initEdit({elements:i,outliner:!0,selection:!0}),i.forEach(e=>{let t=e.getSelectedHandles(!0);if(BarItems.spline_selection_mode.value=="handles"&&t.length>0){for(let a in e.handles){let o=e.handles[a];t.includes(a)&&(delete e.handles[a],t.remove(a),delete e.vertices[o.control1],delete e.vertices[o.joint],delete e.vertices[o.control2])}e.curves={};let n=Object.keys(e.handles);for(let a=0;a<n.length-1;a++)e.addCurves(new SplineCurve(e,{start_handle:n[a],end_handle:n[a+1]}))}else i.remove(e),e.remove(!1)}),Undo.finishEdit("Delete spline handle"),Canvas.updateView({elements:i,selection:!0,element_aspects:{geometry:!0,faces:!0,uv:i.length>0}})}});SharedActions.add("select_all",{condition:()=>Modes.edit&&SplineMesh.selected.length&&SplineMesh.selected.length===Outliner.selected.length&&BarItems.spline_selection_mode.value!=="object",priority:1,run(){if(BarItems.spline_selection_mode.value=="handles"){let e=SplineMesh.selected[0].getSelectedVertices().length==Object.keys(SplineMesh.selected[0].vertices).length;SplineMesh.selected.forEach(t=>{e?t.getSelectedVertices(!0).empty():t.getSelectedVertices(!0).replace(Object.keys(t.vertices))})}updateSelection()}});SharedActions.add("unselect_all",{condition:()=>Modes.edit&&SplineMesh.selected.length&&SplineMesh.selected.length===Outliner.selected.length&&BarItems.spline_selection_mode.value!=="object",priority:1,run(){SplineMesh.selected.forEach(i=>{delete Project.spline_selection[i.uuid]}),updateSelection()}});SharedActions.add("invert_selection",{condition:()=>Modes.edit&&SplineMesh.selected.length&&SplineMesh.selected.length===Outliner.selected.length&&BarItems.spline_selection_mode.value!=="object",priority:1,run(){BarItems.spline_selection_mode.value=="handles"&&SplineMesh.selected.forEach(e=>{let t=e.getSelectedVertices(),n=Object.keys(e.vertices).filter(a=>!t.includes(a));e.getSelectedVertices(!0).replace(n)}),updateSelection()}});BARS.defineActions(function(){let i=new Dialog({id:"add_spline",title:"action.add_spline",form:{shape:{label:"dialog.add_spline.shape",type:"select",options:{segment:"dialog.add_spline.shape.segment",square:"dialog.add_spline.shape.square",circle:"dialog.add_spline.shape.circle"}},sides_radial:{label:"dialog.add_spline.sides_radial",type:"num_slider",value:8,min:3,max:48,color:"u"},sides_tubular:{label:"dialog.add_spline.sides_tubular",type:"num_slider",value:4,min:1,max:48,color:"v"},radius:{label:"dialog.add_spline.radius",type:"num_slider",interval_type:"position",value:2,min:1,max:8,color:"w"},diameter:{label:"dialog.add_spline.diameter",type:"number",interval_type:"position",value:16,min:4,max:64,condition:({shape:t})=>["circle"].includes(t)},length:{label:"dialog.add_spline.length",type:"number",value:16,min:4,max:64,condition:({shape:t})=>["segment","square"].includes(t)},width:{label:"dialog.add_spline.width",type:"number",value:16,min:4,max:64,condition:({shape:t})=>["square"].includes(t)}},onConfirm(t){let n=Group.first_selected&&Group.first_selected.uuid,a=0,o=Math.floor(Math.random()*markerColors.length);function r(s,l){let c=[];if(n&&!Group.first_selected){let m=Group.all.find(_=>_.uuid==n);m&&(Group.first_selected=m)}Undo.initEdit({elements:c,selection:!0},s);let d=new SplineMesh({name:l.shape,color:o,vertices:{},handles:{},curves:{}}),u=getCurrentGroup();if(u&&(d.addTo(u),settings.inherit_parent_color.value&&(d.color=u.color)),l.shape=="segment"){let m=l.length/16;d.addVertices([m*11,0,0],[m*8,0,0],[m*5,0,0],[m*3,0,0],[0,0,0],[m*-3,0,0],[m*-5,0,0],[m*-8,0,0],[m*-11,0,0]);let _=Object.keys(d.vertices);d.addHandles(new SplineHandle(d,{control1:_[0],joint:_[1],control2:_[2]})),d.addHandles(new SplineHandle(d,{control1:_[3],joint:_[4],control2:_[5]})),d.addHandles(new SplineHandle(d,{control1:_[6],joint:_[7],control2:_[8]}));let f=Object.keys(d.handles);d.addCurves(new SplineCurve(d,{start_handle:f[0],end_handle:f[1]})),d.addCurves(new SplineCurve(d,{start_handle:f[1],end_handle:f[2]}))}if(l.shape=="square"){let m=l.width/8,_=l.length/8;d.addVertices([m*4,0,_*1],[m*4,0,_*4],[m*1,0,_*4],[m*-1,0,_*4],[m*-4,0,_*4],[m*-4,0,_*1],[m*-4,0,_*-1],[m*-4,0,_*-4],[m*-1,0,_*-4],[m*1,0,_*-4],[m*4,0,_*-4],[m*4,0,_*-1]);let f=Object.keys(d.vertices);d.addHandles(new SplineHandle(d,{control1:f[0],joint:f[1],control2:f[2]})),d.addHandles(new SplineHandle(d,{control1:f[3],joint:f[4],control2:f[5]})),d.addHandles(new SplineHandle(d,{control1:f[6],joint:f[7],control2:f[8]})),d.addHandles(new SplineHandle(d,{control1:f[9],joint:f[10],control2:f[11]}));let g=Object.keys(d.handles);d.addCurves(new SplineCurve(d,{start_handle:g[0],end_handle:g[1]})),d.addCurves(new SplineCurve(d,{start_handle:g[1],end_handle:g[2]})),d.addCurves(new SplineCurve(d,{start_handle:g[2],end_handle:g[3]})),d.cyclic=!0}if(l.shape=="circle"){let m=l.diameter/16,_=4*(Math.sqrt(2)-1)/3;d.addVertices([m*8,0,-_*m*8],[m*8,0,0],[m*8,0,_*m*8],[_*m*8,0,m*8],[0,0,m*8],[-_*m*8,0,m*8],[-m*8,0,_*m*8],[-m*8,0,0],[-m*8,0,-_*m*8],[-_*m*8,0,-m*8],[0,0,-m*8],[_*m*8,0,-m*8]);let f=Object.keys(d.vertices);d.addHandles(new SplineHandle(d,{control1:f[0],joint:f[1],control2:f[2]})),d.addHandles(new SplineHandle(d,{control1:f[3],joint:f[4],control2:f[5]})),d.addHandles(new SplineHandle(d,{control1:f[6],joint:f[7],control2:f[8]})),d.addHandles(new SplineHandle(d,{control1:f[9],joint:f[10],control2:f[11]}));let g=Object.keys(d.handles);d.addCurves(new SplineCurve(d,{start_handle:g[0],end_handle:g[1]})),d.addCurves(new SplineCurve(d,{start_handle:g[1],end_handle:g[2]})),d.addCurves(new SplineCurve(d,{start_handle:g[2],end_handle:g[3]})),d.cyclic=!0}if(d.tubular_resolution=l.sides_tubular,d.radial_resolution=l.sides_radial,d.radius_multiplier=l.radius,Texture.all.length&&Format.single_texture&&(d.texture=Texture.getDefault().uuid,UVEditor.loadData()),Format.bone_rig&&u){var p=u.origin.slice();d.extend({origin:p.slice()})}c.push(d),d.init(),unselectAllElements(),d.select(),Undo.finishEdit("Add spline"),Blockbench.dispatchEvent("add_spline",{object:d}),a++,Vue.nextTick(function(){settings.create_rename.value&&a==1&&d.rename()})}r(!1,t),Undo.amendEdit({sides_radial:{label:"dialog.add_spline.sides_radial",type:"num_slider",value:t.sides_radial,min:3,max:48,color:"u"},sides_tubular:{label:"dialog.add_spline.sides_tubular",type:"num_slider",value:t.sides_tubular,min:1,max:48,color:"v"},radius:{label:"dialog.add_spline.radius",type:"num_slider",value:t.radius,min:1,max:8,interval_type:"position",color:"w"},diameter:{label:"dialog.add_spline.diameter",type:"num_slider",value:t.diameter,min:4,max:64,interval_type:"position",condition:["circle"].includes(t.shape)},length:{label:"dialog.add_spline.length",type:"num_slider",value:t.length,min:4,max:64,interval_type:"position",condition:["segment","square"].includes(t.shape)},width:{label:"dialog.add_spline.length",type:"num_slider",value:t.width,min:4,max:64,interval_type:"position",condition:["square"].includes(shape)}},s=>{Object.assign(t,s),r(!0,t)})}});new Action("add_spline",{icon:"fa-bezier-curve",category:"edit",condition:{modes:["edit"],method:()=>Format.splines},click:function(){i.show()}});let e="object";new BarSelect("spline_selection_mode",{options:{object:{name:!0,icon:"fas.fa-circle-nodes"},handles:{name:!0,icon:"fas.fa-bezier-curve"}},icon_mode:!0,condition:()=>SplineMesh.selected.length&&Modes.edit,onChange({value:t}){t!==e&&(t==="object"?(SplineMesh.selected.forEach(n=>{delete Project.spline_selection[n.uuid]}),Interface.removeSuggestedModifierKey("shift","modifier_actions.spline_select_multiple_points")):t==="handles"&&Interface.addSuggestedModifierKey("shift","modifier_actions.spline_select_multiple_points"),Transformer.updateSelection(),Transformer.setMode(Toolbox.selected.transformerMode),SplineGizmos.changeHandleMode(t),e=t)}}),new BarSelect("spline_handle_mode",{condition:()=>Modes.edit&&SplineMesh.selected.length,category:"transform",value:"aligned",options:{aligned:!0,mirrored:!0,free:!0},onChange(){Transformer.updateSelection(),Transformer.setMode(Toolbox.selected.transformerMode)}}),new Action("extrude_spline_selection",{icon:"upload",category:"edit",keybind:new Keybind({key:"e",shift:!0}),condition:{modes:["edit"],features:["splines"],selected:{spline:!0},method:()=>{let t=SplineMesh.selected[0],n=t.getSelectedHandles(!0),a=n.includes(t.getFirstHandle().key),o=n.includes(t.getLastHandle().key);return t&&n.length&&(a||o)}},click(){function t(n,a=1){Undo.initEdit({elements:SplineMesh.selected,selection:!0},n);function o(r,s,l,c=!1){let{vec1:d,vec2:u,vec3:p,vec4:m,vec5:_}=Reusable,g=r.getB\u00E9zierForCurve(c?1:0,s).tangent.multiplyScalar(a),v=r.vertices[r.handles[l].control1],b=r.vertices[r.handles[l].joint],x=r.vertices[r.handles[l].control2],w=[v[0]-b[0],v[1]-b[1],v[2]-b[2]],E=[x[0]-b[0],x[1]-b[1],x[2]-b[2]],y=m.fromArray(c?E:w).multiplyScalar(2),A=u.fromArray(v).add(y).add(g),R=d.fromArray(b).add(y).add(g),j=p.fromArray(x).add(y).add(g),F=r.addVertices(A.toArray(),R.toArray(),j.toArray());r.getSelectedVertices().replace(F);let O=new SplineHandle(r,{control1:F[0],joint:F[1],control2:F[2]});if(c){let L=r.addHandles(O);r.addCurves(new SplineCurve(r,{start_handle:l,end_handle:L[0]}))}else{let U=`${r.addHandles(O)[0]}`,J={control1:r.handles[U].control1,joint:r.handles[U].joint,control2:r.handles[U].control2};delete r.handles[U];let ie={};ie[U]=new SplineHandle(r,J),r.handles={...ie,...r.handles};let me=`${r.addCurves(new SplineCurve(r,{start_handle:U,end_handle:l}))[0]}`,Q={start:r.curves[me].start,start_ctrl:r.curves[me].start_ctrl,end_ctrl:r.curves[me].end_ctrl,end:r.curves[me].end};delete r.curves[me];let H={};H[me]=new SplineCurve(r,Q),r.curves={...H,...r.curves}}}SplineMesh.selected.forEach(r=>{let s=r.getFirstHandle().key,l=r.getLastHandle().key;r.getSelectedHandles(!0).forEach(c=>{if(c==l){let d=r.getCurvesOfHandle(l)[0];o(r,d,l,!0)}else if(c==s){let d=r.getCurvesOfHandle(s)[0];o(r,d,s)}})}),Undo.finishEdit("Extrude mesh selection"),Canvas.updateView({elements:SplineMesh.selected,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}t(),Undo.amendEdit({extend:{type:"num_slider",value:1,label:"edit.extrude_spline_selection.extend",interval_type:"position"}},n=>{t(!0,n.extend)})}}),new Action("apply_spline_rotation",{icon:"published_with_changes",category:"edit",condition:{modes:["edit"],features:["splines"],method:()=>SplineMesh.selected.length},click(){let{vec1:t}=Reusable;Undo.finishEdit("Apply spline rotation"),SplineMesh.selected.forEach(n=>{let a=n.mesh.rotation;for(let o in n.vertices)t.fromArray(n.vertices[o]),t.applyEuler(a),n.vertices[o].V3_set(t.x,t.y,t.z);n.rotation.V3_set(0,0,0)}),Canvas.updateView({elements:SplineMesh.selected,element_aspects:{geometry:!0,transform:!0},selection:!0})}}),new Action("merge_splines",{icon:"upload",category:"edit",condition:{modes:["edit"],features:["splines"],method:()=>SplineMesh.selected.length>=2},click(){Undo.finishEdit("Merge splines"),updateSelection(),Canvas.updateView({elements,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}}),new Action("divide_spline_curve",{icon:"fas.fa-bezier-curve",category:"edit",condition:{modes:["edit"],features:["splines"],method:()=>SplineMesh.selected[0]?.getSelectedCurves(!0).length},click(){function t(n,a=50){Undo.initEdit({elements:SplineMesh.selected},n);let o=SplineMesh.selected[0],r=o.getSelectedCurves(!0),s=o.getSelectedVertices(),l={};function c(d){let u={};for(let p=0;p<d.length-1;p++){let m=o.addCurves(new SplineCurve(o,{start_handle:d[p],end_handle:d[p+1]}))[0];u[m]=o.curves[m],delete o.curves[m]}return u}for(let d in o.handles)l[d]=o.handles[d],r.forEach(u=>{let p=o.curves[u];if(p.start_handle==d){let _=p.split(a/100);o.vertices[p.start_ctrl]=_.start_ctrl,o.vertices[p.end_ctrl]=_.end_ctrl;let f=o.addVertices(_.middle_ctrl1,_.middle,_.middle_ctrl2),g=o.addHandles(new SplineHandle(this,{control1:f[0],joint:f[1],control2:f[2]}))[0];l[g]=o.handles[g],s.push(...f)}});o.handles=l,o.curves=c(Object.keys(o.handles)),updateSelection(),Undo.finishEdit("Divide spline curve"),Canvas.updateView({elements,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}t(),Undo.amendEdit({extend:{type:"num_slider",value:50,min:0,max:100,label:"edit.divide_spline_curve.position"}},n=>{t(!0,n.extend)})}}),new Action("split_spline",{icon:"call_split",category:"edit",condition:{modes:["edit"],features:["splines"],method:()=>{let t=SplineMesh.selected[0],n=t?.getSelectedHandles(!0);if(!n)return!1;let a=n.includes(t.getFirstHandle().key),o=n.includes(t.getLastHandle().key);return t&&n.length===1&&!a&&!o}},click(){let t=SplineMesh.selected.slice();Undo.initEdit({elements:t});let n=SplineMesh.selected[0],a=n.getSelectedHandles(!0)[0],o=Object.keys(n.handles),r=o.slice(0,o.indexOf(a)+1),s=o.slice(o.indexOf(a));function l(f,g){let v=n.handles[f].control1,b=n.handles[f].joint,x=n.handles[f].control2;g[v]=n.vertices[v],g[b]=n.vertices[b],g[x]=n.vertices[x]}function c(f,g){for(let v=0;v<g.length;v+=3)f.addHandles(new SplineHandle(f,{control1:g[v],joint:g[v+1],control2:g[v+2]}))}function d(f,g){for(let v=0;v<g.length-1;v++)f.addCurves(new SplineCurve(f,{start_handle:g[v],end_handle:g[v+1]}))}function u(f){let g=new SplineMesh(n);g.vertices={},g.handles={},g.curves={};let v={};f.forEach(b=>l(b,v));for(let b in v)g.addVertices(v[b]);return c(g,Object.keys(g.vertices)),d(g,Object.keys(g.handles)),t.push(g),g.cyclic=!1,g.init(),g}let p=u(r),m=u(s),_=getCurrentGroup();_&&(p.addTo(_),m.addTo(_),settings.inherit_parent_color.value&&(p.color=_.color,m.color=_.color)),p.name+="_first_half",m.name+="_second_half",unselectAllElements(),p.select(),delete Project.mesh_selection[n.uuid],t.remove(n),n.remove(!1),Undo.finishEdit("Split spline"),updateSelection(),Canvas.updateView({elements:t,element_aspects:{geometry:!0,uv:!0,faces:!0},selection:!0})}})});var Bs;function MC(i){if(!Bs||Toolbox.selected.id!="weight_brush")return;let e=gi.selected;if(e.node.append(Bs),Bs.style.display=i.altKey||Pressing.overrides.alt?"none":"block","clientX"in i){let t=$(e.canvas).offset(),n=[i.clientX-t.left,i.clientY-t.top];Bs.style.left=n[0]+"px",Bs.style.top=n[1]+"px"}}he.on("update_pressed_modifier_keys",i=>{MC(i.event)});document.addEventListener("touchend",()=>{Bs&&Bs.isConnected&&Bs.remove()});var lp=null,mf=new Ve.Raycaster;function lae(i){if(lp)return lp;let e=BarItems.weight_brush_xray.value==!1,t=new Ve.Vector3;mf.ray.origin.setFromMatrixPosition(gi.selected.camera.matrixWorld);let n=0;lp={};for(let a in i.vertices){let o=i.mesh.localToWorld(t.fromArray(i.vertices[a]));if(e){mf.ray.direction.copy(o).sub(mf.ray.origin);let s=mf.ray.direction.length();mf.ray.direction.normalize();let l=mf.intersectObject(i.mesh,!1)[0];if(n++,l&&l.distance<s-.001)continue}let r=gi.selected.vectorToScreenPosition(o.clone());lp[a]=r}return lp}he.on("update_camera_position",()=>{lp=null});var dy;new Tool("weight_brush",{icon:"stylus_highlighter",category:"tools",cursor:"crosshair",toolbar:"weight_brush",transformerMode:"hidden",selectElements:!1,modes:["edit"],condition:{modes:["edit"],method:()=>!!jr.all.length},onCanvasClick(i){let e="element"in i&&i.element;if(e instanceof xn)return e.select(i.event);if(i.event.altKey||Pressing.overrides.alt)return;let t=gi.selected,n=$(t.canvas).offset(),a=xn.selected[0];if(!a)return he.showQuickMessage("Select an armature bone first!");let o=a.getArmature(),r=o.getAllBones(),s=r.slice();if(s.remove(a),!e&&dy instanceof Mesh&&o.children.includes(dy)&&(e=dy),!(e instanceof Mesh))return;if(!e.getArmature())return he.showQuickMessage("This mesh is not attached to an armature!");e!=dy&&(lp=null),dy=e;let l=r;if(Undo.initEdit({elements:l,mirror_modeling:!1}),i.element&&i.event instanceof PointerEvent&&i.event.pointerType=="touch"){let p=gi.selected.controls.enableRotate;gi.selected.controls.enableRotate=!1,setTimeout(()=>gi.selected.controls.enableRotate=p,50)}let c=[0,0],d=(p,m)=>{let _=TC.get(),f=[p.clientX-n.left,p.clientY-n.top],g=p.ctrlOrCmd||Pressing.overrides.ctrl;if(Math.pow(c[0]-f[0],2)+Math.pow(c[1]-f[1],2)<30)return;c=f,m=m??t.raycast(p);let v=e;if(!(v instanceof Mesh))return;let b=new Ve.Vector2,x=o5.get()/100,w=.2,E=0,y=new Set;lae(v);for(let A in v.vertices){let R=lp[A];if(!R)continue;let F=(1-b.set(R.x-f[0],R.y-f[1]).length()/_)*(1+w),O=Math.hermiteBlend(Math.clamp(F,0,1)),L=a.getVertexWeight(v,A)??0;if(!(O<=0)){if((p.shiftKey||Pressing.overrides.shift)&&(O/=8),g?L=L*(1-O):L=L+(x-L)*O,cae.value=="set"){for(let U of s)if(U.getVertexWeight(v,A)&&!g){let J=Math.min(Math.max(0,1-x),U.getVertexWeight(v,A)),ie=Math.clamp(U.getVertexWeight(v,A)-O,J,1);U.setVertexWeight(v,A,ie)}}L<.04?a.setVertexWeight(v,A):a.setVertexWeight(v,A,L),E+=v.vertices[A][0],y.add(A)}}if(BarItems.mirror_modeling.value){let A=a5(o,v,y);A&&Mesh.preview_controller.updateGeometry(A)}Mesh.preview_controller.updateGeometry(v)},u=p=>{document.removeEventListener("pointermove",d),document.removeEventListener("pointerup",u),Undo.finishEdit("Paint vertex weights")};document.addEventListener("pointermove",d),document.addEventListener("pointerup",u),d(i.event,i)},onSelect(){Canvas.updateView({elements:[...Mesh.all,...xn.all],element_aspects:{faces:!0}}),TC.update(),o5.update(),Interface.addSuggestedModifierKey("ctrl","modifier_actions.subtract"),Interface.addSuggestedModifierKey("shift","modifier_actions.reduced_intensity"),Interface.addSuggestedModifierKey("alt","modifier_actions.select_bone"),Bs=Bs??Interface.createElement("div",{id:"weight_brush_outline"}),document.addEventListener("pointermove",MC)},onUnselect(){setTimeout(()=>{Canvas.updateView({elements:[...Mesh.all,...xn.all],element_aspects:{faces:!0}})},0),Interface.removeSuggestedModifierKey("ctrl","modifier_actions.subtract"),Interface.removeSuggestedModifierKey("shift","modifier_actions.reduced_intensity"),Interface.removeSuggestedModifierKey("alt","modifier_actions.select_bone"),Bs&&Bs.remove(),document.removeEventListener("pointermove",MC)}});var TC=new NumSlider("slider_weight_brush_size",{condition:()=>Toolbox?.selected?.id=="weight_brush",tool_setting:"weight_brush_size",category:"edit",settings:{min:1,max:1024,interval:1,default:50}});TC.on("change",i=>{Bs&&Bs.style.setProperty("--radius",i.number.toString())});var o5=new NumSlider("slider_weight_brush_limit",{condition:()=>Toolbox?.selected?.id=="weight_brush",tool_setting:"slider_weight_brush_limit",category:"edit",settings:{min:1,max:100,interval:1,default:100,show_bar:!0}});new Toggle("weight_brush_xray",{icon:"disabled_visible",category:"edit",condition:()=>Toolbox?.selected?.id=="weight_brush"});var cae=new BarSelect("weight_brush_blend_mode",{category:"edit",options:{set:"action.weight_brush_blend_mode.set",add:"action.weight_brush_blend_mode.add"}}),dae=["vertex_weight","weighted_bone_colors"];function uae(){(Toolbox.selected.id=="weight_brush"||dae.includes(Project.view_mode))&&(Canvas.updateView({elements:Mesh.all.filter(i=>i.getArmature()),element_aspects:{geometry:!0}}),Modes.animate&&Animator.preview())}he.on("update_selection",uae);var r5=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0));function pae(i){let e=[],t=i.parent;for(;t instanceof OutlinerNode;)e.push(t),t=t.parent;return e}var AC=class{constructor(e){W(this,"values");W(this,"fallback");this.values={},this.fallback=e}getKey(e,t,n){return[e,t,n].join("_")}getVectorFromKey(e){return e.split("_").map(t=>parseInt(t))}set(e,t,n,a){let o=this.getKey(e,t,n);this.values[o]=a}get(e,t,n){let a=this.getKey(e,t,n);return this.values[a]??this.fallback}delete(e,t,n){delete this.values[this.getKey(e,t,n)]}};BARS.defineActions(()=>{new Action("generate_voxel_shapes",{name:"Generate Bounding Boxes",category:"edit",icon:"fa-cubes",condition:{features:["bounding_boxes"]},click(){let i={visible_only:!1,approach:"grow",complexity:40};function e(t,n){let a=[],o=Cube.all.slice();Undo.initEdit({elements:a},t);let r=new THREE.Box3;Canvas.withoutGizmos(()=>{for(let y of o)n.visible_only&&y.visibility==!1||y.export&&y.mesh&&r.expandByObject(y.mesh)});let s=[],l=[];for(let y of o){if(n.visible_only&&y.visibility==!1||y.size().some(R=>R<.1))continue;y.rotation.allEqual(0)&&pae(y).allAre(R=>!("rotation"in R)||R.rotation.allEqual(0))?l.push(new THREE.Box3(new THREE.Vector3().fromArray(y.from),new THREE.Vector3().fromArray(y.to))):s.push(y)}let c=new AC(null),d=new THREE.Vector3,u=[Math.round(r.min.x),Math.round(r.min.y),Math.round(r.min.z)],p=[Math.round(r.max.x),Math.round(r.max.y),Math.round(r.max.z)];for(let y=u[0];y<p[0];y++)for(let A=u[2];A<p[2];A++)for(let R=u[1];R<p[1];R++){d.set(y+.46,R+.46,A+.46);let j=l.find(F=>F.containsPoint(d));!j&&s.length&&(r5.ray.origin.copy(d),j=s.find(F=>{let O=r5.intersectObject(F.mesh),L=[];for(let U of O)L.some(J=>J.equals(U.point))||L.push(U.point);return L.length%2==1})),c.set(y,R,A,!!j)}let m=[],_=(n.complexity/100)**2,f=n.complexity/100,g=Math.max(p[0]-u[0],p[2]-u[2]),v=p[1]-u[1];function b(y,A,R,j){let F=(A+1)%3,O=(A+2)%3,L=y.slice(0,3);if(R==1?L[A]=y[A+3]+1:L[A]-=1,L[A]>=p[A]||L[A]<u[A])return!1;let U=(y[F+3]-y[F]+1)*(y[O+3]-y[O]+1);j=j??U*(1-_);let J=0;for(let ie=y[F];ie<=y[F+3];ie++){L[F]=ie;for(let te=y[O];te<=y[O+3];te++){L[O]=te;let me=c.get(L[0],L[1],L[2]);if(me==null||!me&&(J++,J>j))return!1}}return R==1?y[A+3]+=1:y[A]-=1,!0}function x(y,A,R,j){if(y[A]==y[A+3])return!1;let F=(A+1)%3,O=(A+2)%3,L=y.slice(0,3);R==1&&(L[A]=y[A+3]);let U=(y[F+3]-y[F]+1)*(y[O+3]-y[O]+1);j=j??U*f;let J=0;for(let ie=y[F];ie<=y[F+3];ie++){L[F]=ie;for(let te=y[O];te<=y[O+3];te++)if(L[O]=te,c.get(L[0],L[1],L[2])&&(J++,J>=j))return!1}return R==1?y[A+3]-=1:y[A]+=1,!0}let w=256;if(n.approach=="shrink"){w=Math.pow(n.complexity/25,2)-2;let y=0;for(let A=0;A<Math.max(1,n.complexity);A++){let R=[0,0,0,15,23,15],j=[!0,!0,!0,!0,!0,!0],F=y%7;for(let O=0;O<4;O++){for(let L=0;L<4;L++)j[0]&&(j[0]=x(R,0,1,F==1?1:void 0)),j[1]&&(j[1]=x(R,0,-1,F==2?1:void 0)),j[2]&&(j[2]=x(R,2,1,F==3?1:void 0)),j[3]&&(j[3]=x(R,2,-1,F==4?1:void 0));for(let L=0;L<6;L++)j[4]&&(j[4]=x(R,1,1,F==5?1:void 0)),j[5]&&(j[5]=x(R,1,-1,F==6?1:void 0))}j=[!0,!0,!0,!0,!0,!0];for(let O=0;O<g;O++)j[0]&&(j[0]=b(R,0,1,0)),j[1]&&(j[1]=b(R,0,-1,0)),j[2]&&(j[2]=b(R,2,1,0)),j[3]&&(j[3]=b(R,2,-1,0)),j[4]&&(j[4]=b(R,1,1,0)),j[5]&&(j[5]=b(R,1,-1,0));if(R[0]==R[3]&&R[1]==R[4]&&R[2]==R[5]&&!c.get(R[0],R[1],R[2])){if(y>16)break;y++;continue}m.push(R);for(let O=R[0];O<=R[3];O++)for(let L=R[1];L<=R[4];L++)for(let U=R[2];U<=R[5];U++)c.delete(O,L,U)}}for(let y=0;y<w;y++){let R=Object.keys(c.values).findLast(L=>c.values[L]==!0);if(!R)break;let j=c.getVectorFromKey(R),F=[...j,...j],O=[!0,!0,!0,!0,!0,!0];for(let L=0;L<g;L++)O[0]&&(O[0]=b(F,0,1)),O[1]&&(O[1]=b(F,0,-1)),O[2]&&(O[2]=b(F,2,1)),O[3]&&(O[3]=b(F,2,-1));for(let L=0;L<v;L++)O[4]&&(O[4]=b(F,1,1)),O[5]&&(O[5]=b(F,1,-1));m.push(F);for(let L=F[0];L<=F[3];L++)for(let U=F[1];U<=F[4];U++)for(let J=F[2];J<=F[5];J++)c.delete(L,U,J)}let E=0;for(let y of m){E++;let A=new Jo({from:[y[0],y[1],y[2]],to:[y[3]+1,y[4]+1,y[5]+1],color:1,name:"bounding_box"}).addTo().init();a.push(A)}Undo.finishEdit("Generate bounding boxes")}e(!1,i),Undo.amendEdit({visible_only:{label:"Visible Elements Only",type:"checkbox",value:i.visible_only},approach:{label:"Approach",type:"inline_select",value:"grow",options:{grow:"Grow",shrink:"Shrink"}},complexity:{label:"Complexity",type:"range",min:0,max:100,value:i.complexity}},t=>{e(!0,t)})}})});var E1=`attribute float highlight;
#include <common>
#include <clipping_planes_pars_vertex>
uniform bool SHADE;uniform int LIGHTSIDE;centroid varying vec2 vUv;varying float light;varying float lift;float AMBIENT=0.5;float XFAC=-0.15;float ZFAC=0.05;void main(){if(SHADE){vec3 N=normalize(vec3(modelMatrix*vec4(normal,0.0)));if(LIGHTSIDE==1){float temp=N.y;N.y=N.z*-1.0;N.z=temp;}if(LIGHTSIDE==2){float temp=N.y;N.y=N.x;N.x=temp;}if(LIGHTSIDE==3){N.y=N.y*-1.0;}if(LIGHTSIDE==4){float temp=N.y;N.y=N.z;N.z=temp;}if(LIGHTSIDE==5){float temp=N.y;N.y=N.x*-1.0;N.x=temp;}float yLight=(1.0+N.y)*0.5;light=yLight*(1.0-AMBIENT)+N.x*N.x*XFAC+N.z*N.z*ZFAC+AMBIENT;}else{light=1.0;}if(highlight==2.0){lift=0.22;}else if(highlight==1.0){lift=0.1;}else{lift=0.0;}vUv=uv;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);
#include <clipping_planes_vertex>
gl_Position=projectionMatrix*mvPosition;}`;var M1=`#ifdef GL_ES
precision highp float;
#endif
#include <common>
#include <clipping_planes_pars_fragment>
uniform sampler2D map;uniform bool SHADE;uniform bool EMISSIVE;uniform vec3 LIGHTCOLOR;centroid varying vec2 vUv;varying float light;varying float lift;void main(void){vec4 color=texture2D(map,vUv);if(color.a<0.01)discard;if(EMISSIVE==false){vec4 lit_color=vec4(lift+color.rgb*light,color.a);gl_FragColor=lit_color;gl_FragColor.r=gl_FragColor.r*LIGHTCOLOR.r;gl_FragColor.g=gl_FragColor.g*LIGHTCOLOR.g;gl_FragColor.b=gl_FragColor.b*LIGHTCOLOR.b;}else{float light_r=(light*LIGHTCOLOR.r)+(1.0-light*LIGHTCOLOR.r)*(1.0-color.a);float light_g=(light*LIGHTCOLOR.g)+(1.0-light*LIGHTCOLOR.g)*(1.0-color.a);float light_b=(light*LIGHTCOLOR.b)+(1.0-light*LIGHTCOLOR.b)*(1.0-color.a);vec4 lit_color=vec4(lift+color.r*light_r,lift+color.g*light_g,lift+color.b*light_b,1.0);gl_FragColor=lit_color;}if(lift>0.2){gl_FragColor.r=gl_FragColor.r*0.6;gl_FragColor.g=gl_FragColor.g*0.7;}
#include <clipping_planes_fragment>
}`;function hae(i,e,t=!1){Project.texture_width/i!=Project.texture_width/e&&(t=!1);let n=Format.per_texture_uv_size?Texture.all:void 0;Undo.initEdit({uv_mode:!0,elements:Cube.all,uv_only:!0,textures:n});let a={x:Project.texture_width,y:Project.texture_height};Project.texture_width=i,Project.texture_height=e,t&&a.x!=Project.texture_width&&Math.areMultiples(a.x,Project.texture_width)&&CC([Project.texture_width/a.x,Project.texture_height/a.y]),n&&n.forEach(o=>{o.uv_width=Project.texture_width,o.uv_height=Project.texture_height}),Undo.finishEdit("Changed project resolution"),Canvas.updateAllUVs(),selected.length&&UVEditor.loadData()}function CC(i,e=Outliner.elements,t){for(let n of e)if("faces"in n)if(n instanceof Mesh)for(let a in n.faces){let o=n.faces[a];t&&!t.includes(o.getTexture())||o.vertices.forEach(r=>{o.uv[r]&&(o.uv[r][0]*=i[0],o.uv[r][1]*=i[1])})}else if(n instanceof Cube&&n.box_uv)n.uv_offset[0]=Math.floor(n.uv_offset[0]*i[0]),n.uv_offset[1]=Math.floor(n.uv_offset[1]*i[1]);else for(let a in n.faces){let o=n.faces[a];t&&!t.includes(o.getTexture())||(o.uv[0]*=i[0],o.uv[1]*=i[1],o.uv[2]*=i[0],o.uv[3]*=i[1])}}function Jm(i){let e=[Project.getUVWidth(i.texture),Project.getUVHeight(i.texture)],t=i.texture?[i.texture]:void 0;i.texture&&Texture.all.some(f=>f.multi_selected)&&t.safePush(...Texture.all.filter(f=>f.multi_selected));let n={},a={},o=Outliner.elements.filter(f=>c(f)),r=o.length==Outliner.elements.length?Group.all:[],s={adjust_uv:"dialog.edit_uv_size.adjust.adjust_uv",adjust_scale:"dialog.edit_uv_size.adjust.adjust_scale",keep:"dialog.edit_uv_size.adjust.keep"},l=tl("dialog.project.title");t?.length>1?l=t.length+" "+tl("dialog.edit_uv_size.result.textures"):i.texture&&(l=`${tl("data.texture")} ${i.texture.name}`);function c(f){if(!("faces"in f))return!1;if(Format.per_texture_uv_size==!1||!t||!t.length)return!0;for(let g in f.faces){let v=f.faces[g];if(t.includes(v.getTexture()))return!0}return!1}function d(f,g=!1){for(let v of o)n[v.uuid]?v.extend(n[v.uuid]):n[v.uuid]=v.getUndoCopy();for(let v of r)a[v.uuid]?v.extend(a[v.uuid]):a[v.uuid]={origin:v.origin.slice()};CC(f,o,t),g&&ModelScaler.scaleElements(o,r,f[0],[0,0,0]),Canvas.updateView({elements:o,element_aspects:{uv:!0,transform:!0,geometry:!0},groups:r,group_aspects:{transform:g}})}function u(){for(let f of o)n[f.uuid]&&(f.extend(n[f.uuid]),delete n[f.uuid]);for(let f of r)a[f.uuid]&&f.extend(a[f.uuid]);Canvas.updateView({elements:o,element_aspects:{uv:!0,transform:!0,geometry:!0},groups:r,group_aspects:{transform:!0}})}function p(f){if(i.texture&&t)for(let g of t)g.uv_width=f[0],g.uv_height=f[1];else Project.texture_width=f[0],Project.texture_height=f[1]}function m(){if(i.project)return`${Project.texture_width} x ${Project.texture_height}`;{let f=i.texture??Texture.getDefault();if(!f)return"";let g=f.width/f.getUVWidth(),v=g*Format.block_size,b=g<1?`1:${trimFloatNumber(1/g)}`:`${trimFloatNumber(g)}:1`;return`${trimFloatNumber(v,2)}x - ${b}`}}Undo.initEdit({textures:t,elements:o,groups:r});let _=new Dialog({id:"edit_uv_size",title:"dialog.edit_uv_size.title",darken:!1,form:{target:{label:"dialog.edit_uv_size.target",type:"info",text:l},adjust:{type:"select",label:"dialog.edit_uv_size.adjust",options:s},target_size:{type:"vector",label:"Target UV Size",dimensions:2,value:e,linked_ratio:!0,min:1,step:1,force_step:!0},preset:{type:"buttons",label:" ",buttons:["dialog.edit_uv_size.preset.original","dialog.edit_uv_size.preset.match_texture","2x","0.5x"],click(f){if(f==0)_.form.setValues({target_size:e},!0);else if(f==1)_.form.setValues({target_size:[i.texture?.width??16,i.texture?.height??16]},!0);else{let g=_.form.getResult().target_size,v=f==2?2:.5;_.form.setValues({target_size:[g[0]*v,g[1]*v]},!0)}}},output:{type:"info",label:"dialog.edit_uv_size.result",text:m()}},onOpen(){let f=window.innerHeight-this.object.clientHeight-50;this.object.style.top=f+"px"},onFormChange(f){if(p(f.target_size),_.form.form_data.output.bar.childNodes[1].textContent=m(),f.adjust=="adjust_uv"||f.adjust=="adjust_scale"){let g=[f.target_size[0]/e[0],f.target_size[1]/e[1]];d(g,f.adjust=="adjust_scale")}else Canvas.updateView({elements:Outliner.elements,element_aspects:{uv:!0,transform:!0,geometry:!0}});UVEditor.loadData()},onConfirm(f){Undo.finishEdit("Change UV Size")},onCancel(){p(e),u(),Undo.cancelEdit(!1),updateSelection()}}).show()}var fae={adjustProjectResolution:hae,adjustElementUVToResolution:CC,editUVSizeDialog:Jm},gae={UVSizeUtil:fae};Object.assign(window,gae);var T1=Vl(Mw(),1);var PC=1,Ri=class Ri{constructor(e,t){let n=this;for(let u in Ri.properties)Ri.properties[u].reset(this);this.source="",this.selected=!1,this.multi_selected=!1,this.show_icon=!0,this.error=0,this.visible=!0,this.source_overwritten=!1,this.img=0,this.width=0,this.height=0,this.uv_width=Project?Project.texture_width:16,this.uv_height=Project?Project.texture_height:16,this.currentFrame=0,this.saved=!0,this.layers=[],this.layers_enabled=!1,this.selected_layer=null,this.internal=!0,this.uuid=t||guid(),this.flags=new Set,this._static=Object.freeze({properties:{selection:new IntMatrix(0,0)}}),typeof e=="object"&&(this.extend(e),this.layers_enabled&&setTimeout(()=>{Project.whenNextOpen(()=>{this.updateLayerChanges()})},40)),this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=16,this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0});let a=this.img=new Image;a.setAttribute("pagespeed_no_transform",""),a.src="assets/missing.png";let o=new THREE.Texture(this.canvas);o.magFilter=THREE.NearestFilter,o.minFilter=THREE.NearestFilter,o.name=this.name,a.tex=o;let r=new THREE.ShaderMaterial({uniforms:{map:{type:"t",value:o},SHADE:{type:"bool",value:settings.shading.value},LIGHTCOLOR:{type:"vec3",value:new THREE.Color().copy(Canvas.global_light_color).multiplyScalar(settings.brightness.value/50)},LIGHTSIDE:{type:"int",value:Canvas.global_light_side},EMISSIVE:{type:"bool",value:this.render_mode=="emissive"}},vertexShader:Po(E1),fragmentShader:Po(M1),blending:this.render_mode=="additive"?THREE.AdditiveBlending:THREE.NormalBlending,side:Canvas.getRenderSide(this),transparent:!0,clipping:!0});r.map=o,r.name=this.name,this.material=r,this.updateMaterial();let s={};if(this.img.onload=()=>{let u=o.width!==a.naturalWidth||o.height!==a.naturalHeight;if(n.width&&u&&(o=new THREE.Texture(this.canvas),o.magFilter=r.map.magFilter,o.minFilter=r.map.minFilter,o.wrapS=r.map.wrapS,o.wrapT=r.map.wrapT,o.name=this.name,r.map=o,r.uniforms.map.value=o,Canvas.layered_material&&Canvas.updateLayeredTextures()),o.needsUpdate=!0,n.width=o.width=a.naturalWidth,n.height=o.height=a.naturalHeight,n.selection&&n.selection.changeSize(n.width,n.height),(a.naturalWidth>16384||a.naturalHeight>16384)&&(n.error=2),n.currentFrame=Math.min(n.currentFrame,(n.frameCount||1)-1),a.update_from_canvas?delete a.update_from_canvas:n.layers_enabled||(n.canvas.width=n.width,n.canvas.height=n.height,n.ctx.drawImage(a,0,0),UVEditor.vue.texture==this&&UVEditor.updateOverlayCanvas()),this.flags.has("update_uv_size_from_resolution")){this.flags.delete("update_uv_size_from_resolution");let m=[n.width,n.display_height],_=n.frameCount;(settings.detect_flipbook_textures.value==!1||_<=2||_%1)&&(m[1]=n.height),this.uv_width=m[0],this.uv_height=m[1]}n.isDefault&&console.log("Successfully loaded "+n.name+" from default pack");let p=Ri.all.includes(n)?Project:ModelProject.all.find(m=>m.textures.includes(n));p&&p.whenNextOpen(()=>{if(Project.box_uv&&Format.single_texture&&!n.error){if(!n.keep_size){let m=n.getUVWidth(),_=n.getUVHeight(),f=a.naturalWidth,g=a.naturalHeight,v=m!=f||_!=g,b=s.old_width&&(s.old_width!=f||s.old_height!=g),x=(m%f==0||f%m==0)&&(_%g==0||g%_==0);v&&b&&!x&&he.showMessageBox({translateKey:"update_res",icon:"photo_size_select_small",buttons:[tl("message.update_res.update"),tl("dialog.cancel")],confirm:0,cancel:1},function(w){w===0&&(UVSizeUtil.adjustProjectResolution(a.naturalWidth,a.naturalHeight),selected.length&&UVEditor.loadData())})}delete n.keep_size,s.old_width=a.naturalWidth,s.old_height=a.naturalHeight}u&&(TextureAnimator.updateButton(),UVEditor.vue&&UVEditor.vue.texture==this&&UVEditor.vue.updateTexture(),Canvas.updateAllFaces(n)),typeof n.load_callback=="function"&&(n.load_callback(n),delete n.load_callback)})},this.img.onerror=u=>{n.loadEmpty()},!this.id)for(var l=Ri.all.length;;){for(var c=0,d=!1;c<Ri.all.length;)Ri.all[c].id==l&&(d=!0),c++;if(d===!0)l++;else{this.id=l.toString();break}}}get frameCount(){if(Format.animated_textures&&this.ratio!==this.getUVWidth()/this.getUVHeight()){let e=Math.ceil(this.getUVWidth()/this.getUVHeight()/this.ratio-.05);if(e>1)return e}}get display_height(){return this.height/(this.frameCount||1)}get ratio(){return this.width/this.height}get mode(){return this.internal?"bitmap":"link"}set mode(e){this.internal=e=="bitmap"}get selection(){return this._static.properties.selection}get material(){return this._static.properties.material}set material(e){this._static.properties.material=e}getUVWidth(){return Format.per_texture_uv_size?this.uv_width:Project.texture_width}getUVHeight(){return Format.per_texture_uv_size?this.uv_height:Project.texture_height}getErrorMessage(){switch(this.error){case 0:return"";case 1:return tl("texture.error.file");case 2:return tl("texture.error.too_large",["16384"]);case 3:return tl("texture.error.parent")}}getGroup(){if(!this.group)return;let e=TextureGroup.all.find(t=>t.uuid==this.group);if(e)return e}getUndoCopy(e){var t={};for(var n in Ri.properties)Ri.properties[n].copy(this,t);return t.visible=this.visible,t.selected=this.selected,t.internal=this.internal,t.saved=this.saved,t.uuid=this.uuid,t.old_width=this.old_width,t.old_height=this.old_height,this.layers_enabled&&(t.layers=this.layers.map(a=>a.getUndoCopy(e)),t.selected_layer=this.selected_layer?.uuid),(e||this.internal)&&(t.source=this.source,this.layers_enabled||(t.image_data=this.getDataURL())),t}getSaveCopy(e){let t={name:void 0,path:void 0,relative_path:void 0};for(let n in Ri.properties)Ri.properties[n].copy(this,t);return t.visible=this.visible,t.internal=this.internal,t.saved=this.saved,t.uuid=this.uuid,delete t.selected,this.layers_enabled&&(t.layers=this.layers.map(n=>n.getSaveCopy())),(e||this.internal)&&(t.source=this.source),t}extend(e){for(var t in Ri.properties)Ri.properties[t].merge(this,e);if(Merge.boolean(this,e,"visible"),Merge.string(this,e,"mode",n=>n==="bitmap"||n==="link"),Merge.boolean(this,e,"saved"),Merge.boolean(this,e,"internal"),Merge.boolean(this,e,"keep_size"),e.layers instanceof Array){let n=this.layers.slice();this.layers.empty(),e.layers.forEach(a=>{let o=n.find(r=>r.uuid==a.uuid);o?(o.extend(a),n.remove(o)):o=new TextureLayer(a,this,a.uuid),this.layers.push(o)})}else e.layers_enabled||this.layers.empty();if(e.selected_layer){let n=this.layers.find(a=>a.uuid==e.selected_layer);n&&n.select()}else this.selected_layer&&(this.layers_enabled==!1||!this.layers.find(this.selected_layer))&&delete this.selected_layer;return e.path&&(this.file_format=Gc(this.path)),this.mode,Merge.string(this,e,"source"),this}load(e){return this.error=0,this.show_icon=!0,this.img.src=this.source,e&&(this.load_callback=e),this}fromJavaLink(e,t,n){if(typeof e!="string"||e.substr(0,1)==="#"&&!e.includes("/"))return this.load(),this;if(e.substr(0,22)==="data:image/png;base64,")return this.fromDataURL(e),this;if(0)var r;var a=!!t.length,o=e.split(":");o.length>1?(this.namespace=o[0],e=o[1],t[t.length-1]=this.namespace):t[t.length-1]="minecraft",t.includes("cit")?(t.pop(),t.push(e.replace(/^\.*\//,"").replace(/\//g,osfs)+".png")):t.push("textures",e.replace(/\//g,osfs)+".png");var r=t.join(osfs);return r&&a||n?this.fromPath(r||e,n):(this.path=r,this.folder=e.replace(/\\/g,"/").split("/"),this.folder=this.folder.splice(0,this.folder.length-1).join("/"),this.name=pathToName(r,!0),this.file_format=Gc(this.path),this.mode="link",this.saved=!0,this.load()),this}fromFile(e,t){if(!e)return this;e.name&&(this.name=e.name),typeof e.content=="string"&&e.content.substr(0,4);{e.path&&(this.path=e.path,this.file_format=Gc(this.path));let n=Ri.file_formats[this.file_format];typeof e.content=="string"?this.fromDataURL(e.content):e.content&&n.decode&&n.decode(e.content,this)}return this.saved=!0,this}fromPath(e,t){if(this.path=e,this.name=pathToName(e,!0),this.mode="link",this.saved=!0,e.includes("data:image"))this.source=e;else{if(this.source="",t){let o=t(e.replaceAll("\\","/"));if(o){if(typeof o=="string")this.source=o;else if(o instanceof Uint8Array){let r=new Uint8Array(o),s;if(r.slice(0,4).toString()===[137,80,78,71].toString()?s="image/png":r.slice(0,3).toString()===[255,216,255].toString()?s="image/jpeg":r.slice(0,4).toString()===[82,73,70,70].toString()&&r.slice(8,12).toString()===[87,69,66,80].toString()&&(s="image/webp"),s){let l;typeof Buffer<"u"&&o instanceof Buffer?l=o.toString("base64"):l=btoa(String.fromCharCode(...r)),this.source=`data:${s};base64,${l}`}}}}let a=Gc(this.path);this.file_format=Object.keys(Ri.file_formats).find(o=>Ri.file_formats[o].extensions.includes(a))??"png",this.source||this.setSourceFromLocalFile()}if(Format.texture_folder){this.generateFolder(e);let a=this.folder?this.folder+"/"+this.name:this.name;a.match(/[^a-z0-9._/\\-]/)&&settings.dialog_invalid_characters.value&&he.showMessageBox({translateKey:"invalid_characters",message:tl("message.invalid_characters.message",["`a-z0-9._-`"])+`
`+tl("data.file_path")+": ```"+a+"```",icon:"folder_open",width:436,checkboxes:{dont_show_again:{value:!1,text:"dialog.dontshowagain"}}},(o,r={})=>{r.dont_show_again&&settings.dialog_invalid_characters.set(!1)})}let n=Ri.all.find(a=>a!==this&&a.path===this.path&&a.saved);return this.startWatcher(),Painter.current={},Project.EditSession?this.load(()=>{var a={textures:{}};a.textures[this.uuid]=!0,this.edit();var o=new Undo.save({textures:[this]});Project.EditSession.sendEdit({before:a,post:o,action:"loaded_texture",save_history:!1})}):this.load(),this}loadContentFromPath(e){return this.path=e,this.mode="link",this.saved=!0,e.includes("data:image")?this.source=e:this.setSourceFromLocalFile(),this.startWatcher(),this.load(),this}fromDataURL(e){return this.source=e,this.internal=!0,this.saved=!1,this.load(),this}fromDefaultPack(){if(0){if(Project.BedrockEntityManager)var e;else if(this.name&&this.name.includes("."))var t,e}}loadEmpty(e){return this.img.src="assets/missing.png",this.error=e||1,this.show_icon=!1,this}setSourceFromLocalFile(){Ri.file_formats[this.file_format].decode||(this.source=this.path.replace(/#/g,"%23")+"?"+PC)}updateSource(e){return e||(e=this.source),this.source=e,this.img.src=e,this.updateMaterial(),this}updateMaterial(){if(Format.image_editor)return this;let e=this.getOwnMaterial();e.name=this.name,e.uniforms.EMISSIVE.value=this.render_mode=="emissive",e.blending=this.render_mode=="additive"?THREE.AdditiveBlending:THREE.NormalBlending,e.side=this.render_sides=="auto"?Canvas.getRenderSide():this.render_sides=="front"?THREE.FrontSide:THREE.DoubleSide;let t=this.wrap_mode=="repeat"?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping;return e.map.wrapS=e.map.wrapT=t,e.map.needsUpdate=!0,this.group&&(this.pbr_channel=="mer"||this.pbr_channel=="height")&&this.getGroup()?.is_material&&BarItems.view_mode.value=="material"&&setTimeout(()=>{this.getGroup()?.updateMaterial()},40),this}reopen(e){var t=this;this.stopWatcher();function n(){he.import({resource_id:"texture",extensions:Ri.getAllExtensions(),type:"Texture",readtype:"image",startpath:t.path},function(a){t.fromFile(a[0])}),Painter.current={},UVEditor.loadData(),he.dispatchEvent("change_texture_path",{texture:t})}t.saved||e?n():he.showMessageBox({translateKey:"unsaved_texture",icon:"warning",buttons:[tl("dialog.continue"),tl("dialog.cancel")],confirm:0,cancel:1},function(a){a===0&&n()})}refresh(e){if(this.internal)return!1;e&&PC++,this.setSourceFromLocalFile(),this.load(),this.updateMaterial(),TickUpdates.UVEditor=!0}reloadTexture(){this.refresh(!0)}startWatcher(){this.mode;return;var e}stopWatcher(){return this}generateFolder(e){if(e.includes(osfs+"optifine"+osfs+"cit"+osfs))if(Project.export_path){let o=Project.export_path.split(osfs).slice(0,-1),r=e.split(osfs).slice(0,-1),s=0;r.find((l,c)=>{if(l!=o[c])return!0;s++}),this.folder=[".",...r.slice(s)].join("/")}else this.folder=".";else if(e.includes(osfs+"textures"+osfs)){var t=e.split(osfs+"textures"+osfs),n=t[0].split(osfs);this.namespace=n.last();var a=t[t.length-1].split(osfs);a.pop(),this.folder=a.join("/"),Format.id=="optifine_entity"&&(this.folder="textures/"+this.folder)}else{let o=Project.export_path.split(osfs).slice(0,-1),r=e.split(osfs).slice(0,-1),s=0;r.find((l,c)=>{if(Project.export_path&&l!=o[c]||!Project.export_path&&r[c-2]=="optifine"&&r[c-1]=="cem")return!0;s++}),this.folder=r.slice(s).join("/"),Format.texture_folder}return this}getMaterial(){let e=this.getGroup();return e?.is_material&&BarItems.view_mode.value=="material"?e.getMaterial():this.material}getOwnMaterial(){return this.material}select(e){if(e instanceof Event&&(Prop.active_panel="textures"),e&&(e.shiftKey||e.ctrlOrCmd||Pressing.overrides.ctrl||Pressing.overrides.shift)){if(e.shiftKey||Pressing.overrides.shift){this.multi_selected=!0;let t=Ri.last_selected,n=Ri.all.indexOf(this);t>n&&([t,n]=[n,t]);for(let a=t+1;a<n;a++)Ri.all[a].multi_selected=!0}else this.multi_selected=!this.multi_selected;Ri.last_selected=Ri.all.indexOf(this);return}if(Ri.all.forEach(t=>{t.selected&&(t.selected=!1),t.multi_selected&&(t.multi_selected=!1)}),this.selected=!0,Ri.selected=this,Ri.last_selected=Ri.all.indexOf(this),this.layers_enabled&&!this.selected_layer&&this.layers[0]&&this.layers[0].select(),this.group){let t=this.getGroup();t&&(t.folded=!1)}return this.scrollTo(),this.render_mode=="layered"?Canvas.updatePixelGrid():(Format.single_texture||Format.single_texture_default)&&Ri.all.length>1&&Canvas.updateAllFaces(),updateSelection(),(Ri.all.length>1||!Format.edit_mode)&&Modes.paint&&(!UVEditor.getReferenceFace()||BarItems.view_mode.value=="material"&&UVEditor.getReferenceFace().getTexture()?.getGroup()?.getTextures()?.includes(this))&&UVEditor.vue.updateTexture(),Panels.layers.inside_vue.layers=this.layers,updateInterfacePanels(),he.dispatchEvent("select_texture",{texture:this,event:e}),he.dispatchEvent("update_texture_selection"),this}add(e,t){if(0)for(var n of Project.textures);return Ri.all.find(a=>a.render_mode=="layered")&&(this.render_mode="layered"),Format.per_texture_uv_size&&t&&this.flags.add("update_uv_size_from_resolution"),e&&Undo.initEdit({textures:[]}),Project.textures.includes(this)||Project.textures.push(this),he.dispatchEvent("add_texture",{texture:this}),Canvas.layered_material&&Canvas.updateLayeredTextures(),(Format.single_texture||Format.single_texture_default)&&Cube.all.length&&(Canvas.updateAllFaces(),Outliner.selected.length&&UVEditor.loadData()),TickUpdates.selection=!0,e&&Undo.finishEdit("Add texture",{textures:[this]}),this}remove(e){e||Undo.initEdit({textures:[this]}),this.stopWatcher(),Ri.selected==this&&(Ri.selected=void 0),Project.textures.splice(Ri.all.indexOf(this),1),he.dispatchEvent("update_texture_selection"),e||(Canvas.layered_material&&Canvas.updateLayeredTextures(),Canvas.updateAllFaces(),TextureAnimator.updateButton(),UVEditor.texture==this&&UVEditor.vue.updateTexture(),BARS.updateConditions(),Undo.finishEdit("Remove texture",{textures:[]}))}toggleVisibility(){if(this.render_mode!=="layered")return this.visible=!0,this;this.visible=!this.visible;let e=0;Ri.all.forEach(t=>{t.visible&&(e++,e>=3&&t!==this&&(t.visible=!1))}),Canvas.updateLayeredTextures()}enableParticle(){return Format.select_texture_for_particles&&(Ri.all.forEach(function(e){e.particle=!1}),this.particle=!0),this}setAsDefaultTexture(){return Format.single_texture_default&&(Ri.all.forEach(e=>e.use_as_default=!1),this.use_as_default=!0,Ri.all.length>1&&Canvas.updateAllFaces()),this}fillParticle(){var e=!1;return Ri.all.forEach(function(t){t.particle&&(e=t)}),e||this.enableParticle(),this}apply(e){let t;if(Format.per_group_texture){let n=Group.multi_selected;Outliner.selected.forEach(a=>{a.faces&&n.safePush(a.parent)}),n=n.filter(a=>a instanceof Group),t=[],Undo.initEdit({groups:n}),n.forEach(a=>{a.texture=this.uuid,a.forEachChild(o=>{o.faces&&t.safePush(o)})})}else{if(t=Outliner.selected.filter(n=>n.faces),!t.length)return;Undo.initEdit({elements:t}),t.forEach(n=>{let a=UVEditor.getSelectedFaces(n);for(var o in n.faces)if(e||n.box_uv||a.includes(o)){var r=n.faces[o];(e!=="blank"||r.texture!==null&&!r.getTexture())&&(r.texture=this.uuid)}})}return Canvas.updateView({elements:t,element_aspects:{faces:!0,uv:!0}}),UVEditor.loadData(),Undo.finishEdit("Apply texture"),this}openFolder(){return this}openEditor(){var e=this;return settings.image_editor.value?Jw(settings.image_editor.value)?null.invoke("get-launch-setting",{key:"image_editor"}).then(t=>{null(this.path,t)}):he.showMessageBox({icon:"fas.fa-pen-square",title:tl("message.image_editor_missing.title"),message:tl("message.image_editor_missing.detail"),buttons:["dialog.ok","dialog.cancel"]},t=>{t!=1&&changeImageEditor(e)}):changeImageEditor(e),this}showContextMenu(e){this!=Ri.selected&&this.select(),Prop.active_panel="textures",this.menu.open(e,this)}propertiesDialog(){this.select();let e=`${this.name} (${this.width} x ${this.height})`,t=[];if(this.path){var n=this.path.split(osfs);n.splice(-1),n.forEach(l=>{t.push(l),t.push(Interface.createElement("span",{class:"slash"},"/"))}),t.push(Interface.createElement("span",{class:"accent_color"},this.name))}let a={name:{label:"generic.name",value:this.name},variable:{label:"dialog.texture.variable",value:this.id,condition:{features:["texture_folder"]}},folder:{label:"dialog.texture.folder",value:this.folder,condition:()=>Format.texture_folder},namespace:{label:"dialog.texture.namespace",value:this.namespace,condition:{features:["texture_folder"]}},file_format:{label:"menu.texture.file_format",type:"select",value:this.file_format,options:{}},render_options:"_",render_mode:{label:"menu.texture.render_mode",type:"select",value:this.render_mode,options:{default:"menu.texture.render_mode.default",emissive:"menu.texture.render_mode.emissive",additive:"menu.texture.render_mode.additive",layered:(Format.single_texture||Format.single_texture_default)&&"menu.texture.render_mode.layered"}}};for(let l in Ri.file_formats)a.file_format.options[l]=Ri.file_formats[l].name;Format.id=="free"&&Object.assign(a,{render_sides:{label:"settings.render_sides",type:"select",value:this.render_sides,options:{auto:"settings.render_sides.auto",front:"settings.render_sides.front",double:"settings.render_sides.double"}}}),Format.per_texture_wrap_mode&&Object.assign(a,{wrap_mode:{label:"menu.texture.wrap_mode",type:"select",value:this.wrap_mode,options:{limited:"menu.texture.wrap_mode.limited",repeat:"menu.texture.wrap_mode.repeat",clamp:"menu.texture.wrap_mode.clamp"}}}),Format.per_texture_uv_size&&(a.uv_size={type:"vector",label:"dialog.texture.uv_size",value:[this.uv_width,this.uv_height],dimensions:2,readonly:!0,extra_actions:[{icon:"edit",name:"Change",click:l=>{Dialog.open.close(),Jm({texture:this})}}]}),Format.texture_mcmeta?Object.assign(a,{texture_mcmeta:"_",frame_time:{label:"dialog.texture.frame_time",type:"number",value:this.frame_time,min:1,step:1,description:"dialog.texture.frame_time.desc"},frame_interpolate:{label:"dialog.texture.frame_interpolate",type:"checkbox",value:this.frame_interpolate,description:"dialog.texture.frame_interpolate.desc"},frame_order_type:{label:"dialog.texture.frame_order_type",type:"select",value:this.frame_order_type,options:{loop:"dialog.texture.frame_order_type.loop",backwards:"dialog.texture.frame_order_type.backwards",back_and_forth:"dialog.texture.frame_order_type.back_and_forth",custom:"dialog.texture.frame_order_type.custom"}},frame_order:{label:"dialog.texture.frame_order",type:"text",value:this.frame_order,condition:l=>l.frame_order_type=="custom",placeholder:"0 3 1 2",description:"dialog.texture.frame_order.desc"}}):this.frameCount>1&&Object.assign(a,{texture_mcmeta:"_",fps:{label:"dialog.texture.fps",type:"number",value:this.fps,min:1,step:1,description:"dialog.texture.fps.desc"}});let o=new Image;o.src=this.img.src;let r=Interface.createElement("div",{style:"height: 140px;"},[Interface.createElement("div",{id:"texture_menu_thumbnail"},o),Interface.createElement("p",{class:"multiline_text",id:"te_path"},settings.streamer_mode.value?`[${tl("generic.redacted")}]`:t)]);var s=new Dialog({id:"texture_edit",title:e,lines:[r],form:a,onConfirm:l=>{Undo.initEdit({textures:[this],selected_texture:!0});let c=this.render_mode;if(this.name=l.name,l.variable!==void 0&&(this.id=l.variable),l.folder!==void 0&&(this.folder=l.folder),l.namespace!==void 0&&(this.namespace=l.namespace),l.render_mode!==void 0&&(this.render_mode=l.render_mode),l.render_sides!==void 0&&(this.render_sides=l.render_sides),l.wrap_mode!==void 0&&(this.wrap_mode=l.wrap_mode),l.fps!==void 0&&(this.fps=l.fps),l.file_format&&l.file_format!=this.file_format){let d=Ri.file_formats[this.file_format]?.extensions,u=Ri.file_formats[l.file_format]?.extensions;if(d&&u){let p=new RegExp(`\\.(${d.join("|")})$`);this.name=this.name.replace(p,"."+u[0]),this.path=this.path.replace(p,"."+u[0])}this.file_format=l.file_format,this.convertToInternal()}if(Format.per_texture_uv_size){let d=this.uv_width!=l.uv_size[0]||this.uv_height!=l.uv_size[1];this.uv_width=l.uv_size[0],this.uv_height=l.uv_size[1],d&&Canvas.updateAllUVs()}this.render_mode=="layered"&&c!==this.render_mode&&(Ri.all.forEach((d,u)=>{d.visible=u<3}),Interface.Panels.textures.inside_vue.$forceUpdate(),Canvas.updateLayeredTextures()),this.updateMaterial(),UVEditor.loadData(),Format.texture_mcmeta&&(["frame_time","frame_interpolate","frame_order_type","frame_order"].find(d=>this[d]!==l[d])&&(this.saved=!1),this.frame_time=l.frame_time,this.frame_interpolate=l.frame_interpolate,this.frame_order_type=l.frame_order_type,this.frame_order=l.frame_order,TextureAnimator.updateSpeed()),Undo.finishEdit("Edit texture metadata")}}).show()}resizeDialog(){let e=this,t=!1;return new Dialog({id:"resize_texture",title:"action.resize_texture",form:{mode:{label:"dialog.resize_texture.mode",type:"inline_select",default:"crop",options:{crop:"dialog.resize_texture.mode.crop",scale:"dialog.resize_texture.mode.scale"}},size:{label:"dialog.project.texture_size",type:"vector",dimensions:2,linked_ratio:!1,value:[this.width,this.display_height],step:1,force_step:!0,min:1},frames:{label:"dialog.resize_texture.animation_frames",type:"number",condition:()=>Format.animated_textures,value:this.frameCount||1,min:1,max:2048,step:1},fill:{label:"dialog.resize_texture.fill",type:"select",condition:a=>a.mode=="crop",default:"transparent",options:{transparent:"dialog.resize_texture.fill.transparent",color:"dialog.resize_texture.fill.color",repeat:"dialog.resize_texture.fill.repeat"}}},onFormChange(a){a.frames>(e.frameCount||1)&&!t&&(t=!0,this.setFormValues({fill:"repeat"}))},onConfirm:function(a){let o=e.width,r=e.height,s=null;if(a.mode==="crop"&&Ri.length>=2&&!Format.single_texture){let l=[...Cube.all,...Mesh.all].filter(c=>{for(let d in c.faces)if(c.faces[d].texture==e.uuid)return!0});l.length&&(s=l)}Format.animated_textures&&a.frames>1&&(a.size[1]*=a.frames),Undo.initEdit({textures:[e],bitmap:!0,elements:s,uv_only:!0}),e.edit(l=>{let c=document.createElement("canvas"),d=c.getContext("2d"),u=p=>{if(c.width=p.canvas.width,c.height=p.canvas.height,d.drawImage(p.canvas,0,0),p.canvas.width==e.canvas.width&&p.canvas.height==e.canvas.height?(p.canvas.width=a.size[0],p.canvas.height=a.size[1]):a.mode=="scale"&&(p.canvas.width=Math.round(p.canvas.width*(a.size[0]/e.canvas.width)),p.canvas.height=Math.round(p.canvas.height*(a.size[1]/e.canvas.height))),p.imageSmoothingEnabled=!1,a.mode=="crop")switch(a.fill){case"transparent":p.drawImage(c,0,0,c.width,c.height);break;case"color":p.fillStyle=ColorPanel.get(),p.fillRect(0,0,a.size[0],a.size[1]),p.clearRect(0,0,c.width,c.height),p.drawImage(c,0,0,c.width,c.height);break;case"repeat":for(var m=0;m<a.size[0];m+=c.width)for(var _=0;_<a.size[1];_+=c.height)p.drawImage(c,m,_,c.width,c.height);break}else p.drawImage(c,0,0,p.canvas.width,p.canvas.height)};if(e.layers_enabled&&e.layers.length)for(let p of e.layers)a.mode=="scale"&&(u(p.ctx),p.offset[0]=Math.round(p.offset[0]*(a.size[0]/e.width)),p.offset[1]=Math.round(p.offset[1]*(a.size[1]/e.height)));else u(e.ctx);e.width=a.size[0],e.height=a.size[1],e.keep_size=!0,a.mode=="scale"||a.fill==="repeat"&&Format.animated_textures&&a.size[0]<a.size[1]||(Format.single_texture||Ri.all.length==1||Format.per_texture_uv_size?(Format.per_texture_uv_size?(e.uv_width=e.uv_width*(a.size[0]/o),e.uv_height=e.uv_height*(a.size[1]/r),Project.texture_width=e.uv_width,Project.texture_height=e.uv_height):(Undo.current_save.uv_mode={box_uv:Project.box_uv,width:Project.texture_width,height:Project.texture_height},Undo.current_save.aspects.uv_mode=!0,Project.texture_width=Project.texture_width*(a.size[0]/o),Project.texture_height=Project.texture_height*(a.size[1]/r)),Canvas.updateAllUVs()):Ri.length>=2&&s&&(s.forEach(p=>{if(p.getTypeBehavior("cube_faces")){for(var m in p.faces)if(p.faces[m].texture===e.uuid){var _=p.faces[m].uv;_[0]/=a.size[0]/o,_[2]/=a.size[0]/o,_[1]/=a.size[1]/r,_[3]/=a.size[1]/r}}else if(p instanceof Mesh){for(var m in p.faces)if(p.faces[m].texture===e.uuid){var _=p.faces[m].uv;for(let v in _)_[v][0]/=a.size[0]/o,_[v][1]/=a.size[1]/r}}}),Canvas.updateView({elements:s,element_aspects:{uv:!0}})))},{no_undo:!0}),Undo.finishEdit("Resize texture"),UVEditor.vue.updateTexture(),setTimeout(updateSelection,100)}}).show(),this}scrollTo(){var e=$(`#texture_list li.texture[texid=${this.uuid}]`);if(!(e.length===0||Ri.all.length<2)){var t=$("#texture_list").offset().top,n=e.offset().top;if(!(n>t&&n+48<$("#texture_list").height()+t)){var a=n>t?.5:.2,o=n+$("#texture_list").scrollTop()-t-20;o-=$("#texture_list").height()*a-15,$("#texture_list").animate({scrollTop:o},200)}}}getActiveLayer(){if(this.layers_enabled)return this.selected_layer||this.layers[0]}activateLayers(e){if(e&&Undo.initEdit({textures:[this],bitmap:!0}),this.layers_enabled=!0,!this.layers.length){let t=new TextureLayer({},this),n=this.ctx.getImageData(0,0,this.width,this.height);t.setSize(this.width,this.height),t.ctx.putImageData(n,0,0),t.addForEditing()}e&&Undo.finishEdit("Enable layers on texture"),updateInterfacePanels(),BARS.updateConditions()}selectionToLayer(e,t){let n=this,a=n.selection;e&&Undo.initEdit({textures:[n],bitmap:!0}),n.layers_enabled||(n.flags.add("temporary_layers"),n.activateLayers(!1));let{canvas:o,ctx:r,offset:s}=n.getActiveCanvas(),l=[0,0],c=o;if(a.is_custom){let u=a.getBoundingRect();c=document.createElement("canvas");let p=c.getContext("2d");c.width=u.width,c.height=u.height,l=[u.start_x,u.start_y],a.maskCanvas(p,l),p.drawImage(o,-u.start_x+s[0],-u.start_y+s[1])}n.internal||n.convertToInternal(),t||a.toBoxes().forEach(p=>{r.clearRect(p[0]-s[0],p[1]-s[1],p[2],p[3])});let d=new TextureLayer({name:"selection",offset:l},n);d.setSize(c.width,c.height),d.ctx.drawImage(c,0,0),n.layers.splice(n.layers.indexOf(n.selected_layer)+1,0,d),d.select(),d.setLimbo(),n.updateLayerChanges(!0),e&&Undo.finishEdit("Texture selection to layer"),updateInterfacePanels(),BARS.updateConditions()}javaTextureLink(){var e=this.name.replace(/\.\w{2,8}$/,"");return this.folder&&(e=this.folder+"/"+e),this.namespace&&this.namespace!=="minecraft"&&(e=this.namespace+":"+e),e}getMCMetaContent(){let e={};if(this.frameCount>1){let t=e.animation={frametime:this.frame_time};this.getUVWidth()!=this.getUVHeight()&&(t.width=this.getUVWidth(),t.height=this.getUVHeight()),this.frame_interpolate&&(t.interpolate=!0);let n=this.getAnimationFrameIndices();n&&(t.frames=n)}return he.dispatchEvent("compile_texture_mcmeta",{mcmeta:e}),e}getAnimationFrameIndices(){let e=this.frameCount;if(this.frame_order_type=="backwards")return Array(e).fill(1).map((t,n)=>e-1-n);if(this.frame_order_type=="back_and_forth")return Array(e*2-2).fill(1).map((t,n)=>n>=e-1?e*2-2-n:n);if(this.frame_order_type=="custom"&&this.frame_order.trim())return this.frame_order.split(/\s+/).map(t=>{if(t.includes(":")){let[n,a]=t.split(":").map(o=>parseInt(o));return{index:n,time:a}}else return parseInt(t)})}async save(e){var t=this;if(t.saved&&!e)return this;let n=Ri.file_formats[this.file_format]??Ri.file_formats.png,a;if(n.encode)a=await n.encode(this);else{let l="image/"+(this.file_format??"png");a=this.canvas.toDataURL(l)}if(PC++,0){if(!(!e&&this.path&&null.existsSync(this.path))){var o;if(!o&&Project.export_path)var r,s}}else he.export({type:n.name+" Texture",extensions:n.extensions,name:this.name,content:a,savetype:"image"},()=>{this.saved=!0});return Format.image_editor&&!Ri.all.find(l=>!l.saved)&&(Project.saved=!0),this}exportEmissionMap(){new Dialog({id:"export_emission_map",title:"dialog.export_emission_map.title",form:{format:{label:"dialog.export_emission_map.format",type:"select",options:{luminance:"dialog.export_emission_map.format.luminance",luminance_inverted:"dialog.export_emission_map.format.luminance_inverted",colors:"dialog.export_emission_map.format.colors"}},threshold:{label:"dialog.export_emission_map.threshold",type:"number",min:0,max:254},round_up:{label:tl("dialog.export_emission_map.round_up",[Math.getNextPower(this.width),Math.getNextPower(this.height)]),type:"checkbox",condition:()=>!Math.isPowerOfTwo(this.width)||!Math.isPowerOfTwo(this.height)},flip_y:{label:"dialog.export_emission_map.flip_y",type:"checkbox"}},onConfirm:e=>{let t=document.createElement("canvas"),n=t.getContext("2d");e.round_up?(t.width=Math.getNextPower(this.img.naturalWidth),t.height=Math.getNextPower(this.img.naturalHeight)):(t.width=this.img.naturalWidth,t.height=this.img.naturalHeight),e.flip_y&&(n.translate(0,t.height),n.scale(1,-1)),n.drawImage(this.img,0,0,this.img.naturalWidth,this.img.naturalHeight);let a=n.getImageData(0,0,t.width,t.height);for(let r=0;r<a.data.length;r+=4)if(e.format=="colors")a.data[r+3]<=e.threshold?a.data[r+0]=a.data[r+1]=a.data[r+2]=a.data[r+3]=0:a.data[r+3]=255-a.data[r+3];else{if(a.data[r+3]<254&&a.data[r+3]>e.threshold){let s=e.format=="luminance_inverted"?a.data[r+3]:255-a.data[r+3];a.data[r+0]=a.data[r+1]=a.data[r+2]=s}else a.data[r+0]=a.data[r+1]=a.data[r+2]=e.format=="luminance_inverted"?255:0;a.data[r+3]=255}n.putImageData(a,0,0);let o=t.toDataURL("image/png",1);he.export({resource_id:"texture",type:"PNG Texture",extensions:["png"],name:this.name.replace(/\.png$/i,"")+"-emission_map",content:o,startpath:this.path.replace(/\.png$/i,"")+"-emission_map",savetype:"image"})}}).show()}getDataURL(){var e=this;if(0)var t;else var t=e.source;return t}getBase64(){return this.getDataURL().replace("data:image/png;base64,","")}convertToInternal(e=this.getDataURL()){return this.internal=!0,this.source=e,this.saved=!1,this}updateLayerChanges(e){if(!this.layers_enabled||this.width==0)return this;this.canvas.width=this.width,this.canvas.height=this.height;for(let t of this.layers)if(!(t.visible==!1||t.opacity==0)){if(t.blend_mode=="alpha_mask"){let n=t.opacity/100,a=t.ctx.getImageData(0,0,t.canvas.width,t.canvas.height);Painter.scanCanvas(this.ctx,0,0,this.canvas.width,this.canvas.height,(o,r,s)=>{let l=[o-t.offset[0],r-t.offset[1]];if(l[0]<0||l[0]>=t.canvas.width||l[1]<0||l[1]>=t.canvas.height)return;let c=a.data[(l[1]*t.canvas.width+l[0])*4];return s[3]*=c/255*n,s});continue}this.ctx.filter=`opacity(${t.opacity/100})`,this.ctx.globalCompositeOperation=Painter.getBlendModeCompositeOperation(t.blend_mode),this.ctx.imageSmoothingEnabled=!1,this.ctx.drawImage(t.canvas,t.offset[0],t.offset[1],t.scaled_width,t.scaled_height)}this.ctx.filter="",this.ctx.globalCompositeOperation="source-over",!Format.image_editor&&this.getMaterial()&&(this.getOwnMaterial().map.needsUpdate=!0),e&&(this.internal=!0,this.source=this.canvas.toDataURL("image/png",1),this.updateImageFromCanvas()),UVEditor.vue.texture==this&&UVEditor.updateOverlayCanvas()}updateChangesAfterEdit(){this.layers_enabled?this.updateLayerChanges(!0):(this.internal||this.convertToInternal(),Format.image_editor||(this.getOwnMaterial().map.needsUpdate=!0),this.source=this.canvas.toDataURL("image/png",1),this.updateImageFromCanvas()),(this.pbr_channel=="mer"||this.pbr_channel=="height")&&this.getGroup()?.is_material&&BarItems.view_mode.value=="material"&&this.getGroup().updateMaterial(),this.saved=!1,this.syncToOtherProject()}updateImageFromCanvas(){this.img.update_from_canvas=!0,this.img.src=this.source}getActiveCanvas(){let e=this.layers_enabled&&this.getActiveLayer();return e||this}syncToOtherProject(){if(!this.sync_to_project)return this;let e=ModelProject.all.find(a=>a.uuid==this.sync_to_project);if(!e)return this;let t=e.textures.find(a=>a.uuid==this.uuid&&a!=this);if(!t)return this;let n=this.getUndoCopy(!0);return delete n.sync_to_project,t.extend(n),t.layers_enabled?t.updateLayerChanges(!0):t.updateSource(t.source),this}edit(e,t=0){e?Painter.edit(this,e,t):this.mode==="link"&&this.convertToInternal(),this.saved=!1}static getAllExtensions(){let e=[];for(let t in Ri.file_formats)e.safePush(...Ri.file_formats[t].extensions);return e}};W(Ri,"file_formats",{png:{name:"PNG",extensions:["png"]},jpeg:{name:"JPEG",extensions:["jpeg","jpg"]},webp:{name:"WebP",extensions:["webp"]},tga:{name:"TGA",extensions:["tga"],async encode(e){let t=e.ctx.getImageData(0,0,e.canvas.width,e.canvas.height),n=["add","alpha_mask","default"];return e.layers_enabled&&e.layers.some(o=>o.blend_mode=="alpha_mask")&&e.layers.allAre(o=>n.includes(o.blend_mode)&&o.scale.allEqual(1))&&(t=bae(e)),(await(0,T1.encodeTga)({data:t.data,width:e.canvas.width,height:e.canvas.height})).data},async decode(e,t){e instanceof ArrayBuffer&&(e=new Uint8Array(e));let n=await(0,T1.decodeTga)(e);t.canvas.width=n.image.width,t.canvas.height=n.image.height;let a=new ImageData(n.image.width,n.image.height);a.data.set(n.image.data),t.ctx.putImageData(a,0,0),t.source=t.canvas.toDataURL("image/png",1),t.load()}}});var Ct=Ri;Ct.prototype.menu=new Menu([new MenuSeparator("apply"),i=>({icon:"star",name:i.use_as_default?"menu.texture.use_as_default.clear":"menu.texture.use_as_default",condition:{features:["single_texture_default"]},click(e){e.use_as_default?e.use_as_default=!1:e.setAsDefaultTexture()}}),{icon:"credit_score",name:"menu.texture.face",condition(){return!Format.single_texture&&Outliner.selected.length>0&&!Format.per_group_texture},click(i){i.apply()}},{icon:"inventory",name:"menu.texture.blank",condition(){return!Format.single_texture&&Outliner.selected.length>0&&!Format.per_group_texture},keybind:BarItems.apply_texture_to_elements?.keybind,click(i){i.apply("blank")}},{icon:"list_alt_check",name:"menu.texture.elements",condition(){return!Format.single_texture&&Outliner.selected.length>0},click(i){i.apply(!0)}},i=>({icon:"bubble_chart",name:i.particle?"menu.texture.particle.clear":"menu.texture.particle",condition:{features:["select_texture_for_particles"]},click(e){e.particle?e.particle=!1:e.enableParticle()}}),new MenuSeparator("settings"),{icon:"list",name:"menu.texture.pbr_channel",condition:i=>i.getGroup()?.is_material,children(i){function e(t){let n=i.getGroup(),a=n.getTextures();Undo.initEdit({textures:a}),i.pbr_channel=t,a.forEach(o=>{o.updateMaterial()}),n&&n.updateMaterial(),Undo.finishEdit("Change texture PBR channel")}return[{name:"menu.texture.pbr_channel.color",icon:i.pbr_channel=="color"?"far.fa-dot-circle":"far.fa-circle",click(){e("color")}},{name:"menu.texture.pbr_channel.normal",icon:i.pbr_channel=="normal"?"far.fa-dot-circle":"far.fa-circle",click(){e("normal")}},{name:"menu.texture.pbr_channel.height",icon:i.pbr_channel=="height"?"far.fa-dot-circle":"far.fa-circle",click(){e("height")}},{name:"menu.texture.pbr_channel.mer",icon:i.pbr_channel=="mer"?"far.fa-dot-circle":"far.fa-circle",click(){e("mer")}}]}},{icon:"list",name:"menu.texture.render_mode",condition:i=>Format.edit_mode&&!i.getGroup()?.is_material,children(i){function e(t){let n=t=="layered"||i.render_mode=="layered",a=n?Ct.all:[i];Undo.initEdit({textures:a}),a.forEach(o=>{o.render_mode=t,o.updateMaterial()}),n&&(Ct.all.forEach((o,r)=>{o.visible=r<3}),Interface.Panels.textures.inside_vue.$forceUpdate(),Canvas.updateLayeredTextures()),Undo.finishEdit("Change texture view mode")}return[{name:"menu.texture.render_mode.default",icon:i.render_mode=="default"?"far.fa-dot-circle":"far.fa-circle",click(){e("default")}},{name:"menu.texture.render_mode.emissive",icon:i.render_mode=="emissive"?"far.fa-dot-circle":"far.fa-circle",click(){e("emissive")}},{name:"menu.texture.render_mode.additive",icon:i.render_mode=="additive"?"far.fa-dot-circle":"far.fa-circle",click(){e("additive")}},{name:"menu.texture.render_mode.layered",icon:i.render_mode=="layered"?"far.fa-dot-circle":"far.fa-circle",click(){e("layered")},condition:()=>Format.single_texture||Format.single_texture_default}]}},"resize_texture",{name:"menu.texture.flipbook_animation",icon:i=>i.frameCount>1,condition:i=>Format.animated_textures,click(i){let e=i.frameCount;if(!e&&i.getUVHeight()==i.getUVWidth()){BarItems.animated_texture_editor.click();return}Format.per_texture_uv_size?(Undo.initEdit({textures:[i]}),e?(i.uv_height=i.height*(i.uv_width/i.width),i.currentFrame=0):i.uv_height=i.uv_width,Undo.finishEdit("Toggle flipbook animation"),updateSelection()):Ct.all.length==1?(Undo.initEdit({uv_mode:!0}),e?(Project.texture_height=Project.texture_width*(i.height/i.width),i.currentFrame=0):Project.texture_height=Project.texture_width,Undo.finishEdit("Toggle flipbook animation"),updateSelection()):he.showQuickMessage("This format does not support per-texture UV sizes")}},"animated_texture_editor","create_material","append_to_template",{name:"menu.texture.merge_onto_texture",icon:"fa-caret-square-up",condition:i=>i&&Ct.all.indexOf(i)!==0,click(i){let e=Ct.all[Ct.all.indexOf(i)-1];Undo.initEdit({textures:[e],bitmap:!0}),e.edit((t,{ctx:n})=>{n.drawImage(i.img,0,0)},{no_undo:!0}),Undo.finishEdit("Merged textures")}},new MenuSeparator("copypaste"),"copy","duplicate",new MenuSeparator("edit"),{icon:"edit",name:"menu.texture.edit_externally",condition:i=>i.mode=="link",click(i){i.openEditor()}},{icon:"draw",name:"menu.texture.edit_in_blockbench",condition:i=>!Format.image_editor,click(i){let e,t;for(let n of ModelProject.all)if(n.format.image_editor&&(t=n.textures.find(a=>a.uuid==i.uuid||a.path&&a.path==i.path),t)){e=n;break}if(e)e.select(),t.select();else{let n=Project.uuid,a=i.getUndoCopy(!0);Codecs.image.load(a,i.path,[i.uv_width,i.uv_height]),i.sync_to_project=Project.uuid,Ct.all[0]&&(Ct.all[0].sync_to_project=n)}}},{icon:"tune",name:"menu.texture.edit",condition:{modes:["paint"]},children:[new MenuSeparator("adjustment"),"adjust_brightness_contrast","adjust_saturation_hue","adjust_opacity","invert_colors","adjust_curves",new MenuSeparator("filters"),"limit_to_palette","split_rgb_into_layers","split_alpha_into_layer","clear_unused_texture_space",new MenuSeparator("transform"),"flip_texture_x","flip_texture_y","rotate_texture_cw","rotate_texture_ccw","crop_texture_to_selection"]},"enable_texture_layers","disable_texture_layers",new MenuSeparator("file"),{icon:"folder",name:"menu.texture.folder",condition:function(i){return!1},click(i){i.openFolder()}},{icon:"save",name:"menu.texture.save",condition:function(i){return!i.saved&&i.path},click(i){i.save()}},{icon:"file_download",name:"menu.texture.export",click(i){i.save(!0)}},{icon:"flourescent",name:"dialog.export_emission_map.title",condition:i=>i.render_mode=="emissive",click(i){i.exportEmissionMap()}},new MenuSeparator("manage"),"refresh_texture",{name:"menu.texture.discard_changes",description:"menu.texture.discard_changes.desc",icon:"delete_sweep",condition:i=>i.internal&&i.path&&!1,click(i){Undo.initEdit({textures:[i],bitmap:!0}),UVEditor.vue.layer=null,i.layers_enabled=!1,i.selected_layer=null,i.layers.empty(),i.internal=!1,i.saved=!0,i.setSourceFromLocalFile(),Ct.selected.reloadTexture(),Undo.finishEdit("Discard texture changes"),updateInterfacePanels(),BARS.updateConditions()}},{icon:"file_upload",name:"menu.texture.change",click(i){i.reopen()}},"delete",new MenuSeparator("properties"),{icon:"list",name:"menu.texture.properties",click(i){i.propertiesDialog()}}]);Ct.prototype.offset=[0,0];Ct.getDefault=function(){if(Format.single_texture_default){let i=Ct.all.find(e=>e.use_as_default);if(i)return i}return Ct.selected&&Ct.all.includes(Ct.selected)?Ct.selected.visible||Ct.selected.render_mode!=="layered"?Ct.selected:Ct.all.findLast(i=>i.visible):(Ct.selected&&(Ct.selected=void 0),Ct.all.length>1&&Ct.all.find(i=>i.render_mode=="layered")?Ct.all.findLast(i=>i.visible):Ct.all[0])};new Property(Ct,"string","path");new Property(Ct,"string","name");new Property(Ct,"string","folder");new Property(Ct,"string","namespace");new Property(Ct,"string","id");new Property(Ct,"string","group");new Property(Ct,"number","scope");new Property(Ct,"number","width");new Property(Ct,"number","height");new Property(Ct,"number","uv_width");new Property(Ct,"number","uv_height");new Property(Ct,"boolean","particle");new Property(Ct,"boolean","use_as_default");new Property(Ct,"boolean","layers_enabled");new Property(Ct,"string","sync_to_project");new Property(Ct,"enum","file_format",{default:"png"});new Property(Ct,"enum","render_mode",{default:"default"});new Property(Ct,"enum","render_sides",{default:"auto"});new Property(Ct,"enum","wrap_mode",{default:()=>Format.texture_wrap_default??"limited"});new Property(Ct,"enum","pbr_channel",{default:"color"});new Property(Ct,"number","fps",{default:7});new Property(Ct,"number","frame_time",{default:1});new Property(Ct,"enum","frame_order_type",{default:"loop",values:["custom","loop","backwards","back_and_forth"]});new Property(Ct,"string","frame_order");new Property(Ct,"boolean","frame_interpolate");Object.defineProperty(Ct,"all",{get(){return Project.textures||[]},set(i){Project.textures.replace(i)}});Object.defineProperty(Ct,"selected",{get(){return Project.selected_texture},set(i){Project.selected_texture=i}});async function s5(i=!1){let e=Ct.all.filter(n=>!n.saved),t=e.filter(n=>!0);if(t.length>=2){let n=function(o){let r=t.map(s=>"- "+s.name).join(`
`);he.showMessageBox({title:"action.save_textures",message:tl("message.save_all_textures.message")+`
`+r,buttons:["dialog.unsaved_work.save_all","message.save_all_textures.skip"]},s=>{o(s==0)})};await new Promise(n)||t.forEach(o=>e.remove(o))}for(let n of e)n.save()}function l5(){Ct.all.forEach(function(i){i.selected=!1,i.multi_selected=!1}),Ct.selected=void 0,Canvas.updateLayeredTextures(),updateInterfacePanels(),Panels.layers.inside_vue.layers=[],he.dispatchEvent("update_texture_selection")}function vae(i){if(i!==void 0)return i=i.replace("#",""),$.grep(Ct.all,function(e){return e.id==i})}function bae(i){let e=i.ctx.createImageData(i.canvas.width,i.canvas.height);for(let t of i.layers){if(t.visible==!1||t.opacity==0)continue;let n=t.ctx.getImageData(0,0,t.canvas.width,t.canvas.height);for(let a=0;a<i.canvas.width;a++)for(let o=0;o<i.canvas.height;o++){let r=e.getIndex(a,o),s=n.getIndex(a-t.offset[0],o-t.offset[1]),l=n.data[s+3]/255*(t.opacity/100);switch(t.blend_mode){case"default":{e.data[r+0]=Math.lerp(e.data[r+0],n.data[s+0],l),e.data[r+1]=Math.lerp(e.data[r+1],n.data[s+1],l),e.data[r+2]=Math.lerp(e.data[r+2],n.data[s+2],l),e.data[r+3]=Math.lerp(e.data[r+3],255,l);break}case"add":{e.data[r+0]+=n.data[s+0]*l,e.data[r+1]+=n.data[s+1]*l,e.data[r+2]+=n.data[s+2]*l,e.data[r+3]+=n.data[s+3]*l;break}case"alpha_mask":{let c=n.data[s];e.data[r+3]*=c/255*l;break}}}}return e}SharedActions.add("delete",{condition:()=>Prop.active_panel=="textures"&&Ct.selected,run(){let i=Ct.all.filter(e=>e.selected||e.multi_selected);Undo.initEdit({textures:i}),i.forEach(e=>{e.remove(!0)}),Canvas.updateAllFaces(),Canvas.layered_material&&Canvas.updateLayeredTextures(),TextureAnimator.updateButton(),UVEditor.vue.updateTexture(),BARS.updateConditions(),Undo.finishEdit("Remove texture",{textures:[]})}});SharedActions.add("duplicate",{condition:()=>Prop.active_panel=="textures"&&Ct.selected,run(){let i=Ct.selected.getSaveCopy();delete i.path;let e=new Ct(i).fillParticle();e.convertToInternal(Ct.selected.getDataURL()),e.load().add(!0)}});Clipbench.setTexture=function(i){if(Clipbench.texture=i.getSaveCopy(),delete Clipbench.texture.path,Clipbench.texture.internal=!0,Clipbench.texture.saved=!1,Clipbench.texture.source=i.getDataURL(),0)if(i.mode==="bitmap")var e;else var e};Clipbench.pasteTextures=function(){function i(n){if(!(!n||n.length<32)){var a=new Ct({name:"pasted",folder:"block"}).fillParticle().convertToInternal(n);a.load().add(!0),setTimeout(function(){a.propertiesDialog()},40)}}if(Clipbench.texture){var e=new Ct(Clipbench.texture).convertToInternal(Clipbench.texture.source).fillParticle().load().add(!0);setTimeout(function(){e.propertiesDialog()},40),Clipbench.texture=null}else if(0)var t;else navigator.clipboard.read().then(n=>{n&&n[0]&&n[0].types.includes("image/png")&&n[0].getType("image/png").then(a=>{let o=URL.createObjectURL(a);i(o)})}).catch(()=>{})};BARS.defineActions(function(){new Action("import_texture",{icon:"library_add",category:"textures",keybind:new Keybind({key:"t",ctrl:!0}),click(i,e){let t,n=Ct.getAllExtensions();he.import({resource_id:"texture",readtype:"image",type:"Texture",extensions:n,multiple:!0,startpath:t},function(a){if(a[0].name.endsWith("texture_set.json")){importTextureSet(a[0]);return}let o=[],r=[],s=e instanceof TextureGroup?e:Ct.selected?.getGroup();Undo.initEdit({textures:o,texture_groups:r}),a.forEach(l=>{let c=new Ct({name:l.name}).fromFile(l).add(!1,!0).fillParticle();o.push(c),s&&(c.group=s.uuid)}),Undo.finishEdit("Add texture")})}}),new Action("create_texture",{icon:"icon-create_bitmap",category:"textures",keybind:new Keybind({key:"t",ctrl:!0,shift:!0}),click(){TextureGenerator.addBitmapDialog()}}),new Action("append_to_template",{icon:"dashboard_customize",category:"textures",condition:()=>Ct.all.length&&Outliner.selected.some(i=>i.faces),click(){TextureGenerator.appendToTemplateDialog()}}),new Action("save_textures",{icon:"save",category:"textures",click(){s5()}}),new Action("change_textures_folder",{icon:"fas.fa-hdd",category:"textures",condition:()=>Ct.all.length>0,click(){for(var e=void 0,i=0;i<Ct.all.length&&e===void 0;)typeof Ct.all[i].path=="string"&&Ct.all[i].path.length>8&&(e=Ct.all[i].path),i++;if(!e)return;var e=e.split(osfs);e.splice(-1),e=e.join(osfs);let t=he.pickDirectory({resource_id:"texture",startpath:e});if(t&&t.length){var n=t[0];Undo.initEdit({textures:Ct.all}),Ct.all.forEach(function(a){typeof a.path=="string"&&a.path.includes(e)&&a.fromPath(a.path.replace(e,n))}),Undo.finishEdit("Change textures folder")}}}),new Toggle("search_textures",{icon:"search",category:"edit",onChange(i){Panels.textures.inside_vue._data.search_term="",Panels.textures.inside_vue._data.search_enabled=i,i&&Vue.nextTick(()=>{document.getElementById("texture_search_bar").firstChild.focus()})}}),new Action("apply_texture_to_elements",{icon:"list_alt_check",condition(){return!Format.single_texture&&Outliner.selected.length>0&&Ct.selected},click(){Ct.selected.apply(!0)}}),new Action("refresh_texture",{icon:"refresh",condition:()=>Ct.selected?.internal==!1,click(){let i=Ct.selected;i.layers_enabled?he.showMessageBox({translateKey:"texture_refresh_conflict",icon:"priority_high",commands:{keep_ours:tl("message.texture_refresh_conflict.keep_ours"),keep_theirs:tl("message.texture_refresh_conflict.keep_theirs")},buttons:["dialog.cancel"]},e=>{e=="keep_theirs"&&(Undo.initEdit({textures:[i],bitmap:!0}),UVEditor.vue.layer=null,i.layers_enabled=!1,i.selected_layer=null,i.layers.empty(),i.refresh(!0),Undo.finishEdit("Disable layers on texture"),updateInterfacePanels(),BARS.updateConditions())}):i.reloadTexture()}})});Interface.definePanels(function(){let i=Vue.extend({props:{texture:Ct},data(){return{pbr_channels:{color:{icon:"palette"},normal:{icon:"area_chart"},height:{icon:"landscape"},mer:{icon:"brightness_5"},mer_subsurface:{icon:"brightness_6"}},temp_color:null}},methods:{getDescription(e){if(e.error)return e.getErrorMessage();{let t=e.width+" x "+e.height+"px";if(!Format.image_editor){let n=e.width/e.getUVWidth()*Format.block_size;t+=` (${trimFloatNumber(n,2)}x)`}return e.frameCount>1&&(t+=` - ${e.currentFrame+1}/${e.frameCount}`),t}},getTextureIconOffset(e){return e.currentFrame?`${e.currentFrame*-48*(e.display_height/e.width)}px`:void 0},getScopeColor(e){return e.scope?Es[(e.scope-1)%Es.length]:""},highlightTexture(e){if(!Format.single_texture&&this.texture.error){let n=this.texture.getMaterial().uniforms.LIGHTCOLOR.value;this.temp_color=new THREE.Color().copy(n),n.r+=.3,n.g+=.3,n.b+=.3,setTimeout(()=>{},150)}},unhighlightTexture(e){!Format.single_texture&&this.temp_color&&this.texture.getMaterial().uniforms.LIGHTCOLOR.value.copy(this.temp_color)},dragTexture(e){if(e.button==1||getFocusedTextInput())return;convertTouchEvent(e);let t=this.texture,n=!1,a,o,r=e,s=this,l=document.getElementById("texture_list"),c=$(l).offset(),d=function(){n&&(mouse_pos.y<c.top?l.scrollTop+=(mouse_pos.y-c.top)/7-3:mouse_pos.y>c.top+l.clientHeight&&(l.scrollTop+=(mouse_pos.y-(c.top+l.clientHeight))/6+3))},u;function p(_){convertTouchEvent(_);let f=[_.clientX-e.clientX,_.clientY-e.clientY];if(!n){let g=Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));he.isTouch?g>20&&o?(clearTimeout(o),o=null):document.getElementById("texture_list").scrollTop+=r.clientY-_.clientY:g>6&&(n=!0)}if(n){if(_&&_.preventDefault(),open_menu&&open_menu.hide(),a||(a=s.$el.cloneNode(),a.classList.add("texture_drag_helper"),a.setAttribute("texid",t.uuid),document.body.append(a),u=setInterval(d,16.666666666666668),he.addFlag("dragging_textures")),a.style.left=`${_.clientX}px`,a.style.top=`${_.clientY}px`,$(".outliner_node[order]").attr("order",null),$(".drag_hover").removeClass("drag_hover"),$(".texture[order]").attr("order",null),isNodeUnderCursor(document.getElementById("cubes_list"),_)){for(let g of document.querySelectorAll(".outliner_object"))if(isNodeUnderCursor(g,_)){let v=g.parentNode;v.classList.add("drag_hover"),v.setAttribute("order","0");return}}if(isNodeUnderCursor(document.querySelector("#texture_list"),_)){let g=findNodeUnderCursor("#texture_list li.texture",_);if(g){let x=_.clientY-$(g).offset().top;g.setAttribute("order",x>24?"1":"-1");return}let v=findNodeUnderCursor("#texture_list .texture_group_head",_);if(v){v.classList.add("drag_hover"),v.setAttribute("order","0");return}let b=document.querySelectorAll("#texture_list > li");if(b.length){let x=b[b.length-1];x.setAttribute("order","1"),x.classList.add("drag_hover")}}r=_}}async function m(_){convertTouchEvent(_),a&&a.remove(),clearInterval(u),removeEventListeners(document,"mousemove touchmove",p),removeEventListeners(document,"mouseup touchend",m),_.stopPropagation();let f=document.querySelector("#cubes_list li.outliner_node.drag_hover");if($(".outliner_node[order]").attr("order",null),$(".drag_hover").removeClass("drag_hover"),$(".texture[order]").attr("order",null),he.isTouch&&clearTimeout(o),!(!n||Menu.open))if(setTimeout(()=>{he.removeFlag("dragging_textures")},10),isNodeUnderCursor(Interface.preview,_)){let g=Canvas.raycast(_);if(g.element&&g.face){let v=g.element.selected?UVEditor.getMappableElements():[g.element];if(Format.per_group_texture){v=[];let b=Group.multi_selected;Outliner.selected.forEach(x=>{x.faces&&x.parent instanceof Group&&b.safePush(x.parent)}),Undo.initEdit({groups:b}),b.forEach(x=>{x.texture=t.uuid,x.forEachChild(w=>{w.preview_controller?.updateFaces&&w.preview_controller.updateFaces(w)})})}else Undo.initEdit({elements:v}),v.forEach(b=>{b.applyTexture(t,_.shiftKey||Pressing.overrides.shift||[g.face])});Undo.finishEdit("Apply texture")}}else if(isNodeUnderCursor(document.getElementById("texture_list"),_)){let g=!t||t.selected||t.multi_selected?Ct.all.filter(A=>A.selected||A.multi_selected):[t],v=Ct.all.length,b=findNodeUnderCursor("#texture_list li.texture",_),x=findNodeUnderCursor("#texture_list .texture_group_head",_),w="";if(x)w=x.parentNode.id;else if(b){let A=Ct.all.findInArray("uuid",b.getAttribute("texid"));if(v=Ct.all.indexOf(A),Ct.all.indexOf(g[0])==v&&g.length==1)return;_.clientY-$(b).offset().top>24&&v++,w=A.group}let E=g.some(A=>A.group!=w);Undo.initEdit({texture_order:!0,textures:E?g:null});let y=Ct.all[v];g.forEach(A=>Ct.all.remove(A)),y&&Ct.all.includes(y)&&(v=Ct.all.indexOf(y)),g.forEach((A,R)=>{Ct.all.splice(v+R,0,A),A.group=w}),Canvas.updateLayeredTextures(),Undo.finishEdit("Rearrange textures")}else if(f){let g=f.id,v=OutlinerNode.uuids[g],b=[];if(v.type==="group"?v.forEachChild(x=>{b.push(x)}):b=selected.includes(v)?selected.slice():[v],b=b.filter(x=>x.applyTexture),Format.per_group_texture){let x=v.type==="group"?v:null;x||(x=v.parent),b=[],Undo.initEdit({group:x}),x.texture=t.uuid,x.forEachChild(w=>{w.preview_controller?.updateFaces&&w.preview_controller.updateFaces(w)})}else Undo.initEdit({elements:b,uv_only:!0}),b.forEach(x=>{x.applyTexture(t,!0)});Undo.finishEdit("Apply texture"),UVEditor.loadData()}else isNodeUnderCursor(document.getElementById("uv_viewport"),_)&&UVEditor.applyTexture(t)}he.isTouch&&(o=setTimeout(()=>{n=!0,p(e)},320)),addEventListeners(document,"mousemove touchmove",p,{passive:!1}),addEventListeners(document,"mouseup touchend",m,{passive:!1})},closeContextMenu(){Menu.open&&Menu.open.hide()}},template:`
<li
v-bind:class="{ selected: texture.selected, multi_selected: texture.multi_selected, particle: texture.particle, use_as_default: texture.use_as_default}"
v-bind:texid="texture.uuid"
class="texture"
:style="{'--color-scope': getScopeColor(texture)}"
@click.stop="closeContextMenu();texture.select($event)"
@mousedown="highlightTexture($event)"
@mouseup="unhighlightTexture($event)"
@dblclick="texture.propertiesDialog($event)"
@mousedown.stop="dragTexture($event)" @touchstart="dragTexture($event)"
@contextmenu.prevent.stop="texture.showContextMenu($event)"
>
<i v-if="texture.getGroup()?.is_material" class="material-icons icon pbr_channel_icon">{{ pbr_channels[texture.pbr_channel].icon }}</i>
<div class="texture_icon_wrapper">
<img v-bind:texid="texture.id" v-bind:src="texture.source" class="texture_icon" width="48px" alt="" v-if="texture.show_icon" :style="{marginTop: getTextureIconOffset(texture)}" />
<i class="material-icons texture_error" v-bind:title="texture.getErrorMessage()" v-if="texture.error">priority_high</i>
<i class="texture_movie fa fa_big fa-film" title="Animated Texture" v-if="texture.frameCount > 1"></i>
</div>
<div class="texture_description_wrapper">
<div class="texture_name">{{ texture.name }}</div>
<div class="texture_res">{{ getDescription(texture) }}</div>
</div>
<i class="material-icons texture_multi_select_icon" v-if="texture.multi_selected">check</i>
<template v-else>
<i class="material-icons texture_particle_icon" v-if="texture.particle">bubble_chart</i>
<i class="material-icons texture_particle_icon" v-if="texture.use_as_default">star</i>
<i class="material-icons texture_visibility_icon clickable"
v-bind:class="{icon_off: !texture.visible}"
v-if="texture.render_mode == 'layered'"
@click.stop="texture.toggleVisibility()"
@dblclick.stop
>
{{ texture.visible ? 'visibility' : 'visibility_off' }}
</i>
<i class="material-icons texture_save_icon" v-bind:class="{clickable: !texture.saved}" @click.stop="texture.save()">
<template v-if="texture.saved">check_circle</template>
<template v-else>save</template>
</i>
</template>
</li>
`});new Panel("textures",{icon:"fas.fa-images",growable:!0,resizable:!0,condition:{modes:["edit","paint"]},default_position:{slot:"left_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:4},mode_positions:{paint_2d:{slot:"right_bar",float_position:[300,0],float_size:[300,300],height:300,folded:!0,sidebar_index:6}},toolbars:[new Toolbar("texturelist",{children:["import_texture","create_texture","create_texture_group","append_to_template","+","search_textures"]})],onResize(){this.inside_vue._data.currentFrame+=1,this.inside_vue._data.currentFrame-=1},component:{name:"panel-textures",data(){return{textures:Ct.all,texture_groups:TextureGroup.all,currentFrame:0,search_enabled:!1,search_term:""}},components:{Texture:i},methods:{openMenu(e){Interface.Panels.textures.menu.show(e)},addTextureToGroup(e){BarItems.import_texture.click(0,e)},slideTimelinePointer(e){let t=this;if(!this.$refs.timeline)return;let n=$(this.$refs.timeline).offset().left+8,a=this.$refs.timeline.clientWidth-8,o=this.maxFrameCount();function r(l){let c=l.clientX-n,d=t.currentFrame;if(t.currentFrame=Math.clamp(Math.round(c/a*o),0,o-1),d==t.currentFrame)return;let u=Ct.all.filter(p=>p.frameCount>1);Ct.all.forEach(p=>{p.currentFrame=t.currentFrame%p.frameCount||0}),UVEditor.previous_animation_frame=d,TextureAnimator.update(u)}function s(l){removeEventListeners(document,"pointermove",r),removeEventListeners(document,"pointerup",s)}addEventListeners(document,"pointermove",r),addEventListeners(document,"pointerup",s),r(e)},scrollTimeline(e){let t=[Ct.getDefault(),...Ct.all].find(o=>o&&o.frameCount>1);if(!t)return;UVEditor.previous_animation_frame=t.currentFrame;let n=Math.sign(e.deltaY);t.currentFrame=(t.currentFrame+t.frameCount+n)%t.frameCount;let a=Ct.all.filter(o=>o.frameCount>1);a.forEach(o=>{o.currentFrame=t.currentFrame%o.frameCount||0}),TextureAnimator.update(a)},getPlayheadPos(){if(!this.$refs.timeline)return 0;let e=this.$refs.timeline.clientWidth-8;return Math.clamp(this.currentFrame/this.maxFrameCount()*e,0,e)},maxFrameCount(){let e=0;return this.textures.forEach(t=>{t.frameCount>e&&(e=t.frameCount)}),e==1?0:e},unselect(e){he.hasFlag("dragging_textures")||l5()},search(e){let t=this.search_enabled&&this.search_term.toLowerCase();return t?e.filter(n=>n.name.toLowerCase().includes(t)||n.folder.toLowerCase().includes(t)):e},getUngroupedTextures(){return this.search(this.textures.filter(e=>!(e.group&&TextureGroup.all.find(t=>t.uuid==e.group))))},dragTextureGroup(e,t){if(t.button==1)return;convertTouchEvent(t);let n=!1,a,o,r=t,s,l=0,c=document.getElementById("texture_list"),d=$(c).offset(),u=function(){n&&(mouse_pos.y<d.top?c.scrollTop+=(mouse_pos.y-d.top)/7-3:mouse_pos.y>d.top+c.clientHeight&&(c.scrollTop+=(mouse_pos.y-(d.top+c.clientHeight))/6+3))},p;function m(f){convertTouchEvent(f);let g=[f.clientX-t.clientX,f.clientY-t.clientY];if(!n){let b=Math.sqrt(Math.pow(g[0],2)+Math.pow(g[1],2));he.isTouch?b>20&&o?(clearTimeout(o),o=null):document.getElementById("texture_list").scrollTop+=r.clientY-f.clientY:b>6&&(n=!0)}if(!n)return;f&&f.preventDefault(),open_menu&&open_menu.hide(),a||(a=Interface.createElement("div",{class:"texture_group_drag_helper"},e.name),document.body.append(a),p=setInterval(u,1e3/60)),a.style.left=`${f.clientX}px`,a.style.top=`${f.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".texture_group[order]").attr("order",null);let v=findNodeUnderCursor("#texture_list .texture_group",f);if(v)v.classList.add("drag_hover"),l=f.clientY-$(v).offset().top>v.clientHeight/2?1:-1,v.setAttribute("order",l.toString()),s=v;else if(isNodeUnderCursor(document.querySelector("#texture_list"),f)){let b=document.querySelectorAll("#texture_list > li.texture_group");if(b.length){let x=b[b.length-1];l=1,x.setAttribute("order","1"),x.classList.add("drag_hover"),s=x}}r=f}async function _(f){if(a&&a.remove(),clearInterval(p),removeEventListeners(document,"mousemove touchmove",m),removeEventListeners(document,"mouseup touchend",_),f.stopPropagation(),$(".drag_hover").removeClass("drag_hover"),$(".texture_group[order]").attr("order",null),he.isTouch&&clearTimeout(o),!(!n||Menu.open)&&s){let g=TextureGroup.all.length-1,v=TextureGroup.all.find(b=>b.uuid==s.id);if(v){g=TextureGroup.all.indexOf(v);let b=TextureGroup.all.indexOf(e);if(b==g)return;b<g&&g--,l==1&&g++}Undo.initEdit({texture_groups:[e]}),TextureGroup.all.remove(e),TextureGroup.all.splice(g,0,e),Undo.finishEdit("Rearrange texture groups")}}he.isTouch&&(o=setTimeout(()=>{n=!0,m(t)},320)),addEventListeners(document,"mousemove touchmove",m,{passive:!1}),addEventListeners(document,"mouseup touchend",_,{passive:!1})},updateSearch(e){this.search_enabled&&!this.search_term&&!document.querySelector("#texture_search_bar > input:focus")&&(this.search_enabled=!1,BarItems.search_textures.set(!1))}},template:`
<div>
<search-bar id="texture_search_bar" class="panel_search_bar"
v-if="search_enabled" v-model="search_term"
@input="updateSearch()" onfocusout="Panels.textures.vue.updateSearch()"
/>
<ul id="texture_list" class="list mobile_scrollbar" @contextmenu.stop.prevent="openMenu($event)" @click.stop="unselect($event)">
<li
v-for="texture_group in texture_groups" :key="texture_group.uuid" :id="texture_group.uuid"
class="texture_group"
>
<div class="texture_group_head" :class="{folded: texture_group.folded}"
@dblclick.stop="texture_group.select()"
@click.stop="texture_group.folded = !texture_group.folded"
@contextmenu.prevent.stop="texture_group.showContextMenu($event)"
@mousedown.stop="dragTextureGroup(texture_group, $event)" @touchstart.stop="dragTextureGroup(texture_group, $event)"
>
<i
@click.stop="texture_group.folded = !texture_group.folded"
class="icon-open-state fa"
:class='{"fa-angle-right": texture_group.folded, "fa-angle-down": !texture_group.folded}'
></i>
<div class="texture_group_material_icon" v-if="texture_group.is_material"></div>
<label :title="texture_group.name">{{ texture_group.name }}</label>
<ul class="texture_group_mini_icon_list" v-if="texture_group.folded">
<li
v-for="texture in texture_group.getTextures()"
:key="texture.uuid"
class="texture_mini_icon"
:title="texture.name"
>
<img :src="texture.source" class="texture_icon" width="24px" height="24px" alt="" v-if="texture.show_icon" />
</li>
</ul>
<div class="in_list_button" @click.stop="addTextureToGroup(texture_group)" v-if="!texture_group.folded">
<i class="material-icons">add</i>
</div>
</div>
<ul class="texture_group_list" v-if="!texture_group.folded">
<li v-if="texture_group.is_material" class="texture_group_material_config"
@dblclick="texture_group.material_config.propertiesDialog()"
@contextmenu.prevent.stop="texture_group.material_config.showContextMenu($event)"
>
<i class="material-icons icon">tune</i>
<label>{{ texture_group.material_config.getFileName() }}</label>
<i class="material-icons texture_save_icon" v-bind:class="{clickable: !texture_group.material_config.saved}" @click.stop="texture_group.material_config.save()">
<template v-if="texture_group.material_config.saved">check_circle</template>
<template v-else>save</template>
</i>
</li>
<Texture
v-for="texture in search(texture_group.getTextures())"
:key="texture.uuid"
:texture="texture"
></Texture>
</ul>
</li>
<Texture
v-for="texture in getUngroupedTextures()"
:key="texture.uuid"
:texture="texture"
></Texture>
</ul>
<div id="texture_animation_playback" class="bar" v-show="maxFrameCount()">
<div ref="tool_wrapper"></div>
<div id="texture_animation_timeline" ref="timeline" @pointerdown="slideTimelinePointer" @wheel="scrollTimeline($event)">
<div class="texture_animation_frame" v-for="i in maxFrameCount()"></div>
<div id="animated_texture_playhead" v-if="maxFrameCount()" :style="{left: getPlayheadPos() + 'px'}"></div>
</div>
<div ref="tool_wrapper_2"></div>
</div>
</div>
`,mounted(){BarItems.animated_textures.toElement(this.$refs.tool_wrapper),BarItems.animated_texture_frame.setWidth(52).toElement(this.$refs.tool_wrapper),BarItems.animated_texture_fps.toElement(this.$refs.tool_wrapper_2)}},menu:new Menu([new MenuSeparator("copypaste"),"paste",new MenuSeparator("file"),"import_texture","create_texture","change_textures_folder","save_textures"])})});Object.assign(window,{Texture:Ct,saveTextures:s5,unselectTextures:l5,getTexturesById:vae});var ga=class i{constructor(e,t=Texture.selected,n){this.uuid=n&&isUUID(n)?n:guid(),this.texture=t,this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),this.in_limbo=!1,this.img=new Image,this.img.onload=()=>{this.canvas.width=this.img.naturalWidth,this.canvas.height=this.img.naturalHeight,this.ctx.drawImage(this.img,0,0)};for(var a in i.properties)i.properties[a].reset(this);e&&this.extend(e)}get width(){return this.canvas.width}get height(){return this.canvas.height}get scaled_width(){return this.canvas.width*this.scale[0]}get scaled_height(){return this.canvas.height*this.scale[1]}get size(){return[this.canvas.width,this.canvas.height]}get selected(){return this.texture.selected_layer==this}extend(e){for(var t in i.properties)i.properties[t].merge(this,e);if(e.image_data){let n=e.image_data;this.canvas.width=e.width||16,this.canvas.height=e.height||16,n instanceof ImageData||(n=this.ctx.createImageData(this.canvas.width,this.canvas.height),n.data.set(e.image_data.data,0)),this.ctx.putImageData(n,0,0)}else e.data_url&&(this.canvas.width=e.width||16,this.canvas.height=e.height||16,this.img.src=e.data_url)}select(){this.texture.selected_layer=this,UVEditor.vue.layer=this,BarItems.layer_opacity.update(),BarItems.layer_blend_mode.set(this.blend_mode),this.in_limbo&&Toolbox.selected.id!="selection_tool"&&BarItems.selection_tool.select()}clickSelect(e){Undo.initSelection(),this.select(e),Undo.finishSelection()}showContextMenu(e){this.selected||this.clickSelect(e),this.menu.open(e,this)}remove(e){e&&Undo.initEdit({textures:[this.texture],bitmap:!0});let t=this.texture.layers.indexOf(this);if(this.texture.layers.splice(t,1),this.texture.selected_layer==this){let n=this.texture.layers[t-1]||this.texture.layers[t];n&&n.select()}e&&(this.texture.updateChangesAfterEdit(),Undo.finishEdit("Remove layer"))}getUndoCopy(e){let t={};t.texture=this.texture.uuid,t.uuid=this.uuid;for(var n in i.properties)i.properties[n].copy(this,t);return t.width=this.width,t.height=this.height,e&&(t.image_data=this.ctx.getImageData(0,0,this.width,this.height)),t}getSaveCopy(){let e={};for(var t in i.properties)i.properties[t].copy(this,e);return delete e.in_limbo,e.width=this.width,e.height=this.height,e.data_url=this.canvas.toDataURL("image/png",1),e}setLimbo(){this.texture.layers.forEach(e=>e.in_limbo=!1),this.in_limbo=!0}resolveLimbo(e){if(e)if(this.scale[0]!=1||this.scale[1]!=1){let t=this.canvas.cloneNode();t.getContext("2d").drawImage(this.canvas,0,0),Undo.initEdit({layers:[this],bitmap:!0}),this.canvas.width=Math.round(this.canvas.width*this.scale[0]),this.canvas.height=Math.round(this.canvas.height*this.scale[1]),this.ctx.imageSmoothingEnabled=!1,this.ctx.drawImage(t,0,0,this.canvas.width,this.canvas.height),this.scale.V2_set(1,1),this.texture.updateLayerChanges(!0),i.selected.in_limbo=!1,Undo.finishEdit("Place selection as layer")}else i.selected.in_limbo=!1;else this.texture.flags.has("temporary_layers")&&this.texture.layers.length==2?(Undo.initEdit({textures:[this.texture],bitmap:!0}),i.selected.mergeDown(!1),this.texture.layers_enabled=!1,this.texture.selected_layer=null,this.texture.layers.empty(),Undo.finishEdit("Disable layers on texture"),UVEditor.vue.layer=null,updateInterfacePanels(),BARS.updateConditions()):i.selected.mergeDown(!0);this.texture.flags.delete("temporary_layers"),UVEditor.vue.$forceUpdate(),Texture.selected.selection.clear(),UVEditor.updateSelectionOutline(),Interface.removeSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")}setSize(e,t){return this.canvas.width=e,this.canvas.height=t,this}toggleVisibility(){return Undo.initEdit({layers:[this]}),this.visible=!this.visible,this.texture.updateChangesAfterEdit(),Undo.finishEdit("Toggle layer visibility"),this}scrollTo(){let e=document.querySelector(`#layers_list > li[layer_id="${this.uuid}"]`);return e&&e.scrollIntoView({behavior:"smooth",block:"nearest"}),this}addForEditing(){let e=this.texture.layers.indexOf(this.texture.selected_layer);return e==-1?this.texture.layers.push(this):this.texture.layers.splice(e+1,0,this),this.select(),Vue.nextTick(()=>{this.scrollTo()}),this}mergeDown(e=!0){let t=this.texture.layers[this.texture.layers.indexOf(this)-1];if(!t){this.in_limbo=!1;return}e&&Undo.initEdit({textures:[this.texture],bitmap:!0}),t.expandTo(this.offset,this.offset.slice().V2_add(this.width,this.height)),t.ctx.imageSmoothingEnabled=!1,t.ctx.filter=`opacity(${this.opacity/100})`,t.ctx.globalCompositeOperation=Painter.getBlendModeCompositeOperation(this.blend_mode),t.ctx.drawImage(this.canvas,this.offset[0]-t.offset[0],this.offset[1]-t.offset[1],this.scaled_width,this.scaled_height),t.ctx.filter="",t.ctx.globalCompositeOperation="source-over";let n=this.texture.layers.indexOf(this);if(this.texture.layers.splice(n,1),this.texture.selected_layer==this){let a=this.texture.layers[n-1]||this.texture.layers[n];a&&a.select()}e&&(this.texture.updateChangesAfterEdit(),Undo.finishEdit("Merge layers"))}expandTo(...e){let t=this.offset.slice(),n=this.offset.slice().V2_add(this.width,this.height);if(e.forEach(a=>{a=[Math.clamp(Math.round(a[0]),0,this.texture.width),Math.clamp(Math.round(a[1]),0,this.texture.height)],t[0]=Math.min(t[0],a[0]),t[1]=Math.min(t[1],a[1]),n[0]=Math.max(n[0],a[0]),n[1]=Math.max(n[1],a[1])}),t[0]<this.offset[0]||t[1]<this.offset[1]||n[0]>this.offset[0]+this.width||n[1]>this.offset[1]+this.height){let a=Painter.copyCanvas(this.canvas);this.canvas.width=n[0]-t[0],this.canvas.height=n[1]-t[1],this.ctx.drawImage(a,this.offset[0]-t[0],this.offset[1]-t[1]),this.offset.replace(t)}}flip(e=0,t){let n=this.canvas.cloneNode();n.getContext("2d").drawImage(this.canvas,0,0),t&&Undo.initEdit({layers:[this],bitmap:!0}),this.ctx.save(),this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),e==0?(this.ctx.translate(this.canvas.width,0),this.ctx.scale(-1,1),this.ctx.drawImage(n,this.canvas.width,0,-this.canvas.width,this.canvas.height)):(this.ctx.translate(0,this.canvas.height),this.ctx.scale(1,-1),this.ctx.drawImage(n,0,this.canvas.height,this.canvas.width,-this.canvas.height)),this.ctx.restore(),t?(Undo.finishEdit("Flip layer"),this.texture.updateChangesAfterEdit()):(this.texture.updateLayerChanges(),this.texture.saved=!1)}rotate(e=90,t){let n=this.canvas.cloneNode();n.getContext("2d").drawImage(this.canvas,0,0),t&&Undo.initEdit({layers:[this],bitmap:!0}),[this.canvas.width,this.canvas.height]=[this.canvas.height,this.canvas.width],this.ctx.save(),this.ctx.translate(this.canvas.width/2,this.canvas.height/2),this.ctx.rotate(Math.degToRad(e)),this.ctx.drawImage(n,-n.width/2,-n.height/2),this.ctx.restore(),t?(Undo.finishEdit("Rotate layer"),this.texture.updateChangesAfterEdit()):(this.texture.updateLayerChanges(),this.texture.saved=!1),UVEditor.vue.$forceUpdate()}center(){this.offset[0]=Math.round(Math.max(0,this.texture.width-this.width)/2),this.offset[1]=Math.round(Math.max(0,this.texture.height-this.height)/2),this.texture.updateLayerChanges()}propertiesDialog(){let e={};i.properties.blend_mode.enum_values.forEach(n=>{e[n]=`action.blend_mode.${n}`});let t=new Dialog({id:"layer_properties",title:`${this.name} (${this.width}x${this.height})`,form:{name:{label:"generic.name",value:this.name},opacity:{label:"Opacity",type:"range",value:this.opacity},blend_mode:{label:"action.blend_mode",type:"select",value:this.blend_mode,options:e}},onConfirm:n=>{t.hide().delete(),(n.name!=this.name||n.opacity!=this.opacity||n.blend_mode!=this.blend_mode)&&(Undo.initEdit({layers:[this]}),this.extend(n),this.texture.updateChangesAfterEdit(),Blockbench.dispatchEvent("edit_layer_properties",{layer:this}),Undo.finishEdit("Edit layer properties"))},onCancel(){t.hide().delete()}});t.show()}};ga.prototype.menu=new Menu([new MenuSeparator("settings"),"layer_blend_mode",new MenuSeparator("edit"),{id:"transform",name:"menu.transform",icon:"transform",children:["flip_texture_x","flip_texture_y","rotate_texture_cw","rotate_texture_ccw"]},"crop_layer_to_selection","layer_to_texture_size","merge_layer_down",new MenuSeparator("copypaste"),"copy","duplicate","delete",new MenuSeparator("properties"),{icon:"list",name:"menu.texture.properties",click(i){i.propertiesDialog()}}]);new Property(ga,"string","name",{default:"layer"});new Property(ga,"vector2","offset");new Property(ga,"vector2","scale",{default:[1,1]});new Property(ga,"number","opacity",{default:100});new Property(ga,"boolean","visible",{default:!0});new Property(ga,"enum","blend_mode",{default:"default",values:["default","set_opacity","color","multiply","add","darken","lighten","screen","overlay","difference","alpha_mask"]});new Property(ga,"boolean","in_limbo",{default:!1});Object.defineProperty(ga,"all",{get(){return Texture.selected?.layers_enabled?Texture.selected.layers:[]}});Object.defineProperty(ga,"selected",{get(){return Texture.selected?.selected_layer}});SharedActions.add("delete",{subject:"layer",condition:()=>Prop.active_panel=="layers"&&Texture.selected?.selected_layer,run(){Texture.selected.layers.length>=2&&Texture.selected?.selected_layer.remove(!0)}});SharedActions.add("delete",{subject:"layer_priority",condition:()=>Texture.selected?.selected_layer?.in_limbo,priority:2,run(){Texture.selected.layers.length>=2&&Texture.selected?.selected_layer.remove(!0),Texture.selected.selection.clear(),UVEditor.updateSelectionOutline()}});SharedActions.add("duplicate",{subject:"layer",condition:()=>Prop.active_panel=="layers"&&Texture.selected?.selected_layer,run(){let i=Texture.selected,t=i.getActiveLayer().getUndoCopy(!0);t.name+="-copy",Undo.initEdit({textures:[i],bitmap:!0}),new ga(t,i).addForEditing(),i.updateLayerChanges(!0),Undo.finishEdit("Duplicate layer")}});SharedActions.add("copy",{subject:"layer",condition:()=>Prop.active_panel=="layers"&&ga.selected,run(){let e=ga.selected.getUndoCopy(!0);Clipbench.layer=e}});SharedActions.add("paste",{subject:"layer",condition:()=>Prop.active_panel=="layers"&&Texture.selected&&Clipbench.layer,run(){let i=Texture.selected;Undo.initEdit({textures:[i],bitmap:!0}),i.layers_enabled||i.activateLayers(!1),new ga(Clipbench.layer,i).addForEditing(),i.updateLayerChanges(!0),Undo.finishEdit("Paste layer")}});BARS.defineActions(()=>{new Action("create_empty_layer",{icon:"new_window",category:"layers",condition:()=>Modes.paint&&Texture.all[0],click(){Texture.selected||Texture.all[0].select();let e=Texture.selected;Undo.initEdit({textures:[e],bitmap:!0}),e.layers_enabled||e.activateLayers(!1);let t=new ga({name:`layer #${e.layers.length+1}`},e);t.setSize(e.width,e.height),t.addForEditing(),Undo.finishEdit("Create empty layer"),BARS.updateConditions()}}),new Action("import_layer",{icon:"add_photo_alternate",category:"layers",condition:()=>Modes.paint&&Texture.all[0],click(){Texture.selected||Texture.all[0].select();let e=Texture.selected;e.layers_enabled||e.activateLayers(!0);let t,n=[];for(let a in Texture.file_formats)Texture.file_formats[a].decode||n.safePush(...Texture.file_formats[a].extensions);Blockbench.import({resource_id:"texture",readtype:"image",type:"Image File",extensions:n,multiple:!0,startpath:t},async a=>{let o=Texture.selected;Undo.initEdit({textures:[o],bitmap:!0});for(let r of a){let s=new Image;await new Promise((u,p)=>{s.src=r.content,s.onload=u,s.onerror=p});let l=new CanvasFrame(s),c=new ga({name:r.name,offset:[0,0]},o),d=l.ctx.getImageData(0,0,l.width,l.height);c.setSize(l.width,l.height),c.ctx.putImageData(d,0,0),o.layers.push(c),c.center(),r==a.last()&&(c.select(),c.setLimbo())}o.updateLayerChanges(!0),Undo.finishEdit("Add image as layer"),updateInterfacePanels(),BARS.updateConditions(),BarItems.move_layer_tool.select()})}}),new Action("enable_texture_layers",{icon:"library_add_check",category:"layers",condition:()=>Texture.getDefault()?.layers_enabled==!1,click(){Modes.paint||Modes.options.paint.select(),Texture.getDefault().activateLayers(!0)}}),new Action("disable_texture_layers",{icon:"layers_clear",category:"layers",condition:()=>Texture.selected&&Texture.selected.layers_enabled,click(){let e=Texture.selected;Undo.initEdit({textures:[e],bitmap:!0}),e.layers_enabled=!1,e.selected_layer=null,e.layers.empty(),Undo.finishEdit("Disable layers on texture"),UVEditor.vue.layer=null,updateInterfacePanels(),BARS.updateConditions()}}),new NumSlider("layer_opacity",{category:"layers",condition:()=>Modes.paint&&Texture.selected&&Texture.selected.layers_enabled&&Texture.selected.getActiveLayer(),settings:{min:0,max:100,default:100,show_bar:!0},getInterval(e){return 1},get(){return Texture.selected.getActiveLayer().opacity},change(e){let t=Texture.selected.getActiveLayer();t.opacity=Math.clamp(e(t.opacity),0,100),Texture.selected.updateLayerChanges()},onBefore(){Undo.initEdit({layers:[Texture.selected.getActiveLayer()]})},onAfter(){Undo.finishEdit("Change layer opacity"),Texture.selected.updateChangesAfterEdit()}});let i={};ga.properties.blend_mode.enum_values.forEach(e=>{i[e]=`action.blend_mode.${e}`}),new BarSelect("layer_blend_mode",{name:"action.blend_mode",category:"animation",condition:()=>Modes.paint&&ga.selected,options:i,onChange(e){let t=e.value,n=ga.selected;Undo.initEdit({layers:[n]}),n.blend_mode=t,n.texture.updateChangesAfterEdit(),Undo.finishEdit("Change layer blend mode")}}),new Action("layer_to_texture_size",{icon:"fit_screen",category:"layers",condition:()=>ga.selected,click(){let e=ga.selected;Undo.initEdit({layers:[e],bitmap:!0});let t=Painter.copyCanvas(e.canvas);e.canvas.width=e.texture.width,e.canvas.height=e.texture.height,e.ctx.drawImage(t,e.offset[0],e.offset[1]),e.offset.V2_set(0,0),Undo.finishEdit("Expand layer to texture size"),e.texture.updateLayerChanges(!0)}}),new Action("merge_layer_down",{icon:"fa-caret-square-down",category:"layers",condition:()=>ga.selected,click(){ga.selected.mergeDown(!0)}}),new Action("crop_layer_to_selection",{icon:"crop",category:"layers",condition:()=>ga.selected,click(){let e=ga.selected,t=e.texture.selection.getBoundingRect();if(!t.width||!t.height)return;Undo.initEdit({layers:[e],bitmap:!0});let n=Painter.copyCanvas(e.canvas);e.canvas.width=t.width,e.canvas.height=t.height,e.ctx.drawImage(n,e.offset[0]-t.start_x,e.offset[1]-t.start_y),e.offset.V2_set(t.start_x,t.start_y),e.texture.updateChangesAfterEdit(),Undo.finishEdit("Crop layer to selection")}})});Interface.definePanels(function(){Vue.component("texture-layer-icon",{props:{layer:ga},template:'<div class="layer_icon_wrapper"></div>',mounted(){this.$el.append(this.layer.canvas)}});function i(t,n){let a=t,o=0;for(;a&&a.classList&&!a.classList.contains("texture_layer");)if(o<3&&a)a=a.parentNode,o++;else return[];return[n.layers.find(r=>r.uuid==a.attributes.layer_id.value),a]}function e(t,n){if(n)return t<=20?-1:1}new Panel("layers",{icon:"layers",growable:!0,resizable:!0,condition:()=>Modes.paint,default_position:{attached_to:"textures",attached_index:1,slot:"left_bar",float_position:[0,0],float_size:[300,300],height:300,sidebar_index:5},mode_positions:{paint_2d:{slot:"right_bar",sidebar_index:7}},toolbars:[new Toolbar("layers",{children:["create_empty_layer","import_layer","enable_texture_layers","layer_opacity","layer_blend_mode"]})],component:{name:"panel-layers",data(){return{layers:[]}},methods:{openMenu(t){Interface.Panels.layers.menu.show(t)},dragLayer(t){if(getFocusedTextInput()||t.button==1||t.button==2)return;convertTouchEvent(t);let n=Texture.selected;if(!n)return;let[a]=i(t.target,n);if(!a||a.locked)return;let o=!1,r,s,l,c,d,u=t;function p(_){convertTouchEvent(_);let f=[_.clientX-t.clientX,_.clientY-t.clientY];if(o){if(_&&_.preventDefault(),Menu.open&&Menu.open.hide(),!r){r=document.createElement("div"),r.id="animation_drag_helper";let b=document.createElement("i");b.className="material-icons",b.innerText="image",r.append(b);let x=document.createElement("span");x.innerText=a.name,r.append(x),document.body.append(r)}r.style.left=`${_.clientX}px`,r.style.top=`${_.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".texture_layer[order]").attr("order",null);let v=document.elementFromPoint(_.clientX,_.clientY);if([l,c]=i(v,n),l){var g=_.clientY-$(c).offset().top;d=e(g,l),c.setAttribute("order",d),c.classList.add("drag_hover")}}else{let v=Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));Blockbench.isTouch?v>20&&s?(clearTimeout(s),s=null):document.getElementById("layers_list").scrollTop+=u.clientY-_.clientY:v>6&&(o=!0)}u=_}function m(_){if(r&&r.remove(),removeEventListeners(document,"mousemove touchmove",p),removeEventListeners(document,"mouseup touchend",m),$(".drag_hover").removeClass("drag_hover"),$(".texture_layer[order]").attr("order",null),Blockbench.isTouch&&clearTimeout(s),o&&!open_menu){convertTouchEvent(_);let f=document.elementFromPoint(_.clientX,_.clientY),[g]=i(f,n);if(!g||g==a)return;let v=n.layers.indexOf(g);if(v==-1||(n.layers.indexOf(a)<v&&v--,d==-1&&v++,n.layers[v]==a))return;Undo.initEdit({textures:[n]}),n.layers.remove(a),n.layers.splice(v,0,a),n.updateChangesAfterEdit(),Undo.finishEdit("Reorder layers")}}Blockbench.isTouch&&(s=setTimeout(()=>{o=!0,p(t)},320)),addEventListeners(document,"mousemove touchmove",p,{passive:!1}),addEventListeners(document,"mouseup touchend",m,{passive:!1})},activateLayers(){let t=Texture.selected||Texture.getDefault();t&&(t.selected||t.select(),t.layers_enabled||BarItems.enable_texture_layers.trigger())}},template:`
<ul
id="layers_list"
class="list mobile_scrollbar"
@contextmenu.stop.prevent="openMenu($event)"
@mousedown="dragLayer($event)"
@touchstart="dragLayer($event)"
>
<li
v-for="layer in layers"
:class="{ selected: layer.selected, in_limbo: layer.in_limbo }"
:key="layer.uuid"
:layer_id="layer.uuid"
class="texture_layer"
@click.stop="layer.clickSelect()"
@dblclick.stop="layer.propertiesDialog()"
@contextmenu.prevent.stop="layer.showContextMenu($event)"
>
<texture-layer-icon :layer="layer" />
<label>
{{ layer.name }}
</label>
<div class="in_list_button" @click.stop="layer.toggleVisibility()" @dblclick.stop>
<i v-if="layer.visible" class="material-icons icon">visibility</i>
<i v-else class="material-icons icon toggle_disabled">visibility_off</i>
</div>
</li>
<div v-if="layers.length == 0" class="activate_layers_button" @click="activateLayers()">
<span>${tl("action.enable_texture_layers")}</span>
</div>
</ul>
`},menu:new Menu(["create_empty_layer","import_layer"])})});Object.assign(window,{TextureLayer:ga});var ms=class i{constructor(e,t){this.uuid=t??guid(),this.folded=!1,this.material_config=new Jd(this),this._static=Object.freeze({properties:{}});for(let n in i.properties)i.properties[n].reset(this);e&&this.extend(e),Object.assign(this._static.properties,{material:null})}get material(){return this._static.properties.material}extend(e){for(let t in i.properties)i.properties[t].merge(this,e);return e.material_config&&this.material_config.extend(e.material_config),this}add(){return i.all.push(this),this.is_material&&this.updateMaterial(),this}select(){let e=this.getTextures();e[0]&&e[0].select();for(let t of e)t.selected||(t.multi_selected=!0);return this}remove(){i.all.remove(this)}showContextMenu(e){Prop.active_panel="textures",i.active_menu_group=this,this.menu.open(e,this)}rename(){return Blockbench.textPrompt("generic.rename",this.name,e=>{e&&e!==this.name&&(Undo.initEdit({texture_groups:[this]}),this.name=e,Undo.finishEdit("Rename texture group"))}),this}getTextures(){return Texture.all.filter(e=>e.group==this.uuid)}getUndoCopy(){let e={uuid:this.uuid,index:i.all.indexOf(this),material_config:this.material_config.getUndoCopy()};for(let t in i.properties)i.properties[t].copy(this,e);return e}getSaveCopy(){let e={uuid:this.uuid,material_config:this.material_config.getSaveCopy()};for(let t in i.properties)i.properties[t].copy(this,e);return e}updateMaterial(){let e=this._static.properties.material;if(e||(e=this._static.properties.material=new THREE.MeshStandardMaterial({envMapIntensity:.8,alphaTest:.05})),PreviewScene.active){let s=new THREE.PMREMGenerator(Preview.selected.renderer);e.envMap=s.fromScene(Canvas.scene,0,100,1024).texture}let t=this.getTextures(),n=t.find(s=>s.pbr_channel=="color"),a=t.find(s=>s.pbr_channel=="normal"),o=t.find(s=>s.pbr_channel=="height"),r=t.find(s=>s.pbr_channel=="mer");if(n)e.map=n.getOwnMaterial().map,e.color.set("#ffffff"),e.opacity=1;else{e.map=null;let s=this.material_config.color_value;e.color.set({r:s[0]/255,g:s[1]/255,b:s[2]/255}),e.opacity=s[4]/255}if(e.side=Canvas.getRenderSide(n),a)e.normalMap=a.getOwnMaterial().map,e.bumpMap=null,e.normalScale=Project.format.id.includes("bedrock")?new THREE.Vector2(1,-1):new THREE.Vector2(1,1);else if(o){e.bumpMap=o.getOwnMaterial().map.clone(),e.bumpScale=.4,e.normalMap=null;let s=document.createElement("canvas"),l=s.getContext("2d");s.width=o.width*8,s.height=o.height*8,l.imageSmoothingEnabled=!1,l.drawImage(o.canvas,0,0,s.width,s.height),e.bumpMap.image=s,e.bumpMap.magFilter=THREE.LinearFilter,e.bumpMap.needsUpdate=!0}else e.normalMap=null,e.bumpMap=null;if(r&&r.img?.naturalWidth&&r.width){let d=function(u,p){let m=e[p]?.image;(!m||p=="emissiveMap")&&(m=document.createElement("canvas"));let _=m.getContext("2d");m.width=r.width,m.height=r.height,_.fillStyle="black",_.fillRect(0,0,r.width,r.height),_.putImageData(u===1?l():c(u),0,0),e[p]=new THREE.Texture(m,THREE.UVMapping,THREE.RepeatWrapping,THREE.RepeatWrapping,THREE.NearestFilter,THREE.NearestFilter),e[p].needsUpdate=!0},s=r.canvas.getContext("2d").getImageData(0,0,r.width,r.height),l=()=>{let u=n.canvas.getContext("2d").getImageData(0,0,r.width,r.height),p=new Uint8ClampedArray(u.data.length);for(let m=0;m<s.data.length;m+=4){let _=s.data[m+1];s.data[m+1]>0?(p[m]=Math.round(u.data[m]*(_/255)),p[m+1]=Math.round(u.data[m+1]*(_/255)),p[m+2]=Math.round(u.data[m+2]*(_/255)),p[m+3]=255):(p[m]=0,p[m+1]=0,p[m+2]=0,p[m+3]=255)}return new ImageData(p,r.width,r.height)},c=u=>{let p=new Uint8ClampedArray(s.data.length);for(let m=0;m<s.data.length;m+=4)p[m+0]=s.data[m+u],p[m+1]=s.data[m+u],p[m+2]=s.data[m+u],p[m+3]=255;return new ImageData(p,r.width,r.height)};d(0,"metalnessMap"),d(1,"emissiveMap"),d(2,"roughnessMap"),e.emissive.set(16777215),e.emissiveIntensity=1,e.metalness=1,e.roughness=1}else e.metalnessMap=null,e.emissiveMap=e.map,e.roughnessMap=null,e.emissive.set(16777215),e.metalness=this.material_config.mer_value[0]/255,e.emissiveIntensity=this.material_config.mer_value[1]/255,e.roughness=this.material_config.mer_value[2]/255;e.needsUpdate=!0}getMaterial(){return this._static.properties.material||this.updateMaterial(),this._static.properties.material}};Object.defineProperty(ms,"all",{get(){return Project.texture_groups||[]},set(i){Project.texture_groups.replace(i)}});new Property(ms,"string","name",{default:tl("data.texture_group")});new Property(ms,"boolean","is_material",{default:!1});ms.prototype.menu=new Menu("texture_group",[new MenuSeparator("create"),"generate_pbr_map",new MenuSeparator("manage"),"rename",{icon:"fa-leaf",name:"menu.texture_group.resolve",click(i){let e=i.getTextures();Undo.initEdit({textures:e,texture_groups:[i]}),i.remove(),e.forEach(t=>{t.group=""}),Undo.finishEdit("Resolve texture group",{textures:e,texture_groups:[]})}}],{onClose(){setTimeout(()=>{ms.active_menu_group=null},10)}});Blockbench.on("edit_texture",({texture:i})=>{(i.pbr_channel=="mer"||i.pbr_channel=="height")&&i.getGroup()?.is_material&&BarItems.view_mode.value=="material"&&i.getGroup().updateMaterial()});var Jd=class i{constructor(e,t){this.texture_group=e,this.saved=!0;for(let n in i.properties)i.properties[n].reset(this);t&&this.extend(t)}extend(e){for(let t in i.properties)i.properties[t].merge(this,e);return this}getUndoCopy(){let e={};for(let t in i.properties)i.properties[t].copy(this,e);return e}getSaveCopy(){let e={};for(let t in i.properties)i.properties[t].copy(this,e);return e}compileForBedrock(){let e={},t=this.texture_group.getTextures(),n=t.find(d=>d.pbr_channel=="color"),a=t.find(d=>d.pbr_channel=="normal"),o=t.find(d=>d.pbr_channel=="height"),r=t.find(d=>d.pbr_channel=="mer"),s=d=>d.name.replace(/\.\w{2,4}$/,"");if(n?e.color=s(n):e.color=this.color_value.slice(),r){let d=s(r);this.subsurface_value?e.metalness_emissive_roughness_subsurface=d:e.metalness_emissive_roughness=d}else this.subsurface_value?e.metalness_emissive_roughness_subsurface=[...this.mer_value,this.subsurface_value]:this.mer_value.allEqual(0)||(e.metalness_emissive_roughness=this.mer_value.slice());a?e.normal=s(a):o&&(e.heightmap=s(o));let l="1.16.100";return e.metalness_emissive_roughness_subsurface&&(l="1.21.30"),{format_version:l,"minecraft:texture_set":e}}getFilePath(){let e=this.texture_group.getTextures().find(n=>n.pbr_channel=="color");return e?e.path.replace(/\.\w{2,4}$/,"")+".texture_set.json":""}getFileName(e=!0){return pathToName(this.getFilePath(),e)}save(){let e=autoStringify(this.compileForBedrock()),t=this.getFilePath();t&&Blockbench.export({content:e,name:pathToName(t),type:"text"})}showContextMenu(e){Prop.active_panel="textures",this.menu.open(e,this)}propertiesDialog(){let e={},t={none:"None"},n={uniform:"Uniform..."},a=this.texture_group.getTextures();for(let o of a){let r={name:o.name,icon:o.img};t[o.uuid]=e[o.uuid]=n[o.uuid]=r}new Dialog("material_config",{title:"dialog.material_config.title",form:{color:{type:"select",label:"menu.texture.pbr_channel.color",options:n,value:a.find(o=>o.pbr_channel=="color")?.uuid??"uniform"},color_value:{label:"dialog.material_config.color_value",condition:o=>o.color=="uniform",type:"color",value:{r:this.color_value[0],g:this.color_value[1],b:this.color_value[2],a:this.color_value[3]/255}},_mers:"_",mer:{type:"select",label:"dialog.material_config.mer",options:n,value:a.find(o=>o.pbr_channel=="mer")?.uuid??"uniform"},mer_value:{label:"dialog.material_config.mer_value",condition:o=>o.mer=="uniform",type:"vector",dimensions:3,min:0,max:255,step:1,force_step:!0,value:this.mer_value.map(o=>Math.clamp(o,0,255))},subsurface:{type:"checkbox",label:"dialog.material_config.subsurface",description:"dialog.material_config.subsurface_enabled.desc",condition:o=>isUUID(o.mer),value:this.subsurface_value>0},subsurface_value:{label:"dialog.material_config.subsurface",condition:o=>o.mer=="uniform",type:"number",min:0,max:255,step:1,force_step:!0,value:Math.clamp(this.subsurface_value,0,255)},_depth:"_",depth_type:{type:"inline_select",label:"dialog.material_config.depth_type",options:{height:"menu.texture.pbr_channel.height",normal:"menu.texture.pbr_channel.normal"},value:a.find(o=>o.pbr_channel=="normal")?"normal":"height"},height:{type:"select",label:"menu.texture.pbr_channel.height",condition:o=>o.depth_type=="height",options:t,value:a.find(o=>o.pbr_channel=="height")?.uuid??"none"},normal:{type:"select",label:"menu.texture.pbr_channel.normal",condition:o=>o.depth_type=="normal",options:t,value:a.find(o=>o.pbr_channel=="normal")?.uuid??"none"}},onConfirm:o=>{if(Undo.initEdit({texture_groups:[this.texture_group],textures:a}),o.color=="uniform"){let r=o.color_value.toRgb(),s=[r.r,r.g,r.b,Math.round(r.a*255)];this.color_value.replace(s);for(let l of a)l.pbr_channel=="color"&&(l.group="")}else{let r=a.find(s=>s.uuid==o.color);r&&(r.pbr_channel="color")}if(o.mer=="uniform"){this.mer_value.replace(o.mer_value);for(let r of a)r.pbr_channel=="mer"&&(r.group="");this.subsurface_value=o.subsurface_value}else{this.mer_value.replace([0,0,0]);let r=a.find(s=>s.uuid==o.mer);r&&(r.pbr_channel="mer"),this.subsurface_value=o.subsurface?1:0}if(o.depth_type=="normal"){a.forEach(s=>{s.pbr_channel=="normal"&&(s.pbr_channel="color")});let r=a.find(s=>s.uuid==o.normal);r&&(r.pbr_channel="normal")}else{a.forEach(s=>{s.pbr_channel=="height"&&(s.pbr_channel="color")});let r=a.find(s=>s.uuid==o.height);r&&(r.pbr_channel="height")}this.saved=!1,Undo.finishEdit("Change material config properties"),this.texture_group.updateMaterial()}}).show()}};new Property(Jd,"vector4","color_value",{default:[255,255,255,255]});new Property(Jd,"vector","mer_value");new Property(Jd,"number","subsurface_value");new Property(Jd,"boolean","saved",{default:!0});Jd.prototype.menu=new Menu("texture_group_material_config",["generate_pbr_map",new MenuSeparator("file"),{icon:"folder",name:"menu.texture.folder",condition:!1,click(i){let e=i.getFilePath()}},{icon:"save",name:"menu.texture.save",condition:function(i){return!i.saved},click(i){i.save()}},new MenuSeparator("properties"),{icon:"list",name:"menu.texture.properties",click(i){i.propertiesDialog()}}],{onClose(){setTimeout(()=>{ms.active_menu_group=null},10)}});function c5(i,e=!0){if(i.name.endsWith("texture_set.json")==!1)return;let t=[],n=[];e&&Undo.initEdit({textures:t,texture_groups:n});let a=new ms({is_material:!0});a.name=i.name.replace(".texture_set.json",".png material");let o=null.readFileSync(i.path,{encoding:"utf-8"}),r=autoParseJSON(o,{file_path:i.path});if(r&&r["minecraft:texture_set"]){let s={color:"color",normal:"normal",heightmap:"height",metalness_emissive_roughness:"mer",metalness_emissive_roughness_subsurface:"mer"};for(let l in s){let c=r["minecraft:texture_set"][l];if(typeof c=="string"&&!c.startsWith("#")){let d=[PathModule.resolve(i.path,"../"+c+".png"),PathModule.resolve(i.path,"../"+c+".tga")];Blockbench.read(d,{readtype:"image"},u=>{for(let p of u){if(!null.existsSync(p.path))continue;let m=new Texture({name:p.name,pbr_channel:s[l]}).fromFile(p).add(!1,!0).fillParticle();t.push(m),m.group=a.uuid;break}}),l=="metalness_emissive_roughness_subsurface"&&(a.material_config.subsurface_value=1)}else{let d=c;if(typeof c=="string"){let u=tinycolor(c);d=[u._r,u._g,u._b,u._a*255]}if(d instanceof Array)if(l=="color")for(a.material_config.color_value.replace(d);a.material_config.color_value.length<4;)a.material_config.color_value.push(255);else l=="metalness_emissive_roughness"?a.material_config.mer_value.V3_set(d):l=="metalness_emissive_roughness_subsurface"&&(a.material_config.mer_value.V3_set(d),a.material_config.subsurface_value=Math.clamp(d[3]??0,0,255))}}}n.push(a),a.add(!1),e&&Undo.finishEdit("Import texture set")}function yae(i){let e=i.path.replace(/\.png$/i,".texture_set.json");null.existsSync(e)&&Blockbench.read([e],{},t=>{c5(t[0],!1)})}SharedActions.add("rename",{condition:()=>Prop.active_panel=="textures"&&ms.active_menu_group,run(){ms.active_menu_group.rename()}});BARS.defineActions(function(){new Action("create_texture_group",{icon:"perm_media",category:"textures",click(){let i=new ms;i.name="Texture Group "+(ms.all.length+1);let e=Texture.all.filter(t=>t.selected||t.multi_selected);if(Undo.initEdit({texture_groups:[],textures:e}),e.length){for(let n of e)n.group=i.uuid;let t=Texture.selected||e[0];i.name=t.name.replace(/\.\w+$/,"")+" Group"}i.add(!1),Undo.finishEdit("Add texture group",{texture_groups:[i],textures:e})}}),new Action("create_material",{icon:"lightbulb_circle",category:"textures",condition:()=>(!Texture.selected||!Texture.selected.getGroup()?.is_material)&&Format.pbr,click(){let i=Texture.selected,e=new ms({is_material:!0});e.material_config.saved=!1,e.name=(i?.name||"New")+" material";let t=Texture.all.filter(n=>n.selected||n.multi_selected);Undo.initEdit({texture_groups:[],textures:t});for(let n of t)n.group=e.uuid,n!=Texture.selected&&(n.name.match(/height/i)?n.pbr_channel="height":n.name.match(/[._-]normal/i)?n.pbr_channel="normal":n.name.match(/[._-]mer[._-]/i)&&(n.pbr_channel="mer"));e.add(!1),Undo.finishEdit("Add material",{texture_groups:[e],textures:t})}}),new Action("generate_pbr_map",{icon:"texture_add",category:"textures",condition:()=>Texture.all[0]&&Format.pbr,click(){let i=Texture.selected??Texture.all[0],e=i.getGroup(),t=document.createElement("canvas"),n=t.getContext("2d");t.width=i.width,t.height=i.height;let a=i.canvas.getContext("2d").getImageData(0,0,t.width,t.height),o=n.getImageData(0,0,t.width,t.height);t.style.width="256px",t.style.height="256px";let r=new CanvasFrame(i.canvas,!0);r.canvas.style.width="256px",r.canvas.style.height="256px";function s(d,u,p,m,_){switch(d.method){case"empty":return 0;case"value":return(u+p+m)/3*(_/255);case"brightness":return(u*299+p*587+m*114)/1e3;case"saturation":case"hue":{u/=255,p/=255,m/=255;let f=Math.max(u,p,m),g=Math.min(u,p,m);if(f==g)return 0;{let v=f-g;if(d.method=="saturation")return((f+g)/2>.5?v/(2-f-g):v/(f+g))*_;switch(f){case u:h=(p-m)/v+(p<m?6:0);break;case p:h=(m-u)/v+2;break;case m:h=(u-p)/v+4;break}return h/=6,h*_}}case"red":return u*(_/255);case"green":return p*(_/255);case"blue":return m*(_/255)}}function l(d){function u(m,_){let f=(_*a.width+m)*4;return[a.data[f+0],a.data[f+1],a.data[f+2],a.data[f+3]]}function p(m,_){let f=u(m,_),g=s(d,...f),v=Math.getLerp(d.in_range[0],d.in_range[1],g);return d.invert&&(v=1-v),Math.clamp(Math.lerp(d.out_range[0],d.out_range[1],v),0,255)}n.clearRect(0,0,t.width,t.height);for(let m=0;m<a.data.length;m+=4){let _=m/4%a.width,f=Math.floor(m/4/a.width),g=p(_,f);switch(o.data[m+0]=0,o.data[m+1]=0,o.data[m+2]=0,o.data[m+3]=255,d.channel){case"height":{o.data[m+0]=g,o.data[m+1]=g,o.data[m+2]=g;break}case"normal":{let v=f>0?p(_,f-1):g,b=f<a.height-1?p(_,f+1):g,x=_>0?p(_-1,f):g,w=_<a.width-1?p(_+1,f):g;o.data[m+0]=Math.clamp(127-(w-x),0,255),o.data[m+1]=Math.clamp(127-(v-b),0,255),o.data[m+2]=255;break}case"metalness":{o.data[m+0]=g;break}case"emissive":{o.data[m+1]=g;break}case"roughness":{o.data[m+2]=g;break}}}n.putImageData(o,0,0)}let c=Interface.createElement("div",{style:"display: flex; justify-content: space-between;"},[r.canvas,t]);new Dialog("generate_pbr_map",{title:"action.generate_pbr_map",width:564,lines:[c],form:{channel:{type:"select",label:"PBR Channel",options:{height:"menu.texture.pbr_channel.height",normal:"menu.texture.pbr_channel.normal",metalness:"Metalness",emissive:"Emissive",roughness:"Roughness"}},method:{type:"select",label:"Source",options:{value:"Value",brightness:"Brightness",saturation:"Saturation",hue:"Hue",red:"Red",green:"Green",blue:"Blue",empty:"Empty"}},in_range:{type:"vector",label:"Input Range",value:[0,255],dimensions:2,min:0,max:255},out_range:{type:"vector",label:"Output Range",value:[0,255],dimensions:2,min:0,max:255},invert:{type:"checkbox",label:"Invert",value:!1}},onFormChange(d){l(d)},onConfirm(d){l(d);let u=[],p;switch(d.channel){case"height":case"normal":p=d.channel;break;default:p="mer";break}let m=e.getTextures().find(_=>_.pbr_channel==p);if(m&&p=="mer"){Undo.initEdit({textures:[m],bitmap:!0}),m.layers_enabled||m.activateLayers(!1);let _=new TextureLayer({name:d.channel,blend_mode:"add"},m),f=t.getContext("2d").getImageData(0,0,t.width,t.height);_.setSize(t.width,t.height),_.ctx.putImageData(f,0,0),_.addForEditing(),m.updateLayerChanges(!0)}else{Undo.initEdit({texture_groups:e?[e]:null,textures:u});let _=e?.getTextures().find(v=>v.pbr_channel=="color"),f=_?_.name:i.name;f=f.replace(".",`_${p}.`);let g=new Texture({name:f,pbr_channel:p,group:e?.uuid}).fromDataURL(t.toDataURL()).add(!1);u.push(g),e.material_config&&(e.material_config.saved=!1)}setTimeout(()=>{e.updateMaterial()},50),Undo.finishEdit("Create PBR map"),updateSelection()},onOpen(){l(this.getFormResult())}}).show()}})});Object.assign(window,{TextureGroup:ms,TextureGroupMaterialConfig:Jd,importTextureSet:c5,loadAdjacentTextureSet:yae});var co={isPlaying:!1,start_timecode:0,frame_total:0,start(){co.isPlaying=!0,co.frame_total=0,co.start_timecode=performance.now(),co.updateButton()},stop(){co.isPlaying=!1,co.updateButton()},toggle(){co.isPlaying?co.stop():co.start()},updateSpeed(){co.isPlaying&&(co.stop(),co.start())},playAnimationFrame(i){i==null&&(i=(performance.now()-co.start_timecode)/1e3);let e=[];for(let t of Texture.all){if(!(t.frameCount>1))continue;let n=Format.texture_mcmeta?1e3/Math.max(16.66,50*t.frame_time):Math.max(1,t.fps),a=Math.floor(i*n);if(t.frame_order_type=="custom"&&t.frame_order){let o=t.frame_order.split(/\s+/g).map(s=>parseInt(s)),r=o[a%o.length];isNaN(r)||(a=r)}else if(t.frame_order_type=="backwards")a=t.frameCount-a%t.frameCount-1;else if(t.frame_order_type=="back_and_forth"){let o=t.frameCount*2-2,r=a%o;a=r<t.frameCount?r:o-r%t.frameCount}a=a%t.frameCount,a!=t.currentFrame&&(t.currentFrame=a,e.push(t))}e.length&&co.update(e)},update(i){let e=0;i.forEach(n=>{e=Math.max(e,n.currentFrame)}),Outliner.elements.forEach(n=>{if(!n.faces||!n.preview_controller.updateUV)return;let a=!1;for(let o in n.faces)a=a||i.includes(n.faces[o].getTexture());a&&n.preview_controller.updateUV(n,!0)}),BarItems.animated_texture_frame.update(),UVEditor.vue.updateTextureCanvas(),UVEditor.updateSelectionOutline(!0);let t=co.isPlaying?Texture.getDefault()?.currentFrame:e;Interface.Panels.textures.inside_vue._data.currentFrame=t},reset(){co.stop(),Texture.all.forEach(function(i,e){i.frameCount&&(i.currentFrame=0)}),UVEditor.img.style.objectPosition="",Outliner.elements.forEach(i=>{!i.faces||!i.preview_controller.updateUV||i.preview_controller.updateUV(i)}),UVEditor.updateSelectionOutline(!0),UVEditor.vue.updateTextureCanvas()},updateButton(){BarItems.animated_textures.setIcon(co.isPlaying?"pause":"play_arrow")},editor_dialog:null};Blockbench.on("display_animation_frame",()=>{settings.flipbook_textures_in_animation.value!=!1&&co.playAnimationFrame(Timeline.time)});BARS.defineActions(function(){function i(){return Format.animated_textures&&Texture.all.find(t=>t.frameCount>1)}new Action("animated_textures",{icon:"play_arrow",category:"textures",condition:i,click(){co.toggle()}});function e(){return[Texture.getDefault(),...Texture.all].find(t=>t&&t.frameCount>1)}new NumSlider("animated_texture_frame",{category:"textures",condition:i,getInterval(t){return 1},get:function(){let t=e();return t?t.currentFrame+1:0},change:function(t){let n=e();if(!n)return;UVEditor.previous_animation_frame=n.currentFrame,n.currentFrame=t(n.currentFrame+n.frameCount)%n.frameCount||0;let a=Texture.all.filter(o=>o.frameCount>1);Texture.all.forEach(o=>{o.currentFrame=n.currentFrame%o.frameCount||0}),co.update(a)}}),new Action("animated_texture_fps",{name:"settings.texture_fps",description:"settings.texture_fps.desc",icon:"speed",category:"textures",condition:i,click(){Texture.getDefault().propertiesDialog(),Format.texture_mcmeta&&Texture.all.length?$("dialog div.form_bar_frame_time input").trigger("focus"):$("dialog div.form_bar_fps input").trigger("focus")}}),new Action("animated_texture_editor",{icon:"theaters",category:"textures",condition:()=>Format.animated_textures&&Texture.selected?.frameCount>1,click(){let t=Texture.selected,n=1e3/Texture.getDefault().fps,a=t.width,o;if(Format.texture_mcmeta&&Texture.getDefault()){let l=Texture.getDefault();n=Math.max(l.frame_time,1)*50}function r(l,c,d){let u,p,m,_;if(Format.id=="bedrock"){let f=Project.model_identifier||"entity";_="https://wiki.bedrock.dev/visuals/animated-entity-texture.html",m=`${f}.render_controllers.json`,u={format_version:"1.20.0",render_controllers:{[`controller.render.${f}`]:{geometry:"Geometry.default",textures:["Texture.default"],materials:[{"*":"Material.default"}],uv_anim:{scale:[1,`1 / ${c}`],offset:[0,`Math.mod(Math.floor(query.life_time * ${d}), ${c}) / ${c}`]}}}},p=compileJSON(u),p=p.replace('"Material.default"','"Material.default" //'+"Make sure to use a material with 'USE_UV_ANIM' enabled, such as 'conduit_wind'!")}else if(Format.id=="bedrock_block"){let f=l.path.replace(/[\7\\]+/g,"/").replace(/(^|.*\/)textures\//,"textures/").replace(/\.\w*$/,"");_="https://wiki.bedrock.dev/blocks/flipbook-textures.html",m="flipbook_textures.json",u=[{flipbook_texture:f,atlas_tile:pathToName(l.name,!1),ticks_per_frame:Math.round(20/d),blend_frames:!1}],p=compileJSON(u)}else Format.id=="java_block"&&(_="https://minecraft.wiki/w/Resource_pack#Animation",m=(l.name.match(/\.png$/i)?l.name:l.name+".png")+".mcmeta",u=l.getMCMetaContent(),p=compileJSON(u));u&&new Dialog("animated_texture_editor_code",{title:"dialog.animated_texture_editor.code_reference",resizable:"x",width:720,singleButton:!0,part_order:["form","component"],form:{about:{type:"info",text:"dialog.animated_texture_editor.code_reference.about"},docs:{type:"info",label:"dialog.animated_texture_editor.code_reference.docs",text:`[${_.replace("https://","").substring(0,36)}...](${_})`}},component:{components:{VuePrismEditor},data:{text:p,file_name:m},methods:{copyText(){Clipbench.setText(this.text)}},template:`
<div>
<p class="code_editor_file_title">{{ file_name }}</p>
<vue-prism-editor v-model="text" language="json" style="height: 260px;" :line-numbers="true" />
<button @click="copyText()" style="width: 100%;">${tl("action.copy")}</button>
</div>
`}}).show()}function s(l=t.display_height,c){let d=[],u=Math.ceil(t.height/l),p=!1;for(let m=0;m<u;m++){let _=document.createElement("canvas"),f=_.getContext("2d");_.width=a,_.height=l,f.drawImage(t.canvas,0,-l*m);let g=_.toDataURL(),v={uuid:guid(),initial_index:m,selected:!1,canvas:_,ctx:f,data_url:g};c&&c[m]?.selected&&(v.selected=!0,p=!0),d.push(v)}return!p&&d[0]&&(d[0].selected=!0),d}co.editor_dialog=new Dialog("animated_texture_editor",{title:"action.animated_texture_editor",width:1e3,buttons:["dialog.animated_texture_editor.apply","dialog.cancel"],keyboard_actions:{previous_frame:{keybind:new Keybind({key:37}),run(){this.content_vue.jumpFrames(-1)}},next_frame:{keybind:new Keybind({key:39}),run(){this.content_vue.jumpFrames(1)}},play:{keybind:new Keybind({key:32}),run(){this.content_vue.togglePlay()}},duplicate:{keybind:new Keybind({key:"d",ctrl:!0}),run(){this.content_vue.duplicateFrame()}},delete:{keybind:new Keybind({key:46}),run(){this.content_vue.deleteFrame()}},copy:{keybind:new Keybind({key:"c",ctrl:!0}),run(){this.content_vue.copy()}},paste:{keybind:new Keybind({key:"v",ctrl:!0}),run(){this.content_vue.paste()}}},component:{data(){return{frames:s(),frame_index:0,playing:!1,stride:t.display_height,fps:1e3/n,interval:null,code_available:["bedrock","bedrock_block","java_block"].includes(Format.id)}},methods:{togglePlay(){if(this.playing)this.playing=!1,clearInterval(this.interval);else{for(let c of this.frames)c.selected=!1;this.playing=!0;let l=Math.clamp(1e3/this.fps,2,1e3);this.interval=setInterval(()=>{this.frame_index++,this.frame_index==this.frames.length&&(this.frame_index=0),Dialog.open!=co.editor_dialog&&this.togglePlay()},l)}},updateFPS(){this.playing&&(this.togglePlay(),this.togglePlay())},setFrame(l){this.playing&&this.togglePlay(),this.frame_index=l},jumpFrames(l){this.playing&&this.togglePlay(),this.frame_index=Math.clamp(this.frame_index+l,0,this.frames.length-1)},async reframe(){let l=this,c={stride:this.stride,frames:Math.roundTo(t.height/this.stride,4)};new Dialog("flipbook_editor_reframe",{title:"dialog.animated_texture_editor.reframe",form:{stride:{label:"dialog.animated_texture_editor.stride",type:"number",value:c.stride},frames:{label:"dialog.animated_texture_editor.frames",type:"number",value:c.frames}},onFormChange(d){c.stride!=d.stride?this.setFormValues({frames:Math.roundTo(t.height/d.stride,4)},!1):c.frames!=d.frames&&this.setFormValues({stride:Math.roundTo(t.height/d.frames,4)},!1)},onConfirm(d){l.stride=Math.clamp(Math.round(d.stride),1,t.height);let u=s(l.stride,l.frames);l.frames.replace(u)}}).show()},select(l,c){if(!this.frames[l])return;let d=this.frame_index;if(this.frame_index=l,c&&c.ctrlOrCmd)this.frames[l].selected=!0;else if(c&&c.shiftKey){let u=Math.min(l,d),p=Math.max(l,d);for(let m=u;m<=p;m++)this.frames[m].selected=!0}else{for(let u of this.frames)u.selected=!1;this.frames[l].selected=!0}},duplicateFrame(){let l=this.frames.filter(d=>d.selected);if(!l.length)return;let c=this.frames.indexOf(l.last())+1;for(let d of l){let u=Object.assign({},d);u.uuid=guid(),d.selected=!1,this.frames.splice(c,0,u),this.frame_index=c,c++}},deleteFrame(){for(let l of this.frames.slice())l.selected&&this.frames.remove(l);this.frame_index=Math.min(this.frame_index,this.frames.length-1)},createFrame(){let l=new CanvasFrame(a,this.stride),c={uuid:guid(),canvas:l.canvas,data_url:l.canvas.toDataURL()};this.frame_index++,this.frames.splice(this.frame_index,0,c),this.select(this.frame_index)},copy(){o=[];for(let c of this.frames)c.selected&&o.push(c);let l=this.frames[this.frame_index];l&&(Clipbench.image={x:0,y:0,data:l.data_url},l.canvas.toBlob(c=>{navigator.clipboard.write([new ClipboardItem({[c.type]:c})])}))},paste(){let l=this.frames.findLastIndex(u=>u.selected)+1,c=u=>{let p=new CanvasFrame(a,this.stride);p.loadFromURL(u);let m={uuid:guid(),canvas:p.canvas,data_url:u};this.frames.splice(l,0,m),this.select(l)};if(o){for(let u of this.frames)u.selected=!1;for(let u of o){let p=Object.assign({},u);p.uuid=guid(),p.selected=!0,this.frames.splice(l,0,p),this.frame_index=l,l++}}else if(0)var d;else navigator.clipboard.read().then(u=>{u&&u[0]&&u[0].types.includes("image/png")&&u[0].getType("image/png").then(p=>{let m=URL.createObjectURL(p);c(m)})}).catch(()=>{})},resizeFrames(){let l=this,c=[a,this.stride];new Dialog("resize_flipbook_frames",{title:"dialog.animated_texture_editor.resize_frames",form:{mode:{label:"dialog.resize_texture.mode",type:"inline_select",default:"crop",options:{crop:"dialog.resize_texture.mode.crop",scale:"dialog.resize_texture.mode.scale"}},size:{label:"dialog.project.texture_size",type:"vector",dimensions:2,value:c,min:1},offset:{label:"dialog.resize_texture.offset",type:"vector",dimensions:2,value:[0,0]}},onConfirm(d){a=d.size[0];let u=l.stride=d.size[1],p=document.createElement("canvas"),m=p.getContext("2d");p.width=a,p.height=l.stride;for(let _ of l.frames)p.width=a,m.imageSmoothingEnabled=!1,d.mode=="crop"?m.drawImage(_.canvas,d.offset[0],d.offset[1]):m.drawImage(_.canvas,d.offset[0],d.offset[1],a,u),_.canvas.width=a,_.canvas.height=u,_.ctx.drawImage(p,0,0),_.data_url=_.canvas.toDataURL()}}).show()},sort(l){let c=this.frames[this.frame_index];var d=this.frames.splice(l.oldIndex,1)[0];this.frames.splice(l.newIndex,0,d),this.frame_index=this.frames.findIndex(u=>u==c)},openCode(){r(t,this.frames.length,this.fps)},slideTimelinePointer(l){let c=this;if(!this.$refs.timeline)return;let d=$(this.$refs.timeline).offset().left+8,u=this.$refs.timeline.clientWidth-8,p=this.frames.length;function m(f){convertTouchEvent(f);let g=f.clientX-d;c.frame_index=Math.clamp(Math.round(g/u*p),0,p-1)}function _(f){removeEventListeners(document,"mousemove touchmove",m),removeEventListeners(document,"mouseup touchend",_)}addEventListeners(document,"mousemove touchmove",m),addEventListeners(document,"mouseup touchend",_),m(l)},getPlayheadPos(){if(!this.$refs.timeline)return 0;let l=this.$refs.timeline.clientWidth-2;return Math.clamp(this.frame_index/this.frames.length*l,0,l)}},mounted(){},template:`
<div id="flipbook_editor">
<div class="flipbook_frame_timeline">
<button @click="reframe()">${tl("dialog.animated_texture_editor.reframe")}</button>
<ul v-sortable="{onUpdate: sort, animation: 160}">
<li v-for="(frame, i) in frames" :key="frame.uuid"
:title="i"
class="flipbook_frame" :class="{viewing: frame_index == i, selected: frame.selected}"
@click="select(i, $event);"
@dblclick="setFrame(i)"
>
<label>{{ i }}</label>
<img class="checkerboard" :src="frame.data_url" width="105">
</li>
</ul>
<div>
<div class="tool" @click="duplicateFrame()" title="${tl("action.duplicate")}">
<i class="material-icons">content_copy</i>
</div>
<div class="tool" @click="deleteFrame()" title="${tl("generic.delete")}">
<i class="material-icons">delete</i>
</div>
<div class="tool" @click="createFrame()" title="${tl("dialog.animated_texture_editor.add_frame")}">
<i class="material-icons">library_add</i>
</div>
<div class="tool" @click="resizeFrames()" title="${tl("dialog.animated_texture_editor.resize_frames")}">
<i class="material-icons">photo_size_select_large</i>
</div>
</div>
</div>
<div class="flipbook_frame_preview">
<div>
<img class="checkerboard" v-if="frames[frame_index]" :src="frames[frame_index].data_url" :width="256">
</div>
<div id="flipbook_editor_timeline" ref="timeline" @mousedown="slideTimelinePointer">
<div class="frame" v-for="i in frames.length"></div>
<div id="flipbook_editor_playhead" :style="{left: getPlayheadPos() + 'px'}"></div>
</div>
<div class="flipbook_controls">
<div class="tool" @click="jumpFrames(-1)">
<i class="material-icons">navigate_before</i>
</div>
<div class="tool" @click="togglePlay()">
<i class="material-icons">{{ playing ? 'pause' : 'play_arrow' }}</i>
</div>
<div class="tool" @click="jumpFrames(1)">
<i class="material-icons">navigate_next</i>
</div>
</div>
<div class="flipbook_options">
<label>FPS</label>
<numeric-input v-model.number="fps" :min="1" :step="1" @input="updateFPS()" />
<button @click="openCode()" v-if="code_available">${tl("dialog.animated_texture_editor.code_reference")}</button>
</div>
</div>
</div>
`},onConfirm:async function(){let{frames:l,stride:c}=this.content_vue;l.length==0&&this.content_vue.createFrame(),t.canvas.width=a,t.canvas.height=c*l.length,Undo.initEdit({textures:[t],bitmap:!0,uv_mode:!Format.per_texture_uv_size}),t.layers_enabled&&(t.layers_enabled=!1,t.selected_layer=null,t.layers.empty(),UVEditor.vue.layer=null),this.content_vue.$data.fps&&(t.fps=this.content_vue.$data.fps);let d=0;for(let u of l)t.ctx.drawImage(u.canvas,0,d*c),d++;Format.per_texture_uv_size?t.uv_height=t.uv_width*(c/a):Project.texture_height=Project.texture_width*(c/a),t.updateChangesAfterEdit(),Undo.finishEdit("Apply flipbook animation changes"),updateInterfacePanels(),UVEditor.vue.updateTexture(),BARS.updateConditions()}}).show()}})});Object.assign(window,{TextureAnimator:co});function xae(i){let{width:e,height:t,data:n}=i,a=new ImageData(e,t);for(let o=0;o<t;o++)for(let r=0;r<e;r++){let s=(o*e+r)*4,l=(o*e+(e-1-r))*4;a.data[l]=n[s],a.data[l+1]=n[s+1],a.data[l+2]=n[s+2],a.data[l+3]=n[s+3]}return a}function kae(i){let{width:e,height:t,data:n}=i,a=new ImageData(e,t);for(let o=0;o<t;o++)for(let r=0;r<e;r++){let s=(o*e+r)*4,l=((t-1-o)*e+r)*4;a.data[l]=n[s],a.data[l+1]=n[s+1],a.data[l+2]=n[s+2],a.data[l+3]=n[s+3]}return a}function BC(i){let{width:e,height:t,data:n}=i,a=new ImageData(t,e);for(let o=0;o<t;o++)for(let r=0;r<e;r++){let s=(o*e+r)*4,l=t-1-o,d=(r*t+l)*4;a.data[d]=n[s],a.data[d+1]=n[s+1],a.data[d+2]=n[s+2],a.data[d+3]=n[s+3]}return a}function wae(i){let{width:e,height:t,data:n}=i,a=new ImageData(t,e);for(let o=0;o<t;o++)for(let r=0;r<e;r++){let s=(o*e+r)*4,l=o,d=((e-1-r)*t+l)*4;a.data[d]=n[s],a.data[d+1]=n[s+1],a.data[d+2]=n[s+2],a.data[d+3]=n[s+3]}return a}function d5(i,e){switch((e+360)%360){case 0:return i;case 90:return wae(i);case 180:return BC(BC(i));case 270:return BC(i);default:return i}}var Z={face:"north",size:320,grid:1,auto_grid:!0,panel:null,sliders:{},selected_element_faces:{},previous_animation_frame:1,overlay_canvas:(()=>{let i=document.createElement("canvas");return i.classList.add("overlay_canvas"),i})(),get vue(){return this.panel.inside_vue},message(i,e){i=tl(i,e);let t=document.createElement("div");t.className="uv_message_box",t.textContent=i,this.vue.$refs.main.append(t),setTimeout(function(){t.remove()},1200)},getBrushCoordinates(i,e){convertTouchEvent(i);let t=this.inner_width/(e?e.width:Project.texture_width),n={},a;if(i.target.id=="uv_frame")a=[i.offsetX,i.offsetY];else{let o=$("#uv_frame").offset();a=[i.clientX-o.left,i.clientY-o.top]}if(Toolbox.selected.id==="selection_tool")BarItems.selection_tool.mode=="lasso"?(n.x=a[0]/t,n.y=a[1]/t):settings.nearest_rectangle_select.value?(n.x=Math.round(a[0]/t*1),n.y=Math.round(a[1]/t*1)):(n.x=Math.floor(a[0]/t*1),n.y=Math.floor(a[1]/t*1));else if(Toolbox.selected.id==="move_layer_tool")n.x=Math.round(a[0]/t*1),n.y=Math.round(a[1]/t*1);else{let o=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?.5:0;n.x=a[0]/t*1+o,n.y=a[1]/t*1+o,(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))&&(n.x=Math.floor(n.x),n.y=Math.floor(n.y))}if(e&&(e.frameCount&&(n.y+=e.height/e.frameCount*e.currentFrame),!e.frameCount&&e.ratio!=e.getUVWidth()/e.getUVHeight()&&Z.vue.mode!="paint"&&(n.y/=e.ratio),BarItems.image_tiled_view.value==!0&&(Painter.image_tiled_view_options.mirrored&&((n.x<0||n.x>=e.width)&&(n.x=e.width-n.x-1),(n.y<0||n.y>=e.display_height)&&(n.y=e.display_height-n.y-1)),n.x=(e.width+n.x)%e.width,n.y=(e.display_height+n.y)%e.display_height)),Z.vue.mouse_coords.line_preview&&i.ctrlOrCmd&&Z.vue.last_brush_position){let o=Z.vue.last_brush_position.slice(),r=[n.x-o[0],n.y-o[1]],s=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)),l=Math.radToDeg(Math.atan2(r[1],r[0])),c=Math.radToDeg(Math.atan(1/2)),d=Math.radToDeg(Math.atan(1/3)),u=Math.radToDeg(Math.atan(1/6)),p=[0,45];s>16?p=[0,u,d,c,33.75,45,90-33.75,90-c,90-d,90-u]:s>10?p=[0,d,c,,45,90-c,90-d]:s>4&&(p=[0,c,45,90-c]);let m=p.slice();for(let f of[1,-1,-2])p.push(...m.map(g=>g+f*90));l=Math.snapToValues(l,p,90),l=Math.degToRad(l),n.x=o[0]+Math.cos(l)*s,n.y=o[1]+Math.sin(l)*s;let _=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?.5:0;n.x=Math.round(n.x)+_,n.y=Math.round(n.y)+_,(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))&&(n.x=Math.floor(n.x),n.y=Math.floor(n.y))}return n},startPaintTool(i){delete Painter.current.face_matrices,delete Painter.current.element;var e=this.getTexture(),t=this.getBrushCoordinates(i,e);let n;if(Toolbox.selected.onTextureEditorClick&&(n=Toolbox.selected.onTextureEditorClick(e,t.x,t.y,i)),n!==!1&&e){if(i.target.id=="uv_viewport"&&(i.offsetX>=i.target.clientWidth||i.offsetY>=i.target.clientHeight))return;Painter.startPaintTool(e,t.x,t.y,void 0,i),addEventListeners(Z.vue.$refs.viewport,"pointermove",Z.movePaintTool,!1),addEventListeners(document,"pointerup",Z.stopBrush,!1)}},movePaintTool(i){if($i.requestTarget($i.types.paint)&&!(i.pointerType==="pen"&&i.pressure===0)){var e=Z.getTexture();if(!e)Blockbench.showQuickMessage("message.untextured");else if(i.which<=1||i.pointerType==="pen"||Keybinds.extra.paint_secondary_color.keybind.isTriggered(i)||i.touches&&i.touches.length==1){var t,{x:n,y:a}=Z.getBrushCoordinates(i,e);if(e.img.naturalWidth+e.img.naturalHeight==0)return;let o=Toolbox.selected.brush?.interval||1,r=[n-Painter.current.x,a-Painter.current.y],s=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2));if(s<o)return;if(s>o&&!(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))){let l=Math.floor(s/o)*o;n=Painter.current.x+r[0]/s*l,a=Painter.current.y+r[1]/s*l}Z.vue.mouse_coords.x=n,Z.vue.mouse_coords.y=a,Painter.current.face!==Z.getSelectedFaces(null)[0]&&(Painter.current.x=n,Painter.current.y=a,Painter.current.face=Z.getSelectedFaces(null)[0],t=!0,e!==Painter.current.texture&&Undo.current_save&&Undo.current_save.addTextureOrLayer(e)),Toolbox.selected.id!=="selection_tool"&&Painter.movePaintTool(e,n,a,i,t)}}},stopBrush(i){removeEventListeners(Z.vue.$refs.viewport,"pointermove",Z.movePaintTool,!1),removeEventListeners(document,"pointerup",Z.stopBrush,!1),Toolbox.selected.id!=="selection_tool"?Painter.stopPaintTool():Z.stopSelection()},selection_outline_lines:[],async updateSelectionOutline(i=!0){if(!Modes.paint)return;let{texture:e}=this.vue;if(!e){this.vue.selection_outline="";return}if(e.selection.override==!1){this.vue.selection_outline="";return}let t=Z.getTexturePixelSize(),n=this.vue.texture.width,a=this.vue.texture.display_height,o=this.vue.texture.height;if(e.selection.override==!0){this.vue.selection_outline=`M1 1 L${n*t+1} 1 L${n*t+1} ${a*t+1} L1 ${a*t+1} L1 1`;return}let r=Z.vue.texture?.currentFrame?Z.vue.texture?.currentFrame*Z.vue.texture.display_height:0,s=Z.selection_outline_lines;if(i){s.empty();let c=e.selection,d=[1/0,1/0,0,0];for(let u=0;u<o;u++)for(let p=0;p<n;p++)c.getDirect(p,u)==1&&(d[0]=Math.min(d[0],p),d[1]=Math.min(d[1],u),d[2]=Math.max(d[2],p+1),d[3]=Math.max(d[3],u+1));await new Promise(u=>setTimeout(u,0));for(let u=d[1];u<=d[3];u++){let p=null;for(let m=d[0];m<=d[2];m++){let _=c.get(m,u-1),f=c.get(m,u),g=_!=f;p!==g&&((p!==null||g)&&s.push([!!g,m,u]),p=g)}}await new Promise(u=>setTimeout(u,0));for(let u=d[0];u<=d[2];u++){let p=null;for(let m=d[1];m<=d[3];m++){let _=c.get(u-1,m),f=c.get(u,m),g=_!=f;p!==g&&((p!==null||g)&&s.push([!!g,u,m]),p=g)}}await new Promise(u=>setTimeout(u,0))}t=Z.getTexturePixelSize();let l="";for(let c of s)l+=`${l?"":" "}${c[0]?"M":"L"}${c[1]*t+1} ${(c[2]-r)*t+1}`;this.vue.selection_outline=l},async focusOnSelection(i){i instanceof Event&&(i=BarItems.focus_on_selection.keybind.additionalModifierTriggered(i,"zoom"));let[e,t,n,a]=this.vue.getSelectedUVBoundingBox();if(e==1/0)return;if(i){let c=(n-e)/Z.getUVWidth(),d=(a-t)/Z.getUVHeight(),u=1/Math.max(c,d);Z.isUVClamped()&&(u=Math.clamp(Z.zoom,target_zoom_factor*.618,Math.max(1,target_zoom_factor*.84))),Z.setZoom(u),await new Promise(Vue.nextTick)}let o=Z.inner_width/Z.vue.uv_resolution[0],r=[e+n,t+a].map(c=>c*.5*o),{viewport:s}=Z.vue.$refs,l=Z.vue.getFrameMargin();$(s).animate({scrollLeft:r[0]+l[0]-Z.width/2,scrollTop:r[1]+l[1]-Z.height/2},{duration:i?0:100,complete:()=>{Z.updateUVNavigator()}})},updateOverlayCanvas(){if(!Z.texture)return;let i=Z.overlay_canvas,e=Z.texture,t=i.getContext("2d");if(i.width=e.width,BarItems.image_tiled_view.value==!0&&Modes.paint||e.wrap_mode=="repeat"&&Modes.edit)if(i.setAttribute("overlay_mode","tiled"),i.width=e.width*3,i.height=e.display_height*3,Painter.image_tiled_view_options.mirrored)t.scale(-1,1),t.drawImage(e.canvas,-1*e.width,1*e.display_height),t.drawImage(e.canvas,-3*e.width,1*e.display_height),t.scale(-1,-1),t.drawImage(e.canvas,1*e.width,-1*e.display_height),t.drawImage(e.canvas,1*e.width,-3*e.display_height),t.scale(-1,1),t.drawImage(e.canvas,-1*e.width,-1*e.display_height),t.drawImage(e.canvas,-1*e.width,-3*e.display_height),t.drawImage(e.canvas,-3*e.width,-1*e.display_height),t.drawImage(e.canvas,-3*e.width,-3*e.display_height),t.scale(-1,-1);else for(let a=0;a<3;a++)for(let o=0;o<3;o++)t.drawImage(e.canvas,a*e.width,o*e.display_height);else if(BarItems.image_onion_skin_view.value==!0&&e.frameCount>2){i.setAttribute("overlay_mode","onion_skin");let a=[];switch(Painter.image_onion_skin_view_options.frame){case"last_viewed":a=[Z.previous_animation_frame];break;case"previous":a=[e.currentFrame-1];break;case"next":a=[e.currentFrame+1];break;case"both":a=[e.currentFrame-1,e.currentFrame+1];break}if(a=a.map(o=>(o+e.frameCount)%e.frameCount).filter(o=>o!=e.currentFrame),Painter.image_onion_skin_view_options.display=="transparent"){i.width=e.width,i.height=e.display_height,t.filter="opacity(45%)";for(let o of a)t.drawImage(e.canvas,0,o*-e.display_height)}else{i.width=e.width*4,i.height=e.display_height*4,t.filter="";for(let o of a){let r=e.canvas.getContext("2d").getImageData(0,o*e.display_height,e.width,e.display_height);for(let s=0;s<r.data.length;s+=4){if(r.data[s+3]<2)continue;t.fillStyle=`rgba(${r.data[s]}, ${r.data[s+1]}, ${r.data[s+2]}, ${r.data[s+3]/460})`;let l=s/4%e.width,c=Math.floor(s/4/e.width);t.fillRect(l*4+1,c*4+1,2,2)}}}}let n=BarItems.image_onion_skin_view.value&&Painter.image_onion_skin_view_options.above;i.classList.toggle("above",!!n)},get width(){return this.vue.width},get height(){return this.vue.height},get zoom(){return this.vue.zoom},get inner_width(){return this.vue.inner_width},get inner_height(){return this.vue.inner_height},get selected_faces(){return this.getSelectedFaces(this.getFirstMappableElement())},get texture(){return this.vue.texture},isUVClamped(i){return i||(i=Z.vue.texture),i?i.wrap_mode=="limited":Format.texture_wrap_default=="limited"},getUVWidth(){return this.texture?this.texture.getUVWidth():Project.texture_width},getUVHeight(){return this.texture?this.texture.getUVHeight():Project.texture_height},getPixelSize(){return Z.isBoxUV()?this.inner_width/Z.getUVWidth():this.inner_width/(typeof this.texture=="object"&&this.texture.width?this.texture.width:Z.getUVWidth())},getUVPixelSize(){return this.inner_width/Z.getUVWidth()},getTexturePixelSize(){return this.inner_width/(typeof this.texture=="object"&&this.texture.width?this.texture.width:Z.getUVWidth())},getFaces(i,e,t){let n=Object.keys(i.faces);return e&&(t?t.keybind.additionalModifierTriggered(e,"all_faces"):e.shiftKey)?n:Z.getSelectedFaces(i).filter(a=>n.includes(a))},getReferenceFace(){let i=this.getFirstMappableElement();if(i){let e=Z.getSelectedFaces(i).find(t=>i.faces[t]);return i.faces[e]}},getMappableElements(){return Outliner.selected.filter(i=>typeof i.faces=="object")},getFirstMappableElement(){return Outliner.selected.find(i=>typeof i.faces=="object")},getSelectedFaces(i,e){return i?i.getTypeBehavior("select_faces")==!1?Object.keys(i.faces):i.getSelectedFaces?i.getSelectedFaces(e):Z.selected_element_faces[i.uuid]?Z.selected_element_faces[i.uuid]:e?Z.selected_element_faces[i.uuid]=[]:[]:[]},hasElements(){return Outliner.selected.findIndex(i=>typeof i.faces=="object")!=-1},getTexture(){return Format.single_texture?Texture.getDefault():this.vue.texture},isFaceUV(){let i=Cube.selected;return!i.length||!i.find(e=>e.box_uv)},isBoxUV(){let i=Cube.selected;return i.length?!i.find(e=>!e.box_uv):Project.box_uv},isSelectedFaceMirrored(i){let e=Z.getReferenceFace();if(e instanceof CubeFace)e.uv[i+0]>e.uv[i+2];else{let t=e.getSortedVertices();return t.length<=2?!1:Math.epsilon(e.uv[t[0]][i],e.uv[t[1]][i],.01)?e.uv[t[0]][i]>e.uv[t[2]][i]:e.uv[t[0]][i]>e.uv[t[1]][i]}},updateFaceSelection(){updateSelection()},setZoom(i){let e=Z.isUVClamped()?64:20,t=Math.clamp(e/Z.height,.05,.4),n=Math.round((this.vue.texture?this.vue.texture.height:Project.texture_width)*64/Z.width);return i=Math.clamp(i,t,Math.clamp(n,16,128)),this.vue.zoom=i,Project.uv_viewport.zoom=this.zoom,Vue.nextTick(()=>{Z.updateSelectionOutline(!1)}),this},setGrid(i){return i=="auto"?(this.auto_grid=!0,this.vue.updateTexture()):(i=parseInt(i),typeof i!="number"&&(i=1),this.grid=Math.clamp(i,1,1024),this.auto_grid=!1),this.updateSize(),this},updateSize(){this.vue.updateSize()},reverseSelect(i,e){let t=this;if(!this.vue.texture&&!Format.single_texture)return this;if(!i.target.classList.contains("uv_size_handle")&&!i.target.id==="uv_frame")return this;let n=[],a=[],o=e[0]/this.vue.inner_width*this.getResolution(0),r=e[1]/this.vue.inner_height*this.getResolution(1);if(Cube.all.forEach(s=>{if(!s.locked)for(let l in s.faces){let c=s.faces[l].uv;if(c&&Math.isBetween(o,c[0],c[2])&&Math.isBetween(r,c[1],c[3])&&(s.faces[l].getTexture()===t.vue.texture||Format.single_texture)){n.safePush(s),a.push([s,l]);break}}}),Mesh.all.forEach(s=>{if(!s.locked)for(var l in s.faces){let c=s.faces[l],d=c.getBoundingRect();if(c.uv&&Math.isBetween(o,d.ax,d.bx)&&Math.isBetween(r,d.ay,d.by)&&(c.getTexture()===t.vue.texture||Format.single_texture)){n.safePush(s),a.push([s,l]);break}}}),n.length){if(!i.shiftKey&&!Pressing.overrides.shift&&!i.ctrlOrCmd&&!Pressing.overrides.ctrl){for(let s of Project.selected_elements){let l=Z.getSelectedFaces(s,!0);l.length&&l.empty()}Project.selected_elements.empty()}if(Z.isFaceUV())for(let[s,l]of a)Z.getSelectedFaces(s,!0).push(l);n.forEach(s=>{Project.selected_elements.safePush(s)}),!i.shiftKey&&Mesh.selected[0]&&Z.selectMeshUVIsland(Z.getSelectedFaces(Mesh.selected[0])[0]),updateSelection()}return n},forCubes(i){for(let e of Outliner.selected)e.getTypeBehavior("cube_faces")&&i(e)},forElements(i){this.getMappableElements().forEach(i)},loadData(){return this.panel.folded?this:(this.vue.updateTexture(),this.displayTools(),this.vue.box_uv=Z.isBoxUV(),this.vue.uv_resolution.splice(0,2,Z.getUVWidth(),Z.getUVHeight()),this.updateUVNavigator(),this.vue.$forceUpdate(),this)},applyTexture(i){let e=this.getMappableElements();if(Format.per_group_texture){e=[];let t=Group.multi_selected;Outliner.selected.forEach(n=>{n.faces&&n.parent instanceof Group&&t.safePush(n.parent)}),Undo.initEdit({groups:t}),t.forEach(n=>{n.texture=i.uuid,n.forEachChild(a=>{a.faces&&e.safePush(a)})})}else Undo.initEdit({elements:e,uv_only:!0}),e.forEach(t=>{(t.box_uv||Format.per_group_texture?Z.cube_faces:Z.getSelectedFaces(t)).forEach(a=>{t.faces[a]&&(t.faces[a].texture=i.uuid)})});this.loadData(),Canvas.updateView({elements:e,element_aspects:{faces:!0,uv:!0}}),Undo.finishEdit("Apply texture")},displayTools(){for(let e in Z.sliders){let t=Z.sliders[e];t.node.style.setProperty("display",Condition(t.condition)?"block":"none"),t.update()}if(!this.hasElements())return;let i=Z.getReferenceFace();i instanceof CubeFace&&(BarItems.uv_rotation.set(i&&i.rotation||0),Format.cullfaces&&BarItems.cullface.set(i.cullface||"off"),Format.java_face_properties&&(BarItems.face_tint.setIcon(i.tint!==-1?"check_box":"check_box_outline_blank"),BarItems.slider_face_tint.update()))},getFacePosition(i){let e=Z.getMappableElements();if(!e[0])return 0;if(Z.isBoxUV()&&e[0].getTypeBehavior("cube_faces"))return e[0].uv_offset[i];if(e[0].getTypeBehavior("cube_faces")){var t=Z.getReferenceFace();if(t)return t.uv[i]}else if(e[0]instanceof Mesh){let n=e[0].getSelectedVertices();if(n.length){let a=1/0;return Z.getSelectedFaces(e[0]).forEach(o=>{let r=e[0].faces[o];r.vertices.forEach(s=>{n.includes(s)&&r.uv[s]&&(a=Math.min(a,r.uv[s][i]))})}),a==1/0&&(a=0),a}else{let a=Z.getReferenceFace();if(!a)return 0;let o=1/0;return a.vertices.forEach(r=>{a.uv[r]&&(o=Math.min(o,a.uv[r][i]))}),o==1/0&&(o=0),o}}return 0},getFaceSize(i){if(Z.isFaceUV()){let e=Z.getReferenceFace();if(e instanceof CubeFace)return e.uv[i+2]-e.uv[i];if(e instanceof MeshFace){let t=e.getBoundingRect();return i?t.y:t.x}}return 0},slidePos(i,e){let t=0,n=this.getResolution(e),a=Z.isUVClamped();Outliner.selected.forEach(function(o){if(o.getTypeBehavior("cube_faces")){if(o.box_uv===!0){if(e===0){var r=(o.size(0)+(o.size(1)?o.size(2):0))*2;o.size(1)==0&&(t=-o.size(2))}else{var r=o.size(2)+o.size(1);o.size(0)==0&&(t=-o.size(2))}var s=i(o.uv_offset[e]);a&&(s=limitNumber(s,t,n),s=limitNumber(s+r,t,n)-r),o.uv_offset[e]=Math.round(s)}else Z.getSelectedFaces(o).forEach(l=>{if(!o.faces[l])return;let c=o.faces[l].uv;var d=c[e+2]-c[e],u=i(c[e]);a&&(u=limitNumber(u,0,n),u=limitNumber(u+d,0,n)-d),c[e]=u,c[e+2]=u+d});o.preview_controller.updateUV(o)}}),Mesh.selected.forEach(o=>{let r=o.getSelectedVertices();r.length?Z.getSelectedFaces(o).forEach(s=>{o.faces[s]&&r.forEach(l=>{o.faces[s].vertices.includes(l)&&(o.faces[s].uv[l][e]=i(o.faces[s].uv[l][e]))})}):Z.getSelectedFaces(o).forEach(s=>{if(!o.faces[s])return;let l=o.faces[s],c=l.getBoundingRect(),d=[c.ax,c.ay],u=i(d[e])-d[e];l.vertices.forEach(p=>{l.uv[p][e]+=u})}),o.preview_controller.updateUV(o)}),this.displayTools(),this.vue.$forceUpdate()},slideSize(i,e){let t=this.getResolution(e);Outliner.selected.forEach(function(n){n.getTypeBehavior("cube_faces")&&n.box_uv!==!0&&Z.getSelectedFaces(n).forEach(a=>{var o=n.faces[a].uv,r=i(o[e+2]-o[e])+o[e];o[e+2]=limitNumber(r,0,t),n.preview_controller.updateUV(n)})}),Mesh.selected.forEach(n=>{for(let a of n.getSelectedFaces()){let o=n.faces[a],r=o.getBoundingRect(),s=e?r.ay:r.ax,l=e?r.y:r.x,c=i(l)/l;o.vertices.forEach(d=>{o.uv[d]&&(o.uv[d][e]=(o.uv[d][e]-s)*c+s,isNaN(o.uv[d][e])&&(o.uv[d][e]=s))})}Mesh.preview_controller.updateUV(n)}),this.displayTools(),this.disableAutoUV(),this.vue.$forceUpdate()},getResolution(i,e){return i?Z.getUVHeight():Z.getUVWidth()},saveViewportOffset(){let i=this.vue.$refs.viewport;!i||!Project||Blockbench.hasFlag("switching_project")||!i.clientWidth||!i.scrollLeft||(Project.uv_viewport.offset[0]=(i.scrollLeft-this.width/2)/this.vue.inner_width,Project.uv_viewport.offset[1]=(i.scrollTop-this.height/2)/this.vue.inner_height)},loadViewportOffset(){let i=this.vue.$refs.viewport;if(!i||!Project)return;Z.setZoom(Project.uv_viewport.zoom);let e=Project;Vue.nextTick(()=>{!Project||e!=Project||(i.scrollLeft=Project.uv_viewport.offset[0]*this.vue.inner_width+this.width/2,i.scrollTop=Project.uv_viewport.offset[1]*this.vue.inner_height+this.height/2)})},beforeMoving(){Z.saveViewportOffset(),setTimeout(()=>{Z.loadViewportOffset()},0)},updateUVNavigator(){if(Z.vue.mode!="uv")return;let i=Z.getUVNavigatorStyle(),e=Z.vue.$el.querySelector(".uv_navigator");if(e)if(i){for(let t in i)e.style.setProperty(t,i[t]);e.style.display="block"}else e.style.display="none"},getUVNavigatorStyle(){let i=Z.vue;if(Z.zoom<1.3||!i.mappable_elements.find(A=>A.box_uv||Z.getSelectedFaces(A)?.length))return;let t=i.getSelectedUVBoundingBox();if(!t)return;let n=i.$refs.viewport;if(!n||!Project||Blockbench.hasFlag("switching_project")||!n.clientWidth)return;let a=[(n.scrollLeft-i.width/2)/i.inner_width,(n.scrollTop-i.height/2)/i.inner_height],{zoom:o,uv_resolution:r}=i,s=[a[0]*r[0],a[1]*r[1],(a[0]+i.width/i.inner_width)*r[0],(a[1]+i.width/i.inner_width)*r[1]],[l,c,d,u]=t,[p,m,_,f]=s;if(!(d<p||l>_||u<m||c>f))return;let v=Math.atan2(Math.lerp(m,f,.5)-Math.lerp(c,u,.5),Math.lerp(p,_,.5)-Math.lerp(l,d,.5)),b=Math.radToDeg(v),x=n.getBoundingClientRect(),w={"--rotation":b-90+"deg",left:x.x+"px",top:x.y+"px"},E=Math.round(2*v/Math.PI),y=(b+540+45)%90/90;switch(y=Math.hermiteBlend(y),E){case 2:case-2:{w.left=x.x+i.width-25+"px",w.top=x.y+y*(i.height-25)+"px";break}case-1:{w.left=x.x+(1-y)*(i.width-25)+"px",w.top=x.y+i.height-25+"px";break}case 0:{w.left=x.x+"px",w.top=x.y+(1-y)*(i.height-25)+"px";break}case 1:{w.left=x.x+y*(i.width-25)+"px",w.top=x.y+"px";break}}return w},selectAll(){let i=0,e=0;this.vue.mappable_elements.forEach(t=>{let n=Z.getSelectedFaces(t,!0);i+=n.length;for(let a in t.faces)n.safePush(a),e++}),i==e&&this.vue.mappable_elements.forEach(t=>{Z.getSelectedFaces(t,!0).empty()}),Z.displayTools()},selectMeshUVIsland(i){let e=Mesh.selected[0],t=e.getSelectedFaces(!0);if(i&&e&&e.faces[i]){if(t.length==1){let o=function(r){for(let s=0;s<r.vertices.length;s++){let l=r.getAdjacentFace(s,n);if(!l||t.includes(l.key))continue;let c=.2,d=l.face.uv[l.edge[0]],u=r.uv[l.edge[0]];if(!Math.epsilon(d[0],u[0],c)||!Math.epsilon(d[1],u[1],c))continue;let p=l.face.uv[l.edge[1]],m=r.uv[l.edge[1]];!Math.epsilon(p[0],m[0],c)||!Math.epsilon(p[1],m[1],c)||(t.push(l.key),BarItems.selection_mode.value=="face"&&e.getSelectedFaces(!0).safePush(l.key),o(l.face))}},n={},a=e.faces;for(let r in a){let s=a[r];for(let l of s.vertices)n[l]??(n[l]=[]),n[l].push(r)}o(e.faces[i])}else t.replace([i]);Z.vue.$forceUpdate(),updateSelection()}},moveSelection(i,e){Undo.initEdit({elements:Z.getMappableElements()});let t=canvasGridSize(e.shiftKey||Pressing.overrides.shift,e.ctrlOrCmd||Pressing.overrides.ctrl)/Z.grid;Z.isBoxUV()&&(t=1),Z.slidePos(n=>{let a=i[i[0]?0:1];return n+t*a},i[0]?0:1),Undo.finishEdit("Move UV")},disableAutoUV(){this.forCubes(i=>{i.autouv=0})},toggleUV(){let e=Z.getReferenceFace().enabled===!1;this.forCubes(t=>{Z.getSelectedFaces(t).forEach(n=>{t.faces[n].enabled=e})})},maximize(i){var e=this;this.forCubes(t=>{e.getFaces(t,i,BarItems.uv_maximize).forEach(function(n){t.faces[n].uv=[0,0,e.getResolution(0,t.faces[n]),e.getResolution(1,t.faces[n])]}),t.autouv=0,t.preview_controller.updateUV(t)}),this.message("uv_editor.maximized"),this.loadData()},turnMapping(i){var e=this;this.forCubes(t=>{e.getFaces(t,i,BarItems.uv_turn_mapping).forEach(function(n){var a=t.faces[n].uv_size;if(t.faces[n].uv_size=[a[1],a[0]],a[0]<0&&(t.faces[n].uv[0]+=a[0],t.faces[n].uv[2]+=a[0],t.faces[n].uv[1]-=a[0],t.faces[n].uv[3]-=a[0]),a[1]<0&&(t.faces[n].uv[1]+=a[1],t.faces[n].uv[3]+=a[1],t.faces[n].uv[0]-=a[1],t.faces[n].uv[2]-=a[1]),Z.isUVClamped()){let o=Math.clamp(Math.max(t.faces[n].uv[0],t.faces[n].uv[2])-Z.getUVWidth(),0,1/0);t.faces[n].uv[0]-=o,t.faces[n].uv[2]-=o;let r=Math.clamp(Math.max(t.faces[n].uv[1],t.faces[n].uv[3])-Z.getUVHeight(),0,1/0);t.faces[n].uv[1]-=r,t.faces[n].uv[3]-=r}}),t.autouv=0,t.preview_controller.updateUV(t)}),this.message("uv_editor.turned"),this.loadData()},setAutoSize(i,e,t){let n=new THREE.Vector3,a=new THREE.Vector3,o=new THREE.Vector3,r=new THREE.Vector3,s=new THREE.Plane;this.getMappableElements().forEach(l=>{let c,d,u=t||this.getFaces(l,i,BarItems.uv_auto);l.getTypeBehavior("cube_faces")?(u.forEach(function(p){let m=l.faces[p],_=m.uv[0]>m.uv[2],f=m.uv[1]>m.uv[3];m.uv[0]=Math.min(m.uv[0],m.uv[2]),m.uv[1]=Math.min(m.uv[1],m.uv[3]),p=="north"||p=="south"?(d=Math.abs(l.size(0)),c=Math.abs(l.size(1))):p=="east"||p=="west"?(d=Math.abs(l.size(2)),c=Math.abs(l.size(1))):p=="up"||p=="down"?(d=Math.abs(l.size(0)),c=Math.abs(l.size(2))):(d=Math.abs(l.size(0)),c=Math.abs(l.size(1))),m.rotation%180&&([d,c]=[c,d]);let g=Z.getUVWidth(),v=Z.getUVHeight();d*=Z.getResolution(0,m)/g,c*=Z.getResolution(1,m)/v,Z.isUVClamped()&&(d=Math.clamp(d,0,g),c=Math.clamp(c,0,v),m.uv[0]=Math.min(m.uv[0],g-d),m.uv[1]=Math.min(m.uv[1],v-c)),m.uv_size=[d,c],_&&([m.uv[0],m.uv[2]]=[m.uv[2],m.uv[0]]),f&&([m.uv[1],m.uv[3]]=[m.uv[3],m.uv[1]])}),l.autouv=0):l instanceof Mesh&&u.forEach(p=>{let m=l.faces[p],_={},f=[0,0],g=[0,0],v=n.fromArray(m.getNormal(!0));s.setFromNormalAndCoplanarPoint(v,a.fromArray(l.vertices[m.vertices[0]]));let b=cameraTargetToRotation([0,0,0],v.toArray()),x=new THREE.Euler(Math.degToRad(b[1]-90),Math.degToRad(b[0]+180),0);m.vertices.forEach(Q=>{let H=s.projectPoint(o.fromArray(l.vertices[Q]),r.set(0,0,0));H.applyEuler(x),_[Q]=[Math.roundTo(H.x,4),Math.roundTo(H.z,4)]});let w={},E={},y=m.getSortedVertices();y.forEach((Q,H)=>{let re=y[H+1]||y[0],K=Math.atan2(_[re][0]-_[Q][0],_[re][1]-_[Q][1]),pe=2;K=(Math.radToDeg(K)+360)%90;let xe=Math.round(K/pe)*pe;w[xe]?w[xe]++:(w[xe]=1,E[xe]=K)});let A=Object.keys(w).map(Q=>parseInt(Q));A.sort((Q,H)=>{let re=w[H]-w[Q];return re||(Q<H?-1:1)});let R=Math.degToRad(E[A[0]]),j=Math.sin(R),F=Math.cos(R);for(let Q in _){let H=_[Q].slice();_[Q][0]=H[0]*F-H[1]*j,_[Q][1]=H[0]*j+H[1]*F}let O=1/0,L=1/0;m.vertices.forEach(Q=>{O=Math.min(O,_[Q][0]),L=Math.min(L,_[Q][1])}),m.vertices.forEach(Q=>{f[0]+=m.uv[Q]?m.uv[Q][0]:0,f[1]+=m.uv[Q]?m.uv[Q][1]:0,g[0]+=_[Q][0],g[1]+=_[Q][1]}),f[0]=Math.round((f[0]-g[0])/m.vertices.length),f[1]=Math.round((f[1]-g[1])/m.vertices.length);let U=1/0,J=1/0,ie=0,te=0;for(let Q in _)_[Q][0]=_[Q][0]-((O+1000.5)%1-.5)+f[0],_[Q][1]=_[Q][1]-((L+1000.5)%1-.5)+f[1],U=Math.min(U,_[Q][0]),J=Math.min(J,_[Q][1]),ie=Math.max(ie,_[Q][0]),te=Math.max(te,_[Q][1]);let me=[U<0?-U:ie>Z.getUVWidth()?Math.round(Z.getUVWidth()-ie):0,J<0?-J:te>Z.getUVHeight()?Math.round(Z.getUVHeight()-te):0];m.vertices.forEach(Q=>{m.uv[Q]=[_[Q][0]+me[0],_[Q][1]+me[1]]})}),l.preview_controller.updateUV(l)}),e||this.message("uv_editor.autouv"),this.loadData()},setRelativeAutoSize(i){var e=this;this.forCubes(t=>{e.getFaces(t,i,BarItems.uv_rel_auto).forEach(function(n){var a=t.faces[n].uv,o=e.getResolution(0,t.faces[n]),r=e.getResolution(1,t.faces[n]);switch(n){case"north":a=[o-t.to[0],r-t.to[1],o-t.from[0],r-t.from[1]];break;case"south":a=[t.from[0],r-t.to[1],t.to[0],r-t.from[1]];break;case"west":a=[t.from[2],r-t.to[1],t.to[2],r-t.from[1]];break;case"east":a=[o-t.to[2],r-t.to[1],o-t.from[2],r-t.from[1]];break;case"up":a=[t.from[0],t.from[2],t.to[0],t.to[2]];break;case"down":a=[t.from[0],r-t.to[2],t.to[0],r-t.from[2]];break}a.forEach(function(s,l){a[l]=limitNumber(s,0,l%2?r:o)}),t.faces[n].uv=a}),t.autouv=0,t.preview_controller.updateUV(t)}),this.message("uv_editor.autouv"),this.loadData()},mirrorX(i){var e=this;let t=!!(BarItems.move_texture_with_uv.value&&this.texture),n=new Set;this.forElements(a=>{if(a.getTypeBehavior("cube_faces"))e.getFaces(a,i,BarItems.uv_mirror_x).forEach(o=>{let r=a.faces[o];if(t&&r.texture!==null){let l=r.getTexture();if(l&&l.ctx){let c=l.width/Z.getUVWidth(),d=l.height/Z.getUVHeight(),u=r.uv,p=Math.floor(Math.min(u[0],u[2])*c),m=Math.floor(Math.min(u[1],u[3])*d),_=Math.ceil(Math.abs(u[2]-u[0])*c)||1,f=Math.ceil(Math.abs(u[3]-u[1])*d)||1,g=l.ctx.getImageData(p,m,_,f),v=xae(g);l.ctx.putImageData(v,p,m),n.add(l)}}var s=r.uv[0];r.uv[0]=r.uv[2],r.uv[2]=s});else if(a instanceof Mesh){let o=1/0,r=-1/0;e.getFaces(a,i,BarItems.uv_mirror_x).forEach(l=>{a.faces[l].vertices.forEach(c=>{o=Math.min(o,a.faces[l].uv[c][0]),r=Math.max(r,a.faces[l].uv[c][0])})});let s=Math.lerp(o,r,.5);e.getFaces(a,i,BarItems.uv_mirror_x).forEach(l=>{a.faces[l].vertices.forEach(c=>{a.faces[l].uv[c][0]=s*2-a.faces[l].uv[c][0]})})}a.autouv&&(a.autouv=0),a.preview_controller.updateUV(a)});for(let a of n)a.updateChangesAfterEdit();this.message("uv_editor.mirrored"),this.loadData()},mirrorY(i){var e=this;let t=!!(BarItems.move_texture_with_uv.value&&this.texture),n=new Set;this.forElements(a=>{if(a.getTypeBehavior("cube_faces"))e.getFaces(a,i,BarItems.uv_mirror_y).forEach(o=>{let r=a.faces[o];if(t&&r.texture!==null){let l=r.getTexture();if(l&&l.ctx){let c=l.width/Z.getUVWidth(),d=l.height/Z.getUVHeight(),u=r.uv,p=Math.floor(Math.min(u[0],u[2])*c),m=Math.floor(Math.min(u[1],u[3])*d),_=Math.ceil(Math.abs(u[2]-u[0])*c)||1,f=Math.ceil(Math.abs(u[3]-u[1])*d)||1,g=l.ctx.getImageData(p,m,_,f),v=kae(g);l.ctx.putImageData(v,p,m),n.add(l)}}var s=r.uv[1];r.uv[1]=r.uv[3],r.uv[3]=s});else if(a instanceof Mesh){let o=1/0,r=-1/0;e.getFaces(a,i,BarItems.uv_mirror_y).forEach(l=>{a.faces[l].vertices.forEach(c=>{o=Math.min(o,a.faces[l].uv[c][1]),r=Math.max(r,a.faces[l].uv[c][1])})});let s=Math.lerp(o,r,.5);e.getFaces(a,i,BarItems.uv_mirror_y).forEach(l=>{a.faces[l].vertices.forEach(c=>{a.faces[l].uv[c][1]=s*2-a.faces[l].uv[c][1]})})}a.autouv&&(a.autouv=0),a.preview_controller.updateUV(a)});for(let a of n)a.updateChangesAfterEdit();this.message("uv_editor.mirrored"),this.loadData()},applyAll(){let i=this.getReferenceFace();this.forCubes(e=>{Z.cube_faces.forEach(t=>{e.faces[t].extend(i)}),e.autouv=0}),Canvas.updateSelectedFaces(),this.message("uv_editor.to_all"),this.loadData()},clear(i){var e=this;Undo.initEdit({elements:Cube.selected,uv_only:!0}),this.forCubes(t=>{e.getFaces(t,i,BarItems.uv_transparent).forEach(function(n){t.faces[n].uv=[0,0,0,0],t.faces[n].texture=null}),t.preview_controller.updateFaces(t)}),this.loadData(),this.message("uv_editor.transparent"),Undo.finishEdit("Remove face"),Canvas.updateSelectedFaces()},switchCullface(i){Undo.initEdit({elements:Cube.selected,uv_only:!0});var e=BarItems.cullface.get();e==="off"&&(e=!1),this.forCubes(t=>{Z.getSelectedFaces(t).forEach(n=>{t.faces[n].cullface=e||""})}),e?this.message("uv_editor.cullface_on"):this.message("uv_editor.cullface_off"),Undo.finishEdit("Toggle cullface")},switchTint(i){var e=Z.getReferenceFace().tint===-1?0:-1;(i===0||i===!1)&&(e=i),this.forCubes(t=>{Z.getSelectedFaces(t).forEach(n=>{t.faces[n].tint=e})}),e!==-1?this.message("uv_editor.tint_on"):this.message("uv_editor.tint_off"),this.displayTools()},setTint(i,e){this.forCubes(t=>{Z.getSelectedFaces(t).forEach(n=>{t.faces[n].tint=e})}),this.displayTools()},rotate(i){var e=parseInt(BarItems.uv_rotation.get());let t=this.getReferenceFace(),n=!!(BarItems.move_texture_with_uv.value&&this.texture&&this._originalRotations&&this._originalPixels),a=new Set;if(n&&Format.uv_rotation){this.forCubes(s=>{this.getSelectedFaces(s).forEach(l=>{if(s.faces[l].texture===null)return;let d=s.uuid+":"+l,u=this._originalRotations[d]||0,p=(e-u+360)%360,m=this._originalPixels[d];if(!m||!m.pixels)return;let _=d5(m.pixels,p),f=Math.max(m.w,m.h);m.texture.ctx.clearRect(m.x,m.y,f,f),m.texture.ctx.putImageData(_,m.x,m.y),a.add(m.texture)})});for(let s of a)s.updateSource(s.canvas.toDataURL())}Cube.selected[0]&&t instanceof CubeFace&&Math.abs(t.rotation-e)%180==90&&Z.turnMapping(),Format.uv_rotation&&this.forCubes(s=>{this.getSelectedFaces(s).forEach(l=>{s.faces[l].rotation=e}),s.preview_controller.updateUV(s)});let o=this.vue.getSelectedUVBoundingBox(),r=[(o[0]+o[2])/2,(o[1]+o[3])/2];Mesh.selected.forEach(s=>{s.getSelectedFaces().forEach(l=>{let c=s.faces[l];c.vertices.length<3||c.vertices.forEach(d=>{if(!c.uv[d])return;let u=Math.sin(Math.degToRad(i)),p=Math.cos(Math.degToRad(i));c.uv[d][0]-=r[0],c.uv[d][1]-=r[1];let m=c.uv[d][0]*p-c.uv[d][1]*u,_=c.uv[d][0]*u+c.uv[d][1]*p;c.uv[d][0]=m+r[0],c.uv[d][1]=_+r[1],Z.isUVClamped()&&(c.uv[d][0]=Math.clamp(c.uv[d][0],0,Z.getUVWidth()),c.uv[d][1]=Math.clamp(c.uv[d][1],0,Z.getUVHeight()))})}),Mesh.preview_controller.updateUV(s)}),this.loadData(),this.message("uv_editor.rotated")},setRotation(i){i=parseInt(i),this.forCubes(e=>{this.getSelectedFaces(e).forEach(t=>{e.faces[t].rotation=i}),e.preview_controller.updateUV(e)}),this.loadData(),this.message("uv_editor.rotated")},selectGridSize(i){},autoCullface(i){this.forCubes(e=>{Z.getFaces(e,i,BarItems.auto_cullface).forEach(function(t){e.faces[t].cullface=t})}),this.loadData(),this.message("uv_editor.auto_cull")},copy(i){let e=this.getMappableElements();if(!e.length)return;let t=BarItems.copy.keybind.additionalModifierTriggered(i)=="multiple";if(Z.clipboard=[],Z.isBoxUV()&&Cube.selected[0]){var n={uv:Cube.selected[0].uv_offset};Z.clipboard.push(n),this.message("uv_editor.copied");return}function a(o){let r=e[0];if(r){var s=r.faces[o],l;r instanceof Mesh?(l=new MeshFace(null,s),Property.resetUniqueValues(MeshFace,l),l.vertices=s.getSortedVertices(),l.direction=o):r instanceof Billboard?(l=new BillboardFace(o,s),Property.resetUniqueValues(BillboardFace,l)):(l=new CubeFace(o,s),Property.resetUniqueValues(CubeFace,l)),Z.clipboard.push(l)}}if(t)for(let o in e[0].faces)a(o);else Z.getSelectedFaces(e[0]).forEach(o=>{a(o)});this.message("uv_editor.copied_x",[Z.clipboard.length])},paste(i){let e=Z.getMappableElements();if(Z.clipboard===null||e.length===0)return;let t=BarItems.paste.keybind.additionalModifierTriggered(i)=="multiple";Undo.initEdit({elements:e,uv_only:!0}),Z.isBoxUV()&&Z.clipboard[0].uv instanceof Array&&Cube.selected.forEach(function(a){a.uv_offset=Z.clipboard[0].uv.slice(),a.preview_controller.updateUV(a)});function n(a,o,r){if(!a.faces[o])return;let s=a.faces[o];if(a instanceof Mesh){let l=[];r.vertices.forEach(c=>{l.push(r.uv[c])}),s.getSortedVertices().forEach((c,d)=>{l[d]&&s.uv[c].replace(l[d])}),s.texture=r.texture}else s.extend(r)}if(t||Z.clipboard.length===1){let a=Z.clipboard[0];e.forEach(o=>{if(!(o.getTypeBehavior("cube_faces")&&o.box_uv)&&(o.getTypeBehavior("cube_faces")&&a instanceof CubeFace||o instanceof Mesh&&a instanceof MeshFace)){let r=Z.getSelectedFaces(o);for(let s in o.faces)(t||r.includes(s))&&n(o,s,a);o.preview_controller.updateUV(o),o.preview_controller.updateFaces(o)}})}else Z.clipboard.forEach(a=>{e.forEach(o=>{if(!(o.getTypeBehavior("cube_faces")&&o.box_uv)&&(o.getTypeBehavior("cube_faces")&&a instanceof CubeFace||o instanceof Mesh&&a instanceof MeshFace)){let r=a.direction;o.faces[r]&&n(o,r,a)}})}),e.forEach(a=>{a.preview_controller.updateUV(a),a.preview_controller.updateFaces(a)});this.loadData(),Canvas.updateSelectedFaces(),this.message("uv_editor.pasted"),Undo.finishEdit("Paste UV")},reset(i){var e=this;this.forCubes(t=>{e.getFaces(t,i,BarItems.uv_reset).forEach(function(n){t.faces[n].reset()}),t.preview_controller.updateFaces(t),t.preview_controller.updateUV(t)}),this.loadData(),this.message("uv_editor.reset")},clipboard:null,cube_faces:["north","south","west","east","up","down"],forSelection(i,e,...t){Z[i](e,...t)},menu:new Menu([new MenuSeparator("interface"),{name:"menu.view.zoom",id:"zoom",icon:"search",children:["zoom_in","zoom_out","zoom_reset"]},{name:"settings.display_uv",id:"display_uv",icon:"visibility",condition:()=>Modes.edit&&!Format.image_editor,children:()=>["selected_faces","selected_elements","all_elements"].map(e=>({id:e,name:`settings.display_uv.${e}`,icon:Z.vue.display_uv==e?"far.fa-dot-circle":"far.fa-circle",condition:!(e=="selected_faces"&&Z.isBoxUV()&&!Mesh.selected.length),click(){Z.vue.display_uv=e,settings.display_uv.set(e)}}))},"focus_on_selection","painting_grid","uv_checkerboard","paint_mode_uv_overlay",new MenuSeparator("copypaste"),"copy","paste","cube_uv_mode",new MenuSeparator("uv"),{name:"menu.uv.export",icon:()=>Z.getReferenceFace()?.enabled!==!1?"check_box":"check_box_outline_blank",condition:()=>!Z.isBoxUV()&&Z.getReferenceFace()&&Format.java_face_properties,click(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.toggleUV(i),Undo.finishEdit("Toggle UV export")}},"uv_maximize","uv_auto","uv_rel_auto","uv_project_from_view","move_uv_to_cursor","connect_uv_faces","merge_uv_vertices","snap_uv_to_pixels","uv_rotate_left","uv_rotate_right",{icon:"rotate_90_degrees_ccw",condition:()=>Z.getReferenceFace()instanceof CubeFace&&Format.uv_rotation,name:"menu.uv.mapping.rotation",children(){let i=Z.getReferenceFace(),e="far.fa-circle",t="far.fa-dot-circle";return[{icon:i.rotation?e:t,name:"0\xB0",click(){Undo.initEdit({elements:Outliner.selected.filter(n=>n.getTypeBehavior("cube_faces")),uv_only:!0}),Z.setRotation(0),Undo.finishEdit("Rotate UV")}},{icon:i.rotation===90?t:e,name:"90\xB0",click(){Undo.initEdit({elements:Outliner.selected.filter(n=>n.getTypeBehavior("cube_faces")),uv_only:!0}),Z.setRotation(90),Undo.finishEdit("Rotate UV")}},{icon:i.rotation===180?t:e,name:"180\xB0",click(){Undo.initEdit({elements:Outliner.selected.filter(n=>n.getTypeBehavior("cube_faces")),uv_only:!0}),Z.setRotation(180),Undo.finishEdit("Rotate UV")}},{icon:i.rotation===270?t:e,name:"270\xB0",click(){Undo.initEdit({elements:Outliner.selected.filter(n=>n.getTypeBehavior("cube_faces")),uv_only:!0}),Z.setRotation(270),Undo.finishEdit("Rotate UV")}}]}},"uv_cycle","uv_cycle_invert","uv_turn_mapping",{name:"menu.uv.flip_x",icon:()=>Z.isSelectedFaceMirrored(0)?"check_box":"check_box_outline_blank",condition:()=>!Z.isBoxUV()&&Z.getReferenceFace(),click(i){Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0}),Z.mirrorX(i),Undo.finishEdit("Flip UV")}},{name:"menu.uv.flip_y",icon:()=>Z.isSelectedFaceMirrored(1)?"check_box":"check_box_outline_blank",condition:()=>!Z.isBoxUV()&&Z.getReferenceFace(),click(i){Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0}),Z.mirrorY(i),Undo.finishEdit("Flip UV")}},new MenuSeparator("face_options"),"face_tint",{icon:"flip_to_back",condition:()=>Format.cullfaces&&Cube.selected.length&&Z.getReferenceFace(),name:"action.cullface",children:function(){let i="far.fa-circle",e="far.fa-dot-circle";function t(n){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forCubes(a=>{Z.getSelectedFaces(a).forEach(o=>{a.faces[o].cullface=n})}),Undo.finishEdit(n?`Set cullface to ${n}`:"Disable cullface")}return[{icon:Z.getReferenceFace().cullface?i:e,name:"uv_editor.no_faces",click:()=>t("")},{icon:Z.getReferenceFace().cullface=="north"?e:i,name:"face.north",click:()=>t("north")},{icon:Z.getReferenceFace().cullface=="south"?e:i,name:"face.south",click:()=>t("south")},{icon:Z.getReferenceFace().cullface=="west"?e:i,name:"face.west",click:()=>t("west")},{icon:Z.getReferenceFace().cullface=="east"?e:i,name:"face.east",click:()=>t("east")},{icon:Z.getReferenceFace().cullface=="up"?e:i,name:"face.up",click:()=>t("up")},{icon:Z.getReferenceFace().cullface=="down"?e:i,name:"face.down",click:()=>t("down")},"auto_cullface"]}},{icon:"collections",name:"menu.uv.texture",condition:()=>Z.getReferenceFace()&&!Format.single_texture,children:function(){let i=[{icon:"crop_square",name:Format.single_texture_default?"menu.cube.texture.default":"menu.cube.texture.blank",click:function(e,t){let n=Z.vue.mappable_elements.slice();if(Format.per_group_texture){n=[];let a=Group.multi_selected;Outliner.selected.forEach(o=>{o.faces&&o.parent instanceof Group&&a.safePush(o.parent)}),Undo.initEdit({groups:a}),a.forEach(o=>{o.texture="",o.forEachChild(r=>{r.faces&&n.safePush(r)})})}else Undo.initEdit({elements:n,uv_only:!0}),n.forEach(a=>{Z.getFaces(a,t).forEach(o=>{a.faces[o].texture=!1})});Z.loadData(),Canvas.updateView({elements:n,element_aspects:{faces:!0,uv:!0}}),Z.message("uv_editor.reset"),Undo.finishEdit("Apply blank texture")}},{icon:"clear",name:"menu.cube.texture.transparent",condition:()=>Z.getReferenceFace()instanceof CubeFace,click:function(e){Z.clear(e)}}];return Texture.all.forEach(function(e){i.push({name:e.name,icon:e.mode==="link"?e.img:e.source,marked:e==Z.texture,click(){Z.applyTexture(e)}})}),i}}])};SharedActions.add("select_all",{condition:()=>Prop.active_panel=="uv"&&Modes.edit,run(){Undo.initSelection(),Z.selectAll(),Z.vue.$forceUpdate(),Undo.finishSelection("Select all UV")}});SharedActions.add("select_all",{condition:()=>Prop.active_panel=="uv"&&Modes.paint&&Z.texture,run(){Undo.initSelection({texture_selection:!0}),Z.texture.selection.setOverride(Z.texture.selection.override!=!0),Z.updateSelectionOutline(),Undo.finishSelection("Select all"),Interface.removeSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")}});SharedActions.add("unselect_all",{condition:()=>Prop.active_panel=="uv"&&Modes.edit,run(){Undo.initSelection(),Z.getMappableElements().forEach(i=>{Z.getSelectedFaces(i,!0).empty()}),Z.displayTools(),Z.vue.$forceUpdate(),Undo.finishSelection("Unselect all UV")}});SharedActions.add("unselect_all",{condition:()=>Prop.active_panel=="uv"&&Modes.paint&&Z.texture,run(){Undo.initSelection({texture_selection:!0}),Z.texture.selection.setOverride(!1),Undo.finishSelection("Unselect all"),Z.updateSelectionOutline(),Interface.removeSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")}});SharedActions.add("invert_selection",{condition:()=>Prop.active_panel=="uv"&&Modes.paint&&Z.texture,run(){Undo.initSelection({texture_selection:!0});let i=Z.texture;i.selection.is_custom?i.selection.forEachPixel((e,t,n,a)=>{i.selection.array[a]=n?0:1}):i.selection.setOverride(!i.selection.override),Z.updateSelectionOutline(),Undo.finishSelection("Invert selection")}});BARS.defineActions(function(){new BarSlider("uv_rotation",{category:"uv",condition:()=>Z.isFaceUV()&&Format.uv_rotation&&Cube.selected.length,min:0,max:270,step:90,width:80,circular:!0,onBefore:()=>{let i=!!(BarItems.move_texture_with_uv.value&&Z.texture);Undo.initEdit({elements:Cube.selected,uv_only:!0,bitmap:i,textures:i?[Z.texture]:void 0}),i&&(Z._originalRotations={},Z._originalPixels={},Cube.selected.forEach(e=>{Z.getSelectedFaces(e).forEach(t=>{let n=e.faces[t],a=e.uuid+":"+t;if(Z._originalRotations[a]=n.rotation||0,n.texture!==null){let o=n.getTexture();if(o&&o.ctx){let r=o.width/Z.getUVWidth(),s=o.height/Z.getUVHeight(),l=n.uv,c=Math.floor(Math.min(l[0],l[2])*r),d=Math.floor(Math.min(l[1],l[3])*s),u=Math.ceil(Math.abs(l[2]-l[0])*r)||1,p=Math.ceil(Math.abs(l[3]-l[1])*s)||1;Z._originalPixels[a]={texture:o,x:c,y:d,w:u,h:p,pixels:o.ctx.getImageData(c,d,u,p)}}}})}))},onChange:function(){Z.rotate()},onAfter:()=>{if(Z._originalPixels){let i=new Set;for(let e in Z._originalPixels)i.add(Z._originalPixels[e].texture);for(let e of i)e.updateChangesAfterEdit()}delete Z._originalRotations,delete Z._originalPixels,Undo.finishEdit("Rotate UV")}}),new BarSelect("uv_grid",{category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,min_width:68,value:"auto",options:{auto:"Pixel","1x":"1x","2x":"2x","3x":"3x","4x":"4x","6x":"6x","8x":"8x"},onChange:function(i){var e=i.get().replace(/x/,"");Z.setGrid(e)}}),new Action("uv_maximize",{icon:"zoom_out_map",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("maximize",i),Undo.finishEdit("Maximize UV")}}),new Action("uv_turn_mapping",{icon:"screen_rotation",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("turnMapping",i),Undo.finishEdit("Turn UV mapping")}}),new Action("uv_auto",{icon:"brightness_auto",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length||Mesh.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0}),Z.forSelection("setAutoSize",i),Undo.finishEdit("Auto UV")}}),new Action("uv_project_from_view",{icon:"view_in_ar",category:"uv",condition:()=>Z.isFaceUV()&&Mesh.selected.length,click(i){Undo.initEdit({elements:Mesh.selected,uv_only:!0});let e=Preview.selected,t=new THREE.Vector3;function n(a){let o=.5*e.canvas.width/window.devicePixelRatio,r=.5*e.canvas.height/window.devicePixelRatio;return a.project(e.camera),[a.x*o+o,-(a.y*r)+r]}Mesh.selected.forEach(a=>{let o=e.calculateControlScale(a.getWorldCenter())/14,r=Z.getSelectedFaces(a),s={},l=[1/0,1/0],c=[-1/0,-1/0],d=[0,0],u=0;for(let m in a.faces)r.includes(m)&&a.faces[m].vertices.forEach(_=>{if(!s[_]){s[_]=n(a.mesh.localToWorld(t.fromArray(a.vertices[_])));for(let f of[0,1])s[_][f]*=o,l[f]=Math.min(l[f],s[_][f]),c[f]=Math.max(c[f],s[_][f]),d[f]+=a.faces[m].uv[_][f];u++}});d.V2_divide(u);let p=d.map((m,_)=>{let f=m-Math.lerp(l[_],c[_],.5);return Math.clamp(f,-l[1],c[1])});for(let m in a.faces)r.includes(m)&&a.faces[m].vertices.forEach(_=>{a.faces[m].uv[_][0]=s[_][0]+p[0],a.faces[m].uv[_][1]=s[_][1]+p[1]});a.preview_controller.updateUV(a)}),Z.loadData(),Undo.finishEdit("Auto UV")}}),new Action("uv_rel_auto",{icon:"brightness_auto",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("setRelativeAutoSize",i),Undo.finishEdit("Auto UV")}}),new Action("uv_mirror_x",{icon:"icon-mirror_x",category:"uv",condition:()=>Z.isFaceUV()&&Z.hasElements(),keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){let e=!!(BarItems.move_texture_with_uv.value&&Z.texture);Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0,bitmap:e,textures:e?[Z.texture]:void 0}),Z.forSelection("mirrorX",i),Undo.finishEdit("Mirror UV")}}),new Action("uv_mirror_y",{icon:"icon-mirror_y",category:"uv",condition:()=>Z.isFaceUV()&&Z.hasElements(),keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){let e=!!(BarItems.move_texture_with_uv.value&&Z.texture);Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0,bitmap:e,textures:e?[Z.texture]:void 0}),Z.forSelection("mirrorY",i),Undo.finishEdit("Mirror UV")}}),new Action("uv_rotate_left",{icon:"rotate_left",category:"uv",condition:()=>Mesh.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Mesh.selected,uv_only:!0}),Z.rotate(-90),Undo.finishEdit("Rotate UV left")}}),new Action("uv_rotate_right",{icon:"rotate_right",category:"uv",condition:()=>Mesh.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Mesh.selected,uv_only:!0}),Z.rotate(90),Undo.finishEdit("Rotate UV right")}}),new Action("uv_transparent",{icon:"clear",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Z.forSelection("clear",i)}}),new Action("uv_reset",{icon:"replay",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("reset",i),Undo.finishEdit("Reset UV")}}),new Action("uv_apply_all",{icon:"format_color_fill",category:"uv",condition:()=>Z.isFaceUV()&&Cube.selected.length,click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.applyAll(i),Undo.finishEdit("Apply UV to all faces")}}),new BarSelect("cullface",{category:"uv",condition:()=>Z.isFaceUV()&&Format.cullfaces&&Cube.selected.length&&Z.getReferenceFace(),label:!0,options:{off:tl("uv_editor.no_faces"),north:tl("face.north"),south:tl("face.south"),west:tl("face.west"),east:tl("face.east"),up:tl("face.up"),down:tl("face.down")},onChange:function(i,e){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("switchCullface"),Undo.finishEdit("Set cullface")}}),new Action("auto_cullface",{icon:"block",category:"uv",condition:()=>Z.isFaceUV()&&Format.cullfaces&&Cube.selected.length&&Z.getReferenceFace(),keybind:new Keybind({},{all_faces:"shift"}),variations:{all_faces:{name:"action.uv_maximize.all_faces"}},click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("autoCullface",i),Undo.finishEdit("Set automatic cullface")}}),new Action("face_tint",{category:"uv",condition:()=>Z.isFaceUV()&&Format.java_face_properties&&Cube.selected.length&&Z.getReferenceFace(),click:function(i){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forSelection("switchTint",i),Undo.finishEdit("Toggle face tint")}}),new NumSlider("slider_face_tint",{category:"uv",condition:()=>Z.isFaceUV()&&Format.java_face_properties&&Cube.selected.length&&Z.getReferenceFace(),getInterval(i){return 1},get:function(){return Cube.selected[0]&&Cube.selected[0].faces[Z.getSelectedFaces(Cube.selected[0],!1)[0]].tint},change:function(i){let e=Math.clamp(Math.round(i(this.get())),-1);Z.setTint(null,e)},onBefore:function(){Undo.initEdit({elements:Cube.selected,uv_only:!0})},onAfter:function(){Undo.finishEdit("Set face tint")}}),new Action("move_uv_to_cursor",{icon:"fas.fa-magnet",category:"uv",keybind:new Keybind({alt:!0,key:"u"}),condition:{modes:["edit"],method:()=>Z.hasElements()},click(i){Undo.initEdit({elements:Z.getMappableElements(),uv_only:!0});let e=[Z.getFacePosition(0)+Math.round(Z.getFaceSize(0)/2),Z.getFacePosition(1)+Math.round(Z.getFaceSize(1)/2)],t=[Z.vue.mouse_coords.x*(Z.getUVWidth()/Z.texture.width),Z.vue.mouse_coords.y*(Z.getUVHeight()/Z.texture.height)];Z.slidePos(n=>n+t[0]-e[0],0),Z.slidePos(n=>n+t[1]-e[1],1),Undo.finishEdit("Move UV to cursor")}}),new Action("merge_uv_vertices",{icon:"close_fullscreen",category:"uv",condition:()=>Z.isFaceUV()&&Mesh.selected[0]&&Z.getSelectedFaces(Mesh.selected[0]).length>=2,click:function(i){Undo.initEdit({elements:Mesh.selected,uv_only:!0}),Mesh.selected.forEach(e=>{let t=e.getSelectedVertices(),n=e.getSelectedFaces(),a=e.faces[n.last()],o={},r;a.vertices.forEach(s=>{t.includes(s)&&(o[s]=a.uv[s],r=a.uv[s])}),n.forEach(s=>{let l=e.faces[s];if(!l||l==a)return;let c=0;l.vertices.forEach(d=>{t.includes(d)&&l.uv[d]&&(l.uv[d][0]=(o[d]||r)[0],l.uv[d][1]=(o[d]||r)[1],c++)})}),e.preview_controller.updateUV(e)}),Z.loadData(),Undo.finishEdit("Merge UV vertices")}}),new Action("connect_uv_faces",{icon:"move_up",category:"uv",condition:()=>Z.isFaceUV()&&Mesh.selected[0]&&Z.getSelectedFaces(Mesh.selected[0]).length>=2,click:function(i){Undo.initEdit({elements:Mesh.selected,uv_only:!0}),Mesh.selected.forEach(e=>{let t=e.getSelectedFaces(),n=e.faces[t.last()],a=e.faces[t[0]],o=n.vertices.filter(m=>a.vertices.includes(m)),r;if(o.length==2)r=o;else{let m=[],_=n.vertices.map(f=>{let g=n.uv[f],v=1/0,b;return a.vertices.forEach(x=>{if(m.includes(x))return;let w=a.uv[x],E=Math.sqrt(Math.pow(w[0]-g[0],2),Math.pow(w[1]-g[1],2));E<v&&(b=x,v=E)}),m.push(m),{vkey1:f,vkey2:b,distance:v}});_.sort((f,g)=>f.distance-g.distance),o=[_[0].vkey1,_[1].vkey1],r=[_[0].vkey2,_[1].vkey2]}let s=Math.PI+Math.atan2(n.uv[o[0]][1]-n.uv[o[1]][1],n.uv[o[0]][0]-n.uv[o[1]][0]),l=Math.PI+Math.atan2(a.uv[r[0]][1]-a.uv[r[1]][1],a.uv[r[0]][0]-a.uv[r[1]][0]),c=(s-l+Math.PI*6)%(Math.PI*2),d=Math.sin(c),u=Math.cos(c);t.forEach(m=>{let _=e.faces[m];!_||_==n||_.vertices.forEach(f=>{_.uv[f]&&(_.uv[f][0]=_.uv[f][0]*u-_.uv[f][1]*d,_.uv[f][1]=_.uv[f][0]*d+_.uv[f][1]*u)})});let p=[n.uv[o[0]][0]-a.uv[r[0]][0],n.uv[o[0]][1]-a.uv[r[0]][1]];t.forEach(m=>{let _=e.faces[m];!_||_==n||_.vertices.forEach(f=>{_.uv[f]&&(_.uv[f][0]=_.uv[f][0],_.uv[f][1]=_.uv[f][1],Z.isUVClamped()&&(_.uv[f][0]=Math.clamp(_.uv[f][0],0,Project.texture_width),_.uv[f][1]=Math.clamp(_.uv[f][1],0,Project.texture_height)))})}),e.preview_controller.updateUV(e)}),Z.loadData(),Undo.finishEdit("Connect UV faces")}}),new Action("snap_uv_to_pixels",{icon:"grid_goldenratio",category:"uv",condition:()=>Z.isFaceUV()&&Z.hasElements(),click:function(i){let e=Z.getMappableElements();Undo.initEdit({elements:e,uv_only:!0}),e.forEach(t=>{let n=t instanceof Mesh&&t.getSelectedVertices();Z.getSelectedFaces(t).forEach(a=>{if(!t.faces[a])return;let o=t.faces[a],r=o.getTexture(),s=1,l=2;r&&(s=r.getUVWidth()/r.width,l=r.getUVHeight()/r.display_height),t instanceof Mesh?o.vertices.forEach(c=>{(!n.length||n.includes(c))&&o.uv[c]&&(o.uv[c][0]=Math.round(o.uv[c][0]/s)*s,o.uv[c][1]=Math.round(o.uv[c][1]/l)*l,Z.isUVClamped()&&(o.uv[c][0]=Math.clamp(o.uv[c][0],0,Z.getUVWidth()),o.uv[c][1]=Math.clamp(o.uv[c][1],0,Z.getUVHeight())))}):o instanceof CubeFace&&(o.uv[0]=Math.round(o.uv[0]/s)*s,o.uv[1]=Math.round(o.uv[1]/l)*l,o.uv[2]=Math.round(o.uv[2]/s)*s,o.uv[3]=Math.round(o.uv[3]/l)*l,Z.isUVClamped()&&(o.uv[0]=Math.clamp(o.uv[0],0,Z.getUVWidth()),o.uv[1]=Math.clamp(o.uv[1],0,Z.getUVHeight()),o.uv[2]=Math.clamp(o.uv[2],0,Z.getUVWidth()),o.uv[3]=Math.clamp(o.uv[3],0,Z.getUVHeight())))}),t.preview_controller.updateUV(t)}),Z.loadData(),Undo.finishEdit("Snap UV to pixel grid")}}),new Action("uv_cycle",{icon:"fa-arrows-spin",category:"uv",condition:()=>Mesh.hasSelected(),click(i){let e=Mesh.selected;Undo.initEdit({elements:e,uv_only:!0}),e.forEach(t=>{Z.getSelectedFaces(t).forEach(n=>{let a=t.faces[n];if(!a||a.vertices.length<3)return;let o,r=a.getSortedVertices(),s=i?.shiftKey||Pressing.overrides.shift?-1:1;r[s==1?"forEach":"forEachReverse"]((l,c)=>{o||(o=a.uv[l]);let d=r[c+s];a.uv[l]=d?a.uv[d]:o})}),t.preview_controller.updateUV(t)}),Z.loadData(),Undo.finishEdit("Cycle UV")}}),new Action("uv_cycle_invert",{icon:"fa-group-arrows-rotate",category:"uv",condition:()=>Mesh.hasSelected(),click(i){let e=Mesh.selected;Undo.initEdit({elements:e,uv_only:!0}),e.forEach(t=>{Z.getSelectedFaces(t).forEach(n=>{let a=t.faces[n];if(!a||a.vertices.length<3)return;let o=a.getSortedVertices(),r=o.length-1,s=a.uv[o[1]];a.uv[o[1]]=a.uv[o[r]],a.uv[o[r]]=s}),t.preview_controller.updateUV(t)}),Z.loadData(),Undo.finishEdit("Cycle reverse UV")}}),new Toggle("edit_mode_uv_overlay",{icon:"stack",category:"uv",condition:{modes:["edit"]},default:settings.display_uv.value=="all_elements",onChange(i){let e=i?"all_elements":"selected_elements";Z.vue.display_uv=e,settings.display_uv.set(e)}}),new Toggle("paint_mode_uv_overlay",{icon:"stack",category:"uv",condition:{modes:["paint"],method:()=>!Format.image_editor},save_on_restart:!0,onChange(i){Z.vue.uv_overlay=i}}),new Toggle("move_texture_with_uv",{icon:"fas.fa-link",category:"uv",condition:{modes:["edit"]}})});Interface.definePanels(function(){Z.panel=new Panel("uv",{icon:"photo_size_select_large",expand_button:!0,condition:{modes:["edit","paint"],method:()=>!Format.image_editor},display_condition:()=>Z.hasElements()||Modes.paint,default_position:{slot:"left_bar",float_position:[300,0],float_size:[500,600],height:500,sidebar_index:1},min_height:200,resizable:!0,toolbars:[new Toolbar("uv_editor",{children:["move_texture_with_uv","uv_apply_all","uv_maximize","uv_auto","uv_project_from_view","uv_transparent","uv_mirror_x","uv_mirror_y","uv_rotation","toggle_mirror_uv"]})],onResize:function(){Z.vue.hidden=Format.image_editor?!1:!this.isVisible(),Vue.nextTick(()=>{Z.vue.updateSize()})},onFold:function(){Vue.nextTick(()=>{this.folded||Z.loadData(),Z.vue.hidden=Format.image_editor?!1:!this.isVisible()})},component:{data(){return{mode:"uv",hidden:!1,box_uv:!1,cube_uv_rotation:!0,width:320,height:320,zoom:1,centered_view:!0,checkerboard:settings.uv_checkerboard.value,pixel_grid:settings.painting_grid.value,uv_overlay:BarItems.paint_mode_uv_overlay.value,texture:0,layer:null,mouse_coords:{x:-1,y:-1,active:!1,line_preview:!1},touches_count:0,last_brush_position:[0,0],copy_brush_source:null,helper_lines:{x:-1,y:-1},brush_type:BarItems.brush_shape.value,overlay_canvas_mode:null,selection_rect:{pos_x:0,pos_y:0,width:0,height:0,active:!1},texture_selection_rect:{pos_x:0,pos_y:0,width:0,height:0,active:!1,ellipse:!1},texture_selection_polygon:[],uv_resolution:[16,16],elements:[],all_elements:[],display_uv:settings.display_uv.value,selection_outline:"",face_names:{north:tl("face.north"),south:tl("face.south"),west:tl("face.west"),east:tl("face.east"),up:tl("face.up"),down:tl("face.down")},cullface_options:{"":tl("uv_editor.no_faces"),north:tl("face.north"),south:tl("face.south"),west:tl("face.west"),east:tl("face.east"),up:tl("face.up"),down:tl("face.down")}}},computed:{inner_width(){return this.applicable_aspect_ratio<this.width/this.height?this.height*this.zoom*this.applicable_aspect_ratio:this.width*this.zoom},inner_height(){return Math.min(this.height*this.zoom,this.width*this.zoom/this.applicable_aspect_ratio)},applicable_aspect_ratio(){return this.mode=="paint"&&this.texture&&this.texture.width?this.texture.width/this.texture.display_height:this.uv_resolution[0]/this.uv_resolution[1]},mappable_elements(){return this.elements.filter(a=>a.faces&&!a.locked)},all_mappable_elements(){return this.all_elements.filter(a=>a.faces&&!a.locked)},textureGrid(){if(!this.texture)return"";let a=[],o=Z.getTexturePixelSize();if(o<=5)return"";for(let r=1;r<this.texture.display_height;r++)r%16!=0&&a.push(`M0 ${r*o} L${this.inner_width} ${r*o}`);for(let r=1;r<this.texture.width;r++)r%16!=0&&a.push(`M${r*o} 0 L${r*o} ${this.inner_height}`);return a.join(" ")},textureGridStroke(){if(!this.texture)return"";let a=Z.getTexturePixelSize();return Math.clamp((a-4)/16,0,.4)+"px"},textureGridBold(){if(!this.texture)return"";let a=[],o=Z.getTexturePixelSize(),r=settings.image_editor_grid_size.value;for(let s=r;s<this.texture.display_height;s+=r)a.push(`M0 ${s*o} L${this.inner_width} ${s*o}`);for(let s=r;s<this.texture.width;s+=r)a.push(`M${s*o} 0 L${s*o} ${this.inner_height}`);return a.join(" ")}},watch:{texture(){this.uv_resolution.splice(0,2,Z.getUVWidth(),Z.getUVHeight())},"texture.uv_width"(a){this.uv_resolution.splice(0,2,Z.getUVWidth(),Z.getUVHeight())},"texture.uv_height"(a){this.uv_resolution.splice(0,2,Z.getUVWidth(),Z.getUVHeight())},mode(){Vue.nextTick(()=>{this.updateSize()})}},methods:{tl,projectResolution(){Jm(Format.per_texture_uv_size?{texture:Z.texture}:{project:!0})},updateSize(){if(!this.$refs.viewport)return;let a=this.width,o=Format.image_editor?Math.floor(Math.clamp(Interface.center_screen.clientWidth-8,64,1e5)):Math.floor(Math.clamp(Z.panel.width-8,64,1e5));this.width=o,Format.image_editor?this.height=Interface.preview.clientHeight-38:Panels.uv.getContainerPanel().slot.includes("_bar")&&!Z.panel.fixed_height?this.height=o:this.height=Math.clamp(Z.panel.height-Z.panel.tab_bar.clientHeight-9-(this.$refs.uv_cube_face_bar?this.$refs.uv_cube_face_bar.clientHeight:0)-(this.$refs.uv_toolbars?this.$refs.uv_toolbars.clientHeight:0)-(this.mode=="paint"?30:0),64,1e5),this.$refs.viewport.scrollLeft=Math.round(this.$refs.viewport.scrollLeft*(o/a)),this.$refs.viewport.scrollTop=Math.round(this.$refs.viewport.scrollTop*(o/a)),this.$refs.viewport&&this.zoom==1&&(!this.$refs.viewport.scrollLeft&&!this.$refs.viewport.scrollTop||this.centered_view)&&this.centerView(),this.updateTextureCanvas(),Z.updateSelectionOutline(!1)},centerView(){this.$refs.viewport&&(this.$refs.viewport.scrollLeft=this.width/2,this.$refs.viewport.scrollTop=this.height/2,Z.updateUVNavigator()),this.centered_view=!0},setMode(a){this.mouse_coords.active=!1,this.mode=a,this.updateTexture()},updateTexture(){let a;if(Format.single_texture)a=Texture.getDefault();else{let o=Z.getMappableElements();if(o.length)for(let r of o){let s=r.faces[Z.getSelectedFaces(r)[0]||Object.keys(r.faces)[0]];if(s&&(a=s.getTexture()||a),a)break}else Modes.paint&&(a=Texture.getDefault())}a===null?this.texture=null:a instanceof Texture&&BarItems.view_mode.value=="material"&&a?.getGroup()?.getTextures()?.includes(Texture.selected)?(this.texture=a=Texture.selected,!Z.isBoxUV()&&Z.auto_grid&&(Z.grid=a.width/Z.getUVWidth())):a instanceof Texture?(this.texture=a,!Z.isBoxUV()&&Z.auto_grid&&(Z.grid=a.width/Z.getUVWidth())):this.texture=0,this.layer=this.texture&&this.texture.selected_layer||null,Z.updateSelectionOutline(),this.updateTextureCanvas()},updateTextureCanvas(){this.texture&&(this.texture.canvas.style.objectPosition=`0 ${-this.texture.currentFrame*this.inner_height}px`,this.texture.canvas.style.objectFit=this.texture.frameCount>1?"cover":"fill",this.texture.canvas.style.imageRendering=this.texture.width<this.inner_width?"inherit":"auto",Z.updateOverlayCanvas(),Vue.nextTick(()=>{let a=this.$refs.texture_canvas_wrapper,o=this.overlay_canvas_mode||this.texture.wrap_mode=="repeat";if(!(!a||a.firstChild==this.texture.canvas&&!o)){for(;a.firstChild;)a.firstChild.remove();Z.overlay_canvas&&o&&a.append(Z.overlay_canvas),a.append(this.texture.canvas)}}))},updateMouseCoords(a){if(convertTouchEvent(a),!this.texture||$i.active)return;var{x:o,y:r}=Z.getBrushCoordinates(a,this.texture);this.mouse_coords.active=!0,this.mouse_coords.x=o,this.mouse_coords.y=r;let s=Toolbox.selected.id=="move_layer_tool"||Toolbox.selected.id=="selection_tool"&&settings.move_with_selection_tool.value&&this.texture&&this.texture.selection.get(this.mouse_coords.x,this.mouse_coords.y)&&BarItems.selection_tool_operation_mode.value=="create";if(this.$refs.frame.style.cursor=s?"move":"",this.mouse_coords.line_preview){let l=this.getLinePreviewAngle();l=(l+180)%90;let c=Math.sqrt(Math.pow(this.mouse_coords.x-this.last_brush_position[0],2)+Math.pow(this.mouse_coords.y-this.last_brush_position[1],2));Blockbench.setStatusBarText(`${trimFloatNumber(c+1,1)} - ${trimFloatNumber(l,1)}\xB0`)}},onScroll(){Z.updateUVNavigator()},onMouseWheel(a){if(a.ctrlKey&&!Pressing.ctrl||Keybinds.extra.uv_editor_scroll_zoom.keybind.isTriggered(a)&&a.deltaY){a.stopPropagation(),a.preventDefault();let r=this.getFrameMargin(),s=this.zoom,l=a.deltaY<0?.15:-.15;Math.abs(a.deltaY)<10&&(l*=.25),l*=this.zoom*settings.editor_2d_zoom_speed.value/100;let c=this.zoom+l;c>1-Math.abs(l)&&c<1+Math.abs(l)&&(c=1),Z.setZoom(c);let d=()=>{let{viewport:u}=this.$refs,p=$(this.$refs.viewport).offset(),m=this.getFrameMargin(),_=a.clientX-p.left-m[0],f=a.clientY-p.top-m[1];_=(_-this.width/2+m[0])*1.1+this.width/2-m[0],f=(f-this.height/2+m[1])*1.1+this.height/2-m[1];let g=this.zoom-s;u.scrollLeft+=(u.scrollLeft+_)*g/s+m[0]-r[0],u.scrollTop+=(u.scrollTop+f)*g/s+m[1]-r[1];let v=Math.sqrt(Math.pow(m[0]-u.scrollLeft,2)+Math.pow(m[1]-u.scrollTop,2));this.zoom==1&&Panels.uv.isInSidebar()&&v/Z.width<.12&&this.centerView(),this.updateTextureCanvas(),Z.updateUVNavigator(),this.mode=="paint"&&(this.mouse_coords.active=!1)};return l>0?Vue.nextTick(d):d(),!1}},onTouchStart(a){setActivePanel("uv"),this.touches_count=a.touches?.length;let o=this,r,s=this.zoom,l=this.getFrameMargin(),c=$(this.$refs.viewport).offset();if(Z.total_zoom_offset=[6,6],a.touches&&!Toolbox.selected.paintTool&&a.target.id=="uv_frame"){let _=function(g){if(g.touches&&(g.clientX=g.touches[0].clientX,g.clientY=g.touches[0].clientY,!r&&g.touches[1]&&(r=g.touches[1]),r&&g.touches[1])){let v=Math.sqrt(Math.pow(g.touches[0].clientX-g.touches[1].clientX,2)+Math.pow(g.touches[0].clientY-g.touches[1].clientY,2))/Math.sqrt(Math.pow(a.touches[0].clientX-r.clientX,2)+Math.pow(a.touches[0].clientY-r.clientY,2));if(!Math.epsilon(o.zoom,s*v,.01)){Z.setZoom(s*v);let b=o.getFrameMargin(),x=g.clientX-c.left-b[0],w=g.clientY-c.top-b[1],E=o.zoom-s;Z.total_zoom_offset[0]=(m[0]+a.clientX-g.clientX+x)*E/s+b[0]-l[0],Z.total_zoom_offset[1]=(m[1]+a.clientY-g.clientY+w)*E/s+b[1]-l[1]}}d.scrollLeft=Math.snapToValues(m[0]+a.clientX-g.clientX+Z.total_zoom_offset[0],[u[0],p[0]],10),d.scrollTop=Math.snapToValues(m[1]+a.clientY-g.clientY+Z.total_zoom_offset[1],[u[1],p[1]],10),Z.vue.centered_view=(d.scrollLeft==u[0]||d.scrollLeft==p[0])&&(d.scrollTop==u[1]||d.scrollTop==p[1]),Z.updateUVNavigator()},f=function(g){document.removeEventListener("touchmove",_),document.removeEventListener("touchend",f),g.which==3&&Math.pow(d.scrollLeft-m[0],2)+Math.pow(d.scrollTop-m[1],2)>50&&preventContextMenu()};a.touches&&(a.clientX=a.touches[0].clientX,a.clientY=a.touches[0].clientY);let{viewport:d}=this.$refs,u=this.getFrameMargin(),p=[this.width/2,this.height/2],m=[d.scrollLeft-5,d.scrollTop-5];return document.addEventListener("touchmove",_),document.addEventListener("touchend",f),a.preventDefault(),$(getFocusedTextInput()).trigger("blur"),!1}},onTouchEnd(a){this.touches_count=a.touches.length},onPointerDown(a){if(!this.touches_count)if(setActivePanel("uv"),Menu.open&&Menu.open.hide(),Z.total_zoom_offset=[6,6],a.which===2||Keybinds.extra.preview_drag.keybind.isTriggered(a)&&a.which!=1){let c=function(u){o.scrollLeft=Math.snapToValues(l[0]+a.clientX-u.clientX+Z.total_zoom_offset[0],[r[0],s[0]],10),o.scrollTop=Math.snapToValues(l[1]+a.clientY-u.clientY+Z.total_zoom_offset[1],[r[1],s[1]],10),Z.vue.centered_view=(o.scrollLeft==r[0]||o.scrollLeft==s[0])&&(o.scrollTop==r[1]||o.scrollTop==s[1]),Z.updateUVNavigator()},d=function(u){removeEventListeners(document,"pointermove",c),removeEventListeners(document,"pointerup",d),u.which==3&&Math.pow(o.scrollLeft-l[0],2)+Math.pow(o.scrollTop-l[1],2)>50&&preventContextMenu()},{viewport:o}=this.$refs,r=this.getFrameMargin(),s=[this.width/2,this.height/2],l=[o.scrollLeft-5,o.scrollTop-5];return addEventListeners(document,"pointermove",c),addEventListeners(document,"pointerup",d),a.preventDefault(),$(getFocusedTextInput()).trigger("blur"),!1}else{if(this.mode=="paint"&&Toolbox.selected.paintTool&&(a.which===1||a.pointerType==="pen"||a.pointerType==="touch"||Keybinds.extra.paint_secondary_color.keybind.isTriggered(a)))return a.target.id=="uv_viewport"&&(a.offsetX>a.target.clientWidth||a.offsetY>a.target.heightWidth)||Z.startPaintTool(a),a.preventDefault(),!1;if(this.mode=="uv"&&(a.target.id=="uv_frame"||!Z.isUVClamped()&&a.target.id=="uv_viewport")&&(a.which===1&&a.pointerType!=="touch"||a.pointerType==="pen")){let _=function(g){if(r.touches_count==2){f(g);return}o.active=!0;let v=getRectangle(p/r.inner_width*r.uv_resolution[0],m/r.inner_height*r.uv_resolution[1],(p-a.clientX+g.clientX)/r.inner_width*r.uv_resolution[0],(m-a.clientY+g.clientY)/r.inner_height*r.uv_resolution[1]);o.pos_x=v.ax,o.pos_y=v.ay,o.width=v.x,o.height=v.y;let b;if(d?(b=Cube.all.filter(x=>!x.locked),b.safePush(...Z.getMappableElements())):b=Z.getMappableElements(),Z.vue.display_uv=="all_elements"&&(b=Outliner.elements.filter(x=>x.faces&&!x.locked)),!g.shiftKey&&!Mesh.selected.length){for(let x of b)Z.getSelectedFaces(x,!0).empty();c&&Outliner.selected.empty()}else{for(let x of b)s[x.uuid]&&Z.getSelectedFaces(x,!0).replace(s[x.uuid]);c&&Outliner.selected.replace(c)}b.forEach(x=>{let w=!1;if(x.getTypeBehavior("cube_faces")&&!x.box_uv)for(let E in x.faces){let y=x.faces[E];if(Z.texture&&y.getTexture()!=Z.texture)continue;let A=getRectangle(...y.uv);doRectanglesOverlap(v,A)&&(Z.getSelectedFaces(x,!0).safePush(E),w=!0)}else if(x.getTypeBehavior("cube_faces")){let E=!1;for(let y in x.faces){let A=x.faces[y];if(Z.texture&&A.getTexture()!=Z.texture)continue;let R=getRectangle(...A.uv);if(doRectanglesOverlap(v,R)){E=!0;break}}E&&(Outliner.selected.safePush(x),w=!0)}else if(x instanceof Mesh){let E=x.getSelectedVertices(!0),y=x.getSelectedFaces(!0);g.shiftKey?E.replace(l[x.uuid]):E.empty();for(let A in x.faces){let R=x.faces[A];if(Z.texture&&R.getTexture()!=Z.texture)continue;let j=R.getSortedVertices();if(j.length>=3){let F=0;for(let O of j){F++;let L=j[F]||j[0];lineIntersectsReactangle(R.uv[O],R.uv[L],[v.ax,v.ay],[v.bx,v.by])&&(y.safePush(A),w=!0),pointInRectangle(R.uv[O],[v.ax,v.ay],[v.bx,v.by])&&E.safePush(O)}}}}w&&!x.selected&&x.markAsSelected()}),updateSelection()},f=function(g){removeEventListeners(document,"pointermove",_),removeEventListeners(document,"pointerup",f),Math.pow(a.clientX-g.clientX,2)+Math.pow(a.clientY-g.clientY,2)<10,setTimeout(()=>{o.active=!1},1)};if(a.altKey||Pressing.overrides.alt)return this.dragFace(null,null,a);let{selection_rect:o}=this,r=this,s={};for(let g of Z.getMappableElements())s[g.uuid]=Z.getSelectedFaces().slice();let l={};Mesh.selected.forEach(g=>{l[g.uuid]=g.getSelectedVertices().slice()});let c,d=Z.isBoxUV();d&&(c=Z.getMappableElements().slice());let u=r.$refs.frame.getBoundingClientRect(),p=a.clientX-u.left,m=a.clientY-u.top;addEventListeners(document,"pointermove",_,!1),addEventListeners(document,"pointerup",f,!1)}}},onMouseEnter(a){this.mode=="paint"&&Painter.current.x!=null&&(this.mouse_coords.line_preview=a.shiftKey)},onMouseLeave(a){$i.active!=$i.types.global_drag_slider&&(this.mode=="paint"&&(this.mouse_coords.active=!1),this.mouse_coords.line_preview&&(Blockbench.setStatusBarText(),this.mouse_coords.line_preview=!1))},contextMenu(a){setActivePanel("uv"),!Blockbench.hasFlag("no_context_menu")&&Z.menu.open(a)},selectTextureMenu(a){new Menu(Texture.all.map(r=>({name:r.name,icon:r.img,marked:r==Z.texture,click(s){r.select(s)}}))).open(a.target)},selectFace(a,o,r,s,l){let c=Z.getSelectedFaces(a,!0),d=!1;if(!a){let p=Z.getMappableElements(),m=Z.getSelectedFaces(p[0],!0);(p.length==1||p.allAre(_=>m.equals(Z.getSelectedFaces(_))))&&(c=m,d=!0)}let u=r.shiftKey||r.ctrlOrCmd||Pressing.overrides.shift||Pressing.overrides.ctrl;s&&c.includes(o)||(u?c.includes(o)?c.remove(o):c.push(o):c.replace([o])),!a&&o&&Z.getMappableElements().forEach(p=>{let m=Z.getSelectedFaces(p,!0);d?m.replace(c):u?p.faces[o]&&m.safePush(o):p.faces[o]?m.replace([o]):m.empty()}),Z.vue.updateTexture(),Z.updateFaceSelection(),l&&ip(r,{start_distance:10,onMove(p){let m=p.event;if(!m.target||m.target.nodeName!="LI"||m.target.parentElement.id!="uv_cube_face_bar")return;let _=m.target.attributes.face?.value;if(_){for(let f of Z.getMappableElements())f.faces[_]&&(Z.getSelectedFaces(f,!0).safePush(_),Z.updateFaceSelection());Z.displayTools(),Z.updateFaceSelection()}}})},selectCube(a,o){this.dragging_uv||a.select(o),Z.vue.updateTexture()},reverseSelect(a){if(this.mode!=="uv")return;var o=$(this.$refs.frame).offset();let r=[a.clientX-o.left,a.clientY-o.top];if(!this.dragging_uv&&!this.selection_rect.active&&a.target.id=="uv_frame"){let s=Z.reverseSelect(a,r);if(!(s&&s.length)){if(Z.isFaceUV())for(let l of Z.getMappableElements())Z.getSelectedFaces(l,!0).empty();Z.vue.$forceUpdate()}}},drag({event:a,onStart:o,onDrag:r,onEnd:s,onAbort:l,snap:c,uv_grid:d}){if(a.which==2||a.which==3)return;convertTouchEvent(a);let u=this,p=[0,0],m=[0,0],_=this.$refs.viewport,f=[_.scrollLeft,_.scrollTop],g=c,v=!1;function b(w){convertTouchEvent(w);let E,y,A=g;if(d==!1?(E=u.inner_width/u.texture.width/A,y=u.inner_height/u.texture.height/A):A==null?(A=Z.grid/canvasGridSize(w.shiftKey||Pressing.overrides.shift,w.ctrlOrCmd||Pressing.overrides.ctrl),E=u.inner_width/Z.getResolution(0)/A,y=u.inner_height/Z.getResolution(1)/A):(E=u.inner_width/Z.getResolution(0)/A,y=u.inner_height/Z.getResolution(1)/A),p[0]=Math.round((w.clientX-a.clientX+_.scrollLeft-f[0])/E)/A,p[1]=Math.round((w.clientY-a.clientY+_.scrollTop-f[1])/y)/A,p[0]!=m[0]||p[1]!=m[1]){o&&!v&&(v=!0,o());let R=r(p[0]-m[0],p[1]-m[1],w);m[0]+=R[0],m[1]+=R[1],Z.loadData(),Z.vue.$forceUpdate(),Canvas.updateView({elements,element_aspects:{uv:!0}}),u.dragging_uv=!0}}function x(){removeEventListeners(document,"mousemove touchmove",b),removeEventListeners(document,"mouseup touchend",x),u.dragging_uv?(s(),setTimeout(()=>u.dragging_uv=!1,10)):(l&&l(),Undo.cancelEdit())}addEventListeners(document,"mousemove touchmove",b),addEventListeners(document,"mouseup touchend",x)},dragFace(a,o,r){if(r.which==2||r.which==3)return;let s=Z.getSelectedFaces(a).slice();a&&o&&this.selectFace(a,o,r,!0);let l=Z.getMappableElements();Undo.initEdit({elements:l,uv_only:!0});let c=[0,0],d=!!(BarItems.move_texture_with_uv.value&&this.texture);Z.getMappableElements().forEach(m=>{if(m instanceof Mesh){let _=m.getSelectedVertices(!0);_.length&&_.empty();let f=m.getSelectedEdges(!0);f.length&&f.empty()}});let u,p=!1;this.drag({event:r,snap:Z.isBoxUV()?1:void 0,onDrag:(m,_)=>{if(!p)if(p=!0,d){Undo.initEdit({elements:l,uv_only:!0,bitmap:!0,textures:[this.texture]}),u=Interface.createElement("canvas",{class:"move_texture_with_uv"});let f=u.getContext("2d");u.width=this.texture.width,u.height=this.texture.height,this.texture.edit(g=>{let v=g.getContext("2d");f.beginPath(),v.save(),v.beginPath(),Z.getMappableElements().forEach(b=>{if(b instanceof Mesh)for(var x in b.faces){var w=b.faces[x];if(!Z.getSelectedFaces(b).includes(x)||w.vertices.length<=2||w.getTexture()!==this.texture)continue;let E=w.getOccupationMatrix(!0,[0,0]);for(let y in E)for(let A in E[y])E[y][A]&&(y=parseInt(y),A=parseInt(A),f.rect(y,A,1,1),v.rect(y,A,1,1))}else{let E=this.texture.width/Z.getUVWidth(),y=this.texture.height/Z.getUVHeight();for(var x in b.faces){var w=b.faces[x];if(!Z.getSelectedFaces(b).includes(x)&&!b.box_uv||w.getTexture()!==this.texture)continue;let j=w.getBoundingRect(),F=[Math.floor(j.ax*E),Math.floor(j.ay*y),Math.ceil(j.bx*E)-Math.floor(j.ax*E),Math.ceil(j.by*y)-Math.floor(j.ay*y)];f.rect(...F),v.rect(...F)}}}),f.clip(),f.drawImage(this.texture.canvas,0,0),v.clip(),v.clearRect(0,0,g.width,g.height),v.restore()},{no_undo:!0}),Z.vue.$refs.frame.append(u)}else Undo.initEdit({elements:l,uv_only:!0});return l.forEach(f=>{if(f instanceof Mesh)Z.getSelectedFaces(f).forEach(g=>{let v=f.faces[g];v&&Z.isUVClamped()&&v.vertices.forEach(b=>{m=Math.clamp(m,-v.uv[b][0],Z.getUVWidth()-v.uv[b][0]),_=Math.clamp(_,-v.uv[b][1],Z.getUVHeight()-v.uv[b][1])})});else if(f.box_uv){let g=f.size(void 0,Format.box_uv_float_size!=!0),v=[g[2]+g[0]+(g[1]?g[2]:0)+g[0],g[2]+g[1]];Z.isUVClamped()&&(m=Math.clamp(m,-f.uv_offset[0]-(g[1]?0:g[2]),Z.getUVWidth()-f.uv_offset[0]-v[0]),_=Math.clamp(_,-f.uv_offset[1]-(g[0]?0:g[2]),Z.getUVHeight()-f.uv_offset[1]-v[1]))}else Z.isUVClamped()&&Z.getSelectedFaces(f).forEach(g=>{f.faces[g]&&f.getTypeBehavior("cube_faces")&&f.faces[g].texture!==null&&(m=Math.clamp(m,-f.faces[g].uv[0],Z.getUVWidth()-f.faces[g].uv[0]),_=Math.clamp(_,-f.faces[g].uv[1],Z.getUVHeight()-f.faces[g].uv[1]),m=Math.clamp(m,-f.faces[g].uv[2],Z.getUVWidth()-f.faces[g].uv[2]),_=Math.clamp(_,-f.faces[g].uv[3],Z.getUVHeight()-f.faces[g].uv[3]))})}),l.forEach(f=>{f instanceof Mesh?Z.getSelectedFaces(f).forEach(g=>{let v=f.faces[g];v&&v.vertices.forEach(b=>{v.uv[b][0]+=m,v.uv[b][1]+=_})}):f.box_uv?(f.uv_offset[0]=Math.floor(f.uv_offset[0]+m),f.uv_offset[1]=Math.floor(f.uv_offset[1]+_)):Z.getSelectedFaces(f).forEach(g=>{let v=f.faces[g];v instanceof CubeFace&&f.faces[g].texture!==null&&(v.uv[0]+=m,v.uv[1]+=_,v.uv[2]+=m,v.uv[3]+=_)})}),d&&(c[0]+=m,c[1]+=_,u.style.left=this.toPixels(c[0]),u.style.top=this.toPixels(c[1])),[m,_]},onEnd:()=>{Z.disableAutoUV(),d&&(this.texture.edit(m=>{m.getContext("2d").drawImage(u,c[0]*this.texture.width/Z.getUVWidth(),c[1]*this.texture.height/Z.getUVHeight())},{no_undo:!0}),u.remove(),Canvas.updateView({elements:l,element_aspects:{uv:!0}})),Undo.finishEdit("Move UV")},onAbort:()=>{if(d&&u&&u.remove(),o&&Mesh.selected[0]){let m=Z.getSelectedFaces(a,!0),_=m.slice();if(Z.selectMeshUVIsland(o),m.includes(s[0])&&s[0]!==o||r.shiftKey||r.ctrlOrCmd||Pressing.overrides.shift||Pressing.overrides.ctrl)m.replace(_);else return}o&&(r.ctrlOrCmd||Pressing.overrides.ctrl)&&s.includes(o)&&(Z.getSelectedFaces(a,!0).remove(o),Z.vue.$forceUpdate())}})},resizeFace(a,o,r,s){if(o.which==2||o.which==3)return;o.stopPropagation();let l=Z.getMappableElements();Undo.initEdit({elements:l,uv_only:!0});let c={};l.forEach(d=>{let u=c[d.uuid]={};Z.getSelectedFaces(d).forEach(p=>{d.faces[p]&&d.getTypeBehavior("cube_faces")&&(u[p]=[d.faces[p].uv[0]>d.faces[p].uv[2],d.faces[p].uv[1]>d.faces[p].uv[3]])})}),this.drag({event:o,onDrag:(d,u)=>{let p=Z.isUVClamped()?(m,_)=>Math.clamp(m,0,_):(m,_)=>m;return l.forEach(m=>{Z.getSelectedFaces(m).forEach(_=>{m.faces[_]&&m.getTypeBehavior("cube_faces")&&(r&&r==-1!=c[m.uuid][_][0]&&(m.faces[_].uv[0]=p(m.faces[_].uv[0]+d,Z.getUVWidth())),s&&s==-1!=c[m.uuid][_][1]&&(m.faces[_].uv[1]=p(m.faces[_].uv[1]+u,Z.getUVHeight())),r&&r==1!=c[m.uuid][_][0]&&(m.faces[_].uv[2]=p(m.faces[_].uv[2]+d,Z.getUVWidth())),s&&s==1!=c[m.uuid][_][1]&&(m.faces[_].uv[3]=p(m.faces[_].uv[3]+u,Z.getUVHeight())))})}),[d,u]},onEnd:()=>{Z.disableAutoUV(),Undo.finishEdit("Resize UV")}})},rotateFace(a){let o=Z.isUVClamped()?(A,R)=>Math.clamp(A,0,R):(A,R)=>A;if(a.which==2||a.which==3)return;a.stopPropagation(),convertTouchEvent(a);let r=this,s=Z.getMappableElements(),l=!!(BarItems.move_texture_with_uv.value&&this.texture),c=new Set,d={};Undo.initEdit({elements:s,uv_only:!0,bitmap:l,textures:l?[this.texture]:void 0});let u=[0,0],p=0;s.forEach(A=>{Z.getSelectedFaces(A).forEach(R=>{let j=A.faces[R];if(j)if(j instanceof CubeFace){if(u[0]+=j.uv[0]+j.uv[2],u[1]+=j.uv[1]+j.uv[3],p+=2,l&&j.texture!==null){let F=j.getTexture();if(F&&F.ctx){let O=F.width/Z.getUVWidth(),L=F.height/Z.getUVHeight(),U=j.uv,J=Math.floor(Math.min(U[0],U[2])*O),ie=Math.floor(Math.min(U[1],U[3])*L),te=Math.ceil(Math.abs(U[2]-U[0])*O)||1,me=Math.ceil(Math.abs(U[3]-U[1])*L)||1;d[A.uuid+":"+R]={texture:F,x:J,y:ie,w:te,h:me,pixels:F.ctx.getImageData(J,ie,te,me)}}}}else A instanceof Mesh&&(j.old_uv={},j.vertices.forEach(F=>{j.uv[F]&&(u[0]+=j.uv[F][0],u[1]+=j.uv[F][1],p+=1,j.old_uv[F]=j.uv[F].slice())}))})}),u.forEach((A,R)=>u[R]=A/p);let m=$(Z.vue.$refs.frame).offset(),_=[u[0]*Z.getUVPixelSize()+m.left,u[1]*Z.getUVPixelSize()+m.top],f=0,g,v,b,x=0,w=s[0]instanceof Cube?90:1;function E(A){if(convertTouchEvent(A),f=Math.atan2(A.clientY-_[1],A.clientX-_[0]),f=Math.round(Math.radToDeg(f)/w)*w,v==null&&(v=f),f-=v,g==null&&(g=f),Math.abs(f-g)>300&&(g=f),f!=g&&(b==null||Math.abs(b-f)>6||A.ctrlOrCmd||Pressing.overrides.ctrl)){b=void 0,r.helper_lines.x=r.helper_lines.y=-1;let R=90*Math.sign(g-f);if(x=(x+R+360)%360,s.forEach(j=>{if(j.getTypeBehavior("cube_faces")&&Format.uv_rotation)Z.getSelectedFaces(j).forEach(F=>{if(j.faces[F]&&(j.faces[F].rotation+=R,j.faces[F].rotation==360&&(j.faces[F].rotation=0),j.faces[F].rotation<0&&(j.faces[F].rotation+=360),l)){let O=j.uuid+":"+F,L=d[O];if(L&&L.pixels){let U=d5(L.pixels,x),J=Math.max(L.w,L.h);L.texture.ctx.clearRect(L.x,L.y,J,J),L.texture.ctx.putImageData(U,L.x,L.y),c.add(L.texture)}}});else if(j instanceof Mesh){let F=function(L){Z.getSelectedFaces(j).forEach(U=>{let J=j.faces[U];if(!J)return;let ie=Math.sin(Math.degToRad(L)),te=Math.cos(Math.degToRad(L));J.vertices.forEach(me=>{if(!J.uv[me])return;J.uv[me][0]=J.old_uv[me][0]-u[0],J.uv[me][1]=J.old_uv[me][1]-u[1];let Q=J.uv[me][0]*te-J.uv[me][1]*ie,H=J.uv[me][0]*ie+J.uv[me][1]*te;J.uv[me][0]=o(Q+u[0],Z.getUVWidth()),J.uv[me][1]=o(H+u[1],Z.getUVHeight())})})};F(f);let O=.6;Z.getSelectedFaces(j).forEach(L=>{let U=j.faces[L];U&&U.vertices.forEach((J,ie)=>{for(let te=ie+1;te<U.vertices.length;te++){let me=Math.radToDeg(Math.PI+Math.atan2(U.uv[J][1]-U.uv[U.vertices[te]][1],U.uv[J][0]-U.uv[U.vertices[te]][0]))%180;if(Math.abs(me-90)<O){b=f-(me-90),r.helper_lines.x==-1&&(r.helper_lines.x=U.uv[J][0]);break}if(me<O||180-me<O){b=f-(me>90?me-180:me),r.helper_lines.y==-1&&(r.helper_lines.y=U.uv[J][1]);break}}})}),b&&F(b)}}),Z.turnMapping(),l)for(let j of c)j.updateSource(j.canvas.toDataURL());g=f,Z.loadData(),Z.vue.$forceUpdate(),Canvas.updateView({elements:s,element_aspects:{uv:!0}}),r.dragging_uv=!0}}function y(){if(removeEventListeners(document,"mousemove touchmove",E),removeEventListeners(document,"mouseup touchend",y),r.helper_lines.x=r.helper_lines.y=-1,r.dragging_uv){if(l)for(let A of c)A.updateChangesAfterEdit();Z.disableAutoUV(),Undo.finishEdit("Rotate UV"),setTimeout(()=>r.dragging_uv=!1,10)}else Undo.cancelEdit()}addEventListeners(document,"mousemove touchmove",E),addEventListeners(document,"mouseup touchend",y)},scaleFaces(a){if(a.which==2||a.which==3)return;a.stopPropagation();let o=Z.getMappableElements();Undo.initEdit({elements:o,uv_only:!0}),o.forEach(d=>{Z.getSelectedFaces(d).forEach(u=>{let p=d.faces[u];p&&(p instanceof CubeFace?p.old_uv=p.uv.slice():p instanceof MeshFace&&(p.old_uv={},p.vertices.forEach(m=>{p.uv[m]&&(p.old_uv[m]=p.uv[m].slice())})))})});let r=this.getSelectedUVBoundingBox(),s=[r[2]-r[0],r[3]-r[1]],l=[0,0],c=0;this.drag({event:a,onDrag:(d,u,p)=>(l[0]+=d,l[1]+=u,c=p.altKey||Pressing.overrides.alt?l[0]/s[0]*s[1]:l[1],o.forEach(m=>{Z.getSelectedFaces(m).forEach(_=>{if(!m.faces[_])return;let f=m.faces[_];if(m.getTypeBehavior("cube_faces"))f.uv[0]=r[0]+(f.old_uv[0]-r[0])*(1+l[0]/s[0]),f.uv[1]=r[1]+(f.old_uv[1]-r[1])*(1+c/s[1]),f.uv[2]=r[0]+(f.old_uv[2]-r[0])*(1+l[0]/s[0]),f.uv[3]=r[1]+(f.old_uv[3]-r[1])*(1+c/s[1]);else if(m instanceof Mesh)for(let g in f.uv)f.uv[g][0]=r[0]+(f.old_uv[g][0]-r[0])*(1+l[0]/s[0]),f.uv[g][1]=r[1]+(f.old_uv[g][1]-r[1])*(1+c/s[1])})}),[d,u]),onEnd:()=>{Z.disableAutoUV(),Undo.finishEdit("Scale UV")}})},dragVertices(a,o,r){if(r.which==2||r.which==3)return;let s=a.getSelectedVertices(!0),l=r.shiftKey||r.ctrlOrCmd||Pressing.overrides.shift||Pressing.overrides.ctrl;s.includes(o)||(l?s.includes(o)?s.remove(o):s.push(o):s.replace([o])),updateSelection();let c=Z.getMappableElements();Undo.initEdit({elements:c,uv_only:!0}),this.drag({event:r,onDrag:(d,u,p)=>(Z.isUVClamped()&&c.forEach(m=>{let _=m.getSelectedVertices();Z.getSelectedFaces(m).forEach(f=>{let g=m.faces[f];g&&g.vertices.forEach(v=>{_.includes(v)&&(d=Math.clamp(d,-g.uv[v][0],Z.getUVWidth()-g.uv[v][0]),u=Math.clamp(u,-g.uv[v][1],Z.getUVHeight()-g.uv[v][1]))})})}),c.forEach(m=>{let _=m.getSelectedVertices().slice();Z.getSelectedFaces(m).forEach(f=>{let g=m.faces[f];if(!g)return;let v=g.vertices.map(b=>g.uv[b].slice());g.vertices.forEach((b,x)=>{if(_.includes(b)){if(g.vertices.find((E,y)=>y>x&&g.uv[b].equals(v[y]))){_.remove(b);return}if(g.uv[b][0]+=d,g.uv[b][1]+=u,(p.shiftKey||Pressing.overrides.shift)&&!(p.ctrlOrCmd||Pressing.overrides.ctrl)){let E=settings.shift_size.value/16*Z.grid;g.uv[b][0]=Math.round(g.uv[b][0]*E)/E,g.uv[b][1]=Math.round(g.uv[b][1]*E)/E}}})})}),[d,u]),onEnd:()=>{Undo.finishEdit("Move UV")},onAbort(){l||s.replace([o])}})},toPixels(a,o=0){return a/this.uv_resolution[0]*this.inner_width+o+"px"},toTexturePixels(a,o,r=0){return o==1&&this.texture.currentFrame>0?(a/this.texture.width-this.texture.currentFrame)*this.inner_width+r+"px":a/this.texture.width*this.inner_width+r+"px"},getDisplayedUVElements(){return this.mode=="uv"||this.uv_overlay?this.display_uv==="all_elements"||this.mode=="paint"?this.all_mappable_elements:this.mappable_elements:[]},getMeshFaceOutline(a){let o=[],r=[-this.getMeshFaceCorner(a,0),-this.getMeshFaceCorner(a,1)],s=this.uv_resolution[0]/this.inner_width;return a.getSortedVertices().forEach(l=>{let c=a.uv[l];o.push(Math.roundTo((c[0]+r[0])/s+1,4)+","+Math.roundTo((c[1]+r[1])/s+1,4))}),o.join(" ")},getMeshFaceCorner(a,o){let r=1/0;return a.vertices.forEach(s=>{let l=a.uv[s];r=Math.min(r,l[o])}),r},getMeshFaceWidth(a,o){let r=1/0,s=0;return a.vertices.forEach(l=>{let c=a.uv[l];r=Math.min(r,c[o]),s=Math.max(s,c[o])}),s-r},filterMeshFaces(a){if(Object.keys(a.faces).length>2e3){let r={};return a.getSelectedFaces().forEach(s=>{r[s]=a.faces[s]}),r}else return a.faces},isScalingAvailable(){if(this.mappable_elements[0]?.getTypeBehavior("cube_faces"))return Z.isFaceUV()&&!!Z.getReferenceFace();if(this.mappable_elements[0]instanceof Mesh)return this.mappable_elements[0].getSelectedFaces().length>0},isRotatingAvailable(){if(this.mappable_elements[0]instanceof Mesh)return this.mappable_elements[0].getSelectedFaces().length>0},getSelectedUVBoundingBox(){if(!Project)return[0,0,0,0];let a=[1/0,1/0],o=[-1/0,-1/0];return this.mappable_elements.forEach(r=>{let s=Z.getSelectedFaces(r);r instanceof Cube&&r.box_uv&&(s=Object.keys(r.faces)),s.forEach(l=>{if(r instanceof SplineMesh||r.faces[l].texture===null)return;let c=r.faces[l];c instanceof CubeFace?(a[0]=Math.min(a[0],c.uv[0],c.uv[2]),a[1]=Math.min(a[1],c.uv[1],c.uv[3]),o[0]=Math.max(o[0],c.uv[0],c.uv[2]),o[1]=Math.max(o[1],c.uv[1],c.uv[3])):r instanceof Mesh&&c.vertices.forEach(d=>{c.uv[d]&&(a[0]=Math.min(a[0],c.uv[d][0]),a[1]=Math.min(a[1],c.uv[d][1]),o[0]=Math.max(o[0],c.uv[d][0]),o[1]=Math.max(o[1],c.uv[d][1]))})})}),[...a,...o]},getBrushOutlineStyle(){if(Toolbox.selected.brush&&Settings.get("brush_cursor_2d")){var a=this.inner_width/(this.texture?this.texture.width:Project.texture_width);let r=0;(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))&&(r=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?0:.5);let s=this.mouse_coords.x,l=this.mouse_coords.y-(this.texture?this.texture.currentFrame*this.texture.display_height:0);s=(s+r)*a,l=(l+r)*a;var o=BarItems.slider_brush_size.get()/2*a;return{"--radius":o,left:s+"px",top:l+"px"}}else return{display:"none"}},getCopyBrushOutlineStyle(){if(Toolbox.selected.brush){var a=this.inner_width/(this.texture?this.texture.width:Project.texture_width);let r=this.copy_brush_source.size%2==0&&Toolbox.selected.brush?.offset_even_radius?0:.5,s=(this.copy_brush_source.x+r)*a,l=(this.copy_brush_source.y+r)*a;var o=this.copy_brush_source.size/2*a;return{"--radius":o,left:s+"px",top:l+"px"}}else return{display:"none"}},getFrameMargin(a){let o=Math.max((this.width-this.inner_width)/2,0),r=Math.max((this.height-this.inner_height)/2,0),s=[Math.floor(o+this.width/2),Math.floor(r+this.height/2)];return a?`${s[1]}px ${s[0]}px`:s},getTextureSelectionPolygon(){return this.texture_selection_polygon.map((a,o)=>{let r=a[0]/this.texture.width*this.inner_width,s=a[1]/this.texture.width*this.inner_width;return`${o?"L":"M"}${r+1} ${s+1}`}).join(" ")},isSelectionPolygonClosed(){let a=this.texture_selection_polygon;if(a.length<=3)return!1;let o=a[0],r=a.last(),s=Math.sqrt(Math.pow(o[0]-r[0],2)+Math.pow(o[1]-r[1],2)),l=Blockbench.isTouch?12:7;return s<l/Z.getPixelSize()},startTextureSelection(a,o,r){let s=Z.texture;if(!s||s.img.naturalWidth+s.img.naturalHeight==0)return;s.selected||s.select();let l=s.selection.get(Math.floor(a),Math.floor(o)),c=BarItems.selection_tool.mode,d=BarItems.selection_tool_operation_mode.value,u=this.texture_selection_rect,p=this.texture_selection_polygon,m=this,_,f,g,v=s.selected_layer,b=Toolbox.selected.id=="selection_tool"&&d=="create"&&settings.move_with_selection_tool.value&&(l||v?.in_limbo),x=Toolbox.selected.id=="selection_tool"&&!b&&!r.target.classList.contains("uv_layer_transform_handles"),w=v?v.offset.slice():[0,0];if(x||(a=Math.round(a),o=Math.round(o)),_=a,f=o,x)if(Undo.initSelection({texture_selection:!0}),d=="create"&&(c!="lasso"||p.length==0)&&s.selection.clear(),c=="wand"||c=="color"){let{canvas:O,ctx:L,offset:U}=s.getActiveCanvas(),ie=[...L.getImageData(a-U[0],o-U[1],1,1).data],te={},me=BarItems.slider_color_select_threshold.get(),Q=rgb2lab(ie),H=K=>{if(ie.equals(K))return!0;if(me==0||Math.abs(ie[3]-K[3])/2.52>me)return!1;let pe=rgb2lab(K);return labColorDistance(Q,pe)<=me};Painter.scanCanvas(L,0,0,O.width,O.height,(K,pe,xe)=>{H(xe)&&(te[K]||(te[K]={}),te[K][pe]=!0)});var E=!0;if(c=="wand"){let K=[[a-U[0],o-U[1]]];for(let pe=0;pe<1e6;pe++){let xe=K;K=[];for(let[le,Be]of xe)te[le]&&te[le][Be]&&(te[le][Be]=!1,K.push([le+1,Be],[le-1,Be],[le,Be+1],[le,Be-1]));if(K.length==0)break}E=!1}let re=d=="subtract"?0:d=="intersect"?2:1;for(let K in te)for(let pe in te[K])if(te[K][pe]==E){if(K=parseInt(K),pe=parseInt(pe),d=="intersect"&&!s.selection.get(K+U[0],pe+U[1]))continue;s.selection.set(K+U[0],pe+U[1],re)}d=="intersect"&&s.selection.forEachPixel((K,pe,xe,le)=>{xe==2?s.selection.array[le]=1:s.selection.array[le]=0}),Z.updateSelectionOutline(),Undo.finishSelection("Select color");return}else c=="lasso"&&p.push([a,o]);let y,A,R=!1;function j(O){let{x:L,y:U}=Z.getBrushCoordinates(O,s);if(x||(L=Math.round(L),U=Math.round(U)),!(y==L&&A==U)){if(y=L,A=U,x&&c=="lasso")p.push([L,U]);else if(x){let J=_,ie=f;if(settings.nearest_rectangle_select.value||(L>=_&&L++,U>=f&&U++,L<_&&J++,U<f&&ie++),L===Painter.current.x&&U===Painter.current.y||(Painter.current.x=L=Math.clamp(L,0,Z.texture.img.naturalWidth),Painter.current.y=U=Math.clamp(U,0,Z.texture.img.naturalHeight),J=Math.clamp(J,0,Z.texture.img.naturalWidth),ie=Math.clamp(ie,0,Z.texture.img.naturalHeight),g=getRectangle(J,ie,L,U),!g.x&&!g.y))return;(O.ctrlOrCmd||Pressing.overrides.ctrl)&&(g.y=g.x=Math.round((g.y+g.x)/2),g.bx=g.ax+g.x,g.by=g.ay+g.y),u.active=!0,u.ellipse=c=="ellipse",u.pos_x=g.ax,u.pos_y=g.ay,u.width=g.x,u.height=g.y,Blockbench.setCursorTooltip(`${u.width} x ${u.height}`)}else R||(Z.vue.selection_outline="",(!v||!v.in_limbo)&&s.selection.is_custom&&s.selection.hasSelection()?(Undo.initEdit({textures:[s],bitmap:!0}),s.selectionToLayer(!1,O.altKey||Pressing.overrides.alt),v=s.selected_layer,w=v.offset.slice()):v?Undo.initEdit({layers:[v],bitmap:!0}):(Undo.initEdit({textures:[s],bitmap:!0}),s.activateLayers(!1),v=s.selected_layer),p.empty(),s.selection.clear(),Z.updateSelectionOutline()),v.offset[0]=w[0]+L-_,v.offset[1]=w[1]+U-f,Blockbench.setCursorTooltip(`${L-_} x ${U-f}`),s.updateLayerChanges(),Z.vue.$forceUpdate();R=!0}}function F(){if(removeEventListeners(document,"pointermove",j),removeEventListeners(document,"pointerup",F),u.active=!1,Blockbench.setCursorTooltip(),x){if((!g||u.width==0||u.height==0)&&c!="lasso"){s.selection.hasSelection()||(s.selection.clear(),Z.updateSelectionOutline(),Undo.finishSelection("Unselect texture area")),TextureLayer.selected?.in_limbo&&TextureLayer.selected.resolveLimbo();return}if(d=="create"&&c!="lasso"&&s.selection.clear(),c=="rectangle")for(let O=g.ax;O<g.bx;O++)for(let L=g.ay;L<g.by;L++)switch(d){case"create":case"add":{s.selection.set(O,L,1);break}case"subtract":{s.selection.set(O,L,0);break}case"intersect":{s.selection.get(O,L)&&s.selection.set(O,L,2);break}}if(c=="ellipse"){let O=g.ax+g.x/2,L=g.ay+g.y/2;for(let U=g.ax;U<g.bx;U++)for(let J=g.ay;J<g.by;J++)if(!(Math.sqrt(Math.pow((O-U-.5)/g.x,2)+Math.pow((L-J-.5)/g.y,2))>.5))switch(d){case"create":case"add":{s.selection.set(U,J,1);break}case"subtract":{s.selection.set(U,J,0);break}case"intersect":{s.selection.get(U,J)&&s.selection.set(U,J,2);break}}}if(c=="lasso"&&m.isSelectionPolygonClosed()){p.pop();let O=1/0,L=1/0,U=0,J=0;for(let ie of p)O=Math.min(ie[0],O),L=Math.min(ie[1],L),U=Math.max(ie[0],U),J=Math.max(ie[1],J);O=Math.clamp(O,0,Z.texture.img.naturalWidth),L=Math.clamp(L,0,Z.texture.img.naturalHeight),U=Math.clamp(U,0,Z.texture.img.naturalWidth),J=Math.clamp(J,0,Z.texture.img.naturalHeight);for(let ie=Math.floor(O);ie<U;ie++)for(let te=Math.floor(L);te<J;te++)if(pointInPolygon([ie+.5,te+.5],p))switch(d){case"create":case"add":{s.selection.set(ie,te,1);break}case"subtract":{s.selection.set(ie,te,0);break}case"intersect":{s.selection.get(ie,te)&&s.selection.set(ie,te,2);break}}p.empty()}if(d=="intersect")for(let O=0;O<s.width;O++)for(let L=0;L<s.height;L++){let U=s.selection.getDirect(O,L);U==2?s.selection.set(O,L,1):U==1&&s.selection.set(O,L,0)}s.selection.hasSelection()||s.selection.clear(),Undo.finishSelection("Select texture area"),Z.updateSelectionOutline(),Interface.addSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")}else if(R)s.updateLayerChanges(!0),s.saved=!1,Undo.finishEdit("Move layer");else if(TextureLayer.selected?.in_limbo&&TextureLayer.selected.resolveLimbo(),Toolbox.selected.id=="move_layer_tool"){let O=s.layers.slice().reverse();for(let L of O){let{offset:U}=L;if(a>=U[0]&&o>=U[1]&&a<U[0]+L.width&&o<U[1]+L.height&&L.ctx.getImageData(a-U[0],o-U[1],1,1).data[3]>10){L.select();break}}}}addEventListeners(document,"pointermove",j),addEventListeners(document,"pointerup",F)},resizeLayer(a,o,r){if(a.which==2||a.which==3||!this.texture||!this.layer)return;convertTouchEvent(a);let s=this.layer;a.stopPropagation(),Undo.initEdit({layers:[s]});let l=[s.scaled_width,s.scaled_height],c=[s.scaled_width,s.scaled_height],d=[s.width,s.height];o&&r&&Interface.addSuggestedModifierKey("alt","modifier_actions.no_uniform_scaling"),this.drag({event:a,onDrag:(u,p,m)=>(c.replace(l),l[0]=Math.max(l[0]+u*o,0),l[1]=Math.max(l[1]+p*r,0),!(m.ctrlOrCmd||Pressing.overrides.ctrl)&&o&&r&&(l[1]=Math.round(l[0]*(d[1]/d[0]))),u=l[0]-c[0],p=l[1]-c[1],o==-1&&(s.offset[0]-=u),r==-1&&(s.offset[1]-=p),s.scale[0]=l[0]/d[0],s.scale[1]=l[1]/d[1],Blockbench.setCursorTooltip(`${l[0]} x ${l[1]}
${Math.round(s.scale[0]*100)}% x ${Math.round(s.scale[1]*100)}%`),this.texture.updateLayerChanges(),Z.vue.$forceUpdate(),[u*o,p*r]),onEnd:()=>{this.texture.updateLayerChanges(!0),this.texture.saved=!1,Undo.finishEdit("Resize layer"),Blockbench.setCursorTooltip(),o&&r&&Interface.removeSuggestedModifierKey("alt","modifier_actions.no_uniform_scaling")},snap:1,uv_grid:!1})},getUVSelectionFrameStyle(){let a=this.getSelectedUVBoundingBox();return a?{left:this.toPixels(a[0],0),top:this.toPixels(a[1],0),width:this.toPixels(a[2]-a[0],0),height:this.toPixels(a[3]-a[1],0)}:{}},focusOnSelection(a){Z.focusOnSelection(a)},showTransparentFaceText(){return Z.getSelectedFaces(this.mappable_elements[0]).length},isFaceSelected(a,o){return this.mode=="paint"?!1:(a||(a=this.mappable_elements[0]),a.getTypeBehavior("select_faces")==!1?!0:Z.getSelectedFaces(a).indexOf(o)!=-1)},isTransformingLayer(){if(!this.texture||!this.texture.selected_layer)return!1;let a=Toolbox.selected;return!!(a.id=="move_layer_tool"||a.id=="selection_tool"&&settings.move_with_selection_tool.value&&TextureLayer.selected?.in_limbo)},getLinePreviewAngle(){let a=Math.atan2(this.last_brush_position[1]-this.mouse_coords.y,this.last_brush_position[0]-this.mouse_coords.x);return Math.radToDeg(a)},getLinePreviewStyle(){let a=this.texture,o=this.inner_width/(a?a.width:Project.texture_width),r=Math.sqrt(Math.pow(this.mouse_coords.x-this.last_brush_position[0],2)+Math.pow(this.mouse_coords.y-this.last_brush_position[1],2)),s=this.getLinePreviewAngle();return{width:r*o+"px",rotate:s+"deg"}},getBrushPositionText(){return this.mouse_coords.active?trimFloatNumber(this.mouse_coords.x,1)+", "+trimFloatNumber(this.mouse_coords.y,1):""},checkFormat(a){for(let o in a)if(Format[o]!=a[o])return!1;return!0},toggleFaceEnabled(a,o){let r=this.mappable_elements[0].faces[a].texture===null;Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forCubes(s=>{let l=Z.getFaces(s,o);l.includes(a)||(l=[a]);for(let c of l)if(!r)s.faces[c].texture=null;else if(s.faces[c].texture===null){let d=!1;for(let u in s.faces){let p=s.faces[u];if(u!=c&&p.texture){d=p.texture;break}}s.faces[c].texture=d}s.preview_controller.updateFaces(s)}),Z.loadData(),Undo.finishEdit("Toggle face"),Canvas.updateSelectedFaces()},openFaceTextureMenu(a){new Menu(Texture.all.map(r=>({name:r.name,icon:r.img,marked:r==Z.texture,click(s){Z.applyTexture(r)}}))).open(a.target)},toggleFaceTint(a,o){Undo.initEdit({elements:Cube.selected,uv_only:!0});let r=Z.getFirstMappableElement()?.faces[a]?.tint===-1?0:-1;Z.forCubes(s=>{s.faces[a].tint=r}),this.$forceUpdate(),Undo.finishEdit("Toggle face tint")},changeFaceTint(a,o){Undo.initEdit({elements:Cube.selected,uv_only:!0});let r=parseInt(o.target.value);Z.forCubes(s=>{s.faces[a].tint=r}),Undo.finishEdit("Set face tint")},setCullface(a,o){Undo.initEdit({elements:Cube.selected,uv_only:!0}),Z.forCubes(r=>{r.faces[a]&&(r.faces[a].cullface=o)}),Undo.finishEdit(o?`Set cullface to ${o}`:"Disable cullface")},startInputMaterialInstance(a){Undo.initEdit({elements:Cube.selected,uv_only:!0})},endInputMaterialInstance(a,o){let r=this.mappable_elements[0]?.faces[o]?.material_name;if(typeof r=="string")for(let s of this.mappable_elements)s.faces[o]&&(s.faces[o].material_name=r);Undo.finishEdit("Change material instances")},showInfoBox(a,o){Blockbench.showMessageBox({title:tl(a),message:tl(o),icon:"info"})}},template:`
<div class="UVEditor" ref="main" :class="{checkerboard_trigger: checkerboard}" id="UVEditor">
<div class="bar next_to_title" id="uv_title_bar">
<div id="uv_resolution_status" @click="projectResolution()">
{{ uv_resolution[0] + ' \u2A09 ' + uv_resolution[1] }}
</div>
</div>
<div class="bar" id="uv_cube_face_bar" ref="uv_cube_face_bar" v-if="mode == 'uv' && mappable_elements[0] && mappable_elements[0].getTypeBehavior('select_faces') && !box_uv">
<li v-for="(face, key) in mappable_elements[0].faces" :face="key"
:class="{selected: isFaceSelected(null, key), disabled: mappable_elements[0].faces[key].texture === null}"
@mousedown="selectFace(null, key, $event, false, true)"
>
{{ face_names[key] }}
</li>
<li @click="mode = 'face_properties'" class="tool face_properties_toggle">
<div class="tooltip">${tl("uv_editor.face_properties")}</div>
<i class="material-icons">checklist</i>
</li>
</div>
<div id="uv_face_properties" v-if="mode === 'face_properties'">
<div class="bar" id="face_properties_header_bar">
<li></li>
<li @click="mode = 'uv'" class="tool face_properties_toggle">
<i class="material-icons">clear</i>
</li>
</div>
<div class="uv_face_properties_labels">
<label style="width: 76px;">Enabled</label>
<label style="width: 120px;" class="flexible">Texture</label>
<template v-if="checkFormat({java_face_properties: true})">
<label style="width: 58px;" @click="showInfoBox('action.face_tint', 'uv_editor.tint.info')" title="${tl("uv_editor.tint.info")}">
${tl("action.face_tint")}
<i class="material-icons">info</i>
</label>
</template>
<template v-if="checkFormat({cullfaces: true})">
<label style="width: 50px;" @click="showInfoBox('action.cullface', 'uv_editor.cullface.info')" title="${tl("uv_editor.cullface.info")}" class="flexible">
${tl("action.cullface")}
<i class="material-icons">info</i>
</label>
</template>
<template v-if="checkFormat({id: 'bedrock_block'})">
<label style="width: 100px;" class="flexible" @click="showInfoBox('uv_editor.face_properties.material_instance', 'uv_editor.material_instance.info')" title="${tl("uv_editor.material_instance.info")}">
${tl("uv_editor.face_properties.material_instance")}
<i class="material-icons">info</i>
</label>
</template>
</div>
<ul v-if="mappable_elements[0] && mappable_elements[0].getTypeBehavior('select_faces') == 'enum'">
<li v-for="(face, key) in mappable_elements[0].faces" :face="key"
class="uv_face_properties_line"
:class="{selected: isFaceSelected(mappable_elements[0], key), disabled: mappable_elements[0].faces[key].texture === null}"
@pointerdown="selectFace(mappable_elements[0], key, $event, false, true)"
>
<input type="checkbox" :checked="mappable_elements[0].faces[key].texture !== null" @change="toggleFaceEnabled(key, $event)" @pointerdown.stop>
<label>{{ face_names[key] }}</label>
<div class="face_properties_texture" :face_texture="face_texture = mappable_elements[0].faces[key].getTexture()" @click="openFaceTextureMenu($event)">
<img :src="face_texture.source" class="texture_icon" width="32px" height="32px" alt="" v-if="face_texture && face_texture.show_icon" />
<div class="texture_dummy_icon" v-else></div>
{{ face_texture ? face_texture.name : '${tl("menu.cube.texture.blank")}' }}
</div>
<template v-if="checkFormat({java_face_properties: true})">
<div style="width: 58px; display: flex;">
<input type="checkbox" title="${tl("action.face_tint")}" :checked="mappable_elements[0].faces[key].tint > -1" @change="toggleFaceTint(key, $event)">
<input type="number" title="${tl("action.face_tint")}" style="width: 30px;" :value="mappable_elements[0].faces[key].tint" min="0" step="1" @input="changeFaceTint(key, $event)" v-if="mappable_elements[0].faces[key].tint > -1">
</div>
</template>
<template v-if="checkFormat({cullfaces: true})">
<select-input class="flexible" title="${tl("action.cullface")}" :value="mappable_elements[0].faces[key].cullface" @input="setCullface(key, $event)" :options="cullface_options" />
</template>
<template v-if="checkFormat({id: 'bedrock_block'})">
<input type="text" style="width: 100px;" class="flexible dark_bordered"
title="${tl("uv_editor.face_properties.material_instance")}"
v-model="mappable_elements[0].faces[key].material_name"
@focus="startInputMaterialInstance($event)"
@focusout="endInputMaterialInstance($event, key)"
>
</template>
</li>
</ul>
</div>
<div id="uv_viewport"
@contextmenu="contextMenu($event)"
@pointerdown="onPointerDown($event)"
@touchstart="onTouchStart($event)"
@touchend="onTouchEnd($event)"
@wheel="onMouseWheel($event)"
@scroll="onScroll($event)"
@mousemove="updateMouseCoords($event)"
@mouseenter="onMouseEnter($event)"
@mouseleave="onMouseLeave($event)"
class="checkerboard_target"
:class="{tiled_mode: overlay_canvas_mode == 'tiled'}"
ref="viewport"
v-if="!hidden && mode !== 'face_properties'"
:style="{width: (width+8) + 'px', height: (height+8) + 'px', overflowX: (zoom > 1) ? 'scroll' : 'hidden', overflowY: (inner_height > height) ? 'scroll' : 'hidden'}"
>
<div id="uv_frame" ref="frame"
v-if="texture !== null"
@click.stop="reverseSelect($event)"
:class="{overlay_mode: uv_overlay && mode == 'paint'}"
:style="{width: inner_width + 'px', height: inner_height + 'px', margin: getFrameMargin(true), '--inner-width': inner_width + 'px', '--inner-height': inner_height + 'px'}"
>
<div id="uv_frame_spacer" :style="{left: (inner_width+getFrameMargin()[0])+'px', top: (inner_height+getFrameMargin()[1])+'px'}"></div>
<template v-for="element in getDisplayedUVElements()">
<template v-if="element.getTypeBehavior('cube_faces') && !element.box_uv">
<div class="cube_uv_face uv_face"
v-for="(face, key) in element.faces" :key="element.uuid + ':' + key"
v-if="(face.getTexture() == texture || texture == 0) && face.texture !== null && (display_uv !== 'selected_faces' || mode == 'paint' || isFaceSelected(element, key) || element.getTypeBehavior('select_faces') == false)"
:title="face_names[key]"
:class="{selected: isFaceSelected(element, key), unselected: display_uv === 'all_elements' && !mappable_elements.includes(element)}"
@mousedown.prevent="dragFace(element, key, $event)"
@touchstart.prevent="dragFace(element, key, $event)"
@contextmenu="selectFace(element, key, $event, true, false)"
:style="{
left: toPixels(Math.min(face.uv[0], face.uv[2]), -1),
top: toPixels(Math.min(face.uv[1], face.uv[3]), -1),
'--width': toPixels(Math.abs(face.uv_size[0]), 2),
'--height': toPixels(Math.abs(face.uv_size[1]), 2),
}"
>
<template v-if="isFaceSelected(element, key) && mode == 'uv' && !(display_uv === 'all_elements' && !mappable_elements.includes(element))">
{{ face_names[key] || '' }}
<div class="uv_resize_side horizontal" @mousedown="resizeFace(key, $event, 0, -1)" @touchstart.prevent="resizeFace(key, $event, 0, -1)" style="width: var(--width)"></div>
<div class="uv_resize_side horizontal" @mousedown="resizeFace(key, $event, 0, 1)" @touchstart.prevent="resizeFace(key, $event, 0, 1)" style="top: var(--height); width: var(--width)"></div>
<div class="uv_resize_side vertical" @mousedown="resizeFace(key, $event, -1, 0)" @touchstart.prevent="resizeFace(key, $event, -1, 0)" style="height: var(--height)"></div>
<div class="uv_resize_side vertical" @mousedown="resizeFace(key, $event, 1, 0)" @touchstart.prevent="resizeFace(key, $event, 1, 0)" style="left: var(--width); height: var(--height)"></div>
<div class="uv_resize_corner uv_c_nw" :class="{main_corner: !face.rotation}" @mousedown="resizeFace(key, $event, -1, -1)" @touchstart.prevent="resizeFace(key, $event, -1, -1)" style="left: 0; top: 0">
<div class="uv_rotate_field" v-if="cube_uv_rotation && face.rotation == 0" @mousedown.stop="rotateFace($event)" @touchstart.prevent.stop="rotateFace($event)"></div>
</div>
<div class="uv_resize_corner uv_c_ne" :class="{main_corner: face.rotation == 270}" @mousedown="resizeFace(key, $event, 1, -1)" @touchstart.prevent="resizeFace(key, $event, 1, -1)" style="left: var(--width); top: 0">
<div class="uv_rotate_field" v-if="cube_uv_rotation && face.rotation == 270" @mousedown.stop="rotateFace($event)" @touchstart.prevent.stop="rotateFace($event)"></div>
</div>
<div class="uv_resize_corner uv_c_sw" :class="{main_corner: face.rotation == 90}" @mousedown="resizeFace(key, $event, -1, 1)" @touchstart.prevent="resizeFace(key, $event, -1, 1)" style="left: 0; top: var(--height)">
<div class="uv_rotate_field" v-if="cube_uv_rotation && face.rotation == 90" @mousedown.stop="rotateFace($event)" @touchstart.prevent.stop="rotateFace($event)"></div>
</div>
<div class="uv_resize_corner uv_c_se" :class="{main_corner: face.rotation == 180}" @mousedown="resizeFace(key, $event, 1, 1)" @touchstart.prevent="resizeFace(key, $event, 1, 1)" style="left: var(--width); top: var(--height)">
<div class="uv_rotate_field" v-if="cube_uv_rotation && face.rotation == 180" @mousedown.stop="rotateFace($event)" @touchstart.prevent.stop="rotateFace($event)"></div>
</div>
</template>
</div>
</template>
<div v-if="element.getTypeBehavior('cube_faces') && element.box_uv" class="cube_box_uv uv_face"
:key="element.uuid"
@mousedown.prevent="dragFace(element, null, $event)"
@touchstart.prevent="dragFace(element, null, $event)"
@click.prevent="selectCube(element, $event)"
:class="{unselected: display_uv === 'all_elements' && !mappable_elements.includes(element)}"
:style="{left: toPixels(element.uv_offset[0]), top: toPixels(element.uv_offset[1])}"
>
<div class="uv_fill" v-if="element.size(1, 'box_uv') > 0" :style="{left: '-1px', top: toPixels(element.size(2, 'box_uv'), -1), width: toPixels(element.size(2, 'box_uv')*2 + element.size(0, 'box_uv')*2, 2), height: toPixels(element.size(1, 'box_uv'), 2)}" />
<div class="uv_fill" v-if="element.size(0, 'box_uv') > 0" :style="{left: toPixels(element.size(2, 'box_uv'), -1), top: '-1px', width: toPixels(element.size(0, 'box_uv')*2, 2), height: toPixels(element.size(2, 'box_uv'), 2), borderBottom: element.size(1, 'box_uv') > 0 ? 'none' : undefined}" />
<div :style="{left: toPixels(element.size(2, 'box_uv'), -1), top: element.size(0, 'box_uv') > 0 ? '-1px' : toPixels(element.size(2, 'box_uv'), -1), width: toPixels(element.size(0, 'box_uv'), 2), height: toPixels( (element.size(0, 'box_uv') > 0 ? element.size(2, 'box_uv') : 0) + element.size(1, 'box_uv'), 2), borderRight: element.size(0, 'box_uv') == 0 ? 'none' : undefined}" />
<div v-if="element.size(1, 'box_uv') > 0 && element.size(0, 'box_uv') > 0" :style="{left: toPixels(element.size(2, 'box_uv')*2 + element.size(0, 'box_uv'), -1), top: toPixels(element.size(2, 'box_uv'), -1), width: toPixels(element.size(0, 'box_uv'), 2), height: toPixels(element.size(1, 'box_uv'), 2)}" />
</div>
<template v-if="element.type == 'mesh'">
<div class="mesh_uv_face uv_face"
v-for="(face, key) in filterMeshFaces(element)" :key="element.uuid + ':' + key"
v-if="face.vertices.length > 2 && (display_uv !== 'selected_faces' || mode == 'paint' || isFaceSelected(element, key)) && face.getTexture() == texture"
:class="{selected: isFaceSelected(element, key)}"
@mousedown.prevent="dragFace(element, key, $event)"
@touchstart.prevent="dragFace(element, key, $event)"
:style="{
left: toPixels(getMeshFaceCorner(face, 0), -1),
top: toPixels(getMeshFaceCorner(face, 1), -1),
width: toPixels(getMeshFaceWidth(face, 0), 2),
height: toPixels(getMeshFaceWidth(face, 1), 2),
}"
>
<svg>
<polygon :points="getMeshFaceOutline(face)" />
</svg>
<template v-if="mode == 'uv' && isFaceSelected(element, key)">
<div class="uv_mesh_vertex" v-for="(key, index) in face.vertices"
:class="{main_corner: index == 0, selected: element.getSelectedVertices().includes(key)}"
@mousedown.prevent.stop="dragVertices(element, key, $event)" @touchstart.prevent.stop="dragVertices(element, key, $event)"
:style="{left: toPixels( face.uv[key][0] - getMeshFaceCorner(face, 0) ), top: toPixels( face.uv[key][1] - getMeshFaceCorner(face, 1) )}"
>
</div>
</template>
</div>
</template>
</template>
<div id="uv_selection_frame" v-if="mode == 'uv' && isScalingAvailable()" :style="getUVSelectionFrameStyle()">
<div id="uv_rotate_handle" v-if="isRotatingAvailable()"
@mousedown.stop="rotateFace($event)" @touchstart.prevent.stop="rotateFace($event)"
:title="tl('uv_editor.rotate_uv')"
>
<i class="material-icons">rotate_right</i>
</div>
<div id="uv_scale_handle" v-if="isScalingAvailable()"
@mousedown.stop="scaleFaces($event)" @touchstart.prevent.stop="scaleFaces($event)"
:title="tl('uv_editor.scale_uv')"
>
<i class="fa fa-solid fa-square-up-right"></i>
</div>
</div>
<div class="selection_rectangle"
v-if="selection_rect.active"
:style="{
left: toPixels(selection_rect.pos_x),
top: toPixels(selection_rect.pos_y),
width: toPixels(selection_rect.width),
height: toPixels(selection_rect.height),
}">
</div>
<div v-if="helper_lines.x >= 0" class="uv_helper_line_x" :style="{left: toPixels(helper_lines.x)}"></div>
<div v-if="helper_lines.y >= 0" class="uv_helper_line_y" :style="{top: toPixels(helper_lines.y)}"></div>
<div id="uv_brush_outline" v-if="mode == 'paint' && mouse_coords.active" :class="brush_type" :style="getBrushOutlineStyle()">
<div v-if="mouse_coords.line_preview" id="uv_brush_line_preview" :style="getLinePreviewStyle()"></div>
</div>
<div id="uv_copy_brush_outline" v-if="copy_brush_source && texture && texture.uuid == copy_brush_source.texture" :style="getCopyBrushOutlineStyle()"></div>
<div ref="texture_canvas_wrapper" id="texture_canvas_wrapper" :key="'texture_canvas_wrapper'" v-show="texture && texture.error != 1"></div>
<img style="object-fit: fill; opacity: 0.02; mix-blend-mode: screen;" v-if="texture == 0 && !box_uv" src="./assets/missing_blend.png">
<svg id="uv_texture_grid" v-if="pixel_grid && mode == 'paint' && texture && texture.width">
<path :d="textureGrid" :style="{strokeWidth: textureGridStroke}" />
<path :d="textureGridBold" class="bold_grid" />
</svg>
<div class="uv_layer_transform_handles"
v-if="isTransformingLayer()"
:style="{
left: toTexturePixels(layer.offset[0], 0, 0),
top: toTexturePixels(layer.offset[1], 1, 0),
width: toTexturePixels(layer.scaled_width, 2, 0),
height: toTexturePixels(layer.scaled_height, 3, 0),
}"
>
<div class="uv_resize_corner uv_c_nw" @pointerdown="resizeLayer($event, -1, -1)" style="left: 0; top: 0;" />
<div class="uv_resize_corner uv_c_ne" @pointerdown="resizeLayer($event, 1, -1)" style="right: 0; top: 0;" />
<div class="uv_resize_corner uv_c_sw" @pointerdown="resizeLayer($event, -1, 1)" style="left: 0; bottom: 0;" />
<div class="uv_resize_corner uv_c_se" @pointerdown="resizeLayer($event, 1, 1)" style="right: 0; bottom: 0;" />
<div class="uv_resize_corner uv_c_n" @pointerdown="resizeLayer($event, 0, -1)" style="top: 0; left: 50%;" />
<div class="uv_resize_corner uv_c_s" @pointerdown="resizeLayer($event, 0, 1)" style="bottom: 0; left: 50%;" />
<div class="uv_resize_corner uv_c_w" @pointerdown="resizeLayer($event, -1, 0)" style="left: 0; top: 50%;" />
<div class="uv_resize_corner uv_c_e" @pointerdown="resizeLayer($event, 1, 0)" style="right: 0; top: 50%;" />
</div>
<div id="texture_selection_rect"
v-if="texture_selection_rect.active"
:class="{ellipse: texture_selection_rect.ellipse}"
:style="{
left: toTexturePixels(texture_selection_rect.pos_x, 0, 0),
top: toTexturePixels(texture_selection_rect.pos_y, 1, 0),
width: toTexturePixels(texture_selection_rect.width, 2, 0),
height: toTexturePixels(texture_selection_rect.height, 3, 0),
}">
</div>
<svg id="texture_selection_polygon" v-if="texture_selection_polygon.length">
<path :d="getTextureSelectionPolygon()" />
<circle :cx="texture_selection_polygon[0][0] / texture.width * inner_width + 1" :cy="texture_selection_polygon[0][1] / texture.width * inner_width + 1" r="7" :class="{closed: isSelectionPolygonClosed()}" />
</svg>
<svg id="uv_selection_outline" v-if="mode == 'paint'">
<path :d="selection_outline" />
<path :d="selection_outline" class="dash_overlay" />
</svg>
</div>
<div class="uv_navigator" @click="focusOnSelection($event)" v-show="mode == 'uv'">
<i class="material-icons icon">navigation</i>
</div>
<div class="uv_transparent_face" v-if="showTransparentFaceText()">${tl("uv_editor.transparent_face")}</div>
</div>
<div class="uv_layer_limbo_options" v-if="isTransformingLayer()">
<template v-if="texture && layer && layer.in_limbo">
<button @click="layer.resolveLimbo(true)">${tl("uv_editor.copy_paste_tool.to_layer")}</button>
<button @click="layer.resolveLimbo(false)">${tl("uv_editor.copy_paste_tool.place")}</button>
</template>
<button v-else-if="layer.scale[0] != 1 || layer.scale[1] != 1" @click="layer.resolveLimbo(true)">${tl("dialog.scale.confirm")}</button>
</div>
<div v-show="mode == 'paint'" class="bar uv_painter_info">
<div v-if="texture && layer && layer.in_limbo" ref="copy_paste_tool_control" class="copy_paste_tool_control">
<div class="tool button_mirror_x" @click="layer.flip(0, true)"><div class="tooltip">${tl("uv_editor.copy_paste_tool.mirror_x")}</div><i class="icon-mirror_x icon"></i></div>
<div class="tool button_mirror_y" @click="layer.flip(1, true)"><div class="tooltip">${tl("uv_editor.copy_paste_tool.mirror_y")}</div><i class="icon-mirror_y icon"></i></div>
<div class="tool button_rotate" @click="layer.rotate(90, true)"><div class="tooltip">${tl("uv_editor.copy_paste_tool.rotate")}</div><i class="material-icons">rotate_right</i></div>
</div>
<template v-else>
<span style="color: var(--color-subtle_text);">{{ getBrushPositionText() }}</span>
<span v-if="texture" class="uv_panel_texture_name" @click="selectTextureMenu($event)">{{ texture.name }}</span>
<span style="color: var(--color-subtle_text);">{{ Math.round(this.zoom*100).toString() + '%' }}</span>
</template>
<div id="toggle_uv_overlay_anchor"></div>
</div>
<div :class="{joined_uv_bar: width >= 720}" ref="uv_toolbars">
<div v-show="mode == 'uv'" class="bar uv_editor_sliders" ref="slider_bar" style="margin-left: 2px;"></div>
<div v-show="mode == 'uv'" class="toolbar_wrapper uv_editor" toolbar="uv_editor"></div>
</div>
</div>
`}}),Z.panel.on("move_to",a=>{Blockbench.isMobile||Z.saveViewportOffset()}),Z.panel.on("moved_to",a=>{Vue.nextTick(()=>{Z.loadViewportOffset()})}),Blockbench.on("update_pressed_modifier_keys",({before:a,now:o})=>{if(a.shift!=o.shift&&document.querySelector("#uv_viewport:hover")){let r=o.shift;Painter.current.x==null&&(r=!1),Z.vue.mouse_coords.line_preview&&!r&&Blockbench.setStatusBarText(),Z.vue.mouse_coords.line_preview=r}}),Toolbars.uv_editor.toPlace(),BarItems.paint_mode_uv_overlay.toElement("#toggle_uv_overlay_anchor"),BarItems.edit_mode_uv_overlay.toElement("#toggle_edit_uv_overlay_anchor");let{slider_bar:i}=Z.vue.$refs;var e=function(){Undo.initEdit({elements:Z.getMappableElements()})},t=function(){Undo.finishEdit("Edit UV")},n=function(a){return Z.isBoxUV()?1:canvasGridSize(a.shiftKey||Pressing.overrides.shift,a.ctrlOrCmd||Pressing.overrides.ctrl)/Z.grid};Z.sliders.pos_x=new NumSlider({id:"uv_slider_pos_x",private:!0,condition:()=>Z.hasElements()&&(Z.getReferenceFace()||Z.isBoxUV()),get(){return trimFloatNumber(Z.getFacePosition(0))},change:function(a){Z.slidePos(a,0)},getInterval:n,onBefore:e,onAfter:t}).toElement(i),Z.sliders.pos_y=new NumSlider({id:"uv_slider_pos_y",private:!0,condition:()=>Z.hasElements()&&(Z.getReferenceFace()||Z.isBoxUV()),get(){return trimFloatNumber(Z.getFacePosition(1))},change:function(a){Z.slidePos(a,1)},getInterval:n,onBefore:e,onAfter:t}).toElement(i),Z.sliders.size_x=new NumSlider({id:"uv_slider_size_x",private:!0,condition:()=>Z.hasElements()&&Z.isFaceUV()&&Z.getReferenceFace(),get(){return trimFloatNumber(Z.getFaceSize(0))},change:function(a){Z.slideSize(a,0)},getInterval:n,onBefore:e,onAfter:t}).toElement(i),Z.sliders.size_y=new NumSlider({id:"uv_slider_size_y",private:!0,condition:()=>Z.hasElements()&&Z.isFaceUV()&&Z.getReferenceFace(),get(){return trimFloatNumber(Z.getFaceSize(1))},change:function(a){Z.slideSize(a,1)},getInterval:n,onBefore:e,onAfter:t}).toElement(i),BarItems.edit_mode_uv_overlay.toElement(i)});Object.assign(window,{UVEditor:Z});var A1=class{constructor(){W(this,"map");this.map={}}get(e,t){return this.map[e]?.[t]}set(e,t,n){this.map[e]||(this.map[e]={}),this.map[e][t]=n}clear(){this.map={}}};StateMemory.init("brush_presets","array");var ke={currentPixel:[-1,-1],brushChanges:!1,current:{},selection:{},mirror_painting:!1,lock_alpha:!1,erase_mode:!1,edit(i,e,t){!t.no_undo&&!t.no_undo_init&&Undo.initEdit({textures:[i],bitmap:!0}),i.internal||i.convertToInternal();let n=t.no_undo?null:t.edit_name||"Edit texture",{canvas:a,ctx:o,offset:r}=i.getActiveCanvas();if(ke.current.ctx=o,ke.current.textures||(ke.current.textures=[]),ke.current.textures.safePush(i),ke.current.texture=i,ke.current.offset=r,e(a,ke.current),Blockbench.dispatchEvent("edit_texture",{texture:i,options:t,canvas:a,ctx:o,offset:r}),!(t.use_cache&&t.no_update===!0))if(t.no_undo&&t.use_cache){i.updateLayerChanges();let s=i.getOwnMaterial().map;s.needsUpdate=!0,UVEditor.vue.updateTextureCanvas()}else i.updateChangesAfterEdit(),!t.no_undo&&!t.no_undo_finish&&Undo.finishEdit(n)},setAlphaMatrix(i,e,t,n){ke.current.alpha_matrix||(ke.current.alpha_matrix={});var a=ke.current.alpha_matrix;a[i.uuid]||(a[i.uuid]={}),a[i.uuid][e]||(a[i.uuid][e]={}),a[i.uuid][e][t]&&(n=Math.max(n,a[i.uuid][e][t])),a[i.uuid][e][t]=n},getAlphaMatrix(i,e,t){return ke.current.alpha_matrix&&ke.current.alpha_matrix[i.uuid]&&ke.current.alpha_matrix[i.uuid][e]&&ke.current.alpha_matrix[i.uuid][e][t]},getTextureToEdit(i){if(BarItems.view_mode.value=="material"&&i){if(i.selected)return i;let e=i.getGroup();if(e&&e.getTextures().includes(Texture.selected))return Texture.selected}return i},startPaintToolCanvas(i,e){if(!i.intersects&&Toolbox.selected.id=="color_picker"){let r={},s=ReferenceImage.active.filter(l=>{let c=l.projectMouseCursor(e.clientX,e.clientY);if(c)return r[l.uuid]=c,!0});if(s.length>1){let l={background:1,viewport:2,blueprint:0,float:4};s.sort((c,d)=>l[c.layer]-l[d.layer])}if(s.length){let l=r[s.last().uuid];var t=ke.getCanvas(s.last().img).getContext("2d");let c=ke.getPixelColor(t,l[0],l[1]);if(settings.pick_color_opacity.value){let d=Math.floor(c.getAlpha()*256);for(let u in BarItems){let p=BarItems[u];p.tool_settings&&p.tool_settings.brush_opacity>=0&&(p.tool_settings.brush_opacity=d)}BarItems.slider_brush_opacity.update()}ColorPanel.set(c,e.button==2)}}if(!i.intersects||i.element&&i.element.locked)return;var n=ke.getTextureToEdit(i.element.faces[i.face].getTexture());if(!n||n.error&&n.error!==2){Blockbench.showQuickMessage("message.untextured");return}let[a,o]=ke.getCanvasToolPixelCoords(i.intersects[0].uv,n);UVEditor.vue.texture=n,ke.startPaintTool(n,a,o,i.element.faces[i.face].uv,e,i),addEventListeners(document,"pointermove",ke.movePaintToolCanvas,!1),addEventListeners(document,"pointerup",ke.stopPaintToolCanvas,!1)},movePaintToolCanvas(i,e){if(convertTouchEvent(i),e||(e=Canvas.raycast(i)),e&&e.element&&!e.element.locked&&e.face){var t=ke.getTextureToEdit(e.element.faces[e.face].getTexture());if(!t||t.img.naturalWidth+t.img.naturalHeight==0)return;let n,[a,o]=ke.getCanvasToolPixelCoords(e.intersects[0].uv,t),r=Toolbox.selected.brush?.interval||1,s=[a-ke.current.x,o-ke.current.y],l=Math.sqrt(Math.pow(s[0],2)+Math.pow(s[1],2));if(l<r)return;if(l>r&&!(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))){let c=Math.floor(l/r)*r;a=ke.current.x+s[0]/l*c,o=ke.current.y+s[1]/l*c}if(ke.current.element!==e.element||ke.current.face!==e.face&&!(e.element.faces[e.face]instanceof MeshFace&&ke.getMeshUVIsland(e.face,e.element.faces[e.face]).includes(ke.current.face))){if(Toolbox.selected.id==="draw_shape_tool"||Toolbox.selected.id==="gradient_tool")return;ke.current.x=a,ke.current.y=o,ke.current.face=e.face,ke.current.element=e.element,n=!0,UVEditor.vue.texture=t,t!==ke.current.texture&&Undo.current_save&&Undo.current_save.addTextureOrLayer(t)}else ke.current.face!=e.face&&s[0]**2+s[1]**2>6**2&&(n=!0),ke.current.face=e.face;ke.movePaintTool(t,a,o,i,n,e.element.faces[e.face].uv)}},stopPaintToolCanvas(){removeEventListeners(document,"pointermove",ke.movePaintToolCanvas,!1),removeEventListeners(document,"pointerup",ke.stopPaintToolCanvas,!1),ke.stopPaintTool()},getMeshUVIsland(i,e){return ke.current.uv_islands||(ke.current.uv_islands={}),ke.current.uv_islands[i]||(ke.current.uv_islands[i]=e.getUVIsland(48)),ke.current.uv_islands[i]},startPaintTool(i,e,t,n,a,o){if(delete ke.paint_stroke_canceled,settings.paint_with_stylus_only.value&&!(a.pointerType=="pen"||a.touches?.[0]?.touchType=="stylus")){ke.paint_stroke_canceled=!0;return}if(!$i.requestTarget($i.types.paint)&&(ke.paint_stroke_canceled=!0,Toolbox.selected!=BarItems.copy_brush||!a.ctrlOrCmd))return;if(Toolbox.selected.brush&&Toolbox.selected.brush.onStrokeStart&&Toolbox.selected.brush.onStrokeStart({texture:i,x:e,y:t,uv:n,event:a,raycast_data:o})==!1){ke.paint_stroke_canceled=!0;return}if(Toolbox.selected.id==="color_picker"){ke.colorPicker(i,e,t,a),ke.paint_stroke_canceled=!0;return}let r={selected_texture:!0,bitmap:!0};if(i.layers_enabled&&i.layers[0]?r.layers=[i.getActiveLayer()]:r.textures=[i],Undo.initEdit(r),ke.current.start_event=a,ke.brushChanges=!1,Toolbox.selected.id==="draw_shape_tool"||Toolbox.selected.id==="gradient_tool"){ke.current={element:o&&o.element,face:o&&o.face,x:e,y:t,clear:document.createElement("canvas"),face_matrices:{}},ke.startPixel=[e,t];let{canvas:s}=i.getActiveCanvas();ke.current.clear.width=s.width,ke.current.clear.height=s.height,ke.current.clear.getContext("2d").drawImage(s,0,0)}else{ke.current.face_matrices={};let s;o?(s=(a.shiftKey||Pressing.overrides.shift)&&ke.current.element==o.element&&(ke.current.face==o.face||o.element.faces[o.face]instanceof MeshFace&&ke.getMeshUVIsland(o.face,o.element.faces[o.face]).includes(ke.current.face)),ke.current.element=o.element,ke.current.face=o.face):s=a.shiftKey||Pressing.overrides.shift,Toolbox.selected.brush?.line==!1&&(s=!1),i.edit(l=>{s?ke.drawBrushLine(i,e,t,a,!1,n):(ke.current.x=ke.current.y=0,ke.useBrushlike(i,e,t,a,n)),ke.current.x=e,ke.current.y=t},{no_undo:!0,use_cache:!0})}},movePaintTool(i,e,t,n,a,o){ke.paint_stroke_canceled||$i.requestTarget($i.types.paint)&&(Toolbox.selected.brush&&Toolbox.selected.brush.onStrokeMove&&Toolbox.selected.brush.onStrokeMove({texture:i,x:e,y:t,uv:o,event:n,raycast_data:data})==!1||(Toolbox.selected.id==="draw_shape_tool"?ke.useShapeTool(i,e,t,n,o):Toolbox.selected.id==="gradient_tool"?ke.useGradientTool(i,e,t,n,o):i.edit(r=>{let s=!0;a&&(s=!1),BarItems.image_tiled_view.value==!0&&(Math.abs(ke.current.x-e)>i.width/2||Math.abs(ke.current.y-t)>i.display_height/2)&&(s=!1),s?ke.drawBrushLine(i,e,t,n,a,o):(ke.current.x=ke.current.y=0,ke.useBrushlike(i,e,t,n,o))},{no_undo:!0,use_cache:!0}),ke.current.x=e,ke.current.y=t))},stopPaintTool(){if($i.endTarget(),ke.paint_stroke_canceled){delete ke.paint_stroke_canceled;return}let i=ke.current.texture;Toolbox.selected.brush&&Toolbox.selected.brush.onStrokeEnd&&Toolbox.selected.brush.onStrokeEnd({texture:i})==!1||(ke.brushChanges&&(ke.current.textures.forEach(e=>{e.updateChangesAfterEdit()}),Undo.finishEdit("Paint texture"),ke.brushChanges=!1),(Toolbox.selected.id=="gradient_tool"||Toolbox.selected.id=="draw_shape_tool")&&Blockbench.setStatusBarText(),preventContextMenu(),delete ke.current.alpha_matrix,delete ke.editing_area,delete ke.current.cached_canvases,delete ke.current.last_pixel,delete ke.current.texture,delete ke.current.textures,delete ke.current.uv_rects,delete ke.current.uv_islands,delete ke.current.dynamic_brush_size,delete ke.current.face_matrices,delete ke.current.start_event,ke.currentPixel=[-1,-1])},setupRectFromFace(i,e){ke.current.uv_rects||(ke.current.uv_rects=new Map);let t=ke.current.uv_rects.get(i);if(t)return ke.editing_area=t,t;let n,a=e.width/e.getUVWidth(),o=e.display_height/e.getUVHeight();if(i){let s=e.display_height*e.currentFrame;if(i instanceof Array){n=ke.editing_area=[i[0]*a,i[1]*o+s,i[2]*a,i[3]*o+s];for(var r=0;r<2;r++)n[r]>n[r+2]&&([n[r],n[r+2]]=[n[r+2],n[r]]),n[r]=Math.floor(Math.roundTo(n[r],2)),n[r+2]=Math.ceil(Math.roundTo(n[r+2],2))}else{let l=e.getUVWidth(),c=e.getUVHeight(),d=0,u=0;for(let m in i)l=Math.min(l,i[m][0]),d=Math.max(d,i[m][0]),c=Math.min(c,i[m][1]),u=Math.max(u,i[m][1]);let p=Mesh.selected[0]&&Mesh.selected[0].faces[ke.current.face];p&&ke.getMeshUVIsland(ke.current.face,p).forEach(_=>{let f=Mesh.selected[0].faces[_];if(f)for(let g in f.uv)l=Math.min(l,f.uv[g][0]),d=Math.max(d,f.uv[g][0]),c=Math.min(c,f.uv[g][1]),u=Math.max(u,f.uv[g][1])}),n=ke.editing_area=[Math.floor(l*a),Math.floor(c*o)+s,Math.ceil(d*a),Math.ceil(u*o)+s]}}else n=ke.editing_area=[0,0,e.img.naturalWidth,e.img.naturalHeight];return ke.current.uv_rects.set(i,n),n},useBrushlike(i,e,t,n,a,o,r){if(ke.currentPixel[0]===e&&ke.currentPixel[1]===t)return;ke.currentPixel=[e,t],ke.brushChanges=!0,r||UVEditor.vue.last_brush_position.V2_set(e,t);let s=i.width/i.getUVWidth(),l=i.display_height/i.getUVHeight();if(ke.mirror_painting&&!r){let m=ke.getMirrorPaintTargets(i,e,t,a);if(m.length){let _=ke.current.element,f=ke.current.face;m.forEach(g=>{ke.current.element=g.element,ke.current.face=g.face,ke.useBrushlike(i,g.x,g.y,n,g.uv_tag,!0,!0)}),ke.current.element=_,ke.current.face=f}}let c=ke.current.ctx;c.save(),c.beginPath();let d=ke.editing_area||ke.setupRectFromFace(a,i);var[u,p]=[d[2]-d[0],d[3]-d[1]];c.rect(d[0],d[1],u,p),Toolbox.selected.id==="fill_tool"?ke.useFilltool(i,c,e,t,{rect:d,uvFactorX:s,uvFactorY:l,w:u,h:p}):ke.useBrush(i,c,e,t,n),ke.editing_area=void 0},useBrush(i,e,t,n,a){let o=Keybinds.extra.paint_secondary_color.keybind.isTriggered(ke.current.start_event??a);var r=tinycolor(ColorPanel.get(o)).toRgb(),s=BarItems.slider_brush_size.get();let l=BarItems.slider_brush_softness.get()/100,c=BarItems.slider_brush_opacity.get()/255,d=c,u=Toolbox.selected,p=ke.current.element?ke.current.element.uuid+ke.current.face:ke.current.face;if(TextureLayer.selected&&TextureLayer.selected.expandTo([t-s+1,n-s+1],[t+s,n+s]),e.clip(),ke.current.element instanceof Mesh){let v=ke.current.element.faces[ke.current.face];if(v&&v.vertices.length>2&&!ke.current.face_matrices[p]){ke.current.face_matrices[p]=v.getOccupationMatrix(!0,[0,0]);let b=ke.getMeshUVIsland(ke.current.face,v);for(let x of b){ke.current.element.faces[x].getOccupationMatrix(!0,[0,0],ke.current.face_matrices[p]);let E=ke.current.element?ke.current.element.uuid+x:x;ke.current.face_matrices[E]=ke.current.face_matrices[p]}}}let m,_;if(a.touches&&a.touches[0]&&a.touches[0].touchType=="stylus"&&a.touches[0].force!==void 0){var f=a.touches[0];m=f.force,_=f.altitudeAngle}else a.pressure>=0&&a.pressure<=1&&(a.pressure<1||a.pointerType!="touch")&&a.pressure!==.5&&(m=a.pressure,_=a.altitudeAngle);if(m!==void 0){if(settings.brush_opacity_modifier.value=="pressure"&&m!==void 0)d=Math.clamp(d*Math.clamp(m*1.25,0,1),0,100);else if(settings.brush_opacity_modifier.value=="tilt"&&_!==void 0){var g=Math.clamp(.5/(_+.3),0,1);d=Math.clamp(d*g,0,100)}settings.brush_size_modifier.value=="pressure"&&m!==void 0?s=Math.clamp(m*s*2,1,20):settings.brush_size_modifier.value=="tilt"&&_!==void 0&&(s*=Math.clamp(1.5/(_+.3),1,4)),ke.current.dynamic_brush_size=s}if(u.brush.draw)u.brush.draw({ctx:e,x:t,y:n,size:s,softness:l,texture:i,event:a});else{let v=settings.paint_side_restrict.value&&ke.current.face_matrices[p],b=(w,E,y,A)=>v&&(!v[y]||!v[y][A%i.display_height])?w:u.brush.changePixel(y,A,w,E,{color:r,opacity:d,max_opacity:c,ctx:e,x:t,y:n,size:s,softness:l,texture:i,event:a}),x=BarItems.brush_shape.value;x=="square"?ke.editSquare(e,t,n,s,l*1.8,b):x=="circle"&&ke.editCircle(e,t,n,s,l*1.8,b)}e.restore()},useFilltool(i,e,t,n,a){let o=tinycolor(ColorPanel.get()).toRgb(),r=BarItems.slider_brush_opacity.get()/255,s=BarItems.fill_mode.get(),l=BarItems.blend_mode.value,{element:c,offset:d}=ke.current,{rect:u,uvFactorX:p,uvFactorY:m,w:_,h:f}=a;ke.erase_mode&&(s==="element"||s==="face")?(e.globalAlpha=r,e.fillStyle="white",e.globalCompositeOperation="destination-out"):(e.fillStyle=tinycolor(ColorPanel.get()).setAlpha(r).toRgbString(),e.globalCompositeOperation=ke.getBlendModeCompositeOperation(),ke.lock_alpha&&(e.globalCompositeOperation="source-atop"));function g(x){if(x.getTypeBehavior("cube_faces")){i.selection.maskCanvas(e,d),e.beginPath();for(var w in x.faces){var E=x.faces[w];if(!(s==="face"&&w!==ke.current.face)&&ke.getTextureToEdit(E.getTexture())===i){var y=getRectangle(E.uv[0]*p,E.uv[1]*m,E.uv[2]*p,E.uv[3]*m);let A=i.currentFrame*i.display_height;e.rect(Math.floor(y.ax),Math.floor(y.ay)+A,Math.ceil(y.bx)-Math.floor(y.ax),Math.ceil(y.by)-Math.floor(y.ay))}}e.fill(),e.restore()}else if(x instanceof Mesh){let A=e.canvas.width,R=e.canvas.height,j=new Uint8Array(A*R),F=!1,O=A,L=R,U=-1,J=-1,ie=(te,me,Q)=>{if(Q<0||Q>=R)return;let H=te<0?0:te,re=me>=A?A-1:me;H>re||(j.fill(1,Q*A+H,Q*A+re+1),F=!0,H<O&&(O=H),re>U&&(U=re),Q<L&&(L=Q),Q>J&&(J=Q))};for(var w in x.faces){var E=x.faces[w];if(s==="face"&&w!==ke.current.face||E.vertices.length<=2||ke.getTextureToEdit(E.getTexture())!==i)continue;let Q=E.getTexture(),H=Q?Q.width/Q.getUVWidth():1,re=Q?Q.display_height/Q.getUVHeight():1,K=[];for(let xe of E.getSortedVertices()){let le=E.uv[xe];if(!le){K=null;break}K.push([le[0]*H,le[1]*re])}if(K&&ke.scanlineConvexPolygon(K,ie))continue;let pe=ke.current.face_matrices[x.uuid+w]||E.getOccupationMatrix(!0,[0,0]);ke.current.face_matrices[x.uuid+w]=pe;for(let xe in pe){let le=parseInt(xe),Be=pe[xe];for(let X in Be)Be[X]&&ie(le,le,parseInt(X))}}if(F){let te=i.selection,me=te&&te.override===null;e.beginPath();for(let Q=L;Q<=J;Q++){let H=Q*A,re=-1;for(let K=O;K<=U+1;K++)K<=U&&j[H+K]&&(!me||te.allow(K,Q))?re<0&&(re=K):re>=0&&(e.rect(re,Q,K-re,1),re=-1)}e.fill()}}}if((c?.getTypeBehavior("cube_faces")||c instanceof Mesh||c instanceof SplineMesh)&&(s==="element"||s==="face"))g(c);else if(s==="face"||s==="element"||s==="selection")i.selection.maskCanvas(e,d),e.fill(),e.restore();else if(s==="selected_elements")for(let x of Outliner.selected)g(x);else{let x=i.selection,w=e.getImageData(t-d[0],n-d[1],1,1),E=w.data[0],y=w.data[1],A=w.data[2],R=w.data[3],j=u[0],F=u[1],O=u[0],L=u[1];ke.current.texture&&ke.current.texture.selected_layer&&(j-=ke.current.texture.selected_layer.offset[0],F-=ke.current.texture.selected_layer.offset[1]),j<0&&(O-=j,j=0),F<0&&(L-=F,F=0);let U=Math.min(_,e.canvas.width-j),J=Math.min(f,e.canvas.height-F);if(U>0&&J>0){let ie=e.getImageData(j,F,U,J),te=ie.data,me=U*J,Q=new Uint8Array(me);for(let K=0;K<J;K++){let pe=L+K,xe=K*U;for(let le=0;le<U;le++){let Be=(xe+le)*4;if(te[Be]===E&&te[Be+1]===y&&te[Be+2]===A&&te[Be+3]===R){let X=O+le;x.allow(X,pe)&&(Q[xe+le]=1)}}}let H=Q;if(s==="color_connected"){H=new Uint8Array(me);let K=t-O,pe=n-L;if(K>=0&&K<U&&pe>=0&&pe<J){let xe=pe*U+K;if(Q[xe]){H[xe]=1;let le=[xe];for(;le.length;){let Be=le.pop(),X=Be%U;X>0&&Q[Be-1]&&!H[Be-1]&&(H[Be-1]=1,le.push(Be-1)),X<U-1&&Q[Be+1]&&!H[Be+1]&&(H[Be+1]=1,le.push(Be+1)),Be-U>=0&&Q[Be-U]&&!H[Be-U]&&(H[Be-U]=1,le.push(Be-U)),Be+U<me&&Q[Be+U]&&!H[Be+U]&&(H[Be+U]=1,le.push(Be+U))}}}}let re=!1;for(let K=0;K<me;K++){if(!H[K])continue;let pe=K*4;var v={r:te[pe],g:te[pe+1],b:te[pe+2],a:te[pe+3]/255},b=v;ke.erase_mode?ke.lock_alpha||(r==1?b.r=b.g=b.b=b.a=0:b.a=Math.clamp(b.a*(1-r),0,1)):l=="default"?b=ke.combineColors(v,o,r):b=ke.blendColors(v,o,r,l),te[pe]=b.r,te[pe+1]=b.g,te[pe+2]=b.b,ke.lock_alpha||(te[pe+3]=b.a*255),re=!0}re&&e.putImageData(ie,j,F)}}e.globalAlpha=1,e.globalCompositeOperation="source-over"},getMirrorPaintTargets(i,e,t,n){function a(r,s){let l=s?ke.current.element:ke.getMirrorElement(ke.current.element,r),c=Condition(Toolbox.selected.brush?.floor_coordinates)?1:0,d=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius&&Condition(Toolbox.selected.brush?.floor_coordinates);if(Toolbox.selected.id=="gradient_tool"&&(d=!0),l instanceof Cube){let p=1/i.getUVWidth()*i.img.naturalWidth,m=1/i.getUVHeight()*i.img.naturalHeight,_=ke.current.face,f=r[0]&&(_==="west"||_==="east")||r[1]&&(_==="up"||_==="down")||r[2]&&(_==="south"||_==="north");f&&s!==null&&(_=CubeFace.opposite[_]);let g=l.faces[_];if(f&&n[1]===g.uv[1]&&n[3]===g.uv[3]&&Math.min(n[0],n[2])===Math.min(g.uv[0],g.uv[2])&&r.filter(x=>x).length==1)return;var u=[e-Math.min(n[0],n[2])*p,t-Math.min(n[1],n[3])*m];let v=r[0]!=r[2];s===null&&(v=!v),(_==="up"||_==="down")&&(v=!!r[0]),g.uv[0]>g.uv[2]==n[0]>n[2]==v?(u[0]=Math.max(g.uv[0],g.uv[2])*p-u[0]-c,d&&(u[0]+=1)):u[0]=Math.min(g.uv[0],g.uv[2])*p+u[0];let b=r[2]&&(_==="up"||_==="down");return g.uv[1]>g.uv[3]==n[1]>n[3]!=b?u[1]=Math.min(g.uv[1],g.uv[3])*m+u[1]:u[1]=Math.max(g.uv[1],g.uv[3])*m-u[1]-c,c==1&&(u[0]=Math.round(u[0]),u[1]=Math.round(u[1])),{element:l,x:u[0],y:u[1],uv_tag:g.uv,face:_}}else if(l instanceof Mesh){let p=l,m=ke.current.element.faces[ke.current.face],_=m.getNormal(!0),f=m.getCenter(),g=.5,v=.1,b,x;for(let y in p.faces){let A=p.faces[y].getNormal(!0),R=p.faces[y].getCenter();s!==null&&(r[0]&&(A[0]*=-1,R[0]*=-1),r[1]&&(A[1]*=-1,R[1]*=-1),r[2]&&(A[2]*=-1,R[2]*=-1)),Math.epsilon(_[0],A[0],v)&&Math.epsilon(_[1],A[1],v)&&Math.epsilon(_[2],A[2],v)&&Math.epsilon(f[0],R[0],g)&&Math.epsilon(f[1],R[1],g)&&Math.epsilon(f[2],R[2],g)&&(b=p.faces[y],x=y)}if(!b)return;let w=[(d?e:e+.5)*(i.getUVWidth()/i.width),(d?t:t+.5)*(i.getUVHeight()/i.height)],E;if(s===null){let y=m.UVToLocal(w);r[0]&&(y.x*=-1),r[1]&&(y.y*=-1),r[2]&&(y.z*=-1);let A=ke.current.element.mesh.localToWorld(y);r[0]&&(A.x*=-1),r[1]&&(A.y*=-1),r[2]&&(A.z*=-1),p.mesh.worldToLocal(A),E=b.localToUV(A)}else if(s){let y=m.UVToLocal(w);r[0]&&(y.x*=-1),r[1]&&(y.y*=-1),r[2]&&(y.z*=-1),E=b.localToUV(y)}else{let y=ke.current.element.mesh.localToWorld(m.UVToLocal(w));r[0]&&(y.x*=-1),r[1]&&(y.y*=-1),r[2]&&(y.z*=-1),p.mesh.worldToLocal(y),E=b.localToUV(y)}return E[0]/=i.getUVWidth()/i.width,E[1]/=i.getUVHeight()/i.height,Condition(Toolbox.selected.brush?.floor_coordinates)&&(d?E=E.map(y=>Math.round(y)):E=E.map(y=>Math.floor(y))),c==1&&(E[0]=Math.round(E[0]),E[1]=Math.round(E[1])),{element:p,x:E[0],y:E[1],uv_tag:b.uv,face:x}}}let o=[];if(n&&ke.current.element){let r=[[ke.mirror_painting_options.axis.x?1:0,0,ke.mirror_painting_options.axis.z?1:0]];r[0].filter(s=>s).length==3?r=[[1,0,0],[0,1,0],[0,0,1],[1,1,0],[0,1,1],[1,0,1],[1,1,1]]:r[0].equals([1,1,0])?r=[[1,0,0],[0,1,0],[1,1,0]]:r[0].equals([0,1,1])?r=[[0,1,0],[0,0,1],[0,1,1]]:r[0].equals([1,0,1])&&(r=[[1,0,0],[0,0,1],[1,0,1]]),r.forEach((s,l)=>{ke.mirror_painting_options.global&&o.push(a(s,!1)),ke.mirror_painting_options.local&&o.push(a(s,!0)),ke.mirror_painting_options.global&&ke.mirror_painting_options.local&&o.push(a(s,null))})}if(ke.mirror_painting_options.texture&&!ke.current.element){let r=0;(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))&&(r=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?0:1);let s=ke.mirror_painting_options.texture_center;(!s||!s[0]&&!s[1])&&(s=[i.width/2,i.display_height/2]),ke.mirror_painting_options.axis.x&&o.push({x:s[0]*2-e-r,y:t}),ke.mirror_painting_options.axis.z&&o.push({x:e,y:s[1]*2-t-r}),ke.mirror_painting_options.axis.x&&ke.mirror_painting_options.axis.z&&o.push({x:s[0]*2-e-r,y:s[1]*2-t-r})}if(ke.mirror_painting_options.texture_frames&&Format.animated_textures&&i&&i.frameCount>1){let r=o.slice();for(let s=0;s<i.frameCount;s++)s!=i.currentFrame&&(o.push({element:ke.current.element,x:e,y:t+(s-i.currentFrame)*i.display_height,face:ke.current.face}),r.forEach(l=>{o.push({element:l.element,x:l.x,y:l.y+(s-i.currentFrame)*i.display_height,face:l.face})}))}return o=o.filter(r=>!!r),o.forEach(r=>{r.x=Math.roundTo(r.x,8),r.y=Math.roundTo(r.y,8)}),o},drawBrushLine(i,e,t,n,a,o){var r=ke.current.x==null?e:ke.current.x,s=ke.current.y==null?t:ke.current.y,l=e-r,c=t-s,d=Math.sqrt(l*l+c*c);a&&!d&&(d=1);let u=Toolbox.selected.brush?.interval||1;var p=Math.min(u,d),m,_;let{ctx:f,offset:g}=ke.current;if(u==1&&(Math.abs(l)>Math.abs(c)?u=Math.sqrt(Math.pow(c/l,2)+1):u=Math.sqrt(Math.pow(l/c,2)+1)),Toolbox.selected.brush?.pixel_perfect&&BarItems.pixel_perfect_drawing.value&&BarItems.slider_brush_size.get()==1){let v=0;d==1&&l&&!c&&(v=1),d==1&&!l&&c&&(v=2);let b=f.getImageData(e-g[0],t-g[1],1,1),x={direction:v,image_data:b,position:[e-g[0],t-g[1]]};d==1&&ke.current.last_pixel&&ke.current.last_pixel.direction&&v&&ke.current.last_pixel.direction!=v?(f.putImageData(ke.current.last_pixel.image_data,...ke.current.last_pixel.position),delete ke.current.last_pixel):ke.current.last_pixel=x}for(;p<=d+.001;)m=d?r+l/d*p:e,_=d?s+c/d*p:t,(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates))&&(m=Math.round(m),_=Math.round(_)),ke.useBrushlike(i,m,_,n,o,p<d-1),p+=u},useShapeTool(i,e,t,n,a){ke.brushChanges=!0,i.edit(function(o){let{ctx:r,offset:s}=ke.current;r.clearRect(0,0,o.width,o.height),r.drawImage(ke.current.clear,0,0);let l=tinycolor(ColorPanel.get(Keybinds.extra.paint_secondary_color.keybind.isTriggered(n))).toRgb(),c=BarItems.slider_brush_opacity.get()/255;var d=BarItems.slider_brush_size.get();let u=BarItems.draw_shape_type.get(),p=u.substr(-1)=="h",m=BarItems.blend_mode.value;u=u.replace(/_h$/,"");function _(f,g,v,b,x){let w=v-f,E=b-g;if(n.shiftKey||Pressing.overrides.shift){let A=Math.floor((Math.abs(w)+Math.abs(E))/2);w=w>0?A:-A,E=E>0?A:-A}if(ke.erase_mode?(r.globalAlpha=c,r.globalCompositeOperation="destination-out"):ke.lock_alpha?r.globalCompositeOperation="source-atop":r.globalCompositeOperation=ke.getBlendModeCompositeOperation(),u==="rectangle"){if(x){let A=ke.setupRectFromFace(x,i),[R,j]=[A[2]-A[0],A[3]-A[1]];r.beginPath(),r.rect(A[0]-s[0],A[1]-s[1],R,j)}else i.selection.maskCanvas(r,s);r.strokeStyle=r.fillStyle=tinycolor(ColorPanel.get(Keybinds.extra.paint_secondary_color.keybind.isTriggered(n))).setAlpha(c).toRgbString(),r.lineWidth=d,r.beginPath();var y=getRectangle(f,g,f+w,g+E);p&&y.w>0&&y.h>0?(r.rect(y.ax+(d%2?.5:1)-s[0],y.ay+(d%2?.5:1)-s[1],y.x,y.y),r.stroke()):(r.rect(y.ax-s[0],y.ay-s[1],y.x+1,y.y+1),r.fill())}else if(u==="ellipse"){let A=ke.setupRectFromFace(x,i),[R,j]=[A[2]-A[0],A[3]-A[1]];ke.modifyCanvasSection(r,A[0],A[1],R,j,s,F=>{function O(me){if(ke.erase_mode)return c==1?me.r=me.g=me.b=me.a=0:me.a=Math.clamp(me.a*(1-c),0,1),me;{let Q;return m=="default"?Q=ke.combineColors(me,l,c):Q=ke.blendColors(me,l,c,m),ke.lock_alpha&&(Q={r:Q.r,g:Q.g,b:Q.b,a:me.a}),Q}}if(p){let me=Math.trunc(-d/2),Q=Math.ceil(d/2);for(var L=w+me;L<w+Q;L++)for(var U=E+me;U<E+Q;U++){for(var J=0;J<Math.abs(L);J++)for(var ie=0;ie<4;ie++)F(f+(ie<2?1:-1)*J,g+(ie%2?1:-1)*Math.round(Math.cos(Math.asin(J/Math.abs(L)))*U),O);for(var J=0;J<Math.abs(U);J++)for(var ie=0;ie<4;ie++)F(f+(ie<2?1:-1)*Math.round(Math.sin(Math.acos(J/Math.abs(U)))*L),g+(ie%2?1:-1)*J,O)}}else{w=Math.clamp(w,-64,64),E=Math.clamp(E,-64,64);for(var J=0;J<=Math.abs(w);J++){let Q=Math.round(Math.cos(Math.asin(J/Math.abs(w)))*Math.abs(E));for(var te=0;te<=Q;te++)for(var ie=0;ie<4;ie++)F(f+(ie<2?1:-1)*J,g+(ie%2?1:-1)*te,O)}for(var J=0;J<=Math.abs(E);J++){let Q=Math.round(Math.sin(Math.acos(J/Math.abs(E)))*Math.abs(w));for(var te=0;te<=Q;te++)for(var ie=0;ie<4;ie++)F(f+(ie<2?1:-1)*te,g+(ie%2?1:-1)*J,O)}}})}u==="ellipse"?Blockbench.setStatusBarText(`${Math.abs(w*2)+1} x ${Math.abs(E*2)+1}`):Blockbench.setStatusBarText(`${Math.abs(w)+1} x ${Math.abs(E)+1}`)}if(_(ke.startPixel[0],ke.startPixel[1],e,t,a),ke.mirror_painting){let f=ke.getMirrorPaintTargets(i,e,t,a);if(f){let g=ke.getMirrorPaintTargets(i,ke.startPixel[0],ke.startPixel[1],a),v=ke.current.element,b=ke.current.face;f.forEach((x,w)=>{let E=g[w];ke.current.element=x.element,ke.current.face=x.face,_(E.x,E.y,x.x,x.y,x.uv_tag)}),ke.current.element=v,ke.current.face=b}}r.globalAlpha=1,r.globalCompositeOperation="source-over"},{no_undo:!0,use_cache:!0})},useGradientTool(i,e,t,n,a){ke.brushChanges=!0,i.edit(function(o){let r=BarItems.slider_brush_opacity.get()/255,{ctx:s,offset:l}=ke.current;s.clearRect(0,0,o.width,o.height),s.drawImage(ke.current.clear,0,0),ke.lock_alpha&&(s.globalCompositeOperation="source-atop");function c(m,_,f,g,v){let b=f-m,x=g-_;if(n.shiftKey||Pressing.overrides.shift){let y=Math.sqrt(Math.pow(b,2)+Math.pow(x,2)),A=Math.abs(b)/Math.abs(x);A<.25?(A=0,b=0,x=y):A<.75?(A=.5,b=Math.round(y/2.2361),x=b*2):A<1.5?(A=1,b=Math.round(Math.sqrt(Math.pow(y,2)/2)),x=b):A<3?(A=2,x=Math.round(y/2.2361),b=x*2):(A=1/0,b=y,x=0),f=m+b*Math.sign(f-m),g=_+x*Math.sign(g-_)}let w=s.createLinearGradient(m-l[0],_-l[1],f-l[0],g-l[1]),E=tinycolor(ColorPanel.get(Keybinds.extra.paint_secondary_color.keybind.isTriggered(n)));if(w.addColorStop(0,E.setAlpha(r).toRgbString()),w.addColorStop(1,E.setAlpha(0).toRgbString()),v){let y=ke.setupRectFromFace(v,i),[A,R]=[y[2]-y[0],y[3]-y[1]];s.beginPath(),s.rect(y[0]-l[0],y[1]-l[1],A,R)}else{i.selection.maskCanvas(s,l);let y=i.selection.getBoundingRect(!0);s.rect(y.start_x-l[0],y.start_y-l[1],y.width,y.height)}return s.fillStyle=w,s.fill(),s.restore(),[b,x]}let[d,u]=c(ke.startPixel[0],ke.startPixel[1],e,t,a);if(ke.mirror_painting){let m=ke.getMirrorPaintTargets(i,e,t,a);if(m){let _=ke.getMirrorPaintTargets(i,ke.startPixel[0],ke.startPixel[1],a),f=ke.current.element,g=ke.current.face;m.forEach((v,b)=>{let x=_[b];ke.current.element=v.element,c(x.x,x.y,v.x,v.y,v.uv_tag)}),ke.current.element=f,ke.current.face=g}}s.globalCompositeOperation="source-over";let p=Math.round(Math.radToDeg(Math.atan2(d,u))*4)/4;Blockbench.setStatusBarText(`${Math.round(d)} x ${Math.round(u)}, ${p}\xB0`)},{no_undo:!0,use_cache:!0})},colorPicker(i,e,t,n){if(settings.color_picker_tool_switch.value&&i.ctx.getImageData(Math.floor(e),Math.floor(t),1,1).data[3]===0){Toolbox.original=BarItems.eraser;return}let a;if(settings.pick_combined_color.value==!1&&i.selected_layer&&(a=ke.getPixelColor(i.getActiveCanvas().ctx,e-i.selected_layer.offset[0],t-i.selected_layer.offset[1])),(!a||a.toHex8()=="00000000")&&(a=ke.getPixelColor(i.ctx,e,t)),settings.pick_color_opacity.value){let o=Math.floor(a.getAlpha()*256);for(let r in BarItems){let s=BarItems[r];s.tool_settings&&s.tool_settings.brush_opacity>=0&&(s.tool_settings.brush_opacity=o)}BarItems.slider_brush_opacity.update()}ColorPanel.set(a,n&&n.button==2),settings.color_picker_tool_switch.value&&Toolbox.original==BarItems.eraser&&(Toolbox.original=BarItems.brush_tool)},combineColors(i,e,t){if(e.a*t==1)return{r:e.r,g:e.g,b:e.b,a:e.a};let n=e.a;e.a=e.a*t;let a={};return a.a=Math.clamp(1-(1-e.a)*(1-i.a),0,1),a.r=Math.round(e.r*e.a/a.a+i.r*i.a*(1-e.a)/a.a),a.g=Math.round(e.g*e.a/a.a+i.g*i.a*(1-e.a)/a.a),a.b=Math.round(e.b*e.a/a.a+i.b*i.a*(1-e.a)/a.a),e.a=n,a},blendColors(i,e,t,n){let a=e.a;e.a=e.a*t;let o={};o.a=Math.clamp(1-(1-e.a)*(1-i.a),0,1);let r;return n=="color"&&(r=(i.r*.2126+i.g*.7152+i.b*.0722)/255,o.a=i.a),["r","g","b"].forEach(s=>{let l=i[s]/255,c=e[s]/255;switch(i.a==0&&(l=c),n){case"behind":o[s]=l*i.a/o.a+c*e.a*(1-i.a)/o.a;break;case"color":o[s]=r*c*e.a+l*(1-e.a);break;case"multiply":o[s]=l*c*e.a+l*(1-e.a);break;case"divide":o[s]=l/c*e.a+l*(1-e.a);break;case"add":o[s]=(l+c)*e.a+l*(1-e.a);break;case"subtract":o[s]=(l-c)*e.a+l*(1-e.a);break;case"darken":o[s]=Math.min(l,c)*e.a+l*(1-e.a);break;case"lighten":o[s]=Math.max(l,c)*e.a+l*(1-e.a);break;case"screen":o[s]=(1-(1-l)*(1-c))*e.a+l*(1-e.a);break;case"overlay":i[s]<128?o[s]=2*l*c*e.a+l*(1-e.a):o[s]=(1-2*((1-l)*(1-c)))*e.a+l*(1-e.a);break;case"difference":o[s]=(1-l)*e.a*c+l*(1-e.a*c);break}o[s]=Math.clamp(Math.round(255*o[s]),0,255)}),e.a=a,o},getMirrorElement(i,e){let t=Format.centered_grid?0:8,n=.01;e=e.map((r,s)=>r?s:!1).filter(r=>r!==!1);let a=[0,1,2].filter(r=>!e.includes(r));if(i instanceof Cube){if(e.find(r=>!Math.epsilon(i.from[r]-t,t-i.to[r],n))==null&&a.find(r=>i.rotation[r])==null)return i;for(var o of Cube.all)if(Math.epsilon(i.inflate,o.inflate,n)&&a.find(r=>!Math.epsilon(i.from[r],o.from[r],n))==null&&a.find(r=>!Math.epsilon(i.to[r],o.to[r],n))==null&&e.find(r=>!Math.epsilon(i.size(r),o.size(r),n))==null&&e.find(r=>!Math.epsilon(i.to[r]-t,t-o.from[r],n))==null&&e.find(r=>!Math.epsilon(i.rotation[r],o.rotation[r],n))==null)return o;return!1}else if(i instanceof Mesh){let r=.5,s=i.getCenter(!0);if(e.find(l=>!Math.epsilon(i.origin[l],t,n))==null&&e.find(l=>!Math.epsilon(s[l],t,r))==null&&a.find(l=>i.rotation[l])==null)return i;for(var o of Mesh.all){let c=o.getCenter(!0);if(Object.keys(i.vertices).length===Object.keys(o.vertices).length&&e.find(d=>!Math.epsilon(i.origin[d]-t,t-o.origin[d],n))==null&&e.find(d=>!Math.epsilon(s[d]-t,t-c[d],r))==null&&a.find(d=>!Math.epsilon(i.origin[d],o.origin[d],n))==null&&a.find(d=>!Math.epsilon(s[d],c[d],r))==null)return o}return i}},updateNslideValues(){BarItems.slider_brush_size.update(),BarItems.slider_brush_softness.update(),BarItems.slider_brush_opacity.update(),BarItems.slider_color_select_threshold.update()},getBlendModeCompositeOperation(i=BarItems.blend_mode.value){switch(i){case"set_opacity":return"source-atop";case"color":return"color";case"behind":return"destination-over";case"multiply":return"multiply";case"add":return"lighter";case"darken":return"darken";case"lighten":return"lighten";case"screen":return"screen";case"overlay":return"overlay";case"difference":return"difference";default:return"source-over"}},getCanvasToolPixelCoords(i,e){let t=i.x*e.img.naturalWidth,n=(1-i.y)*e.img.naturalHeight;if(!Toolbox.selected.brush||Condition(Toolbox.selected.brush.floor_coordinates)){let a=BarItems.slider_brush_size.get()%2==0&&Toolbox.selected.brush?.offset_even_radius?.5:0;t=Math.floor(t+a),n=Math.floor(n+a)}return[t,n]},getCanvas(i){if(i instanceof Texture)return i.canvas;{let e=i,t=document.createElement("canvas"),n=t.getContext("2d");return t.width=e.naturalWidth,t.height=e.naturalHeight,n.drawImage(e,0,0),t}},copyCanvas(i){let e=document.createElement("canvas"),t=e.getContext("2d");return e.width=i.width,e.height=i.height,t.drawImage(i,0,0),e},scanCanvas(i,e,t,n,a,o){let r=e,s=t;if(ke.current.texture&&ke.current.texture.selected_layer&&(r-=ke.current.texture.selected_layer.offset[0],s-=ke.current.texture.selected_layer.offset[1]),r<0&&(e-=r,r=0),s<0&&(t-=s,s=0),n=Math.min(n,i.canvas.width-r),a=Math.min(a,i.canvas.height-s),!n||!a)return;let l=i.getImageData(r,s,n,a),c=!1;for(let d=0;d<l.data.length;d+=4){let u=[l.data[d],l.data[d+1],l.data[d+2],l.data[d+3]],p=e+d/4%n,m=t+Math.floor(d/4/n),_=o(p,m,u);_&&(l.data[d+0]=_[0],l.data[d+1]=_[1],l.data[d+2]=_[2],l.data[d+3]=_[3],c=!0)}c&&i.putImageData(l,r,s)},scanlineConvexPolygon(i,e){let t=i.length;if(t<3)return!1;let n=0;for(let r=0;r<t;r++){let s=i[r],l=i[(r+1)%t],c=i[(r+2)%t],d=(l[0]-s[0])*(c[1]-l[1])-(l[1]-s[1])*(c[0]-l[0]);if(d===0)continue;let u=d>0?1:-1;if(n===0)n=u;else if(u!==n)return!1}let a=1/0,o=-1/0;for(let r of i)r[1]<a&&(a=r[1]),r[1]>o&&(o=r[1]);for(let r=Math.floor(a);r<=Math.ceil(o)-1;r++){let s=r,l=r+1,c=1/0,d=-1/0;for(let u of i)u[1]>=s&&u[1]<=l&&(u[0]<c&&(c=u[0]),u[0]>d&&(d=u[0]));for(let u=0;u<t;u++){let p=i[u],m=i[(u+1)%t];if(p[1]!==m[1])for(let _=0;_<2;_++){let f=_===0?s:l;if((p[1]-f)*(m[1]-f)>0)continue;let g=(f-p[1])/(m[1]-p[1]);if(g<0||g>1)continue;let v=p[0]+g*(m[0]-p[0]);v<c&&(c=v),v>d&&(d=v)}}d<c||e(Math.floor(c),Math.ceil(d)-1,r)}return!0},getPixelColor(i,e,t){let{data:n}=i.getImageData(e,t,1,1);return new tinycolor({r:n[0],g:n[1],b:n[2],a:n[3]/256})},modifyCanvasSection(i,e,t,n,a,o=[0,0],r){e<o[0]&&(e=o[0]),t<o[1]&&(t=o[1]),n=Math.min(n,i.canvas.width-e+o[0]),a=Math.min(a,i.canvas.height-t+o[1]);let s=i.getImageData(e-o[0],t-o[1],n,a),l=[],c=UVEditor.texture&&UVEditor.texture.selection;r((d,u,p)=>{if(c&&!c.allow(d,u)||(d=d-e,u=u-t,d<0||d>=n)||u<0||u>=a)return;let m=(d+u*n)*4;if(l.includes(m))return;l.push(m);let _=p({r:s.data[m+0],g:s.data[m+1],b:s.data[m+2],a:s.data[m+3]/255});s.data[m+0]=_.r,s.data[m+1]=_.g,s.data[m+2]=_.b,s.data[m+3]=_.a*255}),i.putImageData(s,e-o[0],t-o[1])},editCircle(i,e,t,n,a,o){n=Math.round(n+1)/2;let r=1+1/(n+3),s=ke.current.texture.selection,l=settings.paint_side_restrict.value&&ke.editing_area&&typeof ke.editing_area=="object",c=e%1!=0,d=n%1;ke.scanCanvas(i,Math.floor(e)-Math.ceil(n)-2,Math.floor(t)-Math.ceil(n)-2,2*n+3,2*n+3,function(u,p,m){if(l&&(u+.02<Math.floor(ke.editing_area[0])||p+.02<Math.floor(ke.editing_area[1])||u+.02>=ke.editing_area[2]||p+.02>=ke.editing_area[3])||s.allow(u,p)==0)return;let _=u-e,f=p-t;c?(_+=.5,f+=.5):d&&(_+=.5,f+=d);let g=Math.sqrt(_*_+f*f),v;a*n!=0?(v=Math.clamp((g-(1-a)*n)/(a*n),0,1),v=Math.hermiteBlend(v)):(g*=r,v=Math.floor(g/n));let b=Math.clamp(1-v,0,1);if(b>0){let x=o({r:m[0],g:m[1],b:m[2],a:m[3]/255},b,u,p);m[0]=x.r,m[1]=x.g,m[2]=x.b,m[3]=x.a*255}return m})},editSquare(i,e,t,n,a,o){n=Math.round(n+1)/2;let r=ke.current.texture.selection,s=settings.paint_side_restrict.value&&ke.editing_area&&typeof ke.editing_area=="object",l=e%1!=0,c=n%1;ke.scanCanvas(i,Math.floor(e)-Math.ceil(n)-2,Math.floor(t)-Math.ceil(n)-2,2*n+3,2*n+3,function(d,u,p){if(s&&(d+.02<Math.floor(ke.editing_area[0])||u+.02<Math.floor(ke.editing_area[1])||d+.02>=ke.editing_area[2]||u+.02>=ke.editing_area[3])||r.allow(d,u)==0)return;let m=d-e,_=u-t;l?(m+=.5,_+=.5):c&&(m+=.5,_+=c);let f=Math.max(Math.abs(m),Math.abs(_)),g;a*n!=0?(g=Math.clamp((f-(1-a)*n)/(a*n),0,1),g=3*Math.pow(g,2)-2*Math.pow(g,3)):g=Math.floor(f/n);let v=limitNumber(1-g,0,1);if(v>0){let b=o({r:p[0],g:p[1],b:p[2],a:p[3]/255},v,d,u);return p[0]=b.r,p[1]=b.g,p[2]=b.b,p[3]=b.a*255,p}})},openBrushOptions(){let i=0,e=new Dialog({id:"brush_options",title:"menu.brush_presets.dialog",singleButton:!0,part_order:["component","form"],component:{data(){return{presets:StateMemory.brush_presets,selected_preset:null}},methods:{addPreset(){let t={name:"Preset",size:1,softness:0,opacity:null,color:null,shape:"square",blend_mode:"default"};return this.presets.push(t),this.selectPreset(t),t},removePreset(t){t||(t=this.selected_preset);let n=this.presets.indexOf(t);this.presets.remove(t),this.selected_preset=null,i=0,e.object.classList.remove("preset_selected"),this.save(),(this.presets[n]||this.presets[n-1])&&this.selectPreset(this.presets[n]||this.presets[n-1])},selectPreset(t){this.selected_preset=t,i=t,e.object.classList.add("preset_selected"),e.setFormToggles({size:t.size!==null,softness:t.softness!==null,opacity:t.opacity!==null,color:t.color!==null},!1),e.setFormValues({name:t.name,size:t.size==null?BarItems.slider_brush_size.get():t.size,softness:t.softness==null?BarItems.slider_brush_softness.get():t.softness,opacity:t.opacity==null?BarItems.slider_brush_opacity.get():t.opacity,pixel_perfect:t.pixel_perfect==null?BarItems.pixel_perfect_drawing.value:t.pixel_perfect,color:t.color==null?ColorPanel.get():t.color,shape:t.shape?t.shape:"unset",blend_mode:t.blend_mode?t.blend_mode:"unset"})},openContextMenu(t,n){new Menu([{name:"generic.delete",icon:"delete",click:()=>{this.removePreset(t)}}]).open(n)},save(){StateMemory.save("brush_presets")},getBrushStyle(t){return{color:t.color,opacity:t.opacity==null?1:t.opacity/255,filter:t.softness?`blur(${t.softness/24}px)`:void 0}}},template:`
<ul id="brush_preset_bar">
<li v-for="preset in presets" :class="{selected: preset == selected_preset}" @click="selectPreset(preset)" @contextmenu="openContextMenu(preset, $event)">
<i class="icon material-icons" v-if="preset.shape == 'circle'" :style="getBrushStyle(preset)"">circle</i>
<i class="fa_big icon fas fa-square" v-else :style="getBrushStyle(preset)""></i>
</li>
<li class="add_brush_preset" @click="addPreset()">
<i class="material-icons">add</i>
</li>
</ul>
`},form:{name:{label:"generic.name",type:"text"},shape:{label:"action.brush_shape",description:"action.brush_shape.desc",type:"select",options:{unset:"generic.unset",square:"action.brush_shape.square",circle:"action.brush_shape.circle"}},blend_mode:{label:"action.blend_mode",description:"action.blend_mode.desc",type:"select",options:{unset:"generic.unset",default:"action.blend_mode.default",set_opacity:"action.blend_mode.set_opacity",color:"action.blend_mode.color",behind:"action.blend_mode.behind",multiply:"action.blend_mode.multiply",add:"action.blend_mode.add",lighten:"action.blend_mode.lighten",darken:"action.blend_mode.darken",screen:"action.blend_mode.screen",overlay:"action.blend_mode.overlay",difference:"action.blend_mode.difference"}},size:{label:"action.slider_brush_size",description:"action.slider_brush_size.desc",type:"number",value:1,min:1,max:100,toggle_enabled:!0,toggle_default:!0},opacity:{label:"action.slider_brush_opacity",description:"action.slider_brush_opacity.desc",type:"number",value:255,min:0,max:255,toggle_enabled:!0,toggle_default:!0},softness:{label:"action.slider_brush_softness",description:"action.slider_brush_softness.desc",type:"number",value:0,min:0,max:100,toggle_enabled:!0,toggle_default:!0},pixel_perfect:{label:"action.pixel_perfect_drawing",type:"checkbox"},color:{label:"data.color",description:"action.brush_shape.desc",type:"color",toggle_enabled:!0,toggle_default:!0},actions:{type:"buttons",buttons:["generic.delete"],click(){e.content_vue.removePreset()}}},onFormChange(t){let n=this.content_vue.selected_preset;n.name=t.name,t.size!=null?n.size=t.size:n.size=null,t.softness!=null?n.softness=t.softness:n.softness=null,t.opacity!=null?n.opacity=t.opacity:n.opacity=null,t.color!=null?n.color=t.color.toHexString():n.color=null,t.pixel_perfect?n.pixel_perfect=!0:n.pixel_perfect=!1,t.shape!=="unset"?n.shape=t.shape:n.shape=null,t.blend_mode!=="unset"?n.blend_mode=t.blend_mode:n.blend_mode=null},onConfirm(){StateMemory.save("brush_presets"),i&&ke.loadBrushPreset(i)},onOpen(){Vue.nextTick(()=>{this.content_vue.presets[0]&&this.content_vue.selectPreset(this.content_vue.presets[0])})}}).show()},loadBrushPreset(i){typeof i.size=="number"&&BarItems.slider_brush_size.setValue(i.size),typeof i.softness=="number"&&BarItems.slider_brush_softness.setValue(i.softness),typeof i.opacity=="number"&&BarItems.slider_brush_opacity.setValue(i.opacity),i.pixel_perfect!=null&&BarItems.pixel_perfect_drawing.set(i.pixel_perfect),i.color&&ColorPanel.set(i.color),i.shape&&(BarItems.brush_shape.set(i.shape),BarItems.brush_shape.onChange&&BarItems.brush_shape.onChange(BarItems.brush_shape)),i.blend_mode&&(BarItems.blend_mode.set(i.blend_mode),BarItems.blend_mode.onChange&&BarItems.blend_mode.onChange(BarItems.blend_modeis))},default_brush_presets:[{name:"menu.brush_presets.pixel_brush",default:!0,size:1,softness:0,pixel_perfect:!1,shape:"square",blend_mode:"default"},{name:"menu.brush_presets.pixel_perfect",default:!0,size:1,softness:0,pixel_perfect:!0,shape:"square",blend_mode:"default"},{name:"menu.brush_presets.smooth_brush",default:!0,size:5,softness:70,pixel_perfect:!1,shape:"circle",blend_mode:"default"}]},RC=class{constructor(e=16,t=16){this.width=e,this.height=t,this.array=null,this.override=!1}get is_custom(){return this.override===null}activate(){this.array=new Int8Array(this.width*this.height)}get(e,t){return this.override!==null?this.override:e<0||e>=this.width||t<0||t>=this.height?0:this.array[t*this.width+e]||0}allow(e,t){return this.override!==null?!0:this.array[t*this.width+e]}getDirect(e,t){return this.array[t*this.width+e]}getBoundingRect(e){let t=new Rectangle;if(this.override==!0||e&&this.override==!1)t.width=this.width,t.height=this.height;else if(this.override==null){let n=this.width,a=this.height,o=0,r=0;this.forEachPixel((s,l,c)=>{c&&(n=Math.min(n,s),a=Math.min(a,l),o=Math.max(o,s+1),r=Math.max(r,l+1))}),n==this.width?(t.width=this.width,t.height=this.height):t.fromCoords(n,a,o,r)}return t}hasSelection(){return this.is_custom?this.array.findIndex(e=>e)!=-1:this.override}set(e,t,n){this.override!==null&&(this.array||this.activate(),this.override==!0&&this.array.fill(1),this.override=null),this.array[t*this.width+e]=n}clear(){this.setOverride(!1)}setOverride(e){e!==this.override&&(this.override=e,e===null?this.array?this.array.fill(0):this.activate():delete this.array)}changeSize(e,t){return e==this.width&&t==this.height?!1:(this.width=e,this.height=t,this.array&&(this.array=new Int8Array(this.width*this.height)),!0)}forEachPixel(e){let t=this.width*this.height;for(let n=0;n<t;n++){let a=n%this.width,o=Math.floor(n/this.width);e(a,o,this.array[n],n)}}translate(e,t){if(this.override!==null)return;let n=new Int8Array(this.width*this.height);this.forEachPixel((a,o,r,s)=>{a+=e,o+=t,!(a<0||o<0||a>=this.width||o>=this.height)&&(n[o*this.width+a]=r)}),this.array=n}toBoxes(){if(!this.is_custom)return[[0,0,this.width,this.height]];let e=[];return this.forEachPixel((t,n,a)=>{if(a!==1)return;let o=1,r=1,s=!0,l=!0,c=0;for(;s||l;){if(c++,s&&t+c>=this.width&&(s=!1),s){for(let d=0;d<r;d++)if(this.getDirect(t+c,n+d)!=1){s=!1;break}s&&o++}if(l&&n+c>=this.height&&(l=!1),l){for(let d=0;d<o;d++)if(this.getDirect(t+d,n+c)!=1){l=!1;break}l&&r++}}for(let d=0;d<o;d++)for(let u=0;u<r;u++)this.array[(n+u)*this.width+(t+d)]=2;e.push([t,n,o,r])}),this.forEachPixel((t,n,a,o)=>{a===2&&(this.array[o]=1)}),e}maskCanvas(e,t=[0,0]){if(e.save(),!this.is_custom)return;e.beginPath(),this.toBoxes().forEach(a=>{e.rect(a[0]-t[0],a[1]-t[1],a[2],a[3])}),e.closePath(),e.clip()}};SharedActions.add("copy",{subject:"image_content",condition:()=>Prop.active_panel=="uv"&&Modes.paint&&UVEditor.texture,run(i,e){let t=UVEditor.texture,n=t.selection,{canvas:a,ctx:o,offset:r}=t.getActiveCanvas();if(n.override!=null)Clipbench.image={x:r[0],y:r[1],frame:t.currentFrame,data:a.toDataURL("image/png",1)};else{let s=n.getBoundingRect(),l=document.createElement("canvas"),c=l.getContext("2d");l.width=s.width,l.height=s.height,n.maskCanvas(c,[s.start_x,s.start_y]),c.drawImage(a,-s.start_x+r[0],-s.start_y+r[1]),Clipbench.image={x:s.start_x,y:s.start_y,frame:t.currentFrame,data:l.toDataURL("image/png",1)},a=l}a.toBlob(s=>{navigator.clipboard.write([new ClipboardItem({[s.type]:s})])}),e&&SharedActions.runSpecific("delete","image_content",i,{message:"Cut texture selection"})}});SharedActions.add("paste",{subject:"image_content",condition:()=>Prop.active_panel=="uv"&&Modes.paint&&UVEditor.texture,run(i){let e=UVEditor.texture;async function t(a){let o=new CanvasFrame;await o.loadFromURL(a),Undo.initEdit({textures:[e],bitmap:!0}),e.layers_enabled||(e.flags.add("temporary_layers"),e.activateLayers(!1));let r;Clipbench.image&&(r=[Math.clamp(Clipbench.image.x,0,e.width),Math.clamp(Clipbench.image.y,0,e.height)],r[0]=Math.clamp(r[0],0,e.width-o.width),r[1]=Math.clamp(r[1],0,e.height-o.height));let s=Clipbench.image?.frame||0;(s||e.currentFrame)&&(r[1]+=e.display_height*((e.currentFrame||0)-s));let l=new TextureLayer({name:"pasted",offset:r},e),c=o.ctx.getImageData(0,0,o.width,o.height);l.setSize(o.width,o.height),l.ctx.putImageData(c,0,0),r||l.center(),l.addForEditing(),l.setLimbo(),e.updateChangesAfterEdit(),Undo.finishEdit("Paste into texture"),Toolbox.selected.id!="selection_tool"&&BarItems.move_layer_tool.select(),updateInterfacePanels(),BARS.updateConditions()}if(0)var n;else navigator.clipboard.read().then(a=>{a&&a[0]&&a[0].types.includes("image/png")&&a[0].getType("image/png").then(o=>{let r=URL.createObjectURL(o);t(r)})}).catch(()=>{})}});SharedActions.add("duplicate",{subject:"image_content",condition:()=>Prop.active_panel=="uv"&&Modes.paint&&UVEditor.texture,run(i){let e=UVEditor.texture,t=e.selection,{canvas:n,ctx:a,offset:o}=e.getActiveCanvas(),r=e.selected_layer;if(t.is_custom){let c=t.getBoundingRect(),d=document.createElement("canvas"),u=d.getContext("2d");d.width=c.width,d.height=c.height,t.maskCanvas(u,[c.start_x,c.start_y]),u.drawImage(n,-c.start_x+o[0],-c.start_y+o[1]),n=d,o=[c.start_x,c.start_y]}Undo.initEdit({textures:[e],bitmap:!0}),e.layers_enabled||(e.flags.add("temporary_layers"),e.activateLayers(!1));let s=new TextureLayer({name:r?r.name+" - copy":"selection",offset:o},e),l=n.getContext("2d").getImageData(0,0,n.width,n.height);s.setSize(n.width,n.height),s.ctx.putImageData(l,0,0),s.addForEditing(),s.setLimbo(),e.updateLayerChanges(!0),e.saved=!1,Undo.finishEdit("Duplicate texture selection"),updateInterfacePanels(),BARS.updateConditions()}});SharedActions.add("delete",{subject:"image_content",condition:()=>Prop.active_panel=="uv"&&Modes.paint&&UVEditor.texture,run(i,e=0){let t=UVEditor.texture;t.selection.override!=!1&&t.edit((n,{ctx:a,offset:o})=>{t.selection.toBoxes().forEach(l=>{a.clearRect(l[0]-o[0],l[1]-o[1],l[2],l[3])})},{edit_name:e.message||"Delete texture section"})}});BARS.defineActions(function(){new Mode("paint",{icon:"fa-paint-brush",default_tool:"brush_tool",category:"navigate",condition:()=>Format&&Format.paint_mode,onSelect:()=>{Modes.previous_id=="animate"&&Animator.preview(),Outliner.elements.forEach(d=>{d.preview_controller.updatePixelGrid&&d.preview_controller.updatePixelGrid(d)}),Panels.color.picker.spectrum("set",ColorPanel.panel.vue._data.main_color),StateMemory.color_picker_rgb?(BarItems.slider_color_red.update(),BarItems.slider_color_green.update(),BarItems.slider_color_blue.update()):(BarItems.slider_color_h.update(),BarItems.slider_color_s.update(),BarItems.slider_color_v.update()),Panels.uv.handle.firstChild.textContent=tl("mode.paint");let c=BarItems.fill_mode.value;if(!Condition(BarItems.fill_mode.options[c].condition)){for(let d in BarItems.fill_mode.options)if(Condition(BarItems.fill_mode.options[d].condition)){BarItems.fill_mode.set(d);break}}UVEditor.vue.setMode("paint"),three_grid.visible=!1},onUnselect:()=>{Animator.showDefaultPose(),Outliner.elements.forEach(c=>{c.preview_controller.updatePixelGrid&&c.preview_controller.updatePixelGrid(c)}),Panels.uv.handle.firstChild.textContent=tl("panel.uv"),UVEditor.vue.setMode("uv"),three_grid.visible=!0}}),new KeybindItem("paint_secondary_color",{category:"paint",keybind:new Keybind({shift:null})}),Blockbench.onUpdateTo("4.9.0-beta.1",()=>{Keybinds.extra.preview_drag.keybind.key!=3&&Keybinds.extra.preview_rotate.keybind.key!=3&&Keybinds.extra.paint_secondary_color.keybind.set({key:3}).save(!1)}),new Tool("pan_tool",{icon:"pan_tool",category:"tools",cursor:"grab",selectFace:!1,transformerMode:"hidden",allowed_view_modes:["textured","material"],modes:["paint"],condition:Blockbench.isMobile&&{modes:["paint"]}});let i={set_opacity:"set_opacity",difference:"difference",default:"default"};new Tool("brush_tool",{icon:"fa-paint-brush",category:"tools",toolbar:"brush",alt_tool:"color_picker",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,brush:{blend_modes:!0,shapes:!0,size:!0,softness:!0,opacity:!0,offset_even_radius:!0,pixel_perfect:!0,floor_coordinates:()=>BarItems.slider_brush_softness.get()==0,get interval(){let c=ke.current.dynamic_brush_size??BarItems.slider_brush_size.get();return c>40?c/12:1+c*BarItems.slider_brush_softness.get()/1500},changePixel(c,d,u,p,{color:m,opacity:_,ctx:f,x:g,y:v,size:b,softness:x,texture:w,event:E}){let y=BarItems.blend_mode.value;y==i.set_opacity&&(p=1);let A=_*p;if(y==i.set_opacity)return ke.lock_alpha&&u.a==0?u:{r:m.r,g:m.g,b:m.b,a:A};{if(settings.limit_brush_opacity_per_stroke.value){if(y==i.difference){let j=ke.getAlphaMatrix(w,c,d);ke.setAlphaMatrix(w,c,d,A),A>j?A=(A-j)/(1-j):j&&(A=0)}else if(_<1||y!=i.default){let j=ke.getAlphaMatrix(w,c,d)??0;if(!j)ke.current.original_color_maps||(ke.current.original_color_maps={}),ke.current.original_color_maps[w.uuid]||(ke.current.original_color_maps[w.uuid]=new A1),ke.current.original_color_maps[w.uuid].set(c,d,u);else{let O=ke.current.original_color_maps[w.uuid].get(c,d);O&&(u=O)}let F=Math.lerp(j,_??1,p);F>j&&ke.setAlphaMatrix(w,c,d,F),A=Math.max(F,j)}}let R;return y==i.default?R=ke.combineColors(u,m,A):R=ke.blendColors(u,m,A,y),ke.lock_alpha&&(R.a=u.a),R}}},allowed_view_modes:["textured","material"],keybind:new Keybind({key:"b"}),modes:["paint"],side_menu:new Menu("brush_tool",()=>{let c=[{name:"menu.brush_presets.pixel_brush",icon:"mode_edit",click(){BarItems.brush_tool.select(),ke.loadBrushPreset(ke.default_brush_presets[0])}},{name:"menu.brush_presets.pixel_perfect",icon:"stylus_note",click(){BarItems.brush_tool.select(),ke.loadBrushPreset(ke.default_brush_presets[1])}},{name:"menu.brush_presets.smooth_brush",icon:"fa-paint-brush",click(){BarItems.brush_tool.select(),ke.loadBrushPreset(ke.default_brush_presets[2])}}];return StateMemory.brush_presets.forEach(d=>{let u={name:d.name,icon:d.shape=="circle"?"circle":"fas.fa-square",color:d.color||void 0,click(){ke.loadBrushPreset(d)}};c.push(u)}),c.push("_",{id:"brush_settings",name:"menu.brush_presets.dialog",icon:"tune",click(){ke.openBrushOptions()}}),c}),onCanvasClick(c){ke.startPaintToolCanvas(c,c.event)},onSelect(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("alt","action.color_picker"),Interface.addSuggestedModifierKey("shift","modifier_actions.draw_line")},onUnselect(){Interface.removeSuggestedModifierKey("alt","action.color_picker"),Interface.removeSuggestedModifierKey("shift","modifier_actions.draw_line")}});let e,t;new Tool("copy_brush",{icon:"fa-stamp",category:"tools",toolbar:"brush",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,brush:{shapes:!0,size:!0,softness:!0,opacity:!0,offset_even_radius:!0,onStrokeStart({texture:c,event:d,x:u,y:p,raycast_data:m}){if(d.ctrlOrCmd||Pressing.overrides.ctrl){let _=BarItems.slider_brush_size.get();if(e={data:ke.getCanvas(c).getContext("2d").getImageData(0,0,c.width,c.height).data,width:c.width,height:c.height,size:_,x:u,y:p},UVEditor.vue.copy_brush_source={x:u,y:p,size:_,texture:c.uuid},Preview.all.forEach(f=>{f.removeAnnotation("copy_brush")}),m){let f=Interface.createElement("div",{id:"preview_copy_brush_outline"});f.style.setProperty("--radius","30px");let g=new THREE.Object3D;g.position.copy(m.intersects[0].point),Preview.selected.addAnnotation("copy_brush",{object:g,node:f})}return!1}else{if(!e)return!1;t=[u,p]}},changePixel(c,d,u,p,{opacity:m,x:_,y:f,texture:g}){let v=m*p,b=BarItems.copy_brush_mode.value,x;if(b=="copy")x=[Math.round(e.x+(c-t[0])),Math.round(e.y+(d-t[1]))];else if(b=="pattern"){let A=e.size,R=[e.x-A/2,e.y-A/2];x=[Math.floor(R[0]+(c+A*200-R[0]%A)%A),Math.floor(R[1]+(d+A*200-R[1]%A)%A)]}else x=[Math.round(e.x+(c-_)),Math.round(e.y+(d-f))];if(x[0]<0||x[0]>=e.width||x[1]<0||x[1]>=e.height)return u;let w=(x[0]+x[1]*e.width)*4,E={r:e.data[w+0],g:e.data[w+1],b:e.data[w+2],a:e.data[w+3]/255};if(settings.limit_brush_opacity_per_stroke.value){let A=ke.getAlphaMatrix(g,c,d);ke.setAlphaMatrix(g,c,d,v*E.a),v>A?v=(v-A)/(1-A):A&&(v=0)}let y=ke.combineColors(u,E,v);return ke.lock_alpha&&(y.a=u.a),y}},allowed_view_modes:["textured","material"],modes:["paint"],onCanvasClick(c){ke.startPaintToolCanvas(c,c.event)},onSelect(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("shift","modifier_actions.draw_line"),Interface.addSuggestedModifierKey("ctrl","modifier_actions.set_copy_source")},onUnselect(){Interface.removeSuggestedModifierKey("shift","modifier_actions.draw_line"),Interface.removeSuggestedModifierKey("ctrl","modifier_actions.set_copy_source"),UVEditor.vue.copy_brush_source=null,Preview.all.forEach(c=>{c.removeAnnotation("copy_brush")})}}),BarItems.copy_brush.tool_settings.brush_size=16,new Tool("fill_tool",{icon:"format_color_fill",category:"tools",toolbar:"brush",alt_tool:"color_picker",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],onCanvasClick:function(c){ke.startPaintToolCanvas(c,c.event)},onSelect:function(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("alt","action.color_picker")},onUnselect(){Interface.removeSuggestedModifierKey("alt","action.color_picker")}}),new Tool("eraser",{icon:"fa-eraser",category:"tools",toolbar:"brush",alt_tool:"color_picker",selectFace:!0,transformerMode:"hidden",cursor:"crosshair",paintTool:!0,brush:{shapes:!0,size:!0,softness:!0,opacity:!0,offset_even_radius:!0,floor_coordinates:()=>BarItems.slider_brush_softness.get()==0,get interval(){return 1+(ke.current.dynamic_brush_size??BarItems.slider_brush_size.get())*BarItems.slider_brush_softness.get()/1500},changePixel(c,d,u,p,{opacity:m,ctx:_,x:f,y:g,size:v,softness:b,texture:x,event:w}){if(ke.lock_alpha)return u;var E=m*p;if(m<1&&settings.limit_brush_opacity_per_stroke.value){let y=ke.getAlphaMatrix(x,c,d),A=y||0;y&&(E=Math.clamp(E,0,(m-y)/(1-y))),A=A+(1-A)*E,(A>y||y==null)&&ke.setAlphaMatrix(x,c,d,A)}return u.a=Math.clamp(u.a*(1-E),0,1),u}},allowed_view_modes:["textured","material"],modes:["paint"],keybind:new Keybind({key:"e"}),onCanvasClick:function(c){ke.startPaintToolCanvas(c,c.event)},onSelect:function(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("shift","modifier_actions.draw_line")},onUnselect(){Interface.removeSuggestedModifierKey("shift","modifier_actions.draw_line")}}),new Tool("color_picker",{icon:"colorize",category:"tools",toolbar:"brush",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],onCanvasClick(c){ke.startPaintToolCanvas(c,c.event)},onCanvasRightClick(c){if(ke.startPaintToolCanvas(c,c.event),c.element)return!1},onTextureEditorClick(c,d,u,p){return c&&ke.startPaintTool(c,d,u,void 0,p),!1},onSelect:function(){ke.updateNslideValues()}}),new Tool("draw_shape_tool",{icon:"fas.fa-shapes",category:"tools",toolbar:"brush",alt_tool:"color_picker",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],condition:{modes:["paint"]},keybind:new Keybind({key:"u"}),onCanvasClick:function(c){ke.startPaintToolCanvas(c,c.event)},onSelect:function(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("shift","modifier_actions.uniform_scaling")},onUnselect(){Interface.removeSuggestedModifierKey("shift","modifier_actions.uniform_scaling")}}),new Tool("gradient_tool",{icon:"gradient",category:"tools",toolbar:"brush",alt_tool:"color_picker",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],condition:{modes:["paint"]},onCanvasClick:function(c){ke.startPaintToolCanvas(c,c.event)},onSelect:function(){ke.updateNslideValues(),Interface.addSuggestedModifierKey("shift","modifier_actions.snap_direction")},onUnselect(){Interface.removeSuggestedModifierKey("shift","modifier_actions.snap_direction")}});let n={rectangle:{name:"action.selection_tool.rectangle",icon:"select"},ellipse:{name:"action.selection_tool.ellipse",icon:"lasso_select"},lasso:{name:"action.selection_tool.lasso",icon:"fa-draw-polygon"},wand:{name:"action.selection_tool.wand",icon:"fa-magic"},color:{name:"action.selection_tool.color",icon:"fa-eye-dropper"}},a=new Tool("selection_tool",{icon:"select",category:"tools",toolbar:"brush",cursor:"crosshair",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],keybind:new Keybind({key:"m"},{create:"",add:"shift",subtract:"ctrl",intersect:""}),side_menu:new Menu("selection_tool",()=>{let c=[];for(let d in n){let u={id:d,name:n[d].name,icon:n[d].icon,keybind:BarItems.selection_tool.sub_keybinds[d]?.keybind||void 0,click(){a.setIcon(n[d].icon),a.mode=d,a.select(),BARS.updateConditions(),BarItems.slider_color_select_threshold.update()}};c.push(u)}return c}),variations:{create:{name:"action.selection_tool_operation_mode.create"},add:{name:"action.selection_tool_operation_mode.add"},subtract:{name:"action.selection_tool_operation_mode.subtract"},intersect:{name:"action.selection_tool_operation_mode.intersect"}},onCanvasClick(c){c&&c.element&&Blockbench.showQuickMessage("message.copy_paste_tool_viewport")},onTextureEditorClick(c,d,u,p){return c&&UVEditor.vue.startTextureSelection(d,u,p),!1},onSelect(){UVEditor.vue.updateTexture(),BarItems.slider_color_select_threshold.update()},onUnselect(){TextureLayer.selected?.in_limbo&&TextureLayer.selected.resolveLimbo(),UVEditor.vue.texture_selection_polygon.empty(),Interface.removeSuggestedModifierKey("alt","modifier_actions.drag_to_duplicate")}});for(let c in n)a.addSubKeybind(c,n[c].name,null,d=>{a.setIcon(n[c].icon),a.mode=c,a.select(),BARS.updateConditions(),BarItems.slider_color_select_threshold.update()});a.mode="rectangle",new Tool("move_layer_tool",{icon:"drag_pan",category:"tools",toolbar:"brush",cursor:"move",selectFace:!0,transformerMode:"hidden",paintTool:!0,allowed_view_modes:["textured","material"],modes:["paint"],keybind:new Keybind({shift:!0,key:"v"}),onCanvasClick(c){c&&c.element&&Blockbench.showQuickMessage("message.copy_paste_tool_viewport")},onTextureEditorClick(c,d,u,p){return c&&UVEditor.vue.startTextureSelection(d,u,p),!1},onSelect(){let c=Texture.selected;c&&c.selection.is_custom&&c.selection.hasSelection()&&(!c.selected_layer||!c.selected_layer.in_limbo)&&Texture.selected.selectionToLayer(!0)}}),new BarSelect("brush_shape",{category:"paint",condition:()=>Toolbox&&Toolbox.selected.brush&&Toolbox.selected.brush.shapes,onChange(){switch(BARS.updateConditions(),UVEditor.vue.brush_type=this.value,this.value){case"square":Canvas.brush_outline.material.uniforms.SHAPE.value=0;break;case"circle":Canvas.brush_outline.material.uniforms.SHAPE.value=1;break}},icon_mode:!0,options:{square:{name:!0,icon:"fas.fa-square"},circle:{name:!0,icon:"circle"}}}),new BarSelect("draw_shape_type",{category:"paint",condition:()=>Toolbox&&Toolbox.selected.id==="draw_shape_tool",onChange(){BARS.updateConditions(),ke.updateNslideValues()},icon_mode:!0,options:{rectangle:{name:!0,icon:"fas.fa-square"},rectangle_h:{name:!0,icon:"far.fa-square"},ellipse:{name:!0,icon:"fas.fa-circle"},ellipse_h:{name:!0,icon:"far.fa-circle"}}}),new BarSelect("blend_mode",{category:"paint",condition:()=>Toolbox&&(Toolbox.selected.brush?.blend_modes==!0||["draw_shape_tool","fill_tool"].includes(Toolbox.selected.id)),options:{default:!0,set_opacity:!0,color:!0,behind:!0,multiply:!0,add:!0,lighten:!0,darken:!0,screen:!0,overlay:!0,difference:!0}}),new BarSelect("fill_mode",{category:"paint",condition:()=>Toolbox&&Toolbox.selected.id==="fill_tool",options:{face:{name:!0,condition:()=>!Format.image_editor},selection:{name:!0,condition:()=>Format.image_editor},element:{name:!0,condition:()=>!Format.image_editor},selected_elements:{name:!0,condition:()=>!Format.image_editor},color_connected:!0,color:!0}}),new BarSelect("copy_brush_mode",{category:"paint",condition:()=>Toolbox&&["copy_brush"].includes(Toolbox.selected.id),options:{copy:!0,pattern:!0,sample:!0}}),new BarSelect("selection_tool_operation_mode",{category:"paint",condition:{tools:["selection_tool"]},icon_mode:!0,options:{create:{name:!0,icon:"shadow"},add:{name:!0,icon:"shadow_add"},subtract:{name:!0,icon:"shadow_minus"},intersect:{name:!0,icon:"join_inner"}}});let o=null,r=null;Blockbench.on("update_pressed_modifier_keys",({before:c,now:d,event:u})=>{let p=BarItems.selection_tool_operation_mode,m=BarItems.selection_tool;Condition(p.condition)&&(UVEditor.vue.selection_rect.active||(m.keybind.additionalModifierTriggered(u)=="add"?(o||(o=p.value),p.set("add"),r="add"):m.keybind.additionalModifierTriggered(u)=="subtract"?(o||(o=p.value),p.set("subtract"),r="subtract"):m.keybind.additionalModifierTriggered(u)=="intersect"?(o||(o=p.value),p.set("intersect"),r="intersect"):r==p.value&&(p.set(o),r=o,o=null)))});let s=new Dialog("expand_texture_selection",{title:"action.expand_texture_selection",form:{value:{type:"number",label:"dialog.expand_texture_selection.radius",value:1},corner:{type:"select",label:"dialog.expand_texture_selection.corner",options:{round:"dialog.expand_texture_selection.corner.round",square:"dialog.expand_texture_selection.corner.square",manhattan:"dialog.expand_texture_selection.corner.manhattan"}}},onConfirm(c){if(c.value==0)return;let u=UVEditor.texture.selection,p=Math.abs(c.value),m=c.value**2,_="round",f="manhattan";if(u.is_custom){let g=u.array.slice(),v=c.value<0?0:1;u.forEachPixel((b,x,w,E)=>{if(w!=v)for(let y=-p;y<=p;y++)for(let A=-p;A<=p;A++){if(c.corner==_){if(y**2+A**2>m)continue}else if(c.corner==f&&Math.abs(y)+Math.abs(A)>p)continue;if(u.get(b+y,x+A)==v){g[E]=v;return}}}),u.array=g}else u.override==!0&&c.value<0&&(u.setOverride(null),u.forEachPixel((g,v,b,x)=>{let w=g>=p&&v>=p&&g<u.width-p&&v<u.height-p;u.array[x]=w?1:0}));UVEditor.updateSelectionOutline()}});new Action("expand_texture_selection",{icon:"settings_overscan",category:"paint",click(){s.show()}});function l(){if(!ke.mirror_painting)return;let c=new THREE.Object3D,d=256;if(ke.mirror_painting_options.axis.x){var u=new THREE.GridHelper(d,32,new THREE.LineBasicMaterial({color:gizmo_colors.r}));u.rotation.z=Math.PI/2,u.position.y=d/2,u.position.x=Format.centered_grid?0:8,c.add(u)}if(ke.mirror_painting_options.axis.z){var u=new THREE.GridHelper(d,32,new THREE.LineBasicMaterial({color:gizmo_colors.b}));u.rotation.x=Math.PI/2,u.position.y=d/2,u.position.z=Format.centered_grid?0:8,c.add(u)}scene.add(c),setTimeout(()=>{scene.remove(c);for(let p of c.children)p.geometry.dispose()},1e3)}new Toggle("mirror_painting",{icon:"flip",category:"paint",condition:()=>Modes.paint,onChange:function(c){ke.mirror_painting=c,l()},tool_config:new ToolConfig("mirror_painting",{title:"action.mirror_painting",width:408,form:{enabled:{type:"checkbox",label:"menu.mirror_painting.enabled",value:ke.mirror_painting},_1:"_",global:{type:"checkbox",label:"menu.mirror_painting.global",value:!0,description:"menu.mirror_painting.global.desc"},local:{type:"checkbox",label:"menu.mirror_painting.local",description:"menu.mirror_painting.local.desc"},axis:{type:"inline_multi_select",label:"menu.mirror_painting.axis",options:{x:"X",z:"Z"},value:{x:!0,z:!1},description:"menu.mirror_painting.axis.desc"},_2:"_",texture:{type:"checkbox",label:"menu.mirror_painting.texture",description:"menu.mirror_painting.texture.desc"},texture_center:{type:"vector",label:"menu.mirror_painting.texture_center",dimensions:2,condition:c=>c.texture,toggle_enabled:!0,toggle_default:!1},_3:"_",texture_frames:{type:"checkbox",label:"menu.mirror_painting.texture_frames",description:"menu.mirror_painting.texture_frames.desc",condition:()=>Texture.all.find(c=>c.frameCount>1)}},onFormChange(c){ke.mirror_painting=c.enabled,BarItems.mirror_painting.set(c.enabled),!c.axis.x&&!c.axis.z&&this.setFormValues({axis:{x:!0,z:!1}})}})}),ke.mirror_painting_options=BarItems.mirror_painting.tool_config.options,new Toggle("color_erase_mode",{icon:"remove_circle",category:"paint",condition:{tools:["fill_tool","draw_shape_tool"]},onChange:function(c){ke.erase_mode=c}}),new Toggle("lock_alpha",{icon:"fas.fa-chess-board",category:"paint",condition:()=>Modes.paint,onChange:function(){ke.lock_alpha=!ke.lock_alpha}}),new Toggle("painting_grid",{icon:"grid_3x3",category:"view",condition:{modes:["paint"]},keybind:new Keybind({key:"g"}),linked_setting:"painting_grid"}),new Toggle("image_tiled_view",{category:"paint",icon:"grid_view",onChange(c){c&&BarItems.image_onion_skin_view.value&&BarItems.image_onion_skin_view.set(!1),UVEditor.vue.overlay_canvas_mode=c?"tiled":null,UVEditor.vue.updateTexture(),UVEditor.updateOverlayCanvas()},tool_config:new ToolConfig("image_onion_skin_view",{title:"action.image_onion_skin_view",form:{mirrored:{label:"menu.image_tiled_view.mirrored",type:"checkbox",value:!1}},onFormChange(c){UVEditor.updateOverlayCanvas()}})}),ke.image_tiled_view_options=BarItems.image_tiled_view.tool_config.options,new Toggle("image_onion_skin_view",{category:"paint",icon:"animation",condition:()=>Panels.textures.vue.maxFrameCount(),onChange(c){c&&BarItems.image_tiled_view.value&&BarItems.image_tiled_view.set(!1),UVEditor.vue.overlay_canvas_mode=c?"onion_skin":null,UVEditor.vue.updateTexture(),UVEditor.updateOverlayCanvas()},tool_config:new ToolConfig("image_onion_skin_view",{title:"action.image_onion_skin_view",form:{frame:{label:"menu.image_onion_skin_view.frame",type:"select",value:"last_viewed",options:{last_viewed:"menu.image_onion_skin_view.frame.last_viewed",previous:"menu.image_onion_skin_view.frame.previous",next:"menu.image_onion_skin_view.frame.next",both:"menu.image_onion_skin_view.frame.both"}},display:{label:"menu.image_onion_skin_view.display",type:"select",value:"pixels",options:{pixels:"menu.image_onion_skin_view.display.pixels",transparent:"menu.image_onion_skin_view.display.transparent"}},above:{label:"menu.image_onion_skin_view.above",type:"checkbox"}},onFormChange(c){UVEditor.updateOverlayCanvas()}})}),ke.image_onion_skin_view_options=BarItems.image_onion_skin_view.tool_config.options,new NumSlider("slider_brush_size",{condition:()=>Toolbox&&(Toolbox.selected.brush?.size==!0||["draw_shape_tool"].includes(Toolbox.selected.id)),tool_setting:"brush_size",category:"paint",settings:{min:1,max:1024,interval:1,default:1},onChange(c,d){d instanceof PointerEvent&&(UVEditor.vue._data.mouse_coords.active?UVEditor.vue.$forceUpdate():Preview.selected.mousemove(d))}}),new NumSlider("slider_brush_softness",{category:"paint",condition:()=>Toolbox&&Toolbox.selected.brush?.softness==!0,tool_setting:"brush_softness",settings:{min:0,max:100,default:0,gesture_speed:2,show_bar:!0,interval:function(c){return c.shiftKey&&c.ctrlOrCmd?.25:c.shiftKey?5:c.ctrlOrCmd?1:10}}}),new NumSlider("slider_brush_opacity",{category:"paint",condition:()=>Toolbox&&(Toolbox.selected.brush?.opacity==!0||["color_picker","fill_tool","draw_shape_tool","gradient_tool"].includes(Toolbox.selected.id)),tool_setting:"brush_opacity",settings:{min:0,max:255,default:255,gesture_speed:4,show_bar:!0,interval:function(c){return c.shiftKey&&c.ctrlOrCmd?1:c.shiftKey?4:c.ctrlOrCmd?1:8}}}),new Toggle("pixel_perfect_drawing",{icon:"stylus_laser_pointer",category:"view",condition:()=>Toolbox&&Toolbox.selected.brush?.pixel_perfect==!0}),new NumSlider("slider_color_select_threshold",{category:"paint",condition:{tools:["selection_tool"],method:()=>["color","wand"].includes(BarItems.selection_tool.mode)},tool_setting:"color_select_threshold",value:0,settings:{min:0,max:100,default:0,value:0,interval:1,show_bar:!0}})});Object.assign(window,{Painter:ke,IntMatrix:RC});var Sa={background_color:new ColorPicker({id:"background_color",name:"data.color",private:!0}),face_data:{up:{c1:"#b4d4e1",c2:"#ecf8fd",place:i=>({x:i.posx+i.z,y:i.posy,w:i.x,h:i.z})},down:{c1:"#536174",c2:"#6e788c",place:i=>({x:i.posx+i.z+i.x,y:i.posy,w:i.x,h:i.z})},east:{c1:"#43e88d",c2:"#7BFFA3",place:i=>({x:i.posx,y:i.posy+i.z,w:i.z,h:i.y})},north:{c1:"#5bbcf4",c2:"#7BD4FF",place:i=>({x:i.posx+i.z,y:i.posy+i.z,w:i.x,h:i.y})},west:{c1:"#f48686",c2:"#FFA7A4",place:i=>({x:i.posx+i.z+i.x,y:i.posy+i.z,w:i.z,h:i.y})},south:{c1:"#f8dd72",c2:"#FFF899",place:i=>({x:i.posx+i.z+i.x+i.z,y:i.posy+i.z,w:i.x,h:i.y})}},addBitmapDialog(i){let e={};Format.edit_mode&&(e.template="dialog.create_texture.type.template",Project.box_uv||(e.color_map="dialog.create_texture.type.color_map")),e.blank="dialog.create_texture.type.blank";let t=Texture.getDefault()?Texture.getDefault().width/Texture.getDefault().getUVWidth()*16:16,n={16:null,32:null,64:null,128:null,256:null,512:null};for(let o in n)n[o]=Format.block_size*(o/16)+"x";var a=new Dialog({id:"add_bitmap",title:tl("action.create_texture"),width:610,form:{name:{label:"generic.name",value:"texture"},folder:{label:"dialog.create_texture.folder",condition:{features:["texture_folder"]}},type:{label:"dialog.create_texture.type",type:"inline_select",options:e,condition:Object.keys(e).length>1},section2:"_",resolution:{label:"dialog.create_texture.pixel_density",description:"dialog.create_texture.pixel_density.desc",type:"select",value:n[t]?t:void 0,condition:o=>o.type=="template",options:n},resolution_vec:{label:"dialog.create_texture.resolution",type:"vector",condition:o=>o.type=="blank",dimensions:2,value:[Project.texture_width,Project.texture_height],min:1,max:2048},color:{label:"data.color",type:"color",colorpicker:Sa.background_color,toggle_enabled:!0,toggle_default:!1},rearrange_uv:{label:"dialog.create_texture.rearrange_uv",description:"dialog.create_texture.rearrange_uv.desc",type:"checkbox",value:!0,condition:o=>o.type=="template"},box_uv:{label:"dialog.project.uv_mode.box_uv",type:"checkbox",value:!1,condition:o=>o.type=="template"&&!Project.box_uv&&Outliner.elements.some(r=>r.getTypeBehavior("support_box_uv"))},power:{label:"dialog.create_texture.power",description:"dialog.create_texture.power.desc",type:"checkbox",value:!0,condition:o=>o.type!=="blank"&&(o.rearrange_uv||o.type=="color_map")},double_use:{label:"dialog.create_texture.double_use",description:"dialog.create_texture.double_use.desc",type:"checkbox",value:!0,condition:o=>o.type=="template"&&o.rearrange_uv},combine_polys:{label:"dialog.create_texture.combine_polys",description:"dialog.create_texture.combine_polys.desc",type:"checkbox",value:!0,condition:o=>o.type=="template"&&o.rearrange_uv&&Mesh.selected.length},max_edge_angle:{label:"dialog.create_texture.max_edge_angle",description:"dialog.create_texture.max_edge_angle.desc",type:"number",value:36,condition:o=>o.type=="template"&&o.rearrange_uv&&Mesh.selected.length},max_island_angle:{label:"dialog.create_texture.max_island_angle",description:"dialog.create_texture.max_island_angle.desc",type:"number",value:45,condition:o=>o.type=="template"&&o.rearrange_uv&&Mesh.selected.length},padding:{label:"dialog.create_texture.padding",description:"dialog.create_texture.padding.desc",type:"checkbox",value:Mesh.selected.length>0,condition:o=>o.type=="template"&&o.rearrange_uv},disable_mirror_uv:{label:"dialog.create_texture.disable_mirror_uv",description:"dialog.create_texture.disable_mirror_uv.desc",type:"checkbox",value:!0,condition:o=>BarItems.mirror_modeling.value&&BarItems.mirror_modeling.tool_config.options.mirror_uv}},onConfirm:function(o){return o.particle="auto",o.type=="blank"&&(o.resolution=o.resolution_vec),o.disable_mirror_uv&&BarItems.mirror_modeling.tool_config.changeOptions({mirror_uv:!1}),a.hide(),Format.edit_mode&&Outliner.selected.length==0&&SharedActions.runSpecific("select_all","outliner"),Sa.addBitmap(o,i),!1}}).show()},appendToTemplateDialog(){let i=Texture.getDefault();if(i)var e=new Dialog({id:"add_bitmap",title:tl("action.append_to_template"),width:480,form:{color:{label:"data.color",type:"color",colorpicker:Sa.background_color,toggle_enabled:!0,toggle_default:!1},box_uv:{label:"dialog.project.uv_mode.box_uv",type:"checkbox",value:!1,condition:t=>!Project.box_uv&&Cube.all.length},power:{label:"dialog.create_texture.power",description:"dialog.create_texture.power.desc",type:"checkbox",value:Math.isPowerOfTwo(i.width)},double_use:{label:"dialog.create_texture.double_use",description:"dialog.create_texture.double_use.desc",type:"checkbox",value:!0},combine_polys:{label:"dialog.create_texture.combine_polys",description:"dialog.create_texture.combine_polys.desc",type:"checkbox",value:!0,condition:t=>Mesh.selected.length},max_edge_angle:{label:"dialog.create_texture.max_edge_angle",description:"dialog.create_texture.max_edge_angle.desc",type:"number",value:45,condition:t=>Mesh.selected.length},max_island_angle:{label:"dialog.create_texture.max_island_angle",description:"dialog.create_texture.max_island_angle.desc",type:"number",value:45,condition:t=>Mesh.selected.length},padding:{label:"dialog.create_texture.padding",description:"dialog.create_texture.padding.desc",type:"checkbox",value:!1,condition:t=>t.rearrange_uv}},onConfirm(t){return e.hide(),t.rearrange_uv=!0,t.resolution=16*i.width/i.getUVWidth(),Format.single_texture&&(t.texture=Texture.getDefault()),Sa.generateTemplate(t,i),!1}}).show()},addBitmap(i,e){typeof i!="object"&&(i={}),(!i.resolution||isNaN(i.resolution[0])||isNaN(i.resolution[1]))&&(i.resolution=[16,16]),Format.single_texture&&(i.texture=Texture.getDefault());var t=new Texture({mode:"bitmap",keep_size:!0,name:i.name?i.name:"texture",folder:i.folder?i.folder:"block",use_as_default:Format.single_texture_default&&Outliner.selected.length==Outliner.elements.length});t.use_as_default&&Texture.all.forEach(a=>a.use_as_default=!1);function n(a){switch(t.fromDataURL(a).add(!1).select(),i.particle){case"auto":t.fillParticle();break;case!0:t.enableParticle();break}return typeof e=="function"&&e(t),i.type=="blank"&&Undo.finishEdit("Create blank texture",{textures:[t],selected_texture:!0,bitmap:!0}),t}i.type=="template"?Sa.generateTemplate(i,n):i.type=="color_map"?Sa.generateColorMapTemplate(i,n):(Undo.initEdit({textures:[],selected_texture:!0}),Sa.generateBlank(i.resolution[1],i.resolution[0],i.color,n))},generateBlank(i,e,t,n){var a=document.createElement("canvas");a.width=e,a.height=i;var o=a.getContext("2d");t&&(o.fillStyle=new tinycolor(t).toRgbString(),o.fillRect(0,0,e,i));let r=n(a.toDataURL());return r.uv_width=e,r.uv_height=i,Format.per_texture_uv_size&&(Project.texture_width=e,Project.texture_height=i),r},boxUVCubeTemplate:class{constructor(e,t){let n=Format.box_uv_float_size!=!0;return this.x=Math.round(e.size(0,n))||t,this.y=Math.round(e.size(1,n))||t,this.z=Math.round(e.size(2,n))||t,this.posx=e.uv_offset[0],this.posy=e.uv_offset[1],this.obj=e,this.template_size=e.size(2,n)+e.size(1,n)+(e.size(2,n)+e.size(0,n))*2,this.height=this.z+this.y,this.width=2*(this.x+this.z),this}},boxUVdrawTemplateRectangle(i,e,t,n,a,o,r){typeof background_color=="string"&&(i=background_color,e=void 0),r||(r=o.width/Project.getUVWidth(a));let s=o.getContext("2d");s.fillStyle=i,s.fillRect(n.x*r,n.y*r,n.w*r,n.h*r),n.w*r>2&&n.h*r>2&&(e==null?s.clearRect(n.x*r+1,n.y*r+1,n.w*r-2,n.h*r-2):e&&(s.fillStyle=e,s.fillRect(n.x*r+1,n.y*r+1,n.w*r-2,n.h*r-2)))},boxUVdrawTexture(i,e,t,n,a){if(!Format.single_texture){if(i.texture===void 0||i.texture===null)return!1;t=i.getTexture()}if(!t||!t.img)return!1;var o=n.getContext("2d");o.save();var r=i.uv.slice();i.direction==="up"?r=[r[2],r[3],r[0],r[1]]:i.direction==="down"&&(r=[r[2],r[1],r[0],r[3]]);var s=getRectangle(r[0],r[1],r[2],r[3]),l=[r[0]>r[2]?-1:1,r[1]>r[3]?-1:1];if(l[0]+l[1]<1&&o.scale(l[0],l[1]),i.rotation){o.rotate(Math.degToRad(i.rotation));let u=i.rotation;for(u<=180&&(l[1]*=-1),u>=180&&(l[0]*=-1);u>0;)[e.x,e.y]=[e.y,e.x],[e.w,e.h]=[e.h,e.w],u-=90}o.imageSmoothingEnabled=!1;let c=(Format.per_texture_uv_size?t.getUVWidth():Sa.old_project_resolution[0])/t.img.naturalWidth,d=(Format.per_texture_uv_size?t.getUVHeight():Sa.old_project_resolution[1])/t.img.naturalHeight;return o.drawImage(t.img,s.ax/c,s.ay/d,s.x/c,s.y/d,e.x*a*l[0],e.y*a*l[1],e.w*a*l[0],e.h*a*l[1]),o.restore(),!0},paintCubeBoxTemplate(i,e,t,n,a,o){n||(n=new Sa.boxUVCubeTemplate(i,i.box_uv?0:1));for(var r in Sa.face_data){let c=Sa.face_data[r]??Sa.face_data.south;i.faces[r].getTexture()&&Sa.boxUVdrawTexture(i.faces[r],c.place(n),e,t,o)||r=="west"&&i.size(0)==0||r=="down"&&i.size(1)==0||r=="south"&&i.size(2)==0||Sa.boxUVdrawTemplateRectangle(c.c1,a?null:c.c2,i.faces[r],c.place(n),e,t,o)}if(n&&n.duplicates&&n.duplicates.forEach(c=>{c.obj.uv_offset[0]=i.uv_offset[0],c.obj.uv_offset[1]=i.uv_offset[1],c.obj!==i&&(c.obj.mirror_uv=c.obj.mirror_uv!=i.mirror_uv)}),!i.box_uv){var s=i.size(void 0,Format.box_uv_float_size!=!0);s.forEach((c,d)=>{s[d]=c});var l=[{face:"north",fIndex:10,from:[s[2],s[2]],size:[s[0],s[1]]},{face:"east",fIndex:0,from:[0,s[2]],size:[s[2],s[1]]},{face:"south",fIndex:8,from:[s[2]*2+s[0],s[2]],size:[s[0],s[1]]},{face:"west",fIndex:2,from:[s[2]+s[0],s[2]],size:[s[2],s[1]]},{face:"up",fIndex:4,from:[s[2]+s[0],s[2]],size:[-s[0],-s[2]]},{face:"down",fIndex:6,from:[s[2]+s[0]*2,0],size:[-s[0],s[2]]}];l.forEach(function(c){i.faces[c.face].uv[0]=(c.from[0]+Math.floor(i.uv_offset[0]+1e-7))/o,i.faces[c.face].uv[1]=(c.from[1]+Math.floor(i.uv_offset[1]+1e-7))/o,i.faces[c.face].uv[2]=(c.from[0]+c.size[0]+Math.floor(i.uv_offset[0]+1e-7))/o,i.faces[c.face].uv[3]=(c.from[1]+c.size[1]+Math.floor(i.uv_offset[1]+1e-7))/o,i.faces[c.face].rotation=0})}},async generateTemplate(i,e){let t=i.resolution/16,n=i.color,a=[],o=[],r={},s=0,l=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Vector3,u=new THREE.Vector3,p=[],m={},_=Format.single_texture&&typeof e=="function"?Outliner.elements:Outliner.selected;_=_.filter(Q=>(Q.getTypeBehavior("cube_faces")||Q instanceof Mesh)&&Q.visibility);function f(Q,H,re,K,pe,xe){this.cube=Q,this.face=Q.faces[H],i.rearrange_uv?(this.width=Math.abs(K)*t,this.height=Math.abs(pe)*t,this.mirror_x=Math.sign(this.face.uv_size[0]),this.mirror_y=Math.sign(this.face.uv_size[1]),this.width=(this.width>=.01&&this.width<1?1:Math.round(this.width))/t,this.height=(this.height>=.01&&this.height<1?1:Math.round(this.height))/t):(this.posx=this.face.uv[0],this.face.uv[2],this.posy=this.face.uv[1],this.face.uv[3],this.width=this.face.uv[2]-this.face.uv[0],this.height=this.face.uv[3]-this.face.uv[1]),this.size=this.width*this.height,this.face_key=H,this.texture=re,this.face_old_pos_id=xe}function g(Q){let H="";if(Q instanceof MeshFace){let K=Q.vertices.map(pe=>Math.roundTo(Q.uv[pe][0],4)+"x"+Math.roundTo(Q.uv[pe][1],4));K.sort(sort_collator.compare),H=K.join(",")}else if(Q.uv instanceof Array){let K=Q.uv.slice();for(let pe=0;pe<2;pe++)K[pe]>K[pe+2]&&(K[pe]=K[pe+2],K[pe+2]=Q.uv[pe]);H=K.map(pe=>Math.roundTo(pe,4)).join(",")}let re=Q.getTexture();return H+":"+(re?re.uuid:"blank")}let v=!1,b=new Dialog("generate_template_progress",{title:"action.create_texture",cancel_on_click_outside:!1,progress_bar:{},buttons:["dialog.cancel"],onCancel(){Undo.cancelEdit(!1),v=!0,Blockbench.setProgress()}});b.show();let x=performance.now();async function w(Q){Blockbench.setProgress(Q),b.progress_bar.setProgress(Q??0),await new Promise(H=>setTimeout(H,1)),x=performance.now()}if(Undo.initEdit({textures:e instanceof Texture?[e]:[],elements:_,uv_only:!0,bitmap:!0,selected_texture:!0,uv_mode:!0}),_.forEach(Q=>{let H=BarItems.mirror_modeling.value&&MirrorModeling.cached_elements[Q.uuid]&&MirrorModeling.cached_elements[Q.uuid].is_copy;if((i.disable_mirror_uv==!0||BarItems.mirror_modeling.tool_config.options.mirror_uv==!1)&&(H=!1),!H)if(Q.getTypeBehavior("cube_faces"))if((Q.box_uv||i.box_uv)&&Q.getTypeBehavior("support_box_uv")){Q.box_uv=!0;for(let K in Q.faces)Q.faces[K].rotation=0;let re=new Sa.boxUVCubeTemplate(Q,Q.box_uv?0:1);if(i.double_use&&Texture.all.length){let K=[...Q.uv_offset,...Q.size(void 0,!0)].join("_");if(r[K]){r[K][0].obj.mirror_uv&&!Q.mirror_uv?(o[o.indexOf(r[K][0])]=re,r[K].splice(0,0,re)):r[K].push(re),r[K][0].duplicates=r[K];return}else r[K]=[re]}o.push(re),s+=o[o.length-1].template_size}else for(let re in Q.faces){let K=Q.faces[re],pe=K.getTexture();if(pe!==null){let xe;pe instanceof Texture&&(xe=g(K),m[xe]||(m[xe]=[]),m[xe].push([Q,K]));let le=0,Be=0;switch(re){case"north":le=Q.size(0),Be=Q.size(1);break;case"east":le=Q.size(2),Be=Q.size(1);break;case"south":le=Q.size(0),Be=Q.size(1);break;case"west":le=Q.size(2),Be=Q.size(1);break;case"up":le=Q.size(0),Be=Q.size(2);break;case"down":le=Q.size(0),Be=Q.size(2);break;default:le=Q.size[0],Be=Q.size[1];break}let X=new f(Q,re,pe,le,Be,xe);p.push(X)}}else{let pe=function(X){let ne=X.map(Me=>re.vertices[Me]);return Math.sqrt(Math.pow(ne[1][0]-ne[0][0],2)+Math.pow(ne[1][1]-ne[0][1],2)+Math.pow(ne[1][2]-ne[0][2],2))},xe=function(X){let ne=X.map(Math.abs);return(ne[0]<.5?ne[0]:1-ne[0])*1.6+(ne[1]<.5?ne[1]:1-ne[1])+(ne[2]<.5?ne[2]:1-ne[2])},Be=function(X,ne,Me,Ue){let{vertex_uvs:et}=Me,Qe=l.fromArray(X.getNormal(!0)),Ge=new THREE.Plane().setFromNormalAndCoplanarPoint(Qe,c.fromArray(re.vertices[X.vertices[0]])),Ie=X.getSortedVertices(),Ke=cameraTargetToRotation([0,0,0],Qe.toArray()),z=new THREE.Euler(Math.degToRad(Ke[1]-90),Math.degToRad(Ke[0]+180),0),C={};if(X.vertices.forEach(S=>{let P=Ge.projectPoint(d.fromArray(re.vertices[S]),u);P.applyEuler(z),C[S]=[Math.roundTo(P.x,4),Math.roundTo(P.z,4)]}),Ue){let He=function(de,Oe){return Math.epsilon(de[0],Oe[0],.1)&&Math.epsilon(de[1],Oe[1],.1)},S=et[Ue.fkey],P=C[Ue.edge[0]],V=C[Ue.edge[1]],ee=S[Ue.edge[1]],ce=P.slice().V2_subtract(S[Ue.edge[0]]);for(let de in C)C[de].V2_subtract(ce);P=P.slice();let be=Math.atan2(P[0]-V[0],P[1]-V[1])-Math.atan2(P[0]-ee[0],P[1]-ee[1]),ge=Math.sin(be),Se=Math.cos(be);for(let de in C){let Oe=C[de].slice().V2_subtract(P);C[de][0]=Oe[0]*Se-Oe[1]*ge,C[de][1]=Oe[0]*ge+Oe[1]*Se,C[de].V2_add(P)}let Ae=-1;for(let de of Me.faces){if(Ae++,de==Ue.face)continue;let Oe=Me.keys[Ae],Je=de.getSortedVertices(),dt=0;for(let ue of Ie){let Fe=Ie[dt+1]||Ie[0],Ee=0;for(let xt of Je){let _e=Je[Ee+1]||Je[0];if(intersectLines(C[ue],C[Fe],Me.vertex_uvs[Oe][xt],Me.vertex_uvs[Oe][_e])&&!He(C[ue],Me.vertex_uvs[Oe][xt])&&!He(C[ue],Me.vertex_uvs[Oe][_e])&&!He(C[Fe],Me.vertex_uvs[Oe][xt])&&!He(C[Fe],Me.vertex_uvs[Oe][_e]))return!1;Ee++}dt++}}}return Me.vertex_uvs[ne]=C,!0},re=Q,K=[];for(let X in re.faces){let ne=re.faces[X];if(ne.vertices.length<3)continue;let Me;ne.getTexture()instanceof Texture&&(Me=g(ne),m[Me]||(m[Me]=[]),m[Me].push([Q,ne])),!(e instanceof Texture&&BarItems.selection_mode.value!=="object"&&!ne.isSelected(X))&&K.push({type:"face_group",mesh:re,faces:[ne],keys:[X],face_old_pos_id:Me,edges:new Map,normal:ne.getNormal(!0),vertex_uvs:{},texture:ne.getTexture()})}K.sort((X,ne)=>xe(X.normal)-xe(ne.normal));let le=[];i.combine_polys?K.slice().forEach(X=>{if(!K.includes(X))return;function ne(Me){let Ue={};for(let et in Me){let Qe=Me[et],Ge=0;le.push(Qe);let Ie=Qe.getNormal(!0);[2,0,3,1].forEach(Ke=>{if(!Qe.vertices[Ke])return;let z=Qe.getAdjacentFace(Ke),C=z&&Qe.vertices.filter(S=>z.face.vertices.includes(S));if(z&&C.length==2&&!X.faces.includes(z.face)&&!le.includes(z.face)){let S=z.face,P=K.find(ce=>ce.faces[0]==S);if(!P)return;let V=re.getSeam(z.edge);if(V==="divide")return;if(V!=="join"){if(Qe.getAngleTo(S)>(i.max_edge_angle||36)||X.faces[0].getAngleTo(S)>(i.max_island_angle||45)||pe(z.edge)<2.2&&Ge>=2)return;let Se=S.getNormal(!0);if(Math.abs(Se[0])>.04&&Math.epsilon(Ie[0],-Se[0],.04)&&Math.epsilon(Ie[1],Se[1],.04)&&Math.epsilon(Ie[2],Se[2],.04))return}if(!Be(S,z.key,X,{face:Qe,fkey:et,edge:C}))return;X.faces.push(S),X.keys.push(z.key),K.remove(P),Ue[z.key]=S,Ge++}})}Object.keys(Ue).length&&ne(Ue)}Be(X.faces[0],X.keys[0],X),ne({[X.keys[0]]:X.faces[0]})}):K.forEach(X=>{X.faces.forEach((ne,Me)=>{let Ue=X.keys[Me];Be(ne,Ue,X)})}),K.forEach(X=>{let{vertex_uvs:ne}=X;if(X.faces.length==1){let Ie={},Ke={};X.faces.forEach((C,S)=>{let P=X.keys[S],V=C.getSortedVertices();V.forEach((ee,ce)=>{let be=V[ce+1]||V[0],ge=pe([ee,be]),Se=Math.atan2(ne[P][be][0]-ne[P][ee][0],ne[P][be][1]-ne[P][ee][1]),He=2;Se=(Math.radToDeg(Se)+360)%90;let Ae,de=He;for(let Oe in Ke){let Je=Ke[Oe];Math.abs(Se-Je)<de&&(de=Math.abs(Se-Je),Ae=Oe)}Ae||(Ae=Math.round(Se/He)*He),Ie[Ae]?Ie[Ae]+=ge:(Ie[Ae]=ge,Ke[Ae]=Se)})});let z=Object.keys(Ie).map(C=>parseInt(C));if(z.sort((C,S)=>{let P=Ie[S]-Ie[C];return P||(C<S?-1:1)}),Ie[z[0]]>1){let C=Math.degToRad(Ke[z[0]]),S=Math.sin(C),P=Math.cos(C);for(let V in ne)for(let ee in ne[V]){let ce=ne[V][ee].slice();ne[V][ee][0]=ce[0]*P-ce[1]*S,ne[V][ee][1]=ce[0]*S+ce[1]*P}}}let Me=1/0,Ue=1/0;for(let Ie in ne)for(let Ke in ne[Ie])Me=Math.min(Me,ne[Ie][Ke][0]),Ue=Math.min(Ue,ne[Ie][Ke][1]);for(let Ie in ne)for(let Ke in ne[Ie])ne[Ie][Ke][0]-=Me,ne[Ie][Ke][1]-=Ue;if(X.faces.length==1&&X.faces[0].vertices.length==4){let Ie=X.faces[0].getSortedVertices();Ie.forEach((Ke,z)=>{let C=Ie[z+1]||Ie[0],S=Ie[z-1]||Ie.last(),P=t,V=ne[X.keys[0]];if(Math.epsilon(V[Ke][0],V[C][0],.001)){let ee=V[Ke][0]>V[S][0]?1:0;V[Ke][0]=V[C][0]=Math.round(Math.max(ee,V[Ke][0]*P))/P}if(Math.epsilon(V[Ke][1],V[C][1],.001)){let ee=V[Ke][1]>V[S][1]?1:0;V[Ke][1]=V[C][1]=Math.round(Math.max(ee,V[Ke][1]*P))/P}})}let et=-1/0,Qe=-1/0;for(let Ie in ne)for(let Ke in ne[Ie])et=Math.max(et,ne[Ie][Ke][0]),Qe=Math.max(Qe,ne[Ie][Ke][1]);if(Math.epsilon(X.normal[0],0,.08)){let Ie=(Math.ceil(et*t)/t-et)/2;for(let Ke in ne)for(let z in ne[Ke])ne[Ke][z][0]+=Ie}else if(Math.epsilon(X.normal[2],0,.05)){let Ie=(Math.ceil(et*t)/t-et)/2;for(let Ke in ne)for(let z in ne[Ke])ne[Ke][z][0]+=Ie}else if(X.normal[0]>0!=X.normal[2]<0)for(let Ie in ne)for(let Ke in ne[Ie])ne[Ie][Ke][0]+=Math.ceil(et*t)/t-et;if(X.normal[1]<0)for(let Ie in ne)for(let Ke in ne[Ie])ne[Ie][Ke][1]+=Math.ceil(Qe*t)/t-Qe;X.posx=0,X.posy=0,X.vertex_uvs=ne,X.width=et,X.height=Qe,X.size=et*Qe;let Ge=[0,1,2].sort((Ie,Ke)=>Math.abs(X.normal[Ke])-Math.abs(X.normal[Ie])-1e-4)[0];Ge==0&&X.normal[0]>=0&&(X.face_key="east"),Ge==0&&X.normal[0]<=0&&(X.face_key="west"),Ge==1&&X.normal[1]>=0&&(X.face_key="up"),Ge==1&&X.normal[1]<=0&&(X.face_key="down"),Ge==2&&X.normal[2]>=0&&(X.face_key="south"),Ge==2&&X.normal[2]<=0&&(X.face_key="north")}),p.push(...K)}}),p.length==0&&o.length==0){b.close(),Blockbench.showMessage("message.no_valid_elements","center");return}if(i.box_uv&&!Project.box_uv&&(Project.box_uv=!0),o.sort(function(Q,H){return H.template_size-Q.template_size}),i.rearrange_uv){let K=function(ne,Me){re[ne]||(re[ne]={}),re[ne][Me]=!0},pe=function(ne,Me){return re[ne]&&re[ne][Me]},xe=function(ne,Me,Ue,et){let Qe=ne.width,Ge=ne.height;if(i.padding){Qe++,Ge++;for(var Ie=0;Ie<Qe;Ie++)if(!(ne.matrix&&!ne.matrix[Ie]&&!ne.matrix[Ie-1])){for(var Ke=0;Ke<Ge;Ke++)if(!(ne.matrix&&(!ne.matrix[Ie]||!ne.matrix[Ie][Ke])&&(!ne.matrix[Ie-1]||!ne.matrix[Ie-1][Ke])&&(!ne.matrix[Ie]||!ne.matrix[Ie][Ke-1])&&(!ne.matrix[Ie-1]||!ne.matrix[Ie-1][Ke-1]))&&et(Me+Ie,Ue+Ke))return}}else for(var Ie=0;Ie<Qe;Ie++)if(!(ne.matrix&&!ne.matrix[Ie])){for(var Ke=0;Ke<Ge;Ke++)if(!(ne.matrix&&!ne.matrix[Ie][Ke])&&et(Me+Ie,Ue+Ke))return}},le=function(ne,Me,Ue){var et=!0;if(xe(ne,Me,Ue,(Qe,Ge)=>{if(pe(Qe,Ge))return et=!1,!0}),et)return xe(ne,Me,Ue,K),ne.posx=Me,ne.posy=Ue,Q=Math.max(Q,Me+ne.width),H=Math.max(H,Ue+ne.height),!0},Q=0,H=0,re={};e instanceof Texture&&(Q=e.width/t,H=e.height/t,Outliner.elements.filter(Me=>Me.faces).forEach(Me=>{for(let Ue in Me.faces){let et=Me.faces[Ue];if(et.getTexture()!==e)continue;let Qe=et.getBoundingRect(),Ge;et instanceof MeshFace&&(Ge=et.getOccupationMatrix(!1));for(let Ie=Math.floor(Qe.ax);Ie<Math.ceil(Qe.bx);Ie++)if(!(Ge&&!Ge[Ie]))for(let Ke=Math.floor(Qe.ay);Ke<Math.ceil(Qe.by);Ke++)Ge&&!Ge[Ie][Ke]||(re[Ie]||(re[Ie]={}),re[Ie][Ke]=!0)}}));var A=Math.max(Q,H);if(i.power?A=Math.getNextPower(A,16):A=Math.ceil(A/16)*16,a=[A,A],i.double_use){let ne=function(Me,Ue){let[et,Qe]=Me;return p.find(Ge=>{let Ie=Ge.cube||Ge.mesh||Ge.element;return Ge.face_old_pos_id==Ue&&et==Ie&&Qe==(Ge.face||Ge.faces[0])})};for(let Me in m){let Ue=m[Me];if(Ue.length<=1)continue;let et=ne(Ue[0],Me);if(et){et.copy_to=[];for(let Qe=1;Qe<Ue.length;Qe++){let Ge=ne(Ue[Qe],Me);Ge&&(p.remove(Ge),et.copy_to.push(Ge))}}}}p.forEach(ne=>{if(!ne.mesh)return;let Me=ne.faces.map((Ue,et)=>Ue.getSortedVertices().map(Qe=>ne.vertex_uvs[ne.keys[et]][Qe]));ne.matrix=F(Me,ne.width,ne.height)}),p.sort(function(ne,Me){return Me.size-ne.size});let Be=(o.length*6+p.length)*1.05,X=0;e:for(let ne of o){if(performance.now()-x>24&&await w(X/Be),v)return;X+=6;for(let Me=0;Me<2e3;Me++)for(let Ue=0;Ue<=Me;Ue++){if(le(ne,Ue,Me))continue e;if(Ue!=Me&&le(ne,Me,Ue))continue e}}e:for(let ne of p){if(performance.now()-x>24&&await w(X/Be),v)return;X+=1;for(var E=0;E<2e3;E++)for(var y=0;y<=E;y++){if(le(ne,y,E))continue e;if(y!=E&&le(ne,E,y))continue e}}var A=Math.max(Q,H);i.power?A=Math.getNextPower(A*t,16)/t:A=Math.ceil(A*t/16)*16/t,a=[A,A]}else a=e instanceof Texture?[e.getUVWidth(),e.getUVHeight()]:[Project.texture_width,Project.texture_height],p.forEach(Q=>{if(!Q.mesh)return;let H=Q.faces.map((re,K)=>{let pe=re.getBoundingRect();return Q.posx=pe.ax,Q.posy=pe.ay,re.getSortedVertices().map(xe=>[re.uv[xe][0]-pe.ax,re.uv[xe][1]-pe.ay])});Q.matrix=F(H,Q.width,Q.height)});await w(1),n&&(n=n.toRgbString());let R=document.createElement("canvas"),j=R.getContext("2d");j.imageSmoothingEnabled=!1,e instanceof Texture?(e.mode==="link"&&e.convertToInternal(),R.width=Math.max(a[0]*t,e.width),R.height=Math.max(a[1]*t,e.height),j.drawImage(e.img,0,0)):(R.width=a[0]*t,R.height=a[1]*t),Sa.old_project_resolution=[Project.texture_width,Project.texture_height];function F(Q,H,re){let K={};function pe(Be,X){return[Be[0]-X[0],Be[1]-X[1]]}function xe(Be,X){let ne=Be[0]*X[1]-Be[1]*X[0];if(ne>0)return 1;if(ne<0)return-1}function le(Be,X){e:for(let ne of Q){let Me,Ue=0;for(let et of ne){let Qe=ne[Ue+1]||ne[0],Ge=pe(Qe,et),Ie=pe([Be,X],et),Ke=xe(Ge,Ie);if(!Ke||(Me||(Me=Ke),Ke!==Me))continue e;Ue++}return!0}return!1}for(let Be=0;Be<0+H;Be++)for(let X=0;X<0+re;X++){let ne=le(Be+1e-5,X+1e-5)||le(Be+.99999,X+1e-5)||le(Be+1e-5,X+.99999)||le(Be+.99999,X+.99999);if(!ne){let Me=[[Be,X],[Be+.99999,X+.99999]];e:for(let Ue of Q){let et=0;for(let Qe of Ue){let Ge=Ue[et+1]||Ue[0];if(pointInRectangle(Qe,...Me)){ne=!0;break e}if(lineIntersectsReactangle(Qe,Ge,...Me)){ne=!0;break e}et++}}}ne&&(K[Be]||(K[Be]={}),K[Be][X]=!0)}return K}function O(Q,H,re){typeof n=="string"&&(Q=n,H=void 0),j.fillStyle=Q,j.fillRect(Math.floor(re.x*t),Math.floor(re.y*t),Math.ceil(re.w*t),Math.ceil(re.h*t)),re.w*t>2&&re.h*t>2&&H&&(j.fillStyle=H,j.fillRect(Math.floor(re.x*t+1),Math.floor(re.y*t+1),Math.ceil(re.w*t-2),Math.ceil(re.h*t-2)))}function L(Q,H,re,K){if(!K.w||!K.h)return;typeof n=="string"&&(Q=n,H=void 0),Q&&(Q=tinycolor(Q).toRgb()),H&&(H=tinycolor(H).toRgb());let pe=t,xe=re.matrix;Painter.scanCanvas(j,K.x*pe,K.y*pe,K.w*pe,K.h*pe,(le,Be)=>{if(le-=K.x*pe,Be-=K.y*pe,xe[Math.floor(le/pe)]&&xe[Math.floor(le/pe)][Math.floor(Be/pe)])return H&&xe[Math.floor((le+1)/pe)]&&xe[Math.floor((le+1)/pe)][Math.floor(Be/pe)]&&xe[Math.floor((le-1)/pe)]&&xe[Math.floor((le-1)/pe)][Math.floor(Be/pe)]&&xe[Math.floor(le/pe)]&&xe[Math.floor(le/pe)][Math.floor((Be+1)/pe)]&&xe[Math.floor(le/pe)]&&xe[Math.floor(le/pe)][Math.floor((Be-1)/pe)]?[H.r,H.g,H.b,H.a*255]:[Q.r,Q.g,Q.b,Q.a*255]})}function U(Q,H){let re;if(Format.single_texture)re=Texture.getDefault();else{if(Q.texture===void 0||Q.texture===null)return!1;re=Q.getTexture()}if(!re||!re.img)return!1;j.save();var K=Q.uv.slice();Q.direction==="up"?K=[K[2],K[3],K[0],K[1]]:Q.direction==="down"&&(K=[K[2],K[1],K[0],K[3]]);var pe=getRectangle(K[0],K[1],K[2],K[3]),xe=[K[0]>K[2]?-1:1,K[1]>K[3]?-1:1];if(xe[0]+xe[1]<1&&j.scale(xe[0],xe[1]),Q.rotation){j.rotate(Math.degToRad(Q.rotation));let le=Q.rotation;for(le<=180&&(xe[1]*=-1),le>=180&&(xe[0]*=-1);le>0;)[H.x,H.y]=[H.y,H.x],[H.w,H.h]=[H.h,H.w],le-=90}return j.imageSmoothingEnabled=!1,j.drawImage(re.img,pe.ax/re.getUVWidth()*re.img.naturalWidth,pe.ay/re.getUVHeight()*re.img.naturalHeight,pe.x/re.getUVWidth()*re.img.naturalWidth,pe.y/re.getUVHeight()*re.img.naturalHeight,H.x*t*xe[0],H.y*t*xe[1],H.w*t*xe[0],H.h*t*xe[1]),j.restore(),!0}function J(Q,H){let re=0;for(let K of Q.faces){let pe;if(Format.single_texture)pe=Texture.getDefault();else{if(K.texture===void 0)return!1;pe=K.getTexture()}if(!pe||!pe.img)return!1;j.save();let xe=Q.vertex_uvs[Q.keys[re]],le=t,Be=[1/0,1/0],X=[0,0],ne=[1/0,1/0],Me=[0,0];K.vertices.forEach(ee=>{Be[0]=Math.min(Be[0],K.uv[ee][0]),Be[1]=Math.min(Be[1],K.uv[ee][1]),X[0]=Math.max(X[0],K.uv[ee][0]),X[1]=Math.max(X[1],K.uv[ee][1]),ne[0]=Math.min(ne[0],xe[ee][0]),ne[1]=Math.min(ne[1],xe[ee][1]),Me[0]=Math.max(Me[0],xe[ee][0]),Me[1]=Math.max(Me[1],xe[ee][1])});let Ue=K.uv[K.vertices[0]].slice(),et=K.uv[K.vertices[1]].slice(),Qe=xe[K.vertices[0]].slice(),Ge=xe[K.vertices[1]].slice(),Ie=Math.atan2(et[1]-Ue[1],et[0]-Ue[0]),Ke=Math.atan2(Ge[1]-Qe[1],Ge[0]-Qe[0]),z=Math.radToDeg(Ke-Ie);j.beginPath();for(let ee in Q.matrix){ee=parseInt(ee);for(let ce in Q.matrix[ee])ce=parseInt(ce),j.rect((H.x+ee)*le,(H.y+ce)*le,le,le)}j.closePath(),j.clip(),j.imageSmoothingEnabled=!1;let C=[Be[0]/pe.getUVWidth()*pe.img.naturalWidth,Be[1]/pe.getUVHeight()*pe.img.naturalHeight,Math.ceil((X[0]-Be[0])/pe.getUVWidth()*pe.img.naturalWidth),Math.ceil((X[1]-Be[1])/pe.getUVHeight()*pe.img.naturalHeight)],S=[H.x*le+ne[0]*le,H.y*le+ne[1]*le],P=[Math.ceil((Me[0]-ne[0])*le),Math.ceil((Me[1]-ne[1])*le)],V=Math.round(((z+540)%360-180)/90)*90;if(V){let ee=[H.x*le+(ne[0]+(Me[0]-ne[0])/2)*le,H.y*le+(ne[1]+(Me[1]-ne[1])/2)*le];j.translate(...ee),j.rotate(Math.degToRad(Math.round(z/90)*90)),j.translate(-ee[0],-ee[1]),Math.abs(V)==90&&(P=P.reverse(),S[0]=S[0]-P[0]/2+P[1]/2,S[1]=S[1]-P[1]/2+P[0]/2)}j.drawImage(pe.img,...C,...S,...P),j.restore(),re++}return!0}p.forEach(function(Q){var H={x:Q.posx,y:Q.posy,w:Math.ceil(Q.width*t)/t,h:Math.ceil(Q.height*t)/t},re=Sa.face_data[Q.face_key]??Sa.face_data.south,K=!1;if(Q.cube?!Q.texture||!U(Q.face,H)?O(re.c1,re.c2,H):Q.cube&&(K=Q.face.rotation%180!=0):Q.mesh&&(!Q.texture||!J(Q,H))&&L(re.c1,re.c2,Q,H),i.rearrange_uv){let pe=function(xe,le){le.cube?(le.face.extend({rotation:0,uv:K?[H.y,H.x]:[H.x,H.y]}),le.face.uv_size=K?[H.h,H.w]:[H.w,H.h],xe!=le&&(le.mirror_x==-1&&([le.face.uv[2],le.face.uv[0]]=[le.face.uv[0],le.face.uv[2]]),le.mirror_y==-1&&([le.face.uv[3],le.face.uv[1]]=[le.face.uv[1],le.face.uv[3]])),le.face_key=="up"&&([le.face.uv[2],le.face.uv[0]]=[le.face.uv[0],le.face.uv[2]],[le.face.uv[3],le.face.uv[1]]=[le.face.uv[1],le.face.uv[3]]),le.face_key=="down"&&([le.face.uv[2],le.face.uv[0]]=[le.face.uv[0],le.face.uv[2]])):le.faces.forEach((Be,X)=>{let ne=xe.faces[X],Me=xe.keys[X];!ne||!Me||Be.vertices.forEach((Ue,et)=>{let Qe=Ue;if(Q.copy_to?.length)for(let Ge of ne.vertices){let Ie=ne.uv[Ge],Ke=Be.uv[Ue];if(Math.epsilon(Ie[0],Ke[0],.002)&&Math.epsilon(Ie[1],Ke[1],.002)){Qe=Ge;break}}Be.uv[Ue]||(Be.uv[Ue]=[]),xe.vertex_uvs[Me][Qe]&&(Be.uv[Ue][0]=xe.vertex_uvs[Me][Qe][0]+xe.posx,Be.uv[Ue][1]=xe.vertex_uvs[Me][Qe][1]+xe.posy)})})};if(Q.copy_to)for(let xe of Q.copy_to)pe(Q,xe);pe(Q,Q)}}),o.forEach(Q=>{if(i.rearrange_uv){Q.obj.uv_offset[0]=Q.posx,Q.obj.uv_offset[1]=Q.posy,(Project.box_uv||Format.optional_box_uv)&&(Q.obj.box_uv=!0);let H=Q.obj.mirror_uv;Q.obj.mirror_uv=!1,Q.duplicates&&Q.duplicates.forEach(re=>{re.obj!==Q.obj&&(re.obj.mirror_uv=re.obj.mirror_uv!==H)})}Sa.paintCubeBoxTemplate(Q.obj,i.texture,R,Q,!1,t)});var ie=R.toDataURL();let te=typeof e=="function"?e(ie):e;e instanceof Texture&&e.updateSource(ie);let me=Sa.changeUVResolution(a[0],a[1],te);te&&_.forEach(function(Q){if(!Format.single_texture){for(var H in Q.faces)Q.faces[H].texture!==null&&(Q.faces[H].texture=te.uuid);Q.preview_controller.updateFaces(Q)}Q.preview_controller.updateUV(Q),typeof Q.autouv<"u"&&(Q.autouv=0)}),i.rearrange_uv&&o.forEach(function(Q){Q.obj.uv_offset[0]=Q.posx,Q.obj.uv_offset[1]=Q.posy,Q.duplicates&&Q.duplicates.forEach(H=>{H.obj!==Q.obj&&(H.obj.uv_offset[0]=Q.posx,H.obj.uv_offset[1]=Q.posy)})}),updateSelection(),Blockbench.dispatchEvent("generate_texture_template",{options:i,elements:_,texture:te,resolution_multiplier:t,data:{face_list:p,box_uv_templates:o}}),setTimeout(Canvas.updatePixelGrid,1),Undo.finishEdit(e instanceof Texture?"Append to template":"Create template",{textures:[te],bitmap:!0,elements:[..._,...me],selected_texture:!0,uv_only:!0,uv_mode:!0}),b.close(),w(),_.find(Q=>{if(!Q.getTypeBehavior("cube_faces")||!Q.box_uv)return!1;let H=Q.size();return H[0]>.001&&H[0]<.999||H[1]>.001&&H[1]<.999||H[2]>.001&&H[2]<.999})&&Blockbench.showMessageBox({title:"message.small_face_dimensions.title",message:tl("message.small_face_dimensions.message")+(Format.optional_box_uv?`
`+tl("message.small_face_dimensions.face_uv"):""),icon:"warning"})},generateColorMapTemplate(i,e){var t=i.color,u=i.texture,n=[],a=[],o=(Format.single_texture?Outliner.elements:Outliner.selected).filter(m=>(m.getTypeBehavior("cube_faces")||m instanceof Mesh)&&m.visibility);if(Undo.initEdit({textures:[],elements:o,uv_only:!0,selected_texture:!0,uv_mode:!0}),o.forEach(m=>{if(!(BarItems.mirror_modeling.value&&MirrorModeling.cached_elements[m.uuid]&&MirrorModeling.cached_elements[m.uuid].is_copy))for(let f in m.faces){let g=m.faces[f];m instanceof Mesh&&g.vertices.length<=2||m.getTypeBehavior("cube_faces")&&g.texture===null||a.push({element:m,fkey:f,face:g})}}),a.length==0){Blockbench.showMessage("message.no_valid_elements","center");return}var r=Math.ceil(Math.sqrt(a.length));i.power?r=Math.getNextPower(r,16):r=Math.ceil(r/16)*16,n=[r,r],t&&t.getAlpha()!=0&&(t=t.toRgbString());var s=document.createElement("canvas");s.width=n[0],s.height=n[1];var l=s.getContext("2d");l.fillStyle=typeof t=="string"?t:"white",l.imageSmoothingEnabled=!1;let c={};a.forEach(({face:m},_)=>{let f=_%r,g=Math.floor(_/r),v;if(Format.single_texture?v=Texture.getDefault():m.texture!==void 0&&m.texture!==null&&(v=m.getTexture()),v&&v.img){c[v.uuid]||(c[v.uuid]=new CanvasFrame(v.img).ctx);let b=Painter.getPixelColor(c[v.uuid],Math.floor((m instanceof CubeFace?m.uv:m.uv[m.vertices[0]])[0]/v.getUVWidth()*v.width),Math.floor((m instanceof CubeFace?m.uv:m.uv[m.vertices[0]])[1]/v.getUVHeight()*v.height));l.fillStyle=b?b.toHexString():"white"}else l.fillStyle=typeof t=="string"?t:"white";if(l.fillRect(f,g,1,1),m instanceof CubeFace)m.uv=[f+.25,g+.25,f+.75,g+.75];else if(m instanceof MeshFace){let b=m.getSortedVertices();m.uv[b[0]]=[f+.75,g+.25],m.uv[b[1]]=[f+.25,g+.25],m.uv[b[2]]=[f+.25,g+.75],b[3]&&(m.uv[b[3]]=[f+.75,g+.75])}});var d=s.toDataURL(),u=e(d);let p=Sa.changeUVResolution(n[0],n[1],u);u&&(a.forEach(({face:m,fkey:_},f)=>{m.texture=u.uuid}),o.forEach(function(m){m.preview_controller.updateFaces(m),m.preview_controller.updateUV(m),typeof m.autouv<"u"&&(m.autouv=0)})),updateSelection(),setTimeout(Canvas.updatePixelGrid,1),Undo.finishEdit("Create template",{textures:[u],bitmap:!0,elements:[...o,...p],selected_texture:!0,uv_only:!0,uv_mode:!0})},changeUVResolution(i,e,t){let n=i/Project.getUVWidth(t),a=e/Project.getUVHeight(t);Project.texture_width=i,Project.texture_height=e,t&&(t.uv_width=i,t.uv_height=e,t.flags.delete("update_uv_size_from_resolution"));let o=[];return!Project.box_uv&&!Format.single_texture&&!Format.per_texture_uv_size&&(n!==1||a!==1)&&(o=Outliner.elements.filter(r=>r.faces&&!r.selected),Undo.current_save.addElements(o,{uv_only:!0}),o.forEach(r=>{if(r.getTypeBehavior("cube_faces"))for(var s in r.faces){let c=r.faces[s];t&&c.getTexture()==t||c.texture&&(c.uv[0]*=n,c.uv[1]*=a,c.uv[2]*=n,c.uv[3]*=a)}else if(r instanceof Mesh)for(var l in r.faces){let c=r.faces[l];if(!(t&&c.getTexture()==t))for(let d in c.uv)c.uv[d][0]*=n,c.uv[d][1]*=a}r.preview_controller.updateUV(r)})),o}};Object.assign(window,{TextureGenerator:Sa});var Uge=Vl(Mw(),1);BARS.defineActions(function(){function i(){return Texture.selected?Texture.all.filter(t=>t.selected||t.multi_selected):Texture.all}let e=!0;new Action("invert_colors",{icon:"invert_colors",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit((a,o)=>{let r=Painter.copyCanvas(a),s=a.getContext("2d");n.selection.maskCanvas(s,o.offset),s.clearRect(0,0,a.width,a.height),s.filter="invert(1)",s.drawImage(r,0,0),s.restore()},{no_undo:!0})}),Undo.finishEdit("Invert colors")}}),new Action("adjust_brightness_contrast",{icon:"brightness_high",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i(),n=t.map(a=>Painter.copyCanvas(a.getActiveCanvas().canvas));Undo.initEdit({textures:t,bitmap:!0}),new Dialog({id:"adjust_brightness_contrast",title:"action.adjust_brightness_contrast",darken:!1,component:{data(){return{show_preview:e,preview_changes:!0,brightness:100,contrast:100,textures:t}},methods:{change(){t.forEach((a,o)=>{a.edit((r,s)=>{let l=r.getContext("2d");a.selection.maskCanvas(l,s.offset),l.clearRect(0,0,a.width,a.height),this.preview_changes?l.filter=`brightness(${this.brightness/100}) contrast(${this.contrast/100})`:l.filter="brightness(1.0) contrast(1.0)",l.drawImage(n[o],0,0),l.restore(),setTimeout(()=>{let c=this.$refs.canvas[o].getContext("2d");c.clearRect(0,0,a.width,a.height),c.drawImage(a.canvas,0,0)},5)},{no_undo:!0,use_cache:!0})})},togglePreview(){this.show_preview=e=!this.show_preview}},template:`
<div>
<div class="texture_adjust_previews checkerboard" ref="preview_list" :class="{folded: !show_preview}">
<canvas v-for="(texture, i) in textures" :height="texture.height" :width="texture.width" ref="canvas" />
</div>
<div class="tool texture_adjust_preview_toggle" @click="togglePreview()"><i class="material-icons">{{ show_preview ? 'expand_more' : 'expand_less' }}</i></div>
<label class="form_label_compact">${tl("dialog.adjust_brightness_contrast.brightness")}</label>
<div class="bar slider_input_combo">
<input type="range" class="tool" min="0" max="200" step="1" v-model.number="brightness" @input="change()">
<numeric-input class="tool" :min="0" :max="200" :step="1" v-model.number="brightness" @input="change()" />
</div>
<label class="form_label_compact">${tl("dialog.adjust_brightness_contrast.contrast")}</label>
<div class="bar slider_input_combo">
<input type="range" class="tool" min="0" max="200" step="1" v-model.number="contrast" @input="change()">
<numeric-input class="tool" :min="0" :max="200" :step="1" v-model.number="contrast" @input="change()" />
</div>
<div class="bar button_bar_checkbox">
<input type="checkbox" v-model="preview_changes" id="checkbox_preview_changes" @change="change()">
<label for="checkbox_preview_changes">${tl("dialog.edit_texture.preview")}</label>
</div>
</div>
`,mounted(){t.forEach((a,o)=>{let r=this.$refs.canvas[o].getContext("2d");r.clearRect(0,0,a.width,a.height),r.drawImage(a.img,0,0)})}},onConfirm(){this.content_vue.preview_changes||(this.content_vue.preview_changes=!0,this.content_vue.change()),t.forEach((a,o)=>{a.updateChangesAfterEdit()}),Undo.finishEdit("Adjust brightness and contrast")},onCancel(){Undo.cancelEdit(!0)}}).show()}}),new Action("adjust_saturation_hue",{icon:"fa-tint",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i(),n=t.map(a=>Painter.copyCanvas(a.getActiveCanvas().canvas));Undo.initEdit({textures:t,bitmap:!0}),new Dialog({id:"adjust_saturation_hue",title:"action.adjust_saturation_hue",darken:!1,component:{data(){return{show_preview:e,preview_changes:!0,saturation:100,hue:0,brightness:100,textures:t}},methods:{change(){t.forEach((a,o)=>{a.edit((r,s)=>{let l=r.getContext("2d");a.selection.maskCanvas(l,s.offset),l.clearRect(0,0,a.width,a.height),this.preview_changes?l.filter=`saturate(${this.saturation/100}) hue-rotate(${this.hue}deg) brightness(${this.brightness/100})`:l.filter="brightness(1.0)",l.drawImage(n[o],0,0),l.restore(),setTimeout(()=>{let c=this.$refs.canvas[o].getContext("2d");c.clearRect(0,0,a.width,a.height),c.drawImage(a.canvas,0,0)},5)},{no_undo:!0,use_cache:!0})})},togglePreview(){this.show_preview=e=!this.show_preview}},template:`
<div>
<div class="texture_adjust_previews checkerboard" :class="{folded: !show_preview}">
<canvas v-for="(texture, i) in textures" :height="texture.height" :width="texture.width" ref="canvas" />
</div>
<div class="tool texture_adjust_preview_toggle" @click="togglePreview()"><i class="material-icons">{{ show_preview ? 'expand_more' : 'expand_less' }}</i></div>
<label class="form_label_compact">${tl("dialog.adjust_saturation_hue.saturation")}</label>
<div class="bar slider_input_combo">
<input type="range" class="tool" min="0" max="200" step="1" v-model.number="saturation" @input="change()">
<numeric-input class="tool" :min="0" :max="200" :step="1" v-model.number="saturation" @input="change()" />
</div>
<label class="form_label_compact">${tl("dialog.adjust_saturation_hue.hue")}</label>
<div class="bar slider_input_combo">
<input type="range" class="tool" min="-180" max="180" step="1" v-model.number="hue" @input="change()">
<numeric-input class="tool" :min="-180" :max="180" :step="1" v-model.number="hue" @input="change()" />
</div>
<label class="form_label_compact">${tl("dialog.adjust_brightness_contrast.brightness")}</label>
<div class="bar slider_input_combo">
<input type="range" class="tool" min="0" max="200" step="1" v-model.number="brightness" @input="change()">
<numeric-input class="tool" :min="0" :max="200" :step="1" v-model.number="brightness" @input="change()" />
</div>
<div class="bar button_bar_checkbox">
<input type="checkbox" v-model="preview_changes" id="checkbox_preview_changes" @change="change()">
<label for="checkbox_preview_changes">${tl("dialog.edit_texture.preview")}</label>
</div>
</div>
`,mounted(){t.forEach((a,o)=>{let r=this.$refs.canvas[o].getContext("2d");r.clearRect(0,0,a.width,a.height),r.drawImage(a.img,0,0)})}},onConfirm(){this.content_vue.preview_changes||(this.content_vue.preview_changes=!0,this.content_vue.change()),t.forEach((a,o)=>{a.updateChangesAfterEdit()}),Undo.finishEdit("Adjust saturation and hue")},onCancel(){Undo.cancelEdit(!0)}}).show()}}),new Action("adjust_curves",{icon:"fa-chart-line",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i(),n=t.map(c=>{let{canvas:d,ctx:u}=c.getActiveCanvas(),p=u.getImageData(0,0,d.width,d.height);return p.original_data=p.data.slice(),p});Undo.initEdit({textures:t,bitmap:!0});let a=n[0],o={},r=0;for(let c=0;c<256;c++)o[c]=0;for(let c=0;c<a.data.length;c+=4){let d=a.data[c+0],u=a.data[c+1],p=a.data[c+2];if(a.data[c+3]==0)continue;let _=.2126*d+.7152*u+.0722*p;o[Math.round(_)]+=1,r=Math.max(r,o[Math.round(_)])}let s={rgb:null,r:null,g:null,b:null,a:null};function l(c,d=.5){if(c.length==2)return`M${c[0][0]},${c[0][1]} L${c[1][0]},${c[1][1]}`;let u=d!==0?d*12:.5*12,p=c.map(b=>b.map(x=>parseFloat(x))),m=["M"+p[0][0]+" "+p[0][1]+" "],g=p.map((b,x,w)=>x==0?v([w[x],w[x],w[x+1],w[x+2]]):x==w.length-2?v([w[x-1],w[x],w[x+1],w[x+1]]):v([w[x-1],w[x],w[x+1],w[x+2]])).filter(b=>b[3]!==void 0).map(b=>[{x:b[1].x,y:b[1].y},{x:Math.clamp((-b[0].x+u*b[1].x+b[2].x)/u,b[1].x,b[2].x),y:(-b[0].y+u*b[1].y+b[2].y)/u},{x:Math.clamp((b[1].x+u*b[2].x-b[3].x)/u,b[1].x,b[2].x),y:(b[1].y+u*b[2].y-b[3].y)/u},{x:b[2].x,y:b[2].y}]).map(b=>"C"+b[1].x+","+b[1].y+" "+b[2].x+","+b[2].y+" "+b[3].x+","+b[3].y+" ");return m.concat(g).join(" ");function v(b){return b.map(x=>{if(x!==void 0)return{x:x[0],y:x[1]}})}}new Dialog({id:"adjust_curves",title:"action.adjust_curves",darken:!1,width:460,component:{data(){return{preview_changes:!0,light_data:"",graph:"rgb",graphs:{rgb:{data:"",points:[[0,0],[1,1]]},r:{data:"",points:[[0,0],[1,1]]},g:{data:"",points:[[0,0],[1,1]]},b:{data:"",points:[[0,0],[1,1]]},a:{data:"",points:[[0,0],[1,1]]}},height:400,width:400,textures:t}},methods:{change(){let c={};for(let d in this.graphs){let u=this.graphs[d];if(u.points.length===2&&u.points[0].allEqual(0)&&u.points[1].allEqual(1))delete s[d];else{let p=[];c[d]={},u.points.forEach(m=>{p.push(new THREE.Vector2(m[0],m[1]))}),s[d]=new THREE.SplineCurve(p)}}t.forEach((d,u)=>{d.edit((p,{offset:m})=>{let _=p.getContext("2d"),f=n[u];if(this.preview_changes)for(let g=0;g<f.data.length;g+=4){if(!d.selection.allow(m[0]+g/4%f.width,m[1]+Math.floor(g/4/f.width)))continue;let v=f.original_data[g+0],b=f.original_data[g+1],x=f.original_data[g+2],w=f.original_data[g+3],E=Math.round(.2126*v+.7152*b+.0722*x),y=s.rgb?c.rgb[E]!==void 0?c.rgb[E]:c.rgb[E]=s.rgb.getPointAt(E/255).y*255:E,A=s.r?c.r[E]!==void 0?c.r[E]:c.r[E]=s.r.getPointAt(E/255).y*255:Math.max(E,1),R=s.g?c.g[E]!==void 0?c.g[E]:c.g[E]=s.g.getPointAt(E/255).y*255:Math.max(E,1),j=s.b?c.b[E]!==void 0?c.b[E]:c.b[E]=s.b.getPointAt(E/255).y*255:Math.max(E,1),F=s.a?c.a[w]!==void 0?c.a[w]:c.a[w]=s.a.getPointAt(w/255).y*255:w;E=Math.max(E,1),f.data[g+0]=Math.max(v+1,1)*(A/E)*(y/E)-1,f.data[g+1]=Math.max(b+1,1)*(R/E)*(y/E)-1,f.data[g+2]=Math.max(x+1,1)*(j/E)*(y/E)-1,f.data[g+3]=F}else for(let g=0;g<f.data.length;g+=4)d.selection.allow(m[0]+g/4%f.width,m[1]+Math.floor(g/4/f.width))&&(f.data[g+0]=f.original_data[g+0],f.data[g+1]=f.original_data[g+1],f.data[g+2]=f.original_data[g+2],f.data[g+3]=f.original_data[g+3]);_.putImageData(f,0,0)},{no_undo:!0,use_cache:!0})})},setGraph(c){this.graph=c,this.updateGraph()},dragPoint(c,d){let u=this,{points:p}=this.graphs[this.graph],m=c.slice();function _(g){c==p[0]||c==p.last()?c[0]=c==p[0]?0:1:c[0]=Math.clamp(m[0]+(g.clientX-d.clientX)/u.width,0,1),c[1]=Math.clamp(m[1]-(g.clientY-d.clientY)/u.height,0,1),u.updateGraph(),u.change()}function f(){removeEventListeners(document,"mousemove touchmove",_),removeEventListeners(document,"mouseup touchend",f)}addEventListeners(document,"mousemove touchmove",_),addEventListeners(document,"mouseup touchend",f)},createNewPoint(c){if(c.target.id!=="contrast_graph"||c.which==3)return;let d=[(c.offsetX-5)/this.width,1-(c.offsetY-5)/this.width],{points:u}=this.graphs[this.graph];u.push(d),this.updateGraph(),this.change(),this.dragPoint(d,c)},updateGraph(c=this.graph){let d=5,{points:u}=this.graphs[this.graph];u.sort((p,m)=>p[0]-m[0]),this.graphs[c].data=l(u.map(p=>[p[0]*this.width+d,(1-p[1])*this.height+d]))},contextMenu(c,d){let{points:u}=this.graphs[this.graph];c==u[0]||c==u.last()||new Menu([{id:"remove",name:"Remove",icon:"clear",click:()=>{let{points:p}=this.graphs[this.graph];p.remove(c),this.updateGraph(),this.change()}}]).open(d.target)}},template:`
<div>
<div class="bar contrast_graph_selector">
<div @click="setGraph('rgb')" :class="{selected: graph == 'rgb'}">RGB</div>
<div @click="setGraph('r')" :class="{selected: graph == 'r'}">R</div>
<div @click="setGraph('g')" :class="{selected: graph == 'g'}">G</div>
<div @click="setGraph('b')" :class="{selected: graph == 'b'}">B</div>
<div @click="setGraph('a')" :class="{selected: graph == 'a'}">A</div>
</div>
<div id="contrast_graph" @mousedown="createNewPoint($event)" @touchstart="createNewPoint($event)">
<svg>
<path :class="{active: graph == 'r'}" :d="graphs.r.data" style="stroke: #ff0000;"></path>
<path :class="{active: graph == 'g'}" :d="graphs.g.data" style="stroke: #00ff00;"></path>
<path :class="{active: graph == 'b'}" :d="graphs.b.data" style="stroke: #3b3bff;"></path>
<path :class="{active: graph == 'a'}" :d="graphs.a.data" style="stroke: var(--color-text);"></path>
<path :class="{active: graph == 'rgb'}" :d="graphs.rgb.data"></path>
<polygon :points="light_data" />
</svg>
<div class="contrast_graph_point"
v-for="point in graphs[graph].points"
:style="{left: point[0] * width + 'px', top: (1-point[1]) * height + 'px'}"
@mousedown="dragPoint(point, $event)" @touchstart="dragPoint(point, $event)"
@contextmenu="contextMenu(point, $event)"
></div>
</div>
<div class="bar button_bar_checkbox">
<input type="checkbox" v-model="preview_changes" id="checkbox_preview_changes" @change="change()">
<label for="checkbox_preview_changes">${tl("dialog.edit_texture.preview")}</label>
</div>
</div>
`,mounted(){for(let c in this.graphs)this.updateGraph(c);this.light_data=`5,${this.height+5}`;for(let c in o)this.light_data+=` ${Math.round(c/255*this.width)+5},${Math.round((1-o[c]/r)*this.height)+5}`;this.light_data+=` ${this.width+5},${this.height+5}`}},onConfirm(){this.content_vue.preview_changes||(this.content_vue.preview_changes=!0,this.content_vue.change()),t.forEach((c,d)=>{c.updateChangesAfterEdit()}),Undo.finishEdit("Adjust curves")},onCancel(){Undo.cancelEdit(!0)}}).show()}}),new Action("adjust_opacity",{icon:"gradient",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i(),n=t.map(a=>Painter.copyCanvas(a.getActiveCanvas().canvas));Undo.initEdit({textures:t,bitmap:!0}),new Dialog({id:"adjust_opacity",title:"action.adjust_opacity",darken:!1,component:{data(){return{show_preview:e,preview_changes:!0,mode:"multiply",opacity_percent:100,opacity_value:255,textures:t}},methods:{change(){t.forEach((a,o)=>{a.edit((r,s)=>{let l=r.getContext("2d");if(this.mode=="multiply")l.save(),a.selection.maskCanvas(l,s.offset),l.clearRect(0,0,a.width,a.height),this.preview_changes?(l.filter=`opacity(${this.opacity_percent}%)`,l.drawImage(n[o],0,0),this.opacity_percent>100&&this.preview_changes&&(l.filter=`opacity(${this.opacity_percent-100}%)`,l.drawImage(n[o],0,0))):(l.filter="opacity(100%)",l.drawImage(n[o],0,0)),l.restore();else{let c=a.selection,d=Math.clamp(this.opacity_value,0,255);l.clearRect(0,0,a.width,a.height),l.drawImage(n[o],0,0),this.preview_changes&&Painter.scanCanvas(l,0,0,r.width,r.height,(u,p,m)=>{if(c.allow(u,p)&&!m.allEqual(0))return m[3]=d,m})}setTimeout(()=>{let c=this.$refs.canvas[o].getContext("2d");c.clearRect(0,0,a.width,a.height),c.drawImage(a.canvas,0,0)},5)},{no_undo:!0,use_cache:!0})})},setMode(a){this.mode=a,this.change()},togglePreview(){this.show_preview=e=!this.show_preview}},template:`
<div>
<div class="texture_adjust_previews checkerboard" :class="{folded: !show_preview}">
<canvas v-for="(texture, i) in textures" :height="texture.height" :width="texture.width" ref="canvas" />
</div>
<div class="tool texture_adjust_preview_toggle" @click="togglePreview()"><i class="material-icons">{{ show_preview ? 'expand_more' : 'expand_less' }}</i></div>
<div class="dialog_bar bar form_bar" form_type="inline_select">
<label class="name_space_left">${tl("dialog.adjust_opacity.mode")}</label>
<ul class="form_inline_select">
<li :class="{selected: mode == 'multiply'}" @click="setMode('multiply')" key="multiply">${tl("dialog.adjust_opacity.mode.multiply")}</li>
<li :class="{selected: mode == 'set'}" @click="setMode('set')" key="set">${tl("dialog.adjust_opacity.mode.set")}</li>
</ul>
</div>
<div class="bar slider_input_combo" v-if="mode == 'multiply'">
<input type="range" class="tool" min="0" max="200" step="0.1" v-model.number="opacity_percent" @input="change()">
<numeric-input class="tool" style="width: 64px;" :min="0" :max="200" :step="0.1" v-model.number="opacity_percent" @input="change()" />
</div>
<div class="bar slider_input_combo" v-else>
<input type="range" class="tool" min="0" max="255" step="1" v-model.number="opacity_value" @input="change()">
<numeric-input class="tool" style="width: 64px;" :min="0" :max="255" :step="1" v-model.number="opacity_value" @input="change()" />
</div>
<div class="bar button_bar_checkbox">
<input type="checkbox" v-model="preview_changes" id="checkbox_preview_changes" @change="change()">
<label for="checkbox_preview_changes">${tl("dialog.edit_texture.preview")}</label>
</div>
</div>
`,mounted(){t.forEach((a,o)=>{let r=this.$refs.canvas[o].getContext("2d");r.clearRect(0,0,a.width,a.height),r.drawImage(a.img,0,0)})}},onConfirm(){this.content_vue.preview_changes||(this.content_vue.preview_changes=!0,this.content_vue.change()),t.forEach((a,o)=>{a.updateChangesAfterEdit()}),Undo.finishEdit("Adjust opacity")},onCancel(){Undo.cancelEdit(!0)}}).show()}}),new Action("limit_to_palette",{icon:"blur_linear",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit(a=>{let o=a.getContext("2d");var r={};ColorPanel.palette.forEach(s=>{r[s]=tinycolor(s)}),Painter.scanCanvas(o,0,0,a.width,a.height,(s,l,c)=>{if(!n.selection.allow(s,l)||c[3]<4)return;let d=1/0,u=null,p={_r:c[0],_g:c[1],_b:c[2]};for(let m in r){let _=r[m],f=Wr(_,p);f<d&&(d=f,u=_)}if(u)return c[0]=u._r,c[1]=u._g,c[2]=u._b,c})},{no_undo:!0})}),Undo.finishEdit("Limit texture to palette")}}),new Action("split_rgb_into_layers",{icon:"stacked_bar_chart",category:"textures",condition:{modes:["paint"],selected:{texture:!0}},async click(){let t=Texture.getDefault(),n=t.ctx.getImageData(0,0,t.canvas.width,t.canvas.height);t.file_format=="tga",Undo.initEdit({textures:[t],bitmap:!0}),t.layers_enabled=!0,t.layers.empty();let a=0;for(let o of["red","green","blue","alpha"]){let r=new ImageData(n.data.slice(),n.width,n.height);for(let l=0;l<r.data.length;l+=4)a!=0&&(r.data[l+0]=0),a!=1&&(r.data[l+1]=0),a!=2&&(r.data[l+2]=0),a==3&&(r.data[l+0]=r.data[l+1]=r.data[l+2]=r.data[l+3]),r.data[l+3]=255;let s=new TextureLayer({name:o,blend_mode:"add"},t);s.setSize(n.width,n.height),s.ctx.putImageData(r,0,0),o=="alpha"?(t.layers.push(s),s.blend_mode="alpha_mask"):t.layers.unshift(s),o=="red"&&s.select(),a++}t.updateLayerChanges(!0),Undo.finishEdit("Split texture into RGB layers"),updateInterfacePanels(),BARS.updateConditions()}}),new Action("split_alpha_into_layer",{icon:"tab_inactive",category:"textures",condition:{modes:["paint"],selected:{texture:!0}},async click(){let t=Texture.getDefault(),n=t.ctx.getImageData(0,0,t.canvas.width,t.canvas.height);t.file_format=="tga",Undo.initEdit({textures:[t],bitmap:!0}),t.layers_enabled=!0,t.layers.empty();let a=new ImageData(n.data.slice(),n.width,n.height);for(let l=0;l<a.data.length;l+=4)a.data[l+3]=255;let o=new TextureLayer({name:"color"},t);o.setSize(n.width,n.height),o.ctx.putImageData(a,0,0),t.layers.push(o),o.select();let r=new ImageData(n.data.slice(),n.width,n.height);for(let l=0;l<r.data.length;l+=4)r.data[l+0]=r.data[l+1]=r.data[l+2]=r.data[l+3],r.data[l+3]=255;let s=new TextureLayer({name:"alpha",blend_mode:"alpha_mask"},t);s.setSize(n.width,n.height),s.ctx.putImageData(r,0,0),t.layers.push(s),t.updateLayerChanges(!0),Undo.finishEdit("Split texture alpha into alpha mask layers"),updateInterfacePanels(),BARS.updateConditions()}}),new Action("clear_unused_texture_space",{icon:"cleaning_services",category:"textures",condition:{modes:["paint","edit"],features:["edit_mode"],method:()=>Texture.all.length},click(){let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{let a=(o,r,s)=>{let l=n.frameCount||1,c=Painter.copyCanvas(o);r.clearRect(0,0,o.width,o.height),r.beginPath();for(let d=0;d<l;d++){let u=d*n.display_height||0;Outliner.elements.forEach(p=>{if(p instanceof Mesh)for(var m in p.faces){var _=p.faces[m];if(_.vertices.length<=2||_.getTexture()!==n)continue;let f=_.getOccupationMatrix(!0,[0,0]);for(let g in f)for(let v in f[g])f[g][v]&&(g=parseInt(g),v=parseInt(v),r.rect(-s[0]+g,-s[1]+v+u,1,1))}else if(p.getTypeBehavior("cube_faces")){let f=n.width/n.getUVWidth(),g=n.display_height/n.getUVHeight();for(var m in p.faces){var _=p.faces[m];if(_.getTexture()!==n)continue;let x=_.getBoundingRect(),w=[-s[0]+Math.floor(x.ax*f),-s[1]+Math.floor(x.ay*g)+u,Math.ceil(x.bx*f)-Math.floor(x.ax*f),Math.ceil(x.by*g)-Math.floor(x.ay*g)];r.rect(...w)}}})}r.clip(),r.drawImage(c,0,0)};n.edit(o=>{if(n.layers_enabled)for(let r of n.layers)a(r.canvas,r.ctx,r.offset);else a(o,n.ctx,n.offset)},{no_undo:!0})}),Undo.finishEdit("Clear unused texture space")}}),new Action("flip_texture_x",{icon:"icon-mirror_x",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){if(Texture.selected?.selected_layer){Texture.selected?.selected_layer.flip(0,!0);return}let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit(a=>{let o=a.getContext("2d");o.save(),o.clearRect(0,0,a.width,a.height),o.scale(-1,1),o.drawImage(n.img,-a.width,0),o.restore()},{no_undo:!0})}),Undo.finishEdit("Flip texture X")}}),new Action("flip_texture_y",{icon:"icon-mirror_y",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){if(Texture.selected?.selected_layer){Texture.selected?.selected_layer.flip(1,!0);return}let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit(a=>{let o=a.getContext("2d");o.save(),o.clearRect(0,0,a.width,a.height),o.scale(1,-1),o.drawImage(n.img,0,-a.height),o.restore()},{no_undo:!0})}),Undo.finishEdit("Flip texture Y")}}),new Action("rotate_texture_cw",{icon:"rotate_right",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){if(Texture.selected?.selected_layer){Texture.selected?.selected_layer.rotate(90,!0);return}let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit(a=>{let o=a.getContext("2d");o.save(),o.clearRect(0,0,a.width,a.height),o.rotate(Math.PI/2),o.drawImage(n.img,0,-a.height),o.restore()},{no_undo:!0})}),Undo.finishEdit("Rotate texture clockwise")}}),new Action("rotate_texture_ccw",{icon:"rotate_left",category:"textures",condition:{modes:["paint"],method:()=>Texture.all.length},click(){if(Texture.selected?.selected_layer){Texture.selected?.selected_layer.rotate(-90,!0);return}let t=i();Undo.initEdit({textures:t,bitmap:!0}),t.forEach(n=>{n.edit(a=>{let o=a.getContext("2d");o.save(),o.clearRect(0,0,a.width,a.height),o.rotate(-Math.PI/2),o.drawImage(n.img,-a.width,0),o.restore()},{no_undo:!0})}),Undo.finishEdit("Rotate texture counter-clockwise")}}),new Action("resize_texture",{icon:"photo_size_select_large",category:"textures",condition:()=>Texture.selected,click(){Texture.selected.resizeDialog()}}),new Action("crop_texture_to_selection",{icon:"crop",category:"textures",condition:()=>Texture.selected,click(){let t=Texture.selected,n=t.selection.getBoundingRect(),a=t.width/t.uv_width,o=t.width,r=t.height;if(!n.width||!n.height)return;Undo.initEdit({textures:[t],bitmap:!0}),t.layers_enabled?(t.width=t.canvas.width=n.width,t.height=t.canvas.height=n.height,t.layers.forEach(l=>{l.offset[0]-=n.start_x,l.offset[1]-=n.start_y})):(t.width=t.canvas.width=n.width,t.height=t.canvas.height=n.height,t.ctx.imageSmoothingEnabled=!1,t.ctx.drawImage(t.img,-n.start_x,-n.start_y)),t.uv_width=t.canvas.width*a,t.uv_height=t.canvas.height*a,t.updateChangesAfterEdit(),t.selection.clear(),UVEditor.updateSelectionOutline(),Undo.finishEdit("Crop texture to selection"),setTimeout(updateSelection,100);let s=[];if(Outliner.elements.forEach(l=>{if(l.faces){for(let c in l.faces)if(l.faces[c].getTexture()==t){s.safePush(l);break}}}),s.length){Undo.initEdit({elements:s});let l=1,c=1;Format.single_texture||Texture.all.length==1||Format.per_texture_uv_size?Format.per_texture_uv_size||(Undo.current_save.uv_mode={box_uv:Project.box_uv,width:Project.texture_width,height:Project.texture_height},Undo.current_save.aspects.uv_mode=!0,Project.texture_width=Project.texture_width*(n.width/o),Project.texture_height=Project.texture_height*(n.height/r)):(l=n.width/o,c=n.height/r),s.forEach(d=>{if(d.getTypeBehavior("cube_faces")){for(let u in d.faces)if(d.faces[u].getTexture()==t)if(d.box_uv)d.uv_offset[0]-=n.start_x*a,d.uv_offset[1]-=n.start_y*a;else{let p=d.faces[u].uv;p[0]=p[0]/l-n.start_x*a,p[2]=p[2]/l-n.start_x*a,p[1]=p[1]/c-n.start_y*a,p[3]=p[3]/c-n.start_y*a}}else if(d instanceof Mesh)for(let u in d.faces){if(d.faces[u].getTexture()!=t)continue;let p=d.faces[u].uv;for(let m in p)p[m][0]=p[m][0]/l-n.start_x*a,p[m][1]=p[m][1]/c-n.start_y*a}}),Canvas.updateView({elements:s,element_aspects:{uv:!0}}),Undo.finishEdit("Adjust UV after cropping texture")}}})});var Sae={data(){return{axes:[0,1,2],reference_model:"player",pose_angle:0,slot:new DisplaySlot(""),allow_mirroring:Settings.get("allow_display_slot_mirror"),animate_preview:_t.animate_preview}},watch:{pose_angle(i){cn.active.pose_angles[_t.display_slot]=i,cn.active.updateBasePosition&&cn.active.updateBasePosition()},animate_preview(i){_t.animate_preview=i}},methods:{tl:nn,allowMirroring(){return this.allow_mirroring&&!this.isBedrockStyle()},allowEnablingMirroring(){return Format.id!="bedrock_block"},isBedrockStyle(){return Format.id=="bedrock_block"},isMirrored:i=>{if(Project.display_settings[_t.display_slot])return Project.display_settings[_t.display_slot].scale[i]<0},change:(i,e)=>{if(e==="scale"&&(Pressing.shift||Pressing.overrides.shift)){var t=limitNumber(parseFloat(_t.slot.scale[i]),0,4);_t.slot.scale[0]=t,_t.slot.scale[1]=t,_t.slot.scale[2]=t}_t.updateDisplayBase()},focusout:(i,e)=>{if(e==="scale"){var t=limitNumber(_t.slot.scale[i],0,4);_t.slot.scale[i]=t,(Pressing.shift||Pressing.overrides.shift)&&(_t.slot.scale[0]=t,_t.slot.scale[1]=t,_t.slot.scale[2]=t)}else e==="translation"?_t.slot.translation[i]=limitNumber(_t.slot.translation[i],-80,80)||0:e=="rotation"?_t.slot.rotation[i]=Math.trimDeg(_t.slot.rotation[i])||0:_t.slot[e][i]=_t.slot[e][i]??0;_t.updateDisplayBase()},resetChannel:i=>{var e=i==="scale"?1:0;Undo.initEdit({display_slots:[_t.display_slot]}),_t.slot.extend({[i]:[e,e,e]}),i==="scale"&&_t.slot.extend({mirror:[!1,!1,!1]}),Undo.finishEdit("Reset display channel")},invert:i=>{Undo.initEdit({display_slots:[_t.display_slot]}),_t.slot.mirror[i]=!_t.slot.mirror[i],_t.slot.update(),Undo.finishEdit("Mirror display setting")},start:()=>{Undo.initEdit({display_slots:[_t.display_slot]}),Interface.addSuggestedModifierKey("shift","modifier_actions.uniform_scaling")},save:()=>{Undo.finishEdit("Change display setting"),Interface.removeSuggestedModifierKey("shift","modifier_actions.uniform_scaling")},toggleFitToFrame(){Undo.initEdit({display_slots:[_t.display_slot]}),this.slot.fit_to_frame=!this.slot.fit_to_frame,Undo.finishEdit("Change display setting fit-to-frame property"),Interface.removeSuggestedModifierKey("shift","modifier_actions.uniform_scaling")},showMirroringSetting(){Settings.openDialog({search_term:nn("settings.allow_display_slot_mirror")})},getAxisLetter}},u5=function(){var i=this,e=i.$createElement,t=i._self._c||e;return t("div",[t("div",{staticClass:"toolbar_wrapper display"}),i._v(" "),t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.slot")))]),i._v(" "),t("div",{staticClass:"bar tabs_small icon_bar",attrs:{id:"display_bar"}},[t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"thirdperson_righthand",checked:""}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"thirdperson_righthand",onclick:"DisplayMode.loadThirdRight()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.third_right")))]),t("i",{staticClass:"material-icons"},[i._v("accessibility")])]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"thirdperson_lefthand"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"thirdperson_lefthand",onclick:"DisplayMode.loadThirdLeft()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.third_left")))]),t("i",{staticClass:"material-icons"},[i._v("accessibility")])]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"firstperson_righthand"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"firstperson_righthand",onclick:"DisplayMode.loadFirstRight()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.first_right")))]),t("i",{staticClass:"material-icons"},[i._v("person")])]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"firstperson_lefthand"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"firstperson_lefthand",onclick:"DisplayMode.loadFirstLeft()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.first_left")))]),t("i",{staticClass:"material-icons"},[i._v("person")])]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"head"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"head",onclick:"DisplayMode.loadHead()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.head")))]),t("i",{staticClass:"material-icons"},[i._v("sentiment_satisfied")])]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"ground"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"ground",onclick:"DisplayMode.loadGround()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.ground")))]),t("i",{staticClass:"icon-ground"})]),i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"fixed"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"fixed",onclick:"DisplayMode.loadFixed()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.frame")))]),t("i",{staticClass:"material-icons"},[i._v("filter_frames")])]),i._v(" "),i.isBedrockStyle()?[t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"embedded"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"embedded",onclick:"DisplayMode.loadEmbedded()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.embedded")))]),t("i",{staticClass:"material-icons"},[i._v("potted_plant")])])]:i._e(),i._v(" "),i.isBedrockStyle()?i._e():[t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"on_shelf"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"on_shelf",onclick:"DisplayMode.loadShelf()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.on_shelf")))]),t("i",{staticClass:"material-icons"},[i._v("table_view")])])],i._v(" "),t("input",{staticClass:"hidden",attrs:{type:"radio",name:"display",id:"gui"}}),i._v(" "),t("label",{staticClass:"tool",attrs:{for:"gui",onclick:"DisplayMode.loadGUI()"}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.slot.gui")))]),t("i",{staticClass:"material-icons"},[i._v("border_style")])])],2),i._v(" "),t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.reference")))]),i._v(" "),t("div",{staticClass:"bar tabs_small icon_bar",attrs:{id:"display_ref_bar"}}),i._v(" "),t("div",{attrs:{id:"display_sliders"}},[t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.rotation")))]),i._v(" "),t("div",{staticClass:"tool head_right",on:{click:function(n){return i.resetChannel("rotation")}}},[t("i",{staticClass:"material-icons"},[i._v("replay")])])]),i._v(" "),i._l(i.axes,function(n){return t("div",{key:"rotation."+n,staticClass:"bar slider_input_combo",attrs:{title:i.getAxisLetter(n).toUpperCase()}},[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.slot.rotation[n],expression:"slot.rotation[axis]",modifiers:{number:!0}}],staticClass:"tool disp_range",style:{"--color-thumb":"var(--color-axis-"+i.getAxisLetter(n)+")"},attrs:{type:"range",trigger_type:"rotation."+n,min:"-180",max:"180",step:"1",value:"0"},domProps:{value:i.slot.rotation[n]},on:{input:function(a){return i.change(n,"rotation")},mousedown:function(a){return i.start()},change:i.save,__r:function(a){i.$set(i.slot.rotation,n,i._n(a.target.value))},blur:function(a){return i.$forceUpdate()}}}),i._v(" "),t("numeric-input",{staticClass:"tool disp_text",attrs:{min:-180,max:180,step:.5},on:{input:function(a){return i.change(n,"rotation")},change:function(a){i.focusout(n,"rotation"),i.save()},mousedown:function(a){return i.start()}},model:{value:i.slot.rotation[n],callback:function(a){i.$set(i.slot.rotation,n,i._n(a))},expression:"slot.rotation[axis]"}})],1)}),i._v(" "),t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.translation")))]),i._v(" "),t("div",{staticClass:"tool head_right",on:{click:function(n){return i.resetChannel("translation")}}},[t("i",{staticClass:"material-icons"},[i._v("replay")])])]),i._v(" "),i._l(i.axes,function(n){return t("div",{key:"translation."+n,staticClass:"bar slider_input_combo",attrs:{title:i.getAxisLetter(n).toUpperCase()}},[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.slot.translation[n],expression:"slot.translation[axis]",modifiers:{number:!0}}],staticClass:"tool disp_range",style:{"--color-thumb":"var(--color-axis-"+i.getAxisLetter(n)+")"},attrs:{type:"range",trigger_type:"translation."+n,min:Math.abs(i.slot.translation[n])<10?-20:i.slot.translation[n]>0?-200:-80,max:Math.abs(i.slot.translation[n])<10?20:i.slot.translation[n]<0?200:80,step:Math.abs(i.slot.translation[n])<10?.25:1,value:"0"},domProps:{value:i.slot.translation[n]},on:{input:function(a){return i.change(n,"translation")},mousedown:function(a){return i.start()},change:i.save,__r:function(a){i.$set(i.slot.translation,n,i._n(a.target.value))},blur:function(a){return i.$forceUpdate()}}}),i._v(" "),t("numeric-input",{staticClass:"tool disp_text",attrs:{min:-80,max:80,step:.5},on:{input:function(a){return i.change(n,"translation")},change:function(a){i.focusout(n,"translation"),i.save()},mousedown:function(a){return i.start()}},model:{value:i.slot.translation[n],callback:function(a){i.$set(i.slot.translation,n,i._n(a))},expression:"slot.translation[axis]"}})],1)}),i._v(" "),t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.scale")))]),i._v(" "),i.allowEnablingMirroring()?t("div",{staticClass:"tool head_right",on:{click:function(n){return i.showMirroringSetting()}}},[t("i",{staticClass:"material-icons"},[i._v("flip")])]):i._e(),i._v(" "),t("div",{staticClass:"tool head_right",on:{click:function(n){return i.resetChannel("scale")}}},[t("i",{staticClass:"material-icons"},[i._v("replay")])])]),i._v(" "),i._l(i.axes,function(n){return t("div",{key:"mirror."+n,staticClass:"bar slider_input_combo",attrs:{title:i.getAxisLetter(n).toUpperCase()}},[i.allowMirroring()?t("div",{staticClass:"tool display_scale_invert",on:{click:function(a){return i.invert(n)}}},[t("div",{staticClass:"tooltip"},[i._v(i._s(i.tl("display.mirror")))]),i._v(" "),t("i",{staticClass:"material-icons"},[i._v(i._s(i.slot.mirror[n]?"check_box":"check_box_outline_blank"))])]):i._e(),i._v(" "),t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.slot.scale[n],expression:"slot.scale[axis]",modifiers:{number:!0}}],staticClass:"tool disp_range scaleRange",style:{"--color-thumb":"var(--color-axis-"+i.getAxisLetter(n)+")"},attrs:{type:"range",trigger_type:"scale."+n,id:"scale_range_"+n,min:i.slot.scale[n]>1?-2:0,max:i.slot.scale[n]>1?4:2,step:"0.01",value:"0"},domProps:{value:i.slot.scale[n]},on:{input:function(a){return i.change(n,"scale")},mousedown:function(a){return i.start(n,"scale")},change:function(a){return i.save(n,"scale")},__r:function(a){i.$set(i.slot.scale,n,i._n(a.target.value))},blur:function(a){return i.$forceUpdate()}}}),i._v(" "),t("numeric-input",{staticClass:"tool disp_text",attrs:{min:0,max:4,step:.01},on:{input:function(a){return i.change(n,"scale")},change:function(a){i.focusout(n,"scale"),i.save()},mousedown:function(a){return i.start()}},model:{value:i.slot.scale[n],callback:function(a){i.$set(i.slot.scale,n,i._n(a))},expression:"slot.scale[axis]"}})],1)}),i._v(" "),i.isBedrockStyle()&&i.slot.slot_id=="gui"?t("div",{staticClass:"bar",on:{click:function(n){return i.toggleFitToFrame()}}},[t("input",{attrs:{type:"checkbox"},domProps:{checked:i.slot.fit_to_frame==!0}}),i._v(" "),t("label",{staticStyle:{"padding-top":"3px"}},[i._v("Fit to Frame")])]):i._e(),i._v(" "),i.reference_model=="player"?[t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.pose_angle")))])]),i._v(" "),t("div",{staticClass:"bar slider_input_combo"},[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.pose_angle,expression:"pose_angle",modifiers:{number:!0}}],staticClass:"tool disp_range",attrs:{type:"range",min:"-180",max:"180",step:"1"},domProps:{value:i.pose_angle},on:{__r:function(n){i.pose_angle=i._n(n.target.value)},blur:function(n){return i.$forceUpdate()}}}),i._v(" "),t("numeric-input",{staticClass:"tool disp_text",attrs:{min:-180,max:180,step:.5},model:{value:i.pose_angle,callback:function(n){i.pose_angle=i._n(n)},expression:"pose_angle"}})],1)]:i._e(),i._v(" "),i.slot.slot_id=="ground"?[t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.animate_preview")))])]),i._v(" "),t("div",{staticClass:"bar slider_input_combo"},[t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.animate_preview,expression:"animate_preview",modifiers:{number:!0}}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.animate_preview)?i._i(i.animate_preview,null)>-1:i.animate_preview},on:{change:function(n){var a=i.animate_preview,o=n.target,r=!!o.checked;if(Array.isArray(a)){var s=i._n(null),l=i._i(a,s);o.checked?l<0&&(i.animate_preview=a.concat([s])):l>-1&&(i.animate_preview=a.slice(0,l).concat(a.slice(l+1)))}else i.animate_preview=r}}})])]:i._e(),i._v(" "),i.isBedrockStyle()?[t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.rotation_pivot")))]),i._v(" "),t("div",{staticClass:"tool head_right",on:{click:function(n){return i.resetChannel("rotation_pivot")}}},[t("i",{staticClass:"material-icons"},[i._v("replay")])])]),i._v(" "),t("div",{staticClass:"bar display_inline_inputs"},i._l(i.axes,function(n){return t("numeric-input",{key:"rotation_pivot."+n,staticClass:"tool disp_text is_colored",style:{"--corner-color":"var(--color-axis-"+i.getAxisLetter(n)+")"},attrs:{title:i.getAxisLetter(n).toUpperCase(),min:-10,max:10,step:.05},on:{input:function(a){return i.change(n,"rotation_pivot")},change:function(a){i.focusout(n,"rotation_pivot"),i.save()},mousedown:function(a){return i.start()}},model:{value:i.slot.rotation_pivot[n],callback:function(a){i.$set(i.slot.rotation_pivot,n,i._n(a))},expression:"slot.rotation_pivot[axis]"}})}),1),i._v(" "),t("div",{staticClass:"bar display_slot_section_bar"},[t("p",{staticClass:"panel_toolbar_label"},[i._v(i._s(i.tl("display.scale_pivot")))]),i._v(" "),t("div",{staticClass:"tool head_right",on:{click:function(n){return i.resetChannel("scale_pivot")}}},[t("i",{staticClass:"material-icons"},[i._v("replay")])])]),i._v(" "),t("div",{staticClass:"bar display_inline_inputs"},i._l(i.axes,function(n){return t("numeric-input",{key:"scale_pivot."+n,staticClass:"tool disp_text is_colored",style:{"--corner-color":"var(--color-axis-"+i.getAxisLetter(n)+")"},attrs:{title:i.getAxisLetter(n).toUpperCase(),min:-10,max:10,step:.05},on:{input:function(a){return i.change(n,"scale_pivot")},change:function(a){i.focusout(n,"scale_pivot"),i.save()},mousedown:function(a){return i.start()}},model:{value:i.slot.scale_pivot[n],callback:function(a){i.$set(i.slot.scale_pivot,n,i._n(a))},expression:"slot.scale_pivot[axis]"}})}),1)]:i._e()],2)])},zae=[];u5._withStripped=!0;var Eae=void 0,Mae=void 0,Tae=void 0,Aae=!1;function Cae(i,e,t,n,a,o,r,s,l,c){let d=(typeof t=="function"?t.options:t)||{};return d.__file="js/display_mode/DisplayModePanel.vue",d.render||(d.render=i.render,d.staticRenderFns=i.staticRenderFns,d._compiled=!0,a&&(d.functional=!0)),d._scopeId=n,d}var Pae=Cae({render:u5,staticRenderFns:zae},Eae,Sae,Mae,Aae,Tae,!1,void 0,void 0,void 0),p5=Pae;var Bae={display_player:{texture:"assets/player_skin.png",texture_size:[64,64],elements:[{name:"head",size:[8,8,8],pos:[0,28,0],origin:[0,24,0],north:{uv:[8,8,16,16]},east:{uv:[0,8,8,16]},south:{uv:[24,8,32,16]},west:{uv:[16,8,24,16]},up:{uv:[16,8,8,0]},down:{uv:[24,0,16,8]}},{name:"head_layer",size:[9,9,9],pos:[0,28,0],origin:[0,24,0],north:{uv:[40,8,48,16]},east:{uv:[32,8,40,16]},south:{uv:[56,8,64,16]},west:{uv:[48,8,56,16]},up:{uv:[48,8,40,0]},down:{uv:[56,0,48,8]}},{size:[8,12,4],pos:[0,18,0],north:{uv:[20,20,28,32]},east:{uv:[16,20,20,32]},south:{uv:[32,20,40,32]},west:{uv:[28,20,32,32]},up:{uv:[20,20,28,16]},down:{uv:[28,16,36,20]}},{size:[8.5,12.5,4.5],pos:[0,18,0],north:{uv:[20,36,28,48]},east:{uv:[16,36,20,48]},south:{uv:[32,36,40,48]},west:{uv:[28,36,32,48]},up:{uv:[20,36,28,32]},down:{uv:[28,32,36,36]}},{size:[4,12,4],pos:[1.95,6,0],origin:[0,12,0],rotation:[-1,0,0],north:{uv:[4,20,8,32]},east:{uv:[0,20,4,32]},south:{uv:[12,20,16,32]},west:{uv:[8,20,12,32]},up:{uv:[8,20,4,16]},down:{uv:[12,16,8,20]}},{size:[4.5,12.5,4.5],pos:[1.95,6,0],origin:[0,12,0],rotation:[-1,0,0],north:{uv:[4,36,8,48]},east:{uv:[0,36,4,48]},south:{uv:[12,36,16,48]},west:{uv:[8,36,12,48]},up:{uv:[8,36,4,32]},down:{uv:[12,32,8,36]}},{size:[4,12,4],pos:[-1.95,6,0],origin:[0,12,0],rotation:[1,0,0],north:{uv:[20,52,24,64]},east:{uv:[16,52,20,64]},south:{uv:[28,52,32,64]},west:{uv:[24,52,28,64]},up:{uv:[24,52,20,48]},down:{uv:[28,48,24,52]}},{size:[4.5,12.5,4.5],pos:[-1.95,6,0],origin:[0,12,0],rotation:[1,0,0],north:{uv:[4,52,8,64]},east:{uv:[0,52,4,64]},south:{uv:[12,52,16,64]},west:{uv:[8,52,12,64]},up:{uv:[8,52,4,48]},down:{uv:[12,48,8,52]}},{name:"right_arm",size:[4,12,4],pos:[6,18,0],origin:[4,22,0],rotation:[22.5,0,0],north:{uv:[44,20,48,32]},east:{uv:[40,20,44,32]},south:{uv:[52,20,56,32]},west:{uv:[48,20,52,32]},up:{uv:[48,20,44,16]},down:{uv:[52,16,48,20]},model:"steve"},{name:"right_arm_layer",size:[4.5,12.5,4.5],pos:[6,18,0],origin:[4,22,0],rotation:[22.5,0,0],north:{uv:[44,36,48,48]},east:{uv:[40,36,44,48]},south:{uv:[52,36,56,48]},west:{uv:[48,36,52,48]},up:{uv:[48,36,44,32]},down:{uv:[52,32,48,36]},model:"steve"},{name:"left_arm",size:[4,12,4],pos:[-6,18,0],origin:[-4,22,0],rotation:[22.5,0,0],north:{uv:[36,52,40,64]},east:{uv:[32,52,36,64]},south:{uv:[44,52,48,64]},west:{uv:[40,52,44,64]},up:{uv:[40,52,36,48]},down:{uv:[44,48,40,52]},model:"steve"},{name:"left_arm_layer",size:[4.5,12.5,4.5],pos:[-6,18,0],origin:[-4,22,0],rotation:[22.5,0,0],north:{uv:[52,52,56,64]},east:{uv:[48,52,52,64]},south:{uv:[60,52,64,64]},west:{uv:[56,52,60,64]},up:{uv:[56,52,52,48]},down:{uv:[60,48,56,52]},model:"steve"},{name:"right_arm",size:[3,12,4],pos:[5.5,17.5,0],origin:[4,22,0],rotation:[22.5,0,0],north:{uv:[44,20,47,32]},east:{uv:[40,20,44,32]},south:{uv:[51,20,54,32]},west:{uv:[47,20,51,32]},up:{uv:[47,20,44,16]},down:{uv:[50,16,47,20]},model:"alex"},{name:"right_arm_layer",size:[3.5,12.5,4.5],pos:[5.5,17.5,0],origin:[4,22,0],rotation:[22.5,0,0],north:{uv:[44,36,47,48]},east:{uv:[40,36,44,48]},south:{uv:[51,36,54,48]},west:{uv:[47,36,51,48]},up:{uv:[47,36,44,32]},down:{uv:[50,32,47,36]},model:"alex"},{name:"left_arm",size:[3,12,4],pos:[-5.5,17.5,0],origin:[-4,22,0],rotation:[22.5,0,0],north:{uv:[36,52,39,64]},east:{uv:[32,52,36,64]},south:{uv:[43,52,46,64]},west:{uv:[39,52,43,64]},up:{uv:[39,52,36,48]},down:{uv:[42,48,39,52]},model:"alex"},{name:"left_arm_layer",size:[3.5,12.5,4.5],pos:[-5.5,17.5,0],origin:[-4,22,0],rotation:[22.5,0,0],north:{uv:[52,52,55,64]},east:{uv:[48,52,52,64]},south:{uv:[59,52,62,64]},west:{uv:[55,52,59,64]},up:{uv:[55,52,52,48]},down:{uv:[58,48,55,52]},model:"alex"}]},armor_stand:{texture:"assets/armor_stand.png",texture_size:[64,64],elements:[{size:[12,1,12],pos:[0,.5,0],origin:[0,0,0],north:{uv:[12,44,24,45]},east:{uv:[0,44,12,45]},south:{uv:[36,44,48,45]},west:{uv:[24,44,36,45]},up:{uv:[24,44,12,32]},down:{uv:[36,32,24,44]}},{size:[12,3,3],pos:[0,22.5,0],origin:[0,0,0],north:{uv:[3,29,15,32]},east:{uv:[0,29,3,32]},south:{uv:[18,29,30,32]},west:{uv:[15,29,18,32]},up:{uv:[15,29,3,26]},down:{uv:[27,26,15,29]}},{size:[2,7,2],pos:[2,17.5,0],origin:[0,0,0],north:{uv:[18,2,20,9]},east:{uv:[16,2,18,9]},south:{uv:[22,2,24,9]},west:{uv:[20,2,22,9]},up:{uv:[20,2,18,0]},down:{uv:[22,0,20,2]}},{size:[2,7,2],pos:[-2,17.5,0],origin:[0,0,0],north:{uv:[50,18,52,25]},east:{uv:[48,18,50,25]},south:{uv:[54,18,56,25]},west:{uv:[52,18,54,25]},up:{uv:[52,18,50,16]},down:{uv:[54,16,52,18]}},{size:[8,2,2],pos:[0,13,0],origin:[0,0,0],north:{uv:[2,50,10,52]},east:{uv:[0,50,2,52]},south:{uv:[12,50,20,52]},west:{uv:[10,50,12,52]},up:{uv:[10,50,2,48]},down:{uv:[18,48,10,50]}},{size:[2,7,2],pos:[0,26.5,0],origin:[0,0,0],north:{uv:[2,2,4,9]},east:{uv:[0,2,2,9]},south:{uv:[6,2,8,9]},west:{uv:[4,2,6,9]},up:{uv:[4,2,2,0]},down:{uv:[6,0,4,2]}},{size:[2,12,2],pos:[-6,18,0],origin:[0,0,0],north:{uv:[36,18,34,30]},east:{uv:[38,18,36,30]},south:{uv:[40,18,38,30]},west:{uv:[34,18,32,30]},up:{uv:[34,18,36,16]},down:{uv:[36,16,38,18]}},{size:[2,11,2],pos:[-1.9,6.5,0],origin:[0,0,0],north:{uv:[44,18,42,29]},east:{uv:[46,18,44,29]},south:{uv:[48,18,46,29]},west:{uv:[42,18,40,29]},up:{uv:[42,18,44,16]},down:{uv:[44,16,46,18]}},{size:[2,12,2],pos:[6,18,0],origin:[0,0,0],north:{uv:[26,2,28,14]},east:{uv:[24,2,26,14]},south:{uv:[30,2,32,14]},west:{uv:[28,2,30,14]},up:{uv:[28,2,26,0]},down:{uv:[30,0,28,2]}},{size:[2,11,2],pos:[1.9,6.5,0],origin:[0,0,0],north:{uv:[10,2,12,13]},east:{uv:[8,2,10,13]},south:{uv:[14,2,16,13]},west:{uv:[12,2,14,13]},up:{uv:[12,2,10,0]},down:{uv:[14,0,12,2]}}]},armor_stand_small:{texture:"assets/armor_stand.png",texture_size:[64,64],elements:[{size:[6,.5,6],pos:[0,.25,0],origin:[0,0,0],north:{uv:[12,44,24,45]},east:{uv:[0,44,12,45]},south:{uv:[36,44,48,45]},west:{uv:[24,44,36,45]},up:{uv:[24,44,12,32]},down:{uv:[36,32,24,44]}},{size:[6,1.5,1.5],pos:[0,11.25,0],origin:[0,0,0],north:{uv:[3,29,15,32]},east:{uv:[0,29,3,32]},south:{uv:[18,29,30,32]},west:{uv:[15,29,18,32]},up:{uv:[15,29,3,26]},down:{uv:[27,26,15,29]}},{size:[1,3.5,1],pos:[1,8.75,0],origin:[0,0,0],north:{uv:[18,2,20,9]},east:{uv:[16,2,18,9]},south:{uv:[22,2,24,9]},west:{uv:[20,2,22,9]},up:{uv:[20,2,18,0]},down:{uv:[22,0,20,2]}},{size:[1,3.5,1],pos:[-1,8.75,0],origin:[0,0,0],north:{uv:[50,18,52,25]},east:{uv:[48,18,50,25]},south:{uv:[54,18,56,25]},west:{uv:[52,18,54,25]},up:{uv:[52,18,50,16]},down:{uv:[54,16,52,18]}},{size:[4,1,1],pos:[0,6.5,0],origin:[0,0,0],north:{uv:[2,50,10,52]},east:{uv:[0,50,2,52]},south:{uv:[12,50,20,52]},west:{uv:[10,50,12,52]},up:{uv:[10,50,2,48]},down:{uv:[18,48,10,50]}},{size:[1.5,5.25,1.48],pos:[0,13.875,0],origin:[0,12,0],north:{uv:[2,2,4,9]},east:{uv:[0,2,2,9]},south:{uv:[6,2,8,9]},west:{uv:[4,2,6,9]},up:{uv:[4,2,2,0]},down:{uv:[6,0,4,2]}},{size:[1,6,1],pos:[-3,9,0],origin:[0,0,0],north:{uv:[36,18,34,30]},east:{uv:[38,18,36,30]},south:{uv:[40,18,38,30]},west:{uv:[34,18,32,30]},up:{uv:[34,18,36,16]},down:{uv:[36,16,38,18]}},{size:[1,5.5,1],pos:[-.95,3.25,0],origin:[0,0,0],north:{uv:[44,18,42,29]},east:{uv:[46,18,44,29]},south:{uv:[48,18,46,29]},west:{uv:[42,18,40,29]},up:{uv:[42,18,44,16]},down:{uv:[44,16,46,18]}},{size:[1,6,1],pos:[3,9,0],origin:[0,0,0],north:{uv:[26,2,28,14]},east:{uv:[24,2,26,14]},south:{uv:[30,2,32,14]},west:{uv:[28,2,30,14]},up:{uv:[28,2,26,0]},down:{uv:[30,0,28,2]}},{size:[1,5.5,1],pos:[.95,3.25,0],origin:[0,0,0],north:{uv:[10,2,12,13]},east:{uv:[8,2,10,13]},south:{uv:[14,2,16,13]},west:{uv:[12,2,14,13]},up:{uv:[12,2,10,0]},down:{uv:[14,0,12,2]}}]},fox:{texture:"assets/fox.png",texture_size:[32,32],elements:[{size:[8,6,6],pos:[0,4,0],origin:[0,0,0],north:{uv:[7,11,15,17]},east:{uv:[1,11,7,17]},south:{uv:[21,11,29,17]},west:{uv:[15,11,21,17]},up:{uv:[15,11,7,5]},down:{uv:[23,5,15,11]}},{size:[4,2,3],pos:[0,2,-4.5],origin:[0,0,0],north:{uv:[9,21,13,23]},east:{uv:[6,21,9,23]},south:{uv:[16,21,20,23]},west:{uv:[13,21,16,23]},up:{uv:[13,21,9,18]},down:{uv:[17,18,13,21]}},{size:[2,2,1],pos:[3,8,-1.5],origin:[0,0,0],north:{uv:[9,2,11,4]},east:{uv:[8,2,9,4]},south:{uv:[12,2,14,4]},west:{uv:[11,2,12,4]},up:{uv:[11,2,9,1]},down:{uv:[13,1,11,2]}},{size:[2,2,1],pos:[-3,8,-1.5],origin:[0,0,0],north:{uv:[16,2,18,4]},east:{uv:[15,2,16,4]},south:{uv:[19,2,21,4]},west:{uv:[18,2,19,4]},up:{uv:[18,2,16,1]},down:{uv:[20,1,18,2]}}]},zombie:{texture:"assets/zombie.png",elements:[{size:[4,12,4],pos:[0,0,-2],origin:[0,0,0],north:{uv:[.01,5.01,.99,7.99],texture:"#1"},east:{uv:[3.01,5.01,3.99,7.99],texture:"#1"},south:{uv:[2.01,5.01,2.99,7.99],texture:"#1"},west:{uv:[1.01,5.01,1.99,7.99],texture:"#1"},up:{uv:[1.01,4.01,1.99,4.99],texture:"#1",rotation:90},down:{uv:[2.01,4.01,2.99,4.99],texture:"#1",rotation:90}},{size:[4,12,4],pos:[0,0,2],origin:[0,0,0],north:{uv:[4.01,13.01,4.99,15.99],texture:"#1"},east:{uv:[8.01,13.01,6.99,15.99],texture:"#1"},south:{uv:[6.01,13.01,6.99,15.99],texture:"#1"},west:{uv:[5.01,13.01,5.99,15.99],texture:"#1"},up:{uv:[5.01,12.01,5.99,12.99],texture:"#1",rotation:90},down:{uv:[6.01,12.01,6.99,12.99],texture:"#1",rotation:90}},{size:[4,12,8],pos:[0,12,0],origin:[0,0,0],north:{uv:[4.01,5.01,4.99,7.99],texture:"#1"},east:{uv:[8.01,5.01,9.99,7.99],texture:"#1"},south:{uv:[7.01,5.01,7.99,7.99],texture:"#1"},west:{uv:[5.01,5.01,6.99,7.99],texture:"#1"},up:{uv:[5.01,4.01,6.99,4.99],texture:"#1",rotation:90},down:{uv:[7.01,4.01,8.99,4.99],texture:"#1",rotation:270}},{size:[8,8,8],pos:[0,22,0],origin:[0,0,0],north:{uv:[.01,2.01,1.99,3.99],texture:"#1"},east:{uv:[6.01,2.01,7.99,3.99],texture:"#1"},south:{uv:[4.01,2.01,5.99,3.99],texture:"#1"},west:{uv:[2.01,2.01,3.99,3.99],texture:"#1"},up:{uv:[2.01,.01,3.99,1.99],texture:"#1",rotation:90},down:{uv:[4.01,.01,5.99,1.99],texture:"#1",rotation:90}},{size:[12,4,4],pos:[-4,16,-6],origin:[0,0,0],north:{uv:[12.01,5.01,12.99,7.99],texture:"#1",rotation:270},east:{uv:[11.01,4.01,11.99,4.99],texture:"#1",rotation:180},south:{uv:[10.01,5.01,10.99,7.99],texture:"#1",rotation:90},west:{uv:[12.01,4.01,12.99,4.99],texture:"#1",rotation:180},up:{uv:[11.01,5.01,11.99,7.99],texture:"#1",rotation:90},down:{uv:[13.01,5.01,13.99,7.99],texture:"#1",rotation:90}},{size:[12,4,4],pos:[-4,16,6],origin:[0,0,0],north:{uv:[10.01,13.01,10.99,15.99],texture:"#1",rotation:270},east:{uv:[9.01,12.01,9.99,12.99],texture:"#1",rotation:180},south:{uv:[8.01,13.01,8.99,15.99],texture:"#1",rotation:90},west:{uv:[10.01,12.01,10.99,12.99],texture:"#1",rotation:180},up:{uv:[9.01,13.01,9.99,15.99],texture:"#1",rotation:90},down:{uv:[11.01,13.01,11.99,15.99],texture:"#1",rotation:90}}]},baby_zombie:{texture:"assets/zombie.png",elements:[{size:[2,6,2],pos:[-2220446049250313e-31,-3,-1],origin:[0,0,0],north:{uv:[.01,5.01,.99,7.99],texture:"#1"},east:{uv:[3.01,5.01,3.99,7.99],texture:"#1"},south:{uv:[2.01,5.01,2.99,7.99],texture:"#1"},west:{uv:[1.01,5.01,1.99,7.99],texture:"#1"},up:{uv:[1.01,4.01,1.99,4.99],texture:"#1",rotation:90},down:{uv:[2.01,4.01,2.99,4.99],texture:"#1",rotation:90}},{size:[2,6,2],pos:[-2220446049250313e-31,-3,1],origin:[0,0,0],north:{uv:[4.01,13.01,4.99,15.99],texture:"#1"},east:{uv:[8.01,13.01,6.99,15.99],texture:"#1"},south:{uv:[6.01,13.01,6.99,15.99],texture:"#1"},west:{uv:[5.01,13.01,5.99,15.99],texture:"#1"},up:{uv:[5.01,12.01,5.99,12.99],texture:"#1",rotation:90},down:{uv:[6.01,12.01,6.99,12.99],texture:"#1",rotation:90}},{size:[2,6,4],pos:[-2220446049250313e-31,3,0],origin:[0,0,0],north:{uv:[4.01,5.01,4.99,7.99],texture:"#1"},east:{uv:[8.01,5.01,9.99,7.99],texture:"#1"},south:{uv:[7.01,5.01,7.99,7.99],texture:"#1"},west:{uv:[5.01,5.01,6.99,7.99],texture:"#1"},up:{uv:[5.01,4.01,6.99,4.99],texture:"#1",rotation:90},down:{uv:[7.01,4.01,8.99,4.99],texture:"#1",rotation:270}},{size:[6,6,6],pos:[0,9,0],origin:[0,9,0],north:{uv:[.01,2.01,1.99,3.99],texture:"#1"},east:{uv:[6.01,2.01,7.99,3.99],texture:"#1"},south:{uv:[4.01,2.01,5.99,3.99],texture:"#1"},west:{uv:[2.01,2.01,3.99,3.99],texture:"#1"},up:{uv:[2.01,.01,3.99,1.99],texture:"#1",rotation:90},down:{uv:[4.01,.01,5.99,1.99],texture:"#1",rotation:90}},{size:[6,2,2],pos:[-2.000000000000001,5,-3],origin:[0,0,0],north:{uv:[12.01,5.01,12.99,7.99],texture:"#1",rotation:270},east:{uv:[11.01,4.01,11.99,4.99],texture:"#1",rotation:180},south:{uv:[10.01,5.01,10.99,7.99],texture:"#1",rotation:90},west:{uv:[12.01,4.01,12.99,4.99],texture:"#1",rotation:180},up:{uv:[11.01,5.01,11.99,7.99],texture:"#1",rotation:90},down:{uv:[13.01,5.01,13.99,7.99],texture:"#1",rotation:90}},{size:[6,2,2],pos:[-2.000000000000001,5,3],origin:[0,0,0],north:{uv:[10.01,13.01,10.99,15.99],texture:"#1",rotation:270},east:{uv:[9.01,12.01,9.99,12.99],texture:"#1",rotation:180},south:{uv:[8.01,13.01,8.99,15.99],texture:"#1",rotation:90},west:{uv:[10.01,12.01,10.99,12.99],texture:"#1",rotation:180},up:{uv:[9.01,13.01,9.99,15.99],texture:"#1",rotation:90},down:{uv:[11.01,13.01,11.99,15.99],texture:"#1",rotation:90}}]},monitor:{texture:"black",elements:[{size:[8,8,.1],pos:[0,28.93,31.2],origin:[0,0,0],north:{uv:[0,0,0,0]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,16,16]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}},{size:[8,8,.1],pos:[0,19.07,31.2],origin:[0,0,0],north:{uv:[0,0,0,0]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,16,16]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}},{size:[8,8,.1],pos:[5.65,24,31.2],origin:[0,0,0],north:{uv:[0,0,0,0]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,16,16]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}},{size:[8,8,.1],pos:[-5.65,24,31.2],origin:[0,0,0],north:{uv:[0,0,0,0]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,16,16]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}}]},block:{texture:"assets/missing.png",elements:[{size:[16,16,16],pos:[8,-7.98,8],origin:[0,0,0],north:{uv:[0,0,16,16]},east:{uv:[0,0,16,16]},south:{uv:[0,0,16,16]},west:{uv:[0,0,16,16]},up:{uv:[0,0,16,16]},down:{uv:[0,0,16,16]}}]},frame_block:{texture:"assets/missing.png",elements:[{size:[16,16,16],pos:[8,8,8],origin:[0,0,0],north:{uv:[0,0,16,16]},east:{uv:[0,0,16,16]},south:{uv:[0,0,16,16]},west:{uv:[0,0,16,16]},up:{uv:[0,0,16,16]},down:{uv:[0,0,16,16]}}]},flower_pot:{texture:"assets/flower_pot.png",elements:[{size:[6,6,6],pos:[0,3,0],origin:[0,0,0],north:{uv:[0,10,6,16]},east:{uv:[0,10,6,16]},south:{uv:[0,10,6,16]},west:{uv:[0,10,6,16]},up:{uv:[0,5,6,11]},down:{uv:[0,10,6,16]}},{size:[6,0,6],pos:[0,4,0],origin:[0,0,0],up:{uv:[10,0,16,6]},down:{uv:[0,0,1,1]}}]},frame:{texture:"assets/item_frame.png",elements:[{size:[10,10,.5],pos:[8,8,-.25],origin:[0,0,0],north:{uv:[3,3,13,13]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,0,0]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}},{size:[1,12,1],pos:[13.5,8,-.5],origin:[0,0,0],north:{uv:[2,2,3,14]},east:{uv:[2,2,3,14]},south:{uv:[2,2,3,14]},west:{uv:[2,2,3,14]},up:{uv:[2,2,3,3]},down:{uv:[2,2,3,3]}},{size:[1,12,1],pos:[2.5,8,-.5],origin:[0,0,0],north:{uv:[2,2,3,14]},east:{uv:[2,2,3,14]},south:{uv:[2,2,3,14]},west:{uv:[2,2,3,14]},up:{uv:[2,2,3,3]},down:{uv:[2,2,3,3]}},{size:[10,1,1],pos:[8,13.5,-.5],origin:[0,0,0],north:{uv:[3,2,13,3]},east:{uv:[3,2,13,3]},south:{uv:[3,2,13,3]},west:{uv:[3,2,13,3]},up:{uv:[3,2,13,3]},down:{uv:[3,2,13,3]}},{size:[10,1,1],pos:[8,2.5,-.5],origin:[0,0,0],north:{uv:[3,13,13,14]},east:{uv:[3,13,13,14]},south:{uv:[3,13,13,14]},west:{uv:[3,13,13,14]},up:{uv:[3,13,13,14]},down:{uv:[3,13,13,14]}}]},frame_top_block:{texture:"assets/missing.png",elements:[{size:[16,16,16],pos:[8,-8.01,8],origin:[0,0,0],north:{uv:[0,0,16,16]},east:{uv:[0,0,16,16]},south:{uv:[0,0,16,16]},west:{uv:[0,0,16,16]},up:{uv:[0,0,16,16]},down:{uv:[0,0,16,16]}}]},frame_top:{texture:"assets/item_frame.png",elements:[{rotation:[90,0,0],size:[10,10,.5],pos:[8,-8,-.25],origin:[8,-8,8],north:{uv:[3,3,13,13]},east:{uv:[0,0,0,0]},south:{uv:[0,0,0,0]},west:{uv:[0,0,0,0]},up:{uv:[0,0,0,0]},down:{uv:[0,0,0,0]}},{rotation:[90,0,0],size:[1,12,1],pos:[13.5,-8,-.5],origin:[8,-8,8],north:{uv:[2,2,3,14]},east:{uv:[2,2,3,14]},south:{uv:[2,2,3,14]},west:{uv:[2,2,3,14]},up:{uv:[2,2,3,3]},down:{uv:[2,2,3,3]}},{rotation:[90,0,0],size:[1,12,1],pos:[2.5,-8,-.5],origin:[8,-8,8],north:{uv:[2,2,3,14]},east:{uv:[2,2,3,14]},south:{uv:[2,2,3,14]},west:{uv:[2,2,3,14]},up:{uv:[2,2,3,3]},down:{uv:[2,2,3,3]}},{rotation:[90,0,0],size:[10,1,1],pos:[8,-2.5,-.5],origin:[8,-8,8],north:{uv:[3,2,13,3]},east:{uv:[3,2,13,3]},south:{uv:[3,2,13,3]},west:{uv:[3,2,13,3]},up:{uv:[3,2,13,3]},down:{uv:[3,2,13,3]}},{rotation:[90,0,0],size:[10,1,1],pos:[8,-13.5,-.5],origin:[8,-8,8],north:{uv:[3,13,13,14]},east:{uv:[3,13,13,14]},south:{uv:[3,13,13,14]},west:{uv:[3,13,13,14]},up:{uv:[3,13,13,14]},down:{uv:[3,13,13,14]}}]},shelf:{texture:"assets/oak_shelf.png",elements:[{size:[16,16,3],pos:[8,8,14.5],origin:[0,0,0],north:{uv:[0,0,8,8]},east:{uv:[8,0,9.5,8]},south:{uv:[8,0,16,8]},west:{uv:[14.5,0,16,8]},up:{uv:[16,5,8,3.5]},down:{uv:[16,6,8,4.5]}},{size:[16,4,2],pos:[8,2,12],origin:[0,0,0],north:{uv:[0,6,8,8]},east:{uv:[1.5,6,2.5,8]},south:{uv:[0,0,0,0]},west:{uv:[5.5,6,6.5,8]},up:{uv:[8,3.5,16,4.5]},down:{uv:[16,4.5,8,3.5]}},{size:[16,4,2],pos:[8,14,12],origin:[0,0,0],north:{uv:[0,0,8,2]},east:{uv:[1.5,0,2.5,2]},south:{uv:[0,0,0,0]},west:{uv:[5.5,0,6.5,2]},up:{uv:[16,6,8,5]},down:{uv:[8,5,16,6]}}]}},Za=Bae;var uy=0,cp,In,uo=null,Li=null,_t={display_slot:"thirdperson_righthand",animate_preview:!0},_f=class{constructor(e,t){this.slot_id=e,this.default(),t&&this.extend(t)}default(){return this.rotation=[0,0,0],this.translation=[0,0,0],this.scale=[1,1,1],this.rotation_pivot=[0,0,0],this.scale_pivot=[0,0,0],this.mirror=[!1,!1,!1],this.fit_to_frame=!1,this}copy(){return{rotation:this.rotation.slice(),translation:this.translation.slice(),scale:this.scale.slice(),rotation_pivot:this.rotation_pivot.slice(),scale_pivot:this.scale_pivot.slice(),mirror:this.mirror.slice(),fit_to_frame:this.fit_to_frame}}export(){let e={},t=Format.id=="bedrock_block";if((t||!this.rotation.allEqual(0))&&(e.rotation=this.rotation),(t||!this.translation.allEqual(0))&&(e.translation=this.translation),t||!this.scale.allEqual(1)||!this.mirror.allEqual(!1)){if(e.scale=this.scale.slice(),!this.mirror.allEqual(!1))for(let n=0;n<3;n++)e.scale[n]*=this.mirror[n]?-1:1;Format.id=="bedrock_block"&&(e.scale=e.scale.map(Math.abs))}if((t||!this.rotation_pivot.allEqual(0))&&(e.rotation_pivot=this.rotation_pivot),(t||!this.scale_pivot.allEqual(0))&&(e.scale_pivot=this.scale_pivot),Object.keys(e).length)return e}exportBedrock(){if(!(!this.rotation.allEqual(0)||!this.translation.allEqual(0)||!this.scale.allEqual(1)||!this.mirror.allEqual(!1)||this.fit_to_frame&&this.slot_id=="gui"))return;let t={rotation:this.rotation.slice(),translation:this.translation.slice(),scale:this.scale.slice(),rotation_pivot:this.rotation_pivot,scale_pivot:this.scale_pivot};if(this.slot_id=="gui"&&(t.fit_to_frame=this.fit_to_frame),!this.mirror.allEqual(!1))for(let n=0;n<3;n++)t.scale[n]*=this.mirror[n]?-1:1;return t}extend(e){if(!e)return this;for(var t=0;t<3;t++)e.rotation&&Merge.number(this.rotation,e.rotation,t),e.mirror&&Merge.boolean(this.mirror,e.mirror,t),e.scale&&Merge.number(this.scale,e.scale,t),e.translation&&Merge.number(this.translation,e.translation,t),e.rotation_pivot&&Merge.number(this.rotation_pivot,e.rotation_pivot,t),e.scale_pivot&&Merge.number(this.scale_pivot,e.scale_pivot,t),this.scale[t]=Math.abs(this.scale[t]),this.rotation[t]=Math.trimDeg(this.rotation[t]),e.scale&&e.scale[t]<0&&(this.mirror[t]=!0);return typeof e.fit_to_frame=="boolean"&&(this.fit_to_frame=e.fit_to_frame),this.update(),this}update(){return Modes.display&&this===_t.slot&&(_t.vue.$forceUpdate(),_t.updateDisplayBase()),this}};cp=[{id:"item",fixed:!0,areas:{ground:{rotation:[0,0,0],translation:[0,2,0],scale:[.5,.5,.5]},head:{rotation:[0,180,0],translation:[0,13,7],scale:[1,1,1]},on_shelf:{rotation:[0,180,0],translation:[0,0,0],scale:[1,1,1]},thirdperson_righthand:{rotation:[0,0,0],translation:[0,3,1],scale:[.55,.55,.55]},thirdperson_lefthand:{rotation:[0,0,0],translation:[0,3,1],scale:[.55,.55,.55]},firstperson_righthand:{rotation:[0,-90,25],translation:[1.13,3.2,1.13],scale:[.68,.68,.68]},firstperson_lefthand:{rotation:[0,-90,25],translation:[1.13,3.2,1.13],scale:[.68,.68,.68]},fixed:{rotation:[0,180,0],translation:[0,0,0],scale:[1,1,1]}}},{id:"block",fixed:!0,areas:{gui:{rotation:[30,225,0],translation:[0,0,0],scale:[.625,.625,.625]},ground:{rotation:[0,0,0],translation:[0,3,0],scale:[.25,.25,.25]},fixed:{rotation:[0,0,0],translation:[0,0,0],scale:[.5,.5,.5]},thirdperson_righthand:{rotation:[75,45,0],translation:[0,2.5,0],scale:[.375,.375,.375]},thirdperson_lefthand:{rotation:[75,45,0],translation:[0,2.5,0],scale:[.375,.375,.375]},firstperson_righthand:{rotation:[0,45,0],translation:[0,0,0],scale:[.4,.4,.4]},firstperson_lefthand:{rotation:[0,225,0],translation:[0,0,0],scale:[.4,.4,.4]}}},{id:"handheld",fixed:!0,areas:{thirdperson_righthand:{rotation:[0,-90,55],translation:[0,4,.5],scale:[.85,.85,.85]},thirdperson_lefthand:{rotation:[0,90,-55],translation:[0,4,.5],scale:[.85,.85,.85]},firstperson_righthand:{rotation:[0,-90,25],translation:[1.13,3.2,1.13],scale:[.68,.68,.68]},firstperson_lefthand:{rotation:[0,90,-25],translation:[1.13,3.2,1.13],scale:[.68,.68,.68]}}},{id:"rod",fixed:!0,areas:{thirdperson_righthand:{rotation:[0,90,55],translation:[0,4,2.5],scale:[.85,.85,.85]},thirdperson_lefthand:{rotation:[0,-90,-55],translation:[0,4,2.5],scale:[.85,.85,.85]},firstperson_righthand:{rotation:[0,90,25],translation:[0,1.6,.8],scale:[.68,.68,.68]},firstperson_lefthand:{rotation:[0,-90,-25],translation:[0,1.6,.8],scale:[.68,.68,.68]}}},{id:"armor_stand",fixed:!0,areas:{thirdperson_righthand:{rotation:[90,0,0],translation:[-6,-2,-4],scale:[1,1,1]},thirdperson_lefthand:{rotation:[90,0,0],translation:[-6,-2,-4],scale:[1,1,1]},head:{rotation:[0,0,0],translation:[0,-30.4,0],scale:[1.6,1.6,1.6]}}}];localStorage.getItem("display_presets")!=null&&(m5=JSON.parse(localStorage.getItem("display_presets")),$.extend(cp,m5));var m5,Ra=class{constructor(e,t=0){var n=this;switch(this.model=new Ve.Object3D,this.name=tl("display.reference."+e),this.id=e,this.icon=t.icon||e,this.models=t.models||[],this.condition=t.condition,this.initialized=!1,this.pose_angles={},e){case"player":this.pose_angles.thirdperson_righthand=22.5,this.pose_angles.thirdperson_lefthand=22.5,this.pose_angles.head=0,this.updateBasePosition=function(){let a=_t.display_slot,o=Math.degToRad(n.pose_angles[a]||0),r=n.variant==="alex"?5.5:6,s=22-Math.cos(o)*10+Math.sin(o)*2,l=Math.sin(o)*10+Math.cos(o)*2;a==="thirdperson_righthand"?qn(r,s,-l,-90+n.pose_angles[a],0,0,1,1,1):a==="thirdperson_lefthand"?qn(-r,s,-l,-90+n.pose_angles[a],0,0,1,1,1):a==="head"&&qn(0,24+Math.cos(o)*4,Math.sin(o)*4,n.pose_angles[a],0,0,.625,.625,.625),this.model.children.forEach(c=>{a==="thirdperson_righthand"&&c.name.match(/^right_arm/)&&(c.rotation.x=o),a==="thirdperson_lefthand"&&c.name.match(/^left_arm/)&&(c.rotation.x=o),a==="head"&&c.name.match(/^head/)&&(c.rotation.x=o)})};break;case"armor_stand":this.updateBasePosition=function(){let a=_t.display_slot;a==="thirdperson_righthand"?qn(6,12,-2,-90,0,0,1,1,1):a==="thirdperson_lefthand"?qn(-6,12,-2,-90,0,0,1,1,1):a==="head"&&qn(0,27,0,0,0,0,.625,.625,.625)};break;case"armor_stand_small":this.updateBasePosition=function(){let a=_t.display_slot;a==="thirdperson_righthand"?qn(3,6,-1,-90,0,0,.5,.5,.5):a==="thirdperson_lefthand"?qn(-3,6,-1,-90,0,0,.5,.5,.5):a==="head"&&qn(0,14.5,0,0,0,0,.4635,.4635,.4635)};break;case"fox":this.updateBasePosition=function(){qn(0,0,-6,90,180,0,1,1,1)};break;case"block":this.updateBasePosition=function(){qn(8,4,8,0,0,0,1,1,1)};break;case"zombie":this.updateBasePosition=function(){let a=_t.display_slot;a==="thirdperson_righthand"?qn(-10,18,-6,-90,90,90,1,1,1):a==="thirdperson_lefthand"?qn(-10,18,6,-90,90,90,1,1,1):a==="head"&&qn(0,22,0,0,90,0,.625,.625,.625)};break;case"baby_zombie":this.updateBasePosition=function(){let a=_t.display_slot;a==="thirdperson_righthand"?qn(-5,6,-3,-90,90,90,.5,.5,.5):a==="thirdperson_lefthand"?qn(-5,6,3,-90,90,90,.5,.5,.5):a==="head"&&qn(0,8.5,0,0,90,0,.4635,.4635,.4635)};break;case"monitor":this.updateBasePosition=function(){var a=_t.display_slot.includes("left")?-1:1;qn(a*9.039,-8.318+24,20.8,0,0,0,1,1,1)};break;case"flower_pot":this.updateBasePosition=function(){qn(0,12,0,0,0,0,1,1,1)};break;case"frame":this.updateBasePosition=function(){qn(8,8,-1,0,0,0,.5,.5,.5)};break;case"frame_invisible":this.updateBasePosition=function(){qn(8,8,0,0,0,0,.5,.5,.5)};break;case"frame_top":this.updateBasePosition=function(){qn(8,1,8,90,0,0,.5,.5,.5)};break;case"frame_top_invisible":this.updateBasePosition=function(){qn(8,0,8,90,0,0,.5,.5,.5)};break;case"shelf_left":this.updateBasePosition=function(){let a=7.75+(Project.shelf_align_bottom?-1.75:0);qn(13,a,12,0,180,0,.25,.25,.25)};break;case"shelf":this.updateBasePosition=function(){let a=7.75+(Project.shelf_align_bottom?-1.75:0);qn(8,a,12,0,180,0,.25,.25,.25),this.shelf_displays||(this.shelf_displays=[],this.shelf_groups=[],[-20,20].forEach((o,r)=>{let s=new Ve.Object3D;s.name=`shelf_display_base_${r}`,uo.add(s),this.shelf_groups.push(s),this.shelf_displays.push(s)})),this.shelf_displays&&this.shelf_displays.length===2&&this.shelf_displays.forEach((o,r)=>{let s=new Ve.Vector3(r===0?-20:20,0,0);o.children.length!==Li.children.length&&(o.children.forEach(m=>o.remove(m)),Li.children.forEach(m=>{let _=m.clone();o.add(_)}));let l=Li.position.clone().add(s),c=new Ve.Matrix4,d=new Ve.Matrix4().makeScale(Li.scale.x,Li.scale.y,Li.scale.z),u=new Ve.Matrix4().makeRotationFromEuler(Li.rotation),p=new Ve.Matrix4().makeTranslation(l.x,l.y,l.z);c.multiplyMatrices(p,u),c.multiply(d),o.matrix.copy(c),o.matrixAutoUpdate=!1,o.matrixWorldNeedsUpdate=!0})};break;case"shelf_center":this.updateBasePosition=function(){let a=7.75+(Project.shelf_align_bottom?-1.75:0);qn(8,a,12,0,180,0,.25,.25,.25)};break;case"shelf_right":this.updateBasePosition=function(){let a=7.75+(Project.shelf_align_bottom?-1.75:0);qn(3,a,12,0,180,0,.25,.25,.25)};break;case"bow":this.updateBasePosition=function(){var a=_t.display_slot.includes("left")?-1:1;qn(a*4.2,-4.9+24,25,-20,-19,-8,1,1,1)};break;case"crossbow":this.updateBasePosition=function(){var a=_t.display_slot.includes("left")?-1:1;qn(a*-1.2,-6.75+24,23,0,a*10,0,1,1,1)};break;case"eating":this.updateBasePosition=function(){var a=_t.display_slot.includes("left")?-1:1;_t.setBase(a*-1.7,-6.1+24,23.4,-92,a*100,a*119,.8,.8,.8)};break;case"tooting":this.updateBasePosition=function(){var a=_t.display_slot.includes("left")?-1:1;qn(a==1?-2.7:2.1,20.1,Format.id.includes("bedrock")?24.5:25.6,36,a*21.5,a*-12,1,1,1)};break}}buildModel(e){let{elements:t,texture:n,texture_size:a}=e;a||(a=[16,16]);var o=this;if(n==="black")var r=new Ve.MeshBasicMaterial({color:1052691});else{var s=new Image;s.src=n;var l=new Ve.Texture(s);s.tex=l,s.tex.magFilter=Ve.NearestFilter,s.tex.minFilter=Ve.NearestFilter,s.onload=function(){this.tex.needsUpdate=!0},s.crossOrigin="";var r=new Ve.ShaderMaterial({uniforms:{map:{type:"t",value:l},SHADE:{type:"bool",value:settings.shading.value},LIGHTCOLOR:{type:"vec3",value:new Ve.Color().copy(Canvas.global_light_color).multiplyScalar(settings.brightness.value/50)},LIGHTSIDE:{type:"int",value:Canvas.global_light_side},EMISSIVE:{type:"bool",value:!1}},vertexShader:Po(E1),fragmentShader:Po(M1),side:Ve.DoubleSide,transparent:!0});r.map=l}return o.material=r,t.forEach(function(c){var d=new Ve.Mesh(new Ve.BoxGeometry(c.size[0],c.size[1],c.size[2]),r);c.origin&&(d.position.set(c.origin[0],c.origin[1],c.origin[2]),d.geometry.translate(-c.origin[0],-c.origin[1],-c.origin[2])),d.geometry.translate(c.pos[0],c.pos[1],c.pos[2]),c.rotation&&d.rotation.setFromDegreeArray(c.rotation),c.model&&(d.r_model=c.model),d.name=c.name||"";function u(_){for(var f=[[_.uv[0]/a[0],1-_.uv[1]/a[1]],[_.uv[2]/a[0],1-_.uv[1]/a[1]],[_.uv[0]/a[0],1-_.uv[3]/a[1]],[_.uv[2]/a[0],1-_.uv[3]/a[1]]],g=_.rotation+0;g>0;){let v=f[0];f[0]=f[2],f[2]=f[3],f[3]=f[1],f[1]=v,g=g-90}return f}for(var p in c)if(c.hasOwnProperty(p)&&c[p].uv!==void 0){var m=0;switch(p){case"north":m=10;break;case"east":m=0;break;case"south":m=8;break;case"west":m=2;break;case"up":m=4;break;case"down":m=6;break}let _=u(c[p]);d.geometry.attributes.uv.array.set(_[0],m*4+0),d.geometry.attributes.uv.array.set(_[1],m*4+2),d.geometry.attributes.uv.array.set(_[2],m*4+4),d.geometry.attributes.uv.array.set(_[3],m*4+6),d.geometry.attributes.uv.needsUpdate=!0}o.model.add(d)}),o.model.name=name,this}setModelVariant(e){this.variant=e,this.model.children.forEach(t=>{t.r_model&&(t.visible=t.r_model===e)}),Modes.display&&cn.active===this&&this.updateBasePosition()}load(e){if(cn.ref_indexes[_t.display_slot]=e||0,cn.clear(),typeof this.updateBasePosition=="function"&&this.updateBasePosition(),!this.initialized){for(let t of this.models)this.buildModel(t);this.id=="player"&&(this.setModelVariant("steve"),py()),this.initialized=!0}scene.add(this.model),cn.active=this,_t.vue.pose_angle=this.pose_angles[_t.display_slot]||0,_t.vue.reference_model=this.id,_t.display_slot=="ground"&&(Canvas.ground_animation=this.id!="fox"),ReferenceImage.updateAll()}},cn={refmodels:{player:new Ra("player",{icon:"icon-player",models:[Za.display_player]}),zombie:new Ra("zombie",{icon:"icon-zombie",models:[Za.zombie]}),armor_stand:new Ra("armor_stand",{icon:"icon-armor_stand",models:[Za.armor_stand]}),baby_zombie:new Ra("baby_zombie",{icon:"icon-baby_zombie",models:[Za.baby_zombie]}),armor_stand_small:new Ra("armor_stand_small",{icon:"icon-armor_stand_small",models:[Za.armor_stand_small]}),fox:new Ra("fox",{icon:"pets",condition:{formats:["java_block"]},models:[Za.fox]}),monitor:new Ra("monitor",{icon:"fa-asterisk",models:[Za.monitor]}),bow:new Ra("bow",{icon:"icon-bow",models:[Za.monitor]}),crossbow:new Ra("crossbow",{icon:"icon-crossbow",models:[Za.monitor]}),eating:new Ra("eating",{icon:"fa-apple-whole",models:[Za.monitor]}),tooting:new Ra("tooting",{icon:"fa-bullhorn",models:[Za.monitor]}),block:new Ra("block",{icon:"fa-cube",models:[Za.block]}),frame:new Ra("frame",{icon:"filter_frames",models:[Za.frame_block,Za.frame]}),flower_pot:new Ra("flower_pot",{icon:"potted_plant",models:[Za.flower_pot]}),frame_invisible:new Ra("frame_invisible",{icon:"visibility_off",models:[Za.frame_block]}),frame_top:new Ra("frame_top",{icon:"filter_frames",models:[Za.frame_top_block,Za.frame_top]}),frame_top_invisible:new Ra("frame_top_invisible",{icon:"visibility_off",models:[Za.frame_top_block]}),shelf:new Ra("shelf",{icon:"table_view",models:[Za.shelf]}),shelf_left:new Ra("shelf_left",{icon:"keyboard_arrow_left",models:[Za.shelf]}),shelf_center:new Ra("shelf_center",{icon:"remove",models:[Za.shelf]}),shelf_right:new Ra("shelf_right",{icon:"keyboard_arrow_right",models:[Za.shelf]}),inventory_nine:new Ra("inventory_nine",{icon:"icon-inventory_nine",models:[]}),inventory_full:new Ra("inventory_full",{icon:"icon-inventory_full",models:[]}),hud:new Ra("hud",{icon:"icon-hud",models:[]})},active:"",bar:function(i){i=i.filter(a=>Condition(this.refmodels[a])),$("#display_ref_bar").html(""),i.length<2?$(".reference_model_bar").css("visibility","hidden"):$(".reference_model_bar").css("visibility","visible");for(var e=0;e<i.length;){var t=this.refmodels[i[e]];let a=Blockbench.getIconNode(t.icon);var n=$(`<div>
<input class="hidden" type="radio" name="refmodel" id="${t.id}"${e===0?" selected":""}>
<label class="tool" onclick="displayReferenceObjects.refmodels.${t.id}.load(${e})" for="${t.id}">
<div class="tooltip">${t.name}</div>
</label>
</div>`);n.find("> label.tool").append(a),$("#display_ref_bar").append(n),e===cn.ref_indexes[_t.display_slot]&&(t.load(e),n.find("input").prop("checked",!0)),e++}},clear:function(){cn.active&&cn.active.shelf_displays&&(cn.active.shelf_displays.forEach(i=>{uo.remove(i)}),cn.active.shelf_displays=null,cn.active.shelf_groups&&(cn.active.shelf_groups=null)),scene.remove(cn.active.model),cn.active=!1},ref_indexes:{thirdperson_righthand:0,thirdperson_lefthand:0,firstperson_righthand:0,firstperson_lefthand:0,ground:0,gui:0,head:0,embedded:0,fixed:0,on_shelf:0},slots:["thirdperson_righthand","thirdperson_lefthand","firstperson_righthand","firstperson_lefthand","ground","gui","head","embedded","fixed","on_shelf"]};uo=new Ve.Object3D;Li=new Ve.Object3D;uo.add(Li);Li.name="display_base";uo.name="display_area";_t.slots=cn.slots;_t.display_base=Li;_t.display_area=uo;var _5={projection:"perspective",position:[-80,40,-30],target:[0,8,0],default:!0};function Rae(){unselectAllElements(),Project.model_3d&&Li.add(Project.model_3d),In||(In=new Preview({id:"display"})),Preview.split_screen.enabled&&(Preview.split_screen.before=Preview.split_screen.mode),In.fullscreen(),Canvas.buildGrid(),Canvas.updateShading(),scene.add(uo),Project.model_3d&&(Project.model_3d.position.copy(Canvas.scene.position),Project.model_3d.position.y=-8),scene.position.set(0,0,0),resizeWindow(),_t.load(_t.display_slot),uo.updateMatrixWorld(),Transformer.center(),Canvas.outlines.children.length&&Canvas.outlines.children.empty()}function jae(){h5(),cn.clear(),qn(0,0,0,0,0,0,1,1,1),uo.updateMatrixWorld(),lights.rotation.set(0,0,0),Canvas.global_light_side=0,Canvas.updateShading(),scene.remove(uo),Format.centered_grid||scene.position.set(-8,0,-8),Li.children.forEachReverse(i=>{Li.remove(i),i.position.set(0,0,0)}),Project.model_3d&&(scene.add(Project.model_3d),Project.model_3d.position.set(0,0,0)),main_preview.fullscreen(),resizeWindow(),ReferenceImage.updateAll(),Preview.split_screen.before&&Preview.split_screen.setMode(Preview.split_screen.before),scene.add(Transformer),Canvas.buildGrid(),Canvas.updateShading(),Canvas.updateRenderSides()}function h5(){Li.rotation.x=Math.PI/(180/.1),Li.rotation.y=Math.PI/(180/.1),Li.rotation.z=Math.PI/(180/.1),Li.position.x=0,Li.position.y=0,Li.position.z=0,Li.scale.x=1,Li.scale.y=1,Li.scale.z=1}_t.updateDisplayBase=function(i){if(i||(i=Project.display_settings[_t.display_slot]),Li.rotation.x=Math.PI/(180/i.rotation[0]),Li.rotation.y=Math.PI/(180/i.rotation[1])*(_t.display_slot.includes("lefthand")?-1:1),Li.rotation.z=Math.PI/(180/i.rotation[2])*(_t.display_slot.includes("lefthand")?-1:1),Li.position.x=i.translation[0]*(_t.display_slot.includes("lefthand")?-1:1),_t.display_slot==="on_shelf"&&!Project.shelf_align_bottom?Li.position.y=0:Li.position.y=i.translation[1],Li.position.z=i.translation[2],Li.scale.x=(i.scale[0]||.001)*(i.mirror[0]?-1:1),Li.scale.y=(i.scale[1]||.001)*(i.mirror[1]?-1:1),Li.scale.z=(i.scale[2]||.001)*(i.mirror[2]?-1:1),!i.rotation_pivot.allEqual(0)){let e=new Ve.Vector3().fromArray(i.rotation_pivot).multiplyScalar(16),t=new Ve.Vector3().copy(e);e.applyEuler(Li.rotation),e.sub(t),Li.position.sub(e)}if(!i.scale_pivot.allEqual(0)){let e=new Ve.Vector3().fromArray(i.scale_pivot).multiplyScalar(16);e.applyEuler(Li.rotation),e.x*=1-i.scale[0],e.y*=1-i.scale[1],e.z*=1-i.scale[2],Li.position.add(e)}cn.active&&cn.active.id==="shelf"&&cn.active.shelf_displays&&cn.active.shelf_displays.forEach((e,t)=>{let n=new Ve.Vector3(t===0?-20:20,0,0),a=Li.position.clone().add(n),o=new Ve.Matrix4,r=new Ve.Matrix4().makeScale(Li.scale.x,Li.scale.y,Li.scale.z),s=new Ve.Matrix4().makeRotationFromEuler(Li.rotation),l=new Ve.Matrix4().makeTranslation(a.x,a.y,a.z);o.multiplyMatrices(l,s),o.multiply(r),e.matrix.copy(o),e.matrixAutoUpdate=!1,e.matrixWorldNeedsUpdate=!0}),Transformer.center()};_t.applyPreset=function(i,e){if(i!=null){var t=[_t.display_slot];if(e)t=cn.slots;else if(i.areas[_t.display_slot]==null){Blockbench.showQuickMessage("message.preset_no_info");return}Undo.initEdit({display_slots:t}),t.forEach(function(n){Project.display_settings[n]||(Project.display_settings[n]=new _f(n));let a=i.areas[n];a&&(a.rotation_pivot||Project.display_settings[n].rotation_pivot.replace([0,0,0]),a.scale_pivot||Project.display_settings[n].scale_pivot.replace([0,0,0]),Project.display_settings[n].extend(i.areas[n]),i.id=="block"&&Format.id=="bedrock_block"&&n=="gui"&&(Project.display_settings[n].rotation[1]=45))}),_t.updateDisplayBase(),Undo.finishEdit("Apply display preset")}};_t.loadJSON=function(i){for(var e in i)cn.slots.includes(e)&&(Project.display_settings[e]=new _f(e).extend(i[e]))};var qn=_t.setBase=function(i,e,t,n,a,o,r,s,l){uo.rotation.x=Math.PI/(180/n),uo.rotation.y=Math.PI/(180/a),uo.rotation.z=Math.PI/(180/o),uo.position.x=i,uo.position.y=e,uo.position.z=t,uo.scale.x=r,uo.scale.y=s,uo.scale.z=l,uo.updateMatrixWorld(),Transformer.center()};_t.groundAnimation=function(){uo.rotation.y+=.015,uy+=1;let i=3.8;Format.id!="bedrock_block"&&(i=1.9+Li.scale.y*3.6),uo.position.y=i+Math.sin(Math.PI*(uy/100))*Math.PI/2,Transformer.center(),uy===200&&(uy=0)};_t.updateGUILight=function(){Modes.display&&(Format.id=="bedrock_block"?(Canvas.global_light_side=0,Canvas.updateShading()):_t.display_slot=="gui"&&Project.front_gui_light==!0?(lights.rotation.set(-Math.PI,.6,0),Canvas.global_light_side=4):(lights.rotation.set(0,0,0),Canvas.global_light_side=0),Canvas.updateShading())};function od(i){_t.display_slot=i,i!=="gui"&&In.isOrtho===!0&&In.loadAnglePreset(_5),In.controls.enabled=!0,Canvas.ground_animation=!1,$(".display_crosshair").detach(),In.orbit_gizmo&&In.orbit_gizmo.unhide(),In.camPers.setFocalLength(45),Project.display_settings[i]==null&&(Project.display_settings[i]=new _f(i),i=="embedded"&&(Project.display_settings[i].scale_pivot[1]=-.5)),In.force_locked_angle=!1,_t.vue._data.slot=Project.display_settings[i],_t.slot=Project.display_settings[i],_t.updateDisplayBase(),Canvas.updateRenderSides(),_t.updateGUILight(),Toolbars.display.update(),g5()}_t.loadThirdRight=function(){od("thirdperson_righthand"),In.loadAnglePreset({position:[-44,40,-44],target:[0,14,0]}),cn.bar(["player","zombie","baby_zombie","armor_stand","armor_stand_small"])};_t.loadThirdLeft=function(){od("thirdperson_lefthand"),In.camPers.position.set(-44,40,-44),In.controls.target.set(0,14,0),In.loadAnglePreset({position:[-44,40,-44],target:[0,14,0]}),cn.bar(["player","zombie","baby_zombie","armor_stand","armor_stand_small"])};function f5(){return In.camera.aspect>1.7?18/In.camera.aspect:In.camera.aspect>1?16.57+-3.57*In.camera.aspect:13*In.camera.aspect}_t.loadFirstRight=function(){od("firstperson_righthand"),In.loadAnglePreset({position:[0,24,32.4],target:[0,24,0],focal_length:f5()}),In.controls.enabled=!1,In.orbit_gizmo&&In.orbit_gizmo.hide(),cn.bar(["monitor","bow","crossbow","tooting","eating"]),$(".single_canvas_wrapper").append('<div class="display_crosshair"></div>')};_t.loadFirstLeft=function(){od("firstperson_lefthand"),In.loadAnglePreset({position:[0,24,32.4],target:[0,24,0],focal_length:f5()}),In.controls.enabled=!1,In.orbit_gizmo&&In.orbit_gizmo.hide(),cn.bar(["monitor","bow","crossbow","tooting","eating"]),$(".single_canvas_wrapper").append('<div class="display_crosshair"></div>')};_t.loadHead=function(){od("head"),In.loadAnglePreset({position:[-30,40,-30],target:[0,22,0]}),cn.bar(["player","zombie","baby_zombie","armor_stand","armor_stand_small"])};_t.loadGUI=function(){od("gui"),qn(0,0,0,0,0,0,.4,.4,.4),In.loadAnglePreset({projection:"orthographic",position:[0,0,32],target:[0,0,0],locked_angle:"south",zoom:1}),In.orbit_gizmo&&In.orbit_gizmo.hide(),cn.bar(["inventory_nine","inventory_full","hud"]),BarItems.gui_light.set(Project.front_gui_light?"front":"side")};_t.loadGround=function(){od("ground"),In.loadAnglePreset({position:[-40,37,-40],target:[0,3,0]}),qn(8,4,8,0,0,0,1,1,1),Canvas.ground_animation=!0,uy=0,cn.bar(["block","fox"])};_t.loadFixed=function(){od("fixed"),In.loadAnglePreset({position:[-24,18,-50],target:[0,1,-5]}),cn.bar(["frame","frame_invisible","frame_top","frame_top_invisible"])};_t.loadEmbedded=function(){od("embedded"),In.loadAnglePreset({position:[-24,18,-50],target:[0,4,0]}),cn.bar(["flower_pot"])};_t.loadShelf=function(){od("on_shelf"),In.loadAnglePreset({position:[-30,25,-30],target:[0,8,0]}),cn.bar(["shelf","shelf_left","shelf_center","shelf_right"]),BarItems.shelf_alignment.set(Project.shelf_align_bottom?"bottom":"top")};_t.updateShelfAlignment=function(){!Modes.display||_t.display_slot!=="on_shelf"||(cn.active&&cn.active.updateBasePosition&&cn.active.updateBasePosition(),_t.updateDisplayBase())};_t.load=function(i){switch(i){case"thirdperson_righthand":_t.loadThirdRight();break;case"thirdperson_lefthand":_t.loadThirdLeft();break;case"firstperson_righthand":_t.loadFirstRight();break;case"firstperson_lefthand":_t.loadFirstLeft();break;case"head":_t.loadHead();break;case"gui":_t.loadGUI();break;case"ground":_t.loadGround();break;case"embedded":_t.loadEmbedded();break;case"fixed":_t.loadFixed();break;case"on_shelf":_t.loadShelf();break}};_t.copy=function(){Clipbench.display_slot=_t.slot.copy()};_t.paste=function(){Undo.initEdit({display_slots:[_t.display_slot]}),_t.slot.extend(Clipbench.display_slot),_t.updateDisplayBase(),Undo.finishEdit("Paste display slot")};_t.scrollSlider=function(i,e,t){Undo.initEdit({display_slots:[_t.display_slot]});var[n,a]=i.split(".");_t.slot[n][parseInt(a)]=e,_t.slot.update(),Undo.finishEdit("Change display slot")};var Iae=[new Ve.Plane(new Ve.Vector3(1,0,0),3.2001),new Ve.Plane(new Ve.Vector3(-1,0,0),3.2001),new Ve.Plane(new Ve.Vector3(0,1,0),3.2001),new Ve.Plane(new Ve.Vector3(0,-1,0),3.2001)];function g5(){if(In?.canvas)if(_t.display_slot=="gui"&&Format.id=="java_block"&&VersionUtil.compare(Project.java_block_version,">=","1.21.6")){for(let i of Texture.all)i.material.clippingPlanes=Iae;Preview.selected.renderer.localClippingEnabled=!0}else{for(let i of Texture.all)i.material.clippingPlanes=null;Preview.selected.renderer.localClippingEnabled=!1}}Blockbench.on("update_camera_position",i=>{Modes.display&&g5()});function Dae(){var i={file:tl("message.display_skin.upload"),name:void 0,reset:tl("message.display_skin.reset")};Blockbench.showMessageBox({translateKey:"display_skin",icon:"icon-player",commands:i,buttons:["dialog.cancel"]},e=>{if(e==="file")Blockbench.import({resource_id:"minecraft_skin",extensions:["png"],type:"PNG Player Skin",readtype:"image"},n=>{let a=n[0].content,o=new Image;o.src=a,Blockbench.showMessageBox({translateKey:"display_skin_model",icon:o,commands:{classic:tl("message.display_skin_model.classic"),slim:tl("message.display_skin_model.slim")},buttons:["dialog.cancel"]},r=>{n.length&&r&&(settings.display_skin.value=(r=="slim"?"S":"C")+","+a,py(!0),Settings.saveLocalStorages())})});else if(e==="name"&&!1)if(typeof settings.display_skin.value=="string"&&settings.display_skin.value.substr(0,9)==="username:")var t;else var t;else e==="reset"&&(settings.display_skin.value=!1,py(!0),Settings.saveLocalStorages())})}function py(i){var e=settings.display_skin.value;function t(o,r){if(cn.refmodels.player.material){let{material:s}=cn.refmodels.player;s.map.image.src=o,s.map.needsUpdate=!0,s.map.onUpdate=function(){s.map.onUpdate=null,cn.refmodels.player.setModelVariant(r?"alex":"steve")}}if(PreviewModel.models.attachable_reference_player){let{material:s}=PreviewModel.models.attachable_reference_player;s.map.image.src=o,s.map.needsUpdate=!0,PreviewModel.models.attachable_reference_player.updateArmVariant(r)}if(PreviewModel.models.minecraft_player){let{material:s}=PreviewModel.models.minecraft_player;s.map.image.src=o,s.map.needsUpdate=!0,PreviewModel.models.minecraft_player.updateArmVariant(r)}}if(!e||typeof e!="string")t("assets/player_skin.png");else if(e.substr(0,9)==="username:"){var n=e.substr(9);$.getJSON("https://api.mojang.com/users/profiles/minecraft/"+n,function(o){o&&o.id?$.getJSON("https://sessionserver.mojang.com/session/minecraft/profile/"+o.id,function(r){if(r&&r.properties){var s,l=!1;try{var c=JSON.parse(Buffer.from(r.properties[0].value,"base64").toString());s=c.textures.SKIN.url,c.textures.SKIN.metadata&&c.textures.SKIN.metadata.model==="slim"&&(l=!0)}catch{}t(s,l)}}):i&&Blockbench.showQuickMessage(tl("message.display_skin.invalid_name",[n]),2e3)})}else{if(e[1]===","){var a=e[0]==="S";e=e.substr(2)}else var a=!1;t(e,a)}}_t.updateDisplaySkin=py;_t.debugBase=function(){new Dialog("display_base_debug",{title:"Debug Display Base",darken:!1,form:{translation:{type:"vector",dimensions:3,step:.1,value:[0,0,0],label:"Translation"},rotation:{type:"vector",dimensions:3,step:.5,value:[0,0,0],label:"Rotation"},scale:{type:"vector",dimensions:3,step:.05,value:[1,1,1],label:"Scale"}},onFormChange(i){_t.setBase(...i.translation,...i.rotation,...i.scale)}}).show()};var jC=new Ve.Object3D;jC.rotation.set(.2,.2,0);jC.updateMatrixWorld();new $r("display",{priority:2,condition:()=>Modes.display,updateGizmo(){let i=Toolbox.selected.transformerMode;if(Transformer.attach(Li),Li.getWorldPosition(Transformer.position),Transformer.position.sub(scene.position),i==="translate")Transformer.rotation_ref=uo;else if(i==="scale"){if(_t.slot.scale_pivot){let e=new Ve.Vector3().fromArray(_t.slot.scale_pivot).multiplyScalar(-16);e.x*=_t.slot.scale[0],e.y*=_t.slot.scale[1],e.z*=_t.slot.scale[2],e.applyQuaternion(Li.getWorldQuaternion(new Ve.Quaternion)),Transformer.position.sub(e)}Transformer.rotation_ref=Li}else if(i==="rotate"){if(_t.slot.rotation_pivot){let e=new Ve.Vector3().fromArray(_t.slot.rotation_pivot).multiplyScalar(-16);e.applyQuaternion(Li.getWorldQuaternion(new Ve.Quaternion)),Transformer.position.sub(e)}_t.display_slot=="gui"&&(Transformer.rotation_ref=jC)}},calculateOffset(i){let{point:e,axis:t,axis_number:n,angle:a}=i,{display_slot:o}=_t;var r=new Ve.Quaternion;Transformer.getWorldQuaternion(r),e.applyQuaternion(r.invert());var s=Toolbox.selected.animation_channel;s==="position"&&(s="translation");var l=e[t];t=="e"&&(l=e.length()*Math.sign(e.y||e.x));var c=Project.display_settings[o][s][n]-(this.previous_value||0)||0;return s==="rotation"?l=Math.trimDeg(c+Math.round(a*4)/4)-c:s==="translation"?l=limitNumber(c+Math.round(l*4)/4,-80,80)-c:l=limitNumber(c+Math.round(l*64)/512*i.direction,0,4)-c,o.includes("lefthand")&&(s==="rotation"&&n||s==="translation"&&!n)&&(l*=-1),l},onStart(){Undo.initEdit({display_slots:[_t.display_slot]})},onMove(i){let{point:e,axis:t,axis_number:n,value:a}=i;var o=Toolbox.selected.animation_channel;o==="position"&&(o="translation");var r=a-(this.previous_value||0);if(o==="rotation"){let l=Reusable.vec1.copy(Transformer.axis=="E"?rotate_normal:n==0?Ve.NormalX:n==1?Ve.NormalY:Ve.NormalZ),c=Li.getWorldQuaternion(new Ve.Quaternion).invert();l.applyQuaternion(c),Li.rotateOnAxis(l,Math.degToRad(r)),_t.slot[o][0]=Math.roundTo(Math.radToDeg(Li.rotation.x),2),_t.slot[o][1]=Math.roundTo(Math.radToDeg(Li.rotation.y)*(_t.display_slot.includes("lefthand")?-1:1),2),_t.slot[o][2]=Math.roundTo(Math.radToDeg(Li.rotation.z)*(_t.display_slot.includes("lefthand")?-1:1),2)}else t=="e"?(_t.slot[o][0]+=r,_t.slot[o][1]+=r,_t.slot[o][2]+=r):_t.slot[o][n]+=r;if((event.shiftKey||Pressing.overrides.shift)&&o==="scale"){var s=_t.slot[o][n||0];_t.slot[o][((n||0)+1)%3]=s,_t.slot[o][((n||0)+2)%3]=s}_t.slot.update(),Blockbench.setCursorTooltip(trimFloatNumber(a-this.initial_value))},onEnd(i){i.keep_changes&&Undo.finishEdit("Edit display slot")},onCancel(){Undo.cancelEdit(!0)}});BARS.defineActions(function(){new Ts("display",{icon:"tune",selectElements:!1,default_tool:"move_tool",category:"navigate",condition:()=>Format.display_mode,onSelect:()=>{Rae()},onUnselect:()=>{jae()}}),new Action("add_display_preset",{icon:"add",category:"display",condition:{modes:["display"]},click(){new Dialog({id:"display_preset",title:"dialog.display_preset.title",width:300,form:{name:{label:"generic.name",type:"text",placeholder:tl("display.preset.blank_name")},_:"_",info:{type:"info",text:"dialog.display_preset.message"},thirdperson_righthand:{type:"checkbox",label:"display.slot.third_right",value:!0},thirdperson_lefthand:{type:"checkbox",label:"display.slot.third_left",value:!0},firstperson_righthand:{type:"checkbox",label:"display.slot.first_right",value:!0},firstperson_lefthand:{type:"checkbox",label:"display.slot.first_left",value:!0},head:{type:"checkbox",label:"display.slot.head",value:!0},ground:{type:"checkbox",label:"display.slot.ground",value:!0},embedded:{type:"checkbox",label:"display.slot.embedded",value:!0},fixed:{type:"checkbox",label:"display.slot.frame",value:!0},on_shelf:{type:"checkbox",label:"display.slot.on_shelf",value:!0},gui:{type:"checkbox",label:"display.slot.gui",value:!0}},onConfirm(i){let e={name:i.name||tl("display.preset.blank_name"),areas:{}};cp.push(e),cn.slots.forEach(t=>{i[t]&&Project.display_settings[t]&&(e.areas[t]=Project.display_settings[t].copy())}),localStorage.setItem("display_presets",JSON.stringify(cp))}}).show()}}),new Action("apply_display_preset",{icon:"fa-list",category:"display",condition:{modes:["display"]},click:function(i){new Menu("apply_display_preset",this.children(),{searchable:!0}).open(i.target)},children:function(){var i=[];return cp.forEach(function(e){var t="label";if(e.fixed)switch(e.id){case"item":t="filter_vintage";break;case"block":t="fa-cube";break;case"handheld":t="build";break;case"rod":t="remove";break;case"armor_stand":t="icon-armor_stand";break}i.push({icon:t,name:e.id?tl("display.preset."+e.id):e.name,click(){_t.applyPreset(e)},children:[{name:"action.apply_display_preset.here",icon:"done",click(){_t.applyPreset(e)}},{name:"action.apply_display_preset.everywhere",icon:"done_all",click(){_t.applyPreset(e,!0)}},{icon:"delete",name:"generic.delete",condition:!e.fixed,click:function(){cp.splice(cp.indexOf(e),1),localStorage.setItem("display_presets",JSON.stringify(cp))}}]})}),i}}),new BarSelect("gui_light",{options:{side:!0,front:!0},condition:()=>Modes.display&&_t.display_slot==="gui"&&Format.id=="java_block",onChange:function(i){Project.front_gui_light=i.get()=="front",_t.updateGUILight()}}),new BarSelect("shelf_alignment",{options:{top:!0,bottom:!0},condition:()=>Modes.display&&_t.display_slot==="on_shelf"&&Format.id=="java_block",onChange:function(i){Project.shelf_align_bottom=i.get()=="bottom",_t.updateShelfAlignment()}})});Interface.definePanels(function(){new Panel("display",{icon:"tune",condition:{modes:["display"]},default_position:{slot:"left_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:0},toolbars:[new Toolbar({id:"display",children:["copy","paste","add_display_preset","apply_display_preset","gui_light","shelf_alignment"]})],component:p5}),_t.vue=Interface.Panels.display.inside_vue});Object.assign(window,{DisplayMode:_t,DisplaySlot:_f,display_angle_preset:_5,resetDisplayBase:h5,updateDisplaySkin:py,displayReferenceObjects:cn,changeDisplaySkin:Dae});var ca=class i{constructor(e,t=0){i.scenes[e]=this,this.id=e,this.loaded=!1,this.require_minecraft_eula=!1,this.name=tl(t.name||`preview_scene.${e}`),this.category=t.category||"generic",this.light_color={r:1,g:1,b:1},this.light_side=0,this.condition,this.fov=null,this.preview_models=[],t&&this.extend(t),i.menu_categories[this.category][e]=this.name}extend(e){if(this.loaded=!e.web_config,this.web_config_path=e.web_config,e.require_minecraft_eula&&(this.require_minecraft_eula=!0),this.name=tl(e.name||`preview_scene.${this.id}`),e.description?this.description=tl(e.description):this.description=tl("action."+this.id+".desc",[],""),e.light_color&&(this.light_color=e.light_color),e.light_side&&(this.light_side=e.light_side),this.condition=e.condition,this.cubemap=null,e.cubemap){let t=e.cubemap,n=new THREE.CubeTextureLoader().load(t,()=>{i.active==this&&Project.view_mode=="material"&&Canvas.updateShading()});n.colorSpace=THREE.SRGBColorSpace,n.mapping=THREE.CubeRefractionMapping,this.cubemap=n}this.fog=null,e.fog&&(e.fog.type=="linear"?this.fog=new THREE.Fog(e.fog.color,e.fog.near,e.fog.far):this.fog=new THREE.FogExp2(e.fog.color,e.fog.density)),this.fov=null,e.fov&&(this.fov=e.fov),e.preview_models&&(this.preview_models=e.preview_models.map(t=>typeof t=="string"?ol.models[t]:(!(t instanceof ol)&&typeof t=="object"&&(t=new ol(t.id||this.id,t)),t)))}async lazyLoadFromWeb(){let e=i.source_repository;this.loaded=!0;let t=await fetch(`${e}/${this.web_config_path}`);t.ok||(console.error(t),Blockbench.showQuickMessage("message.preview_scene_load_failed",2e3));let n=await t.json();function a(o){return`${e}/${o}`}n.preview_models&&n.preview_models.forEach(o=>{o.texture&&(o.texture=a(o.texture))}),n.cubemap instanceof Array&&n.cubemap.forEach((o,r)=>{n.cubemap[r]=a(o)}),this.extend(n)}async select(){if(this.require_minecraft_eula&&await my.promptUser("preview_scenes")!=!0)return!1;this.loaded||await this.lazyLoadFromWeb(),i.active&&i.active.unselect(),Canvas.global_light_color.copy(this.light_color),Canvas.global_light_side=this.light_side,Canvas.scene.background=this.cubemap,Canvas.scene.fog=this.fog,this.fov&&!(Modes.display&&DisplayMode.display_slot.startsWith("firstperson"))&&Preview.selected.setFOV(this.fov),ol.getActiveModels().forEach(e=>{e.update()}),this.preview_models.forEach(e=>{e.enable()}),i.active=this,Blockbench.dispatchEvent("select_preview_scene",{scene:this}),Canvas.updateShading()}unselect(){this.preview_models.forEach(e=>{e.disable()}),Canvas.global_light_color.set(16777215),Canvas.global_light_side=0,this.cubemap&&(scene.background=null),this.fog&&(scene.fog=null),this.fov&&!(Modes.display&&DisplayMode.display_slot.startsWith("firstperson"))&&Preview.all.forEach(e=>e.setFOV(settings.fov.value)),Blockbench.dispatchEvent("unselect_preview_scene",{scene:this}),Canvas.updateShading(),i.active=null}delete(){delete i.scenes[this.id],delete i.menu_categories[this.category][this.id]}};ca.scenes={};ca.active=null;ca.select_options={};ca.source_repository="https://cdn.jsdelivr.net/gh/JannisX11/blockbench-scenes";ca.menu_categories={main:{none:tl("generic.none")},generic:{_label:"Generic"},realistic:{_label:"Realistic"},minecraft:{_label:"Minecraft"}};var ol=class i{constructor(e,t){i.models[e]=this,this.id=e,this.condition=t.condition,this.model_3d=new THREE.Object3D,this.onUpdate=t.onUpdate,this.enabled=!1,this.build_data={prefabs:t.prefabs,cubes:t.cubes||[],texture:t.texture,position:t.position,rotation:t.rotation,scale:t.scale},this.color=t.color||"#ffffff",this.shading=t.shading!==!1,this.render_side=t.render_side==null?THREE.DoubleSide:t.render_side,this.texture_size=t.texture_size||[16,16],this.buildModel()}enable(){Canvas.scene.add(this.model_3d),this.enabled=!0,this.update()}disable(){Canvas.scene.remove(this.model_3d),this.enabled=!1}update(){typeof this.onUpdate=="function"&&this.onUpdate(),this.build_data.position?this.model_3d.position.fromArray(this.build_data.position):this.model_3d.position.set(0,0,0);let e=Format.centered_grid?0:8;this.model_3d.position.x+=e,this.model_3d.position.z+=e,this.model_3d.visible=!!Condition(this.condition)}buildModel(){let e;if(this.build_data.texture){let t=new Image;t.src=this.build_data.texture,e=new THREE.Texture(t),e.magFilter=THREE.NearestFilter,e.minFilter=THREE.NearestFilter,e.wrapS=THREE.RepeatWrapping,e.wrapT=THREE.RepeatWrapping,t.crossOrigin="",t.onload=function(){e.needsUpdate=!0}}return this.material=new(this.shading?THREE.MeshLambertMaterial:THREE.MeshBasicMaterial)({color:this.color,map:e,side:this.render_side,alphaTest:.05}),typeof this.color=="object"&&this.material.color.copy(this.color),this.build_data.position&&this.model_3d.position.fromArray(this.build_data.position),this.build_data.rotation&&this.model_3d.rotation.fromArray(this.build_data.rotation.map(t=>Math.degToRad(t))),this.build_data.scale&&this.model_3d.scale.fromArray(this.build_data.scale),this.build_data.cubes.forEach(t=>{t.prefab&&(this.build_data.prefabs[t.prefab]||console.error(`Invalid prefab "${t.prefab}"`),t=Object.assign(t,this.build_data.prefabs[t.prefab]),t.offset&&(t.offset_space=="block"&&t.offset.V3_multiply(16),t.position=t.position.slice().V3_add(t.offset),t.origin&&(t.origin=t.origin.slice().V3_add(t.offset))));let n=new THREE.Mesh(new THREE.BoxGeometry(t.size[0],t.size[1],t.size[2]),this.material);t.origin&&(n.position.set(t.origin[0],t.origin[1],t.origin[2]),n.geometry.translate(-t.origin[0],-t.origin[1],-t.origin[2])),n.geometry.translate(t.position[0]+t.size[0]/2,t.position[1]+t.size[1]/2,t.position[2]+t.size[2]/2),t.rotation&&n.rotation.setFromDegreeArray(t.rotation);let a=r=>{let s=[[r.uv[0]/this.texture_size[0],1-r.uv[1]/this.texture_size[1]],[r.uv[2]/this.texture_size[0],1-r.uv[1]/this.texture_size[1]],[r.uv[0]/this.texture_size[0],1-r.uv[3]/this.texture_size[1]],[r.uv[2]/this.texture_size[0],1-r.uv[3]/this.texture_size[1]]],l=r.rotation+0;for(;l>0;){let c=s[0];s[0]=s[2],s[2]=s[3],s[3]=s[1],s[1]=c,l=l-90}return s},o=[];n.geometry.faces=[],n.geometry.clearGroups(),Canvas.face_order.forEach((r,s)=>{t.faces[r]&&(o.push(0+s*4,2+s*4,1+s*4,2+s*4,3+s*4,1+s*4),n.geometry.faces.push(r))}),n.geometry.setIndex(o);for(let r in t.faces){let s=a(t.faces[r]),l=0;switch(r){case"north":l=10;break;case"east":l=0;break;case"south":l=8;break;case"west":l=2;break;case"up":l=4;break;case"down":l=6;break}n.geometry.attributes.uv.array.set(s[0],l*4+0),n.geometry.attributes.uv.array.set(s[1],l*4+2),n.geometry.attributes.uv.array.set(s[2],l*4+4),n.geometry.attributes.uv.array.set(s[3],l*4+6),n.geometry.attributes.uv.needsUpdate=!0}this.model_3d.add(n)}),this}delete(){delete i.models[this.id]}static generateModelFromProject(){let e=Cube.all.map(a=>{let o=a.from.slice(),r=a.to.slice();td(o,r,a);let s={position:o,size:r.V3_subtract(o),origin:void 0,rotation:void 0,faces:{}};a.rotation.allEqual(0)==!1&&(s.rotation=a.rotation.slice(),s.origin=a.origin.slice());for(let l in a.faces){let c=a.faces[l];c.texture!=null&&(s.faces[l]=new oneLiner({uv:c.uv.slice()}))}return s}),t=Texture.getDefault(),n=[Project.getUVWidth(t),Project.getUVHeight(t)];return jb({texture_size:n,cubes:e})}};ol.models={};ol.getActiveModels=function(){let i=[];for(let e in ol.models){let t=ol.models[e];t.enabled&&i.push(t)}return i};new ol("studio",{texture:"./assets/preview_scenes/studio.png",texture_size:[64,64],shading:!1,render_side:THREE.BackSide,cubes:[{position:[-240,0,-240],size:[480,128,480],faces:{up:{uv:[0,16.04,15.96,31.96]},down:{uv:[0,0,16,16]}}},{position:[48,0,-240],size:[96,128,480],faces:{south:{uv:[16.06,0,64,64]},north:{uv:[16.06,0,64,64]}}},{position:[-48,0,-240],size:[96,128,480],faces:{south:{uv:[16.06,0,64,64]},north:{uv:[16.06,0,64,64]}}},{position:[-144,0,-240],size:[96,128,480],faces:{south:{uv:[16.06,0,64,64]},north:{uv:[16.06,0,64,64]}}},{position:[144,0,-240],size:[96,128,480],faces:{south:{uv:[16.06,0,64,64]},north:{uv:[16.06,0,64,64]}}},{position:[-240,0,-240],size:[96,128,480],faces:{south:{uv:[16.06,0,64,64]},north:{uv:[16.06,0,64,64]}}},{position:[-240,0,48],size:[480,128,96],faces:{east:{uv:[16.06,0,64,64]},west:{uv:[16.06,0,64,64]}}},{position:[-240,0,-48],size:[480,128,96],faces:{east:{uv:[16.06,0,64,64]},west:{uv:[16.06,0,64,64]}}},{position:[-240,0,-144],size:[480,128,96],faces:{east:{uv:[16.06,0,64,64]},west:{uv:[16.06,0,64,64]}}},{position:[-240,0,144],size:[480,128,96],faces:{east:{uv:[16.06,0,64,64]},west:{uv:[16.06,0,64,64]}}},{position:[-240,0,-240],size:[480,128,96],faces:{east:{uv:[16.06,0,64,64]},west:{uv:[16.06,0,64,64]}}}]});new ca("studio",{category:"generic",light_color:{r:1.04,g:1.03,b:1.1},light_side:1,preview_models:["studio"]});new ca("sky",{category:"realistic",web_config:"realistic/sky/sky.json"});new ca("space",{category:"realistic",web_config:"realistic/space/space.json"});new ca("minecraft_plains",{category:"minecraft",web_config:"minecraft/plains/plains.json",require_minecraft_eula:!0});new ca("minecraft_snowy_tundra",{category:"minecraft",web_config:"minecraft/snowy_tundra/snowy_tundra.json",require_minecraft_eula:!0});new ca("minecraft_cherry_grove",{category:"minecraft",web_config:"minecraft/cherry_grove/cherry_grove.json",require_minecraft_eula:!0});new ca("minecraft_sunset",{category:"minecraft",web_config:"minecraft/sunset/sunset.json",require_minecraft_eula:!0});new ca("minecraft_night",{category:"minecraft",web_config:"minecraft/night/night.json",require_minecraft_eula:!0});new ca("minecraft_desert",{category:"minecraft",web_config:"minecraft/desert/desert.json",require_minecraft_eula:!0});new ca("minecraft_ocean",{category:"minecraft",web_config:"minecraft/ocean/ocean.json",require_minecraft_eula:!0});new ca("minecraft_underwater",{category:"minecraft",web_config:"minecraft/underwater/underwater.json",require_minecraft_eula:!0});new ca("minecraft_coral_reef",{category:"minecraft",web_config:"minecraft/coral_reef/coral_reef.json",require_minecraft_eula:!0});new ca("minecraft_lush_cave",{category:"minecraft",web_config:"minecraft/lush_cave/lush_cave.json",require_minecraft_eula:!0});new ca("minecraft_deep_dark",{category:"minecraft",web_config:"minecraft/deep_dark/deep_dark.json",require_minecraft_eula:!0});new ca("minecraft_nether",{category:"minecraft",web_config:"minecraft/nether/nether.json",require_minecraft_eula:!0});new ca("minecraft_end",{category:"minecraft",web_config:"minecraft/end/end.json",require_minecraft_eula:!0});var dp=new ol("minecraft_player",{texture:"./assets/player_skin.png",texture_size:[64,64],position:[30,0,8],rotation:[0,20,0],scale:[.9375,.9375,.9375],onUpdate(){this.material.color.copy(Canvas.global_light_color),this.was_set_up||(DisplayMode.updateDisplaySkin(),this.was_set_up=!0)},cubes:[{position:[-4,24,-4],size:[8,8,8],rotation:[0,18,0],faces:{north:{uv:[8,8,16,16]},east:{uv:[0,8,8,16]},south:{uv:[24,8,32,16]},west:{uv:[16,8,24,16]},up:{uv:[16,8,8,0]},down:{uv:[24,0,16,8]}}},{position:[-4.5,23.5,-4.5],size:[9,9,9],rotation:[0,18,0],faces:{north:{uv:[40,8,48,16]},east:{uv:[32,8,40,16]},south:{uv:[56,8,64,16]},west:{uv:[48,8,56,16]},up:{uv:[48,8,40,0]},down:{uv:[56,0,48,8]}}},{position:[-4,12,-2],size:[8,12,4],faces:{north:{uv:[20,20,28,32]},east:{uv:[16,20,20,32]},south:{uv:[32,20,40,32]},west:{uv:[28,20,32,32]},up:{uv:[28,20,20,16]},down:{uv:[36,16,28,20]}}},{position:[-4.25,11.75,-2.25],size:[8.5,12.5,4.5],faces:{north:{uv:[20,36,28,48]},east:{uv:[16,36,20,48]},south:{uv:[32,36,40,48]},west:{uv:[28,36,32,48]},up:{uv:[28,36,20,32]},down:{uv:[36,32,28,36]}}},{position:[4,12,-2],size:[4,12,4],origin:[5,22,0],rotation:[-1,0,3],faces:{north:{uv:[44,20,48,32]},east:{uv:[40,20,44,32]},south:{uv:[52,20,56,32]},west:{uv:[48,20,52,32]},up:{uv:[48,20,44,16]},down:{uv:[52,16,48,20]}}},{position:[3.75,11.75,-2.25],size:[4.5,12.5,4.5],origin:[5,22,0],rotation:[-1,0,3],faces:{north:{uv:[44,36,48,48]},east:{uv:[40,36,44,48]},south:{uv:[52,36,56,48]},west:{uv:[48,36,52,48]},up:{uv:[48,36,44,32]},down:{uv:[52,32,48,36]}}},{position:[-8,12,-2],size:[4,12,4],origin:[-5,22,0],rotation:[1,0,-3],faces:{north:{uv:[36,52,40,64]},east:{uv:[32,52,36,64]},south:{uv:[44,52,48,64]},west:{uv:[40,52,44,64]},up:{uv:[40,52,36,48]},down:{uv:[44,48,40,52]}}},{position:[-8.25,11.75,-2.25],size:[4.5,12.5,4.5],origin:[-5,22,0],rotation:[1,0,-3],faces:{north:{uv:[52,52,56,64]},east:{uv:[48,52,52,64]},south:{uv:[60,52,64,64]},west:{uv:[56,52,60,64]},up:{uv:[56,52,52,48]},down:{uv:[60,48,56,52]}}},{position:[4,11.5,-2],size:[3,12,4],origin:[5,21.5,0],rotation:[-1,0,3],faces:{north:{uv:[44,20,47,32]},east:{uv:[40,20,44,32]},south:{uv:[51,20,54,32]},west:{uv:[47,20,51,32]},up:{uv:[47,20,44,16]},down:{uv:[50,16,47,20]}}},{position:[3.75,11.25,-2.25],size:[3.5,12.5,4.5],origin:[5,21.5,0],rotation:[-1,0,3],faces:{north:{uv:[44,36,47,48]},east:{uv:[40,36,44,48]},south:{uv:[51,36,54,48]},west:{uv:[47,36,51,48]},up:{uv:[47,36,44,32]},down:{uv:[50,32,47,36]}}},{position:[-7,11.5,-2],size:[3,12,4],origin:[-5,21.5,0],rotation:[1,0,-3],faces:{north:{uv:[36,52,39,64]},east:{uv:[32,52,36,64]},south:{uv:[43,52,46,64]},west:{uv:[39,52,43,64]},up:{uv:[39,52,36,48]},down:{uv:[42,48,39,52]}}},{position:[-7.25,11.25,-2.25],size:[3.5,12.5,4.5],origin:[-5,21.5,0],rotation:[1,0,-3],faces:{north:{uv:[52,52,55,64]},east:{uv:[48,52,52,64]},south:{uv:[59,52,62,64]},west:{uv:[55,52,59,64]},up:{uv:[55,52,52,48]},down:{uv:[58,48,55,52]}}},{position:[-.1,0,-2],size:[4,12,4],faces:{north:{uv:[4,20,8,32]},east:{uv:[0,20,4,32]},south:{uv:[12,20,16,32]},west:{uv:[8,20,12,32]},up:{uv:[8,20,4,16]},down:{uv:[12,16,8,20]}}},{position:[-.35,-.25,-2.25],size:[4.5,12.5,4.5],faces:{north:{uv:[4,36,8,48]},east:{uv:[0,36,4,48]},south:{uv:[12,36,16,48]},west:{uv:[8,36,12,48]},up:{uv:[8,36,4,32]},down:{uv:[12,32,8,36]}}},{position:[-3.9,0,-2],size:[4,12,4],faces:{north:{uv:[20,52,24,64]},east:{uv:[16,52,20,64]},south:{uv:[28,52,32,64]},west:{uv:[24,52,28,64]},up:{uv:[24,52,20,48]},down:{uv:[28,48,24,52]}}},{position:[-4.15,-.25,-2.25],size:[4.5,12.5,4.5],faces:{north:{uv:[4,52,8,64]},east:{uv:[0,52,4,64]},south:{uv:[12,52,16,64]},west:{uv:[8,52,12,64]},up:{uv:[8,52,4,48]},down:{uv:[12,48,8,52]}}}]});dp.updateArmVariant=function(i){for(let e=4;e<8;e++)this.model_3d.children[e].visible=!i;for(let e=8;e<12;e++)this.model_3d.children[e].visible=!!i};StateMemory.init("minecraft_eula_accepted","object");var my={isAccepted(i){return StateMemory.minecraft_eula_accepted[i]},async promptUser(i){return my.isAccepted(i)?!0:await new Promise(e=>{Blockbench.showMessageBox({width:540,title:"Minecraft EULA",message:"This feature includes Minecraft assets. In order to use it, you need to agree to the [Minecraft End User License Agreement (EULA)](https://www.minecraft.net/en-us/eula).",icon:"icon-format_bedrock",checkboxes:{accepted:{text:"I have read the End User License Agreement and I agree to its terms",value:!1}},buttons:["dialog.ok","dialog.cancel"]},(t,n)=>{if(t==0&&n.accepted)StateMemory.minecraft_eula_accepted[i]=!0,StateMemory.save("minecraft_eula_accepted");else if(t==0)return!1;e(n.accepted)})})}};BARS.defineActions(function(){new Action("preview_scene",{category:"view",icon:"nature_people",click(i){new Menu(this.children).show(i.target)},children:()=>{let i=[];for(let e in ca.menu_categories){let t=ca.menu_categories[e];t._label&&i.push(new MenuSeparator("options_"+Rw(t._label),t._label));for(let n in t){if(n.startsWith("_"))continue;let a=ca.scenes[n];i.push({id:n,name:t[n],icon:ca.active==a?"far.fa-dot-circle":"far.fa-circle",click(){a?a.select():ca.active&&ca.active.unselect()}})}}return i.push(new MenuSeparator("individual_objects")),i.push({name:"Minecraft Player",icon:dp.enabled?"check_box":"check_box_outline_blank",click(){dp.enabled?dp.disable():dp.enable()}}),i}})});Object.assign(window,{PreviewScene:ca,PreviewModel:ol,MinecraftEULA:my,player_preview_model:dp});BARS.defineActions(function(){let i=new PreviewModel("attachable_reference_player",{texture:"./assets/player_skin.png",texture_size:[64,64],cubes:[{position:[-4,24,-4],size:[8,8,8],faces:{north:{uv:[8,8,16,16]},east:{uv:[0,8,8,16]},south:{uv:[24,8,32,16]},west:{uv:[16,8,24,16]},up:{uv:[16,8,8,0]},down:{uv:[24,0,16,8]}}},{position:[-4.5,23.5,-4.5],size:[9,9,9],faces:{north:{uv:[40,8,48,16]},east:{uv:[32,8,40,16]},south:{uv:[56,8,64,16]},west:{uv:[48,8,56,16]},up:{uv:[48,8,40,0]},down:{uv:[56,0,48,8]}}},{position:[-4,12,-2],size:[8,12,4],faces:{north:{uv:[20,20,28,32]},east:{uv:[16,20,20,32]},south:{uv:[32,20,40,32]},west:{uv:[28,20,32,32]},up:{uv:[28,20,20,16]},down:{uv:[36,16,28,20]}}},{position:[-4.25,11.75,-2.25],size:[8.5,12.5,4.5],faces:{north:{uv:[20,36,28,48]},east:{uv:[16,36,20,48]},south:{uv:[32,36,40,48]},west:{uv:[28,36,32,48]},up:{uv:[28,36,20,32]},down:{uv:[36,32,28,36]}}},{position:[4,12,-2],size:[4,12,4],origin:[5,22,0],rotation:[15,0,0],faces:{north:{uv:[44,20,48,32]},east:{uv:[40,20,44,32]},south:{uv:[52,20,56,32]},west:{uv:[48,20,52,32]},up:{uv:[48,20,44,16]},down:{uv:[52,16,48,20]}}},{position:[3.75,11.75,-2.25],size:[4.5,12.5,4.5],origin:[5,22,0],rotation:[15,0,0],faces:{north:{uv:[44,36,48,48]},east:{uv:[40,36,44,48]},south:{uv:[52,36,56,48]},west:{uv:[48,36,52,48]},up:{uv:[48,36,44,32]},down:{uv:[52,32,48,36]}}},{position:[-8,12,-2],size:[4,12,4],origin:[-5,22,0],rotation:[1,0,-3],faces:{north:{uv:[36,52,40,64]},east:{uv:[32,52,36,64]},south:{uv:[44,52,48,64]},west:{uv:[40,52,44,64]},up:{uv:[40,52,36,48]},down:{uv:[44,48,40,52]}}},{position:[-8.25,11.75,-2.25],size:[4.5,12.5,4.5],origin:[-5,22,0],rotation:[1,0,-3],faces:{north:{uv:[52,52,56,64]},east:{uv:[48,52,52,64]},south:{uv:[60,52,64,64]},west:{uv:[56,52,60,64]},up:{uv:[56,52,52,48]},down:{uv:[60,48,56,52]}}},{position:[4,11.5,-2],size:[3,12,4],origin:[5,21.5,0],rotation:[15,0,0],faces:{north:{uv:[44,20,47,32]},east:{uv:[40,20,44,32]},south:{uv:[51,20,54,32]},west:{uv:[47,20,51,32]},up:{uv:[47,20,44,16]},down:{uv:[50,16,47,20]}}},{position:[3.75,11.25,-2.25],size:[3.5,12.5,4.5],origin:[5,21.5,0],rotation:[15,0,0],faces:{north:{uv:[44,36,47,48]},east:{uv:[40,36,44,48]},south:{uv:[51,36,54,48]},west:{uv:[47,36,51,48]},up:{uv:[47,36,44,32]},down:{uv:[50,32,47,36]}}},{position:[-7,11.5,-2],size:[3,12,4],origin:[-5,21.5,0],rotation:[1,0,-3],faces:{north:{uv:[36,52,39,64]},east:{uv:[32,52,36,64]},south:{uv:[43,52,46,64]},west:{uv:[39,52,43,64]},up:{uv:[39,52,36,48]},down:{uv:[42,48,39,52]}}},{position:[-7.25,11.25,-2.25],size:[3.5,12.5,4.5],origin:[-5,21.5,0],rotation:[1,0,-3],faces:{north:{uv:[52,52,55,64]},east:{uv:[48,52,52,64]},south:{uv:[59,52,62,64]},west:{uv:[55,52,59,64]},up:{uv:[55,52,52,48]},down:{uv:[58,48,55,52]}}},{position:[-.1,0,-2],size:[4,12,4],faces:{north:{uv:[4,20,8,32]},east:{uv:[0,20,4,32]},south:{uv:[12,20,16,32]},west:{uv:[8,20,12,32]},up:{uv:[8,20,4,16]},down:{uv:[12,16,8,20]}}},{position:[-.35,-.25,-2.25],size:[4.5,12.5,4.5],faces:{north:{uv:[4,36,8,48]},east:{uv:[0,36,4,48]},south:{uv:[12,36,16,48]},west:{uv:[8,36,12,48]},up:{uv:[8,36,4,32]},down:{uv:[12,32,8,36]}}},{position:[-3.9,0,-2],size:[4,12,4],faces:{north:{uv:[20,52,24,64]},east:{uv:[16,52,20,64]},south:{uv:[28,52,32,64]},west:{uv:[24,52,28,64]},up:{uv:[24,52,20,48]},down:{uv:[28,48,24,52]}}},{position:[-4.15,-.25,-2.25],size:[4.5,12.5,4.5],faces:{north:{uv:[4,52,8,64]},east:{uv:[0,52,4,64]},south:{uv:[12,52,16,64]},west:{uv:[8,52,12,64]},up:{uv:[8,52,4,48]},down:{uv:[12,48,8,52]}}}]});DisplayMode.player_attachable_reference_model=i,i.updateArmVariant=dp.updateArmVariant,i.updateArmVariant();let e=null,t=!1,n={name:tl("action.bedrock_animation_mode.attachable_first"),id:"attachable_first",condition:()=>Format.id=="bedrock"&&Project.bedrock_animation_mode=="attachable_first",position:[0,19,-40],projection:"perspective",target:[0,16,0],focal_length:18,aspect_ratio:16/9},a={name:tl("action.bedrock_animation_mode.attachable_first"),id:"attachable_first",condition:()=>Format.id=="bedrock"&&Project.bedrock_animation_mode=="attachable_first",position:[0,27.41,0],projection:"perspective",target:[0,27.41,10],fov:70.25,aspect_ratio:16/9};DefaultCameraPresets.push(n);function o(){Preview.selected.loadAnglePreset(Project.multi_file_ruleset?a:n),e=Preview.selected,Transformer.updateSelection(),Blockbench.once("update_camera_position",d=>{Transformer.updateSelection()})}let r=Interface.createElement("button",{id:"center_first_person_button"},tl("preview.center_camera"));r.addEventListener("click",d=>{o()});let s=Interface.createElement("div",{class:"display_crosshair"});function l(d){let u=Outliner.root.find(p=>p instanceof Group&&p.bedrock_binding);if(d=="attachable_first"?(Project.multi_file_ruleset||(u?Project.model_3d.position.set(-20,21,0):Project.model_3d.position.set(-8,6,-18),Project.model_3d.rotation.set(Math.degToRad(-95),Math.degToRad(45),Math.degToRad(115),"ZYX")),Interface.preview.append(r),Preview.selected.node.append(s)):(r.remove(),s.remove()),d=="attachable_third"&&!Project.multi_file_ruleset){let p=Math.degToRad(15);if(u){let m=Reusable.vec1.set(1,-31,1).applyAxisAngle(Reusable.vec2.set(1,0,0),p);Project.model_3d.position.set(5,22,0).add(m)}else{let m=Reusable.vec1.set(1,-7,1).applyAxisAngle(Reusable.vec2.set(1,0,0),p);Project.model_3d.position.set(5,22,0).add(m)}Project.model_3d.rotation.set(p,0,0),i.enable(),t||(updateDisplaySkin(),t=!0)}else i.disable();d!="attachable_first"&&d!="attachable_third"&&Format.id=="bedrock"&&(Project.model_3d.position.set(0,0,0),Project.model_3d.rotation.set(0,0,0)),Canvas.updateVisibility(),Modes.animate&&Animator.preview()}let c=new BarSelect("bedrock_animation_mode",{condition:{modes:["animate"],formats:["bedrock"]},category:"animation",value:"entity",options:{entity:!0,attachable_first:!0,attachable_third:!0},onChange(){Project.bedrock_animation_mode!=this.value&&(Project.bedrock_animation_mode=this.value,l(this.value),this.value=="attachable_first"?o():e&&(e.loadAnglePreset(DefaultCameraPresets[0]),e=null))}});Blockbench.on("select_project",({project:d})=>{c.set(d.bedrock_animation_mode||"entity")}),Blockbench.on("select_mode",({mode:d})=>{Modes.animate&&Project.bedrock_animation_mode?l(Project.bedrock_animation_mode):(l(),e&&(e.loadAnglePreset(DefaultCameraPresets[0]),e=null))})});var hf={};hf.Scene=class{constructor(i={}){this.emitters=[],this.child_configs={},this.space=new pn,this._fetchTexture=i.fetchTexture,this._fetchParticleFile=i.fetchParticleFile,this.global_options={max_emitter_particles:i.max_emitter_particles||3e4,tick_rate:i.tick_rate||30,loop_mode:i.loop_mode||"auto",parent_mode:i.parent_mode||"world",ground_collision:i.ground_collision!=0,_scale:1},Object.defineProperty(this.global_options,"scale",{get:()=>this.global_options._scale,set:e=>{this.global_options._scale=e,this.emitters.forEach(t=>{t.local_space.scale.set(e,e,e),t.global_space.scale.set(e,e,e)})}})}fetchTexture(i){if(typeof this._fetchTexture=="function")return this._fetchTexture(i)}fetchParticleFile(i,e){if(typeof this._fetchParticleFile=="function")return this._fetchParticleFile(i,e)}updateFacingRotation(i){this.emitters.forEach(e=>{e.updateFacingRotation(i)})}};var v5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QcKDTg2HKzkwgAAAFBJREFUOMtjvHDhwn8GCgALAwMDg4iICFma37x5w8DEQCEg2gBpaWkGaWlp8g2g2AVDyABcgTUwXiDGNQMfiCzoAk+fPiXIpr4L3rx5Q7YBAOhLE0zw8k9cAAAAAElFTkSuQmCC";function IC(i){if(typeof i=="string"&&i[0]=="#")i.length<9&&(i="#ff"+i.substr(1,6));else{if(i instanceof Array)return new ci({r:255*(i[0]||0),g:255*(i[1]||0),b:255*(i[2]||0),a:typeof i[3]=="number"?i[3]:1}).toHex8String();i=new ci(i).toHex8String()}return"#"+i.substr(3,6)+i.substr(1,2)}var Qm=class i{constructor(e,t,n=0){this.scene=e,this.texture=new Oo(new Image),this.texture.image.onload=()=>{this.texture.needsUpdate=!0,typeof this.onTextureUpdate=="function"&&this.onTextureUpdate()},this.texture_source_category="placeholder",this.reset(),this.onTextureUpdate=null,n.path&&this.set("file_path",n.path),t&&t.particle_effect?this.setFromJSON(t):typeof t=="object"&&Object.assign(this,t)}reset(){for(var e in this.texture.image.src=v5,this.texture.magFilter=no,this.texture.minFilter=no,i.types){var t,n=i.types[e];switch(n.type){case"string":case"molang":t="";break;case"number":t=0;break;case"boolean":t=!1;break;case"color":t="#ffffff";break;case"object":t={}}if(n.array){if(this[e]=[],n.dimensions)for(var a=0;a<n.dimensions;a++)n.type=="object"&&(t={}),this[e].push(t)}else if(n.type=="object"&&this[e])for(let o in this[e])delete this[e][o];else this[e]=t}return this.emitter_rate_mode="steady",this.emitter_lifetime_mode="looping",this.emitter_shape_mode="point",this.particle_appearance_material="particles_alpha",this.particle_appearance_facing_camera_mode="rotate_xyz",this.particle_appearance_direction_mode="derive_from_velocity",this.particle_appearance_speed_threshold=.01,this.particle_direction_mode="outwards",this.particle_motion_mode="dynamic",this.particle_rotation_mode="dynamic",this.particle_texture_mode="static",this.particle_color_mode="static",this.particle_color_interpolant="v.particle_age / v.particle_lifetime",this.particle_color_range=1,this.emitter_rate_rate="4",this.emitter_rate_amount="1",this.emitter_rate_maximum="100",this.emitter_lifetime_active_time="1",this.particle_appearance_size=["0.2","0.2"],this.particle_lifetime_max_lifetime="1",this.particle_texture_size=[16,16],this.texture_source_category="placeholder",this}set(e,t){if(i.types[e]!=null&&t!=null&&t!=null){if(i.types[e].array&&t instanceof Array)i.types[e].type=="molang"&&(t=t.map(n=>n.toString())),this[e].splice(0,1/0,...t);else if(i.types[e].array&&i.types[e].type=="string"&&typeof t=="string")this[e].splice(0,1/0,t);else if(typeof this[e]=="string")this[e]=t.toString();else if(i.types[e].type=="number"&&typeof t=="number")this[e]=t;else if(i.types[e].type=="boolean")this[e]=!!t;else if(i.types[e].type=="object")for(let n in t)this[e][n]=t[n];return this}}setFromJSON(e){var t=e.particle_effect.components,n=e.particle_effect.curves,a=e.particle_effect.events,o=e.particle_effect.description;if(o&&o.identifier&&(this.identifier=o.identifier),o&&o.basic_render_parameters&&(this.set("particle_texture_path",o.basic_render_parameters.texture),this.set("particle_appearance_material",o.basic_render_parameters.material)),typeof a=="object")for(let x in a){let w=a[x];this.events[x]=w}if(n)for(var r in n){var s=n[r],l={id:r,mode:s.type,input:(s.input||0).toString(),range:(s.horizontal_range||0).toString(),nodes:[]};if(s.nodes instanceof Array&&s.nodes.length)s.nodes.forEach(x=>{let w=parseFloat(x)||0;l.nodes.push(w)});else if(typeof s.nodes=="object"&&s.type=="bezier_chain")for(let x in s.nodes){let w=s.nodes[x],E={time:parseFloat(x),left_value:parseFloat(w.left_value||w.value)||0,right_value:parseFloat(w.right_value||w.value)||0,left_slope:parseFloat(w.left_slope||w.slope)||0,right_slope:parseFloat(w.right_slope||w.slope)||0};l.nodes.push(E)}this.curves[r]=l}if(t){let x=function(w){return t["minecraft:"+w]};if(x("emitter_initialization")){var c=x("emitter_initialization").creation_expression,d=x("emitter_initialization").per_update_expression;typeof c=="string"&&(this.variables_creation_vars=c.replace(/;+$/,"").split(";")),typeof d=="string"&&(this.variables_tick_vars=d.replace(/;+$/,"").split(";"))}if(x("emitter_local_space")&&(this.space_local_position=x("emitter_local_space").position,this.space_local_rotation=x("emitter_local_space").rotation,this.space_local_velocity=x("emitter_local_space").velocity),x("emitter_rate_manual")&&(this.set("emitter_rate_mode","manual"),this.set("emitter_rate_maximum",x("emitter_rate_manual").max_particles)),x("emitter_rate_steady")&&(this.set("emitter_rate_mode","steady"),this.set("emitter_rate_rate",x("emitter_rate_steady").spawn_rate),this.set("emitter_rate_maximum",x("emitter_rate_steady").max_particles)),x("emitter_rate_instant")&&(this.set("emitter_rate_mode","instant"),this.set("emitter_rate_amount",x("emitter_rate_instant").num_particles)),x("emitter_lifetime_once")&&(this.set("emitter_lifetime_mode","once"),this.set("emitter_lifetime_active_time",x("emitter_lifetime_once").active_time)),x("emitter_lifetime_looping")&&(this.set("emitter_lifetime_mode","looping"),this.set("emitter_lifetime_active_time",x("emitter_lifetime_looping").active_time),this.set("emitter_lifetime_sleep_time",x("emitter_lifetime_looping").sleep_time)),x("emitter_lifetime_expression")&&(this.set("emitter_lifetime_mode","expression"),this.set("emitter_lifetime_activation",x("emitter_lifetime_expression").activation_expression),this.set("emitter_lifetime_expiration",x("emitter_lifetime_expression").expiration_expression)),x("emitter_lifetime_events")){let w=x("emitter_lifetime_events");this.set("emitter_events_creation",w.creation_event),this.set("emitter_events_expiration",w.expiration_event),this.set("emitter_events_timeline",w.timeline),this.set("emitter_events_distance",w.travel_distance_events),this.set("emitter_events_distance_looping",w.looping_travel_distance_events)}var u,p=x("emitter_shape_point")||x("emitter_shape_custom");if(p&&(this.set("emitter_shape_mode","point"),this.set("emitter_shape_offset",p.offset)),x("emitter_shape_sphere")&&(p=x("emitter_shape_sphere"),this.set("emitter_shape_mode","sphere"),this.set("emitter_shape_offset",p.offset),this.set("emitter_shape_radius",p.radius),this.set("emitter_shape_surface_only",p.surface_only)),x("emitter_shape_box")&&(p=x("emitter_shape_box"),this.set("emitter_shape_mode","box"),this.set("emitter_shape_offset",p.offset),this.set("emitter_shape_half_dimensions",p.half_dimensions),this.set("emitter_shape_surface_only",p.surface_only)),x("emitter_shape_disc")){switch(p=x("emitter_shape_disc"),this.set("emitter_shape_mode","disc"),this.set("emitter_shape_offset",p.offset),p.plane_normal){case"x":this.set("emitter_shape_plane_normal",[1,0,0]);break;case"y":this.set("emitter_shape_plane_normal",[0,1,0]);break;case"z":this.set("emitter_shape_plane_normal",[0,0,1]);break;default:this.set("emitter_shape_plane_normal",p.plane_normal)}this.set("emitter_shape_radius",p.radius),this.set("emitter_shape_surface_only",p.surface_only)}if(x("emitter_shape_entity_aabb")&&(this.set("emitter_shape_mode","entity_aabb"),this.set("emitter_shape_surface_only",x("emitter_shape_entity_aabb").surface_only),p=x("emitter_shape_entity_aabb")),p&&p.direction&&(p.direction=="inwards"||p.direction=="outwards"?this.set("particle_direction_mode",p.direction):(this.set("particle_direction_mode","direction"),this.set("particle_direction_direction",p.direction))),x("particle_initialization")){d=x("particle_initialization").per_update_expression;var m=x("particle_initialization").per_render_expression;typeof d=="string"&&(this.particle_update_expression=d.replace(/;+$/,"").split(";")),typeof m=="string"&&(this.particle_render_expression=m.replace(/;+$/,"").split(";"))}if(x("particle_initial_spin")&&(this.set("particle_rotation_initial_rotation",x("particle_initial_spin").rotation),this.set("particle_rotation_rotation_rate",x("particle_initial_spin").rotation_rate)),x("particle_kill_plane")&&this.set("particle_lifetime_kill_plane",x("particle_kill_plane")),x("particle_motion_dynamic")){let w=x("particle_motion_dynamic").linear_acceleration,E=x("particle_motion_dynamic").linear_drag_coefficient,y=x("particle_motion_dynamic").rotation_acceleration,A=x("particle_motion_dynamic").rotation_drag_coefficient;w==null&&E==null||(this.set("particle_motion_mode","dynamic"),this.set("particle_motion_linear_acceleration",w),this.set("particle_motion_linear_drag_coefficient",E),this.set("particle_motion_linear_speed",1)),w==null&&E==null||(this.set("particle_rotation_mode","dynamic"),this.set("particle_rotation_rotation_acceleration",y),this.set("particle_rotation_rotation_drag_coefficient",A))}else this.set("particle_motion_mode","static");if(x("particle_motion_parametric")){let w=x("particle_motion_parametric").relative_position,E=x("particle_motion_parametric").direction,y=x("particle_motion_parametric").rotation;w==null&&E==null||(this.set("particle_motion_mode","parametric"),this.set("particle_motion_relative_position",w),this.set("particle_motion_direction",E)),y!=null&&(this.set("particle_rotation_mode","parametric"),this.set("particle_rotation_rotation",y))}if(this.set("particle_collision_toggle",x("particle_motion_collision")!=null),x("particle_motion_collision")&&(this.set("particle_collision_enabled",x("particle_motion_collision").enabled),this.set("particle_collision_collision_drag",x("particle_motion_collision").collision_drag),this.set("particle_collision_coefficient_of_restitution",x("particle_motion_collision").coefficient_of_restitution),this.set("particle_collision_collision_radius",x("particle_motion_collision").collision_radius),this.set("particle_collision_expire_on_contact",x("particle_motion_collision").expire_on_contact),x("particle_motion_collision").events)){let w=x("particle_motion_collision").events;w instanceof Array?this.set("particle_collision_events",w):typeof w=="object"&&this.set("particle_collision_events",[w])}if(x("particle_initial_speed")!==void 0&&(typeof(u=x("particle_initial_speed"))!="object"?this.set("particle_motion_linear_speed",u):(this.set("particle_direction_mode","direction"),this.set("particle_direction_direction",x("particle_initial_speed")),this.set("particle_motion_linear_speed",1))),x("particle_lifetime_expression")&&(this.set("particle_lifetime_max_lifetime",x("particle_lifetime_expression").max_lifetime||""),this.set("particle_lifetime_expiration_expression",x("particle_lifetime_expression").expiration_expression||0)),x("particle_expire_if_in_blocks")instanceof Array&&this.set("particle_lifetime_expire_in",x("particle_expire_if_in_blocks")),x("particle_expire_if_not_in_blocks")instanceof Array&&this.set("particle_lifetime_expire_outside",x("particle_expire_if_not_in_blocks")),x("particle_appearance_billboard")){this.set("particle_appearance_size",x("particle_appearance_billboard").size),this.set("particle_appearance_facing_camera_mode",x("particle_appearance_billboard").facing_camera_mode);var{direction:_,uv:f}=x("particle_appearance_billboard");_&&(this.set("particle_appearance_direction_mode",_.mode),this.set("particle_appearance_speed_threshold",_.min_speed_threshold),this.set("particle_appearance_direction",_.custom_direction)),f?(f.texture_width&&this.set("particle_texture_size",[f.texture_width,f.texture_height]),f.flipbook?(this.set("particle_texture_mode","animated"),this.set("particle_texture_uv",f.flipbook.base_UV),this.set("particle_texture_uv_size",f.flipbook.size_UV),this.set("particle_texture_uv_step",f.flipbook.step_UV),this.set("particle_texture_frames_per_second",f.flipbook.frames_per_second),this.set("particle_texture_max_frame",f.flipbook.max_frame),this.set("particle_texture_stretch_to_lifetime",f.flipbook.stretch_to_lifetime),this.set("particle_texture_loop",f.flipbook.loop)):f.texture_width==1&&f.texture_height==1&&f.uv&&!f.uv[0]&&!f.uv[1]&&f.uv_size&&f.uv_size[0]==1&&f.uv_size[1]==1?(this.set("particle_texture_mode","full"),this.set("particle_texture_uv",f.uv),this.set("particle_texture_uv_size",f.uv_size)):(this.set("particle_texture_mode","static"),this.set("particle_texture_uv",f.uv),this.set("particle_texture_uv_size",f.uv_size))):this.set("particle_texture_mode","full")}if(x("particle_appearance_lighting")&&this.set("particle_color_light",!0),x("particle_appearance_tinting")){if(typeof(u=x("particle_appearance_tinting").color)=="string")this.set("particle_color_static",IC(u));else if(u instanceof Array&&u.length>=3)if((typeof u[0]+typeof u[1]+typeof u[2]+typeof u[3]).includes("string"))this.set("particle_color_mode","expression"),this.set("particle_color_expression",u);else{this.set("particle_color_mode","static");var g=new ci({r:255*u[0],g:255*u[1],b:255*u[2],a:u[3]}).toHex8String();this.set("particle_color_static",g)}else if(typeof u=="object"){this.set("particle_color_mode","gradient"),this.set("particle_color_interpolant",u.interpolant);let w=[];if(u.gradient instanceof Array){let E=100/(u.gradient.length-1);u.gradient.forEach((y,A)=>{y=IC(y);var R=E*A;w.push({percent:R,color:y})})}else if(typeof u.gradient=="object"){let E=1;for(var v in u.gradient)E=Math.max(parseFloat(v),E);for(var v in this.set("particle_color_range",E),u.gradient){g=IC(u.gradient[v]);var b=parseFloat(v)/E*100;w.push({color:g,percent:b})}}this.set("particle_color_gradient",w)}}if(x("particle_lifetime_events")){let w=x("particle_lifetime_events");this.set("particle_events_creation",w.creation_event),this.set("particle_events_expiration",w.expiration_event),this.set("particle_events_timeline",w.timeline)}}return this.updateTexture(),this}updateTexture(){let e=t=>{if(t)this.texture_source_category="loaded";else switch(this.particle_texture_path){case"textures/particle/particles":t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAD4RJREFUeJztXQuMXUUZ3sqrSB9bLLRUHgsUhJZHoUJUQCqI+OBRfOGzbq1KrYgFUdJiYtGqQZClxWCoEcQQUAE3samoxGygvjCmLTSNFVOrhgix6BqgGgr29//u+f/duXNn5sw597F7750v+XLvPXNmzuP7/n/mzDlnt6eni0CMsd6HhCbDJbK5jAy0ds8SRuA7+bq8TLkpapnyhAjknbhGlIfWKSqy3Z6rPLQ/XYlWilikPCRcnrBJ+HECV1T6ykMRXrTcFj+ZoIloRAYJLY8td2UB+zOZoMMQEtTuBlq3Vx2GC5f9Pp28bsTMtybhux4p+rsUtvApG3QpUgboYqj4Kfo7FCGBUWYuL5MJ8gwU22a99RNCODN8EnHy68oAOe3rNprVdkKbg4gOYE5iHsScwpwqnCLLJxo8YKz3t+1w9AYipat869atBK5Zs8ZZvmHDBlIW2S6L9QrhPsJ9mfsJDxTBJ4nQvcxpHvYaZjhI6k4U4+xvtF/ZXplz1LGwRXeZYOucOQTeOH16TZktehETGOLva4i/v4g4WUSFwNOZhzJnMA+zOEN4iKw7VeqqEdQE+6oJipyfjoaK/RyfleeMefLr/lhtAo1+OwOo2Hv27CFQlz/xxBNRJnCIf6AR8So8xH018whmH/MY5nHCY2XZkbLOTMMImhHUBLqdfeo5Zx0F0wDmctsAAm/0m+IDJQxgi3+wRDxEPUrEnsM8iTmPOV94OvNk5lzm8cyjmYeLaaZLNrBNkAyg8PX5RQ1go4ABzLQ/Sfry6ZLaVfi5IvbrmGcxFzDfLHwT8xwpe62Y4TVihFlGNqgyQcy+dQ1sEzjEJ+uzCrYJYsWvNFjd50+1xD+ReRrz9czzmBcxFzLfy3yf8HLmO5kXMy8Qg8yXbHGMYYJe0wSx+9c1gOhKzyrU4zEAANGVRbYrBnilpP1XGeLPESHPZr6D+W7mR5hLmZ9hXiNczvwkc7GY4WLJCmdINjBNMFW2NbHIPnYFKCBuDCbcclup+kbqnyb9NgZ6J4j4b5So/wBzGfM65peZX2cOCG9ifoW5knklcxHzUjHBmWKkPjEWtoGrgwPrOdaOBC3roXpMMOG+B6iMCYzony6ROpuyQd7ZIv6HJMpvYK5h3sX8AfMB4Q+ZdzNvY65mXsvsN0wwX8YEh5tZoOxxdixoO2uxzG2Aijm2Cz0m6d+9h2ACVxmWX79nb4WmSWh0dk+jv08iFpH7Non85RLh3xLhf8p8lPlb4S+ZPxMzrJPscK10F+gOzpKu4FjJAri6mNyYs9ZBCBoAZbt/TaF1QgaA8EDFAMY6Vt+P6MeI/zSJ3HdJf3+DiA+BH2FuZvJIhf4sfJK5hbmROcj8thjmKsrGBG+hbDxwgpkFGnPWOgRmhDvL1QBiArscosIAoKu+GkBNMNJuZgCk5ENFnBNELET/h5mfZ97KvE/E38r8K/MfzH8K8f1vzG1iAhjlm8wvMD8qWeANlM0fHCWZBlcEExp3BtsceRFe1QU4yiE84MsCVV1AdQaYLAaYIeLMFbHQf3+c+UXmd5g/YW4S8f/FfIH5X+Fu5rCYAJng58zvMb9K2cARmeRc5qmUXREcJgZIVwKKvAjPgxpATRC93cwAvTTa/6OvPkdEw4j+a8x7Jfq3S7RD/BeZLwlfFBPsYv6J+Svm/cxvUHaZiLkCzCFgxnA2jY4DkgEUeRGeB7ML8I0DnNvNDHCwGADReZqI9R7K+vCbKRvlszNph6T8/4jw/xO+JJkAmWEn83eUjQVwxYDBIAaSF1I2S3i8GABjjklFj7PjsX79elq7dm3Na1U2dPnKlSud65rLQxhjA0wpf6Y6FDDA0qVLa0ywadOmym982qa44447qsrxO3Z7VDsGMLuAT1HWj8d0AS9IF/Ck1QVcbXUBeilYuWXcqPPWMYAB8HnZZZeNiKiim59mnbzfIVA2D2AaAHMAmPe/hOIHgfgeGgTiPgFmFE+h6kFgMoANM/JN+MTP6yLyYBjAdRmIGcDPUTbdi8vAIcq/DMQEES4DMSt4PWX3B3yXgakLsOEyQAsygN77R2RilG5OBF3BXEXZRND9YoJN0h3oRBAmhTaL+D+ibCIIU8KfpuqJIEwH49kCfUZg//JnqkPhMoApuprAjPB6xgDSvk4FH2p0AzoV/H7K7vytFhN8n0angn8j1KlgGARTwTeSeyoY6X+mmG1yMoCB559/nnQAaC7PS/H1XgVIPXs6WG8GQTjcBv6gmGCVdAd3ihHuF+L+wHeZa2n0ZhDExzgCD46YN4M0+tPNIBMQHgM/c/DXKtDoY2CaBfBsn94OPkdMgEs53PPH1PCXKJsgukWIiMctYtwOxpXDIhHfvB18tER/uh3cNNw+zWmeX9x0Dbmo5ZQ9uq1ZQMcC6ApOFBOcJd0BxgS4P/AJyvr3q4WYL7hCoh5PCl0kkY/r/pNo9IGQkeinNAs4Cn3c2/d7xYoVBOK7zhTOnTu3Vuz1c7wG2HD9FaSfSi2nbCCoz/9Ppeqngk6U7gDP++Fa/u0S3Xg66HIhRF8omQLPCGLEfzpVPxIG8c1HwvZr6ElsV0BoWr2a/n3llaTC3zlrVoV4/h9dwrp16yrjA71fgO9glQkQ/Y9dTK4sMH/2tCrhQSzTcjHARKMrME2A7kCfBjYfCj2Xeb4Q0X62lM2XqEef3+cQX18QSXcCAQiu4qvwpgFU7Mq9AhYfmQC/YYqKASA4Ih/i//327BO/DSOo4Kb4VgbQF0NsE+hj4bMkG8yWjACBT5UoB3HZeLKY5Djp73G5N8MQf2IS3wE76k3xQRV8yZIlIxlAu4SqAWMgA/AJryyH8JXIvx3jMLIN4DKB/UYQjHCECHyMGAI8VpYdKeuYbwhNSeLnwDaAiq/lMAAER8RXbhfLGKBmHOAZA2jk37ro/AodY4BXeExwkMMIh4jAMy3OEJOYr4ZNotFXwvDkcXoZxAcV3RYfQKSr4MFnBTxXARD7uvPOGDEAvlsGmGCZ4ABrXGAaYSr5Xw413xTWdwL3S+JHwiW+jTLPCuRlgBgYQuoloxoCnCzLdJ00wi8D3ytisXj22WdbPomU0EAE3giKwssvv5wM0M6AAUJZIPTHI7Zs2UK7d++mhx9+OJmgXRF6LxDC4/Vx2yTPPPMMDQ8Pk+Lpp5+mXbt20eOPP56M0E5QgUFXlGOZGsRVvnHjRnrqqadocHAwCd+O8EW4vU6oi9ixY0cSv52RJ3Aeir4WnpCQMJ6AQdy2bdtSFHcrIH7IAMkgXY48gyQkJCQkdCV0fJC6iYSEhIQEC/bfHXDB7EaKto86oW2QhaLtJ9QBfeU8BFsUlwl8AuYZxiV4MoEH9ZwYVwSb333RZy4zv9t1XXXs9e1thI4nmcCCnpC82cCY5dqGfoZEscXUTzOluwQ3xbazTMyxpKuVAjBPcCiKbUFcUewzgP0b4ms7LgOF+nOfMXzHlBABTbG+crPMPLl2pPkM5BLUNp4vA8TuS0IL4PsjEyHBQnAJGNOl2PuUdxWSMI5hzjIWySAJCQnjHXn9eLPLExqAmJF96I9NjnV5Qk9cxIROXqg85k/NjWV5giAUGXknr93Lux4pAySUhqvPtX+nMUCCE6GM0oryhISGgLI/ZzcvZ51+Zl+gvDevDVnP20bXIiQATuzevXuXg/juKF/AZYMgvnvKUX8nc8C3D7pOSETZRn/gOLCvQ75y3U6E2WqOs6mg7O/y9QXK+30HLgetArgE6ueyYdDVBi+/iwT47mh7CMJJ+bC5Dcr+zuBCXU+aWWCWG9/nSRshE9wFEwTOQ59soy/URoRJBn3l9n5HgbI/xrwqsFObQU9dPSjngYn4in5H24OGgDUHJqJp+bDVtooyZGxjnlF3uYjfa7Sx3Np2r3wfsPfBXFe2N7IPriiU80iuMrON0LlGWV4WQAM55d72vRXa2QAWqgxgF9oG0Ayh27EMsFPb00xjGsBsi7LI3Kn74DpW41ysIk+alnPtNQBlWStogIgMkTvWKAQa311AlYGotguwscBoe8BhoAGjfKdsf5WKr10AzoccU595HNJMn5ik6ngNgzjPlWxzKCSwGDPPAAtD5W0HauIgULODcMCqO8+IerIHgVSd/RT9RttDhoE2SxubpW6fuc+yn0NiIt+xzrP3wbHOwlB5QgnkGBDRvkrY5yjvF2GH7MjXaDYMNmgZrFey2CrDxF5zJPET2heIgLGsn1AnQgKYHeRYlCdEoFkCOgZJNTdzmlmeIBiPArvKYtYpUj8hEuPRII0oT2gRmmWgRpQntAHqFS+Jn5Aw3hBK2WWXFV03oU64Bl32OpV/P8fwveuny3W9VtZP6Il7hs53cvPKR/7/oKxji2CWuURqdv0EQShF5kVQXoSaAhWJUHP0bta326i3ftcjZYCE0rBFLxLhur4+t5/GAF2GUEYpu6zougmC4H8GrQN/ueoPTWn3vh8/2pR2l9z8WPcahe5ujgkeW/xIU9pdcdO9TWn3kqvv6U4T2Aao/Ndw0GEMLIs1jG0AZAXQZQwsizWMbQBkBdBlDCyLNYxtAGQF0GUMLGt7w9BDPZX/DE431xqg8un4v8GV9ZdlJvB1HxB55enX0oMX3FNjAHyizK6DZSBM4Os+IPIFly6ij332xhoD4BNldh0sA2ECX/cBkU+5ZDGdv3igxgD4RJldB8tAmKAtuw+IXhHyIU+ULxs1QSjibRNAdAjpEhHiqvgqtq9duz5Eh5AuESGuiq9i+9q160N0COkSEeKq+Cq2r922MwE9mJ/GR0yw3Z0hXIhJ42oCW+TQwDEmjasJbJFDA8eYNK4msEVuO9FNRBlA0rxLcB0jaJegy2MMoGneJbiOEbRL0OUxBtA07xJcxwjaJejyGANomncJrmME7RLy2hpXaMQloGtQ2IhLQNegsBGXgK5BYSMiuSMGhSby5s6LTMa42vXNz8f8DtWP2b8i2y96fDHbL1Iv9Ns38ZV3bnKRt5HQ8nrRqHbLttMqA5RtJ0ab2PK6KtabAcpu2z6Brc4AsWhU4DTiXBVGMw3QqPqhdmPSX7MzhM+gjTJA08QvUtm1XpG+ZywiMK+8XTLAuDCAb916Nj7eDdCoDFdvkDViH72V8/odG43cgZj2Y9spU94qA4TqhY6/qeIndAFiU1CMg8ump1ZEeGw93++Oj7RmHUDRdlttgLw2YgwQa5JxibydrzdCG7F+ERHq2Y8y2y7aJ487FHVvGUGL1BmrDJAncDKAtX6ZbZRZNy8D1Zuh8vavawzQrPXL1mkUYgRKBugJH2BeBLq++9aJ3Z8i69eTAfLW73gDJHQ3/g+jo09H5lJXBwAAAABJRU5ErkJggg==",this.texture_source_category="built_in";break;case"textures/flame_atlas":case"textures/particle/flame_atlas":t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAIACAYAAACLuuzTAAAphElEQVR42u3dB7RlVZUu4EMVoUCigIqAZFBybBAapSU1oii0NNqNoG0b29buNiuIICVBcs65iCI556DknHMoMlSRKhF372+uvc45t+7ap6qe743n6/H2GHvce6vOnnuFOf/5z7nmWqdTVVXnL7k7fz0C9pin0znhE53Osct0Oscs3emctnqnc9bfdjrnbNCpTluj0/nD2p3O2et3Osct2+n8ft7OcAH7zt/pnLhCEnD0UrWA+qFzPt2pzv27TnXmJ9PD532mU51aC95n/oKAQxbudE5fMwk5Yfn09vM36lQXfbZTXbZlp7pym5mqSz7Xqcas1NICb71os07lwTPX7XTu3mVUdeeOs1W3/WyW6k/fHFHd+L2R1Z+/PaI6eeVOdHeYgCOX6HSu+vJM8abrvj6ienLMotVLV61fPXniwtXtP5+1uvXHtaB/HVGdvlans/+HCgIM4P17fqC65T9mrm74zsjqkcPmr164ZM3quQtWru7b/QPVg/vPUz17zieqsz/V6RxQEmDAnjp50Wi25t7z29mjFa/e/pXq8WM/Uj165ILVA/vMVV27/UwxK8ME3PmrWSvXkyctUt29y+zVs+euUD134Srxb+9OvLcW/rFolfE4/uMFAXf8ctbqjQe+Xz1/4arVwwfPF/ebj/yseuXPm1VPn7Z4dd8eH6hu/dHMMRaXbOGRqQRcsfVM1RPHLVQ9fNB81U3fH1lNefn06o0Hf1hNePRX1S3/OXPlBXf9erYYyD+uW2jBDd8ZEc196er1q7t3HhW/v3rbP1YP7D1X1X89csgHqyMW65RtQZ89fOcOs3UfmPTMQdU7b95Yt+Y/qtfv+df8z+3GZJT13/X0GUvGYF7+D53qoQPmqa7/lxFVqzHtNFunc+TiyQ4YE5s4frlatWu1HlNr3ymr1feqnXZr/O0cnc5RS9YClkxCPHjyKp3Oqauln26CWgX8bs705qOWSPdJKybjYsb0nyB/twrYc57UbA/rird5mCnTvDP+Jv2uZXuWjGm/BeuHalM9dtkkyNv+uF6nc24NKBdskswaHhiX3ecqCDi0xgOG4kFvpBfuP31jRMVKr/7nmaqrakulxrpbBJSLa8C4ePNOTNsDe81VPV5r5v2/n7O64bs1FnwrCdLKvecrCND3W/9r5pjra7ebKUz4iRM+Wj1+zIcDD+6s1fjB/eYOPNjngwUBms1cb/7hzGGyt/10lurhA+etnjtvxTBjxsQWLv1CpzpuuYIAb31r3LnVQzVwsLpHDp0/WvDmwz+pXrtz2zCye383RyAWfRkm4LqvjaheunK9gLB7R88eXXjxinVrRFqleuyoD1V37TSquvHfRkYXi9Z44aad7luA58vXbRQCXrr6U2HeN/9gZHRPC2jlMAGXbxUgEchzxy8SOr14+TrREteUl8+oJjy2Q3VPjVaHLVoQYKCeOmWxMOXbayh/d9ID8eBrd21fTXzq9/U4bFeNv2Wr6t0pj4eFFs35tp/MUl2z7UzV/Xuktz7zx2Wrp09dPObfuMBDyDwQD7Tk0cPnjxlx6X++Xrh0rXY8+M2oTkffjvhYfS+W7IGvyK7OTY33r21mx1kLY7DLHOnBwz+WbkYTQLJqEnTSCsnYqDzsKOIBM/awlpzw8fQwb+zBU1ZJvwObojHxuHx/4MES6aEAlHUanvDp2rzXTag1+gMFARymBzw4pkajK76UHK2frPTSLRImgLxdSwI4TGTCfeHfd8Kt00o6YWpN5SWfrw2pbuXuc7cAynW1FfJQV3ypE9rIqfDYnO1N/z4yLFQLi5Bmmm6vH2IshDCce3advXqs9srM2P+xBbBmoIcJwE4YDquDPhgKAHnhsr8J7SNMCyDWoYsUBOjfU6cuFkTCB7l7rt794L5zV9T8+hofL/9S4knDBJiq+3abI/qeKQ7LZAtaxCvrnhkxkMMEnFv3jfN8cL95guaEbzx9ya6nHnfD5mHeN9f/d/BHCwIMGgaiqfjAhMd3TphwxSdrmrNNDTAbBsCMv23rGNRiC1jeVV+ZKT7w9uvXRAseO/rD4RPuqMdEVx49YsHQlTZzjnkHrBMe+3X1zhs3hE94d/IjXf701rjzqmmR7fqtHwqH4s3U18zQypvT2LTwg1HJVPNN59k/ZwobjDwTp/Kwo8gPKMgh9QgbZa7ew9w8QTQVJjD1Ih7sNlcy5cMXTR/yEIXJvIB7hwf+b5eSgL3ma95WN5PrumDjZJX8Bf0/b8NOhc16wc6zFwTs/cFEKAAIN0/zDBokvuyLnTBlQrRydBseXPrFBBpuimXub//5LOGt3VRZ63YrEQxQRVGu/McEHHwlrbx3tzR9MIGNaOUBHy4IwH/MP5u/+p9mCnu46zejgv7y1IRhLGKoA0sC9PuhA+aNh2gfQcwYR4ANukSwQYXMwwlGPUUI9U21F6aB4IxAHvu6ryWOBGTNSJErn1FTl7FnLhOGxL1zqqzz9sZTo/wCD+ylOAYiM64ceN5QD9grf9q0wYQl6tBnjfDIY89cukatxQOlh7dg7TT3ABXFef3ebwXFQbI94N/oBKM6c51CC+C+y4CBtnE3f6Eaf/OW8dAr129cTX7uyDDzV/60SfXOhNvLeMClT372sKD7uhPmXKM1RAZtuvfIoR8cjAfPnrt8gvL6J3dmIA2cgaWNA/HgoI90Oge661E+YvEeDuT4AY/2mYF4cHCDB5QlAKXhBSg/PDhooRYBGHjQ/SXTnSP2iKU/mVw7TDi4FrBTSYCAGolAKvBhbl2fGRe6z5TRf63cpQ0PfEh8ALY9zAIZEA7pvmyrhAe7ztFC9+k613V+jUbe7OHwiTUOXPPV5PqNxd4ltg7OzDWbBywe4qH4CcplGmmkcShmMAAm1w4HvE2kIpIPt163gmDdMKjIyDABIJwpc+EYCiu8u8YG3BgOiGIE3WbETAzvQj3HACQCjnoAx/5h6bAJcDb+1q0DXPyte/suUE5ABMXJPOCZPy5TTXnh+IAzPvGJ4xeKJAQeLTkzTABtu6Y2HhAuBYIXMxzmqws52JA/6A+Bu79csGmKF9A6lF/uRDegMyR6/uLVY0yeqCMarGWYANb3xv3fj4zF/XvOGeaLK/BOhPIP9OLe0XO08wMY4G3PnrN8wDn/cNdOs8X8m1qgYzYG4gHYNp0eFICZEdQOjPFYA+MFtg5x3eIGJh2YsFwybXggXvj1bIVBRKAjXlg0UX4jLRh1c/E0lR0g5cWAQwwQROITCUDMiigVJsIFeECYVrbiAdeecwb03uCFO6tngkBWCg+K/EDTvI3r8kYzQED22ByPQTQee8zdkg4EIJDI2zzEsOgAe7i60VLjUMwn6r/wlrqaa0pkOsOt196aDmiBcSimA7XAwx7UfA8BFC6NQLoAG82IdMkwAcfUAqhrDjiYr7+NwRMnLBy5NAkKuFnMYJDM4vLIM+MXr1w3KA6fGHiwR0pYFvOJtCyaWoMqV8bqGJU36z+IuxbU1XhBV4ocadLY/YKx6/sTx380nKzRh4sPHzJf/Dt8ENEME+BDMhhj/7BUxE0SL1fWY0F5Imr7QWJpAKXID26pB0gqVKCV4yQjb1zohIHNs9GaTzQD5hoPEDsFR2hUmYprjW4MxIMpL51cTXxi11BdD8BFSJ1VuxUPdm7iBZjPvdNMUM9jcfFu/8Yr/WrWFn4gyKBQGDsPFIb1qeSt8UhB+X4LDsCDkxv37sMXNnjAG6H5GRPgQRGReFxv86E8YMaBElEuAvFkSYoi3QcUYXGbxRs7pkv6j1fmG5gyY2ql+yRTYXNOiObjyMHOahX2N0MysHuVjAmYIhj5TVQYoLBGCxP8oZbx4kUBgimsNAccVBln5lCoOa9ElalxMQGhb5wIdcWFIvlQByAgjW1ISBJKmYr5RPqdUUcrZLQwFFoIJ3MehU0cXconAstnzv54NPPPdVce3GfucLAeAKo8dkRyBG5doPsGTMIBBjBZH6QHtNHsABSGZZyK/ACYCvNwImGOyIXyaHqOG93n11NZJFlG24eNQz8i678pZA80URebJGWZH6A22AnFoc6iOJoYql3Pjq4NxIMJT+wSVOfhg+bt5hG1zthM/XAxn8i1Y+ssklGJ5oLqr5hiB0b3q1la8CC7dx9mvvpO/7Og8Eo1R9yhhAc8biTmV0+YQIBZiKi9ARaCzMAug9w78PBBD3nY9FJvGkpI0P0SHkh9UBzTiMZ5wBSyyiwAzOFMxXSgWOiSjDyfTnjAvGlffjtLFICVBdRYx4jAl/QHHIggo25FTlBpCdwsIhJrxIt0gXPhqaz45VQA1+Z3/1/MJxoD06b/Bu/OHWYNdWaBuhOubavE2g4r5RMNjuxV9LseOFhAQMbGoDlfSfZiPIYJ0DSOFQbE4sw3Exb6sLfHGGyVwKa43mikvZHvv2f07AEiTDcyO5slnug2lcLj4gJFQHo9gIHGNZz7aTygMQ0VeAYB/WoBkXhhlM5PlqdL7MAUmj5d4ebhgVYUzRmxePnavwsTFmC53ntnXIApRMYftHIgHhgDU2e1s/8SPyAeA/GAoXDv7B6EcbRWwVknTOCVcMRflvCAx4UDmVAIcQ1eRO1N6E+QYGSnonufL2EAUwYcHqKZZsHgGURC2ul+zTzoQrdc4FMpRrqs0QOtgUpspsgPQFUkHTdIAgjzdqrMvJkyXQgBc7YIiIBjw9RcNpGtEyZQa5qIPxURCaBE+nPDdNNC8QOtozw5IUd4MR0IE3PSRfNvrDWQQXm7liFbWhMCSrYAJDKhhI3eTqEMJFUmKFjb51PYU2Tr1hRy/kAkr0sMyJv7860UbpgAIR8cwMypM703dTkFlBdw6EIx5KFA3kJpoE5/DumPjTp7GOBKFQ1fX/heGjRQho1kYmkWLtwsORv6IL9SJhhfTh7YOsuEx3aKUMclf2JQIzmzdeIPxQXLcO2P7dhdjHn5mg2GmHNeUgZzA/GAYzknoW7bVcYDHjfnD936qd85aueRuH41O0X3zt/5oIwePuz3s9ZLBpZNmRBaWMQD/NcDUS7QsJPspf2kJ4Qf0sYPCKB1YbZr9BgKAbkGIa94ti5QxKLkeikRQWUpVaBSPbCWkRgaNS62AB7oqw+5zTltpANcPIOS5dW9Yj7RPxqoDKYe5g8j/NuoSYE0hLOYjEMwmKwPZQ9EO+PvzZIZGw/qXVweENJx4ZBHc8EZohWEa8NmsSYt1JQTkkY41lK2T7lUmGhA87j43W0qW3OqoAsnTuuuyXC8Ub9jzWn1pJlFRDJV+qwb7vOaaYMRzNjDdERXiguWBs4KvwVLa6ypJumM6qlTPtbFRT+ByUELtSzaMmEsxfLxs3X4k6/X7/tOt4yEuh+ycBs/GLNoaJ1+t9myqR6IB4iEPisf6b9euupvY8mkFQ84zKg1+ETCg7x4n117Fw8G0f2cO6RUfmYv7ae/EYzgB6MGCWgSj9561nq9Ah/FDPghAeUFirnTQz5MCJ03FnQhcwb/h2AUBUjxhTWulX6a83A0myaCkbHB0mkxnygij5KJ1RKgMGPONNMbLfKztT7R6HprNHmDZA9cen44W6IWFhVJRH51E1RkL3zW+g06NzUYfupecbFOKKM0wJsxEQDiwxHy9Y3NCW1FXVAmu/HMRgApCzQ2UeDWLCMX65EMXA7z6HtwxnVSOkgrMh7oRjHkobLyBkIdgQdkkvEXkMOGroNZO6XHiyscXDueoAXKBvL1zFnLdceFMhWzulEBuP88XRjrt8S3xp1TTX7huPjd+BQF5NIB7IyA585faZg5x5rrdjNNu/7AGCATr96xbSUxYyzEkPIo08SDyBsul1y8UTf33BnUxh/kE1vTgWOaeAFwwP/+8kL/Rtmo/I4lfjC6ySfmbEWuBAhtXKcBmpUSTy7mEy1Y5kpImseAcgIuWyJdObqtHklEHsujK6Y+R6C5SfID1BmgaFWUE83VAijUl9H4MGukxvnhTDx0o0h1c30iAGFE2TMbTELzeMDG4noj9umtNFGcpP+mMVZ4mhJTpabHLt1WYrnI0IAjh3sAJXJIy6WphAdF38je0dgItLZogqwGjbRAmdlJzQAXIxbzn2uzxQuMy3qrNIABPKuhgK0EA4nINoBcWJxwTXh8p3D5eVyiyLMkQJ9l7mJlayqy/eod/xRR/XtvvxBjUyzy1Eel1QItAp45a9kh5qyS2rpLrENtMqAeKYoYdh4VgmAAXBh7xlLROnGEcRqIB++9/WK34DlXS096eq8oORsYL0gHRqywXFIW831yLi9sapKkz3HqwfnEjydAyX4yNHDVZGiEtxIMAXVURC6fPhzRynoNLqzdV4/UVj6wa9OFXMhkJqh2jhUye9GNXdvwIMdG1JUTyc7V30E8VktjUXTvvM25fcij+WFIK/TKK42FcSg6V1jnrdmNMSJdyYmZfLcukfD5GUgzN8pxknHJpSS8eBFQSI4w7zPJaPJ45G0ZdCPXsRcFkJ5zibFktlnKo4nkcx13xoXiGOif7H4kXGKJZJZIh9lFYZUjj0us+pYEUBSrmfmD/ZaIN1s2ZQ+xxjJvC0d68cr1ogUEYO7919OnLVHdv9ecaeV39ZZlom6o3xQv8czergpAPkEkFy9YfwA/mDR2/5451298//13okqSi8/Cp8kPot8XrBTNDoZShz7PNxtCBuYT896FvP0g+MLyvRpFcfNebflEKb5jluolIXL9QcaDSEiukNx7MX9AQGQ0l06qm+PoUOeV001X+NBiPnHXvpCH/sOBCHVW7quIWjGlA4vJeX3rf+vpzdpKrtPMqVLF0EUBDCTzAEhEgNYwoP6bEy7WaBIANLw9wpu1hppy7O1YMvHkoi3IH+Qwj1kz5bwFJddym1530RpJRi5QWStaiFV3G9bKvTFAsopjoJmidrESi5ScZwOPHrFAuLQYlzVTS4pl58ATkEAkY6D0WMGvixC0X7KOUrWusdgphAcQ8OjhC3RNefILx4YQS4iQm7YW11jefv3aqIIS6mu2Kgg7CAgTjFzTLB8XMxhNZqYaf8uWAWGTnzs8qh3s3xC1N5F7jE0x5HG/evuXe1FK/WYPvf/elCi3nCodMBgPZDF14foUH0xfPpGJGsgjG43r6n+DB1GPtMyAfCIB2CoHAxe6e5hWaghmk5g4YBAeUKZjGg8UznSV3ttDwHKpILpoTBEvrNxn/6v0opRcbu0nayyWFzIQruu0NZt11lVSDZbu9N+tNZoECDa0IDvWbMp5a4ZBVuRRdO/wYEzzcHjk5XuUJ2q5P9Yr+ioaEwYeiYbPpEgFV7igSY8TclyzVctMFTmSN+RSOgTD74JNC1Ryi8ZFC1vLztmCbH7ETTWwordqdd9+7fIQlFcCtaa86rtwqk/UApXDPPGksfuE7ir2jd2XtZBYe16khWQh189ftGqwFBk9+MDNP7DP3LHOlnOsZqY4Bm+Pvyi8sGUSggAI2h/l1/vP083mFTdA4ESqhCc++bu01aAGEy0QbCi3Vjndz1jK9crjL0h9ru0fcECmKU3iIV9TXjxh+viBaTR4040HbFzfsHEal004q3N4pyUH4MGvM6A0myRPasjFscv2BHAqrRsgKEeuhMz2n1nJUc2mST+pfJEfdMP/PizwRi3KtzLs/dpKLKNCcrleyiuDiQfpv3w6DRQWFCMWeBDRSoMJrC97Y0pG1QkReLfyg1xemZfGIqO7VkKivHWTgOIYgKrIYjVLppIRUXJde2z6n+nOQW2DqJ+5oDX2OtbWiGjawyOCl5yTxTITxTFgjdz7uc0uc4akTn/iU3vGnj+ldjyVGSrmUCzS2JJntwAXz6QVNNr8E2kwu0m26pWeF937y9d9JoqaGREyEdUAtUVaQhSQ2yAku1Hcsm3grCVYIpj09N5Rk6QFapa1Sn3We1OeStH9b0YNN2c0nnuf8uKJUdxsnUVL7KTqv167+1+iQqRozs9ftNqQdQR1SdNaMhyGB3IFaavm0JBn4pO7R83WQDwwkIc2eJAdyVF9BkWlI584iO5n/c8P5/2Oee+j/EHRGhlI3mWdLdFDNBRKubVOCmiH1grJpRICnfDxXsqDAFDHiNxSQDu14cHRTXklAcBEC9zGBhIxJGrcyg/yHm/0BrAwaeCSu6ILBBRbYHCY8h8aa5RL4GzdtPT4plWtkJYTEMgFckUzubS8AQjFhREGs7jKowWovrdpOgzgzgTcSg2BS64EKuZQTI/wnwVamLFQwQp5ZqkARBvgGJ9ibp2Jaq7ifkkHxQyxTbPGAt5al/Bn2bx9529Z8XzowHkDfQTbBFlr4NYl4nTDFiVnIhTLifQPNxh34+fCnUMgEKZ+uf9SPVgUANI92O+dp05C5Ou+PVrqE997a2w14dEdAnmUXPdfzkEwRhBq8HpjHa0gF/2XndaTnz8mn4tQxgPaRVWz6R7ZsNNDF+65NTYhxi5aIwMJbrBkz6l29zct1LtlcMoJiFHpzUf1CTisEUDN6YmbgB0G7bjOaRC/a4GmE8Ct00BdGLiDIudO8p5v2JhruQFKKyLlBcu8FMKsczUc68w8oVVA8IN1EqggWKguw7KXia/MOysg045tRRw5DYilUGMuLc5D+cWs3Srao9rCf6NrIUr9gYUZAJLK8UdFWpB5e8GJbSXXTDTigvohAQbfGLuHfpSKHPlJ9YsA5/dt2Txe1xKBYxsEF3BAXg06iVyeO3/F2EBc3M8ED+UIGIv9fAp8URpuvke0T4yAHDYOX+FYJSUd3n9vUnxY/qT/Ydc7b95S0/9/jmLw4fzgxzNXr9/zjfgAT9yfwQjv/MToaBnGYjaK5vzaXdsFmZranAUdr9/77e4xJ9OMF65pNnsAVuMibhh/yz8MjhcCDxbu4QFXRvcP/HBvjxNrFKT/YuaWeOGQRkDXKy+UHuTO0EDOh4AiHuQd19GCxXvEOntkiuaWR2td4aDnsRVzmR46+cmANB8m8OLFFjCQMSv39mow4VgmWDf9rWXQqVVArj/IKQ/GdP3X09IZ1f1DU+BoHIpdUNXAUHK0QhM5VwZEL1RDIOKHLTIgh5KrHqKkarOU0ct7GyXsrX60VkzvVZuookbN9jDX5mbGVzcVAaJ33SwKMO/JfGeNauHAgxpgYldh/VPmny3w2sX9TIhDbDvC0ndLWxKF+zAil+O/etvWMSZnl5Lz6B2v+8b934sPW9UjMF8OEHA6C9rTHH0y1flI9QMQx56mcTd+PghF//X6fd8OsgH2mvKC4UskapDCO9cD99a4s3ve+datK9EMlHbdm0qRh5vzxJrqv37vN7ujL/CySGm79ouXr52WClKOYdr5AxskYxfJD0ZOf/6A0eSYIUz5Q8mMeS0km1uTBvt5CQ92zAKaIPugPgv0MGfi5oSLgLJTPpFl8R43OLyPYMMCLWG1xRbk9ca8nhZVEM3qBpxgytCpVYD/yGurDIY3zsecsdKclNCNX8zSQjBigbaJVnL0zhoJCUxYO41TMeBQg5GLeZAMv3Ppwv8Q0KQI7T4tJuMASt7kkLcg5CDcTzjBX+jG6LaEJG6g2XlLJmuMHbbbpN1VLNNG4mJxnxQQboCZiw9iY9SWaeuN0wdcyDi3r4vFI98syImXLQdosgG0oP/+uxMrdbwie2dHFTcLM9HgB2csFZuFUZv+yy7k2GFZt7L/wK1eF+p+2XrgA/o7/tbkTN9765lIhbBIaOQyM8WSKk20VRuhysXPohhMraH51Wt3fz26VzRnSGRdRQmBPV2AFKjOUP4AKqt2kP6ZoXpl7orVRYy8UCLW+zZYgNZxfW5e6WcjW/DAgznpdlATHxCY8YAgalwUsPOovrTfYr0DFNyw4YCmRa0CNC0vyhHSLbH9+1Rmzm/gC2ymiAcE5MyFD8ID3olOWGuOCtlVmpKqtgxGLpfgIyxe80D2NoZnXj/FEpCpmM0DKHnLDQTKzWdQsWW72VGhdUV+ADS9kRlHpfQXe0uHfgKV2FWzVUvlvJFH729uNj5ZZ7z4s6nwmZFhq+ivmKK4m8j8U1spQSUD+HCcWnb9RtWbD/1XaObYM5aMRbsiPzBVqoUfrUmE89EAB17w/vvvdot57m7qccRURUDJ4Q1os/JvgWLS2H3rkH/NsEiufcqLJ8XAFuOFJ8csEhwgthvU4wGhINDDNcXP9YpaAqFL1hilQ+Nu+kI9YF9JR7t8K8VKvYDjpmFWOcQ0pT6AiDSIfEnpeuuVswbjgS0W2Fj09+UzUqz0wvHTxgP8d/8FezkzeLB/ww8yHjAkOeWfjOy0BxxxRtLCvY2SrJNAmgoTWgX8ZlRvLY2qmhVAK498QrPeBhfYzE/bBACRDCgMivEov+UzEFEq3FpCQcCYZsGSm4ua5c1SDT/X7m8aaFxaU6K5uO/UZhNcPjvNT0w96P6iAyqmw+a3SJXSfj+/OebJT4SDqRNWTI0b6TgHZvu0g9CeHU33b4xIVotu8NrGqVjQBEgk4YW33uqNInnu3aGcbAI+FE8fwIs4VuvtvLAAW/XLGw/8e1p7q1uAR0vaFVf7KBBfKOT1ZrgATMbf+qU41kgcIa5mcOeUtiPBfcsisprgTHfikKk6QrFY6TQCRBzYmKFhArzp8eM+EgEFkhHrKs2Osl4KYNd2c5YrcVAKEEE0AOmbD/90mDm/+dCPhpxaNsQ08wlNebX3jfv/rXr/vYmVIw3ydUc6e7YdDyAQXAQs2NoM8QO5goOa85EObuKGYOsLJCMSuVPjH49oyx98tHc+klnJuXa4QBCwYTOtgJLjA/epq/f2M1lvE5QTtHubeycgl1hyoN7M+hgTC43KwGUTWylm87jsXMiYT3PFCbQi7+Nwt57AIODoL+6DDW5olA9npqEEtybjgg9slWh+LrGESpwuv4l4M/Piyjc652H7mikLgyGIeXNrjImCcXvF3YWgij/klZktY4ILyaR/EFkswvGlYimNOY6zoLZNZxyI3C1YEvD4MR9JR7/9MK16FIv7wJQ3AxILFMIfbIVKswuu3y4j5n1qSUAcOFnjAbt3ozLQpzn/I52heNMWNRF/Pi/iTXUkbHNAAAojg+HGBaa+UB0EpLiDIjaE1Z4INrBECzQYCZYiBJjy0inxguKJLJlkRAK2JlcENLY/Y/FCFzhqZMpH2+Tr/XffHIAHszYZ/CZ3SFlyNQAdgRF4Mjz4UQkPooBhod6qXn/JsfQYX0DQ6Db3TgBdyHU3PPGZTdltrs3xf63ZPCZ6YnNKY2zJWjmZtC3bsf7WVEm2nsAgAZErA89ct7d3J+8aCGyoDYxfLBb/axrzBWFMNp/WxCoFHpCagRFeXHsPfrBpCvFBuzf6O2HBHBGUc77AprifydSxwmCn305HnjEkFJ/us05KpkXF487Mcd5VKLSlzlJfVrxk/CkW4Uy6GC9olnjZPmfhDiaiJXQ/9L/21IxNUtJsFY8z4f+9ifrCA1yJSQu4UwJihVgNbFIDww9Q0E+jbX8fi9P/d968tW9X0XmxfFiMFziSSLhsmU6g4MKFOJYMHOQ+6ZkDYulAYVP/DsOuACM78YnfxlzDhTik/Rdlc8Zgy+sLTV9deYWnHxNsjOqHs4F4YEoRqsnPHhrpUaffT3xy9LTjhf2bVT20L045Xz0ZFwLOL+7S5t4JoAuHNfECMIl9fmsny8xVca3ZPCbaX7ggRoidBGv0Tl8gdGDFNBTKOyfyvqa8i+K0ZntW63koIhHAkbcr541AzBpTj53HX0zJiKJ71zd4kA8OUW7MxXuQTtzUHIUGcIpr76hLzurHkQWfTUcA0oVHmxN/aapBLQKKZsV+pmZTFNsXvdIBQuIwhW3TksERi7es/rO8Sxt2Ql0FHxBJjtHtnCT/VtwwzaVrcj7KJI68a75/Qn7ttbu+FgU9AIaQ4ecrr5+2J8aiRHN6JXrDwb4z4c7q7VcvC2sEKsX1RnAdG0PzcXc1GmHtL162djXuhs9GpdALF68RY1PcTQRUURrJlrxx2si//doVQ8uJ7tquHLFIvPeXFOetWfkchIgVHvl5VAlpVet5KPksZTOiC8ZAblFu4fX7vpv/vx0PXrvzq90NkeBMK0xlXkb+K/46lf+jArj12FS/YWfaY5D3+fc7HDAP7vtP6GoVEAdqbZFyBhSKI6HSNLPfIxUFnNtsyxRcRPqvftjae7YRDpeptwpgfVnP46ifbdLOonygCoHMvVVArPB9pTlEpDlxwRjIr/GT0gLApXVrHhwgAPEGX3BQtaBtSW6eqjn9vNwCpYP6GMnY7VLQIfHAH8pisBWCWwV4AHS71R/AQXU4/ZG7vGKrAEm4tLb43Vh7DbJRRzHvvze5emv8RTU72TwOIWtdLhSZTXj0l/HdC1ia/nqjzAZchEzNV6qUWyC9IZORippXiJxinFTV1GdCqOmOFyK8uWaDdIjKRmn75sD8wf9wPGCF+ZykaeNBczh7xgJOJrhhc+L1dLfg4iabRZm4uTjJcfMZEABQQHlUAXw5WSiB5w06FyfQ6HPJKwu28hlikSKvY+sIzr87sl2ANwEM1ujt3ohkWCaz/5+m3vSDAQKYsiZqgcBD0BFni9b2wKydv96/8j9MAIdKSHClL6fwhxGl7br7BCb0xwrDBMidMmVNNnhR+VD7Q9VBMpsZka7vOwNgKKD8dvbqpWs+Xb1657ahOGIGgyeX4Bty7Gno33owRID8oQ/nXcX6ba1Rt3AikJ7N2WyUz09svoclXzKbAJZ2KniarvxB3mqRs7k5d5I2Rmzy/yoegLR+bjjdAuIUwy063e1o/edjTVNArj+IY7+27R2HOkMtyMuF+SDOafOD5tyDfibq9zi4/aep/HTguXn5VLZYoNw4vZn90404zL9W6f4y2+EtaFb1tQKkRXGb5fMD5ombJU6Ni0MEaF7etg1YojqwfrPAm5eyWDEQkVREWWezwmfA8jHpSgd8/Zxgg4X2t2KIAAZjCwL40oW8ZAgnopa5ZuqKe4otSDHRbLFQ6dJn/c8HVzPn5mTjISeSDImZpq56QPdBW5rKXhmBFHGxC4AjFy0pr071Rxd2M5t9JQXtmjj+5i/2cODmL+QCpmmvL/z14kEoVXO+7AwL4BfDGrfsDKG30y0gBxp5xe+CTTv/a4N4deOlKNTULRnW3yFd2Dj5SLkkkTvH0l/EMrAFQDQHHfyhm7fuL+Qpuvf+38VIHnRsOkPiuQYiEvOV/vSmvGCr7zYICsxxheu2HyAAJ87fApMPaoYRSq4xdOBiLIoCMDDmCnXygSIe1irMnS5gbHxma7WwN9mC1TPbObpQzlLVYeQTjIoCOBBZG0mHbJUsMm9FQHGUD/R/hcIQAdZWm69U69r/1PsbtWqgHuQERL6UVOWrKbv8v4AHJac63QLow4Wb/gUC8gGc/1sgrT8dPN0CaJ2bWnO2U5v84IeboIOKu5uilukMODZIrMRygA0wdADJmHpAh72RN2aywRHETCoBDl+ga4lT05yh/KBGIN5Y2iNXSTIiLh2sUeOm1K7TuvaOG8gf6nOcAL9VonpuY9Ac71EWoL/ZgSovBqLZ9s1CPhukuDwQMVPdBUTKGusLl60dG4DsmBD+vzvpvvjd8Qb9X2rSfdgpTOCsf18z+1eP1d1B8dKYCMJa8cDDk587Yipzfrb7O1Cd5nnrjnGylzP2ONaEq3ugQk19ZkiR/oflD/4iAeds0A4m0xSQg45sgedsMIOAgpVIiUU68Osj8v6WdgH5CJOcM8QRaJ0Kodhp5PzxjQfhweYpOsmUngBY4M00EKCgOwMTEOyeReIF0l9iaTfhzFtrBuKBDYJvv3pJlBx7sybzym7B+ZsP/7g9XgAeKL83Ml0JeRZKoJsQXwpXXB7IK555G5IHLE42AXd3V5EMbz+0dwXgAJaDZPQ9nDKY/9n9XeWDHRRTf8Py0PMPXjk7ciUTn9ojHs5nIr07+bF4WGpkmvsbdcWcT315sKlF+P94MMMRy4Z/AR5kitP/ZR8zTjCaL3VwX/+NEdNeoBgSiNbWl0uLGFr+/oWBCUnuWzGfh+TO5BCdTJQXLJovCm6PF+IraGshCIWHCXE+CCGKHG/83sjBLYivIa2FeNjt7A83KyWk/4tMhn3/gv07Hs5N97M5PCRa4cvUb2hrgSUQC3TOTLNEkIXk73Wd+ORuwR2MQ0s+ccGAK1/4qkzCbkq3tVatkEuI7+3ZZgCoevufv5O+sMXD+fwTh7FqkfoDPwcqkpZoQd7TmfOKHm5Oaxny+f8Gd0TMRx2PYswAAAAASUVORK5CYII=",this.texture_source_category="built_in";break;case"textures/particle/soul":t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAACwBAMAAAD0wfO8AAAIdXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjarZdtkjQnDoT/cwofAQRCcBzER4RvsMf3Q3XPvDNj79qO2Knp7mqqGoQylakK+z+/n/Abf5JqC0Wt1V5r5K/00mVw0uLrrz/vKZbn/f0lfpx8Gw/+cUEYynzm11cb7/sH4/rrBx9rJP8+Htr7irT3ROlz4ucv35Xv+foaJOPyGk/lPVHfr5Pam30N1d8TzfeNTyjvV/kM6/Vxv4dvA0aWlrJQFtk55fi8l1cE+fUavDLv9yrxMnZHLPChub4nIyHftveZ2fg1Qd+Tb++t/cz+59mP5Mt4j+cfuawfE9W/vpD0x3j+XEa+LpzfZ4HhbxdKivan7bxf56x2zn7tbpRKRuubUU+y08c03AitSn5+VjmMl3Juz9E5WhxxAvmKMzrHTD0JeT8hlbTSSCft53OmSYhFthifIlPyM9aySZeZL07lHumI5Z5XbuA2ZQegLFk+Y0nPuv1Zb6bGyitxqyQmu1D/1yP8r4v/5gjnzJuiFNsrT/CCuOTymjAucveduwAknTdu+iT443jDH7/wB6qCoD5pbmxwRH9N4Zp+cSs/OGfuUz5fJZSCrfcEF3nWIpiUQSDWlDVVyCBiKZHHBkCDyCUXcRBIqrIIUkrOVYJJk7s2v7H03CsqVe4w2gQQFFA2sOl5AFYpCn+sNDg0NGtR1aqmLWjXUXMtVWutVq/IDctWTK2aWbNuo+VWmrbarLXW2+jSMxqovXbrrfc+hoTBQoO5BvcPRlw8e3H16ubNu48JfWaZOuu02WafY8nKC5lYddlqq6+xU9goxS5bd9222+57HLh28ilHTz122ulnfKKW3mX78/gXqKU3avIgde+zT9QYDWYfU6QrJ3oxAzEpCcTtIgCh5WIWWypFLnIXs9iFolAhSL3YhJUuYkBYdhI96RO7X8j9I9yCtn+Em/wdcuFC9/9ALgDdn3H7C9TW9bn5IPaqwpvTmKk+ru82Qq+r3sSQ9Cll47YiI0n2Wra4t25TfBirlrrcrs+cqG59tmOzGvW8fXQLUtpoxOw1NxnS2Gjraba9kg9nytTLpgoJ33SZjansNfW6d/KZtk3galNCPD7hDJCcrpYTaQelkYycH+7wbCrloKNzWcl2doKwdQJaPZI7virKwmEX80ooWn0PndbHQnDHSkUhSEmj73S8F69LtXiHj23Uy8p5ZE29VDugGkBv5FkPSqAAWVSM35aOne7ekm6rUPzxFsiT1Uh8RG1Yt+EMlUsNepZgFdmRtla31FdPpbabKazfddji3+shf9HbXWTXmrnV+9hLtk+WBYiOjEyqSOuMt4JX29a2N6mOP8QK/2TpoBY6bmLTF2dijv6kwa09VSi1vIBzGBpHdos+LSlEO+aSlQwy89zpFR8u1ijQcfcosV0Uy+nbumygkTKWB/hAOkAFTleIO8rC1Rq3UmA1Up9nxO0wWKyRSPOSO8XV21mw+pDMu4kTdlcht3VTirL2jYuqdMuAq8A4L8o72+OdwPzwTIwEHT+ex+Es17oDE0peUC9fNFrxM4d7px4JfK1GK6dAPfqMG6otk3QXaoOE4/+rzgJTLYb7DuM2bjy3yWUP5qqFiXJxp1PdchAKq6gSBtT9xF3daRRaIZNEVk6lqx2r8B2aJCLLm00fBUDV1ePWm7lZ6Rd3bgBuZZ1UKTs2fTpSAz/RhshIODFv9i2l+2pDobuiI/x6LXoOdARQ4jSZtJhGUSZuIc0E5gcywfKZxcnR4kf7MrAUZEgTFVrRRXHZD6NRyz5OgZ6LvnwTE40lqAiZcOphprOMfi5UxTbZwslUsqObzbebomqrD6pi7dFI+dr3GlKuJB5aLerR20LkUqs2aglQlF7oJIeNqMZCGk5VPY4RVKgHoPB7FKhONQzwQVbgY2NH6E9BVIFxr+CYBJplRKaGwp45rRz8YZZ9xOlR2HrZeZAdWrFCMYKXnKIuy5ykoTd5tABV2EaRmYZiZGRoRVwi5Z7cwHGeSoryAVdqEMXOOmjG48ZfG0SjrCN1r3QjayvayLOF9bxJ/eJT24IelP66muMO8vD6WLoKpNEmYGbS0FzGpCVsK9CLOI4JVSrdolWIsG7FzopMZsLBXNCTmrtRhPE6C7CnMvcqiAZZB+mTS0CGiH9dKiDVBMdDQx83bcisjrIb+geT2QfXOoV9MD3qC6KXW63KzqFpKGeiRytlUDgDhdrwkbIxPKOwa0CL+OccdbN+RdmOg+w0Jsj9RDyEgmgWBo0CCNKzGkHoak3YHwJV6JjxvzUd8oEOv5nw71ondYm+07EjQfQAIDM3ET0aDAhb8OoK8JdRJHXUziU7zFSx7ccOCuSEVPhgjs0nbjX71jtDYMPEuRUP6iQpYUWO7SFkhkKePGTCyJnWQHit7wsbWtucXPA0gcGcZpY17N1PohrQguw9+qI0EEG6ebR7ttT6uStjHqjjrb0l8AiJpaXxcTN34xkrwDEy87gYfEvqiPbGsckowqNOLwDtk9P4kOe5eAwweolClrD+NmYcDvNGkIojUqSicxEdTgO1MxyHZgdf5lbq6iaVR4kZKUtARGCvDCbsFjc518TC4xIXr+YJQfQI7RZ9JA9u1ASJ15LwAgwEQ8UeScmwLQRI5zAzuV/jdjihpk470LcU2izkrTXUgMXQPpunTR7bT8EhMAglcQeYUgE0BAQp0Y4a0p54D3QP7cw6oCrClprqiAPVwAWA7yayLz/0Oa9OJS66HD3aDuzEROJEoGhrNLB16shvg5lhMdVfomjpk9/yNmkktF4FgGbuq/LMTT3RTRwDT7qsxoMkEh5kVnZGF8iDxaY8aCInQcItgO4DiVEBCGTKu1XUdUHR3Fu+9NT7ZPhk+T7Tvk6wl4NxxPAHEAlIrd57gtcAAAGFaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBiG36ZKS6k42EHEIUN1siAq6ihVLIKF0lZo1cHk0j9o0pCkuDgKrgUHfxarDi7Oujq4CoLgD4iTo5Oii5T4XVJoEeMdxz28970vd98BQrPKVLNnHFA1y0gn4mIuvyoGXuFHiOYMghIz9WRmMQvP8XUPH9/vYjzLu+7P0acUTAb4ROI5phsW8Qbx9Kalc94njrCypBCfE48ZdEHiR67LLr9xLjks8MyIkU3PE0eIxVIXy13MyoZKPEUcVVSN8oWcywrnLc5qtc7a9+QvDBe0lQzXaQ0jgSUkkYIIGXVUUIWFGO0aKSbSdB738A85/hS5ZHJVwMixgBpUSI4f/A9+99YsTk64SeE40Pti2x8jQGAXaDVs+/vYtlsngP8ZuNI6/loTmP0kvdHRokdA/zZwcd3R5D3gcgcYfNIlQ3IkPy2hWATez+ib8sDALRBac/vWPsfpA5ClXi3fAAeHwGiJstc93h3s7tu/Ne3+/QBhGHKgiWrVHwAAACRQTFRFAAAAAAAAW0U4alJEeWFSNSkiSTcsAaesC4eKYPX6////AAAA22T4vQAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AMKCwgGRPOpXAAAAWNJREFUOMu9k8FKw0AQhpeNpsSnCFmo15BNKZ4z6QPY1FJPobYRPRVsDHj1BXop0t6lxKcUnH8KjQfRBPeSj9nd+f+dmSjVepmIvzpO/C9wsjRkIGLQacZbKh3j1uC6cV1p/2ctizNOhlsxIZTSGJAlLDrIsGXksLYhwIjWXDIXAu5v3k7IfJbi7QsCLAk2lgTVRSJ+bL/59FDEjzXI2zWlsEg4QS8GRAmXUMBYuDe+6aMD0oNcdbvcAE+em4hzB058w1KWRgyGCHWhDKerBPdfw279FIEMQODLcCBkLGonxvRwylb1VcWgLkdho3OtDeWnI+CtIi7Z/gBjL/UT96vcrhni9dqiyxg2Vdz9RX2/4e/5R43Ae802trOKM5fTIUfcKabWGfvwHPQBumhVBLHh3c4YeuKnNzngTPkGuF8Bevm3P7fd+O7ExuMDFPai/rwRraO6akLnayewFfULiXjqn9cn1VpFD84lOSYAAAAASUVORK5CYII=",this.texture_source_category="built_in";break;case"textures/particle/campfire_smoke":t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAADACAYAAAANzeNOAAAClklEQVRo3u2Z624UMQyF91URgoqi3ujSG70tqgCB4JWDXOlUpx47dmbUVav1j6NMMj6fnZ0ks9uuWmurJVoVIAZcnx23WQAxRmYXALPWYsDnj+9aCiCBIpjQpgEMYaWnoE2eOayglnIBFgHuLr801hBAmyPQs87hp/etB7AgLsCDyXh3ChLAYhjGwg8xazYBvI11NXUe7B5g823doGEAmyOQaZR3YRYyMR/tf3AhGDMBYoS87IC4UxCzBKC1siOJC+hVgjEXwBAvM5vdx8iBuqqhlRiZaze++Ha+PmuiWQCYtRYDLNCwuQvImDVk8jVfbp4c7LlGxJgAMUIIRMtgaUMAmwEUsdkEMAgGQKDuU+BAS6l1wMGesbbztgDyPni4u3hSGsAmiGFdgGXWkNkAazpDZmsaT+b10X7KjDgTwBmsa5ilNQEcoCG4D5kAngoqEmmzCeAqPHEi9zHqYC9zuJS9jHUebBPwc3PVtIZ/cLAZ/RBgZe5VMmxOA/QUMHZ+cvAMMjGzUYJ1H+0EgGAE4dqTOQXc0MEa1n0KvYza3F0HvbJrN74pwO/vNw1KA2DAWymCuBk9uYDIyNXMAoguTg8fZQLkBmdCX1oZg9kF4CDVZgh/+ugCEKCNXnZ3HSBQt7WZCjAL8OfhtkFDADHgQIkg3awA4frq63FLAXTmXhUTgGTh7LqfAmgBlJoCIBo2ex1EZ0LthQK8PODvj/sGDQHEIBuIATfnp7mlzCYNSm1nyaSzowKrCnMKCGal/kkDM1fC/VqJBdhFwO3luv37tXnU8DcUNuN6GCCSzICkv+JoCDRUQXQG1EIqwK4AsAewiYbPAz4TeuYUoHcWhJ9BZK51UIACbAuAA2X47WxBFlVQj/G1A/4D2cRpqoNd7bwAAAAASUVORK5CYII=",this.texture_source_category="built_in";break;default:t=v5,this.texture_source_category="placeholder"}this.texture.image.src=t};if(typeof this.scene.fetchTexture=="function"){let t=this.scene.fetchTexture(this);t instanceof Promise?t.then(n=>{e(n)}):e(t)}else e();return this}};Qm.types={identifier:{type:"string"},file_path:{type:"string"},events:{type:"object"},curves:{type:"object"},space_local_position:{type:"boolean"},space_local_rotation:{type:"boolean"},space_local_velocity:{type:"boolean"},variables_creation_vars:{type:"string",array:!0},variables_tick_vars:{type:"string",array:!0},emitter_rate_mode:{type:"string"},emitter_rate_rate:{type:"molang"},emitter_rate_amount:{type:"molang"},emitter_rate_maximum:{type:"molang"},emitter_lifetime_mode:{type:"string"},emitter_lifetime_active_time:{type:"molang"},emitter_lifetime_sleep_time:{type:"molang"},emitter_lifetime_activation:{type:"molang"},emitter_lifetime_expiration:{type:"molang"},emitter_events_creation:{type:"string",array:!0},emitter_events_expiration:{type:"string",array:!0},emitter_events_distance:{type:"object"},emitter_events_distance_looping:{type:"object",array:!0},emitter_events_timeline:{type:"object"},emitter_shape_mode:{type:"string"},emitter_shape_offset:{type:"molang",array:!0,dimensions:3},emitter_shape_radius:{type:"molang"},emitter_shape_half_dimensions:{type:"molang",array:!0,dimensions:3},emitter_shape_plane_normal:{type:"molang",array:!0,dimensions:3},emitter_shape_surface_only:{type:"boolean"},particle_appearance_size:{type:"molang",array:!0,dimensions:2},particle_appearance_material:{type:"string"},particle_appearance_facing_camera_mode:{type:"string"},particle_appearance_direction_mode:{type:"string"},particle_appearance_speed_threshold:{type:"number"},particle_appearance_direction:{type:"molang",array:!0,dimensions:3},particle_update_expression:{type:"string",array:!0},particle_render_expression:{type:"string",array:!0},particle_direction_mode:{type:"string"},particle_direction_direction:{type:"molang",array:!0,dimensions:3},particle_motion_mode:{type:"string"},particle_motion_linear_speed:{type:"molang"},particle_motion_linear_acceleration:{type:"molang",array:!0,dimensions:3},particle_motion_linear_drag_coefficient:{type:"molang"},particle_motion_relative_position:{type:"molang",array:!0,dimensions:3},particle_motion_direction:{type:"molang",array:!0,dimensions:3},particle_rotation_mode:{type:"string"},particle_rotation_initial_rotation:{type:"molang"},particle_rotation_rotation_rate:{type:"molang"},particle_rotation_rotation_acceleration:{type:"molang"},particle_rotation_rotation_drag_coefficient:{type:"molang"},particle_rotation_rotation:{type:"molang"},particle_lifetime_max_lifetime:{type:"molang"},particle_lifetime_kill_plane:{type:"number",array:!0,dimensions:4},particle_lifetime_expiration_expression:{type:"molang"},particle_lifetime_expire_in:{type:"string",array:!0},particle_lifetime_expire_outside:{type:"string",array:!0},particle_texture_size:{type:"number",array:!0,dimensions:2},particle_texture_height:{type:"number"},particle_texture_path:{type:"string"},particle_texture_mode:{type:"string"},particle_texture_uv:{type:"molang",array:!0,dimensions:2},particle_texture_uv_size:{type:"molang",array:!0,dimensions:2},particle_texture_uv_step:{type:"molang",array:!0,dimensions:2},particle_texture_frames_per_second:{type:"number"},particle_texture_max_frame:{type:"molang"},particle_texture_stretch_to_lifetime:{type:"boolean"},particle_texture_loop:{type:"boolean"},particle_color_mode:{type:"string"},particle_color_static:{type:"color"},particle_color_interpolant:{type:"molang"},particle_color_range:{type:"number"},particle_color_gradient:{type:"object",array:!0},particle_color_expression:{type:"molang",array:!0,dimensions:4},particle_color_light:{type:"boolean"},particle_collision_toggle:{type:"boolean"},particle_collision_enabled:{type:"molang"},particle_collision_collision_drag:{type:"number"},particle_collision_coefficient_of_restitution:{type:"number"},particle_collision_collision_radius:{type:"number"},particle_collision_expire_on_contact:{type:"boolean"},particle_collision_events:{type:"object",array:!0},particle_events_creation:{type:"string",array:!0},particle_events_expiration:{type:"string",array:!0},particle_events_timeline:{type:"object"}},hf.Config=Qm;var Oa={roundTo(i,e){var t=Math.pow(10,e);return Math.round(i*t)/t},randomab:(i,e)=>i+Math.random()*(e-i),radToDeg:i=>i/Math.PI*180,degToRad:i=>Math.PI/(180/i),clamp:(i,e,t)=>(i>t&&(i=t),(i<e||isNaN(i))&&(i=e),i),roundTo(i,e){var t=Math.pow(10,e);return Math.round(i*t)/t},getRandomEuler:()=>new kd(Oa.randomab(-Math.PI,Math.PI),Oa.randomab(-Math.PI,Math.PI),Oa.randomab(-Math.PI,Math.PI))},VC={x:new we(1,0,0),y:new we(0,1,0),z:new we(0,0,1),n:new we(0,0,0)};function _y(i,e){let t=i.indexOf(e);t>=0&&i.splice(t,1)}var Vae={r:255,r:255,b:255,a:1},Fae=new Ur().setComponents(0,1,0,0),C1=class{constructor(e){this.emitter=e,this.geometry=new Eu(2,2),this.material=this.emitter.material,this.mesh=new Ga(this.geometry,this.material),this.position=this.mesh.position;let t=new Float32Array(16).fill(1);this.geometry.setAttribute("clr",new un(t,4)),this.speed=new we,this.acceleration=new we,this.facing_direction=new we,this.add()}params(){var e=this.emitter.params();return e["variable.particle_lifetime"]=this.lifetime,e["variable.particle_age"]=this.age,e["variable.particle_random_1"]=this.random_vars[0],e["variable.particle_random_2"]=this.random_vars[1],e["variable.particle_random_3"]=this.random_vars[2],e["variable.particle_random_4"]=this.random_vars[3],e}add(){this.emitter.particles.includes(this)||(this.emitter.particles.push(this),this.emitter.getActiveSpace().add(this.mesh)),this.age=this.loop_time=0,this.current_frame=0,this.random_vars=[Math.random(),Math.random(),Math.random(),Math.random()];var e=this.params();this.position.set(0,0,0),this.lifetime=this.emitter.calculate(this.emitter.config.particle_lifetime_max_lifetime,e),this.initial_rotation=this.emitter.calculate(this.emitter.config.particle_rotation_initial_rotation,e),this.rotation_rate=this.emitter.calculate(this.emitter.config.particle_rotation_rotation_rate,e),this.rotation=0;var t=this.emitter.config.emitter_shape_surface_only;if(this.emitter.config.emitter_shape_mode==="box"){var n=this.emitter.calculate(this.emitter.config.emitter_shape_half_dimensions,e);if(this.position.x=Oa.randomab(-n.x,n.x),this.position.y=Oa.randomab(-n.y,n.y),this.position.z=Oa.randomab(-n.z,n.z),t){var a=Math.floor(Oa.randomab(0,3)),o=Math.floor(Oa.randomab(0,2));this.position.setComponent(a,n.getComponent(a)*(o?1:-1))}}else if(this.emitter.config.emitter_shape_mode==="entity_aabb")n=new we(.5,1,.5),this.position.x=Oa.randomab(-n.x,n.x),this.position.y=Oa.randomab(-n.y,n.y),this.position.z=Oa.randomab(-n.z,n.z),t&&(a=Math.floor(Oa.randomab(0,3)),o=Math.floor(Oa.randomab(0,2)),this.position.setComponent(a,n.getComponent(a)*(o?1:-1)));else if(this.emitter.config.emitter_shape_mode==="sphere"){var r=this.emitter.calculate(this.emitter.config.emitter_shape_radius,e);this.position.x=t?r:r*Math.random(),this.position.applyEuler(Oa.getRandomEuler())}else if(this.emitter.config.emitter_shape_mode==="disc"){r=this.emitter.calculate(this.emitter.config.emitter_shape_radius,e);var s=Math.random()*Math.PI*2,l=t?r:r*Math.sqrt(Math.random());this.position.x=l*Math.cos(s),this.position.z=l*Math.sin(s);var c=this.emitter.calculate(this.emitter.config.emitter_shape_plane_normal,e);if(!c.equals(VC.n)){var d=new Da().setFromUnitVectors(VC.y,c);this.position.applyQuaternion(d)}}this.speed.set(0,0,0);var u=this.emitter.config.particle_direction_mode;if(u=="outwards"&&this.emitter.inherited_particle_speed)this.speed.copy(this.emitter.inherited_particle_speed);else{u=="inwards"||u=="outwards"?this.emitter.config.emitter_shape_mode==="point"?this.speed.set(1,0,0).applyEuler(Oa.getRandomEuler()):(this.speed.copy(this.position).normalize(),u=="inwards"&&this.speed.negate()):this.speed=this.emitter.calculate(this.emitter.config.particle_direction_direction,e).normalize();let p=this.emitter.calculate(this.emitter.config.particle_motion_linear_speed,e);this.speed.x*=p,this.speed.y*=p,this.speed.z*=p}if(this.position.add(this.emitter.calculate(this.emitter.config.emitter_shape_offset,e)),this.emitter.parent_mode=="locator"&&(this.position.x*=-1,this.position.y*=-1,this.speed.x*=-1,this.speed.y*=-1),this.emitter.parent_mode!="world"&&this.emitter.config.space_local_position&&!this.emitter.config.space_local_rotation&&(this.speed.x*=-1,this.speed.z*=-1),this.emitter.config.emitter_shape_mode==="entity_aabb"&&(this.position.x+=1),this.emitter.local_space.parent&&(this.emitter.parent_mode=="locator"&&this.speed.applyQuaternion(this.emitter.local_space.getWorldQuaternion(new Da)),this.emitter.config.space_local_rotation||this.position.applyQuaternion(this.emitter.local_space.getWorldQuaternion(new Da)),!this.emitter.config.space_local_position)){let p=this.emitter.local_space.getWorldPosition(new we);this.position.addScaledVector(p,1/this.emitter.scene.global_options._scale)}this.setFrame(0);for(let p of this.emitter.config.particle_events_creation)this.emitter.runEvent(p,this);return this.tick()}tick(e){var t=this.params();let n=1/this.emitter.scene.global_options.tick_rate;for(var a of this.emitter.config.particle_render_expression)this.emitter.Molang.parse(a,t);if(this.age+=n,this.loop_time+=n,this.lifetime&&this.age>this.lifetime&&this.expire(),this.emitter.calculate(this.emitter.config.particle_lifetime_expiration_expression,t)&&this.expire(),this.emitter.config.particle_motion_mode==="dynamic"){var o=this.emitter.calculate(this.emitter.config.particle_motion_linear_drag_coefficient,t);if(this.acceleration.copy(this.emitter.calculate(this.emitter.config.particle_motion_linear_acceleration,t)),this.emitter.config.space_local_position?this.emitter.parent_mode=="locator"&&(this.acceleration.x*=-1,this.acceleration.y*=-1):this.emitter.parent_mode!="world"&&(this.acceleration.x*=-1,this.acceleration.z*=-1),this.acceleration.addScaledVector(this.speed,-o),this.speed.addScaledVector(this.acceleration,n),this.position.addScaledVector(this.speed,n),this.emitter.config.particle_lifetime_kill_plane.find(b=>b)){var r=this.emitter.calculate(this.emitter.config.particle_lifetime_kill_plane,t),s=new we().copy(this.position).addScaledVector(this.speed,-n),l=new we().copy(this.position);this.emitter.config.space_local_position&&this.emitter.parent_mode=="locator"&&(s.x*=-1,s.y*=-1,l.x*=-1,l.y*=-1);var c=new im(s,l);if(r.intersectsLine(c))return this.expire(),this}if(this.emitter.ground_collision&&this.emitter.config.particle_collision_toggle&&(!this.emitter.config.particle_collision_enabled||this.emitter.calculate(this.emitter.config.particle_collision_enabled,t))){let b=this.emitter.config.particle_collision_collision_drag,x=this.emitter.config.particle_collision_coefficient_of_restitution,w=Math.max(this.emitter.config.particle_collision_collision_radius,1e-4),E=Fae,y=new fl(this.position,w),A=new we().copy(this.position).addScaledVector(this.speed,-n),R=new im(A,this.position),j=E.intersectsLine(R);if(j&&E.intersectLine(R,this.position),j||E.intersectsSphere(y)){if(this.emitter.config.particle_collision_events.length){let F=this.speed.length();for(let O of this.emitter.config.particle_collision_events)typeof O=="object"&&O.event&&(O.min_speed&&O.min_speed>F||this.emitter.runEvent(O.event,this))}if(this.emitter.config.particle_collision_expire_on_contact)return this.expire(),this;this.position.y=w*Math.sign(A.y),this.speed.reflect(E.normal),this.speed.y*=x,this.speed.x=Math.sign(this.speed.x)*Oa.clamp(Math.abs(this.speed.x)-b*n,0,1/0),this.speed.z=Math.sign(this.speed.z)*Oa.clamp(Math.abs(this.speed.z)-b*n,0,1/0)}}}else this.emitter.config.particle_motion_mode!=="parametric"||e||(this.emitter.config.particle_motion_relative_position.join("").length&&this.position.copy(this.emitter.calculate(this.emitter.config.particle_motion_relative_position,t)),this.emitter.config.particle_motion_direction.join("").length&&this.speed.copy(this.emitter.calculate(this.emitter.config.particle_motion_direction,t)),this.emitter.config.space_local_position&&this.emitter.parent_mode=="locator"&&(this.position.x*=-1,this.position.y*=-1));if(this.emitter.config.particle_rotation_mode==="dynamic"){var d=this.emitter.calculate(this.emitter.config.particle_rotation_rotation_drag_coefficient,t),u=this.emitter.calculate(this.emitter.config.particle_rotation_rotation_acceleration,t);u+=-d*this.rotation_rate,this.rotation_rate+=u*n,this.rotation=Oa.degToRad(this.initial_rotation+this.rotation_rate*this.age)}else this.emitter.config.particle_rotation_mode==="parametric"&&(this.rotation=Oa.degToRad(this.emitter.calculate(this.emitter.config.particle_rotation_rotation,t)));if(this.emitter.config.particle_appearance_facing_camera_mode.substr(0,9)!="direction"&&this.emitter.config.particle_appearance_facing_camera_mode!="lookat_direction"||(this.emitter.config.particle_appearance_direction_mode=="custom"?this.facing_direction.copy(this.emitter.calculate(this.emitter.config.particle_appearance_direction,t)).normalize():this.speed.length()>=(this.emitter.config.particle_appearance_speed_threshold||.01)&&this.facing_direction.copy(this.speed).normalize()),!e){var p=this.emitter.calculate(this.emitter.config.particle_appearance_size,t);if(this.mesh.scale.x=p.x||1e-4,this.mesh.scale.y=p.y||1e-4,this.emitter.config.particle_texture_mode==="animated"){var m=this.emitter.calculate(this.emitter.config.particle_texture_max_frame,t);if(this.emitter.config.particle_texture_stretch_to_lifetime&&m)var _=m/this.lifetime;else _=this.emitter.calculate(this.emitter.config.particle_texture_frames_per_second,t);Math.floor(this.loop_time*_)>this.current_frame&&(this.current_frame=Math.floor(this.loop_time*_),m&&this.current_frame>=m?this.emitter.config.particle_texture_loop&&(this.current_frame=0,this.loop_time=0,this.setFrame(0)):this.setFrame(this.current_frame))}else this.setFrame(0);if(this.emitter.config.particle_color_mode==="expression"){var f=this.emitter.calculate(this.emitter.config.particle_color_expression,t,"array");this.setColor(...f)}else if(this.emitter.config.particle_color_mode==="gradient"){var g=this.emitter.calculate(this.emitter.config.particle_color_interpolant,t),v=this.emitter.calculate(this.emitter.config.particle_color_range,t);f=function(b,x){let w=0;if(b.forEach((y,A)=>{y.percent<=x&&(w=A)}),b[w]&&!b[w+1])return ci(b[w].color).toRgb();if(!b[w]&&b[w+1])return ci(b[w+1].color).toRgb();if(b[w]&&b[w+1]){var E=(x-b[w].percent)/(b[w+1].percent-b[w].percent);return ci.mix(b[w].color,b[w+1].color,100*E).toRgb()}return Vae}(this.emitter.config.particle_color_gradient,g/v*100),this.setColor(f.r/255,f.g/255,f.b/255,f.a)}else f=ci(this.emitter.config.particle_color_static).toRgb(),this.setColor(f.r/255,f.g/255,f.b/255,f.a)}for(let b in this.emitter.config.particle_events_timeline){let x=parseFloat(b);x>this.age-n&&x<=this.age&&this.emitter.runEvent(this.emitter.config.particle_events_timeline[b],this)}return this}expire(){for(let e of this.emitter.config.particle_events_expiration)this.emitter.runEvent(e,this);this.remove()}remove(){return _y(this.emitter.particles,this),this.mesh.parent&&this.mesh.parent.remove(this.mesh),this.emitter.dead_particles.push(this),this}delete(){this.mesh.parent&&this.mesh.parent.remove(this.mesh),this.geometry.dispose()}setColor(e,t,n,a=1){let o=this.geometry.getAttribute("clr");o.array.set([e,t,n,a,e,t,n,a,e,t,n,a,e,t,n,a]),o.needsUpdate=!0}setFrame(e){if(this.emitter.config.particle_texture_mode!=="full"){var t=this.params(),n=this.emitter.calculate(this.emitter.config.particle_texture_uv,t),a=this.emitter.calculate(this.emitter.config.particle_texture_uv_size,t);if(e){var o=this.emitter.calculate(this.emitter.config.particle_texture_uv_step,t);n.addScaledVector(o,e)}this.setUV(n.x,n.y,a.x||this.emitter.config.particle_texture_size[0],a.y||this.emitter.config.particle_texture_size[1])}else this.setUV(0,0,this.emitter.config.particle_texture_size[0],this.emitter.config.particle_texture_size[1])}setUV(e,t,n,a){let o=this.geometry.getAttribute("uv");n=(e+n-0)/this.emitter.config.particle_texture_size[0],a=(t+a-0)/this.emitter.config.particle_texture_size[1],e=(e+(n>0?0:-0))/this.emitter.config.particle_texture_size[0],t=(t+(a>0?0:-0))/this.emitter.config.particle_texture_size[1],o.array.set([e,1-t,n,1-t,e,1-a,n,1-a]),o.needsUpdate=!0}};hf.Particle=C1;var DC=new we,Zm=new pn,Uae=["particles_alpha","particles_opaque","particles_blend","particles_add"];function b5(i){switch(i.mode){case"catmull_rom":var e=[];return i.nodes.forEach((t,n)=>{e.push(new zt(n-1,t))}),new Bu(e);case"bezier":return e=[],i.nodes.forEach((t,n)=>{e.push(new zt(n/3,t))}),new Td(...e)}}var FC=class i extends class{constructor(){this.events={}}dispatchEvent(e,t){var n=this.events[e];if(n)for(var a=0;a<n.length;a++)typeof n[a]=="function"&&n[a](t)}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}removeEventListener(e,t){this.events[e]&&_y(this.events[e],t)}}{constructor(e,t,n=0){super(),this.scene=e,this.child_emitters=[],e.emitters.push(this),this.config=t instanceof Qm?t:new Qm(e,t,n),this.Molang=new Im,this.Molang.variableHandler=(o,r)=>this.config.curves[o]&&function(s,l,c,d){var u=s.Molang.parse(l.input,d),p=s.Molang.parse(l.range,d);if(l.mode=="bezier_chain"&&(p=1),(u=u/p||0)===1/0&&(u=0),l.mode=="linear"){u*=g=l.nodes.length-1;var m=Math.floor(u),_=u%1,f=l.nodes[m+1]-l.nodes[m];return l.nodes[m]+f*_}if(l.mode=="catmull_rom"){let x=s._cached_curves[c];var g;x||(x=s._cached_curves[c]=b5(l));var v=(1+(u*=g=l.nodes.length-3))/(g+2);return x.getPoint(v).y}if(l.mode=="bezier"){let x=s._cached_curves[c];return x||(x=s._cached_curves[c]=b5(l)),x.getPoint(u).y}if(l.mode=="bezier_chain"){let x=l.nodes.slice().sort((R,j)=>R.time-j.time),w=0;for(;w<x.length&&!(x[w].time>u);)w++;let E=x[w-1],y=x[w];E||(E={time:0,right_value:0,right_slope:0}),y||(y={time:1,right_value:0,right_slope:0});let A=y.time-E.time;var b=[new zt(E.time+0*A,E.right_value),new zt(E.time+A*(1/3),E.right_value+E.right_slope*(1/3)),new zt(E.time+A*(2/3),y.left_value-y.left_slope*(1/3)),new zt(E.time+1*A,y.left_value)];return new Td(...b).getPoint((u-E.time)/A).y}}(this,this.config.curves[o],o,r);let a=e.global_options._scale;this.local_space=new pn,this.local_space.scale.set(a,a,a),this.global_space=new pn,this.global_space.scale.set(a,a,a),this.material=new Hs({uniforms:{map:{type:"t",value:this.config.texture},materialType:{type:"int",value:1}},vertexShader:`#define GLSLIFY 1
attribute vec4 clr;varying vec2 vUv;varying vec4 vColor;void main(){vColor=clr;vUv=uv;vec4 mvPosition=modelViewMatrix*vec4(position,1.0);gl_Position=projectionMatrix*mvPosition;}`,fragmentShader:`#define GLSLIFY 1
varying vec2 vUv;varying vec4 vColor;uniform sampler2D map;uniform int materialType;void main(void){vec4 tColor=texture2D(map,vUv);if(materialType==0){if(tColor.a<0.5)discard;tColor.a=1.0;}else if(materialType==1){tColor.a=1.0;}else{tColor.a=tColor.a*vColor.a;}gl_FragColor=vec4(tColor.rgb*vColor.rgb,tColor.a);}`,vertexColors:!0,transparent:!0,alphaTest:.2}),this.particles=[],this.dead_particles=[],this.creation_time=0,this.parent_emitter=null,this.age=0,this.view_age=0,this.enabled=!1,this.loop_mode=n.loop_mode||e.global_options.loop_mode,this.parent_mode=n.parent_mode||e.global_options.parent_mode,this.ground_collision=typeof n.ground_collision=="boolean"?n.ground_collision:e.global_options.ground_collision,this.inherited_particle_speed=null,this.pre_effect_expression=null,this.random_vars=[Math.random(),Math.random(),Math.random(),Math.random()],this.tick_values={},this.creation_values={},this._cached_curves={},this.updateMaterial()}getActiveSpace(){return this.config.space_local_position&&this.local_space.parent?this.local_space:this.global_space}clone(){let e=new hf.Emitter(this.scene,this.config);return e.loop_mode=this.loop_mode,e}params(){var e={"variable.entity_scale":1};return e["variable.emitter_lifetime"]=this.active_time,e["variable.emitter_age"]=this.age,e["variable.emitter_random_1"]=this.random_vars[0],e["variable.emitter_random_2"]=this.random_vars[1],e["variable.emitter_random_3"]=this.random_vars[2],e["variable.emitter_random_4"]=this.random_vars[3],e}calculate(e,t,n){let a=r=>this.Molang.parse(r,t);var o;return e instanceof Array?n=="array"?(o=[],e.forEach(r=>{o.push(a(r))})):e.length===4?o=new Ur().setComponents(a(e[0]),a(e[1]),a(e[2]),a(e[3])):e.length===3?o=new we(a(e[0]),a(e[1]),a(e[2])):e.length===2&&(o=new zt(a(e[0]),a(e[1]))):n=="color"||(o=a(e)),o}updateConfig(){this.updateMaterial()}updateFacingRotation(e){if(this.particles.length==0)return;let t=new Da,n=new we,a;this.config.particle_appearance_facing_camera_mode.substring(0,6),a=this.particles[0].mesh.parent.getWorldQuaternion(t).invert(),this.particles.forEach(o=>{switch(this.config.particle_appearance_facing_camera_mode.substring(0,9)=="direction"&&(o.mesh.rotation.order!=="YXZ"&&(o.mesh.rotation.order="YXZ"),n.copy(o.facing_direction),n.y==1?n.y=-1:n.y==-1&&(n.y=1,n.z=-1e-5)),this.config.particle_appearance_facing_camera_mode=="lookat_direction"&&(o.mesh.rotation.order!=="XYZ"&&(o.mesh.rotation.order="XYZ"),n.copy(o.facing_direction)),this.config.particle_appearance_facing_camera_mode){case"lookat_xyz":o.mesh.lookAt(e.position);break;case"lookat_y":var r=n.copy(e.position);DC.set(0,0,0),o.mesh.localToWorld(DC),r.y=DC.y,o.mesh.lookAt(r);break;case"rotate_xyz":o.mesh.rotation.copy(e.rotation),o.mesh.quaternion.premultiply(a);break;case"rotate_y":o.mesh.rotation.copy(e.rotation),o.mesh.rotation.reorder("YXZ"),o.mesh.rotation.x=o.mesh.rotation.z=0,o.mesh.quaternion.premultiply(a);break;case"direction_x":var s=Math.atan2(n.x,n.z),l=Math.atan2(n.y,Math.sqrt(Math.pow(n.x,2)+Math.pow(n.z,2)));o.mesh.rotation.set(0,s-Math.PI/2,l);break;case"direction_y":s=Math.atan2(n.x,n.z);var c=Math.atan2(n.y,Math.sqrt(Math.pow(n.x,2)+Math.pow(n.z,2)));o.mesh.rotation.set(c-Math.PI/2,s-Math.PI,0);break;case"direction_z":s=Math.atan2(n.x,n.z),c=Math.atan2(n.y,Math.sqrt(Math.pow(n.x,2)+Math.pow(n.z,2))),o.mesh.rotation.set(-c,s,0);break;case"lookat_direction":Zm.position.copy(o.mesh.position),Zm.quaternion.setFromUnitVectors(VC.x,n),n.copy(e.position),o.mesh.parent.add(Zm),Zm.updateMatrixWorld(),Zm.worldToLocal(n),o.mesh.parent.remove(Zm),o.mesh.rotation.set(Math.atan2(-n.y,n.z),0,0,"XYZ"),o.mesh.quaternion.premultiply(Zm.quaternion);break;case"emitter_transform_xy":o.mesh.rotation.set(0,0,0);break;case"emitter_transform_xz":o.mesh.rotation.set(-Math.PI/2,0,0);break;case"emitter_transform_yz":o.mesh.rotation.set(0,Math.PI/2,0)}o.mesh.rotation.z+=o.rotation||0})}start(){this.age=0,this.view_age=0,this.enabled=!0,this.initialized=!0,this.scene.space.add(this.global_space);let e=this.params();for(var t of(this.Molang.resetVariables(),this.active_time=this.calculate(this.config.emitter_lifetime_active_time,e),this.sleep_time=this.calculate(this.config.emitter_lifetime_sleep_time,e),this.random_vars=[Math.random(),Math.random(),Math.random(),Math.random()],this.creation_values={},this.config.variables_creation_vars))this.Molang.parse(t,e);typeof this.pre_effect_expression=="string"&&this.Molang.parse(this.pre_effect_expression,e),this.dispatchEvent("start",{params:e}),this.updateMaterial();for(let n of this.config.emitter_events_creation)this.runEvent(n);return this.config.emitter_rate_mode==="instant"?this.spawnParticles(this.calculate(this.config.emitter_rate_amount,e)):this.config.emitter_rate_mode==="manual"&&this.spawnParticles(1),this}tick(e){let t=this.params(),{tick_rate:n}=this.scene.global_options,a=1/n;for(var o of(this._cached_curves={},this.config.variables_tick_vars))this.Molang.parse(o,t);if(this.config.particle_update_expression.length&&this.particles.forEach(l=>{let c=l.params();for(var d of this.config.particle_update_expression)this.Molang.parse(d,c)}),this.dispatchEvent("tick",{params:t}),e||this.updateMaterial(),this.particles.forEach(l=>{l.tick(e)}),this.age+=a,this.view_age+=a,this.enabled&&this.config.emitter_rate_mode==="steady"){var r=this.calculate(this.config.emitter_rate_rate,t)/n,s=1/r;r=Math.round(this.age*n)%Math.round(s)==0?Math.ceil(r):Math.floor(r),this.spawnParticles(r)}this.dispatchEvent("ticked",{params:t,tick_rate:n});for(let l in this.config.emitter_events_timeline){let c=parseFloat(l);c>this.age-a&&c<=this.age&&this.runEvent(this.config.emitter_events_timeline[l])}return this.child_emitters.slice().forEach(l=>{l.tick(e)}),this.config.emitter_lifetime_mode==="expression"?(this.enabled&&this.calculate(this.config.emitter_lifetime_expiration,t)&&this.stop(),!this.enabled&&this.calculate(this.config.emitter_lifetime_activation,t)&&this.start()):this.parent_emitter||this.loop_mode!="looping"&&(this.loop_mode!="auto"||this.config.emitter_lifetime_mode!="looping")?this.enabled&&Oa.roundTo(this.age,5)>=this.active_time&&this.stop():(this.enabled&&Oa.roundTo(this.age,5)>=this.active_time&&this.stop(),!this.enabled&&Oa.roundTo(this.age,5)>=this.sleep_time&&this.start()),this.parent_emitter&&this.particles.length==0&&this.age>this.active_time&&(_y(this.parent_emitter.child_emitters,this),this.delete()),this}stop(e=!1){this.enabled=!1,this.age=0,e&&(this.particles.slice().forEach(t=>{t.remove()}),this.child_emitters.slice().forEach(t=>t.delete()),this.child_emitters.splice(0)),this.dispatchEvent("stop",{clear_scene:e});for(let t of this.config.emitter_events_expiration)this.runEvent(t);return this}jumpTo(e){let{tick_rate:t}=this.scene.global_options,n=Math.round(this.view_age*t),a=Math.round(e*t);if((this.loop_mode=="looping"||this.loop_mode=="auto"&&this.config.emitter_lifetime_mode=="looping")&&(a%=Math.round(this.active_time*t)-1),n==a)return;a<n?this.stop(!0).start():this.initialized||this.start();let o=this.view_age;for(;Math.round(this.view_age*t)<a-1&&(this.tick(!0),!(this.view_age<=o));)if(o=this.view_age,!this.material)return;return this.tick(!1),this.material?(this.child_emitters.slice().forEach(r=>{r.creation_time>e&&(r.delete(),_y(this.child_emitters,r))}),this):void 0}updateMaterial(){let e=this.config.particle_appearance_material;this.material.uniforms.materialType.value=Uae.indexOf(e),this.material.side=e==="particles_alpha"||e==="particles_opaque"?wu:nm,this.material.blending=e==="particles_add"?lg:bu}playLoop(){return this.initialized&&this.age!=0||this.start(),this.paused=!1,clearInterval(this.tick_interval),this.tick_interval=setInterval(()=>{this.tick()},1e3/this.scene.global_options.tick_rate),this}toggleLoop(){return this.paused=!this.paused,this.paused?(clearInterval(this.tick_interval),delete this.tick_interval):this.playLoop(),this}stopLoop(){return clearInterval(this.tick_interval),delete this.tick_interval,this.stop(!0),this.paused=!0,this}spawnParticles(e){if(!e)return this;if(this.config.emitter_rate_mode=="steady"){var t=this.calculate(this.config.emitter_rate_maximum,this.params())||0;t=Oa.clamp(t,0,this.scene.global_options.max_emitter_particles),e=Oa.clamp(e,0,t-this.particles.length)}else e=Oa.clamp(e,0,this.scene.global_options.max_emitter_particles-this.particles.length);for(var n=0;n<e;n++){if(this.dead_particles.length)var a=this.dead_particles.pop();else a=new C1(this);a.add()}return e}delete(){this.child_emitters.slice().forEach(e=>e.delete()),this.child_emitters.splice(0),this.particles.concat(this.dead_particles).forEach(e=>{e.delete()}),this.particles.splice(0,1/0),this.dead_particles.splice(0,1/0),this.local_space.parent&&this.local_space.parent.remove(this.local_space),this.global_space.parent&&this.global_space.parent.remove(this.global_space),_y(this.scene.emitters,this),this.material.dispose(),delete this.material,delete this.parent_emitter}runEvent(e,t){if(e instanceof Array){for(let o of e)this.runEvent(o,t);return}this.dispatchEvent("event",{event_id:e,particle:t});let n=this.config.events[e],a=async o=>{if(o.sequence instanceof Array)for(let r of o.sequence)a(r);if(o.randomize instanceof Array){let r=function(s){let l=s.reduce((u,p)=>u+p.weight||1,0),c=Math.random()*l,d=0;for(let u of s)if(d+=u.weight||1,c<=d)return u}(o.randomize);r&&a(r)}if(o.expression&&this.Molang.parse(o.expression,this.params()),o.sound_effect&&this.dispatchEvent("play_sound",{sound_effect:o.sound_effect,particle:t,event_id:e}),o.particle_effect){let r,s=o.particle_effect.effect,l=this.scene.child_configs[s];if(!this.scene.child_configs[s]&&this.scene._fetchParticleFile){l=this.scene.child_configs[s]=new Qm(this.scene);let c=this.scene.fetchParticleFile(s,this.config,l),d=u=>{u&&(u.json?(l.file_path=u.file_path,l.setFromJSON(u.json||u)):l.setFromJSON(u))};c instanceof Promise?d(await c):c&&d(c)}if(l){r=new i(this.scene,l,{}),r.creation_time=this.age,r.parent_emitter=this,r.pre_effect_expression=o.particle_effect.pre_effect_expression,this.child_emitters.push(r),o.particle_effect.type=="emitter_bound"?r.parent_mode=this.parent_mode:o.particle_effect.type=="particle_with_velocity"&&t&&(r.inherited_particle_speed=new we().copy(t.speed));let c=new we;if(t?t.mesh.getWorldPosition(c):this.getActiveSpace().getWorldPosition(c),this.local_space.parent&&!this.config.space_local_position){let d=this.local_space.getWorldPosition(new we);c.add(d)}r.getActiveSpace().position.copy(c),r.start()}this.dispatchEvent("play_child_particle",{particle_effect:o.particle_effect,config:l,child_emitter:r,event_id:e})}};n&&a(n)}};hf.Emitter=FC;var up=hf;function y5(i){let e=[],t=[],n=[],a=i.keyframes.slice();a.forEach(l=>n.safePush(l.animator)),i.animators&&i.animators.forEach(l=>n.safePush(l));let o=["rotation","position","scale"],r=[...Group.all,...Outliner.elements.filter(l=>l.constructor.animator)],s=Gt.selected;return n.forEach(l=>{let c;o.forEach(d=>{if(!l[d])return;let u;if(i.clear_opposite?u=l[d].slice():u=a.filter(v=>v.channel==d&&v.animator==l),!u.length)return;let p=0;if(!c){let v=nd({name:l.name},0,(x,w)=>(p=w,!0),l.name),b=r.find(x=>x.name==v);if(!b){console.log(`Animation Flipping: Unable to find opposite bone for ${l.name}`);return}c=s.getBoneAnimator(b)}if(c==l&&i.mirror_animating)return;if(i.clear_opposite)for(let v of c[d].slice())t.push(v),v.remove();let _=(4+i.offset/360*(p?1:-1))%1*s.length,f;_&&!u.find(v=>Math.epsilon(v.time,_,.005))&&!Format.animation_loop_wrapping&&(f=l.createKeyframe(null,s.length-_,d,!1,!1),u.push(f)),u.sort((v,b)=>v.time-b.time);let g=[];if(u.forEach(v=>{let b=v.time;if(_&&(b=(b+_)%(s.length+.001)),v==f&&(b=s.length),b=Timeline.snapTime(b),Math.epsilon(b,s.length,.004)&&_&&!g.includes(0)){g.push(0);let w=c.createKeyframe(v,0,d,!1,!1);w&&(w.flip(0),e.push(w))}if(g.includes(b))return;g.push(b);let x=c.createKeyframe(v,b,d,!1,!1);x&&(x.flip(0),e.push(x))}),_&&!g.includes(0)&&f){let v=c.createKeyframe(e.last(),0,d,!1,!1);v&&e.push(v)}f&&f.remove()}),i.show_in_timeline&&c&&c.addToTimeline()}),{added_keyframes:e,removed_keyframes:t}}var hy;he.on("init_edit",i=>{hy=void 0,BarItems.mirror_animating.value&&i.aspects.keyframes instanceof Array&&(hy=i.aspects.keyframes.slice())});he.on("finish_edit",i=>{let e=BarItems.mirror_animating;if(!e.value||!i.aspects.keyframes?.length&&!hy?.length)return;let t=[];hy?.length&&hy.forEach(l=>t.safePush(l.animator));let n=e.tool_config.options,a=n.offset=="180"?180:0;n.offset=="custom"&&(a=n.custom_offset);let{added_keyframes:o,removed_keyframes:r}=y5({mirror_animating:!0,keyframes:i.aspects.keyframes,animators:t,clear_opposite:!0,offset:a,show_in_timeline:!1});r.length&&Undo.addKeyframeCasualties(r);let s=i.aspects.keyframes.filter(l=>!r.includes(l));i.aspects.keyframes=[...s,...o],Animator.preview()});BARS.defineActions(function(){let i={offset:{label:"dialog.flip_animation.phase_offset",type:"inline_select",value:"0",options:{0:"dialog.flip_animation.phase_offset.off",180:"180\xB0",custom:"dialog.flip_animation.phase_offset.custom"}},custom_offset:{type:"range",editable_range_label:!0,full_width:!0,step:5,min:-180,max:180,value:0,condition:n=>n.offset=="custom"}},e=he.getIconNode("vertical_align_center");e.style.transform="rotate(90deg)";let t=new Toggle("mirror_animating",{icon:e,category:"animation",condition:{modes:["animate"]},onChange(){Project.mirror_animating_enabled=this.value,t.tool_config.options.enabled=this.value,updateSelection()},tool_config:new ToolConfig("mirror_animating_options",{title:"action.mirror_animating",form:{enabled:{type:"checkbox",label:"menu.mirror_painting.enabled",value:!1},...i},onFormChange(n){t.value!=n.enabled&&t.trigger()}})});new Action("flip_animation",{icon:"transfer_within_a_station",category:"animation",condition:{modes:["animate"],method:()=>Gt.selected},click(){if(!Gt.selected){he.showQuickMessage("message.no_animation_selected");return}Timeline.keyframes.length&&new Dialog({id:"flip_animation",title:"action.flip_animation",form:{info:{type:"info",text:"dialog.flip_animation.info"},...i,clear_opposite:{label:"dialog.flip_animation.clear_opposite",type:"checkbox",value:!1},show_in_timeline:{label:"dialog.flip_animation.show_in_timeline",type:"checkbox",value:!0}},onConfirm(n){this.hide();let a=[];Undo.initEdit({keyframes:a});let o=Timeline.selected.length?Timeline.selected:Timeline.keyframes,r=n.offset=="180"?180:0;n.offset=="custom"&&(r=n.custom_offset);let{added_keyframes:s,removed_keyframes:l}=y5({keyframes:o,clear_opposite:n.clear_opposite,show_in_timeline:n.show_in_timeline,offset:r});l.length&&Undo.addKeyframeCasualties(l),a.replace(s),updateKeyframeSelection(),Animator.preview(),Undo.finishEdit("Copy and flip keyframes")}}).show()}})});var ei={get possible_channels(){let i={};return Object.assign(i,BoneAnimator.prototype.channels,EffectAnimator.prototype.channels),i},open:!1,get animations(){return Animation.all},get selected(){return Animation.selected},MolangParser:new Im,motion_trail:new THREE.Object3D,onion_skin_object:new THREE.Object3D,motion_trail_lock:!1,_last_values:{},global_variable_lines:{},resetLastValues(){for(let i in BoneAnimator.prototype.channels)BoneAnimator.prototype.channels[i].transform&&(ei._last_values[i]=[0,0,0])},join(){ei.open=!0,Canvas.updateAllBones();for(let i of Mesh.all)i.sortAllFaceVertices();ei.MolangParser.resetVariables(),x5(Project.variable_placeholders),scene.add(pp.space),pp.global_options.tick_rate=settings.particle_tick_rate.value,settings.motion_trails.value&&scene.add(ei.motion_trail),ei.motion_trail.no_export=!0,ei.timeline_node||(ei.timeline_node=Panels.timeline.node),Timeline.is_setup||Timeline.setup(),Canvas.outlines.children.length&&(Canvas.outlines.children.empty(),Canvas.updateAllPositions()),AnimationItem.all.length&&!AnimationItem.all.includes(Animation.selected)?AnimationItem.all[0].select():Animation.all.length||Timeline.selected.empty(),Group.first_selected&&Group.first_selected.select(),BarItems.slider_animation_length.update(),Panels.transform&&Toolbars.element_origin.toPlace("bone_origin"),ei.preview()},leave(){if(Timeline.pause(),ei.open=!1,Canvas.scene.remove(pp.space),Canvas.scene.remove(ei.motion_trail),Canvas.scene.remove(ei.onion_skin_object),ei.resetParticles(!0),three_grid.position.z=three_grid.position.x,Canvas.ground_plane.position.z=Canvas.ground_plane.position.x,ei.showDefaultPose(),Project&&Project.model_3d.scale.set(1,1,1),Panels.transform){let i=Panels.transform.node.querySelector("#element_origin_toolbar_anchor");i&&i.before(Toolbars.element_origin.node)}},showDefaultPose(i){[...Group.all,...Outliner.elements].forEach(e=>{if(e.constructor.animator){var t=e.mesh;t.fix_rotation&&t.rotation.copy(t.fix_rotation),t.fix_position&&t.position.copy(t.fix_position),e.constructor.animator.prototype.channels&&e.constructor.animator.prototype.channels.scale&&(t.scale.x=t.scale.y=t.scale.z=1)}});for(let e of Mesh.all)e.getArmature()&&!i&&Mesh.preview_controller.updateGeometry(e);Blockbench.dispatchEvent("display_default_pose",{reduced_updates:i}),i||Canvas.scene.updateMatrixWorld()},resetParticles(i){for(var e in ei.particle_effects){let{emitters:n}=ei.particle_effects[e];for(var t in n){let a=n[t];a.tick_interval===void 0&&(a.local_space.parent&&a.local_space.parent.remove(a.local_space),a.global_space.parent&&a.global_space.parent.remove(a.global_space))}}},showMotionTrail(i,e=!1){if(i||(i=Project.motion_trail_lock&&OutlinerNode.uuids[Project.motion_trail_lock],i||(i=Group.first_selected||(Outliner.selected[0]&&Outliner.selected[0].constructor.animator?Outliner.selected[0]:null))),!i||!settings.motion_trails.value)return;let t=Animation.selected,n=Timeline.time,a=Timeline.getStep(),o=Math.max(Timeline.time,t.getMaxLength());o||(o=1);let r=0;o>20&&(r=Math.clamp(n-8,0,1/0),o=Math.min(o,n+8));let s=new THREE.BufferGeometry,l=[],c=F=>{l.push(F),F.parent instanceof OutlinerNode&&F.parent.constructor.animator&&c(F.parent)};c(i);let d={},u=Group.first_selected||(Outliner.selected[0]&&Outliner.selected[0].constructor.animator?Outliner.selected[0]:null);if(u){let F=Animation.selected.getBoneAnimator(u);if(!F)return;(i==Group.first_selected?F.position:F[Toolbox.selected.animation_channel]||F.position).forEach(L=>{d[Math.round(L.time/a)]=L})}function p(F){Timeline.time=F;let O=t.blend_weight?Math.clamp(ei.MolangParser.parse(t.blend_weight),0,1/0):1;l.forEach(L=>{let U=L.mesh,J=t.getBoneAnimator(L);U.fix_rotation&&U.rotation.copy(U.fix_rotation),U.fix_position&&U.position.copy(U.fix_position),L instanceof NullObject?J.muted.position||J.displayPosition(J.interpolate("position"),O):(U.scale.x=U.scale.y=U.scale.z=1,J.displayFrame(O))}),i.mesh.updateWorldMatrix(!0,!1)}let m=[],_=[],f=[],g=[],v=0;for(var b=r;b<=o;b+=a){p(b);let F=i instanceof OutlinerNode&&i.children?THREE.fastWorldPosition(i.mesh,new THREE.Vector3):i.getWorldCenter(!0);F=F.toArray(),m.push(...F);let O=d[v];O?(f.push(...F),g.push(O.uuid)):_.push(...F),v++}s.setAttribute("position",new THREE.BufferAttribute(new Float32Array(m),3)),Timeline.time=n,e||ei.preview();var x=new THREE.Line(s,Canvas.outlineMaterial);x.no_export=!0,ei.motion_trail.children.forEachReverse(F=>{ei.motion_trail.remove(F)}),ei.motion_trail.add(x);let w=new THREE.PointsMaterial({size:4,sizeAttenuation:!1,color:Canvas.outlineMaterial.color}),E=new THREE.BufferGeometry;E.setAttribute("position",new THREE.BufferAttribute(new Float32Array(_),3));let y=new THREE.Points(E,w);ei.motion_trail.add(y);let A=new THREE.PointsMaterial({size:10,sizeAttenuation:!1,color:Canvas.outlineMaterial.color}),R=new THREE.BufferGeometry;R.setAttribute("position",new THREE.BufferAttribute(new Float32Array(f),3));let j=new THREE.Points(R,A);j.isKeyframe=!0,j.keyframeUUIDs=g,ei.motion_trail.add(j)},updateOnionSkin(){let i=BarItems.animation_onion_skin.value,e=BarItems.animation_onion_skin.tool_config.options,t=e.selective;if(ei.onion_skin_object.children.forEach(s=>{s.geometry.dispose()}),ei.onion_skin_object.children.empty(),!i)return!1;let n=[];if(e.frames=="select")n=[Timeline.vue.onion_skin_time];else{let s=Timeline.getStep()*(e.interval||1),l=e.frames=="previous",c=e.frames=="next";e.frames=="previous_next"&&(l=c=!0);for(let d=1;d<=e.count;d++)l&&n.push(Timeline.time-s*d),c&&n.push(Timeline.time+s*d)}let a=Outliner.elements,o=Timeline.time,r=-1;for(let s of n)r++,Timeline.time=s,ei.showDefaultPose(!0),ei.stackAnimations(Animation.all.filter(l=>l.playing),!1),ei.displayMeshDeformation(),a.forEach(l=>{if(!l.visibility||t&&!l.selected)return;let c=l.mesh;if(!c||!c.geometry||!c.outline)return;let d=c.outline.clone();d.geometry=c.outline.geometry.clone(),d.material=s<o?Canvas.onionSkinEarlierMaterial:Canvas.onionSkinLaterMaterial,d.visible=!0,THREE.fastWorldPosition(c,d.position),d.position.sub(scene.position),d.rotation.setFromQuaternion(c.getWorldQuaternion(new THREE.Quaternion)),c.getWorldScale(d.scale),d.name=l.uuid+"_onion_skin_outline",ei.onion_skin_object.add(d)});return Timeline.time=o,ei.showDefaultPose(!0),ei.stackAnimations(Animation.all.filter(s=>s.playing),!1),scene.add(ei.onion_skin_object),!0},displayMeshDeformation(){for(let i of Mesh.all){let e=i.getArmature();if(e){let t=e.calculateVertexDeformation(i);Mesh.preview_controller.displayDeformation(i,t)}}},stackAnimations(i,e,t=0){i.length>1&&Animation.selected&&i.includes(Animation.selected)&&(i=i.slice(),i.remove(Animation.selected),i.push(Animation.selected)),Group.all.concat(Outliner.elements).forEach(n=>{n.constructor.animator&&(ei.resetLastValues(),i.forEach((a,o)=>{if(a.loop=="once"&&Timeline.time>a.length&&a.length)return;let r=a.getBoneAnimator(n),s=a.blend_weight?Math.clamp(ei.MolangParser.parse(a.blend_weight),0,1/0):1;if(typeof t[a.uuid]=="number"&&(s*=t[a.uuid]),o==i.length-1){let l=n.mesh;l.pre_rotation||(l.pre_rotation=new THREE.Euler),l.pre_rotation.copy(l.rotation)}r?.displayFrame(s)}))}),Canvas.scene.updateMatrixWorld(),ei.resetLastValues(),ei.resetParticles(!0),i.forEach(n=>{n.animators.effects&&n.animators.effects.displayFrame(e)})},preview(i){if(ei.showDefaultPose(!0),!!Project){if(AnimationController.selected?.selected_state){let e,t,n=AnimationController.selected,{selected_state:a,last_state:o}=n,r=a.getStateTime(),s=o&&o.blend_transition?Math.clamp(r/o.blend_transition,0,1):1,l=o?.calculateBlendValue(s)??s;Timeline.time=r,e={},t=[],a.animations.forEach(c=>{let d=Animation.all.find(p=>c.animation==p.uuid);if(!d)return;let u=c.blend_value.trim()?ei.MolangParser.parse(c.blend_value):1;e[d.uuid]=u*l,t.push(d)}),ei.stackAnimations(t,i,e),l<1&&o&&(Timeline.time=o.getStateTime(),e={},t=[],o.animations.forEach(c=>{let d=Animation.all.find(p=>c.animation==p.uuid);if(!d)return;let u=c.blend_value.trim()?ei.MolangParser.parse(c.blend_value):1;e[d.uuid]||(e[d.uuid]=0),e[d.uuid]+=u*(1-l),t.push(d)}),ei.stackAnimations(t,i,e))}else ei.stackAnimations(Animation.all.filter(e=>e.playing),i);if(Canvas.ground_plane.visible&&Animation.selected&&Animation.selected.anim_time_update.includes("modified_distance_moved")){let e=ei.MolangParser.parse(Animation.selected.anim_time_update,{"query.modified_distance_moved":Timeline.time});e=Timeline.time/e*Timeline.time*3,e=e%64||0,Canvas.ground_plane.position.z=Canvas.ground_plane.position.x+e,three_grid.position.z=three_grid.position.x+e}else three_grid.position.z=three_grid.position.x,Canvas.ground_plane.position.z=Canvas.ground_plane.position.x;if(ei.updateOnionSkin(),ei.displayMeshDeformation(),Billboard.all.forEach(e=>{Billboard.preview_controller.updateFacingCamera(e)}),Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.texture\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.texture"),t=Texture.all[e%Texture.all.length];t&&t!=Texture.selected&&t.select()}if(Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.texture_frame\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.texture_frame");Texture.all.forEach(t=>{t.currentFrame=e%t.frameCount||0}),TextureAnimator.update(Texture.all.filter(t=>t.frameCount>1))}if(Project.model_3d.scale.set(1,1,1),Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.scale\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.scale");Project.model_3d.scale.x=Project.model_3d.scale.y=Project.model_3d.scale.z=e}if(Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.scalex\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.scalex");Project.model_3d.scale.x=e}if(Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.scaley\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.scaley");Project.model_3d.scale.y=e}if(Interface.Panels.variable_placeholders.inside_vue.text.match(/^\s*preview\.scalez\s*=/mi)){let e=ei.MolangParser.variableHandler("preview.scalez");Project.model_3d.scale.z=e}(Group.first_selected||Outliner.selected[0]&&Outliner.selected[0].constructor.animator)&&Transformer.updateSelection(),Blockbench.dispatchEvent("display_animation_frame",{in_loop:i})}},particle_effects:{},loadParticleEmitter(i,e){let t=autoParseJSON(e,{file_path:i});if(!(!t||!t.particle_effect)){if(ei.particle_effects[i]){ei.particle_effects[i].config.reset().set("file_path",i).setFromJSON(t,{path:i});for(var n in ei.particle_effects[i].emitters)ei.particle_effects[i].emitters[n].updateConfig()}else ei.particle_effects[i]={config:new up.Config(pp,t,{path:i}),emitters:{}};return ei.particle_effects[i]}},loadFile(i,e){return console.warn('"Animator.loadFile" is deprecated, use AnimationCodec instead'),AnimationCodec.codecs.bedrock.loadFile(i,e)},buildFile(i,e){console.warn('"Animator.buildFile" is deprecated, use AnimationCodec instead');let t=ei.animations.filter(n=>(typeof i!="string"||n.path==i||!n.path&&!i)&&(!e||!e.length||e.includes(n.name)));return AnimationCodec.codecs.bedrock.compileFile(t)},importFile(i,e){return console.warn('"Animator.importFile" is deprecated, use AnimationCodec instead'),AnimationCodec.codecs.bedrock.importFile(i,e)},exportAnimationFile(i,e){return console.warn('"Animator.exportAnimationFile" is deprecated, use AnimationCodec instead'),AnimationCodec.codecs.bedrock.exportFile(i,e)},buildController(i,e){console.warn('"Animator.buildController" is deprecated, use AnimationCodec instead');let t=AnimationController.all.filter(function(n){return(typeof i!="string"||n.path==i||!n.path&&!i)&&(!e||!e.length||e.includes(n.name))});return AnimationCodec.codecs.bedrock_animation_controller.compileFile(t)},exportAnimationControllerFile(i,e){return console.warn('"Animator.exportAnimationControllerFile" is deprecated, use AnimationCodec instead'),AnimationCodec.codecs.bedrock_animation_controller.exportFile(i,e)}};Canvas.gizmos.push(ei.motion_trail,ei.onion_skin_object);var pp=new up.Scene({fetchTexture:function(i){if(i.preview_texture)return i.preview_texture},async fetchParticleFile(i,e){!i||e.file_path}});pp.global_options.scale=16;pp.global_options.loop_mode="auto";pp.global_options.parent_mode="entity";Prism.languages.molang["function-name"]=/\b(?!\d)(math\.\w+|button)(?=[\t ]*\()/i;Blockbench.on("reset_project",()=>{for(let i in ei.particle_effects){let e=ei.particle_effects[i];for(let t in e.emitters)e.emitters[t].delete(),delete e.emitters[t];delete ei.particle_effects[i]}});ei.animation_presets={float:{name:"Float",rotation:{"0.0":["math.sin(query.anim_time * 120) * 6","0","math.cos(query.anim_time * 100) * 4"]},position:{"0.0":["0","math.sin(query.anim_time * 90) * 1","0"]}},flap:{name:"Flap",rotation:{"0.0":["0","0","math.sin(query.anim_time * 1200) * 6"]}},swing:{name:"Swing",rotation:{"0.0":["math.sin(query.anim_time * 360) * 25","0","0"]}},strike:{name:"Strike",rotation:{"0.0":[-120,0,0],"0.0417":[-115,0,0],"0.0833":[-100,0,0],"0.125":[-37,0,0],"0.1667":[-16,0,0],"0.2083":[-8,0,0],"0.3333":[0,0,0]}},scale_in:{name:"Scale in",scale:{"0.0":[0,0,0],"0.0417":[.06,.06,.06],"0.0833":[.2,.2,.2],"0.1667":[.8,.8,.8],"0.2083":[.94,.94,.94],"0.25":[1,1,1]}},scale_out:{name:"Scale out",scale:{"0.0":[1,1,1],"0.0417":[.94,.94,.94],"0.0833":[.8,.8,.8],"0.1667":[.2,.2,.2],"0.2083":[.06,.06,.06],"0.25":[0,0,0]}},drop_down:{name:"Drop down",rotation:{"0.125":[0,0,-2],"0.1667":[0,0,-.5],"0.2083":[0,0,1.25],"0.2917":[0,0,2.5],"0.3333":[0,0,2],"0.4167":[0,0,-.43],"0.4583":[0,0,-.8],"0.5417":[0,0,-.3],"0.5833":[0,0,0]},position:{"0.0":[0,12,0],"0.1667":[0,0,0],"0.25":[0,2.6,0],"0.2917":[0,2.5,0],"0.375":[0,0,0],"0.4583":[0,.9,0],"0.5":[0,.85,0],"0.5833":[0,0,0]}},impact:{name:"Impact",length:.5417,rotation:{"0.0":{post:[0,0,0],lerp_mode:"catmullrom"},"0.125":{post:[-15,0,0],lerp_mode:"catmullrom"},"0.2917":{post:[10,0,0],lerp_mode:"catmullrom"},"0.4167":{post:[-2.5,0,0],lerp_mode:"catmullrom"},"0.5417":{post:[0,0,0],lerp_mode:"catmullrom"}},position:{"0.0":[0,0,0],"0.0417":[0,-1,0],"0.125":[0,0,0]}},shiver:{name:"Shiver",rotation:{"0.0":["0","0","math.sin(query.anim_time * 3000) * 3"]}},sway:{name:"Sway",rotation:{"0.0":["math.sin(query.anim_time * 60) * 3",0,"math.sin(query.anim_time * 120) * 5"]}},shake:{name:"Shake",rotation:{"0.0":[0,0,0],"0.125":[0,0,"math.sin(query.anim_time * 2160) * 20"],"0.375":[0,0,"math.sin(query.anim_time * 2160) * 20"],"0.5":[0,0,0]}},jump:{name:"Jump",length:1.0833,rotation:{"0.0":{post:[0,0,0],lerp_mode:"catmullrom"},"0.3333":{post:[2.5,0,0],lerp_mode:"catmullrom"},"0.5":{post:[7.5,0,0],lerp_mode:"catmullrom"},"0.7917":{post:[-9.6,0,0],lerp_mode:"catmullrom"},"0.875":{post:[-4,0,0],lerp_mode:"catmullrom"},"1.0833":{post:[0,0,0],lerp_mode:"catmullrom"}},position:{"0.0":{post:[0,0,0],lerp_mode:"catmullrom"},"0.3333":{post:[0,-3,0],lerp_mode:"catmullrom"},"0.4167":{post:[0,3.07,-3.25],lerp_mode:"catmullrom"},"0.5417":{post:[0,7,-13],lerp_mode:"catmullrom"},"0.6667":{post:[0,4.77,-22.85],lerp_mode:"catmullrom"},"0.7917":{post:[0,-2,-29.5],lerp_mode:"catmullrom"},"1.0833":{post:[0,0,-30],lerp_mode:"catmullrom"}}},swell:{name:"Swell",length:1.0417,rotation:{0:[0,0,0],1:["math.sin(q.anim_time * 3000) * 3",0,"math.cos(q.anim_time * 2000) * 3"],"1.0417":[0,0,0]},scale:{0:[1,1,1],1:[1.2,1.2,1.2],"0.1667":[1.0075,1.0075,1.0075],"0.3333":[1.02,1.02,1.02],"0.5":[1.045,1.045,1.045],"0.6667":[1.08,1.08,1.08],"0.8333":[1.13,1.13,1.13],"1.0417":{pre:[1.6,1.6,1.6],post:[0,0,0]}}},circle:{name:"Circle",position:{"0.0":["math.cos(query.anim_time * 90) * 32",0,"-math.sin(query.anim_time * 90) * 32"]},rotation:{"0.0":[0,"query.anim_time * 90",0]}},open_door:{name:"Open Door",rotation:{"0.0":[0,0,0],"0.0417":[0,-7.24,0],"0.0833":[0,-21.895,0],"0.1667":[0,-95.76,0],"0.2083":[0,-104.125,0],"0.25":[0,-106.38,0],"0.2917":[0,-104.445,0],"0.3333":[0,-99.36,0],"0.375":[0,-96.485,0],"0.4167":[0,-96,0]}},close_door:{name:"Close Door",rotation:{"0.0":[0,-96,0],"0.0417":[0,-90.365,0],"0.0833":[0,-77.345,0],"0.125":[0,-53.2,0],"0.1667":[0,-28.13,0],"0.2083":[0,.6,0],"0.2917":[0,-5.525,0],"0.375":[0,0,0]}},look_at_target:{name:"Look At Target",rotation:{"0.0":["query.target_x_rotation","query.target_y_rotation",0]}},rotate_to_camera:{name:"Rotate To Camera",rotation:{"0.0":["query.rotation_to_camera(0)","query.rotation_to_camera(1) - query.body_y_rotation",0]}},flicker:{name:"Flicker",scale:{"0.0417":{pre:[1,1,1],post:[0,0,0]},"0.1667":{pre:[0,0,0],post:[1,1,1]},"0.2917":{pre:[1,1,1],post:[0,0,0]},"0.4167":{pre:[0,0,0],post:[1,1,1]},"0.5":{pre:[1,1,1],post:[0,0,0]},"0.625":{pre:[0,0,0],post:[1,1,1]},"0.75":{pre:[1,1,1],post:[0,0,0]},"0.7917":{pre:[0,0,0],post:[1,1,1]},"0.875":{pre:[1,1,1],post:[0,0,0]},"1.0":{pre:[0,0,0],post:[1,1,1]}}},hide:{name:"Invisible",scale:{"0.0":[0,0,0]}}};BARS.defineActions(function(){new Ts("animate",{icon:"movie",default_tool:"move_tool",category:"navigate",hidden_node_types:["cube","mesh","texture_mesh"],condition:()=>Format.animation_mode,onSelect:()=>{ei.join()},onUnselect:()=>{ei.leave()}}),new Toggle("lock_motion_trail",{icon:"lock_open",category:"animation",condition:()=>ei.open&&(Group.first_selected||Outliner.selected[0]&&Outliner.selected[0].constructor.animator),onChange(e){e&&(Group.first_selected||Outliner.selected[0]&&Outliner.selected[0].constructor.animator)?Project.motion_trail_lock=Group.first_selected?Group.first_selected.uuid:Outliner.selected[0].uuid:(Project.motion_trail_lock=!1,ei.showMotionTrail())}});let i=new Toggle("animation_onion_skin",{category:"view",condition:{modes:["animate"]},tool_config:new ToolConfig("animation_onion_skin",{title:"action.animation_onion_skin",form:{enabled:{type:"checkbox",label:"menu.mirror_painting.enabled",value:!1},frames:{type:"select",label:"menu.animation_onion_skin.frames",value:"previous",options:{select:"menu.animation_onion_skin.select",previous:"menu.animation_onion_skin.previous",next:"menu.animation_onion_skin.next",previous_next:"menu.animation_onion_skin.previous_next"}},count:{type:"number",label:"menu.animation_onion_skin.count",value:1,condition:e=>e.frames!="select"},interval:{type:"number",label:"menu.animation_onion_skin.interval",value:1,condition:e=>e.frames!="select"},selective:{type:"checkbox",label:"menu.animation_onion_skin_selective",value:!0}},onFormChange(e){BarItems.animation_onion_skin.value!=e.enabled?BarItems.animation_onion_skin.trigger():ei.updateOnionSkin(),Timeline.vue.onion_skin_selectable=e.enabled&&this.options.frames=="select"}}),onChange(){Timeline.vue.onion_skin_selectable=this.value&&this.tool_config.options.frames=="select",i.tool_config.options.enabled=this.value,ei.updateOnionSkin()}});new Action("copy_animation_pose",{icon:"detection_and_zone",category:"animation",condition:()=>ei.open&&Animation.selected,click(){let e=[];for(let t in Animation.selected.animators){let n=Animation.selected.animators[t];if(!(!n||!n.keyframes.length||!(n.group||n.element)))for(let a in n.channels){if(!n[a]||!n[a].length)continue;let o=n[a].find(r=>Math.epsilon(r.time,Timeline.time,1e-5));o||(o=n.createKeyframe(null,Timeline.time,a,!1,!1),e.push(o))}}if(Clipbench.keyframes=[],e.length!=0){e.forEach(t=>{let n=t.getUndoCopy();n.time_offset=0,Clipbench.keyframes.push(n)});for(let t of e)t.remove()}}})});Interface.definePanels(function(){new Panel("variable_placeholders",{icon:"fas.fa-stream",condition:{modes:["animate"]},growable:!0,resizable:!0,default_position:{slot:"left_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:10},component:{name:"panel-placeholders",components:{VuePrismEditor},data(){return{text:"",buttons:[]}},methods:{updateButtons(){let i={};this.buttons.forEach(n=>i[n.id]=n.value),this.buttons.empty();let e=this.text,t=e.matchAll(/(slider|toggle|impulse)\(.+\)/gi);for(let n of t){let[a,o]=n[0].substring(0,n[0].length-1).split(/\(/),[r,...s]=o.split(/\(|, */);if(r=r.replace(/['"]/g,""),this.buttons.find(c=>c.id==r))return;let l=e.substring(0,n.index).match(/[\w.-]+ *= *$/);l=l?l[0].replace(/[ =]+/g,"").replace(/^v\./i,"variable.").replace(/^q\./i,"query.").replace(/^t\./i,"temp.").replace(/^c\./i,"context."):void 0,a=="slider"?this.buttons.push({type:a,id:r,value:i[r]||0,variable:l,step:isNaN(s[0])?void 0:parseFloat(s[0]),min:isNaN(s[1])?void 0:parseFloat(s[1]),max:isNaN(s[2])?void 0:parseFloat(s[2])}):a=="toggle"?this.buttons.push({type:a,id:r,value:i[r]||0,variable:l}):a=="impulse"&&this.buttons.push({type:a,id:r,value:0,variable:l,duration:parseFloat(s[0])||.1})}},changeButtonValue(i,e){i.type=="toggle"&&(i.value=e.target.checked?1:0),i.type=="impulse"&&(i.value=1,setTimeout(()=>{i.value=0},Math.clamp(i.duration,0,1)*1e3)),i.variable&&delete ei.MolangParser.variables[i.variable],ei.preview()},slideButton(i,e){convertTouchEvent(e);let t=e,n=!1,a=0,o=0,r=0,s=e.clientX;function l(){n=!0,!e.touches&&t==e&&e.target.requestPointerLock&&e.target.requestPointerLock()}function c(u){if(convertTouchEvent(u),!n&&Math.abs(u.clientX-e.clientX)>5&&l(),n){if(e.touches)s=u.clientX;else{let _=a<=2?1:100;s+=Math.clamp(u.movementX,-_,_)}let p=Math.round((s-e.clientX)/45),m=p-o;if(!m)return;i.step?m*=i.step:m*=canvasGridSize(u.shiftKey||Pressing.overrides.shift,u.ctrlOrCmd||Pressing.overrides.ctrl),i.value=Math.clamp(Math.roundTo((parseFloat(i.value)||0)+m,4),i.min,i.max),o=p,t=u,r+=m,a++,ei.preview(),Blockbench.setStatusBarText(trimFloatNumber(r))}}function d(u){document.exitPointerLock&&document.exitPointerLock(),removeEventListeners(document,"mousemove touchmove",c),removeEventListeners(document,"mouseup touchend",d),Blockbench.setStatusBarText()}addEventListeners(document,"mouseup touchend",d),addEventListeners(document,"mousemove touchmove",c)},openMolangContextMenu(i){new Menu([{name:"menu.text_edit.expression_editor",icon:"code_blocks",click:()=>{op({autocomplete_context:MolangAutocomplete.AnimationContext,text:this.text},e=>this.text=e)}}]).open(i)},autocomplete(i,e){return Settings.get("autocomplete_code")==!1?[]:MolangAutocomplete.VariablePlaceholdersContext.autocomplete(i,e)}},watch:{text(i){Project&&typeof i=="string"&&(Project.variable_placeholders=i,x5(i),this.updateButtons(),Project.variable_placeholder_buttons.replace(this.buttons),Timeline.vue.updateGraph())}},template:`
<div style="flex-grow: 1; display: flex; flex-direction: column; overflow: visible;">
<ul id="placeholder_buttons">
<li v-for="button in buttons" :key="button.id" :class="{placeholder_slider: button.type == 'slider'}" @click="button.type == 'impulse' && changeButtonValue(button, $event)" :buttontype="button.type">
<i v-if="button.type == 'impulse'" class="material-icons">play_arrow</i>
<input v-if="button.type == 'toggle'" type="checkbox" :value="button.value == 1" @change="changeButtonValue(button, $event)" :id="'placeholder_button_'+button.id">
<numeric-input v-if="button.type == 'slider'" :step="button.step" :min="button.min" :max="button.max" v-model="button.value" @input="changeButtonValue(button, $event)" />
<label :for="'placeholder_button_'+button.id" @mousedown="slideButton(button, $event)" @touchstart="slideButton(button, $event)">{{ button.id }}</label>
</li>
</ul>
<p>${tl("panel.variable_placeholders.info")}</p>
<vue-prism-editor
id="var_placeholder_area"
class="molang_input tab_target capture_tab_key"
v-model="text"
language="molang"
@contextmenu="openMolangContextMenu($event)"
:autocomplete="autocomplete"
:line-numbers="false"
style="flex-grow: 1;"
onkeyup="Animator.preview()"
/>
</div>
`}})});function x5(i){ei.global_variable_lines={};for(let e of i.split(`
`)){let[t,n]=e.split(/=\s*(.+)/);n!==void 0&&(t=t.replace(/[\s;]/g,""),t=t.replace(/^v\./,"variable.").replace(/^q\./,"query.").replace(/^t\./,"temp.").replace(/^c\./,"context."),ei.global_variable_lines[t]=n.trim())}}Object.assign(window,{MolangParser:Im,Animator:ei,Wintersky:up,WinterskyScene:pp});var mp=class{constructor(e,t){this.animation=t,this.expanded=!1,this.selected=!1,this.uuid=e||guid(),this.muted={};for(let n in this.channels)this.muted[n]=!1;for(let n in this.constructor.properties)this.constructor.properties[n].reset(this)}get keyframes(){let e=[];for(let t in this.channels)this[t]&&this[t].length&&e.push(...this[t]);return e}get node(){return this.group||this.element}extend(e){for(var t in this.constructor.properties)this.constructor.properties[t].merge(this,e)}getUndoCopy(e){let t={name:this.name,type:this.type};for(let n in this.constructor.properties)this.constructor.properties[n].copy(this,t);return this.keyframes.length&&(t.keyframes=[]),this.keyframes.forEach(n=>{t.keyframes.push(n.getUndoCopy(!0,{absolute_paths:e.absolute_paths}))}),t}select(){var e=this;for(var t in this.animation.animators)this.animation.animators[t].selected=!1;return this.selected=!0,Timeline.selected_animator=this,this.addToTimeline(),Vue.nextTick(()=>{e.scrollTo()}),this}clickSelect(){Undo.initSelection(),this.select(),Undo.finishSelection("Select animator")}addToTimeline(e=!1){Timeline.animators.includes(this)||(e==!0?Timeline.animators.push(this):Timeline.animators.splice(0,0,this));for(let t in this.channels)this[t]||(this[t]=[]);return this.expanded||(this.expanded=!0),TickUpdates.keyframe_selection=!0,this}addKeyframe(e,t){let n=e.channel;if(typeof n=="number"&&(n=Object.keys(this.channels)[n]),n&&this[n]){let a=new Keyframe(e,t,this);return this[n].push(a),a.animator=this,a}}createKeyframe(e,t,n,a,o){if(!this.channels[n])return;typeof t!="number"&&(t=Timeline.time);let r=[];a&&Undo.initEdit({keyframes:r});let s=new Keyframe({channel:n,time:t,interpolation:settings.default_keyframe_interpolation.value},null,this);r.push(s),e?s.extend(e):this.channels[n].transform&&this.fillValues&&this.fillValues(s,e,!0),s.channel=n,s.time=Timeline.snapTime(t),this[n].push(s),s.animator=this,o!==!1&&s.select();let l=[];return delete s.time_before,s.replaceOthers(l),l.length&&Undo.current_save&&Undo.addKeyframeCasualties(l),Animation.selected.setLength(),a&&Undo.finishEdit("Add keyframe"),s}getOrMakeKeyframe(e){let t,n,a=Timeline.getStep()/2||.01,o=!1;for(let l of this[e])Math.abs(l.time-Timeline.time)<=a&&(t=l),l.time<Timeline.time&&(o=!0);let r=null;Timeline.time>Animation.selected.length&&Animation.selected.loop=="once"&&(r={}),n=t||this.createKeyframe(r,Timeline.time,e,!1,!1);let s;return settings.auto_keyframe.value&&Timeline.snapTime(Timeline.time)!=0&&!t&&!o&&(s=this.createKeyframe({},0,e,!1,!1)),{before:t,result:n,new_keyframe:s}}showContextMenu(e){return Prop.active_panel="timeline",this.selected||this.select(),this.menu&&this.menu.open(e,this),this}toggleMuted(e){return this.muted[e]=!this.muted[e],this instanceof rl&&Animator.preview(),this}scrollTo(){var e=$(`#timeline_body_inner > li[uuid=${this.uuid}]`).get(0);if(e){var t=e.offsetTop,n=document.getElementById("timeline_body"),a=n.scrollTop,o=n.clientHeight;t<a&&$(n).animate({scrollTop:t},200),t+e.clientHeight>a+o&&$(n).animate({scrollTop:t-(o-e.clientHeight-20)},200)}}};mp.addChannel=function(i,e){this.prototype.channels[i]={name:e.name||i,condition:e.condition,transform:e.transform||!1,mutable:typeof e.mutable=="boolean"?e.mutable:!0,max_data_points:e.max_data_points||0,displayFrame:e.displayFrame},ModelProject.all.forEach(t=>{t.animations||t.animations.forEach(n=>{n.animators.forEach(a=>{a instanceof this&&!a[i]&&(Vue.set(a,i,[]),this.prototype.channels[i].mutable&&Vue.set(a.muted,i,!1))})})}),Timeline.vue.$forceUpdate()};var rl=class extends mp{constructor(e,t,n){super(e,t),this.uuid=e,this._name=n,this.rotation_global=!1;for(let a in this.channels)this[a]=[]}get name(){let e=this.getGroup();return e?e.name:this._name}set name(e){this._name=e}getGroup(){return this.group=OutlinerNode.uuids[this.uuid],this.group}select(e){if(!this.getGroup())return unselectAllElements(),this;if(!this.group.locked){for(var t in this.animation.animators)this.animation.animators[t].selected=!1;if(e!==!0&&this.group&&this.group.select(),super.select(),this[Toolbox.selected.animation_channel]&&(Timeline.selected.length==0||Timeline.selected[0].animator!=this)&&!Blockbench.hasFlag("loading_selection_save")){var n;this[Toolbox.selected.animation_channel].forEach(a=>{Math.abs(a.time-Timeline.time)<.002&&(n=a)}),n&&n.select()}return this.group&&this.group.parent&&this.group.parent!=="root"&&this.group.parent.openUp(),this}}fillValues(e,t,n,a=!0){if(t instanceof Array)e.extend({data_points:[{x:t[0],y:t[1],z:t[2]}]});else if(typeof t=="number"||typeof t=="string")e.extend({data_points:[{x:t,y:t,z:t}]});else if(t===null){let o;this[e.channel].forEach(d=>{(!o||Math.abs(d.time-e.time)<Math.abs(o.time-e.time))&&(o=d)});let r=o?.interpolation,s=Timeline.time;Timeline.time=e.time;let l=this.interpolate(e.channel,n),c;if(r=="bezier"&&(Timeline.time=e.time+.01,c=this.interpolate(e.channel,n)),Timeline.time=s,l){if(a){let d=e.channel=="scale"?1e4:100;l.forEach((u,p)=>{isNaN(u)||(l[p]=Math.round(parseFloat(u)*d)/d)})}e.extend({data_points:[{x:l[0],y:l[1],z:l[2]}]}),r=="bezier"&&c&&l.forEach((d,u)=>{d!==c[u]&&(e.bezier_right_value[u]=(c[u]-d)*10,e.bezier_left_value[u]=-e.bezier_right_value[u])})}e.extend({interpolation:r,uniform:e.channel=="scale"?o&&o.uniform&&o.data_points[0].x==o.data_points[0].y&&o.data_points[0].x==o.data_points[0].z:void 0})}else e.extend(t)}pushKeyframe(e){return this[e.channel].push(e),e.animator=this,this}doRender(){if(this.getGroup(),this.group&&this.group.children&&this.group.mesh){let e=this.group.mesh;return e&&e.fix_rotation}}displayRotation(e,t=1){var n=this.group.mesh;if(e)if(this.animation.override&&n.fix_rotation&&n.rotation.copy(n.fix_rotation),e.length===4){var a=new Ve.Euler().setFromQuaternion(new Ve.Quaternion().fromArray(e),Format.euler_order);n.rotation.x+=a.x*t,n.rotation.y+=a.y*t,n.rotation.z+=a.z*t}else n.rotation.x+=Math.degToRad(e[0])*t,n.rotation.y+=Math.degToRad(e[1])*t,n.rotation.z+=Math.degToRad(e[2])*t;if(this.rotation_global){let o=n.parent.getWorldQuaternion(Reusable.quat1);o.invert(),n.quaternion.premultiply(o)}return this}displayPosition(e,t=1){var n=this.group.mesh;return e&&(this.animation.override&&n.fix_position&&n.position.copy(n.fix_position),n.position.x+=e[0]*t,n.position.y+=e[1]*t,n.position.z+=e[2]*t),this}displayScale(e,t=1){if(!e)return this;var n=this.group.mesh;return this.animation.override&&this.channels?.scale&&(n.scale.x=n.scale.y=n.scale.z=1),n.scale.x*=1+(e[0]-1)*t||1e-5,n.scale.y*=1+(e[1]-1)*t||1e-5,n.scale.z*=1+(e[2]-1)*t||1e-5,this}interpolate(e,t,n){let a=this.animation.time,o=!1,r=!1,s=0,l=0,c=!1,d=1/1200,u=!1;e=="rotation"&&(u=Format.per_animator_rotation_interpolation?this.quaternion_interpolation:Format.quaternion_interpolation);function p(m){if(Animator._last_values[e]||(Animator._last_values[e]=[0,0,0]),n){let _=m(n);return Animator._last_values[e][n]=_,_}else return["x","y","z"].map(_=>{let f=m(_);return Animator._last_values[e][_]=f,f})}for(let m of this[e])m.time<a?(!o||m.time>s)&&(o=m,s=o.time):(!r||m.time<l)&&(r=m,l=r.time);if(Format.animation_loop_wrapping&&this.animation.loop=="loop"&&this[e].length>=2){let m=this.animation.length;o||(o=this[e].findHighest(_=>_.time),s=o.time-m),r||(r=this[e].findHighest(_=>-_.time),l=r.time+m)}if(o&&Math.epsilon(s,a,d))c=o;else if(r&&Math.epsilon(l,a,d))c=r;else if(o&&o.interpolation==Keyframe.interpolation.step)c=o;else if(o&&!r)c=o;else if(r&&!o)c=r;else if(!(!o&&!r)){let m=Blockbench.hasFlag("no_interpolations"),_=Math.getLerp(s,l,a),{linear:f,step:g,catmullrom:v,bezier:b}=Keyframe.interpolation,x=Blockbench.dispatchEvent("interpolate_keyframes",{animator:this,t:_,time:a,use_quaternions:u,keyframe_before:o,keyframe_after:r}),w=x?.length?x.find(E=>typeof E=="object"):null;if(w){if(w.value instanceof Array)return w.value;typeof w.t=="number"&&(_=w.t),typeof w.use_quaternions=="boolean"&&(u=w.use_quaternions),w.keyframe_before&&(o=w.keyframe_before),w.keyframe_after&&(r=w.keyframe_after)}if(u){let E=o.getFixed(1,!0),y=r.getFixed(0,!0),A=E.slerp(y,_);Reusable.euler2.order=this.group.scene_object.rotation.order;let R=Reusable.euler2.setFromQuaternion(A),j=this.group.scene_object.fix_rotation;if(R.x-=j.x,R.y-=j.y,R.z-=j.z,Animator._last_values[e]||(Animator._last_values[e]=[0,0,0]),n){let F=Math.radToDeg(R[n]);return Animator._last_values[e][getAxisNumber(n)]=F,F}else{let F=R.toArray().slice(0,3).map(Math.radToDeg);return Animator._last_values[e]=F,F}}else{if(m||o.interpolation===f&&(r.interpolation===f||r.interpolation===g))return m&&(_=Math.round(_)),p(E=>o.getLerp(r,E,_,t));if(o.interpolation===v||r.interpolation===v){let E=this[e].slice().sort((j,F)=>j.time-F.time),y=E.indexOf(o),A=E[y-1],R=E[y+2];return this.animation.loop=="loop"&&E.length>=3&&(A||(A=E.at(-2)),R||(R=E[1])),p(j=>o.getCatmullromLerp(A,o,r,R,j,_))}else if(o.interpolation===b||r.interpolation===b)return p(E=>o.getBezierLerp(o,r,E,_))}}if(c&&c instanceof Keyframe){let m=c,_=t?"get":"calc",f=m.time>a||Math.epsilon(m.time,a,d)?0:m.data_points.length-1;if(u){let g=m.getFixed(f,!0),v=this.group.scene_object.fix_rotation,b=Reusable.euler2.setFromQuaternion(g,v.order);if(b.x-=v.x,b.y-=v.y,b.z-=v.z,Animator._last_values[e]||(Animator._last_values[e]=[0,0,0]),n){let x=Math.radToDeg(b[n]);return Animator._last_values[e][getAxisNumber(n)]=x,x}else{let x=b.toArray().slice(0,3).map(Math.radToDeg);return Animator._last_values[e]=x,x}}else return p(g=>m[_](g,f))}return!1}displayFrame(e=1){if(this.doRender()){this.getGroup(),Animator.MolangParser.context.animation=this.animation,this.muted.rotation||this.displayRotation(this.interpolate("rotation"),e),this.muted.position||this.displayPosition(this.interpolate("position"),e),this.muted.scale||this.displayScale(this.interpolate("scale"),e);for(let t in this.channels){let n=this.channels[t];n.displayFrame&&n.displayFrame(this,e)}}}applyAnimationPreset(e){let t=[];Undo.initEdit({keyframes:t});let n=Timeline.snapTime(Timeline.time);for(let a in this.channels){let o=e[a];for(let r in o){let s={},l=o[r];l instanceof Array?s={x:l[0],y:l[1],z:l[2]}:l.pre?s={data_points:[{x:l.pre[0],y:l.pre[1],z:l.pre[2]},{x:l.post[0],y:l.post[1],z:l.post[2]}]}:s={x:l.post[0],y:l.post[1],z:l.post[2],interpolation:l.lerp_mode};let c=this.createKeyframe(s,n+parseFloat(r),a,!1,!1);t.push(c)}}return e.length&&this.animation.setLength(n+e.length),t[0].select(),Undo.finishEdit("Apply animation preset"),Animator.preview(),this}};rl.prototype.type="bone";rl.prototype.channels={rotation:{name:tl("timeline.rotation"),mutable:!0,transform:!0,max_data_points:2},position:{name:tl("timeline.position"),mutable:!0,transform:!0,max_data_points:2},scale:{name:tl("timeline.scale"),mutable:!0,transform:!0,max_data_points:2}};Group.animator=rl;rl.prototype.menu=new Menu("bone_animator",[new MenuSeparator("settings"),{id:"rotation_global",name:"menu.animator.rotation_global",condition:i=>i.type=="bone",icon:i=>i.rotation_global,click(i){Undo.initEdit({animations:[Animation.selected]}),i.rotation_global=!i.rotation_global,Undo.finishEdit("Toggle rotation in global space"),Animator.preview()}},{id:"quaternion_interpolation",name:"menu.animator.quaternion_interpolation",condition:i=>i instanceof rl&&Format.per_animator_rotation_interpolation,icon:i=>i.quaternion_interpolation==!0,click(i){Undo.initEdit({animations:[Animation.selected]}),i.quaternion_interpolation=!i.quaternion_interpolation,Undo.finishEdit("Toggle quaternion interpolation"),Animator.preview()}},new MenuSeparator("presets"),"apply_animation_preset"]);new Property(rl,"boolean","rotation_global",{default:!1});new Property(rl,"boolean","quaternion_interpolation",{default:()=>Format.quaternion_interpolation});var fy=class extends rl{constructor(e,t,n){super(e,t),this.uuid=e,this._name=n,this.solver=new FIK.Structure3D(scene),this.chain=new FIK.Chain3D,this.position=[]}get name(){var e=this.getElement();return e?e.name:this._name}set name(e){this._name=e}getElement(){return this.element=OutlinerNode.uuids[this.uuid],this.element}select(e){if(!this.getElement())return unselectAllElements(),this;if(!this.getElement().locked){if(e!==!0&&this.element&&this.element.select(),mp.prototype.select.call(this),this[Toolbox.selected.animation_channel]&&(Timeline.selected.length==0||Timeline.selected[0].animator!=this)){var t;this[Toolbox.selected.animation_channel].forEach(n=>{Math.abs(n.time-Timeline.time)<.002&&(t=n)}),t&&t.select()}return this.element&&this.element.parent&&this.element.parent!=="root"&&this.element.parent.openUp(),this}}doRender(){return this.getElement(),this.element&&this.element&&this.element.mesh}displayPosition(e,t=1){var n=this.element.mesh;return e&&(n.position.x+=e[0]*t,n.position.y+=e[1]*t,n.position.z+=e[2]*t),this}displayRotation(e,t=1){var n=this.element.mesh;if(e)if(e.length===4){var a=new Ve.Euler().setFromQuaternion(new Ve.Quaternion().fromArray(e),Format.euler_order);n.rotation.x+=a.x*t,n.rotation.y+=a.y*t,n.rotation.z+=a.z*t}else n.rotation.x+=Math.degToRad(e[0])*t,n.rotation.y+=Math.degToRad(e[1])*t,n.rotation.z+=Math.degToRad(e[2])*t;return this}displayScale(e,t=1){if(!e)return this;var n=this.element.mesh;return n.scale.x*=1+(e[0]-1)*t||1e-5,n.scale.y*=1+(e[1]-1)*t||1e-5,n.scale.z*=1+(e[2]-1)*t||1e-5,this}displayFrame(e=1){this.doRender()&&(this.getElement(),this.muted.position||this.displayPosition(this.interpolate("position"),e),this.muted.rotation||this.displayRotation(this.interpolate("rotation"),e),this.muted.scale||this.displayScale(this.interpolate("scale"),e),this.element.scene_object.matrixWorldNeedsUpdate=!0)}};fy.prototype.type="armature_bone";fy.prototype.channels={position:{name:tl("timeline.position"),mutable:!0,transform:!0,max_data_points:2},rotation:{name:tl("timeline.rotation"),mutable:!0,transform:!0,max_data_points:2},scale:{name:tl("timeline.scale"),mutable:!0,transform:!0,max_data_points:2}};ArmatureBone.animator=fy;var ff=class extends rl{constructor(e,t,n){super(e,t),this.uuid=e,this._name=n,this.solver=new FIK.Structure3D(scene),this.chain=new FIK.Chain3D,this.position=[]}get name(){var e=this.getElement();return e?e.name:this._name}set name(e){this._name=e}getElement(){return this.element=OutlinerNode.uuids[this.uuid],this.element}select(e){if(!this.getElement())return unselectAllElements(),this;if(!this.getElement().locked){if(e!==!0&&this.element&&this.element.select(),mp.prototype.select.call(this),this[Toolbox.selected.animation_channel]&&(Timeline.selected.length==0||Timeline.selected[0].animator!=this)){var t;this[Toolbox.selected.animation_channel].forEach(n=>{Math.abs(n.time-Timeline.time)<.002&&(t=n)}),t&&t.select()}return this.element&&this.element.parent&&this.element.parent!=="root"&&this.element.parent.openUp(),this}}doRender(){return this.getElement(),this.element&&this.element&&this.element.mesh}displayPosition(e,t=1){var n=this.element.mesh;return e&&(n.position.x+=e[0]*t,n.position.y+=e[1]*t,n.position.z+=e[2]*t),this}displayIK(e){let t=this.getElement(),n=[...Group.all,...ArmatureBone.all,...Locator.all].find(u=>u.uuid==t.ik_target);if(!t||!n)return;let a=[],o=new Ve.Vector3().copy(t.getWorldCenter(!0)),r=[],s=n.parent,l;if(t.ik_source?l=[...Group.all,...ArmatureBone.all].find(u=>u.uuid==t.ik_source):l=t.parent,!l||!n.isChildOf(l)&&l!="root")return;let c=t.lock_ik_target_rotation&&(n instanceof Group||n instanceof ArmatureBone)&&n.mesh.getWorldQuaternion(new Ve.Quaternion);for(;s!==l;)a.push(s),s=s.parent;if(t.ik_source&&a.push(l),!a.length)return;a.reverse(),a.forEach(u=>{u.mesh.fix_rotation&&u.mesh.rotation.copy(u.mesh.fix_rotation)}),a.forEach((u,p)=>{let m=new FIK.V3(0,0,0).copy(u.mesh.getWorldPosition(new Ve.Vector3)),_=new FIK.V3(0,0,0).copy(a[p+1]?a[p+1].mesh.getWorldPosition(new Ve.Vector3):t.getWorldCenter(!1)),f=new FIK.Bone3D(m,_);this.chain.addBone(f),r.push({bone:u,last_diff:new Ve.Vector3((a[p+1]?a[p+1]:n).origin[0]-u.origin[0],(a[p+1]?a[p+1]:n).origin[1]-u.origin[1],(a[p+1]?a[p+1]:n).origin[2]-u.origin[2]).normalize()})}),this.solver.add(this.chain,o,!0),this.solver.meshChains[0].forEach(u=>{u.visible=!1}),this.solver.update();let d={};if(r.forEach((u,p)=>{let m=Reusable.vec1.copy(this.solver.chains[0].bones[p].start),_=Reusable.vec2.copy(this.solver.chains[0].bones[p].end);a[p].mesh.worldToLocal(m),a[p].mesh.worldToLocal(_),Reusable.quat1.setFromUnitVectors(u.last_diff,_.sub(m).normalize());let f=e?new Ve.Euler:Reusable.euler1;f.setFromQuaternion(Reusable.quat1,Format.euler_order),u.bone.mesh.rotation.x+=f.x,u.bone.mesh.rotation.y+=f.y,u.bone.mesh.rotation.z+=f.z,u.bone.mesh.updateMatrixWorld(),e&&(d[u.bone.uuid]={euler:f,array:[Math.radToDeg(f.x),Math.radToDeg(f.y),Math.radToDeg(f.z)]})}),c){let u=e?new Ve.Euler:Reusable.euler1;u.copy(n.mesh.rotation),n.mesh.quaternion.copy(c);let p=n.mesh.parent.getWorldQuaternion(Reusable.quat1);n.mesh.quaternion.premultiply(p.invert()),n.mesh.updateMatrixWorld(),u.x=n.mesh.rotation.x-u.x,u.y=n.mesh.rotation.y-u.y,u.z=n.mesh.rotation.z-u.z,e&&(d[n.uuid]={euler:u,array:[Math.radToDeg(u.x),Math.radToDeg(u.y),Math.radToDeg(u.z)]})}if(this.solver.clear(),this.chain.clear(),this.chain.lastTargetLocation.set(1e9,0,0),e)return d}displayFrame(e=1){this.doRender()&&(this.getElement(),this.muted.position||(this.displayPosition(this.interpolate("position"),e),this.displayIK()))}};ff.prototype.type="null_object";ff.prototype.channels={position:{name:tl("timeline.position"),mutable:!0,transform:!0,max_data_points:2}};NullObject.animator=ff;var e_=class extends mp{constructor(e){super(null,e),this.last_displayed_time=0,this.name=tl("timeline.effects"),this.selected=!1;for(let t in this.channels)this[t]=[]}pushKeyframe(e){return this[e.channel].push(e),e.animator=this,this}displayFrame(e){e&&!this.muted.sound&&this.sound.forEach(t=>{let n=this.animation.time-t.time;if(n<0)return;let a=Timeline.playing_sounds.find(o=>o.keyframe_id==t.uuid);n>=0&&n<1/30*(Timeline.playback_speed/100)&&!a?t.data_points[0].file&&!t.cooldown&&(a=new Audio(t.data_points[0].file),a.keyframe_id=t.uuid,a.playbackRate=Math.clamp(Timeline.playback_speed/100,.1,4),a.volume=Math.clamp(settings.volume.value/100,0,1),a.play().catch(()=>{}),Timeline.playing_sounds.push(a),a.onended=function(){Timeline.playing_sounds.remove(a),Timeline.paused_sounds.safePush(a)},t.cooldown=!0,setTimeout(()=>{delete t.cooldown},400)):n>0&&a&&Math.abs(a.currentTime-n)>.18&&n<a.duration&&(console.log("Resyncing sound"),a.currentTime=Math.clamp(n+.08,0,a.duration),a.playbackRate=Math.clamp(Timeline.playback_speed/100,.1,4))}),this.muted.particle||this.particle.forEach(t=>{let n=this.animation.time-t.time,a=0;for(let o of t.data_points){let r=o.file&&Animator.particle_effects[o.file];if(r){let s=r.emitters[t.uuid+a];if(n>=0){if(!s){let c=a,d=this.animation.uuid;s=r.emitters[t.uuid+a]=new up.Emitter(WinterskyScene,r.config);let u=s.Molang.variableHandler;s.Molang.variableHandler=(p,m)=>{let _=u.call(s,p,m);return _!==void 0?_:Animator.MolangParser.variableHandler(p)},s.on("start",({params:p})=>{let _=Animation.all.find(g=>g.uuid===d)?.animators.effects?.particle.find(g=>g.uuid==t.uuid),f=_&&_.data_points[c];f&&s.Molang.parse(f.script,Animator.MolangParser.global_variables)})}let l=o.locator&&Locator.all.find(c=>c.name==o.locator);l?(l.mesh.add(s.local_space),s.parent_mode="locator"):s.parent_mode="entity",scene.add(s.global_space),s.jumpTo(n)}else s&&s.enabled&&s.stop(!0)}a++}}),this.muted.timeline||this.timeline.forEach(t=>{if(t.time>this.last_displayed_time&&t.time<=this.animation.time||Math.epsilon(t.time,this.animation.time,.01)){let n=t.data_points[0].script;Animator.MolangParser.parse(n)}}),this.last_displayed_time=this.animation.time}startPreviousSounds(){this.muted.sound||this.sound.forEach(e=>{if(e.data_points[0].file&&!e.cooldown){var t=e.time-this.animation.time;if(t<0&&Timeline.waveforms[e.data_points[0].file]&&Timeline.waveforms[e.data_points[0].file].duration>-t){var n=new Audio(e.data_points[0].file);n.playbackRate=Math.clamp(Timeline.playback_speed/100,.1,4),n.volume=Math.clamp(settings.volume.value/100,0,1),n.currentTime=-t,n.keyframe_id=e.uuid,n.play().catch(()=>{}),Timeline.playing_sounds.push(n),n.onended=function(){Timeline.playing_sounds.remove(n),Timeline.paused_sounds.safePush(n)},e.cooldown=!0,setTimeout(()=>{delete e.cooldown},400)}}})}};e_.prototype.type="effect";e_.prototype.channels={particle:{name:tl("timeline.particle"),mutable:!0,max_data_points:1e3},sound:{name:tl("timeline.sound"),mutable:!0,max_data_points:1e3},timeline:{name:tl("timeline.timeline"),mutable:!0,max_data_points:1}};StateMemory.init("animation_presets","array");BARS.defineActions(()=>{new Action("apply_animation_preset",{condition:()=>Modes.animate&&Timeline.selected_animator&&Timeline.selected_animator.applyAnimationPreset,icon:"library_books",click:function(i){new Menu("apply_animation_preset",this.children(),{searchable:!0}).open(i.target)},children(){let i=Timeline.selected_animator,e=[];for(let t in Animator.animation_presets){let n=Animator.animation_presets[t],a={name:n.name,icon:"fast_forward",click:()=>{i.applyAnimationPreset(n)}};e.push(a)}StateMemory.animation_presets.length&&e.push("_");for(let t of StateMemory.animation_presets){let n={name:t.name,icon:"fast_forward",click:()=>{i.applyAnimationPreset(t)},children:[{icon:"delete",name:"generic.delete",click:()=>{Blockbench.showMessageBox({title:"generic.delete",message:"generic.confirm_delete",buttons:["dialog.confirm","dialog.cancel"]},a=>{a!=1&&(StateMemory.animation_presets.remove(t),StateMemory.save("animation_presets"))})}}]};e.push(n)}return e}}),new Action("save_animation_preset",{icon:"playlist_add",condition:()=>Modes.animate&&Keyframe.selected.length&&Keyframe.selected.allAre(i=>i.animator==Keyframe.selected[0].animator),click(i){new Dialog({id:"save_animation_preset",title:"action.save_animation_preset",width:540,form:{name:{label:"generic.name"}},onConfirm:function(t){if(!t.name)return;let n={uuid:guid(),name:t.name},a=Keyframe.selected.slice().sort((r,s)=>r.time-s.time),o=a[0].time;for(let r of a){if(!r.transform)continue;n[r.channel]||(n[r.channel]={});let s=r.compileBedrockKeyframe(),l=trimFloatNumber(Timeline.snapTime(r.time-o)).toString();n[r.channel][l]=s}StateMemory.animation_presets.push(n),StateMemory.save("animation_presets")}}).show()}})});Object.assign(window,{GeneralAnimator:mp,BoneAnimator:rl,NullObjectAnimator:ff,EffectAnimator:e_});Animator.MolangParser.context={};Animator.MolangParser.global_variables={true:1,false:0,get"query.delta_time"(){let i=(performance.now()-Timeline.last_frame_timecode)/1e3;return i<0&&(i+=1),Math.clamp(i,0,.1)},get"query.anim_time"(){return Animator.MolangParser.context.animation?Animator.MolangParser.context.animation.time:Timeline.time},get"query.life_time"(){return Timeline.time},get"query.time_stamp"(){return Math.floor(Timeline.time*20)/20},get"query.all_animations_finished"(){if(AnimationController.selected?.selected_state){let i=AnimationController.selected?.selected_state,e=i.getStateTime();return i.animations.allAre(n=>{let a=Animation.all.find(o=>o.uuid==n.animation);return!a||e>a.length})?1:0}return 0},get"query.state_time"(){return AnimationController.selected?.selected_state&&AnimationController.selected.selected_state.getStateTime(),Timeline.time},get"query.any_animation_finished"(){if(AnimationController.selected?.selected_state){let i=AnimationController.selected?.selected_state,e=i.getStateTime();return i.animations.find(n=>{let a=Animation.all.find(o=>o.uuid==n.animation);return a&&e>a.length})?1:0}return 0},"query.camera_rotation"(i){let e=cameraTargetToRotation(Preview.selected.camera.position.toArray(),Preview.selected.controls.target.toArray())[i?0:1];return i==0&&(e*=-1),e},"query.rotation_to_camera"(i){let e=cameraTargetToRotation([0,0,0],Preview.selected.camera.position.toArray())[i?0:1];return i==0&&(e*=-1),e},get"query.distance_from_camera"(){return Preview.selected.camera.position.length()/Format.block_size},"query.lod_index"(i){i.sort((n,a)=>n-a);let e=Preview.selected.camera.position.length()/Format.block_size,t=i.length;return i.forEachReverse((n,a)=>{e<n&&(t=a)}),t},"query.camera_distance_range_lerp"(i,e){let t=Preview.selected.camera.position.length()/Format.block_size;return Math.clamp(Math.getLerp(i,e,t),0,1)},get"query.is_first_person"(){return Project.bedrock_animation_mode=="attachable_first"?1:0},get"context.is_first_person"(){return Project.bedrock_animation_mode=="attachable_first"?1:0},"query.get_default_bone_pivot"(i,e){let t=Group.all.find(n=>n.name.toLowerCase()==i);if(t&&e>=0&&e<3){let n=t.origin[e]??0;return e==0&&(n*=-1),n}},get time(){return Timeline.time}};var k5={"query.model_scale":1/16};Animator.MolangParser.variableHandler=function(i,e,t){let n=t?.length&&`${i}(${t.map(o=>jA(o)?o:"'"+o+"'").join(",")})`,a=Animator.global_variable_lines[i]??Animator.global_variable_lines[n];if(a===void 0)return k5[i]!=null?k5[i]:void 0;if(a.match(/^(slider|toggle|impulse)\(/)){let[o,r]=a.substring(0,a.lastIndexOf(")")).split(/\(/),[s]=r.split(/\(|, */);s=s.replace(/['"]/g,"");let l=Panels.variable_placeholders.inside_vue.buttons.find(c=>c.id===s&&c.type==o);return l?parseFloat(l.value):0}else return a[0]=="'"?a:Animator.MolangParser.parse(a,e)};function UC(){let i=[];return Animation.all.forEach(e=>{for(let t in Animation.properties){let n=Animation.properties[t];if(Condition(n.condition,e)&&n.type=="molang"&&e[t]&&isNaN(e[t])){let a=e[t];i.push({value:a,type:"animation",key:t,animation:e})}}for(let t in e.animators){let n=e.animators[t];for(let a in n.channels)n[a].forEach((o,r)=>{o.data_points.forEach(s=>{for(let l in KeyframeDataPoint.properties){let c=KeyframeDataPoint.properties[l];Condition(c.condition,s)&&c.type=="molang"&&s[l]&&isNaN(s[l])&&i.push({value:s[l],type:"keyframe",key:l,animation:e,animator:n,channel:a,kf:o})}})})}}),AnimationController.all.forEach(e=>{e.states.forEach(t=>{t.on_entry&&isNaN(t.on_entry)&&i.push({value:t.on_entry,type:"controller",controller:e,state:t}),t.on_entry&&isNaN(t.on_exit)&&i.push({value:t.on_exit,type:"controller",controller:e,state:t}),t.animations.forEach(n=>{n.blend_value&&isNaN(n.blend_value)&&i.push({value:n.blend_value,type:"controller_animation",controller:e,state:t})}),t.transitions.forEach(n=>{n.condition&&isNaN(n.condition)&&i.push({value:n.condition,type:"controller_transition",controller:e,state:t})})})}),i}new ValidatorCheck("molang_syntax",{condition:{features:["animation_mode"]},update_triggers:["update_keyframe_selection","edit_animation_properties"],run(){let i=this,e=["return","continue","break"],t=window.chrome?new RegExp("(?<!\\w)[0-9._]+\\(|\\)[a-z0-9._]+"):null;function n(a,o,r){if(!a||typeof a!="string")return;let s=a.replace(/'.*'/g,"0"),l=[];s.match(/([-+*/]\s*[+*/])|(\+\s*-)/)&&l.push("Two directly adjacent operators"),s.match(/^[+*/.,?=&<>|]/)&&l.push("Expression starts with an invalid character"),s.endsWith(";")&&!s.includes("return ")&&!(r instanceof Keyframe&&r.animator instanceof e_)&&l.push("Complex expression with no return value. Remove the semicolon or add a return statement"),(s.match(/[\w.]\s+[\w.]/)&&!e.find(u=>s.includes(u))||s.match(/\)\(/)||t&&s.match(t))&&l.push("Two expressions with no operator in between"),s.match(/(^|[^a-z0-9_])[\d.]+[a-z_]+/i)&&l.push("Invalid token "+s.match(/(^|[^a-z0-9_])[\d.]+[a-z_]+/i)[0].replace(/[^a-z0-9._]/g,"")),s.match(/[^\w\s+\-*/(){}.,;:[\]!?=<>&|]/)&&l.push("Invalid character: "+s.match(/[^\s\w+\-*/(){}.,;:[\]!?=<>&|]+/g).join(", "));let c=a.match(/\(/g)||0,d=a.match(/\)/g)||0;if(c.length!==d.length&&l.push("Brackets do not match"),l.length){let u;r instanceof Animation?u={name:"Edit Animation",icon:"movie",click(){Dialog.open.close(),r.propertiesDialog()}}:u={name:"Reveal Keyframe",icon:"icon-keyframe",click(){Dialog.open.close(),r.showInTimeline()}},i.fail({message:`${o} ${l.join("; ")}. Script: \`${a}\``,buttons:[u]})}}UC().forEach(a=>{if(a.type=="animation")n(a.value,`Property "${a.key}" on animation "${a.animation.name}" contains invalid molang:`,a.animation);else if(a.type=="keyframe"){let o=a.animator.channels[a.channel].name;n(a.value,`${o} keyframe at ${a.kf.time.toFixed(2)} on "${a.animator.name}" in "${a.animation.name}" contains invalid molang:`,a.kf)}})}});var va={};function w5(i){let e=new Set,t=UC();for(let n of t){if(!n.value)continue;let a=n.value.match(/(v|variable)\.(\w+)/gi);if(a)for(let o of a){let r=o.split(".")[1];i&&i.includes(r)||e.add(r)}}return e}function S5(i,e){let t=new Set,n=i.match(/(t|temp)\.(\w+)/gi);if(!n)return t;for(let a of n){let o=a.split(".")[1];e&&e.includes(o)||t.add(o)}return t}function t_(i,e){return i.sort((t,n)=>t.priority&&n.priority?n.priority-t.priority:t.priority?-1:n.priority?1:t.text.startsWith(e)&&!n.text.startsWith(e)?-1:n.text.startsWith(e)&&!t.text.startsWith(e)?1:t.text.localeCompare(n.text))}(function(){var i;va.Namespace=class{constructor(t){W(this,"id");W(this,"shorthand");W(this,"queries",new Map);W(this,"queryGetters",new Map);this.id=t.id,this.shorthand=t.shorthand}addQuery(t){return this.queries.set(t.id,t),this}hasQuery(t){return this.queries.has(t)}removeQuery(t){return this.queries.delete(t)}addQueryGetter(t,n){return this.queryGetters.set(t,n),this}removeQueryGetter(t){this.queryGetters.delete(t)}createUnion(t,n){let a=new va.Namespace({id:n?.id||this.id,shorthand:n?.shorthand||this.shorthand,priority:n?.priority||this.priority});return a.queries=new Map([...this.queries,...t.queries]),a.queryGetters=new Map([...this.queryGetters,...t.queryGetters]),a}getPossibleQueries(t,n,a=!0){let o=[];return this.queries.forEach(r=>{r.id.startsWith(n)&&o.push(r)}),this.queryGetters.values().forEach(r=>{r(t,n).forEach(l=>{l.id.startsWith(n)&&o.push(l)})}),a&&this.inheritedContext?[...o,...this.inheritedContext.getPossibleQueries(t,n)]:o}},va.Context=(i=class{constructor(t){W(this,"id");W(this,"rootTokens",new Map);W(this,"namespaces",new Map);W(this,"inheritedContext");this.id=t.id,this.inheritedContext=t.inheritedContext,va.Context.all.push(this)}addRootToken(t){return this.rootTokens.set(t.id,t),this}getRootToken(t){return this.rootTokens.get(t)}removeRootToken(t){return this.rootTokens.delete(t)}hasNamespace(t,n=!0){return this.namespaces.has(t)?!0:n&&this.inheritedContext?this.inheritedContext.hasNamespace(t):!1}addNamespace(t,n=!0){return n&&this.namespaces.has(t.id)?this.namespaces.set(t.id,this.namespaces.get(t.id).createUnion(t)):this.namespaces.set(t.id,t),this}getNamespace(t,n=!0){if(n&&this.inheritedContext){let a=this.inheritedContext.getNamespace(t);if(this.namespaces.has(t)){let o=this.namespaces.get(t);if(a)return o.createUnion(a)}return a}if(this.namespaces.has(t))return this.namespaces.get(t)}removeNamespace(t){return this.namespaces.delete(t)}getPossibleNamespaces(t,n=!0){let a=new Map;return this.namespaces.forEach(o=>{(o.id.startsWith(t)||o.shorthand&&o.shorthand.startsWith(t))&&a.set(o.id,o)}),n&&this.inheritedContext&&this.inheritedContext.getPossibleNamespaces(t).forEach(r=>{if(a.has(r.id)){let s=a.get(r.id).createUnion(r);a.set(r.id,s)}else a.set(r.id,r)}),[...a.values()]}getPossibleRootTokens(t,n=!0){let a=[];return this.rootTokens.forEach(o=>{o.id.startsWith(t)&&a.push(o)}),n&&this.inheritedContext?[...a,...this.inheritedContext.getPossibleRootTokens(t)]:a}autocomplete(t,n){let a=[],o=t.substring(0,n).split(/[^a-zA-Z_.]\.*/g).last().toLowerCase();if(o.length===0)return a;let[r,s]=o.split(".").slice(-2);this.getPossibleRootTokens(o).forEach(d=>{a.push({text:d.arguments?`${d.id}()`:d.id,label:d.arguments?`${d.id}( ${d.arguments.join(", ")} )`:void 0,overlap:o.length,priority:d.priority})});let c=this.getPossibleNamespaces(r);switch(c.length){default:return c.forEach(d=>{a.push({text:d.id,overlap:r.length,priority:d.priority}),d.shorthand&&a.push({text:d.shorthand,overlap:r.length,priority:d.priority})}),t_(a,o);case 0:return t_(a,o);case 1:{let d=c[0];if(!s&&!o.endsWith("."))return t_([...a,{text:d.id,overlap:r.length,priority:d.priority}],o);let u=d.getPossibleQueries(t,s);switch(u.length){default:return t_([...a,...u.map(p=>({text:p.arguments?`${p.id}()`:p.id,label:p.arguments?`${p.id}( ${p.arguments.join(", ")} )`:void 0,overlap:s.length,priority:p.priority}))],s);case 0:return t_(a,o);case 1:{let p=u[0];return t_([...a,{text:p.arguments?`${p.id}()`:p.id,label:p.arguments?`${p.id}( ${p.arguments.join(", ")} )`:void 0,overlap:s.length,priority:p.priority}],s)}}}}}delete(){va.Context.all.remove(this)}},W(i,"all",[]),i),va.DefaultContext=new va.Context({id:"defaultContext"}).addRootToken({id:"true"}).addRootToken({id:"false"}).addRootToken({id:"this"}).addRootToken({id:"loop",arguments:["count","expression"]}).addRootToken({id:"return"}).addRootToken({id:"break"}).addRootToken({id:"continue"}).addNamespace(new va.Namespace({id:"query",shorthand:"q"}).addQuery({id:"anim_time"}).addQuery({id:"life_time"}).addQuery({id:"state_time"}).addQuery({id:"yaw_speed"}).addQuery({id:"ground_speed"}).addQuery({id:"vertical_speed"}).addQuery({id:"property",arguments:["property"]}).addQuery({id:"has_property",arguments:["property"]}).addQuery({id:"variant"}).addQuery({id:"mark_variant"}).addQuery({id:"skin_id"}).addQuery({id:"above_top_solid"}).addQuery({id:"actor_count"}).addQuery({id:"all",arguments:["value","values..."]}).addQuery({id:"all_tags"}).addQuery({id:"anger_level"}).addQuery({id:"any",arguments:["value","values..."]}).addQuery({id:"any_tag"}).addQuery({id:"approx_eq",arguments:["value","values..."]}).addQuery({id:"armor_color_slot"}).addQuery({id:"armor_material_slot"}).addQuery({id:"armor_texture_slot"}).addQuery({id:"average_frame_time"}).addQuery({id:"blocking"}).addQuery({id:"body_x_rotation"}).addQuery({id:"body_y_rotation"}).addQuery({id:"bone_aabb"}).addQuery({id:"bone_origin"}).addQuery({id:"bone_rotation"}).addQuery({id:"camera_distance_range_lerp"}).addQuery({id:"camera_rotation",arguments:["axis"]}).addQuery({id:"can_climb"}).addQuery({id:"can_damage_nearby_mobs"}).addQuery({id:"can_dash"}).addQuery({id:"can_fly"}).addQuery({id:"can_power_jump"}).addQuery({id:"can_swim"}).addQuery({id:"can_walk"}).addQuery({id:"cape_flap_amount"}).addQuery({id:"cardinal_facing"}).addQuery({id:"cardinal_facing_2d"}).addQuery({id:"cardinal_player_facing"}).addQuery({id:"combine_entities",arguments:["entitiesReferences..."]}).addQuery({id:"count"}).addQuery({id:"current_squish_value"}).addQuery({id:"dash_cooldown_progress"}).addQuery({id:"day"}).addQuery({id:"death_ticks"}).addQuery({id:"debug_output"}).addQuery({id:"delta_time"}).addQuery({id:"distance_from_camera"}).addQuery({id:"effect_emitter_count"}).addQuery({id:"effect_particle_count"}).addQuery({id:"equipment_count"}).addQuery({id:"equipped_item_all_tags"}).addQuery({id:"equipped_item_any_tag",arguments:["tags..."]}).addQuery({id:"equipped_item_is_attachable"}).addQuery({id:"eye_target_x_rotation"}).addQuery({id:"eye_target_y_rotation"}).addQuery({id:"facing_target_to_range_attack"}).addQuery({id:"frame_alpha"}).addQuery({id:"get_actor_info_id"}).addQuery({id:"get_animation_frame"}).addQuery({id:"get_default_bone_pivot"}).addQuery({id:"get_locator_offset"}).addQuery({id:"get_root_locator_offset"}).addQuery({id:"had_component_group",arguments:["group"]}).addQuery({id:"has_any_family",arguments:["families..."]}).addQuery({id:"has_armor_slot"}).addQuery({id:"has_biome_tag"}).addQuery({id:"has_block_property"}).addQuery({id:"has_cape"}).addQuery({id:"has_collision"}).addQuery({id:"has_dash_cooldown"}).addQuery({id:"has_gravity"}).addQuery({id:"has_owner"}).addQuery({id:"has_rider"}).addQuery({id:"has_target"}).addQuery({id:"head_roll_angle"}).addQuery({id:"head_x_rotation"}).addQuery({id:"head_y_rotation"}).addQuery({id:"health"}).addQuery({id:"heartbeat_interval"}).addQuery({id:"heartbeat_phase"}).addQuery({id:"heightmap"}).addQuery({id:"hurt_direction"}).addQuery({id:"hurt_time"}).addQuery({id:"in_range",arguments:["value","min","max"]}).addQuery({id:"invulnerable_ticks"}).addQuery({id:"is_admiring"}).addQuery({id:"is_alive"}).addQuery({id:"is_angry"}).addQuery({id:"is_attached_to_entity"}).addQuery({id:"is_avoiding_block"}).addQuery({id:"is_avoiding_mobs"}).addQuery({id:"is_baby"}).addQuery({id:"is_breathing"}).addQuery({id:"is_bribed"}).addQuery({id:"is_carrying_block"}).addQuery({id:"is_casting"}).addQuery({id:"is_celebrating"}).addQuery({id:"is_celebrating_special"}).addQuery({id:"is_charged"}).addQuery({id:"is_charging"}).addQuery({id:"is_chested"}).addQuery({id:"is_critical"}).addQuery({id:"is_croaking"}).addQuery({id:"is_dancing"}).addQuery({id:"is_delayed_attacking"}).addQuery({id:"is_digging"}).addQuery({id:"is_eating"}).addQuery({id:"is_eating_mob"}).addQuery({id:"is_elder"}).addQuery({id:"is_emerging"}).addQuery({id:"is_emoting"}).addQuery({id:"is_enchanted"}).addQuery({id:"is_fire_immune"}).addQuery({id:"is_first_person"}).addQuery({id:"is_ghost"}).addQuery({id:"is_gliding"}).addQuery({id:"is_grazing"}).addQuery({id:"is_idling"}).addQuery({id:"is_ignited"}).addQuery({id:"is_illager_captain"}).addQuery({id:"is_in_contact_with_water"}).addQuery({id:"is_in_love"}).addQuery({id:"is_in_ui"}).addQuery({id:"is_in_water"}).addQuery({id:"is_in_water_or_rain"}).addQuery({id:"is_interested"}).addQuery({id:"is_invisible"}).addQuery({id:"is_item_equipped"}).addQuery({id:"is_item_name_any",arguments:["slotName","slot?","itemNames..."]}).addQuery({id:"is_jump_goal_jumping"}).addQuery({id:"is_jumping"}).addQuery({id:"is_laying_down"}).addQuery({id:"is_laying_egg"}).addQuery({id:"is_leashed"}).addQuery({id:"is_levitating"}).addQuery({id:"is_lingering"}).addQuery({id:"is_moving"}).addQuery({id:"is_name_any"}).addQuery({id:"is_on_fire"}).addQuery({id:"is_on_ground"}).addQuery({id:"is_on_screen"}).addQuery({id:"is_onfire"}).addQuery({id:"is_orphaned"}).addQuery({id:"is_owner_identifier_any",arguments:["identifiers..."]}).addQuery({id:"is_persona_or_premium_skin"}).addQuery({id:"is_playing_dead"}).addQuery({id:"is_powered"}).addQuery({id:"is_pregnant"}).addQuery({id:"is_ram_attacking"}).addQuery({id:"is_resting"}).addQuery({id:"is_riding"}).addQuery({id:"is_roaring"}).addQuery({id:"is_rolling"}).addQuery({id:"is_saddled"}).addQuery({id:"is_scared"}).addQuery({id:"is_selected_item"}).addQuery({id:"is_shaking"}).addQuery({id:"is_shaking_wetness"}).addQuery({id:"is_sheared"}).addQuery({id:"is_shield_powered"}).addQuery({id:"is_silent"}).addQuery({id:"is_sitting"}).addQuery({id:"is_sleeping"}).addQuery({id:"is_sneaking"}).addQuery({id:"is_sneezing"}).addQuery({id:"is_sniffing"}).addQuery({id:"is_sonic_boom"}).addQuery({id:"is_spectator"}).addQuery({id:"is_sprinting"}).addQuery({id:"is_stackable"}).addQuery({id:"is_stalking"}).addQuery({id:"is_standing"}).addQuery({id:"is_stunned"}).addQuery({id:"is_swimming"}).addQuery({id:"is_tamed"}).addQuery({id:"is_transforming"}).addQuery({id:"is_using_item"}).addQuery({id:"is_wall_climbing"}).addQuery({id:"item_in_use_duration"}).addQuery({id:"item_is_charged"}).addQuery({id:"item_max_use_duration"}).addQuery({id:"item_remaining_use_duration"}).addQuery({id:"item_slot_to_bone_name",arguments:["slotName"]}).addQuery({id:"key_frame_lerp_time"}).addQuery({id:"last_frame_time"}).addQuery({id:"last_hit_by_player"}).addQuery({id:"lie_amount"}).addQuery({id:"life_span"}).addQuery({id:"lod_index"}).addQuery({id:"log"}).addQuery({id:"main_hand_item_max_duration"}).addQuery({id:"main_hand_item_use_duration"}).addQuery({id:"max_durability"}).addQuery({id:"max_health"}).addQuery({id:"max_trade_tier"}).addQuery({id:"maximum_frame_time"}).addQuery({id:"minimum_frame_time"}).addQuery({id:"model_scale"}).addQuery({id:"modified_distance_moved"}).addQuery({id:"modified_move_speed"}).addQuery({id:"moon_brightness"}).addQuery({id:"moon_phase"}).addQuery({id:"movement_direction"}).addQuery({id:"noise"}).addQuery({id:"on_fire_time"}).addQuery({id:"out_of_control"}).addQuery({id:"player_level"}).addQuery({id:"position",arguments:["axis"]}).addQuery({id:"position_delta",arguments:["axis"]}).addQuery({id:"previous_squish_value"}).addQuery({id:"remaining_durability"}).addQuery({id:"roll_counter"}).addQuery({id:"rotation_to_camera",arguments:["axis"]}).addQuery({id:"shake_angle"}).addQuery({id:"shake_time"}).addQuery({id:"shield_blocking_bob"}).addQuery({id:"show_bottom"}).addQuery({id:"sit_amount"}).addQuery({id:"sleep_rotation"}).addQuery({id:"sneeze_counter"}).addQuery({id:"spellcolor"}).addQuery({id:"standing_scale"}).addQuery({id:"structural_integrity"}).addQuery({id:"surface_particle_color"}).addQuery({id:"surface_particle_texture_coordinate"}).addQuery({id:"surface_particle_texture_size"}).addQuery({id:"swell_amount"}).addQuery({id:"swelling_dir"}).addQuery({id:"swim_amount"}).addQuery({id:"tail_angle"}).addQuery({id:"target_x_rotation"}).addQuery({id:"target_y_rotation"}).addQuery({id:"texture_frame_index"}).addQuery({id:"time_of_day"}).addQuery({id:"time_since_last_vibration_detection"}).addQuery({id:"time_stamp"}).addQuery({id:"total_emitter_count"}).addQuery({id:"total_particle_count"}).addQuery({id:"trade_tier"}).addQuery({id:"unhappy_counter"}).addQuery({id:"walk_distance"}).addQuery({id:"wing_flap_position"}).addQuery({id:"wing_flap_speed"})).addNamespace(new va.Namespace({id:"math",shorthand:"m"}).addQuery({id:"sin",arguments:["value"]}).addQuery({id:"cos",arguments:["value"]}).addQuery({id:"abs",arguments:["value"]}).addQuery({id:"clamp",arguments:["value","min","max"]}).addQuery({id:"pow",arguments:["base","exponent"]}).addQuery({id:"sqrt",arguments:["value"]}).addQuery({id:"random",arguments:["low","high"]}).addQuery({id:"random_integer",arguments:["low","high"]}).addQuery({id:"ceil",arguments:["value"]}).addQuery({id:"round",arguments:["value"]}).addQuery({id:"trunc",arguments:["value"]}).addQuery({id:"floor",arguments:["value"]}).addQuery({id:"mod",arguments:["value","denominator"]}).addQuery({id:"min",arguments:["a","b"]}).addQuery({id:"max",arguments:["a","b"]}).addQuery({id:"exp",arguments:["value"]}).addQuery({id:"ln",arguments:["value"]}).addQuery({id:"lerp",arguments:["start","end","0_to_1"]}).addQuery({id:"lerprotate",arguments:["start","end","0_to_1"]}).addQuery({id:"pi"}).addQuery({id:"asin",arguments:["value"]}).addQuery({id:"acos",arguments:["value"]}).addQuery({id:"atan",arguments:["value"]}).addQuery({id:"atan2",arguments:["y","x"]}).addQuery({id:"die_roll",arguments:["num","low","high"]}).addQuery({id:"die_roll_integer",arguments:["num","low","high"]}).addQuery({id:"hermite_blend",arguments:["0_to_1"]}).addQuery({id:"min_angle",arguments:["angle"]}).addQuery({id:"sign",arguments:["vaule"]}).addQuery({id:"copy_sign",arguments:["value","sign"]}).addQuery({id:"inverse_lerp",arguments:["start","end","value"]}).addQuery({id:"ease_in_quad",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_quad",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_quad",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_cubic",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_cubic",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_cubic",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_quart",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_quart",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_quart",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_quint",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_quint",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_quint",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_sine",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_sine",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_sine",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_expo",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_expo",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_expo",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_circ",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_circ",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_circ",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_bounce",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_bounce",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_bounce",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_back",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_back",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_back",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_elastic",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_out_elastic",arguments:["start","end","0_to_1"]}).addQuery({id:"ease_in_out_elastic",arguments:["start","end","0_to_1"]})).addNamespace(new va.Namespace({id:"context",shorthand:"c"}).addQuery({id:"item_slot"}).addQuery({id:"block_face"}).addQuery({id:"cardinal_block_face_placed_on"}).addQuery({id:"is_first_person"}).addQuery({id:"owning_entity"}).addQuery({id:"player_offhand_arm_height"}).addQuery({id:"other"}).addQuery({id:"count"})).addNamespace(new va.Namespace({id:"variable",shorthand:"v"}).addQuery({id:"attack_time"}).addQuery({id:"is_first_person"}).addQueryGetter("variables",(e,t)=>[...w5([t])].map(a=>({id:a})))).addNamespace(new va.Namespace({id:"temp",shorthand:"t"}).addQueryGetter("temporary_variables",(e,t)=>[...S5(e,[t])].map(a=>({id:a})))),va.KeyframeContext=new va.Context({id:"keyframeContext",inheritedContext:va.DefaultContext}),va.AnimationControllerContext=new va.Context({id:"animationControllerContext",inheritedContext:va.DefaultContext}).addNamespace(new va.Namespace({id:"query",shorthand:"q"}).addQuery({id:"all_animations_finished",priority:100}).addQuery({id:"any_animation_finished",priority:100})),va.AnimationContext=new va.Context({id:"animationContext",inheritedContext:va.DefaultContext}),va.VariablePlaceholdersContext=new va.Context({id:"variablePlaceholdersContext",inheritedContext:va.DefaultContext}).addRootToken({id:"toggle",arguments:["name"]}).addRootToken({id:"slider",arguments:["name","step?","min?","max?"]}).addRootToken({id:"impulse",arguments:["name","duration"]}),va.BedrockBindingContext=new va.Context({id:"bedrockBindingContext",inheritedContext:va.DefaultContext})})();Object.assign(window,{getAllMolangExpressions:UC,MolangAutocomplete:va,getProjectMolangVariables:w5,getTemporaryMolangVariables:S5,sortAutocompleteResults:t_});var br=class i{constructor(e){this.keyframe=e;for(var t in i.properties)i.properties[t].reset(this)}extend(e){e.values&&Object.assign(e,e.values);let t=this.file;for(var n in i.properties)i.properties[n].merge(this,e)}getUndoCopy(){let e={};for(let t in i.properties)i.properties[t].copy(this,e);return e}};new Property(br,"molang","x",{label:"X",condition:i=>i.keyframe.transform,default:i=>i&&i.keyframe.channel=="scale"?"1":"0"});new Property(br,"molang","y",{label:"Y",condition:i=>i.keyframe.transform,default:i=>i&&i.keyframe.channel=="scale"?"1":"0"});new Property(br,"molang","z",{label:"Z",condition:i=>i.keyframe.transform,default:i=>i&&i.keyframe.channel=="scale"?"1":"0"});new Property(br,"string","effect",{label:tl("data.effect"),condition:i=>["particle","sound"].includes(i.keyframe.channel)});new Property(br,"string","locator",{label:tl("data.locator"),condition:i=>["particle","sound"].includes(i.keyframe.channel)});new Property(br,"molang","script",{label:tl("timeline.pre_effect_script"),condition:i=>["particle","timeline"].includes(i.keyframe.channel),default:""});new Property(br,"string","file",{exposed:!1,condition:i=>["particle","sound"].includes(i.keyframe.channel)});new Property(br,"boolean","bind_to_actor",{exposed:!1,default:!0,condition:i=>["particle"].includes(i.keyframe.channel)});var ko=class i{constructor(e,t,n){this.type="keyframe",this.uuid=t&&isUUID(t)?t:guid(),this.time=0,this.channel="rotation",this.selected=!1,this.has_expressions=!1,this.display_value=0,this.data_points=[],typeof e=="object"&&(Merge.string(this,e,"channel"),this.animator=n,this.transform=!!this.animator.channels[this.channel].transform,this.data_points.push(new br(this)));for(var a in i.properties)i.properties[a].reset(this);typeof e=="object"&&this.extend(e)}extend(e){for(var t in i.properties)i.properties[t].merge(this,e);if(e.data_points&&e.data_points.length)this.data_points.splice(e.data_points.length),e.data_points.forEach((n,a)=>{this.data_points[a]||this.data_points.push(new br(this)),this.data_points[a].extend(n)});else for(var t in br.properties)br.properties[t].merge(this.data_points[0],e);return this.channel=="scale"&&this.uniform&&this.data_points.some(n=>n.x!=n.y||n.x!=n.z)&&(this.uniform=!1),this}get(e,t=0){return t&&(t=Math.clamp(t,0,this.data_points.length-1)),t=this.data_points[t],!t||!t[e]?this.transform?0:"":exportMolang(t[e])}calc(e,t=0){t&&(t=Math.clamp(t,0,this.data_points.length-1)),t=this.data_points[t];let n=Animator._last_values[this.channel]&&Animator._last_values[this.channel][e];return Animator.MolangParser.parse(t&&t[e],{this:n,"query.anim_time":this.animator.animation.time})}set(e,t,n=0){return n&&(n=Math.clamp(n,0,this.data_points.length-1)),typeof t=="number"&&(t=Math.roundTo(t,10).toString()),this.data_points[n]&&(this.uniform?(this.data_points[n].x=t,this.data_points[n].y=t,this.data_points[n].z=t):this.data_points[n][e]=t),this}offset(e,t,n=0){n&&(n=Math.clamp(n,0,this.data_points.length-1));var a=this.get(e,n);return!a||a==="0"?(this.set(e,t,n),t):typeof a=="number"?(this.set(e,a+t,n),a+t):(a=Aw(a,o=>{let r=exportMolang(o);if(!r||r==="0")return t;if(typeof r=="number")return r+t;var s=r.match(/^-?\s*\d+(\.\d+)?\s*(\+|-)/);if(s){var l=parseFloat(s[0].substr(0,s[0].length-1))+t;l==0?(r=r.substr(s[0].length+(r[s[0].length-1]=="+"?0:-1)),r=r.trim()):r=trimFloatNumber(l)+(s[0].substr(-2,1)==" "?" ":"")+r.substr(s[0].length-1)}else{var c=r.match(/(\+|-)\s*\d*(\.\d+)?\s*$/);if(c){var l=parseFloat(c[0])+t;r=r.substr(0,c.index)+(l.toString().substr(0,1)=="-"?"":"+")+trimFloatNumber(l)}else r=trimFloatNumber(t)+(r.substr(0,1)=="-"?"":"+")+r}return r=r.replace(/^(0\s*\+)/,"").replace(/^0\s*-/,"-"),r}),this.set(e,a,n),a)}flip(e){if(!this.transform||this.channel=="scale")return this;if(this.data_points.forEach((n,a)=>{if(this.channel=="rotation"){for(var o=0;o<3;o++)if(o!=e){let r=getAxisLetter(o);this.set(r,Zs(this.get(r,a)),a)}}else if(this.channel=="position"){let r=getAxisLetter(e);this.set(r,Zs(this.get(r,a)),a)}}),this.interpolation=="bezier")if(this.channel=="rotation")for(var t=0;t<3;t++)t!=e&&(this.bezier_left_value[t]*=-1,this.bezier_right_value[t]*=-1);else this.channel=="position"&&(this.bezier_left_value[e]*=-1,this.bezier_right_value[e]*=-1);return this}getLerp(e,t,n,a){let o=this.data_points.length>1&&this.time<e.time?1:0,r=e.data_points.length>1&&this.time>e.time?1:0;if(a&&this.get(t,o)===e.get(t,r))return this.get(t,o);{let s=this.calc(t,o);return s+(e.calc(t,r)-s)*n}}getCatmullromLerp(e,t,n,a,o,r){var s=[];e&&t.data_points.length==1&&s.push(new THREE.Vector2(e.time,e.calc(o,1))),t&&s.push(new THREE.Vector2(t.time,t.calc(o,1))),n&&s.push(new THREE.Vector2(n.time,n.calc(o,0))),a&&n.data_points.length==1&&s.push(new THREE.Vector2(a.time,a.calc(o,0)));var l=new THREE.SplineCurve(s);let c=(r+(e?1:0))/(s.length-1);return l.getPoint(c).y}getBezierLerp(e,t,n,a){let o=getAxisNumber(n),r=e.calc(n,1),s=t.calc(n,0),l=t.time-e.time,c=Math.clamp(e.bezier_right_time[o]||0,0,l),d=Math.clamp(t.bezier_left_time[o]||0,-l,0),u=[new THREE.Vector2(e.time,r),new THREE.Vector2(e.time+c,r+e.bezier_right_value[o]||0),new THREE.Vector2(t.time+d,s+t.bezier_left_value[o]||0),new THREE.Vector2(t.time,s)],p=new THREE.CubicBezierCurve(...u),m=e.time+(t.time-e.time)*a,_=p.getPoints(200),f,g=1/0;_.forEach(b=>{let x=Math.abs(b.x-m);x<g&&(g=x,f=b)});let v;return g=1/0,_.forEach(b=>{if(b==f)return;let x=Math.abs(b.x-m);x<g&&(g=x,v=f,v=b)}),Math.lerp(f.y,v.y,Math.clamp(Math.getLerp(f.x,v.x,m),0,1))}getArray(e=0){var t=[this.get("x",e),this.get("y",e),this.get("z",e)];return t.forEach((n,a)=>{n.replace&&(t[a]=n.replace(/\n/g,""))}),t}getFixed(e=0,t=!0){if(this.channel==="rotation"){let n=this.animator.group.mesh.fix_rotation;if(Format.per_animator_rotation_interpolation?this.quaternion_interpolation:Format.quaternion_interpolation){let o=new THREE.Euler(Math.degToRad(this.calc("x",e)),Math.degToRad(this.calc("y",e)),Math.degToRad(this.calc("z",e)),Format.euler_order),r=new THREE.Quaternion().setFromEuler(n);return r.multiply(Reusable.quat2.setFromEuler(o)),t?r:o.setFromQuaternion(r)}else{let o=new THREE.Euler((n.x||0)+Math.degToRad(this.calc("x",e)),(n.y||0)+Math.degToRad(this.calc("y",e)),(n.z||0)+Math.degToRad(this.calc("z",e)),Format.euler_order);return t?new THREE.Quaternion().setFromEuler(o):o}}else if(this.channel==="position"){let n=this.animator.group.mesh.fix_position;return new THREE.Vector3(n.x+this.calc("x",e),n.y+this.calc("y",e),n.z+this.calc("z",e))}else if(this.channel==="scale")return new THREE.Vector3(this.calc("x",e),this.calc("y",e),this.calc("z",e))}getTimecodeString(){let e=trimFloatNumber(Timeline.snapTime(this.time,this.animator.animation)).toString();return e.includes(".")||(e+=".0"),e}getPreviousKeyframe(){let e=this.animator[this.channel].filter(t=>t.time<this.time);return e.sort((t,n)=>n.time-t.time),e[0]}compileBedrockKeyframe(){if(this.transform){let e=t=>(this.channel=="position"&&(t[0]=Zs(t[0])),this.channel=="rotation"&&(t[0]=Zs(t[0]),t[1]=Zs(t[1])),t);if(this.interpolation=="catmullrom"){let t=this.getPreviousKeyframe(),n=!t&&this.time>0||t&&t.interpolation!="catmullrom";return{pre:n?e(this.getArray(0)):void 0,post:e(this.getArray(n?1:0)),lerp_mode:this.interpolation}}else if(this.data_points.length==1){let t=this.getPreviousKeyframe();return t&&t.interpolation=="step"?new oneLiner({pre:e(t.getArray(1)),post:e(this.getArray())}):e(this.getArray())}else return new oneLiner({pre:e(this.getArray(0)),post:e(this.getArray(1))})}else if(this.channel=="timeline"){let e=[];return this.data_points.forEach(t=>{t.script&&e.push(...t.script.split(`
`))}),e=e.filter(t=>!!t.replace(/[\n\s;.]+/g,"")),e=e.map(t=>t.match(/;\s*$/)||t.startsWith("/")?t:t+";"),e.length<=1?e[0]:e}else{let e=[];return this.data_points.forEach(t=>{if(t.effect){let n=t.script||void 0;n&&!n.replace(/[\n\s;.]+/g,"")&&(n=void 0),n&&!n.match(/;$/)&&(n+=";"),e.push({effect:t.effect,locator:t.locator||void 0,bind_to_actor:t.bind_to_actor==!1?!1:void 0,pre_effect_script:n})}}),e.length<=1?e[0]:e}}replaceOthers(e){var t=this,n=this.animator[this.channel];n.forEach(a=>{a!=t&&Math.abs(a.time-t.time)<1e-4&&(e.push(a),a.remove())})}select(e){if(Timeline.dragging_keyframes)return Timeline.dragging_keyframes=!1,this;if((!e||!e.shiftKey&&!e.ctrlOrCmd&&!Pressing.overrides.ctrl&&!Pressing.overrides.shift)&&(Timeline.selected.forEach(function(n){n.selected=!1}),Timeline.selected.empty()),e&&(e.shiftKey||Pressing.overrides.shift)&&Timeline.selected.length){var t=Timeline.selected[Timeline.selected.length-1];if(t&&t.channel===this.channel&&t.animator==this.animator)Timeline.keyframes.forEach(n=>{n.channel===this.channel&&n.animator===this.animator&&Math.isBetween(n.time,t.time,this.time)&&!n.selected&&(n.selected=!0,Timeline.selected.push(n))});else if(t&&Math.epsilon(this.time,t.time,.01)){let n=Timeline.animators,a=n.indexOf(t.animator),o=n.indexOf(this.animator),r=Math.sign(o-a);if(r==0){let l=Object.keys(this.animator.channels);r=this.channel==l[0]?-1:1}let s=!1;for(let l=a;(r==1?l<=o:l>=o)&&n[l];l+=r){let c=n[l],d=Object.keys(c.channels);r!==1&&d.reverse();for(let u of d){if(s&&u==this.channel&&c==this.animator&&(s=!1),s&&Timeline.vue.channels[u]!==!1){let p=c[u].find(m=>Math.epsilon(this.time,m.time,.01));p&&!p.selected&&(p.selected=!0,Timeline.selected.push(p))}!s&&u==t.channel&&c==t.animator&&(s=!0)}}}}return Timeline.selected.safePush(this),Timeline.selected.length==1&&Timeline.selected[0].animator.selected==!1&&Timeline.selected[0].animator.select(),this.selected=!0,TickUpdates.keyframe_selection=!0,this.transform&&(Timeline.vue.graph_editor_channel=this.channel),this}clickSelect(e){Undo.initSelection({timeline:!0}),this.select(e);var t=!0;if(Timeline.selected.forEach(n=>{n.channel!=this.channel&&(t=!1)}),t)switch(this.channel){case"rotation":BarItems.rotate_tool.select();break;case"position":BarItems.move_tool.select();break;case"scale":BarItems.resize_tool.select();break}Undo.finishSelection("Select keyframe")}callPlayhead(){return Timeline.setTime(this.time),Animator.preview(),this}showInTimeline(){Modes.animate||Modes.options.animate.select(),this.animator.animation.selected||this.animator.animation.select(),this.animator.addToTimeline(),this.select(),Vue.nextTick(()=>{let t=$(`.keyframe#${this.uuid}`).offset();if(!t)return;let n=document.getElementById("timeline_body"),a=$(n).offset();$(n).animate({scrollLeft:t.left-a.left-300,scrollTop:t.top-a.top-120},200)})}showContextMenu(e){return this.selected||(this.select(),vr()),this.menu.open(e,this),this}remove(){this.animator&&this.animator[this.channel].remove(this),Timeline.selected.remove(this)}forSelected(e,t){if(Timeline.selected.length<=1||!Timeline.selected.includes(this))var n=[this];else var n=Timeline.selected;t&&Undo.initEdit({keyframes:n});for(var a=0;a<n.length;a++)e(n[a]);return t&&Undo.finishEdit(t),n}getUndoCopy(e,t={}){var n={animator:e?void 0:this.animator&&this.animator.uuid,channel:this.channel,data_points:[]};!e&&this.animator instanceof EffectAnimator&&(n.animator="effects"),e&&(n.uuid=this.uuid);for(var a in i.properties)i.properties[a].copy(this,n);return e&&this.interpolation!="bezier"&&(delete n.bezier_linked,delete n.bezier_left_time,delete n.bezier_left_value,delete n.bezier_right_time,delete n.bezier_right_value),this.data_points.forEach(o=>{let r=o.getUndoCopy();t.absolute_paths==!1&&delete r.file,n.data_points.push(r)}),n}};ko.prototype.menu=new Menu([new MenuSeparator("settings"),"keyframe_uniform","keyframe_bezier_linked","keyframe_interpolation",{name:"menu.cube.color",icon:"color_lens",children(){return[{icon:"bubble_chart",name:"generic.unset",click:function(i){i.forSelected(e=>{e.color=-1},"change color")}},...rn.map((i,e)=>({icon:"bubble_chart",color:i.standard,name:i.name||"cube.color."+i.id,click(t){t.forSelected(function(n){n.color=e},"change color")}}))]}},new MenuSeparator("actions"),"resolve_keyframe_expressions","reset_keyframe_handles","reset_keyframe","round_keyframe_values",new MenuSeparator("copypaste"),"copy","save_animation_preset","delete"]);new Property(ko,"number","time");new Property(ko,"number","color",{default:-1});new Property(ko,"boolean","uniform",{condition:i=>i.channel=="scale",default:settings.uniform_keyframe.value});new Property(ko,"enum","interpolation",{default:"linear"});new Property(ko,"boolean","bezier_linked",{default:!0});new Property(ko,"vector","bezier_left_time",{default:[-.1,-.1,-.1]});new Property(ko,"vector","bezier_left_value");new Property(ko,"vector","bezier_right_time",{default:[.1,.1,.1]});new Property(ko,"vector","bezier_right_value");ko.selected=[];ko.interpolation={linear:"linear",catmullrom:"catmullrom",bezier:"bezier",step:"step"};function OC(i,e,t){Timeline.selected.forEach(function(n){i=="uniform"&&n.channel=="scale"&&(n.uniform=!0),!(t&&!n.data_points[t])&&n.set(i,e,t)}),["effect","locator","script"].includes(i)||(Animator.preview(),vr())}function vr(){Timeline.keyframes.forEach(i=>{i.selected&&!Timeline.selected.includes(i)&&(i.selected=!1);let e=!1;i.transform&&(e=!!i.data_points.find((t,n)=>i.getArray(n).find(a=>typeof a=="string"))),e!=i.has_expressions&&(i.has_expressions=e)}),Timeline.selected.length&&(BarItems.slider_keyframe_time.update(),BarItems.keyframe_interpolation.set(Timeline.selected[0].interpolation),BarItems.keyframe_uniform.value!=!!Timeline.selected[0].uniform&&(BarItems.keyframe_uniform.value=!!Timeline.selected[0].uniform,BarItems.keyframe_uniform.updateEnabledState()),BarItems.keyframe_bezier_linked.value!=!!Timeline.selected[0].bezier_linked&&(BarItems.keyframe_bezier_linked.value=!!Timeline.selected[0].bezier_linked,BarItems.keyframe_bezier_linked.updateEnabledState())),settings.motion_trails.value&&Modes.animate&&Animation.selected&&(Group.first_selected||Outliner.selected[0]&&Outliner.selected[0].constructor.animator||Project.motion_trail_lock)?Animator.showMotionTrail():Animator.motion_trail.parent&&Animator.motion_trail.children.forEachReverse(i=>{Animator.motion_trail.remove(i)}),Timeline.selected.length>=2?Interface.addSuggestedModifierKey("ctrl","modifier_actions.stretch_keyframes"):Interface.removeSuggestedModifierKey("ctrl","modifier_actions.stretch_keyframes"),BARS.updateConditions(),Blockbench.dispatchEvent("update_keyframe_selection")}function P1(){if(Animation.selected){var i=Timeline.selected.length!==Timeline.keyframes.length;Timeline.keyframes.forEach(e=>{i&&!e.selected?Timeline.selected.push(e):!i&&e.selected&&Timeline.selected.remove(e),e.selected=i}),vr()}}function z5(){Animation.selected&&(Timeline.keyframes.forEach(i=>{Timeline.selected.remove(i),i.selected=!1}),vr())}SharedActions.add("delete",{condition:()=>Animator.open&&Prop.active_panel=="timeline"&&ko.selected.length,priority:-1,run(){Undo.initEdit({keyframes:Timeline.selected});for(var i=Timeline.keyframes.length;i>0;){i--;let e=Timeline.keyframes[i];Timeline.selected.includes(e)&&e.remove()}vr(),Animator.preview(),Undo.finishEdit("Remove keyframes")}});SharedActions.add("select_all",{condition:()=>Animator.open&&Prop.active_panel=="timeline"&&Animation.selected,priority:-1,run(){P1()}});SharedActions.add("unselect_all",{condition:()=>Animator.open&&Prop.active_panel=="timeline"&&Animation.selected,priority:-1,run(){z5()}});SharedActions.add("invert_selection",{condition:()=>Animator.open&&Prop.active_panel=="timeline"&&Animation.selected,priority:-1,run(){Timeline.keyframes.forEach(i=>{i.selected?(Timeline.selected.remove(i),i.selected=!1):(Timeline.selected.push(i),i.selected=!0)}),vr()}});Object.assign(Clipbench,{setKeyframes(){var i=Timeline.selected;if(Clipbench.keyframes=[],!(!i||i.length===0)){var e=i[0],t;i.forEach(n=>{n.time<e.time&&(e=n),t&&t!==n.animator.uuid?t=!1:t==null&&(t=n.animator.uuid)}),i.forEach(n=>{var a=n.getUndoCopy();a.time_offset=n.time-e.time,t!=!1&&delete a.animator,Clipbench.keyframes.push(a)})}},pasteKeyframes(){if(0){var i;try{var e}catch(n){}}if(Clipbench.keyframes&&Clipbench.keyframes.length){if(!Animation.selected)return;var t=[];Undo.initEdit({keyframes:t}),Timeline.selected.empty(),Timeline.keyframes.forEach(n=>{n.selected=!1}),Clipbench.keyframes.forEach(function(n,a){if(n.animator){var o=Animation.selected.animators[n.animator];o&&!Timeline.animators.includes(o)&&o.addToTimeline()}else var o=Timeline.selected_animator;if(o){var r=o.createKeyframe(n,Timeline.time+n.time_offset,n.channel,!1,!1);if(!r)return;t.push(r),r.selected=!0,Property.resetUniqueValues(ko,r),Timeline.selected.push(r)}}),TickUpdates.keyframe_selection=!0,Animator.preview(),Undo.finishEdit("Paste keyframes")}}});BARS.defineActions(function(){new Action("add_keyframe",{icon:"add_circle",category:"animation",condition:{modes:["animate"]},keybind:new Keybind({key:"q"},{reset_values:"shift"}),variations:{reset_values:{name:"action.add_keyframe.reset_values"}},click:function(t){var n=Timeline.selected_animator;if(!n)return;var a=Object.keys(n.channels)[0];Toolbox.selected.id=="rotate_tool"&&n.channels.rotation&&(a="rotation"),Toolbox.selected.id=="move_tool"&&n.channels.position&&(a="position"),Toolbox.selected.id=="resize_tool"&&n.channels.scale&&(a="scale"),Timeline.vue.graph_editor_open&&Prop.active_panel=="timeline"&&n.channels[Timeline.vue.graph_editor_channel]&&(a=Timeline.vue.graph_editor_channel);let o=BarItems.add_keyframe.keybind.additionalModifierTriggered(t)=="reset_values";n.createKeyframe(o?{}:null,Timeline.time,a,!0),o&&Animator.preview()}}),new Action("move_keyframe_back",{icon:"arrow_back",category:"transform",condition:{modes:["animate"],method:()=>!open_menu&&Timeline.selected.length},keybind:new Keybind({key:37}),click:function(t){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(n=>{n.time=Timeline.snapTime(limitNumber(n.time-Timeline.getStep(),0,1e4))}),Animator.preview(),BarItems.slider_keyframe_time.update(),Undo.finishEdit("Move keyframes back")}}),new Action("move_keyframe_forth",{icon:"arrow_forward",category:"transform",condition:{modes:["animate"],method:()=>!open_menu&&Timeline.selected.length},keybind:new Keybind({key:39}),click:function(t){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(n=>{n.time=Timeline.snapTime(limitNumber(n.time+Timeline.getStep(),0,1e4))}),Animation.selected.setLength(),Animator.preview(),BarItems.slider_keyframe_time.update(),Undo.finishEdit("Move keyframes forwards")}});function i(t,n){Undo.initEdit({keyframes:Timeline.selected});let a=canvasGridSize(n.shiftKey||Pressing.overrides.shift,n.ctrlOrCmd||Pressing.overrides.ctrl);Toolbox.selected.id==="resize_tool"&&(a*=.1),t*=a;for(let o of Timeline.selected)o.offset(Timeline.vue.graph_editor_axis,t);Undo.finishEdit("Move keyframe graph")}new Action("move_graph_keyframes_up",{icon:"arrow_warm_up",category:"transform",condition:{modes:["animate"],method:()=>!open_menu&&Timeline.selected.length&&Timeline.vue.graph_editor_open},keybind:new Keybind({key:38,ctrl:null,shift:null}),click(t){i(1,t),Animator.preview()}}),new Action("move_graph_keyframes_down",{icon:"arrow_cool_down",category:"transform",condition:{modes:["animate"],method:()=>!open_menu&&Timeline.selected.length&&Timeline.vue.graph_editor_open},keybind:new Keybind({key:40,ctrl:null,shift:null}),click(t){i(-1,t),Animator.preview()}}),new Action("previous_keyframe",{icon:"fa-arrow-circle-left",category:"animation",condition:{modes:["animate"]},click:function(){var t=Timeline.time;function n(l,c){return l.time-t}let a=Timeline.selected_animator||Timeline.selected[0]&&Timeline.selected[0].animator||Timeline.animators[0],o=Timeline.selected[0]?Timeline.selected[0].channel:a&&Object.keys(a.channels)[0];var r=[];for(var s of Timeline.keyframes)(!a||a==s.animator)&&(!o||o==s.channel)&&n(s)<0&&r.push(s);r.sort((l,c)=>Math.abs(n(l))-Math.abs(n(c)));var s=r[0];s?s.select().callPlayhead():(Timeline.selected.length&&(P1(),P1()),Timeline.setTime(0),Animator.preview())}}),new Action("next_keyframe",{icon:"fa-arrow-circle-right",category:"animation",condition:{modes:["animate"]},click:function(){var t=Timeline.time;function n(l,c){return l.time-t}let a=Timeline.selected_animator||Timeline.selected[0]&&Timeline.selected[0].animator||Timeline.animators[0],o=Timeline.selected[0]?Timeline.selected[0].channel:a&&Object.keys(a.channels)[0];var r=[];for(var s of Timeline.keyframes)(!a||a==s.animator)&&(!o||o==s.channel)&&n(s)>0&&r.push(s);r.sort((l,c)=>Math.abs(n(l))-Math.abs(n(c)));var s=r[0];s&&s.select().callPlayhead()}}),new NumSlider("slider_keyframe_time",{category:"animation",condition:()=>Animator.open&&Timeline.selected.length,getInterval(t){return t&&t.shiftKey||Pressing.overrides.shift?1:Timeline.getStep()},get:function(){return Timeline.selected[0]?Timeline.selected[0].time:0},change:function(t){Timeline.selected.forEach(n=>{n.time=Timeline.snapTime(limitNumber(t(n.time),0,1e4))}),Animator.preview()},onBefore:function(){Undo.initEdit({keyframes:Timeline.selected})},onAfter:function(){Animation.selected.setLength(),Undo.finishEdit("Change keyframe time")}}),new Toggle("keyframe_uniform",{icon:"link",category:"animation",condition:()=>Animator.open&&Timeline.selected.length&&!Timeline.selected.find(t=>t.channel!=="scale"),onChange(t){let n=Timeline.selected;Undo.initEdit({keyframes:n}),n.forEach(a=>{a.uniform=t}),Undo.finishEdit("Change keyframes uniform setting"),Interface.Panels.keyframe.inside_vue.$forceUpdate(),vr()}}),new Toggle("keyframe_bezier_linked",{icon:"fa-bezier-curve",category:"animation",condition:()=>Animator.open&&Timeline.selected.length&&!Timeline.selected.find(t=>t.interpolation!=="bezier"),onChange(t){let n=Timeline.selected;Undo.initEdit({keyframes:n}),n.forEach(a=>{a.bezier_linked=t,t&&(a.bezier_right_time.V3_set(a.bezier_left_time).V3_multiply(-1),a.bezier_right_value.V3_set(a.bezier_left_value).V3_multiply(-1))}),Timeline.vue.show_zero_line=!Timeline.vue.show_zero_line,Timeline.vue.show_zero_line=!Timeline.vue.show_zero_line,Undo.finishEdit("Change keyframes bezier link option"),vr()}}),new BarSelect("keyframe_interpolation",{category:"animation",condition:()=>Animator.open&&Timeline.selected.length&&Timeline.selected.find(t=>t.transform),options:{linear:!0,catmullrom:!0,bezier:!0,step:!0},onChange:function(t,n){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(a=>{a.transform&&(a.interpolation=t.value)}),Undo.finishEdit("Change keyframes interpolation"),vr()}}),new Action("reset_keyframe",{icon:"replay",category:"animation",condition:()=>Animator.open&&Timeline.selected.length,click:function(){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(t=>{t.data_points.replace([new br(t)]),t.interpolation=="bezier"&&(t.bezier_left_time.V3_set(-.1,-.1,-.1),t.bezier_left_value.V3_set(0,0,0),t.bezier_right_time.V3_set(.1,.1,.1),t.bezier_right_value.V3_set(0,0,0))}),Undo.finishEdit("Reset keyframes"),vr(),Animator.preview()}}),new Action("reset_keyframe_handles",{icon:"replay",category:"animation",condition:()=>Animator.open&&ko.selected.length&&Timeline.vue.graph_editor_open&&ko.selected.find(t=>t.interpolation=="bezier"),click:function(){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(t=>{t.interpolation=="bezier"&&(t.bezier_left_time.V3_set(-.1,-.1,-.1),t.bezier_left_value.V3_set(0,0,0),t.bezier_right_time.V3_set(.1,.1,.1),t.bezier_right_value.V3_set(0,0,0))}),Timeline.vue.show_zero_line=!Timeline.vue.show_zero_line,Timeline.vue.show_zero_line=!Timeline.vue.show_zero_line,Undo.finishEdit("Reset keyframe handles"),vr(),Animator.preview()}}),new Action("round_keyframe_values",{icon:"percent",category:"animation",condition:()=>Animator.open&&Timeline.selected.length,click:function(){let t=a=>typeof a=="number"?Math.round(a):a.replace(/\d+.\d+/g,o=>Math.round(parseFloat(o))),n=Timeline.selected.filter(a=>a.transform);Undo.initEdit({keyframes:n}),n.forEach(a=>{for(let o of a.data_points)for(let r of"xyz")Condition(br.properties[r].condition,o)&&(o[r]=t(o[r]))}),Undo.finishEdit("Round keyframe values"),vr(),Animator.preview()}}),new Action("resolve_keyframe_expressions",{icon:"functions",category:"animation",condition:()=>Animator.open&&Timeline.selected.length,click:function(){Undo.initEdit({keyframes:Timeline.selected});let t=Timeline.time;Timeline.selected.forEach(n=>{n.animator.fillValues&&(Timeline.time=n.time,n.animator.fillValues(n,null,!1,!1))}),Timeline.time=t,Undo.finishEdit("Resolve keyframes"),vr()}}),new Action("reverse_keyframes",{icon:"swap_horizontal_circle",category:"animation",condition:()=>Animator.open&&Timeline.selected.length,click:function(){var t=1e9,n=0;Timeline.selected.forEach(a=>{t=Math.min(t,a.time),n=Math.max(n,a.time)}),Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(a=>{if(a.time=n+t-a.time,a.transform&&a.data_points.length>1&&a.data_points.reverse(),a.interpolation=="bezier"){let o=a.bezier_right_time.slice(),r=a.bezier_right_value.slice();a.bezier_right_time.replace(a.bezier_left_time),a.bezier_right_value.replace(a.bezier_left_value),a.bezier_left_time.replace(o),a.bezier_left_value.replace(r),a.bezier_right_time.V3_multiply(-1),a.bezier_left_time.V3_multiply(-1)}}),Undo.finishEdit("Reverse keyframes"),vr(),Animator.preview()}});let e=["rotation","position","scale"];new Action("keyframe_column_create",{icon:"add_road",category:"animation",condition:()=>Animator.open,keybind:new Keybind({},{all_channels:"shift"}),variations:{all_channels:{name:"action.keyframe_column_create.all_channels",description:"action.keyframe_column_create.all_channels.desc"}},click(t){let n=BarItems.keyframe_column_create.keybind.additionalModifierTriggered(t)=="all_channels";Timeline.selected.empty();let a=[];Undo.initEdit({keyframes:a}),Timeline.animators.forEach(o=>{o instanceof BoneAnimator&&e.forEach(r=>{if(Timeline.vue.channels[r]!==!1&&o[r]&&(o[r].length||n)){let s=o[r].find(l=>Math.epsilon(l.time,Timeline.time,1e-5));s||(s=o.createKeyframe(null,Timeline.time,r,!1,!1),a.push(s)),Timeline.selected.push(s),s.selected=!0}})}),vr(),Undo.finishEdit("Create keyframe column")}}),new Action("keyframe_column_select",{icon:"unfold_more_double",category:"animation",condition:()=>Animator.open,click(){Timeline.selected.empty(),Timeline.animators.forEach(t=>{t instanceof BoneAnimator&&e.forEach(n=>{Timeline.vue.channels[n]!==!1&&t[n]&&t[n].length&&t[n].forEach(a=>{Math.epsilon(a.time,Timeline.time,1e-5)&&Timeline.vue.channels[a.channel]!==!1&&(Timeline.selected.push(a),a.selected=!0)})})}),vr()}})});Interface.definePanels(function(){new Panel("keyframe",{icon:"icon-keyframe",condition:{modes:["animate"],method:()=>!AnimationController.selected},default_position:{slot:"left_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:4},toolbars:[new Toolbar({id:"keyframe",children:["slider_keyframe_time","keyframe_interpolation","keyframe_uniform","reset_keyframe"]})],component:{name:"panel-keyframe",components:{VuePrismEditor},data(){return{keyframes:Timeline.selected,channel_colors:{x:"color_x",y:"color_y",z:"color_z"}}},methods:{updateInput(t,n,a){OC(t,n,a)},updateToggleInput(t,n,a){Undo.initEdit({keyframes:Timeline.selected}),OC(t,n,a),Undo.finishEdit("Edit keyframe")},getKeyframeInfos(){let n=[this.firstKeyframe?.animator.channels[this.channel]?.name??""];return this.keyframes.length>1&&n.push(this.keyframes.length),n.join(", ")},addDataPoint(){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(t=>{t.data_points.length<t.animator.channels[t.channel].max_data_points&&(t.data_points.push(new br(t)),t.data_points.last().extend(t.data_points[0]))}),Animator.preview(),Undo.finishEdit("Add keyframe data point")},removeDataPoint(t){Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(n=>{n.data_points.length>=2&&n.data_points.splice(t,1)}),Animator.preview(),Undo.finishEdit("Remove keyframe data point")},updateLocatorSuggestionList(){Locator.updateAutocompleteList()},changeBindToActor(t,n){Undo.initEdit({keyframes:Timeline.selected});for(let a of Timeline.selected)a.data_points[n]&&(a.data_points[n].bind_to_actor=t.target.checked);Undo.finishEdit("Change keyframe property bind to actor")},focusAxis(t){"xyz".includes(t)&&(Timeline.vue.graph_editor_axis=t)},slideValue(t,n,a){convertTouchEvent(n);let o=n,r=!1,s=0,l=0,c=0,d=n.clientX;function u(){r=!0,!n.touches&&o==n&&n.target.requestPointerLock&&n.target.requestPointerLock(),Undo.initEdit({keyframes:ko.selected})}function p(_){if(convertTouchEvent(_),!r&&Math.abs(_.clientX-n.clientX)>5&&u(),r){if(n.touches)d=_.clientX;else{let v=s<=2?1:100;d+=Math.clamp(_.movementX,-v,v)}let f=Math.round((d-n.clientX)/40),g=f-l;g&&(ko.selected[0]?.channel=="rotation"?g*=getRotationInterval(_):g*=canvasGridSize(_.shiftKey||Pressing.overrides.shift,_.ctrlOrCmd||Pressing.overrides.ctrl),ko.selected.forEach(v=>{v.offset(t,g,a)}),l=f,c+=g,Animator.preview(),Blockbench.setStatusBarText(trimFloatNumber(c))),o=_,s++}}function m(_){document.exitPointerLock&&document.exitPointerLock(),removeEventListeners(document,"mousemove touchmove",p),removeEventListeners(document,"mouseup touchend",m),c?Undo.finishEdit("Slide keyframe"):Undo.cancelEdit()}addEventListeners(document,"mouseup touchend",m),addEventListeners(document,"mousemove touchmove",p)},changeKeyframeFile(t,n){n.channel=="particle"?Blockbench.import({resource_id:"animation_particle",extensions:["json"],type:"Bedrock Particle",startpath:n.data_points[0].file},function(a){let{path:o}=a[0];Undo.initEdit({keyframes:[n]}),t.file=o;let r=Animator.loadParticleEmitter(o,a[0].content);t.effect||(t.effect=a[0].name.toLowerCase().split(".")[0].replace(/[^a-z0-9._]+/g,"")),delete r.config.preview_texture,Undo.finishEdit("Change keyframe particle file"),Blockbench.showMessageBox({title:"message.import_particle_texture.import",message:"message.import_particle_texture.message",buttons:["dialog.cancel"],commands:{import:"message.import_particle_texture.import"}},s=>{s=="import"&&Blockbench.import({extensions:["png"],type:"Particle Texture",readtype:"image",startpath:r.config.preview_texture||o},function(l){r.config.preview_texture=l[0].content,r.config.updateTexture()})})}):Blockbench.import({resource_id:"animation_audio",extensions:["ogg","wav","mp3"],type:"Audio File",startpath:n.data_points[0].file},function(a){let o=URL.createObjectURL(a[0].browser_file);Undo.initEdit({keyframes:[n]}),t.file=o,t.effect||(t.effect=a[0].name.toLowerCase().replace(/\.[a-z]+$/,"").replace(/[^a-z0-9._]+/g,"")),Timeline.visualizeAudioFile(o),Undo.finishEdit("Change keyframe audio file")})},openMolangContextMenu(t,n,a,o){new Menu([{name:"menu.text_edit.expression_editor",icon:"code_blocks",click(){op({autocomplete_context:MolangAutocomplete.KeyframeContext,text:a},r=>{Undo.initEdit({keyframes:Timeline.selected}),Timeline.selected.forEach(function(s){o&&!s.data_points[o]||s.set(t,r,o)}),Undo.finishEdit("Change keyframe value"),["effect","locator","script"].includes(t)||(Animator.preview(),vr())})}}]).open(n)},autocomplete(t,n){return Settings.get("autocomplete_code")==!1?[]:MolangAutocomplete.KeyframeContext.autocomplete(t,n)},tl,Condition},computed:{channel(){var t=!1;for(var n of this.keyframes)if(t===!1)t=n.channel;else if(t!==n.channel){t=!1;break}return t},firstKeyframe(){let t=0,n;for(let a of this.keyframes)a.data_points.length>t&&(n=a,t=a.data_points.length);return n}},template:`
<div>
<div class="toolbar_wrapper keyframe"></div>
<template v-if="channel != false">
<div id="keyframe_type_label">
<label>{{ tl('panel.keyframe.type', [getKeyframeInfos()]) }}</label>
<div
class="in_list_button"
v-if="firstKeyframe.animator.channels[channel] && firstKeyframe.data_points.length < firstKeyframe.animator.channels[channel].max_data_points && firstKeyframe.interpolation !== 'catmullrom'"
v-on:click.stop="addDataPoint()"
title="${tl("panel.keyframe.change_effect_file")}"
>
<i class="material-icons">add</i>
</div>
</div>
<ul class="list" :style="{overflow: firstKeyframe.data_points.length > 1 ? 'auto' : 'visible'}">
<div v-for="(data_point, data_point_i) of firstKeyframe.data_points" class="keyframe_data_point">
<div class="keyframe_data_point_header" v-if="firstKeyframe.data_points.length > 1">
<label>{{ firstKeyframe.transform ? tl('panel.keyframe.' + (data_point_i ? 'post' : 'pre')) : (data_point_i + 1) }}</label>
<div class="flex_fill_line"></div>
<div class="in_list_button" v-on:click.stop="removeDataPoint(data_point_i)" title="${tl("panel.keyframe.remove_data_point")}">
<i class="material-icons">clear</i>
</div>
</div>
<template v-if="channel == 'scale' && firstKeyframe.uniform && data_point.x_string == data_point.y_string && data_point.y_string == data_point.z_string">
<div
class="bar flex"
id="keyframe_bar_uniform_scale"
>
<label>${tl("generic.all")}</label>
<vue-prism-editor
class="molang_input keyframe_input tab_target"
v-model="data_point['x_string']"
@change="updateInput('uniform', $event, data_point_i)"
@contextmenu="openMolangContextMenu('uniform', $event, data_point['x_string'], data_point_i)"
language="molang"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
</div>
</template>
<template v-else>
<div
v-for="(property, key) in data_point.constructor.properties"
v-if="property.exposed != false && Condition(property.condition, data_point)"
class="bar flex"
:id="'keyframe_bar_' + property.name"
>
<label :class="{[channel_colors[key]]: true, slidable_input: property.type == 'molang', axis: !!channel_colors[key]}" @mousedown="slideValue(key, $event, data_point_i)" @touchstart="slideValue(key, $event, data_point_i)">{{ property.label }}</label>
<vue-prism-editor
v-if="property.type == 'molang'"
class="molang_input keyframe_input tab_target"
v-model="data_point[key+'_string']"
@change="updateInput(key, $event, data_point_i)"
@focus="focusAxis(key)"
@contextmenu="openMolangContextMenu(key, $event, data_point[key+'_string'], data_point_i)"
language="molang"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
<input
type="checkbox"
v-else-if="property.type == 'boolean'"
class="keyframe_input tab_target"
@input="updateToggleInput(key, $event.target.checked, data_point_i)"
:checked="data_point[key]"
/>
<input
v-else
type="text"
class="dark_bordered code keyframe_input tab_target"
v-model="data_point[key]"
:list="key == 'locator' && 'locator_suggestion_list'"
@focus="key == 'locator' && updateLocatorSuggestionList()"
@input="updateInput(key, $event.target.value, data_point_i)"
/>
<input type="checkbox" v-if="key == 'locator'" :checked="data_point.bind_to_actor" title="${tl("timeline.bind_to_actor")}" @input="changeBindToActor($event, data_point_i)">
<div class="tool" v-if="key == 'effect'" :title="tl(channel == 'sound' ? 'timeline.select_sound_file' : 'timeline.select_particle_file')" @click="changeKeyframeFile(data_point, firstKeyframe)">
<i class="material-icons">upload_file</i>
</div>
</div>
</template>
</div>
</ul>
</template>
</div>
`}});let i;function e(t){return t?.classList?.contains("keyframe_input")||t?.parentElement?.parentElement?.classList?.contains("keyframe_input")}document.addEventListener("focus",t=>{e(t.target)&&(i=t.target.value||t.target.innerText,Undo.initEdit({keyframes:Timeline.selected.slice()}))},!0),document.addEventListener("focusout",t=>{e(t.target)&&((t.target.value||t.target.innerText)!=i?Undo.finishEdit("Edit keyframe"):Undo.cancelEdit())})});Object.assign(window,{KeyframeDataPoint:br,Keyframe:ko,updateKeyframeValue:OC,updateKeyframeSelection:vr,selectAllKeyframes:P1,unselectAllKeyframes:z5});var gy=class{constructor(e){this.uuid=guid(),this.time=0,this.color=0,this.name=0,e&&this.extend(e)}extend(e){Merge.number(this,e,"color"),Merge.number(this,e,"time"),Merge.string(this,e,"name")}getUndoCopy(){return{color:this.color,time:this.time,name:this.name}}callPlayhead(){return ze.setTime(this.time),Animator.preview(),this}showContextMenu(e){return this.menu.open(e,this),this}propertiesDialog(){new Dialog({id:"timeline_marker_properties",title:"menu.animation.properties",form:{time:{label:"action.slider_keyframe_time",value:Math.roundTo(this.time,4),type:"number",min:0},name:{label:"generic.name",value:this.name,type:"text"}},onConfirm:e=>{this.time=e.time,this.name=e.name}}).show()}};gy.prototype.menu=new Menu([new MenuSeparator("settings"),{name:"menu.cube.color",icon:"color_lens",children(){return[...rn.map((i,e)=>({icon:"flag",color:i.standard,name:i.name||"cube.color."+i.id,click(t){t.color=e}}))]}},new MenuSeparator("manage"),{icon:"delete",name:"generic.delete",click:function(i){Animation.selected&&Animation.selected.markers.remove(i)}},new MenuSeparator("properties"),{name:"menu.animation.properties",icon:"list",click(i){i.propertiesDialog()}}]);var ze={animators:[],selected:Keyframe.selected,playing_sounds:[],paused_sounds:[],playback_speed:100,time:0,get second(){return ze.time},get animation_length(){return Animation.selected?Animation.selected.length:0},playing:!1,custom_range:[0,0],graph_editor_limit:1e4,selector:{start:[0,0],selecting:!1,selected_before:[],down(i){if(!(i.which!==1||!i.target.classList.contains("keyframe_section")&&!i.target.classList.contains("animator_head_bar")&&i.target.id!=="timeline_graph_editor"&&i.target.id!=="timeline_body_inner")){ze.selector.interval&&clearInterval(ze.selector.interval),ze.selector.interval=setInterval(ze.selector.move,1e3/60),document.addEventListener("mouseup",ze.selector.end,!1);var e=$("#timeline_body_inner").offset(),t=ze.selector;t.panel_offset=[e.left,e.top],t.start=[i.clientX-t.panel_offset[0],i.clientY-t.panel_offset[1]],t.start_event=i,(i.shiftKey||Pressing.overrides.shift)&&(ze.selector.selected_before=ze.selected.slice()),Undo.initSelection({timeline:!0})}},move(i){var e=ze.selector;if(!e.selecting)if(Math.pow(e.start_event.clientX-mouse_pos.x,2)+Math.pow(e.start_event.clientY-mouse_pos.y,2)>20)e.selecting=!0,$("#timeline_selector").show();else return;var t=$("#timeline_body_inner").offset();e.panel_offset=[t.left,t.top];var n=getRectangle(e.start[0],e.start[1],mouse_pos.x-e.panel_offset[0],mouse_pos.y-e.panel_offset[1]);$("#timeline_selector").css("width",n.x+"px").css("height",n.y+"px").css("left",n.ax+"px").css("top",n.ay+"px");var a=6;let{channels:o}=ze.vue._data;n.ax-=a,n.ay-=a,n.bx+=a,n.by+=a;var r=(n.ax-ze.vue._data.head_width-8)/ze.vue._data.size,s=(n.bx-ze.vue._data.head_width-8)/ze.vue._data.size;ze.selected.empty();for(var l of ze.animators){var c=$("#timeline_body_inner .animator[uuid="+l.uuid+"]").get(0),t=c&&c.offsetTop;for(var d of l.keyframes){if(ze.selector.selected_before.includes(d)){ze.selected.push(d);continue}if(d.selected=!1,d.time>r&&d.time<s&&o[d.channel]!=!1&&(!ze.vue.graph_editor_open||d.channel==ze.vue.graph_editor_channel&&l.selected)&&(!o.hide_empty||l[d.channel].length)){if(ze.vue.graph_editor_open)var m=ze.vue.graph_offset-(d.display_value||0)*ze.vue.graph_size+ze.vue.scroll_top;else{var u=0;for(var p in l.channels){if(d.channel==p)break;o[p]!=!1&&(!o.hide_empty||l[p].length)&&u++}var m=t+u*24+36}m>n.ay&&m<n.by&&(d.selected=!0,ze.selected.push(d))}}}var _=$("#timeline_body").get(0),f=$("#timeline_body_inner").get(0);let g=15;var v=mouse_pos.x-e.panel_offset[0]-_.scrollLeft-ze.vue._data.head_width,b=_.clientWidth-(mouse_pos.x-e.panel_offset[0]-_.scrollLeft);if(v<0&&(_.scrollLeft=_.scrollLeft-g),b<0&&(_.scrollLeft=Math.clamp(_.scrollLeft+g,0,f.clientWidth-_.clientWidth)),!ze.vue.graph_editor_open){var x=mouse_pos.y-e.panel_offset[1]-_.scrollTop,w=_.scrollTop+_.clientHeight-(mouse_pos.y-e.panel_offset[1]);x<0&&(_.scrollTop=_.scrollTop-g),w<0&&(_.scrollTop=Math.clamp(_.scrollTop+g,0,f.clientHeight-_.clientHeight+3))}updateKeyframeSelection()},end(i){if(i.stopPropagation(),document.removeEventListener("mousemove",ze.selector.move),document.removeEventListener("mouseup",ze.selector.end),clearInterval(ze.selector.interval),ze.selector.selecting)updateKeyframeSelection(),ze.selector.selected_before.empty(),ze.selector.selecting=!1,$("#timeline_selector").css("width",0).css("height",0).hide(),Undo.finishSelection("Select keyframes");else return settings.canvas_unselect.value&&(ze.selected.empty(),updateKeyframeSelection(),Undo.finishSelection("Unselect keyframes")),ze.vue.clickGraphEditor(i),!1}},setTime(i,e){i=limitNumber(i,0,1e3),ze.vue._data.playhead=i,ze.time=i,e||ze.setTimecode(i),ze.getMaxLength()!==ze.vue._data.length&&ze.updateSize(),ze.revealTime(i)},playAudioStutter(){if(!settings.audio_scrubbing.value)return;let i=Animation.selected?.animators.effects;!i||i.muted.sound||i.sound.forEach(e=>{if(e.data_points[0].file){var t=e.time-i.animation.time;if(t<0&&ze.waveforms[e.data_points[0].file]&&ze.waveforms[e.data_points[0].file].duration>-t){let n=e.data_points[0].file,a=ze.paused_sounds.find(o=>o.keyframe_id==e.uuid&&n==o.audio_path)??new Audio(n);a.stutter_timeout&&clearTimeout(a.stutter_timeout),a.playbackRate=Math.clamp(ze.playback_speed/100,.1,4),a.volume=Math.clamp(settings.volume.value/100,0,1),a.currentTime=-t,a.keyframe_id=e.uuid,a.audio_path=n,a.paused&&a.play().catch(()=>{}),a.stutter_timeout=setTimeout(()=>{a.pause(),delete a.stutter_timeout},60)}}})},revealTime(i){let e=document.getElementById("timeline_body");if(e){var t=e.scrollLeft,n=i*ze.vue._data.size+8;n<t||n>t+document.getElementById("timeline_vue").clientWidth-ze.vue._data.head_width?e.scrollLeft=n-16:i==0&&(e.scrollLeft=0)}},setTimecode(i){let e=100,t=Math.floor(i/60),n=Math.floor(i%60),a=Math.round(i%1*e);(n+"").length===1&&(n="0"+n),(a+"").length===1&&(a="0"+a),ze.vue.timestamp=`${t}:${n}:${a}`,ze.vue.framenumber=Math.round(i/ze.getStep())},snapTime(i,e){(i==null||isNaN(i))&&(i=ze.time),e||(e=Animation.selected);var t=Math.clamp(e?e.snapping:settings.animation_snap.value,1,120);return Math.clamp(Math.round(i*t)/t,0)},getStep(){return 1/Math.clamp(Animation.selected?Animation.selected.snapping:settings.animation_snap.value,1,120)},setup(){Panels.timeline.node.querySelector("#timeline_body").addEventListener("mousedown",r=>{if(r.which===2||Keybinds.extra.preview_drag.keybind.isTriggered(r)&&r.which!==1){let c=function(u){l.scrollLeft+=s[0]-u.clientX,ze.vue.graph_editor_open||(l.scrollTop+=s[1]-u.clientY),s=[u.clientX,u.clientY]},d=function(u){document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d),r.which==3&&Math.pow(r.clientX-s[0],2)+Math.pow(r.clientY-s[1],2)>40&&preventContextMenu()},s=[r.clientX,r.clientY],l=r.currentTarget;document.addEventListener("mousemove",c),document.addEventListener("mouseup",d),r.preventDefault()}else ze.selector.down(r)});let e=Panels.timeline.node.querySelector("#timeline_time");addEventListeners(e,"mousedown touchstart",r=>{if(!(r.which!==1&&!event.changedTouches)){if(r.target.classList.contains("timeline_marker")){let s=r.target.getAttribute("uuid"),l=Animation.selected.markers.find(c=>c.uuid==s);if(l&&(Pressing.overrides.ctrl||r.ctrlOrCmd)){let c=l.time;ip(r,{onMove(d){l.time=Math.max(0,c+d.delta.x/ze.vue.$data.size),d.event.ctrlKey||(l.time=ze.snapTime(l.time)),t(l.time)},onEnd(){Blockbench.setCursorTooltip()}})}return}if(r.target.id=="timeline_endbracket")Animation.selected?(ze.dragging_endbracket=!0,Undo.initEdit({animations:[Animation.selected]})):Blockbench.showQuickMessage("message.no_animation_selected");else if(r.target.id=="timeline_onion_skin_point")ze.dragging_onion_skin_point=!0;else{convertTouchEvent(r),ze.dragging_playhead=!0,ze.playing&&ze.pause();let s=r.clientX-$("#timeline_time").offset().left,l=Math.clamp(s/ze.vue._data.size,0,1/0),c=!1;if(!r.ctrlOrCmd&&!Pressing.overrides.ctrl&&(l=ze.snapTime(l),c=!0),ze.setTime(l),Animator.preview(),c&&ze.playAudioStutter(),Interface.addSuggestedModifierKey("ctrl","modifier_actions.drag_without_snapping"),r.shiftKey||Pressing.overrides.shift){l=ze.snapTime(l);for(let d=0;d<ze.animators.length;d++){let u=ze.animators[d];for(let p in u.channels)if(ze.vue.channels[p]!==!1){let m=u[p].find(_=>Math.epsilon(_.time,l,.01));m&&!m.selected&&(m.selected=!0,ze.selected.push(m))}}updateKeyframeSelection()}}}});function t(r){settings.timecode_frame_number.value?r=Math.round(r/ze.getStep()):r=Math.roundTo(r,2),Blockbench.setCursorTooltip(r)}addEventListeners(document,"mousemove touchmove",r=>{if(ze.dragging_playhead){convertTouchEvent(r);let s=r.clientX-$("#timeline_time").offset().left,l=Math.clamp(s/ze.vue._data.size,0,1/0),c=!1;!r.ctrlOrCmd&&!Pressing.overrides.ctrl&&(l=ze.snapTime(l),c=!0),ze.time!=l&&(ze.setTime(l),Animator.preview(),c&&ze.playAudioStutter(),t(l))}else if(ze.dragging_endbracket){convertTouchEvent(r);let s=r.clientX-$("#timeline_time").offset().left,l=ze.snapTime(s/ze.vue._data.size);Animation.selected.setLength(l),ze.revealTime(l),t(l)}else if(ze.dragging_onion_skin_point){convertTouchEvent(r);let s=r.clientX-$("#timeline_time").offset().left,l=ze.snapTime(s/ze.vue._data.size);ze.vue.onion_skin_time!=l&&(ze.vue.onion_skin_time=l,ze.revealTime(l),Animator.updateOnionSkin(),t(l))}}),addEventListeners(document,"mouseup touchend",r=>{ze.dragging_playhead?(delete ze.dragging_playhead,Interface.removeSuggestedModifierKey("ctrl","modifier_actions.drag_without_snapping"),ze.pause()):ze.dragging_endbracket?(Undo.finishEdit("Change Animation Length"),delete ze.dragging_endbracket):ze.dragging_onion_skin_point&&delete ze.dragging_onion_skin_point,Blockbench.setCursorTooltip()});let n=Panels.timeline.node.querySelector("#timeline_timestamp");addEventListeners(n,"click",r=>{if($("#timeline_timestamp").attr("contenteditable")!="true"){$("#timeline_timestamp").attr("contenteditable",!0).focus().select();for(var s=$("#timeline_timestamp").text().split(":");s.length<3;)s.push("00");var l=$("#timeline_timestamp").get(0).childNodes[0],c=window.getSelection(),d=document.createRange(),u=[0,l.length];r.offsetX<24?u=[0,s[0].length]:r.offsetX<54?u=[s[0].length+1,s[1].length]:r.offsetX<80&&(u=[s[0].length+s[1].length+2,s[2].length]),u[1]=limitNumber(u[0]+u[1],u[0],l.length),d.setStart(l,u[0]),d.setEnd(l,u[1]),c.removeAllRanges(),c.addRange(d)}}),addEventListeners(n,"focusout keydown",r=>{(r.type==="focusout"||Keybinds.extra.confirm.keybind.isTriggered(r)||Keybinds.extra.cancel.keybind.isTriggered(r))&&($("#timeline_timestamp").attr("contenteditable",!1),ze.setTimecode(ze.time))}),addEventListeners(n,"keyup",r=>{var s=$("#timeline_timestamp").text().split(":");for(s.forEach((d,u)=>{s[u]=parseInt(d),isNaN(s[u])&&(s[u]=0)});s.length<3;)s.push(0);let l=100,c=s[0]*60+limitNumber(s[1],0,59)+limitNumber(s[2]/l,0,l-1);Math.abs(c-ze.time)>.001&&(ze.setTime(c,!0),Animator.preview())});let a=Panels.timeline.node.querySelector("#timeline_framenumber");a.addEventListener("click",r=>{$("#timeline_framenumber").attr("contenteditable")!="true"&&($("#timeline_framenumber").attr("contenteditable",!0).trigger("focus"),document.execCommand("selectAll"))}),addEventListeners(a,"focusout keydown",r=>{(r.type==="focusout"||Keybinds.extra.confirm.keybind.isTriggered(r)||Keybinds.extra.cancel.keybind.isTriggered(r))&&$("#timeline_framenumber").attr("contenteditable",!1)}),addEventListeners(a,"keyup",r=>{let l=parseInt($("#timeline_framenumber").text())*ze.getStep();Math.abs(l-ze.time)>.001&&(ze.setTime(l,!0),Animator.preview())});let o=Panels.timeline.node.querySelector("#timeline_vue");addEventListeners(o,"mousewheel scroll",function(r){r.preventDefault();let s=document.getElementById("timeline_body"),l=r.ctrlKey&&!Pressing.ctrl;if(s.scrollLeft+=r.deltaX/2,r.shiftKey)s.scrollLeft+=r.deltaY/4;else if(l||Keybinds.extra.uv_editor_scroll_zoom.keybind.isTriggered(r)){let d=$("#timeline_body_inner").offset(),u=r.clientX-d.left-ze.vue._data.head_width;var c=1-r.deltaY/(l?160:600);let p=ze.vue._data.size,m=limitNumber(ze.vue._data.size*c,10,1e3);ze.vue._data.size=m,s.scrollLeft+=(m-p)*(u/p)}else s.scrollTop+=r.deltaY/4;ze.updateSize(),r.preventDefault()}),Blockbench.on("update_pressed_modifier_keys",r=>{if(!Modes.animate)return;let s=document.getElementById("timeline_time");s&&s.classList.toggle("holding_ctrl",r.now.ctrl)}),BarItems.slider_animation_speed.update(),ze.is_setup=!0,ze.setTime(0)},getMaxLength(){let i=(document.getElementById("timeline_vue")||0).clientWidth;var e=(i-8)/ze.vue._data.size;return Animation.selected&&(e=Math.max(e,Animation.selected.length)),ze.keyframes.forEach(t=>{e=Math.max(e,t.time)}),e=Math.max(e,ze.time)+i/2/ze.vue._data.size,e},updateSize(){ze.vue.updateTimecodes()},updateScroll(i){$(".channel_head").css("left",scroll_amount+"px"),$("#timeline_time").css("left",-scroll_amount+"px")},unselect(i){Animation.selected&&(ze.keyframes.forEach(e=>{e.selected&&ze.selected.remove(e),e.selected=!1}),TickUpdates.keyframe_selection=!0)},clear(){ze.animators.purge(),ze.selected.empty(),ze.vue.markers=[],ze.vue.animation_length=0,updateKeyframeSelection()},start(){Animation.selected&&(Animation.selected.getMaxLength(),ze.playing&&ze.pause(),ze.playing=!0,BarItems.play_animation.setIcon("pause"),ze.last_frame_timecode=performance.now(),Animation.selected.loop=="hold"&&ze.time>=(Animation.selected.length||1e3)&&ze.setTime(ze.custom_range[0]),ze.time>0&&Animator.animations.forEach(i=>{i.playing&&i.animators.effects&&i.animators.effects.startPreviousSounds()}),Blockbench.dispatchEvent("timeline_play",{}),ze.loop())},loop(){if(!Animation.selected)return;let i=Animation.selected.length||1e3,e=ze.custom_range[1]||i,t;Animation.selected&&Animation.selected.anim_time_update&&(t=Animator.MolangParser.parse(Animation.selected.anim_time_update)),(t==null||t<=ze.time)&&(t=Animator.MolangParser.parse("query.anim_time + query.delta_time"));let n=ze.time+(t-ze.time)*(ze.playback_speed/100);Animation.selected.loop=="hold"&&(n=Math.clamp(n,ze.custom_range[0],e)),ze.last_frame_timecode=performance.now(),n<e?ze.setTime(n):Animation.selected.loop=="loop"||BarItems.looped_animation_playback.value?ze.setTime(ze.custom_range[0]):Animation.selected.loop=="once"?(ze.setTime(ze.custom_range[0]),Animator.preview(),ze.pause()):Animation.selected.loop=="hold"&&(ze.setTime(e),ze.pause()),Animator.preview(!0)},pause(){Animator.preview(),ze.playing=!1,BarItems.play_animation.setIcon("play_arrow"),ze.playing_sounds.forEach(i=>{i.paused||i.pause()}),ze.paused_sounds.safePush(...ze.playing_sounds),ze.playing_sounds.empty(),Blockbench.dispatchEvent("timeline_pause",{})},waveforms:{},waveform_sample_rate:60,async visualizeAudioFile(i){ze.waveforms[i]||(ze.waveforms[i]={samples:[],duration:0});let{samples:e}=ze.waveforms[i],t=new AudioContext,a=await(await fetch(i)).arrayBuffer(),o=await t.decodeAudioData(a),r=o.getChannelData(0);ze.waveforms[i].duration=o.duration;let s=Math.ceil(o.duration*ze.waveform_sample_rate);e.splice(0,e.length);for(var l=0;l<s;l++)e.push(0);for(var l=0;l<r.length;l++){let u=Math.floor(l/r.length*s);e[u]+=Math.abs(r[l])}let c=Math.max(...e);return e.forEach((d,u)=>e[u]=d/c),ze.vue.$forceUpdate(),e},get keyframes(){var i=[];return ze.vue.graph_editor_open?ze.vue.graph_editor_animator&&ze.vue.graph_editor_animator[ze.vue.graph_editor_channel]&&i.push(...ze.vue.graph_editor_animator[ze.vue.graph_editor_channel]):ze.animators.forEach(e=>{i.push(...e.keyframes)}),i},menu:new Menu([new MenuSeparator("preview"),"play_animation","looped_animation_playback","jump_to_timeline_start","jump_to_timeline_end","set_timeline_range_start","set_timeline_range_end","disable_timeline_range",new MenuSeparator("copypaste"),"paste","apply_animation_preset",new MenuSeparator("view"),{name:"menu.view.zoom",id:"zoom",condition:!1,icon:"search",children:["zoom_in","zoom_out","zoom_reset"]},"timeline_focus","select_all","fold_all_animations","bring_up_all_animations","clear_timeline",new MenuSeparator("timeline_setups"),"timeline_setups","save_timeline_setup",new MenuSeparator("graph_editor"),"graph_editor_other_graphs","graph_editor_include_other_graphs","graph_editor_zero_line"])};Interface.definePanels(()=>{function i(e){let t=e,n=0;for(;t&&t.classList&&!t.classList.contains("animator");)if(n<3&&t)t=t.parentNode,n++;else return[];return[ze.animators.find(a=>a.uuid==t.attributes.uuid.value),t]}ze.panel=new Panel("timeline",{icon:"timeline",condition:{modes:["animate"],method:()=>!AnimationController.selected},default_position:{slot:"bottom",float_position:[100,400],float_size:[600,300],height:260},growable:!0,resizable:!0,toolbars:[new Toolbar("timeline",{children:["timeline_graph_editor","timeline_focus","clear_timeline","bring_up_all_animations","select_effect_animator","add_marker","+","jump_to_timeline_start","play_animation","jump_to_timeline_end","+","slider_animation_speed"],default_place:!0})],onResize(){ze.updateSize(),this.inside_vue.$el&&(this.inside_vue.timeline_height=this.inside_vue.$el.clientHeight)},component:{name:"panel-timeline",data(){return{size:300,length:10,timeline_height:100,animation_length:0,scroll_left:0,scroll_top:0,head_width:Blockbench.isMobile?108:Interface.data.timeline_head,timecodes:[],animators:ze.animators,markers:[],custom_range:ze.custom_range,waveforms:ze.waveforms,focus_channel:null,playhead:ze.time,timestamp:"0",framenumber:"0",graph_editor_open:!1,graph_editor_channel:"rotation",graph_editor_axis:"x",graph_offset:200,graph_size:200,show_other_graphs:!0,include_other_graphs:!0,show_zero_line:!0,show_all_handles:!Settings.get("only_selected_bezier_handles"),loop_graphs:[""],onion_skin_selectable:BarItems.animation_onion_skin.value,onion_skin_time:0,channels:{rotation:!0,position:!0,scale:!0,hide_empty:!1}}},computed:{graph_editor_animator(){return this.animators.find(e=>e.selected&&e instanceof BoneAnimator)},zero_line(){let e=this.graph_offset;return`M0 ${e} L10000 ${e}`},one_line(){let e=this.graph_offset-this.graph_size;return`M0 ${e} L10000 ${e}`},rulers(){let e=[],t=[0],n=[1,2,4,8,10,20,25,50,100,200,250,400,500],a=100/ze.vue.graph_size;if(a>500)return t;let o=Math.snapToValues(a,n),r=ze.vue.$refs.timeline_body.clientHeight;for(let s=1;s<20;s+=1){let l=s*o,c=!1;if(this.graph_offset-l*this.graph_size>0&&(t.push(l),c=!0),this.graph_offset+l*this.graph_size<r&&(t.push(s*-o),c=!0),!c)break}return t.forEach(s=>{let l=this.graph_offset-this.graph_size*s;e.push({position:l,label:Math.round(s),path:`M0 ${l} L10000 ${l}`})}),e},graphs(){let e=this.graph_editor_animator;if(!e||!e[this.graph_editor_channel]||!e[this.graph_editor_channel].length)return this.loop_graphs.empty(),[];let t=ze.time,n=2,a=this.$refs.timeline_body?this.$refs.timeline_body.clientWidth:400,o=this.$refs.timeline_body?this.$refs.timeline_body.clientHeight:400,r=e[this.graph_editor_channel],s=[],l=[],c=this.show_zero_line?-1:ze.graph_editor_limit,d=this.show_zero_line?1:-ze.graph_editor_limit;for(let g=Math.clamp(this.scroll_left-9,0,1/0);g<a+this.scroll_left-this.head_width;g+=n){ze.time=g/this.size;let v=r.find(w=>ze.time<=w.time&&ze.time>w.time-n/this.size);v&&(ze.time=v.time),Animator.resetLastValues();let b=[this.show_other_graphs||this.graph_editor_axis==="x"?e.interpolate(this.graph_editor_channel,!1,"x"):0,this.show_other_graphs||this.graph_editor_axis==="y"?e.interpolate(this.graph_editor_channel,!1,"y"):0,this.show_other_graphs||this.graph_editor_axis==="z"?e.interpolate(this.graph_editor_channel,!1,"z"):0],x=b[this.graph_editor_axis_number];v&&(v.display_value=x),ze.time>Animation.selected.length&&Animation.selected.length&&Animation.selected.loop==="loop"?(s.length&&!l.length&&l.push(s.last()),l.push(b)):(s.push(b),this.show_other_graphs&&this.include_other_graphs?(c=Math.min(c,...b),d=Math.max(d,...b)):(c=Math.min(c,x),d=Math.max(d,x)))}r.forEach(g=>{g.interpolation==="bezier"&&(c=Math.min(c,g.display_value+g.bezier_left_value[this.graph_editor_axis_number]),d=Math.max(d,g.display_value+g.bezier_left_value[this.graph_editor_axis_number]),c=Math.min(c,g.display_value+g.bezier_right_value[this.graph_editor_axis_number]),d=Math.max(d,g.display_value+g.bezier_right_value[this.graph_editor_axis_number]))}),ze.time=t;let u=16,p=2.4,m=Math.clamp(d-c,p,ze.graph_editor_limit);this.graph_size=(o-2*u)/m;let _=Math.clamp(1-(d-c)/p,0,1);this.graph_offset=o-u+this.graph_size*(c-m/2*_);let f=this.show_other_graphs?["","",""]:[""];return s.forEach((g,v)=>{let b=v==0?"M":"L";this.show_other_graphs?g.forEach((x,w)=>{f[w]+=`${b}${v*n} ${this.graph_offset-x*this.graph_size} `}):f[0]+=`${b}${v*n} ${this.graph_offset-g[this.graph_editor_axis_number]*this.graph_size} `}),this.loop_graphs.empty(),l.length&&(this.show_other_graphs?this.loop_graphs.push("","",""):this.loop_graphs.push(""),l.forEach((g,v)=>{let b=v==0?"M":"L";v=v+s.length-1,this.show_other_graphs?g.forEach((x,w)=>{this.loop_graphs[w]+=`${b}${v*n} ${this.graph_offset-x*this.graph_size} `}):this.loop_graphs[0]+=`${b}${v*n} ${this.graph_offset-g[this.graph_editor_axis_number]*this.graph_size} `})),f},graph_editor_axis_number(){return getAxisNumber(this.graph_editor_axis)}},methods:{tl,updateTimecodes(){if(!this._isMounted)return;this.timecodes.empty();let e=Panels.timeline.node.clientWidth-this.head_width;this.length=ze.getMaxLength();var t=1;if(this.size<1?t=1:this.size<20?t=4:this.size<40?t=2:this.size<100?t=1:this.size<256?t=.5:this.size<520?t=.25:this.size<660?t=.2:this.size<860?t=.1:t=.05,t<1){let s=Math.max(Math.floor(Math.sqrt(t/ze.getStep()))-1,1);var n=ze.getStep()/s;t=Math.round(t/n)*n}let a=t/ze.getStep();for(;a>8;)a/=2;for(var o=Math.floor(this.scroll_left/this.size/t)*t;o<Math.ceil((this.scroll_left+e)/this.size/t)*t;){if(settings.timecode_frame_number.value)var r=Math.round(o/ze.getStep());else var r=Math.round(o*100)/100;this.timecodes.push({time:o,width:t,substeps:a,text:r}),o+=t}this.graph_editor_open&&(this.graph_size+=1e-5)},updateGraph(){this.graph_editor_open&&(this.graph_size+=1e-7)},toggleAnimator(e){e.expanded=!e.expanded},removeAnimator(e){ze.animators.remove(e)},toggleGlobalSpace(e){Undo.initEdit({animations:[Animation.selected]}),e.rotation_global=!e.rotation_global,Undo.finishEdit("Toggle rotation in global space"),Animator.preview()},selectChannel(e,t){this.graph_editor_channel==t&&e.selected||e.channels[t].transform&&(Undo.initSelection(),e.selected||e.select(),e[t].length&&Keyframe.selected.length>0&&(e[t].length==1&&Math.epsilon(e[t][0].time,ze.time,.002)?e[t][0].select():e[t].find(n=>Math.epsilon(n.time,Keyframe.selected[0].time))?e[t].find(a=>Math.epsilon(a.time,Keyframe.selected[0].time,.002)).select():e[t].slice().sort((a,o)=>Math.abs(a.time-ze.time)-Math.abs(o.time-ze.time))[0].select()),this.graph_editor_channel=t,Undo.finishSelection("Select animation channel"))},getColor(e){if(!(e==-1||e==null))return rn[e%rn.length].standard},getWaveformPoints(e,t){let n=23,a=[`0,${n}`];return e.forEach((o,r)=>{a.push(`${(r+.5)/ze.waveform_sample_rate*t},${(1-o)*n}`)}),a.push(`${e.length/ze.waveform_sample_rate*t},${n}`),a.join(" ")},updateScroll(){this.scroll_left=this.$refs.timeline_body?this.$refs.timeline_body.scrollLeft:0,this.scroll_top=this.$refs.timeline_body?this.$refs.timeline_body.scrollTop:0},openContextMenu(e){e.target.nodeName=="KEYFRAME"||e.target.parentElement.nodeName=="KEYFRAME"||Blockbench.hasFlag("no_context_menu")||(e.preventDefault(),ze.menu.open(e,e))},dragAnimator(e,t){if(getFocusedTextInput()||t.button==1||t.button==2)return;convertTouchEvent(t);let n=!1,a,o,r,s,l,c=t;function d(p){convertTouchEvent(p);let m=[p.clientX-t.clientX,p.clientY-t.clientY];if(n){if(p&&p.preventDefault(),Menu.open&&Menu.open.hide(),!a){a=document.createElement("div"),a.id="animation_drag_helper";let f=document.createElement("i");f.className="material-icons",f.innerText="chevron_right",a.append(f);let g=document.createElement("span");g.innerText=e.name,a.append(g),document.body.append(a)}a.style.left=`${p.clientX}px`,a.style.top=`${p.clientY}px`,$(".drag_hover").removeClass("drag_hover"),$(".animator[order]").attr("order",null);let _=document.elementFromPoint(p.clientX,p.clientY);if([r,s]=i(_),r){let f=p.clientY-$(s).offset().top,g=s.clientHeight/2,v=f<=g?-1:1;s.setAttribute("order",v),s.classList.add("drag_hover")}}else{let _=Math.sqrt(Math.pow(m[0],2)+Math.pow(m[1],2));Blockbench.isTouch?_>20&&o?(clearTimeout(o),o=null):document.getElementById("timeline_body_inner").scrollTop+=c.clientY-p.clientY:_>6&&(n=!0,Undo.initSelection())}c=p}function u(p){if(a&&a.remove(),removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u),$(".drag_hover").removeClass("drag_hover"),$(".animator[order]").attr("order",null),Blockbench.isTouch&&clearTimeout(o),n&&!open_menu){convertTouchEvent(p);let m=document.elementFromPoint(p.clientX,p.clientY),[_]=i(m);if(!_||_==e)return;let f=ze.animators.indexOf(_);if(f==-1||(l==1&&f++,ze.animators[f]==e))return;ze.animators.remove(e),ze.animators.splice(f,0,e),Undo.finishSelection("Rearrange animators in timeline")}}Blockbench.isTouch&&(o=setTimeout(()=>{n=!0,d(t)},320)),addEventListeners(document,"mousemove touchmove",d,{passive:!1}),addEventListeners(document,"mouseup touchend",u,{passive:!1})},dragKeyframes(e,t){if(convertTouchEvent(t),t.target.classList.contains("keyframe_bezier_handle"))return;let n,a,o,r,s,l,c=!1,d={},u=this;function p(){n=[1/0,0],r=0,s=!ze.vue.graph_editor_open&&(t.ctrlOrCmd||Pressing.overrides.ctrl)&&ze.selected.length>1,l=!1,!e.selected&&!t.shiftKey&&!Pressing.overrides.shift&&ze.selected.length!=0?e.select():e&&!e.selected&&e.select({shiftKey:!0}),Undo.initEdit({keyframes:ze.selected}),ze.dragging_keyframes=!0;for(var f of ze.selected)f.time_before=f.time,n[0]=Math.min(n[0],f.time),n[1]=Math.max(n[1],f.time),d[f.uuid]={left:f.bezier_left_time.slice(),right:f.bezier_right_time.slice()};if(ze.vue.graph_editor_open){a=[-1/0,1/0];let v=(u.graph_editor_animator||0)[u.graph_editor_channel];if(v){let b,x;ze.selected.forEach(y=>{(!b||b.time>y.time)&&(b=y),(!x||x.time<y.time)&&(x=y)});let w,E;v.forEach(y=>{y.time<b.time&&(!w||w.time<y.time)&&(w=y),y.time>x.time&&(!E||E.time>y.time)&&(E=y)}),w&&(a[0]=w.time),E&&(a[1]=E.time)}}c=!0}function m(f){convertTouchEvent(f),f.preventDefault();let g=[f.clientX-t.clientX,f.clientY-t.clientY];if(!c)if(Math.pow(g[0],2)+Math.pow(g[1],2)>40)p();else return;let v=0,b,x,w=1;(!f.ctrlOrCmd&&!f.shiftKey||s||!ze.vue.graph_editor_open)&&(v=Math.clamp(g[0]/ze.vue._data.size,-256,256),[x,b]=n,s&&(w=e&&e.time_before<(x+b)/2?(b-x-v)/(b-x):(b-x+v)/(b-x),w=Math.roundTo(w,2)));let E=0,y=0;if(ze.vue.graph_editor_open){E=-g[1]/ze.vue.graph_size;var A=canvasGridSize(f.shiftKey||Pressing.overrides.shift,f.ctrlOrCmd||Pressing.overrides.ctrl);Toolbox.selected.id==="resize_tool"&&(A*=.1),E=Math.round(E/A)*A,r=r??E,o=o??E,E!==r&&(y=E-(r||0),r=E)}for(let j of ze.selected){if(s)if(e&&e.time_before<(x+b)/2)var R=b-(j.time_before-b)*-w;else var R=x+(j.time_before-x)*w;else var R=j.time_before+v;let F=j.time;if(a){let O=ze.getStep();j.time=ze.snapTime(Math.clamp(R,a[0]+O,a[1]-O))}else j.time=ze.snapTime(R);if(F!==j.time&&(l=!0),s&&j.interpolation=="bezier"){let O=d[j.uuid];j.bezier_left_time.V3_set(O.left).V3_multiply(w),j.bezier_right_time.V3_set(O.right).V3_multiply(w)}ze.vue.graph_editor_open&&y&&(j.offset(ze.vue.graph_editor_axis,y),l=!0)}if(s)Blockbench.setStatusBarText(Math.round(w*100)+"%");else{let j=trimFloatNumber(Math.round(v*Animation.selected.snapping));ze.vue.graph_editor_open&&(j+=` \u2A09 ${trimFloatNumber(E-o)}`),Blockbench.setStatusBarText(j)}BarItems.slider_keyframe_time.update(),Animator.showMotionTrail(null,!0),Animator.preview()}function _(){if(removeEventListeners(document,"mousemove touchmove",m),removeEventListeners(document,"mouseup touchend",_),c){var f=[];for(var g of ze.selected)delete g.time_before,g.replaceOthers(f);Blockbench.setStatusBarText(),l?(Animation.selected.setLength(),s?Undo.finishEdit("Stretch keyframes"):(Undo.addKeyframeCasualties(f),Undo.finishEdit("Drag keyframes"))):Undo.cancelEdit(),setTimeout(()=>{ze.dragging_keyframes=!1},20)}}addEventListeners(document,"mousemove touchmove",m,{passive:!1}),addEventListeners(document,"mouseup touchend",_)},dragBezierHandle(e,t,n){convertTouchEvent(n);let a,o=!1,r=getAxisNumber(this.graph_editor_axis),s={},l;function c(p){!e.selected&&!n.shiftKey&&!Pressing.overrides.shift&&ze.selected.length!=0?e.select():e&&!e.selected&&e.select({shiftKey:!0}),l=Math.abs(p[0])>Math.abs(p[1]),Keyframe.selected.forEach(m=>{m.interpolation=="bezier"&&(s[m.uuid]={bezier_left_time:m.bezier_left_time.slice(),bezier_left_value:m.bezier_left_value.slice(),bezier_right_time:m.bezier_right_time.slice(),bezier_right_value:m.bezier_right_value.slice()})}),Undo.initEdit({keyframes:ze.selected}),ze.dragging_keyframes=!0,o=!0}function d(p){convertTouchEvent(p),p.preventDefault();let m=[p.clientX-n.clientX,p.clientY-n.clientY];if(!o)if(Math.pow(m[0],2)+Math.pow(m[1],2)>20)c(m);else return;let _=Math.clamp(m[0]/ze.vue._data.size,-256,256),f=Math.clamp(-m[1]/ze.vue.graph_size,-256,256);if((p.shiftKey||Pressing.overrides.shift)&&(l?f=0:_=0),p.ctrlOrCmd||Pressing.overrides.ctrl){let v=ze.getStep(),b=.25;_=Math.round(_/v)*v,f=Math.round(f/b)*b}for(let v of ze.selected)if(v.interpolation=="bezier"){if(v.bezier_left_time.V3_set(s[v.uuid].bezier_left_time),v.bezier_left_value.V3_set(s[v.uuid].bezier_left_value),v.bezier_right_time.V3_set(s[v.uuid].bezier_right_time),v.bezier_right_value.V3_set(s[v.uuid].bezier_right_value),t==="left"&&(v.bezier_left_time[r]=Math.min(0,s[v.uuid].bezier_left_time[r]+_),v.bezier_left_value[r]=s[v.uuid].bezier_left_value[r]+f,v.bezier_linked&&(v.bezier_right_time[r]=-v.bezier_left_time[r],v.bezier_right_value[r]=-v.bezier_left_value[r])),t==="right"&&(v.bezier_right_time[r]=Math.max(0,s[v.uuid].bezier_right_time[r]+_),v.bezier_right_value[r]=s[v.uuid].bezier_right_value[r]+f,v.bezier_linked&&(v.bezier_left_time[r]=-v.bezier_right_time[r],v.bezier_left_value[r]=-v.bezier_right_value[r])),v.uniform){let b=(r+1)%3,x=(r+2)%3;v.bezier_right_time[b]=v.bezier_right_time[x]=v.bezier_right_time[r],v.bezier_right_value[b]=v.bezier_right_value[x]=v.bezier_right_value[r],v.bezier_left_time[b]=v.bezier_left_time[x]=v.bezier_left_time[r],v.bezier_left_value[b]=v.bezier_left_value[x]=v.bezier_left_value[r]}a=!0}let g=`${trimFloatNumber(Math.roundTo(_,2))} \u2A09 ${trimFloatNumber(Math.roundTo(f,2))}`;Blockbench.setStatusBarText(g),ze.vue.show_zero_line=!ze.vue.show_zero_line,ze.vue.show_zero_line=!ze.vue.show_zero_line,Animator.showMotionTrail(null,!0),Animator.preview()}function u(){removeEventListeners(document,"mousemove touchmove",d),removeEventListeners(document,"mouseup touchend",u),o&&(Blockbench.setStatusBarText(),a?Undo.finishEdit("Adjust keyframe bezier handles"):Undo.cancelEdit(),setTimeout(()=>{ze.dragging_keyframes=!1},20))}addEventListeners(document,"mousemove touchmove",d,{passive:!1}),addEventListeners(document,"mouseup touchend",u)},slideGraphAmplify(e,t){convertTouchEvent(e);let n={},a,o=!1,r=this.graph_editor_animator[this.graph_editor_channel].filter(m=>m.selected),s=this.getSelectedGraphRange(),l=(s[1]-s[0])*this.graph_size,c=this.graph_editor_axis;function d(){Undo.initEdit({keyframes:r}),a=!1,ze.dragging_keyframes=!0,o=!0;for(let m of r)n[m.uuid]=m.display_value||m.get(c)}function u(m){convertTouchEvent(m),m.preventDefault();let _=m.clientY-e.clientY;if(t==1&&(_*=-1),!o)if(Math.abs(_)>4)d();else return;let f=1-_/l;f=Math.round(f*100)/100;for(let v of r){let b=s[t];m.altKey&&(b=Math.lerp(s[0],s[1],.5));let x=(n[v.uuid]-b)*f+b;v.offset(c,-v.get(c)+x),a=!0}let g=Math.round(f*100)+"%";Blockbench.setStatusBarText(g),Animator.showMotionTrail(null,!0),Animator.preview()}function p(){removeEventListeners(document,"mousemove touchmove",u),removeEventListeners(document,"mouseup touchend",p),o&&(Blockbench.setStatusBarText(),a?Undo.finishEdit("Amplify keyframes"):Undo.cancelEdit(),setTimeout(()=>{ze.dragging_keyframes=!1},20))}addEventListeners(document,"mousemove touchmove",u,{passive:!1}),addEventListeners(document,"mouseup touchend",p)},clickGraphEditor(e){if(!this.show_other_graphs||!this.graph_editor_animator)return;let t=(this.graph_offset-e.offsetY)/this.graph_size,n=ze.time,a=s=>{let l=s/this.size;ze.time=l;let c=["x","y","z"].map(d=>{let u=this.graph_editor_animator.interpolate(this.graph_editor_channel,!1,d),p=Math.abs(u-t)*this.graph_size;if(p<12.5)return{axis:d,diff:p}}).filter(d=>d);if(c.length)return c},o=e.offsetX-8,r=a(o)||a(o+4)||a(o-4);r&&(r.sort((s,l)=>s.diff-l.diff),this.graph_editor_axis=r[0].axis),ze.time=n},getBezierHandleStyle(e,t){let n=getAxisNumber(this.graph_editor_axis),a=-e[`bezier_${t}_time`][n]*this.size,o=-e[`bezier_${t}_value`][n]*this.graph_size,r=Math.sqrt(Math.pow(a,2)+Math.pow(o,2)),s=Math.atan2(-o,a);return{right:a+"px",top:o+"px","--length":Math.max(r-6,0)+"px","--angle":Math.radToDeg(s)+"deg"}},getSelectedGraphRange(){if(Keyframe.selected.length==0||!this.graph_editor_animator)return null;let e=this.graph_editor_animator[this.graph_editor_channel];if(!e||e.length<2)return null;let t=[1/0,-1/0];return e.forEach(n=>{n.selected&&(t[0]=Math.min(t[0],n.display_value),t[1]=Math.max(t[1],n.display_value))}),t[0]==t[1]?null:t},getNodeColor(e){return e.color>=0?rn[e.color%rn.length].pastel:""},clamp:Math.clamp,Condition,trimFloatNumber,getAxisLetter},watch:{size(){this.updateTimecodes()},length(){this.updateTimecodes()},scroll_left(){this.updateTimecodes()}},template:`
<div id="timeline_vue" :class="{graph_editor: graph_editor_open}" :style="{'--timeline-height': timeline_height + 'px'}">
<div id="timeline_header">
<div id="timeline_corner" v-bind:style="{width: head_width+'px'}">
<div id="timeline_timestamp">{{ timestamp }}</div>
<span>/</span>
<div id="timeline_framenumber">{{ framenumber }}</div>
<div class="channel_axis_selector" v-if="graph_editor_open">
<div @click="graph_editor_axis = 'x';" :class="{selected: graph_editor_axis == 'x'}" style="color: var(--color-axis-x);">X</div>
<div @click="graph_editor_axis = 'y';" :class="{selected: graph_editor_axis == 'y'}" style="color: var(--color-axis-y);">Y</div>
<div @click="graph_editor_axis = 'z';" :class="{selected: graph_editor_axis == 'z'}" style="color: var(--color-axis-z);">Z</div>
</div>
</div>
<div id="timeline_time_wrapper">
<div id="timeline_time" v-bind:style="{width: (size*length)+'px', left: -scroll_left+'px'}">
<div id="timeline_custom_range_indicator" v-if="custom_range[1]"
v-bind:style="{left: (custom_range[0] * size) + 'px', width: ((custom_range[1] - custom_range[0]) * size) + 'px'}"
/>
<div v-for="t in timecodes" class="timeline_timecode" :key="t.text" :style="{left: (t.time * size) + 'px', width: (t.width * size) + 'px'}">
<span>{{ t.text }}</span>
<div class="substeps">
<div v-for="n in Math.ceil(t.substeps)" :key="t.text + '-' + n"></div>
</div>
</div>
<div id="timeline_playhead"
v-bind:style="{left: (playhead * size) + 'px'}"
/>
<div id="timeline_onion_skin_point"
v-if="onion_skin_selectable"
v-bind:style="{left: (onion_skin_time * size) + 'px'}"
/>
<div id="timeline_endbracket"
v-bind:style="{left: (animation_length * size) + 'px'}"
/>
<div
v-for="marker in markers"
class="timeline_marker tool"
:style="{left: (marker.time * size) + 'px', '--color': getColor(marker.color)}"
:uuid="marker.uuid"
@contextmenu.prevent="marker.showContextMenu($event)"
@dblclick.prevent="marker.propertiesDialog()"
v-on:click="marker.callPlayhead()"
>
<i class="material-icons icon">beenhere</i>
<div class="tooltip" v-if="marker.name">{{ marker.name }}</div>
</div>
</div>
</div>
</div>
<div id="timeline_graph_editor_amplifier"
v-if="graph_editor_open && getSelectedGraphRange()"
:style="{top: (graph_offset - getSelectedGraphRange()[1] * graph_size - 8) + 'px', height: ((getSelectedGraphRange()[1] - getSelectedGraphRange()[0]) * graph_size + 15) + 'px'}"
title="${tl("timeline.amplify")}"
>
<div @mousedown="slideGraphAmplify($event, 0)" @touchstart="slideGraphAmplify($event, 0)"></div>
<div @mousedown="slideGraphAmplify($event, 1)" @touchstart="slideGraphAmplify($event, 1)"></div>
</div>
<div id="timeline_body" ref="timeline_body" @scroll="updateScroll($event)">
<div id="timeline_body_inner" v-bind:style="{width: (size*length + head_width)+'px'}" @contextmenu.stop="openContextMenu($event)">
<li v-for="animator in animators" class="animator" :class="{selected: animator.selected, boneless: animator.displayPosition && !animator.node}" :uuid="animator.uuid" v-on:click="animator.clickSelect();">
<div class="animator_head_bar">
<div class="channel_head" v-bind:style="{left: '0px', width: head_width+'px'}" v-on:dblclick.stop="toggleAnimator(animator)" @contextmenu.stop="animator.showContextMenu($event)">
<div class="text_button" v-on:click.stop="toggleAnimator(animator)">
<i class="icon-open-state fa" v-bind:class="{'fa-angle-right': !animator.expanded, 'fa-angle-down': animator.expanded}"></i>
</div>
<dynamic-icon v-if="animator.node" :icon="animator.node.icon.replace('fa ', '').replace(/ /g, '.')" :color="getNodeColor(animator.node)" />
<dynamic-icon v-else-if="animator.particle" :icon="'wand_shine'" />
<dynamic-icon v-else :icon="'help'" style="color: var(--color-error)" />
<span class="timeline_animator_name" v-on:click.stop="animator.clickSelect();" @mousedown="dragAnimator(animator, $event)" @touchstart="dragAnimator(animator, $event)">
{{animator.name}}
</span>
<div class="text_button" v-on:click.stop="removeAnimator(animator)">
<i class="material-icons">remove</i>
</div>
</div>
<div class="keyframe_section" v-if="!graph_editor_open">
<template v-for="(channel_options, channel) in animator.channels" v-if="!(animator.expanded && channels[channel] != false && (!channels.hide_empty || animator[channel].length))">
<div
v-for="keyframe in animator[channel]"
v-bind:style="{left: (8 + keyframe.time * size) + 'px'}"
class="keyframe"
v-bind:id="'_'+keyframe.uuid"
>
<i class="material-icons">lens</i>
</div>
</template>
</div>
</div>
<div class="animator_channel_bar"
v-bind:style="{width: (size*length + head_width)+'px'}"
v-for="(channel_options, channel) in animator.channels"
v-if="animator.expanded && channels[channel] != false && Condition(channel_options.condition, animator) && (!channels.hide_empty || animator[channel].length)"
>
<div class="channel_head"
:class="{selected: graph_editor_open && animator.selected && graph_editor_channel == channel}"
v-bind:style="{left: '0px', width: head_width+'px'}"
@click.stop="selectChannel(animator, channel);"
@contextmenu.stop="animator.showContextMenu($event)"
>
<div class="text_button" v-if="channel_options.mutable" v-on:click.stop="animator.toggleMuted(channel)">
<i class="icon material-icons channel_mute" :class="{disabled: animator.muted[channel]}">
{{ channel === 'sound' ? (animator.muted[channel] ? 'volume_off' : 'volume_up') : (animator.muted[channel] ? 'visibility_off' : 'visibility') }}
</i>
</div>
<div class="text_button" v-else></div>
<span>{{ channel_options.name }}</span>
<div
class="text_button rotation_global" :class="{off: !animator.rotation_global}"
v-if="channel == 'rotation' && animator.type == 'bone'"
title="${tl("menu.animator.rotation_global")}"
@click.stop="toggleGlobalSpace(animator)"
>
<i class="material-icons">{{ animator.rotation_global ? 'public' : 'public_off' }}</i>
</div>
<div class="text_button" v-on:click.stop="animator.createKeyframe(null, null, channel, true)">
<i class="material-icons">add</i>
</div>
</div>
<div class="keyframe_section" v-if="!graph_editor_open">
<div
v-for="keyframe in animator[channel]"
v-bind:style="{left: (8 + keyframe.time * size) + 'px', color: getColor(keyframe.color)}"
class="keyframe"
v-bind:class="{[keyframe.channel]: true, selected: keyframe.selected, has_expressions: keyframe.has_expressions}"
v-bind:id="keyframe.uuid"
v-on:click.stop="keyframe.clickSelect($event)"
v-on:dblclick="keyframe.callPlayhead()"
:title="animator.channels[channel].name"
@mousedown="dragKeyframes(keyframe, $event)" @touchstart="dragKeyframes(keyframe, $event)"
@contextmenu.prevent.stop="keyframe.showContextMenu($event)"
>
<i class="icon-keyframe_smooth" v-if="keyframe.interpolation == 'catmullrom'"></i>
<i class="icon-keyframe_step" v-else-if="keyframe.interpolation == 'step'"></i>
<i :class="keyframe.data_points.length == 1 ? 'icon-keyframe_bezier' : 'icon-keyframe_discontinuous_bezier'" v-else-if="keyframe.interpolation == 'bezier'"></i>
<i :class="keyframe.data_points.length == 1 ? 'icon-keyframe' : 'icon-keyframe_discontinuous'" v-else></i>
<svg class="keyframe_waveform" v-if="keyframe.channel == 'sound' && keyframe.data_points[0].file && waveforms[keyframe.data_points[0].file]" :style="{width: waveforms[keyframe.data_points[0].file].duration * size}">
<polygon :points="getWaveformPoints(waveforms[keyframe.data_points[0].file].samples, size)"></polygon>
</svg>
</div>
</div>
</div>
</li>
<div id="timeline_empty_head" class="channel_head" v-bind:style="{width: head_width+'px'}">
</div>
<div id="timeline_selector" class="selection_rectangle"></div>
<div id="timeline_graph_editor" ref="graph_editor" v-if="graph_editor_open" :style="{left: head_width + 'px', top: scroll_top + 'px'}">
<svg :style="{'margin-left': clamp(scroll_left, 9, Infinity) + 'px'}">
<path :d="zero_line" style="stroke: var(--color-grid);"></path>
<path :d="one_line" style="stroke: var(--color-grid); stroke-dasharray: 6;" v-if="graph_editor_channel == 'scale'"></path>
<template v-for="ruler in rulers">
<path :d="ruler.path" style="stroke: var(--color-grid); stroke-width: 0.5px;"></path>
<text :y="ruler.position - 4">{{ ruler.label }}</text>
</template>
<path v-for="(loop_graph, i) in loop_graphs"
:d="loop_graph"
class="loop_graph"
:class="{selected: loop_graphs.length == 0 || i == graph_editor_axis_number}"
style="stroke: var(--color-loop_graph);"
></path>
<path v-if="graphs.length == 3"
:d="graphs[(graph_editor_axis_number+1) % 3]"
class="main_graph"
:style="{stroke: 'var(--color-axis-' + getAxisLetter((graph_editor_axis_number+1) % 3) + ')'}"
></path>
<path v-if="graphs.length == 3"
:d="graphs[(graph_editor_axis_number+2) % 3]"
class="main_graph"
:style="{stroke: 'var(--color-axis-' + getAxisLetter((graph_editor_axis_number+2) % 3) + ')'}"
></path>
<path
:d="graphs[graphs.length == 3 ? graph_editor_axis_number : 0]"
class="main_graph selected"
:style="{stroke: 'var(--color-axis-' + graph_editor_axis + ')'}"
></path>
</svg>
<template v-if="graph_editor_animator">
<div
v-for="keyframe in graph_editor_animator[graph_editor_channel]"
v-bind:style="{left: (10 + keyframe.time * size) + 'px', top: (graph_offset - keyframe.display_value * graph_size - 8) + 'px', color: getColor(keyframe.color)}"
class="keyframe graph_keyframe"
v-bind:class="[keyframe.channel, keyframe.selected?'selected':'']"
v-bind:id="keyframe.uuid"
v-on:click.stop="keyframe.clickSelect($event)"
v-on:dblclick="keyframe.callPlayhead()"
:title="trimFloatNumber(keyframe.time, 2) + ' \u2A09 ' + trimFloatNumber(keyframe.display_value || 0)"
@mousedown="dragKeyframes(keyframe, $event)" @touchstart="dragKeyframes(keyframe, $event)"
@contextmenu.prevent.stop="keyframe.showContextMenu($event)"
>
<i class="icon-keyframe_smooth" v-if="keyframe.interpolation == 'catmullrom'"></i>
<i class="icon-keyframe_step" v-else-if="keyframe.interpolation == 'step'"></i>
<!--i :class="keyframe.data_points.length == 1 ? 'icon-keyframe_bezier' : 'icon-keyframe_discontinuous_bezier'" v-else-if="keyframe.interpolation == 'bezier'"></i (looks better without hourglass in graph editor) -->
<i :class="keyframe.data_points.length == 1 ? 'icon-keyframe' : 'icon-keyframe_discontinuous'" v-else></i>
<template v-if="keyframe.interpolation == 'bezier' && (show_all_handles || keyframe.selected)">
<div class="keyframe_bezier_handle"
:style="getBezierHandleStyle(keyframe, 'left')"
:title="'${tl("generic.left")}: ' + trimFloatNumber(keyframe.bezier_left_time[graph_editor_axis_number], 2) + ' \u2A09 ' + trimFloatNumber(keyframe.bezier_left_value[graph_editor_axis_number])"
@mousedown="dragBezierHandle(keyframe, 'left', $event)" @touchstart="dragBezierHandle('left', $event)"
></div>
<div class="keyframe_bezier_handle"
:style="getBezierHandleStyle(keyframe, 'right')"
:title="'${tl("generic.right")}: ' + trimFloatNumber(keyframe.bezier_right_time[graph_editor_axis_number], 2) + ' \u2A09 ' + trimFloatNumber(keyframe.bezier_right_value[graph_editor_axis_number])"
@mousedown="dragBezierHandle(keyframe, 'right', $event)" @touchstart="dragBezierHandle('right', $event)"
></div>
</template>
</div>
</template>
</div>
</div>
</div>
</div>
`}}),ze.vue=ze.panel.inside_vue,ze.panel.on("change_zindex",({zindex:e})=>{Condition(ze.panel.condition)&&(document.getElementById("resizer_timeline_head").style.zIndex=e?e+1:null)})});BARS.defineActions(function(){new Toggle("timeline_graph_editor",{icon:"timeline",category:"animation",condition:{modes:["animate"]},keybind:new Keybind({key:114}),onChange(i){ze.vue.graph_editor_open=i,ze.vue.graph_editor_open&&ze.selected.length&&ze.selected_animator&&ze.selected_animator.channels[ze.selected[0].channel]&&ze.selected_animator.channels[ze.selected[0].channel].transform&&(ze.vue.graph_editor_channel=ze.selected[0].channel)}}),new Toggle("graph_editor_other_graphs",{icon:"exposure_zero",category:"animation",condition:{modes:["animate"],method:()=>ze.vue.graph_editor_open},default:!0,onChange(i){ze.vue.show_other_graphs=i}}),new Toggle("graph_editor_include_other_graphs",{icon:"exposure_zero",category:"animation",condition:{modes:["animate"],method:()=>ze.vue.graph_editor_open&&ze.vue.show_other_graphs},default:!0,onChange(i){ze.vue.include_other_graphs=i}}),new Toggle("graph_editor_zero_line",{icon:"exposure_zero",category:"animation",condition:{modes:["animate"],method:()=>ze.vue.graph_editor_open},default:!0,onChange(i){ze.vue.show_zero_line=i}}),new Action("play_animation",{icon:"play_arrow",category:"animation",keybind:new Keybind({key:32}),condition:{modes:["animate"],selected:{animation_controller:!1}},click:function(){if(!Animation.selected){Blockbench.showQuickMessage("message.no_animation_selected");return}ze.playing?ze.pause():ze.start()}}),new Toggle("looped_animation_playback",{icon:"fa-repeat",category:"animation",condition:{modes:["animate"]},default:!1}),new NumSlider("slider_animation_speed",{category:"animation",condition:{modes:["animate"]},settings:{default:100,min:0,max:1e4},get:function(){return ze.playback_speed},change:function(i){ze.playback_speed=limitNumber(i(ze.playback_speed),0,1e4)},getInterval:i=>{var e=BarItems.slider_animation_speed.get();return i.shiftKey?e<50?10:50:i.ctrlOrCmd?e<500?1:10:e<10?1:e<50?5:e<160?10:e<300?20:e<1e3?50:500}}),new Action("jump_to_timeline_start",{icon:"skip_previous",category:"animation",condition:{modes:["animate"]},keybind:new Keybind({key:36}),click:function(){let i=ze.playing;ze.playing&&ze.pause();let e=ze.custom_range[0]||0;ze.setTime(e),i?ze.start():Animator.preview()}}),new Action("jump_to_timeline_end",{icon:"skip_next",category:"animation",condition:{modes:["animate"]},keybind:new Keybind({key:35}),click:function(){let i=ze.playing;ze.playing&&ze.pause();let e=ze.custom_range[1]||(Animation.selected?Animation.selected.length:0);ze.setTime(e),i?ze.start():Animator.preview()}}),new Action("timeline_frame_back",{icon:"arrow_back",category:"animation",condition:{modes:["animate","edit","paint"],method:()=>Modes.animate||Interface.Panels.textures.inside_vue.maxFrameCount()},keybind:new Keybind({key:188}),click:function(i){if(Modes.animate||Prop.active_panel=="timeline"){let e=ze.snapTime(limitNumber(ze.time-ze.getStep(),0,1e4));ze.setTime(e),ze.playAudioStutter(),Animator.preview()}else BarItems.animated_texture_frame.change(e=>e-1)}}),new Action("timeline_frame_forth",{icon:"arrow_forward",category:"animation",condition:{modes:["animate","edit","paint"],method:()=>Modes.animate||Interface.Panels.textures.inside_vue.maxFrameCount()},keybind:new Keybind({key:190}),click:function(i){if(Modes.animate||Prop.active_panel=="timeline"){let e=ze.snapTime(limitNumber(ze.time+ze.getStep(),0,1e4));ze.setTime(e),ze.playAudioStutter(),Animator.preview()}else BarItems.animated_texture_frame.change(e=>e+1)}}),new Action("set_timeline_range_start",{icon:"logout",category:"animation",condition:{modes:["animate"]},click(){ze.custom_range.set(0,ze.time),BARS.updateConditions()}}),new Action("set_timeline_range_end",{icon:"login",category:"animation",condition:{modes:["animate"]},click(){ze.custom_range.set(1,ze.time),BARS.updateConditions()}}),new Action("disable_timeline_range",{icon:"code_off",category:"animation",condition:{modes:["animate"],method:()=>ze.custom_range[0]||ze.custom_range[1]},click(){ze.custom_range.replace([0,0]),BARS.updateConditions()}}),new Action("bring_up_all_animations",{icon:"fa-sort-amount-up",category:"animation",condition:{modes:["animate"]},click:function(){if(Animation.selected)for(var i in Animation.selected.animators){var e=Animation.selected.animators[i];e&&e.keyframes.length&&e.addToTimeline()}}}),new Action("add_all_to_timeline",{icon:"docs_add_on",category:"animation",condition:{modes:["animate"],selected:{animation_controller:!1,animation:!0}},click(){Group.all.concat(Outliner.elements).forEach(i=>{if(!i.selected)return;let e=Animation.selected.getBoneAnimator(i);e&&e.addToTimeline()})}}),new Action("fold_all_animations",{icon:"format_indent_decrease",category:"animation",condition:{modes:["animate"]},click:function(){for(var i of ze.animators)i.expanded=!1}}),new Action("clear_timeline",{icon:"clear_all",category:"animation",condition:{modes:["animate"]},click:function(){ze.vue._data.animators.purge(),unselectAllElements()}}),new Action("select_effect_animator",{icon:"fa-magic",category:"animation",condition:{modes:["animate"]},click:function(){Animation.selected&&(Animation.selected.animators.effects||(Animation.selected.animators.effects=new EffectAnimator(Animation.selected)),Animation.selected.animators.effects.select(),BarItems.timeline_graph_editor.set(!1))}}),new Action("timeline_focus",{icon:"fas.fa-filter",category:"animation",condition:{modes:["animate"]},click:function(i){new Menu(this.children()).open(i.target)},children:function(){let i="fas.fa-check-square",e="far.fa-square",{channels:t}=ze.vue._data,n=[],a=[BoneAnimator];for(let o of ze.animators)a.safePush(o.constructor);for(let o of a)for(let r in o.prototype.channels){if(n.find(l=>l.id==r))continue;let s=o.prototype.channels[r];n.push({id:r,name:s.name??`timeline.${r}`,icon:t[r]!=!1?i:e,click(){Vue.set(t,r,t[r]==!1)}})}return[...n,"_",{name:"action.timeline_focus.hide_empty",icon:t.hide_empty?i:e,click(){t.hide_empty=!t.hide_empty}}]}}),new Action("add_marker",{icon:"flag",category:"animation",condition:{modes:["animate"]},keybind:new Keybind({ctrl:!0,key:"m"}),click:function(i){if(!Animation.selected){Blockbench.showQuickMessage("message.no_animation_selected");return}var e=ze.snapTime(),t;for(var n of Animation.selected.markers)if(Math.abs(n.time-e)<.01){t=n;break}if(t)Animation.selected.markers.remove(t);else{let a=new gy({time:e});Animation.selected.markers.push(a)}}}),new Action("timeline_setups",{icon:"folder_special",condition:{modes:["animate"],project:!0,method:()=>Project.timeline_setups.length},children(){return Project.timeline_setups.map(i=>({name:i.name,icon:"star_outline",click(){ze.vue._data.animators.purge(),unselectAllElements(),i.animators.forEach(e=>{var t=Animation.selected.animators[e];t&&t.addToTimeline()}),ze.vue.channels.position=!!i.channels.position,ze.vue.channels.rotation=!!i.channels.rotation,ze.vue.channels.scale=!!i.channels.scale,ze.vue.channels.hide_empty=!!i.channels.hide_empty},children:[{icon:"delete",name:"generic.delete",click(){Project.timeline_setups.remove(i)}}]}))},click(i){new Menu(this.children()).open(i.target)}}),new Action("save_timeline_setup",{icon:"star",condition:{modes:["animate"]},async click(){let e={name:await Blockbench.textPrompt("generic.name","Timeline Setup")||"Setup",channels:{position:ze.vue.channels.position,rotation:ze.vue.channels.rotation,scale:ze.vue.channels.scale,hide_empty:ze.vue.channels.hide_empty},animators:ze.animators.map(t=>t.uuid)};Project.timeline_setups.push(e),BARS.updateConditions()}})});Object.assign(window,{TimelineMarker:gy,Timeline:ze});var yr=class i{constructor(e,t=0){this.controller=e,this.uuid=guid(),this.transitions=[],this.animations=[];for(let n in i.properties)i.properties[n].reset(this);this.folded=!1,this.fold={animations:!1,particles:!0,sounds:!0,on_entry:!0,on_exit:!0,transitions:!0},this.muted={sound:!1,particle:!1},this.playing_sounds=[],t&&this.extend(t),this.controller.states.safePush(this)}extend(e=0){for(let t in i.properties)i.properties[t].type!="array"&&i.properties[t].merge(this,e);if(typeof e.blend_transition_curve=="object"){this.blend_transition_curve={};for(let t in e.blend_transition_curve)this.blend_transition_curve[t]=e.blend_transition_curve[t]}if(e.animations instanceof Array){let t=this.animations.slice();this.animations.empty(),e.animations.forEach(n=>{let a=t.find(o=>o.uuid==n.uuid)??{uuid:guid(),key:"",animation:"",blend_value:""};if(typeof n=="object"&&typeof n.uuid=="string"&&n.uuid.length==36)Object.assign(a,n);else if(typeof n=="object"||typeof n=="string"){let o=typeof n=="object"?Object.keys(n)[0]:n,r=Animation.all.find(s=>s.getShortName()==o);Object.assign(a,{key:o||"",animation:r?r.uuid:"",blend_value:typeof n=="object"&&n[o]||""})}this.animations.push(a)})}if(e.transitions instanceof Array){let t=this.transitions.slice();this.transitions.empty(),e.transitions.forEach(n=>{let a=t.find(o=>o.uuid==n.uuid)??{uuid:guid(),target:"",condition:""};if(this.transitions.push(a),typeof n=="object"&&typeof n.uuid=="string"&&n.uuid.length==36)Object.assign(a,n);else if(typeof n=="object"){let o=Object.keys(n)[0],r=this.controller.states.find(s=>s!==this&&s.name==o);Object.assign(a,{target:r?r.uuid:"",condition:n[o]||""}),r||setTimeout(()=>{let s=this.controller.states.find(l=>l!==this&&l.name==o);if(s){let l=this.transitions.find(c=>c.uuid==a.uuid)??transitions;l.target=s.uuid}},0)}})}if(e.particles instanceof Array&&(this.particles.empty(),e.particles.forEach(t=>{this.particles.push(JSON.parse(JSON.stringify(t)))})),e.sounds instanceof Array&&(this.sounds.empty(),e.sounds.forEach(t=>{this.sounds.push(JSON.parse(JSON.stringify(t)))})),e.particle_effects instanceof Array&&(this.particles.empty(),e.particle_effects.forEach(t=>{let n={uuid:guid(),effect:t.effect||"",locator:t.locator||"",bind_to_actor:t.bind_to_actor!==!1,pre_effect_script:t.pre_effect_script||"",file:""};this.particles.push(n)})),e.sound_effects instanceof Array&&(this.sounds.empty(),e.sound_effects.forEach(t=>{let n={uuid:guid(),effect:t.effect||"",file:""};this.sounds.push(n)})),typeof e.blend_transition=="object"){this.blend_transition_curve={},this.blend_transition=Math.max(...Object.keys(e.blend_transition).map(t=>parseFloat(t)));for(let t in e.blend_transition){let n=parseFloat(t)/this.blend_transition;this.blend_transition_curve[n]=e.blend_transition[t]}}}getUndoCopy(){var e={uuid:this.uuid,name:this.name};for(let t in i.properties)i.properties[t].copy(this,e);return e.animations=JSON.parse(JSON.stringify(e.animations)),e.transitions=JSON.parse(JSON.stringify(e.transitions)),e.particles=JSON.parse(JSON.stringify(e.particles)),e.sounds=JSON.parse(JSON.stringify(e.sounds)),e}compileForBedrock(){let e={};if(this.animations.length&&(e.animations=this.animations.map(t=>t.blend_value.trim()?new oneLiner({[t.key]:t.blend_value.trim()}):t.key)),["on_entry","on_exit"].forEach(t=>{if(!this[t]||this[t]=="\\n")return;let n=this[t].split(`
`);n=n.filter(a=>!!a.replace(/[\n\s;.]+/g,"")),n=n.map(a=>a.match(/;\s*$/)||a.startsWith("/")?a:a+";"),e[t]=n}),this.particles.length&&(e.particle_effects=this.particles.map(t=>({effect:t.effect||"",locator:t.locator||void 0,bind_to_actor:t.bind_to_actor?void 0:!1,pre_effect_script:t.pre_effect_script||void 0}))),this.sounds.length&&(e.sound_effects=this.sounds.map(t=>new oneLiner({effect:t.effect||""}))),this.transitions.length&&(e.transitions=this.transitions.map(t=>{let n=this.controller.states.find(o=>o.uuid==t.target),a=t.condition.replace(/\n/g,"");return new oneLiner({[n?n.name:"missing_state"]:a})})),this.blend_transition){e.blend_transition=this.blend_transition;let t=this.blend_transition_curve&&Object.keys(this.blend_transition_curve);if(t?.length){let n={},a=t.map(o=>({time:parseFloat(o),value:this.blend_transition_curve[o]}));a.sort((o,r)=>o.time-r.time);for(let o of a){let r=trimFloatNumber(o.time*this.blend_transition,4).toString();r.includes(".")||(r+=".0"),n[r]=Math.roundTo(o.value,6)}e.blend_transition=n}this.blend_via_shortest_path&&(e.blend_via_shortest_path=this.blend_via_shortest_path)}return Blockbench.dispatchEvent("compile_bedrock_animation_controller_state",{state:this,json:e}),e}select(e){return(this.controller.selected_state!==this||e)&&(this.controller.last_state=this.controller.selected_state,this.controller.transition_timestamp=performance.now(),this.start_timestamp=performance.now(),this.controller.selected_state=this,this.controller.last_state&&this.controller.last_state.unselect(),Animator.MolangParser.parse(this.on_entry),this.playEffects(),Blockbench.dispatchEvent("select_animation_controller_state",{state:this})),this}unselect(){Animator.MolangParser.parse(this.on_exit),this.playing_sounds.forEach(e=>{e.paused||e.pause()}),this.playing_sounds.empty()}playEffects(){this.muted.sound||this.sounds.forEach(e=>{if(e.file&&!e.cooldown){var t=new Audio(e.file);t.playbackRate=Math.clamp(xi.playback_speed/100,.1,4),t.volume=Math.clamp(settings.volume.value/100,0,1),t.play().catch(()=>{}),this.playing_sounds.push(t),t.onended=()=>{this.playing_sounds.remove(t)},e.cooldown=!0,setTimeout(()=>{delete e.cooldown},400)}}),this.muted.particle||this.particles.forEach(e=>{let t=e.file&&Animator.particle_effects[e.file];if(t){let n=t.emitters[e.uuid];if(!n){n=t.emitters[e.uuid]=new up.Emitter(WinterskyScene,t.config);let o=n.Molang.variableHandler;n.Molang.variableHandler=(r,s)=>{let l=o.call(n,r,s);return l!==void 0?l:Animator.MolangParser.variableHandler(r)}}n.Molang.parse(e.pre_effect_script,Animator.MolangParser.global_variables);let a=e.locator&&Locator.all.find(o=>o.name==e.locator);a?(a.mesh.add(n.local_space),n.parent_mode="locator"):n.parent_mode="entity",n.stopLoop().playLoop()}})}scrollTo(){let e=document.querySelector(`.controller_state[uuid="${this.uuid}"]`);return e&&e.scrollIntoView({behavior:"smooth",block:"nearest"}),this}rename(){return Blockbench.textPrompt("generic.rename",this.name,e=>{Undo.initEdit({animation_controller_state:this}),this.name=e,this.createUniqueName(),Undo.finishEdit("Rename animation controller state")}),this}remove(e){e&&Undo.initEdit({animation_controllers:[this.controller]}),this.controller.states.forEach(t=>{t.transitions.forEach(n=>{n.target==this.uuid&&(n.target="")})}),this.controller.states.remove(this),this.controller.selected_state==this&&(this.controller.selected_state=null),e&&Undo.finishEdit("Remove animation controller state")}createUniqueName(){let e=this,t=this.controller.states,n=this.name.replace(/\d+$/,"");function a(o){for(let r=0;r<t.length;r++)if(t[r]!==e&&t[r].name==o)return!1;return!0}if(a(this.name))return this.name;for(let o=2;o<8e3;o++)if(a(n+o))return e.name=n+o,e.name;return!1}addAnimation(e){Undo.initEdit({animation_controller_state:this});let t={uuid:guid(),key:e?e.getShortName():"",animation:e?e.uuid:"",blend_value:""};this.animations.push(t),this.fold.animations=!1,Blockbench.dispatchEvent("add_animation_controller_animation",{state:this}),Undo.finishEdit("Add animation to animation controller state")}addTransition(e=""){Undo.initEdit({animation_controller_state:this});let t={uuid:guid(),target:e,condition:""};this.transitions.push(t),this.fold.transitions=!1,Blockbench.dispatchEvent("add_animation_controller_transition",{state:this}),Undo.finishEdit("Add transition to animation controller state"),Vue.nextTick(()=>{let n=document.querySelector(`.controller_state[uuid="${this.uuid}"] .controller_transition:last-child pre`);n&&$(n).trigger("focus")})}addParticle(e=0){Undo.initEdit({animation_controller_state:this});let t={uuid:guid(),effect:e.effect||"",bind_to_actor:!0,locator:"",pre_effect_script:"",file:""};this.particles.push(t),this.fold.particles=!1,Blockbench.dispatchEvent("add_animation_controller_particle",{state:this}),Undo.finishEdit("Add particle to animation controller state"),Vue.nextTick(()=>{let n=document.querySelector(`.controller_state[uuid="${this.uuid}"] .controller_particle input[type="text"]`);n&&$(n).trigger("focus")})}addSound(e=0){Undo.initEdit({animation_controller_state:this});let t={uuid:guid(),effect:e.effect||"",file:e.file||""};this.sounds.push(t),this.fold.sounds=!1,Blockbench.dispatchEvent("add_animation_controller_sound",{state:this}),Undo.finishEdit("Add sound to animation controller state"),Vue.nextTick(()=>{let n=document.querySelector(`.controller_state[uuid="${this.uuid}"] .controller_sound input[type="text"]`);n&&$(n).trigger("focus")})}calculateBlendValue(e){if(!this.blend_transition_curve||Object.keys(this.blend_transition_curve).length<2)return e;let t=e,n=Object.keys(this.blend_transition_curve),a=n.map(p=>this.blend_transition_curve[p]),o=n.map(p=>parseFloat(p)),r=-1/0,s=null,l=1/0,c=null,d=0;for(let p of o)p<=t&&p>r&&(s=d,r=p),p>=t&&p<l&&(c=d,l=p),d++;if(s===null)return 1-a[c];if(c===null||s==c)return 1-a[s];let u=Math.getLerp(r,l,t)||0;return 1-Math.lerp(a[s],a[c],u)}editTransitionCurve(){let e=this,t=this.blend_transition,n=[];for(let s in this.blend_transition_curve)s=parseFloat(s),n.push({uuid:guid(),time:s,value:this.blend_transition_curve[s]});n.length||(n.push({time:0,value:1,uuid:guid()}),n.push({time:1,value:0,uuid:guid()}));let a=setInterval(()=>{r.content_vue.preview()},1e3/60),o=performance.now(),r=new Dialog("blend_transition_edit",{title:"animation_controllers.state.blend_transition_curve",width:478,keyboard_actions:{copy:{keybind:new Keybind({key:"c",ctrl:!0}),run(){this.content_vue.copy()}},paste:{keybind:new Keybind({key:"v",ctrl:!0}),run(){this.content_vue.paste()}}},form:{duration:{label:"animation_controllers.state.blend_transition",value:t,min:.05,step:.05,type:"number"},extended_graph:{label:"dialog.blend_transition_edit.extended",value:!1,type:"checkbox"},buttons:{type:"buttons",buttons:["generic.reset",tl("dialog.blend_transition_edit.ease_in_out",[6]),tl("dialog.blend_transition_edit.ease_in_out",[10]),"dialog.blend_transition_edit.generate"],click(s){function l(c,d){n.empty();for(let u=0;u<d;u++){let p=u/(d-1);n.push({time:p,value:1-c(p),uuid:guid()})}r.content_vue.updateGraph()}if(s==3){let c={easeInSine:"In Sine",easeOutSine:"Out Sine",easeInOutSine:"In Out Sine",easeInQuad:"In Quad",easeOutQuad:"Out Quad",easeInOutQuad:"In Out Quad",easeInCubic:"In Cubic",easeOutCubic:"Out Cubic",easeInOutCubic:"In Out Cubic",easeInQuart:"In Quart",easeOutQuart:"Out Quart",easeInOutQuart:"In Out Quart",easeInQuint:"In Quint",easeOutQuint:"Out Quint",easeInOutQuint:"In Out Quint",easeInExpo:"In Expo",easeOutExpo:"Out Expo",easeInOutExpo:"In Out Expo",easeInCirc:"In Circ",easeOutCirc:"Out Circ",easeInOutCirc:"In Out Circ",easeInBack:"In Back",easeOutBack:"Out Back",easeInOutBack:"In Out Back",easeInElastic:"In Elastic",easeOutElastic:"Out Elastic",easeInOutElastic:"In Out Elastic",easeOutBounce:"Out Bounce",easeInBounce:"In Bounce",easeInOutBounce:"In Out Bounce"},d=n.slice();new Dialog("blend_transition_edit_easing",{title:"dialog.blend_transition_edit.generate",width:380,form:{easings:{type:"info",text:tl("dialog.blend_transition_edit.generate.learn_more")+": [easings.net](https://easings.net)"},curve:{type:"select",label:"dialog.blend_transition_edit.generate.curve",options:c},steps:{type:"number",label:"dialog.blend_transition_edit.generate.steps",value:10,step:1,min:3,max:64}},onFormChange(u){l(Qh[u.curve],u.steps)},onConfirm(u){l(Qh[u.curve],u.steps)},onCancel(){n.replace(d),r.content_vue.updateGraph()}}).show()}else{let d=function(u){return 3*u**2-2*u**3},c=[2,6,10][s];l(d,c)}}}},component:{data(){return{duration:t,points:n,graph_data:"",zero_line:"",preview_value:0,width:Math.min(400,window.innerWidth-42),height:220,scale_y:220}},methods:{dragPoint(s,l){let c=this,d=s.time,u=s.value,p=this.scale_y,m=f=>{s.time=d+(f.clientX-l.clientX)/this.width,s.value=u-(f.clientY-l.clientY)/p,s.time=Math.clamp(s.time,0,1);let g=this.scale_y>188?[0,1]:[-1,2];s.value=Math.clamp(s.value,...g),Blockbench.setCursorTooltip(`${Math.roundTo(s.time*this.duration,4)} x ${Math.roundTo(s.value,4)}`),c.updateGraph()},_=()=>{removeEventListeners(document,"mousemove touchmove",m),removeEventListeners(document,"mouseup touchend",_),Blockbench.setCursorTooltip()};addEventListeners(document,"mousemove touchmove",m),addEventListeners(document,"mouseup touchend",_)},createNewPoint(s){if(s.target.id!=="blend_transition_graph"||s.which==3)return;let l=(this.height-this.scale_y)/2,c={uuid:guid(),time:(s.offsetX-5)/this.width,value:1-(s.offsetY-5-l)/this.scale_y};this.points.push(c),this.updateGraph(),this.dragPoint(c,s)},copy(){let s=n.map(l=>({time:l.time,value:l.value}));Clipbench.setText(JSON.stringify(s))},async paste(){let s;if(s=await navigator.clipboard.readText(),!!s)try{let l=JSON.parse(s);if(!(l instanceof Array))return;n.empty();for(let c of l){let d={uuid:guid(),time:c.time??0,value:c.value??0};n.push(d)}this.updateGraph()}catch{}},contextMenu(s){new Menu([{id:"copy",name:"action.copy",icon:"fa-copy",click:()=>{this.copy()}},{id:"paste",name:"action.paste",icon:"fa-clipboard",click:()=>{this.paste()}}]).open(s)},pointContextMenu(s,l){new Menu([{id:"remove",name:"generic.remove",icon:"clear",click:()=>{n.remove(s),this.updateGraph()}}]).open(l.target)},scaleY(){let s=0;for(let l of n)s=Math.max(s,-l.value,l.value-1);return s>.01?90:this.height},updateGraph(){if(!this.points.length){this.graph_data="";return}let s=5,l=5+(this.height-this.scale_y)/2;this.points.sort((d,u)=>d.time-u.time);let c=`M0 ${(1-this.points[0].value)*this.scale_y+l} `;for(let d of this.points)c+=`${c?"L":"M"}${d.time*this.width+s} ${(1-d.value)*this.scale_y+l} `;c+=`L${this.width+10} ${(1-n.last().value)*this.scale_y+l} `,this.graph_data=c,this.zero_line=`M0 ${l} L${this.width} ${l} M0 ${l+this.scale_y} L${this.width} ${l+this.scale_y}`},preview(){if(this.points.length==0)return 0;let c=(performance.now()-o)/1e3%(this.duration+.4)/this.duration;if(c>1){this.preview_value=0;return}let d=-1/0,u=0,p=1/0,m=0;for(let f of n)f.time<=c&&f.time>d&&(u=f,d=f.time),f.time>=c&&f.time<p&&(m=f,p=f.time);if(!u)return m.value;if(!m)return u.value;let _=Math.getLerp(d,p,c);this.preview_value=Math.lerp(u.value,m.value,_)}},template:`
<div class="blend_transition_graph_wrapper" @contextmenu="contextMenu($event)">
<div id="blend_transition_graph"
@mousedown="createNewPoint($event)"
@touchstart="createNewPoint($event)"
:style="{height: (height+10) + 'px', width: (width+10) + 'px'}"
>
<svg>+
<path :d="graph_data" />
<path :d="zero_line" class="zero_lines" />
</svg>
<div class="blend_transition_graph_point"
v-for="point in points" :key="point.uuid"
:style="{left: point.time * width + 'px', top: ( (1-point.value) * scale_y + (height-scale_y)/2 ) + 'px'}"
@mousedown="dragPoint(point, $event)" @touchstart="dragPoint(point, $event)"
@contextmenu.stop="pointContextMenu(point, $event)"
></div>
</div>
<div class="blend_transition_preview" :style="{'--progress': scale_y > 200 ? preview_value : (1+preview_value) / 3}">
<div />
</div>
</div>
`,mounted(){this.updateGraph()}},onFormChange(s){this.content_vue.duration=s.duration,this.content_vue.scale_y=s.extended_graph?220/3:220,this.content_vue.updateGraph()},onConfirm(s){if(clearInterval(a),Undo.initEdit({animation_controller_state:e}),e.blend_transition=s.duration,e.blend_transition_curve={},!(n.length==2&&n.find(c=>c.time==0&&c.value==1)&&n.find(c=>c.time==1&&c.value==0)))for(let c of n)e.blend_transition_curve[Math.clamp(c.time,0,1)]=c.value;Undo.finishEdit("Change blend transition curve")},onCancel(){clearInterval(a)}});r.show()}openMenu(e){i.prototype.menu.open(e,this)}getStateTime(){return this.start_timestamp?(performance.now()-this.start_timestamp)/1e3*(xi.playback_speed/100):0}};new Property(yr,"string","name",{default:"default"});new Property(yr,"array","animations");new Property(yr,"array","transitions");new Property(yr,"array","sounds");new Property(yr,"array","particles");new Property(yr,"string","on_entry");new Property(yr,"string","on_exit");new Property(yr,"number","blend_transition");new Property(yr,"object","blend_transition_curve");new Property(yr,"boolean","blend_via_shortest_path");yr.prototype.menu=new Menu([{id:"set_as_initial_state",name:"Initial State",icon:i=>i.uuid==xi.selected?.initial_state?"far.fa-dot-circle":"far.fa-circle",click(i){xi.selected&&(Undo.initEdit({animation_controllers:[xi.selected]}),xi.selected.initial_state=i.uuid,Undo.finishEdit("Change animation controller initial state"))}},new MenuSeparator("manage"),"duplicate","rename","delete"]);var Rs=class Rs extends AnimationItem{constructor(e){super(e),this.name="",this.uuid=guid(),this.playing=!1,this.selected=!1,this.states=[],this.selected_state=null;for(let t in Rs.properties)Rs.properties[t].reset(this);typeof e=="object"&&this.extend(e)}extend(e){for(let t in Rs.properties)Rs.properties[t].merge(this,e);if(Merge.string(this,e,"name"),e.states instanceof Array){let t=this.states.splice(0,this.states.length);e.states.forEach(n=>{let a=t.find(o=>o.name===n.name||n.uuid&&o.uuid===n.uuid);a?(a.extend(n),n.uuid&&(a.uuid=n.uuid),this.states.push(a)):(a=new yr(this,n),n.uuid&&(a.uuid=n.uuid))})}else if(typeof e.states=="object")for(let t in e.states){let n=this.states.find(a=>a.name===t);n?n.extend(e.states[t]):n=new yr(this,e.states[t]),n.name=t}if(typeof e.initial_state=="string"&&(e.initial_state.length==36?this.initial_state=e.initial_state:this.initial_state=this.states.find(t=>t.name==e.initial_state)?.uuid||""),typeof e.selected_state=="string"){let t=this.states.find(n=>n.uuid==e.selected_state);t&&(this.selected_state=t)}return e.states&&this.states.forEach(t=>t.createUniqueName()),this}getUndoCopy(e=0,t){var n={uuid:this.uuid,type:"animation_controller",name:this.name,selected:this.selected,selected_state:this.selected_state?this.selected_state.uuid:null};for(let a in Rs.properties)Rs.properties[a].copy(this,n);return n.states=this.states.map(a=>a.getUndoCopy()),n}compileForBedrock(){let e={};if(!this.states.length)return e;let t=this.states.find(n=>n.uuid==this.initial_state)||this.states[0];return t.name!=="default"&&(e.initial_state=t.name),e.states={},this.states.forEach(n=>{e.states[n.name]=n.compileForBedrock()}),Blockbench.dispatchEvent("compile_bedrock_animation_controller",{animation_controller:this,json:e}),e}save(){let e={format_version:"1.19.0",animation_controllers:{[this.name]:this.compileForBedrock()}};if(0){if(Xve.existsSync(this.path))try{}catch(a){var t}}else Blockbench.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",startpath:this.path,content:compileJSON(e)},n=>{this.path==n,this.saved=!0});return this}select(){if(this!=Rs.selected)return Timeline.playing&&Timeline.pause(),AnimationItem.all.forEach(e=>{e.selected=!1,e.playing==!0&&(e.playing=!1)}),Panels.animation_controllers.inside_vue.controller=this,this.selected=!0,this.playing==!1&&(this.playing=!0),AnimationItem.selected=this,Modes.animate&&(Animator.preview(),updateInterface(),BarItems.slider_animation_controller_speed.update()),this}clickSelect(){Undo.initSelection(),this.select(),Undo.finishSelection("Select animation")}createUniqueName(e){var t=this,n=Rs.all.slice();e&&e.length&&e.forEach(s=>{n.safePush(s)}),n=n.filter(s=>s.path==this.path);var a=this.name.replace(/\d+$/,"");function o(s){for(var l=0;l<n.length;l++)if(n[l]!==t&&n[l].name==s)return!1;return!0}if(o(this.name))return this.name;for(var r=2;r<8e3;r++)if(o(a+r))return t.name=a+r,t.name;return!1}rename(){var e=this;return Blockbench.textPrompt("generic.rename",this.name,function(t){t&&t!==e.name&&(Undo.initEdit({animation_controllers:[e]}),e.name=t,e.createUniqueName(),Undo.finishEdit("Rename animation controller"))}),this}updatePreview(){let e=BarItems.animation_controller_preview_mode.value;if(e!="paused"&&(Animator.preview(),e=="play"&&this.selected_state))for(let t of this.selected_state.transitions){let n=Animator.MolangParser.parse(t.condition),a=n&&this.states.find(o=>o.uuid==t.target);if(n&&a){a.select();break}}}togglePlayingState(e){return this.selected||(this.playing=e!==void 0?e:!this.playing,Animator.preview()),this.playing}showContextMenu(e){return this.select(),this.menu.open(e,this),this}add(e){return e&&Undo.initEdit({animation_controllers:[]}),Rs.all.includes(this)||Rs.all.push(this),this.createUniqueName(),e&&(this.select(),Undo.finishEdit("Add animation controller",{animation_controllers:[this]})),this}remove(e,t=!0){return e&&Undo.initEdit({animation_controllers:[this]}),Rs.all.remove(this),e&&Undo.finishEdit("Remove animation controller",{animation_controllers:[]}),Blockbench.dispatchEvent("remove_animation",{animation_controllers:[this]}),Animation.selected===this&&(Animation.selected=null,Timeline.clear(),Animator.preview()),this}propertiesDialog(){let e=new Dialog({id:"animation_properties",title:this.name,width:660,part_order:["form","component"],form:{name:{label:"generic.name",value:this.name},path:{label:"menu.animation.file",value:this.path,type:"file",extensions:["json"],filetype:"JSON Animation",condition:Animation.properties.path.condition}},onConfirm:t=>{e.hide().delete(),t.name!=this.name&&(Undo.initEdit({animation_controllers:[this]}),this.name=t.name,this.createUniqueName(),Blockbench.dispatchEvent("edit_animation_controller_properties",{animation_controllers:[this]}),Undo.finishEdit("Edit animation controller properties"))},onCancel(){e.hide().delete()}});e.show()}};W(Rs,"playback_speed",100);var xi=Rs;Object.defineProperty(xi,"all",{get(){return Project.animation_controllers||[]},set(i){Project.animation_controllers.replace(i)}});xi.selected=null;xi.prototype.menu=new Menu([new MenuSeparator("copypaste"),"copy","paste","duplicate",new MenuSeparator("manage"),{name:"menu.animation.save",id:"save",icon:"save",condition:()=>Format.animation_files,click(i){i.save()}},{name:"menu.animation.open_location",id:"open_location",icon:"folder",condition(i){return!1},click(i){bn.showFileInFolder(i.path)}},{name:"generic.edit_externally",id:"edit_externally",icon:"edit_document",condition(i){return!1},click(i){null.send("open-in-default-app",i.path)}},"rename",{id:"reload",name:"menu.animation.reload",icon:"refresh",condition:i=>Format.animation_files&&!1,click(i){Blockbench.read([i.path],{},([e])=>{Undo.initEdit({animation_controllers:[i]});let t=xi.all.indexOf(i);i.remove(!1,!1);let[n]=AnimationCodec.codecs.bedrock_animation_controller.loadFile(e,[i.name]);xi.all.remove(n),xi.all.splice(t,0,n),n.select(),Undo.finishEdit("Reload animation",{animation_controllers:[n]})})}},{id:"unload",name:"menu.animation.unload",icon:"remove",condition:()=>Format.animation_files,click(i){Undo.initEdit({animation_controllers:[i]}),i.remove(!1,!1),Undo.finishEdit("Unload animation controller",{animation_controllers:[]})}},"delete",new MenuSeparator("properties"),{name:"menu.animation.properties",icon:"list",click(i){i.propertiesDialog()}}]);xi.prototype.file_menu=Animation.prototype.file_menu;new Property(xi,"boolean","saved",{default:!0});new Property(xi,"string","path",{condition:()=>!1});new Property(xi,"string","initial_state",{default:""});xi.presets=[{name:"Default",states:{default:{}}},{name:"Simple Action",states:{default:{transitions:[{active:"query.foo"}]},active:{transitions:[{default:"!query.foo"}]}}},{name:"Walking",states:{idle:{transitions:[{walking:"q.ground_speed > 1.0"}],blend_transition:.2},walking:{transitions:[{idle:"q.ground_speed < 0.5"}],blend_transition:.2}}},{name:"Open & Close",initial_state:"default",states:{default:{transitions:[{closed:"!q.is_ignited"},{opened:"q.is_ignited"}]},closed:{transitions:[{open:"q.is_ignited"}]},open:{transitions:[{opened:"query.any_animation_finished"},{close:"!q.is_ignited"}],blend_transition:.1},opened:{transitions:[{close:"!q.is_ignited"}],blend_transition:.1},close:{transitions:[{closed:"query.all_animations_finished"}]}}}];Blockbench.on("finish_edit",i=>{Format.animation_controllers&&(i.aspects.animation_controllers&&i.aspects.animation_controllers.forEach(e=>{Undo.current_save&&Undo.current_save.aspects.animation_controllers instanceof Array&&Undo.current_save.aspects.animation_controllers.includes(e)&&(e.saved=!1)}),i.aspects.animation_controller_state&&xi.selected&&(xi.selected.saved=!1))});SharedActions.add("rename",{condition:()=>Prop.active_panel=="animation_controllers"&&xi.selected?.selected_state,run(){xi.selected?.selected_state.rename()}});SharedActions.add("delete",{condition:()=>Prop.active_panel=="animation_controllers"&&xi.selected?.selected_state,run(){xi.selected?.selected_state.remove(!0)}});SharedActions.add("duplicate",{condition:()=>Prop.active_panel=="animations"&&xi.selected,run(){let i=xi.selected.getUndoCopy(),e=new xi(i);Property.resetUniqueValues(xi,e),e.createUniqueName(),xi.all.splice(xi.all.indexOf(xi.selected)+1,0,e),e.saved=!1,e.add(!0).select()}});SharedActions.add("duplicate",{condition:()=>Prop.active_panel=="animation_controllers"&&xi.selected?.selected_state,run(){Undo.initEdit({animation_controllers:[xi.selected]});let i=xi.selected.states.indexOf(xi.selected.selected_state),e=new yr(xi.selected,xi.selected.selected_state);xi.selected.states.remove(e),xi.selected.states.splice(i+1,0,e),Undo.finishEdit("Duplicate animation controller state")}});Interface.definePanels(()=>{let i=new Panel("animation_controllers",{icon:"account_tree",condition:{modes:["animate"],features:["animation_controllers"],method:()=>xi.selected},default_position:{slot:"bottom",float_position:[100,400],float_size:[600,300],height:260},growable:!0,resizable:!0,onResize(){this.inside_vue&&this.inside_vue.updateConnectionWrapperOffset()},component:{name:"panel-animation-controllers",components:{VuePrismEditor},data(){return{controller:null,presets:xi.presets,zoom:1,playback_speed:100,connection_wrapper_offset:0,connecting:!1,pickwhip:{start_x:0,start_y:0,length:0,angle:0}}},methods:{loadPreset(a){Undo.initEdit({animation_controllers:[xi.selected]}),this.controller.extend({states:a.states,initial_state:a.initial_state}),this.updateConnectionWrapperOffset(),Undo.finishEdit("Apply animation controller preset")},toggleStateSection(a,o){a.fold[o]=!a.fold[o]},openAnimationMenu(a,o,r){let s=d=>{o.key=d.getShortName(),o.animation=d.uuid},l=[{name:"generic.unset",icon:o.animation==""?"far.fa-dot-circle":"far.fa-circle",click:()=>{o.key="",o.animation=""}},"_"];AnimationItem.all.forEach((d,u)=>{d!=this.controller&&(u&&d instanceof xi&&l.push("_"),l.push({name:d.name,icon:o.animation==d.uuid?"far.fa-dot-circle":a.animations.find(p=>p.animation==d.uuid)?"task_alt":"far.fa-circle",click:()=>s(d)}))}),l.push("_",{id:"remove",name:"generic.remove",icon:"clear",click(){Undo.initEdit({animation_controller_state:a}),o=a.animations.find(d=>d.uuid==o.uuid),a.animations.remove(o),Undo.finishEdit("Remove animation from controller state")}}),new Menu("controller_state_animations",l,{searchable:l.length>7}).open(r)},openTransitionMenu(a,o,r){let s=[];this.controller.states.forEach(c=>{c!=a&&s.push({name:c.name,icon:o.target==c.uuid?"far.fa-dot-circle":a.transitions.find(d=>d.target==c.uuid)?"task_alt":"far.fa-circle",click:()=>{o.target=c.uuid}})}),s.push("_",{id:"remove",name:"generic.remove",icon:"clear",click(){Undo.initEdit({animation_controller_state:a}),o=a.transitions.find(c=>c.uuid==o.uuid),a.transitions.remove(o),Undo.finishEdit("Remove transition from controller state")}}),new Menu("controller_state_transitions",s,{searchable:s.length>9}).open(r.target)},openParticleMenu(a,o,r){getFocusedTextInput()||(new Menu("controller_state_particle",[{name:"generic.remove",icon:"clear",click(){Undo.initEdit({animation_controller_state:a}),a.particles.remove(o),Undo.finishEdit("Remove particle from controller state")}}]).open(r),r.stopPropagation())},openSoundMenu(a,o,r){getFocusedTextInput()||(new Menu("controller_state_sound",[{name:"generic.remove",icon:"clear",click(){Undo.initEdit({animation_controller_state:a}),a.sounds.remove(o),Undo.finishEdit("Remove sound from controller state")}}]).open(r),r.stopPropagation())},addAnimationButton(a,o){a.select();let r=[{name:"generic.unset",icon:"call_to_action",click:()=>{a.addAnimation()}}];AnimationItem.all.forEach((l,c)=>{l!=this.controller&&(c&&l instanceof xi&&r.push("_"),r.push({name:l.name,icon:l instanceof xi?"account_tree":"movie",click:()=>{a.addAnimation(l)}}))}),new Menu("controller_state_animations",r,{searchable:r.length>7}).open(o.target)},addTransitionButton(a,o){a.select();let r=[];this.controller.states.forEach(l=>{l==a||a.transitions.find(c=>c.target==l.uuid)||r.push({name:l.name,icon:"login",click:()=>{a.addTransition(l.uuid)}})}),r.length||r.push({name:"generic.unset",icon:"remove",click:()=>{a.addTransition()}}),new Menu("controller_state_transitions",r,{searchable:r.length>9}).open(o.target)},addParticleButton(a,o){a.addParticle()},addSoundButton(a,o){a.addSound()},addState(){BarItems.add_animation_controller_state.trigger()},sortStates(a){let o=this.controller.states.length-1;Undo.initEdit({animation_controllers:[this.controller]});var r=this.controller.states.splice(Math.min(a.oldIndex,o),1)[0];this.controller.states.splice(Math.min(a.newIndex,o),0,r),Undo.finishEdit("Reorder animation controller states")},getStateName(a){let o=this.controller.states.find(r=>r.uuid==a);return o?o.name:""},onMouseWheel(a){if(Keybinds.extra.uv_editor_scroll_zoom.keybind.isTriggered(a)){let o=a.deltaY<0?.1:-.1;this.zoom=Math.clamp(this.zoom+o,.3,1),this.updateConnectionWrapperOffset()}},updateConnectionWrapperOffset(){Vue.nextTick(()=>{let a=document.querySelector("#animation_controllers_wrapper .controller_state");this.connection_wrapper_offset=a?a.offsetLeft:0})},deselect(a){(this.controller&&a.target?.id=="animation_controllers_wrapper"||a.target?.parentElement?.id=="animation_controllers_wrapper")&&(this.controller.selected_state=null)},sortAnimation(a,o){Undo.initEdit({animation_controller_state:a});var r=a.animations.splice(o.oldIndex,1)[0];a.animations.splice(o.newIndex,0,r),Undo.finishEdit("Reorder animations in controller state")},sortTransition(a,o){Undo.initEdit({animation_controller_state:a});var r=a.transitions.splice(o.oldIndex,1)[0];a.transitions.splice(o.newIndex,0,r),Undo.finishEdit("Reorder transitions in controller state")},selectConnection(a,o){let r=this.controller.states[a.state_index],s=this.controller.states[a.target_index];r==this.controller.selected_state||o.ctrlOrCmd||Pressing.overrides.ctrl?s.select().scrollTo():r.select().scrollTo()},selectConnectionDeep(a,o){let r=this.controller.states[a.state_index],s=this.controller.states[a.target_index];o.ctrlOrCmd||Pressing.overrides.ctrl?s.select().scrollTo():(r.select().scrollTo(),r.fold.transitions=!1,Vue.nextTick(()=>{let l=document.querySelector(`.controller_transition[uuid="${a.uuid}"] pre`);l&&($(l).trigger("focus"),document.execCommand("selectAll"))}))},connectionContextMenu(a,o){let r=this.controller.states[a.state_index];new Menu("controller_connection_context",[{name:"animation_controllers.state.edit_transition",icon:"edit",click(){r.select().scrollTo(),r.fold.transitions=!1,Vue.nextTick(()=>{let s=document.querySelector(`.controller_transition[uuid="${a.uuid}"] pre`);s&&($(s).trigger("focus"),document.execCommand("selectAll"))})}},{name:"generic.remove",icon:"clear",click(){let s=r.transitions.find(l=>l.uuid==a.uuid);Undo.initEdit({animation_controller_state:r}),r.transitions.remove(s),Undo.finishEdit("Remove animation controller transition")}}]).open(o)},dragConnection(a,o){a.select(),convertTouchEvent(o),o.preventDefault(),o.stopPropagation();let r=document.getElementById("animation_controllers_pickwhip_anchor"),s=$(r).offset(),l=this,{controller:c,pickwhip:d}=this;this.connecting=!0,d.start_x=o.clientX-s.left,d.start_y=o.clientY-s.top,d.length=0;function u(m){convertTouchEvent(m);let _=$(r).offset(),f=m.clientX-_.left,g=m.clientY-_.top;d.length=Math.sqrt(Math.pow(f-d.start_x,2)+Math.pow(g-d.start_y,2)),d.angle=Math.radToDeg(Math.atan2(g-d.start_y,f-d.start_x)),l.connecting=d.length>=5}function p(m){if(convertTouchEvent(m),removeEventListeners(document,"mousemove touchmove",u),removeEventListeners(document,"mouseup touchend",p),l.connecting=!1,Math.abs(o.clientX-m.clientX)<20)return;let _;if(Blockbench.isTouch)_=c.states.find(f=>{let g=document.querySelector(`.controller_state[uuid="${f.uuid}"]`)?.getBoundingClientRect();return m.clientX>g.left&&m.clientY>g.top&&m.clientX<g.right&&m.clientY<g.bottom});else{let f=document.querySelector(".controller_state:hover")?.attributes.uuid.value;_=f&&c.states.find(g=>g.uuid==f)}_==a||!_||(a.fold.transitions=!1,a.addTransition(_.uuid))}addEventListeners(document,"mousemove touchmove",u),addEventListeners(document,"mouseup touchend",p)},changeParticleFile(a,o){Blockbench.import({resource_id:"animation_particle",extensions:["json"],type:"Bedrock Particle",startpath:o.file},r=>{let{path:s}=r[0];Undo.initEdit({animation_controller_state:a}),o.file=s;let l=Animator.loadParticleEmitter(s,r[0].content);o.effect||(o.effect=r[0].name.toLowerCase().split(".")[0].replace(/[^a-z0-9._]+/g,"")),delete l.config.preview_texture,Undo.finishEdit("Change animation controller particle file"),Blockbench.showMessageBox({title:"message.import_particle_texture.import",message:"message.import_particle_texture.message",buttons:["dialog.cancel"],commands:{import:"message.import_particle_texture.import"}},c=>{c=="import"&&Blockbench.import({extensions:["png"],type:"Particle Texture",readtype:"image",startpath:l.config.preview_texture||s},function(d){l.config.preview_texture=d[0].content,l.config.updateTexture()})})})},changeSoundFile(a,o){Blockbench.import({resource_id:"animation_audio",extensions:["ogg","wav","mp3"],type:"Audio File",startpath:o.file},r=>{let s=URL.createObjectURL(r[0].browser_file);Undo.initEdit({animation_controller_state:a}),o.file=s,o.effect||(o.effect=r[0].name.toLowerCase().replace(/\.[a-z]+$/,"").replace(/[^a-z0-9._]+/g,"")),Undo.finishEdit("Change animation controller audio file")})},editStateBlendTime(a){a.controller.saved=!1},updateLocatorSuggestionList(){Locator.updateAutocompleteList()},openMolangContextMenu(a,o,r,s){new Menu([{name:"menu.text_edit.expression_editor",icon:"code_blocks",click:()=>{let l=r[s];op({autocomplete_context:MolangAutocomplete.AnimationControllerContext,text:l},c=>{l!=c&&(Undo.initEdit({animation_controller_state:o}),r[s]=c,Undo.finishEdit("Edit animation controller molang"))})}}]).open(a)},autocomplete(a,o){return Settings.get("autocomplete_code")==!1?[]:MolangAutocomplete.AnimationControllerContext.autocomplete(a,o)}},computed:{connections(){let a={forward:[],backward:[],colors:{},outgoing_plugs:{},max_layer_top:0,max_layer_bottom:0};if(!this.controller)return a;let{states:o,selected_state:r}=this.controller,s={},l={};o.forEach((d,u)=>{l[d.uuid]={top:0,bottom:0},o.forEach((p,m)=>{d!==p&&p.transitions.forEach(_=>{_.target===d.uuid&&(u<m?l[d.uuid].top++:l[d.uuid].bottom++)})})});let c=16;return o.forEach((d,u)=>{let p=d.transitions.filter(_=>u<o.findIndex(f=>f.uuid==_.target)),m=d.transitions.filter(_=>!p.includes(_));a.outgoing_plugs[d.uuid]={top:m.length,bottom:p.length},d.transitions.forEach(_=>{let f=o.findIndex(O=>O.uuid==_.target),g=o[f];if(!g)return;let v=d==this.controller.selected_state||!this.controller.selected_state,b=g==this.controller.selected_state,x=f<u,w=x?[f,u]:[u,f],E=x?a.backward:a.forward,y=rn[(a.forward.length+a.backward.length)%rn.length].standard;s[g.uuid]||(s[g.uuid]={top:0,bottom:0});let A=0;for(let O=w[0];O<w[1];O++)for(;E.find(L=>L.layer==A&&O>=L.range[0]&&O<L.range[1]);)A++;let R=x?m:p,j=(R.indexOf(_)-(R.length-1)/2)*Math.min(c,200/R.length),F={state_index:u,target_index:f,layer:A,range:w,selected:v,relevant:b,color:y,uuid:_.uuid,condition:_.condition};if(x){let O=Math.min(c,260/l[g.uuid].top);a.max_layer_top=Math.max(a.max_layer_top,A),F.end_x=u*312+150+j,F.start_x=f*312+(275-s[g.uuid].top*O),s[g.uuid].top++}else{let O=Math.min(c,260/l[g.uuid].bottom);a.max_layer_bottom=Math.max(a.max_layer_bottom,A),F.start_x=u*312+150-j,F.end_x=f*312+25+s[g.uuid].bottom*O,s[g.uuid].bottom++}E.push(F),a.colors[_.uuid]=y})}),a.forward.sort((d,u)=>u.layer-d.layer),a.backward.sort((d,u)=>u.layer-d.layer),a}},watch:{controller(){this.updateConnectionWrapperOffset()},"controller.states"(){this.updateConnectionWrapperOffset()}},template:`
<div id="animation_controllers_wrapper"
:class="{connecting_controllers: connecting}"
:style="{zoom: zoom, '--blend-transition': controller && controller.last_state ? (controller.last_state.blend_transition / (playback_speed/100)) + 's' : 0}"
@click="deselect($event)" @wheel="onMouseWheel($event)"
>
<div id="animation_controllers_pickwhip_anchor" style="height: 0px; position: relative;">
<div id="animation_controllers_pickwhip"
v-if="connecting"
:style="{left: pickwhip.start_x + 'px', top: pickwhip.start_y + 'px', width: pickwhip.length + 'px', rotate: pickwhip.angle + 'deg'}"
></div>
</div>
<div v-if="controller && controller.states.length" class="controller_state_connection_wrapper_top" :style="{'--max-layer': connections.max_layer_top, left: connection_wrapper_offset + 'px'}">
<div v-for="connection in connections.backward"
:style="{'--color-marker': connection.color, '--layer': connection.layer, left: (connection.start_x)+'px', width: (connection.end_x - connection.start_x)+'px'}"
class="controller_state_connection backward" :class="{selected: connection.selected, relevant: connection.relevant}"
:title="connection.condition"
@click="selectConnection(connection, $event)" @dblclick="selectConnectionDeep(connection, $event)" @contextmenu="connectionContextMenu(connection, $event)"
></div>
</div>
<ul v-if="controller && controller.states.length" v-sortable="{onUpdate: sortStates, touchStartThreshold: 20, animation: 160, handle: '.controller_state_title_bar'}">
<li v-for="state in controller.states" :key="state.uuid"
class="controller_state"
:class="{selected: controller.selected_state == state, folded: state.folded, initial_state: controller.initial_state == state.uuid}"
:uuid="state.uuid"
@click="state.select().scrollTo()"
@contextmenu="state.openMenu($event)"
>
<div class="controller_state_title_bar" @touchstart="state.select()">
<label @dblclick="state.rename()">{{ state.name }}</label>
<div class="tool" title="" @click="state.openMenu($event.target)" v-if="!state.folded"><i class="material-icons">drag_handle</i></div>
<!--div class="tool" title="" @click="state.folded = !state.folded"><i class="material-icons">{{ state.folded ? 'chevron_right' : 'chevron_left' }}</i></div-->
</div>
<template v-if="!state.folded">
<div class="controller_state_gate controller_state_gate_top"
:style="{width: (10 + connections.outgoing_plugs[state.uuid].top * 16)+'px'}"
@mousedown="dragConnection(state, $event)" @touchstart="dragConnection(state, $event)"
></div>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'animations')">
<i v-if="state.fold.animations || state.animations.length == 0" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.animations")}</label>
<span class="controller_state_section_info" v-if="state.animations.length">{{ state.animations.length }}</span>
<div class="text_button" @click.stop="addAnimationButton(state, $event)"><i class="icon fa fa-plus"></i></div>
</div>
<ul v-if="!state.fold.animations" v-sortable="{onUpdate(event) {sortAnimation(state, event)}, animation: 160, handle: '.controller_item_drag_handle'}">
<li v-for="(animation, i) in state.animations" :key="animation.uuid" class="controller_animation">
<div class="controller_item_drag_handle"></div>
<div class="tool" title="" @click="openAnimationMenu(state, state.animations[i], $event.target)"><i class="material-icons">movie</i></div>
<input type="text" class="dark_bordered tab_target animation_controller_text_input" v-model="state.animations[i].key">
<vue-prism-editor
class="molang_input animation_controller_text_input tab_target"
v-model="state.animations[i].blend_value"
language="molang"
@contextmenu.stop="openMolangContextMenu($event, state, state.animations[i], 'blend_value')"
:autocomplete="autocomplete"
:placeholder="'${tl("animation_controllers.state.condition")}'"
:ignoreTabKey="true"
:line-numbers="false"
/>
</li>
</ul>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'particles')">
<i v-if="state.fold.particles || state.particles.length == 0" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.particles")}</label>
<span class="controller_state_section_info" v-if="state.particles.length">{{ state.particles.length }}</span>
<div class="text_button" v-if="state.particles.length" @click.stop="state.muted.particle = !state.muted.particle">
<i class="channel_mute fas fa-eye-slash" style="color: var(--color-subtle_text)" v-if="state.muted.particle"></i>
<i class="channel_mute fas fa-eye" v-else></i>
</div>
<div class="text_button" @click.stop="addParticleButton(state, $event)">
<i class="icon fa fa-plus"></i>
</div>
</div>
<ul v-if="!state.fold.particles">
<li v-for="(particle, i) in state.particles" :key="particle.uuid" class="controller_particle" @contextmenu="openParticleMenu(state, state.particles[i], $event)">
<div class="bar flex">
<label>${tl("data.effect")}</label>
<input type="text" class="dark_bordered tab_target animation_controller_text_input" v-model="state.particles[i].effect">
<div class="tool" title="${tl("timeline.select_particle_file")}" @click="changeParticleFile(state, state.particles[i])">
<i class="material-icons">upload_file</i>
</div>
</div>
<div class="bar flex">
<label>${tl("data.locator")}</label>
<input type="text" class="dark_bordered tab_target animation_controller_text_input" v-model="state.particles[i].locator" list="locator_suggestion_list" @focus="updateLocatorSuggestionList()">
<input type="checkbox" v-model="state.particles[i].bind_to_actor" title="${tl("timeline.bind_to_actor")}">
</div>
<div class="bar flex">
<label>${tl("timeline.pre_effect_script")}</label>
<vue-prism-editor
class="molang_input animation_controller_text_input tab_target"
v-model="state.particles[i].pre_effect_script"
language="molang"
@contextmenu.stop="openMolangContextMenu($event, state, state.particles[i], 'pre_effect_script')"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
</div>
</li>
</ul>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'sounds')">
<i v-if="state.fold.sounds || state.sounds.length == 0" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.sounds")}</label>
<span class="controller_state_section_info" v-if="state.sounds.length">{{ state.sounds.length }}</span>
<div class="text_button" v-if="state.sounds.length" @click.stop="state.muted.sound = !state.muted.sound">
<i class="channel_mute fas fa-volume-mute" style="color: var(--color-subtle_text)" v-if="state.muted.sound"></i>
<i class="channel_mute fas fa-volume-up" v-else></i>
</div>
<div class="text_button" @click.stop="addSoundButton(state, $event)">
<i class="icon fa fa-plus"></i>
</div>
</div>
<ul v-if="!state.fold.sounds">
<li v-for="(sound, i) in state.sounds" :key="sound.uuid" class="controller_sound" @contextmenu="openSoundMenu(state, state.sounds[i], $event)">
<div class="bar flex">
<label>${tl("data.effect")}</label>
<input type="text" class="dark_bordered tab_target animation_controller_text_input" v-model="state.sounds[i].effect">
<div class="tool" title="${tl("timeline.select_sound_file")}" @click="changeSoundFile(state, state.sounds[i])">
<i class="material-icons">upload_file</i>
</div>
</div>
</li>
</ul>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'on_entry')">
<i v-if="state.fold.on_entry" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.on_entry")}</label>
<span class="controller_state_section_info" v-if="state.on_entry">{{ state.on_entry.split('\\n').length }}</span>
</div>
<vue-prism-editor
v-if="!state.fold.on_entry"
class="molang_input animation_controller_text_input tab_target"
v-model="state.on_entry"
language="molang"
@contextmenu.stop="openMolangContextMenu($event, state, state, 'on_entry')"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'on_exit')">
<i v-if="state.fold.on_exit" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.on_exit")}</label>
<span class="controller_state_section_info" v-if="state.on_exit">{{ state.on_exit.split('\\n').length }}</span>
</div>
<vue-prism-editor
v-if="!state.fold.on_exit"
class="molang_input animation_controller_text_input tab_target"
v-model="state.on_exit"
language="molang"
@contextmenu.stop="openMolangContextMenu($event, state, state, 'on_exit')"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
<div class="controller_state_section_title" @click="toggleStateSection(state, 'transitions')">
<i v-if="state.fold.transitions || state.transitions.length == 0" class="icon-open-state fa fa-angle-right"></i>
<i v-else class="icon-open-state fa fa-angle-down"></i>
<label>${tl("animation_controllers.state.transitions")}</label>
<span class="controller_state_section_info" v-if="state.transitions.length">{{ state.transitions.length }}</span>
<div class="text_button" @click.stop="addTransitionButton(state, $event)"><i class="icon fa fa-plus"></i></div>
</div>
<template v-if="!state.fold.transitions">
<ul v-sortable="{onUpdate(event) {sortTransition(state, event)}, animation: 160, handle: '.controller_item_drag_handle'}">
<li v-for="(transition, i) in state.transitions" :key="transition.uuid" :uuid="transition.uuid" class="controller_transition"">
<div class="controller_item_drag_handle" :style="{'--color-marker': connections.colors[transition.uuid]}"></div>
<div class="bb-select" @click="openTransitionMenu(state, state.transitions[i], $event)">{{ getStateName(state.transitions[i].target) }}</div>
<vue-prism-editor
class="molang_input animation_controller_text_input tab_target"
v-model="state.transitions[i].condition"
language="molang"
@contextmenu.stop="openMolangContextMenu($event, state, state.transitions[i], 'condition')"
:autocomplete="autocomplete"
:ignoreTabKey="true"
:line-numbers="false"
/>
</li>
</ul>
<div class="controller_state_input_bar">
<label>${tl("animation_controllers.state.blend_transition")}</label>
<numeric-input style="width: 70px; flex-grow: 0;" v-model.number="state.blend_transition" :min="0" :step="0.05" @input="editStateBlendTime(state)" />
<div
class="tool blend_transition_curve_button"
title="${tl("animation_controllers.state.blend_transition_curve")}"
@click="state.editTransitionCurve()"
>
<i class="fas fa-chart-line icon"></i>
<span v-if="Object.keys(state.blend_transition_curve).length">{{ Object.keys(state.blend_transition_curve).length }}</span>
</div>
</div>
<div class="controller_state_input_bar">
<label :for="state.uuid + '_shortest_path'">${tl("animation_controllers.state.shortest_path")}</label>
<input type="checkbox" :id="state.uuid + '_shortest_path'" v-model="state.blend_via_shortest_path">
</div>
</template>
<div class="controller_state_gate controller_state_gate_bottom"
:style="{width: (10 + connections.outgoing_plugs[state.uuid].bottom * 16)+'px'}"
@mousedown="dragConnection(state, $event)" @touchstart="dragConnection(state, $event)"
></div>
</template>
</li>
<li class="controller_add_column" @click="addState()">
<i class="material-icons">add</i>
</li>
</ul>
<div v-if="controller && controller.states.length" class="controller_state_connection_wrapper_bottom" :style="{'--max-layer': connections.max_layer_top, left: connection_wrapper_offset + 'px'}">
<div v-for="connection in connections.forward"
:style="{'--color-marker': connection.color, '--layer': connection.layer, left: (connection.start_x)+'px', width: (connection.end_x - connection.start_x)+'px'}"
class="controller_state_connection forward" :class="{selected: connection.selected, relevant: connection.relevant}"
:title="connection.condition"
@click="selectConnection(connection, $event)" @dblclick="selectConnectionDeep(connection, $event)" @contextmenu="connectionContextMenu(connection, $event)"
></div>
</div>
<div v-if="controller && !controller.states.length" id="animation_controller_presets">
<h4>${tl("animation_controllers.select_preset")}</h4>
<ul>
<li v-for="preset in presets" :key="preset.name" @click="loadPreset(preset)">
{{ preset.name }}
</li>
</ul>
</div>
</div>
`}}),e,t="animation_controller_text_input";function n(a){return a?.classList?.contains(t)||a?.parentElement?.parentElement?.classList?.contains(t)}document.addEventListener("focus",a=>{if(n(a.target)){e=a.target.value||a.target.innerText;let o=document.querySelector(".controller_state:focus-within")?.attributes.uuid?.value,r=o&&xi.selected?.states.find(s=>s.uuid==o);r&&Undo.initEdit({animation_controller_state:r})}},!0),document.addEventListener("focusout",a=>{n(a.target)&&((a.target.value||a.target.innerText)!=e?Undo.finishEdit("Edit animation controller molang"):Undo.cancelEdit(!1))})});Object.defineProperty(AnimationItem,"all",{get(){return[...Animation.all,...xi.all]},set(){console.warn("AnimationItem.all is read-only")}});Object.defineProperty(AnimationItem,"selected",{get(){return Animation.selected||xi.selected},set(i){i instanceof Animation?(Animation.selected=i,xi.selected=null):(Animation.selected=null,xi.selected=i)}});BARS.defineActions(function(){new Action("add_animation_controller",{icon:"post_add",category:"animation",condition:{modes:["animate"],features:["animation_controllers"]},click(){let i=new xi({name:"controller.animation."+(Project.geometry_name||"model")+".new",saved:!1}).add(!0).propertiesDialog();Blockbench.dispatchEvent("add_animation_controller",{animation_controller:i})}}),new Action("add_animation_controller_state",{icon:"add_box",category:"animation",condition:{modes:["animate"],features:["animation_controllers"],method:()=>xi.selected},click(){Undo.initEdit({animation_controllers:[xi.selected]});let i=new yr(xi.selected,{}).select().scrollTo().rename();Blockbench.dispatchEvent("select_animation_controller_state",{animation_controller:xi.selected,state:i}),Undo.finishEdit("Add animation controller state")}}),new BarSelect("animation_controller_preview_mode",{options:{paused:{name:!0,icon:"pause"},manual:{name:!0,icon:"back_hand"},play:{name:!0,icon:"play_arrow"}},icon_mode:!0,value:"manual",category:"animation",keybind:new Keybind({key:32}),condition:{modes:["animate"],selected:{animation_controller:!0}}}),new NumSlider("slider_animation_controller_speed",{category:"animation",condition:{modes:["animate"],selected:{animation_controller:!0}},settings:{default:100,min:0,max:1e4},get:function(){return xi.playback_speed},change:function(i){xi.playback_speed=limitNumber(i(xi.playback_speed),0,1e4),Panels.animation_controllers.inside_vue.playback_speed=xi.playback_speed},getInterval:i=>{var e=BarItems.slider_animation_controller_speed.get();return i.shiftKey?e<50?10:50:i.ctrlOrCmd?e<500?1:10:e<10?1:e<50?5:e<160?10:e<300?20:e<1e3?50:500}})});Object.assign(window,{AnimationController:xi,AnimationControllerState:yr});var gf=class gf{constructor(e,t){W(this,"id");W(this,"multiple_per_file");W(this,"reloadFile");W(this,"compileFile");W(this,"exportFile");W(this,"deleteAnimationFromFile");this.id=e,this.multiple_per_file=!0,Object.assign(this,t),gf.codecs[e]=this}static getCodec(e){if(e instanceof xi)return gf.codecs.bedrock_controller;if(Format.animation_codec)return Format.animation_codec;if(Format.animation_files)return gf.codecs.bedrock}};W(gf,"codecs",{});var vf=gf,Oae={AnimationCodec:vf};Object.assign(window,Oae);function Lae(i){Blockbench.setCursorTooltip(trimFloatNumber(i))}var za=[];new $r("animation",{priority:0,condition:()=>Modes.animate,use_condition:()=>Animation.selected&&Animation.selected.getBoneAnimator(),updateGizmo(){let i=Group.first_selected||Outliner.selected[0];i&&(Transformer.attach(i),i.getWorldCenter?Transformer.position.copy(i.getWorldCenter(!0)):i.scene_object.getWorldPosition(Transformer.position),Project.bedrock_animation_mode=="attachable_first"&&Math.epsilon(Preview.selected.camera.position.x,Preview.selected.controls.target.x,1e-9)&&Preview.selected.camera.position.z==0&&Transformer.position.set(0,20,24),Toolbox.selected.id==="rotate_tool"&&BarItems.rotation_space.value==="global"||Toolbox.selected.id==="move_tool"&&BarItems.transform_space.value==="global"?delete Transformer.rotation_ref:Toolbox.selected.id==="move_tool"&&BarItems.transform_space.value==="local"||Toolbox.selected.id=="resize_tool"||Toolbox.selected.id==="rotate_tool"&&BarItems.rotation_space.value!=="global"?Transformer.rotation_ref=i.mesh:Transformer.rotation_ref=i.mesh.parent)},calculateOffset(i){let{point:e,axis:t,angle:n}=i;Animation.selected||Blockbench.showQuickMessage("message.no_animation_selected");let a=0,o=Toolbox.selected.id;if(o==="rotate_tool"){a=Math.trimDeg(n);var r=getRotationInterval(event)}else{a=e[t],t=="e"&&(a=e.length()*Math.sign(e.y||e.x));var r=canvasGridSize(event.shiftKey||Pressing.overrides.shift,event.ctrlOrCmd||Pressing.overrides.ctrl);o==="resize_tool"&&(a*=i.direction*.1,r*=.1)}return a=Math.round(a/r)*r,a},onStart(i){Timeline.playing&&Timeline.pause(),za=[];var e=Animation.selected.getBoneAnimator();if(e){var{before:t,result:n,new_keyframe:a}=e.getOrMakeKeyframe(Toolbox.selected.animation_channel);Undo.initEdit({keyframes:t?[t]:[]}),n.select(),za.push(n),a&&za.push(a)}},onMove(i){let{point:e,axis:t,axis_number:n,value:a}=i,o=Toolbox.selected.id;var r=a-(this.previous_value||0);o==="rotate_tool"&&Math.abs(r)>120&&(r=0);let{mesh:s}=Group.first_selected||(Outliner.selected[0]&&Outliner.selected[0].constructor.animator?Outliner.selected[0]:void 0),l=()=>{let u=s.pre_rotation??s.fix_rotation,p=s.rotation;if(za[0].animator.quaternion_interpolation){let m=Reusable.quat1.setFromEuler(u);s.quaternion.premultiply(m.invert())}else p.x-=u.x,p.y-=u.y,p.z-=u.z;za[0].offset("x",Math.roundTo(Math.trimDeg(Math.radToDeg(p.x)-za[0].calc("x")),4)),za[0].offset("y",Math.roundTo(Math.trimDeg(Math.radToDeg(p.y)-za[0].calc("y")),4)),za[0].offset("z",Math.roundTo(Math.trimDeg(Math.radToDeg(p.z)-za[0].calc("z")),4))};if(o==="rotate_tool"&&(BarItems.rotation_space.value==="global"||Transformer.axis=="E"||Timeline.selected_animator?.rotation_global&&Kd()==2)){let u=Transformer.axis=="E"?i.rotate_normal:n==0?THREE.NormalX:n==1?THREE.NormalY:THREE.NormalZ,p=new THREE.Matrix4;if(p.makeRotationAxis(u,Math.degToRad(r)),p.multiply(s.matrixWorld),Timeline.selected_animator?.rotation_global!==!0){let m=new THREE.Matrix4().copy(s.parent.matrixWorld).invert();p.premultiply(m)}s.matrix.copy(p),s.setRotationFromMatrix(p),l()}else if(o==="rotate_tool"&&Kd()==2&&[0,1,2].find(u=>u!==n&&za[0].get(getAxisLetter(u)))!==void 0){let u=s.rotation.order;s.rotation.reorder(n==0?"ZYX":n==1?"ZXY":"XYZ");var c=Math.trimDeg(Math.radToDeg(s.rotation[t])+r);s.rotation[t]=Math.degToRad(c),s.rotation.reorder(u),l()}else if(o==="move_tool"&&BarItems.transform_space.value==="global"){let u=new THREE.Vector3;u[t]=r;var d=new THREE.Quaternion;s.parent.getWorldQuaternion(d),u.applyQuaternion(d.invert()),za[0].offset("x",u.x),za[0].offset("y",u.y),za[0].offset("z",u.z)}else if(o==="move_tool"&&BarItems.transform_space.value==="local"){let u=new THREE.Vector3;u[t]=r,u.applyQuaternion(s.quaternion),za[0].offset("x",u.x),za[0].offset("y",u.y),za[0].offset("z",u.z)}else o==="resize_tool"&&t=="e"?(za[0].offset("x",r),za[0].uniform||(za[0].offset("y",r),za[0].offset("z",r))):(o==="resize_tool"&&(za[0].uniform=!1),za[0].offset(t,r));Keyframe.selected[0]!=za[0]||Keyframe.selected.length>1?za[0].select():Animator.showMotionTrail(null,!0),Lae(i.value-this.initial_value),Animator.preview()},onEnd(i){za.length&&i.keep_changes&&Undo.finishEdit("Change keyframe",{keyframes:za})},onCancel(i){Undo.cancelEdit(!0)}});var uc={dialog:null,predicate_options:{custom_model_data:{type:"int"},damage:{type:"peronetage"},damaged:{type:"checkbox"},lefthanded:{type:"checkbox"},angle:{type:"peronetage",filter:"compass"},time:{type:"peronetage",filter:"clock"},blocking:{type:"checkbox",filter:"shield"},broken:{type:"checkbox",filter:"elytra"},cast:{type:"checkbox",filter:"fishing_rod"},cooldown:{type:"peronetage",filter:["ender_pearl","chorus_fruit"]},pull:{type:"peronetage",filter:["bow","crossbow"]},pulling:{type:"checkbox",filter:["bow","crossbow"]},charged:{type:"checkbox",filter:"crossbow"},firework:{type:"checkbox",filter:"crossbow"},throwing:{type:"checkbox",filter:"trident"},level:{type:"peronetage",filter:"light"},filled:{type:"peronetage",filter:"bundle"},tooting:{type:"checkbox",filter:"goat_horn"}},addPredicateOption(i,e){return Vue.set(uc.predicate_options,i,e),{delete(){Vue.delete(uc.predicate_options,i)}}},showDialog(){let i={custom_model_data:4,damage:{wooden_pickaxe:59,stone_pickaxe:131,iron_pickaxe:250,golden_pickaxe:32,diamond_pickaxe:1561,netherite_pickaxe:2031,wooden_axe:32,stone_axe:131,iron_axe:250,golden_axe:32,diamond_axe:1561,netherite_axe:2031,wooden_shovel:59,stone_shovel:131,iron_shovel:250,golden_shovel:32,diamond_shovel:1561,netherite_shovel:2031,wooden_hoe:59,stone_hoe:131,iron_hoe:250,golden_hoe:32,diamond_hoe:1561,netherite_hoe:2031,wooden_sword:59,stone_sword:131,iron_sword:250,golden_sword:32,diamond_sword:1561,netherite_sword:2031,leather_helmet:55,chainmail_helmet:165,iron_helmet:165,golden_helmet:77,diamond_helmet:363,netherite_helmet:407,turtle_helmet:275,leather_chestplate:80,chainmail_chestplate:240,iron_chestplate:240,golden_chestplate:112,diamond_chestplate:528,netherite_chestplate:592,leather_leggings:75,chainmail_leggings:225,iron_leggings:225,golden_leggings:105,diamond_leggings:495,netherite_leggings:555,leather_boots:65,chainmail_boots:195,iron_boots:195,golden_boots:91,diamond_boots:429,netherite_boots:481,trident:250,elytra:432,shield:336,bow:384,crossbow:465,fishing_rod:64,shears:238,flint_and_steel:64,default:100},angle:32,time:64,pull:3};uc.dialog=uc.dialog||new Dialog({id:"predicate_overrides",title:"action.predicate_overrides",width:750,component:{data(){return{overrides:[],name:"",search_term:"",model_options:[],max_height:window.innerHeight-350,predicate_options:uc.predicate_options,generator:{active:!1,type:"custom_model_data",variants:64,start_value:0,model:""}}},methods:{addOverride(){this.overrides.push({model:"",predicate:{custom_model_data:0},_uuid:guid()})},removeOverride(a){this.overrides.remove(a)},addPredicate(a){let r=Object.keys(this.available_predicate_options).find(s=>a.predicate[s]===void 0);r&&Vue.set(a.predicate,r,0)},changePredicateType(a,o,r,s){s!==o&&(Vue.set(a.predicate,o,r),Vue.delete(a.predicate,s))},changePredicateValue(a,o,r){let s=this.predicate_options[o];s.type=="checkbox"?a.predicate[o]=r.target.checked?1:0:s.type=="int"?a.predicate[o]=typeof r=="number"?Math.floor(r):parseInt(r.target.value):a.predicate[o]=typeof r=="number"?r:parseFloat(r.target.value)},removePredicate(a,o){Vue.delete(a.predicate,o)},hasMultiplePredicates(a){return Object.keys(a.predicate).length>1},deleteAll(){confirm(tl("dialog.predicate_overrides.confirm_delete"))&&(this.overrides.empty(),this.search_term="")},startGenerator(){this.generator.active=!0,this.generator.type="custom_model_data",this.generator.variants=16,this.generator.start_value=0,this.generator.model=""},runGenerator(){let a=["angle","time"].includes(this.generator.type);this.generator.type!=="custom_model_data"&&this.generator.variants++;for(let o=0;o<this.generator.variants;o++){let r=Math.clamp((a?o-.5:o)/this.generator.variants,0,1);this.generator.type=="custom_model_data"&&(r=this.generator.start_value+o);let s=this.generator.model.replace(/%+/,l=>o.toDigitString(l.length));this.overrides.push({model:s,predicate:{[this.generator.type]:r},_uuid:guid()})}this.generator.active=!1},updateGeneratorType(){let a=16;typeof i[this.generator.type]=="object"?a=i[this.generator.type][this.name]||64:typeof i[this.generator.type]=="number"&&(a=i[this.generator.type]),this.generator.variants=a},sort(a){if(this.search_term)return!1;var o=this.overrides.splice(a.oldIndex,1)[0];this.overrides.splice(a.newIndex,0,o)}},computed:{filtered_overrides(){if(this.search_term){let a=this.search_term.toLowerCase();return this.overrides.filter(o=>o.model.toLowerCase().includes(a)||Object.keys(o.predicate).find(r=>r.includes(a)))}else return this.overrides},available_predicate_options(){let a={};for(let o in this.predicate_options){let r=this.predicate_options[o];typeof r.filter=="string"&&r.filter!==this.name||r.filter instanceof Array&&!r.filter.includes(this.name)||(a[o]=tl(`dialog.predicate_overrides.predicate.${o}`))}return a}},template:`
<div style="margin-top: 10px;">
<div class="predicate_override_top_bar">
<span>${tl("action.predicate_overrides.desc")}</span>
<search-bar id="predicate_search_bar" v-model="search_term"></search-bar>
</div>
<div class="bar flex" style="height: 24px;">
<div>${tl("dialog.predicate_overrides.model")}</div>
<div>${tl("dialog.predicate_overrides.predicates")}</div>
</div>
<ul class="list" id="predicate_override_list" v-sortable="{onUpdate: sort, animation: 160, handle: '.predicate_drag_handle'}" :style="{maxHeight: max_height + 'px', minHeight: '16px'}">
<li v-for="override in filtered_overrides" :key="override._uuid">
<div class="predicate_drag_handle" v-show="!search_term"></div>
<div class="predicate_model">
<input type="text" v-model="override.model" class="dark_bordered" list="predicate_model_list" placeholder="item/custom_model">
</div>
<ul class="predicate_list">
<li v-for="(value, key) in override.predicate" :key="key">
<div class="tool" @click="removePredicate(override, key)" v-if="hasMultiplePredicates(override)" title="${tl("generic.remove")}">
<i class="material-icons">clear</i>
</div>
<div class="tool" @click="addPredicate(override)" v-else title="${tl("dialog.predicate_overrides.add_predicate")}">
<i class="material-icons">add</i>
</div>
<select-input :value="key" @input="changePredicateType(override, $event, value, key)" :options="available_predicate_options" />
<input type="checkbox" :checked="value > 0" @input="changePredicateValue(override, key, $event)" v-if="predicate_options[key] && predicate_options[key].type == 'checkbox'">
<numeric-input v-else
:min="0"
:max="predicate_options[key] && predicate_options[key].type == 'peronetage' ? 1 : undefined"
:step="predicate_options[key] && predicate_options[key].type == 'int' ? 1 : undefined"
:value="value" @input="changePredicateValue(override, key, $event)"
/>
</li>
<div class="tool" @click="addPredicate(override)" v-if="hasMultiplePredicates(override)">
<i class="material-icons">add</i>
</div>
</ul>
<div class="tool" @click="removeOverride(override)" title="${tl("generic.delete")}">
<i class="material-icons">delete</i>
</div>
</li>
</ul>
<div id="predicate_override_add" class="flex" style="width: 100%;" v-if="!generator.active">
<button @click="addOverride()" >
<i class="material-icons">add</i>
${tl("dialog.predicate_overrides.add_override")}
</button>
<button @click="startGenerator()">
<i class="material-icons">playlist_add</i>
${tl("dialog.predicate_overrides.generate_overrides")}
</button>
<button @click="deleteAll()">
<i class="material-icons">delete</i>
${tl("generic.delete_all")}
</button>
</div>
<div v-if="generator.active" class="bar" id="predicate_override_generator">
<div class="tool" @click="generator.active = false" title="${tl("generic.remove")}">
<i class="material-icons">clear</i>
</div>
<select-input v-model="generator.type" :options="available_predicate_options" @input="updateGeneratorType()" />
<label>${tl("dialog.predicate_overrides.variants")}</label>
<numeric-input v-model.number="generator.variants" :min="1" :step="1" style="width: 70px;" />
<template v-if="generator.type == 'custom_model_data'">
<label>${tl("dialog.predicate_overrides.start_value")}</label>
<numeric-input v-model.number="generator.start_value" :min="0" :step="1" style="width: 45px;" />
</template>
<label>${tl("dialog.predicate_overrides.model")}</label>
<input type="text" v-model="generator.model" class="dark_bordered" list="predicate_model_list" placeholder="item/custom_%%">
<div class="tool" @click="runGenerator()" title="${tl("dialog.predicate_overrides.generate_overrides")}">
<i class="material-icons">send</i>
</div>
</div>
</div>
`},cancel_on_click_outside:!1,onConfirm(){Project.saved=!1,Project.overrides instanceof Array||(Project.overrides=[]),n.content_vue.overrides.forEach(a=>delete a._uuid),Project.overrides.replace(n.content_vue.overrides)},onCancel(){uc.previous_overrides?(Project.overrides instanceof Array||(Project.overrides=[]),Project.overrides.replace(JSON.parse(uc.previous_overrides))):Project.overrides=[]},onClose(){e.remove()}});let e=Interface.createElement("datalist",{id:"predicate_model_list"}),t=[],{dialog:n}=uc;n.show(),Project.overrides instanceof Array&&(uc.previous_overrides=JSON.stringify(Project.overrides),Project.overrides.forEachReverse((a,o)=>{if(typeof a!="object"||a instanceof Array){Project.overrides.splice(o,1);return}a.model||(a.model=""),a.predicate||(a.predicate={}),a._uuid=guid()})),n.content_vue.name=Project.name,n.content_vue.overrides.replace(Project.overrides||[]),t.forEach(a=>{let o=Interface.createElement("option",{value:a});e.append(o)}),document.body.append(e)}};BARS.defineActions(function(){new Action("predicate_overrides",{icon:"format_list_bulleted",category:"tools",condition:{formats:["java_block"]},click(i){uc.showDialog()}})});Object.assign(window,{PredicateOverrideEditor:uc});var _p={},B1=class extends EventSystem{constructor(e,t){super(),t||(t=0),this.id=e,_p[e]=this,this.name=t.name||"Unknown Format",this.events={},this.export_options=t.export_options||{},Merge.function(this,t,"load"),Merge.function(this,t,"compile"),Merge.function(this,t,"parse"),Merge.function(this,t,"merge"),Merge.function(this,t,"write"),Merge.function(this,t,"overwrite"),Merge.function(this,t,"export"),Merge.function(this,t,"exportCollection"),Merge.function(this,t,"writeCollection"),Merge.function(this,t,"fileName"),Merge.function(this,t,"afterSave"),Merge.function(this,t,"afterDownload"),Merge.string(this,t,"extension"),Merge.boolean(this,t,"remember"),Merge.boolean(this,t,"multiple_per_file"),Merge.boolean(this,t,"support_partial_export"),Merge.boolean(this,t,"support_offset"),this.format=t.format,this.load_filter=t.load_filter,this.export_action=t.export_action,this.plugin=t.plugin||(typeof Plugins<"u"?Plugins.currently_loading:""),this.context=null}getExportOptions(){let e={};for(let n in this.export_options)e[n]=this.export_options[n].value;let t=Project.export_options[this.id];return t&&Object.assign(e,t),e}load(e,t,n={}){if(!this.parse)return!1;if(n.import_to_current_project||setupProject(this.format),t.path&&!1)var a;this.parse(e,t.path,n),t.path,Settings.updateSettingsInProfiles()}compile(e=this.getExportOptions()){return this.dispatchEvent("compile",{content:""}),""}async promptExportOptions(){let e=this;return await new Promise((t,n)=>{let a={},o=Project.export_options[e.id];for(let r in this.export_options){a[r]={};for(let s in this.export_options[r])a[r][s]=this.export_options[r][s];o&&o[r]!=null&&(a[r].value=o[r])}new Dialog("export_options",{title:"dialog.export_options.title",width:480,form:a,onConfirm(r){Project.export_options[e.id]||(Project.export_options[e.id]={});for(let s in r){let l=r[s];Project.export_options[e.id][s]=l}t(r)},onCancel(){t(null)}}).show()})}async export(e){if(Object.keys(this.export_options).length){let t=await this.promptExportOptions();if(e===null)return;t&&(e=Object.assign({...e},t))}Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile(e),custom_writer:null},t=>this.afterDownload(t))}async patchCollectionExport(e,t){this.context=e;let n=this.name;this.name=e.name;let a={},o=Outliner.elements.concat(Group.all);for(let r of o)typeof r.export=="boolean"&&(a[r.uuid]=r.export,r.export=!1);for(let r of e.getAllChildren())r.export==!1&&(r.export=!0);try{await t()}catch(r){throw r}finally{this.context=null,this.name=n;for(let r of o)a[r.uuid]!==void 0&&(r.export=a[r.uuid])}}async exportCollection(e){this.patchCollectionExport(e,async()=>{await this.export()})}async writeCollection(e){this.patchCollectionExport(e,async()=>{this.write(this.compile(),e.export_path),e.saved=!0})}fileName(){return this.context instanceof Collection?this.context.name:Project.name||"model"}startPath(){return this.context instanceof Collection?this.context.export_path:Project.export_path}write(e,t){null.existsSync(t)&&this.overwrite?this.overwrite(e,t,n=>this.afterSave(n)):Blockbench.writeFile(t,{content:e},n=>this.afterSave(n))}afterDownload(e){this.remember&&(Project.saved=!0),Blockbench.showQuickMessage(tl("message.save_file",[e?pathToName(e,!0):this.fileName()]))}afterSave(e){var t=pathToName(e,!0);this.context instanceof Collection?(this.context.export_path=e,this.context.export_codec=this.id):(Format.codec==this||this.id=="project")&&(this.id=="project"?Project.save_path=e:(Project.export_path=e,Project.export_codec=this.id),Project.name=pathToName(e,!1),Project.saved=!0),Settings.updateSettingsInProfiles(),this.remember&&(addRecentProject({name:t,path:e,icon:this.id=="project"?"icon-blockbench_file":Format.icon}),updateRecentProjectThumbnail()),Blockbench.showQuickMessage(tl("message.save_file",[t]))}delete(){delete _p[this.id],this.format&&this.format.codec==this&&delete this.format.codec}};B1.getAllExtensions=function(){let i=[];for(let e in _p){let t=_p[e];if(t.load_filter&&t.load_filter.extensions){let n=typeof t.load_filter.extensions=="function"?t.load_filter.extensions():t.load_filter.extensions??[];i.safePush(...n)}}return i};Object.assign(window,{Codec:B1,Codecs:_p});var LC={};Object.defineProperty(window,"Format",{get(){return he.Format}});var i_=class i_{constructor(e,t){W(this,"id");W(this,"icon");W(this,"name");W(this,"description");W(this,"category");W(this,"target");W(this,"confidential");W(this,"condition");W(this,"show_on_start_screen");W(this,"show_in_new_list");W(this,"can_convert_to");W(this,"plugin");W(this,"format_page");W(this,"cube_size_limiter");W(this,"codec");W(this,"animation_codec");W(this,"type","format");typeof e=="object"&&(t=e,e=t.id),LC[e]=this,this.id=e,this.name=t.name||tl("format."+this.id),this.description=t.description||tl("format."+this.id+".desc"),this.description=="format."+this.id+".desc"&&(this.description=""),this.category=t.category||"other",this.target=t.target,this.show_on_start_screen=!0,this.confidential=!1,this.can_convert_to=!0;for(let n in i_.properties)i_.properties[n].reset(this);this.render_sides=t.render_sides,this.cube_size_limiter=t.cube_size_limiter,this.codec=t.codec,this.animation_codec=t.animation_codec,this.onSetup=t.onSetup,this.onFormatPage=t.onFormatPage,this.onActivation=t.onActivation,this.onDeactivation=t.onDeactivation,this.format_page=t.format_page,Merge.string(this,t,"icon"),Merge.boolean(this,t,"show_on_start_screen"),Merge.boolean(this,t,"show_in_new_list"),Merge.boolean(this,t,"can_convert_to"),Merge.boolean(this,t,"confidential"),t.new&&(this.new=t.new),t.rotation_limit&&t.rotation_snap===void 0&&(t.rotation_snap=!0);for(let n in i_.properties)i_.properties[n].merge(this,t);!t.animation_files&&!t.animation_grouping&&(this.animation_grouping="custom"),this.format_page&&this.format_page.component&&Mn.default.component(`format_page_${this.id}`,this.format_page.component),he.dispatchEvent("construct_format",{format:this})}select(){Format&&typeof Format.onDeactivation=="function"&&Format.onDeactivation(),he.Format=he.Project.format=this,ct.buildGrid(),Format.centered_grid?(scene.position.set(0,0,0),ct.ground_plane.position.x=ct.ground_plane.position.z=Format.block_size/2):(scene.position.set(-Format.block_size/2,0,-Format.block_size/2),ct.ground_plane.position.x=ct.ground_plane.position.z=0);let e=Format.block_size/16;return ct.ground_plane.scale.set(e,e,e),PreviewModel.getActiveModels().forEach(t=>{t.update()}),wi.updateSettingsInProfiles(),Preview.all.forEach(t=>{t.isOrtho&&typeof t.angle=="number"&&t.loadAnglePreset(Xa[t.angle+1])}),Ts.selected&&!Condition(Ts.selected.condition)&&(this.pose_mode?bo.options.paint:bo.options.edit).select(),Interface.Panels.animations.inside_vue.$data.animation_files=this.animation_files,Interface.Panels.animations.inside_vue.$data.group_animations_by_file=this.animation_grouping=="by_file",Interface.status_bar.vue.Format=this,UVEditor.vue.cube_uv_rotation=this.uv_rotation,typeof this.onActivation=="function"&&Format.onActivation(),bo.vue&&bo.vue.$forceUpdate(),ds.interface=!0,ct.updateShading(),ct.updateRenderSides(),he.dispatchEvent("select_format",{format:this,project:Project}),this}new(){return newProject(this)?(BarItems.project_window.click(),!0):!1}convertTo(){Undo.history.empty(),Undo.index=0,Project.export_path="",Project.export_codec="",Project.unhandled_root_fields={};var e=he.Format;if(this.select(),bo.options.edit.select(),this.optional_box_uv||(Project.box_uv=this.box_uv,Cube.all.forEach(a=>{a.setUVMode(this.box_uv)})),!this.per_texture_uv_size&&e.per_texture_uv_size){let a=Texture.getDefault();a&&(Project.texture_width=a.uv_width,Project.texture_height=a.uv_height)}if(this.per_texture_uv_size&&!e.per_texture_uv_size&&Texture.all.forEach(a=>{a.uv_width=Project.texture_width,a.uv_height=Project.texture_height}),!this.bone_rig&&e.bone_rig&&di.all.forEach(a=>{a.rotation.V3_set(0,0,0)}),this.bone_rig&&!e.bone_rig){var t=[];if(Outliner.root.forEach(a=>{a instanceof di||t.push(a)}),t.length){var n=new di().init().addTo();t.forEach(a=>{a.addTo(n)})}!Project.geometry_name&&Project.name&&(Project.geometry_name=Project.name)}if(this.bone_rig&&di.all.forEach(a=>{a.createUniqueName()}),this.centered_grid!=e.centered_grid){let a=this.centered_grid?-8:8;Cube.all.forEach(o=>{for(let r of[0,2])o.from[r]+=a,o.to[r]+=a,o.origin[r]+=a}),di.all.forEach(o=>{o.origin[0]+=a,o.origin[2]+=a})}if(!this.single_texture&&e.single_texture&&Texture.all.length){let a=Texture.getDefault();Outliner.elements.filter(o=>"applyTexture"in o).forEach(o=>{o.applyTexture(a,!0)})}di.all.forEach(a=>a.sanitizeName()),Outliner.elements.forEach(a=>a.sanitizeName()),!this.rotate_cubes&&e.rotate_cubes&&Cube.all.forEach(a=>{a.rotation.V3_set(0,0,0)}),!this.meshes&&e.meshes&&Mesh.all.slice().forEach(a=>{a.remove()}),!this.splines&&e.splines&&Qi.all.slice().forEach(a=>{a.remove()}),!this.locators&&e.locators&&Locator.all.slice().forEach(a=>{a.remove()}),!this.texture_meshes&&e.texture_meshes&&TextureMesh.all.slice().forEach(a=>{a.remove()}),!this.billboards&&e.billboards&&Billboard.all.slice().forEach(a=>{a.remove()}),!this.bounding_boxes&&e.bounding_boxes&&BoundingBox.all.slice().forEach(a=>{a.remove()}),this.cube_size_limiter&&!e.cube_size_limiter&&!Zi.deactivate_size_limit.value&&(Cube.all.forEach(a=>{this.cube_size_limiter.move(a)}),Cube.all.forEach(a=>{this.cube_size_limiter.clamp(a)})),this.rotation_limit&&!e.rotation_limit&&this.rotate_cubes&&Cube.all.forEach(a=>{if(!a.rotation.allEqual(0)){var o=getAxisNumber(a.rotationAxis())||0,r=this.rotation_snap?Math.round(a.rotation[o]/22.5)*22.5:a.rotation[o],s=limitNumber(r,-45,45);a.rotation.V3_set(0,0,0),a.rotation[o]=s}}),Format.per_texture_wrap_mode==!1&&Texture.all.forEach(a=>{a.wrap_mode=Texture.properties.wrap_mode.getDefault()}),!this.animation_mode&&e.animation_mode&&(Animator.animations.length=0),Project.saved=!1,rc(),he.dispatchEvent("convert_format",{format:this,old_format:e}),typeof this.onSetup=="function"&&this.onSetup(Project),ct.updateAllPositions(),ct.updateAllBones(),ct.updateAllFaces(),updateSelection()}delete(){delete LC[this.id],this.codec&&this.codec.format==this&&delete this.codec.format,he.dispatchEvent("delete_format",{format:this})}};W(i_,"properties");var Bi=i_;new vt(Bi,"string","node_name_regex");new vt(Bi,"boolean","box_uv");new vt(Bi,"boolean","optional_box_uv");new vt(Bi,"boolean","box_uv_float_size");new vt(Bi,"boolean","single_texture");new vt(Bi,"boolean","single_texture_default");new vt(Bi,"boolean","per_group_texture");new vt(Bi,"boolean","per_texture_uv_size");new vt(Bi,"enum","texture_wrap_default",{default:"limited",values:["limited","repeat","clamp"]});new vt(Bi,"boolean","per_texture_wrap_mode");new vt(Bi,"boolean","model_identifier",{default:!0});new vt(Bi,"boolean","legacy_editable_file_name");new vt(Bi,"boolean","parent_model_id");new vt(Bi,"boolean","vertex_color_ambient_occlusion");new vt(Bi,"boolean","animated_textures");new vt(Bi,"boolean","bone_rig");new vt(Bi,"boolean","armature_rig");new vt(Bi,"boolean","centered_grid");new vt(Bi,"number","block_size",{default:16});new vt(Bi,"enum","forward_direction",{default:"-z",values:["-z","+z","-x","+x"]});new vt(Bi,"boolean","rotate_cubes");new vt(Bi,"boolean","stretch_cubes");new vt(Bi,"boolean","integer_size");new vt(Bi,"boolean","meshes");new vt(Bi,"boolean","splines");new vt(Bi,"boolean","texture_meshes");new vt(Bi,"boolean","billboards");new vt(Bi,"boolean","bounding_boxes");new vt(Bi,"boolean","locators");new vt(Bi,"boolean","rotation_limit");new vt(Bi,"boolean","rotation_snap");new vt(Bi,"boolean","uv_rotation");new vt(Bi,"boolean","java_cube_shading_properties");new vt(Bi,"boolean","java_face_properties");new vt(Bi,"boolean","cullfaces");new vt(Bi,"boolean","select_texture_for_particles");new vt(Bi,"boolean","texture_mcmeta");new vt(Bi,"boolean","bone_binding_expression");new vt(Bi,"boolean","animation_files");new vt(Bi,"enum","animation_grouping",{default:"by_file",values:["by_file","custom","disabled"]});new vt(Bi,"boolean","animation_controllers");new vt(Bi,"boolean","animation_loop_wrapping");new vt(Bi,"boolean","quaternion_interpolation");new vt(Bi,"boolean","per_animator_rotation_interpolation");new vt(Bi,"boolean","image_editor");new vt(Bi,"boolean","edit_mode",{default:!0});new vt(Bi,"boolean","paint_mode",{default:!0});new vt(Bi,"boolean","pose_mode");new vt(Bi,"boolean","display_mode");new vt(Bi,"boolean","animation_mode");new vt(Bi,"boolean","texture_folder");new vt(Bi,"boolean","pbr");new vt(Bi,"enum","euler_order",{default:"ZYX"});var Nae={ModelFormat:Bi,Formats:LC};Object.assign(window,Nae);var _s=class _s{constructor(e={},t){W(this,"uuid");W(this,"selected");W(this,"box_uv");W(this,"model_identifier");W(this,"parent");W(this,"locked");W(this,"thumbnail");W(this,"save_path");W(this,"export_path");W(this,"added_models");W(this,"BedrockEntityManager");W(this,"format");W(this,"mode");W(this,"view_mode");W(this,"multi_file_ruleset");W(this,"previews");W(this,"EditSession");W(this,"elements");W(this,"groups");W(this,"selected_elements");W(this,"selected_group");W(this,"mesh_selection");W(this,"selected_faces");W(this,"textures");W(this,"selected_texture");W(this,"outliner");W(this,"animations");W(this,"timeline_animators");W(this,"display_settings");W(this,"overrides");W(this,"exploded_view");W(this,"tool");W(this,"uv_viewport");W(this,"backgrounds");W(this,"unhandled_root_fields");W(this,"ambientocclusion");W(this,"front_gui_light");W(this,"_static");W(this,"_texture_width");W(this,"_texture_height");W(this,"_name");W(this,"_saved");W(this,"export_options");W(this,"mirror_modeling_enabled");W(this,"mirror_animating_enabled");W(this,"reference_images");W(this,"selected_groups");W(this,"spline_selection");W(this,"texture_groups");W(this,"collections");W(this,"animation_controllers");for(var n in _s.properties)_s.properties[n].reset(this,!0);this.uuid=t||guid(),this.selected=!1,this.locked=!1,this.thumbnail="",this._static=Object.freeze({properties:{undo:new UndoSystem}}),this.box_uv=e.format?e.format.box_uv:!1,this._texture_width=e.format?.block_size||16,this._texture_height=e.format?.block_size||16,this._name="",this._saved=!0,this.save_path="",this.export_path="",this.export_codec="",this.export_options={},this.added_models=0,this.format=e.format instanceof Bi?e.format:Formats.free,this.mode="edit",this.tool="",this.view_mode="textured",this.multi_file_ruleset="",this.exploded_view=!1,this.mirror_modeling_enabled=!1,this.mirror_animating_enabled=!1,this.previews={},this.uv_viewport={zoom:1,offset:[0,0]},this.EditSession=null,this.reference_images=[],this.elements=[],this.groups=[],this.selected_elements=[],this.selected_groups=[],this.mesh_selection={},this.spline_selection={},this.textures=[],this.selected_texture=null,this.texture_groups=[],this.outliner=[],this.collections=[],this.animations=[],this.animation_controllers=[],this.timeline_animators=[],this.display_settings={},_s.all.push(this),n_[this.uuid]={model_3d:new THREE.Object3D,nodes_3d:{}}}extend(e){for(var t in _s.properties)_s.properties[t].merge(this,e)}get texture_width(){return this._texture_width}get texture_height(){return this._texture_height}set texture_width(e){e=e||16,this.selected&&e!=this._texture_width&&Mn.default.nextTick(R1),this._texture_width=e}set texture_height(e){e=e||16,this.selected&&e!=this._texture_height&&Mn.default.nextTick(R1),this._texture_height=e}get optional_box_uv(){return Format.optional_box_uv}get name(){return this._name}set name(e){this._name=e,Project==this&&rc(e)}get undo(){return this._static.properties.undo}get saved(){return this._saved}set saved(e){this._saved=e,Blockbench.dispatchEvent("saved_state_changed",{project:this,saved:e}),Project==this&&rc(this.name)}get geometry_name(){return this.model_identifier}set geometry_name(e){this.model_identifier=e}get model_3d(){return n_[this.uuid].model_3d}get nodes_3d(){return n_[this.uuid].nodes_3d}getDisplayName(e=!1){let t=this.name||this.model_identifier||this.format.name;return e&&(t=t+"."+this.getFileExtension()),t}getFileExtension(){let e=this.save_path||this.export_path;return pathToExtension(e)}getProjectMemory(){}getMultiFileRuleset(){return Vm.rulesets[this.multi_file_ruleset]}getUVWidth(e){return e&&Format.per_texture_uv_size?e.uv_width:this.texture_width}getUVHeight(e){return e&&Format.per_texture_uv_size?e.uv_height:this.texture_height}openSettings(){this.selected&&BarItems.project_window.click()}whenNextOpen(e){Project==this?e():(this.on_next_upen||(this.on_next_upen=[]),this.on_next_upen.push(e))}saveEditorState(){return UVEditor.saveViewportOffset(),Preview.all.forEach(e=>{this.previews[e.id]={position:e.camera.position.toArray(),target:e.controls.target.toArray(),orthographic:e.isOrtho,zoom:e.camOrtho.zoom,angle:e.angle}}),Blockbench.dispatchEvent("save_editor_state",{project:this}),this}loadEditorState(){Blockbench.Project=this,this.selected=!0,this.format.select(),BarItems.view_mode.set(this.view_mode),OutlinerNode.uuids={},this.elements.forEach(n=>{OutlinerNode.uuids[n.uuid]=n}),this.groups.forEach(n=>{OutlinerNode.uuids[n.uuid]=n}),Outliner.root=this.outliner,Panels.outliner.inside_vue.root=this.outliner,Panels.collections.inside_vue.collections=Collection.all,UVEditor.vue.elements=this.selected_elements,UVEditor.vue.all_elements=this.elements,UVEditor.vue.box_uv=this.box_uv,Panels.textures.inside_vue.textures=Texture.all,Panels.textures.inside_vue.texture_groups=TextureGroup.all,Panels.layers.inside_vue.layers=Texture.selected?Texture.selected.layers:[],Canvas.scene.add(this.model_3d),Panels.animations.inside_vue.animations=this.animations,Panels.animations.inside_vue.animation_controllers=this.animation_controllers,Timeline.animators=Timeline.vue.animators=[],Animation.selected=null,AnimationController.selected=null;let e=this.animations.find(n=>n.selected);e&&e.select(),Timeline.animators=Timeline.vue.animators=this.timeline_animators,Panels.variable_placeholders.inside_vue.text=this.variable_placeholders.toString(),Panels.variable_placeholders.inside_vue.buttons.replace(this.variable_placeholder_buttons),Panels.skin_pose.inside_vue.pose=this.skin_pose,UVEditor.loadViewportOffset(),settings.save_view_per_tab.value&&Preview.all.forEach(n=>{let a=this.previews[n.id];a?(n.camera.position.fromArray(a.position),n.controls.target.fromArray(a.target),n.setProjectionMode(a.orthographic),a.zoom&&(n.camOrtho.zoom=a.zoom),a.angle&&n.setLockedAngle(a.angle)):n.default_angle!==void 0&&n.loadAnglePreset(n.default_angle)}),Modes.options[this.mode].select();let t=BarItems[this.tool];return t instanceof Tool&&Condition(t.condition)&&t.select(),BarItems.lock_motion_trail.set(!!Project.motion_trail_lock),BarItems.mirror_modeling.set(!!Project.mirror_modeling_enabled),BarItems.mirror_animating.set(!!Project.mirror_animating_enabled),Blockbench.dispatchEvent("load_editor_state",{project:this}),this}select(){return this===Project?!0:this.locked||Project.locked||!_s.all.includes(this)?!1:(Project?(Project.unselect(),Blockbench.addFlag("switching_project")):Interface.tab_bar.$data.new_tab.visible=!1,this.loadEditorState(),this.EditSession&&(Interface.Panels.chat.inside_vue.chat_history=this.EditSession.chat_history,this.EditSession.catchUp()),Blockbench.dispatchEvent("select_project",{project:this}),Preview.selected&&Preview.selected.occupyTransformer(),rc(this.name),qC(!Project),updateInterface(),Pi.updateAll(),R1(),Validator.validate(),Mn.default.nextTick(()=>{this.on_next_upen instanceof Array&&(this.on_next_upen.forEach(e=>e()),delete this.on_next_upen)}),Blockbench.removeFlag("switching_project"),!0)}showContextMenu(e){return this.selected||this.select(),this.menu.open(e,this),this}updateThumbnail(){Format.image_editor?Texture.all.length&&(this.thumbnail=Texture.getDefault()?.source):this.thumbnail=Preview.selected.canvas.toDataURL()}unselect(e=!1){e||(this.updateThumbnail(),this.saveEditorState()),Interface.tab_bar.$data.last_opened_project=this.uuid,Format&&typeof Format.onDeactivation=="function"&&Format.onDeactivation(),this.undo.closeAmendEditMenu(),this.reference_images.forEach(t=>t.detach()),lo.active&&lo.deactivate(),TextureAnimator.isPlaying&&TextureAnimator.stop(),this.selected=!1,Painter.current={},Animator.MolangParser.context={},scene.remove(this.model_3d),OutlinerNode.uuids={},MirrorModeling.cached_elements={},Blockbench.Format=0,Blockbench.Project=0,Modes.selected instanceof Mode&&Modes.selected.unselect(),Settings.updateSettingsInProfiles(),SplineGizmos.clear(),OutlinerNode.uuids={},Outliner.root=[],e&&updateInterface(),Blockbench.dispatchEvent("unselect_project",{project:this})}closeOnQuit(){try{Blockbench.dispatchEvent("close_project",{on_quit:!0})}catch(e){console.error(e)}this.EditSession&&this.EditSession.quit()}async close(e){if(this.locked)return!1;let t=Project;try{if(this.select()===!1)return!1}catch(a){console.error(a)}async function n(){return await new Promise(a=>{Blockbench.showMessageBox({title:Project.getDisplayName(),message:tl("message.close_warning.message"),buttons:[tl("dialog.save"),tl("dialog.discard"),tl("dialog.cancel")],cancel_on_click_outside:!1,width:472},async o=>{o===0?(Project.save_path||Project.export_path?BarItems.save_project.trigger():await BarItems.export_over.click(),await new Promise(r=>setTimeout(r,4)),a(Project.saved)):o==1?a(!0):o==2&&a(!1)})})}if(e||Project.saved||await n()){try{Blockbench.dispatchEvent("close_project",{project:this})}catch(o){console.error(o)}this.EditSession&&this.EditSession.quit(),this.unselect(!0),Texture.all.forEach(o=>o.stopWatcher());for(let o in n_[this.uuid].nodes_3d){let r=n_[this.uuid].nodes_3d[o];r.parent&&r.parent.remove(r),r.geometry&&r.geometry.dispose(),r.outline&&r.outline.geometry&&r.outline.geometry.dispose()}let a=_s.all.indexOf(this);return _s.all.remove(this),delete n_[this.uuid],Blockbench.Project=0,await yo.removeBackup(this.uuid),t&&t!==this?t.select():t?_s.all.length?_s.all[Math.clamp(a,0,_s.all.length-1)].select():(Interface.tab_bar.$data.new_tab.visible=!0,Interface.tab_bar.$data.new_tab.select(),GC()):Interface.tab_bar.openNewTab(),!0}else return!1}};W(_s,"properties"),W(_s,"all",[]);var Gi=_s;new vt(Gi,"string","name",{label:"dialog.project.name"});new vt(Gi,"string","parent",{label:"dialog.project.parent",condition:{features:["parent_model_id"]}});new vt(Gi,"string","model_identifier",{label:"dialog.project.geoname",condition:()=>Format.model_identifier});new vt(Gi,"string","modded_entity_entity_class",{label:"dialog.project.modded_entity_entity_class",placeholder:"Entity",condition:{formats:["modded_entity"]}});new vt(Gi,"string","modded_entity_version",{label:"dialog.project.modded_entity_version",default:"1.17",condition:{formats:["modded_entity"]},options(){let i={};for(var e in Codecs.modded_entity.templates)Codecs.modded_entity.templates[e]instanceof Function||(i[e]=Codecs.modded_entity.templates[e].name);return i}});new vt(Gi,"string","java_block_version",{label:"dialog.project.java_block_version",default:()=>settings.default_java_block_version.value=="latest"?"1.21.11":settings.default_java_block_version.value,condition:{formats:["java_block"]},options:{"1.9.0":"1.9 - 1.21.5","1.21.6":"1.21.6 - 1.21.10","1.21.11":"1.21.11+"}});new vt(Gi,"string","credit",{label:"dialog.project.credit",condition:()=>Project.credit&&Project.credit!==settings.credit.value});new vt(Gi,"boolean","modded_entity_flip_y",{label:"dialog.project.modded_entity_flip_y",default:!0,condition:{formats:["modded_entity"]}});new vt(Gi,"boolean","ambientocclusion",{label:"dialog.project.ao",default:!0,condition:{features:["vertex_color_ambient_occlusion"]}});new vt(Gi,"boolean","front_gui_light",{exposed:!1,condition:()=>Format.display_mode});new vt(Gi,"vector","visible_box",{exposed:!1,default:[1,1,0]});new vt(Gi,"string","variable_placeholders",{exposed:!1});new vt(Gi,"string","multi_file_ruleset",{exposed:!1});new vt(Gi,"array","variable_placeholder_buttons",{exposed:!1});new vt(Gi,"number","shadow_size",{label:"dialog.project.shadow_size",condition:{formats:["optifine_entity"]},default:1});new vt(Gi,"string","skin_model",{exposed:!1,condition:{formats:["skin"]},default:"steve"});new vt(Gi,"string","skin_pose",{exposed:!1,condition:{formats:["skin"]},default:"none"});new vt(Gi,"enum","bedrock_animation_mode",{exposed:!1,values:["entity","attachable_first"],condition:{formats:["bedrock"]},default:"entity"});new vt(Gi,"array","timeline_setups",{exposed:!1,condition:()=>Format.animation_mode});new vt(Gi,"object","unhandled_root_fields",{exposed:!1});Gi.all=[];Object.defineProperty(window,"Project",{get(){return Blockbench.Project}});var n_={};Gi.prototype.menu=new Menu([new MenuSeparator("settings"),"project_window",new MenuSeparator("manage"),"open_model_folder","duplicate_project","convert_project","close_project",new MenuSeparator("save"),"save_project","save_project_as","save_project_incremental","export_over","share_model",new MenuSeparator("overview"),"tab_overview"]);function NC(i,e){typeof i=="string"&&Formats[i]&&(i=Formats[i]),e&&Gi.all.find(n=>n.uuid==e)&&(e=null),typeof i=="string"&&(i=Formats.free);let t=new Gi({format:i},e);return t.select(),Preview.selected.loadAnglePreset(DefaultCameraPresets[0]),i.edit_mode?Mode.selected!=Modes.options.edit&&Modes.options.edit.select():i.paint_mode?Mode.selected!=Modes.options.paint&&Modes.options.paint.select():i.animation_mode&&Mode.selected!=Modes.options.animate&&Modes.options.animate.select(),typeof Format.onSetup=="function"&&Format.onSetup(Project,!1),Blockbench.dispatchEvent("setup_project",{project:t}),!0}function Hae(i){typeof i=="string"&&(i=Formats[i]??Formats.free);let e=new Gi({format:i});return e.select(),Preview.selected.loadAnglePreset(DefaultCameraPresets[0]),i.edit_mode?Mode.selected!=Modes.options.edit&&Modes.options.edit.select():i.paint_mode&&Mode.selected!=Modes.options.paint&&Modes.options.paint.select(),typeof Format.onSetup=="function"&&Format.onSetup(Project,!0),Blockbench.dispatchEvent("new_project",{project:e}),!0}function GC(){qC(!0),Blockbench.Project=0,OutlinerNode.uuids={},Outliner.root=[],Panels.outliner.inside_vue.root=[],Panels.collections.inside_vue.collections=[],UVEditor.vue.elements=[],UVEditor.vue.all_elements=[],Panels.textures.inside_vue.textures=[],Panels.textures.inside_vue.texture_groups=[],Panels.animations.inside_vue.animations=[],Panels.animations.inside_vue.animation_controllers=[],Timeline.animators=Timeline.vue.animators=[],Animation.selected=null,AnimationController.selected=null,Timeline.animators=Timeline.vue.animators=[],Panels.variable_placeholders.inside_vue.text="",Panels.variable_placeholders.inside_vue.buttons.empty(),Panels.skin_pose.inside_vue.pose="",Blockbench.dispatchEvent("select_no_project",{})}function HC(){if(!("tabs"in Interface.tab_bar))return;let i=Settings.get("hide_tab_bar")&&Interface.tab_bar.tabs.length<2;document.getElementById("tab_bar").style.display=i?"none":"flex",document.getElementById("title_bar_home_button").style.display=i?"block":"none"}function R1(){Format.per_texture_uv_size||(Interface.Panels.uv&&(UVEditor.vue.uv_resolution.replace([Project.texture_width,Project.texture_height]),UVEditor.vue.updateSize()),Texture.selected&&(Texture.selected.height++,Texture.selected.height--)),Canvas.uvHelperMaterial.uniforms.DENSITY.value=Project.texture_width/32,Blockbench.dispatchEvent("update_project_resolution",{project:Project})}function qC(i){document.getElementById("start_screen").style.display=i?"block":"none",Interface.work_screen.style.display=i?"none":"grid"}onVueSetup(()=>{let i={name:tl("projects.new_tab"),saved:!0,selected:!0,uuid:guid(),visible:!0,is_new_tab:!0,getDisplayName(){return this.name},close:()=>{if(Gi.all.length){Interface.tab_bar.$data.new_tab.visible=!1;let e=Gi.all.find(t=>t.uuid==Interface.tab_bar.$data.last_opened_project)||Gi.all.last();e&&e.select()}else window.close()},select(){Project&&Project.unselect(),Blockbench.Project=0,Interface.tab_bar.$data.new_tab.selected=!0,rc(Gi.all.length?tl("projects.new_tab"):null),updateInterface()},openSettings(){}};Interface.tab_bar=new Mn.default({el:"#tab_bar",data:{projects:Gi.all,drag_target_index:null,drag_position_index:null,close_tab_label:tl("projects.close_tab"),search_tabs_label:tl("action.tab_overview"),last_opened_project:"",new_tab:i},computed:{tabs(){let e=this.projects.slice();return this.new_tab.visible&&e.push(this.new_tab),e}},methods:{openNewTab(){Project.locked||(this.last_opened_project=Project.uuid,this.new_tab.visible=!0,this.new_tab.select(),GC())},tabOverview(){BarItems.tab_overview.trigger()},mouseDown(e,t){if(convertTouchEvent(t),t.preventDefault(),this.thumbnail&&(this.thumbnail.remove(),delete this.thumbnail),t.button==1){let m=function(_){removeEventListeners(document,"mouseup",m),delete e.middle_mouse_pressing};e.middle_mouse_pressing=!0,addEventListeners(document,"mouseup",m,{passive:!1});return}let n=this,a=!1,o,r=t,s=!1,l,c=t.target;if(!c.classList.contains("project_tab")||Gi.all.indexOf(e)<0)return;e.select();let d=()=>{this.drag_target_index=Gi.all.indexOf(e),this.drag_position_index=0,Menu.open&&Menu.open.hide(),a=!0};function u(m){convertTouchEvent(m);let _=m.clientX-t.clientX;if(a){m&&m.preventDefault(),c.style.left=`${_}px`;let f=Math.trunc((m.clientX-t.clientX)/c.clientWidth);n.drag_position_index=n.drag_target_index+f;let g=s;s=m.clientX<2||m.clientX>window.innerWidth,s!==g&&(l||(l=Interface.createElement("div",{id:"drag_out_window_helper"},Interface.createElement("div",{},e.name))),s?document.body.append(l):document.body.removeChild(l),c.style.visibility=s?"hidden":"visible",null.send("dragging-tab",s)),s&&(l.style.left=`${m.clientX}px`,l.style.top=`${m.clientY}px`)}else{let f=Math.abs(_);Blockbench.isTouch?f>14&&o?(clearTimeout(o),o=null):document.getElementById("tab_bar").scrollLeft+=r.clientX-m.clientX:f>5&&d()}r=m}function p(m){let{drag_target_index:_}=n;if(removeEventListeners(document,"mousemove touchmove",u),removeEventListeners(document,"mouseup touchend",p),c.style.left=null,n.drag_target_index=null,n.drag_position_index=null,Blockbench.isTouch&&clearTimeout(o),a&&!Menu.open){convertTouchEvent(m);let f=Math.trunc((m.clientX-t.clientX)/c.clientWidth);f&&(Gi.all.splice(_,1),Gi.all.splice(_+f,0,e))}}Blockbench.isTouch&&(o=setTimeout(()=>{a=!0,u(t)},320)),addEventListeners(document,"mousemove touchmove",u,{passive:!1}),addEventListeners(document,"mouseup touchend",p,{passive:!1})},selectProject(e,t){t.target.classList.contains("project_tab_close_button")||e.select()},mouseUp(e,t){t.button===1&&e.middle_mouse_pressing&&e.close()},mouseEnter(e,t){if(e.thumbnail&&!e.selected){this.thumbnail_timeout&&(clearTimeout(this.thumbnail_timeout),delete this.thumbnail_timeout),this.thumbnail||(this.thumbnail=new Image,document.body.append(this.thumbnail));let n=this.thumbnail;n.src=e.thumbnail,n.attributes.width="240px",n.className="project_thumbnail",e.format.image_editor&&n.classList.add("pixelated");let a=$(t.target).offset();n.style.left=a.left+"px",n.style.top=a.top+t.target.clientHeight+2+"px"}},mouseLeave(){this.thumbnail&&(this.thumbnail_timeout=setTimeout(()=>{this.thumbnail&&this.thumbnail.remove(),delete this.thumbnail,delete this.thumbnail_timeout},80))},mousewheelBar(e){e.deltaY&&(e.preventDefault(),this.$refs.tab_bar_list.scrollLeft+=e.deltaY)}},watch:{tabs(){HC()}}}),HC()});BARS.defineActions(function(){new Action("project_window",{icon:"featured_play_list",category:"file",condition:()=>!!Format,click:function(){let i={format:{type:"info",label:"data.format",text:Format.name||"unknown",description:Format.description}};for(var e in Gi.properties){let a=Gi.properties[e];if(a.exposed===!1||!Condition(a.condition))continue;let o=i[a.name]={label:a.label,description:a.description,value:Project[a.name],placeholder:a.placeholder,type:a.type};a.type=="boolean"&&(o.type="checkbox"),a.type=="string"&&(o.type="text"),a.options&&(o.options=typeof a.options=="function"?a.options():a.options,o.type="select")}i.name&&(Project.save_path||Project.export_path||Format.image_editor)&&!Format.legacy_editable_file_name&&delete i.name,i.uv_mode={label:"dialog.project.default_uv_mode",description:"dialog.project.default_uv_mode.description",type:"select",condition:Format.optional_box_uv,options:{face_uv:"dialog.project.uv_mode.face_uv",box_uv:"dialog.project.uv_mode.box_uv"},value:Project.box_uv?"box_uv":"face_uv"};let t=Texture.all.length>9||Outliner.elements.length>0;i.texture_size={label:"dialog.project.uv_size",type:"vector",dimensions:2,value:[Project.texture_width,Project.texture_height],min:1,linked_ratio:t?void 0:!0,readonly:t,extra_actions:t?[{icon:"edit",name:"Change",click:a=>{Dialog.open.confirm(a),Jm({project:!0})}}]:null};var n=new Dialog({id:"project",title:"dialog.project.title",width:500,form:i,onConfirm:function(a){let o,r=!1,s=a.uv_mode=="box_uv",l=Math.clamp(a.texture_size[0],1,1/0),c=Math.clamp(a.texture_size[1],1,1/0);(Project.box_uv!=s||Project.texture_width!=l||Project.texture_height!=c)&&(r=!0,Project.box_uv!=s&&(s&&!Cube.all.find(u=>u.box_uv)||!s&&!Cube.all.find(u=>!u.box_uv))&&(o||(o=Undo.initEdit({elements:Cube.all,uv_only:!0,uv_mode:!0})),Cube.all.forEach(u=>{u.setUVMode(s)})),o||(o=Undo.initEdit({uv_mode:!0})),Project.texture_width=l,Project.texture_height=c,Format.optional_box_uv&&(Project.box_uv=s),Canvas.updateAllUVs(),updateSelection());for(var d in Gi.properties)a[d]!=null&&Project[d]!=a[d]&&typeof Project[d]!="object"&&(r=!0),Gi.properties[d].merge(Project,a);if(Project.name=Project.name.trim(),Project.model_identifier=Project.model_identifier.trim(),o&&Undo.finishEdit("Change project UV settings"),r&&(Project.saved=!1),Blockbench.dispatchEvent("update_project_settings",a),BARS.updateConditions(),Project.EditSession){let u={texture_width:Project.texture_width,texture_height:Project.texture_height,box_uv:Project.box_uv};for(let p in Gi.properties)Gi.properties[p].copy(Project,u);Project.EditSession.sendAll("change_project_meta",JSON.stringify(u))}n.hide()}});n.show()}}),new Action("close_project",{icon:"cancel_presentation",category:"file",keybind:new Keybind({key:"w",ctrl:!0}),condition:()=>!!Project,click:function(){Project.close()}}),new Action("duplicate_project",{icon:"file_copy",category:"file",condition:()=>Project&&(!Project.EditSession||Project.EditSession.hosting),click:function(){let i=Texture.selected?.uuid,e=Codecs.project.compile({raw:!0});NC(Format),Codecs.project.parse(e,"");function t(n){if(!n)return n;let a=n.lastIndexOf(".");if(a==-1)return n;let o=n.substring(0,a),r=n.substring(a);return o+" - Copy"+r}Project.name=t(Project.name),Texture.all.find(n=>n.uuid==i)?.select()}}),new Action("convert_project",{icon:"fas.fa-file-import",category:"file",condition:()=>Project&&(!Project.EditSession||Project.EditSession.hosting),click:function(){var i={};for(var e in Formats){let n=Formats[e];e!==Format.id&&n.can_convert_to&&(i[e]=n.name)}var t=new Dialog({id:"convert_project",title:"dialog.convert_project.title",width:540,form:{text1:{type:"info",text:"dialog.convert_project.text1"},text2:{type:"info",text:"dialog.convert_project.text2"},text3:{type:"info",text:"dialog.convert_project.text3"},current:{type:"info",label:"dialog.convert_project.current_format",text:Format.name||"-"},format:{label:"data.format",type:"select",options:i},create_copy:{type:"checkbox",label:"dialog.convert_project.create_copy",value:!0}},onConfirm:function(n){var a=Formats[n.format];if(!(!a||a==Format)){if(n.create_copy){let o=Texture.selected?.uuid,r=Codecs.project.compile({raw:!0});NC(Format),Codecs.project.parse(r,""),Project.name&&(Project.name+=" - Converted"),Texture.all.find(s=>s.uuid==o)?.select()}a.convertTo()}}});t.show()}}),new Action("switch_tabs",{icon:"swap_horiz",category:"file",keybind:new Keybind({key:9,ctrl:!0},{reverse_order:"shift"}),variations:{reverse_order:{name:"action.switch_tabs.reverse_order"}},condition:()=>Gi.all.length>1,click(i){let e=Gi.all.indexOf(Project),t;this.keybind.additionalModifierTriggered(i)=="reverse_order"?t=Gi.all[e-1]||Gi.all.last():t=Gi.all[e+1]||Gi.all[0],t&&t.select()}}),new Action("tab_overview",{icon:"view_module",category:"file",condition:()=>Gi.all.length>0,click(i){Project&&Project.updateThumbnail(),new ShapelessDialog("tab_overview",{title:"",component:{data(){return{search_term:"",projects:Gi.all}},methods:{select(e){Dialog.open.confirm(),e.select()},isPixelArt(e){return e.format.image_editor&&e.textures[0]?.height<190}},computed:{filtered_projects(){if(!this.search_term)return this.projects;let e=this.search_term.toLowerCase();return this.projects.filter(t=>t.name.toLowerCase().includes(e)||t.model_identifier?.toLowerCase().includes(e))}},template:`
<div id="tab_overview">
<div id="tab_overview_search">
<search-bar id="tab_overview_search_bar" v-model="search_term"></search-bar>
</div>
<ul id="tab_overview_grid">
<li v-for="project in filtered_projects" @mousedown="select(project)" :class="{pixel_art: isPixelArt(project)}">
<img :src="project.thumbnail" :style="{visibility: project.thumbnail ? 'unset' : 'hidden'}">
{{ project.getDisplayName(true) }}
</li>
</ul>
</div>
`},onConfirm(){let e=this.content_vue.filtered_projects;this.content_vue.search_term&&e[0].select()}}).show(),Mn.default.nextTick(()=>{document.querySelector("#tab_overview_search input")?.focus()})}})});var Gae={ModelProject:Gi,ProjectData:n_,setupProject:NC,newProject:Hae,selectNoProject:GC,updateTabBarVisibility:HC,updateProjectResolution:R1,setStartScreen:qC};Object.assign(window,Gae);ma.defineActions(function(){function i(){if($t.elements.length===0||!Format)return;let e=["low-poly","pixel-art","NoAI"];Format.id!=="free"&&e.push("minecraft"),Format.id==="skin"&&e.push("skin"),la.all.length||e.push("voxel");let t=Project.name.toLowerCase().replace(/[_.-]+/g,"-").replace(/[^a-z0-9-]+/,"").replace(/-geo/,"");Project.name&&e.push(t),t.includes("-")&&e.safePush(...t.split("-").filter(o=>o.length>2&&o!="geo").reverse());let n={"":"-","animals-pets":"Animals & Pets",architecture:"Architecture","art-abstract":"Art & Abstract","cars-vehicles":"Cars & Vehicles","characters-creatures":"Characters & Creatures","cultural-heritage-history":"Cultural Heritage & History","electronics-gadgets":"Electronics & Gadgets","fashion-style":"Fashion & Style","food-drink":"Food & Drink","furniture-home":"Furniture & Home",music:"Music","nature-plants":"Nature & Plants","news-politics":"News & Politics",people:"People","places-travel":"Places & Travel","science-technology":"Science & Technology","sports-fitness":"Sports & Fitness","weapons-military":"Weapons & Military"};var a=new sa("sketchfab_uploader",{title:"dialog.sketchfab_uploader.title",width:640,form:{token:{label:"dialog.sketchfab_uploader.token",value:Zi.sketchfab_token.value,type:"password"},about_token:{type:"info",text:nn("dialog.sketchfab_uploader.about_token",["[sketchfab.com/settings/password](https://sketchfab.com/settings/password)"])},name:{label:"dialog.sketchfab_uploader.name",value:MA(Project.name.replace(/\..+/,"").replace(/[_.-]/g," "))},description:{label:"dialog.sketchfab_uploader.description",type:"textarea"},category1:{label:"dialog.sketchfab_uploader.category",type:"select",options:n,value:""},category2:{label:"dialog.sketchfab_uploader.category2",type:"select",options:n,value:""},tags:{label:"dialog.sketchfab_uploader.tags",placeholder:"Tag1 Tag2"},tag_suggestions:{label:"dialog.sketchfab_uploader.suggested_tags",type:"buttons",buttons:e,click(o){let{tags:r}=a.getFormResult(),s=e[o];r.split(/\s/g).includes(s)||(r+=" "+s,a.setFormValues({tags:r}))}},animations:{label:"dialog.sketchfab_uploader.animations",value:!0,type:"checkbox",condition:Format.animation_mode&&!!Animator.animations.length},draft:{label:"dialog.sketchfab_uploader.draft",type:"checkbox",value:!0},divider:"_",private:{label:"dialog.sketchfab_uploader.private",type:"checkbox"},password:{label:"dialog.sketchfab_uploader.password",type:"password"}},onConfirm(o){if(!o.token||!o.name){he.showQuickMessage("message.sketchfab.name_or_token",1800);return}o.tags.split(" ").includes("blockbench")||(o.tags+=" blockbench");var r=new FormData;if(r.append("token",o.token),r.append("name",o.name),r.append("description",o.description),r.append("tags",o.tags),r.append("isPublished",(!o.draft).toString()),r.append("private",o.private.toString()),r.append("password",o.password),r.append("source","blockbench"),o.category1||o.category2){let s=[];o.category1&&s.push(o.category1),o.category2&&s.push(o.category2),r.append("categories",s.join(" "))}Zi.sketchfab_token.set(o.token),_p.gltf.compile({animations:o.animations}).then(s=>{var l=new Blob([s],{type:"text/plain;charset=utf-8"}),c=new File([l],"model.gltf");r.append("modelFile",c),$.ajax({url:"https://api.sketchfab.com/v3/models",data:r,cache:!1,contentType:!1,processData:!1,type:"POST",success:function(d){let u=`https://sketchfab.com/models/${d.uid}`;new sa("sketchfab_link",{title:nn("message.sketchfab.success"),icon:"icon-sketchfab",singleButton:!0,form:{message:{type:"info",text:`[${o.name} on Sketchfab](${u})`},link:{type:"text",value:u,readonly:!0,share_text:!0}}}).show()},error:function(d){let u={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",415:"Unsupported File Type"};he.showQuickMessage(nn("message.sketchfab.error")+`: Error ${d.status} - ${u[d.status]||""}`,1500),console.error(d)}})}),a.hide()}});a.show()}new Action("upload_sketchfab",{icon:"icon-sketchfab",category:"file",condition:()=>Project&&!!$t.elements.length,click(){i()}}),new Action("share_model",{icon:"share",condition:()=>Project&&!!$t.elements.length,async click(){let e=await new Promise(a=>{Preview.selected.screenshot({width:640,height:480},a)}),t=new Image;t.src=e,t.width=320,t.style.display="block",t.style.margin="auto",t.style.backgroundColor="var(--color-back)";var n=new sa({id:"share_model",title:"dialog.share_model.title",form:{name:{type:"text",label:"generic.name",value:Project.name},expire_time:{label:"dialog.share_model.expire_time",type:"select",default:"2d",options:{"10m":nn("dates.minutes",[10]),"1h":nn("dates.hour",[1]),"1d":nn("dates.day",[1]),"2d":nn("dates.days",[2]),"1w":nn("dates.week",[1]),"2w":nn("dates.weeks",[2])}},info:{type:"info",text:"The model and thumbnail will be stored on the Blockbench servers for the duration specified above. [Learn more](https://blockbench.net/blockbench-model-sharing-service/)"},reference_images:{type:"checkbox",label:"dialog.share_model.reference_images",value:!0,condition:()=>Pi.current_project.length},thumbnail:{type:"checkbox",label:"dialog.share_model.thumbnail",value:!0}},lines:[t],part_order:["form","lines"],onFormChange(a){t.style.display=a.thumbnail?"block":"none"},buttons:["generic.share","dialog.cancel"],onConfirm:function(a){let o=a.name,r=a.expire_time,s=_p.project.compile({compressed:!1,absolute_paths:!1,reference_images:a.reference_images}),l={name:o,expire_time:r,model:s,thumbnail:void 0};a.thumbnail&&(l.thumbnail=e),$.ajax({url:"https://blckbn.ch/api/model",data:JSON.stringify(l),cache:!1,contentType:"application/json; charset=utf-8",dataType:"json",type:"POST",success:function(c){let d=`https://blckbn.ch/${c.id}`;new sa({id:"share_model_link",title:"dialog.share_model.title",singleButton:!0,form:{link:{type:"text",value:d,readonly:!0,share_text:!0}}}).show()},error:function(c){let d=nn("dialog.share_model.failed")+" - "+c.status;c.status==413&&(Pi.current_project.length&&a.reference_images?d="dialog.share_model.too_large_references":d="dialog.share_model.too_large"),he.showMessageBox({title:nn("generic.error"),message:d,icon:"error"}),console.error(c)}}),n.hide()}});n.show()}})});var qae={name:"color-picker-normal",props:{width:Number,height:Number,value:String},data(){return{}},computed:{position(){let e=new ci(this.value).toRgb(),t={x:(e.r/255-.5)*100,y:(e.g/255-.5)*100},n=Math.atan2(t.y,t.x),a=Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2));return a=Math.clamp(a,-50,50),{x:(50+Math.cos(n)*a)/100*(this.height-10)+5,y:(50-Math.sin(n)*a)/100*(this.width-10)+5}}},methods:{pointerDown(i){let e=this.$refs.reference.getBoundingClientRect(),t=a=>{let o=a.ctrlOrCmd?1:5,r=a.clientX-e.x,s=a.clientY-e.y;r=Math.snapToValues(r,[e.width/2],o),s=Math.snapToValues(s,[e.height/2],o);let l=new ci({r:r/(this.width-10)*255,g:(1-s/(this.height-10))*255,b:255});this.$emit("input","#"+l.toHex())},n=a=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n)};document.addEventListener("pointermove",t),document.addEventListener("pointerup",n),t(i)},tl:nn}},E5=function(){var i=this,e=i.$createElement,t=i._self._c||e;return t("div",{staticClass:"normal_map_color_picker",style:{height:i.height+"px"},on:{pointerdown:function(n){return i.pointerDown(n)}}},[t("div",{ref:"reference",staticClass:"normal_map_color_picker--bg_x"}),i._v(" "),t("div",{staticClass:"normal_map_color_picker--bg_y"}),i._v(" "),t("div",{staticClass:"normal_map_color_picker--cursor",style:{left:i.position.x+"px",top:i.position.y+"px"}})])},Wae=[];E5._withStripped=!0;var Kae=function(i){i&&i("data-v-78fc3380_0",{source:`
.normal_map_color_picker {
position: relative;
height: 300px;
}
.normal_map_color_picker--bg_x,
.normal_map_color_picker--bg_y {
top: 5px;
left: 5px;
height: calc(100% - 10px);
width: calc(100% - 10px);
position: absolute;
pointer-events: none;
border-radius: 50%;
}
.normal_map_color_picker--bg_x {
background: linear-gradient(to right, rgb(0, 0, 255), rgb(255, 0, 255));
}
.normal_map_color_picker--bg_y {
background: linear-gradient(to top, rgb(0, 0, 255), rgb(0, 255, 255));
mix-blend-mode: lighten;
}
.normal_map_color_picker--bg_x::before,
.normal_map_color_picker--bg_x::after {
content: "";
width: 2px;
height: 2px;
position: absolute;
background-color: var(--color-light);
opacity: 0.2;
z-index: 1;
}
.normal_map_color_picker--bg_x::before {
width: 100%;
top: calc(50% - 1px);
left: 0;
right: 0;
}
.normal_map_color_picker--bg_x::after {
height: 100%;
top: 0;
bottom: 0;
left: calc(50% - 1px);
}
.normal_map_color_picker--cursor {
position: absolute;
border-radius: 6px;
height: 10px;
width: 10px;
border: 1px solid var(--color-border);
background: var(--color-light);
cursor: pointer;
top: 0;
left: 0;
z-index: 2;
margin: -5px;
}
`,map:{version:3,sources:["js/texturing/ColorPickerNormal.vue"],names:[],mappings:";AAsEA;CACA,kBAAA;CACA,aAAA;AACA;AACA;;CAEA,QAAA;CACA,SAAA;CACA,yBAAA;CACA,wBAAA;CACA,kBAAA;CACA,oBAAA;CACA,kBAAA;AACA;AACA;CACA,uEAAA;AACA;AACA;CACA,qEAAA;CACA,uBAAA;AACA;AACA;;CAEA,WAAA;CACA,UAAA;CACA,WAAA;CACA,kBAAA;CACA,oCAAA;CACA,YAAA;CACA,UAAA;AACA;AACA;CACA,WAAA;CACA,oBAAA;CACA,OAAA;CACA,QAAA;AACA;AACA;CACA,YAAA;CACA,MAAA;CACA,SAAA;CACA,qBAAA;AACA;AACA;CACA,kBAAA;CACA,kBAAA;CACA,YAAA;CACA,WAAA;CACA,qCAAA;CACA,8BAAA;CACA,eAAA;CACA,MAAA;CACA,OAAA;CACA,UAAA;CACA,YAAA;AACA",file:"ColorPickerNormal.vue",sourcesContent:[`<template>
<div class="normal_map_color_picker" :style="{height: height + 'px'}" @pointerdown="pointerDown($event)">
<div class="normal_map_color_picker--bg_x" ref="reference"></div>
<div class="normal_map_color_picker--bg_y"></div>
<div class="normal_map_color_picker--cursor"
:style="{left: position.x + 'px', top: position.y + 'px'}"
></div>
</div>
</template>
<script lang="js">
import tinycolor from 'tinycolor2';
import { tl } from '../languages';
export default {
name: 'color-picker-normal',
props: {
width: Number,
height: Number,
value: String
},
data() {return {
}},
computed: {
position() {
let color = new tinycolor(this.value);
let rgb = color.toRgb();
let square = {
x: (rgb.r/255 - 0.5) * 100,
y: (rgb.g/255 - 0.5) * 100,
};
let angle = Math.atan2(square.y, square.x);
let distance = Math.sqrt(Math.pow(square.x, 2) + Math.pow(square.y, 2));
distance = Math.clamp(distance, -50, 50);
return {
x: (50 + Math.cos(angle) * distance) / 100 * (this.height-10) + 5,
y: (50 - Math.sin(angle) * distance) / 100 * (this.width-10) + 5,
}
}
},
methods: {
pointerDown(e1) {
let bounding_box = this.$refs.reference.getBoundingClientRect();
let onMove = (e2) => {
let snap = e2.ctrlOrCmd ? 1 : 5;
let x = e2.clientX - bounding_box.x;
let y = e2.clientY - bounding_box.y;
x = Math.snapToValues(x, [bounding_box.width/2], snap);
y = Math.snapToValues(y, [bounding_box.height/2], snap);
let color = new tinycolor({
r: (x / (this.width - 10)) * 255,
g: (1 - y / (this.height - 10)) * 255,
b: 255
})
this.$emit('input', '#'+color.toHex());
}
let onUp = (e2) => {
document.removeEventListener('pointermove', onMove);
document.removeEventListener('pointerup', onUp);
}
document.addEventListener('pointermove', onMove);
document.addEventListener('pointerup', onUp);
onMove(e1);
},
tl,
},
}
</script>
<style>
.normal_map_color_picker {
position: relative;
height: 300px;
}
.normal_map_color_picker--bg_x,
.normal_map_color_picker--bg_y {
top: 5px;
left: 5px;
height: calc(100% - 10px);
width: calc(100% - 10px);
position: absolute;
pointer-events: none;
border-radius: 50%;
}
.normal_map_color_picker--bg_x {
background: linear-gradient(to right, rgb(0, 0, 255), rgb(255, 0, 255));
}
.normal_map_color_picker--bg_y {
background: linear-gradient(to top, rgb(0, 0, 255), rgb(0, 255, 255));
mix-blend-mode: lighten;
}
.normal_map_color_picker--bg_x::before,
.normal_map_color_picker--bg_x::after {
content: "";
width: 2px;
height: 2px;
position: absolute;
background-color: var(--color-light);
opacity: 0.2;
z-index: 1;
}
.normal_map_color_picker--bg_x::before {
width: 100%;
top: calc(50% - 1px);
left: 0;
right: 0;
}
.normal_map_color_picker--bg_x::after {
height: 100%;
top: 0;
bottom: 0;
left: calc(50% - 1px);
}
.normal_map_color_picker--cursor {
position: absolute;
border-radius: 6px;
height: 10px;
width: 10px;
border: 1px solid var(--color-border);
background: var(--color-light);
cursor: pointer;
top: 0;
left: 0;
z-index: 2;
margin: -5px;
}
</style>`]},media:void 0})},$ae=void 0,Yae=void 0,Xae=!1;function Jae(i,e,t,n,a,o,r,s,l,c){let d=(typeof t=="function"?t.options:t)||{};d.__file="js/texturing/ColorPickerNormal.vue",d.render||(d.render=i.render,d.staticRenderFns=i.staticRenderFns,d._compiled=!0,a&&(d.functional=!0)),d._scopeId=n;{let u;if(e&&(u=r?function(p){e.call(this,c(p,this.$root.$options.shadowRoot))}:function(p){e.call(this,s(p))}),u!==void 0)if(d.functional){let p=d.render;d.render=function(_,f){return u.call(f),p(_,f)}}else{let p=d.beforeCreate;d.beforeCreate=p?[].concat(p,u):[u]}}return d}function WC(){let i=WC.styles||(WC.styles={}),e=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(n,a){if(document.querySelector('style[data-vue-ssr-id~="'+n+'"]'))return;let o=e?a.media||"default":n,r=i[o]||(i[o]={ids:[],parts:[],element:void 0});if(!r.ids.includes(n)){let s=a.source,l=r.ids.length;if(r.ids.push(n),e&&(r.element=r.element||document.querySelector("style[data-group="+o+"]")),!r.element){let c=document.head||document.getElementsByTagName("head")[0],d=r.element=document.createElement("style");d.type="text/css",a.media&&d.setAttribute("media",a.media),e&&(d.setAttribute("data-group",o),d.setAttribute("data-next-index","0")),c.appendChild(d)}if(e&&(l=parseInt(r.element.getAttribute("data-next-index")),r.element.setAttribute("data-next-index",l+1)),r.element.styleSheet)r.parts.push(s),r.element.styleSheet.cssText=r.parts.filter(Boolean).join(`
`);else{let c=document.createTextNode(s),d=r.element.childNodes;d[l]&&r.element.removeChild(d[l]),d.length?r.element.insertBefore(c,d[l]):r.element.appendChild(c)}}}}var Zae=Jae({render:E5,staticRenderFns:Wae},Kae,qae,$ae,Xae,Yae,!1,WC,void 0,void 0),M5=Zae;StateMemory.init("color_palettes","array");var j1={default:["#1a1a1b","#353637","#464849","#5d5f60","#757677","#868788","#979b9d","#b8bdbe","#dadedf","#ffffff","#9a080f","#b40a1a","#d21129","#ef2142","#ff5774","#bb7907","#cc9104","#edb508","#fcd720","#fef364","#0d7e36","#12933d","#11aa38","#1cc93d","#29e64d","#044b8f","#0955a8","#126bc3","#1782db","#339afc","#cd3e00","#e65b00","#f37800","#f89520","#fdaf40","#02a8c1","#0cc3ca","#17d1c7","#38debd","#5be9b7"],material:["#ffebee","#ffcdd2","#ef9a9a","#e57373","#ef5350","#f44336","#e53935","#d32f2f","#c62828","#b71c1c","#ff5252","#ff1744","#fce4ec","#f8bbd0","#f48fb1","#f06292","#ec407a","#e91e63","#d81b60","#c2185b","#ad1457","#880e4f","#ff4081","#f50057","#f3e5f5","#e1bee7","#ce93d8","#ba68c8","#ab47bc","#9c27b0","#8e24aa","#7b1fa2","#6a1b9a","#4a148c","#e040fb","#d500f9","#ede7f6","#d1c4e9","#b39ddb","#9575cd","#7e57c2","#673ab7","#5e35b1","#512da8","#4527a0","#311b92","#7c4dff","#651fff","#e8eaf6","#c5cae9","#9fa8da","#7986cb","#5c6bc0","#3f51b5","#3949ab","#303f9f","#283593","#1a237e","#536dfe","#3d5afe","#e3f2fd","#bbdefb","#90caf9","#64b5f6","#42a5f5","#2196f3","#1e88e5","#1976d2","#1565c0","#0d47a1","#448aff","#2979ff","#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b","#40c4ff","#00b0ff","#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064","#18ffff","#00e5ff","#e0f2f1","#b2dfdb","#80cbc4","#4db6ac","#26a69a","#009688","#00897b","#00796b","#00695c","#004d40","#64ffda","#1de9b6","#e8f5e9","#c8e6c9","#a5d6a7","#81c784","#66bb6a","#4caf50","#43a047","#388e3c","#2e7d32","#1b5e20","#69f0ae","#00e676","#f1f8e9","#dcedc8","#c5e1a5","#aed581","#9ccc65","#8bc34a","#7cb342","#689f38","#558b2f","#33691e","#b2ff59","#76ff03","#f9fbe7","#f0f4c3","#e6ee9c","#dce775","#d4e157","#cddc39","#c0ca33","#afb42b","#9e9d24","#827717","#eeff41","#c6ff00","#fffde7","#fff9c4","#fff59d","#fff176","#ffee58","#ffeb3b","#fdd835","#fbc02d","#f9a825","#f57f17","#ffff00","#ffea00","#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00","#ffd740","#ffc400","#fff3e0","#ffe0b2","#ffcc80","#ffb74d","#ffa726","#ff9800","#fb8c00","#f57c00","#ef6c00","#e65100","#ffab40","#ff9100","#fbe9e7","#ffccbc","#ffab91","#ff8a65","#ff7043","#ff5722","#f4511e","#e64a19","#d84315","#bf360c","#ff6e40","#ff3d00","#efebe9","#d7ccc8","#bcaaa4","#a1887f","#8d6e63","#795548","#6d4c41","#5d4037","#4e342e","#3e2723","#6d422d","#593022","#fafafa","#f5f5f5","#eeeeee","#e0e0e0","#bdbdbd","#9e9e9e","#757575","#616161","#424242","#212121","#ffffff","#000000","#eceff1","#cfd8dc","#b0bec5","#90a4ae","#78909c","#607d8b","#546e7a","#455a64","#37474f","#263238"],endesga64:["#ff0040","#131313","#1b1b1b","#272727","#3d3d3d","#5d5d5d","#858585","#b4b4b4","#ffffff","#c7cfdd","#92a1b9","#657392","#424c6e","#2a2f4e","#1a1932","#0e071b","#1c121c","#391f21","#5d2c28","#8a4836","#bf6f4a","#e69c69","#f6ca9f","#f9e6cf","#edab50","#e07438","#c64524","#8e251d","#ff5000","#ed7614","#ffa214","#ffc825","#ffeb57","#d3fc7e","#99e65f","#5ac54f","#33984b","#1e6f50","#134c4c","#0c2e44","#00396d","#0069aa","#0098dc","#00cdf9","#0cf1ff","#94fdff","#fdd2ed","#f389f5","#db3ffd","#7a09fa","#3003d9","#0c0293","#03193f","#3b1443","#622461","#93388f","#ca52c9","#c85086","#f68187","#f5555d","#ea323c","#c42430","#891e2b","#571c27"]},rd=localStorage.getItem("colors");if(rd)try{rd=JSON.parse(rd)}catch{rd=null}StateMemory.init("color_picker_tab","string");StateMemory.init("color_picker_rgb","boolean");StateMemory.init("color_palette_locked","boolean");var jt={updateFromHsv:function(){jt.panel.vue.editing_hsv=!0,jt.change({h:jt.panel.vue._data.hsv.h,s:jt.panel.vue._data.hsv.s/100,v:jt.panel.vue._data.hsv.v/100})},hexToHsv(i){var e=new tinycolor(i),t=e.toHsv();return{h:t.h,s:t.s*100,v:t.v*100}},addToHistory(i){i=i.toLowerCase();var e=jt.panel.vue._data.history;if(i!=e[0]&&i.match(/#[a-f0-9]{6}/g)){var t=18;e.remove(i),e.splice(0,0,i),e.length>t&&(e.length=t);let n=document.getElementById("color_history");n&&(n.scrollLeft=0),jt.saveLocalStorages()}},change(i,e){var t=new tinycolor(i);jt.panel.vue[e?"second_color":"main_color"]=t.toHexString()},set(i,e,t){jt.change(i,e),jt.addToHistory(jt.panel.vue.main_color)},get(i){let e=i?jt.panel.vue.second_color:jt.panel.vue.main_color;return jt.addToHistory(e),e},saveLocalStorages(){localStorage.setItem("colors",JSON.stringify({palette:jt.palette,history:jt.panel.vue._data.history}))},importPalette(i){let e=pathToExtension(i.path);if(e=="png"){var t=new Image;t.src=i.content||i.path.replace(/#/g,"%23"),t.onload=function(){var d=document.createElement("canvas"),u=d.getContext("2d");d.width=t.naturalWidth,d.height=t.naturalHeight,u.drawImage(t,0,0),jt.generatePalette(u,!1)};return}var n=[];if(e==="ase"){let d=i.content,u=Buffer.from(d),p=u.toString("utf-8",0,4),m=u.slice(4,6).readInt16BE(0),_=u.slice(6,8).readInt16BE(0),f=u.slice(8,12).readInt32BE(0);if(u.length>12&&p!=="ASEF"&&m!==1&&_!==0){console.log("Invalid ASE swatch file");return}let g=12;for(;g<u.length;){let v,b=u.slice(g,g+2).readInt16BE(0).toString(16);if(g+=2,b==="c001"&&(v=u.slice(g,g+4).readInt32BE(0),g+=v),b==="c002"&&(g+=2),b==="1"){v=u.slice(g,g+4).readInt32BE(0);let x=u.slice(g+4,g+6).readUInt16BE(0),w="",E;for(let R=0;R<x*2-2;R+=2)w+=String.fromCodePoint(u.slice(g+6+R,g+8+R).readInt16BE(0));let y=g+6+x*2,A=u.slice(y,y+4).toString("utf-8",0,4);if(y+=4,A==="RGB "){let R=u.slice(y,y+4).readFloatBE(0);y+=4;let j=u.slice(y,y+4).readFloatBE(0);y+=4;let F=u.slice(y,y+4).readFloatBE(0);E=new tinycolor({r:R*255,g:j*255,b:F*255})}else if(A==="CMYK"){let R=u.slice(y,y+4).readFloatBE(0);y+=4;let j=u.slice(y,y+4).readFloatBE(0);y+=4;let F=u.slice(y,y+4).readFloatBE(0);y+=4;let O=u.slice(y,y+4).readFloatBE(0);E=new tinycolor({r:255*(1-R)*(1-O),g:255*(1-j)*(1-O),b:255*(1-F)*(1-O)})}else if(A==="LAB "){let R=u.slice(y,y+4).readFloatBE(0);y+=4;let j=u.slice(y,y+4).readFloatBE(0);y+=4;let F=u.slice(y,y+4).readFloatBE(0)}else if(A==="Gray"){let R=u.slice(y,y+4).readFloatBE(0);E=new tinycolor({r:R*255,g:R*255,b:R*255})}n.push(E.toHexString()),g+=v}}}else if(e==="aco"){let d=i.content,u=Buffer.from(d);if(u.length<4){UI.message("Invalid ACO file");return}let p=u.slice(0,2).readUInt16BE(0),m=u.slice(2,4).readUInt16BE(0),_;if(p===1&&(u.length-4)/10===m)for(_=4;_<u.length;){let f=u.slice(_,_+2).readUInt16BE(0),g=u.slice(_+2,_+4).readUInt16BE(0),v=u.slice(_+4,_+6).readUInt16BE(0),b=u.slice(_+6,_+8).readUInt16BE(0),x=u.slice(_+8,_+10).readUInt16BE(0);if(f===0){let w=new tinycolor({r:Math.floor(g/255),g:Math.floor(v/255),b:Math.floor(b/255)});n.push(w.toHexString())}_+=10}if(p===2||p===1&&u.length>m*10+8&&u.slice(4+m*10,6+m*10).readUInt16BE(0)===2&&u.slice(6+m*10,8+m*10).readUInt16BE(0)===m)for(_=4+m*10+4,p===2&&(_=4);_<u.length;){let f=u.slice(_,_+2).readUInt16BE(0),g=u.slice(_+2,_+4).readUInt16BE(0),v=u.slice(_+4,_+6).readUInt16BE(0),b=u.slice(_+6,_+8).readUInt16BE(0),x=u.slice(_+8,_+10).readUInt16BE(0),w="",E=u.slice(_+12,_+14).readUInt16BE(0);if(f===0){let y=new tinycolor({r:Math.floor(g/255),g:Math.floor(v/255),b:Math.floor(b/255)});n.push(y.toHexString())}_+=14+E*2}}else if(e==="act"){let d=i.content,u=Buffer.from(d),p=Math.min(u.length,768);u.length===772&&(p=u[769]*3);for(var a=0;a<p;a+=3){let m=new tinycolor({r:u[a+0],g:u[a+1],b:u[a+2]});n.push(m)}}else{var o=i.content,r=o.match(/(#|FF)?[a-fA-F0-9]{6}/g);r&&r.forEach(d=>{d=d.substr(-6).toLowerCase(),n.safePush("#"+d)});var s=o.match(/\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}\s*\)/g);s&&s.forEach(d=>{d=tinycolor("rgb"+d),n.safePush(d.toHexString())});var l=o.match(/\n\s*\d{1,3}\s+\d{1,3}\s+\d{1,3}/g);l&&l.forEach(d=>{d=tinycolor(`rgb(${d.replace(/^[\n\s]*/,"").replace(/\s+/g,",")})`),n.safePush(d.toHexString())})}if(jt.palette.length){var c=new Dialog({id:"palette_import",title:"action.import_palette",width:400,form:{replace:{label:"message.import_palette.replace_palette",type:"checkbox",value:!0}},onConfirm(d){d.replace?(jt.palette.purge(),jt.palette.push(...n)):n.forEach(u=>{jt.palette.safePush(u)}),jt.saveLocalStorages(),c.hide()}});c.show()}else n.forEach(d=>{jt.palette.push(d)}),jt.saveLocalStorages()},generatePalette(i,e=!0){var t={};let n;i||Texture.all.forEach((o,r)=>{o.error||(t[r]=o.name,o.selected&&(n=r))});var a=new Dialog({id:"generate_palette",title:"action.import_palette",width:460,form:{texture:{label:"data.texture",type:"select",options:t,value:n,condition:!i},selection_only:{label:"message.import_palette.selection_only",type:"checkbox",value:!1,condition:Texture.all[n]?.selection?.is_custom},replace:{label:"message.import_palette.replace_palette",type:"checkbox",value:!0},threshold:{label:"message.import_palette.threshold",type:"number",value:10,min:0,max:100,condition:e}},onConfirm(o){var r={},s=[];if(i)var c=i;else var l=Texture.all[o.texture],c=Painter.getCanvas(l).getContext("2d");if(Painter.scanCanvas(c,0,0,c.canvas.width,c.canvas.height,(w,E,y)=>{if(!(y[3]<12)&&!(o.selection_only&&l.selection.is_custom&&!l.selection.get(w,E))){var A=tinycolor({r:y[0],g:y[1],b:y[2]}),R=A.toHexString();r[R]?r[R].count++:(r[R]=A,A.count=1)}}),e){var d={gray:[],red:[],orange:[],yellow:[],green:[],blue:[],magenta:[]};for(var u in r){var p=r[u];if(Math.abs(p._r-p._g)+Math.abs(p._g-p._b)+Math.abs(p._r-p._b)<74)d.gray.push(p);else{var m={red:Wr(p,{_r:250,_g:0,_b:0}),orange:Wr(p,{_r:240,_g:127,_b:0})*1.4,yellow:Wr(p,{_r:265,_g:240,_b:0})*1.4,green:Wr(p,{_r:0,_g:255,_b:0}),blue:Wr(p,{_r:0,_g:50,_b:240}),magenta:Wr(p,{_r:255,_g:0,_b:255})*1.4},_=highestInObject(m,!0);d[_].push(p)}}for(var f in d){if(d[f].sort((w,E)=>w._r+w._g+w._b-(E._r+E._g+E._b)),d[f].length>1)for(var g=d[f].length-2;g>=0;g--){var v=d[f][g],b=d[f][g+1],x=Wr(v,b);x<o.threshold&&(v.count<v.count?d[f].splice(g,1):d[f].splice(g+1,1))}d[f].forEach(w=>{s.push(w.toHexString())})}}else for(var u in r)s.push(u);o.replace?(jt.palette.purge(),jt.palette.push(...s)):s.forEach(w=>{jt.palette.safePush(w)}),jt.saveLocalStorages(),a.hide()}});a.show()}};he.addDragHandler("palette",{extensions:["gpl","css","txt","hex","png","aco","act","ase","bbpalette"],readtype:i=>{switch(pathToExtension(i)){case"png":return"image";case"ase":return"binary";case"act":return"binary";case"aco":return"binary";default:return"text"}},element:"#color",propagate:!0},function(i){i&&i[0]&&jt.importPalette(i[0])});SharedActions.add("delete",{condition:()=>Prop.active_panel=="palette",run(){if(StateMemory.color_palette_locked){he.showQuickMessage("message.palette_locked");return}jt.palette.includes(jt.panel.vue.selected_color)&&(jt.palette.remove(jt.panel.vue.selected_color),jt.saveLocalStorages())}});Interface.definePanels(()=>{jt.panel=new Panel("color",{icon:"palette",condition:{modes:["paint"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:4},toolbars:[new Toolbar("color_picker",{children:["slider_color_h","slider_color_s","slider_color_v","slider_color_red","slider_color_green","slider_color_blue","add_to_palette","pick_screen_color"]})],onResize(){Panels.color.vue.width=0,Vue.nextTick(()=>{let i=this.vue.$refs.square_picker.style.display;if(this.vue.$refs.square_picker.style.display="none",Panels.color.vue.width=Math.clamp(this.width,100,1e3),!this.isInSidebar())if(this.vue.picker_type=="box"){let e=this.height-this.vue.$el.clientHeight-this.handle.clientHeight-6;Panels.color.vue.picker_height=Math.clamp(e,100,1e3)}else{let e=Math.min(1e3,(this.height-this.vue.$el.clientHeight-this.handle.clientHeight)*(this.vue.picker_type=="box"?1.25:1));Interface.Panels.color.vue.width=Math.clamp(this.width,100,e)}this.vue.$refs.square_picker.style.display=i,Vue.nextTick(()=>{Panels.color.picker.spectrum("reflow")})})},component:{components:{ColorPickerNormal:M5},data:{width:100,picker_height:100,picker_type:Settings.get("color_picker_style"),main_color:"#ffffff",second_color:"#000000",hover_color:"",second_color_selected:!1,get color_code(){return this.hover_color||(this.second_color_selected?this.second_color:this.main_color)},set color_code(i){this.second_color_selected==!1?this.main_color=i.toLowerCase().replace(/[^a-f0-9#]/g,""):this.second_color=i.toLowerCase().replace(/[^a-f0-9#]/g,"")},text_input:"#ffffff",hsv:{h:0,s:0,v:0},editing_hsv:!1,history:rd&&rd.history instanceof Array?rd.history:[]},methods:{colorPickerMenu(i){new Menu("color_picker_menu",[{id:"picker_type",name:"menu.color_picker.picker_type",icon:"palette",children:[{name:"menu.color_picker.picker_type.square",icon:Settings.get("color_picker_style")=="box"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("box"),Panels.color.onResize()}},{name:"menu.color_picker.picker_type.wheel",icon:Settings.get("color_picker_style")=="wheel"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("wheel"),Panels.color.onResize()}},{name:"menu.color_picker.picker_type.normal",icon:Settings.get("color_picker_style")=="normal"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("normal"),Panels.color.onResize()}}]},{id:"slider_mode",name:"menu.color_picker.slider_mode",icon:"tune",children:[{name:"menu.color_picker.slider_mode.hsv",icon:StateMemory.color_picker_rgb?"far.fa-circle":"far.fa-dot-circle",click:()=>{StateMemory.set("color_picker_rgb",!1),BARS.updateConditions(),this.updateSliders()}},{name:"menu.color_picker.slider_mode.rgb",icon:StateMemory.color_picker_rgb?"far.fa-dot-circle":"far.fa-circle",click:()=>{StateMemory.set("color_picker_rgb",!0),BARS.updateConditions(),this.updateSliders()}}]}]).open(i.target)},updateSliders(){StateMemory.color_picker_rgb?(BarItems.slider_color_red.update(),BarItems.slider_color_green.update(),BarItems.slider_color_blue.update()):(BarItems.slider_color_h.update(),BarItems.slider_color_s.update(),BarItems.slider_color_v.update()),BarItems.slider_palette_color.update()},onMouseWheel(i){if(i.target&&(settings.color_picker_style.value=="wheel"||i.target.classList.contains("sp-hue")||i.target.classList.contains("sp-slider"))){let e=Math.sign(i.deltaY);i.shiftKey&&(e*=4),BarItems.slider_color_h.change(t=>t+e)}},setColor(i,e=this.second_color_selected){jt.set(i,e)},changeColor(i,e=this.second_color_selected){this[e?"second_color":"main_color"]=i},swapColors(){BarItems.swap_colors.click()},getSwapColorsTooltip(){return`${BarItems.swap_colors.name} (${BarItems.swap_colors.keybind})`},selectMainOrSecondary(i){this.second_color_selected!=i&&(this.second_color_selected=!!i,Object.assign(this.hsv,jt.hexToHsv(this.selected_color)),this.updateSliders(),Panels.color.picker.spectrum("set",this.selected_color),this.text_input=this.selected_color)},validateMainColor(){var i=this.main_color;i.match(/^#[0-9a-f]{6}$/)||(this.main_color=tinycolor(i).toHexString())},tl},computed:{selected_color(){return this.second_color_selected?this.second_color:this.main_color}},watch:{main_color:function(i){this.hover_color="",this.second_color_selected||(this.editing_hsv||Object.assign(this.hsv,jt.hexToHsv(i)),this.updateSliders(),Panels.color.picker.spectrum("set",i),this.text_input=i,this.editing_hsv=!1),he.dispatchEvent("change_color",{color:i})},second_color:function(i){this.hover_color="",this.second_color_selected&&(this.editing_hsv||Object.assign(this.hsv,jt.hexToHsv(i)),this.updateSliders(),Panels.color.picker.spectrum("set",i),this.text_input=i,this.editing_hsv=!1),he.dispatchEvent("change_color",{color:i,secondary:!0})}},template:`
<div id="color_panel_wrapper" class="panel_inside">
<div id="color_panel_head">
<div class="chosen">
<div class="secondary" :class="{selected: second_color_selected}" :style="{'background-color': (second_color_selected && hover_color) || second_color}" @click="selectMainOrSecondary(true)"></div>
<div class="main" :class="{selected: !second_color_selected}" :style="{'background-color': (!second_color_selected && hover_color) || main_color}" @click="selectMainOrSecondary(false)"></div>
<div class="tool switcher" @click="swapColors()" :title="getSwapColorsTooltip()">
<i class="material-icons icon">swap_vert</i>
</div>
</div>
<div class="side">
<input type="text" v-model="color_code" @focusout="validateMainColor()">
<div id="color_history">
<li
v-for="(color, i) in history" v-if="i || color != main_color"
:key="color"
:style="{'background-color': color}"
:title="color"
@click="setColor(color)" @contextmenu="setColor(color, true)"
></li>
</div>
</div>
<div class="tool" @click="colorPickerMenu($event)" title="${tl("panel.color.picker_options")}">
<i class="icon material-icons">settings</i>
</div>
</div>
<div @wheel="onMouseWheel($event)" class="color_picker_wrapper">
<div v-show="picker_type == 'box'" ref="square_picker" :style="{maxWidth: width + 'px', '--height': picker_height + 'px'}">
<input id="main_colorpicker">
</div>
<color-wheel v-if="picker_type == 'wheel' && width" :value="selected_color" @input="changeColor" :width="width" :height="width"></color-wheel>
<color-picker-normal v-if="picker_type == 'normal' && width" :value="selected_color" @input="changeColor" :width="width" :height="width"></color-picker-normal>
<div class="toolbar_wrapper color_picker" toolbar="color_picker"></div>
</div>
</div>
`,mounted(){Panels.color.picker=$(this.$el).find("#main_colorpicker").spectrum({preferredFormat:"hex",color:"ffffff",flat:!0,localStorageKey:"brush_color_palette",move:i=>{jt.change(i,this.second_color_selected)}})}}}),$("#color_history").on("wheel",function(i){var e=i.originalEvent.deltaY<0?-90:90;this.scrollLeft+=e}),jt.palette_panel=new Panel("palette",{icon:"apps",condition:{modes:["paint"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,attached_to:"color",attached_index:1,sidebar_index:5},growable:!0,resizable:!0,toolbars:[new Toolbar("palette",{children:["import_palette","export_palette","generate_palette","sort_palette","save_palette","load_palette"]})],component:{data:{get main_color(){return Panels.color.vue.main_color},set main_color(i){Panels.color.vue.main_color=i},get second_color(){return Panels.color.vue.second_color},set second_color(i){Panels.color.vue.second_color=i},hover_color:"",second_color_selected:!1,get color_code(){return this.hover_color||(this.second_color_selected?this.second_color:this.main_color)},set color_code(i){this.second_color_selected==!1?this.main_color=i.toLowerCase().replace(/[^a-f0-9#]/g,""):this.second_color=i.toLowerCase().replace(/[^a-f0-9#]/g,"")},palette:rd&&rd.palette instanceof Array?rd.palette:j1.default.slice()},methods:{sortChoose(){StateMemory.color_palette_locked&&he.showQuickMessage("message.palette_locked")},sortMove(){if(StateMemory.color_palette_locked)return!1},sort(i){var e=this.palette.splice(i.oldIndex,1)[0];this.palette.splice(i.newIndex,0,e),jt.saveLocalStorages()},drop(i){},setColor(i,e=this.second_color_selected){jt.set(i,e)},changeColor(i,e=this.second_color_selected){this[e?"second_color":"main_color"]=i},swapColors(){BarItems.swap_colors.click()},getSwapColorsTooltip(){return`${BarItems.swap_colors.name} (${BarItems.swap_colors.keybind})`},isDarkColor(i){if(i){let e=new tinycolor(i).getBrightness(),t=new tinycolor(CustomTheme.data.colors.back).getBrightness();return Math.abs(e-t)<=50}},openContextMenu(i){Panels.palette.menu.open(i)},tl},computed:{selected_color(){return this.second_color_selected?this.second_color:this.main_color}},template:`
<ul id="palette_list" class="list mobile_scrollbar" v-sortable="{onChoose: sortChoose, onMove: sortMove, onUpdate: sort, onEnd: drop, fallbackTolerance: 10}" @contextmenu="openContextMenu($event)">
<li
class="color" v-for="color in palette"
:title="color" :key="color"
:class="{selected: color == main_color, secondary: color == second_color, contrast: isDarkColor(color)}"
@click="setColor(color)"
@contextmenu.stop="setColor(color, true)"
>
<div class="color_inner" :style="{'background-color': color}"></div>
</li>
</ul>
`},menu:new Menu([new MenuSeparator("options"),{id:"lock_palette",name:"menu.palette.lock_palette",icon:()=>StateMemory.color_palette_locked,click(){StateMemory.color_palette_locked=!StateMemory.color_palette_locked,StateMemory.save("color_palette_locked")}},new MenuSeparator("file"),"sort_palette","save_palette","load_palette"])}),Toolbars.palette.toPlace(),Toolbars.color_picker.toPlace(),jt.palette=jt.palette_panel.vue._data.palette});BARS.defineActions(function(){new Action("add_to_palette",{icon:"add",category:"color",click:function(){let r=jt.get();StateMemory.color_palette_locked?he.showQuickMessage("message.palette_locked"):jt.palette.includes(r)||(jt.palette.push(r),jt.saveLocalStorages(),he.showQuickMessage("message.add_to_palette"))}}),new Action("swap_colors",{icon:"swap_vert",category:"color",condition:{modes:["paint"]},keybind:new Keybind({key:"x"}),click(){let r=jt.panel.vue.main_color;jt.panel.vue.main_color=jt.panel.vue.second_color,jt.panel.vue.second_color=r}}),new Action("import_palette",{icon:"palette",category:"color",click:function(){he.import({resource_id:"palette",extensions:["gpl","css","txt","hex","png","aco","act","ase","bbpalette"],type:"Blockbench Palette",readtype:r=>{switch(pathToExtension(r)){case"png":return"image";case"ase":return"binary";case"act":return"binary";case"aco":return"binary";default:return"text"}}},function(r){r&&r[0]&&jt.importPalette(r[0])})}}),new Action("export_palette",{icon:"fas.fa-dice-four",category:"color",click:function(){let r=`GIMP Palette
Name: Blockbench palette
Columns: 10
`;jt.palette.forEach(s=>{let l=new tinycolor(s);r+=`${l._r} ${l._g} ${l._b} ${s}
`}),he.export({resource_id:"palette",extensions:["gpl"],type:"GPL Palette",content:r},s=>{he.showQuickMessage(tl("message.save_file",pathToName(s)))})}}),new Action("generate_palette",{icon:"blur_linear",category:"color",click:function(){jt.generatePalette()}}),new Action("sort_palette",{icon:"fa-sort-amount-down",category:"color",click:function(){var r={};jt.palette.forEach(m=>{r[m]=tinycolor(m)}),jt.palette.empty();var s={gray:[],red:[],orange:[],yellow:[],green:[],blue:[],magenta:[]};for(var l in r){var c=r[l];if(Math.abs(c._r-c._g)+Math.abs(c._g-c._b)+Math.abs(c._r-c._b)<74)s.gray.push(c);else{var d={red:Wr(c,{_r:250,_g:0,_b:0}),orange:Wr(c,{_r:240,_g:127,_b:0})*1.4,yellow:Wr(c,{_r:265,_g:240,_b:0})*1.4,green:Wr(c,{_r:0,_g:255,_b:0}),blue:Wr(c,{_r:0,_g:50,_b:240}),magenta:Wr(c,{_r:255,_g:0,_b:255})*1.4},u=highestInObject(d,!0);s[u].push(c)}}for(var p in s)s[p].sort((m,_)=>m._r+m._g+m._b-(_._r+_._g+_._b)),s[p].forEach(m=>{jt.palette.push(m.toHexString())});jt.saveLocalStorages()}});async function i(r){jt.palette.length&&await new Promise((l,c)=>{he.showMessageBox({translateKey:"load_palette",buttons:["dialog.confirm","dialog.cancel"]},l)})!=0||(jt.palette.splice(0,1/0,...r),jt.saveLocalStorages())}new Action("load_palette",{icon:"fa-tasks",category:"color",condition:{modes:["paint"]},click:function(r){new Menu(this.children()).open(r.target)},children(){let r=this.default_palettes.slice();return StateMemory.color_palettes.forEach((s,l)=>{let c={name:s.name,icon:"bubble_chart",id:l.toString(),click(){i(s.colors)},children:[{icon:"update",name:"menu.palette.load.update",description:"menu.palette.load.update.desc",click(){s.colors.replace(jt.palette),StateMemory.save("color_palettes")}},{icon:"delete",name:"generic.delete",click(){StateMemory.color_palettes.remove(s),StateMemory.save("color_palettes")}}]};r.push(c)}),r.push("_",{name:"menu.palette.load.empty",icon:"clear",id:"empty",click:()=>{i([])}}),r}}),BarItems.load_palette.default_palettes=[{name:"menu.palette.load.default",icon:"bubble_chart",id:"default",click:()=>{i(j1.default)}},{name:"Endesga 64",description:"Pixel art palette created by lospec.com/endesga",icon:"bubble_chart",id:"endesga64",click:()=>{i(j1.endesga64)}},{name:"Material",icon:"bubble_chart",id:"material",click:()=>{i(j1.material)}},"_"],new Action("save_palette",{icon:"playlist_add",category:"color",condition:{modes:["paint"]},click(r){new Dialog({id:"save_palette",title:"action.save_palette",width:540,form:{name:{label:"generic.name"}},onConfirm:function(l){if(!l.name)return;let c={name:l.name,colors:jt.palette.slice()};StateMemory.color_palettes.push(c),StateMemory.save("color_palettes")}}).show()}}),new NumSlider("slider_color_h",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:15,settings:{min:0,max:360,default:0,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?4:1},get:function(){return Math.round(jt.panel.vue._data.hsv.h)},change:function(r){var s=r(jt.panel.vue._data.hsv.h);jt.panel.vue._data.hsv.h=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}}),new NumSlider("slider_color_s",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:20,settings:{min:0,max:100,default:0,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?10:1},get:function(){return Math.round(jt.panel.vue._data.hsv.s)},change:function(r){var s=r(jt.panel.vue._data.hsv.s);jt.panel.vue._data.hsv.s=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}}),new NumSlider("slider_color_v",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:20,settings:{min:0,max:100,default:100,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?10:1},get:function(){return Math.round(jt.panel.vue._data.hsv.v)},change:function(r){var s=r(jt.panel.vue._data.hsv.v);jt.panel.vue._data.hsv.v=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}});let e=[BarItems.slider_color_h,BarItems.slider_color_s,BarItems.slider_color_v];e.forEach(r=>r.slider_vector=e);let t=new NumSlider("slider_color_red",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#ff0000",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(1,3),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,1)+l+jt.panel.vue.main_color.substring(3)}}),n=new NumSlider("slider_color_green",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#00db3d",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(3,5),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,3)+l+jt.panel.vue.main_color.substring(5)}}),a=new NumSlider("slider_color_blue",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#2c73ff",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(5),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,5)+l}}),o=[t,n,a];o.forEach(r=>r.slider_vector=o),new NumSlider("slider_palette_color",{condition:{modes:["paint"]},category:"color",invert_scroll_direction:!0,get(){return jt.palette.indexOf(jt.panel.vue.main_color)+1},getInterval(){return 1},change(r){let s=Math.clamp(r(this.get()),1,jt.palette.length),l=jt.palette[s-1];jt.set(l)}}),new Action("pick_screen_color",{icon:"colorize",category:"color",condition:()=>typeof EyeDropper=="function"&&he.platform!="linux",click:async function(){if(he.platform=="win32")null.send("request-color-picker",{sync:!1});else if(typeof EyeDropper=="function"){let r=new EyeDropper,{sRGBHex:s}=await r.open();jt.set(s)}}})});Object.assign(window,{ColorPanel:jt});new ModelFormat("free",{icon:"icon-format_free",category:"general",target:["Godot","Unity","Unreal Engine","Sketchfab","Blender",tl("format.free.info.3d_printing")],format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.free.info.meshes")}
* ${tl("format.free.info.limitation")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [Low-Poly Modeling Tutorial](https://www.youtube.com/watch?v=WbyCbA1c8BM)"}]},meshes:!0,billboards:!0,armature_rig:!0,splines:!0,rotate_cubes:!0,bone_rig:!0,centered_grid:!0,optional_box_uv:!0,per_texture_uv_size:!0,per_texture_wrap_mode:!0,uv_rotation:!0,animation_mode:!0,per_animator_rotation_interpolation:!0,animated_textures:!0,locators:!0,pbr:!0});var C5="5.0";function T5(i){if(!i.meta){Blockbench.showMessageBox({translateKey:"invalid_model",icon:"error"});return}if(i.meta.format_version||(i.meta.format_version=i.meta.format),vo.compare(i.meta.format_version,">",C5)){Blockbench.showMessageBox({title:"message.newer_project_format_version.title",message:tl("message.newer_project_format_version.message",[i.meta.format_version]),icon:"error"});return}}function A5(i){if(i.meta.model_format||(i.meta.bone_rig?i.meta.model_format="bedrock_old":i.meta.model_format="java_block"),i.cubes&&!i.elements&&(i.elements=i.cubes),i.geometry_name&&(i.model_identifier=i.geometry_name),i.elements&&i.meta.box_uv&&vo.compare(i.meta.format_version,"<","4.5")&&i.elements.forEach(e=>{e.shade===!1&&(e.mirror_uv=!0)}),i.outliner&&vo.compare(i.meta.format_version,"<","3.2")){let e=function(t){for(var n of t)typeof n=="object"&&(e(n.children),n.rotation&&(n.rotation[2]*=-1))};e(i.outliner)}if(i.textures,i.animations&&vo.compare(i.meta.format_version,"<","5.0"))for(let e of i.animations)for(let t in e.animators){let n=e.animators[t];for(let a of n.keyframes??[]){for(let o of a.data_points)(a.channel=="position"||a.channel=="rotation")&&o.x&&(o.x=Zs(o.x)),a.channel=="rotation"&&o.y&&(o.y=Zs(o.y));a.interpolation=="bezier"&&((a.channel=="position"||a.channel=="rotation")&&a.bezier_left_value&&(a.bezier_left_value[0]*=-1,a.bezier_right_value[0]*=-1),a.channel=="rotation"&&a.bezier_left_value&&(a.bezier_left_value[1]*=-1,a.bezier_right_value[1]*=-1))}}}var hs=new Codec("project",{name:"Blockbench Project",extension:"bbmodel",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["bbmodel"]},load(i,e){if(!i||!i.meta)return Blockbench.showMessageBox({translateKey:"invalid_model"});setupProject(Formats[i.meta.model_format]||Formats.free);var t=pathToName(e.path,!0);Project.name=pathToName(t,!1),e.path,this.parse(i,e.path),Modes.animate&&!AnimationItem.selected&&AnimationItem.all[0]&&AnimationItem.all[0].select()},export(){Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile(),custom_writer:null},i=>this.afterDownload(i))},async exportCollection(i){this.context=i,Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile({collection_only:i}),custom_writer:null},e=>this.afterDownload(e))},async writeCollection(i){if(!i.export_path){console.warn("No path specified");return}this.context=i;let e=Project.save_path,t=this.compile({collection_only:i});this.write(t,i.export_path),this.context=null,i.saved=!0,Project.save_path=e},compile(i){i||(i=0),Blockbench.addFlag("compiling_bbmodel");let e={meta:{format_version:C5,backup:i.backup?!0:void 0,model_format:Format.id,box_uv:Project.box_uv}},t=settings.export_asset_paths.value=="relative"||settings.export_asset_paths.value=="both",n=settings.export_asset_paths.value=="absolute"||settings.export_asset_paths.value=="both";typeof i.absolute_paths=="boolean"&&(n=i.absolute_paths);for(var a in ModelProject.properties)ModelProject.properties[a].export!=!1&&ModelProject.properties[a].copy(Project,e);if(Project.overrides&&(e.overrides=Project.overrides),e.resolution={width:Project.texture_width||16,height:Project.texture_height||16},i.flag&&(e.flag=i.flag),i.editor_state&&(Project.saveEditorState(),e.editor_state={save_path:Project.save_path,export_path:Project.export_path,saved:Project.saved,added_models:Project.added_models,mode:Project.mode,tool:Project.tool,exploded_view:Project.exploded_view,uv_viewport:Project.uv_viewport,previews:JSON.parse(JSON.stringify(Project.previews)),selected_elements:Project.selected_elements.map(m=>m.uuid),selected_groups:Project.selected_groups.map(m=>m.uuid),mesh_selection:JSON.parse(JSON.stringify(Project.mesh_selection)),selected_texture:Project.selected_texture?.uuid}),!(Format.id=="skin"&&e.skin_model)){if(i.collection_only)var o=i.collection_only.getAllChildren();if(e.elements=[],Outliner.elements.forEach(m=>{if(i.collection_only&&!o.includes(m))return;let _=m.getSaveCopy(e.meta);e.elements.push(_)}),e.groups=[],Group.all.forEach(m=>{if(i.collection_only&&!o.includes(m))return;let _=m.getSaveCopy(!1);e.groups.push(_)}),e.outliner=Outliner.toJSON(),i.collection_only){let m=function(_){_.forEachReverse(f=>{typeof f=="string"?o.find(g=>g.uuid==f)||_.remove(f):(f.children instanceof Array&&m(f.children),f.uuid&&!o.find(g=>g.uuid==f.uuid)&&(!f.children||f.children.length==0)&&_.remove(f))})};m(e.outliner)}}function r(m,_,f){let g=m[_];i.absolute_paths==!1&&(m[_]=void 0)}e.textures=[],Texture.all.forEach(m=>{let _=m.getSaveCopy();r(_,"path","relative_path"),i.bitmaps!=!1&&(Settings.get("embed_textures")||i.backup||i.bitmaps==!0)&&(_.source=m.getDataURL(),_.internal=!0),e.textures.push(_)});for(let m of TextureGroup.all){e.texture_groups||(e.texture_groups=[]);let _=m.getSaveCopy();e.texture_groups.push(_)}let s=[];for(let m of Collection.all){let _=m.getSaveCopy();s.push(_)}if(s.length&&(e.collections=s),Animation.all.length&&(e.animations=[],Animation.all.forEach(m=>{let _=m.getUndoCopy({absolute_paths:i.absolute_paths},!0);e.animations.push(_),r(_,"path")})),AnimationController.all.length&&(e.animation_controllers=[],AnimationController.all.forEach(m=>{let _=m.getUndoCopy();r(_,"path"),e.animation_controllers.push(_)})),Interface.Panels.variable_placeholders.inside_vue._data.text&&(e.animation_variable_placeholders=Interface.Panels.variable_placeholders.inside_vue._data.text),Format.display_mode&&Object.keys(Project.display_settings).length>=1){var l={},c=0;for(var d in DisplayMode.slots){var a=DisplayMode.slots[d];DisplayMode.slots.hasOwnProperty(d)&&Project.display_settings[a]&&Project.display_settings[a].export&&(l[a]=Project.display_settings[a].export(),c++)}c&&(e.display=l)}if(!i.backup&&i.reference_images!=!1){let m=[];for(let _ of Project.reference_images)m.push(_.getSaveCopy());m.length&&(e.reference_images=m)}if(Object.keys(Project.export_options).length){e.export_options={};for(let m in Project.export_options)Object.keys(Project.export_options[m]).length&&(e.export_options[m]=Object.assign({},Project.export_options[m]))}if(i.history&&(e.history=[],Undo.history.forEach(m=>{var _={before:omitKeys(m.before,["aspects"]),post:omitKeys(m.post,["aspects"]),action:m.action,time:m.time};e.history.push(_)}),e.history_index=Undo.index),Blockbench.dispatchEvent("save_project",{model:e,options:i}),this.dispatchEvent("compile",{model:e,options:i}),Blockbench.removeFlag("compiling_bbmodel"),i.raw)return e;if(i.compressed){var u=compileJSON(e,{small:!0}),p="<lz>"+hw.compress(u,{outputEncoding:"StorageBinaryString"});return p}else return compileJSON(e,{small:Settings.get("minify_bbmodel")||i.minify})},parse(i,e){if(T5(i),A5(i),i.meta.model_format){if(!Formats[i.meta.model_format]){let a=Plugins.all.filter(r=>r.contributes?.formats?.includes(i.meta.model_format)),o={};for(let r of a)o[r.id]={icon:r.icon,text:tl("message.invalid_format.install_plugin",[r.title])};Blockbench.showMessageBox({translateKey:"invalid_format",message:tl("message.invalid_format.message",[i.meta.model_format]),commands:o},r=>{let s=r&&a.find(l=>l.id==r);s&&(BarItems.plugins_window.click(),Plugins.dialog.content_vue.selectPlugin(s))})}var t=Formats[i.meta.model_format]||Formats.free;t.select()}Blockbench.dispatchEvent("load_project",{model:i,path:e}),this.dispatchEvent("parse",{model:i}),i.meta.box_uv!==void 0&&Format.optional_box_uv&&(Project.box_uv=i.meta.box_uv);for(var n in ModelProject.properties)ModelProject.properties[n].merge(Project,i);if(e&&e!="backup.bbmodel"&&(Project.name=pathToName(e,!1)),i.overrides&&(Project.overrides=i.overrides),i.resolution!==void 0&&(Project.texture_width=i.resolution.width,Project.texture_height=i.resolution.height),i.texture_groups&&i.texture_groups.forEach(a=>{new TextureGroup(a,a.uuid).add(!1)}),i.textures&&i.textures.forEach(a=>{var o=new Texture(a,a.uuid).add(!1);a.source&&a.source.substr(0,5)=="data:"&&o.fromDataURL(a.source)}),i.skin_model&&Codecs.skin_model.rebuild(i.skin_model,i.skin_pose),i.elements){let a=Texture.getDefault();i.elements.forEach(o=>{let r=OutlinerElement.fromSave(o,!0);for(let s in r.faces)if(!Format.single_texture&&o.faces){let l=o.faces[s].texture!==null&&Texture.all[o.faces[s].texture];l&&(r.faces[s].texture=l.uuid)}else a&&r.faces&&r.faces[s].texture!==null&&!Format.single_texture_default&&(r.faces[s].texture=a.uuid);r.init()})}if(i.groups&&i.groups.forEach(a=>{new Group(a,a.uuid).init()}),i.outliner&&Outliner.loadJSON(i.outliner),i.collections instanceof Array)for(let a of i.collections)new Collection(a,a.uuid).add();if(i.animations&&i.animations.forEach(a=>{var o=new Animation;o.uuid=a.uuid,o.extend(a).add()}),i.animation_controllers&&i.animation_controllers.forEach(a=>{var o=new AnimationController;o.uuid=a.uuid,o.extend(a).add()}),i.animation_variable_placeholders&&(Interface.Panels.variable_placeholders.inside_vue._data.text=i.animation_variable_placeholders),i.display!==void 0&&DisplayMode.loadJSON(i.display),i.backgrounds)for(let a in i.backgrounds){let o=i.backgrounds[a],r=new ReferenceImage({position:[o.x,o.y+o.size/2],size:[o.size/2,o.size/2],layer:"background",is_blueprint:o.lock,source:o.image,name:o.image&&!o.image.startsWith("data:")?o.image.split([/[/\\]/]).last():"Reference"}).addAsReference()}if(i.reference_images&&i.reference_images.forEach(a=>{new ReferenceImage(a).addAsReference()}),i.export_options)for(let a in i.export_options)Project.export_options[a]=Object.assign({},i.export_options[a]);if(i.history&&(Undo.history=i.history.slice(),Undo.index=i.history_index),Canvas.updateAllBones(),Canvas.updateAllPositions(),Canvas.updateAllFaces(),ReferenceImage.updateAll(),Validator.validate(),this.dispatchEvent("parsed",{model:i}),i.editor_state){let a=i.editor_state;if(Merge.string(Project,a,"save_path"),Merge.string(Project,a,"export_path"),Merge.boolean(Project,a,"saved"),Merge.number(Project,a,"added_models"),Merge.string(Project,a,"mode"),Merge.string(Project,a,"tool"),Merge.boolean(Project,a,"exploded_view"),a.uv_viewport&&(Merge.number(Project.uv_viewport,a.uv_viewport,"zoom"),Merge.arrayVector2(Project.uv_viewport=a.uv_viewport,"offset")),a.previews)for(let o in a.previews)Project.previews[o]=a.previews[o];a.selected_elements.forEach(o=>{let r=Outliner.elements.find(s=>s.uuid==o);Project.selected_elements.push(r)}),a.selected_groups&&(Group.multi_selected=a.selected_groups.map(o=>Group.all.find(r=>r.uuid==o)).filter(o=>o instanceof Group)),(a.selected_texture&&Texture.all.find(o=>o.uuid==a.selected_texture))?.select(),Project.loadEditorState()}},merge(i,e){T5(i),A5(i),Blockbench.dispatchEvent("merge_project",{model:i,path:e}),this.dispatchEvent("merge",{model:i}),Project.added_models++;let t={},n={},a=[],o=[],r=[],s=[],l=Formats[i.meta.model_format];Undo.initEdit({elements:a,groups:o,textures:r,animations:Format.animation_mode&&s,outliner:!0,selection:!0,display_slots:Format.display_mode&&displayReferenceObjects.slots}),i.overrides instanceof Array&&Project.overrides instanceof Array&&Project.overrides.push(...i.overrides);let c=i.resolution.width||Project.texture_width,d=i.resolution.height||Project.texture_height;function u(m){Texture.all.find(g=>g.uuid==m.uuid)&&(n[m.uuid]=guid(),m.uuid=n[m.uuid]);var _=new Texture(m,m.uuid).add(!1);let f=0;for(;Texture.all.find(g=>g!==_&&g.id==f);)f++,_.id=f.toString();if(m.source&&m.source.substr(0,5)=="data:")return _.fromDataURL(m.source),_}if(i.texture_groups&&i.texture_groups.forEach(m=>{new TextureGroup(m,m.uuid).add(!1)}),i.textures&&r.replace(i.textures.map(u)),i.skin_model){let m=Outliner.elements.slice();Codecs.skin_model.rebuild(i.skin_model);for(let _ of Outliner.elements)m.includes(_)||a.push(_)}let p=!Format.per_texture_uv_size||!l?.per_texture_uv_size;if(i.elements){let m=r[0]||Texture.getDefault(),_=Formats[i.meta.model_format]||Format;i.elements.forEach(function(f){if(OutlinerElement.isTypePermitted(f.type)){if(Outliner.elements.find(x=>x.uuid==f.uuid)){let x=guid();t[f.uuid]=x,f.uuid=x}var g=OutlinerElement.fromSave(f,!0);if(g instanceof Cube)for(var v in g.faces){if(!_.single_texture&&f.faces){var b=f.faces[v].texture!==null&&r[f.faces[v].texture];b&&(g.faces[v].texture=b.uuid)}else m&&g.faces&&g.faces[v].texture!==null&&(g.faces[v].texture=m.uuid);if(!g.box_uv&&p){let x=g.faces[v].getTexture();x&&l?.per_texture_uv_size&&(c=x.uv_width,d=x.uv_height),g.faces[v].uv[0]*=Project.getUVWidth(x)/c,g.faces[v].uv[2]*=Project.getUVWidth(x)/c,g.faces[v].uv[1]*=Project.getUVHeight(x)/d,g.faces[v].uv[3]*=Project.getUVHeight(x)/d}}else if(g instanceof Mesh)for(let x in g.faces){if(!_.single_texture&&f.faces){var b=f.faces[x].texture!==null&&r[f.faces[x].texture];b&&(g.faces[x].texture=b.uuid)}else m&&g.faces&&g.faces[x].texture!==null&&(g.faces[x].texture=m.uuid);if(p)for(let w in g.faces[x].uv){let E=g.faces[x].getTexture();E&&l?.per_texture_uv_size&&(c=E.uv_width,d=E.uv_height),g.faces[x].uv[w][0]*=Project.getUVWidth(E)/c,g.faces[x].uv[w][1]*=Project.getUVHeight(E)/d}}g.init(),a.push(g)}})}if(i.groups&&i.groups.forEach(m=>{Group.all.find(f=>f.uuid==m.uuid)&&(m.uuid=t[m.uuid]=guid());let _=new Group(m,m.uuid).init();o.push(_)}),i.outliner){let m=function(_){_.forEach((f,g)=>{typeof f=="string"?t[f]&&(_[g]=t[f]):f&&f.uuid&&(t[f.uuid]&&(f.uuid=t[f.uuid]),f.children&&m(f.children))})};m(i.outliner),Outliner.loadJSON(i.outliner,!0)}if(i.collections instanceof Array)for(let m of i.collections){let _=new Collection(m,m.uuid);_.add();for(let f=0;f<_.children.length;f++)t[_.children[f]]&&(_.children[f]=t[_.children[f]])}if(i.animations&&Format.animation_mode&&i.animations.forEach(m=>{var _=new Animation;if(Animation.all.find(f=>f.uuid==m.uuid)&&(m.uuid=guid()),_.animators)for(let f in _.animators)t[f]&&(_.animators[t[f]]=_.animators[f],delete _.animators[f]);_.uuid=m.uuid,_.extend(m).add(),s.push(_)}),i.animation_controllers&&i.animation_controllers.forEach(m=>{var _=new AnimationController;AnimationController.all.find(f=>f.uuid==m.uuid)&&(m.uuid=guid()),_.uuid=m.uuid,_.extend(m).add()}),Format.bone_rig&&Group.all.forEachReverse(m=>m.createUniqueName()),i.animation_variable_placeholders){let m=Interface.Panels.variable_placeholders.inside_vue;m._data.text?m._data.text=m._data.text+`
`+i.animation_variable_placeholders:m._data.text=i.animation_variable_placeholders}i.display!==void 0&&DisplayMode.loadJSON(i.display),Undo.finishEdit("Merge project"),Canvas.updateAllBones(),Canvas.updateAllPositions(),Canvas.updateAllFaces(),ReferenceImage.updateAll(),this.dispatchEvent("parsed",{model:i})}});Formats.free.codec=hs;BARS.defineActions(function(){hs.export_action=new Action("save_project",{icon:"save",category:"file",keybind:new Keybind({key:"s",ctrl:!0,alt:!0}),condition:()=>Project,click:function(){saveTextures(!0),hs.export()}}),new Action("save_project_incremental",{icon:"difference",category:"file",keybind:new Keybind({key:"s",shift:!0,alt:!0}),condition:!1,click:function(){saveTextures(!0);let i=/\.bbmodel$/,e=/([0-9]+)\.bbmodel$/,t=e.exec(Project.save_path),n;if(t){let r=parseInt(t[1]);n=Project.save_path.replace(e,`${r+1}.bbmodel`)}else n=Project.save_path.replace(i,"_1.bbmodel");let a=n,o=1;for(;null.existsSync(n)&&o<100;)n=a.replace(i,`_alt_${o==1?"":o}.bbmodel`),o++;hs.write(hs.compile(),n)}}),new Action("save_project_as",{icon:"save",category:"file",keybind:new Keybind({key:"s",ctrl:!0,alt:!0,shift:!0}),condition:()=>Project,click:function(){saveTextures(!0),hs.export()}}),new Action("export_legacy_project",{icon:"save",name:"Export Legacy Project",description:"Export bbmodel file for Blockbench 4",category:"file",condition:()=>Project,click:function(){saveTextures(!0);let i=hs.compile({raw:!0});i.meta.format_version="4.10";function e(n,a){var o=[];function r(s,l){var c=0;for(var d of s){if(d.type==="group"){var u=d.compile(n);d.children.length>0&&r(d.children,u.children),l.push(u)}else if(n)l.push(d.uuid);else{var p=elements.indexOf(d);p>=0&&l.push(p)}c++}}return r(Outliner.root,o),o}i.outliner=e(!0),delete i.groups;for(let n of i.animations??[])for(let a in n.animators)for(let o of n.animators[a].keyframes??[])for(let r of o.data_points??[])(o.channel=="rotation"||o.channel=="position")&&r.x&&(r.x=Zs(r.x)),o.channel=="rotation"&&r.y&&(r.y=Zs(r.y));let t=compileJSON(i,{small:Settings.get("minify_bbmodel")});Blockbench.export({resource_id:"model",type:hs.name,extensions:[hs.extension],name:hs.fileName(),startpath:hs.startPath(),content:t},n=>hs.afterDownload(n))}}),new Action("import_project",{icon:"icon-blockbench_file",category:"file",condition:()=>Format&&!Format.pose_mode,click:function(){Blockbench.import({resource_id:"model",extensions:[hs.extension],type:hs.name,multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});hs.merge(t)})})}})});var Qae=["item/generated","minecraft:item/generated","item/handheld","minecraft:item/handheld","item/handheld_rod","minecraft:item/handheld_rod","builtin/generated","minecraft:builtin/generated"],bf=new Codec("java_block",{name:"Java Block/Item Model",remember:!0,extension:"json",support_partial_export:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.parent||i.elements||i.textures}},compile(i){i===void 0&&(i={});var e=[],t=[],n=[],a=[];function o(f){if(f.export!=!1){var g={};if(n[Cube.all.indexOf(f)]=e.length,(i.cube_name!==!1&&!settings.minifiedout.value||i.cube_name===!0)&&f.name!=="cube"&&(g.name=f.name),g.from=f.from.slice(),g.to=f.to.slice(),f.inflate)for(var v=0;v<3;v++)g.from[v]-=f.inflate,g.to[v]+=f.inflate;if(f.shade===!1&&(g.shade=!1),f.light_emission&&(g.light_emission=f.light_emission),!f.rotation.allEqual(0)||!f.origin.allEqual(0)&&settings.java_export_pivots.value){if(g.rotation=new oneLiner({}),!Format.rotation_limit&&(f.rotation.positiveItems()>1||f.rotation.some(A=>Math.abs(A)>45)))g.rotation.x=f.rotation[0],g.rotation.y=f.rotation[1],g.rotation.z=f.rotation[2];else{let A=f.rotationAxis()||"y",R=f.rotation[getAxisNumber(A)];g.rotation.angle=Format.rotation_snap?Math.round(R/22.5)*22.5:R,g.rotation.axis=A}g.rotation.origin=f.origin.slice()}f.rescale&&(g.rotation?g.rotation.rescale=!0:g.rotation=new oneLiner({angle:0,axis:f.rotation_axis||"y",origin:f.origin,rescale:!0})),Format.rotation_limit&&f.rotation.positiveItems()>=2&&(g.rotated=f.rotation);var b,x={};for(var w in f.faces)if(f.faces.hasOwnProperty(w)&&f.faces[w].texture!==null){var E=new oneLiner;if(f.faces[w].enabled!==!1&&(E.uv=f.faces[w].uv.slice(),E.uv.forEach((A,R)=>{E.uv[R]=A*16/UVEditor.getResolution(R%2)})),f.faces[w].rotation&&(E.rotation=f.faces[w].rotation),f.faces[w].texture){var y=f.faces[w].getTexture();y&&(E.texture="#"+y.id,t.safePush(y)),b=!0}E.texture||(E.texture="#missing"),f.faces[w].cullface&&(E.cullface=f.faces[w].cullface),f.faces[w].tint>=0&&(E.tintindex=f.faces[w].tint),x[w]=E}if(b||(g.color=f.color),g.faces=x,Format.cube_size_limiter){let A=function(R){return R<-16||R>32};(A(g.from[0])||A(g.from[1])||A(g.from[2])||A(g.to[0])||A(g.to[1])||A(g.to[2]))&&a.push(f)}Object.keys(g.faces).length&&e.push(g)}}function r(f){if(!(!f||!f.length))for(let g=0;g<f.length;g++)f[g].type==="cube"?o(f[g]):f[g].type==="group"&&r(f[g].children)}r(Outliner.root);function s(f,g){return f=i[f],f===void 0?g:f}var l=e.length===0&&s("parent",Project.parent!=""),c={};Texture.all.forEach(function(f,g){var v=f.javaTextureLink();f.particle&&(c.particle=v),!(!t.includes(f)&&!l)&&f.id!==v.replace(/^#/,"")&&(c[f.id]=v)}),i.prevent_dialog!==!0&&a.length>0&&settings.dialog_larger_cubes.value&&Blockbench.showMessageBox({translateKey:"model_clipping",icon:"settings_overscan",message:tl("message.model_clipping.message",[a.length]),buttons:["dialog.scale.select_overflow","dialog.ok"],confirm:1,cancel:1},f=>{f==0&&(selected.splice(0,1/0,...a),updateSelection())});var d={format_version:Project.java_block_version};if(s("comment",Project.credit||settings.credit.value)&&(d.credit=Project.credit||settings.credit.value),s("parent",Project.parent!="")&&(d.parent=Project.parent),s("ambientocclusion",Project.ambientocclusion===!1)&&(d.ambientocclusion=!1),Project.unhandled_root_fields.render_type&&(d.render_type=Project.unhandled_root_fields.render_type),(Project.texture_width!==16||Project.texture_height!==16)&&(d.texture_size=[Project.texture_width,Project.texture_height]),s("textures",Object.keys(c).length>=1)&&(d.textures=c),s("elements",e.length>=1)&&(d.elements=e),s("front_gui_light",Project.front_gui_light)&&(d.gui_light="front"),s("overrides",Project.overrides instanceof Array&&Project.overrides.length)&&(Project.overrides.forEach(f=>delete f._uuid),d.overrides=Project.overrides.map(f=>new oneLiner(f))),s("display",Object.keys(Project.display_settings).length>=1)){var u={},p=0;for(var m in DisplayMode.slots){var _=DisplayMode.slots[m];DisplayMode.slots.hasOwnProperty(m)&&Project.display_settings[_]&&Project.display_settings[_].export&&(u[_]=Project.display_settings[_].export(),p++)}p&&(d.display=u)}if(s("groups",settings.export_groups.value&&Group.all.length)){let g=function(b,x){let w=0;for(let E of b){if(E.type==="group"){if(E.export===!0){let y=E.compile(!1);E.children.length>0&&g(E.children,y.children),x.push(y)}}else{let y=n[elements.indexOf(E)];y>=0&&x.push(y)}w++}},f=[];g(Outliner.root,f);for(var m=0;m<f.length;)typeof f[m]=="object"&&(m=1/0),m++;m===1/0&&(d.groups=f)}for(let f in Project.unhandled_root_fields)d[f]===void 0&&(d[f]=Project.unhandled_root_fields[f]);return this.dispatchEvent("compile",{model:d,options:i}),i.raw?d:autoStringify(d)},parse(i,e,t={}){if(!i.elements&&!i.parent&&!i.display&&!i.textures){Blockbench.showMessageBox({translateKey:"invalid_model",icon:"error"});return}this.dispatchEvent("parse",{model:i});let n=typeof t=="boolean"?t:t.import_to_current_project,a=!1;var o=n?Texture.all.length:0,r=[],s=[];if(n){let w=[];Undo.initEdit({elements:r,outliner:!0,textures:s,groups:w}),Project.added_models++;var l=new Group(pathToName(e,!1)).init();w.push(l)}!n&&typeof i.format_version=="string"&&(Project.java_block_version=i.format_version),typeof(i.credit||i.__comment)=="string"&&(Project.credit=i.credit||i.__comment),i.texture_size instanceof Array&&!n&&(Project.texture_width=Math.clamp(parseInt(i.texture_size[0]),1,1/0),Project.texture_height=Math.clamp(parseInt(i.texture_size[1]),1,1/0)),i.display!==void 0&&DisplayMode.loadJSON(i.display),i.overrides instanceof Array&&(Project.overrides=i.overrides.slice());var c={},d={},u={};if(i.textures){var p=e.split(osfs);if(!p.includes("cit")){var m=p.length-p.indexOf("models");p.splice(-m)}var _=i.textures;for(var f in _)if(typeof _[f]=="string"&&f!="particle"){let w=_[f];w.startsWith("#")&&_[w.substring(1)]&&(w=_[w.substring(1)]);let E;u[w]?E=u[w]:E=new Texture({id:f}).fromJavaLink(w,p.slice(),t.externalDataLoader).add();let y=_[f].replace(/^minecraft:/,"");d[y]=c[f]=u[w]=E,s.safePush(E)}if(_.particle){let w=_.particle;if(w.startsWith("#")&&_[w.substring(1)]&&(w=_[w.substring(1)]),d[w.replace(/^minecraft:/,"")])d[w.replace(/^minecraft:/,"")].enableParticle();else{let E=new Texture({id:"particle"}).fromJavaLink(w,p.slice(),t.externalDataLoader).enableParticle().add();d[w.replace(/^minecraft:/,"")]=c.particle=E,s.push(E)}}for(var g=o;g<Texture.all.length;g++){var v=Texture.all[g];getTexturesById(v.id).length>1&&(v.id=Project.added_models+"_"+v.id)}Texture.all.length>0&&Texture.all.last().select()}var b=elements.length;if(i.elements&&i.elements.forEach(function(w){let E=new Cube(w);if(w.__comment&&(E.name=w.__comment),typeof w.rotation=="object")if(w.rotation.origin&&E.extend({origin:w.rotation.origin}),Merge.boolean(E,w.rotation,"rescale"),w.rotation.axis){if(w.rotation.angle&&w.rotation.axis){let L=getAxisNumber(w.rotation.axis);L>=0&&(E.rotation.V3_set(0),E.rotation[L]=w.rotation.angle)}w.rotation.origin&&(Merge.number(E.origin,w.rotation.origin,0),Merge.number(E.origin,w.rotation.origin,1),Merge.number(E.origin,w.rotation.origin,2)),typeof w.rotation.axis=="string"&&(E.rotation_axis=w.rotation.axis)}else(w.rotation.x||w.rotation.y||w.rotation.z)&&(E.extend({rotation:[w.rotation.x||0,w.rotation.y||0,w.rotation.z||0]}),a=!0);var y=!1;for(var A in E.faces)w.faces[A]&&!w.faces[A].uv&&(y=!0);y?(E.autouv=2,E.mapAutoUV()):E.autouv=0;for(var A in E.faces){var R=w.faces[A],j=E.faces[A];if(R===void 0)j.texture=null,j.uv=[0,0,0,0];else{if(typeof R.uv=="object"&&j.uv.forEach((U,J)=>{j.uv[J]=R.uv[J]*UVEditor.getResolution(J%2)/16}),R.texture==="#missing")j.texture=!1;else if(R.texture){var F=R.texture.replace(/^#/,""),O=c[F];if(!(O instanceof Texture))if(d[R.texture]){var O=d[R.texture];O.id==="particle"&&O.extend({id:F,name:"#"+F}).loadEmpty(3)}else{var O=new Texture({id:F,name:"#"+F}).add(!1).loadEmpty(3);c[F]=O,s.push(O)}j.texture=O.uuid}typeof R.tintindex=="number"&&(j.tint=R.tintindex)}}n?l&&(l.children.push(E),E.parent=l):(Outliner.root.push(E),E.parent="root"),E.init(),r.push(E)}),i.groups&&i.groups.length>0){let w=function(E,y,A){function R(j,F,O){for(var L=0;L<j.length;){if(typeof j[L]=="number"||typeof j[L]=="string"){if(typeof j[L]=="number")var U=elements[j[L]+(A||0)];else var U=OutlinerNode.uuids[j[L]];U&&(U.removeFromParent(),F.push(U),U.parent=O)}else{OutlinerNode.uuids[j[L].uuid]instanceof Group&&(OutlinerNode.uuids[j[L].uuid].removeFromParent(),delete OutlinerNode.uuids[j[L].uuid]);var U=new Group(j[L],j[L].uuid);U.parent=O,U.isOpen=!!j[L].isOpen,j[L].uuid&&(U.uuid=j[L].uuid),F.push(U),U.init(),j[L].children&&j[L].children.length>0&&R(j[L].children,U.children,U),j[L].content&&j[L].content.length>0&&R(j[L].content,U.children,U)}L++}}y instanceof Group&&A!==void 0?R(E,y.children,y):(y||(Group.all.forEach(j=>{j.removeFromParent()}),Group.all.empty()),R(E,Outliner.root,"root"))};n?l&&w(i.groups,l,b):w(i.groups)}if(l&&l.addTo().select(),!i.elements&&Qae.includes(i.parent)&&i.textures&&typeof i.textures.layer0=="string"){let w=new TextureMesh({name:i.textures.layer0,rotation:[90,180,0],local_pivot:[0,-7.5,-16],locked:!0,export:!1}).init();w.locked=!0,r.push(w)}else!i.elements&&i.parent&&Blockbench.showMessageBox({translateKey:"child_model_only",icon:"info",message:tl("message.child_model_only.message",[i.parent]),commands:!1&&{open:"message.child_model_only.open",open_with_textures:{text:"message.child_model_only.open_with_textures",condition:Texture.all.length>0}}},async E=>{if(typeof E=="string"){let F=function(L){loadModelFile(L,t),E=="open_with_textures"&&Texture.all.forEachReverse(U=>{if(U.error==3&&U.name.startsWith("#")){let J=c[U.name.replace(/#/,"")];J&&(U.fromPath(J.path,t.externalDataLoader),U.namespace=J.namespace)}})},y=i.parent.replace(/\w+:/,""),A=e.split(osfs),R=A.length-A.indexOf("models");A.splice(-R),A.push("models",...y.split("/"));let j=A.join(osfs)+".json",O;if(t.externalDataLoader){let L=t.externalDataLoader(j.replaceAll("\\","/"));if(L){L instanceof Uint8Array&&(L=new TextDecoder().decode(L));try{F({name:PathModule.basename(j),path:j,content:L}),O=!0}catch{}}}O||Blockbench.read([j],{},L=>F(L[0]))}});updateSelection(),a&&VersionUtil.compare(Project.java_block_version,"<","1.21.11")&&(Project.java_block_version="1.21.11"),i.parent!==void 0&&(Project.parent=i.parent),i.ambientocclusion===!1&&(Project.ambientocclusion=!1),i.gui_light==="front"&&(Project.front_gui_light=!0);let x=new Set(["textures","elements","groups","parent","display","__comment","credit","texture_size","overrides","ambientocclusion","gui_light"]);for(let w in i)x.has(w)||(Project.unhandled_root_fields[w]=i[w]);this.dispatchEvent("parsed",{model:i}),n&&Undo.finishEdit("Add block model"),Validator.validate()}}),vy=new ModelFormat({id:"java_block",extension:"json",icon:"icon-format_block",category:"minecraft",target:"Minecraft: Java Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.java_block.info.size")}
* ${tl("format.java_block.info.animation")}`.replace(/\t+/g,"")}]},render_sides:"front",model_identifier:!1,parent_model_id:!0,vertex_color_ambient_occlusion:!0,rotate_cubes:!0,rotation_limit:!1,rotation_snap:!1,optional_box_uv:!0,uv_rotation:!0,java_cube_shading_properties:!0,java_face_properties:!0,cullfaces:!0,animated_textures:!0,select_texture_for_particles:!0,texture_mcmeta:!0,display_mode:!0,texture_folder:!0,pbr:!0,cube_size_limiter:{coordinate_limits:[-16,32],test(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;return t.find((o,r)=>n[r]+a>32||n[r]+a<-16||t[r]-a>32||t[r]-a<-16)!==void 0},move(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;[0,1,2].forEach(o=>{var r=n[o]+a-32;r>0?(t[o]-=r,n[o]-=r,16+t[o]-a<0&&(t[o]=-16+a)):(r=t[o]-a+16,r<0&&(t[o]-=r,n[o]-=r,n[o]+a>32&&(n[o]=32-a)))})},clamp(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;[0,1,2].forEach(o=>{t[o]=Math.clamp(t[o]-a,-16,32)+a,n[o]=Math.clamp(n[o]+a,-16,32)-a})}},codec:bf});bf.format=vy;Object.defineProperty(vy,"rotation_snap",{get(){return Project.java_block_version=="1.9.0"}});Object.defineProperty(vy,"rotation_limit",{get(){try{return!VersionUtil.compare(Project.java_block_version,">=","1.21.11")}catch{return!0}}});BARS.defineActions(function(){bf.export_action=new Action({id:"export_blockmodel",icon:"icon-format_block",category:"file",condition:()=>Format==vy,click:function(){bf.export()}}),new Action("import_java_block_model",{icon:"assessment",category:"file",condition:()=>Format==vy,click:function(){Blockbench.import({resource_id:"model",extensions:["json"],type:bf.name,multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});bf.parse(t,e.path,{import_to_current_project:!0})})})}})});var by=new AnimationCodec("bedrock",{pickFile(){let i=Project.export_path;Blockbench.import({resource_id:"animation",extensions:["json"],type:"JSON Animation, JSON Animation Controller",multiple:!0,startpath:i},async e=>{for(let t of e)await this.importFile(t)})},importFile(i,e){let t=this,n={};e&&i.path&&(n._path={type:"info",text:i.path});let a=autoParseJSON(i.content,{file_path:i.path}),o=[],r=!!a.animation_controllers,s=a.animations||a.animation_controllers;for(var l in s){if(0)for(var c of r?AnimationController.all:Animation.all);n["anim"+l.hashCode()]={label:l,type:"checkbox",value:!0},o.push(l)}if(i.json=a,o.length==0)Blockbench.showQuickMessage("message.no_animation_to_import");else if(o.length==1){Undo.initEdit({animations:[]});let d=t.loadFile(i,o);Undo.finishEdit("Import animations",{animations:d})}else return new Promise(d=>{let u=["dialog.ok","dialog.ignore"];e&&Project?.memory_animation_files_to_load?.length>1&&u.push("dialog.ignore_all");let p=new Dialog({id:"animation_import",title:"dialog.animation_import.title",form:n,buttons:u,cancelIndex:1,onConfirm(m){this.hide();let _=[];for(var f of o)m["anim"+f.hashCode()]&&_.push(f);Undo.initEdit({animations:[]});let g=t.loadFile(i,_);Undo.finishEdit("Import animations",{animations:g}),d()},onCancel(m){Project.memory_animation_files_to_load&&Project.memory_animation_files_to_load.remove(i.path),d()},onButton(m){e&&m==2&&Project.memory_animation_files_to_load&&Project.memory_animation_files_to_load.empty(),d()}});n.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(m){let _={};o.forEach(f=>_["anim"+f.hashCode()]=m==0),p.setFormValues(_)}},p.show()})},loadFile(i,e){var t=i.json||autoParseJSON(i.content,{file_path:i.path});let n=i.path,a=[];function o(b){return typeof b=="string"?b.replace(/;\s*(?!$)/g,`;
`):b}if(!t)return a;if(typeof t.animations=="object"){for(let b in t.animations)if(!(e&&!e.includes(b))){var r=t.animations[b],s=new Animation({name:b,saved_name:b,path:n,loop:r.loop&&(r.loop=="hold_on_last_frame"?"hold":"loop"),override:r.override_previous_animation,anim_time_update:o(r.anim_time_update),blend_weight:o(r.blend_weight),start_delay:o(r.start_delay),loop_delay:o(r.loop_delay),length:r.animation_length}).add();if(r.bones){let w=function(y){if(typeof y!="string")return;y=y.replace(/v\./,"variable.").replace(/q\./,"query.").replace(/t\./,"temp.").replace(/c\./,"context.").toLowerCase();let A=y.match(/(query|variable|context|temp)\.\w+(\([^)]*\))?/gi);A&&A.forEach(R=>{let j=Interface.Panels.variable_placeholders.inside_vue;if(x.includes(R)||j.text.split(`
`).find(L=>L.substr(0,R.length)==R))return;let[F,O]=R.split(/\./);j.text!=""&&j.text.substr(-1)!==`
`&&(j.text+=`
`),O=O.replace(/[')]/g,"").replace("(",":"),O=="modified_distance_moved"?j.text+=`${R} = time * 8`:O.match(/is_|has_|can_|blocking/)?j.text+=`${R} = toggle('${O}')`:j.text+=`${R} = slider('${O}')`})},E=function(y,A){if(y instanceof Array){y.forEach(w);let R={x:y[0],y:y[1],z:y[2]};return A=="position"&&(R.x=invertMolang(R.x)),A=="rotation"&&(R.x=invertMolang(R.x),R.y=invertMolang(R.y)),[R]}else{if(["number","string"].includes(typeof y))return w(y),[{x:y,y,z:y}];if(typeof y=="object"){let R=[];return y.pre&&R.push(E(y.pre,A)[0]),y.post&&!(y.pre instanceof Array&&y.post instanceof Array&&y.post.equals(y.pre))&&R.push(E(y.post,A)[0]),R}}},x=["query.anim_time","query.life_time","query.time_stamp","query.delta_time","query.camera_rotation","query.rotation_to_camera","query.distance_from_camera","query.lod_index","query.camera_distance_range_lerp"];for(var l in r.bones){var c=r.bones[l];let y=l.toLowerCase();var d=Group.all.find(R=>R.name.toLowerCase()==y);let A=d?d.uuid:guid();var u=new BoneAnimator(A,s,l);s.animators[A]=u;for(var p in c){if(!BoneAnimator.prototype.channels[p])continue;if(typeof c[p]=="string"||typeof c[p]=="number"||c[p]instanceof Array)u.addKeyframe({time:0,channel:p,uniform:!(c[p]instanceof Array),data_points:E(c[p],p)});else if(typeof c[p]=="object"&&c[p].post)u.addKeyframe({time:0,channel:p,interpolation:c[p].lerp_mode,uniform:!(c[p].post instanceof Array),data_points:E(c[p],p)});else if(typeof c[p]=="object")for(var m in c[p])u.addKeyframe({time:parseFloat(m),channel:p,interpolation:c[p][m].lerp_mode,uniform:!(c[p][m]instanceof Array),data_points:E(c[p][m],p)});let R=u[p].slice().sort((F,O)=>F.time-O.time),j=!1;R.forEach((F,O)=>{let L=R[O+1];L&&L.data_points.length==2&&F.getArray(1).equals(L.getArray(0))?(L.data_points.splice(0,1),F.interpolation="step",j=!0):!L&&j&&(F.interpolation="step")})}c.relative_to&&c.relative_to.rotation=="entity"&&(u.rotation_global=!0)}}if(r.sound_effects){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.sound_effects){var _=r.sound_effects[m];_ instanceof Array||(_=[_]),s.animators.effects.addKeyframe({channel:"sound",time:parseFloat(m),data_points:_})}}if(r.particle_effects){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.particle_effects){var f=r.particle_effects[m];f instanceof Array||(f=[f]),f.forEach(w=>{w&&(w.script=w.pre_effect_script)}),s.animators.effects.addKeyframe({channel:"particle",time:parseFloat(m),data_points:f})}}if(r.timeline){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.timeline){var g=r.timeline[m],v=g instanceof Array?g.join(`
`):g;if(typeof v=="string"){let w=Interface.Panels.variable_placeholders.inside_vue,E=v.match(/(v|variable)\.texture\w*\s*=/);E&&!w.text.includes("preview.texture =")&&(w.text!=""&&w.text.substr(-1)!==`
`&&(w.text+=`
`),w.text+=`preview.texture = ${E[0].replace(/\s*=$/,"")}`)}s.animators.effects.addKeyframe({channel:"timeline",time:parseFloat(m),data_points:[{script:v}]})}}s.calculateSnappingFromKeyframes(),s.setScopeFromAnimators(),!Animation.selected&&Animator.open&&s.select(),a.push(s),Blockbench.dispatchEvent("load_animation",{animation:s,json:t})}}else typeof t.animation_controllers=="object"&&AnimationCodec.codecs.bedrock_animation_controller.loadFile(i,e);return a},reloadAnimation(i){Blockbench.read([i.path],{},([e])=>{Undo.initEdit({animations:[i]});let t=Animation.all.indexOf(i);i.remove(!1,!1);let[n]=by.loadFile(e,[i.name]);n?(Animation.all.remove(n),Animation.all.splice(t,0,n),Undo.finishEdit("Reload animation",{animations:[n]})):Undo.cancelEdit()})},reloadFile(i){let e=i,t=Animation.all.filter(r=>r.path==e&&r.saved),n=AnimationController.all.filter(r=>r.path==e&&r.saved);if(!t.length&&!n.length)return;Undo.initEdit({animations:t,animation_controllers:n});let a=[],o=AnimationItem.selected?.name;t.forEach(r=>{a.push(r.name),r.remove(!1,!1)}),n.forEach(r=>{a.push(r.name),r.remove(!1,!1)}),Blockbench.read([e],{},([r])=>{let s=by.loadFile(r,a),l=s.find(c=>c.name==o);l&&l.select(),s[0]instanceof AnimationController?Undo.finishEdit("Reload animation controller file",{animation_controllers:s,animations:[]}):Undo.finishEdit("Reload animation file",{animations:s,animation_controllers:[]})})},compileAnimation(i){let e={};i.loop=="hold"?e.loop="hold_on_last_frame":(i.loop=="loop"||i.getMaxLength()==0)&&(e.loop=!0),i.length&&(e.animation_length=Math.roundTo(i.length,4)),i.override&&(e.override_previous_animation=!0),i.anim_time_update&&(e.anim_time_update=exportMolang(i.anim_time_update)),i.blend_weight&&(e.blend_weight=exportMolang(i.blend_weight)),i.start_delay&&(e.start_delay=exportMolang(i.start_delay)),i.loop_delay&&e.loop&&(e.loop_delay=exportMolang(i.loop_delay)),e.bones={};for(var t in i.animators){var n=i.animators[t];if(!(!n.keyframes.length&&!n.rotation_global)){if(n instanceof EffectAnimator)n.sound.sort((c,d)=>c.time-d.time).forEach(c=>{e.sound_effects||(e.sound_effects={}),e.sound_effects[c.getTimecodeString()]=c.compileBedrockKeyframe()}),n.particle.sort((c,d)=>c.time-d.time).forEach(c=>{e.particle_effects||(e.particle_effects={}),e.particle_effects[c.getTimecodeString()]=c.compileBedrockKeyframe()}),n.timeline.sort((c,d)=>c.time-d.time).forEach(c=>{e.timeline||(e.timeline={}),e.timeline[c.getTimecodeString()]=c.compileBedrockKeyframe()});else if(n.type=="bone"){var a=n.getGroup(),o=e.bones[a?a.name:n.name]={};n.rotation_global&&(o.relative_to={rotation:"entity"},o.rotation=[0,0,.01]);for(var r in Animator.possible_channels){if(!n[r]?.length)continue;o[r]={};let c=n[r].slice().sort((u,p)=>u.time-p.time);c.forEach((u,p)=>{let m=u.getTimecodeString();o[r][m]=u.compileBedrockKeyframe(),n.rotation_global&&u.channel=="rotation"&&o[u.channel][m]instanceof Array&&o[u.channel][m].allEqual(0)&&(o[u.channel][m][2]=.01);let _=c[p+1];if(_&&(u.interpolation==="bezier"||_.interpolation==="bezier")){let f=1/i.snapping,g={};for(let w=u.time+f;w<_.time+f/2;w+=f){let E=trimFloatNumber(Timeline.snapTime(w,i)).toString();E.includes(".")||(E+=".0");let y=Math.getLerp(u.time,_.time,w),A=[0,1,2].map(R=>u.getBezierLerp(u,_,getAxisLetter(R),y));(r=="position"||r=="rotation")&&(A[0]=-A[0]),r=="rotation"&&(A[1]=-A[1]),g[E]=A}let v=Object.keys(g),b=0,x=r=="scale"?.005:r=="rotation"?.1:.01;v.forEach((w,E)=>{let y=g[w],A=g[v[E-1]]||o[r][m],R=g[v[E+1]];if(!R)return;let j=0;y.allAre((O,L)=>{let U=Math.abs(A[L]-O-(O-R[L]));return j=Math.max(j,U),U<x})&&b<Math.clamp(2*(x/j),0,12)?b++:(o[r][w]=y,b=0)})}});let d=Object.keys(o[r]);d.length===1&&n[r][0].data_points.length==1&&n[r][0].interpolation!="catmullrom"&&(o[r]=o[r][d[0]],r=="scale"&&o[r]instanceof Array&&o[r].allEqual(o[r][0])&&(o[r]=o[r][0]))}}}}let s=i.sampleIK(),l=settings.animation_sample_rate.value;for(let c in s){let d=OutlinerNode.uuids[c];var o=e.bones[d?d.name:n.name]={};o.rotation={},s[c].forEach((p,m)=>{let _=trimFloatNumber(Timeline.snapTime(m/l,i)).toString();_.includes(".")||(_+=".0"),p.array[0]=invertMolang(p.array[0]),p.array[1]=invertMolang(p.array[1]),o.rotation[_]=p.array})}return Object.keys(e.bones).length==0&&delete e.bones,Blockbench.dispatchEvent("compile_bedrock_animation",{animation:i,json:e}),e},compileFile(i){var e={};return i.forEach(t=>{let n=this.compileAnimation(t);e[t.name]=n}),{format_version:"1.8.0",animations:e}},saveAnimation(i){let e={format_version:"1.8.0",animations:{[i.name]:this.compileAnimation(i)}};if(0){if(null.existsSync(i.path))try{}catch(a){var t}}else Blockbench.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",startpath:i.path,content:compileJSON(e)},n=>{i.path==n,i.saved=!0})},exportFile(i,e){let t=i||"";if(0)var n,a;let o=Animator.animations.filter(r=>r.path==t);{let r=this.compileFile(o);Blockbench.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",startpath:i,content:autoStringify(r),custom_writer:!1},s=>{o.forEach(function(l){l.path=s,l.saved=!0})})}},deleteAnimationFromFile(i){let e=null.readFileSync(i.path,"utf-8"),t=autoParseJSON(e,!1);t&&t.animations&&t.animations[i.name]&&(delete t.animations[i.name],Blockbench.writeFile(i.path,{content:compileJSON(t)}),Undo.history.last().before.animations[i.uuid].saved=!1)}});Blockbench.on("edit_animation_properties",({animation:i})=>{AnimationCodec.getCodec()==by&&(i.name=i.name.trim().replace(/\s+/g,"_"))});var dye=new vf("bedrock_animation_controller",{multiple_per_file:!0,loadFile(i,e){var t=i.json||autoParseJSON(i.content,{file_path:i.path});let n=i.path,a=[];if(!t)return a;if(typeof t.animations=="object")return vf.codecs.bedrock.loadFile(i,e);if(typeof t.animation_controllers=="object")for(let o in t.animation_controllers){if(e&&!e.includes(o))continue;let r=t.animation_controllers[o],s=new AnimationController({name:o,saved_name:o,path:n,states:r.states,initial_state:r.initial_state||(r.states?.default?"default":void 0)}).add();!Animation.selected&&!AnimationController.selected&&Animator.open&&s.select(),a.push(s),Blockbench.dispatchEvent("load_animation_controller",{animation_controller:s,json:t})}return a},compileAnimation(i){return i.compileForBedrock()},compileFile(i){let e={};return i.forEach(function(t){let n=t.compileForBedrock();e[t.name]=n}),{format_version:"1.19.0",animation_controllers:e}},exportFile(i,e){let t=i||"";if(0)var n,a;{let o=Animator.animations.filter(s=>s.path==t||!s.path&&!t),r=this.compileFile(o);Blockbench.export({resource_id:"animation_controller",type:"JSON Animation Controller",extensions:["json"],name:(Project.geometry_name||"model")+".animation_controllers",startpath:i,content:autoStringify(r),custom_writer:!1},s=>{AnimationController.all.forEach(function(l){l.path==t&&(l.path=s,l.saved=!0)})})}},deleteAnimationFromFile(i){let e=null.readFileSync(i.path,"utf-8"),t=autoParseJSON(e,!1);t&&t.animation_controllers&&t.animation_controllers[i.name]&&(delete t.animation_controllers[i.name],Blockbench.writeFile(i.path,{content:compileJSON(t)}),Undo.history.last().before.animation_controllers[i.uuid].saved=!1)}});var I1=new Codec("bedrock_voxel_shape",{name:"Bedrock Voxel Shape",extension:"json",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i["minecraft:voxel_shape"]}},parse(i,e,t={}){this.dispatchEvent("parse",{model:i});let n=i["minecraft:voxel_shape"];n.description.identifier&&!t.import_to_current_project&&(Project.model_identifier=n.description.identifier);let a=[],o=[];t.import_to_current_project&&Undo.initEdit({elements:a,groups:o,outliner:!0});let r=new Group({name:"voxel_shape"}).init(),s=[-8,0,-8],l=0;for(let c of n.shape.boxes){let d=new Jo({from:c.min.slice().V3_add(s),to:c.max.slice().V3_add(s),color:6});d.init().addTo(r),a.push(d),l++}t.import_to_current_project&&(o.push(r),Undo.finishEdit("Import bounding box")),this.dispatchEvent("parsed",{model:i}),Validator.validate()},compile(i={}){let e={description:{identifier:Project.model_identifier},shape:{boxes:[]}},t=[-8,0,-8];for(let a of Jo.all){let o=a;if(o.export==!1)continue;let r={min:o.from.slice().V3_subtract(t),max:o.to.slice().V3_subtract(t)};e.shape.boxes.push(r)}let n={format_version:"1.21.110","minecraft:voxel_shape":e};return this.dispatchEvent("compile",{model:n,options:i}),i.raw?n:autoStringify(n)},fileName(){var i=Project.name||"model";return i.match(/\.geo$/)||(i+=".geo"),i}});function P5(i,e,t=!1){i instanceof Array||(i=[i]);let n=[];Outliner.selected.empty();for(let a of i){if(typeof a!="object"||!(a.origin instanceof Array)||!(a.size instanceof Array))return;n.length==0&&t&&Undo.initEdit({elements:n,outliner:!0});let o=new Jo({name:e,from:[-(a.origin[0]+a.size[0]),a.origin[1],a.origin[2]],to:[-a.origin[0],a.origin[1]+a.size[1],a.origin[2]+a.size[2]],function:[e=="selection"?"hitbox":"collision"],color:e=="selection"?0:2});o.addTo().init(),n.push(o),o.markAsSelected()}return updateSelection(),n.length&&t&&Undo.finishEdit("Paste bounding boxes"),n}BARS.defineActions(function(){I1.format=Formats.bedrock_block,I1.export_action=new Action("export_bedrock_voxel_shape",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"],method:()=>Jo.all.length>0},click(){I1.export()}}),new Action("import_bedrock_voxel_shape",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"]},click(){bn.importFile({resource_id:"bedrock_voxel_shape",extensions:["json"],type:"Voxel Shape",multiple:!0,readtype:"text"},e=>{for(let t of e){let n=autoParseJSON(t.content);I1.parse(n,t.path,{import_to_current_project:!0})}})}}),new Action("generate_bedrock_block_box",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"]},click(){if(!Jo.all.length)return Blockbench.showQuickMessage("dialog.bedrock_bounding_box.no_bounding_boxes");function e(t,n){let a=Jo.all;if(a.some(l=>l.function.length)){let l=t=="collision_box"?"collision":"hitbox";a=a.filter(c=>c.function.includes(l))}let o=a.map(l=>({origin:[-l.to[0],l.from[1],l.from[2]],size:l.size()}));if(t=="selection_box"){let{origin:l,size:c}=o[0],d=l[0],u=l[1],p=l[2],m=l[0]+c[0],_=l[1]+c[1],f=l[2]+c[2];for(let g=1;g<o.length;g++){let{origin:v,size:b}=o[g];d=Math.min(d,v[0]),u=Math.min(u,v[1]),p=Math.min(p,v[2]),m=Math.max(m,v[0]+b[0]),_=Math.max(_,v[1]+b[1]),f=Math.max(f,v[2]+b[2])}o=[{origin:[d,u,p],size:[m-d,_-u,f-p]}]}let r=o;return o.length==1&&o[0].origin.equals([-8,0,-8])&&o[0].size.equals([16,16,16])?r=!0:o.length==1?r=o[0]:o.length==0&&(r=!1),`"minecraft:${t}": `+compileJSON(r,{small:n})}new Dialog({id:"generate_bedrock_block_box",title:"action.generate_bedrock_block_box",form:{type:{label:"dialog.bedrock_bounding_box.type",type:"inline_select",options:{collision_box:"dialog.bedrock_bounding_box.type.collision_box",selection_box:"dialog.bedrock_bounding_box.type.selection_box"}},minify:{type:"checkbox",label:"Minify"},output:{type:"textarea",style:"code",value:e("collision_box",!1),full_width:!0,readonly:!0,share_text:!0}},onFormChange(t){let n=e(t.type,t.minify);Dialog.open.setFormValues({output:n},!1)},singleButton:!0}).show()}}),new Action("generate_bedrock_entity_box",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock"]},click(){if(!Jo.all.length)return Blockbench.showQuickMessage("dialog.bedrock_bounding_box.no_bounding_boxes");function e(t,n){let a=Jo.all;if(a.some(o=>o.function.length)){let o=t=="collision_box"?"collision":"hitbox";a=a.filter(r=>r.function.includes(o))}if(t=="collision_box"){let o='"minecraft:collision_box": ',r=a[0],s={width:r.size(0)/16,height:r.size(1)/16};return o+compileJSON(s,{small:n})}else{let o='"minecraft:custom_hit_test": ',r=a.map(s=>{let l=s.to.slice().V3_add(s.from).V3_divide(2);return{width:s.size(0)/16,height:s.size(1)/16,pivot:[-l[0]/16,l[1]/16,l[2]/16]}});return o+compileJSON({hitboxes:r},{small:n})}}new Dialog({id:"generate_bedrock_entity_box",title:"action.generate_bedrock_entity_box",form:{type:{label:"dialog.bedrock_bounding_box.type",type:"inline_select",options:{collision_box:"dialog.bedrock_bounding_box.type.collision_box",hitbox:"dialog.bedrock_bounding_box.type.hitbox"}},minify:{type:"checkbox",label:"Minify"},output:{type:"textarea",style:"code",value:e("collision_box",!1),full_width:!0,readonly:!0,share_text:!0},collision_note:{type:"info",text:"dialog.bedrock_bounding_box.collision_note",condition:t=>t.type=="collision_box"},hitbox_note:{type:"info",text:"dialog.bedrock_bounding_box.hitbox_note",condition:t=>t.type=="hitbox"}},onFormChange(t){let n=e(t.type,t.minify);Dialog.open.setFormValues({output:n},!1)},singleButton:!0}).show()}});let i=["bedrock","bedrock_block"];Blockbench.on("drop_text paste_text",e=>{if(!Format||!i.includes(Format.id))return;let t=e.text.replace(/\s+/g,"");if(t.startsWith('"minecraft:selection_box"')||t.startsWith('"minecraft:collision_box"')){let n=t.replace(/^"[^"]*"\s*:\s*/,"").replace(/[,\s]+$/,""),a=autoParseJSON(n,!0);if(!a)return;let o=/minecraft:(\w+)/.exec(t)?.[1]??"box";P5(a,o,!0)}})});var eoe={loadBedrockCollisionFromJSON:P5};Object.assign(window,eoe);function B5(){var i=new THREE.Box3;Canvas.withoutGizmos(()=>{Cube.all.forEach(r=>{r.export&&r.mesh&&i.expandByObject(r.mesh)})});var e=new THREE.Vector3(8,8,8);i.max.add(e),i.min.add(e);var t=Math.max(i.max.x,i.max.z,-i.min.x,-i.min.z);Math.abs(t)===1/0&&(t=0);let n=Math.ceil(t*2/16);n=Math.max(n,Project.visible_box[0]),Project.visible_box[0]=n;let a=Math.floor(i.min.y/16),o=Math.ceil(i.max.y/16);return a===1/0&&(a=0),o===1/0&&(o=0),a=Math.min(a,Project.visible_box[2]-Project.visible_box[1]/2),o=Math.max(o,Project.visible_box[2]+Project.visible_box[1]/2),Project.visible_box.replace([n,o-a,(o+a)/2]),Project.visible_box}window.calculateVisibleBox=B5;function R5(i,e,t){var n=new Cube({name:i.name||e.name,autouv:0,color:e.color,rotation:i.rotation,origin:i.pivot});if(n.rotation.forEach(function(s,l){l!=2&&(n.rotation[l]*=-1)}),n.origin[0]*=-1,i.origin&&(n.from.V3_set(i.origin),n.from[0]=-(n.from[0]+i.size[0]),i.size&&(n.to[0]=i.size[0]+n.from[0],n.to[1]=i.size[1]+n.from[1],n.to[2]=i.size[2]+n.from[2])),i.uv instanceof Array)n.uv_offset[0]=i.uv[0],n.uv_offset[1]=i.uv[1],n.box_uv=!0;else if(i.uv){n.box_uv=!1;for(var a in n.faces){var o=n.faces[a];i.uv[a]?(o.extend({material_name:i.uv[a].material_instance,uv:[i.uv[a].uv[0],i.uv[a].uv[1]],rotation:i.uv[a].uv_rotation}),i.uv[a].uv_size?o.uv_size=[i.uv[a].uv_size[0],i.uv[a].uv_size[1]]:(n.autouv=1,n.mapAutoUV()),(a=="up"||a=="down")&&(o.uv=[o.uv[2],o.uv[3],o.uv[0],o.uv[1]])):(o.texture=null,o.uv=[0,0,0,0],o.rotation=0)}}let r=i.inflate??t?.inflate;return typeof r=="number"&&(n.inflate=r),i.mirror===void 0?n.mirror_uv=e.mirror_uv:n.mirror_uv=i.mirror===!0,n.addTo(e).init(),n}function j5(i,e,t){var n=new Group({name:i.name,origin:i.pivot,rotation:i.rotation,material:i.material,bedrock_binding:i.binding,color:Group.all.length%markerColors.length}).init();if(n.createUniqueName(),e[i.name]=n,i.pivot&&(n.origin[0]*=-1),n.rotation.forEach(function(o,r){r!==2&&(n.rotation[r]*=-1)}),n.mirror_uv=i.mirror===!0,n.reset=i.reset===!0,i.cubes&&i.cubes.forEach(function(o){R5(o,n,i)}),i.locators)for(let o in i.locators){let r,s,l;i.locators[o]instanceof Array?r=i.locators[o]:(r=i.locators[o].offset,s=i.locators[o].rotation,l=i.locators[o].ignore_inherited_scale),r[0]*=-1,s instanceof Array&&(s[0]*=-1,s[1]*=-1),o.substr(0,6)=="_null_"&&i.locators[o]instanceof Array?new NullObject({from:r,name:o.substr(6)}).addTo(n).init():new Locator({position:r,name:o,rotation:s,ignore_inherited_scale:l}).addTo(n).init()}i.texture_meshes instanceof Array&&i.texture_meshes.forEach(o=>{let r=Texture.all.find(l=>l.name==o.texture),s=new TextureMesh({texture_name:o.texture,texture:r?r.uuid:null,origin:o.position,rotation:o.rotation,local_pivot:o.local_pivot,scale:o.scale});s.local_pivot[2]*=-1,s.origin[1]*=-1,i.pivot&&(s.origin[1]+=i.pivot[1]),s.origin[0]*=-1,s.rotation[0]*=-1,s.rotation[1]*=-1,s.addTo(n).init()}),i.children&&i.children.forEach(function(o){o.addTo(n)});var a="root";i.parent&&(e[i.parent]?a=e[i.parent]:t.forEach(function(o){o.name===i.parent&&(o.children&&o.children.length?o.children.push(n):o.children=[n])})),n.addTo(a)}function yf(i,e={}){let{description:t}=i.object,n=t.identifier&&t.identifier.replace(/^geometry\./,"")||"";if(e.switch_to_existing_tab!=!1){let r=!1;if(r){Project.close().then(()=>{r.select()});return}}Bl.dispatchEvent("parse",{model:i.object}),e.import_to_current_project?e.collection&&(e.collection.model_identifier=n):(Project.model_identifier=n,Project.texture_width=16,Project.texture_height=16),typeof t.visible_bounds_width=="number"&&typeof t.visible_bounds_height=="number"&&(Project.visible_box[0]=Math.max(Project.visible_box[0],t.visible_bounds_width||0),Project.visible_box[1]=Math.max(Project.visible_box[1],t.visible_bounds_height||0),t.visible_bounds_offset&&typeof t.visible_bounds_offset[1]=="number"&&(Project.visible_box[2]=t.visible_bounds_offset[1]||0)),t.texture_width!==void 0&&(Project.texture_width=t.texture_width),t.texture_height!==void 0&&(Project.texture_height=t.texture_height),i.object.item_display_transforms!==void 0&&(DisplayMode.loadJSON(i.object.item_display_transforms),i.object.item_display_transforms.gui&&i.object.item_display_transforms.gui.fit_to_frame==null&&(Project.display_settings.gui.fit_to_frame=!0));var a={};if(i.object.bones){var o=[];i.object.bones.forEach(function(r){o.push(r.name)}),i.object.bones.forEach(function(r){j5(r,a,i.object.bones)})}Project.box_uv=Cube.all.filter(r=>r.box_uv).length>Cube.all.length/2,Bl.dispatchEvent("parsed",{model:i.object}),Canvas.updateAllBones(),setProjectTitle(),Validator.validate(),updateSelection()}function I5(i,e){var t={origin:i.from.slice(),size:i.size(),inflate:i.inflate||void 0};if(i.box_uv&&(t=new oneLiner(t)),t.origin[0]=-(t.origin[0]+t.size[0]),i.rotation.allEqual(0)||(t.pivot=i.origin.slice(),t.pivot[0]*=-1,t.rotation=i.rotation.slice(),t.rotation.forEach(function(o,r){r!=2&&(t.rotation[r]*=-1)})),i.box_uv)t.uv=i.uv_offset,i.mirror_uv===!e.mirror&&(t.mirror=i.mirror_uv);else{t.uv={};for(var n in i.faces){var a=i.faces[n];a.texture!==null&&(t.uv[n]=new oneLiner({uv:[a.uv[0],a.uv[1]],uv_size:[a.uv_size[0],a.uv_size[1]]}),a.rotation&&(t.uv[n].uv_rotation=a.rotation),a.material_name&&(t.uv[n].material_instance=a.material_name),(n=="up"||n=="down")&&(t.uv[n].uv[0]+=t.uv[n].uv_size[0],t.uv[n].uv[1]+=t.uv[n].uv_size[1],t.uv[n].uv_size[0]*=-1,t.uv[n].uv_size[1]*=-1))}}return t}function D5(i){if(i.type==="group"){if(i.export==!1){let r=function(s){for(let l of s.children)if(l.export==!0||"children"in l&&r(l))return!0};if(!r(i))return!1}if(!(!settings.export_empty_groups.value&&!i.children.find(r=>r.export))&&!(i.children.length&&i.children.allAre(r=>r instanceof BoundingBox))){var e={};e.name=i.name,i.parent.type==="group"&&(e.parent=i.parent.name),e.pivot=i.origin.slice(),e.pivot[0]*=-1,i.rotation.allEqual(0)||(e.rotation=i.rotation.slice(),e.rotation[0]*=-1,e.rotation[1]*=-1),i.bedrock_binding&&(e.binding=i.bedrock_binding),i.reset&&(e.reset=!0),i.mirror_uv&&Project.box_uv&&(e.mirror=!0),i.material&&(e.material=i.material);var t=[],n={},a=[];for(var o of i.children)if(o.export){if(o instanceof Cube){let r=I5(o,e);t.push(r)}else if(o instanceof Locator||o instanceof NullObject){let r=o.name;o instanceof NullObject&&(r="_null_"+r);let s=o.position.slice();s[0]*=-1,o.getTypeBehavior("rotatable")&&!o.rotation.allEqual(0)||o.ignore_inherited_scale?(n[r]={offset:s},o.getTypeBehavior("rotatable")&&(n[r].rotation=[-o.rotation[0],-o.rotation[1],o.rotation[2]]),o.ignore_inherited_scale&&(n[r].ignore_inherited_scale=!0)):n[r]=s}else if(o instanceof TextureMesh){let r={texture:o.texture_name,position:o.origin.slice()};r.position[0]*=-1,r.position[1]-=e.pivot[1],r.position[1]*=-1,o.rotation.allEqual(0)||(r.rotation=[-o.rotation[0],-o.rotation[1],o.rotation[2]]),o.local_pivot.allEqual(0)||(r.local_pivot=o.local_pivot.slice(),r.local_pivot[2]*=-1),o.scale.allEqual(1)||(r.scale=o.scale.slice()),a.push(r)}}return t.length&&(e.cubes=t),a.length&&(e.texture_meshes=a),Object.keys(n).length&&(e.locators=n),e}}}var Eye=new Codec("bedrock_entity_file",{name:"Bedrock Entity",extension:"json",remember:!1,support_partial_export:!0,support_offset:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.format_version&&(i["minecraft:client_entity"]||i["minecraft:attachable"])}},load(i,e,t){let n=i["minecraft:attachable"]!==void 0,a=(i["minecraft:client_entity"]||i["minecraft:attachable"]).description,o=[];for(let u in a.geometry){let p=a.geometry[u];o.push(p)}if(!o[0])return;let r=e.path.split(osfs),s=r.pop().replace(/(\.entity|\.attachable)?\.json$/,""),l=r.indexOf(n?"attachables":"entity");r.splice(l);let[c,d]=Blockbench.findFileFromContent([[...r,"models","entity"].join(osfs),[...r,"models","blocks"].join(osfs)],{filter_regex:/\.json$/i,priority_regex:new RegExp(s,"i"),json:!0},(u,p)=>{if(p["minecraft:geometry"]instanceof Array){if(p["minecraft:geometry"].find(_=>_.description?.identifier==o[0]))return[u,p]}else if(p[o[0]])return[u,p]})||[];c&&(BedrockEntityManager.CurrentContext={geometry:o[0],entity_file_path:e.path,type:"entity"},(d["minecraft:geometry"]?Codecs.bedrock:Codecs.bedrock_old).load(d,{path:c},!1),delete BedrockEntityManager.CurrentContext)}});function KC(){if(Format.display_mode)for(let i in DisplayMode.slots){let e=DisplayMode.slots[i];if(Project.display_settings[e]&&Project.display_settings[e].export&&Project.display_settings[e].export())return"1.21.110"}for(let i of Cube.all)if(!i.box_uv){for(let e in i.faces)if(i.faces[e].rotation)return"1.21.0"}return Group.all.find(i=>i.bedrock_binding)?"1.16.0":"1.12.0"}function toe(i,e){for(let t of i){t.pivot&&t.pivot.V3_add(e);for(let n of t.cubes??[])n.origin.V3_add(e),n.pivot?.V3_add(e);if(typeof t.locators=="object")for(let n in t.locators){let a=t.locators[n];a instanceof Array?a.V3_add(e):a.offset&&a.offset.V3_add(e)}}}var Bl=new Codec("bedrock",{name:"Bedrock Model",extension:"json",remember:!0,multiple_per_file:!0,support_partial_export:!0,support_offset:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i["minecraft:geometry"]&&i.format_version&&vo.compare(i.format_version,">=","1.12.0")}},load(i,e,t={}){let n=Settings.get("default_bedrock_format")=="block";if(e.path&&(e.path.match(/[\\/]models[\\/]blocks[\\/]/)?n=!0:e.path.match(/[\\/]models[\\/]entity[\\/]/)&&(n=!1)),i["minecraft:geometry"]?.[0]?.item_display_transforms&&(n=!0),(typeof t=="boolean"?t:t.import_to_current_project)||setupProject(n?sl:yy),e.path&&!1)var o;this.parse(i,e.path,t),e.path},compile(i){i===void 0&&(i={});var e={},t={format_version:KC(),"minecraft:geometry":[e]};e.description={identifier:"geometry."+(this.context?.model_identifier||Project.geometry_name||"unknown"),texture_width:Project.texture_width||16,texture_height:Project.texture_height||16},i.collection;var n=[],a=getAllGroups(),o=[];if(Outliner.root.forEach(l=>{l instanceof OutlinerElement&&o.push(l)}),o.length){let l=new Group({name:"bb_main"});l.children.push(...o),l.is_catch_bone=!0,l.createUniqueName(),a.splice(0,0,l)}if(a.forEach(l=>{let c=D5(l);c&&n.push(c)}),n.length&&i.visible_box!==!1){let l=B5();e.description.visible_bounds_width=l[0]||0,e.description.visible_bounds_height=l[1]||0,e.description.visible_bounds_offset=[0,l[2]||0,0]}n.length&&(e.bones=n);let r=i.offset||this.context?.offset;r instanceof Array&&r.allEqual(0)==!1&&toe(n,r.slice().V3_multiply(1,-1,-1));let s={};for(let l in DisplayMode.slots){let c=DisplayMode.slots[l];if(Project.display_settings[c]&&Project.display_settings[c].exportBedrock){let d=Project.display_settings[c].exportBedrock();d&&(s[c]=d)}}return Object.keys(s).length&&(e.item_display_transforms=s),this.dispatchEvent("compile",{model:t,options:i}),i.raw?t:autoStringify(t)},overwrite(i,e,t){var n,a,o="geometry."+(this.context?.model_identifier||Project.geometry_name||"unknown");try{if(n=null.readFileSync(e,"utf-8"),n=autoParseJSON(n,!1),!(n["minecraft:geometry"]instanceof Array))throw"Incompatible format";var r=0;for(let c of n["minecraft:geometry"]){if(c.description&&c.description.identifier==o){a=r;break}r++}}catch(c){var s=null.showMessageBox(null,{type:"warning",buttons:[tl("message.bedrock_overwrite_error.overwrite"),tl("dialog.cancel")],title:"Blockbench",message:tl("message.bedrock_overwrite_error.message"),detail:c+"",noLink:!1});if(s===1)return}if(n&&a!==void 0){(!n.format_version||vo.compare(KC(),">",n.format_version))&&(n.format_version=KC()),n["minecraft:geometry"].forEach(c=>{c.bones instanceof Array&&c.bones.forEach(d=>{d.cubes instanceof Array&&d.cubes.forEach((u,p)=>{u.uv instanceof Array&&(d.cubes[p]=new oneLiner(u))})})});var l=this.compile({raw:!0})["minecraft:geometry"][0];a!=null?n["minecraft:geometry"][a]=l:n["minecraft:geometry"].push(l),i=autoStringify(n)}Blockbench.writeFile(e,{content:i},t)},parse(i,e,t={}){Format!=Formats.bedrock&&Format!=Formats.bedrock_block&&Formats.bedrock.select();let n=[];for(let o of i["minecraft:geometry"])typeof o=="object"&&n.push({object:o,name:o.description?.identifier||""});if(n.length===1)return yf(n[0],t);n.forEach(o=>{o.uuid=guid(),o.bonecount=0,o.cubecount=0,o.object.bones instanceof Array&&o.object.bones.forEach(r=>{o.bonecount++,r.cubes instanceof Array&&(o.cubecount+=r.cubes.length)})});let a=null;new Dialog({id:"bedrock_model_select",title:"dialog.select_model.title",buttons:["Import","dialog.cancel"],component:{data(){return{search_term:"",geometries:n,selected:null}},computed:{filtered_geometries(){if(!this.search_term)return this.geometries;let o=this.search_term.toLowerCase();return this.geometries.filter(r=>r.name.toLowerCase().includes(o))}},methods:{selectGeometry(o){this.selected=a=o},open(o){Dialog.open.hide(),yf(o,t)},tl},template:`
<div>
<search-bar v-model="search_term"></search-bar>
<ul class="list" id="model_select_list">
<li v-for="geometry in filtered_geometries" :key="geometry.uuid" :class="{selected: geometry == selected}" @click="selectGeometry(geometry)" @dblclick="open(geometry)">
<p>{{ geometry.name }}</p>
<label>{{ geometry.bonecount+' ${tl("dialog.select_model.bones")}' }}, {{ geometry.cubecount+' ${tl("dialog.select_model.cubes")}' }}</label>
</li>
</ul>
</div>
`},onConfirm(){yf(a,t)}}).show()},fileName(){var i=Project.name||"model";return i.match(/\.geo$/)||(i+=".geo"),i}});Bl.parseCube=R5;Bl.parseBone=j5;Bl.parseGeometry=yf;Bl.compileCube=I5;Bl.compileGroup=D5;var yy=new ModelFormat({id:"bedrock",extension:"json",icon:"icon-format_bedrock",category:"minecraft",target:"Minecraft: Bedrock Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.bedrock.info.textures")}`},{type:"h3",text:tl("mode.start.format.resources")},{text:`* [Article on modeling and implementation](https://www.blockbench.net/wiki/guides/bedrock-modeling)
* [Modeling Tutorial Series](https://www.youtube.com/watch?v=U9FLteWmFzg&list=PLvULVkjBtg2SezfUA8kHcPUGpxIS26uJR)`.replace(/\t+/g,"")}]},node_name_regex:"\\w.-",rotate_cubes:!0,box_uv:!0,optional_box_uv:!0,uv_rotation:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!0,animation_mode:!0,animation_controllers:!0,bone_binding_expression:!0,locators:!0,texture_meshes:!0,bounding_boxes:!0,pbr:!0,codec:Bl,animation_codec:by,onSetup(i){}});Object.defineProperty(yy,"per_texture_uv_size",{get:i=>!!Project.multi_file_ruleset});var sl=new ModelFormat({id:"bedrock_block",category:"minecraft",extension:"json",icon:"icon-format_bedrock_block",target:"Minecraft: Bedrock Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.bedrock_block.info.size_limit")}`},{text:`* ${tl("format.bedrock_block.info.textures")}`},{type:"h3",text:tl("mode.start.format.resources")},{text:`* [Article on implementing custom blocks](https://learn.microsoft.com/en-us/minecraft/creator/documents/customblock)
* [Modeling Tutorial Series](https://www.youtube.com/watch?v=U9FLteWmFzg&list=PLvULVkjBtg2SezfUA8kHcPUGpxIS26uJR)`.replace(/\t+/g,"")}]},node_name_regex:"\\w.-",show_on_start_screen:new Date().dayOfYear()>=298||new Date().getYear()>122,rotate_cubes:!0,box_uv:!1,optional_box_uv:!0,uv_rotation:!0,single_texture_default:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!1,animation_mode:!1,display_mode:!0,texture_meshes:!0,bounding_boxes:!0,pbr:!0,cube_size_limiter:{rotation_affected:!0,box_marker_size:[30,30,30],updateBoxMarker(){let i=Format.cube_size_limiter.getModelCenter();three_grid.size_limit_box&&three_grid.size_limit_box.position.set(i[0]+i[3],i[1]+i[4],i[2]+i[5]).divideScalar(2)},getModelCenter(i=[]){let e=i.length>0?"cached_center":"cached_center_all";if(sl.cube_size_limiter[e])return sl.cube_size_limiter[e];let t=[-7,1,-7,7,15,7];return Cube.all.forEach(n=>{if(i.includes(n))return;sl.cube_size_limiter.getCubeVertexCoordinates(n,n).forEach(o=>{t[3]=Math.min(t[3],o[0]+15),t[0]=Math.max(t[0],o[0]-15),t[4]=Math.min(t[4],o[1]+15),t[1]=Math.max(t[1],o[1]-15),t[5]=Math.min(t[5],o[2]+15),t[2]=Math.max(t[2],o[2]-15)})}),sl.cube_size_limiter[e]=t,setTimeout(()=>{delete sl.cube_size_limiter[e]},2),t},getCubeVertexCoordinates(i,e){let{from:t,to:n,inflate:a}=e,o=[[t[0]-a,t[1]-a,t[2]-a],[t[0]-a,t[1]-a,n[2]+a],[t[0]-a,n[1]+a,t[2]-a],[t[0]-a,n[1]+a,n[2]+a],[n[0]+a,t[1]-a,t[2]-a],[n[0]+a,t[1]-a,n[2]+a],[n[0]+a,n[1]+a,t[2]-a],[n[0]+a,n[1]+a,n[2]+a]];return o.forEach(r=>{r.V3_subtract(i.origin);let s=Reusable.vec1.set(...r);i.mesh.localToWorld(s),r.replace(s.toArray())}),o},test(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate,o=sl.cube_size_limiter.getCubeVertexCoordinates(i,{from:t,to:n,inflate:a}),r=sl.cube_size_limiter.getModelCenter([i]);return o.find((l,c)=>l[0]>r[3]+15||l[0]<r[0]-15||l[1]>r[4]+15||l[1]<r[1]-15||l[2]>r[5]+15||l[2]<r[2]-15)!==void 0},move(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate,o=sl.cube_size_limiter.getCubeVertexCoordinates(i,{from:t,to:n,inflate:a}),r=sl.cube_size_limiter.getModelCenter([i]),s=[0,0,0];o.forEach(d=>{d.forEach((u,p)=>{u>r[p+3]+15&&(s[p]=Math.max(s[p],u-(r[p+3]+15))),u<r[p]-15&&(s[p]=Math.min(s[p],u-(r[p]-15)))})});let l=i.mesh.getWorldQuaternion(Reusable.quat1).invert(),c=Reusable.vec2.set(...s).applyQuaternion(l).toArray();t.V3_subtract(c),n.V3_subtract(c)},clamp(i,e=0,t,n){let a=e.from||i.from,o=e.to||i.to,r=e.inflate==null?i.inflate:e.inflate,s=sl.cube_size_limiter.getCubeVertexCoordinates(i,{from:a,to:o,inflate:r}),l=sl.cube_size_limiter.getModelCenter(),c=[0,0,0],d=[0,0,0];s.forEach((p,m)=>{p.forEach((_,f)=>{t!==void 0&&t!==f||(f==0&&m<4||f==1&&m%4<2||f==2&&m%2<1?(_>l[f+3]+15&&(c[f]=Math.max(c[f],_-(l[f+3]+15))),_<l[f]-15&&(c[f]=Math.min(c[f],_-(l[f]-15)))):(_>l[f+3]+15&&(d[f]=Math.max(d[f],_-(l[f+3]+15))),_<l[f]-15&&(d[f]=Math.min(d[f],_-(l[f]-15)))))})});let u=i.mesh.getWorldQuaternion(Reusable.quat1).invert();if(n!==!0){let p=Reusable.vec3.set(...d).applyQuaternion(u).toArray();o.V3_subtract(p)}if(n!==!1){let p=Reusable.vec2.set(...c).applyQuaternion(u).toArray();a.V3_subtract(p)}}},codec:Bl,onSetup(i){}});Bl.format=yy;BARS.defineActions(function(){Bl.export_action=new Action({id:"export_bedrock",icon:yy.icon,category:"file",condition:()=>Format==yy||Format==sl,click:function(){Bl.export()}})});new ValidatorCheck("bedrock_binding",{condition:!1,update_triggers:["update_selection"],run(){Project.BedrockEntityManager?.client_entity?.type=="attachable"&&Group.all.length&&!Group.all.find(i=>i.bedrock_binding)&&this.warn({message:"The project is an attachable, but no bone is bound to the player. Define a binding on one of the root bones.",buttons:[{name:"Bind root bone to player hand",icon:"fa-paperclip",click(){let i=Outliner.root.find(e=>e instanceof Group);Undo.initEdit({group:i}),i.bedrock_binding="q.item_slot_to_bone_name(c.item_slot)",Undo.finishEdit("Set binding"),Validator.validate()}}]})}});function $C(i,e){let t=i.name.replace(/^geometry\./,""),n=!1;if(n){Project.close().then(()=>{n.select()});return}xf.dispatchEvent("parse",{model:i.object}),Project.geometry_name=t,Project.texture_width=i.object.texturewidth||64,Project.texture_height=i.object.textureheight||64,typeof i.object.visible_bounds_width=="number"&&typeof i.object.visible_bounds_height=="number"&&(Project.visible_box[0]=Math.max(Project.visible_box[0],i.object.visible_bounds_width||0),Project.visible_box[1]=Math.max(Project.visible_box[1],i.object.visible_bounds_height||0),i.object.visible_bounds_offset&&typeof i.object.visible_bounds_offset[1]=="number"&&(Project.visible_box[2]=i.object.visible_bounds_offset[1]||0));var a={};if(i.object.bones){var o=[];i.object.bones.forEach(function(r){o.push(r.name)}),i.object.bones.forEach(function(r,s){var l=new Group({name:r.name,origin:r.pivot,rotation:r.rotation,material:r.material,color:Group.all.length%markerColors.length}).init();if(a[r.name]=l,r.pivot&&(l.origin[0]*=-1),l.rotation[0]*=-1,l.rotation[1]*=-1,l.mirror_uv=r.mirror===!0,l.reset=r.reset===!0,r.cubes&&r.cubes.forEach(function(_){var f=new Cube({name:r.name,autouv:0,color:l.color});_.origin&&(f.from.V3_set(_.origin),f.from[0]=-(f.from[0]+_.size[0]),_.size&&(f.to[0]=_.size[0]+f.from[0],f.to[1]=_.size[1]+f.from[1],f.to[2]=_.size[2]+f.from[2])),_.uv&&(f.uv_offset[0]=_.uv[0],f.uv_offset[1]=_.uv[1]),_.inflate&&typeof _.inflate=="number"&&(f.inflate=_.inflate),_.mirror===void 0?f.mirror_uv=l.mirror_uv:f.mirror_uv=_.mirror===!0,f.addTo(l).init()}),r.children&&r.children.forEach(function(_){_.addTo(l)}),r.locators)for(var c in r.locators){var d,u;r.locators[c]instanceof Array?d=r.locators[c]:(d=r.locators[c].offset,u=r.locators[c].rotation),d[0]*=-1;var p=new Locator({position:d,name:c,rotation:u}).addTo(l).init()}var m="root";r.parent&&(a[r.parent]?m=a[r.parent]:i.object.bones.forEach(function(_){_.name===r.parent&&(_.children&&_.children.length?_.children.push(l):_.children=[l])})),l.addTo(m)})}xf.dispatchEvent("parsed",{model:i.object}),Canvas.updateAllBones(),setProjectTitle(),Validator.validate(),updateSelection()}var xf=new Codec("bedrock_old",{name:"Bedrock Entity Model",extension:"json",remember:!0,multiple_per_file:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.format_version&&VersionUtil.compare(i.format_version,"<","1.12.0")||Object.keys(i).find(e=>e.match(/^geometry\./))}},compile(i){i===void 0&&(i={});var e={};e.texturewidth=Project.texture_width,e.textureheight=Project.texture_height;var t=[],n=new THREE.Box3,a=getAllGroups(),o=[];if(Outliner.root.forEach(s=>{(s.type==="cube"||s.type=="locator")&&o.push(s)}),o.length){let s=new Group({name:"bb_main"});s.children.push(...o),s.is_catch_bone=!0,s.createUniqueName(),a.splice(0,0,s)}if(a.forEach(function(s){if(!(s.type!=="group"||s.export==!1)&&!(!settings.export_empty_groups.value&&!s.children.find(_=>_.export))){var l={};l.name=s.name,s.parent.type==="group"&&(l.parent=s.parent.name),l.pivot=s.origin.slice(),l.pivot[0]*=-1,s.rotation.allEqual(0)||(l.rotation=[-s.rotation[0],-s.rotation[1],s.rotation[2]]),s.reset&&(l.reset=!0),s.mirror_uv&&Project.box_uv&&(l.mirror=!0),s.material&&(l.material=s.material);var c=[],d={};for(var u of s.children)if(u.export)if(u instanceof Cube){var p=new oneLiner;p.origin=u.from.slice(),p.size=u.size(),p.origin[0]=-(p.origin[0]+p.size[0]),p.uv=u.uv_offset,u.inflate&&typeof u.inflate=="number"&&(p.inflate=u.inflate),u.mirror_uv===!l.mirror&&(p.mirror=u.mirror_uv);var m=u.mesh;m&&n.expandByObject(m),c.push(p)}else u instanceof Locator&&(d[u.name]=u.position.slice(),d[u.name][0]*=-1);c.length&&(l.cubes=c),Object.keys(d).length&&(l.locators=d),t.push(l)}}),t.length&&i.visible_box!==!1){let s=calculateVisibleBox();e.visible_bounds_width=s[0]||0,e.visible_bounds_height=s[1]||0,e.visible_bounds_offset=[0,s[2]||0,0]}if(t.length&&(e.bones=t),this.dispatchEvent("compile",{model:e,options:i}),i.raw)return e;var r="geometry."+(Project.geometry_name||Project.name||"unknown");return autoStringify({format_version:"1.10.0",[r]:e})},parse(i,e,t){let n=[];for(let o in i)typeof i[o]=="object"&&n.push({name:o,object:i[o]});if(n.length===1){$C(n[0],t);return}n.forEach(o=>{o.uuid=guid(),o.bonecount=0,o.cubecount=0,o.object.bones instanceof Array&&o.object.bones.forEach(r=>{o.bonecount++,r.cubes instanceof Array&&(o.cubecount+=r.cubes.length)})});let a=null;new Dialog({id:"bedrock_model_select",title:"dialog.select_model.title",buttons:["Import","dialog.cancel"],component:{data(){return{search_term:"",geometries:n,selected:null}},computed:{filtered_geometries(){if(!this.search_term)return this.geometries;let o=this.search_term.toLowerCase();return this.geometries.filter(r=>r.name.toLowerCase().includes(o))}},methods:{selectGeometry(o){this.selected=a=o},open(o){Dialog.open.hide(),$C(o,t)},tl},template:`
<div>
<search-bar v-model="search_term"></search-bar>
<ul class="list" id="model_select_list">
<li v-for="geometry in filtered_geometries" :key="geometry.uuid" :class="{selected: geometry == selected}" @click="selectGeometry(geometry)" @dblclick="open(geometry)">
<p>{{ geometry.name }}</p>
<label>{{ geometry.bonecount+' ${tl("dialog.select_model.bones")}' }}, {{ geometry.cubecount+' ${tl("dialog.select_model.cubes")}' }}</label>
</li>
</ul>
</div>
`},onConfirm(){$C(a,t)}}).show()},export(){var i=this;Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile({raw:!1}),custom_writer:null})},overwrite(i,e,t){var n="geometry."+(Project.geometry_name.replace(/^geometry\./,"")||"unknown"),a;try{a=null.readFileSync(e,"utf-8")}catch{}var o={format_version:"1.10.0"};if(a){try{o=autoParseJSON(a,!1)}catch(c){c=c+"";var r=null.showMessageBoxSync(null,{type:"warning",buttons:[tl("message.bedrock_overwrite_error.backup_overwrite"),tl("message.bedrock_overwrite_error.overwrite"),tl("dialog.cancel")],title:"Blockbench",message:tl("message.bedrock_overwrite_error.message"),detail:c,noLink:!1});if(r===0){var s=pathToName(e,!0)+" backup "+new Date().toLocaleString().split(":").join("_");s=e.replace(pathToName(e,!1),s),null.writeFile(s,a,function(d){d&&console.log("Error saving backup model: ",d)})}if(r===2)return}if(typeof o=="object")for(var l in o)o.hasOwnProperty(l)&&o[l].bones&&typeof o[l].bones=="object"&&o[l].bones.constructor.name==="Array"&&o[l].bones.forEach(function(c){typeof c.cubes=="object"&&c.cubes.constructor.name==="Array"&&c.cubes.forEach(function(d,u){c.cubes[u]=new oneLiner(d)})})}o[n]=this.compile({raw:!0}),i=autoStringify(o),Blockbench.writeFile(e,{content:i},t)}}),YC=new ModelFormat({id:"bedrock_old",extension:"json",icon:"icon-format_bedrock_legacy",category:"minecraft",show_on_start_screen:!1,box_uv:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!0,animation_controllers:!0,animation_mode:!0,locators:!0,pbr:!0,codec:xf,onSetup(i){}});xf.format=YC;BARS.defineActions(function(){xf.export_action=new Action({id:"export_entity",icon:YC.icon,category:"file",condition:()=>Format==YC,click:function(){xf.export()}})});var hp,ioe={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]},V5=new Codec("obj",{name:"OBJ Wavefront Model",extension:"obj",support_partial_export:!0,compile(i){i||(i=0);var e=new THREE.Vector3().copy(scene.position);scene.position.set(0,0,0);let t={},n=["# Made in Blockbench 5.1.6"],a=0,o=0,r=0,s=new THREE.Vector3,l=new THREE.Color,c=new THREE.Vector3,d=new THREE.Vector2,u=[],p=Settings.get("obj_face_export_mode"),m=Settings.get("model_export_scale");n.push("mtllib "+(i.mtl_name||"materials.mtl")+`
`);var _=function(g){var v=0,b=0,x=0,w=g.geometry,E=OutlinerNode.uuids[g.name];let y=new THREE.Matrix3;if(E&&E.export!==!1&&E.faces){if(y.getNormalMatrix(g.matrixWorld),E instanceof Cube){n.push(`o ${E.name||"cube"}`),E.getGlobalVertexPositions().forEach(F=>{s.set(...F).divideScalar(m),n.push("v "+s.x+" "+s.y+" "+s.z),v++});for(let F in E.faces)if(E.faces[F].texture!==null){let O=E.faces[F],L=O.getTexture(),U=[Project.getUVWidth(L),Project.getUVHeight(L)],J=[];J.push(`vt ${O.uv[0]/U[0]} ${1-O.uv[1]/U[1]}`),J.push(`vt ${O.uv[2]/U[0]} ${1-O.uv[1]/U[1]}`),J.push(`vt ${O.uv[2]/U[0]} ${1-O.uv[3]/U[1]}`),J.push(`vt ${O.uv[0]/U[0]} ${1-O.uv[3]/U[1]}`);for(var A=O.rotation||0;A>0;)J.splice(0,0,J.pop()),A-=90;n.push(...J),b+=4}for(let F in E.faces)E.faces[F].texture!==null&&(c.fromArray(ioe[F]),c.applyMatrix3(y).normalize(),n.push("vn "+c.x+" "+c.y+" "+c.z),x+=1);let R,j=0;for(let F in E.faces)if(E.faces[F].texture!==null){let O=E.faces[F].getTexture();O&&O.uuid&&!t[O.uuid]&&(t[O.uuid]=O);let L=!O||typeof O=="string"?"none":"m_"+O.uuid;L!=R&&(R=L,n.push("usemtl "+R));let U;switch(F){case"north":U=[2,5,7,4];break;case"east":U=[1,2,4,3];break;case"south":U=[6,1,3,8];break;case"west":U=[5,6,8,7];break;case"up":U=[5,2,1,6];break;case"down":U=[8,3,4,7];break}p=="tris"?(n.push("f "+[`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[1]+a}/${j*4+2+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" ")),n.push("f "+[`${U[3]+a}/${j*4+4+o}/${j+1+r}`,`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" "))):n.push("f "+[`${U[3]+a}/${j*4+4+o}/${j+1+r}`,`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[1]+a}/${j*4+2+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" ")),j++}}else if(E instanceof Mesh){let O=function(ie,te,me,Q){s.set(te,me,Q),s.applyMatrix4(g.matrixWorld).divideScalar(m),n.push("v "+s.x+" "+s.y+" "+s.z),v++,E.shading=="smooth"&&(c.fromArray(R[ie]),c.applyMatrix3(y).normalize(),F.push("vn "+c.x+" "+c.y+" "+c.z),x+=1)};n.push(`o ${E.name||"mesh"}`);let R=E.calculateNormals(),j=[],F=[];for(let ie in E.vertices)O(ie,...E.vertices[ie]),j.push(ie);let L,U=0,J=[];for(let ie in E.faces)if(E.faces[ie].texture!==null&&E.faces[ie].vertices.length>=3){let te=E.faces[ie],me=te.getSortedVertices().slice(),Q=E.faces[ie].getTexture(),H=[Project.getUVWidth(Q),Project.getUVHeight(Q)];me.forEach(K=>{n.push(`vt ${te.uv[K][0]/H[0]} ${1-te.uv[K][1]/H[1]}`),b+=1}),E.shading=="flat"&&(c.fromArray(te.getNormal(!0)),c.applyMatrix3(y).normalize(),F.push("vn "+c.x+" "+c.y+" "+c.z),x+=1),Q&&Q.uuid&&!t[Q.uuid]&&(t[Q.uuid]=Q);let re=!Q||typeof Q=="string"?"none":"m_"+Q.uuid;if(re!=L&&(L=re,J.push("usemtl "+L)),p=="quads"&&me.length==3&&me.push(me[0]),p=="tris"&&me.length==4){let K=[];me.slice(0,3).forEach((xe,le)=>{let Be=[j.indexOf(xe)+1+a,b-me.length+le+1+o,E.shading=="smooth"?r+1+j.indexOf(xe):U+1+r];K.push(Be.join("/"))}),J.push("f "+K.join(" "));let pe=[];[me[0],me[2],me[3]].forEach((xe,le)=>{let Be=[j.indexOf(xe)+1+a,b-me.length+(le?1:0)+le+1+o,E.shading=="smooth"?r+1+j.indexOf(xe):U+1+r];pe.push(Be.join("/"))}),J.push("f "+pe.join(" "))}else{let K=[];me.forEach(pe=>{let xe=[j.indexOf(pe)+1+a,b-me.length+me.indexOf(pe)+1+o,E.shading=="smooth"?r+1+j.indexOf(pe):U+1+r];K.push(xe.join("/"))}),J.push("f "+K.join(" "))}U++}n.push(...F),n.push(...J)}else{let L=function(U,J){let ie=Object.keys(U.faces);var te=ie[J]??ie[0],me=U.faces[te].getTexture();return me===null?!1:!me||typeof me=="string"?"usemtl none":"usemtl m_"+me.uuid},R=w.getAttribute("position"),j=w.getAttribute("normal"),F=w.getAttribute("uv"),O=w.getIndex();if(n.push("o "+g.name),g.material&&g.material.name&&n.push("usemtl "+g.material.name),R!==void 0)for(let U=0,J=R.count;U<J;U++,v++)s.x=R.getX(U),s.y=R.getY(U),s.z=R.getZ(U),s.applyMatrix4(g.matrixWorld).divideScalar(m),n.push("v "+s.x+" "+s.y+" "+s.z);if(F!==void 0)for(let U=0,J=F.count;U<J;U++,b++)d.x=F.getX(U),d.y=F.getY(U),n.push("vt "+d.x+" "+d.y);if(j!==void 0){y.getNormalMatrix(g.matrixWorld);for(let U=0,J=j.count;U<J;U++,x++)c.x=j.getX(U),c.y=j.getY(U),c.z=j.getZ(U),c.applyMatrix3(y).normalize(),n.push("vn "+c.x+" "+c.y+" "+c.z)}for(let U in E.faces){let J=E.faces[U].getTexture();J&&J.uuid&&!t[J.uuid]&&(t[J.uuid]=J)}if(O!==null)for(let U=0,J=O.count;U<J;U+=3){let ie=L(E,w.groups[Math.floor(U/6)]?.materialIndex);if(ie){U%2===0&&n.push(ie);for(let te=0;te<3;te++){let me=O.getX(U+te)+1;u[te]=a+me+(j||F?"/"+(F?o+me:"")+(j?"/"+(r+me):""):"")}n.push("f "+u.join(" "))}}else for(let U=0,J=R.count;U<J;U+=3){for(let ie=0;ie<3;ie++){let te=U+ie+1;u[ie]=a+te+(j||F?"/"+(F?o+te:"")+(j?"/"+(r+te):""):"")}n.push("f "+u.join(" "))}}a+=v,o+=b,r+=x}};scene.traverse(function(g){g instanceof THREE.Mesh&&_(g)});var f=`# Made in Blockbench 5.1.6
`;for(let g in t)if(t.hasOwnProperty(g)&&t[g]){let b=t[g].name;b.substr(-4)!==".png"&&(b+=".png"),f+="newmtl m_"+g+`
`,f+=`map_Kd ${b}
`}return f+="newmtl none",scene.position.copy(e),n=n.join(`
`),hp={obj:n,mtl:f,images:t},this.dispatchEvent("compile",{model:n,mtl:f,images:t}),i.all_files?hp:n},write(i,e){var t=this,n=e.replace(/\.obj$/,".mtl");i=this.compile({mtl_name:pathToName(n,!0)}),Blockbench.writeFile(e,{content:i},l=>t.afterSave(l)),Blockbench.writeFile(n,{content:hp.mtl});for(var a in hp.images){var o=hp.images[a];if(o&&!o.error){var r=o.name;r.substr(-4)!==".png"&&(r+=".png");var s=e.split(osfs);s.splice(-1,1,r),Blockbench.writeFile(s.join(osfs),{content:o.source,savetype:"image"})}}},export(){var i=this,e=new JSZip,t=this.compile();e.file((Project.name||"model")+".obj",t),e.file("materials.mtl",hp.mtl);for(var n in hp.images){var a=hp.images[n];a&&!a.error&&a.mode==="bitmap"&&e.file(pathToName(a.name)+".png",a.source.replace("data:image/png;base64,",""),{base64:!0})}e.generateAsync({type:"blob"}).then(o=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"assets",content:o,savetype:"zip"},r=>i.afterDownload(r))})}});BARS.defineActions(function(){V5.export_action=new Action({id:"export_obj",icon:"icon-objects",category:"file",click:function(){V5.export()}})});function JC(i=Settings.get("model_export_scale"),e=!0){let t=[];return Animator.animations.forEach(n=>{let a=n.sampleIK(),o=[];for(var r in n.animators){let u=n.animators[r];if(["bone","armature_bone"].includes(u.type)&&u.getGroup()){for(var s in u.channels)if(s=="rotation"&&a[r]){let p=[],m=[],_=settings.animation_sample_rate.value,f=Ve.InterpolateLinear;a[r].forEach((v,b)=>{v.euler.x+=u.group.mesh.fix_rotation.x,v.euler.y+=u.group.mesh.fix_rotation.y,v.euler.z+=u.group.mesh.fix_rotation.z,new Ve.Quaternion().setFromEuler(v.euler).toArray(m,m.length),p.push(b/_)});let g=new Ve.QuaternionKeyframeTrack(u.group.mesh.uuid+".quaternion",p,m,f);g.group_uuid=u.group.uuid,g.channel="quaternion",o.push(g)}else if(u[s]&&u[s].length){let p=[],m=[],_=u[s].slice(),f;for(var l of _){if(l.interpolation==Keyframe.interpolation.catmullrom||l.interpolation==Keyframe.interpolation.bezier){f=!0;break}for(var c of l.data_points)if(isNaN(c.x)||isNaN(c.y)||isNaN(c.z)){f=!0;break}if(f)break}if(f){let x=1/Math.clamp(settings.animation_sample_rate.value,.1,500),w;for(var d=0;d<n.length;d+=x){Timeline.time=d;let E=u.interpolate(s,!1);if(!E.equals(w)&&!_.find(y=>Math.epsilon(y.time,d,x))){let y=new Keyframe({time:d,channel:s,data_points:[{x:E[0],y:E[1],z:E[2]}]},null,u);y.animator=u,_.push(y)}w=E}}if(_.sort((x,w)=>x.time-w.time),s==="rotation"&&!f&&e){let x=_.slice();x.forEach((w,E)=>{let y=x[E+1];if(!y)return;let A=w.getArray(w.data_points.length-1),R=y.getArray(),j=Math.max(Math.abs(A[0]-R[0]),Math.abs(A[1]-R[1]),Math.abs(A[2]-R[2])),F=Math.floor(j/180+1);for(var O=1;O<F;O++){Timeline.time=w.time+(y.time-w.time)*(O/F);let L=u.interpolate(s,!1),U=new Keyframe({time:Timeline.time,channel:s,data_points:[{x:L[0],y:L[1],z:L[2]}]},null,u);U.animator=u,_.splice(_.indexOf(w)+O,0,U)}})}_.slice().forEach(x=>{if(x.data_points.length>1&&!x.getArray(0).equals(x.getArray(1))){let w=new Keyframe({time:x.time+.004,channel:s,data_points:[x.data_points[1]]},null,u);w.animator=u,_.splice(_.indexOf(x)+1,0,w)}});let g=Ve.InterpolateLinear;_.forEach(x=>{x.interpolation==Keyframe.interpolation.catmullrom&&(g=Ve.InterpolateSmooth),x.interpolation==Keyframe.interpolation.step&&(g=Ve.InterpolateDiscrete),p.push(x.time),Timeline.time=x.time;let w=x.getFixed(0,e);e?w.toArray(m,m.length):m.push(w.x,w.y,w.z)});let v=Ve.VectorKeyframeTrack;s==="rotation"&&e?(v=Ve.QuaternionKeyframeTrack,s="quaternion"):s=="position"&&m.forEach((x,w)=>{m[w]=x/i});let b=new v(u.group.mesh.uuid+"."+s,p,m,g);b.group_uuid=u.group.uuid,b.channel=s,o.push(b)}}else u instanceof BoneAnimator&&console.log(`Skip export of track ${r.substr(0,7)}... - No connected bone`)}if(o.length){let u=new Ve.AnimationClip(n.name,n.length,o);t.push(u)}else console.log(`Skip export of animation ${n.name} - No tracks generated`)}),t}function F5(i){let e=[],t=[],n=[],a=[],o=[],r=[],s=new Ve.BufferGeometry,l=[],c=[],d=[],u=new Ve.Matrix4().copy(i.mesh.matrix).invert(),p=Reusable.vec1,m=Reusable.vec2;function _(v,b){if(v.export==!1)return;for(let w of v.children){if(!w.faces||w.export==!1)continue;let{geometry:E}=w.mesh,y=new Ve.Matrix4().copy(w.mesh.matrixWorld);y.premultiply(u);let A=n.length/3;for(let R=0;R<E.attributes.position.count;R++)p.fromBufferAttribute(E.attributes.position,R),m.fromBufferAttribute(E.attributes.normal,R),p.applyMatrix4(y),m.transformDirection(y),n.push(p.x,p.y,p.z),a.push(m.x,m.y,m.z),e.push(0,l.length,0,0),t.push(0,1,0,0);o.push(...E.attributes.uv.array),r.push(...E.index.array.map(R=>A+R));for(let R in w.faces){let j=w.faces[R];if(j.vertices&&j.vertices.length<3||j.texture===null)continue;let F=j.getTexture();F&&F.uuid?c.push(F.getMaterial()):c.push(Canvas.getEmptyMaterial(w.color)),j.vertices&&j.vertices.length==3?d.push(3):d.push(6)}}let x=new Ve.Bone;x.name=v.name,x.uuid=v.mesh.uuid,x.position.copy(v.mesh.position),x.rotation.copy(v.mesh.rotation),v==i&&x.position.set(0,0,0),l.push(x),b&&b.add(x);for(let w of v.children)w instanceof Group&&_(w,x)}_(i),s.setAttribute("position",new Ve.BufferAttribute(new Float32Array(n),3)),s.setAttribute("normal",new Ve.BufferAttribute(new Float32Array(a),3)),s.setAttribute("uv",new Ve.BufferAttribute(new Float32Array(o),2)),s.setIndex(r),s.setAttribute("skinIndex",new Ve.Uint16BufferAttribute(e,4)),s.setAttribute("skinWeight",new Ve.Float32BufferAttribute(t,4)),c=O5(c,s,d);let f=new Ve.SkinnedMesh(s,c);f.name=i.name;let g=new Ve.Skeleton(l);return g.name=i.name,g.bones[0]&&f.add(g.bones[0]),f.bind(g),f.position.copy(i.mesh.position),f.rotation.copy(i.mesh.rotation),f}function U5(i,e){let t=[],n=[],a=[],o=[],r=[],s=[],l=[],c=[],d=[],u=[],p={},m=i.getAllBones(),_=i.children.filter(b=>b instanceof Mesh);for(let b of m){let x=new Ve.Bone;x.position.copy(b.mesh.position),x.rotation.copy(b.mesh.rotation),x.name=b.name,x.uuid=b.mesh.uuid,p[b.parent.uuid]&&p[b.parent.uuid].add(x),d.push(x),b.parent instanceof jr&&u.push(x),p[b.uuid]=x}let f=new Ve.Skeleton(d);f.name=i.name;let g;for(let b of _){if(!b.faces||b.export==!1)continue;let x=b.mesh.geometry.clone();x.applyMatrix4(b.mesh.matrix),g||(g=x);let w=a.length/3;a.push(...x.attributes.position.array),o.push(...x.attributes.normal.array),r.push(...x.attributes.uv.array),s.push(...x.index.array.map(E=>w+E));for(let E in b.faces){let y=b.faces[E];if(y.vertices&&y.vertices.length<3||y.texture===null)continue;let A=y.getTexture();A&&A.uuid?l.push(A.getMaterial()):l.push(Canvas.getEmptyMaterial(b.color)),y.vertices&&y.vertices.length==3?c.push(3):c.push(6)}for(let E in b.faces){let y=b.faces[E];y.vertices.length>=3&&y.vertices.forEach(A=>{let R=m.filter(F=>F.getVertexWeight(b,A));R.sort((F,O)=>O.getVertexWeight(b,A)-F.getVertexWeight(b,A)).slice(0,4);let j=0;for(let F=0;F<4;F++)R[F]&&(j+=R[F].getVertexWeight(b,A));for(let F=0;F<4;F++)R[F]?(t.push(m.indexOf(R[F])),n.push(R[F].getVertexWeight(b,A)/j)):(t.push(0),n.push(0))})}}g?(g.setAttribute("position",new Ve.BufferAttribute(new Float32Array(a),3)),g.setAttribute("normal",new Ve.BufferAttribute(new Float32Array(o),3)),g.setAttribute("uv",new Ve.BufferAttribute(new Float32Array(r),2)),g.setIndex(s),g.setAttribute("skinIndex",new Ve.Uint16BufferAttribute(t,4)),g.setAttribute("skinWeight",new Ve.Float32BufferAttribute(n,4)),l=O5(l,g,c)):g=new Ve.BufferGeometry;let v=new Ve.SkinnedMesh(g,l);return v.name=i.name,u.forEach(b=>v.add(b)),v.bind(f),v}function O5(i,e,t){if(i.allEqual(i[0])&&(i=i[0]),i instanceof Array){let n,a=0,o=0,r=0,s=[];e.groups.empty();for(let l of i)n!=l&&(o&&(e.addGroup(r,o-r,s.length),s.push(n)),n=l,r=o),o+=t[a],a++;e.addGroup(r,o-r,s.length),s.push(n),i=s}return i}var XC=new Codec("gltf",{name:"GLTF Model",extension:"gltf",support_partial_export:!0,export_options:{encoding:{type:"select",label:"codec.common.encoding",options:{ascii:"ASCII (glTF)",binary:"Binary (glb)"}},scale:{label:"settings.model_export_scale",type:"number",value:Settings.get("model_export_scale")},embed_textures:{type:"checkbox",label:"codec.common.embed_textures",value:!0},armature:{type:"checkbox",label:tl("codec.common.armature"),value:!1},animations:{label:"codec.common.export_animations",type:"checkbox",value:!0}},async compile(i){i=Object.assign(this.getExportOptions(),i);let e=this,t=new Ve.GLTFExporter,n=[],a=new Ve.Scene;a.name="blockbench_export",Modes.edit||Animator.showDefaultPose();let o=Texture.all.filter(l=>l.frameCount>1);Texture.all.forEach(l=>l.currentFrame=0),TextureAnimator.update(o),Outliner.root.forEach(l=>{if(l instanceof Group&&i.armature){let c=F5(l,i.scale);a.children.push(c)}else l.scene_object.no_export||a.children.push(l.mesh)});let r=[],s=[];for(let l of jr.all){let c=U5(l,i.scale);l.parent==Outliner.ROOT?(a.add(c),r.push([a,c])):(l.parent.scene_object.add(c),r.push([l.parent.scene_object,c])),l.root!=Outliner.ROOT&&(s.push([l.scene_object.parent,l.scene_object]),l.scene_object.parent.children.remove(l.scene_object))}try{BarItems.view_mode.value!=="textured"&&(BarItems.view_mode.set("textured"),BarItems.view_mode.onChange()),i.animations!==!1&&(n=JC(i.scale));let l=await new Promise((c,d)=>{t.parse(a,c,{animations:n,onlyVisible:!1,trs:!0,binary:i.encoding=="binary",truncateDrawRange:!1,forcePowerOfTwoTextures:i.embed_textures!==!1,scale_factor:1/i.scale,embedImages:i.embed_textures!=!1,exportFaceColors:!1})});for(let[c,d]of r)c.children.remove(d);for(let[c,d]of s)c.add(d);return e.dispatchEvent("compile",{model:l,options:i}),i.encoding=="binary"?l:JSON.stringify(l)}catch(l){throw l}},async export(){if(await this.promptExportOptions()===null)return;let e=await this.compile();await new Promise(t=>setTimeout(t,20)),Blockbench.export({resource_id:"gltf",type:this.name,extensions:[this.getExportOptions().encoding=="binary"?"glb":"gltf"],name:this.fileName(),startpath:this.startPath(),content:e,custom_writer:null},t=>this.afterDownload(t))}});XC.buildAnimationTracks=JC;BARS.defineActions(function(){XC.export_action=new Action({id:"export_gltf",icon:"icon-gltf",category:"file",click:function(){XC.export()}})});Object.assign(window,{buildAnimationTracks:JC,buildSkinnedMesh:U5,buildSkinnedMeshFromGroup:F5});var D1=7300;function Le(i,e){return{type:i,value:e,isTNum:!0,toString:()=>"key"+e.toString()}}function a_(i,e="i",t="a"){return{_values:[`_*${i.length}`],_type:e,[t]:i}}var L5=new Codec("fbx",{name:"FBX Model",extension:"fbx",support_partial_export:!0,compile(i){i=Object.assign(this.getExportOptions(),i);let e=this,t=(i.scale||16)/100,n=[],a=new Ve.Vector3(1,1,1);n.push(["; FBX 7.3.0 project file","; Created by the Blockbench FBX Exporter","; ----------------------------------------------------","; ","",""].join(`
`));function o(j){return`
; `+j.split(/\n/g).join(`
; `)+`
;------------------------------------------------------------------
`}let r={};function s(j){if(j==0)return Le("L",0);if(r[j])return r[j];let F=[];for(let L=0;L<8;L++)F.push(Math.floor(Math.random()*10));F[0]="7";let O=F.join("");return r[j]=Le("L",parseInt(O)),r[j]}let l={};function c(j,F,O){l[j]||(l[j]={});let L=l[j];if(L[F])return L[F];let U=Object.values(L);if(!U.includes(O))return L[F]=O,L[F];let J=1;for(;U.includes(O+"_"+J);)J++;return L[F]=O+"_"+J,L[F]}let d=new Date,u=d.toISOString().replace("T"," ").replace(".",":").replace("Z",""),p="C:\\Users\\Blockbench\\foobar.fbx";n.push({FBXHeaderExtension:{FBXHeaderVersion:1003,FBXVersion:D1,EncryptionType:0,CreationTimeStamp:{Version:1e3,Year:d.getFullYear(),Month:d.getMonth()+1,Day:d.getDate(),Hour:d.getHours(),Minute:d.getMinutes(),Second:d.getSeconds(),Millisecond:d.getMilliseconds()},Creator:"Blockbench "+he.version,SceneInfo:{_values:["SceneInfo::GlobalInfo","UserData"],Type:"UserData",Version:100,MetaData:{Version:100,Title:"",Subject:"",Author:"",Keywords:"",Revision:"",Comment:""},Properties70:{P01:{_key:"P",_values:["DocumentUrl","KString","Url","",p]},P02:{_key:"P",_values:["SrcDocumentUrl","KString","Url","",p]},P03:{_key:"P",_values:["Original","Compound","",""]},P04:{_key:"P",_values:["Original|ApplicationVendor","KString","","","Blockbench"]},P05:{_key:"P",_values:["Original|ApplicationName","KString","","","Blockbench FBX Exporter"]},P06:{_key:"P",_values:["Original|ApplicationVersion","KString","","",he.version]},P07:{_key:"P",_values:["Original|DateTime_GMT","DateTime","","","01/01/1970 00:00:00.000"]},P08:{_key:"P",_values:["Original|FileName","KString","","","/foobar.fbx"]},P09:{_key:"P",_values:["LastSaved","Compound","",""]},P10:{_key:"P",_values:["LastSaved|ApplicationVendor","KString","","","Blockbench"]},P11:{_key:"P",_values:["LastSaved|ApplicationName","KString","","","Blockbench FBX Exporter"]},P12:{_key:"P",_values:["LastSaved|ApplicationVersion","KString","","",he.version]},P13:{_key:"P",_values:["LastSaved|DateTime_GMT","DateTime","","","01/01/1970 00:00:00.000"]},P14:{_key:"P",_values:["Original|ApplicationNativeFile","KString","","",""]}}}},FileId:"iVFoobar",CreationTime:u,Creator:Settings.get("credit")}),n.push({GlobalSettings:{Version:1e3,Properties70:{P01:{_key:"P",_values:["UpAxis","int","Integer","",1]},P02:{_key:"P",_values:["UpAxisSign","int","Integer","",1]},P03:{_key:"P",_values:["FrontAxis","int","Integer","",2]},P04:{_key:"P",_values:["FrontAxisSign","int","Integer","",1]},P05:{_key:"P",_values:["CoordAxis","int","Integer","",0]},P08:{_key:"P",_values:["CoordAxisSign","int","Integer","",1]},P09:{_key:"P",_values:["OriginalUpAxis","int","Integer","",-1]},P10:{_key:"P",_values:["OriginalUpAxisSign","int","Integer","",1]},P11:{_key:"P",_values:["UnitScaleFactor","double","Number","",Le("D",1)]},P12:{_key:"P",_values:["OriginalUnitScaleFactor","double","Number","",Le("D",1)]},P13:{_key:"P",_values:["AmbientColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P14:{_key:"P",_values:["DefaultCamera","KString","","","Producer Perspective"]},P15:{_key:"P",_values:["TimeMode","enum","","",0]},P16:{_key:"P",_values:["TimeSpanStart","KTime","Time","",Le("L",0)]},P17:{_key:"P",_values:["TimeSpanStop","KTime","Time","",Le("L",46186158e3)]},P18:{_key:"P",_values:["CustomFrameRate","double","Number","",Le("D",24)]}}}}),n.push(o("Documents Description"));let m=BigInt(Math.floor(Math.random()*2147483647)+1);n.push({Documents:{Count:1,Document:{_values:[Le("L",m)],Scene:"Scene",Properties70:{P01:{_key:"P",_values:["SourceObject","object","",""]},P02:{_key:"P",_values:["ActiveAnimStackName","KString","","",""]}},RootNode:0}}}),n.push(o("Document References")),n.push({References:{}});let _={node_attributes:0,model:0,geometry:0,material:0,texture:0,image:0,pose:0,deformer:0,animation_stack:0,animation_layer:0,animation_curve_node:0,animation_curve:0},f={},g=[],v={Current:""},b={name:"RootNode",uuid:"0"};function x(j){let F=j.origin.slice();return j.parent instanceof Group&&F.V3_subtract(j.parent.origin),F.V3_divide(t)}function w(j,F){let O=c("object",j.uuid,j.name),L=j.mesh.rotation.order=="XYZ"?5:0;f["key"+j.uuid]={_key:"Model",_values:[s(j.uuid),`Model::${O}`,F],Version:232,Properties70:{P1:{_key:"P",_values:["RotationActive","bool","","",Le("I",1)]},P2:{_key:"P",_values:["InheritType","enum","","",1]},P3:{_key:"P",_values:["ScalingMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...x(j).map(J=>Le("D",J))]},P5:j.rotation?{_key:"P",_values:["RotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]}:void 0,P6:j.rotation?{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...j.rotation.map(J=>Le("D",J))]}:void 0,P7:j.rotation?{_key:"P",_values:["RotationOrder","enum","","",L]}:void 0,P8:j.faces?{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]}:void 0},Shading:!0,Culling:"CullingOff"};let U=j.parent=="root"?b:j.parent;return g.push({name:[`Model::${O}`,`Model::${c("object",U.uuid,U.name)}`],id:[s(j.uuid),s(U.uuid)]}),_.model++,f["key"+j.uuid]}Group.all.forEach(j=>{j.export&&w(j,"Null")}),[...Locator.all,...NullObject.all].forEach(j=>{j.export&&w(j,"Null")}),Mesh.all.forEach(j=>{if(!j.export)return;w(j,"Mesh");let F=c("object",j.uuid,j.name),O=[],L=[],U=[],J=[],ie=[],te=j.calculateNormals();function me(pe,xe,le){O.push(pe/t,xe/t,le/t)}for(let pe in j.vertices)me(...j.vertices[pe]),J.push(pe),j.shading=="smooth"&&L.push(...te[pe]);let Q=[];for(let pe in j.faces)if(j.faces[pe].vertices.length>=3){let xe=j.faces[pe],le=xe.getSortedVertices(),Be=j.faces[pe].getTexture()||void 0;Q.push(Be),le.forEach(X=>{U.push(xe.uv[X][0]/Project.getUVWidth(Be),1-xe.uv[X][1]/Project.getUVHeight(Be))}),j.shading=="flat"&&L.push(...xe.getNormal(!0)),le.forEach((X,ne)=>{let Me=J.indexOf(X);ne+1==le.length&&(Me=-1-Me),ie.push(Me)})}_.geometry++;let H=Texture.all.filter(pe=>Q.includes(pe)),re=s(j.uuid+"_geo"),K={_key:"Geometry",_values:[re,`Geometry::${F}`,"Mesh"],Vertices:{_values:[`_*${O.length}`],_type:"d",a:O},PolygonVertexIndex:{_values:[`_*${ie.length}`],_type:"i",a:ie},GeometryVersion:124,LayerElementNormal:{_values:[0],Version:101,Name:"",MappingInformationType:j.shading=="smooth"?"ByVertex":"ByPolygon",ReferenceInformationType:"Direct",Normals:{_values:[`_*${L.length}`],_type:"d",a:L}},LayerElementUV:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygonVertex",ReferenceInformationType:"Direct",UV:{_values:[`_*${U.length}`],_type:"d",a:U}},LayerElementMaterial:H.length<=1?{_values:[0],Version:101,Name:"",MappingInformationType:"AllSame",ReferenceInformationType:"IndexToDirect",Materials:{_values:["_*1"],_type:"i",a:0}}:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"IndexToDirect",Materials:{_values:[`_*${Q.length}`],_type:"i",a:Q.map(pe=>H.indexOf(pe))}},Layer:{_values:[0],Version:100,LayerElement1:{_key:"LayerElement",Type:"LayerElementNormal",TypedIndex:0},LayerElement2:{_key:"LayerElement",Type:"LayerElementMaterial",TypedIndex:0},LayerElement3:{_key:"LayerElement",Type:"LayerElementUV",TypedIndex:0}}};f[re.toString()]=K,g.push({name:[`Geometry::${F}`,`Model::${F}`],id:[re,s(j.uuid)]}),H.forEach(pe=>{g.push({name:[`Material::${c("material",pe.uuid,pe.name)}`,`Model::${F}`],id:[s(pe.uuid+"_m"),s(j.uuid)]})})}),jr.all.forEach(j=>{let F=Mesh.all.find(H=>H.getArmature()==j),O=c("armature",j.uuid,j.name);_.pose++;let L=s(j.uuid+"_attribute");f[L.toString()]={_key:"NodeAttribute",_values:[L,`NodeAttribute::${O}`,"Null"],TypeFlags:"Null"},_.node_attributes++;let U=s(j.uuid);f[U.toString()]={_key:"Model",_values:[U,`Model::${O}`,"Null"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...[0,0,0].map(H=>Le("D",H))]},P5:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...[0,0,0].map(H=>Le("D",H))]},P6:{_key:"P",_values:["Lcl Scaling","Lcl Scaling","","A",...[1,1,1].map(H=>Le("D",H))]}},Culling:"CullingOff"};let J=j.parent=="root"?b:j.parent;g.push({name:[`Model::${O}`,`Model::${c("object",J.uuid,J.name)}`],id:[s(j.uuid),s(J.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${O}`,`Model::${O}`],id:[L,U]});let ie;if(F){let H=s(F.uuid+"_bind_pose");ie={_key:"Pose",_values:[H,`Pose::${c("object",F.uuid,F.name)}`,"BindPose"],Type:"BindPose",Version:100,NbPoseNodes:0};let re=new Ve.Matrix4;re.scale(a),ie.PoseNode_object={_key:"PoseNode",Node:s(F.uuid),Matrix:a_(re.elements,"d")},ie.NbPoseNodes++;let K=new Ve.Matrix4;re.scale(a),ie.PoseNode_object={_key:"PoseNode",Node:s(j.uuid),Matrix:a_(K.elements,"d")},ie.NbPoseNodes++,f[H.toString()]=ie,_.pose++}let te=[],me=[];function Q(H){if(!(H instanceof xn))return;te.push(H);let re=c("bone",H.uuid,H.name),K=s(H.uuid+"_attribute");f[K.toString()]={_key:"NodeAttribute",_values:[K,`NodeAttribute::${re}`,"LimbNode"],Properties70:{P2:{_key:"P",_values:["Size","double","Number","",Le("D",H.length/t)]}},TypeFlags:"Skeleton"},_.node_attributes++;let pe=s(H.uuid);f[pe.toString()]={_key:"Model",_values:[pe,`Model::${re}`,"LimbNode"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...x(H).map(le=>Le("D",le))]},P5:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...H.rotation.map(le=>Le("D",le))]}},Culling:"CullingOff"};let xe=H.parent=="root"?b:H.parent;if(g.push({name:[`Model::${re}`,`Model::${c("object",xe.uuid,xe.name)}`],id:[s(H.uuid),s(xe.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${re}`,`Model::${re}`],id:[K,pe]}),H.children.length==0){let le=s(H.uuid+"_end_attribute");f[le.toString()]={_key:"NodeAttribute",_values:[le,`NodeAttribute::${re}_end`,"LimbNode"],Properties70:{P2:{_key:"P",_values:["Size","double","Number","",Le("D",H.length*10)]}},TypeFlags:"Skeleton"},_.node_attributes++;let Be=s(H.uuid+"_end");f[Be.toString()]={_key:"Model",_values:[Be,`Model::${re}_end`,"LimbNode"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",0,H.length/t,0]}},Culling:"CullingOff"},g.push({name:[`Model::${re}_end`,`Model::${re}`],id:[Be,s(H.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${re}_end`,`Model::${re}_end`],id:[le,Be]})}if(F){let le=new Ve.Matrix4().copy(H.scene_object.inverse_bind_matrix).invert();le.scale(a),ie["PoseNode"+pe]={_key:"PoseNode",Node:pe,Matrix:a_(le.elements,"d")},ie.NbPoseNodes++,me.push(le)}for(let le of H.children)Q(le)}for(let H of j.children)Q(H);if(F){let H=s(j.uuid+"_deformer");f[H.toString()]={_key:"Deformer",_values:[H,`Deformer::${O}`,"Skin"],Version:101,Link_DeformAcuracy:50},_.deformer++,g.push({name:[`Deformer::${O}`,`Geometry::${c("object",F.uuid,F.name)}`],id:[H,s(F.uuid+"_geo")]});let re=new Ve.Matrix4().copy(F.mesh.matrixWorld),K=Object.keys(F.vertices);for(let pe of te){let xe=s(pe.uuid+"_deformer"),le=c("bone",pe.uuid,pe.name),Be=[],X=[];for(let Me of K)pe.getVertexWeight(F,Me)>.001&&(Be.push(K.indexOf(Me)),X.push(Math.clamp(pe.getVertexWeight(F,Me),0,1)));let ne=me[te.indexOf(pe)];f[xe.toString()]={_key:"Deformer",_values:[xe,`SubDeformer::${le}`,"Cluster"],Version:100,UserData:["",""],Indexes:a_(Be,"i"),Weights:a_(X,"d"),Transform:a_(re.elements,"d"),TransformLink:a_(ne.elements,"d")},_.deformer++,g.push({name:[`SubDeformer::${le}`,`Deformer::${O}`],id:[xe,H]}),g.push({name:[`Model::${c("bone",pe.uuid,pe.name)}`,`SubDeformer::${le}`],id:[s(pe.uuid),xe]})}}});let E={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]};if(Cube.all.forEach(j=>{if(!j.export)return;w(j,"Mesh");let F=c("object",j.uuid,j.name),O=[],L=[],U=[],J=[];function ie(xe,le,Be){O.push((xe-j.origin[0])/t,(le-j.origin[1])/t,(Be-j.origin[2])/t)}var te=j.from.slice(),me=j.to.slice();td(te,me,j),ie(me[0],me[1],me[2]),ie(me[0],me[1],te[2]),ie(me[0],te[1],me[2]),ie(me[0],te[1],te[2]),ie(te[0],me[1],te[2]),ie(te[0],me[1],me[2]),ie(te[0],te[1],te[2]),ie(te[0],te[1],me[2]);let Q=[];for(let xe in j.faces){let le=j.faces[xe];if(le.texture===null)continue;let Be=le.getTexture()||void 0;Q.push(Be),L.push(...E[xe]);let X=[[le.uv[0]/Project.getUVWidth(Be),1-le.uv[3]/Project.getUVHeight(Be)],[le.uv[2]/Project.getUVWidth(Be),1-le.uv[3]/Project.getUVHeight(Be)],[le.uv[2]/Project.getUVWidth(Be),1-le.uv[1]/Project.getUVHeight(Be)],[le.uv[0]/Project.getUVWidth(Be),1-le.uv[1]/Project.getUVHeight(Be)]];for(var H=le.rotation||0;H>0;)X.splice(0,0,X.pop()),H-=90;X.forEach(Me=>{U.push(...Me)});let ne;switch(xe){case"north":ne=[3,6,4,-2];break;case"east":ne=[2,3,1,-1];break;case"south":ne=[7,2,0,-6];break;case"west":ne=[6,7,5,-5];break;case"up":ne=[5,0,1,-5];break;case"down":ne=[6,3,2,-8];break}J.push(...ne)}_.geometry++;let re=Texture.all.filter(xe=>Q.includes(xe)),K=s(j.uuid+"_geo"),pe={_key:"Geometry",_values:[K,`Geometry::${F}`,"Mesh"],Vertices:{_values:[`_*${O.length}`],_type:"d",a:O},PolygonVertexIndex:{_values:[`_*${J.length}`],_type:"i",a:J},GeometryVersion:124,LayerElementNormal:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"Direct",Normals:{_values:[`_*${L.length}`],_type:"d",a:L}},LayerElementUV:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygonVertex",ReferenceInformationType:"Direct",UV:{_values:[`_*${U.length}`],_type:"d",a:U}},LayerElementMaterial:re.length<=1?{_values:[0],Version:101,Name:"",MappingInformationType:"AllSame",ReferenceInformationType:"IndexToDirect",Materials:{_values:["_*1"],_type:"i",a:0}}:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"IndexToDirect",Materials:{_values:[`_*${Q.length}`],_type:"i",a:Q.map(xe=>re.indexOf(xe))}},Layer:{_values:[0],Version:100,LayerElement1:{_key:"LayerElement",Type:"LayerElementNormal",TypedIndex:0},LayerElement2:{_key:"LayerElement",Type:"LayerElementMaterial",TypedIndex:0},LayerElement3:{_key:"LayerElement",Type:"LayerElementUV",TypedIndex:0}}};f["key"+K]=pe,g.push({name:[`Geometry::${F}`,`Model::${F}`],id:[K,s(j.uuid)]}),re.forEach(xe=>{g.push({name:[`Material::${c("texture",xe.uuid,xe.name)}`,`Model::${F}`],id:[s(xe.uuid+"_m"),s(j.uuid)]})})}),Texture.all.forEach(j=>{_.material++,_.texture++,_.image++;let F=null,O=j.path,L=j.name;j.path==""&&(O="",L=""),(i.embed_textures||j.path=="")&&(F=j.getBase64());let U=c("texture",j.uuid,j.name),J={_key:"Material",_values:[s(j.uuid+"_m"),`Material::${U}`,""],Version:102,ShadingModel:"lambert",MultiLayer:0,Properties70:{P2:{_key:"P",_values:["Emissive","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P3:{_key:"P",_values:["Ambient","Vector3D","Vector","",Le("D",.2),Le("D",.2),Le("D",.2)]},P4:{_key:"P",_values:["Diffuse","Vector3D","Vector","",Le("D",.8),Le("D",.8),Le("D",.8)]},P5:{_key:"P",_values:["Opacity","double","Number","",Le("D",1)]}}},ie={_key:"Texture",_values:[s(j.uuid+"_t"),`Texture::${U}`,""],Type:"TextureVideoClip",Version:202,TextureName:`Texture::${U}`,Media:`Video::${U}`,FileName:O,RelativeFilename:L,ModelUVTranslation:[Le("D",0),Le("D",0)],ModelUVScaling:[Le("D",1),Le("D",1)],Texture_Alpha_Source:"None",Cropping:[0,0,0,0]},te={_key:"Video",_values:[s(j.uuid+"_i"),`Video::${U}`,"Clip"],Type:"Clip",Properties70:{P:["Path","KString","XRefUrl","",j.path||j.name]},UseMipMap:0,Filename:O,RelativeFilename:L,Content:F};f["key"+j.uuid+"_m"]=J,f["key"+j.uuid+"_t"]=ie,f["key"+j.uuid+"_i"]=te,g.push({name:[`Texture::${U}`,`Material::${U}`],id:[s(j.uuid+"_t"),s(j.uuid+"_m")],property:"DiffuseColor"}),g.push({name:[`Video::${U}`,`Texture::${U}`],id:[s(j.uuid+"_i"),s(j.uuid+"_t")]})}),i.include_animations){let j=Codecs.gltf.buildAnimationTracks(t,!1),F=46186158e3;j.forEach(O=>{_.animation_stack++,_.animation_layer++;let L=s(O.uuid+"_s"),U=s(O.uuid+"_l"),J=c("animation",O.uuid,O.name),ie=Math.round(O.duration*F),te={_key:"AnimationStack",_values:[L,`AnimStack::${J}`,""],Properties70:{p1:{_key:"P",_values:["LocalStop","KTime","Time","",Le("L",ie)]},p2:{_key:"P",_values:["ReferenceStop","KTime","Time","",Le("L",ie)]}}},me={_key:"AnimationLayer",_values:[U,`AnimLayer::${J}`,""],_force_compound:!0};f["key"+O.uuid+"_s"]=te,f["key"+O.uuid+"_l"]=me,g.push({name:[`AnimLayer::${J}`,`AnimStack::${J}`],id:[U,L]}),O.tracks.forEach(Q=>{_.animation_curve_node++;let H=s(O.uuid+"."+Q.name),re=`AnimCurveNode::${J}.${Q.channel[0].toUpperCase()}`,K={_key:"AnimationCurveNode",_values:[H,re,""],Properties70:{p1:{_key:"P",_values:["d|X","Number","","A",Le("D",1)]},p2:{_key:"P",_values:["d|Y","Number","","A",Le("D",1)]},p3:{_key:"P",_values:["d|Z","Number","","A",Le("D",1)]}}},pe=Q.times.map(xe=>Math.round(xe*F));f["key"+O.uuid+"."+Q.name]=K,g.push({name:[re,`Model::${c("object",Q.group_uuid,Q.name)}`],id:[H,s(Q.group_uuid)],property:Q.channel=="position"?"Lcl Translation":Q.channel=="rotation"?"Lcl Rotation":"Lcl Scaling"}),g.push({name:[re,`AnimLayer::${J}`],id:[H,U]}),["X","Y","Z"].forEach((xe,le)=>{_.animation_curve++;let Be=s(O.uuid+"."+Q.name+"."+xe),X=`AnimCurve::${J}.${Q.channel[0].toUpperCase()}${xe}`,ne=Q.values.filter((Ue,et)=>et%3==le);Q.channel=="rotation"&&ne.forEach((Ue,et)=>ne[et]=Math.radToDeg(Ue));let Me={_key:"AnimationCurve",_values:[Be,X,""],Default:0,KeyVer:4008,KeyTime:{_values:[`_*${pe.length}`],_type:"d",a:pe},KeyValueFloat:{_values:[`_*${ne.length}`],_type:"f",a:ne},KeyAttrFlags:{_values:["_*1"],_type:"i",a:[24836]},KeyAttrDataFloat:{_values:["_*4"],_type:"f",a:[0,0,255790911,0]},KeyAttrRefCount:{_values:["_*1"],_type:"i",a:[pe.length]}};f["key"+O.uuid+"."+Q.name+xe]=Me,g.push({name:[X,re],id:[Be,H],property:`d|${xe}`})})}),v[O.uuid]={_key:"Take",_values:[J],FileName:`${J}.tak`,LocalTime:[0,ie],ReferenceTime:[0,ie]}})}n.push(o("Object definitions"));let y=1;for(let j in _)y+=_[j];n.push({Definitions:{Version:100,Count:y,global_settings:{_key:"ObjectType",_values:["GlobalSettings"],Count:1},node_attribute:_.node_attributes?{_key:"ObjectType",_values:["NodeAttribute"],Count:_.node_attributes,PropertyTemplate:{_values:["FbxNull"],Properties70:{P1:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P2:{_key:"P",_values:["Size","double","Number","",Le("D",100)]},P3:{_key:"P",_values:["Look","enum","","",1]}}}}:void 0,model:_.model?{_key:"ObjectType",_values:["Model"],Count:_.model,PropertyTemplate:{_values:["FbxNode"],Properties70:{P01:{_key:"P",_values:["QuaternionInterpolate","enum","","",0]},P02:{_key:"P",_values:["RotationOffset","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P03:{_key:"P",_values:["RotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P04:{_key:"P",_values:["ScalingOffset","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P05:{_key:"P",_values:["ScalingPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P06:{_key:"P",_values:["TranslationActive","bool","","",Le("I",0)]},P07:{_key:"P",_values:["TranslationMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P08:{_key:"P",_values:["TranslationMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P09:{_key:"P",_values:["TranslationMinX","bool","","",Le("I",0)]},P10:{_key:"P",_values:["TranslationMinY","bool","","",Le("I",0)]},P11:{_key:"P",_values:["TranslationMinZ","bool","","",Le("I",0)]},P12:{_key:"P",_values:["TranslationMaxX","bool","","",Le("I",0)]},P13:{_key:"P",_values:["TranslationMaxY","bool","","",Le("I",0)]},P14:{_key:"P",_values:["TranslationMaxZ","bool","","",Le("I",0)]},P15:{_key:"P",_values:["RotationOrder","enum","","",5]},P16:{_key:"P",_values:["RotationSpaceForLimitOnly","bool","","",Le("I",0)]},P17:{_key:"P",_values:["RotationStiffnessX","double","Number","",Le("D",0)]},P18:{_key:"P",_values:["RotationStiffnessY","double","Number","",Le("D",0)]},P19:{_key:"P",_values:["RotationStiffnessZ","double","Number","",Le("D",0)]},P20:{_key:"P",_values:["AxisLen","double","Number","",Le("D",10)]},P21:{_key:"P",_values:["PreRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P22:{_key:"P",_values:["PostRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P23:{_key:"P",_values:["RotationActive","bool","","",Le("I",0)]},P24:{_key:"P",_values:["RotationMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P25:{_key:"P",_values:["RotationMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P26:{_key:"P",_values:["RotationMinX","bool","","",Le("I",0)]},P27:{_key:"P",_values:["RotationMinY","bool","","",Le("I",0)]},P28:{_key:"P",_values:["RotationMinZ","bool","","",Le("I",0)]},P29:{_key:"P",_values:["RotationMaxX","bool","","",Le("I",0)]},P30:{_key:"P",_values:["RotationMaxY","bool","","",Le("I",0)]},P31:{_key:"P",_values:["RotationMaxZ","bool","","",Le("I",0)]},P32:{_key:"P",_values:["InheritType","enum","","",0]},P33:{_key:"P",_values:["ScalingActive","bool","","",Le("I",0)]},P34:{_key:"P",_values:["ScalingMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P35:{_key:"P",_values:["ScalingMax","Vector3D","Vector","",Le("D",1),Le("D",1),Le("D",1)]},P36:{_key:"P",_values:["ScalingMinX","bool","","",Le("I",0)]},P37:{_key:"P",_values:["ScalingMinY","bool","","",Le("I",0)]},P38:{_key:"P",_values:["ScalingMinZ","bool","","",Le("I",0)]},P39:{_key:"P",_values:["ScalingMaxX","bool","","",Le("I",0)]},P40:{_key:"P",_values:["ScalingMaxY","bool","","",Le("I",0)]},P41:{_key:"P",_values:["ScalingMaxZ","bool","","",Le("I",0)]},P42:{_key:"P",_values:["GeometricTranslation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P43:{_key:"P",_values:["GeometricRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P44:{_key:"P",_values:["GeometricScaling","Vector3D","Vector","",Le("D",1),Le("D",1),Le("D",1)]},P45:{_key:"P",_values:["MinDampRangeX","double","Number","",Le("D",0)]},P46:{_key:"P",_values:["MinDampRangeY","double","Number","",Le("D",0)]},P47:{_key:"P",_values:["MinDampRangeZ","double","Number","",Le("D",0)]},P48:{_key:"P",_values:["MaxDampRangeX","double","Number","",Le("D",0)]},P49:{_key:"P",_values:["MaxDampRangeY","double","Number","",Le("D",0)]},P50:{_key:"P",_values:["MaxDampRangeZ","double","Number","",Le("D",0)]},P51:{_key:"P",_values:["MinDampStrengthX","double","Number","",Le("D",0)]},P52:{_key:"P",_values:["MinDampStrengthY","double","Number","",Le("D",0)]},P53:{_key:"P",_values:["MinDampStrengthZ","double","Number","",Le("D",0)]},P54:{_key:"P",_values:["MaxDampStrengthX","double","Number","",Le("D",0)]},P55:{_key:"P",_values:["MaxDampStrengthY","double","Number","",Le("D",0)]},P56:{_key:"P",_values:["MaxDampStrengthZ","double","Number","",Le("D",0)]},P57:{_key:"P",_values:["PreferedAngleX","double","Number","",Le("D",0)]},P58:{_key:"P",_values:["PreferedAngleY","double","Number","",Le("D",0)]},P59:{_key:"P",_values:["PreferedAngleZ","double","Number","",Le("D",0)]},P60:{_key:"P",_values:["LookAtProperty","object","",""]},P61:{_key:"P",_values:["UpVectorProperty","object","",""]},P62:{_key:"P",_values:["Show","bool","","",Le("I",1)]},P63:{_key:"P",_values:["NegativePercentShapeSupport","bool","","",Le("I",1)]},P64:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",-1]},P65:{_key:"P",_values:["Freeze","bool","","",Le("I",0)]},P66:{_key:"P",_values:["LODBox","bool","","",Le("I",0)]},P67:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",Le("D",0),Le("D",0),Le("D",0)]},P68:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",Le("D",0),Le("D",0),Le("D",0)]},P69:{_key:"P",_values:["Lcl Scaling","Lcl Scaling","","A",Le("D",1),Le("D",1),Le("D",1)]},P70:{_key:"P",_values:["Visibility","Visibility","","A",Le("D",1)]},P71:{_key:"P",_values:["Visibility Inheritance","Visibility Inheritance","","",1]}}}}:void 0,geometry:_.geometry?{_key:"ObjectType",_values:["Geometry"],Count:_.geometry,PropertyTemplate:{_values:["FbxMesh"],Properties70:{P1:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P2:{_key:"P",_values:["BBoxMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P3:{_key:"P",_values:["BBoxMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P4:{_key:"P",_values:["Primary Visibility","bool","","",Le("I",1)]},P5:{_key:"P",_values:["Casts Shadows","bool","","",Le("I",1)]},P6:{_key:"P",_values:["Receive Shadows","bool","","",Le("I",1)]}}}}:void 0,material:_.material?{_key:"ObjectType",_values:["Material"],Count:_.material,PropertyTemplate:{_values:["FbxSurfaceLambert"],Properties70:{P01:{_key:"P",_values:["ShadingModel","KString","","","Lambert"]},P02:{_key:"P",_values:["MultiLayer","bool","","",Le("I",0)]},P03:{_key:"P",_values:["EmissiveColor","Color","","A",Le("D",0),Le("D",0),Le("D",0)]},P04:{_key:"P",_values:["EmissiveFactor","Number","","A",Le("D",1)]},P05:{_key:"P",_values:["AmbientColor","Color","","A",Le("D",.2),Le("D",.2),Le("D",.2)]},P06:{_key:"P",_values:["AmbientFactor","Number","","A",Le("D",1)]},P07:{_key:"P",_values:["DiffuseColor","Color","","A",Le("D",.8),Le("D",.8),Le("D",.8)]},P08:{_key:"P",_values:["DiffuseFactor","Number","","A",Le("D",1)]},P09:{_key:"P",_values:["Bump","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P10:{_key:"P",_values:["NormalMap","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P11:{_key:"P",_values:["BumpFactor","double","Number","",Le("D",1)]},P12:{_key:"P",_values:["TransparentColor","Color","","A",Le("D",0),Le("D",0),Le("D",0)]},P13:{_key:"P",_values:["TransparencyFactor","Number","","A",Le("D",0)]},P14:{_key:"P",_values:["DisplacementColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P15:{_key:"P",_values:["DisplacementFactor","double","Number","",Le("D",1)]},P16:{_key:"P",_values:["VectorDisplacementColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P17:{_key:"P",_values:["VectorDisplacementFactor","double","Number","",Le("D",1)]}}}}:void 0,texture:_.texture?{_key:"ObjectType",_values:["Texture"],Count:_.texture,PropertyTemplate:{_values:["FbxFileTexture"],Properties70:{P01:{_key:"P",_values:["TextureTypeUse","enum","","",0]},P02:{_key:"P",_values:["Texture alpha","Number","","A",Le("D",1)]},P03:{_key:"P",_values:["CurrentMappingType","enum","","",0]},P04:{_key:"P",_values:["WrapModeU","enum","","",0]},P05:{_key:"P",_values:["WrapModeV","enum","","",0]},P06:{_key:"P",_values:["UVSwap","bool","","",Le("I",0)]},P07:{_key:"P",_values:["PremultiplyAlpha","bool","","",Le("I",1)]},P08:{_key:"P",_values:["Translation","Vector","","A",Le("D",0),Le("D",0),Le("D",0)]},P09:{_key:"P",_values:["Rotation","Vector","","A",Le("D",0),Le("D",0),Le("D",0)]},P10:{_key:"P",_values:["Scaling","Vector","","A",Le("D",1),Le("D",1),Le("D",1)]},P11:{_key:"P",_values:["TextureRotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P12:{_key:"P",_values:["TextureScalingPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P13:{_key:"P",_values:["CurrentTextureBlendMode","enum","","",1]},P14:{_key:"P",_values:["UVSet","KString","","","default"]},P15:{_key:"P",_values:["UseMaterial","bool","","",Le("I",0)]},P16:{_key:"P",_values:["UseMipMap","bool","","",Le("I",0)]}}}}:void 0,image:_.image?{_key:"ObjectType",_values:["Video"],Count:_.image,PropertyTemplate:{_values:["FbxVideo"],Properties70:{P01:{_key:"P",_values:["ImageSequence","bool","","",Le("I",0)]},P02:{_key:"P",_values:["ImageSequenceOffset","int","Integer","",0]},P03:{_key:"P",_values:["FrameRate","double","Number","",Le("D",0)]},P04:{_key:"P",_values:["LastFrame","int","Integer","",0]},P05:{_key:"P",_values:["Width","int","Integer","",0]},P06:{_key:"P",_values:["Height","int","Integer","",0]},P07:{_key:"P",_values:["Path","KString","XRefUrl","",""]},P08:{_key:"P",_values:["StartFrame","int","Integer","",0]},P09:{_key:"P",_values:["StopFrame","int","Integer","",0]},P10:{_key:"P",_values:["PlaySpeed","double","Number","",Le("D",0)]},P11:{_key:"P",_values:["Offset","KTime","Time","",Le("L",0)]},P12:{_key:"P",_values:["InterlaceMode","enum","","",0]},P13:{_key:"P",_values:["FreeRunning","bool","","",Le("I",0)]},P14:{_key:"P",_values:["Loop","bool","","",Le("I",0)]},P15:{_key:"P",_values:["AccessMode","enum","","",0]}}}}:void 0,pose:_.pose?{_key:"ObjectType",_values:["Pose"],Count:_.pose}:void 0,deformer:_.deformer?{_key:"ObjectType",_values:["Deformer"],Count:_.deformer}:void 0,animation_stack:_.animation_stack?{_key:"ObjectType",_values:["AnimationStack"],Count:_.animation_stack,PropertyTemplate:{_values:["FbxAnimStack"],Properties70:{P01:{_key:"P",_values:["Description","KString","","",""]},P02:{_key:"P",_values:["LocalStart","KTime","Time","",Le("L",0)]},P03:{_key:"P",_values:["LocalStop","KTime","Time","",Le("L",0)]},P04:{_key:"P",_values:["ReferenceStart","KTime","Time","",Le("L",0)]},P05:{_key:"P",_values:["ReferenceStop","KTime","Time","",Le("L",0)]}}}}:void 0,animation_layer:_.animation_layer?{_key:"ObjectType",_values:["AnimationLayer"],Count:_.animation_layer,PropertyTemplate:{_values:["FbxAnimLayer"],Properties70:{P01:{_key:"P",_values:["Weight","Number","","A",Le("D",100)]},P02:{_key:"P",_values:["Mute","bool","","",Le("I",0)]},P03:{_key:"P",_values:["Solo","bool","","",Le("I",0)]},P04:{_key:"P",_values:["Lock","bool","","",Le("I",0)]},P05:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P06:{_key:"P",_values:["BlendMode","enum","","",0]},P07:{_key:"P",_values:["RotationAccumulationMode","enum","","",0]},P08:{_key:"P",_values:["ScaleAccumulationMode","enum","","",0]},P09:{_key:"P",_values:["BlendModeBypass","ULongLong","","",0]}}}}:void 0,animation_curve_node:_.animation_curve_node?{_key:"ObjectType",_values:["AnimationCurveNode"],Count:_.animation_curve_node,PropertyTemplate:{_values:["FbxAnimCurveNode"],Properties70:{P01:{_key:"P",_values:["d","Compound","",""]}}}}:void 0,animation_curve:_.animation_curve?{_key:"ObjectType",_values:["AnimationCurve"],Count:_.animation_curve}:void 0}}),n.push(o("Object properties")),n.push({Objects:f}),n.push(o("Object connections"));let A={};g.forEach((j,F)=>{A[`connection_${F}_comment`]={_comment:j.name.join(", ")},A[`connection_${F}`]={_key:"C",_values:[j.property?"OP":"OO",...j.id]},j.property&&A[`connection_${F}`]._values.push(j.property)}),n.push({Connections:A}),n.push(o("Takes section")),n.push({Takes:v}),e.dispatchEvent("compile",{model:n,options:i});let R;if(i.encoding=="binary"){let j={};n.forEach(F=>{if(typeof F=="object")for(let O in F)j[O]=F[O]}),R=noe(j)}else R=n.map(j=>typeof j=="object"?aoe(j):j).join("");return R},write(i,e){var t=this;he.writeFile(e,{content:i},n=>t.afterSave(n)),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png");var o=e.split(osfs);o.splice(-1,1,a),he.writeFile(o.join(osfs),{content:n.source,savetype:"image"})}})},export_options:{encoding:{type:"select",label:"codec.common.encoding",options:{ascii:"ASCII",binary:"Binary (Experimental)"}},scale:{label:"settings.model_export_scale",type:"number",value:Settings.get("model_export_scale")},embed_textures:{type:"checkbox",label:"codec.common.embed_textures",value:!1},include_animations:{label:"codec.common.export_animations",type:"checkbox",value:!0},armature_note:{type:"info",condition:()=>jr.all.length>0,text:"\u26A0\uFE0F Armature export to FBX is currently experimental, glTF is recommended instead."}},async export(){if(!(Object.keys(this.export_options).length&&await this.promptExportOptions()===null)){var i=this,e=new mw.default,t=this.compile();e.file((Project.name||"model")+".fbx",t),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png"),e.file(a,n.source.replace("data:image/png;base64,",""),{base64:!0})}}),e.generateAsync({type:"blob"}).then(n=>{bn.exportFile({type:"Zip Archive",extensions:["zip"],name:"assets",content:n,savetype:"zip"},a=>i.afterDownload(a))})}}});BARS.defineActions(function(){L5.export_action=new Action("export_fbx",{icon:"icon-fbx",category:"file",condition:()=>!!Project,click:function(){L5.export()}})});var ZC=class{constructor(e,t){W(this,"array");W(this,"buffer");W(this,"view");W(this,"cursor");W(this,"little_endian");W(this,"textEncoder");this.array=new Uint8Array(e),this.buffer=this.array.buffer,this.view=new DataView(this.buffer),this.cursor=0,this.little_endian=!!t,this.textEncoder=new TextEncoder}expand(e){if(this.cursor+e>this.buffer.byteLength){var t=this.array;this.array=new Uint8Array(this.cursor+Math.max(e,176)),this.buffer=this.array.buffer,this.array.set(t),this.view=new DataView(this.buffer)}}WriteUInt8(e){this.expand(1),this.view.setUint8(this.cursor,e),this.cursor+=1}WriteUInt16(e){this.expand(2),this.view.setUint16(this.cursor,e,this.little_endian),this.cursor+=2}WriteInt16(e){this.expand(2),this.view.setInt16(this.cursor,e,this.little_endian),this.cursor+=2}WriteInt32(e){this.expand(4),this.view.setInt32(this.cursor,e,this.little_endian),this.cursor+=4}WriteInt64(e){this.expand(8),this.view.setBigInt64(this.cursor,BigInt(e),this.little_endian),this.cursor+=8}WriteUInt32(e){this.expand(4),this.view.setUint32(this.cursor,e,this.little_endian),this.cursor+=4}WriteFloat32(e){this.expand(4),this.view.setFloat32(this.cursor,e,this.little_endian),this.cursor+=4}WriteFloat64(e){this.expand(8),this.view.setFloat64(this.cursor,e,this.little_endian),this.cursor+=8}WriteBoolean(e){this.WriteUInt8(e?1:0)}Write7BitEncodedInt(e){for(;e>=128;)this.WriteUInt8(e|128),e=e>>7;this.WriteUInt8(e)}WriteRawString(e){var t=this.EncodeString(e);this.WriteBytes(t)}WriteString(e,t){var n=this.EncodeString(e);t||this.Write7BitEncodedInt(n.byteLength),this.WriteBytes(n)}WriteU32String(e){var t=this.EncodeString(e);this.WriteUInt32(t.byteLength),this.WriteBytes(t)}WriteU32Base64(e){let t=Rb(e),n=Uint8Array.from(t,a=>a.charCodeAt(0));this.WriteUInt32(n.length),this.WriteBytes(n)}WritePoint(e){this.expand(8),this.view.setInt32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.y,this.little_endian),this.cursor+=4}WriteVector2(e){this.expand(8),this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4}WriteVector3(e){this.expand(12),this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteIntVector3(e){this.expand(12),this.view.setInt32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteQuaternion(e){this.expand(16),this.view.setFloat32(this.cursor,e.w,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteBytes(e){this.expand(e.byteLength),this.array.set(e,this.cursor),this.cursor+=e.byteLength}EncodeString(e){return this.textEncoder.encode(e)}};function noe(i){let e;D1<7500?e=new Uint8Array(Array(13).fill(0)):e=new Uint8Array(Array(25).fill(0));let t=["AnimationStack","AnimationLayer"];var n=new ZC(20,!0);n.WriteRawString("Kaydara FBX Binary "),n.WriteUInt8(0),n.WriteUInt8(26),n.WriteUInt8(0),n.WriteUInt32(D1);function a(d,u){let p;typeof u=="object"&&typeof u.map=="function"?p=u:typeof u!="object"?p=[u]:u._values?p=u._values:p=[];let m=u.hasOwnProperty("_values")&&u.hasOwnProperty("a")&&u._type!=null,_=n.cursor;n.WriteUInt32(0),n.WriteUInt32(p.length);let f=n.cursor;n.WriteUInt32(0),n.WriteString(d);let g=n.cursor;if(m){let v=u._type||"i",b=u.a;b instanceof Array||(b=[b]),n.WriteRawString(v),n.WriteUInt32(b.length),n.WriteUInt32(0);let x=0;switch(v){case"f":case"i":x=4;break;case"d":case"l":x=8;break;case"b":x=1;break}n.WriteUInt32(b.length*x);for(let w of b)switch(v){case"f":n.WriteFloat32(w);break;case"d":n.WriteFloat64(w);break;case"l":n.WriteInt64(w);break;case"i":n.WriteInt32(w);break;case"b":n.WriteBoolean(w);break}}else p.forEach((v,b)=>{let x=typeof v;if(typeof v=="object"&&v.isTNum&&(x=v.type,v=v.value),x=="number"&&(x=v%1?"D":"I"),x=="boolean")n.WriteRawString("C"),n.WriteBoolean(v);else if(x=="string"&&v.startsWith("iV"))n.WriteRawString("R"),n.WriteU32Base64(v);else if(x=="string"){if(v.includes("::")){let y=v.split("::");v=y[1]+"\0"+y[0]}n.WriteRawString("S"),v.startsWith("_")&&(v=v.substring(1)),n.WriteU32String(v)}else x=="Y"?(n.WriteRawString("Y"),n.WriteInt16(v)):x=="I"?(n.WriteRawString("I"),n.WriteInt32(v)):x=="F"?(n.WriteRawString("F"),n.WriteFloat32(v)):x=="D"?(n.WriteRawString("D"),n.WriteFloat64(v)):x=="L"&&(n.WriteRawString("L"),n.WriteInt64(v))});if(n.view.setUint32(f,n.cursor-g,n.little_endian),typeof u=="object"&&!(u instanceof Array)&&!m){let v=!1;for(let b in u){if(typeof b=="string"&&b.startsWith("_")||u[b]===void 0)continue;let x=u[b];x===null||x._comment||(x._key&&(b=x._key),v=!0,a(b,x))}(v||Object.keys(u).length===0&&!t.includes(d))&&n.WriteBytes(e)}n.view.setUint32(_,n.cursor,n.little_endian)}for(let d in i)a(d,i[d]);n.WriteBytes(e);let o=[250,188,171,9,208,200,212,102,177,118,251,131,28,247,38,126,0,0,0,0];n.WriteBytes(new Uint8Array(o));let r=n.cursor,s=(r+15&-16)-r;s===0&&(s=16);for(let d=0;d<s;d++)n.WriteUInt8(0);n.WriteUInt32(D1),n.WriteBytes(new Uint8Array(Array(120).fill(0)));let l=[248,90,140,106,222,245,217,126,236,233,12,227,117,143,41,11];return n.WriteBytes(new Uint8Array(l)),n.array.subarray(0,n.cursor)}function aoe(i){let e=0;function t(){let r="";for(let s=0;s<e;s++)r+=" ";return r}function n(r){return typeof r=="object"&&r.isTNum&&(r=r.value),typeof r=="boolean"?r?"Y":"N":typeof r=="string"&&r.startsWith("_")?r.substring(1):typeof r=="string"?'"'+r+'"':r}function a(r){let s="";if(Array.length==0)return s;s+=r[0];for(let l=1;l<r.length;l++){let c=r[l];s+=",",typeof c!="number"&&(s+=" "),s+=c}return s}function o(r){let s="";for(let l in r){if(typeof l=="string"&&l.startsWith("_")||r[l]===void 0||r[l]===null)continue;let c=r[l];if(c._comment){s+=`
${t()};${c._comment}
`;continue}c._key&&(l=c._key);let d="";typeof c=="object"&&typeof c.map=="function"?d=a(c.map(n)):typeof c!="object"?d=n(c):c._values&&(d=a(c._values.map(n))),s+=`${t()}${l}: ${d}`;let u;typeof c=="object"&&typeof c.map!="function"&&(e++,u=o(c),e--),u||c._force_compound?s+=` {
${u}${t()}}
`:s+=`
`}return s}return o(i)}function ll(i){return i.map(e=>Math.roundTo(e,6)).join(" ")}var N5=new Codec("collada",{name:"Collada Model",extension:"dae",compile(i=0){let e=this,t=[],n=[],a=[],o=[],r=[],s=Settings.get("model_export_scale"),l={type:"COLLADA",attributes:{xmlns:"http://www.collada.org/2005/11/COLLADASchema",version:"1.4.1","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance"},content:[{type:"asset",content:[{name:"contributor",content:[{type:"author",content:settings.username.value||"Blockbench user"},{type:"authoring_tool",content:"Blockbench"}]},{name:"created",content:new Date().toISOString()},{name:"modified",content:new Date().toISOString()},{name:"unit",attributes:{name:"meter",meter:"1.0"}},{name:"up_axis",content:"Y_UP"}]},{type:"library_effects",content:a},{type:"library_images",content:o},{type:"library_materials",content:r},{type:"library_geometries",content:t},{type:"library_visual_scenes",content:[{type:"visual_scene",attributes:{id:"Scene",name:"Scene"},content:n}]},{type:"scene",content:[{type:"instance_visual_scene",attributes:{url:"#Scene"}}]}]};Texture.all.forEach((p,m)=>{a.push({type:"effect",attributes:{id:`Material_${m}-effect`},content:{type:"profile_COMMON",content:[{type:"newparam",attributes:{sid:`Image_${m}-surface`},content:{type:"surface",attributes:{type:"2D"},content:{type:"init_from",content:`Image_${m}`}}},{type:"newparam",attributes:{sid:`Image_${m}-sampler`},content:{type:"sampler2D",content:{type:"source",content:`Image_${m}-surface`}}},{type:"technique",attributes:{sid:"common"},content:{type:"lambert",content:[{type:"emission",content:{type:"color",attributes:{sid:"emission"},content:"0 0 0 1"}},{type:"diffuse",content:{type:"texture",attributes:{texture:`Image_${m}-sampler`,texcoord:"UVMap"}}},{type:"index_of_refraction",content:{type:"float",attributes:{sid:"ior"},content:"1.45"}}]}}]}}),o.push({type:"image",attributes:{id:`Image_${m}`,name:`Image_${m}`},content:{type:"init_from",content:`${p.name.replace(/\.png$/,"")}.png`}}),r.push({type:"material",attributes:{id:`Material_${m}-material`,name:`Material_${m}`},content:{name:"instance_effect",attributes:{url:`#Material_${m}-effect`}}})});let c={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]};Cube.all.forEach(p=>{if(!p.export)return;let m=[],_=[],f=[],g=[],v=[];function b(F,O,L){m.push((F-p.origin[0])/s,(O-p.origin[1])/s,(L-p.origin[2])/s)}var x=p.from.slice(),w=p.to.slice();adjustFromAndToForInflateAndStretch(x,w,p),b(w[0],w[1],w[2]),b(w[0],w[1],x[2]),b(w[0],x[1],w[2]),b(w[0],x[1],x[2]),b(x[0],w[1],x[2]),b(x[0],w[1],w[2]),b(x[0],x[1],x[2]),b(x[0],x[1],w[2]);for(let F in p.faces){let O=p.faces[F];if(O.texture===null)continue;_.push(...c[F]);let L=O.getTexture(),U=[Project.getUVWidth(L),Project.getUVHeight(L)],J=[[O.uv[0]/U[0],1-O.uv[1]/U[1]],[O.uv[2]/U[0],1-O.uv[1]/U[1]],[O.uv[2]/U[0],1-O.uv[3]/U[1]],[O.uv[0]/U[0],1-O.uv[3]/U[1]]];for(var E=O.rotation||0;E>0;)J.splice(0,0,J.pop()),E-=90;J.forEach(te=>{f.push(...te)}),g.push(4);let ie;switch(F){case"north":ie=[1,4,6,3];break;case"east":ie=[0,1,3,2];break;case"south":ie=[5,0,2,7];break;case"west":ie=[4,5,7,6];break;case"up":ie=[4,1,0,5];break;case"down":ie=[7,2,3,6];break}v.push(ie[3],_.length/3-1,g.length*4-1,ie[2],_.length/3-1,g.length*4-2,ie[1],_.length/3-1,g.length*4-3,ie[0],_.length/3-1,g.length*4-4)}let y={type:"geometry",attributes:{id:`${p.uuid}-mesh`,name:p.name},content:{type:"mesh",content:[{type:"source",attributes:{id:`${p.uuid}-mesh-positions`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-positions-array`,count:m.length},content:ll(m)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-positions-array`,count:m.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-normals`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-normals-array`,count:_.length},content:ll(_)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-normals-array`,count:_.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-map-0`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-map-0-array`,count:f.length},content:ll(f)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-map-0-array`,count:f.length/2,stride:2},content:[{type:"param",attributes:{name:"S",type:"float"}},{type:"param",attributes:{name:"T",type:"float"}}]}}]},{type:"vertices",attributes:{id:`${p.uuid}-mesh-vertices`},content:[{type:"input",attributes:{semantic:"POSITION",source:`#${p.uuid}-mesh-positions`}}]}]}},A=0,R,j=[];for(let F in p.faces){let O=p.faces[F];if(O.texture!==null){let L=g[A],U=v.slice(A*12,A*12+12);R&&O.texture===R?(j.last().vcount.push(L),j.last().primitive.push(...U)):(j.push({texture:O.getTexture(),vcount:[L],primitive:U}),R=O.texture),A++}}j.forEach(F=>{y.content.content.push({type:"polylist",attributes:{material:`Material_${Texture.all.indexOf(F.texture)}-material`,count:6},content:[{type:"input",attributes:{semantic:"VERTEX",source:`#${p.uuid}-mesh-vertices`,offset:0}},{type:"input",attributes:{semantic:"NORMAL",source:`#${p.uuid}-mesh-normals`,offset:1}},{type:"input",attributes:{semantic:"TEXCOORD",source:`#${p.uuid}-mesh-map-0`,offset:2,set:0}},{type:"vcount",content:ll(F.vcount)},{type:"p",content:ll(F.primitive)}]})}),t.push(y)}),Mesh.all.forEach(p=>{if(!p.export)return;let m=[],_=[],f=[],g=[];function v(A,R,j){m.push(A/s,R/s,j/s)}for(let A in p.vertices)v(...p.vertices[A]),g.push(A);let b=0,x,w=[],E=0;for(let A in p.faces)if(p.faces[A].vertices.length>=3){let R=p.faces[A],j=R.getSortedVertices(),F=p.faces[A].getTexture(),O=[Project.getUVWidth(F),Project.getUVHeight(F)];j.forEach(U=>{f.push(R.uv[U][0]/O[0],1-R.uv[U][1]/O[1])}),_.push(...R.getNormal(!0));let L=[];j.forEach((U,J)=>{L.push(g.indexOf(U),_.length/3-1,f.length/2-j.length+J)}),x&&R.texture===x?(w.last().vcount.push(j.length),w.last().primitive.push(...L)):(w.push({texture:R.getTexture(),vcount:[j.length],primitive:L}),x=R.texture),E+=R.vertices.length,b++}let y={type:"geometry",attributes:{id:`${p.uuid}-mesh`,name:p.name},content:{type:"mesh",content:[{type:"source",attributes:{id:`${p.uuid}-mesh-positions`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-positions-array`,count:m.length},content:ll(m)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-positions-array`,count:m.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-normals`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-normals-array`,count:_.length},content:ll(_)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-normals-array`,count:_.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-map-0`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-map-0-array`,count:f.length},content:ll(f)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-map-0-array`,count:f.length/2,stride:2},content:[{type:"param",attributes:{name:"S",type:"float"}},{type:"param",attributes:{name:"T",type:"float"}}]}}]},{type:"vertices",attributes:{id:`${p.uuid}-mesh-vertices`},content:[{type:"input",attributes:{semantic:"POSITION",source:`#${p.uuid}-mesh-positions`}}]}]}};w.forEach(A=>{y.content.content.push({type:"polylist",attributes:{material:`Material_${Texture.all.indexOf(A.texture)}-material`,count:6},content:[{type:"input",attributes:{semantic:"VERTEX",source:`#${p.uuid}-mesh-vertices`,offset:0}},{type:"input",attributes:{semantic:"NORMAL",source:`#${p.uuid}-mesh-normals`,offset:1}},{type:"input",attributes:{semantic:"TEXCOORD",source:`#${p.uuid}-mesh-map-0`,offset:2,set:0}},{type:"vcount",content:ll(A.vcount)},{type:"p",content:ll(A.primitive)}]})}),t.push(y)});function d(p){let m=p.origin.slice();p.parent instanceof Group&&m.V3_subtract(p.parent.origin);let _={name:"node",attributes:{id:p.uuid,name:p.name,type:"NODE"},content:[{type:"scale",attributes:{sid:"scale"},content:"1 1 1"},{type:"translate",attributes:{sid:"location"},content:m.V3_divide(s).join(" ")}]};if(p.getTypeBehavior("rotatable")){let f=[{type:"rotate",attributes:{sid:"rotationZ"},content:`0 0 1 ${p.rotation[2]}`},{type:"rotate",attributes:{sid:"rotationY"},content:`0 1 0 ${p.rotation[1]}`},{type:"rotate",attributes:{sid:"rotationX"},content:`1 0 0 ${p.rotation[0]}`}];p.mesh.rotation.order=="XYZ"&&f.reverse(),_.content.push(...f)}if(p instanceof Cube||p instanceof Mesh){let f=[];for(let g in p.faces){let v=p.faces[g].getTexture();v instanceof Texture&&f.safePush(v)}_.content.push({type:"instance_geometry",attributes:{url:`#${p.uuid}-mesh`,name:p.name},content:{name:"bind_material",content:{name:"technique_common",content:f.map(g=>{let v=Texture.all.indexOf(g);return{name:"instance_material",attributes:{symbol:`Material_${v}-material`,target:`#Material_${v}-material`},content:{name:"bind_vertex_input",attributes:{semantic:"UVMap",input_semantic:"TEXCOORD",input_set:"0"}}}})}}})}return p instanceof Group&&p.children.forEach(f=>{f.export!==!1&&_.content.push(d(f))}),_}Outliner.root.forEach(p=>{p.export!==!1&&n.push(d(p))});let u=Codecs.gltf.buildAnimationTracks(s,!1);if(u.length){let p={type:"library_animations",content:[]},m={type:"library_animation_clips",content:[]},_={},f=0;u.forEach(g=>{g.duration<.01||g.tracks.forEach(v=>{_[v.group_uuid]||(_[v.group_uuid]={}),_[v.group_uuid][v.channel]||(_[v.group_uuid][v.channel]={animations_added:[],times:[]})})}),u.forEach((g,v)=>{if(g.duration<.01)return;g.tracks.forEach(x=>{let w=_[x.group_uuid][x.channel];w.times.push(...x.times.map(y=>y+f)),w.animations_added.push(v);let E=x.times[x.times.length-1]-g.duration<=.1;E&&w.times.push(g.duration+f),x.channel=="rotation"?(w.values||(w.values={}),["X","Y","Z"].forEach((y,A)=>{w.values[y]||(w.values[y]=[]);let R=x.values.filter((j,F)=>F%3==A).map(j=>Math.radToDeg(j));w.values[y].push(...R),E&&w.values[y].push(...w.values[y].slice(-1))})):(w.values||(w.values=[]),w.values.push(...x.values),E&&w.values.push(...w.values.slice(-3)))});for(let x in _){let w=Group.all.find(E=>E.uuid==x);for(let E in _[x]){let y=_[x][E];if(!y.animations_added.includes(v))if(y.times.push(f,f+g.duration),E=="rotation")y.values||(y.values={}),["X","Y","Z"].forEach((A,R)=>{y.values[A]||(y.values[A]=[]),y.values[A].push(0,0)});else if(E=="scale")y.values||(y.values=[]),y.values.push(1,1,1,1,1,1);else{y.values||(y.values=[]);let A=w.origin.slice();w.parent instanceof Group&&A.V3_subtract(w.parent.origin),A.V3_divide(s),y.values.push(...A,...A)}}}let b={type:"animation_clip",attributes:{id:g.name,name:g.name,start:f,end:f+g.duration}};f+=g.duration+.01,m.content.push(b)});for(let g in _){let v={type:"animation",attributes:{id:`animation-${g}`,name:g},content:[]};for(let b in _[g]){let x=_[g][b],w=OutlinerNode.uuids[g],E=b;E=="position"&&(E="location"),E=="rotation"&&(E="rotation_euler");let y=`${w.name}_${E}`,A={type:"animation",attributes:{id:`${y}`,name:y},content:[{type:"source",attributes:{id:y+"-input"},content:[{type:"float_array",attributes:{id:y+"-input-array",count:x.times.length},content:ll(x.times)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"-input-array",count:x.times.length,stride:1},content:{type:"param",attributes:{name:"TIME",type:"float"}}}}]}]};b=="rotation"?["X","Y","Z"].forEach((R,j)=>{let F=x.values[R];A.content.push({type:"source",attributes:{id:y+"_"+R+"-output"},content:[{type:"float_array",attributes:{id:y+"_"+R+"-output-array",count:F.length},content:ll(F)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"_"+R+"-output-array",count:F.length,stride:1},content:[{type:"param",attributes:{name:"ANGLE",type:"float"}}]}}]},{type:"sampler",attributes:{id:`${y+"_"+R}-sampler`},content:[{type:"input",attributes:{semantic:"INPUT",source:"#"+y+"-input"}},{type:"input",attributes:{semantic:"OUTPUT",source:"#"+y+"_"+R+"-output"}}]},{type:"channel",attributes:{source:`#${y+"_"+R}-sampler`,target:`${w.uuid}/rotation${R}.ANGLE`}})}):A.content.push({type:"source",attributes:{id:y+"-output"},content:[{type:"float_array",attributes:{id:y+"-output-array",count:x.values.length},content:ll(x.values)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"-output-array",count:x.values.length,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"sampler",attributes:{id:`${y}-sampler`},content:[{type:"input",attributes:{semantic:"INPUT",source:"#"+y+"-input"}},{type:"input",attributes:{semantic:"OUTPUT",source:"#"+y+"-output"}}]},{type:"channel",attributes:{source:`#${y}-sampler`,target:`${w.uuid}/${E}`}}),v.content.push(A)}p.content.push(v)}l.content.push(p),l.content.push(m)}return e.dispatchEvent("compile",{model:l,options:i}),i.raw?l:ooe(l)},write(i,e){var t=this;i=this.compile(),Blockbench.writeFile(e,{content:i},n=>t.afterSave(n)),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png");var o=e.split(osfs);o.splice(-1,1,a),Blockbench.writeFile(o.join(osfs),{content:n.source,savetype:"image"})}})},export(){var i=this,e=new JSZip,t=this.compile();e.file((Project.name||"model")+".dae",t),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png"),e.file(a,n.source.replace("data:image/png;base64,",""),{base64:!0})}}),e.generateAsync({type:"blob"}).then(n=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"assets",content:n,savetype:"zip"},a=>i.afterDownload(a))})}});BARS.defineActions(function(){N5.export_action=new Action({id:"export_collada",icon:"icon-collada",category:"file",click:function(){N5.export()}})});function ooe(i){let e=0,t=`<?xml version="1.0" encoding="utf-8"?>
`;function n(){let o="";for(let r=0;r<e;r++)o+=" ";return o}function a(o){let r=o.type||o.name,s=`<${r}`;if(o.attributes)for(let l in o.attributes)s+=` ${l}="${o.attributes[l]}"`;t+=n()+s,typeof o.content=="string"?t+=">"+o.content+`</${r}>
`:typeof o.content=="object"?(e++,t+=`>
`,(o.content instanceof Array?o.content:[o.content]).forEach(c=>{typeof c=="object"&&a(c)}),e--,t+=n()+`</${r}>
`):t+=`/>
`}return a(i),t}var V1=class{parse(e,t={}){let n=t.binary!==void 0?t.binary:!1,a=[],o=0;e.traverse(function(v){if(v.isMesh){let b=v.geometry;if(b.isBufferGeometry!==!0)throw new Error("THREE.STLExporter: Geometry is not of type THREE.BufferGeometry.");let x=b.index,w=b.getAttribute("position");o+=x!==null?x.count/3:w.count/3,a.push({object3d:v,geometry:b})}});let r,s=80;if(n===!0){let v=o*2+o*3*4*4+80+4,b=new ArrayBuffer(v);r=new DataView(b),r.setUint32(s,o,!0),s+=4}else r="",r+=`solid exported
`;let l=new we,c=new we,d=new we,u=new we,p=new we,m=new we;for(let v=0,b=a.length;v<b;v++){let x=a[v].object3d,w=a[v].geometry,E=w.index,y=w.getAttribute("position");if(E!==null)for(let A=0;A<E.count;A+=3){let R=E.getX(A+0),j=E.getX(A+1),F=E.getX(A+2);_(R,j,F,y,x)}else for(let A=0;A<y.count;A+=3){let R=A+0,j=A+1,F=A+2;_(R,j,F,y,x)}}return n===!1&&(r+=`endsolid exported
`),r;function _(v,b,x,w,E){l.fromBufferAttribute(w,v),c.fromBufferAttribute(w,b),d.fromBufferAttribute(w,x),E.isSkinnedMesh===!0&&(E.boneTransform(v,l),E.boneTransform(b,c),E.boneTransform(x,d)),l.applyMatrix4(E.matrixWorld),c.applyMatrix4(E.matrixWorld),d.applyMatrix4(E.matrixWorld),f(l,c,d),g(l),g(c),g(d),n===!0?(r.setUint16(s,0,!0),s+=2):(r+=` endloop
`,r+=` endfacet
`)}function f(v,b,x){u.subVectors(x,b),p.subVectors(v,b),u.cross(p).normalize(),m.copy(u).normalize(),n===!0?(r.setFloat32(s,m.x,!0),s+=4,r.setFloat32(s,m.y,!0),s+=4,r.setFloat32(s,m.z,!0),s+=4):(r+=" facet normal "+m.x+" "+m.y+" "+m.z+`
`,r+=` outer loop
`)}function g(v){n===!0?(r.setFloat32(s,v.x,!0),s+=4,r.setFloat32(s,v.y,!0),s+=4,r.setFloat32(s,v.z,!0),s+=4):r+=" vertex "+v.x+" "+v.y+" "+v.z+`
`}}};var H5=new Codec("stl",{name:"STL Model",extension:"stl",export_options:{encoding:{type:"select",label:"codec.common.encoding",options:{ascii:"ASCII",binary:"Binary"}}},compile(i=0){let e=this,t=Settings.get("model_export_scale"),n=new V1,a=new THREE.Scene;a.name="blockbench_export",Modes.edit||Animator.showDefaultPose(),Outliner.root.forEach(r=>{a.children.push(r.mesh)});let o=n.parse(a,{binary:i.encoding=="binary"});return e.dispatchEvent("compile",{result:o,options:i}),o}});BARS.defineActions(function(){H5.export_action=new Action({id:"export_stl",icon:"database",category:"file",click:function(){H5.export()}})});function Ro(i){var e=trimFloatNumber(i)+"";return e.includes(".")||(e+=".0"),e+"F"}function xy(i){return Math.floor(i)}var wo={"1.12":{name:"Forge 1.7 - 1.13",remember:!0,integer_size:!0,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.7 - 1.12
// Paste this class into your mod and generate all required imports
public class %(identifier) extends ModelBase {
%(fields)
public %(identifier)() {
textureWidth = %(texture_width);
textureHeight = %(texture_height);
%(content)
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
%(renderers)
}
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
modelRenderer.rotateAngleX = x;
modelRenderer.rotateAngleY = y;
modelRenderer.rotateAngleZ = z;
}
}`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this);
%(bone).setRotationPoint(%(x), %(y), %(z));
?(has_parent)%(parent).addChild(%(bone));
?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz));
%(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubeList.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.14":{name:"Forge 1.14 (MCP)",remember:!0,integer_size:!0,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.14 with MCP mappings
// Paste this class into your mod and generate all required imports
public class %(identifier) extends EntityModel {
%(fields)
public %(identifier)() {
textureWidth = %(texture_width);
textureHeight = %(texture_height);
%(content)
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
%(renderers)
}
public void setRotationAngle(RendererModel modelRenderer, float x, float y, float z) {
modelRenderer.rotateAngleX = x;
modelRenderer.rotateAngleY = y;
modelRenderer.rotateAngleZ = z;
}
}`,field:"private final RendererModel %(bone);",bone:`%(bone) = new RendererModel(this);
%(bone).setRotationPoint(%(x), %(y), %(z));
?(has_parent)%(parent).addChild(%(bone));
?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz));
%(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubeList.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.14_mojmaps":{name:"Forge 1.14 (Mojmaps)",remember:!1,integer_size:!0,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.14 with Mojang mappings
// Paste this class into your mod and generate all required imports
public class %(identifier) extends EntityModel {
%(fields)
public %(identifier)() {
texWidth = %(texture_width);
texHeight = %(texture_height);
%(content)
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
%(renderers)
}
public void setRotationAngle(RendererModel modelRenderer, float x, float y, float z) {
modelRenderer.xRot = x;
modelRenderer.yRot = y;
modelRenderer.zRot = z;
}
}`,field:"private final RendererModel %(bone);",bone:`%(bone) = new RendererModel(this);
%(bone).setPos(%(x), %(y), %(z));
?(has_parent)%(parent).addChild(%(bone));
?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz));
%(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubes.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.15":{name:"Forge 1.15 - 1.16 (MCP)",remember:!0,integer_size:!1,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.15 - 1.16 with MCP mappings
// Paste this class into your mod and generate all required imports
public class %(identifier) extends EntityModel<Entity> {
%(fields)
public %(identifier)() {
textureWidth = %(texture_width);
textureHeight = %(texture_height);
%(content)
}
@Override
public void setRotationAngles(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch){
//previously the render function, render code was moved to a method below
}
@Override
public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
%(renderers)
}
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
modelRenderer.rotateAngleX = x;
modelRenderer.rotateAngleY = y;
modelRenderer.rotateAngleZ = z;
}
}`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this);
%(bone).setRotationPoint(%(x), %(y), %(z));
?(has_parent)%(parent).addChild(%(bone));
?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz));
%(cubes)`,renderer:"%(bone).render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);",cube:"%(bone).setTextureOffset(%(uv_x), %(uv_y)).addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror));"},"1.15_mojmaps":{name:"Forge 1.15 - 1.16 (Mojmaps)",remember:!1,integer_size:!1,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.15 - 1.16 with Mojang mappings
// Paste this class into your mod and generate all required imports
public class %(identifier) extends EntityModel<Entity> {
%(fields)
public %(identifier)() {
texWidth = %(texture_width);
texHeight = %(texture_height);
%(content)
}
@Override
public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch){
//previously the render function, render code was moved to a method below
}
@Override
public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
%(renderers)
}
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
modelRenderer.xRot = x;
modelRenderer.yRot = y;
modelRenderer.zRot = z;
}
}`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this);
%(bone).setPos(%(x), %(y), %(z));
?(has_parent)%(parent).addChild(%(bone));
?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz));
%(cubes)`,renderer:"%(bone).render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);",cube:"%(bone).texOffs(%(uv_x), %(uv_y)).addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror));"},"1.17":{name:"Forge 1.17+ (Mojmaps)",remember:!1,use_layer_definition:!0,integer_size:!1,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class %(identifier)<T extends %(entity)> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("modid", "%(identifier_rl)"), "main");
%(fields)
public %(identifier)(ModelPart root) {
%(model_parts)
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
%(content)
return LayerDefinition.create(meshdefinition, %(texture_width), %(texture_height));
}
@Override
public void setupAnim(%(entity) entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
%(renderers)
}
}`,field:"private final ModelPart %(bone);",model_part:`?(has_no_parent)this.%(bone) = root.getChild("%(bone)");
?(has_parent)this.%(bone) = this.%(parent).getChild("%(bone)");`,bone:`?(has_no_parent)PartDefinition %(bone) = partdefinition.addOrReplaceChild("%(bone)", CubeListBuilder.create()
?(has_parent)PartDefinition %(bone) = %(parent).addOrReplaceChild("%(bone)", CubeListBuilder.create()
%(remove_n)%(cubes)
?(has_rotation)%(remove_n), PartPose.offsetAndRotation(%(x), %(y), %(z), %(rx), %(ry), %(rz)));
?(has_no_rotation)%(remove_n), PartPose.offset(%(x), %(y), %(z)));`,renderer:"%(bone).render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);",cube:".texOffs(%(uv_x), %(uv_y)){?(has_mirror).mirror()}.addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), new CubeDeformation(%(inflate))){?(has_mirror).mirror(false)}",animation_template:"mojang"},"1.17_yarn":{name:"Fabric 1.17+ (Yarn)",remember:!1,integer_size:!1,file:`// Made with Blockbench %(bb_version)
// Exported for Minecraft version 1.17+ for Yarn
// Paste this class into your mod and generate all required imports
public class %(identifier) extends EntityModel<%(entity)> {
%(fields)
public %(identifier)(ModelPart root) {
%(model_parts)
}
public static TexturedModelData getTexturedModelData() {
ModelData modelData = new ModelData();
ModelPartData modelPartData = modelData.getRoot();
%(content)
return TexturedModelData.of(modelData, %(texture_width), %(texture_height));
}
@Override
public void setAngles(%(entity) entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) {
%(renderers)
}
}`,field:"private final ModelPart %(bone);",model_part:`?(has_no_parent)this.%(bone) = root.getChild("%(bone)");
?(has_parent)this.%(bone) = this.%(parent).getChild("%(bone)");`,bone:`?(has_no_parent)ModelPartData %(bone) = modelPartData.addChild("%(bone)", ModelPartBuilder.create()
?(has_parent)ModelPartData %(bone) = %(parent).addChild("%(bone)", ModelPartBuilder.create()
%(remove_n)%(cubes)
?(has_rotation)%(remove_n), ModelTransform.of(%(x), %(y), %(z), %(rx), %(ry), %(rz)));
?(has_no_rotation)%(remove_n), ModelTransform.pivot(%(x), %(y), %(z)));`,renderer:"%(bone).render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha);",cube:".uv(%(uv_x), %(uv_y)){?(has_mirror).mirrored()}.cuboid(%(x), %(y), %(z), %(dx), %(dy), %(dz), new Dilation(%(inflate))){?(has_mirror).mirrored(false)}",animation_template:"fabric"},get(i,e=Project.modded_entity_version){let t=wo[e][i];return typeof t=="string"&&(t=t.replace(/\t\t\t/g,"")),t},keepLine(i){return i.replace(/\?\(\w+\)/,"")},getVariableRegex(i){return new RegExp(`%\\(${i}\\)`,"g")}},Zd={mojang:{name:"Mojmaps",file:`// Save this class in your mod and generate all required imports
/**
* Made with Blockbench %(bb_version)
* Exported for Minecraft version 1.19 or later with Mojang mappings
* @author %(author)
*/
public class %(identifier)Animation {
%(animations)
}`,animation:"public static final AnimationDefinition %(name) = AnimationDefinition.Builder.withLength(%(length))%(looping)%(channels).build();",looping:".looping()",channel:'.addAnimation("%(name)", new AnimationChannel(%(channel_type), %(keyframes)))',keyframe_rotation:"new Keyframe(%(time), KeyframeAnimations.degreeVec(%(x), %(y), %(z)), %(interpolation))",keyframe_position:"new Keyframe(%(time), KeyframeAnimations.posVec(%(x), %(y), %(z)), %(interpolation))",keyframe_scale:"new Keyframe(%(time), KeyframeAnimations.scaleVec(%(x), %(y), %(z)), %(interpolation))",channel_types:{rotation:"AnimationChannel.Targets.ROTATION",position:"AnimationChannel.Targets.POSITION",scale:"AnimationChannel.Targets.SCALE"},interpolations:{linear:"AnimationChannel.Interpolations.LINEAR",catmullrom:"AnimationChannel.Interpolations.CATMULLROM"}},fabric:{name:"Yarn",file:`// Save this class in your mod and generate all required imports
/**
* Made with Blockbench %(bb_version)
* Exported for Minecraft version 1.19 or later with Yarn mappings
* @author %(author)
*/
public class %(identifier)Animation {
%(animations)
}`,animation:"public static final Animation %(name) = Animation.Builder.create(%(length))%(looping)%(channels).build();",looping:".looping()",channel:'.addBoneAnimation("%(name)", new Transformation(%(channel_type), %(keyframes)))',keyframe_rotation:"new Keyframe(%(time), AnimationHelper.createRotationalVector(%(x), %(y), %(z)), %(interpolation))",keyframe_position:"new Keyframe(%(time), AnimationHelper.createTranslationalVector(%(x), %(y), %(z)), %(interpolation))",keyframe_scale:"new Keyframe(%(time), AnimationHelper.createScalingVector(%(x), %(y), %(z)), %(interpolation))",channel_types:{rotation:"Transformation.Targets.ROTATE",position:"Transformation.Targets.TRANSLATE",scale:"Transformation.Targets.SCALE"},interpolations:{linear:"Transformation.Interpolations.LINEAR",catmullrom:"Transformation.Interpolations.CUBIC"}},get(i,e=Project.modded_entity_version){let t=wo.get("animation_template",e),n=Zd[t||"mojang"][i];return typeof n=="string"&&(n=n.replace(/\t\t\t/g,"")),n}};function QC(){return Project.geometry_name&&Project.geometry_name.replace(/[\s-]+/g,"_")||Project.name||"CustomModel"}function G5(){Blockbench.showMessageBox({translateKey:"cannot_re_import",buttons:["dialog.save","dialog.cancel"]},i=>{i==0&&BarItems.save_project.click()})}var kf=new Codec("modded_entity",{name:"Java Class",extension:"java",remember:!0,support_partial_export:!0,load_filter:{type:"text",extensions:["java"]},compile(i){let e=wo.getVariableRegex,t=QC(),n=getAllGroups(),a=[];if(Cube.all.forEach(s=>{s.export!=!1&&s.parent=="root"&&a.push(s)}),a.length){let s=new Group({name:"bb_main"});s.is_catch_bone=!0,s.createUniqueName(),n.push(s),s.children.replace(a)}n.slice().forEach(s=>{if(s.export==!1)return;let l=[],c=n.indexOf(s);s.children.forEachReverse(d=>{if(!(!(d instanceof Cube)||!d.export)&&!d.rotation.allEqual(0)){let u=l.find(p=>{if(!p.rotation.equals(d.rotation))return!1;if(p.rotation.filter(_=>_).length>1)return p.origin.equals(d.origin);for(var m=0;m<3;m++)if(p.rotation[m]==0&&p.origin[m]!=d.origin[m])return!1;return!0});u||(u=new Group({rotation:d.rotation,origin:d.origin,name:`${d.name}_r1`}),u.parent=s,u.is_rotation_subgroup=!0,u.createUniqueName(n),l.push(u),c++,n.splice(c,0,u)),u.children.push(d)}})});let o=wo.get("file");o=o.replace(e("bb_version"),Blockbench.version),o=o.replace(e("entity"),Project.modded_entity_entity_class||"Entity"),o=o.replace(e("identifier"),t),o=o.replace(e("identifier_rl"),t.toLowerCase().replace(" ","_")),o=o.replace(e("texture_width"),Project.texture_width),o=o.replace(e("texture_height"),Project.texture_height),o=o.replace(e("fields"),()=>{let s=wo.get("use_layer_definition"),l=[];for(var c of n){if(!(c instanceof Group)&&!c.is_catch_bone||!c.export||c.is_rotation_subgroup&&wo.get("model_part"))continue;let d=wo.get("field").replace(e("bone"),c.name);l.push(d)}return l.join(`
`)}),o=o.replace(e("content"),()=>{let s=[];for(var l of n){if(!(l instanceof Group)&&!l.is_catch_bone||!l.export)continue;let d=wo.get("bone").replace(e("bone"),l.name).replace(/\n\?\(has_rotation\).+/,l.rotation.allEqual(0)?"":wo.keepLine).replace(/\n\?\(has_no_rotation\).+/,l.rotation.allEqual(0)?wo.keepLine:"");d=d.replace(e("rx"),Ro(Math.degToRad(-l.rotation[0]))).replace(e("ry"),Ro(Math.degToRad(-l.rotation[1]))).replace(e("rz"),Ro(Math.degToRad(l.rotation[2])));var c=l.origin.slice();l.parent instanceof Group&&c.V3_subtract(l.parent.origin),c[0]*=-1,Project.modded_entity_flip_y&&(c[1]*=-1,l.parent instanceof Group||(c[1]+=24)),d=d.replace(e("x"),Ro(c[0])).replace(e("y"),Ro(c[1])).replace(e("z"),Ro(c[2])).replace(/(?:\n|^)\?\(has_parent\).+/,l.parent instanceof Group?wo.keepLine:"").replace(/(?:\n|^)\?\(has_no_parent\).+/,l.parent instanceof Group?"":wo.keepLine).replace(/(?:\n|^)%\(remove_n\)/g,"").trim().replace(e("parent"),l.parent.name).replace(e("cubes"),()=>{let u=[];for(var p of l.children){if(!(p instanceof Cube)||!p.export||!p.rotation.allEqual(0)&&!l.is_rotation_subgroup)continue;let m=wo.get("cube").replace(e("bone"),l.name).replace(e("uv_x"),xy(p.uv_offset[0])).replace(e("uv_y"),xy(p.uv_offset[1])).replace(e("inflate"),Ro(p.inflate)).replace(/{\?\(has_mirror\)(.+?)}/g,p.mirror_uv==!0?"$1":"").replace(e("mirror"),p.mirror_uv);Project.modded_entity_flip_y?m=m.replace(e("x"),Ro(l.origin[0]-p.to[0])).replace(e("y"),Ro(-p.from[1]-p.size(1)+l.origin[1])).replace(e("z"),Ro(p.from[2]-l.origin[2])):m=m.replace(e("x"),Ro(l.origin[0]-p.to[0])).replace(e("y"),Ro(p.from[1]-l.origin[1])).replace(e("z"),Ro(p.from[2]-l.origin[2])),wo.get("integer_size")?m=m.replace(e("dx"),xy(p.size(0,!0))).replace(e("dy"),xy(p.size(1,!0))).replace(e("dz"),xy(p.size(2,!0))):m=m.replace(e("dx"),Ro(p.size(0,!1))).replace(e("dy"),Ro(p.size(1,!1))).replace(e("dz"),Ro(p.size(2,!1))),u.push(m)}return u.join(`
`)}).replace(/\n/g,`
`),s.push(d)}return s.join(`
`)}),o=o.replace(e("model_parts"),()=>{let s=wo.get("model_part");if(s==null)return"";let l=[];for(let c of n){if(!(c instanceof Group)&&!c.is_catch_bone||!c.export||c.is_rotation_subgroup)continue;let d=s.replace(e("bone"),c.name).replace(/\t+/,"").replace(/(?:\n|^)\?\(has_parent\).+/,c.parent instanceof Group?wo.keepLine:"").replace(/(?:\n|^)\?\(has_no_parent\).+/,c.parent instanceof Group?"":wo.keepLine).trim().replace(e("parent"),c.parent.name);l.push(d)}return l.join(`
`)}),o=o.replace(e("renderers"),()=>{let s=[];for(var l of n){if(!(l instanceof Group)&&!l.is_catch_bone||!l.export||!wo.get("render_subgroups")&&l.parent instanceof Group)continue;let c=wo.get("renderer").replace(e("bone"),l.name);s.push(c)}return s.join(`
`)});let r={model:o,options:i};return this.dispatchEvent("compile",r),r.model},parse(i,e,t){this.dispatchEvent("parse",{model:i});var n=[];i.split(`
`).forEach(d=>{d=d.replace(/\/\*[^(\*\/)]*\*\/|\/\/.*/g,"").trim().replace(/;$/,""),d&&n.push(d)});function a(d,u){d=d.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\./g,"\\.");var p=d.split("$"),m=[],_=0,f=0;for(var g of p){if(f==0){var v=new RegExp("^"+g).exec(u);if(v==null)return;_=v[0].length}else{var b=g.substr(0,1);g=g.substr(1);var x="";switch(b){case"v":x="^[a-zA-Z_][a-zA-Z0-9_]+";break;case"i":x="^-?\\d+";break;case"f":x="^-?\\d+\\.?\\d*[Ff]";break;case"d":x="^-?\\d+\\.?\\d*";break;case"b":x="^true|false";break}var v=new RegExp(x+g).exec(u.substr(_));if(v==null)return;var w=new RegExp(x).exec(u.substr(_))[0];switch(b){case"v":m.push(w);break;case"i":m.push(parseInt(w));break;case"f":m.push(parseFloat(w.replace(/F$/,"")));break;case"d":m.push(parseFloat(w.replace(/F$/,"")));break;case"b":m.push(w=="true");break}_+=v[0].length}f++}return l=m,!0}var o=0,r={},s,l,c;n.forEach(d=>{if(o==0)/^public class/.test(d)&&(o=1,s=d.split(/[\s<>()\.]+/g)[2]);else if(o==1)if(d=d.replace(/public |static |final |private |void /g,"").trim(),d.substr(0,13)=="ModelRenderer"||d.substr(0,13)=="RendererModel"){let g=d.split(" ")[1];r[g]=new Group({name:g,origin:[0,24,0]}).init()}else d.substr(0,s.length)==s&&(o=2);else if(o==2){if(d=d.replace(/^this\./,""),l=void 0,d=="}")o--;else if(a("textureWidth = $i",d)||a("texWidth = $i",d))Project.texture_width=l[0];else if(a("textureHeight = $i",d)||a("texHeight = $i",d))Project.texture_height=l[0];else if(a("super($v, $i, $i)",d))Project.texture_width=l[1],Project.texture_height=l[2];else if(a("ModelRenderer $v = new ModelRenderer(this, $i, $i)",d)||a("RendererModel $v = new RendererModel(this, $i, $i)",d)||a("$v = new ModelRenderer(this, $i, $i)",d)||a("$v = new RendererModel(this, $i, $i)",d))r[l[0]]||(r[l[0]]=new Group({name:l[0],origin:[0,24,0]}).init()),c=[l[1],l[2]];else if(a("$v = new ModelRenderer(this)",d))r[l[0]]||(r[l[0]]=new Group({name:l[0],origin:[0,0,0]}).init());else if(a("$v.setRotationPoint($f, $f, $f)",d)||a("$v.setPos($f, $f, $f)",d)){var u=r[l[0]];u&&(u.extend({origin:[-l[1],24-l[2],l[3]]}),u.children.forEach(g=>{g instanceof Cube&&(g.from[0]+=u.origin[0],g.to[0]+=u.origin[0],g.from[1]+=u.origin[1]-24,g.to[1]+=u.origin[1]-24,g.from[2]+=u.origin[2],g.to[2]+=u.origin[2])}))}else if(a("$v.addChild($v)",d.replace(/\(this\./g,"("))){var p=r[l[1]],m=r[l[0]];p.addTo(m),p.origin.V3_add(m.origin),p.origin[1]-=24,p.children.forEach(g=>{g instanceof Cube&&(g.from[0]+=m.origin[0],g.to[0]+=m.origin[0],g.from[1]+=m.origin[1]-24,g.to[1]+=m.origin[1]-24,g.from[2]+=m.origin[2],g.to[2]+=m.origin[2])})}else if(a("$v.cubeList.add(new ModelBox($v, $i, $i, $f, $f, $f, $i, $i, $i, $f, $b))",d)||a("$v.cubes.add(new ModelBox($v, $i, $i, $f, $f, $f, $i, $i, $i, $f, $b))",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:[l[2],l[3]],from:[_.origin[0]-l[4]-l[7],_.origin[1]-l[5]-l[8],_.origin[2]+l[6]],inflate:l[10],mirror_uv:l[11]});f.extend({to:[f.from[0]+Math.floor(l[7]),f.from[1]+Math.floor(l[8]),f.from[2]+Math.floor(l[9])]}),f.addTo(r[l[0]]).init()}else if(a("$v.addBox($f, $f, $f, $i, $i, $i)",d)||a("$v.addBox($f, $f, $f, $i, $i, $i, $v)",d)||a("$v.addBox($f, $f, $f, $i, $i, $i, $f)",d)||a("$v.addBox($f, $f, $f, $f, $f, $f, $f, $f, $f)",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:c,from:[_.origin[0]-l[1]-l[4],_.origin[1]-l[2]-l[5],_.origin[2]+l[3]],inflate:typeof l[7]=="number"?l[7]:0,mirror_uv:_.mirror_uv});f.extend({to:[f.from[0]+Math.floor(l[4]),f.from[1]+Math.floor(l[5]),f.from[2]+Math.floor(l[6])]}),f.addTo(r[l[0]]).init()}else if(a("$v.setTextureOffset($i, $i).addBox($f, $f, $f, $f, $f, $f, $f, $b)",d)||a("$v.texOffs($i, $i).addBox($f, $f, $f, $f, $f, $f, $f, $b)",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:[l[1],l[2]],from:[_.origin[0]-l[3]-l[6],_.origin[1]-l[4]-l[7],_.origin[2]+l[5]],inflate:l[9],mirror_uv:l[10]});f.extend({to:[f.from[0]+Math.floor(l[6]),f.from[1]+Math.floor(l[7]),f.from[2]+Math.floor(l[8])]}),f.addTo(r[l[0]]).init()}else if(a("setRotationAngle($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("setRotation($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("setRotateAngle($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("$v.rotateAngleX = $f",d)||a("$v.xRot = $f",d)){var _=r[l[0]];_&&(_.rotation[0]=-Math.radToDeg(l[1]))}else if(a("$v.rotateAngleY = $f",d)||a("$v.yRot = $f",d)){var _=r[l[0]];_&&(_.rotation[1]=-Math.radToDeg(l[1]))}else if(a("$v.rotateAngleZ = $f",d)||a("$v.zRot = $f",d)){var _=r[l[0]];_&&(_.rotation[2]=Math.radToDeg(l[1]))}else if(a("$v.mirror = $b",d)){var _=r[l[0]];_.mirror_uv=l[1],_.children.forEach(v=>{v.mirror_uv=l[1]})}}}),Project.geometry_name=s,this.dispatchEvent("parsed",{model:i}),Canvas.updateAllBones(),Validator.validate()},afterDownload(i){this.remember?Project.saved=!0:open_interface||G5(),Blockbench.showQuickMessage(tl("message.save_file",[i?pathToName(i,!0):this.fileName()]))},afterSave(i){var e=pathToName(i,!0);(Format.codec==this||this.id=="project")&&(Project.export_path=i,Project.export_codec=this.id,Project.name=pathToName(i,!1)),this.remember?(Project.saved=!0,addRecentProject({name:e,path:i,icon:this.id=="project"?"icon-blockbench_file":Format.icon}),updateRecentProjectThumbnail()):open_interface||G5(),Blockbench.showQuickMessage(tl("message.save_file",[e]))},fileName(){return QC()}});kf.templates=wo;kf.animation_templates=Zd;Object.defineProperty(kf,"remember",{get(){return!!Codecs.modded_entity.templates[Project.modded_entity_version].remember}});var roe=new AnimationCodec("modded_entity",{multiple_per_file:!0,compileFile(i=Animation.all){let e=wo.getVariableRegex,t=QC(),n=Zd.get("interpolations"),a=Zd.get("file");a=a.replace(e("bb_version"),Blockbench.version),a=a.replace(e("author"),Settings.get("username")||"Author"),a=a.replace(e("identifier"),t);let o=[];return i.forEach(r=>{let s=Zd.get("animation");s=s.replace(e("name"),r.name),s=s.replace(e("length"),Ro(r.length)),s=s.replace(e("looping"),r.loop=="loop"?Zd.get("looping"):"");let l=[],c=Zd.get("channel_types");for(let d in r.animators){let u=r.animators[d];if(u instanceof BoneAnimator)for(let p in c){let f=function(v,b,x,w,E){p=="position"&&(b*=-1),p=="rotation"&&(b*=-1,x*=-1);let y=Zd.get("keyframe_"+p);y=y.replace(e("time"),Ro(v)),y=y.replace(e("x"),Ro(b)),y=y.replace(e("y"),Ro(x)),y=y.replace(e("z"),Ro(w)),y=y.replace(e("interpolation"),n[E]||n.linear),_.push(y)};if(!(u[p]&&u[p].length))continue;let m=u[p].slice().sort((v,b)=>v.time-b.time),_=[];m.forEach((v,b)=>{if(f(v.time,v.calc("x"),v.calc("y"),v.calc("z"),v.interpolation),v.data_points[1])f(v.time+.001,v.calc("x",1),v.calc("y",1),v.calc("z",1),v.interpolation);else if(v.interpolation=="step"&&m[b+1]){let x=m[b+1];f(x.time-.001,v.calc("x"),v.calc("y"),v.calc("z"),"linear")}});let g=Zd.get("channel");g=g.replace(e("name"),u.name),g=g.replace(e("channel_type"),c[p]),g=g.replace(e("keyframes"),`
`+_.join(`,
`)+`
`),l.push(g)}}s=s.replace(e("channels"),`
`+l.join(`
`)+`
`),o.push(s)}),a=a.replace(e("animations"),o.join(`
`)),a}}),F1=new ModelFormat({id:"modded_entity",icon:"icon-format_java",category:"minecraft",target:"Minecraft: Java Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.modded_entity.info.integer_size")}
* ${tl("format.modded_entity.info.format")}`.replace(/\t+/g,"")}]},codec:kf,animation_codec:roe,node_name_regex:"\\w",box_uv:!0,box_uv_float_size:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,rotate_cubes:!0,integer_size:!0,animation_mode:!0,pbr:!0});Object.defineProperty(F1,"integer_size",{get:i=>wo.get("integer_size")||settings.modded_entity_integer_size.value});kf.format=F1;BARS.defineActions(function(){new Action({id:"export_class_entity",icon:"free_breakfast",category:"file",condition:()=>Format==F1,click:function(){kf.export()}}),new Action("export_modded_animations",{icon:"free_breakfast",category:"file",condition:()=>Format==F1,click(){let i={},e=[],t=Animation.all.slice();Format.animation_files&&t.sort((a,o)=>a.path.hashCode()-o.path.hashCode()),t.forEach(a=>{let o=a.name;e.push(o),i[o.hashCode()]={label:o,type:"checkbox",value:!0}});let n=new Dialog({id:"animation_export",title:"dialog.animation_export.title",form:i,onConfirm(a){n.hide(),e=e.filter(s=>a[s.hashCode()]);let o=e.map(s=>Animation.all.find(l=>l.name==s)),r=AnimationCodec.codecs.modded_entity.compileFile(o);Blockbench.export({resource_id:"modded_animation",type:"Modded Entity Animation",extensions:["java"],name:Project.geometry_name||"model",content:r})}});i.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(a){let o={};e.forEach(r=>o[r.hashCode()]=a==0),n.setFormValues(o)}},n.show()}})});var U1=new Codec("optifine_entity",{name:"OptiFine JEM",extension:"jem",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["jem"],condition(i){return i&&i.models!=null}},compile(i){i===void 0&&(i={});var e={};(Project.credit||settings.credit.value)&&(e.credit=Project.credit||settings.credit.value);function t(r){let s=r.name;return r.folder&&(s=r.folder+"/"+s),r.namespace&&r.namespace!="minecraft"&&(s=r.namespace+":"+s),s}function n(r){return Group.all.find(s=>s.export&&s.texture==r.uuid)}e.textureSize=[Project.texture_width,Project.texture_height];let a=Texture.getDefault();if(a&&(a.use_as_default||settings.optifine_save_default_texture.value&&!n(a))){let r=Texture.getDefault();e.texture=t(Texture.getDefault()),e.textureSize=[r.uv_width,r.uv_height]}else a=null;Project.shadow_size!=1&&(e.shadowSize=Project.shadow_size),e.models=[];function o(r){if(!settings.export_empty_groups.value&&!r.children.find(c=>c.export))return;var s={part:r.name,id:r.name,invertAxis:"xy",mirrorTexture:void 0,translate:r.origin.slice()};s.translate.V3_multiply(-1),r.rotation.allEqual(0)||(s.rotate=r.rotation.slice()),r.mirror_uv&&(s.mirrorTexture="u"),r.cem_attach&&(s.attach=!0),r.cem_model&&(s.model=r.cem_model),r.cem_scale&&(s.scale=r.cem_scale);function l(c,d,u,p){if(d.children.length===0)return;let m,_=d.children.filter(v=>v.export&&v.type==="cube"),f=!!_.find(v=>v.mirror_uv!==_[0].mirror_uv),g=p;if(d.texture){let v=Texture.all.find(b=>b.uuid==d.texture);v&&(g=v)}g&&g!=p&&(c.texture=t(g),(!p||g.uv_width!=p.uv_width||g.uv_height!=p.uv_height)&&(c.textureSize=[g.uv_width,g.uv_height])),d.children.forEach(v=>{if(v.export){if(v.type==="cube"){if(v.box_uv)var b=new oneLiner;else var b={};var x=v.size();if(b.coordinates=[v.from[0],v.from[1],v.from[2],x[0],x[1],x[2]],c&&c.part===void 0&&(b.coordinates[0]-=c.translate[0],b.coordinates[1]-=c.translate[1],b.coordinates[2]-=c.translate[2]),v.box_uv)b.textureOffset=v.uv_offset;else for(let E in v.faces)if(v.faces[E].texture!==null){let y=v.faces[E].uv;b[`uv${capitalizeFirstLetter(E)}`]=y}v.inflate&&typeof v.inflate=="number"&&(b.sizeAdd=v.inflate),v.mirror_uv!==d.mirror_uv&&f?(m||(m={invertAxis:"xy",mirrorTexture:"u",boxes:[]},c.submodels||(c.submodels=[]),c.submodels.splice(0,0,m)),m.boxes.push(b)):(c.boxes||(c.boxes=[]),v.mirror_uv!==d.mirror_uv&&(c.mirrorTexture=v.mirror_uv?"u":void 0),c.boxes.push(b))}else if(v.type==="group"){var w={id:v.name,invertAxis:"xy",mirrorTexture:void 0,translate:v.origin.slice()};v.mirror_uv&&(w.mirrorTexture="u"),v.rotation.allEqual(0)||(w.rotate=v.rotation.slice()),l(w,v,u+1,g),u>=1&&(w.translate[0]-=d.origin[0],w.translate[1]-=d.origin[1],w.translate[2]-=d.origin[2]),c.submodels||(c.submodels=[]),c.submodels.push(w)}}})}l(s,r,0,a),r.cem_animations&&r.cem_animations.length&&(s.animations=r.cem_animations),e.models.push(s)}if(i.build_part)o({name:Project.name,origin:[0,0,0],rotation:[0,0,0],children:Outliner.root.filter(r=>r.export)});else for(let r of Outliner.root)r instanceof Group&&r.export&&o(r);return this.dispatchEvent("compile",{entitymodel:e,options:i}),i.raw?e:autoStringify(e)},parse(i,e){this.dispatchEvent("parse",{model:i});let t={};function n(r,s){if(typeof r!="string")return;if(t[r])return t[r];let l=r.replace(/[\\/]/g,osfs),c="";if(l.includes(":")&&([c,l]=l.split(":")),l.match(/^textures/)&&e.includes("optifine")?l=e.replace(/[\\/]optifine[\\/].+$/i,osfs+l):e.includes(osfs)&&(l=e.replace(/[\\/][^\\/]+$/,osfs+l)),l.match(/\.\w{3,4}$/)||(l=l+".png"),c){let u=l.split(/[\\/]/),p=u.indexOf("assets");p>0&&u[p+1]&&(u[p+1]=c),l=u.join(osfs)}let d=new Texture().fromPath(l).add(!1);return c&&!d.namespace&&(d.namespace=c),t[r]=d,s instanceof Array&&d.extend({uv_width:s[0],uv_height:s[1]}),d}typeof i.credit=="string"&&(Project.credit=i.credit),i.textureSize&&(Project.texture_width=parseInt(i.textureSize[0])||16,Project.texture_height=parseInt(i.textureSize[1])||16);let a=n(i.texture,i.textureSize);a&&(a.use_as_default=!0),typeof i.shadowSize=="number"&&(Project.shadow_size=i.shadowSize);let o={uv:[0,0,0,0],texture:null};i.models&&i.models.forEach(function(r){if(typeof r!="object")return;let s=0,l=n(r.texture,r.textureSize),c=0;i._is_jpm||(c=new Group({name:r.part,origin:r.translate,rotation:r.rotate,mirror_uv:r.mirrorTexture&&r.mirrorTexture.includes("u"),cem_animations:r.animations,cem_attach:r.attach,cem_model:r.model,cem_scale:r.scale,texture:l?l.uuid:void 0}),c.origin.V3_multiply(-1),c.init().addTo());function d(u,p,m,_){u.boxes&&u.boxes.length&&u.boxes.forEach(f=>{var g=new Cube({name:f.name||p.name,autouv:0,uv_offset:f.textureOffset,box_uv:!!f.textureOffset,inflate:f.sizeAdd,mirror_uv:p.mirror_uv});if(f.coordinates&&g.extend({from:[f.coordinates[0],f.coordinates[1],f.coordinates[2]],to:[f.coordinates[0]+f.coordinates[3],f.coordinates[1]+f.coordinates[4],f.coordinates[2]+f.coordinates[5]]}),!f.textureOffset&&(f.uvNorth||f.uvEast||f.uvSouth||f.uvWest||f.uvUp||f.uvDown)&&g.extend({box_uv:!1,faces:{north:f.uvNorth?{uv:f.uvNorth}:o,east:f.uvEast?{uv:f.uvEast}:o,south:f.uvSouth?{uv:f.uvSouth}:o,west:f.uvWest?{uv:f.uvWest}:o,up:f.uvUp?{uv:f.uvUp}:o,down:f.uvDown?{uv:f.uvDown}:o}}),p&&(p.parent!=="root"||i._is_jpm))for(var v=0;v<3;v++)g.from[v]+=p.origin[v],g.to[v]+=p.origin[v];g.addTo(p).init()}),u.submodels&&u.submodels.length&&u.submodels.forEach(f=>{m>=1&&f.translate&&(f.translate[0]+=p.origin[0],f.translate[1]+=p.origin[1],f.translate[2]+=p.origin[2]);let g=n(f.texture,f.textureSize),v=new Group({name:f.id||f.comment||`${r.part??"part"}_sub_${s}`,origin:f.translate||(m>=1?u.translate:void 0),rotation:f.rotate,mirror_uv:f.mirrorTexture&&f.mirrorTexture.includes("u"),texture:(g||_)?.uuid});s++,v.addTo(p).init(),d(f,v,m+1,g||_)})}d(r,c,0,l||a)}),Project.box_uv=Cube.all.filter(r=>r.box_uv).length>Cube.all.length/2,this.dispatchEvent("parsed",{model:i}),Canvas.updateAllBones(),Validator.validate()}}),eP=new ModelFormat({id:"optifine_entity",extension:"jem",icon:"icon-format_optifine",category:"minecraft",target:"Minecraft: Java Edition with OptiFine",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.optifine_entity.info.optifine_required")}
* ${tl("format.optifine_entity.info.pivots")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [OptiFine Modeling and Animation Tutorial](https://youtu.be/arj2eim42KI)"}]},model_identifier:!1,box_uv:!0,optional_box_uv:!0,per_group_texture:!0,single_texture_default:!0,per_texture_uv_size:!0,integer_size:!0,bone_rig:!0,centered_grid:!0,texture_folder:!0,pbr:!0,codec:U1});Object.defineProperty(eP,"integer_size",{get:i=>Project.box_uv});U1.format=eP;BARS.defineActions(function(){U1.export_action=new Action("export_optifine_full",{icon:"icon-optifine_file",category:"file",condition:()=>Format==eP,click:function(){U1.export()}})});var ky=new Codec("optifine_part",{name:"OptiFine Part",extension:"jpm",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["jpm"]},compile(i){let e=i??0;i=i?Object.assign({},i):{},i.raw=!0,i.build_part=!0;let t=Codecs.optifine_entity.compile(i),n=t.models[0];return n.credit=t.credit,n.textureSize||(n.textureSize=t.textureSize),n.id==""&&delete n.id,delete n.part,this.dispatchEvent("compile",{model:n,original_options:e}),e.raw?n:autoStringify(n)},parse(i,e){this.dispatchEvent("parse",{model:i}),typeof i.credit=="string"&&(Project.credit=i.credit),i.textureSize&&(Project.texture_width=parseInt(i.textureSize[0])||16,Project.texture_height=parseInt(i.textureSize[1])||16);let t={_is_jpm:!0,invertAxis:"xy",models:[i]};Codecs.optifine_entity.parse(t,e),this.dispatchEvent("parsed",{model:i})}}),tP=new ModelFormat({name:"OptiFine Part",id:"optifine_part",extension:"jpm",icon:"icon-format_optifine",category:"minecraft",show_on_start_screen:!1,model_identifier:!1,box_uv:!0,optional_box_uv:!0,per_group_texture:!0,single_texture_default:!0,per_texture_uv_size:!0,integer_size:!0,bone_rig:!0,centered_grid:!0,texture_folder:!0,pbr:!0,codec:ky});Object.defineProperty(tP,"integer_size",{get:i=>Project.box_uv});ky.format=tP;BARS.defineActions(function(){ky.export_action=new Action("export_optifine_part",{name:"Export OptiFine Part",description:"Export a single part for an OptiFine model",icon:"icon-optifine_file",category:"file",condition:()=>Format==tP,click:function(){ky.export()}}),new Action("import_optifine_part",{icon:"icon-optifine_file",category:"file",condition:()=>Format.id=="optifine_entity"||Format.id=="optifine_part",click:function(){Blockbench.import({resource_id:"model",extensions:["jpm"],type:"JPM Entity Part Model",multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});ky.parse(t,e.path)})})}})});var bt={},soe={none:{Waist:[0,0,0],Head:[0,0,0],Body:[0,0,0],RightArm:[0,0,0],LeftArm:[0,0,0],RightLeg:[0,0,0],LeftLeg:[0,0,0]},natural:{Waist:[0,0,0],Head:[6,-5,0],Body:[0,0,0],RightArm:[10,0,0],LeftArm:[-12,0,0],RightLeg:[-11,0,2],LeftLeg:[10,0,-2]},walking:{Waist:[0,0,0],Head:[-2,0,0],Body:[0,0,0],RightArm:[-35,0,0],LeftArm:[35,0,0],RightLeg:[42,0,2],LeftLeg:[-42,0,-2]},crouching:{Waist:{rotation:[-28,0,0],offset:[0,-1,1]},Head:{rotation:[23,0,0],offset:[0,-3,1]},Body:{rotation:[0,0,0],offset:[0,-1,1]},RightArm:{rotation:[12,0,0],offset:[0,-1,1]},LeftArm:{rotation:[-20,0,0],offset:[0,-1,1]},RightLeg:[-14,0,0],LeftLeg:[14,0,0]},sitting:{Waist:[0,0,0],Head:[5.5,0,0],Body:[0,0,0],RightArm:[36,0,0],LeftArm:[36,0,0],RightLeg:[72,-18,0],LeftLeg:[72,18,0]},jumping:{Waist:[0,0,0],Head:[20,0,0],Body:[0,0,0],RightArm:{rotation:[-175,0,-20],offset:[0,2,0]},LeftArm:{rotation:[-170,0,15],offset:[0,2,0]},RightLeg:{rotation:[-5,0,15],offset:[0,-1,0]},LeftLeg:{rotation:[2.5,0,-10],offset:[0,6,-3.75]}},aiming:{Waist:[0,0,0],Head:[8,-35,0],Body:[-2,0,0],RightArm:{rotation:[97,-17,-2],offset:[-1,1,-1]},LeftArm:[104,-44,-10],RightLeg:{rotation:[2.5,0,0],offset:[0,1,-2]},LeftLeg:[-28,0,0]}},wy=new Codec("skin_model",{name:"Skin Model",remember:!1,compile(i){i===void 0&&(i=0);let e={name:Project.geometry_name.replace(/\./,"_"),texturewidth:Project.texture_width,textureheight:Project.texture_height,external_textures:Texture.all.filter(a=>a.pbr_channel=="color").map(a=>a.path.replace(/\\/g,"/").split("textures/")[1]),eyes:[[5,5],[9,5]],bones:void 0},t=[];return uC().forEach(function(a){if(a.type!=="group")return;let o={name:a.name};o.name=a.name,a.parent.type==="group"&&(o.parent=a.parent.name),o.pivot=a.origin.slice(),o.pivot[0]*=-1,a.rotation.allEqual(0)||(o.rotation=[-a.rotation[0],-a.rotation[1],a.rotation[2]]),a.reset&&(o.reset=!0),a.mirror_uv&&(o.mirror=!0);let r=[];for(let s of a.children)if(s.export&&s instanceof Cube){let l=Codecs.bedrock.compileCube(s,a);r.push(l)}r.length&&(o.cubes=r),t.push(o)}),t.length&&(e.bones=t),this.dispatchEvent("compile",{model:e,options:i}),e},parse(i,e,t,n=!0,a){this.dispatchEvent("parse",{model:i}),Project.texture_width=i.texturewidth||64,Project.texture_height=i.textureheight||64,i.texture_resolution_factor&&(e*=i.texture_resolution_factor),Interface.Panels.skin_pose.inside_vue.pose=Project.skin_pose=n?"natural":"none";let o={},r={};if(i.bones){let l=[];i.bones.forEach(function(c){l.push(c.name)}),i.bones.forEach(function(c,d){let u=new Group({name:c.name,origin:c.pivot,rotation:n&&c.pose?c.pose:c.rotation}).init();u.isOpen=!0,o[c.name]=u,c.pivot&&(u.origin[0]*=-1),u.rotation[0]*=-1,u.rotation[1]*=-1,u.mirror_uv=c.mirror===!0,u.reset=c.reset===!0,u.skin_original_origin=u.origin.slice(),c.cubes&&c.cubes.forEach(function(m){let _=Codecs.bedrock.parseCube(m,u);r[Cube.all.indexOf(_)]=m}),c.children&&c.children.forEach(function(m){m.addTo(u)});let p="root";c.parent&&(o[c.parent]?p=o[c.parent]:i.bones.forEach(function(m){m.name===c.parent&&(m.children&&m.children.length?m.children.push(u):m.children=[u])})),u.addTo(p)})}Cube.all.find(l=>l.box_uv)||(Project.box_uv=!1);let s;typeof t=="object"?s=new Texture().fromFile(t).add(!1):t!=!1&&e&&(s=loe(Project.texture_width*e,Project.texture_height*e,r,i.name,i.eyes,a));for(let l in r)r[l].visibility===!1&&(Cube.all[l].visibility=!1);s&&(s.load_callback=function(){Modes.options.paint.select()}),i.camera_angle&&main_preview.loadAnglePreset(Xa.find(l=>l.id==i.camera_angle)),Canvas.updateAllBones(),Canvas.updateVisibility(),rc(),updateSelection()}});wy.export=null;wy.rebuild=function(i,e){let[t,n]=i.split("."),a=bt[t],o=a.model||(n=="java"?a.model_java:a.model_bedrock)||a.variants[n].model,r=JSON.parse(o);wy.parse(r,void 0,!0,e&&e!=="none"),e&&e!=="none"&&e!=="natural"&&setTimeout(()=>{W5(e)},1)};var O1=new ModelFormat("skin",{icon:"icon-player",category:"minecraft",target:["Minecraft: Java Edition","Minecraft: Bedrock Edition"],format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.skin.info.skin")}
* ${tl("format.skin.info.model")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [Skin Design Tutorial](https://youtu.be/xC81Q3HGraE)"}]},can_convert_to:!1,model_identifier:!1,bone_rig:!0,box_uv:!0,centered_grid:!0,single_texture:!0,integer_size:!0,rotate_cubes:!1,edit_mode:!1,pose_mode:!0,codec:wy});O1.new=function(){return nP.show(),!0};function W5(i){let e=soe[i];K5(e),zn.skin_pose.inside_vue.pose=i,Project.skin_pose=i}function K5(i){zn.skin_pose.inside_vue.pose="",Group.all.forEach(e=>{if(!e.skin_original_origin)return;let t=i[e.name]||i[e.name.replace(/\s/g,"")]||{rotation:[0,0,0],offset:[0,0,0]};t instanceof Array&&(t={rotation:t,offset:[0,0,0]});let n=e.skin_original_origin.slice().V3_subtract(e.origin);n.V3_add(t.offset),e.extend({rotation:t.rotation}),e.origin.V3_add(n);let a=e.children.filter(o=>o instanceof Cube);for(let o of a)o.origin.V3_add(n),o.from.V3_add(n),o.to.V3_add(n)}),Canvas.updateView({groups:Group.all,group_aspects:{transform:!0},elements:Outliner.elements,element_aspects:{transform:!0},selection:!0})}function q5(){let i={};for(let e of Group.all){if(!e.skin_original_origin)continue;let t=e.origin.slice().V3_subtract(e.skin_original_origin),n=e.rotation.slice();t.allEqual(0)==!1?i[e.name]={offset:t,rotation:n}:n.allEqual(0)==!1&&(i[e.name]=n)}return i}function loe(i=64,e=64,t,n="name",a,o){let r=new Texture({internal:!0,name:n+".png"}),s=document.createElement("canvas"),l=s.getContext("2d");if(s.width=i,s.height=e,Project.box_uv?Cube.all.forEach((d,u)=>{let p=t[u];(o||!p.layer)&&Sa.paintCubeBoxTemplate(d,r,s,null,p.layer)}):t[0]&&!t[0].layer&&(l.fillStyle=Sa.face_data.up.c1,l.fillRect(0,0,i,e),l.fillStyle=Sa.face_data.up.c2,l.fillRect(1,1,i-2,e-2)),a){let d=s.width/Project.texture_width;l.fillStyle="#cdefff",a.forEach(u=>{l.fillRect(u[0]*d,u[1]*d,(u[2]||2)*d,(u[3]||2)*d)})}let c=s.toDataURL();return r.fromDataURL(c).add(!1),r}var $5={},iP="",nP=new Dialog({title:tl("dialog.skin.title"),id:"skin",form:{model:{label:"dialog.skin.model",type:"select",options:$5},game_edition:{label:"dialog.skin.variant",type:"inline_select",default:"java_edition",options:{java_edition:"Java Edition",bedrock_edition:"Bedrock Edition"},condition(i){return!!bt[i.model].model_bedrock}},variant:{label:"dialog.skin.variant",type:"select",options(){return iP&&bt[iP].variants||{}},condition(i){return!!bt[i.model].variants}},resolution:{label:"dialog.create_texture.resolution",type:"select",value:1,options:{1:"generic.default",16:"16x",32:"32x",64:"64x",128:"128x"}},resolution_warning:{type:"info",text:"dialog.skin.high_res_texture",condition:i=>i.resolution>16&&(i.model=="steve"||i.model=="alex")},texture_source:{label:"dialog.skin.texture_source",type:"select",options:{template:"dialog.skin.texture_source.template",load_texture:navigator.onLine?"dialog.skin.texture_source.load_texture":void 0,upload_texture:"dialog.skin.texture_file"}},texture_file:{label:"dialog.skin.texture_file",condition:i=>i.texture_source=="upload_texture",type:"file",extensions:["png"],readtype:"image",filetype:"PNG",return_as:"file"},pose:{type:"checkbox",label:"dialog.skin.pose",value:!0,condition:i=>!!bt[i.model].pose},layer_template:{type:"checkbox",label:"dialog.skin.layer_template",value:!1}},onFormChange(i){iP=i.model;let e=bt[i.model].variants;if(e){for(let t in e)if(!i.variant||!e[i.variant]){i.variant=t,nP.setFormValues({variant:t},!1);break}}},onConfirm:function(i){if(i.model=="flat_texture")i.texture?Codecs.image.load(i.texture):Formats.image.new();else if(newProject(O1)){let e=bt[i.model],t;e.model_bedrock?t=i.game_edition=="java_edition"?e.model_java:e.model_bedrock:e.variants?t=e.variants[i.variant].model:t=e.model;let n=JSON.parse(t),a=i.resolution;a==1&&(a=n.default_resolution??16);let o;i.texture_source=="upload_texture"?o=i.texture_file:i.texture_source=="load_texture"&&(n.external_textures?navigator.onLine?o=!1:he.showQuickMessage("Failed to load skin texture from Minecraft. Check your internet connection.",3e3):he.showQuickMessage("This skin model does not support loading textures from Minecraft at the moment",3e3)),wy.parse(n,a/16,o,i.pose,i.layer_template),Project.skin_model=i.model,e.model_bedrock?Project.skin_model+="."+(i.game_edition=="java_edition"?"java":"bedrock"):e.variants&&(Project.skin_model+="."+i.variant),i.texture_source=="load_texture"&&navigator.onLine&&my.promptUser("skin").then(async function(r){if(r==!0&&n.external_textures)for(let s of n.external_textures){let l=new Bb,c=`https://raw.githubusercontent.com/Mojang/bedrock-samples/preview/resource_pack/textures/${s}?raw=true`,d;s.endsWith(".tga")?d=fetch(c).then(u=>u.arrayBuffer()).then(u=>l.loadFromTGA(new Uint8Array(u))):d=l.loadFromURL(c),d.then(()=>{let u=l.canvas.toDataURL();new Texture({internal:!0,name:pathToName(s,!0)}).fromDataURL(u).add(!1)})}})}},onCancel(){he.Format=0,Settings.updateSettingsInProfiles()}});O1.setup_dialog=nP;Ba.init("skin_poses","array");BARS.defineActions(function(){new Mode("pose",{icon:"emoji_people",default_tool:"rotate_tool",category:"navigate",condition:()=>Format&&Format.pose_mode}),new Action("toggle_skin_layer",{icon:"layers_clear",category:"edit",condition:{formats:["skin"]},click:function(){let e=[];if(Cube.all.forEach(n=>{n.name.toLowerCase().includes("layer")&&e.push(n)}),!e.length)return;Undo.initEdit({elements:e});let t=!e[0].visibility;e.forEach(n=>{n.visibility=t}),Undo.finishEdit("Toggle skin layer"),Canvas.updateVisibility()}}),new Action("convert_minecraft_skin_variant",{icon:"compare_arrows",category:"edit",condition:{formats:["skin"],method:()=>!!Group.all.find(e=>e.name=="Right Arm")},click(){let e=Cube.all.find(t=>t.name.match(/arm/i)).size(0)==3;new Dialog("convert_minecraft_skin_variant",{title:"action.convert_minecraft_skin_variant",form:{model:{label:"dialog.skin.model",type:"select",value:e?"steve":"alex",options:{steve:bt.steve.display_name,alex:bt.alex.display_name}},adjust_texture:{label:"dialog.convert_skin.adjust_texture",type:"checkbox",value:!0}},onConfirm(t){let n=Group.all.find(r=>r.name=="Right Arm")?.children?.filter(r=>r instanceof Cube)??[],a=Group.all.find(r=>r.name=="Left Arm")?.children?.filter(r=>r instanceof Cube)??[],o=n.concat(a);Undo.initEdit({elements:o});for(let r of n)r.to[0]=t.model=="alex"?7:8;for(let r of a)r.from[0]=t.model=="alex"?-7:-8;if(Canvas.updateView({elements:n.concat(a),element_aspects:{geometry:!0,uv:!0},selection:!0}),Undo.finishEdit("Convert Minecraft skin model"),t.adjust_texture){let r=Texture.all.filter(c=>c.selected||c.multi_selected);if(r.length||(r=[Texture.getDefault()]),!r[0])return;let s=[[40,16],[40,32],[32,48],[48,48]],l;t.model=="alex"?l=[{area:[6,0,10,16],offset:[-1,0]},{area:[9,0,2,4],offset:[-1,0]},{area:[13,4,2,12],offset:[-1,0]}]:l=[{area:[5,0,10,16],offset:[1,0]},{area:[9,0,2,4],offset:[1,0]},{area:[13,4,2,12],offset:[1,0]}],Undo.initEdit({textures:r,bitmap:!0});for(let c of r)c.layers_enabled&&(c.layers_enabled=!1,c.selected_layer=null,c.layers.empty()),c.edit(()=>{let d=c.ctx;for(let u of s){for(let p of l){let m=d.getImageData(u[0]+p.area[0],u[1]+p.area[1],p.area[2],p.area[3]);d.putImageData(m,u[0]+p.area[0]+p.offset[0],u[1]+p.area[1]+p.offset[1])}t.model=="alex"&&(d.clearRect(u[0]+10,u[1]+0,2,4),d.clearRect(u[0]+14,u[1]+4,2,12))}},{no_undo:!0});UVEditor.vue.layer=null,updateSelection(),Undo.finishEdit("Convert Minecraft skin texture")}}}).show()}}),new Action("export_minecraft_skin",{icon:"icon-player",category:"file",condition:()=>Format==O1&&!!Texture.all[0],click:function(){Texture.all[0].save(!0)}});let i=new Toggle("explode_skin_model",{icon:()=>"open_in_full",category:"edit",condition:{formats:["skin"]},default:!1,onChange(e){Undo.initEdit({elements:Cube.all,exploded_view:!e}),Cube.all.forEach(t=>{let n=[t.from[0]+(t.to[0]-t.from[0])/2,t.from[1],t.from[2]+(t.to[2]-t.from[2])/2],a=t.name.toLowerCase().includes("leg")?1:.5;n.V3_multiply(e?a:-a/(1+a)),t.from.V3_add(n),t.to.V3_add(n)}),Project.exploded_view=e,Undo.finishEdit(e?"Explode skin model":"Revert exploding skin model",{elements:Cube.all,exploded_view:e}),Canvas.updateView({elements:Cube.all,element_aspects:{geometry:!0}}),this.setIcon(this.icon)}});he.on("select_project",()=>{i.value=!!Project.exploded_view,i.updateEnabledState()}),new Action("custom_skin_poses",{icon:"format_list_bulleted",category:"view",condition:{formats:["skin"],modes:["pose"]},click(e){new Menu(this.children()).open(e.target)},children(){let e=[],t=Ba.get("skin_poses");return t.forEach((n,a)=>{let o={name:n.name,icon:"accessibility",id:a.toString(),click(){K5(n.data)},children:[{icon:"update",name:"action.custom_skin_poses.update",description:"action.custom_skin_poses.update.desc",click(){n.data=q5(),Ba.save("skin_poses")}},{icon:"delete",name:"generic.delete",click(){t.remove(n),Ba.save("skin_poses")}}]};e.push(o)}),e.push("_","add_custom_skin_pose"),e}}),new Action("add_custom_skin_pose",{icon:"add",category:"view",condition:{formats:["skin"],modes:["pose"]},click(e){he.textPrompt("generic.name","new pose",t=>{let n={name:t,data:q5()};Ba.get("skin_poses").push(n),Ba.save("skin_poses")})}})});Interface.definePanels(function(){new Ml("skin_pose",{icon:"icon-player",condition:{modes:["pose"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,80],height:80,sidebar_index:1},toolbars:[new Toolbar("skin_pose",{children:["custom_skin_poses","add_custom_skin_pose"]})],component:{data(){return{pose:"default"}},methods:{setPose(i){W5(i)}},template:`
<div>
<ul id="skin_pose_selector">
<li :class="{selected: pose == 'none'}" @click="setPose('none')" title="${tl("panel.skin_pose.none")}"><div class="pose_icon" style="mask-image: url('./assets/poses/none.svg');"/></li>
<li :class="{selected: pose == 'natural'}" @click="setPose('natural')" title="${tl("panel.skin_pose.natural")}"><div class="pose_icon" style="mask-image: url('./assets/poses/natural.svg');"/></li>
<li :class="{selected: pose == 'walking'}" @click="setPose('walking')" title="${tl("panel.skin_pose.walking")}"><div class="pose_icon" style="mask-image: url('./assets/poses/walking.svg');"/></li>
<li :class="{selected: pose == 'crouching'}" @click="setPose('crouching')" title="${tl("panel.skin_pose.crouching")}"><div class="pose_icon" style="mask-image: url('./assets/poses/crouching.svg');"/></li>
<li :class="{selected: pose == 'sitting'}" @click="setPose('sitting')" title="${tl("panel.skin_pose.sitting")}"><div class="pose_icon" style="mask-image: url('./assets/poses/sitting.svg');"/></li>
<li :class="{selected: pose == 'jumping'}" @click="setPose('jumping')" title="${tl("panel.skin_pose.jumping")}"><div class="pose_icon" style="mask-image: url('./assets/poses/jumping.svg');"/></li>
<li :class="{selected: pose == 'aiming'}" @click="setPose('aiming')" title="${tl("panel.skin_pose.aiming")}"><div class="pose_icon" style="mask-image: url('./assets/poses/aiming.svg');"/></li>
</ul>
</div>
`}})});bt.steve={display_name:"Player - Wide",pose:!0,model:`{
"name": "steve",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 11],
[13, 11]
],
"bones": [
{
"name": "Waist",
"color": 0,
"pivot": [0, 12, 0],
"pose": [0, 0, 0]
},
{
"name": "Head",
"parent": "Waist",
"color": 1,
"pivot": [0, 24, 0],
"pose": [-6, 5, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true}
]
},
{
"name": "Body",
"parent": "Waist",
"color": 3,
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]},
{"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Arm",
"parent": "Waist",
"color": 5,
"pivot": [-5, 22, 0],
"pose": [-10, 0, 0],
"cubes": [
{"name": "Right Arm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]},
{"name": "Right Arm Layer", "visibility": false, "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Arm",
"parent": "Waist",
"color": 0,
"pivot": [5, 22, 0],
"pose": [12, 0, 0],
"cubes": [
{"name": "Left Arm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [32, 48]},
{"name": "Left Arm Layer", "visibility": false, "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Leg",
"color": 6,
"pivot": [-1.9, 12, 0],
"pose": [11, 0, 2],
"cubes": [
{"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Leg",
"color": 7,
"pivot": [1.9, 12, 0],
"pose": [-10, 0, -2],
"cubes": [
{"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]},
{"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true}
]
}
]
}`};bt.alex={display_name:"Player - Slim",pose:!0,model_java:`{
"name": "alex",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 11],
[13, 11]
],
"bones": [
{
"name": "Waist",
"color": 0,
"pivot": [0, 12, 0],
"pose": [0, 0, 0]
},
{
"name": "Head",
"parent": "Waist",
"color": 1,
"pivot": [0, 24, 0],
"pose": [-6, 5, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true}
]
},
{
"name": "Body",
"parent": "Waist",
"color": 3,
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]},
{"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Arm",
"parent": "Waist",
"color": 5,
"pivot": [-5, 22, 0],
"pose": [-10, 0, 0],
"cubes": [
{"name": "Right Arm", "origin": [-7, 12, -2], "size": [3, 12, 4], "uv": [40, 16]},
{"name": "Right Arm Layer", "visibility": false, "origin": [-7, 12, -2], "size": [3, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Arm",
"parent": "Waist",
"color": 0,
"pivot": [5, 22, 0],
"pose": [12, 0, 0],
"cubes": [
{"name": "Left Arm", "origin": [4, 12, -2], "size": [3, 12, 4], "uv": [32, 48]},
{"name": "Left Arm Layer", "visibility": false, "origin": [4, 12, -2], "size": [3, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Leg",
"color": 6,
"pivot": [-1.9, 12, 0],
"pose": [11, 0, 2],
"cubes": [
{"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Leg",
"color": 7,
"pivot": [1.9, 12, 0],
"pose": [-10, 0, -2],
"cubes": [
{"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]},
{"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true}
]
}
]
}`,model_bedrock:`{
"name": "alex",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 11],
[13, 11]
],
"bones": [
{
"name": "Waist",
"color": 0,
"pivot": [0, 12, 0],
"pose": [0, 0, 0]
},
{
"name": "Head",
"parent": "Waist",
"color": 1,
"pivot": [0, 24, 0],
"pose": [-6, 5, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true}
]
},
{
"name": "Body",
"parent": "Waist",
"color": 3,
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]},
{"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Arm",
"parent": "Waist",
"color": 5,
"pivot": [-5, 21.5, 0],
"pose": [-10, 0, 0],
"cubes": [
{"name": "Right Arm", "origin": [-7, 11.5, -2], "size": [3, 12, 4], "uv": [40, 16]},
{"name": "Right Arm Layer", "visibility": false, "origin": [-7, 11.5, -2], "size": [3, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Arm",
"parent": "Waist",
"color": 0,
"pivot": [5, 21.5, 0],
"pose": [12, 0, 0],
"cubes": [
{"name": "Left Arm", "origin": [4, 11.5, -2], "size": [3, 12, 4], "uv": [32, 48]},
{"name": "Left Arm Layer", "visibility": false, "origin": [4, 11.5, -2], "size": [3, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true}
]
},
{
"name": "Right Leg",
"color": 6,
"pivot": [-1.9, 12, 0],
"pose": [11, 0, 2],
"cubes": [
{"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true}
]
},
{
"name": "Left Leg",
"color": 7,
"pivot": [1.9, 12, 0],
"pose": [-10, 0, -2],
"cubes": [
{"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]},
{"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true}
]
}
]
}`};bt.flat_texture={display_name:"Texture",model:`{
"name": "flat_texture",
"camera_angle": "top",
"texturewidth": 16,
"textureheight": 16,
"bones": [
{
"name": "block",
"pivot": [0, 0, 0],
"cubes": [
{
"origin": [-8, 0, -8],
"size": [16, 1, 16],
"layer": true,
"uv": {
"up": {"uv": [16, 16], "uv_size": [-16, -16]}
}
}
]
}
]
}`};bt.block={display_name:"Block",model:`{
"name": "block",
"texturewidth": 16,
"textureheight": 16,
"bones": [
{
"name": "block",
"pivot": [0, 0, 0],
"cubes": [
{
"origin": [-8, 0, -8],
"size": [16, 16, 16],
"uv": {
"north": {"uv": [0, 0], "uv_size": [16, 16]},
"east": {"uv": [0, 0], "uv_size": [16, 16]},
"south": {"uv": [0, 0], "uv_size": [16, 16]},
"west": {"uv": [0, 0], "uv_size": [16, 16]},
"up": {"uv": [16, 16], "uv_size": [-16, -16]},
"down": {"uv": [16, 16], "uv_size": [-16, -16]}
}
}
]
}
]
}`};bt.allay={display_name:"Allay",model:`{
"name": "allay",
"external_textures": ["entity/allay/allay.png"],
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[6, 7, 1, 2],
[8, 7, 1, 2]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 4, 0],
"cubes": [
{"origin": [-2.5, 4.01, -2.5], "size": [5, 5, 5], "uv": [0, 0]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 4, 0],
"cubes": [
{"origin": [-1.5, 0, -1], "size": [3, 4, 2], "uv": [0, 10]},
{"origin": [-1.5, -1, -1], "size": [3, 5, 2], "inflate": -0.2, "uv": [0, 16]}
]
},
{
"name": "rightItem",
"parent": "body",
"pivot": [0, -1, -2],
"rotation": [-80, 0, 0]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-1.75, 3.5, 0],
"cubes": [
{"origin": [-2.5, 0, -1], "size": [1, 4, 2], "uv": [23, 0]}
]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [1.75, 3.5, 0],
"cubes": [
{"origin": [1.5, 0, -1], "size": [1, 4, 2], "uv": [23, 6]}
]
},
{
"name": "left_wing",
"parent": "body",
"pivot": [0.5, 3, 1],
"cubes": [
{"origin": [0.5, -2, 1], "size": [0, 5, 8], "uv": [16, 14], "mirror": true}
]
},
{
"name": "right_wing",
"parent": "body",
"pivot": [-0.5, 3, 1],
"cubes": [
{"origin": [-0.5, -2, 1], "size": [0, 5, 8], "uv": [16, 14]}
]
}
]
}`};bt.armadillo={display_name:"Armadillo",model:`{
"name": "armadillo",
"external_textures": ["entity/armadillo.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[44, 19, 1, 1],
[48, 19, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 3, 4],
"cubes": [
{"origin": [-4, 2, -6], "size": [8, 8, 12], "inflate": 0.3, "uv": [0, 20]},
{"origin": [-4, 2, -6], "size": [8, 8, 12], "uv": [0, 40]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 6, 5],
"rotation": [29, 0, 0],
"cubes": [
{"origin": [-0.5, 0.08645, 5.09326], "size": [1, 6, 1], "uv": [44, 53]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 5, -7],
"cubes": [
{"origin": [-1.5, 1, -8], "size": [3, 5, 2], "pivot": [0, 5, -7], "rotation": [-22.5, 0, 0], "uv": [43, 15]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-1, 6, -7],
"cubes": [
{"origin": [-3.5, 4, -7.6], "size": [2, 5, 0], "pivot": [-1.5, 6, -7.6], "rotation": [10.80524, -22.13991, -4.11405], "uv": [43, 10]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [1, 7, -7],
"cubes": [
{"origin": [1.5, 4, -7.6], "size": [2, 5, 0], "pivot": [1.5, 6, -7.6], "rotation": [10.80524, 22.13991, 4.11405], "uv": [47, 10]}
]
},
{
"name": "right_hind_leg",
"pivot": [-2, 3, 4],
"cubes": [
{"origin": [-3, 0, 3], "size": [2, 3, 2], "uv": [51, 31]}
]
},
{
"name": "left_hind_leg",
"pivot": [2, 3, 4],
"cubes": [
{"origin": [1, 0, 3], "size": [2, 3, 2], "uv": [42, 31]}
]
},
{
"name": "right_front_leg",
"pivot": [-2, 3, -4],
"cubes": [
{"origin": [-3, 0, -5], "size": [2, 3, 2], "uv": [51, 43]}
]
},
{
"name": "left_front_leg",
"pivot": [2, 3, -4],
"cubes": [
{"origin": [1, 0, -5], "size": [2, 3, 2], "uv": [42, 43]}
]
},
{
"name": "body_rolled_up",
"pivot": [0, 0, 27],
"cubes": [
{"origin": [-5, 0, 21], "size": [10, 10, 10], "uv": [0, 0]}
]
}
]
}`};bt.armadillo_baby={display_name:"Armadillo Baby",model:`{
"name": "armadillo_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/armadillo/armadillo_baby.png"],
"eyes": [
[22, 21, 1, 1],
[27, 21, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 4, 0.5],
"cubes": [
{"origin": [-2.5, 2, -3], "size": [5, 4, 7], "inflate": 0.3, "uv": [0, 0]},
{"origin": [-2.5, 2, -2.5], "size": [5, 4, 6], "uv": [0, 11]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 4, 3.9],
"cubes": [
{"origin": [-0.5, 2, 2.9], "size": [1, 1, 4], "pivot": [0, 2.5, 4.9], "rotation": [-60, 0, 0], "uv": [22, 11]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 4, -2.7],
"cubes": [
{"origin": [-1, 4, -6.7], "size": [2, 2, 4], "pivot": [1, 4, -2.7], "rotation": [42.5, 0, 0], "uv": [20, 17]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-1, 5, -4.75],
"rotation": [25, -6.5, -3],
"cubes": [
{"origin": [-2.9, 4, -4.5], "size": [2, 3, 0], "uv": [28, 8], "mirror": true}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [0.9, 5.1957, -4.75],
"rotation": [25, 6.5, 3],
"cubes": [
{"origin": [0.9, 4, -4.5], "size": [2, 3, 0], "uv": [28, 8]}
]
},
{
"name": "right_hind_leg",
"pivot": [-1.5, 2, 2.5],
"cubes": [
{"origin": [-2.5, 0, 1.5], "size": [2, 2, 2], "uv": [20, 27], "mirror": true}
]
},
{
"name": "left_hind_leg",
"pivot": [1.5, 2, 2.5],
"cubes": [
{"origin": [0.5, 0, 1.5], "size": [2, 2, 2], "uv": [24, 4]}
]
},
{
"name": "right_front_leg",
"pivot": [1.5, 2, -1.5],
"cubes": [
{"origin": [0.5, 0, -2.5], "size": [2, 2, 2], "uv": [20, 23]}
]
},
{
"name": "left_front_leg",
"pivot": [-1.5, 2, -1.5],
"cubes": [
{"origin": [-2.5, 0, -2.5], "size": [2, 2, 2], "uv": [24, 0], "mirror": true}
]
},
{
"name": "body_rolled_up",
"pivot": [0, 3.3, 16.5],
"cubes": [
{"origin": [-3, 0.3, 13.5], "size": [6, 6, 6], "inflate": 0.3, "uv": [0, 25]}
]
}
]
}`};bt.armor_main={display_name:"Armor (Main)",pose:!0,model:`{
"name": "armor_main",
"external_textures": ["models/armor/iron_1.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "Head",
"color": 1,
"pivot": [0, 24, 0],
"pose": [-6, 5, 0],
"cubes": [
{"name": "Helmet", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": 1},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 1.5, "layer": true}
]
},
{
"name": "Body",
"color": 3,
"pivot": [0, 24, 0],
"cubes": [
{"name": "Chestplate", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16], "inflate": 1.01}
]
},
{
"name": "Right Arm",
"color": 5,
"pivot": [-5, 22, 0],
"pose": [-10, 0, 0],
"cubes": [
{"name": "Right Arm Armor", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "inflate": 1}
]
},
{
"name": "Left Arm",
"color": 0,
"pivot": [5, 22, 0],
"pose": [12, 0, 0],
"cubes": [
{"name": "Left Arm Armor", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "inflate": 1, "mirror": true}
]
},
{
"name": "Right Leg",
"color": 6,
"pivot": [-1.9, 12, 0],
"pose": [11, 0, 2],
"cubes": [
{"name": "Right Boot", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 1.0}
]
},
{
"name": "Left Leg",
"color": 7,
"pivot": [1.9, 12, 0],
"pose": [-10, 0, -2],
"cubes": [
{"name": "Left Boot", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 1.0, "mirror": true}
]
}
]
}`};bt.armor_leggings={display_name:"Armor (Leggings)",pose:!0,model:`{
"name": "armor_leggings",
"external_textures": ["models/armor/iron_2.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "Body",
"color": 3,
"pivot": [0, 24, 0],
"cubes": [
{"name": "Belt", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16], "inflate": 0.51}
]
},
{
"name": "Right Leg",
"color": 6,
"pivot": [-1.9, 12, 0],
"pose": [11, 0, 2],
"cubes": [
{"name": "Right Leg Armor", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 0.5}
]
},
{
"name": "Left Leg",
"color": 7,
"pivot": [1.9, 12, 0],
"pose": [-10, 0, -2],
"cubes": [
{"name": "Left Leg Armor", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 0.5, "mirror": true}
]
}
]
}`};bt.armor_baby={display_name:"Armor (Baby)",pose:!0,model:`{
"name": "humanoid_baby.armor.boots",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["models/armor/diamond_baby.png"],
"bones": [
{
"name": "Body",
"pivot": [0, 6, -1],
"cubes": [
{"origin": [-3, 4, -1], "size": [6, 5, 3], "inflate": 0.3, "uv": [0, 17], "name": "Body Chestplate"},
{"origin": [-3, 4, -1], "size": [6, 5, 3], "inflate": 0.27, "uv": [0, 33], "name": "Body Legging"}
]
},
{
"name": "Head",
"pivot": [0, 9, 0.5],
"cubes": [
{"origin": [-4.5, 9, -4], "size": [9, 8, 8.3], "inflate": 0.3, "uv": [0, 0]}
]
},
{
"name": "LeftLeg",
"pivot": [1.5, 4, 0.5],
"cubes": [
{"origin": [0, 0.2, -1.002], "size": [3, 1, 3], "inflate": 0.5, "uv": [0, 29], "name": "LeftLeg Boot"},
{"origin": [0, 0.2, -1.002], "size": [3, 4, 3], "inflate": 0.3, "uv": [18, 24], "name": "LeftLeg Legging"}
]
},
{
"name": "RightLeg",
"pivot": [-1.5, 4, 0.5],
"cubes": [
{"origin": [-3, 0.21, -1.004], "size": [3, 1, 3], "inflate": 0.5, "uv": [0, 25], "mirror": true, "name": "RightLeg Boot"},
{"origin": [-3, 0.2, -1], "size": [3, 4, 3], "inflate": 0.3, "uv": [18, 17], "name": "RightLeg Legging"}
]
},
{
"name": "RightArm",
"pivot": [-4, 9, 0.5],
"cubes": [
{"origin": [-5, 4.3, -0.97], "size": [2, 5, 3], "inflate": 0.3, "uv": [30, 25]}
]
},
{
"name": "LeftArm",
"pivot": [4, 9, 0.5],
"cubes": [
{"origin": [3, 4.3, -1.03], "size": [2, 5, 3], "inflate": 0.3, "uv": [30, 17]}
]
}
]
}`};bt.armor_stand={display_name:"Armor Stand",model:`{
"name": "armor_stand",
"external_textures": ["entity/armor_stand.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "Baseplate",
"pivot": [0, 0, 0],
"cubes": [
{"name": "baseplate", "origin": [-6, 0, -6], "size": [12, 1, 12], "uv": [0, 32]}
]
},
{
"name": "Waist",
"parent": "baseplate",
"pivot": [0, 12, 0]
},
{
"name": "Body",
"parent": "waist",
"pivot": [0, 24, 0],
"cubes": [
{"name": "body", "origin": [-6, 21, -1.5], "size": [12, 3, 3], "uv": [0, 26]},
{"name": "body", "origin": [-3, 14, -1], "size": [2, 7, 2], "uv": [16, 0]},
{"name": "body", "origin": [1, 14, -1], "size": [2, 7, 2], "uv": [48, 16]},
{"name": "body", "origin": [-4, 12, -1], "size": [8, 2, 2], "uv": [0, 48]}
]
},
{
"name": "Head",
"parent": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-1, 24, -1], "size": [2, 7, 2], "uv": [0, 0]}
]
},
{
"name": "LeftArm",
"parent": "body",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [5, 12, -1], "size": [2, 12, 2], "uv": [32, 16]}
]
},
{
"name": "LeftLeg",
"parent": "body",
"pivot": [1.9, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [0.9, 1, -1], "size": [2, 11, 2], "uv": [40, 16]}
]
},
{
"name": "RightArm",
"parent": "body",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-7, 12, -1], "size": [2, 12, 2], "uv": [24, 0]}
]
},
{
"name": "RightLeg",
"parent": "body",
"pivot": [-1.9, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-2.9, 1, -1], "size": [2, 11, 2], "uv": [8, 0]}
]
}
]
}`};bt.axolotl={display_name:"Axolotl",model:`{
"name": "axolotl",
"external_textures": ["entity/axolotl/axolotl_lucy.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[4, 8, 2, 1],
[12, 8, 2, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, -4, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 3, 4],
"cubes": [
{"origin": [-4, 0, -5], "size": [8, 4, 10], "uv": [0, 11]},
{"origin": [0, 0, -5], "size": [0, 5, 9], "uv": [2, 17]}
]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-4, 1, -4],
"rotation": [0, -90, 90],
"cubes": [
{"origin": [-6, -4, -4], "size": [3, 5, 0], "uv": [2, 13]}
]
},
{
"name": "right_leg",
"parent": "body",
"pivot": [-4, 1, 4],
"rotation": [0, 90, 90],
"cubes": [
{"origin": [-5, -4, 4], "size": [3, 5, 0], "uv": [2, 13]}
]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [4, 1, -4],
"rotation": [0, 90, -90],
"cubes": [
{"origin": [3, -4, -4], "size": [3, 5, 0], "uv": [2, 13]}
]
},
{
"name": "left_leg",
"parent": "body",
"pivot": [4, 1, 4],
"rotation": [0, -90, -90],
"cubes": [
{"origin": [2, -4, 4], "size": [3, 5, 0], "uv": [2, 13]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 2, 4],
"cubes": [
{"origin": [0, 0, 4], "size": [0, 5, 12], "uv": [2, 19]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 2, -5],
"reset": true,
"cubes": [
{"origin": [-4, 0, -10], "size": [8, 5, 5], "uv": [0, 1]}
]
},
{
"name": "left_gills",
"parent": "head",
"pivot": [4, 2, -6],
"cubes": [
{"origin": [4, 0, -6], "size": [3, 7, 0], "uv": [11, 40]}
]
},
{
"name": "right_gills",
"parent": "head",
"pivot": [-4, 2, -6],
"cubes": [
{"origin": [-7, 0, -6], "size": [3, 7, 0], "uv": [0, 40]}
]
},
{
"name": "top_gills",
"parent": "head",
"pivot": [0, 5, -6],
"cubes": [
{"origin": [-4, 5, -6], "size": [8, 3, 0], "uv": [3, 37]}
]
}
]
}`};bt.axolotl_baby={display_name:"Axolotl Baby",model:`{
"name": "axolotl_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/axolotl/axolotl_lucy_baby.png"],
"eyes": [
[3, 13, 2, 1],
[9, 13, 2, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 1.25, 1.75],
"cubes": [
{"origin": [-2, 0, -1], "size": [4, 2, 6], "uv": [0, 0]},
{"origin": [0, 0, -1], "size": [0, 3, 5], "uv": [0, 12]}
]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-2, 1, 0.5],
"cubes": [
{"origin": [-5, 1, 0], "size": [3, 0, 1], "uv": [20, 16]}
]
},
{
"name": "right_leg",
"parent": "body",
"pivot": [-2, 1, 3.5],
"rotation": [0, 90, 90],
"cubes": [
{"origin": [-2, 1, 3], "size": [3, 0, 1], "pivot": [-2, 1, 3.5], "rotation": [-90, 0, 90], "uv": [20, 14]}
]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [2, 1, 0.5],
"cubes": [
{"origin": [2, 1, 0], "size": [3, 0, 1], "uv": [20, 13]}
]
},
{
"name": "left_leg",
"parent": "body",
"pivot": [2, 1, 3.5],
"cubes": [
{"origin": [2, 1, 3], "size": [3, 0, 1], "uv": [20, 14]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 1.5, 5],
"cubes": [
{"origin": [0, 0, 4], "size": [0, 3, 8], "uv": [10, 9]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 1, -1],
"cubes": [
{"origin": [-3, 0, -5], "size": [6, 3, 4], "uv": [0, 8]}
]
},
{
"name": "left_gills",
"parent": "head",
"pivot": [3, 1.5, -3],
"cubes": [
{"origin": [3, 0, -3], "size": [3, 5, 0], "uv": [20, 8]}
]
},
{
"name": "right_gills",
"parent": "head",
"pivot": [-3, 1.5, -3],
"cubes": [
{"origin": [-6, 0, -3], "size": [3, 5, 0], "uv": [20, 3]}
]
},
{
"name": "top_gills",
"parent": "head",
"pivot": [0, 3, -3],
"cubes": [
{"origin": [-3, 3, -3], "size": [6, 3, 0], "uv": [20, 0]}
]
}
]
}`};bt.bamboo_raft={display_name:"Bamboo Raft",model:`{
"name": "",
"external_textures": ["entity/boat/bamboo_raft.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "raft",
"pivot": [0, 1, -2],
"rotation": [90, -90, 0],
"cubes": [
{"origin": [-14, -11, 1], "size": [28, 20, 4], "uv": [0, 0]},
{"origin": [-14, -9, -3], "size": [28, 16, 4], "uv": [0, 0]}
]
},
{
"name": "paddle_left",
"pivot": [-11.5, 12, 1],
"rotation": [-50, -75, 0],
"cubes": [
{"origin": [-12.5, 11, -4.5], "size": [2, 2, 18], "uv": [0, 24]},
{"origin": [-12.51, 10, 8.5], "size": [1, 6, 7], "uv": [0, 24]}
]
},
{
"name": "paddle_right",
"pivot": [7.5, 12, 0],
"rotation": [-50, 75, 0],
"cubes": [
{"origin": [5.5, 11, -5.5], "size": [2, 2, 18], "uv": [40, 24]},
{"origin": [6.51, 10, 7.5], "size": [1, 6, 7], "uv": [40, 24]}
]
}
]
}`};bt.banner={display_name:"Banner",model:`{
"name": "banner_base",
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "stand",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-10, 42, 0], "size": [20, 2, 2], "uv": [0, 42]},
{"origin": [-1, 0, 0], "size": [2, 42, 2], "uv": [44, 0]}
]
},
{
"name": "banner",
"parent": "stand",
"pivot": [0, 44, 0],
"rotation": [-2, 0, 0],
"cubes": [
{"origin": [-10, 4, -1], "size": [20, 40, 1], "uv": [0, 0]}
]
}
]
}`};bt.bat={display_name:"Bat",pose:!0,variants:{new:{name:"New",model:`{
"name": "bat_v2",
"external_textures": ["entity/bat_v2.png"],
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[1, 10, 2, 1],
[5, 10, 2, 1]
],
"bones": [
{
"name": "Head",
"pivot": [0, 7, 0],
"cubes": [
{"origin": [-2, 7, -1], "size": [4, 3, 2], "uv": [0, 7]}
]
},
{
"name": "rightEar",
"parent": "Head",
"pivot": [-1.5, 9, 0],
"cubes": [
{"origin": [-4, 8, 0], "size": [3, 5, 0], "uv": [1, 15]}
]
},
{
"name": "leftEar",
"parent": "Head",
"pivot": [1.1, 10, 0],
"cubes": [
{"origin": [1, 8, 0], "size": [3, 5, 0], "uv": [8, 15]}
]
},
{
"name": "body",
"pivot": [0, 7, 0],
"cubes": [
{"origin": [-1.5, 2, -1], "size": [3, 5, 2], "uv": [0, 0]}
]
},
{
"name": "feet",
"parent": "body",
"pivot": [0, 2, 0],
"cubes": [
{"origin": [-1.5, 0, 0], "size": [3, 2, 0], "uv": [16, 16]}
]
},
{
"name": "rightWing",
"parent": "body",
"pivot": [-1.5, 7, 0],
"cubes": [
{"origin": [-3.5, 2, 0], "size": [2, 7, 0], "uv": [12, 0]}
]
},
{
"name": "rightWingTip",
"parent": "rightWing",
"pivot": [-3.5, 7, 0],
"cubes": [
{"origin": [-9.5, 1, 0], "size": [6, 8, 0], "uv": [16, 0]}
]
},
{
"name": "leftWing",
"parent": "body",
"pivot": [1.5, 7, 0],
"cubes": [
{"origin": [1.5, 2, 0], "size": [2, 7, 0], "uv": [12, 7]}
]
},
{
"name": "leftWingTip",
"parent": "leftWing",
"pivot": [3.5, 7, 0],
"cubes": [
{"origin": [3.5, 1, 0], "size": [6, 8, 0], "uv": [16, 8]}
]
}
]
}`},old:{name:"Classic",model:`{
"name": "bat",
"external_textures": ["entity/bat.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-3, 21, -3], "size": [6, 6, 6], "uv": [0, 0]}
]
},
{
"name": "rightEar",
"parent": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "rightEar", "origin": [-4, 26, -2], "size": [3, 4, 1], "uv": [24, 0]}
]
},
{
"name": "leftEar",
"parent": "Head",
"pivot": [0, 24, 0],
"mirror": true,
"cubes": [
{"name": "leftEar", "origin": [1, 26, -2], "size": [3, 4, 1], "uv": [24, 0]}
]
},
{
"name": "body",
"pivot": [0, 24, 0],
"rotation": [30, 0, 0],
"cubes": [
{"name": "body", "origin": [-3, 8, -3], "size": [6, 12, 6], "uv": [0, 16]},
{"name": "body", "origin": [-5, -8, 0], "size": [10, 16, 1], "uv": [0, 34]}
]
},
{
"name": "rightWing",
"parent": "body",
"pivot": [0, 24, 0],
"pose": [0, -10, 0],
"cubes": [
{"name": "rightWing", "origin": [-12, 7, 1.5], "size": [10, 16, 1], "uv": [42, 0]}
]
},
{
"name": "rightWingTip",
"parent": "rightWing",
"pivot": [-12, 23, 1.5],
"pose": [0, -15, 0],
"cubes": [
{"name": "rightWingTip", "origin": [-20, 10, 1.5], "size": [8, 12, 1], "uv": [24, 16]}
]
},
{
"name": "leftWing",
"parent": "body",
"pivot": [0, 24, 0],
"pose": [0, 10, 0],
"mirror": true,
"cubes": [
{"name": "leftWing", "origin": [2, 7, 1.5], "size": [10, 16, 1], "uv": [42, 0]}
]
},
{
"name": "leftWingTip",
"parent": "leftWing",
"pivot": [12, 23, 1.5],
"pose": [0, 15, 0],
"mirror": true,
"cubes": [
{"name": "leftWingTip", "origin": [12, 10, 1.5], "size": [8, 12, 1], "uv": [24, 16]}
]
}
]
}`}}};bt.bed={display_name:"Bed",model_bedrock:`{
"name": "bed",
"external_textures": ["entity/bed/white.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "bed",
"pivot": [0, 0, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"origin": [-8, -16, -9], "size": [16, 32, 6], "uv": [0, 0]},
{"origin": [-8, -16, -3], "size": [3, 3, 3], "uv": [0, 44]},
{"origin": [5, 13, -3], "size": [3, 3, 3], "uv": [12, 38]},
{"origin": [-8, 13, -3], "size": [3, 3, 3], "uv": [0, 38]},
{"origin": [5, -16, -3], "size": [3, 3, 3], "uv": [12, 44]}
]
},
{
"name": "Layer",
"parent": "bed",
"cubes": [
{"origin": [-5, 15, -3], "size": [10, 1, 3], "uv": [38, 2], "layer": true},
{"origin": [-5, -16, -3], "size": [10, 1, 3], "uv": [38, 38], "layer": true},
{"origin": [7, -13, -3], "size": [1, 26, 3], "uv": [52, 6], "layer": true},
{"origin": [-8, -13, -3], "size": [1, 26, 3], "uv": [44, 6], "layer": true}
]
}
]
}`,model_java:`{
"name": "bed",
"external_textures": ["entity/bed/white.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "bed",
"pivot": [0, 0, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"origin": [-8, 0, -9], "size": [16, 16, 6], "uv": [0, 0]},
{"origin": [-8, -16, -9], "size": [16, 16, 6], "uv": [0, 22]}
]
},
{
"name": "leg0",
"pivot": [-6.5, 1.5, -14.5],
"cubes": [
{"origin": [-8, 0, -16], "size": [3, 3, 3], "uv": [50, 0]}
]
},
{
"name": "leg1",
"pivot": [-6.5, 1.5, 14.5],
"rotation": [0, 90, 0],
"cubes": [
{"origin": [-8, 0, 13], "size": [3, 3, 3], "uv": [50, 6]}
]
},
{
"name": "leg2",
"pivot": [6.5, 1.5, -14.5],
"rotation": [0, -90, 0],
"cubes": [
{"origin": [5, 0, -16], "size": [3, 3, 3], "uv": [50, 12]}
]
},
{
"name": "leg3",
"pivot": [6.5, 1.5, 14.5],
"rotation": [0, 180, 0],
"cubes": [
{"origin": [5, 0, 13], "size": [3, 3, 3], "uv": [50, 18]}
]
}
]
}`};bt.bee={display_name:"Bee",model:`{
"name": "bee",
"external_textures": ["entity/bee/bee.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[10, 13, 2, 3],
[15, 13, 2, 3]
],
"bones": [
{
"name": "body",
"pivot": [0.5, 5, 0],
"cubes": [
{"name": "body", "origin": [-3, 2, -5], "size": [7, 7, 10], "uv": [0, 0]},
{"name": "body", "origin": [-2, 7, -8], "size": [1, 2, 3], "uv": [2, 3]},
{"name": "body", "origin": [2, 7, -8], "size": [1, 2, 3], "uv": [2, 0]}
]
},
{
"name": "stinger",
"parent": "body",
"pivot": [0.5, 6, 1],
"cubes": [
{"name": "stinger", "origin": [0.5, 5, 5], "size": [0, 1, 2], "uv": [26, 7]}
]
},
{
"name": "rightwing_bone",
"parent": "body",
"pivot": [-1, 9, -3],
"rotation": [15, -15, 0],
"cubes": [
{"name": "rightwing_bone", "origin": [-10, 9, -3], "size": [9, 0, 6], "uv": [0, 18]}
]
},
{
"name": "leftwing_bone",
"parent": "body",
"pivot": [2, 9, -3],
"rotation": [15, 15, 0],
"cubes": [
{"name": "leftwing_bone", "origin": [2, 9, -3], "size": [9, 0, 6], "uv": [9, 24]}
]
},
{
"name": "leg_front",
"parent": "body",
"pivot": [2, 2, -2],
"cubes": [
{"name": "leg_front", "origin": [-3, 0, -2], "size": [7, 2, 0], "uv": [26, 1]}
]
},
{
"name": "leg_mid",
"parent": "body",
"pivot": [2, 2, 0],
"cubes": [
{"name": "leg_mid", "origin": [-3, 0, 0], "size": [7, 2, 0], "uv": [26, 3]}
]
},
{
"name": "leg_back",
"parent": "body",
"pivot": [2, 2, 2],
"cubes": [
{"name": "leg_back", "origin": [-3, 0, 2], "size": [7, 2, 0], "uv": [26, 5]}
]
}
]
}`};bt.bee_baby={display_name:"Bee Baby",model:`{
"name": "bee_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/bee/bee_baby.png"],
"eyes": [
[4, 7, 2, 2],
[8, 7, 2, 2]
],
"bones": [
{
"name": "body",
"pivot": [0, 4.33333, -1.85667],
"cubes": [
{"origin": [-2, 1, -2], "size": [4, 4, 5], "uv": [0, 0]},
{"origin": [1, 4, -4.02], "size": [1, 2, 2], "uv": [6, 12]},
{"origin": [-2, 4, -4.05], "size": [1, 2, 2], "uv": [0, 12]}
]
},
{
"name": "stinger",
"parent": "body",
"pivot": [0, 2.5, 3],
"cubes": [
{"origin": [0, 2, 3], "size": [0, 1, 1], "uv": [13, 2]}
]
},
{
"name": "rightwing_bone",
"parent": "body",
"pivot": [-1, 5, -1],
"rotation": [12.5, 20, 0],
"cubes": [
{"origin": [-4, 5, -1], "size": [3, 0, 3], "uv": [3, 9]}
]
},
{
"name": "leftwing_bone",
"parent": "body",
"pivot": [1, 5, -1],
"rotation": [12.5, -20, 0],
"cubes": [
{"origin": [1, 5, -1], "size": [3, 0, 3], "uv": [-3, 9], "mirror": true}
]
},
{
"name": "leg_front",
"parent": "body",
"pivot": [0, 1, 0],
"cubes": [
{"origin": [-1.5, 0, 0], "size": [3, 1, 0], "uv": [13, 0]}
]
},
{
"name": "leg_mid",
"parent": "body",
"pivot": [0, 1, 1],
"cubes": [
{"origin": [-1.5, 0, 1], "size": [3, 1, 0], "uv": [13, 1]}
]
},
{
"name": "leg_back",
"parent": "body",
"pivot": [0, 1, 2],
"cubes": [
{"origin": [-1.5, 0, 2], "size": [3, 1, 0], "uv": [13, 2]}
]
}
]
}`};bt.bell={display_name:"Bell",model:`{
"name": "bell",
"external_textures": ["entity/bell.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "bell",
"pivot": [0, 11, 0],
"cubes": [
{"name": "cube", "origin": [-4, 2, -4], "size": [8, 2, 8], "uv": [0, 13]},
{"name": "cube", "origin": [-3, 4, -3], "size": [6, 7, 6], "uv": [0, 0]}
]
}
]
}`};bt.blaze={display_name:"Blaze",model:`{
"name": "blaze",
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 11],
[13, 11]
],
"bones": [
{
"name": "upperBodyParts0",
"pivot": [8, 26, -3],
"cubes": [
{"name": "upperBodyParts0", "origin": [8, 18, -3], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts1",
"pivot": [-10, 26, 1],
"cubes": [
{"name": "upperBodyParts1", "origin": [-10, 18, 1], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts2",
"pivot": [1, 26, 8],
"cubes": [
{"name": "upperBodyParts2", "origin": [1, 18, 8], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts3",
"pivot": [-3, 26, -10],
"cubes": [
{"name": "upperBodyParts3", "origin": [-3, 18, -10], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts4",
"pivot": [5, 18, -1],
"cubes": [
{"name": "upperBodyParts4", "origin": [5, 10, -1], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts5",
"pivot": [-7, 18, -1],
"cubes": [
{"name": "upperBodyParts5", "origin": [-7, 10, -1], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts6",
"pivot": [-1, 18, 5],
"cubes": [
{"name": "upperBodyParts6", "origin": [-1, 10, 5], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts7",
"pivot": [-1, 18, -7],
"cubes": [
{"name": "upperBodyParts7", "origin": [-1, 10, -7], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts8",
"pivot": [3, 8, 2],
"cubes": [
{"name": "upperBodyParts8", "origin": [3, 0, 2], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts9",
"pivot": [-5, 8, -4],
"cubes": [
{"name": "upperBodyParts9", "origin": [-5, 0, -4], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts10",
"pivot": [-4, 8, 3],
"cubes": [
{"name": "upperBodyParts10", "origin": [-4, 0, 3], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "upperBodyParts11",
"pivot": [2, 8, -5],
"cubes": [
{"name": "upperBodyParts11", "origin": [2, 0, -5], "size": [2, 8, 2], "uv": [0, 16]}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
}
]
}`};bt.boat={display_name:"Boat",model:`{
"name": "boat",
"external_textures": ["entity/boat/boat_oak.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "bottom",
"pivot": [0, 18, 0],
"rotation": [90, 0, 0],
"mirror": true,
"cubes": [
{"name": "bottom", "origin": [-14, 10, 0], "size": [28, 16, 3], "uv": [0, 0]}
]
},
{
"name": "front",
"pivot": [15, 24, 0],
"rotation": [0, 90, 0],
"mirror": true,
"cubes": [
{"name": "front", "origin": [7, 21, -1], "size": [16, 6, 2], "uv": [0, 27]}
]
},
{
"name": "back",
"pivot": [-15, 24, 0],
"rotation": [0, -90, 0],
"mirror": true,
"cubes": [
{"name": "back", "origin": [-24, 21, -1], "size": [18, 6, 2], "uv": [0, 19]}
]
},
{
"name": "right",
"pivot": [0, 24, -9],
"rotation": [0, -180, 0],
"mirror": true,
"cubes": [
{"name": "right", "origin": [-14, 21, -10], "size": [28, 6, 2], "uv": [0, 35]}
]
},
{
"name": "left",
"pivot": [0, 24, 9],
"mirror": true,
"cubes": [
{"name": "left", "origin": [-14, 21, 8], "size": [28, 6, 2], "uv": [0, 43]}
]
},
{
"name": "paddle_left",
"pivot": [-2.5, 28, 9],
"rotation": [-30, 0, 0],
"mirror": true,
"cubes": [
{"name": "paddle_left", "origin": [-3.5, 27, 3.5], "size": [2, 2, 18], "uv": [62, 0]},
{"name": "paddle_left", "origin": [-2.51, 26, 17.5], "size": [1, 6, 7], "uv": [62, 0]}
]
},
{
"name": "paddle_right",
"pivot": [-2.5, 28, -9],
"rotation": [-30, 180, 0],
"mirror": true,
"cubes": [
{"name": "paddle_right", "origin": [-3.5, 27, -14.5], "size": [2, 2, 18], "uv": [62, 20]},
{"name": "paddle_right", "origin": [-3.49, 26, -0.5], "size": [1, 6, 7], "uv": [62, 20]}
]
}
]
}`};bt.bogged={display_name:"Bogged",model:`{
"name": "bogged",
"external_textures": ["entity/skeleton/bogged.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "mushrooms",
"parent": "head",
"pivot": [3, 31.5, 3],
"cubes": [
{"origin": [-6, 31, -3], "size": [6, 4, 0], "pivot": [-3, 32.5, -3], "rotation": [0, -45, 0], "uv": [50, 22]},
{"origin": [-6, 31, -3], "size": [6, 4, 0], "pivot": [-3, 32.5, -3], "rotation": [0, 45, 0], "uv": [50, 22]},
{"origin": [0, 31, 3], "size": [6, 4, 0], "pivot": [3, 31.5, 3], "rotation": [0, 45, 0], "uv": [50, 16]},
{"origin": [0, 31, 3], "size": [6, 4, 0], "pivot": [3, 31.5, 3], "rotation": [0, -45, 0], "uv": [50, 16]},
{"origin": [-5, 25, 3], "size": [6, 5, 0], "pivot": [-2, 25, 3], "rotation": [-90, 0, 45], "uv": [50, 27]},
{"origin": [-5, 25, 3], "size": [6, 5, 0], "pivot": [-2, 25, 3], "rotation": [-90, 0, 135], "uv": [50, 27]}
]
},
{
"name": "hat",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.2, "uv": [32, 0], "layer": true}
]
},
{
"name": "rightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"origin": [-6, 12, -1], "size": [2, 12, 2], "uv": [40, 16]}
]
},
{
"name": "rightItem",
"parent": "rightArm",
"pivot": [-6, 15, 1]
},
{
"name": "leftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"origin": [4, 12, -1], "size": [2, 12, 2], "uv": [40, 16], "mirror": true}
]
},
{
"name": "leftItem",
"parent": "leftArm",
"pivot": [6, 15, 1]
},
{
"name": "rightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"origin": [-3, 0, -1], "size": [2, 12, 2], "uv": [0, 16]}
]
},
{
"name": "leftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"origin": [1, 0, -1], "size": [2, 12, 2], "uv": [0, 16], "mirror": true}
]
}
]
}`};bt.bogged_layer={display_name:"Bogged/Stray Layer",model:`{
"name": "bogged_layer",
"external_textures": ["entity/skeleton/bogged_clothes.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "leftArm",
"parent": "body",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "mirror": true}
]
},
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "hat",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.5, "uv": [32, 0], "layer": true, "visibility": false}
]
},
{
"name": "rightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}
]
},
{
"name": "rightLeg",
"pivot": [-1.9, 12, 0],
"cubes": [
{"origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leftLeg",
"pivot": [1.9, 12, 0],
"mirror": true,
"cubes": [
{"origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
}
]
}`};bt.breeze={display_name:"Breeze",model:`{
"name": "breeze",
"external_textures": ["entity/breeze/breeze.png"],
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[7, 14, 3, 1],
[14, 14, 3, 1],
[6, 29, 5, 1],
[15, 29, 5, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0]
},
{
"name": "rods",
"parent": "body",
"pivot": [0, 16, 0],
"cubes": [
{"origin": [-1, 11, -6], "size": [2, 8, 2], "pivot": [0, 19, -3], "rotation": [22.5, 0, 0], "uv": [0, 17]},
{"origin": [-3.59808, 11, -1.5], "size": [2, 8, 2], "pivot": [-2.59808, 19, 1.5], "rotation": [-157.5, 60, 180], "uv": [0, 17]},
{"origin": [1.59808, 11, -1.5], "size": [2, 8, 2], "pivot": [2.59808, 19, 1.5], "rotation": [-157.5, -60, 180], "uv": [0, 17]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 20, 0],
"cubes": [
{"origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "eyes",
"parent": "head",
"pivot": [0, 20, 0],
"cubes": [
{"origin": [-5, 22, -4.2], "size": [10, 3, 4], "uv": [4, 24], "layer": true}
]
}
]
}`};bt.breeze_tornado={display_name:"Breeze Tornado",model:`{
"name": "breeze_wind",
"external_textures": ["entity/breeze/breeze_wind.png"],
"texturewidth": 128,
"textureheight": 128,
"bones": [
{
"name": "tornado_body",
"pivot": [0, 0, 0]
},
{
"name": "tornado_bottom",
"parent": "tornado_body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-2.5, 0, -2.5], "size": [5, 7, 5], "uv": [1, 83]}
]
},
{
"name": "tornado_mid",
"parent": "tornado_bottom",
"pivot": [0, 7, 0],
"cubes": [
{"origin": [-2.5, 7, -2.5], "size": [5, 6, 5], "uv": [49, 71]},
{"origin": [-4, 7, -4], "size": [8, 6, 8], "uv": [78, 32]},
{"origin": [-6, 7, -6], "size": [12, 6, 12], "uv": [74, 28]}
]
},
{
"name": "tornado_top",
"parent": "tornado_mid",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-2.5, 13, -2.5], "size": [5, 8, 5], "uv": [105, 57]},
{"origin": [-6, 13, -6], "size": [12, 8, 12], "uv": [6, 6]},
{"origin": [-9, 13, -9], "size": [18, 8, 18], "uv": [0, 0]}
]
}
]
}`};bt.camel={display_name:"Camel",model:`{
"name": "camel",
"external_textures": ["entity/camel/camel.png"],
"texturewidth": 128,
"textureheight": 128,
"eyes": [
[26, 8, 3, 1],
[34, 8, 3, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0.5, 20, 9.5],
"cubes": [
{"origin": [-7.5, 20, -14], "size": [15, 12, 27], "uv": [0, 25]}
]
},
{
"name": "saddle",
"parent": "body",
"pivot": [0.5, 20, 9.5],
"cubes": [
{"name": "saddle layer", "origin": [-4.5, 32, -6], "size": [9, 5, 11], "inflate": 0.1, "layer": true, "visibility": false, "uv": [74, 64]},
{"name": "saddle layer", "origin": [-3.5, 37, -6], "size": [7, 3, 11], "inflate": 0.1, "layer": true, "visibility": false, "uv": [92, 114]},
{"name": "saddle layer", "origin": [-7.5, 20, -14], "size": [15, 12, 27], "inflate": 0.1, "layer": true, "visibility": false, "uv": [0, 89]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 29, 13],
"cubes": [
{"origin": [-1.5, 15, 13], "size": [3, 14, 0], "pivot": [0, 29, 13], "rotation": [0, 180, 0], "uv": [122, 0]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0.5, 25, -10],
"cubes": [
{"origin": [-3.5, 22, -25], "size": [7, 8, 19], "uv": [60, 24]},
{"origin": [-3.5, 30, -25], "size": [7, 14, 7], "uv": [21, 0]},
{"origin": [-2.5, 39, -31], "size": [5, 5, 6], "uv": [50, 0]}
]
},
{
"name": "bridle",
"parent": "head",
"pivot": [0.5, 25, -10],
"cubes": [
{"name": "bridle layer", "origin": [-3.5, 22, -25], "size": [7, 8, 19], "inflate": 0.1, "uv": [60, 87], "layer": true, "visibility": false},
{"name": "bridle layer", "origin": [-3.5, 30, -25], "size": [7, 14, 7], "inflate": 0.1, "uv": [21, 64], "layer": true, "visibility": false},
{"name": "bridle layer", "origin": [-2.5, 39, -31.1], "size": [5, 5, 6], "inflate": 0.1, "uv": [50, 64], "layer": true, "visibility": false},
{"origin": [2.5, 40, -28], "size": [1, 2, 2], "uv": [74, 70]},
{"origin": [-3.5, 40, -28], "size": [1, 2, 2], "uv": [74, 70], "mirror": true}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [3, 43, -19.5],
"cubes": [
{"origin": [3, 42.5, -20.5], "size": [3, 1, 2], "uv": [45, 0]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-3, 43, -19.5],
"cubes": [
{"origin": [-6, 42.5, -20.5], "size": [3, 1, 2], "uv": [67, 0]}
]
},
{
"name": "reins",
"parent": "head",
"pivot": [3.7, 41, -27],
"cubes": [
{"name": "reins layer", "origin": [3.7, 34, -27], "size": [0, 7, 15], "uv": [98, 42], "layer": true, "visibility": false},
{"name": "reins layer", "origin": [-3.7, 34, -12], "size": [7.4, 7, 0], "uv": [84, 57], "layer": true, "visibility": false},
{"name": "reins layer", "origin": [-3.7, 34, -27], "size": [0, 7, 15], "uv": [98, 42], "layer": true, "visibility": false}
]
},
{
"name": "hump",
"parent": "body",
"pivot": [0.5, 32, 0],
"cubes": [
{"origin": [-4.5, 32, -6], "size": [9, 5, 11], "uv": [74, 0]}
]
},
{
"name": "right_front_leg",
"parent": "root",
"pivot": [-4.9, 23, -10.5],
"cubes": [
{"origin": [-7.4, 0, -13], "size": [5, 21, 5], "uv": [0, 26]}
]
},
{
"name": "left_front_leg",
"parent": "root",
"pivot": [4.9, 23, -10.5],
"cubes": [
{"origin": [2.4, 0, -13], "size": [5, 21, 5], "uv": [0, 0]}
]
},
{
"name": "left_hind_leg",
"parent": "root",
"pivot": [4.9, 23, 9.5],
"cubes": [
{"origin": [2.4, 0, 7], "size": [5, 21, 5], "uv": [58, 16]}
]
},
{
"name": "right_hind_leg",
"parent": "root",
"pivot": [-4.9, 23, 9.5],
"cubes": [
{"origin": [-7.4, 0, 7], "size": [5, 21, 5], "uv": [94, 16]}
]
}
]
}`};bt.camel_baby={display_name:"Camel Baby",model:`{
"name": "camel_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/camel/camel_baby.png"],
"eyes": [
[3, 6, 2, 1],
[10, 6, 2, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 17, 0],
"cubes": [
{"origin": [-4.5, 13, -8], "size": [9, 8, 16], "uv": [0, 14]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 18.5, 8.05],
"cubes": [
{"origin": [-1.5, 10, 8.05], "size": [3, 9, 0], "uv": [50, 38]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 16, -7.5],
"cubes": [
{"origin": [-2.5, 14, -15], "size": [5, 5, 7], "uv": [20, 0]},
{"origin": [-2.5, 19, -15], "size": [5, 9, 5], "uv": [0, 0]},
{"origin": [-2.5, 24, -18], "size": [5, 4, 3], "uv": [0, 14]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-2.5, 27, -11.5],
"cubes": [
{"origin": [-5.5, 26.5, -12.5], "size": [3, 1, 2], "uv": [37, 0]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [2.5, 27, -11.5],
"cubes": [
{"origin": [2.5, 26.5, -12.5], "size": [3, 1, 2], "uv": [47, 0]}
]
},
{
"name": "right_front_leg",
"parent": "root",
"pivot": [-2.9, 12.5, -5.5],
"cubes": [
{"origin": [-4.4, 0, -7], "size": [3, 13, 3], "uv": [36, 14]}
]
},
{
"name": "left_front_leg",
"parent": "root",
"pivot": [2.9, 12.5, -5.5],
"cubes": [
{"origin": [1.4, 0, -7], "size": [3, 13, 3], "uv": [48, 14]}
]
},
{
"name": "left_hind_leg",
"parent": "root",
"pivot": [2.9, 12.5, 5.5],
"cubes": [
{"origin": [1.4, 0, 4], "size": [3, 13, 3], "uv": [12, 38]}
]
},
{
"name": "right_hind_leg",
"parent": "root",
"pivot": [-3, 12.5, 5.5],
"cubes": [
{"origin": [-4.4, 0, 4], "size": [3, 13, 3], "uv": [0, 38]}
]
}
]
}`};bt.cat={display_name:"Cat",model:`{
"name": "cat",
"external_textures": ["entity/cat/calico.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 7, 1]
},
{
"name": "belly",
"parent": "body",
"pivot": [0, 7, 1],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-2, -1, -2], "size": [4, 16, 6], "uv": [20, 0]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 9, -9],
"cubes": [
{"name": "head", "origin": [-2.5, 7, -12], "size": [5, 4, 5], "uv": [0, 0]},
{"name": "head", "origin": [-1.5, 7.01562, -13], "size": [3, 2, 2], "uv": [0, 24]},
{"name": "head", "origin": [-2, 11, -9], "size": [1, 1, 2], "uv": [0, 10]},
{"name": "head", "origin": [1, 11, -9], "size": [1, 1, 2], "uv": [6, 10]}
]
},
{
"name": "tail1",
"parent": "body",
"pivot": [0, 9, 8],
"rotation": [45, 0, 0],
"cubes": [
{"name": "tail1", "origin": [-0.5, 1, 8], "size": [1, 8, 1], "uv": [0, 15]}
]
},
{
"name": "tail2",
"parent": "tail1",
"pivot": [0, 1, 8],
"rotation": [45, 0, 0],
"cubes": [
{"name": "tail2", "origin": [-0.5, -7, 8], "size": [1, 8, 1], "uv": [4, 15]}
]
},
{
"name": "backLegL",
"parent": "body",
"pivot": [1.1, 6, 7],
"cubes": [
{"name": "backLegL", "origin": [0.1, 0, 6], "size": [2, 6, 2], "uv": [8, 13]}
]
},
{
"name": "backLegR",
"parent": "body",
"pivot": [-1.1, 6, 7],
"cubes": [
{"name": "backLegR", "origin": [-2.1, 0, 6], "size": [2, 6, 2], "uv": [8, 13]}
]
},
{
"name": "frontLegL",
"parent": "body",
"pivot": [1.2, 10, -4],
"cubes": [
{"name": "frontLegL", "origin": [0.2, 0.2, -5], "size": [2, 10, 2], "uv": [40, 0]}
]
},
{
"name": "frontLegR",
"parent": "body",
"pivot": [-1.2, 10, -4],
"cubes": [
{"name": "frontLegR", "origin": [-2.2, 0.2, -5], "size": [2, 10, 2], "uv": [40, 0]}
]
}
]
}`};bt.cat_baby={display_name:"Kitten / Cat Baby",model:`{
"name": "cat_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/cat/calico_baby.png"],
"eyes": [
[5, 5, 1, 1],
[7, 5, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0]
},
{
"name": "belly",
"parent": "body",
"pivot": [0, 3.5, 0.5],
"cubes": [
{"origin": [-2, 2, -3], "size": [4, 3, 7], "uv": [0, 8]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 4, -3.125],
"cubes": [
{"origin": [-2.5, 3, -6], "size": [5, 4, 4], "uv": [0, 0]},
{"origin": [-2, 7, -4], "size": [1, 1, 2], "uv": [18, 0]},
{"origin": [1, 7, -4], "size": [1, 1, 2], "uv": [24, 0]},
{"origin": [-1.5, 3, -7], "size": [3, 2, 1], "uv": [18, 3]}
]
},
{
"name": "tail1",
"parent": "body",
"pivot": [0, 4.89303, 3.91511],
"rotation": [-32.5, 0, 0],
"cubes": [
{"origin": [-0.5, 4, 4], "size": [1, 1, 5], "uv": [0, 18]}
]
},
{
"name": "backLegL",
"parent": "body",
"pivot": [1, 2, 2.5],
"cubes": [
{"origin": [0.5, 0, 1.5], "size": [1, 2, 2], "uv": [18, 22]}
]
},
{
"name": "backLegR",
"parent": "body",
"pivot": [-1, 2, 2.5],
"cubes": [
{"origin": [-1.5, 0, 1.5], "size": [1, 2, 2], "uv": [12, 22]}
]
},
{
"name": "frontLegL",
"parent": "body",
"pivot": [1, 2, -1.5],
"cubes": [
{"origin": [0.5, 0, -2.5], "size": [1, 2, 2], "uv": [18, 18]}
]
},
{
"name": "frontLegR",
"parent": "body",
"pivot": [-1, 2, -1.5],
"cubes": [
{"origin": [-1.5, 0, -2.5], "size": [1, 2, 2], "uv": [12, 18]}
]
}
]
}`};bt.cape_elytra={display_name:"Cape + Elytra",model:`{
"name": "cape and elytra",
"external_textures": ["models/armor/elytra.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "cape",
"pivot": [9, 24, 3],
"rotation": [0, 180, 0],
"cubes": [
{"origin": [4, 8, 3], "size": [10, 16, 1], "uv": [0, 0]}
]
},
{
"name": "elytra",
"pivot": [-18, 24, 1]
},
{
"name": "left_wing",
"parent": "elytra",
"pivot": [-18, 4, 1],
"cubes": [
{"origin": [-18, 4, 1], "size": [10, 20, 2], "uv": [22, 0]}
]
},
{
"name": "right_wing",
"parent": "elytra",
"pivot": [-18, 4, 1],
"mirror": true,
"cubes": [
{"origin": [-28, 4, 1], "size": [10, 20, 2], "uv": [22, 0], "mirror": true}
]
}
]
}`};bt.chest={display_name:"Chest",model:`{
"name": "chest",
"external_textures": ["entity/chest/normal.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "chest",
"pivot": [0, 8, 0],
"rotation": [0, 0, -180],
"cubes": [
{"name": "cube", "origin": [-1, 5, 7], "size": [2, 4, 1], "uv": [0, 0]},
{"name": "cube", "origin": [-7, 2, -7], "size": [14, 5, 14], "uv": [0, 0]},
{"name": "cube", "origin": [-7, 6, -7], "size": [14, 10, 14], "uv": [0, 19]}
]
}
]
}`};bt.chest_left={display_name:"Chest Left",model:`{
"name": "chest_left",
"external_textures": ["entity/chest/double_normal.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "chest",
"pivot": [0, 8, 0],
"rotation": [0, 0, -180],
"cubes": [
{"name": "cube", "origin": [-9, 5, 7], "size": [2, 4, 1], "uv": [0, 0]},
{"name": "cube", "origin": [-8, 2, -7], "size": [15, 5, 14], "uv": [0, 0]},
{"name": "cube", "origin": [-8, 6, -7], "size": [15, 10, 14], "uv": [0, 19]}
]
}
]
}`};bt.chest_right={display_name:"Chest Right",model:`{
"name": "chest_right",
"external_textures": ["entity/chest/double_normal.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "chest",
"pivot": [0, 8, 0],
"rotation": [0, 0, -180],
"cubes": [
{"name": "cube", "origin": [7, 5, 7], "size": [2, 4, 1], "uv": [0, 0]},
{"name": "cube", "origin": [-7, 2, -7], "size": [15, 5, 14], "uv": [0, 0]},
{"name": "cube", "origin": [-7, 6, -7], "size": [15, 10, 14], "uv": [0, 19]}
]
}
]
}`};bt.chicken={display_name:"Chicken",variants:{regular:{name:"Regular",model:`{
"name": "chicken",
"external_textures": ["entity/chicken/chicken.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 8, 0],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-3, 4, -3], "size": [6, 8, 6], "uv": [0, 9]}
]
},
{
"name": "head",
"pivot": [0, 9, -4],
"cubes": [
{"name": "head", "origin": [-2, 9, -6], "size": [4, 6, 3], "uv": [0, 0]}
]
},
{
"name": "comb",
"parent": "head",
"pivot": [0, 9, -4],
"cubes": [
{"name": "comb", "origin": [-1, 9, -7], "size": [2, 2, 2], "uv": [14, 4]}
]
},
{
"name": "beak",
"parent": "head",
"pivot": [0, 9, -4],
"cubes": [
{"name": "beak", "origin": [-2, 11, -8], "size": [4, 2, 2], "uv": [14, 0]}
]
},
{
"name": "leg0",
"pivot": [-2, 5, 1],
"cubes": [
{"name": "leg0", "origin": [-3, 0, -2], "size": [3, 5, 3], "uv": [26, 0]}
]
},
{
"name": "leg1",
"pivot": [1, 5, 1],
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [3, 5, 3], "uv": [26, 0]}
]
},
{
"name": "wing0",
"pivot": [-3, 11, 0],
"cubes": [
{"name": "wing0", "origin": [-4, 7, -3], "size": [1, 4, 6], "uv": [24, 13]}
]
},
{
"name": "wing1",
"pivot": [3, 11, 0],
"cubes": [
{"name": "wing1", "origin": [3, 7, -3], "size": [1, 4, 6], "uv": [24, 13]}
]
}
]
}`},cold:{name:"Cold",model:`{
"name": "chicken_cold",
"external_textures": ["entity/chicken/chicken_cold.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 8, 0],
"cubes": [
{"origin": [-3, 12, 5], "size": [6, 8, 6], "pivot": [0, 8, 8], "rotation": [90, 0, 0], "uv": [0, 9]},
{"origin": [0, 10, 7], "size": [0, 3, 5], "pivot": [0, 8, 8], "rotation": [90, 0, 0], "uv": [38, 9]}
]
},
{
"name": "head",
"pivot": [0, 9, -4],
"cubes": [
{"origin": [-2, 9, -6], "size": [4, 6, 3], "uv": [0, 0]},
{"origin": [-3, 13, -6.015], "size": [6, 3, 4], "uv": [44, 0]}
]
},
{
"name": "comb",
"parent": "head",
"pivot": [0, 9, -4],
"cubes": [
{"origin": [-1, 9, -7], "size": [2, 2, 2], "uv": [14, 4]}
]
},
{
"name": "beak",
"parent": "head",
"pivot": [0, 9, -4],
"cubes": [
{"origin": [-2, 11, -8], "size": [4, 2, 2], "uv": [14, 0]}
]
},
{
"name": "leg0",
"pivot": [-2, 5, 1],
"cubes": [
{"origin": [-3, 0, -2], "size": [3, 5, 3], "uv": [26, 0]}
]
},
{
"name": "leg1",
"pivot": [1, 5, 1],
"cubes": [
{"origin": [0, 0, -2], "size": [3, 5, 3], "uv": [26, 0]}
]
},
{
"name": "wing0",
"pivot": [-3, 11, 0],
"cubes": [
{"origin": [-4, 7, -3], "size": [1, 4, 6], "uv": [24, 13]}
]
},
{
"name": "wing1",
"pivot": [3, 11, 0],
"cubes": [
{"origin": [3, 7, -3], "size": [1, 4, 6], "uv": [24, 13]}
]
}
]
}`}}};bt.chicken_baby={display_name:"Chick / Chicken Baby",model:`{
"name": "chicken_baby",
"texturewidth": 16,
"textureheight": 16,
"external_textures": ["entity/chicken/chicken_temperate_baby.png"],
"eyes": [
[4, 5, 1, 1],
[7, 5, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 3.75, -1.25],
"cubes": [
{"origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [0, 0]},
{"origin": [-1, 3, -3], "size": [2, 1, 1], "uv": [10, 8]}
]
},
{
"name": "leg0",
"pivot": [-1, 2, 0.5],
"cubes": [
{"origin": [-1.5, 0, 0.5], "size": [1, 2, 0], "uv": [0, 2]},
{"origin": [-1.5, 0, -0.5], "size": [1, 0, 1], "uv": [0, 0]}
]
},
{
"name": "leg1",
"pivot": [1, 2, 0.5],
"cubes": [
{"origin": [0.5, 0, 0.5], "size": [1, 2, 0], "uv": [2, 2]},
{"origin": [0.5, 0, -0.5], "size": [1, 0, 1], "uv": [0, 1]}
]
},
{
"name": "wing0",
"pivot": [-2, 4, 0],
"cubes": [
{"origin": [-3, 4, -1], "size": [1, 0, 2], "uv": [4, 8]}
]
},
{
"name": "wing1",
"pivot": [2, 4, 0],
"cubes": [
{"origin": [2, 4, -1], "size": [1, 0, 2], "uv": [6, 8]}
]
}
]
}`};bt.cod={display_name:"Cod",model:`{
"name": "cod",
"external_textures": ["entity/fish/cod.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-1, 0, 1], "size": [2, 4, 7], "uv": [0, 0]},
{"name": "body", "origin": [0, 4, 0], "size": [0, 1, 6], "uv": [20, -6]},
{"name": "body", "origin": [0, -1, 3], "size": [0, 1, 2], "uv": [22, -1]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 2, 0],
"cubes": [
{"name": "head", "origin": [-0.9992, 1.0008, -3], "size": [2, 3, 1], "uv": [0, 0]},
{"name": "head", "origin": [-1, 0, -2], "size": [2, 4, 3], "uv": [11, 0]}
]
},
{
"name": "leftFin",
"parent": "body",
"pivot": [1, 1, 0],
"rotation": [0, 0, 35],
"cubes": [
{"name": "leftFin", "origin": [1, 0, 0], "size": [2, 1, 2], "uv": [24, 4]}
]
},
{
"name": "rightFin",
"parent": "body",
"pivot": [-1, 1, 0],
"rotation": [0, 0, -35],
"cubes": [
{"name": "rightFin", "origin": [-3, 0, 0], "size": [2, 1, 2], "uv": [24, 1]}
]
},
{
"name": "tailfin",
"parent": "body",
"pivot": [0, 0, 8],
"cubes": [
{"name": "tailfin", "origin": [0, 0, 8], "size": [0, 4, 6], "uv": [20, 1]}
]
},
{
"name": "waist",
"parent": "body",
"pivot": [0, 0, 0]
}
]
}`};bt.copper_golem={display_name:"Copper Golem",model:`{
"name": "copper_golem",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[11, 12],
[15, 12]
],
"bones": [
{
"name": "root",
"pivot": [1, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 5, 0],
"cubes": [
{"origin": [-4, 5, -3], "size": [8, 6, 6], "uv": [0, 15]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 11, 0],
"cubes": [
{"origin": [-4, 11, -5], "size": [8, 5, 10], "uv": [0, 0]},
{"origin": [-1, 10, -6], "size": [2, 3, 2], "uv": [56, 0]},
{"origin": [-1, 16, -1], "size": [2, 4, 2], "uv": [37, 8]},
{"origin": [-2, 20, -2], "size": [4, 4, 4], "uv": [37, 0]}
]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-4, 11, 0],
"cubes": [
{"origin": [-7, 2, -2], "size": [3, 10, 4], "uv": [36, 16]}
]
},
{
"name": "rightItem",
"parent": "right_arm",
"pivot": [-5, 3.6, -1]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [4, 11, 0],
"cubes": [
{"origin": [4, 2, -2], "size": [3, 10, 4], "uv": [50, 16]}
]
},
{
"name": "right_leg",
"parent": "root",
"pivot": [-2, 5, 0],
"cubes": [
{"origin": [-3.9, 0, -1.99], "size": [4, 5, 4], "uv": [0, 27]}
]
},
{
"name": "left_leg",
"parent": "root",
"pivot": [2, 5, 0],
"cubes": [
{"origin": [-0.1, 0, -2], "size": [4, 5, 4], "uv": [16, 27]}
]
}
]
}`};bt.cow={display_name:"Cow",variants:{new:{name:"Regular",model:`{
"name": "cow",
"external_textures": ["entity/cow/cow.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[7, 9],
[11, 9]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, -1]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 20, -9],
"cubes": [
{"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]},
{"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [1, 33]},
{"origin": [-5, 22, -14], "size": [1, 3, 1], "uv": [22, 0]},
{"origin": [4, 22, -14], "size": [1, 3, 1], "uv": [22, 0]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 19, 1],
"cubes": [
{"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]},
{"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-4, 12, 6],
"cubes": [
{"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [4, 12, 6],
"mirror": true,
"cubes": [
{"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-4, 12, -7],
"cubes": [
{"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [4, 12, -7],
"mirror": true,
"cubes": [
{"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
}
]
}`},cold:{name:"Cold",model:`{
"name": "cow_cold",
"external_textures": ["entity/cow/cow_cold.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[7, 9],
[11, 9]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, -1]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 20, -9],
"cubes": [
{"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]},
{"origin": [-6, 21, -13], "size": [2, 6, 2], "pivot": [-4.5, 22.5, -12.5], "rotation": [90, 0, 0], "uv": [0, 32]},
{"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [9, 33]},
{"origin": [4, 19.5, -14.5], "size": [2, 6, 2], "pivot": [5.5, 22.5, -14], "rotation": [90, 0, 0], "uv": [0, 32], "mirror": true}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 19, 1],
"cubes": [
{"origin": [-6, 29, 14], "size": [12, 18, 10], "inflate": 0.5, "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [20, 32]},
{"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]},
{"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-4, 12, 6],
"cubes": [
{"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [4, 12, 6],
"mirror": true,
"cubes": [
{"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-4, 12, -7],
"cubes": [
{"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [4, 12, -7],
"mirror": true,
"cubes": [
{"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
}
]
}`},warm:{name:"Warm",model:`{
"name": "cow_warm",
"external_textures": ["entity/cow/cow_warm.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[7, 9],
[11, 9]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, -1]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 20, -9],
"cubes": [
{"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]},
{"origin": [-8, 21, -14], "size": [4, 2, 2], "uv": [27, 0]},
{"origin": [-8, 23, -14], "size": [2, 2, 2], "uv": [39, 0]},
{"origin": [4, 21, -14], "size": [4, 2, 2], "uv": [27, 0], "mirror": true},
{"origin": [6, 23, -14], "size": [2, 2, 2], "uv": [39, 0], "mirror": true},
{"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [1, 33]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 19, 1],
"cubes": [
{"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]},
{"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-4, 12, 6],
"cubes": [
{"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [4, 12, 6],
"mirror": true,
"cubes": [
{"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-4, 12, -7],
"cubes": [
{"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [4, 12, -7],
"mirror": true,
"cubes": [
{"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true}
]
}
]
}`},old:{name:"Classic",model:`{
"name": "cow",
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[7, 9],
[11, 9]
],
"bones": [
{
"name": "body",
"pivot": [0, 19, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-6, 11, -5], "size": [12, 18, 10], "uv": [18, 4]},
{"name": "body", "origin": [-2, 11, -6], "size": [4, 6, 1], "uv": [52, 0]}
]
},
{
"name": "head",
"pivot": [0, 20, -8],
"cubes": [
{"name": "head", "origin": [-4, 16, -14], "size": [8, 8, 6], "uv": [0, 0]},
{"name": "head", "origin": [-5, 22, -12], "size": [1, 3, 1], "uv": [22, 0]},
{"name": "head", "origin": [4, 22, -12], "size": [1, 3, 1], "uv": [22, 0]}
]
},
{
"name": "leg0",
"pivot": [-4, 12, 7],
"cubes": [
{"name": "leg0", "origin": [-6, 0, 5], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"pivot": [4, 12, 7],
"mirror": true,
"cubes": [
{"name": "leg1", "origin": [2, 0, 5], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg2",
"pivot": [-4, 12, -6],
"cubes": [
{"name": "leg2", "origin": [-6, 0, -7], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"pivot": [4, 12, -6],
"mirror": true,
"cubes": [
{"name": "leg3", "origin": [2, 0, -7], "size": [4, 12, 4], "uv": [0, 16]}
]
}
]
}`}}};bt.cow_baby={display_name:"Cow Baby",model:`{
"name": "cow_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/cow/cow_temperate_baby.png"],
"eyes": [
[5, 25, 1, 1],
[10, 25, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 10.43096, -5.16667],
"cubes": [
{"origin": [-3, 9, -10], "size": [6, 6, 5], "uv": [0, 18]},
{"origin": [3, 14, -9], "size": [1, 2, 1], "uv": [8, 29]},
{"origin": [-4, 14, -9], "size": [1, 2, 1], "uv": [4, 29], "mirror": true},
{"origin": [-2, 9, -11], "size": [4, 3, 1], "uv": [12, 29]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 9, 0],
"cubes": [
{"origin": [-4, 6, -6], "size": [8, 6, 12], "uv": [0, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-2.475, 6, 3.5],
"cubes": [
{"origin": [-3.975, 0, 2], "size": [3, 6, 3], "uv": [22, 27]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [2.475, 6, 3.5],
"cubes": [
{"origin": [0.975, 0, 2], "size": [3, 6, 3], "uv": [34, 27]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-2.475, 6, -3.5],
"cubes": [
{"origin": [-3.975, 0, -5], "size": [3, 6, 3], "uv": [22, 18]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [2.475, 6, -3.5],
"cubes": [
{"origin": [0.975, 0, -5], "size": [3, 6, 3], "uv": [34, 18]}
]
}
]
}`};bt.creaking={display_name:"Creaking",model:`{
"name": "creaking",
"external_textures": ["entity/creaking/creaking.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[6, 8, 3, 1],
[9, 10, 3, 1],
[7, 13, 3, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "Waist",
"parent": "root",
"pivot": [-1, 19, 0]
},
{
"name": "head",
"parent": "Waist",
"pivot": [-4, 30, 0],
"cubes": [
{"origin": [-7, 30, -3], "size": [6, 10, 6], "uv": [0, 0]},
{"origin": [-7, 40, -3], "size": [6, 3, 6], "uv": [28, 31]},
{"origin": [-1, 29, 0], "size": [9, 14, 0], "uv": [12, 40]},
{"origin": [-16, 30, 0], "size": [9, 14, 0], "uv": [34, 12]}
]
},
{
"name": "Body",
"parent": "Waist",
"pivot": [-1, 26, 1],
"cubes": [
{"origin": [-1, 16, -2], "size": [6, 13, 5], "uv": [0, 16]},
{"origin": [-7, 23, -2], "size": [6, 7, 5], "uv": [24, 0]}
]
},
{
"name": "RightArm",
"parent": "Waist",
"pivot": [-8, 28.5, 1.5],
"cubes": [
{"origin": [-10, 9, 0], "size": [3, 21, 3], "uv": [22, 13]},
{"origin": [-10, 5, 0], "size": [3, 4, 3], "uv": [46, 0]}
]
},
{
"name": "LeftArm",
"parent": "Waist",
"pivot": [5, 28, 0.5],
"cubes": [
{"origin": [5, 13, -1], "size": [3, 16, 3], "uv": [30, 40]},
{"origin": [5, 29, -1], "size": [3, 4, 3], "uv": [52, 12]},
{"origin": [5, 9, -1], "size": [3, 4, 3], "uv": [52, 19]}
]
},
{
"name": "LeftLeg",
"parent": "root",
"pivot": [1.5, 16, 0.5],
"cubes": [
{"origin": [0, 0, -1], "size": [3, 16, 3], "uv": [42, 40]},
{"origin": [0, 0.3, -4], "size": [5, 0, 9], "uv": [45, 55]}
]
},
{
"name": "RightLeg",
"parent": "root",
"pivot": [-1, 17.5, 0.5],
"cubes": [
{"origin": [-4, 0, -1], "size": [3, 19, 3], "uv": [0, 34]},
{"origin": [-6, 0.3, -4], "size": [5, 0, 9], "uv": [45, 46]},
{"origin": [-4, 19, -1], "size": [3, 3, 3], "uv": [12, 34]}
]
}
]
}`};bt.creeper={display_name:"Creeper",model:`{
"name": "creeper",
"external_textures": ["entity/creeper/creeper.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 10],
[13, 10]
],
"bones": [
{
"name": "Body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "Body", "origin": [-4, 6, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "Head",
"parent": "Body",
"pivot": [0, 18, 0],
"cubes": [
{"name": "Head", "origin": [-4, 18, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "leg0",
"parent": "Body",
"pivot": [-2, 6, 4],
"cubes": [
{"name": "leg0", "origin": [-4, 0, 2], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"parent": "Body",
"pivot": [2, 6, 4],
"cubes": [
{"name": "leg1", "origin": [0, 0, 2], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg2",
"parent": "Body",
"pivot": [-2, 6, -4],
"cubes": [
{"name": "leg2", "origin": [-4, 0, -6], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"parent": "Body",
"pivot": [2, 6, -4],
"cubes": [
{"name": "leg3", "origin": [0, 0, -6], "size": [4, 6, 4], "uv": [0, 16]}
]
}
]
}`};bt.dolphin={display_name:"Dolphin",pose:!0,model_bedrock:`{
"name": "dolphin",
"external_textures": ["entity/dolphin.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 0, -3],
"cubes": [
{"name": "body", "origin": [-4, 0, -3], "size": [8, 7, 13], "uv": [0, 13]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 0, -3],
"cubes": [
{"name": "head", "origin": [-4, 0, -9], "size": [8, 7, 6], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 0, -13],
"cubes": [
{"name": "nose", "origin": [-1, 0, -13], "size": [2, 2, 4], "uv": [0, 13]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 2.5, 11],
"pose": [-5, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, 0, 10], "size": [4, 5, 11], "uv": [0, 33]}
]
},
{
"name": "tail_fin",
"parent": "tail",
"pivot": [0, 2.5, 20],
"pose": [-8, 0, 0],
"cubes": [
{"name": "tail_fin", "origin": [-5, 2, 19], "size": [10, 1, 6], "uv": [0, 49]}
]
},
{
"name": "back_fin",
"parent": "body",
"pivot": [0, 7, 2],
"rotation": [-30, 0, 0],
"cubes": [
{"name": "back_fin", "origin": [-0.5, 6.25, 1], "size": [1, 5, 4], "uv": [29, 0]}
]
},
{
"name": "left_fin",
"parent": "body",
"pivot": [3, 1, -1],
"rotation": [0, -25, 20],
"cubes": [
{"name": "left_fin", "origin": [3, 1, -2.5], "size": [8, 1, 4], "uv": [40, 0]}
]
},
{
"name": "right_fin",
"parent": "body",
"pivot": [-3, 1, -1],
"rotation": [0, 25, -20],
"cubes": [
{"name": "right_fin", "origin": [-11, 1, -2.5], "size": [8, 1, 4], "uv": [40, 6]}
]
}
]
}`,model_java:`{
"name": "dolphin",
"external_textures": ["entity/dolphin.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 0, -3],
"cubes": [
{"name": "body", "origin": [-4, 0, -3], "size": [8, 7, 13], "uv": [22, 0]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 0, -3],
"cubes": [
{"name": "head", "origin": [-4, 0, -9], "size": [8, 7, 6], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 0, -13],
"cubes": [
{"name": "nose", "origin": [-1, 0, -13], "size": [2, 2, 4], "uv": [0, 13]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 2.5, 11],
"pose": [-5, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, 0, 10], "size": [4, 5, 11], "uv": [0, 19]}
]
},
{
"name": "tail_fin",
"parent": "tail",
"pivot": [0, 2.5, 20],
"pose": [-8, 0, 0],
"cubes": [
{"name": "tail_fin", "origin": [-5, 2, 19], "size": [10, 1, 6], "uv": [19, 20]}
]
},
{
"name": "back_fin",
"parent": "body",
"pivot": [0, 7, 2],
"rotation": [60, 0, 0],
"cubes": [
{"name": "back_fin", "origin": [-0.5, 3.75, 1.5], "size": [1, 4, 5], "uv": [51, 0]}
]
},
{
"name": "left_fin",
"parent": "body",
"pivot": [3, 2, 2],
"rotation": [55, 0, 107],
"cubes": [
{"name": "left_fin", "origin": [3, 2, 0.5], "size": [1, 4, 7], "uv": [48, 20]}
]
},
{
"name": "right_fin",
"parent": "body",
"pivot": [-3, 2, 2],
"rotation": [55, 0, -107],
"cubes": [
{"name": "left_fin", "origin": [-4, 2, 0.5], "size": [1, 4, 7], "uv": [48, 20], "mirror": true}
]
}
]
}`};bt.dolphin_baby={display_name:"Dolphin Baby",model:`{
"name": "dolphin_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/dolphin/dolphin_baby.png"],
"eyes": [
[1, 7, 1, 1],
[12, 7, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [-1, 0, -3],
"cubes": [
{"origin": [-3, 0, -4], "size": [6, 5, 8], "uv": [20, 0]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 1.5, -4],
"cubes": [
{"origin": [-3, 0, -8], "size": [6, 5, 4], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 1, -8],
"cubes": [
{"origin": [-1, 0, -10], "size": [2, 2, 2], "uv": [0, 9]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 1.5, 4],
"cubes": [
{"origin": [-2, 0, 4], "size": [4, 3, 7], "uv": [0, 13]}
]
},
{
"name": "tail_fin",
"parent": "tail",
"pivot": [0, 1.5, 10],
"cubes": [
{"origin": [-4, 1, 9], "size": [8, 1, 4], "uv": [22, 13]}
]
},
{
"name": "back_fin",
"parent": "body",
"pivot": [0, 3.5, -2.7],
"rotation": [50, 0, 0],
"cubes": [
{"origin": [-0.5, 1.5, -1.7], "size": [1, 3, 4], "uv": [42, 0]}
]
},
{
"name": "left_fin",
"parent": "body",
"pivot": [1.8, 1.65001, -2.6],
"rotation": [50, 0, 97.5],
"cubes": [
{"origin": [1.3, 0.15001, -3.1], "size": [1, 3, 6], "uv": [34, 18]}
]
},
{
"name": "right_fin",
"parent": "body",
"pivot": [-1.8, 1.65001, -2.6],
"rotation": [50, 0, -97.5],
"cubes": [
{"origin": [-2.3, 0.15001, -3.1], "size": [1, 3, 6], "uv": [48, 18], "mirror": true}
]
}
]
}`};bt.donkey_baby={display_name:"Donkey / Mule Baby",model:`{
"name": "donkeymule",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/horse2/donkey_baby.png"],
"eyes": [
[3, 10, 1, 1],
[20, 10, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [-1, 0, -3]
},
{
"name": "Body",
"parent": "root",
"pivot": [0, 10, 0],
"cubes": [
{"origin": [-4, 8, -7], "size": [8, 6, 14], "uv": [0, 13]}
]
},
{
"name": "Tail",
"parent": "root",
"pivot": [0, 11.5, 6.5],
"cubes": [
{"origin": [-1.5, 10.5, 6], "size": [3, 3, 8], "pivot": [0, 12.5, 6.5], "rotation": [-42.5, 0, 0], "uv": [24, 33]}
]
},
{
"name": "LegBL",
"parent": "root",
"pivot": [2.5, 6.5, 5.5],
"cubes": [
{"origin": [1, 0, 4], "size": [3, 8, 3], "uv": [12, 44]}
]
},
{
"name": "LegBR",
"parent": "root",
"pivot": [-2.5, 6.5, 5.5],
"cubes": [
{"origin": [-4, 0, 4], "size": [3, 8, 3], "uv": [0, 44]}
]
},
{
"name": "LegFL",
"parent": "root",
"pivot": [2.5, 6.5, -5.5],
"cubes": [
{"origin": [1, 0, -7], "size": [3, 8, 3], "uv": [12, 33]}
]
},
{
"name": "LegFR",
"parent": "root",
"pivot": [-2.5, 6.5, -5.5],
"cubes": [
{"origin": [-4, 0, -7], "size": [3, 8, 3], "uv": [0, 33]}
]
},
{
"name": "Neck",
"parent": "root",
"pivot": [0, 13, -5],
"cubes": [
{"origin": [-2, 12, -8], "size": [4, 8, 4], "pivot": [0, 14, -5], "rotation": [22.5, 0, 0], "uv": [30, 9]}
]
},
{
"name": "Head",
"parent": "Neck",
"pivot": [0, 19, -7],
"cubes": [
{"origin": [-3, 19.6, -15.4], "size": [6, 4, 9], "pivot": [0, 20, -7], "rotation": [22.5, 0, 0], "uv": [0, 0]}
]
},
{
"name": "left_ear",
"parent": "Head",
"pivot": [2.5, 20.5, -9],
"rotation": [27.5, 0, 27.5],
"cubes": [
{"origin": [0.03825, 21.28679, -8.59042], "size": [2, 7, 1], "uv": [0, 0]}
]
},
{
"name": "right_ear",
"parent": "Head",
"pivot": [-2.5, 20.5, -9],
"rotation": [27.5, 0, -27.5],
"cubes": [
{"origin": [-2.03825, 21.28679, -8.59042], "size": [2, 7, 1], "uv": [22, 0], "mirror": true}
]
}
]
}`};bt.enderdragon={display_name:"Ender Dragon",pose:!0,model:`{
"name": "enderdragon",
"texturewidth": 256,
"textureheight": 256,
"bones": [
{
"name": "neck",
"pivot": [0, 7, -8],
"pose": [-5, 0, 0],
"cubes": [
{"name": "neck", "origin": [-5, 2, -18], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "neck", "origin": [-1, 12, -16], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "neck2",
"parent": "neck",
"pivot": [0, 7, -18],
"pose": [5, 0, 0],
"cubes": [
{"name": "neck", "origin": [-5, 2, -28], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "neck", "origin": [-1, 12, -26], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "neck3",
"parent": "neck2",
"pivot": [0, 7, -28],
"pose": [5, 0, 0],
"cubes": [
{"name": "neck", "origin": [-5, 2, -38], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "neck", "origin": [-1, 12, -36], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "neck4",
"parent": "neck3",
"pivot": [0, 7, -38],
"pose": [5, 0, 0],
"cubes": [
{"name": "neck", "origin": [-5, 2, -48], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "neck", "origin": [-1, 12, -46], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "neck5",
"parent": "neck4",
"pivot": [0, 7, -48],
"pose": [5, 0, 0],
"cubes": [
{"name": "neck", "origin": [-5, 2, -58], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "neck", "origin": [-1, 12, -56], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "head",
"parent": "neck5",
"pivot": [0, 7, -58],
"pose": [5, 0, 0],
"cubes": [
{"name": "head", "origin": [-6, 3, -88], "size": [12, 5, 16], "uv": [176, 44]},
{"name": "head", "origin": [-8, -1, -74], "size": [16, 16, 16], "uv": [112, 30]},
{"name": "head", "origin": [-5, 15, -68], "size": [2, 4, 6], "uv": [0, 0], "mirror": true},
{"name": "head", "origin": [-5, 8, -86], "size": [2, 2, 4], "uv": [112, 0], "mirror": true},
{"name": "head", "origin": [3, 15, -68], "size": [2, 4, 6], "uv": [0, 0]},
{"name": "head", "origin": [3, 8, -86], "size": [2, 2, 4], "uv": [112, 0]}
]
},
{
"name": "jaw",
"parent": "head",
"pivot": [0, 3, -71],
"pose": [15, 0, 0],
"cubes": [
{"name": "jaw", "origin": [-6, -1, -88], "size": [12, 4, 16], "uv": [176, 65]}
]
},
{
"name": "body",
"pivot": [0, 20, 8],
"cubes": [
{"name": "body", "origin": [-12, -4, -8], "size": [24, 24, 64], "uv": [0, 0]},
{"name": "body", "origin": [-1, 20, -2], "size": [2, 6, 12], "uv": [220, 53]},
{"name": "body", "origin": [-1, 20, 18], "size": [2, 6, 12], "uv": [220, 53]},
{"name": "body", "origin": [-1, 20, 38], "size": [2, 6, 12], "uv": [220, 53]}
]
},
{
"name": "wing",
"pivot": [-12, 19, 2],
"pose": [0, 10, 10],
"cubes": [
{"name": "wing", "origin": [-68, 15, -2], "size": [56, 8, 8], "uv": [112, 88]},
{"name": "wing", "origin": [-68, 19, 4], "size": [56, 0, 56], "uv": [-56, 88], "inflate": 0.01}
]
},
{
"name": "wingtip",
"parent": "wing",
"pivot": [-68, 19, 0],
"pose": [0, 0, -20],
"cubes": [
{"name": "wingtip", "origin": [-124, 17, 0], "size": [56, 4, 4], "uv": [112, 136]},
{"name": "wingtip", "origin": [-124, 19, 4], "size": [56, 0, 56], "uv": [-56, 144], "inflate": 0.01}
]
},
{
"name": "wing1",
"pivot": [12, 19, 2],
"pose": [0, -10, -10],
"mirror": true,
"cubes": [
{"name": "wing1", "origin": [12, 15, -2], "size": [56, 8, 8], "uv": [112, 88]},
{"name": "wing1", "origin": [12, 19, 4], "size": [56, 0, 56], "uv": [-56, 88], "inflate": 0.01}
]
},
{
"name": "wingtip1",
"parent": "wing1",
"pivot": [68, 19, 0],
"pose": [0, 0, 20],
"mirror": true,
"cubes": [
{"name": "wingtip1", "origin": [68, 17, 0], "size": [56, 4, 4], "uv": [112, 136]},
{"name": "wingtip1", "origin": [68, 19, 4], "size": [56, 0, 56], "uv": [-56, 144], "inflate": 0.01}
]
},
{
"name": "rearleg",
"pivot": [-16, 8, 42],
"rotation": [60, 0, 0],
"cubes": [
{"name": "rearleg", "origin": [-24, -20, 34], "size": [16, 32, 16], "uv": [0, 0]}
]
},
{
"name": "rearlegtip",
"parent": "rearleg",
"pivot": [-16, -20, 43],
"rotation": [25, 0, 0],
"cubes": [
{"name": "rearlegtip", "origin": [-22, -52, 36], "size": [12, 32, 12], "uv": [196, 0]}
]
},
{
"name": "rearfoot",
"parent": "rearlegtip",
"pivot": [-16, -52, 41],
"rotation": [45, 0, 0],
"cubes": [
{"name": "rearfoot", "origin": [-25, -58, 21], "size": [18, 6, 24], "uv": [112, 0]}
]
},
{
"name": "rearleg1",
"pivot": [16, 8, 42],
"rotation": [60, 0, 0],
"mirror": true,
"cubes": [
{"name": "rearleg1", "origin": [8, -20, 34], "size": [16, 32, 16], "uv": [0, 0]}
]
},
{
"name": "rearlegtip1",
"parent": "rearleg1",
"pivot": [16, -20, 43],
"rotation": [25, 0, 0],
"mirror": true,
"cubes": [
{"name": "rearlegtip", "origin": [10, -52, 36], "size": [12, 32, 12], "uv": [196, 0]}
]
},
{
"name": "rearfoot1",
"parent": "rearlegtip1",
"pivot": [16, -52, 41],
"rotation": [45, 0, 0],
"mirror": true,
"cubes": [
{"name": "rearfoot", "origin": [7, -58, 21], "size": [18, 6, 24], "uv": [112, 0]}
]
},
{
"name": "frontleg",
"pivot": [-12, 4, 2],
"rotation": [65, 0, 0],
"cubes": [
{"name": "frontleg", "origin": [-16, -16, -2], "size": [8, 24, 8], "uv": [112, 104]}
]
},
{
"name": "frontlegtip",
"parent": "frontleg",
"pivot": [-12, -16, 2],
"rotation": [-20, 0, 0],
"cubes": [
{"name": "frontlegtip", "origin": [-15, -39, -1], "size": [6, 24, 6], "uv": [226, 138]}
]
},
{
"name": "frontfoot",
"parent": "frontlegtip",
"pivot": [-12, -38, 2],
"rotation": [45, 0, 0],
"cubes": [
{"name": "frontfoot", "origin": [-16, -42, -10], "size": [8, 4, 16], "uv": [144, 104]}
]
},
{
"name": "frontleg1",
"pivot": [12, 4, 2],
"rotation": [65, 0, 0],
"mirror": true,
"cubes": [
{"name": "frontleg1", "origin": [8, -16, -2], "size": [8, 24, 8], "uv": [112, 104]}
]
},
{
"name": "frontlegtip1",
"parent": "frontleg1",
"pivot": [12, -16, 2],
"rotation": [-20, 0, 0],
"mirror": true,
"cubes": [
{"name": "frontlegtip", "origin": [9, -39, -1], "size": [6, 24, 6], "uv": [226, 138]}
]
},
{
"name": "frontfoot1",
"parent": "frontlegtip1",
"pivot": [12, -38, 2],
"rotation": [45, 0, 0],
"mirror": true,
"cubes": [
{"name": "frontfoot", "origin": [8, -42, -10], "size": [8, 4, 16], "uv": [144, 104]}
]
},
{
"name": "tail",
"pivot": [0, 14, 56],
"cubes": [
{"name": "tail", "origin": [-5, 9, 56], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 58], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 14, 66],
"pose": [1, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 66], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 68], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail3",
"parent": "tail2",
"pivot": [0, 14, 76],
"pose": [1, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 76], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 78], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail4",
"parent": "tail3",
"pivot": [0, 14, 86],
"pose": [1, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 86], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 88], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail5",
"parent": "tail4",
"pivot": [0, 14, 96],
"pose": [2, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 96], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 98], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail6",
"parent": "tail5",
"pivot": [0, 14, 106],
"pose": [3, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 106], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 108], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail7",
"parent": "tail6",
"pivot": [0, 14, 116],
"pose": [3, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 116], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 118], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail8",
"parent": "tail7",
"pivot": [0, 14, 126],
"pose": [1, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 126], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 128], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail9",
"parent": "tail8",
"pivot": [0, 14, 136],
"pose": [-1, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 136], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 138], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail10",
"parent": "tail9",
"pivot": [0, 14, 146],
"pose": [-2, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 146], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 148], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail11",
"parent": "tail10",
"pivot": [0, 14, 156],
"pose": [-3, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 156], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 158], "size": [2, 4, 6], "uv": [48, 0]}
]
},
{
"name": "tail12",
"parent": "tail11",
"pivot": [0, 14, 166],
"pose": [-3, 0, 0],
"cubes": [
{"name": "tail", "origin": [-5, 9, 166], "size": [10, 10, 10], "uv": [192, 104]},
{"name": "tail", "origin": [-1, 19, 168], "size": [2, 4, 6], "uv": [48, 0]}
]
}
]
}`};bt.enderman={display_name:"Enderman",model:`{
"name": "enderman",
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 40, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": -0.5},
{"name": "Head layer", "origin": [-4, 38, -4], "size": [8, 8, 8], "uv": [0, 16], "inflate": -0.5, "layer": true}
]
},
{
"name": "Body",
"pivot": [0, 38, 0],
"cubes": [
{"name": "Body", "origin": [-4, 26, -2], "size": [8, 12, 4], "uv": [32, 16]}
]
},
{
"name": "RightArm",
"pivot": [-3, 36, 0],
"cubes": [
{"name": "RightArm", "origin": [-6, 8, -1], "size": [2, 30, 2], "uv": [56, 0]}
]
},
{
"name": "LeftArm",
"pivot": [5, 36, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 8, -1], "size": [2, 30, 2], "uv": [56, 0]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 26, 0],
"cubes": [
{"name": "RightLeg", "origin": [-3, -4, -1], "size": [2, 30, 2], "uv": [56, 0]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 26, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [1, -4, -1], "size": [2, 30, 2], "uv": [56, 0]}
]
}
]
}`};bt.endermite={display_name:"Endermite",model:`{
"name": "endermite",
"external_textures": ["entity/endermite.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "section_2",
"pivot": [0, 0, 2.5],
"cubes": [
{"name": "section_2", "origin": [-1.5, 0, 2.5], "size": [3, 3, 1], "uv": [0, 14]}
]
},
{
"name": "section_0",
"parent": "section_2",
"pivot": [0, 0, 0],
"cubes": [
{"name": "section_0", "origin": [-2, 0, -4.4], "size": [4, 3, 2], "uv": [0, 0]}
]
},
{
"name": "section_1",
"parent": "section_2",
"pivot": [0, 0, 0],
"cubes": [
{"name": "section_1", "origin": [-3, 0, -2.4], "size": [6, 4, 5], "uv": [0, 5]}
]
},
{
"name": "section_3",
"parent": "section_2",
"pivot": [0, 0, 0],
"cubes": [
{"name": "section_3", "origin": [-0.5, 0, 3.5], "size": [1, 2, 1], "uv": [0, 18]}
]
}
]
}`};bt.evocation_fang={display_name:"Evocation Fang",model:`{
"name": "evocation_fang",
"external_textures": ["entity/illager/fangs.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "base",
"pivot": [0, 0, 0],
"cubes": [
{"name": "base", "origin": [-5, 0, -5], "size": [10, 12, 10], "uv": [0, 0]}
]
},
{
"name": "upper_jaw",
"parent": "base",
"pivot": [0, 11, 0],
"rotation": [0, 180, -150],
"cubes": [
{"name": "upper_jaw", "origin": [-1.5, -4, -4], "size": [4, 14, 8], "uv": [40, 0], "inflate": 0.01}
]
},
{
"name": "lower_jaw",
"parent": "base",
"pivot": [0, 11, 0],
"rotation": [0, 0, 150],
"cubes": [
{"name": "lower_jaw", "origin": [-1.5, -4, -4], "size": [4, 14, 8], "uv": [40, 0]}
]
}
]
}`};bt.evoker={display_name:"Evoker",model:`{
"name": "evoker",
"external_textures": ["entity/illager/evoker.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "Head",
"parent": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "Head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "arms",
"parent": "body",
"pivot": [0, 22, 0],
"cubes": [
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}
]
},
{
"name": "leg0",
"parent": "body",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "leg1",
"parent": "body",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "RightArm",
"parent": "body",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
},
{
"name": "LeftArm",
"parent": "body",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
}
]
}`};bt.fox={display_name:"Fox",model_bedrock:`{
"name": "fox",
"external_textures": ["entity/fox/fox.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 8, 0],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-3, 0, -3], "size": [6, 11, 6], "uv": [30, 15]}
]
},
{
"name": "head",
"pivot": [0, 8, -3],
"cubes": [
{"name": "head", "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [0, 0]},
{"name": "head", "origin": [-4, 10, -8], "size": [2, 2, 1], "uv": [0, 0]},
{"name": "head", "origin": [2, 10, -8], "size": [2, 2, 1], "uv": [22, 0]},
{"name": "head", "origin": [-2, 4, -12], "size": [4, 2, 3], "uv": [0, 24]},
{"name": "head_sleeping", "visibility": false, "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [0, 12]}
]
},
{
"name": "leg0",
"pivot": [-3, 6, 6],
"cubes": [
{"name": "leg0", "origin": [-3.005, 0, 5], "size": [2, 6, 2], "uv": [14, 24]}
]
},
{
"name": "leg1",
"pivot": [1, 6, 6],
"cubes": [
{"name": "leg1", "origin": [1.005, 0, 5], "size": [2, 6, 2], "uv": [22, 24]}
]
},
{
"name": "leg2",
"pivot": [-3, 6, -1],
"cubes": [
{"name": "leg2", "origin": [-3.005, 0, -2], "size": [2, 6, 2], "uv": [14, 24]}
]
},
{
"name": "leg3",
"pivot": [1, 6, -1],
"cubes": [
{"name": "leg3", "origin": [1.005, 0, -2], "size": [2, 6, 2], "uv": [22, 24]}
]
},
{
"name": "tail",
"pivot": [0, 8, 7],
"rotation": [90, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, -2, 4.75], "size": [4, 9, 5], "uv": [28, 0]}
]
}
]
}`,model_java:`{
"name": "fox",
"texturewidth": 48,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 8, 0],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-3, 0, -3], "size": [6, 11, 6], "uv": [24, 15]}
]
},
{
"name": "head",
"pivot": [0, 8, -3],
"cubes": [
{"name": "head", "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [1, 5]},
{"name": "head", "origin": [-4, 10, -8], "size": [2, 2, 1], "uv": [8, 1]},
{"name": "head", "origin": [2, 10, -8], "size": [2, 2, 1], "uv": [15, 1]},
{"name": "head", "origin": [-2, 4, -12], "size": [4, 2, 3], "uv": [6, 18]}
]
},
{
"name": "leg0",
"pivot": [-3, 6, 6],
"cubes": [
{"name": "leg0", "origin": [-3.005, 0, 5], "size": [2, 6, 2], "uv": [13, 24]}
]
},
{
"name": "leg1",
"pivot": [1, 6, 6],
"cubes": [
{"name": "leg1", "origin": [1.005, 0, 5], "size": [2, 6, 2], "uv": [4, 24]}
]
},
{
"name": "leg2",
"pivot": [-3, 6, -1],
"cubes": [
{"name": "leg2", "origin": [-3.005, 0, -2], "size": [2, 6, 2], "uv": [13, 24]}
]
},
{
"name": "leg3",
"pivot": [1, 6, -1],
"cubes": [
{"name": "leg3", "origin": [1.005, 0, -2], "size": [2, 6, 2], "uv": [4, 24]}
]
},
{
"name": "tail",
"pivot": [0, 8, 7],
"rotation": [90, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, -2, 4.75], "size": [4, 9, 5], "uv": [30, 0]}
]
}
]
}`};bt.fox_baby={display_name:"Fox Baby",model:`{
"name": "fox_baby",
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[6, 7, 1, 1],
[9, 7, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 5.875, 0.125],
"cubes": [
{"origin": [-3, 3, -5], "size": [6, 5, 5], "uv": [0, 0]},
{"origin": [-1, 3, -7], "size": [2, 2, 2], "uv": [18, 20]},
{"origin": [-3, 8, -4], "size": [2, 2, 1], "uv": [22, 8]},
{"origin": [1, 8, -4], "size": [2, 2, 1], "uv": [22, 11]}
]
},
{
"name": "held_item",
"parent": "head",
"pivot": [-2.25, 2.3, -9]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-1.5, 2, 4],
"cubes": [
{"origin": [-2.5, 0, 3], "size": [2, 2, 2], "uv": [22, 4]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [1.5, 2, 4],
"cubes": [
{"origin": [0.5, 0, 3], "size": [2, 2, 2], "uv": [22, 0]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-1.5, 2, 0],
"cubes": [
{"origin": [-2.5, 0, -1], "size": [2, 2, 2], "uv": [22, 4]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [1.5, 2, 0],
"cubes": [
{"origin": [0.5, 0, -1], "size": [2, 2, 2], "uv": [22, 0]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 4, 2],
"cubes": [
{"origin": [-2.5, 2, -1], "size": [5, 4, 6], "uv": [0, 10]}
]
},
{
"name": "lead",
"parent": "body",
"pivot": [0, 3, -2]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 4.5, 5],
"cubes": [
{"origin": [-1.5, 2.98, 4], "size": [3, 3, 6], "uv": [0, 20]}
]
}
]
}`};bt.frog={display_name:"Frog",model:`{
"name": "frog",
"external_textures": ["entity/frog/temperate_frog.png"],
"texturewidth": 48,
"textureheight": 48,
"eyes": [
[2, 4, 5, 1],
[2, 9, 5, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 2, 4],
"cubes": [
{"origin": [-3.5, 1, -4], "size": [7, 3, 9], "uv": [3, 1]},
{"origin": [-3.5, 3, -4], "size": [7, 0, 9], "uv": [23, 22]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 4, 3],
"cubes": [
{"origin": [-3.5, 5, -4], "size": [7, 0, 9], "uv": [23, 13]},
{"origin": [-3.5, 3, -4], "size": [7, 3, 9], "uv": [0, 13]}
]
},
{
"name": "eyes",
"parent": "head",
"pivot": [-0.5, 4, 5]
},
{
"name": "right_eye",
"parent": "eyes",
"pivot": [-2, 7, -1.5],
"cubes": [
{"origin": [-3.5, 6, -3], "size": [3, 2, 3], "uv": [0, 0]}
]
},
{
"name": "left_eye",
"parent": "eyes",
"pivot": [2, 7, -1.5],
"cubes": [
{"origin": [0.5, 6, -3], "size": [3, 2, 3], "uv": [0, 5]}
]
},
{
"name": "croaking_body",
"parent": "body",
"pivot": [0, 3, -1],
"cubes": [
{"origin": [-3.5, 1.1, -3.9], "size": [7, 2, 3], "inflate": -0.1, "uv": [26, 5]}
]
},
{
"name": "tongue",
"parent": "body",
"pivot": [0, 3.1, 5],
"cubes": [
{"origin": [-2, 3.1, -2.1], "size": [4, 0, 7], "uv": [17, 13]}
]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [4, 3, -2.5],
"cubes": [
{"origin": [3, 0, -3.5], "size": [2, 3, 3], "uv": [0, 32]},
{"origin": [0, -0.01, -7.5], "size": [8, 0, 8], "uv": [18, 40], "layer": true}
]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-4, 3, -2.5],
"cubes": [
{"origin": [-5, 0, -3.5], "size": [2, 3, 3], "uv": [0, 38]},
{"origin": [-8, -0.01, -7.5], "size": [8, 0, 8], "uv": [2, 40], "layer": true}
]
},
{
"name": "left_leg",
"parent": "root",
"pivot": [3.5, 3, 4],
"cubes": [
{"origin": [2.5, 0, 2], "size": [3, 3, 4], "uv": [14, 25]},
{"origin": [1.5, -0.01, 0], "size": [8, 0, 8], "uv": [2, 32], "layer": true}
]
},
{
"name": "right_leg",
"parent": "root",
"pivot": [-3.5, 3, 4],
"cubes": [
{"origin": [-5.5, 0, 2], "size": [3, 3, 4], "uv": [0, 25]},
{"origin": [-9.5, -0.01, 0], "size": [8, 0, 8], "uv": [18, 32], "layer": true}
]
}
]
}`};bt.ghast={display_name:"Ghast",model:`{
"name": "ghast",
"external_textures": ["entity/ghast/ghast.png"],
"texturewidth": 64,
"textureheight": 32,
"default_resolution": 32,
"eyes": [
[19, 21, 3, 1],
[26, 21, 3, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 8, 0],
"cubes": [
{"name": "body", "origin": [-8, 0, -8], "size": [16, 16, 16], "uv": [0, 0]}
]
},
{
"name": "tentacles_0",
"parent": "body",
"pivot": [-3.8, 1, -5],
"cubes": [
{"name": "tentacles_0", "origin": [-4.8, -8, -6], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_1",
"parent": "body",
"pivot": [1.3, 1, -5],
"cubes": [
{"name": "tentacles_1", "origin": [0.3, -10, -6], "size": [2, 11, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_2",
"parent": "body",
"pivot": [6.3, 1, -5],
"cubes": [
{"name": "tentacles_2", "origin": [5.3, -7, -6], "size": [2, 8, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_3",
"parent": "body",
"pivot": [-6.3, 1, 0],
"cubes": [
{"name": "tentacles_3", "origin": [-7.3, -8, -1], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_4",
"parent": "body",
"pivot": [-1.3, 1, 0],
"cubes": [
{"name": "tentacles_4", "origin": [-2.3, -12, -1], "size": [2, 13, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_5",
"parent": "body",
"pivot": [3.8, 1, 0],
"cubes": [
{"name": "tentacles_5", "origin": [2.8, -10, -1], "size": [2, 11, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_6",
"parent": "body",
"pivot": [-3.8, 1, 5],
"cubes": [
{"name": "tentacles_6", "origin": [-4.8, -11, 4], "size": [2, 12, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_7",
"parent": "body",
"pivot": [1.3, 1, 5],
"cubes": [
{"name": "tentacles_7", "origin": [0.3, -11, 4], "size": [2, 12, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_8",
"parent": "body",
"pivot": [6.3, 1, 5],
"cubes": [
{"name": "tentacles_8", "origin": [5.3, -12, 4], "size": [2, 13, 2], "uv": [0, 0]}
]
}
]
}`};bt.goat={display_name:"Goat",model:`{
"name": "goat",
"external_textures": ["entity/goat/goat.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "left_back_leg",
"pivot": [1, 10, 4],
"cubes": [
{"origin": [1, 0, 4], "size": [3, 6, 3], "uv": [36, 29]}
]
},
{
"name": "right_back_leg",
"pivot": [-3, 10, 4],
"cubes": [
{"origin": [-3, 0, 4], "size": [3, 6, 3], "uv": [49, 29]}
]
},
{
"name": "right_front_leg",
"pivot": [-3, 10, -6],
"cubes": [
{"origin": [-3, 0, -6], "size": [3, 10, 3], "uv": [49, 2]}
]
},
{
"name": "left_front_leg",
"pivot": [1, 10, -6],
"cubes": [
{"origin": [1, 0, -6], "size": [3, 10, 3], "uv": [35, 2]}
]
},
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-4, 6, -7], "size": [9, 11, 16], "uv": [1, 1]},
{"origin": [-5, 4, -8], "size": [11, 14, 11], "uv": [0, 28]}
]
},
{
"name": "Head",
"pivot": [1, 10, 0],
"cubes": [
{"origin": [-2, 15, -16], "size": [5, 7, 10], "pivot": [1, 18, -8], "rotation": [55, 0, 0], "uv": [34, 46]},
{"origin": [-1.99, 19, -10], "size": [2, 7, 2], "uv": [12, 55]},
{"origin": [0.99, 19, -10], "size": [2, 7, 2], "uv": [12, 55]},
{"origin": [3, 19, -10], "size": [3, 2, 1], "uv": [2, 61], "mirror": true},
{"origin": [-5, 19, -10], "size": [3, 2, 1], "uv": [2, 61]},
{"origin": [0.5, 6, -14], "size": [0, 7, 5], "uv": [23, 52]}
]
},
{
"name": "Head Main",
"parent": "Head",
"pivot": [1, 18, -8],
"rotation": [55, 0, 0],
"cubes": [
{"origin": [-2, 15, -16], "size": [5, 7, 10], "pivot": [1, 18, -8], "uv": [34, 46]}
]
}
]
}`};bt.goat_baby={display_name:"Goat Baby",model:`{
"name": "goat_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/goat/goat_baby.png"],
"eyes": [
[2, 7, 1, 1],
[13, 7, 1, 1]
],
"bones": [
{
"name": "left_back_leg",
"pivot": [1.5, 4.5, 3],
"cubes": [
{"origin": [0.5, 0, 2], "size": [2, 5, 2], "uv": [29, 12]}
]
},
{
"name": "right_back_leg",
"pivot": [-1.5, 4.5, 3],
"cubes": [
{"origin": [-2.5, 0, 2], "size": [2, 5, 2], "uv": [21, 12]}
]
},
{
"name": "right_front_leg",
"pivot": [-1.5, 4.5, -2],
"cubes": [
{"origin": [-2.5, 0, -3], "size": [2, 5, 2], "uv": [21, 5]}
]
},
{
"name": "left_front_leg",
"pivot": [1.5, 4.5, -2],
"cubes": [
{"origin": [0.5, 0, -3], "size": [2, 5, 2], "uv": [29, 5]}
]
},
{
"name": "body",
"pivot": [0, 6.2, 0],
"cubes": [
{"origin": [-3, 3.5, -4.5], "size": [6, 5, 9], "uv": [0, 10]},
{"origin": [-2.5, 4.4, -4], "size": [5, 4, 8], "uv": [0, 24]}
]
},
{
"name": "head",
"pivot": [0, 10.5, -3],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [-2, 8.5, -9], "size": [4, 4, 6], "uv": [0, 0]},
{"origin": [1.7, 10.5, -4.2], "size": [2, 1, 1], "pivot": [1.7, 11, -3.7], "rotation": [0, 30, 0], "uv": [0, 12]},
{"origin": [-3.7, 10.5, -4.2], "size": [2, 1, 1], "pivot": [-1.7, 11, -3.7], "rotation": [0, -30, 0], "uv": [0, 12], "mirror": true},
{"origin": [0.5, 12.5, -3.9], "size": [1, 2, 1], "pivot": [1.5, 12.5, -3.9], "rotation": [-25, 0, 0], "uv": [24, 0]},
{"origin": [-1.5, 12.5, -3.9], "size": [1, 2, 1], "pivot": [-1.5, 12.5, -3.9], "rotation": [-25, 0, 0], "uv": [24, 0], "mirror": true}
]
}
]
}`};bt.guardian={display_name:"Guardian",model:`{
"name": "guardian",
"external_textures": ["entity/guardian.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[19, 21, 6, 3]
],
"bones": [
{
"name": "head",
"pivot": [0, 0, 0],
"mirror": true,
"cubes": [
{"name": "head", "origin": [-6, 2, -8], "size": [12, 12, 16], "uv": [0, 0], "mirror": false},
{"name": "head", "origin": [-8, 2, -6], "size": [2, 12, 12], "uv": [0, 28], "mirror": false},
{"name": "head", "origin": [6, 2, -6], "size": [2, 12, 12], "uv": [0, 28]},
{"name": "head", "origin": [-6, 14, -6], "size": [12, 2, 12], "uv": [16, 40]},
{"name": "head", "origin": [-6, 0, -6], "size": [12, 2, 12], "uv": [16, 40]}
]
},
{
"name": "eye",
"parent": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "eye", "origin": [-1, 7, -8.25], "size": [2, 2, 1], "uv": [8, 0]}
]
},
{
"name": "tailpart0",
"parent": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "tailpart0", "origin": [-2, 6, 8], "size": [4, 4, 8], "uv": [40, 0]}
]
},
{
"name": "tailpart1",
"parent": "tailpart0",
"pivot": [0, 24, 0],
"cubes": [
{"name": "tailpart1", "origin": [-1.5, 7, 16], "size": [3, 3, 7], "uv": [0, 54]}
]
},
{
"name": "tailpart2",
"parent": "tailpart1",
"pivot": [0, 24, 0],
"cubes": [
{"name": "tailpart2", "origin": [-1, 8, 23], "size": [2, 2, 6], "uv": [41, 32]},
{"name": "tailpart2", "origin": [0, 4.5, 26], "size": [1, 9, 9], "uv": [25, 19]}
]
},
{
"name": "spikepart0",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [0, 0, 45],
"cubes": [
{"name": "spikepart0", "origin": [10.25, 19.5, -1], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart1",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [0, 0, -45],
"cubes": [
{"name": "spikepart1", "origin": [-12.25, 19.5, -1], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart2",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [45, 0, 0],
"cubes": [
{"name": "spikepart2", "origin": [-1, 19.5, -12.25], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart3",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "spikepart3", "origin": [-1, 19.5, 10.5], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart4",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [0, 0, 135],
"cubes": [
{"name": "spikepart4", "origin": [10.25, 42.5, -1], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart5",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [0, 0, -135],
"cubes": [
{"name": "spikepart5", "origin": [-12.25, 42.5, -1], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart6",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [135, 0, 0],
"cubes": [
{"name": "spikepart6", "origin": [-1, 43.5, -12.25], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart7",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [-135, 0, 0],
"cubes": [
{"name": "spikepart7", "origin": [-1, 42.5, 10.25], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart8",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [90, -45, 0],
"cubes": [
{"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart9",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [90, 45, 0],
"cubes": [
{"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart10",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [90, -135, 0],
"cubes": [
{"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]}
]
},
{
"name": "spikepart11",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [90, 135, 0],
"cubes": [
{"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]}
]
}
]
}`};bt.happy_ghast={display_name:"Happy Ghast",model:`{
"name": "happy_ghast",
"external_textures": ["entity/happy_ghast/adult.png"],
"texturewidth": 64,
"textureheight": 64,
"default_resolution": 32,
"eyes": [
[18, 24, 3, 1],
[27, 24, 3, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-8, 0, -8], "size": [16, 16, 16], "uv": [0, 0]},
{"origin": [-8, 0, -8], "size": [16, 16, 16], "inflate": -0.5, "uv": [0, 32]}
]
},
{
"name": "tentacles_0",
"parent": "body",
"pivot": [-3.8, 1, -5],
"cubes": [
{"origin": [-4.8, -4, -6], "size": [2, 5, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_1",
"parent": "body",
"pivot": [1.3, 1, -5],
"cubes": [
{"origin": [0.3, -6, -6], "size": [2, 7, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_2",
"parent": "body",
"pivot": [6.3, 1, -5],
"cubes": [
{"origin": [5.3, -3, -6], "size": [2, 4, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_3",
"parent": "body",
"pivot": [-6.3, 1, 0],
"cubes": [
{"origin": [-7.3, -4, -1], "size": [2, 5, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_4",
"parent": "body",
"pivot": [-1.3, 1, 0],
"cubes": [
{"origin": [-2.3, -4, -1], "size": [2, 5, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_5",
"parent": "body",
"pivot": [3.8, 1, 0],
"cubes": [
{"origin": [2.8, -6, -1], "size": [2, 7, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_6",
"parent": "body",
"pivot": [-3.8, 1, 5],
"cubes": [
{"origin": [-4.8, -7, 4], "size": [2, 8, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_7",
"parent": "body",
"pivot": [1.3, 1, 5],
"cubes": [
{"origin": [0.3, -7, 4], "size": [2, 8, 2], "uv": [0, 0]}
]
},
{
"name": "tentacles_8",
"parent": "body",
"pivot": [6.3, 1, 5],
"cubes": [
{"origin": [5.3, -4, 4], "size": [2, 5, 2], "uv": [0, 0]}
]
}
]
}`};bt.harness={display_name:"Happy Ghast Harness",model:`{
"name": "harness",
"external_textures": ["entity/harness/harness_white.png"],
"texturewidth": 64,
"textureheight": 64,
"default_resolution": 32,
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-8, 0.5, -8], "size": [16, 16, 16], "inflate": 0.5, "uv": [0, 0]}
]
},
{
"name": "goggles",
"parent": "body",
"pivot": [0, 11.5, -5.5],
"cubes": [
{"origin": [-8, 7.5, -8], "size": [16, 5, 5], "inflate": 0.65, "uv": [0, 32]}
]
}
]
}`};bt.hoglin={display_name:"Hoglin",model:`{
"name": "hoglin",
"external_textures": ["entity/hoglin/hoglin.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 19, -3],
"cubes": [
{"origin": [-8, 11, -7], "size": [16, 14, 26], "inflate": 0.02, "uv": [1, 1]},
{"origin": [0, 22, -10], "size": [0, 10, 19], "inflate": 0.02, "uv": [90, 33]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 22, -5],
"rotation": [50, 0, 0],
"cubes": [
{"origin": [-7, 21, -24], "size": [14, 6, 19], "uv": [61, 1]},
{"origin": [-8, 22, -19], "size": [2, 11, 2], "uv": [1, 13]},
{"origin": [6, 22, -19], "size": [2, 11, 2], "uv": [1, 13]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-7, 27, -7],
"rotation": [0, 0, -50],
"cubes": [
{"origin": [-13, 26, -10], "size": [6, 1, 4], "uv": [1, 1]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [7, 27, -7],
"rotation": [0, 0, 50],
"cubes": [
{"origin": [7, 26, -10], "size": [6, 1, 4], "uv": [1, 6]}
]
},
{
"name": "leg_back_right",
"pivot": [6, 8, 17],
"cubes": [
{"origin": [-8, 0, 13], "size": [5, 11, 5], "uv": [21, 45]}
]
},
{
"name": "leg_back_left",
"pivot": [-6, 8, 17],
"cubes": [
{"origin": [3, 0, 13], "size": [5, 11, 5], "uv": [0, 45]}
]
},
{
"name": "leg_front_right",
"pivot": [-6, 12, -3],
"cubes": [
{"origin": [-8, 0, -6], "size": [6, 14, 6], "uv": [66, 42]}
]
},
{
"name": "leg_front_left",
"pivot": [6, 12, -3],
"cubes": [
{"origin": [2, 0, -6], "size": [6, 14, 6], "uv": [41, 42]}
]
}
]
}`};bt.hoglin_baby={display_name:"Hoglin Baby",model:`{
"name": "hoglin_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/hoglin/hoglin_baby.png"],
"eyes": [
[13, 4, 2, 2],
[19, 4, 2, 2]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-4, 6, -7], "size": [8, 8, 14], "inflate": 0.02, "uv": [0, 16]},
{"origin": [0, 12, -8], "size": [0, 6, 11], "inflate": 0.02, "uv": [24, 39]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 11, -7],
"rotation": [50, 0, 0],
"cubes": [
{"origin": [-5, 9.26046, -17.54701], "size": [10, 4, 12], "uv": [0, 0]},
{"origin": [-7, 10.09814, -15.48793], "size": [2, 5, 2], "uv": [44, 29]},
{"origin": [5, 10.09814, -15.48793], "size": [2, 5, 2], "uv": [52, 29]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-5, 12, -8.5],
"rotation": [0, 0, -50],
"cubes": [
{"origin": [-10.1, 11.5, -10.5], "size": [6, 1, 4], "uv": [32, 5]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [5, 12, -8.5],
"rotation": [0, 0, 50],
"cubes": [
{"origin": [4.1, 11.5, -10.5], "size": [6, 1, 4], "uv": [32, 0], "mirror": true}
]
},
{
"name": "leg_back_right",
"parent": "body",
"pivot": [-2.5, 6, 4.5],
"cubes": [
{"origin": [-4, 0, 3], "size": [3, 6, 3], "uv": [0, 47]}
]
},
{
"name": "leg_back_left",
"parent": "body",
"pivot": [2.5, 6, 4.5],
"cubes": [
{"origin": [1, 0, 3], "size": [3, 6, 3], "uv": [12, 47]}
]
},
{
"name": "leg_front_right",
"parent": "body",
"pivot": [-2.5, 6, -4.5],
"cubes": [
{"origin": [-4, 0, -6], "size": [3, 6, 3], "uv": [0, 38]}
]
},
{
"name": "leg_front_left",
"parent": "body",
"pivot": [2.5, 6, -4.5],
"cubes": [
{"origin": [1, 0, -6], "size": [3, 6, 3], "uv": [12, 38]}
]
}
]
}`};bt.horse={display_name:"Horse",model:`{
"name": "horse",
"external_textures": ["entity/horse2/horse_gray.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "Body",
"pivot": [0, 13, 9],
"cubes": [
{"name": "Body", "origin": [-5, 11, -11], "size": [10, 10, 22], "uv": [0, 32]}
]
},
{
"name": "TailA",
"pivot": [0, 20, 11],
"rotation": [30, 0, 0],
"cubes": [
{"name": "TailA", "origin": [-1.5, 6, 9], "size": [3, 14, 4], "uv": [42, 36]}
]
},
{
"name": "Leg1A",
"pivot": [3, 11, 9],
"cubes": [
{"name": "Leg1A", "origin": [1, 0, 7], "size": [4, 11, 4], "uv": [48, 21], "mirror": true}
]
},
{
"name": "Leg2A",
"pivot": [-3, 11, 9],
"cubes": [
{"name": "Leg2A", "origin": [-5, 0, 7], "size": [4, 11, 4], "uv": [48, 21]}
]
},
{
"name": "Leg3A",
"pivot": [3, 11, -9],
"cubes": [
{"name": "Leg3A", "origin": [1, 0, -11], "size": [4, 11, 4], "uv": [48, 21], "mirror": true}
]
},
{
"name": "Leg4A",
"pivot": [-3, 11, -9],
"cubes": [
{"name": "Leg4A", "origin": [-5, 0, -11], "size": [4, 11, 4], "uv": [48, 21]}
]
},
{
"name": "Head",
"pivot": [0, 28, -11],
"rotation": [30, 0, 0],
"cubes": [
{"name": "Head", "origin": [-3, 28, -17], "size": [6, 5, 7], "uv": [0, 13]},
{"name": "UMouth", "origin": [-2, 28, -22], "size": [4, 5, 5], "uv": [0, 25]}
]
},
{
"name": "Ear1",
"pivot": [0, 17, -8],
"rotation": [30, 0, 5],
"cubes": [
{"name": "Ear1", "origin": [-0.5, 32, -5.01], "size": [2, 3, 1], "uv": [19, 16], "mirror": true}
]
},
{
"name": "Ear2",
"pivot": [0, 17, -8],
"rotation": [30, 0, -5],
"cubes": [
{"name": "Ear2", "origin": [-1.5, 32, -5.01], "size": [2, 3, 1], "uv": [19, 16]}
]
},
{
"name": "MuleEarL",
"pivot": [0, 17, -8],
"rotation": [30, 0, 15],
"cubes": [
{"name": "MuleEarL", "visibility": false, "origin": [-3, 32, -5.01], "size": [2, 7, 1], "uv": [0, 12], "mirror": true}
]
},
{
"name": "MuleEarR",
"pivot": [0, 17, -8],
"rotation": [30, 0, -15],
"cubes": [
{"name": "MuleEarR", "visibility": false, "origin": [1, 32, -5.01], "size": [2, 7, 1], "uv": [0, 12]}
]
},
{
"name": "Neck",
"pivot": [0, 17, -8],
"rotation": [30, 0, 0],
"cubes": [
{"name": "Neck", "origin": [-2, 16, -11], "size": [4, 12, 7], "uv": [0, 35]},
{"name": "Mane", "origin": [-1, 17, -4], "size": [2, 16, 2], "uv": [56, 36]}
]
},
{
"name": "Bag1",
"pivot": [-5, 21, 11],
"rotation": [0, -90, 0],
"cubes": [
{"name": "Bag1", "visibility": false, "origin": [-14, 13, 11], "size": [8, 8, 3], "uv": [26, 21]}
]
},
{
"name": "Bag2",
"pivot": [5, 21, 11],
"rotation": [0, 90, 0],
"cubes": [
{"name": "Bag2", "visibility": false, "origin": [6, 13, 11], "size": [8, 8, 3], "uv": [26, 21], "mirror": true}
]
},
{
"name": "Saddle",
"pivot": [0, 22, 2],
"cubes": [
{"name": "Saddle", "origin": [-5, 12, -3.5], "size": [10, 9, 9], "uv": [26, 0], "inflate": 0.5}
]
},
{
"name": "SaddleMouthL",
"pivot": [0, 17, -8],
"rotation": [30, 0, 0],
"cubes": [
{"name": "SaddleMouthL", "origin": [2, 29, -14], "size": [1, 2, 2], "uv": [29, 5]}
]
},
{
"name": "SaddleMouthR",
"pivot": [0, 17, -8],
"rotation": [30, 0, 0],
"cubes": [
{"name": "SaddleMouthR", "origin": [-3, 29, -14], "size": [1, 2, 2], "uv": [29, 5]}
]
},
{
"name": "SaddleMouthLine",
"pivot": [0, 17, -8],
"cubes": [
{"name": "SaddleMouthLine", "origin": [3.1, 24, -19.5], "size": [0, 3, 16], "uv": [32, 2]}
]
},
{
"name": "SaddleMouthLineR",
"pivot": [0, 17, -8],
"cubes": [
{"name": "SaddleMouthLineR", "origin": [-3.1, 24, -19.5], "size": [0, 3, 16], "uv": [32, 2]}
]
},
{
"name": "HeadSaddle",
"pivot": [0, 17, -8],
"rotation": [30, 0, 0],
"cubes": [
{"name": "HeadSaddle", "origin": [-2, 28, -13], "size": [4, 5, 2], "uv": [19, 0], "inflate": 0.25},
{"name": "HeadSaddle", "visibility": false, "origin": [-3, 28, -11], "size": [6, 5, 7], "uv": [0, 0], "inflate": 0.25}
]
}
]
}`};bt.horse_baby={display_name:"Horse Baby",model:`{
"name": "horse_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/horse2/horse_brown_baby.png"],
"eyes": [
[2, 10, 2, 1],
[20, 10, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 11.5, 0],
"cubes": [
{"origin": [-4, 8, -7], "size": [8, 7, 14], "uv": [0, 13]}
]
},
{
"name": "Tail",
"parent": "Body",
"pivot": [0, 12.5, 7],
"rotation": [-42.5, 0, 0],
"cubes": [
{"origin": [-1.5, 11, 6], "size": [3, 3, 8], "uv": [24, 34]}
]
},
{
"name": "LegBL",
"parent": "Body",
"pivot": [2.4, 8, 5.4],
"cubes": [
{"origin": [0.9, 0, 3.9], "size": [3, 9, 3], "uv": [12, 46]}
]
},
{
"name": "LegBR",
"parent": "Body",
"pivot": [-2.4, 8, 5.4],
"cubes": [
{"origin": [-3.9, 0, 3.9], "size": [3, 9, 3], "uv": [0, 46]}
]
},
{
"name": "LegFL",
"parent": "Body",
"pivot": [2.4, 8, -5.4],
"cubes": [
{"origin": [0.9, 0, -6.9], "size": [3, 9, 3], "uv": [12, 34]}
]
},
{
"name": "LegFR",
"parent": "Body",
"pivot": [-2.4, 8, -5.4],
"cubes": [
{"origin": [-3.9, 0, -6.9], "size": [3, 9, 3], "uv": [0, 34]}
]
},
{
"name": "Neck",
"parent": "Body",
"pivot": [0, 14, -6],
"rotation": [35, 0, 0],
"cubes": [
{"origin": [-2, 12, -8], "size": [4, 8, 4], "uv": [30, 0]}
]
},
{
"name": "Head",
"parent": "Neck",
"pivot": [0, 20.05164, -6.29505],
"cubes": [
{"origin": [-3, 20, -13], "size": [6, 4, 9], "uv": [0, 0]}
]
},
{
"name": "EarL",
"parent": "Head",
"pivot": [2, 24.3, -4.35],
"rotation": [0, 0, 15],
"cubes": [
{"origin": [1, 23.8, -5.15], "size": [2, 3, 1], "uv": [0, 4]}
]
},
{
"name": "EarR",
"parent": "Head",
"pivot": [-2, 24.3, -4.65],
"rotation": [0, 0, -15],
"cubes": [
{"origin": [-3, 23.8, -5.15], "size": [2, 3, 1], "uv": [0, 0]}
]
}
]
}`};bt.irongolem={display_name:"Iron Golem",model:`{
"name": "irongolem",
"external_textures": ["entity/iron_golem.png"],
"texturewidth": 128,
"textureheight": 128,
"bones": [
{
"name": "body",
"pivot": [0, 31, 0],
"cubes": [
{"name": "body", "origin": [-9, 21, -6], "size": [18, 12, 11], "uv": [0, 40]},
{"name": "body", "origin": [-4.5, 16, -3], "size": [9, 5, 6], "uv": [0, 70], "inflate": 0.5}
]
},
{
"name": "Head",
"parent": "body",
"pivot": [0, 31, -2],
"cubes": [
{"name": "head", "origin": [-4, 33, -7.5], "size": [8, 10, 8], "uv": [0, 0]},
{"name": "head", "origin": [-1, 32, -9.5], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "arm0",
"parent": "body",
"pivot": [0, 31, 0],
"cubes": [
{"name": "arm0", "origin": [-13, 3.5, -3], "size": [4, 30, 6], "uv": [60, 21]}
]
},
{
"name": "arm1",
"parent": "body",
"pivot": [0, 31, 0],
"cubes": [
{"name": "arm1", "origin": [9, 3.5, -3], "size": [4, 30, 6], "uv": [60, 58]}
]
},
{
"name": "leg0",
"parent": "body",
"pivot": [-4, 13, 0],
"cubes": [
{"name": "leg0", "origin": [-7.5, 0, -3], "size": [6, 16, 5], "uv": [37, 0]}
]
},
{
"name": "leg1",
"parent": "body",
"pivot": [5, 13, 0],
"mirror": true,
"cubes": [
{"name": "leg1", "origin": [1.5, 0, -3], "size": [6, 16, 5], "uv": [60, 0]}
]
}
]
}`};bt.llama={display_name:"Llama",model:`{
"name": "llama",
"external_textures": ["entity/llama/llama.png"],
"texturewidth": 128,
"textureheight": 64,
"eyes": [
[7, 21],
[11, 21]
],
"bones": [
{
"name": "Head",
"pivot": [0, 17, -6],
"cubes": [
{"name": "head", "origin": [-2, 27, -16], "size": [4, 4, 9], "uv": [0, 0]},
{"name": "head", "origin": [-4, 15, -12], "size": [8, 18, 6], "uv": [0, 14]},
{"name": "head", "origin": [-4, 33, -10], "size": [3, 3, 2], "uv": [17, 0]},
{"name": "head", "origin": [1, 33, -10], "size": [3, 3, 2], "uv": [17, 0]}
]
},
{
"name": "chest1",
"pivot": [-8.5, 21, 3],
"rotation": [0, 90, 0],
"cubes": [
{"name": "chest1", "origin": [-11.5, 13, 3], "size": [8, 8, 3], "uv": [45, 28]}
]
},
{
"name": "chest2",
"pivot": [5.5, 21, 3],
"rotation": [0, 90, 0],
"cubes": [
{"name": "chest2", "origin": [2.5, 13, 3], "size": [8, 8, 3], "uv": [45, 41]}
]
},
{
"name": "body",
"pivot": [0, 19, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-6, 11, -5], "size": [12, 18, 10], "uv": [29, 0]}
]
},
{
"name": "leg0",
"pivot": [-3.5, 14, 6],
"cubes": [
{"name": "leg0", "origin": [-5.5, 0, 4], "size": [4, 14, 4], "uv": [29, 29]}
]
},
{
"name": "leg1",
"pivot": [3.5, 14, 6],
"cubes": [
{"name": "leg1", "origin": [1.5, 0, 4], "size": [4, 14, 4], "uv": [29, 29]}
]
},
{
"name": "leg2",
"pivot": [-3.5, 14, -5],
"cubes": [
{"name": "leg2", "origin": [-5.5, 0, -7], "size": [4, 14, 4], "uv": [29, 29]}
]
},
{
"name": "leg3",
"pivot": [3.5, 14, -5],
"cubes": [
{"name": "leg3", "origin": [1.5, 0, -7], "size": [4, 14, 4], "uv": [29, 29]}
]
}
]
}`};bt.llama_baby={display_name:"Llama Baby",model:`{
"name": "llama_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/llama/llama_creamy_baby.png"],
"eyes": [
[5, 5, 1, 1],
[8, 5, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 13, -4],
"cubes": [
{"origin": [-3, 11, -8], "size": [6, 11, 4], "uv": [0, 0]},
{"origin": [-1.5, 17, -11], "size": [3, 3, 3], "uv": [0, 15]},
{"origin": [0.5, 22, -7], "size": [2, 2, 2], "uv": [20, 4]},
{"origin": [-2.5, 22, -7], "size": [2, 2, 2], "uv": [20, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-2.5, 8.5, 4.5],
"cubes": [
{"origin": [-3.9, 0, 3], "size": [3, 8, 3], "uv": [0, 45]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [2.5, 8.5, 4.5],
"cubes": [
{"origin": [0.9, 0, 3], "size": [3, 8, 3], "uv": [12, 45]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-2.5, 8.5, -3.5],
"cubes": [
{"origin": [-3.9, 0, -5], "size": [3, 8, 3], "uv": [0, 34]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [2.5, 8.5, -3.5],
"cubes": [
{"origin": [0.9, 0, -5], "size": [3, 8, 3], "uv": [12, 34]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 11, 2.5],
"cubes": [
{"origin": [-4, 8, -6], "size": [8, 6, 13], "uv": [0, 15]}
]
}
]
}`};bt.lavaslime={display_name:"Magma Cube",variants:{new:{name:"New",model:`{
"name": "magma_cube_v2",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 26, 2, 1],
[13, 26, 2, 1],
[9, 35, 2, 1],
[13, 35, 2, 1]
],
"bones": [
{
"name": "inside",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [24, 40]}
]
},
{
"name": "outside",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 7, -4], "size": [8, 1, 8], "uv": [0, 0]},
{"origin": [-4, 6, -4], "size": [8, 1, 8], "uv": [0, 9]},
{"origin": [-4, 5, -4], "size": [8, 1, 8], "uv": [0, 18]},
{"origin": [-4, 4, -4], "size": [8, 1, 8], "uv": [0, 27]},
{"origin": [-4, 3, -4], "size": [8, 1, 8], "uv": [32, 0]},
{"origin": [-4, 2, -4], "size": [8, 1, 8], "uv": [32, 9]},
{"origin": [-4, 1, -4], "size": [8, 1, 8], "uv": [32, 18]},
{"origin": [-4, 0, -4], "size": [8, 1, 8], "uv": [32, 27]}
]
}
]
}`},old:{name:"Classic",model:`{
"name": "lavaslime",
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[33, 18, 2, 1],
[37, 18, 2, 1],
[33, 27, 2, 1],
[37, 27, 2, 1]
],
"bones": [
{
"name": "insideCube",
"pivot": [0, 0, 0],
"cubes": [
{"name": "insideCube", "origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [0, 16]}
]
},
{
"name": "bodyCube_0",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_0", "origin": [-4, 7, -4], "size": [8, 1, 8], "uv": [0, 0]}
]
},
{
"name": "bodyCube_1",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_1", "origin": [-4, 6, -4], "size": [8, 1, 8], "uv": [0, 1]}
]
},
{
"name": "bodyCube_2",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_2", "origin": [-4, 5, -4], "size": [8, 1, 8], "uv": [24, 10]}
]
},
{
"name": "bodyCube_3",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_3", "origin": [-4, 4, -4], "size": [8, 1, 8], "uv": [24, 19]}
]
},
{
"name": "bodyCube_4",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_4", "origin": [-4, 3, -4], "size": [8, 1, 8], "uv": [0, 4]}
]
},
{
"name": "bodyCube_5",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_5", "origin": [-4, 2, -4], "size": [8, 1, 8], "uv": [0, 5]}
]
},
{
"name": "bodyCube_6",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_6", "origin": [-4, 1, -4], "size": [8, 1, 8], "uv": [0, 6]}
]
},
{
"name": "bodyCube_7",
"parent": "insideCube",
"pivot": [0, 24, 0],
"cubes": [
{"name": "bodyCube_7", "origin": [-4, 0, -4], "size": [8, 1, 8], "uv": [0, 7]}
]
}
]
}`}}};bt.minecart={display_name:"Minecart",model:`{
"name": "minecart",
"external_textures": ["entity/minecart.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "bottom",
"pivot": [0, 20, 0],
"rotation": [90, 0, 0],
"mirror": true,
"cubes": [
{"name": "bottom", "origin": [-10, 12, -20], "size": [20, 16, 2], "uv": [0, 10]}
]
},
{
"name": "front",
"pivot": [-9, 25, 0],
"rotation": [0, -90, 0],
"mirror": true,
"cubes": [
{"name": "front", "origin": [-17, 2, -1], "size": [16, 8, 2], "uv": [0, 0]}
]
},
{
"name": "back",
"pivot": [9, 25, 0],
"rotation": [0, 90, 0],
"mirror": true,
"cubes": [
{"name": "back", "origin": [1, 2, -1], "size": [16, 8, 2], "uv": [0, 0]}
]
},
{
"name": "right",
"pivot": [0, 25, -7],
"rotation": [0, -180, 0],
"mirror": true,
"cubes": [
{"name": "right", "origin": [-8, 2, -8], "size": [16, 8, 2], "uv": [0, 0]}
]
},
{
"name": "left",
"pivot": [0, 25, 7],
"mirror": true,
"cubes": [
{"name": "left", "origin": [-8, 2, 6], "size": [16, 8, 2], "uv": [0, 0]}
]
}
]
}`};bt.nautilus={display_name:"Nautilus",model:`{
"name": "nautilus",
"external_textures": ["entity/nautilus/nautilus.png"],
"texturewidth": 128,
"textureheight": 128,
"eyes": [
[7, 70, 2, 1],
[29, 70, 2, 1]
],
"bones": [
{
"name": "nautilus",
"pivot": [0, -5, -6]
},
{
"name": "head",
"parent": "nautilus",
"pivot": [0, 8, -1],
"cubes": [
{"origin": [-7, 8, -8], "size": [14, 10, 16], "uv": [0, 0]},
{"name": "head_bottom", "origin": [-7, 0, -8], "size": [14, 8, 20], "uv": [0, 26]},
{"name": "head_back", "origin": [-7, 0, 5], "size": [14, 8, 0], "uv": [48, 26]}
]
},
{
"name": "body",
"parent": "nautilus",
"pivot": [0, 3.5, 6.3],
"cubes": [
{"origin": [-5, 0.01, 3.3], "size": [10, 8, 14], "uv": [0, 54]},
{"name": "body_back", "origin": [-5, 0.01, 13.3], "size": [10, 8, 0], "uv": [0, 76]},
{"name": "mouth_top", "origin": [-5, 4.01, 13.3], "size": [10, 4, 4], "inflate": -0.002, "uv": [54, 54]},
{"name": "inner_mouth", "origin": [-3, 2.01, 13.3], "size": [6, 4, 4], "uv": [54, 70]},
{"name": "mouth_bottom", "origin": [-5, -0.01, 13.3], "size": [10, 4, 4], "inflate": -0.002, "uv": [54, 62]}
]
}
]
}`};bt.nautilus_baby={display_name:"Nautilus Baby",model:`{
"name": "nautilus_baby",
"external_textures": ["entity/nautilus/nautilus_baby.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[3, 32, 1, 1],
[15, 32, 1, 1]
],
"bones": [
{
"name": "nautilus_baby",
"pivot": [0, -4, 0]
},
{
"name": "head",
"parent": "nautilus_baby",
"pivot": [-2.5, 4, -2.5],
"cubes": [
{"origin": [-3.5, 4, -3.5], "size": [7, 4, 7], "uv": [0, 0]},
{"name": "head_bottom", "origin": [-3.5, 0, -3.5], "size": [7, 4, 9], "uv": [0, 11]},
{"name": "head_back", "origin": [-3.5, 0, 2.5], "size": [7, 4, 0], "uv": [23, 11]}
]
},
{
"name": "body",
"parent": "nautilus_baby",
"pivot": [0, 1, 2.5],
"cubes": [
{"origin": [-2.5, 0.01, 1.5], "size": [5, 4, 7], "uv": [0, 24]},
{"name": "body_back", "origin": [-2.5, 0.01, 6.6], "size": [5, 4, 0], "uv": [0, 35]},
{"name": "mouth_top", "origin": [-2.5, 2.01, 6.4], "size": [5, 2, 2], "inflate": -0.002, "uv": [24, 24]},
{"name": "inner_mouth", "origin": [-1.5, 1.01, 6.4], "size": [3, 2, 2], "uv": [24, 32]},
{"name": "mouth_bottom", "origin": [-2.5, 0.01, 6.4], "size": [5, 2, 2], "inflate": -0.002, "uv": [24, 28]}
]
}
]
}`};bt.panda={display_name:"Panda",model:`{
"name": "panda",
"external_textures": ["entity/panda/panda.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[11, 19, 2, 1],
[18, 19, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 14, 0],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-9.5, 1, -6.5], "size": [19, 26, 13], "uv": [0, 25]}
]
},
{
"name": "head",
"pivot": [0, 12.5, -17],
"cubes": [
{"name": "head", "origin": [-6.5, 7.5, -21], "size": [13, 10, 9], "uv": [0, 6]},
{"name": "head", "origin": [-3.5, 7.5, -23], "size": [7, 5, 2], "uv": [45, 16]},
{"name": "head", "origin": [-8.5, 16.5, -18], "size": [5, 4, 1], "uv": [52, 25]},
{"name": "head", "origin": [3.5, 16.5, -18], "size": [5, 4, 1], "uv": [52, 25]}
]
},
{
"name": "leg0",
"pivot": [-5.5, 9, 9],
"cubes": [
{"name": "leg0", "origin": [-8.5, 0, 6], "size": [6, 9, 6], "uv": [40, 0]}
]
},
{
"name": "leg1",
"pivot": [5.5, 9, 9],
"cubes": [
{"name": "leg1", "origin": [2.5, 0, 6], "size": [6, 9, 6], "uv": [40, 0]}
]
},
{
"name": "leg2",
"pivot": [-5.5, 9, -9],
"cubes": [
{"name": "leg2", "origin": [-8.5, 0, -12], "size": [6, 9, 6], "uv": [40, 0]}
]
},
{
"name": "leg3",
"pivot": [5.5, 9, -9],
"cubes": [
{"name": "leg3", "origin": [2.5, 0, -12], "size": [6, 9, 6], "uv": [40, 0]}
]
}
]
}`};bt.panda_baby={display_name:"Panda Baby",model:`{
"name": "panda_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/panda/panda_baby.png"],
"eyes": [
[6, 8, 1, 1],
[10, 8, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 5.5, 2.5],
"cubes": [
{"origin": [-4.5, 2, -3], "size": [9, 7, 11], "uv": [0, 11]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 5, -3],
"cubes": [
{"origin": [-3.5, 2, -8], "size": [7, 6, 5], "uv": [0, 0]},
{"origin": [-2, 2, -9], "size": [4, 2, 1], "uv": [24, 6]},
{"origin": [-4.5, 6, -6.5], "size": [3, 3, 1], "uv": [24, 0]},
{"origin": [1.5, 6, -6.5], "size": [3, 3, 1], "uv": [33, 0]}
]
},
{
"name": "leg0",
"parent": "body",
"pivot": [-3, 2, 6.5],
"cubes": [
{"origin": [-4.4975, 0, 4.975], "size": [3, 2, 3], "uv": [0, 34]}
]
},
{
"name": "leg1",
"parent": "body",
"pivot": [3, 2, 6.5],
"cubes": [
{"origin": [1.4975, 0, 4.975], "size": [3, 2, 3], "uv": [12, 34]}
]
},
{
"name": "leg2",
"parent": "body",
"pivot": [-3, 2, -1.5],
"cubes": [
{"origin": [-4.475, 0, -2.975], "size": [3, 2, 3], "uv": [0, 29]}
]
},
{
"name": "leg3",
"parent": "body",
"pivot": [3, 2, -1.5],
"cubes": [
{"origin": [1.475, 0, -2.975], "size": [3, 2, 3], "uv": [12, 29]}
]
}
]
}`};bt.parrot={display_name:"Parrot",model_bedrock:`{
"name": "parrot",
"external_textures": ["entity/parrot/parrot_red_blue.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 7.5, -3],
"rotation": [25, 0, 0],
"cubes": [
{"name": "body", "origin": [-1.5, 1.5, -4.5], "size": [3, 6, 3], "uv": [2, 8]}
]
},
{
"name": "wing0",
"parent": "body",
"pivot": [1.5, 7.1, -2.8],
"rotation": [10, 0, 0],
"cubes": [
{"name": "wing0", "origin": [1, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]}
]
},
{
"name": "wing1",
"parent": "body",
"pivot": [-1.5, 7.1, -2.8],
"rotation": [10, 0, 0],
"cubes": [
{"name": "wing1", "origin": [-2, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]}
]
},
{
"name": "head",
"pivot": [0, 8.3, -2.8],
"cubes": [
{"name": "head", "origin": [-1, 6.8, -3.8], "size": [2, 3, 2], "uv": [2, 2]},
{"name": "head2", "origin": [-1, 9.8, -5.8], "size": [2, 1, 4], "uv": [10, 0]},
{"name": "beak1", "origin": [-0.5, 7.8, -4.7], "size": [1, 2, 1], "uv": [11, 7]},
{"name": "beak2", "origin": [-0.5, 8.1, -5.7], "size": [1, 1.7, 1], "uv": [16, 7]},
{"name": "feather", "origin": [0, 9.1, -4.9], "size": [0, 5, 4], "uv": [2, 18]}
]
},
{
"name": "tail",
"pivot": [0, 2.9, 1.2],
"rotation": [50, 0, 0],
"cubes": [
{"name": "tail", "origin": [-1.5, -0.1, 0.2], "size": [3, 4, 1], "uv": [22, 1]}
]
},
{
"name": "leg0",
"pivot": [1.5, 1, -0.5],
"cubes": [
{"name": "leg0", "origin": [0.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]}
]
},
{
"name": "leg1",
"pivot": [-0.5, 1, -0.5],
"cubes": [
{"name": "leg1", "origin": [-1.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]}
]
}
]
}`,model_java:`{
"name": "parrot",
"external_textures": ["entity/parrot/parrot_red_blue.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 7.5, -3],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [-1.5, 1.5, -4.5], "size": [3, 6, 3], "uv": [2, 8]}
]
},
{
"name": "wing0",
"parent": "body",
"pivot": [1.5, 7.1, -2.8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [1, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]}
]
},
{
"name": "wing1",
"parent": "body",
"pivot": [-1.5, 7.1, -2.8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [-2, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]}
]
},
{
"name": "head",
"pivot": [0, 8.3, -2.8],
"cubes": [
{"origin": [-1, 6.8, -3.8], "size": [2, 3, 2], "uv": [2, 2]},
{"origin": [-1, 9.8, -5.8], "size": [2, 1, 4], "uv": [10, 0]},
{"origin": [-0.5, 7.8, -4.7], "size": [1, 2, 1], "uv": [11, 7]},
{"origin": [-0.5, 8.035, -5.64], "size": [1, 2.025, 1], "uv": [16, 7]},
{"origin": [0, 9.1, -4.9], "size": [0, 5, 4], "uv": [2, 18]}
]
},
{
"name": "tail",
"pivot": [0, 2.9, 1.2],
"rotation": [50, 0, 0],
"cubes": [
{"origin": [-1.5, -0.1, 0.2], "size": [3, 4, 1], "uv": [22, 1]}
]
},
{
"name": "leg0",
"pivot": [1.5, 1, -0.5],
"cubes": [
{"origin": [0.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]}
]
},
{
"name": "leg1",
"pivot": [-0.5, 1, -0.5],
"cubes": [
{"origin": [-1.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]}
]
}
]
}`};bt.phantom={display_name:"Phantom",model:`{
"name": "phantom",
"external_textures": ["entity/phantom.tga"],
"eyes": [
[5, 6, 2, 1],
[10, 6, 2, 1]
],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "body", "origin": [-3, 23, -8], "size": [5, 3, 9], "uv": [0, 8]}
]
},
{
"name": "wing0",
"parent": "body",
"pivot": [2, 26, -8],
"rotation": [0, 0, 5],
"cubes": [
{"name": "wing0", "origin": [2, 24, -8], "size": [6, 2, 9], "uv": [23, 12]}
]
},
{
"name": "wingtip0",
"parent": "wing0",
"pivot": [8, 26, -8],
"rotation": [0, 0, 10],
"cubes": [
{"name": "wingtip0", "origin": [8, 25, -8], "size": [13, 1, 9], "uv": [16, 24]}
]
},
{
"name": "wing1",
"parent": "body",
"pivot": [-3, 26, -8],
"rotation": [0, 0, -5],
"mirror": true,
"cubes": [
{"name": "wing1", "origin": [-9, 24, -8], "size": [6, 2, 9], "uv": [23, 12]}
]
},
{
"name": "wingtip1",
"parent": "wing1",
"pivot": [-9, 26, -8],
"rotation": [0, 0, -10],
"mirror": true,
"cubes": [
{"name": "wingtip1", "origin": [-22, 25, -8], "size": [13, 1, 9], "uv": [16, 24]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 23, -7],
"cubes": [
{"name": "head", "origin": [-4, 22, -12], "size": [7, 3, 5], "uv": [0, 0]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 26, 1],
"rotation": [-5, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, 24, 1], "size": [3, 2, 6], "uv": [3, 20]}
]
},
{
"name": "tailtip",
"parent": "tail",
"pivot": [0, 25.5, 7],
"rotation": [-5, 0, 0],
"cubes": [
{"name": "tailtip", "origin": [-1, 24.5, 7], "size": [1, 1, 6], "uv": [4, 29]}
]
}
]
}`};bt.pig={display_name:"Pig",variants:{new:{name:"New",model:`{
"name": "pig",
"external_textures": ["entity/pig/pig_v3.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[8, 11, 2, 1],
[14, 11, 2, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 12, -7],
"cubes": [
{"origin": [-4, 8, -15], "size": [8, 8, 8], "uv": [0, 0]},
{"origin": [-2, 9, -16], "size": [4, 3, 1], "uv": [16, 16]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 11, 9],
"cubes": [
{"origin": [-5, 13, 4], "size": [10, 16, 8], "pivot": [0, 11, 9], "rotation": [90, 0, 0], "uv": [28, 8]},
{"origin": [-5, 13, 4], "size": [10, 16, 8], "inflate": 0.5, "pivot": [0, 11, 9], "rotation": [90, 0, 0], "uv": [28, 32], "layer": true}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-3, 6, 6],
"cubes": [
{"origin": [-5, 0, 4], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [3, 6, 6],
"mirror": true,
"cubes": [
{"origin": [1, 0, 4], "size": [4, 6, 4], "uv": [0, 16], "mirror": true}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [3, 6, -6],
"mirror": true,
"cubes": [
{"origin": [1, 0, -8], "size": [4, 6, 4], "uv": [0, 16], "mirror": true}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-3, 6, -6],
"cubes": [
{"origin": [-5, 0, -8], "size": [4, 6, 4], "uv": [0, 16]}
]
}
]
}`},old:{name:"Classic",model:`{
"name": "pig",
"external_textures": ["entity/pig/pig.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[8, 11, 2, 1],
[14, 11, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 13, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-5, 7, -5], "size": [10, 16, 8], "uv": [28, 8]}
]
},
{
"name": "head",
"pivot": [0, 12, -6],
"cubes": [
{"name": "head", "origin": [-4, 8, -14], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "head", "origin": [-2, 9, -15], "size": [4, 3, 1], "uv": [16, 16]}
]
},
{
"name": "leg0",
"pivot": [-3, 6, 7],
"cubes": [
{"name": "leg0", "origin": [-5, 0, 5], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg1",
"pivot": [3, 6, 7],
"mirror": true,
"cubes": [
{"name": "leg1", "origin": [1, 0, 5], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg2",
"pivot": [-3, 6, -5],
"cubes": [
{"name": "leg2", "origin": [-5, 0, -7], "size": [4, 6, 4], "uv": [0, 16]}
]
},
{
"name": "leg3",
"pivot": [3, 6, -5],
"mirror": true,
"cubes": [
{"name": "leg3", "origin": [1, 0, -7], "size": [4, 6, 4], "uv": [0, 16]}
]
}
]
}`}}};bt.pig_baby={display_name:"Pig Baby",model:`{
"name": "pig_baby",
"external_textures": ["entity/pig/pig_temperate_baby.png"],
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[7, 23, 1, 1],
[11, 23, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 5, 0.5],
"cubes": [
{"origin": [-3.5, 2, -4], "size": [7, 6, 9], "uv": [0, 0]}
]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 5, -2],
"cubes": [
{"origin": [-3.51, 4, -7], "size": [7.02, 6, 6], "uv": [0, 15]},
{"origin": [-1.5, 5, -8], "size": [3, 2, 1], "uv": [6, 27]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-2.5, 2, 4],
"cubes": [
{"origin": [-3.475, 0, 3], "size": [2, 2, 2], "uv": [23, 4]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [2.5, 2, 4],
"cubes": [
{"origin": [1.475, 0, 3], "size": [2, 2, 2], "uv": [0, 4]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [2.5, 2, -3],
"cubes": [
{"origin": [1.475, 0, -4], "size": [2, 2, 2], "uv": [0, 0]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-2.5, 2, -3],
"cubes": [
{"origin": [-3.475, 0, -4], "size": [2, 2, 2], "uv": [23, 0]}
]
}
]
}`};bt.piglin={display_name:"Piglin",model:`{
"name": "piglin",
"external_textures": ["entity/piglin/piglin.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[10, 11, 1, 1],
[15, 11, 1, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]},
{"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 0.25, "uv": [16, 32]}
]
},
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"origin": [-5, 24, -4], "size": [10, 8, 8], "inflate": -0.02, "uv": [0, 0]},
{"origin": [-2, 24, -5], "size": [4, 4, 1], "uv": [31, 1]},
{"origin": [2, 24, -5], "size": [1, 2, 1], "uv": [2, 4]},
{"origin": [-3, 24, -5], "size": [1, 2, 1], "uv": [2, 0]}
]
},
{
"name": "leftear",
"parent": "head",
"pivot": [5, 30, 0],
"rotation": [0, 0, -30],
"cubes": [
{"origin": [4, 25, -2], "size": [1, 5, 4], "uv": [51, 6]}
]
},
{
"name": "rightear",
"parent": "head",
"pivot": [-5, 30, 0],
"rotation": [0, 0, 30],
"cubes": [
{"origin": [-5, 25, -2], "size": [1, 5, 4], "uv": [39, 6]}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]},
{"origin": [-8, 12, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [40, 32]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"cubes": [
{"origin": [4, 12, -2], "size": [4, 12, 4], "uv": [32, 48]},
{"origin": [4, 12, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [48, 48]}
]
},
{
"name": "RightLeg",
"pivot": [-1.9, 12, 0],
"cubes": [
{"origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 16]},
{"origin": [-4, 0, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [0, 32]}
]
},
{
"name": "LeftLeg",
"pivot": [1.9, 12, 0],
"cubes": [
{"origin": [0, 0, -2], "size": [4, 12, 4], "uv": [16, 48]},
{"origin": [0, 0, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [0, 48]}
]
},
{
"name": "leftItem",
"pivot": [6, 15, 1]
}
]
}`};bt.piglin_baby={display_name:"Piglin Baby",model:`{
"name": "piglin_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/piglin/piglin_baby.png"],
"eyes": [
[9, 9, 1, 1],
[13, 9, 1, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 6, 0],
"cubes": [
{"origin": [-3, 4, -1], "size": [6, 5, 3], "uv": [0, 13]}
]
},
{
"name": "head",
"parent": "Body",
"pivot": [0, 9, 0.5],
"cubes": [
{"origin": [-1.5, 9, -4], "size": [3, 3, 1], "uv": [21, 30]},
{"origin": [-4.5, 9, -3], "size": [9, 6, 7], "uv": [0, 0]}
]
},
{
"name": "leftear",
"parent": "head",
"pivot": [4.2, 13, 1],
"cubes": [
{"origin": [4.7, 8.25, -1], "size": [1, 6, 4], "pivot": [5.2, 11.25, 1], "rotation": [0, 0, -35], "uv": [0, 21]}
]
},
{
"name": "rightear",
"parent": "head",
"pivot": [-4.2, 13, 1],
"cubes": [
{"origin": [-5.7, 8.25, -1], "size": [1, 6, 4], "pivot": [-5.2, 11.25, 1], "rotation": [0, 0, 35], "uv": [18, 13]}
]
},
{
"name": "LeftArm",
"parent": "Body",
"pivot": [4, 9, 0.5],
"cubes": [
{"origin": [3, 4, -1], "size": [2, 5, 3], "uv": [28, 13]}
]
},
{
"name": "leftItem",
"parent": "LeftArm",
"pivot": [4, 6, 0.5]
},
{
"name": "RightArm",
"parent": "Body",
"pivot": [-4, 9, 0.5],
"cubes": [
{"origin": [-5, 4, -1], "size": [2, 5, 3], "uv": [10, 30]}
]
},
{
"name": "rightItem",
"parent": "RightArm",
"pivot": [-4, 6, 0.5]
},
{
"name": "RightLeg",
"parent": "Body",
"pivot": [-1.5, 4, 0.5],
"cubes": [
{"origin": [-3, 0, -1], "size": [3, 4, 3], "uv": [22, 23]}
]
},
{
"name": "LeftLeg",
"parent": "Body",
"pivot": [1.5, 4, 0.5],
"cubes": [
{"origin": [0, 0, -1], "size": [3, 4, 3], "uv": [10, 23]}
]
}
]
}`};bt.pillager={display_name:"Pillager",model:`{
"name": "pillager",
"external_textures": ["entity/pillager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "Body",
"parent": "waist",
"pivot": [0, 0, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"cubes": [
{"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"mirror": true,
"cubes": [
{"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
}
]
}`};bt.polar_bear={display_name:"Polar Bear",model:`{
"name": "polar_bear",
"external_textures": ["entity/polar_bear.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [-2, 15, 12],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-7, 14, 5], "size": [14, 14, 11], "uv": [0, 19]},
{"name": "body", "origin": [-6, 28, 5], "size": [12, 12, 10], "uv": [39, 0]}
]
},
{
"name": "head",
"pivot": [0, 14, -16],
"mirror": true,
"cubes": [
{"name": "head", "origin": [-3.5, 10, -19], "size": [7, 7, 7], "uv": [0, 0], "mirror": false},
{"name": "head", "origin": [-2.5, 10, -22], "size": [5, 3, 3], "uv": [0, 44], "mirror": false},
{"name": "head", "origin": [-4.5, 16, -17], "size": [2, 2, 1], "uv": [26, 0], "mirror": false},
{"name": "head", "origin": [2.5, 16, -17], "size": [2, 2, 1], "uv": [26, 0]}
]
},
{
"name": "leg0",
"pivot": [-4.5, 10, 6],
"cubes": [
{"name": "leg0", "origin": [-6.5, 0, 4], "size": [4, 10, 8], "uv": [50, 22]}
]
},
{
"name": "leg1",
"pivot": [4.5, 10, 6],
"cubes": [
{"name": "leg1", "origin": [2.5, 0, 4], "size": [4, 10, 8], "uv": [50, 22]}
]
},
{
"name": "leg2",
"pivot": [-3.5, 10, -8],
"cubes": [
{"name": "leg2", "origin": [-5.5, 0, -10], "size": [4, 10, 6], "uv": [50, 40]}
]
},
{
"name": "leg3",
"pivot": [3.5, 10, -8],
"cubes": [
{"name": "leg3", "origin": [1.5, 0, -10], "size": [4, 10, 6], "uv": [50, 40]}
]
}
]
}`};bt.polar_bear_baby={display_name:"Polar Bear Baby",model:`{
"name": "polar_bear_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/polar_bear/polar_bear_baby.png"],
"eyes": [
[5, 6, 1, 1],
[8, 6, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 5.375, -6.75],
"cubes": [
{"origin": [-3, 3, -10], "size": [6, 5, 4], "uv": [0, 0]},
{"origin": [-2, 3, -12], "size": [4, 2, 2], "uv": [20, 3]},
{"origin": [-4, 7, -8.5], "size": [2, 2, 1], "uv": [20, 0]},
{"origin": [2, 7, -8.5], "size": [2, 2, 1], "uv": [26, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-2.5, 2.5, 4.5],
"cubes": [
{"origin": [-3.975, 0, 3], "size": [3, 3, 3], "uv": [0, 34]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [2.5, 2.5, 4.5],
"cubes": [
{"origin": [0.975, 0, 3], "size": [3, 3, 3], "uv": [12, 34]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-2.5, 2.5, -4.5],
"cubes": [
{"origin": [-3.975, 0, -6], "size": [3, 3, 3], "uv": [0, 28]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [2.5, 2.5, -4.5],
"cubes": [
{"origin": [0.975, 0, -6], "size": [3, 3, 3], "uv": [12, 28]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 6.5, 4],
"cubes": [
{"origin": [-4, 3, -6], "size": [8, 7, 12], "uv": [0, 9]}
]
}
]
}`};bt.pufferfish={display_name:"Pufferfish",model:`{
"name": "pufferfish",
"external_textures": ["entity/fish/pufferfish.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body_large",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 0, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "leftFin",
"parent": "body_large",
"pivot": [4, 7, 3],
"cubes": [
{"name": "leftFin", "origin": [4, 6, -2.9904], "size": [2, 1, 2], "uv": [24, 3]}
]
},
{
"name": "rightFin",
"parent": "body_large",
"pivot": [-4, 7, 1],
"cubes": [
{"name": "rightFin", "origin": [-5.9968, 6, -2.992], "size": [2, 1, 2], "uv": [24, 0]}
]
},
{
"name": "spines_top_front",
"parent": "body_large",
"pivot": [-4, 8, -4],
"rotation": [45, 0, 0],
"cubes": [
{"name": "spines_top_front", "origin": [-4, 8, -4], "size": [8, 1, 1], "uv": [14, 16]}
]
},
{
"name": "spines_top_mid",
"parent": "body_large",
"pivot": [0, 8, 0],
"cubes": [
{"name": "spines_top_mid", "origin": [-4, 8, 0], "size": [8, 1, 1], "uv": [14, 16]}
]
},
{
"name": "spines_top_back",
"parent": "body_large",
"pivot": [0, 8, 4],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "spines_top_back", "origin": [-4, 8, 4], "size": [8, 1, 1], "uv": [14, 16]}
]
},
{
"name": "spines_bottom_front",
"parent": "body_large",
"pivot": [0, 0, -4],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "spines_bottom_front", "origin": [-4, -1, -4], "size": [8, 1, 1], "uv": [14, 19]}
]
},
{
"name": "spines_bottom_mid",
"parent": "body_large",
"pivot": [0, -1, 0],
"cubes": [
{"name": "spines_bottom_mid", "origin": [-4, -1, 0], "size": [8, 1, 1], "uv": [14, 19]}
]
},
{
"name": "spines_bottom_back",
"parent": "body_large",
"pivot": [0, 0, 4],
"rotation": [45, 0, 0],
"cubes": [
{"name": "spines_bottom_back", "origin": [-4, -1, 4], "size": [8, 1, 1], "uv": [14, 19]}
]
},
{
"name": "spines_left_front",
"parent": "body_large",
"pivot": [4, 0, -4],
"rotation": [0, 45, 0],
"cubes": [
{"name": "spines_left_front", "origin": [4, 0, -4], "size": [1, 8, 1], "uv": [0, 16]}
]
},
{
"name": "spines_left_mid",
"parent": "body_large",
"pivot": [4, 0, 0],
"cubes": [
{"name": "spines_left_mid", "origin": [4, 0, 0], "size": [1, 8, 1], "uv": [4, 16], "mirror": true}
]
},
{
"name": "spines_left_back",
"parent": "body_large",
"pivot": [4, 0, 4],
"rotation": [0, -45, 0],
"cubes": [
{"name": "spines_left_back", "origin": [4, 0, 4], "size": [1, 8, 1], "uv": [8, 16], "mirror": true}
]
},
{
"name": "spines_right_front",
"parent": "body_large",
"pivot": [-4, 0, -4],
"rotation": [0, -45, 0],
"cubes": [
{"name": "spines_right_front", "origin": [-5, 0, -4], "size": [1, 8, 1], "uv": [4, 16]}
]
},
{
"name": "spines_right_mid",
"parent": "body_large",
"pivot": [-4, 0, 0],
"cubes": [
{"name": "spines_right_mid", "origin": [-5, 0, 0], "size": [1, 8, 1], "uv": [8, 16]}
]
},
{
"name": "spines_right_back",
"parent": "body_large",
"pivot": [-4, 0, 4],
"rotation": [0, 45, 0],
"cubes": [
{"name": "spines_right_back", "origin": [-5, 0, 4], "size": [1, 8, 1], "uv": [8, 16]}
]
},
{
"name": "body_mid",
"pivot": [16, 0, 0],
"cubes": [
{"name": "body", "origin": [13.5, 1, -2.5], "size": [5, 5, 5], "uv": [12, 22]}
]
},
{
"name": "leftFin",
"parent": "body_mid",
"pivot": [18.5, 5, 0.5],
"cubes": [
{"name": "leftFin", "origin": [18.5, 4, -1.5], "size": [2, 1, 2], "uv": [24, 3]}
]
},
{
"name": "rightFin",
"parent": "body_mid",
"pivot": [13.5, 5, 0.5],
"cubes": [
{"name": "rightFin", "origin": [11.5, 4, -1.5], "size": [2, 1, 2], "uv": [24, 0]}
]
},
{
"name": "spines_top_front",
"parent": "body_mid",
"pivot": [16, 6, -2.5],
"cubes": [
{"name": "spines_top_front", "origin": [13.5, 6, -2.5], "size": [5, 1, 0], "uv": [19, 17]}
]
},
{
"name": "spines_top_back",
"parent": "body_mid",
"pivot": [16, 6, 2.5],
"cubes": [
{"name": "spines_top_back", "origin": [13.5, 6, 2.5], "size": [5, 1, 0], "uv": [11, 17]}
]
},
{
"name": "spines_bottom_front",
"parent": "body_mid",
"pivot": [16, 1, -2.5],
"cubes": [
{"name": "spines_bottom_front", "origin": [13.5, 0, -2.5], "size": [5, 1, 0], "uv": [18, 20]}
]
},
{
"name": "spines_bottom_back",
"parent": "body_mid",
"pivot": [16, 1, 2.5],
"rotation": [45, 0, 0],
"cubes": [
{"name": "spines_bottom_back", "origin": [13.5, 0, 2.5], "size": [5, 1, 0], "uv": [18, 20]}
]
},
{
"name": "spines_left_front",
"parent": "body_mid",
"pivot": [18.5, 0, -2.5],
"rotation": [0, 45, 0],
"cubes": [
{"name": "spines_left_front", "origin": [18.5, 1, -2.5], "size": [1, 5, 0], "uv": [1, 17]}
]
},
{
"name": "spines_left_back",
"parent": "body_mid",
"pivot": [18.5, 0, 2.5],
"rotation": [0, -45, 0],
"cubes": [
{"name": "spines_left_back", "origin": [18.5, 1, 2.5], "size": [1, 5, 0], "uv": [1, 17]}
]
},
{
"name": "spines_right_front",
"parent": "body_mid",
"pivot": [13.5, 0, -2.5],
"rotation": [0, -45, 0],
"cubes": [
{"name": "spines_right_front", "origin": [12.5, 1, -2.5], "size": [1, 5, 0], "uv": [5, 17]}
]
},
{
"name": "spines_right_back",
"parent": "body_mid",
"pivot": [13.5, 0, 2.5],
"rotation": [0, 45, 0],
"cubes": [
{"name": "spines_right_back", "origin": [12.5, 1, 2.5], "size": [1, 5, 0], "uv": [9, 17]}
]
},
{
"name": "body_small",
"pivot": [-16, 0, 0],
"cubes": [
{"name": "body", "origin": [-17.5, 0, -1.5], "size": [3, 2, 3], "uv": [0, 27]},
{"name": "body", "origin": [-15.5, 2, -1.5], "size": [1, 1, 1], "uv": [24, 6]},
{"name": "body", "origin": [-17.5, 2, -1.5], "size": [1, 1, 1], "uv": [28, 6]}
]
},
{
"name": "tailfin",
"parent": "body_small",
"pivot": [0, 0, 0],
"cubes": [
{"name": "tailfin", "origin": [-17.5, 1, 1.5], "size": [3, 0, 3], "uv": [-3, 0]}
]
},
{
"name": "leftFin",
"parent": "body_small",
"pivot": [6.5, 5, 0.5],
"cubes": [
{"name": "leftFin", "origin": [-14.5, 0, -1.5], "size": [1, 1, 2], "uv": [25, 0], "mirror": true}
]
},
{
"name": "rightFin",
"parent": "body_small",
"pivot": [-6.5, 5, 0.5],
"cubes": [
{"name": "rightFin", "origin": [-18.5, 0, -1.5], "size": [1, 1, 2], "uv": [25, 0]}
]
}
]
}`};bt.rabbit={display_name:"Rabbit",variants:{new:{name:"New",model:`{
"name": "rabbit_v2",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/rabbit/rabbit_salt.png"],
"eyes": [
[6, 22, 1, 2],
[8, 22, 1, 2]
],
"bones": [
{
"name": "body",
"pivot": [0, 1, 4],
"rotation": [-22.5, 0, 0],
"cubes": [
{"origin": [-4, 1, -5], "size": [8, 6, 10], "uv": [0, 0]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 5.99162, 4.01254],
"cubes": [
{"origin": [-2, 5, 3], "size": [4, 4, 4], "uv": [20, 16]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 6.29289, -4.12132],
"rotation": [22.5, 0, 0],
"cubes": [
{"origin": [-2.5, 4.29289, -8.12132], "size": [5, 5, 5], "uv": [0, 16]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [1.5, 10, -5],
"cubes": [
{"origin": [0.5, 9.29289, -5.12132], "size": [2, 5, 1], "uv": [32, 0]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-1.5, 10, -5],
"cubes": [
{"origin": [-2.5, 9.29289, -5.12132], "size": [2, 5, 1], "uv": [26, 0]}
]
},
{
"name": "frontlegs",
"parent": "body",
"pivot": [0, 2.53492, -2.31075]
},
{
"name": "rightFrontLeg",
"parent": "frontlegs",
"pivot": [-2, 0.61104, -1.92807],
"rotation": [22.5, 0, 0],
"cubes": [
{"origin": [-2.9, -2.38896, -2.82807], "size": [2, 4, 2], "uv": [36, 18]}
]
},
{
"name": "leftFrontLeg",
"parent": "frontlegs",
"pivot": [2, 0.61104, -1.82807],
"rotation": [22.5, 0, 0],
"cubes": [
{"origin": [1, -2.38896, -2.82807], "size": [2, 4, 2], "uv": [44, 18]}
]
},
{
"name": "backlegs",
"pivot": [0, 1, 4]
},
{
"name": "rightBackLeg",
"parent": "backlegs",
"pivot": [-3, 0.5, 4],
"cubes": [
{"origin": [-4, 0, -1], "size": [2, 1, 6], "pivot": [-3, 1, 4], "rotation": [0, 22.5, 0], "uv": [20, 24]}
]
},
{
"name": "leftBackLeg",
"parent": "backlegs",
"pivot": [3, 0.5, 4],
"cubes": [
{"origin": [2, 0, -1], "size": [2, 1, 6], "pivot": [3, 1, 4], "rotation": [0, -22.5, 0], "uv": [36, 24]}
]
}
]
}`},old:{name:"Classic",model:`{
"name": "rabbit",
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "rearFootLeft",
"pivot": [3, 6.5, 3.7],
"mirror": true,
"cubes": [
{"name": "rearFootLeft", "origin": [2, 0, 0], "size": [2, 1, 7], "uv": [8, 24]}
]
},
{
"name": "rearFootRight",
"pivot": [-3, 6.5, 3.7],
"mirror": true,
"cubes": [
{"name": "rearFootRight", "origin": [-4, 0, 0], "size": [2, 1, 7], "uv": [26, 24]}
]
},
{
"name": "haunchLeft",
"pivot": [3, 6.5, 3.7],
"rotation": [-20, 0, 0],
"mirror": true,
"cubes": [
{"name": "haunchLeft", "origin": [2, 2.5, 3.7], "size": [2, 4, 5], "uv": [16, 15]}
]
},
{
"name": "haunchRight",
"pivot": [-3, 6.5, 3.7],
"rotation": [-20, 0, 0],
"mirror": true,
"cubes": [
{"name": "haunchRight", "origin": [-4, 2.5, 3.7], "size": [2, 4, 5], "uv": [30, 15]}
]
},
{
"name": "body",
"pivot": [0, 5, 8],
"rotation": [-20, 0, 0],
"mirror": true,
"cubes": [
{"name": "body", "origin": [-3, 2, -2], "size": [6, 5, 10], "uv": [0, 0]}
]
},
{
"name": "frontLegLeft",
"pivot": [3, 7, -1],
"rotation": [-10, 0, 0],
"mirror": true,
"cubes": [
{"name": "frontLegLeft", "origin": [2, 0, -2], "size": [2, 7, 2], "uv": [8, 15]}
]
},
{
"name": "frontLegRight",
"pivot": [-3, 7, -1],
"rotation": [-10, 0, 0],
"mirror": true,
"cubes": [
{"name": "frontLegRight", "origin": [-4, 0, -2], "size": [2, 7, 2], "uv": [0, 15]}
]
},
{
"name": "head",
"pivot": [0, 8, -1],
"mirror": true,
"cubes": [
{"name": "head", "origin": [-2.5, 8, -6], "size": [5, 4, 5], "uv": [32, 0]}
]
},
{
"name": "earRight",
"pivot": [0, 8, -1],
"rotation": [0, -15, 0],
"mirror": true,
"cubes": [
{"name": "earRight", "origin": [-2.5, 12, -2], "size": [2, 5, 1], "uv": [58, 0]}
]
},
{
"name": "earLeft",
"pivot": [0, 8, -1],
"rotation": [0, 15, 0],
"mirror": true,
"cubes": [
{"name": "earLeft", "origin": [0.5, 12, -2], "size": [2, 5, 1], "uv": [52, 0]}
]
},
{
"name": "tail",
"pivot": [0, 4, 7],
"rotation": [-20, 0, 0],
"mirror": true,
"cubes": [
{"name": "tail", "origin": [-1.5, 2.5, 7], "size": [3, 3, 2], "uv": [52, 6]}
]
},
{
"name": "nose",
"pivot": [0, 8, -1],
"mirror": true,
"cubes": [
{"name": "nose", "origin": [-0.5, 9.5, -6.5], "size": [1, 1, 1], "uv": [32, 9]}
]
}
]
}`}}};bt.rabbit_baby={display_name:"Rabbit Baby",model:`{
"name": "rabbit_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/rabbit/rabbit_salt_baby.png"],
"eyes": [
[5, 5, 1, 2],
[7, 5, 1, 2]
],
"bones": [
{
"name": "body",
"pivot": [0, 1, 1.6],
"cubes": [
{"origin": [-2, 2, -3], "size": [4, 3, 6], "pivot": [0, 3, 0], "rotation": [-30, 0, 0], "uv": [0, 8]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [0, 3.2, 3.6],
"cubes": [
{"origin": [-1.5, 2.22679, 2.58231], "size": [3, 3, 3], "pivot": [-0.1, 3.2, 3.6], "rotation": [-30, 0, 0], "uv": [0, 21]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 6, -1],
"cubes": [
{"origin": [-2.5, 5, -4], "size": [5, 4, 4], "uv": [0, 0]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-1.5, 9.5, -1.5],
"cubes": [
{"origin": [-2.5, 9, -2], "size": [2, 4, 1], "uv": [18, 0]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [1.5, 9.5, -1.5],
"cubes": [
{"origin": [0.5, 9, -2], "size": [2, 4, 1], "uv": [24, 0]}
]
},
{
"name": "frontlegs",
"parent": "body",
"pivot": [0, 3.5, -1]
},
{
"name": "leftFrontLeg",
"parent": "frontlegs",
"pivot": [1, 2.5, -1.5],
"rotation": [22.5, 0, 0],
"cubes": [
{"origin": [0.5, 0, -2], "size": [1, 3, 1], "pivot": [1, 1.5, -1.5], "rotation": [-22.5, 0, 0], "uv": [18, 8]}
]
},
{
"name": "rightFrontLeg",
"parent": "frontlegs",
"pivot": [-1, 2.5, -1.5],
"rotation": [22.5, 0, 0],
"cubes": [
{"origin": [-1.5, 0, -2], "size": [1, 3, 1], "pivot": [-1, 1.5, -1.5], "rotation": [-22.5, 0, 0], "uv": [14, 8]}
]
},
{
"name": "backlegs",
"pivot": [0, 1, 2]
},
{
"name": "leftBackLeg",
"parent": "backlegs",
"pivot": [1.5, 0.5, 2.5],
"rotation": [0, 180, 0],
"cubes": [
{"origin": [0.5, 0, 3], "size": [2, 1, 3], "pivot": [2.5, 0.5, 3], "rotation": [0, -45, 0], "uv": [10, 17]}
]
},
{
"name": "rightBackLeg",
"parent": "backlegs",
"pivot": [-1.5, 0.5, 2.5],
"rotation": [0, 180, 0],
"cubes": [
{"origin": [-3, 0, 1.6], "size": [2, 1, 3], "pivot": [-1, 0.5, 1.6], "rotation": [0, 45, 0], "uv": [0, 17]}
]
}
]
}`};bt.ravager={display_name:"Ravager",model:`{
"name": "ravager",
"external_textures": ["entity/illager/ravager.png"],
"texturewidth": 128,
"textureheight": 128,
"bones": [
{
"name": "body",
"pivot": [0, 19, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-7, 10, -2], "size": [14, 16, 20], "uv": [0, 55]},
{"name": "body", "origin": [-6, -3, -2], "size": [12, 13, 18], "uv": [0, 91]}
]
},
{
"name": "neck",
"pivot": [0, 20, -20],
"cubes": [
{"name": "neck", "origin": [-5, 21, -10], "size": [10, 10, 18], "uv": [68, 73]}
]
},
{
"name": "head",
"parent": "neck",
"pivot": [0, 28, -10],
"cubes": [
{"name": "head", "origin": [-8, 14, -24], "size": [16, 20, 16], "uv": [0, 0]},
{"name": "head", "origin": [-2, 12, -28], "size": [4, 8, 4], "uv": [0, 0]}
]
},
{
"name": "mouth",
"parent": "head",
"pivot": [0, 15, -10],
"cubes": [
{"name": "mouth", "origin": [-8, 13, -24], "size": [16, 3, 16], "uv": [0, 36]}
]
},
{
"name": "horns",
"parent": "head",
"pivot": [-5, 27, -19],
"rotation": [60, 0, 0],
"cubes": [
{"name": "horns", "origin": [-10, 27, -20], "size": [2, 14, 4], "uv": [74, 55]},
{"name": "horns", "origin": [8, 27, -20], "size": [2, 14, 4], "uv": [74, 55]}
]
},
{
"name": "leg0",
"pivot": [-12, 30, 22],
"cubes": [
{"name": "leg0", "origin": [-12, 0, 17], "size": [8, 37, 8], "uv": [96, 0]}
]
},
{
"name": "leg1",
"pivot": [4, 30, 22],
"cubes": [
{"name": "leg1", "origin": [4, 0, 17], "size": [8, 37, 8], "uv": [96, 0]}
]
},
{
"name": "leg2",
"pivot": [-4, 26, -4],
"cubes": [
{"name": "leg2", "origin": [-12, 0, -8], "size": [8, 37, 8], "uv": [64, 0]}
]
},
{
"name": "leg3",
"pivot": [-4, 26, -4],
"cubes": [
{"name": "leg3", "origin": [4, 0, -8], "size": [8, 37, 8], "uv": [64, 0]}
]
}
]
}`};bt.salmon={display_name:"Salmon",model:`{
"name": "salmon",
"external_textures": ["entity/fish/salmon.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body_front",
"pivot": [0, 0, -4],
"cubes": [
{"name": "body_front", "origin": [-1.5, 3.5, -4], "size": [3, 5, 8], "uv": [0, 0]}
]
},
{
"name": "body_back",
"parent": "body_front",
"pivot": [0, 0, 4],
"cubes": [
{"name": "body_back", "origin": [-1.5, 3.5, 4], "size": [3, 5, 8], "uv": [0, 13]}
]
},
{
"name": "dorsal_back",
"parent": "body_back",
"pivot": [0, 5, 4],
"cubes": [
{"name": "dorsal_back", "origin": [0, 8.5, 4], "size": [0, 2, 3], "uv": [2, 3]}
]
},
{
"name": "tailfin",
"parent": "body_back",
"pivot": [0, 0, 12],
"cubes": [
{"name": "tailfin", "origin": [0, 3.5, 12], "size": [0, 5, 6], "uv": [20, 10]}
]
},
{
"name": "dorsal_front",
"parent": "body_front",
"pivot": [0, 5, 2],
"cubes": [
{"name": "dorsal_front", "origin": [0, 8.5, 2], "size": [0, 2, 2], "uv": [4, 2]}
]
},
{
"name": "head",
"parent": "body_front",
"pivot": [0, 3, -4],
"cubes": [
{"name": "head", "origin": [-1, 4.5, -7], "size": [2, 4, 3], "uv": [22, 0]}
]
},
{
"name": "leftFin",
"parent": "body_front",
"pivot": [1.5, 1, -4],
"rotation": [0, 0, 35],
"cubes": [
{"name": "leftFin", "origin": [-0.50752, 3.86703, -4], "size": [2, 0, 2], "uv": [2, 0]}
]
},
{
"name": "rightFin",
"parent": "body_front",
"pivot": [-1.5, 1, -4],
"rotation": [0, 0, -35],
"cubes": [
{"name": "rightFin", "origin": [-1.49258, 3.86703, -4], "size": [2, 0, 2], "uv": [-2, 0]}
]
}
]
}`};bt.sheep={display_name:"Sheep",model:`{
"name": "sheep",
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 19, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 13, -5], "size": [8, 16, 6], "uv": [28, 8]},
{"name": "body", "origin": [-4, 13, -5], "size": [8, 16, 6], "uv": [28, 40], "inflate": 1.75}
]
},
{
"name": "head",
"pivot": [0, 18, -8],
"cubes": [
{"name": "head", "origin": [-3, 16, -14], "size": [6, 6, 8], "uv": [0, 0]},
{"name": "head", "origin": [-3, 16, -12], "size": [6, 6, 6], "uv": [0, 32], "inflate": 0.6}
]
},
{
"name": "leg0",
"pivot": [-3, 12, 7],
"cubes": [
{"name": "leg0", "origin": [-5, 0, 5], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "leg0", "origin": [-5, 6, 5], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5}
]
},
{
"name": "leg1",
"pivot": [3, 12, 7],
"cubes": [
{"name": "leg1", "origin": [1, 0, 5], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "leg1", "origin": [1, 6, 5], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5}
]
},
{
"name": "leg2",
"pivot": [-3, 12, -5],
"cubes": [
{"name": "leg2", "origin": [-5, 0, -7], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "leg2", "origin": [-5, 6, -7], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5}
]
},
{
"name": "leg3",
"pivot": [3, 12, -5],
"cubes": [
{"name": "leg3", "origin": [1, 0, -7], "size": [4, 12, 4], "uv": [0, 16]},
{"name": "leg3", "origin": [1, 6, -7], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5}
]
}
]
}`};bt.sheep_baby={display_name:"Sheep Baby",model:`{
"name": "sheep_baby",
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[5, 7, 1, 1],
[9, 7, 1, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "head",
"parent": "root",
"pivot": [0, 8.5, -2.5],
"cubes": [
{"origin": [-2.5, 8, -6], "size": [5, 5, 5], "uv": [0, 0]}
]
},
{
"name": "leg0",
"parent": "root",
"pivot": [-2, 5, 3],
"cubes": [
{"origin": [-2.975, 0, 2], "size": [2, 5, 2], "uv": [0, 23]}
]
},
{
"name": "leg1",
"parent": "root",
"pivot": [2, 5, 3],
"cubes": [
{"origin": [0.975, 0, 2], "size": [2, 5, 2], "uv": [24, 12]}
]
},
{
"name": "leg2",
"parent": "root",
"pivot": [-2, 5, -2],
"cubes": [
{"origin": [-2.975, 0, -3], "size": [2, 5, 2], "uv": [8, 23]}
]
},
{
"name": "leg3",
"parent": "root",
"pivot": [2, 5, -2],
"cubes": [
{"origin": [0.975, 0, -3], "size": [2, 5, 2], "uv": [24, 5]}
]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 8, 2.5],
"cubes": [
{"origin": [-3, 5, -4], "size": [6, 4, 9], "uv": [0, 10]}
]
}
]
}`};bt.shield={display_name:"Shield",model:`{
"name": "shield",
"external_textures": ["entity/shield.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "shield",
"pivot": [1, 15.5, 3],
"cubes": [
{"name": "shield", "origin": [0, 25, 0], "size": [2, 6, 6], "uv": [26, 0]},
{"name": "shield", "origin": [-5, 17, -1], "size": [12, 22, 1], "uv": [0, 0]}
]
}
]
}`};bt.shulker={display_name:"Shulker",model:`{
"name": "shulker",
"external_textures": ["entity/shulker/shulker_white.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "base",
"pivot": [0, 0, 0],
"cubes": [
{"name": "base", "origin": [-8, 0, -8], "size": [16, 8, 16], "uv": [0, 28]}
]
},
{
"name": "lid",
"parent": "base",
"pivot": [0, 0, 0],
"cubes": [
{"name": "lid", "origin": [-8, 13, -8], "size": [16, 12, 16], "uv": [0, 0]}
]
},
{
"name": "head",
"parent": "base",
"pivot": [0, 12, 0],
"cubes": [
{"name": "head", "origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 52]}
]
}
]
}`};bt.shulker_bullet={display_name:"Shulker Bullet",model:`{
"name": "shulker_bullet",
"external_textures": ["entity/shulker/shulker_white.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, -4, -1], "size": [8, 8, 2], "uv": [0, 0]},
{"name": "body", "origin": [-1, -4, -4], "size": [2, 8, 8], "uv": [0, 10]},
{"name": "body", "origin": [-4, -1, -4], "size": [8, 2, 8], "uv": [20, 0]}
]
}
]
}`};bt.silverfish={display_name:"Silverfish",model:`{
"name": "silverfish",
"external_textures": ["entity/silverfish.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "bodyPart_2",
"pivot": [0, 4, 1],
"cubes": [
{"name": "bodyPart_2", "origin": [-3, 0, -0.5], "size": [6, 4, 3], "uv": [0, 9]}
]
},
{
"name": "bodyPart_0",
"parent": "bodyPart_2",
"pivot": [0, 2, -3.5],
"cubes": [
{"name": "bodyPart_0", "origin": [-1.5, 0, -4.5], "size": [3, 2, 2], "uv": [0, 0]}
]
},
{
"name": "bodyPart_1",
"parent": "bodyPart_2",
"pivot": [0, 3, -1.5],
"cubes": [
{"name": "bodyPart_1", "origin": [-2, 0, -2.5], "size": [4, 3, 2], "uv": [0, 4]}
]
},
{
"name": "bodyLayer_2",
"parent": "bodyPart_1",
"pivot": [0, 5, -1.5],
"cubes": [
{"name": "bodyLayer_2", "origin": [-3, 0, -3], "size": [6, 5, 2], "uv": [20, 18], "layer": true}
]
},
{
"name": "bodyPart_3",
"parent": "bodyPart_2",
"pivot": [0, 3, 4],
"cubes": [
{"name": "bodyPart_3", "origin": [-1.5, 0, 2.5], "size": [3, 3, 3], "uv": [0, 16]}
]
},
{
"name": "bodyPart_4",
"parent": "bodyPart_2",
"pivot": [0, 2, 7],
"cubes": [
{"name": "bodyPart_4", "origin": [-1, 0, 5.5], "size": [2, 2, 3], "uv": [0, 22]}
]
},
{
"name": "bodyLayer_1",
"parent": "bodyPart_4",
"pivot": [0, 4, 7],
"cubes": [
{"name": "bodyLayer_1", "origin": [-3, 0, 5.5], "size": [6, 4, 3], "uv": [20, 11], "layer": true}
]
},
{
"name": "bodyPart_5",
"parent": "bodyPart_2",
"pivot": [0, 1, 9.5],
"cubes": [
{"name": "bodyPart_5", "origin": [-1, 0, 8.5], "size": [2, 1, 2], "uv": [11, 0]}
]
},
{
"name": "bodyPart_6",
"parent": "bodyPart_2",
"pivot": [0, 1, 11.5],
"cubes": [
{"name": "bodyPart_6", "origin": [-0.5, 0, 10.5], "size": [1, 1, 2], "uv": [13, 4]}
]
},
{
"name": "bodyLayer_0",
"parent": "bodyPart_2",
"pivot": [0, 8, 1],
"cubes": [
{"name": "bodyLayer_0", "origin": [-5, 0, -0.5], "size": [10, 8, 3], "uv": [20, 0], "layer": true}
]
}
]
}`};bt.skeleton={display_name:"Skeleton/Stray",model:`{
"name": "skeleton",
"external_textures": ["entity/skeleton/skeleton.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "Body",
"parent": "waist",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Head Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-6, 12, -1], "size": [2, 12, 2], "uv": [40, 16]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -1], "size": [2, 12, 2], "uv": [40, 16]}
]
},
{
"name": "leftItem",
"parent": "LeftArm",
"pivot": [6, 15, 1]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-3, 0, -1], "size": [2, 12, 2], "uv": [0, 16]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [1, 0, -1], "size": [2, 12, 2], "uv": [0, 16]}
]
}
]
}`};bt.slime={display_name:"Slime",model:`{
"name": "slime",
"external_textures": ["entity/slime/slime.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "inner",
"pivot": [0, 24, 0],
"cubes": [
{"name": "cube", "origin": [-3, 1, -3], "size": [6, 6, 6], "uv": [0, 16]},
{"name": "eye0", "origin": [-3.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 0]},
{"name": "eye1", "origin": [1.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 4]},
{"name": "mouth", "origin": [0, 2, -3.5], "size": [1, 1, 1], "uv": [32, 8]}
]
},
{
"name": "outer",
"pivot": [0, 24, 0],
"cubes": [
{"name": "cube layer", "visibility": false, "origin": [-4, 0, -4], "size": [8, 8, 8], "uv": [0, 0], "layer": true},
{"name": "eye0 layer", "visibility": false, "origin": [-3.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 0], "layer": true},
{"name": "eye1 layer", "visibility": false, "origin": [1.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 4], "layer": true},
{"name": "mouth layer", "visibility": false, "origin": [0, 2, -3.5], "size": [1, 1, 1], "uv": [32, 8], "layer": true}
]
}
]
}`};bt.sniffer={display_name:"Sniffer",model:`{
"name": "sniffer",
"external_textures": ["entity/sniffer/sniffer.png"],
"texturewidth": 192,
"textureheight": 192,
"eyes": [
[13, 31, 4, 1],
[34, 31, 4, 1]
],
"bones": [
{
"name": "bone",
"pivot": [0, 19, 0]
},
{
"name": "body",
"parent": "bone",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-12.5, 9, -20], "size": [25, 24, 40], "inflate": 0.5, "uv": [62, 0]},
{"origin": [-12.5, 4, -20], "size": [25, 29, 40], "uv": [62, 68]},
{"origin": [-12.5, 8, -20], "size": [25, 0, 40], "uv": [87, 68]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 13.5, -19.4],
"cubes": [
{"origin": [-6.5, 3, -30.9], "size": [13, 18, 11], "uv": [8, 15]},
{"origin": [-6.5, 6, -30.9], "size": [13, 0, 11], "uv": [8, 4]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [6.4, 21, -23.9],
"cubes": [
{"origin": [6.4, 2, -26.9], "size": [1, 19, 7], "uv": [2, 0]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-6.4, 21, -23.9],
"cubes": [
{"origin": [-7.4, 2, -26.9], "size": [1, 19, 7], "uv": [48, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 18, -30.9],
"cubes": [
{"origin": [-6.5, 18, -39.9], "size": [13, 2, 9], "uv": [10, 45]}
]
},
{
"name": "lower_beak",
"parent": "head",
"pivot": [0, 11, -31.9],
"cubes": [
{"origin": [-6.5, 6, -39.9], "size": [13, 12, 9], "uv": [10, 57]}
]
},
{
"name": "right_front_leg",
"parent": "bone",
"pivot": [-7.5, 9, -15],
"cubes": [
{"origin": [-11, 0, -19], "size": [7, 10, 8], "uv": [32, 87]}
]
},
{
"name": "right_mid_leg",
"parent": "bone",
"pivot": [-7.5, 9, 0],
"cubes": [
{"origin": [-11, 0, -4], "size": [7, 10, 8], "uv": [32, 105]}
]
},
{
"name": "right_hind_leg",
"parent": "bone",
"pivot": [-7.5, 9, 15],
"cubes": [
{"origin": [-11, 0, 11], "size": [7, 10, 8], "uv": [32, 123]}
]
},
{
"name": "left_front_leg",
"parent": "bone",
"pivot": [7.5, 9, -15],
"cubes": [
{"origin": [4, 0, -19], "size": [7, 10, 8], "uv": [0, 87]}
]
},
{
"name": "left_mid_leg",
"parent": "bone",
"pivot": [7.5, 9, 0],
"cubes": [
{"origin": [4, 0, -4], "size": [7, 10, 8], "uv": [0, 105]}
]
},
{
"name": "left_hind_leg",
"parent": "bone",
"pivot": [7.5, 9, 15],
"cubes": [
{"origin": [4, 0, 11], "size": [7, 10, 8], "uv": [0, 123]}
]
}
]
}`};bt.snowgolem={display_name:"Snowgolem",model:`{
"name": "snowgolem",
"external_textures": ["entity/snow_golem.png"],
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 11],
[13, 11]
],
"bones": [
{
"name": "piece2",
"pivot": [0, 0, 0],
"cubes": [
{"name": "piece2", "origin": [-6, 0, -6], "size": [12, 12, 12], "uv": [0, 36], "inflate": -0.5}
]
},
{
"name": "piece1",
"parent": "piece2",
"pivot": [0, 11, 0],
"cubes": [
{"name": "piece1", "origin": [-5, 11, -5], "size": [10, 10, 10], "uv": [0, 16], "inflate": -0.5}
]
},
{
"name": "head",
"parent": "piece1",
"pivot": [0, 20, 0],
"cubes": [
{"name": "head", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": -0.5}
]
},
{
"name": "arm1",
"parent": "piece1",
"pivot": [0, 18, 0],
"rotation": [0, 0, 45],
"cubes": [
{"name": "arm1", "origin": [1, 20, -1], "size": [12, 2, 2], "uv": [32, 0], "inflate": -0.5}
]
},
{
"name": "arm2",
"parent": "piece1",
"pivot": [0, 18, 0],
"rotation": [0, 0, 135],
"cubes": [
{"name": "arm2", "origin": [1, 14, -1], "size": [12, 2, 2], "uv": [32, 0], "inflate": -0.5}
]
}
]
}`};bt.spider={display_name:"Spider",model:`{
"name": "spider",
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "head",
"pivot": [0, 9, -3],
"cubes": [
{"name": "head", "origin": [-4, 5, -11], "size": [8, 8, 8], "uv": [32, 4]}
]
},
{
"name": "body0",
"pivot": [0, 9, 0],
"cubes": [
{"name": "body0", "origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 0]}
]
},
{
"name": "body1",
"pivot": [0, 9, 9],
"cubes": [
{"name": "body1", "origin": [-5, 5, 3], "size": [10, 8, 12], "uv": [0, 12]}
]
},
{
"name": "leg0",
"pivot": [-4, 9, 2],
"rotation": [0, 45, -45],
"cubes": [
{"name": "leg0", "origin": [-19, 8, 1], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg1",
"pivot": [4, 9, 2],
"rotation": [0, -45, 45],
"cubes": [
{"name": "leg1", "origin": [3, 8, 1], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg2",
"pivot": [-4, 9, 1],
"rotation": [0, 15, -35],
"cubes": [
{"name": "leg2", "origin": [-19, 8, 0], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg3",
"pivot": [4, 9, 1],
"rotation": [0, -15, 35],
"cubes": [
{"name": "leg3", "origin": [3, 8, 0], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg4",
"pivot": [-4, 9, 0],
"rotation": [0, -15, -35],
"cubes": [
{"name": "leg4", "origin": [-19, 8, -1], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg5",
"pivot": [4, 9, 0],
"rotation": [0, 15, 35],
"cubes": [
{"name": "leg5", "origin": [3, 8, -1], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg6",
"pivot": [-4, 9, -1],
"rotation": [0, -45, -45],
"cubes": [
{"name": "leg6", "origin": [-19, 8, -2], "size": [16, 2, 2], "uv": [18, 0]}
]
},
{
"name": "leg7",
"pivot": [4, 9, -1],
"rotation": [0, 45, 45],
"cubes": [
{"name": "leg7", "origin": [3, 8, -2], "size": [16, 2, 2], "uv": [18, 0]}
]
}
]
}`};bt.spyglass={display_name:"Spyglass",model:`{
"name": "spyglass",
"external_textures": ["entity/spyglass.png"],
"texturewidth": 16,
"textureheight": 16,
"bones": [
{
"name": "spyglass",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-11.1, -0.1, -0.1], "size": [6.2, 2.2, 2.2], "uv": [0, 0]},
{"origin": [-5, 0, 0], "size": [5, 2, 2], "uv": [0, 4]}
]
}
]
}`};bt.squid={display_name:"Squid",model:`{
"name": "squid",
"external_textures": ["entity/squid.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[14, 18],
[20, 18]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-6, -8, -6], "size": [12, 16, 12], "uv": [0, 0]}
]
},
{
"name": "tentacle1",
"pivot": [5, -7, 0],
"rotation": [0, 90, 0],
"cubes": [
{"name": "tentacle1", "origin": [4, -25, -1], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle2",
"pivot": [3.5, -7, 3.5],
"rotation": [0, 45, 0],
"cubes": [
{"name": "tentacle2", "origin": [2.5, -25, 2.5], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle3",
"pivot": [0, -7, 5],
"cubes": [
{"name": "tentacle3", "origin": [-1, -25, 4], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle4",
"pivot": [-3.5, -7, 3.5],
"rotation": [0, -45, 0],
"cubes": [
{"name": "tentacle4", "origin": [-4.5, -25, 2.5], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle5",
"pivot": [-5, -7, 0],
"rotation": [0, -90, 0],
"cubes": [
{"name": "tentacle5", "origin": [-6, -25, -1], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle6",
"pivot": [-3.5, -7, -3.5],
"rotation": [0, -135, 0],
"cubes": [
{"name": "tentacle6", "origin": [-4.5, -25, -4.5], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle7",
"pivot": [0, -7, -5],
"rotation": [0, -180, 0],
"cubes": [
{"name": "tentacle7", "origin": [-1, -25, -6], "size": [2, 18, 2], "uv": [48, 0]}
]
},
{
"name": "tentacle8",
"pivot": [3.5, -7, -3.5],
"rotation": [0, -225, 0],
"cubes": [
{"name": "tentacle8", "origin": [2.5, -25, -4.5], "size": [2, 18, 2], "uv": [48, 0]}
]
}
]
}`};bt.squid_baby={display_name:"Squid Baby",model:`{
"name": "squid_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/squid/squid_baby.png"],
"eyes": [
[9, 12, 2, 2],
[13, 12, 2, 2]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-4, -4, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "tentacle1",
"parent": "body",
"pivot": [3, -4.5, 0],
"cubes": [
{"origin": [2, -10, -1], "size": [2, 6, 2], "uv": [0, 18]}
]
},
{
"name": "tentacle2",
"parent": "body",
"pivot": [2.35355, -4.5, 2.35355],
"cubes": [
{"origin": [1.35355, -10, 1.35355], "size": [2, 6, 2], "pivot": [2.35355, -7, 2.35355], "rotation": [0, 45, 0], "uv": [0, 18]}
]
},
{
"name": "tentacle3",
"parent": "body",
"pivot": [0, -4.5, 3],
"cubes": [
{"origin": [-1, -10, 2], "size": [2, 6, 2], "uv": [0, 18]}
]
},
{
"name": "tentacle4",
"parent": "body",
"pivot": [-2.35355, -4.5, 2.35355],
"cubes": [
{"origin": [-3.35355, -10, 1.35355], "size": [2, 6, 2], "pivot": [-2.35355, -7, 2.35355], "rotation": [0, -45, 0], "uv": [0, 18], "mirror": true}
]
},
{
"name": "tentacle5",
"parent": "body",
"pivot": [-3, -4.5, 0],
"cubes": [
{"origin": [-4, -10, -1], "size": [2, 6, 2], "uv": [0, 18]}
]
},
{
"name": "tentacle6",
"parent": "body",
"pivot": [-2.35355, -4.5, -2.35355],
"cubes": [
{"origin": [-3.35355, -10, -3.35355], "size": [2, 6, 2], "pivot": [-2.35355, -7, -2.35355], "rotation": [0, 45, 0], "uv": [0, 18], "mirror": true}
]
},
{
"name": "tentacle7",
"parent": "body",
"pivot": [0, -4.5, -3],
"cubes": [
{"origin": [-1, -10, -4], "size": [2, 6, 2], "uv": [0, 18]}
]
},
{
"name": "tentacle8",
"parent": "body",
"pivot": [2.35355, -4.5, -2.35355],
"cubes": [
{"origin": [1.35355, -10, -3.35355], "size": [2, 6, 2], "pivot": [2.35355, -7, -2.35355], "rotation": [0, -45, 0], "uv": [0, 18]}
]
}
]
}`};bt.strider={display_name:"Strider",model:`{
"name": "strider",
"external_textures": ["entity/strider/strider.png"],
"texturewidth": 64,
"textureheight": 128,
"eyes": [
[17, 25, 2, 1],
[29, 25, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 17, 0],
"cubes": [
{"name": "cube", "origin": [-8, 17, -8], "size": [16, 14, 16], "uv": [0, 0]}
]
},
{
"name": "right_bristles_1",
"parent": "Body",
"pivot": [-8, 30, 0],
"rotation": [0, 0, -60],
"mirror": true,
"cubes": [
{"name": "cube", "origin": [-20, 30, -8], "size": [12, 0, 16], "uv": [4, 33]}
]
},
{
"name": "left_bristles_1",
"parent": "Body",
"pivot": [8, 30, 0],
"rotation": [0, 0, 60],
"cubes": [
{"name": "cube", "origin": [8, 30, -8], "size": [12, 0, 16], "uv": [4, 33]}
]
},
{
"name": "right_bristles_2",
"parent": "Body",
"pivot": [-8, 26, 0],
"rotation": [0, 0, -60],
"mirror": true,
"cubes": [
{"name": "cube", "origin": [-20, 26, -8], "size": [12, 0, 16], "uv": [4, 49]}
]
},
{
"name": "left_bristles_2",
"parent": "Body",
"pivot": [8, 26, 0],
"rotation": [0, 0, 60],
"cubes": [
{"name": "cube", "origin": [8, 26, -8], "size": [12, 0, 16], "uv": [4, 49]}
]
},
{
"name": "right_bristles_3",
"parent": "Body",
"pivot": [-8, 21, 0],
"rotation": [0, 0, -60],
"mirror": true,
"cubes": [
{"name": "cube", "origin": [-20, 21, -8], "size": [12, 0, 16], "uv": [4, 65]}
]
},
{
"name": "left_bristles_3",
"parent": "Body",
"pivot": [8, 21, 0],
"rotation": [0, 0, 60],
"cubes": [
{"name": "cube", "origin": [8, 21, -8], "size": [12, 0, 16], "uv": [4, 65]}
]
},
{
"name": "RightLeg",
"pivot": [-4, 17, 0],
"cubes": [
{"name": "cube", "origin": [-6, 0, -2], "size": [4, 17, 4], "uv": [0, 32]}
]
},
{
"name": "LeftLeg",
"pivot": [4, 17, 0],
"mirror": true,
"cubes": [
{"name": "cube", "origin": [2, 0, -2], "size": [4, 17, 4], "uv": [0, 32]}
]
}
]
}`};bt.strider_baby={display_name:"Strider Baby",model:`{
"name": "strider_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/strider/strider_baby.png"],
"eyes": [
[9, 11, 1, 1],
[13, 11, 1, 1]
],
"bones": [
{
"name": "right_leg",
"pivot": [-1.5, 4, 0],
"cubes": [
{"origin": [-2.5, 0, -1], "size": [2, 4, 2], "uv": [0, 24]}
]
},
{
"name": "left_leg",
"pivot": [1.5, 4, 0],
"cubes": [
{"origin": [0.5, 0, -1], "size": [2, 4, 2], "uv": [8, 24]}
]
},
{
"name": "body",
"pivot": [0, 7.25, 0],
"cubes": [
{"origin": [-3.5, 4, -4], "size": [7, 7, 8], "uv": [0, 0]}
]
},
{
"name": "bristles",
"parent": "body",
"pivot": [0, 11.5, 0],
"cubes": [
{"origin": [-3.5, 11, 2], "size": [7, 3, 0], "layer": true, "uv": [0, 21]},
{"origin": [-3.5, 11, 0], "size": [7, 3, 0], "layer": true, "uv": [0, 18]},
{"origin": [-3.5, 11, -2], "size": [7, 3, 0], "layer": true, "uv": [0, 15]}
]
}
]
}`};bt.tadpole={display_name:"Tadpole",model:`{
"name": "tadpole",
"external_textures": ["entity/tadpole/tadpole.png"],
"texturewidth": 16,
"textureheight": 16,
"eyes": [
[2, 3, 2, 1],
[5, 3, 2, 1]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 0, 1],
"cubes": [
{"origin": [-1.5, 1, -2.5], "size": [3, 2, 3], "uv": [0, 0]}
]
},
{
"name": "tail",
"parent": "root",
"pivot": [0, 0, 1],
"cubes": [
{"origin": [0, 1, -0.5], "size": [0, 2, 7], "uv": [0, 0]}
]
}
]
}`};bt.tropicalfish_a={display_name:"Tropicalfish A",model:`{
"name": "tropicalfish_a",
"external_textures": ["entity/fish/tropical_a.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [-0.5, 0, 0],
"cubes": [
{"name": "body", "origin": [-1, 0, -3], "size": [2, 3, 6], "uv": [0, 0]},
{"name": "body", "origin": [0, 3, -2.9992], "size": [0, 4, 6], "uv": [10, -6]}
]
},
{
"name": "tailfin",
"parent": "body",
"pivot": [0, 0, 3],
"cubes": [
{"name": "tailfin", "origin": [0, 0, 3], "size": [0, 3, 4], "uv": [24, -4]}
]
},
{
"name": "leftFin",
"parent": "body",
"pivot": [0.5, 0, 1],
"rotation": [0, -35, 0],
"cubes": [
{"name": "leftFin", "origin": [0.336, 0, -0.10594], "size": [2, 2, 0], "uv": [2, 12]}
]
},
{
"name": "rightFin",
"parent": "body",
"pivot": [-0.5, 0, 1],
"rotation": [0, 35, 0],
"cubes": [
{"name": "rightFin", "origin": [-2.336, 0, -0.10594], "size": [2, 2, 0], "uv": [2, 16]}
]
}
]
}`};bt.tropicalfish_b={display_name:"Tropicalfish B",model:`{
"name": "tropicalfish_b",
"external_textures": ["entity/fish/tropical_b.png"],
"texturewidth": 32,
"textureheight": 32,
"bones": [
{
"name": "body",
"pivot": [-0.5, 0, 0],
"cubes": [
{"name": "body", "origin": [-1, 0, -0.0008], "size": [2, 6, 6], "uv": [0, 20]},
{"name": "body", "origin": [0, -5, -0.0008], "size": [0, 5, 6], "uv": [20, 21]},
{"name": "body", "origin": [0, 6, -0.0008], "size": [0, 5, 6], "uv": [20, 10]}
]
},
{
"name": "tailfin",
"parent": "body",
"pivot": [0, 0, 6],
"cubes": [
{"name": "tailfin", "origin": [0, 0.0008, 6], "size": [0, 6, 5], "uv": [21, 16]}
]
},
{
"name": "leftFin",
"parent": "body",
"pivot": [0.5, 0, 1],
"rotation": [0, -35, 0],
"cubes": [
{"name": "leftFin", "origin": [2.05673, 0, 2.35152], "size": [2, 2, 0], "uv": [2, 12]}
]
},
{
"name": "rightFin",
"parent": "body",
"pivot": [-0.5, 0, 1],
"rotation": [0, 35, 0],
"cubes": [
{"name": "rightFin", "origin": [-4.05673, 0, 2.35152], "size": [2, 2, 0], "uv": [2, 16]}
]
}
]
}`};bt.turtle={display_name:"Turtle",model_bedrock:`{
"name": "sea_turtle",
"external_textures": ["entity/sea_turtle.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 13, -10],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-9.5, -10, -20], "size": [19, 20, 6], "uv": [6, 37]},
{"name": "body", "origin": [-5.5, -8, -23], "size": [11, 18, 3], "uv": [30, 1]}
]
},
{
"name": "eggbelly",
"parent": "body",
"pivot": [0, 13, -10],
"cubes": [
{"name": "eggbelly", "origin": [-4.5, -8, -24], "size": [9, 18, 1], "uv": [69, 33]}
]
},
{
"name": "head",
"pivot": [0, 5, -10],
"cubes": [
{"name": "head", "origin": [-3, 1, -13], "size": [6, 5, 6], "uv": [2, 0]}
]
},
{
"name": "leg0",
"pivot": [-3.5, 2, 11],
"cubes": [
{"name": "leg0", "origin": [-5.5, 1, 11], "size": [4, 1, 10], "uv": [0, 23]}
]
},
{
"name": "leg1",
"pivot": [3.5, 2, 11],
"cubes": [
{"name": "leg1", "origin": [1.5, 1, 11], "size": [4, 1, 10], "uv": [0, 12]}
]
},
{
"name": "leg2",
"pivot": [-5, 3, -4],
"rotation": [0, 10, 0],
"cubes": [
{"name": "leg2", "origin": [-18, 2, -6], "size": [13, 1, 5], "uv": [26, 30]}
]
},
{
"name": "leg3",
"pivot": [5, 3, -4],
"rotation": [0, -10, 0],
"cubes": [
{"name": "leg3", "origin": [5, 2, -6], "size": [13, 1, 5], "uv": [26, 24]}
]
}
]
}`,model_java:`{
"name": "big_sea_turtle",
"external_textures": ["entity/sea_turtle.png"],
"texturewidth": 128,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 13, -10],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-9.5, -10, -20], "size": [19, 20, 6], "uv": [7, 37]},
{"name": "body", "origin": [-5.5, -8, -23], "size": [11, 18, 3], "uv": [31, 1]}
]
},
{
"name": "eggbelly",
"parent": "body",
"pivot": [0, 13, -10],
"cubes": [
{"name": "eggbelly", "origin": [-4.5, -8, -24], "size": [9, 18, 1], "uv": [70, 33]}
]
},
{
"name": "head",
"pivot": [0, 5, -10],
"cubes": [
{"name": "head", "origin": [-3, 1, -13], "size": [6, 5, 6], "uv": [3, 0]}
]
},
{
"name": "leg0",
"pivot": [-3.5, 2, 11],
"cubes": [
{"name": "leg0", "origin": [-5.5, 1, 11], "size": [4, 1, 10], "uv": [1, 23]}
]
},
{
"name": "leg1",
"pivot": [3.5, 2, 11],
"cubes": [
{"name": "leg1", "origin": [1.5, 1, 11], "size": [4, 1, 10], "uv": [1, 12]}
]
},
{
"name": "leg2",
"pivot": [-5, 3, -4],
"rotation": [0, 10, 0],
"cubes": [
{"name": "leg2", "origin": [-18, 2, -6], "size": [13, 1, 5], "uv": [27, 30]}
]
},
{
"name": "leg3",
"pivot": [5, 3, -4],
"rotation": [0, -10, 0],
"cubes": [
{"name": "leg3", "origin": [5, 2, -6], "size": [13, 1, 5], "uv": [27, 24]}
]
}
]
}`};bt.turtle_baby={display_name:"Turtle Baby",model:`{
"name": "turtle_baby",
"texturewidth": 16,
"textureheight": 16,
"external_textures": ["entity/turtle/sea_turtle_baby.png"],
"eyes": [
[1, 10, 1, 1],
[7, 10, 1, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 1, 1],
"cubes": [
{"origin": [-2, 0, -1], "size": [4, 2, 4], "uv": [0, 0]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 1, -1],
"cubes": [
{"origin": [-1.5, 0, -4], "size": [3, 3, 3], "uv": [0, 6]}
]
},
{
"name": "leg0",
"parent": "body",
"pivot": [-2, 0, 2.5],
"cubes": [
{"origin": [-4, 0, 2], "size": [2, 0, 1], "uv": [-1, 0]}
]
},
{
"name": "leg1",
"parent": "body",
"pivot": [2, 0, 2.5],
"cubes": [
{"origin": [2, 0, 2], "size": [2, 0, 1], "uv": [-1, 1]}
]
},
{
"name": "leg2",
"parent": "body",
"pivot": [-2, 0, -0.5],
"cubes": [
{"origin": [-4, 0, -1], "size": [2, 0, 1], "uv": [8, 6]}
]
},
{
"name": "leg3",
"parent": "body",
"pivot": [2, 0, -0.5],
"cubes": [
{"origin": [2, 0, -1], "size": [2, 0, 1], "uv": [8, 7]}
]
}
]
}`};bt.vex={display_name:"Vex",model:`{
"name": "vex",
"external_textures": ["entity/vex/vex.png"],
"texturewidth": 32,
"textureheight": 32,
"eyes": [
[5, 8, 2, 1],
[8, 8, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-1.5, 0, -1], "size": [3, 4, 2], "uv": [0, 10]},
{"origin": [-1.5, -2, -1], "size": [3, 5, 2], "inflate": -0.2, "uv": [0, 16]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 4, 0],
"cubes": [
{"origin": [-2.5, 4, -2.5], "size": [5, 5, 5], "uv": [0, 0]}
]
},
{
"name": "rightArm",
"parent": "body",
"pivot": [-1.75, 3.75, 0],
"cubes": [
{"origin": [-3, 0.25, -1], "size": [2, 4, 2], "inflate": -0.1, "uv": [23, 0]}
]
},
{
"name": "rightItem",
"parent": "rightArm",
"pivot": [-2, 1, 0]
},
{
"name": "leftArm",
"parent": "body",
"pivot": [1.75, 3.75, 0],
"cubes": [
{"origin": [1, 0.25, -1], "size": [2, 4, 2], "inflate": -0.1, "uv": [23, 6]}
]
},
{
"name": "leftWing",
"parent": "body",
"pivot": [0.5, 3, 1],
"cubes": [
{"origin": [0.5, -2, 1], "size": [8, 5, 0], "uv": [16, 22], "mirror": true}
]
},
{
"name": "rightWing",
"parent": "body",
"pivot": [-0.5, 3, 1],
"cubes": [
{"origin": [-8.5, -2, 1], "size": [8, 5, 0], "uv": [16, 22]}
]
}
]
}`};bt.villager={display_name:"Villager (Old)",model:`{
"name": "villager",
"external_textures": ["entity/villager/villager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "arms",
"pivot": [0, 22, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]},
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
}
]
}`};bt.villager_v2={display_name:"Villager (New)",model_java:`{
"name": "villager_v2",
"external_textures": ["entity/villager2/villager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 4, -3], "size": [8, 20, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "helmet",
"parent": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "helmet", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "brim",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "arms",
"parent": "body",
"pivot": [0, 22, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]},
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22], "mirror": true}
]
},
{
"name": "RightLeg",
"parent": "body",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"parent": "body",
"pivot": [2, 12, 0],
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22], "mirror": true}
]
}
]
}`,model_bedrock:`{
"name": "villager_v2",
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "helmet",
"parent": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "helmet", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "brim",
"parent": "head",
"pivot": [0, 24, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "arms",
"parent": "body",
"pivot": [0, 22, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]},
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22], "mirror": true}
]
},
{
"name": "RightLeg",
"parent": "body",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"parent": "body",
"pivot": [2, 12, 0],
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22], "mirror": true}
]
}
]
}`};bt.villager_baby={display_name:"Villager Baby",model:`{
"name": "villager_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/villager2/villager_baby.png"],
"eyes": [
[8, 12, 2, 1],
[12, 12, 2, 1]
],
"bones": [
{
"name": "body",
"pivot": [1, 5.25, 0],
"cubes": [
{"origin": [-2, 3, -1.5], "size": [4, 5, 3], "uv": [0, 15]},
{"origin": [-2, 2, -1.5], "size": [4, 6, 3], "inflate": 0.2, "uv": [16, 21]}
]
},
{
"name": "head",
"parent": "body",
"pivot": [1, 8, 0],
"cubes": [
{"origin": [-4, 8, -3.5], "size": [8, 8, 7], "uv": [0, 0]}
]
},
{
"name": "helmet",
"parent": "head",
"pivot": [1, 12, 0],
"cubes": [
{"origin": [-4, 8, -3.5], "size": [8, 8, 7], "inflate": 0.3, "uv": [0, 30], "layer": true, "visibility": false}
]
},
{
"name": "brim",
"parent": "head",
"pivot": [1, 12.5, 0],
"cubes": [
{"origin": [-7, 12, -6], "size": [14, 1, 12], "uv": [0, 45], "layer": true, "visibility": false}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [1, 10, -4],
"cubes": [
{"origin": [-1, 8, -4.5], "size": [2, 2, 1], "uv": [23, 0]}
]
},
{
"name": "arms",
"parent": "body",
"pivot": [1, 5.9, -1.2],
"cubes": [
{"origin": [2, 3.59, -2.8], "size": [2, 4, 2], "pivot": [4, 5.09754, -0.95992], "rotation": [-60, 0, 0], "uv": [16, 15]},
{"origin": [-4, 3.59, -2.8], "size": [2, 4, 2], "pivot": [-2, 5.09754, -0.95992], "rotation": [-60, 0, 0], "uv": [36, 15]}
]
},
{
"name": "held_item",
"parent": "arms",
"pivot": [1.5, 0, 0]
},
{
"name": "leg0",
"parent": "body",
"pivot": [0, 2.5, 0],
"cubes": [
{"origin": [-2, 0, -1], "size": [2, 3, 2], "uv": [8, 23]}
]
},
{
"name": "leg1",
"parent": "body",
"pivot": [2, 2.5, 0],
"cubes": [
{"origin": [0, 0, -1], "size": [2, 3, 2], "uv": [0, 23]}
]
}
]
}`};bt.vindicator={display_name:"Vindicator",model:`{
"name": "vindicator",
"external_textures": ["entity/vindicator.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 26, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}
]
},
{
"name": "body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "arms",
"pivot": [0, 22, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]}
]
}
]
}`};bt.warden={display_name:"Warden",model:`{
"name": "warden",
"external_textures": ["entity/warden/warden.png"],
"texturewidth": 128,
"textureheight": 128,
"eyes": [
[12, 50, 12, 7]
],
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
},
{
"name": "body",
"parent": "root",
"pivot": [0, 21, 0],
"cubes": [
{"origin": [-9, 13, -4], "size": [18, 21, 11], "uv": [0, 0]}
]
},
{
"name": "right_ribcage",
"parent": "body",
"pivot": [-7, 23, -4],
"cubes": [
{"origin": [-9, 13, -4.1], "size": [9, 21, 0], "uv": [90, 11]}
]
},
{
"name": "left_ribcage",
"parent": "body",
"pivot": [7, 23, -4],
"cubes": [
{"origin": [0, 13, -4.1], "size": [9, 21, 0], "uv": [90, 11], "mirror": true}
]
},
{
"name": "head",
"parent": "body",
"pivot": [0, 34, 0],
"cubes": [
{"origin": [-8, 34, -5], "size": [16, 16, 10], "uv": [0, 32]}
]
},
{
"name": "right_tendril",
"parent": "head",
"pivot": [-8, 46, 0],
"cubes": [
{"origin": [-24, 43, 0], "size": [16, 16, 0], "uv": [52, 32]}
]
},
{
"name": "left_tendril",
"parent": "head",
"pivot": [8, 46, 0],
"cubes": [
{"origin": [8, 43, 0], "size": [16, 16, 0], "uv": [58, 0]}
]
},
{
"name": "right_arm",
"parent": "body",
"pivot": [-13, 34, 1],
"cubes": [
{"origin": [-17, 6, -3], "size": [8, 28, 8], "uv": [44, 50]}
]
},
{
"name": "left_arm",
"parent": "body",
"pivot": [13, 34, 1],
"cubes": [
{"origin": [9, 6, -3], "size": [8, 28, 8], "uv": [0, 58]}
]
},
{
"name": "right_leg",
"parent": "root",
"pivot": [-5.9, 13, 0],
"cubes": [
{"origin": [-9, 0, -3], "size": [6, 13, 6], "uv": [76, 48]}
]
},
{
"name": "left_leg",
"parent": "root",
"pivot": [5.9, 13, 0],
"cubes": [
{"origin": [3, 0, -3], "size": [6, 13, 6], "uv": [76, 76]}
]
}
]
}`};bt.witch={display_name:"Witch",model:`{
"name": "witch",
"external_textures": ["entity/witch.png"],
"texturewidth": 64,
"textureheight": 128,
"bones": [
{
"name": "head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]}
]
},
{
"name": "nose",
"parent": "head",
"pivot": [0, 0, 0],
"cubes": [
{"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]},
{"name": "nose", "origin": [0, 25, -6.75], "size": [1, 1, 1], "uv": [0, 0], "inflate": -0.25}
]
},
{
"name": "hat",
"parent": "head",
"pivot": [-5, 32.03125, -5],
"cubes": [
{"name": "hat", "origin": [-5, 32.05, -5], "size": [10, 2, 10], "uv": [0, 64]}
]
},
{
"name": "hat2",
"parent": "hat",
"pivot": [1.75, 32, 2],
"rotation": [-3, 0, 1.5],
"cubes": [
{"name": "hat2", "origin": [-3.25, 33.5, -3], "size": [7, 4, 7], "uv": [0, 76]}
]
},
{
"name": "hat3",
"parent": "hat2",
"pivot": [1.75, 35, 2],
"rotation": [-6, 0, 3],
"cubes": [
{"name": "hat3", "origin": [-1.5, 36.5, -1], "size": [4, 4, 4], "uv": [0, 87]}
]
},
{
"name": "hat4",
"parent": "hat3",
"pivot": [1.75, 38, 2],
"rotation": [-12, 0, 6],
"cubes": [
{"name": "hat4", "origin": [0.25, 40, 1], "size": [1, 2, 1], "uv": [0, 95], "inflate": 0.25}
]
},
{
"name": "body",
"pivot": [0, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "arms",
"pivot": [0, 22, 0],
"rotation": [-45, 0, 0],
"cubes": [
{"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]},
{"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]},
{"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}
]
},
{
"name": "leg0",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "leg1",
"pivot": [2, 12, 0],
"cubes": [
{"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
}
]
}`};bt.witherBoss={display_name:"Wither",model:`{
"name": "witherBoss",
"external_textures": ["entity/wither_boss/wither.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "upperBodyPart1",
"pivot": [0, 0, 0],
"cubes": [
{"name": "upperBodyPart1", "origin": [-10, 17.1, -0.5], "size": [20, 3, 3], "uv": [0, 16]}
]
},
{
"name": "upperBodyPart2",
"parent": "upperBodyPart1",
"pivot": [-2, 17.1, -0.5],
"cubes": [
{"name": "upperBodyPart2", "origin": [-2, 7.1, -0.5], "size": [3, 10, 3], "uv": [0, 22]},
{"name": "upperBodyPart2", "origin": [-6, 13.6, 0], "size": [11, 2, 2], "uv": [24, 22]},
{"name": "upperBodyPart2", "origin": [-6, 11.1, 0], "size": [11, 2, 2], "uv": [24, 22]},
{"name": "upperBodyPart2", "origin": [-6, 8.6, 0], "size": [11, 2, 2], "uv": [24, 22]}
]
},
{
"name": "upperBodyPart3",
"parent": "upperBodyPart2",
"pivot": [0, 7, 0],
"rotation": [45, 0, 0],
"cubes": [
{"name": "upperBodyPart3", "origin": [-2, 1, 0], "size": [3, 6, 3], "uv": [12, 22]}
]
},
{
"name": "head1",
"parent": "upperBodyPart1",
"pivot": [0, 20, 0],
"cubes": [
{"name": "head1", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "head2",
"parent": "upperBodyPart1",
"pivot": [-9, 18, -1],
"cubes": [
{"name": "head2", "origin": [-12, 18, -4], "size": [6, 6, 6], "uv": [32, 0]}
]
},
{
"name": "head3",
"parent": "upperBodyPart1",
"pivot": [9, 18, -1],
"cubes": [
{"name": "head3", "origin": [6, 18, -4], "size": [6, 6, 6], "uv": [32, 0]}
]
}
]
}`};bt.wolf={display_name:"Wolf",model:`{
"name": "wolf",
"external_textures": ["entity/wolf/wolf.png"],
"texturewidth": 64,
"textureheight": 32,
"bones": [
{
"name": "head",
"pivot": [-1, 10.5, -7],
"cubes": [
{"name": "head", "origin": [-4, 7.5, -9], "size": [6, 6, 4], "uv": [0, 0]},
{"name": "head", "origin": [-4, 13.5, -7], "size": [2, 2, 1], "uv": [16, 14]},
{"name": "head", "origin": [0, 13.5, -7], "size": [2, 2, 1], "uv": [16, 14]},
{"name": "head", "origin": [-2.5, 7.51563, -12], "size": [3, 3, 4], "uv": [0, 10]}
]
},
{
"name": "body",
"pivot": [0, 10, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "body", "origin": [-4, 3, -1], "size": [6, 9, 6], "uv": [18, 14]}
]
},
{
"name": "upperBody",
"pivot": [-1, 10, 2],
"rotation": [90, 0, 0],
"cubes": [
{"name": "upperBody", "origin": [-5, 12, -1], "size": [8, 6, 7], "uv": [21, 0]}
]
},
{
"name": "leg0",
"pivot": [-2.5, 8, 7],
"cubes": [
{"name": "leg0", "origin": [-3.5, 0, 6], "size": [2, 8, 2], "uv": [0, 18]}
]
},
{
"name": "leg1",
"pivot": [0.5, 8, 7],
"cubes": [
{"name": "leg1", "origin": [-0.5, 0, 6], "size": [2, 8, 2], "uv": [0, 18]}
]
},
{
"name": "leg2",
"pivot": [-2.5, 8, -4],
"cubes": [
{"name": "leg2", "origin": [-3.5, 0, -5], "size": [2, 8, 2], "uv": [0, 18]}
]
},
{
"name": "leg3",
"pivot": [0.5, 8, -4],
"cubes": [
{"name": "leg3", "origin": [-0.5, 0, -5], "size": [2, 8, 2], "uv": [0, 18]}
]
},
{
"name": "tail",
"pivot": [-1, 12, 8],
"rotation": [55, 0, 0],
"cubes": [
{"name": "tail", "origin": [-2, 4, 7], "size": [2, 8, 2], "uv": [9, 18]}
]
}
]
}`};bt.wolf_baby={display_name:"Wolf Baby",model:`{
"name": "wolf_baby",
"texturewidth": 32,
"textureheight": 32,
"external_textures": ["entity/wolf/wolf_baby.png"],
"eyes": [
[6, 19, 1, 1],
[9, 19, 1, 1]
],
"bones": [
{
"name": "head",
"pivot": [0, 5.75, -4],
"cubes": [
{"origin": [-2.99, 4, -7], "size": [6, 5, 5], "inflate": 0.025, "uv": [0, 12]},
{"origin": [-1.5, 3.99, -9], "size": [3, 2, 2], "uv": [17, 12]}
]
},
{
"name": "right_ear",
"parent": "head",
"pivot": [-2, 10, -4.5],
"cubes": [
{"origin": [-3, 9, -5], "size": [2, 2, 1], "uv": [0, 5]}
]
},
{
"name": "left_ear",
"parent": "head",
"pivot": [2, 10, -4.5],
"cubes": [
{"origin": [1, 9, -5], "size": [2, 2, 1], "uv": [20, 5]}
]
},
{
"name": "body",
"pivot": [0, 5, 0],
"cubes": [
{"origin": [-3, 3, -4], "size": [6, 4, 8], "uv": [0, 0]}
]
},
{
"name": "leg0",
"pivot": [-1.5, 3, 3],
"cubes": [
{"origin": [-2.5, 0, 2], "size": [2, 3, 2], "uv": [0, 22]}
]
},
{
"name": "leg1",
"pivot": [1.5, 3, 3],
"cubes": [
{"origin": [0.5, 0, 2], "size": [2, 3, 2], "uv": [8, 22]}
]
},
{
"name": "leg2",
"pivot": [-1.5, 3, -3],
"cubes": [
{"origin": [-2.5, 0, -4], "size": [2, 3, 2], "uv": [0, 0]}
]
},
{
"name": "leg3",
"pivot": [1.5, 3, -3],
"cubes": [
{"origin": [0.5, 0, -4], "size": [2, 3, 2], "uv": [20, 0]}
]
},
{
"name": "tail",
"pivot": [0, 5, 3],
"rotation": [75, 0, 0],
"cubes": [
{"origin": [-1, 5.3, 2.2], "size": [2, 6, 2], "pivot": [0, 5.6, 3.2], "rotation": [180, 0, 0], "uv": [22, 16]}
]
}
]
}`};bt.zombie={display_name:"Zombie",pose:!0,model_java:`{
"name": "zombie",
"texturewidth": 64,
"textureheight": 64,
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"pose": [3, -10, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"pose": [-80, -5, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"pose": [-75, 5, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}
]
},
{
"name": "RightLeg",
"pivot": [-1.9, 12, 0],
"pose": [-25, 0, 5],
"cubes": [
{"name": "RightLeg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "LeftLeg",
"pivot": [1.9, 12, 0],
"pose": [20, 0, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}
]
}
]
}`,model_bedrock:`{
"name": "zombie",
"external_textures": ["entity/zombie/zombie.png"],
"texturewidth": 64,
"textureheight": 32,
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"pose": [3, -10, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]},
{"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"pose": [-80, -5, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"pose": [-75, 5, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}
]
},
{
"name": "RightLeg",
"pivot": [-1.9, 12, 0],
"pose": [-25, 0, 5],
"cubes": [
{"name": "RightLeg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}
]
},
{
"name": "LeftLeg",
"pivot": [1.9, 12, 0],
"pose": [20, 0, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}
]
}
]
}`};bt.zombie_baby={display_name:"Zombie Baby",pose:!0,model:`{
"name": "zombie_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/zombie/zombie_baby.png"],
"eyes": [
[9, 12, 2, 1],
[13, 12, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [0, 6.5, 0],
"cubes": [
{"origin": [-2, 4, -1], "size": [4, 5, 2], "uv": [16, 16]}
]
},
{
"name": "Head",
"parent": "Body",
"pivot": [0, 8.75, 0],
"cubes": [
{"origin": [-3, 9, -3], "size": [6, 6, 6], "uv": [3, 3]},
{"origin": [-3, 8.9, -3], "size": [6, 6, 6], "inflate": 0.25, "uv": [35, 3], "layer": true, "visibility": false}
]
},
{
"name": "RightArm",
"parent": "Body",
"pivot": [-3, 8.5, 0],
"pose": [-80, -5, 0],
"cubes": [
{"origin": [-4, 4, -1], "size": [2, 5, 2], "uv": [36, 16]}
]
},
{
"name": "LeftArm",
"parent": "Body",
"pivot": [3, 8.5, 0],
"pose": [-75, 5, 0],
"cubes": [
{"origin": [2, 4, -1], "size": [2, 5, 2], "uv": [28, 16]}
]
},
{
"name": "RightLeg",
"parent": "Body",
"pivot": [-1, 4, 0],
"cubes": [
{"origin": [-2, 0, -1], "size": [2, 4, 2], "uv": [8, 16]}
]
},
{
"name": "LeftLeg",
"parent": "Body",
"pivot": [1, 4, 0],
"cubes": [
{"origin": [0, 0, -1], "size": [2, 4, 2], "uv": [0, 16]}
]
}
]
}`};bt.zombie_villager_1={display_name:"Zombie Villager (Old)",model:`{
"name": "zombie_villager_1",
"external_textures": ["entity/zombie_villager/zombie_villager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25},
{"name": "head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25}
]
},
{
"name": "Body",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 38]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 38]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
}
]
}`};bt.zombie_villager_2={display_name:"Zombie Villager (New)",model_java:`{
"name": "zombie_villager_2",
"external_textures": ["entity/zombie_villager2/zombie-villager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "Body",
"parent": "waist",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "Body", "origin": [-4, 4, -3], "size": [8, 20, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25},
{"name": "Head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25}
]
},
{
"name": "helmet",
"parent": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head Layer", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "brim",
"parent": "Head",
"pivot": [0, 24, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 22]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 22]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
}
]
}`,model_bedrock:`{
"name": "zombie_villager_2",
"external_textures": ["entity/zombie_villager2/zombie-villager.png"],
"texturewidth": 64,
"textureheight": 64,
"bones": [
{
"name": "waist",
"pivot": [0, 12, 0]
},
{
"name": "Body",
"parent": "waist",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]},
{"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5}
]
},
{
"name": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25},
{"name": "Head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25}
]
},
{
"name": "helmet",
"parent": "Head",
"pivot": [0, 24, 0],
"cubes": [
{"name": "Head Layer", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5}
]
},
{
"name": "brim",
"parent": "Head",
"pivot": [0, 24, 0],
"rotation": [-90, 0, 0],
"cubes": [
{"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1}
]
},
{
"name": "RightArm",
"pivot": [-5, 22, 0],
"cubes": [
{"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 22]}
]
},
{
"name": "LeftArm",
"pivot": [5, 22, 0],
"mirror": true,
"cubes": [
{"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 22]}
]
},
{
"name": "RightLeg",
"pivot": [-2, 12, 0],
"cubes": [
{"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
},
{
"name": "LeftLeg",
"pivot": [2, 12, 0],
"mirror": true,
"cubes": [
{"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]}
]
}
]
}`};bt.zombie_villager_baby={display_name:"Zombie Villager Baby",model:`{
"name": "zombie_villager_baby",
"texturewidth": 64,
"textureheight": 64,
"external_textures": ["entity/zombie_villager2/zombie-villager_baby.png"],
"eyes": [
[8, 12, 2, 1],
[12, 12, 2, 1]
],
"bones": [
{
"name": "Body",
"pivot": [-0.5, 5.25, 0],
"cubes": [
{"origin": [-2.5, 3, -1.5], "size": [4, 5, 3], "uv": [0, 15]},
{"origin": [-2.5, 2, -1.5], "size": [4, 6, 3], "inflate": 0.2, "uv": [16, 22]}
]
},
{
"name": "Head",
"parent": "Body",
"pivot": [-0.5, 8, 0],
"cubes": [
{"origin": [-4.5, 8, -3.5], "size": [8, 8, 7], "uv": [0, 0]}
]
},
{
"name": "helmet",
"parent": "Head",
"pivot": [-0.5, 12, 0],
"cubes": [
{"origin": [-4.5, 8, -3.5], "size": [8, 8, 7], "inflate": 0.3, "uv": [0, 31], "layer": true, "visibility": false}
]
},
{
"name": "brim",
"parent": "Head",
"pivot": [-0.5, 12.5, 0],
"cubes": [
{"origin": [-7.5, 12, -6], "size": [14, 1, 12], "uv": [0, 46], "layer": true, "visibility": false}
]
},
{
"name": "Nose",
"parent": "Head",
"pivot": [-0.5, 9, -4],
"cubes": [
{"origin": [-1.5, 8, -4.5], "size": [2, 2, 1], "uv": [23, 0]}
]
},
{
"name": "RightArm",
"parent": "Body",
"pivot": [-3, 6.75, 0],
"cubes": [
{"origin": [-4.5, 2.75, -1], "size": [2, 5, 2], "uv": [24, 15]}
]
},
{
"name": "LeftArm",
"parent": "Body",
"pivot": [2, 6.75, 0],
"cubes": [
{"origin": [1.5, 2.75, -1], "size": [2, 5, 2], "uv": [16, 15]}
]
},
{
"name": "RightLeg",
"parent": "Body",
"pivot": [-1.5, 2.5, 0],
"cubes": [
{"origin": [-2.5, 0, -1], "size": [2, 3, 2], "uv": [8, 23]}
]
},
{
"name": "LeftLeg",
"parent": "Body",
"pivot": [0.5, 2.5, 0],
"cubes": [
{"origin": [-0.5, 0, -1], "size": [2, 3, 2], "uv": [0, 23]}
]
}
]
}`};for(let i in bt)$5[i]=bt[i].display_name;var Sy=new Codec("image",{name:tl("format.image"),extension:"png",remember:!0,load_filter:{type:"image",extensions:Texture.getAllExtensions},load(i,e,t){if(i instanceof Array||(i=[i]),typeof e=="object"&&(i=[e],e=e.path),setupProject(Formats.image),e&&!1)var n;i.forEach((o,r)=>{let s;o.uuid?s=new Texture(o,o.uuid).load():typeof o=="string"?o.startsWith("data:image/png")?s=new Texture({name:"image"}).fromDataURL(o):s=new Texture().fromPath(o):s=new Texture().fromFile(o),s.load_callback=()=>{if(delete s.load_callback,s.select(),s.activateLayers(!1),t instanceof Array&&t[0]&&t[1]?(s.uv_width=t[0],s.uv_height=t[1]):(s.uv_height=s.display_height,s.uv_width=s.width),r==i.length-1){UVEditor.vue.updateTexture();let l=Math.min(32/UVEditor.getPixelSize(),1);l<1&&UVEditor.setZoom(l),UVEditor.vue.centerView()}},s.add(!1)});let a=Texture.all.last();Project.name=pathToName(a?.name,!1)||"image"},afterSave(){},export_options:{format:{type:"select",label:"codec.common.format",options:{png:"PNG",jpeg:"JPEG",webp:"WebP",tga:"TGA",gif:"GIF"}},alpha_channel:{type:"checkbox",label:"codec.image.alpha_channel",condition:i=>i?.format=="gif",value:!0},animation_fps:{type:"number",label:"codec.image.animation_fps",condition:i=>i?.format=="gif",value:7},quality:{type:"range",label:"codec.image.quality",value:1,min:0,max:1,step:.05,editable_range_label:!0,condition:i=>i&&["jpeg","webp"].includes(i.format)}},async compile(i){i=Object.assign(this.getExportOptions(),i);let e=Texture.getDefault();if(e)if(i.format=="gif"){let n=GIFEnc.GIFEncoder(),a=i.alpha_channel??!0,o=0,r="rgb565",s=!1,l=e.width,c=e.display_height,d=1e3/i.animation_fps,{ctx:u}=e;for(let _=0;_<e.frameCount;_++){let f=u.getImageData(0,_*c,l,c).data,g=k1(f,{has_transparency:a,prio_color_accuracy:s}),v;g.length>256?(g=GIFEnc.quantize(f,256,{format:r,oneBitAlpha:!0,clearAlphaThreshold:127}),v=GIFEnc.applyPalette(f,g,r)):v=w1(f,g,{has_transparency:a,prio_color_accuracy:s}),n.writeFrame(v,l,c,{palette:g,delay:d,transparent:a}),o++,await new Promise(b=>setTimeout(b,0))}n.finish();let p=n.bytesView(),m=new Blob([p],{type:"image/gif"});var t=new FileReader;return await new Promise((_,f)=>{t.onload=()=>_(t.result),t.onerror=f,t.readAsDataURL(m)})}else{if(Texture.file_formats[i.format]?.encode)return await Texture.file_formats[i.format].encode(e);{let n="image/"+(i.format??"png");return e.canvas.toDataURL(n,i.quality)}}},async export(){if(await this.promptExportOptions()===null)return;let e=await this.compile();Blockbench.export({resource_id:"image",type:"Image",extensions:[this.getExportOptions().format],name:this.fileName(),savetype:typeof e=="string"?"image":"binary",content:e},t=>this.afterDownload(t))},write(i,e){Blockbench.writeFile(e,{content:i,savetype:"image"},t=>this.afterSave(t))}});Sy.parse=null;Codecs.project.on("parsed",()=>{Format.id=="image"&&Texture.all[0]&&!Texture.selected&&(Texture.all[0].select(),UVEditor.vue.centerView())});var L1,Y5=new ModelFormat("image",{icon:"image",category:"general",show_on_start_screen:!0,show_in_new_list:!0,can_convert_to:!1,model_identifier:!1,single_texture:!0,animated_textures:!0,per_texture_uv_size:!0,edit_mode:!1,image_editor:!0,format_page:{button_text:"format.image.new",content:[{type:"image",source:"./assets/image_editor.png",width:640},{text:tl("format.image.info.summary")}]},new(){newProject(this);let i=()=>{setTimeout(()=>{Undo.history.empty(),Undo.index=0,UVEditor.vue.centerView()},1)},e={"16x16":"16 x 16","32x32":"32 x 32","64x64":"64 x 64","128x128":"128 x 128","256x256":"256 x 256","512x512":"512 x 512","1920x1080":"1920 x 1080"},t={};for(let a in Texture.file_formats)t[a]=Texture.file_formats[a].name;let n=new Dialog({id:"add_bitmap",title:tl("action.create_texture"),buttons:["dialog.confirm"],form:{name:{label:"generic.name",value:"texture"},file_format:{label:"menu.texture.file_format",type:"select",value:"png",options:t},section2:"_",resolution:{label:"dialog.create_texture.resolution",type:"vector",dimensions:2,value:[16,16],min:1,max:2048},size_preset:{type:"buttons",label:" ",buttons:Object.values(e),click(a){let r=Object.keys(e)[a].split("x").map(s=>parseInt(s));n.setFormValues({resolution:r},!1)}},color:{label:"data.color",type:"color",colorpicker:TextureGenerator.background_color,toggle_enabled:!0,toggle_default:!1}},onConfirm:function(a){a.type="blank",TextureGenerator.addBitmap(a,i)}}).show();return setTimeout(()=>{UVEditor.vue.centerView()},40),!0},onActivation(){Interface.preview.classList.add("image_mode"),UVEditor.vue.hidden=!1,L1=L1??Panels.uv.node.firstChild,Interface.preview.append(L1),Panels.uv.update(),Panels.textures.handle.firstChild.textContent=tl("panel.textures.images")},onDeactivation(){Interface.preview.classList.remove("image_mode"),Panels.uv.node.append(L1),Panels.textures.handle.firstChild.textContent=tl("panel.textures"),setTimeout(()=>{Condition(Panels.uv.condition)&&Panels.uv.update()},0)},codec:Sy});Sy.format=Y5;BARS.defineActions(function(){Sy.export_action=new Action({id:"export_image",icon:"panorama",category:"file",condition:()=>Format==Y5&&Texture.all.length,click:function(){Sy.export()}})});var X5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAIiklEQVR4Aeyaa4hVVRTH9z1CNDjgzJiO4jSVPSA1KqLCDxUU2Dvs+amgondEZE+K+lAQBQX1obdRENGn8oOEoT19pFampY6o4XNEx3yFIxOB3e5vN//Dutt9zzkz17wzQ8P8Zq291tr77LXOPo855yQu5+fyuYfKWYx5+Ity88z3o+DLGb7h7twChDPcdeCQg9A+XNuFCnBG5/FpfhNaRnt9pBShUAF8xiP0T+EChKtAK2G416VwAUiUIliwDXcKFWDDtj+PyDNmOyJoGBgKFYA8SNiCDf6a95I73PVRFHzEDGWSrGs8Pk3eLn102S9+9XOXBWNkoXEaJWuuAJK0hBPM8oWxQ7mdxK7nJDf75sucmHv/Takesy189Oojbo4YF0geGQNfo/ErgMlpIkpe7fYTWt2KubMdMsu24YVbfBEYC4jt2b3b29BjKC7mO1a2hEmyMSYDnOhoC5I/79q7fBGybPg0FrrABmpLYgO1GyWTvm3djokIimAnQ/I9e/a7juk3+lXASkDHhs/GhmPRBmI0viQ2+dAbRcKGmQigM0GkIFF0Emc1ADo2+dCPu/Ip19TZgeoYC3yj8gc9RsXV8F9fAM1CkyQZ2SRJlj0O6LIjFa/+2CyHt+5wMWzMsdLD7SR/vH5FydL2+UMOxhxc72DUqbc6sWfM1W7L93NKfRu+rcL23/Tc+W7pvZ1V/PDidLf1/ZmecWtecoLtnHLa6WVLOMGwvXfv3rLl7I92l2HCq2vKEMbntatWgIL7DvVK9XLcxpcd+EaBP5fO+9tNf2dbFVM/3FmgZ7GQtrY2B4rmsK21+hRTS0YLoOCm0c1Sh4y0iWtS7ePH+/OPzkGyF5HRApA4aIDfT3/Sgdp5cu3tE/2EFMfEsNEe3dzsAN2CDaytqK4V0LtoedEuaVzC8TftnHPLD8163HPNdTPdpBM700my9JtXPevEhIkTyxZ7PKKzhyDdQr+CDb776ksHPy1f5izYVq/82ZXND+MJmfuHS8XXV41yFJdzD+cZxUumgTWURFVfWdm4CGPtarC+E9on+OaKFSsc0Ni3b5+DnbOmugOvXe5BxwbEEAvoPT09DtDxW7DVgjj6WWrFZtkTOQ/s3+cEtpbWNr8KVCBsllpFYUIXXXyJLwLxU6edler4sIW0t7d7EysEfKPyh3hBwmLdunW+aN3d3c6iWCsrw2T+Jod6ex0QRdJAIXZs3+bt8uEXSl6+jo4OB/LnSWLBxtnE0YHC6Goy+fkfncB2wdNL3Q1vbq8CW4jdRkz3h0C4lymCzgPyKWk7iHxMFDuVR4JdBejYwMbQBpJFCu1p2pxAQ7CPOmkSwknSQLc0X3Qh5kz8ClAEex5aW1scyI609wbooBUQS4o+eagfS9omTUFEbAwVhGSz/DFfaPPnACUi5+ZNmxxgB+x2BaADdiWBLhYt/M6tXbPa36wgQb6YZAWFCVMQCkM813kLtqNFwp4MB2upnACBJQ6hnz4CHycipIUELNaHHuuDXX3Qi8JKgKLxNs6vAAza0+j1ElsVMZu2gy9MHJv8oWQ1hLbBthP32ALXd/8cD0UAzgOADvITG6I9KamJkIBFdqSNlW5j0W0cd3q08+DckBcT+v0Dkc0PnPrv//D9hZj0wmIHSpx/NNKYygMUdMBuBySZIqgPsejIGPhiUBBt2/6bza0wbaT8sf7Wlhze0O3G3fCxQ/Z+uczBkjc/cYAO+BQjXe17H3jQwawnnnQWbJYsn40L9VgiHALa2xz7XO6sRJffJhvTk955d5WyeOX6svvskU4Pehi7+beNJVizamXJgs2S5bNxoc6zhl2PTiv9ctv4KrDhA+mSstGOJW1t6UnQGq0++eST/B5mz6Bb30jQcwswEpLMyiG3ANyzd63+1QF61mDD0ZcWQM8DkDaRKVOmlJqamjzo1jcS9LQAPAvYsmWTg5GQWNEc0gIU7TDS4tICLP7mq9Lczz71DKUku7q6yqBHXJLY5s+fX46BT+TlkhYgL7BRfs47MHbs2JIF24wZM0ox8Im8eQ/5AuQlUK///wLUW8Hh3n9QK6DoCWY4FGdQBeCpLAyHBPPmOKgC6IUHg7/97nvppQhdhJcn2ZHyoQvZJGVnG/8lCRvSRrW0+/r6yqC2/MTCggULHKDfd8/d6aUIXYSXJ9mR8qEL2SRlH2jyA41P2JA2qmunvfdfuHhJ1Zg2Hr3KWWnY94bozVfOLlsqIZm/utGR5J0/8A0AZHYehDP3EOAZAM8CAH0g29Cjc16wQtG+9hE5T4SAx2BF+w8kLrcAAxmMWCWNXi8UgkdbwGOweseL9c8tAM8AeBYA6LFBQhtFANn5tgDUHojUA86GrACeDbw1+wP3xDPPOc4LnCPCyXOcC741wM/LFN4t8q3BHWeud3Dyzjf8ZzbEKB6pY12S/paDc+50XHX4BoBvARQnaWMHo2euAJ4NAM8K8gbXHid53ioRTz9BGx8QC9iA9wAWXpJgPxZkFmCgEyA5+vBSRRIdaMcg8fCdADbeC1IIgS1GbMyB2DILoOcDiyvPCooMylskIJakWQlAG7ugLXifH3vPz53m5OCbAGzEW3SPYiX3LzpEJLGF0CezAJpkntRyZgUASYPth11tXqxK5yVGqMvG2T9EL0GIAd3DWMm5yj47QMcWQp+jUgAlINna/30BqwBkRyp5SWwWklLS1m71PL+NzdOPagG0xPm2AOzG8anNigG1a0mu/ZZacfXYj2oBWObQ0v99QTgx7XUkyM9eB7WPpRxUAXQyKTpRu/eL9mHPF42tJ25QBeBsDH7DdX5fwPHsx8n505A7wVpz4s4M8POPir4V0PcEfFsAalfFBN8XcKvLO32hMbMSZjz1I74e6n4eoO8FkHxLAHxbAOiAb1z/NwjS1dZlTZJkWBWxQ4DE5eecAbTr4R8AAAD//4f/6uQAAAAGSURBVAMAUEle/eUQLPgAAAAASUVORK5CYII=";var doe={description:{identifier:"geometry.default_player",texture_width:64,texture_height:64,visible_bounds_width:5,visible_bounds_height:4.5,visible_bounds_offset:[0,1.75,0]},bones:[{name:"root",pivot:[0,0,0]},{name:"waist",parent:"root",pivot:[0,12,0]},{name:"body",parent:"waist",pivot:[0,24,0],cubes:[{origin:[-4,12,-2],size:[8,12,4],uv:[16,16]}]},{name:"cape",parent:"body",pivot:[0,24,2],cubes:[{origin:[-4,10,2],size:[8,14,1],uv:{north:{uv:[36,28],uv_size:[1,1]},east:{uv:[36,28],uv_size:[1,1]},south:{uv:[36,28],uv_size:[1,1]},west:{uv:[36,28],uv_size:[1,1]},up:{uv:[37,29],uv_size:[-1,-1]},down:{uv:[37,29],uv_size:[-1,-1]}}}]},{name:"head",parent:"body",pivot:[0,24,0],cubes:[{origin:[-4,24,-4],size:[8,8,8],uv:[0,0]}]},{name:"helmet",parent:"head",pivot:[0,0,0]},{name:"rightArm",parent:"body",pivot:[-5,22,0],cubes:[{origin:[-8,12,-2],size:[4,12,4],uv:[40,16]}]},{name:"rightItem",parent:"rightArm",pivot:[-6,15,1]},{name:"leftArm",parent:"body",pivot:[5,22,0],cubes:[{origin:[4,12,-2],size:[4,12,4],uv:[32,48]}]},{name:"leftItem",parent:"leftArm",pivot:[6,15,1],cubes:[]},{name:"rightLeg",parent:"root",pivot:[-1.9,12,0],cubes:[{origin:[-3.9,0,-2],size:[4,12,4],uv:[0,16]}]},{name:"leftLeg",parent:"root",pivot:[1.9,12,0],cubes:[{origin:[-.1,0,-2],size:[4,12,4],uv:[16,48]}]}]},aP=new Vm("bedrock_attachable",{scope_isolated_animations:!0,collections_as_files:!0}),N1=class{constructor(){W(this,"before");this.before=this.getCurrent()}getCurrent(){return{elements:Outliner.elements.slice(),groups:Group.all.slice(),nodes:Group.all.concat(Outliner.elements),animations:Gt.all.slice(),textures:Texture.all.slice(),collections:Collection.all.slice()}}find(){let e=this.getCurrent();for(let t in e)e[t]=e[t].filter(n=>this.before[t].indexOf(n)==-1);return e}findEmptyScope(){let e=1;for(let t of this.before.nodes)e==t.scope&&e++;return e}};BARS.defineActions(function(){let i=new zs("bedrock_player_model",{name:"Bedrock Player Model",description:"Default bedrock player model for making attachables and player animations",show_on_start_screen:!1,icon:"icon-player",target:"Minecraft: Bedrock Edition",onStart:async function(){let e=Project&&Format.id.includes("bedrock"),t={model:{label:"dialog.skin.model",type:"select",value:"steve",options:{steve:bt.steve.display_name,alex:bt.alex.display_name}}};e&&(t.import_as_attachable={label:"Import current model as attachable",value:!0,type:"checkbox"});let n=await new Promise((l,c)=>{new Dialog({title:"Bedrock Player Model",form:t,onConfirm(d){l(d)},onCancel(){c()}}).show()}),a=n.import_as_attachable?Codecs.project.compile():null,o=Project.export_path;setupProject(Formats.bedrock);let r=structuredClone(doe);if(n.model=="alex"){let l=r.bones.find(d=>d.name=="rightArm"),c=r.bones.find(d=>d.name=="leftArm");l.cubes[0].size[0]=3,l.cubes[0].origin[0]++,l.cubes[0].uv[0]++,c.cubes[0].size[0]=3,c.cubes[0].uv[0]++}yf({object:r},{switch_to_existing_tab:!1}),Project.multi_file_ruleset=aP.id;let s=new Texture({name:"player.png",scope:1}).fromDataURL(X5).add(!0,!0);if(s.saved=!0,Outliner.nodes.forEach(l=>{l.scope=1}),new Collection({name:"Player",scope:1}).add(),!Project.variable_placeholders.includes(".is_item_equipped")){let l="query.is_item_equipped = toggle('Holding Item')";n.import_as_attachable&&(l+=`
query.equipped_item_is_attachable = true`),Project.variable_placeholders=l+`
`+Project.variable_placeholders,Panels.variable_placeholders.inside_vue.text=Project.variable_placeholders}if(n.import_as_attachable){let l=new N1,c=JSON.parse(a);Codecs.project.merge(c);let d=l.find();[...d.elements,...d.groups].forEach(u=>{u.scope=2});for(let u of Texture.all)u!=s&&(u.scope=2);new Collection({name:c.name||"Attachable",scope:2,export_codec:"bedrock",export_path:o,model_identifier:c.model_identifier}).add();for(let u of Gt.all)u.setScopeFromAnimators();Canvas.updateAllBones()}}});new Action("load_on_bedrock_player",{name:"Load with Bedrock Player",condition:()=>Format.id=="bedrock"&&!Project.multi_file_ruleset,icon:"icon-player",click(){i.onStart()}}),new Action("import_bedrock_attachable",{name:"Import Bedrock Attachable",condition:()=>Format.id=="bedrock",icon:"swords",click(){bn.importFile({extensions:["json"],type:Codecs.bedrock.name,readtype:"text",multiple:!0,resource_id:"model"},e=>{for(let t of e){let n=autoParseJSON(t.content),a=new N1,o=new Collection({name:t.name,export_codec:"bedrock",export_path:t.path}).add();Codecs.bedrock.load(n,t,{import_to_current_project:!0,collection:o});let r=a.find(),s=a.findEmptyScope();r.nodes.forEach(l=>l.scope=s),r.textures.forEach(l=>l.scope=s),o.scope=s}for(let t of Gt.all)t.setScopeFromAnimators();Canvas.updateAllBones()})}}),new Action("slice_bedrock_multiblock",{name:"Slice Bedrock Multiblock",condition:()=>Format.id=="bedrock_block",icon:"dashboard_customize",click(){let e={split_cubes:{label:"Split Cubes",description:"If enabled, cubes that span across multiple blocks and align with block edges in terms of rotation will be split between blocks.",type:"checkbox",value:!0}};new Dialog("slice_bedrock_multiblock",{title:this.name,form:e,onConfirm(t){let n=Cube.all.slice();if(Undo.initEdit({elements:n,collections:[]}),t.split_cubes)for(let s=0;s<3;s++){let l=Cube.all.slice(),c=[0,1,2].filter(d=>d!=s);for(let d of l)if(d.getAllAncestors().concat([d]).allAre(p=>p.rotation[c[0]]==0&&p.rotation[c[1]]==0)){let p=s==1?0:8,m=Math.min(d.from[s],d.to[s]),_=Math.max(d.from[s],d.to[s]),f=Math.ceil((m+p)/16)*16-p,g=[];for(;f<_;)!Math.epsilon(f,m,.6)&&!Math.epsilon(f,_,.6)&&g.push(f),f+=16;for(let v of g){let b=kC(d,s,v-d.origin[s]);n.push(b),d=b}}}function a(s,l,c,d){if(s==0)return l;let u=Math.abs(s);return`${Math.sign(s)==1?c:d}${u>=2?u:""}`}let o=0,r={};for(let s of Cube.all){let l=s.getWorldCenter(),c=[Math.round(l.x/16),Math.floor(l.y/16),Math.round(l.z/16)],d=c.join("-"),u=Project.geometry_name||Project.getDisplayName(!1)||"model";if(!r[d]){o++;let p=[a(c[0],"","right","left"),a(c[1],"bottom","top","below"),a(c[2],"","front","back")].filter(m=>m).join("_");r[d]=new Collection({name:p,offset:c.V3_multiply(16,16,16),export_codec:"bedrock",model_identifier:Project.model_identifier+"."+p}).add()}r[d].children.push(s.uuid)}Canvas.updateView({elements:n,element_aspects:{transform:!0,geometry:!0,uv:!0}}),Undo.finishEdit("Slice multi block model",{collections:Object.values(r),elements:n})}}).show()}})});var uoe={rightarm:{rotation:[-95,45,115].map(Math.degToRad),position:[-13.5,-10,12]},rightitem:{position:[0,-7,0]},leftitem:{position:[0,-7,0]},body:{hide_cubes:!0},head:{hide_cubes:!0},cape:{hide_cubes:!0},rightleg:{hide_cubes:!0},leftleg:{hide_cubes:!0}},poe={rightarm:{rotation:[18,0,0].map(Math.degToRad)}};function J5(i){for(let e in i){let t=i[e],n=Group.all.find(a=>a.name.toLowerCase()==e);if(n&&(t.rotation&&n.mesh.rotation.fromArray(t.rotation),t.position&&n.mesh.position.add(Reusable.vec1.fromArray(t.position)),t.scale&&n.mesh.scale.fromArray(t.scale),t.hide_cubes))for(let a of n.mesh.children)a.type=="cube"&&(a.visible=!1)}}Blockbench.on("display_default_pose",()=>{Project.multi_file_ruleset==aP.id&&(Project.bedrock_animation_mode=="attachable_first"?J5(uoe):Animator.MolangParser.parse("query.is_item_equipped(0)")&&J5(poe))});Blockbench.on("get_face_texture",i=>{if(Project.multi_file_ruleset==aP.id&&i.element?.scope){let e=Texture.all.find(t=>t.scope==i.element.scope);if(e)return e}});Interface.page_wrapper=document.getElementById("page_wrapper");Interface.work_screen=document.getElementById("work_screen");Interface.center_screen=document.getElementById("center");Interface.right_bar=document.getElementById("right_bar");Interface.left_bar=document.getElementById("left_bar");Interface.preview=document.getElementById("preview");CustomTheme.setup();StateMemory.init("dialog_paths","object");initCanvas();c2();he.browser="electron";navigator.userAgent.toLowerCase().indexOf("firefox")>-1?he.browser="firefox":window.chrome&&window.chrome.webstore?he.browser="chrome":window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0?he.browser="opera":/constructor/i.test(window.HTMLElement)||function(i){return i.toString()==="[object SafariRemoteNotification]"}(!window.safari||typeof safari<"u"&&safari.pushNotification)?he.browser="safari":document.documentMode?he.browser="internet_explorer":window.chrome&&window.navigator.userAgent.toLowerCase().includes("edg")?he.browser="edge":window.StyleMedia?he.browser="proprietary_edge":window.chrome&&!window.chrome.webstore&&(he.browser="chromium"),navigator.appVersion.indexOf("Win")!=-1&&(he.operating_system="Windows"),navigator.appVersion.indexOf("Mac")!=-1&&(he.operating_system="MacOS"),navigator.appVersion.indexOf("Linux")!=-1&&(he.operating_system="Linux"),["proprietary_edge","internet_explorer"].includes(he.browser)&&alert(capitalizeFirstLetter(he.browser)+" does not support Blockbench"),$(".local_only").remove();BARS.setupActions();BARS.setupToolbars();BARS.setupVue();MenuBar.setup();Tw();i5();w4();console.log(`Three.js r${THREE.REVISION}`);console.log("%cBlockbench "+he.version+(" Web ("+capitalizeFirstLetter(he.browser)+(he.isPWA?", PWA)":")")),"border: 2px solid #3e90ff; padding: 4px 8px; font-size: 1.2em;");he.startup_count=parseInt(localStorage.getItem("startups")||0)+1;localStorage.setItem("startups",he.startup_count);document.getElementById("blackout").addEventListener("click",i=>{typeof open_interface.cancel=="function"&&open_interface.cancel_on_click_outside!==!1?open_interface.cancel(i):typeof open_interface=="string"&&open_dialog&&$("dialog#"+open_dialog).find(".cancel_btn:not([disabled])").trigger("click")});{async function i(){if("serviceWorker"in navigator)try{await navigator.serviceWorker.register("./service_worker.js")}catch(e){console.log(e)}}i()}(!he.isWeb||!he.isPWA)&&$.ajaxSetup({cache:!1});if(he.startup_count==1)try{jQuery.ajax({url:"https://blckbn.ch/api/event/new_installation",type:"POST",data:{}})}catch(i){console.error(i)}if(he.startup_count==3)try{jQuery.ajax({url:"https://blckbn.ch/api/event/recurring_user",type:"POST",data:{}})}catch(i){console.error(i)}he.on("before_closing",i=>{he.hasFlag("no_localstorage_saving")||Settings.saveLocalStorages()});updateProjectResolution();setupInterface();setupDragHandlers();onVueSetup.funcs.forEach(i=>{typeof i=="function"&&i()});settings.streamer_mode.value&&d2();yo.initialize();initializeWebApp();localStorage.setItem("last_version",he.version);(function(){let i=!1;function e(){i||(Settings.saveLocalStorages(),loadInfoFromURL(),i=!0)}S4().then(e),setTimeout(e,1200)})();setStartScreen(!0);he.isMobile&&(Toolbox.selected=null,BarItems.move_tool.select());document.getElementById("page_wrapper").classList.remove("invisible");he.setup_successful=!0;he.Outliner=Outliner;he.OutlinerNode=OutlinerNode;he.OutlinerElement=OutlinerElement;he.Group=Group;he.Cube=Cube;he.Mesh=Mesh;he.Locator=Locator;he.NullObject=NullObject;he.TextureMesh=TextureMesh;he.SplineMesh=SplineMesh;he.Face=Face;he.CubeFace=CubeFace;he.MeshFace=MeshFace;he.BillboardFace=BillboardFace;he.SplineHandle=SplineHandle;he.SplineCurve=SplineCurve;he.NodePreviewController=NodePreviewController;he.Animator=Animator;he.Timeline=Timeline;he.AnimationItem=AnimationItem;he.Animation=Animation;he.AnimationController=AnimationController;he.AnimationControllerState=AnimationControllerState;he.Keyframe=Keyframe;he.KeyframeDataPoint=KeyframeDataPoint;he.BoneAnimator=BoneAnimator;he.NullObjectAnimator=NullObjectAnimator;he.EffectAnimator=EffectAnimator;he.TimelineMarker=TimelineMarker;he.Panel=Panel;he.Mode=Mode;he.Dialog=Dialog;he.ShapelessDialog=ShapelessDialog;he.ToolConfig=ToolConfig;he.InputForm=InputForm;he.Setting=Setting;he.Plugin=Plugin;he.Preview=Preview;he.Toolbar=Toolbar;he.Language=Language;he.Painter=Painter;he.Screencam=Screencam;he.Settings=Settings;he.TextureAnimator=TextureAnimator;he.Toolbox=Toolbox;he.BarItems=BarItems;he.BarItem=BarItem;he.Action=Action;he.Tool=Tool;he.Toggle=Toggle;he.Widget=Widget;he.BarSelect=BarSelect;he.BarSlider=BarSlider;he.BarText=BarText;he.NumSlider=NumSlider;he.ColorPicker=ColorPicker;he.Keybind=Keybind;he.KeybindItem=KeybindItem;he.Menu=Menu;he.BarMenu=BarMenu;he.ResizeLine=ResizeLine;he.ModelProject=ModelProject;he.ModelFormat=ModelFormat;he.Codec=Codec;he.DisplaySlot=DisplaySlot;he.Reusable=Reusable;he.Texture=Texture;he.TextureLayer=TextureLayer;he.SharedActions=SharedActions;
/**
* @license
* Copyright 2010-2022 fik.js Authors
* SPDX-License-Identifier: MIT
*/
/*! jQuery UI - v1.12.1 - 2021-01-11
* http://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, scroll-parent.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/mouse.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 20112014, Dave Furfero
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Depends:
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/
/*!
* escape-html
* Copyright(c) 2012-2013 TJ Holowaychuk
* Copyright(c) 2015 Andreas Lubbe
* Copyright(c) 2015 Tiancheng "Timothy" Gu
* MIT Licensed
*/
/*!
* is-extendable <https://github.com/jonschlinkert/is-extendable>
*
* Copyright (c) 2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*!
LZ-UTF8 v0.5.5
Copyright (c) 2018, Rotem Dan
Released under the MIT license.
Build date: 2018-07-30
Please report any issue at https://github.com/rotemdan/lzutf8.js/issues
*/
/*! Bundled license information:
jquery/dist/jquery.js:
(*!
* jQuery JavaScript Library v3.7.1
* https://jquery.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2023-08-28T13:37Z
*)
vue/dist/vue.min.js:
(*!
* Vue.js v2.7.16
* (c) 2014-2023 Evan You
* Released under the MIT License.
*)
prismjs/prism.js:
(**
* Prism: Lightweight, robust, elegant syntax highlighting
*
* @license MIT <https://opensource.org/licenses/MIT>
* @author Lea Verou <https://lea.verou.me>
* @namespace
* @public
*)
sortablejs/modular/sortable.esm.js:
(**!
* Sortable 1.15.6
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*)
three/build/three.module.js:
(**
* @license
* Copyright 2010-2021 Three.js Authors
* SPDX-License-Identifier: MIT
*)
dompurify/dist/purify.es.mjs:
(*! @license DOMPurify 3.4.12 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.12/LICENSE *)
*/
//# sourceMappingURL=bundle.js.map